summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authornobody <nobody@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2003-06-03 12:52:29 +0000
committernobody <nobody@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2003-06-03 12:52:29 +0000
commitfee96ebe2dbd8f66649bea65e8c9c73f96152a33 (patch)
treed25b4f23657e59417e05741ae5912eaef47597fa
parentf1a5ab494d39df697725816d77ea4ce0fed9a3a5 (diff)
downloadATCD-fee96ebe2dbd8f66649bea65e8c9c73f96152a33.tar.gz
This commit was manufactured by cvs2svn to create branch
'RT_Notify_TAO132'.
-rw-r--r--Kokyu/DSRT_Dispatcher_Impl.cpp61
-rw-r--r--Kokyu/DSRT_Dispatcher_Impl.h68
-rw-r--r--Kokyu/DSRT_Dispatcher_Impl.i38
-rw-r--r--Kokyu/DSRT_Schedulers.cpp190
-rw-r--r--Kokyu/DSRT_Schedulers.h72
-rw-r--r--Kokyu/Default_Dispatcher_Impl.cpp138
-rw-r--r--Kokyu/Default_Dispatcher_Impl.h74
-rw-r--r--Kokyu/Default_Dispatcher_Impl.i21
-rw-r--r--Kokyu/Dispatcher_Impl.cpp9
-rw-r--r--Kokyu/Dispatcher_Impl.h52
-rw-r--r--Kokyu/Dispatcher_Impl.i28
-rw-r--r--Kokyu/Dispatcher_Task.cpp155
-rw-r--r--Kokyu/Dispatcher_Task.h106
-rw-r--r--Kokyu/Dispatcher_Task.i76
-rw-r--r--Kokyu/Kokyu.cpp100
-rw-r--r--Kokyu/Kokyu.dsw41
-rw-r--r--Kokyu/Kokyu.h163
-rw-r--r--Kokyu/Kokyu.i33
-rw-r--r--Kokyu/Kokyu.mpc7
-rw-r--r--Kokyu/Kokyu_DLL.dsp227
-rw-r--r--Kokyu/Kokyu_Static.dsp215
-rw-r--r--Kokyu/Makefile584
-rw-r--r--Kokyu/kokyu_export.h55
-rw-r--r--Kokyu/tests/DSRT_MIF/MIF.cpp112
-rw-r--r--Kokyu/tests/DSRT_MIF/Makefile218
-rw-r--r--Kokyu/tests/DSRT_MIF/svc.conf4
-rw-r--r--Kokyu/tests/DSRT_MIF/svc.conf.xml8
-rw-r--r--Kokyu/tests/EDF/EDF.dsp104
-rw-r--r--Kokyu/tests/EDF/EDF.dsw29
-rw-r--r--Kokyu/tests/EDF/test.cpp96
-rw-r--r--Kokyu/tests/FIFO/FIFO.dsp104
-rw-r--r--Kokyu/tests/FIFO/FIFO.dsw29
-rw-r--r--Kokyu/tests/FIFO/test.cpp84
-rw-r--r--Makefile.bor24
-rw-r--r--PACE/ChangeLog3716
-rw-r--r--PACE/Makefile43
-rw-r--r--PACE/Makefile.am30
-rw-r--r--PACE/README49
-rw-r--r--PACE/THANKS18
-rw-r--r--PACE/VERSION5
-rw-r--r--PACE/docs/ACE_Integration.txt17
-rw-r--r--PACE/docs/README1
-rw-r--r--PACE/docs/www/Introduction/begin.html135
-rw-r--r--PACE/docs/www/Introduction/build.html107
-rw-r--r--PACE/docs/www/Introduction/change.html108
-rw-r--r--PACE/docs/www/Introduction/phases.html108
-rw-r--r--PACE/docs/www/Introduction/porting.html111
-rw-r--r--PACE/docs/www/Introduction/struct.html123
-rw-r--r--PACE/docs/www/Introduction/team.html111
-rw-r--r--PACE/docs/www/Introduction/using.html108
-rw-r--r--PACE/docs/www/PACE-abstract.html152
-rw-r--r--PACE/docs/www/PACE-car.html28
-rw-r--r--PACE/docs/www/PACE-docs.html109
-rw-r--r--PACE/docs/www/PACE-obtain.html124
-rw-r--r--PACE/docs/www/PACE-overview.html229
-rw-r--r--PACE/docs/www/PACE.html150
-rw-r--r--PACE/docs/www/Pix/PACE-mini-logo.gifbin7226 -> 0 bytes
-rw-r--r--PACE/docs/www/Pix/PACE-red-blue-logo.gifbin26888 -> 0 bytes
-rw-r--r--PACE/docs/www/Pix/PACE-red-blue-smaller.gifbin30650 -> 0 bytes
-rw-r--r--PACE/docs/www/Pix/ace-tmp.jpgbin15369 -> 0 bytes
-rw-r--r--PACE/docs/www/Pix/doc-logo.jpgbin18630 -> 0 bytes
-rw-r--r--PACE/docs/www/Pix/heli-1.jpgbin13921 -> 0 bytes
-rw-r--r--PACE/docs/www/Pix/pace-car1.jpgbin37364 -> 0 bytes
-rw-r--r--PACE/docs/www/Pix/pace-car2.jpgbin18615 -> 0 bytes
-rw-r--r--PACE/docs/www/Pix/pace-car3.jpgbin23161 -> 0 bytes
-rw-r--r--PACE/docs/www/Pix/redball.gifbin326 -> 0 bytes
-rw-r--r--PACE/docs/www/Pix/stealth.jpgbin40575 -> 0 bytes
-rwxr-xr-xPACE/docs/www/index.html150
-rw-r--r--PACE/examples/README0
-rw-r--r--PACE/include/makeinclude/rules.common.GNU121
-rw-r--r--PACE/pace++/README0
-rw-r--r--PACE/pace/Makefile498
-rw-r--r--PACE/pace/Makefile.am64
-rw-r--r--PACE/pace/aio.h125
-rw-r--r--PACE/pace/assert.h64
-rw-r--r--PACE/pace/config/compiler.h69
-rw-r--r--PACE/pace/config/config.h221
-rw-r--r--PACE/pace/config/constants.h244
-rw-r--r--PACE/pace/config/defaults.h26
-rw-r--r--PACE/pace/config/defines.h27
-rw-r--r--PACE/pace/config/features.h49
-rw-r--r--PACE/pace/config/platform.h86
-rw-r--r--PACE/pace/config/utility.h118
-rw-r--r--PACE/pace/ctype.h164
-rw-r--r--PACE/pace/dirent.h95
-rw-r--r--PACE/pace/emulation/mqueue.c570
-rw-r--r--PACE/pace/emulation/mqueue.h95
-rw-r--r--PACE/pace/emulation/time.h46
-rw-r--r--PACE/pace/errno.h37
-rw-r--r--PACE/pace/fcntl.h94
-rw-r--r--PACE/pace/grp.h93
-rw-r--r--PACE/pace/limits.h29
-rw-r--r--PACE/pace/locale.h65
-rw-r--r--PACE/pace/man/Makefile13
-rw-r--r--PACE/pace/man/banner5
-rw-r--r--PACE/pace/man/pace.jpgbin19144 -> 0 bytes
-rw-r--r--PACE/pace/math.h245
-rw-r--r--PACE/pace/mqueue.h131
-rw-r--r--PACE/pace/posix/Makefile.am113
-rw-r--r--PACE/pace/posix/README1
-rw-r--r--PACE/pace/posix/TODO7
-rw-r--r--PACE/pace/posix/aio.c20
-rw-r--r--PACE/pace/posix/aio.h45
-rw-r--r--PACE/pace/posix/aio.inl94
-rw-r--r--PACE/pace/posix/assert.c20
-rw-r--r--PACE/pace/posix/assert.h29
-rw-r--r--PACE/pace/posix/assert.inl14
-rw-r--r--PACE/pace/posix/ctype.c20
-rw-r--r--PACE/pace/posix/ctype.h27
-rw-r--r--PACE/pace/posix/ctype.inl133
-rw-r--r--PACE/pace/posix/dirent.c20
-rw-r--r--PACE/pace/posix/dirent.h40
-rw-r--r--PACE/pace/posix/dirent.inl68
-rw-r--r--PACE/pace/posix/errno.h76
-rw-r--r--PACE/pace/posix/fcntl.c20
-rw-r--r--PACE/pace/posix/fcntl.h63
-rw-r--r--PACE/pace/posix/fcntl.inl23
-rw-r--r--PACE/pace/posix/grp.c20
-rw-r--r--PACE/pace/posix/grp.h34
-rw-r--r--PACE/pace/posix/grp.inl73
-rw-r--r--PACE/pace/posix/limits.h29
-rw-r--r--PACE/pace/posix/locale.c20
-rw-r--r--PACE/pace/posix/locale.h40
-rw-r--r--PACE/pace/posix/locale.inl34
-rw-r--r--PACE/pace/posix/math.c20
-rw-r--r--PACE/pace/posix/math.h29
-rw-r--r--PACE/pace/posix/math.inl215
-rw-r--r--PACE/pace/posix/mman.c20
-rw-r--r--PACE/pace/posix/mman.h42
-rw-r--r--PACE/pace/posix/mman.inl127
-rw-r--r--PACE/pace/posix/mqueue.c24
-rw-r--r--PACE/pace/posix/mqueue.h43
-rw-r--r--PACE/pace/posix/mqueue.inl87
-rw-r--r--PACE/pace/posix/pthread.c20
-rw-r--r--PACE/pace/posix/pthread.h81
-rw-r--r--PACE/pace/posix/pthread.inl761
-rw-r--r--PACE/pace/posix/pwd.c20
-rw-r--r--PACE/pace/posix/pwd.h35
-rw-r--r--PACE/pace/posix/pwd.inl81
-rw-r--r--PACE/pace/posix/sched.c20
-rw-r--r--PACE/pace/posix/sched.h38
-rw-r--r--PACE/pace/posix/sched.inl95
-rw-r--r--PACE/pace/posix/semaphore.c20
-rw-r--r--PACE/pace/posix/semaphore.h31
-rw-r--r--PACE/pace/posix/semaphore.inl86
-rw-r--r--PACE/pace/posix/setjmp.c20
-rw-r--r--PACE/pace/posix/setjmp.h32
-rw-r--r--PACE/pace/posix/setjmp.inl34
-rw-r--r--PACE/pace/posix/signal.c28
-rw-r--r--PACE/pace/posix/signal.h71
-rw-r--r--PACE/pace/posix/signal.inl167
-rw-r--r--PACE/pace/posix/socket.c20
-rw-r--r--PACE/pace/posix/socket.h231
-rw-r--r--PACE/pace/posix/socket.inl242
-rw-r--r--PACE/pace/posix/stat.c20
-rw-r--r--PACE/pace/posix/stat.h58
-rw-r--r--PACE/pace/posix/stat.inl77
-rw-r--r--PACE/pace/posix/stdio.c20
-rw-r--r--PACE/pace/posix/stdio.h58
-rw-r--r--PACE/pace/posix/stdio.inl502
-rw-r--r--PACE/pace/posix/stdlib.c20
-rw-r--r--PACE/pace/posix/stdlib.h64
-rw-r--r--PACE/pace/posix/stdlib.inl323
-rw-r--r--PACE/pace/posix/string.c20
-rw-r--r--PACE/pace/posix/string.h36
-rw-r--r--PACE/pace/posix/string.inl206
-rw-r--r--PACE/pace/posix/termios.c20
-rw-r--r--PACE/pace/posix/termios.h50
-rw-r--r--PACE/pace/posix/termios.inl109
-rw-r--r--PACE/pace/posix/time.c20
-rw-r--r--PACE/pace/posix/time.h95
-rw-r--r--PACE/pace/posix/time.inl324
-rw-r--r--PACE/pace/posix/times.c20
-rw-r--r--PACE/pace/posix/times.h39
-rw-r--r--PACE/pace/posix/times.inl23
-rw-r--r--PACE/pace/posix/types.h134
-rw-r--r--PACE/pace/posix/unistd.c20
-rw-r--r--PACE/pace/posix/unistd.h56
-rw-r--r--PACE/pace/posix/unistd.inl470
-rw-r--r--PACE/pace/posix/utime.c20
-rw-r--r--PACE/pace/posix/utime.h35
-rw-r--r--PACE/pace/posix/utime.inl24
-rw-r--r--PACE/pace/posix/utsname.c20
-rw-r--r--PACE/pace/posix/utsname.h34
-rw-r--r--PACE/pace/posix/utsname.inl23
-rw-r--r--PACE/pace/posix/wait.c20
-rw-r--r--PACE/pace/posix/wait.h38
-rw-r--r--PACE/pace/posix/wait.inl34
-rw-r--r--PACE/pace/pthread.h733
-rw-r--r--PACE/pace/pwd.h93
-rw-r--r--PACE/pace/sched.h124
-rw-r--r--PACE/pace/semaphore.h130
-rw-r--r--PACE/pace/setjmp.h85
-rw-r--r--PACE/pace/signal.h199
-rw-r--r--PACE/pace/stddef.h53
-rw-r--r--PACE/pace/stdio.h528
-rw-r--r--PACE/pace/stdlib.h305
-rw-r--r--PACE/pace/string.h240
-rw-r--r--PACE/pace/sys/mman.h151
-rw-r--r--PACE/pace/sys/socket.h252
-rw-r--r--PACE/pace/sys/stat.h80
-rw-r--r--PACE/pace/sys/times.h51
-rw-r--r--PACE/pace/sys/types.h37
-rw-r--r--PACE/pace/sys/utsname.h51
-rw-r--r--PACE/pace/sys/wait.h67
-rw-r--r--PACE/pace/termios.h145
-rw-r--r--PACE/pace/time.h274
-rw-r--r--PACE/pace/unistd.h524
-rw-r--r--PACE/pace/utime.h57
-rw-r--r--PACE/pace/vxworks/README1
-rw-r--r--PACE/pace/vxworks/aio.c20
-rw-r--r--PACE/pace/vxworks/aio.h45
-rw-r--r--PACE/pace/vxworks/aio.inl112
-rw-r--r--PACE/pace/vxworks/assert.c20
-rw-r--r--PACE/pace/vxworks/assert.h29
-rw-r--r--PACE/pace/vxworks/assert.inl14
-rw-r--r--PACE/pace/vxworks/ctype.c20
-rw-r--r--PACE/pace/vxworks/ctype.h27
-rw-r--r--PACE/pace/vxworks/ctype.inl159
-rw-r--r--PACE/pace/vxworks/dirent.c20
-rw-r--r--PACE/pace/vxworks/dirent.h40
-rw-r--r--PACE/pace/vxworks/dirent.inl74
-rw-r--r--PACE/pace/vxworks/errno.h75
-rw-r--r--PACE/pace/vxworks/fcntl.c20
-rw-r--r--PACE/pace/vxworks/fcntl.h63
-rw-r--r--PACE/pace/vxworks/fcntl.inl39
-rw-r--r--PACE/pace/vxworks/grp.c20
-rw-r--r--PACE/pace/vxworks/grp.h32
-rw-r--r--PACE/pace/vxworks/grp.inl82
-rw-r--r--PACE/pace/vxworks/limits.h29
-rw-r--r--PACE/pace/vxworks/locale.c20
-rw-r--r--PACE/pace/vxworks/locale.h40
-rw-r--r--PACE/pace/vxworks/locale.inl38
-rw-r--r--PACE/pace/vxworks/math.c20
-rw-r--r--PACE/pace/vxworks/math.h29
-rw-r--r--PACE/pace/vxworks/math.inl259
-rw-r--r--PACE/pace/vxworks/mman.c20
-rw-r--r--PACE/pace/vxworks/mman.h42
-rw-r--r--PACE/pace/vxworks/mman.inl153
-rw-r--r--PACE/pace/vxworks/mqueue.c20
-rw-r--r--PACE/pace/vxworks/mqueue.h43
-rw-r--r--PACE/pace/vxworks/mqueue.inl101
-rw-r--r--PACE/pace/vxworks/pthread.c1376
-rw-r--r--PACE/pace/vxworks/pthread.h163
-rw-r--r--PACE/pace/vxworks/pthread.inl935
-rw-r--r--PACE/pace/vxworks/pwd.c20
-rw-r--r--PACE/pace/vxworks/pwd.h34
-rw-r--r--PACE/pace/vxworks/pwd.inl82
-rw-r--r--PACE/pace/vxworks/sched.c20
-rw-r--r--PACE/pace/vxworks/sched.h38
-rw-r--r--PACE/pace/vxworks/sched.inl107
-rw-r--r--PACE/pace/vxworks/semaphore.c20
-rw-r--r--PACE/pace/vxworks/semaphore.h31
-rw-r--r--PACE/pace/vxworks/semaphore.inl102
-rw-r--r--PACE/pace/vxworks/setjmp.c20
-rw-r--r--PACE/pace/vxworks/setjmp.h33
-rw-r--r--PACE/pace/vxworks/setjmp.inl38
-rw-r--r--PACE/pace/vxworks/signal.c28
-rw-r--r--PACE/pace/vxworks/signal.h71
-rw-r--r--PACE/pace/vxworks/signal.inl207
-rw-r--r--PACE/pace/vxworks/socket.c20
-rw-r--r--PACE/pace/vxworks/socket.h218
-rw-r--r--PACE/pace/vxworks/socket.inl280
-rw-r--r--PACE/pace/vxworks/stat.c20
-rw-r--r--PACE/pace/vxworks/stat.h59
-rw-r--r--PACE/pace/vxworks/stat.inl99
-rw-r--r--PACE/pace/vxworks/stdio.c20
-rw-r--r--PACE/pace/vxworks/stdio.h58
-rw-r--r--PACE/pace/vxworks/stdio.inl565
-rw-r--r--PACE/pace/vxworks/stdlib.c20
-rw-r--r--PACE/pace/vxworks/stdlib.h64
-rw-r--r--PACE/pace/vxworks/stdlib.inl381
-rw-r--r--PACE/pace/vxworks/string.c20
-rw-r--r--PACE/pace/vxworks/string.h36
-rw-r--r--PACE/pace/vxworks/string.inl238
-rw-r--r--PACE/pace/vxworks/termios.c20
-rw-r--r--PACE/pace/vxworks/termios.h49
-rw-r--r--PACE/pace/vxworks/termios.inl145
-rw-r--r--PACE/pace/vxworks/time.c20
-rw-r--r--PACE/pace/vxworks/time.h87
-rw-r--r--PACE/pace/vxworks/time.inl296
-rw-r--r--PACE/pace/vxworks/times.c20
-rw-r--r--PACE/pace/vxworks/times.h39
-rw-r--r--PACE/pace/vxworks/times.inl26
-rw-r--r--PACE/pace/vxworks/types.h261
-rw-r--r--PACE/pace/vxworks/unistd.c20
-rw-r--r--PACE/pace/vxworks/unistd.h56
-rw-r--r--PACE/pace/vxworks/unistd.inl601
-rw-r--r--PACE/pace/vxworks/utime.c20
-rw-r--r--PACE/pace/vxworks/utime.h35
-rw-r--r--PACE/pace/vxworks/utime.inl27
-rw-r--r--PACE/pace/vxworks/utsname.c20
-rw-r--r--PACE/pace/vxworks/utsname.h47
-rw-r--r--PACE/pace/vxworks/utsname.inl40
-rw-r--r--PACE/pace/vxworks/wait.c20
-rw-r--r--PACE/pace/vxworks/wait.h38
-rw-r--r--PACE/pace/vxworks/wait.inl42
-rw-r--r--PACE/pace/win32/README1
-rw-r--r--PACE/pace/win32/TODO29
-rw-r--r--PACE/pace/win32/aio.c20
-rw-r--r--PACE/pace/win32/aio.h44
-rw-r--r--PACE/pace/win32/aio.inl106
-rw-r--r--PACE/pace/win32/assert.c20
-rw-r--r--PACE/pace/win32/assert.h29
-rw-r--r--PACE/pace/win32/assert.inl14
-rw-r--r--PACE/pace/win32/ctype.c20
-rw-r--r--PACE/pace/win32/ctype.h27
-rw-r--r--PACE/pace/win32/ctype.inl133
-rw-r--r--PACE/pace/win32/dirent.c100
-rw-r--r--PACE/pace/win32/dirent.h74
-rw-r--r--PACE/pace/win32/dirent.inl68
-rw-r--r--PACE/pace/win32/errno.h84
-rw-r--r--PACE/pace/win32/fcntl.c164
-rw-r--r--PACE/pace/win32/fcntl.h71
-rw-r--r--PACE/pace/win32/fcntl.inl38
-rw-r--r--PACE/pace/win32/grp.c20
-rw-r--r--PACE/pace/win32/grp.h34
-rw-r--r--PACE/pace/win32/grp.inl72
-rw-r--r--PACE/pace/win32/limits.h29
-rw-r--r--PACE/pace/win32/locale.c20
-rw-r--r--PACE/pace/win32/locale.h40
-rw-r--r--PACE/pace/win32/locale.inl34
-rw-r--r--PACE/pace/win32/math.c20
-rw-r--r--PACE/pace/win32/math.h29
-rw-r--r--PACE/pace/win32/math.inl215
-rw-r--r--PACE/pace/win32/mman.c123
-rw-r--r--PACE/pace/win32/mman.h65
-rw-r--r--PACE/pace/win32/mman.inl129
-rw-r--r--PACE/pace/win32/mqueue.c20
-rw-r--r--PACE/pace/win32/mqueue.h45
-rw-r--r--PACE/pace/win32/mqueue.inl104
-rw-r--r--PACE/pace/win32/pace.dsw41
-rw-r--r--PACE/pace/win32/pace_dll.dsp623
-rw-r--r--PACE/pace/win32/pace_lib.dsp609
-rw-r--r--PACE/pace/win32/pthread.c359
-rw-r--r--PACE/pace/win32/pthread.h178
-rw-r--r--PACE/pace/win32/pthread.inl682
-rw-r--r--PACE/pace/win32/pthreadtypes.h132
-rw-r--r--PACE/pace/win32/pwd.c20
-rw-r--r--PACE/pace/win32/pwd.h34
-rw-r--r--PACE/pace/win32/pwd.inl72
-rw-r--r--PACE/pace/win32/sched.c20
-rw-r--r--PACE/pace/win32/sched.h34
-rw-r--r--PACE/pace/win32/sched.inl103
-rw-r--r--PACE/pace/win32/schedtypes.h67
-rw-r--r--PACE/pace/win32/semaphore.c122
-rw-r--r--PACE/pace/win32/semaphore.h62
-rw-r--r--PACE/pace/win32/semaphore.inl108
-rw-r--r--PACE/pace/win32/setjmp.c20
-rw-r--r--PACE/pace/win32/setjmp.h42
-rw-r--r--PACE/pace/win32/setjmp.inl36
-rw-r--r--PACE/pace/win32/signal.c45
-rw-r--r--PACE/pace/win32/signal.h81
-rw-r--r--PACE/pace/win32/signal.inl193
-rw-r--r--PACE/pace/win32/socket.c9
-rw-r--r--PACE/pace/win32/socket.h5
-rw-r--r--PACE/pace/win32/socket.inl7
-rw-r--r--PACE/pace/win32/stat.c40
-rw-r--r--PACE/pace/win32/stat.h65
-rw-r--r--PACE/pace/win32/stat.inl99
-rw-r--r--PACE/pace/win32/stdio.c51
-rw-r--r--PACE/pace/win32/stdio.h90
-rw-r--r--PACE/pace/win32/stdio.inl464
-rw-r--r--PACE/pace/win32/stdlib.c20
-rw-r--r--PACE/pace/win32/stdlib.h63
-rw-r--r--PACE/pace/win32/stdlib.inl303
-rw-r--r--PACE/pace/win32/string.c42
-rw-r--r--PACE/pace/win32/string.h42
-rw-r--r--PACE/pace/win32/string.inl198
-rw-r--r--PACE/pace/win32/termios.c20
-rw-r--r--PACE/pace/win32/termios.h56
-rw-r--r--PACE/pace/win32/termios.inl124
-rw-r--r--PACE/pace/win32/time.c20
-rw-r--r--PACE/pace/win32/time.h107
-rw-r--r--PACE/pace/win32/time.inl265
-rw-r--r--PACE/pace/win32/times.c20
-rw-r--r--PACE/pace/win32/times.h40
-rw-r--r--PACE/pace/win32/times.inl24
-rw-r--r--PACE/pace/win32/types.h100
-rw-r--r--PACE/pace/win32/unistd.c146
-rw-r--r--PACE/pace/win32/unistd.h119
-rw-r--r--PACE/pace/win32/unistd.inl514
-rw-r--r--PACE/pace/win32/utime.c41
-rw-r--r--PACE/pace/win32/utime.h43
-rw-r--r--PACE/pace/win32/utime.inl33
-rw-r--r--PACE/pace/win32/utsname.c181
-rw-r--r--PACE/pace/win32/utsname.h43
-rw-r--r--PACE/pace/win32/utsname.inl26
-rw-r--r--PACE/pace/win32/wait.c20
-rw-r--r--PACE/pace/win32/wait.h38
-rw-r--r--PACE/pace/win32/wait.inl45
-rw-r--r--PACE/tests/Cond_Var_Test.c136
-rw-r--r--PACE/tests/Makefile204
-rw-r--r--PACE/tests/Makefile.am54
-rw-r--r--PACE/tests/Posix_SP_Test.c253
-rw-r--r--PACE/tests/Pthread_Storage_Test.c144
-rw-r--r--PACE/tests/Pthreads_Test.c110
-rw-r--r--PACE/tests/README6
-rw-r--r--PACE/tests/Stat_Test.c83
-rw-r--r--PACE/tests/Stdio_Test.c123
-rw-r--r--PACE/tests/mqueue_test.c134
-rw-r--r--PACE/tests/test_stdio.dsp162
-rw-r--r--PACE/tests/tests.dsw59
-rw-r--r--PACE/tests/vxworks_stub.c109
-rw-r--r--Static_Performance.dsw263
-rw-r--r--TAO/CIAO/CCF/CCF/CCF.sln45
-rw-r--r--TAO/CIAO/CCF/CCF/CIDL/CIDL.cpp1
-rw-r--r--TAO/CIAO/CCF/CCF/CIDL/CIDL.vcproj150
-rw-r--r--TAO/CIAO/CCF/CCF/CIDL/CIDL_LexicalAnalyzer.hpp57
-rw-r--r--TAO/CIAO/CCF/CCF/CIDL/CIDL_Parser.hpp202
-rw-r--r--TAO/CIAO/CCF/CCF/CIDL/CIDL_SemanticAction.hpp74
-rw-r--r--TAO/CIAO/CCF/CCF/CIDL/CIDL_SemanticActionImpl.hpp251
-rw-r--r--TAO/CIAO/CCF/CCF/CIDL/CIDL_SyntaxTree.cpp61
-rw-r--r--TAO/CIAO/CCF/CCF/CIDL/CIDL_SyntaxTree.hpp141
-rw-r--r--TAO/CIAO/CCF/CCF/CIDL/CIDL_SyntaxTreeFwd.hpp29
-rw-r--r--TAO/CIAO/CCF/CCF/CIDL/CIDL_Traversal.cpp79
-rw-r--r--TAO/CIAO/CCF/CCF/CIDL/CIDL_Traversal.hpp50
-rw-r--r--TAO/CIAO/CCF/CCF/CIDL/MSVC_Pragmas.hpp16
-rw-r--r--TAO/CIAO/CCF/CCF/CIDL/Makefile21
-rw-r--r--TAO/CIAO/CCF/CCF/CodeGenerationKit/CodeGenerationKit.cpp1
-rw-r--r--TAO/CIAO/CCF/CCF/CodeGenerationKit/CodeGenerationKit.vcproj150
-rw-r--r--TAO/CIAO/CCF/CCF/CodeGenerationKit/CommandLine.cpp5
-rw-r--r--TAO/CIAO/CCF/CCF/CodeGenerationKit/CommandLine.hpp202
-rw-r--r--TAO/CIAO/CCF/CCF/CodeGenerationKit/CommandLineDescriptor.hpp260
-rw-r--r--TAO/CIAO/CCF/CCF/CodeGenerationKit/CommandLineGrammar.cpp5
-rw-r--r--TAO/CIAO/CCF/CCF/CodeGenerationKit/CommandLineGrammar.hpp361
-rw-r--r--TAO/CIAO/CCF/CCF/CodeGenerationKit/CommandLineParser.cpp55
-rw-r--r--TAO/CIAO/CCF/CCF/CodeGenerationKit/CommandLineParser.hpp14
-rw-r--r--TAO/CIAO/CCF/CCF/CodeGenerationKit/IDLStream.hpp126
-rw-r--r--TAO/CIAO/CCF/CCF/CodeGenerationKit/MSVC_Pragmas.hpp16
-rw-r--r--TAO/CIAO/CCF/CCF/CodeGenerationKit/Makefile22
-rw-r--r--TAO/CIAO/CCF/CCF/CodeGenerationKit/Regex.hpp42
-rw-r--r--TAO/CIAO/CCF/CCF/CompilerElements/DiagnosticStream.cpp47
-rw-r--r--TAO/CIAO/CCF/CCF/CompilerElements/DiagnosticStream.hpp141
-rw-r--r--TAO/CIAO/CCF/CCF/CompilerElements/ExH.hpp14
-rw-r--r--TAO/CIAO/CCF/CCF/CompilerElements/FileSystem.hpp17
-rw-r--r--TAO/CIAO/CCF/CCF/CompilerElements/MSVC_Pragmas.hpp15
-rw-r--r--TAO/CIAO/CCF/CCF/CompilerElements/Parser.hpp265
-rw-r--r--TAO/CIAO/CCF/CCF/CompilerElements/Preprocessor.hpp303
-rw-r--r--TAO/CIAO/CCF/CCF/CompilerElements/ReferenceCounting.hpp14
-rw-r--r--TAO/CIAO/CCF/CCF/CompilerElements/SemanticAction.hpp15
-rw-r--r--TAO/CIAO/CCF/CCF/CompilerElements/Token.hpp255
-rw-r--r--TAO/CIAO/CCF/CCF/CompilerElements/TokenStream.hpp65
-rw-r--r--TAO/CIAO/CCF/CCF/CompilerElements/Traversal.hpp38
-rw-r--r--TAO/CIAO/CCF/CCF/IDL2/IDL2.cpp1
-rw-r--r--TAO/CIAO/CCF/CCF/IDL2/IDL2.vcproj159
-rw-r--r--TAO/CIAO/CCF/CCF/IDL2/IDL2_LexicalAnalyzer.cpp377
-rw-r--r--TAO/CIAO/CCF/CCF/IDL2/IDL2_LexicalAnalyzer.hpp129
-rw-r--r--TAO/CIAO/CCF/CCF/IDL2/IDL2_Parser.hpp421
-rw-r--r--TAO/CIAO/CCF/CCF/IDL2/IDL2_SemanticAction.hpp163
-rw-r--r--TAO/CIAO/CCF/CCF/IDL2/IDL2_SemanticActionImpl.hpp742
-rw-r--r--TAO/CIAO/CCF/CCF/IDL2/IDL2_SyntaxTree.cpp773
-rw-r--r--TAO/CIAO/CCF/CCF/IDL2/IDL2_SyntaxTree.hpp2059
-rw-r--r--TAO/CIAO/CCF/CCF/IDL2/IDL2_SyntaxTree.tpp126
-rw-r--r--TAO/CIAO/CCF/CCF/IDL2/IDL2_SyntaxTreeFwd.hpp162
-rw-r--r--TAO/CIAO/CCF/CCF/IDL2/IDL2_SyntaxTree_BuiltIn.cpp99
-rw-r--r--TAO/CIAO/CCF/CCF/IDL2/IDL2_SyntaxTree_BuiltIn.hpp200
-rw-r--r--TAO/CIAO/CCF/CCF/IDL2/IDL2_SyntaxTree_Value.hpp190
-rw-r--r--TAO/CIAO/CCF/CCF/IDL2/IDL2_Traversal.cpp608
-rw-r--r--TAO/CIAO/CCF/CCF/IDL2/IDL2_Traversal.hpp519
-rw-r--r--TAO/CIAO/CCF/CCF/IDL2/MSVC_Pragmas.hpp16
-rw-r--r--TAO/CIAO/CCF/CCF/IDL2/Makefile23
-rw-r--r--TAO/CIAO/CCF/CCF/IDL3/IDL3.cpp1
-rw-r--r--TAO/CIAO/CCF/CCF/IDL3/IDL3.vcproj156
-rw-r--r--TAO/CIAO/CCF/CCF/IDL3/IDL3_LexicalAnalyzer.hpp59
-rw-r--r--TAO/CIAO/CCF/CCF/IDL3/IDL3_Parser.hpp425
-rw-r--r--TAO/CIAO/CCF/CCF/IDL3/IDL3_SemanticAction.hpp179
-rw-r--r--TAO/CIAO/CCF/CCF/IDL3/IDL3_SemanticActionImpl.hpp1365
-rw-r--r--TAO/CIAO/CCF/CCF/IDL3/IDL3_SyntaxTree.cpp186
-rw-r--r--TAO/CIAO/CCF/CCF/IDL3/IDL3_SyntaxTree.hpp627
-rw-r--r--TAO/CIAO/CCF/CCF/IDL3/IDL3_SyntaxTreeFwd.hpp69
-rw-r--r--TAO/CIAO/CCF/CCF/IDL3/IDL3_SyntaxTree_EventType.cpp22
-rw-r--r--TAO/CIAO/CCF/CCF/IDL3/IDL3_SyntaxTree_EventType.hpp215
-rw-r--r--TAO/CIAO/CCF/CCF/IDL3/IDL3_Traversal.cpp184
-rw-r--r--TAO/CIAO/CCF/CCF/IDL3/IDL3_Traversal.hpp175
-rw-r--r--TAO/CIAO/CCF/CCF/IDL3/MSVC_Pragmas.hpp16
-rw-r--r--TAO/CIAO/CCF/CCF/IDL3/Makefile22
-rw-r--r--TAO/CIAO/CCF/CCF/Makefile14
-rw-r--r--TAO/CIAO/CCF/DesignNotes457
-rw-r--r--TAO/CIAO/CCF/External/Utility/Config/Archive.gcc.post.rules45
-rw-r--r--TAO/CIAO/CCF/External/Utility/Config/Archive.gcc.pre.rules27
-rw-r--r--TAO/CIAO/CCF/External/Utility/Config/Archive.post.rules7
-rw-r--r--TAO/CIAO/CCF/External/Utility/Config/Archive.pre.rules7
-rw-r--r--TAO/CIAO/CCF/External/Utility/Config/Documentation.post.rules35
-rw-r--r--TAO/CIAO/CCF/External/Utility/Config/Documentation.pre.rules17
-rw-r--r--TAO/CIAO/CCF/External/Utility/Config/Executable.gcc.post.rules49
-rw-r--r--TAO/CIAO/CCF/External/Utility/Config/Executable.gcc.pre.rules25
-rw-r--r--TAO/CIAO/CCF/External/Utility/Config/Executable.generic.post.rules57
-rw-r--r--TAO/CIAO/CCF/External/Utility/Config/Executable.generic.pre.rules25
-rw-r--r--TAO/CIAO/CCF/External/Utility/Config/Executable.post.rules7
-rw-r--r--TAO/CIAO/CCF/External/Utility/Config/Executable.pre.rules7
-rw-r--r--TAO/CIAO/CCF/External/Utility/Config/Recursion.post.rules29
-rw-r--r--TAO/CIAO/CCF/External/Utility/Config/Recursion.pre.rules11
-rw-r--r--TAO/CIAO/CCF/External/Utility/Config/Shared.gcc.post.rules45
-rw-r--r--TAO/CIAO/CCF/External/Utility/Config/Shared.gcc.pre.rules25
-rw-r--r--TAO/CIAO/CCF/External/Utility/Config/Shared.generic.post.rules53
-rw-r--r--TAO/CIAO/CCF/External/Utility/Config/Shared.generic.pre.rules25
-rw-r--r--TAO/CIAO/CCF/External/Utility/Config/Shared.post.rules7
-rw-r--r--TAO/CIAO/CCF/External/Utility/Config/Shared.pre.rules7
-rw-r--r--TAO/CIAO/CCF/External/Utility/Config/Thoughts54
-rw-r--r--TAO/CIAO/CCF/External/Utility/Documentation/Build.html99
-rw-r--r--TAO/CIAO/CCF/External/Utility/Documentation/ExH/Example/Makefile24
-rw-r--r--TAO/CIAO/CCF/External/Utility/Documentation/ExH/Logic/Makefile18
-rw-r--r--TAO/CIAO/CCF/External/Utility/Documentation/ExH/Makefile14
-rw-r--r--TAO/CIAO/CCF/External/Utility/Documentation/ExH/Makefile.documentation18
-rw-r--r--TAO/CIAO/CCF/External/Utility/Documentation/ExH/News.html60
-rw-r--r--TAO/CIAO/CCF/External/Utility/Documentation/ExH/System/Makefile18
-rw-r--r--TAO/CIAO/CCF/External/Utility/Documentation/ExH/index.html80
-rw-r--r--TAO/CIAO/CCF/External/Utility/Documentation/Makefile14
-rw-r--r--TAO/CIAO/CCF/External/Utility/Documentation/News.html69
-rw-r--r--TAO/CIAO/CCF/External/Utility/Documentation/ReferenceCounting/Makefile20
-rw-r--r--TAO/CIAO/CCF/External/Utility/Documentation/ReferenceCounting/News.html108
-rw-r--r--TAO/CIAO/CCF/External/Utility/Documentation/ReferenceCounting/index.html82
-rw-r--r--TAO/CIAO/CCF/External/Utility/Documentation/Style/CXX.css8
-rw-r--r--TAO/CIAO/CCF/External/Utility/Documentation/Style/CXX_Blue.css24
-rw-r--r--TAO/CIAO/CCF/External/Utility/Documentation/Synch/Makefile14
-rw-r--r--TAO/CIAO/CCF/External/Utility/Documentation/Synch/News.html60
-rw-r--r--TAO/CIAO/CCF/External/Utility/Documentation/Synch/Policy/Makefile18
-rw-r--r--TAO/CIAO/CCF/External/Utility/Documentation/Synch/index.html70
-rw-r--r--TAO/CIAO/CCF/External/Utility/Documentation/index.html92
-rw-r--r--TAO/CIAO/CCF/External/Utility/Makefile14
-rw-r--r--TAO/CIAO/CCF/External/Utility/Utility/ExH/Compound.hpp42
-rw-r--r--TAO/CIAO/CCF/External/Utility/Utility/ExH/Compound.tpp57
-rw-r--r--TAO/CIAO/CCF/External/Utility/Utility/ExH/Converter.hpp22
-rw-r--r--TAO/CIAO/CCF/External/Utility/Utility/ExH/Converter.tpp19
-rw-r--r--TAO/CIAO/CCF/External/Utility/Utility/ExH/ExH.hpp22
-rw-r--r--TAO/CIAO/CCF/External/Utility/Utility/ExH/Logic/DescriptiveException.hpp60
-rw-r--r--TAO/CIAO/CCF/External/Utility/Utility/ExH/Logic/DescriptiveException.ipp101
-rw-r--r--TAO/CIAO/CCF/External/Utility/Utility/ExH/Logic/Exception.hpp40
-rw-r--r--TAO/CIAO/CCF/External/Utility/Utility/ExH/Logic/Exception.ipp19
-rw-r--r--TAO/CIAO/CCF/External/Utility/Utility/ExH/StringConverter.hpp26
-rw-r--r--TAO/CIAO/CCF/External/Utility/Utility/ExH/StringConverter.ipp17
-rw-r--r--TAO/CIAO/CCF/External/Utility/Utility/ExH/StringStreamConverter.hpp26
-rw-r--r--TAO/CIAO/CCF/External/Utility/Utility/ExH/StringStreamConverter.ipp19
-rw-r--r--TAO/CIAO/CCF/External/Utility/Utility/ExH/System/DescriptiveException.hpp58
-rw-r--r--TAO/CIAO/CCF/External/Utility/Utility/ExH/System/DescriptiveException.ipp87
-rw-r--r--TAO/CIAO/CCF/External/Utility/Utility/ExH/System/Exception.hpp28
-rw-r--r--TAO/CIAO/CCF/External/Utility/Utility/ReferenceCounting/DefaultImpl.hpp95
-rw-r--r--TAO/CIAO/CCF/External/Utility/Utility/ReferenceCounting/DefaultImpl.ipp104
-rw-r--r--TAO/CIAO/CCF/External/Utility/Utility/ReferenceCounting/ExternalLockImpl.hpp59
-rw-r--r--TAO/CIAO/CCF/External/Utility/Utility/ReferenceCounting/ExternalLockImpl.ipp121
-rw-r--r--TAO/CIAO/CCF/External/Utility/Utility/ReferenceCounting/Interface.hpp83
-rw-r--r--TAO/CIAO/CCF/External/Utility/Utility/ReferenceCounting/Interface.ipp21
-rw-r--r--TAO/CIAO/CCF/External/Utility/Utility/ReferenceCounting/Interface.tpp19
-rw-r--r--TAO/CIAO/CCF/External/Utility/Utility/ReferenceCounting/ReferenceCounting.hpp15
-rw-r--r--TAO/CIAO/CCF/External/Utility/Utility/ReferenceCounting/SmartPtr.hpp102
-rw-r--r--TAO/CIAO/CCF/External/Utility/Utility/ReferenceCounting/SmartPtr.tpp169
-rw-r--r--TAO/CIAO/CCF/External/Utility/Utility/ReferenceCounting/StrictPtr.hpp107
-rw-r--r--TAO/CIAO/CCF/External/Utility/Utility/ReferenceCounting/StrictPtr.tpp166
-rw-r--r--TAO/CIAO/CCF/External/Utility/Utility/Synch/Policy/Null.hpp53
-rw-r--r--TAO/CIAO/CCF/External/Utility/Utility/Synch/Policy/Null.ipp19
-rw-r--r--TAO/CIAO/CCF/External/Utility/Version1
-rw-r--r--TAO/CIAO/CCF/Makefile14
-rw-r--r--TAO/CIAO/CCF/Version1
-rw-r--r--TAO/CIAO/CIDLC/CIDLC.sln21
-rw-r--r--TAO/CIAO/CIDLC/CIDLC.vcproj164
-rw-r--r--TAO/CIAO/CIDLC/ExecutorMappingGenerator.cpp1066
-rw-r--r--TAO/CIAO/CIDLC/ExecutorMappingGenerator.hpp22
-rw-r--r--TAO/CIAO/CIDLC/Literals.hpp92
-rw-r--r--TAO/CIAO/CIDLC/Makefile33
-rw-r--r--TAO/CIAO/CIDLC/README49
-rw-r--r--TAO/CIAO/CIDLC/ServantGenerator.cpp205
-rw-r--r--TAO/CIAO/CIDLC/ServantGenerator.hpp81
-rw-r--r--TAO/CIAO/CIDLC/ServantHeaderGenerator.cpp1733
-rw-r--r--TAO/CIAO/CIDLC/ServantHeaderGenerator.hpp104
-rw-r--r--TAO/CIAO/CIDLC/ServantSourceGenerator.cpp2525
-rw-r--r--TAO/CIAO/CIDLC/ServantSourceGenerator.hpp96
-rw-r--r--TAO/CIAO/CIDLC/Version1
-rw-r--r--TAO/CIAO/CIDLC/cidlc.cpp231
-rw-r--r--TAO/CIAO/CIDLC/parser_examples/README70
-rw-r--r--TAO/CIAO/CIDLC/parser_examples/cidl/cidl.cpp29
-rw-r--r--TAO/CIAO/CIDLC/parser_examples/cidl/cidl.mpc11
-rw-r--r--TAO/CIAO/CIDLC/parser_examples/cidl/cidl.vcproj145
-rw-r--r--TAO/CIAO/CIDLC/parser_examples/cidl/cidl_grammar.cpp309
-rw-r--r--TAO/CIAO/CIDLC/parser_examples/cidl/cidl_grammar.h54
-rw-r--r--TAO/CIAO/CIDLC/parser_examples/cidl/hello.cidl17
-rw-r--r--TAO/CIAO/CIDLC/parser_examples/idl2/idl2.cpp27
-rw-r--r--TAO/CIAO/CIDLC/parser_examples/idl2/idl2.mpc11
-rw-r--r--TAO/CIAO/CIDLC/parser_examples/idl2/idl2.vcproj152
-rw-r--r--TAO/CIAO/CIDLC/parser_examples/idl2/idl2_grammar.cpp973
-rw-r--r--TAO/CIAO/CIDLC/parser_examples/idl2/idl2_grammar.h166
-rw-r--r--TAO/CIAO/CIDLC/parser_examples/idl2/test_idl2.idl103
-rw-r--r--TAO/CIAO/CIDLC/parser_examples/idl3/idl3.cpp29
-rw-r--r--TAO/CIAO/CIDLC/parser_examples/idl3/idl3.mpc11
-rw-r--r--TAO/CIAO/CIDLC/parser_examples/idl3/idl3.vcproj153
-rw-r--r--TAO/CIAO/CIDLC/parser_examples/idl3/idl3_grammar.cpp349
-rw-r--r--TAO/CIAO/CIDLC/parser_examples/idl3/idl3_grammar.h51
-rw-r--r--TAO/CIAO/CIDLC/parser_examples/idl3/test_idl3.idl73
-rw-r--r--TAO/CIAO/CIDLC/parser_examples/parser_examples.sln37
-rw-r--r--TAO/CIAO/ChangeLog2731
-rw-r--r--TAO/CIAO/Makefile94
-rw-r--r--TAO/CIAO/PROBLEM-REPORT-FORM72
-rw-r--r--TAO/CIAO/README119
-rw-r--r--TAO/CIAO/VERSION11
-rwxr-xr-xTAO/CIAO/bin/generate_component_mpc.pl169
-rw-r--r--TAO/CIAO/ciao/Active_Objref_Map.cpp11
-rw-r--r--TAO/CIAO/ciao/Active_Objref_Map.h35
-rw-r--r--TAO/CIAO/ciao/CCM_Base.idl144
-rw-r--r--TAO/CIAO/ciao/CCM_Component.idl117
-rw-r--r--TAO/CIAO/ciao/CCM_Container.idl138
-rw-r--r--TAO/CIAO/ciao/CCM_Container_Ex.idl183
-rw-r--r--TAO/CIAO/ciao/CCM_Core.mpc84
-rw-r--r--TAO/CIAO/ciao/CCM_Deployment.idl155
-rw-r--r--TAO/CIAO/ciao/CCM_Event.idl100
-rw-r--r--TAO/CIAO/ciao/CCM_Transaction.idl89
-rw-r--r--TAO/CIAO/ciao/CIAO_Client_Export.h50
-rw-r--r--TAO/CIAO/ciao/CIAO_Container_Export.h50
-rw-r--r--TAO/CIAO/ciao/CIAO_Export.h50
-rw-r--r--TAO/CIAO/ciao/CIAO_Server_Export.h50
-rw-r--r--TAO/CIAO/ciao/CIAO_Servers.idl19
-rw-r--r--TAO/CIAO/ciao/CIAO_Value.idl17
-rw-r--r--TAO/CIAO/ciao/CIAO_common.h31
-rw-r--r--TAO/CIAO/ciao/Client_init.cpp36
-rw-r--r--TAO/CIAO/ciao/Client_init.h35
-rw-r--r--TAO/CIAO/ciao/ComponentInstallation_Impl.cpp191
-rw-r--r--TAO/CIAO/ciao/ComponentInstallation_Impl.h117
-rw-r--r--TAO/CIAO/ciao/ComponentInstallation_Impl.inl11
-rw-r--r--TAO/CIAO/ciao/ComponentServer_Impl.cpp182
-rw-r--r--TAO/CIAO/ciao/ComponentServer_Impl.h142
-rw-r--r--TAO/CIAO/ciao/ComponentServer_Impl.inl58
-rw-r--r--TAO/CIAO/ciao/Component_Base.idl788
-rw-r--r--TAO/CIAO/ciao/Components.idl15
-rw-r--r--TAO/CIAO/ciao/ComponentsC.h92
-rw-r--r--TAO/CIAO/ciao/ComponentsS.h67
-rw-r--r--TAO/CIAO/ciao/Container_Base.cpp246
-rw-r--r--TAO/CIAO/ciao/Container_Base.h169
-rw-r--r--TAO/CIAO/ciao/Container_Base.inl10
-rw-r--r--TAO/CIAO/ciao/Container_Base.pidl33
-rw-r--r--TAO/CIAO/ciao/Container_Impl.cpp251
-rw-r--r--TAO/CIAO/ciao/Container_Impl.h161
-rw-r--r--TAO/CIAO/ciao/Container_Impl.inl33
-rw-r--r--TAO/CIAO/ciao/Cookies.cpp64
-rw-r--r--TAO/CIAO/ciao/Cookies.h76
-rw-r--r--TAO/CIAO/ciao/Cookies.inl22
-rw-r--r--TAO/CIAO/ciao/CosPersistentState.idl23
-rw-r--r--TAO/CIAO/ciao/HomeRegistrar.idl38
-rw-r--r--TAO/CIAO/ciao/HomeRegistrar_i.cpp98
-rw-r--r--TAO/CIAO/ciao/HomeRegistrar_i.h82
-rw-r--r--TAO/CIAO/ciao/HomeRegistrar_i.inl31
-rw-r--r--TAO/CIAO/ciao/Object_Set_T.cpp123
-rw-r--r--TAO/CIAO/ciao/Object_Set_T.h127
-rw-r--r--TAO/CIAO/ciao/Object_Set_T.inl20
-rw-r--r--TAO/CIAO/ciao/README13
-rw-r--r--TAO/CIAO/ciao/ServerActivator_Impl.cpp260
-rw-r--r--TAO/CIAO/ciao/ServerActivator_Impl.h182
-rw-r--r--TAO/CIAO/ciao/ServerActivator_Impl.inl33
-rw-r--r--TAO/CIAO/ciao/Server_init.cpp36
-rw-r--r--TAO/CIAO/ciao/Server_init.h35
-rw-r--r--TAO/CIAO/ciao/Version.h7
-rw-r--r--TAO/CIAO/ciao/ciao.rc30
-rw-r--r--TAO/CIAO/ciao/ciaofwd.h33
-rw-r--r--TAO/CIAO/ciao/diffs/Component_BaseC.cpp.diff57
-rw-r--r--TAO/CIAO/ciao/diffs/Component_BaseC.h.diff65
-rw-r--r--TAO/CIAO/ciao/diffs/Component_BaseS.h.diff12
-rw-r--r--TAO/CIAO/docs/ConfigValues.html195
-rw-r--r--TAO/CIAO/docs/XML/componentassembly.dtd367
-rw-r--r--TAO/CIAO/docs/XML/corbacomponent.dtd316
-rw-r--r--TAO/CIAO/docs/XML/properties.dtd87
-rw-r--r--TAO/CIAO/docs/XML/softpkg.dtd220
-rw-r--r--TAO/CIAO/docs/com-impl.html60
-rw-r--r--TAO/CIAO/docs/imgs/CCM-v5.vsdbin486912 -> 0 bytes
-rw-r--r--TAO/CIAO/docs/imgs/CCM.vsdbin568832 -> 0 bytes
-rw-r--r--TAO/CIAO/docs/imgs/File-Gen-Existing.pngbin40181 -> 0 bytes
-rw-r--r--TAO/CIAO/docs/imgs/File-Gen-Future.pngbin41057 -> 0 bytes
-rw-r--r--TAO/CIAO/docs/imgs/File_Generation_Flow.vsdbin107008 -> 0 bytes
-rw-r--r--TAO/CIAO/docs/imgs/IDL-CIDL-classes.vsdbin201216 -> 0 bytes
-rw-r--r--TAO/CIAO/docs/imgs/basic-container.pngbin8000 -> 0 bytes
-rw-r--r--TAO/CIAO/docs/imgs/component-basic.pngbin18852 -> 0 bytes
-rw-r--r--TAO/CIAO/docs/imgs/deployment.pngbin10392 -> 0 bytes
-rw-r--r--TAO/CIAO/docs/imgs/extended-container.pngbin19243 -> 0 bytes
-rw-r--r--TAO/CIAO/docs/imgs/home-config.pngbin9873 -> 0 bytes
-rw-r--r--TAO/CIAO/docs/index.html75
-rw-r--r--TAO/CIAO/docs/new_components.html129
-rw-r--r--TAO/CIAO/docs/releasenotes.html361
-rw-r--r--TAO/CIAO/docs/templates/CIAO_Glue_Session_Template.cpp1218
-rw-r--r--TAO/CIAO/docs/templates/CIAO_Glue_Session_Template.h737
-rw-r--r--TAO/CIAO/docs/templates/CIAO_Glue_Session_Template.inl494
-rw-r--r--TAO/CIAO/docs/templates/Executor.idl246
-rw-r--r--TAO/CIAO/docs/templates/cidl_template.cidl31
-rw-r--r--TAO/CIAO/examples/OEP/BasicSP/BMClosedED/BMClosedED.cidl19
-rw-r--r--TAO/CIAO/examples/OEP/BasicSP/BMClosedED/BMClosedED.idl17
-rw-r--r--TAO/CIAO/examples/OEP/BasicSP/BMClosedED/BMClosedEDEI.idl33
-rw-r--r--TAO/CIAO/examples/OEP/BasicSP/BMClosedED/BMClosedED_exec.cpp149
-rw-r--r--TAO/CIAO/examples/OEP/BasicSP/BMClosedED/BMClosedED_exec.dsp146
-rw-r--r--TAO/CIAO/examples/OEP/BasicSP/BMClosedED/BMClosedED_exec.h119
-rw-r--r--TAO/CIAO/examples/OEP/BasicSP/BMClosedED/BMClosedED_exec_export.h50
-rw-r--r--TAO/CIAO/examples/OEP/BasicSP/BMClosedED/BMClosedED_stub.dsp138
-rw-r--r--TAO/CIAO/examples/OEP/BasicSP/BMClosedED/BMClosedED_stub_export.h50
-rw-r--r--TAO/CIAO/examples/OEP/BasicSP/BMClosedED/BMClosedED_svnt.dsp205
-rw-r--r--TAO/CIAO/examples/OEP/BasicSP/BMClosedED/BMClosedED_svnt_export.h50
-rw-r--r--TAO/CIAO/examples/OEP/BasicSP/BMClosedED/config1
-rw-r--r--TAO/CIAO/examples/OEP/BasicSP/BMDevice/BMDevice.cidl19
-rw-r--r--TAO/CIAO/examples/OEP/BasicSP/BMDevice/BMDevice.idl30
-rw-r--r--TAO/CIAO/examples/OEP/BasicSP/BMDevice/BMDeviceEI.idl30
-rw-r--r--TAO/CIAO/examples/OEP/BasicSP/BMDevice/BMDevice_exec.cpp125
-rw-r--r--TAO/CIAO/examples/OEP/BasicSP/BMDevice/BMDevice_exec.dsp158
-rw-r--r--TAO/CIAO/examples/OEP/BasicSP/BMDevice/BMDevice_exec.h122
-rw-r--r--TAO/CIAO/examples/OEP/BasicSP/BMDevice/BMDevice_exec_export.h50
-rw-r--r--TAO/CIAO/examples/OEP/BasicSP/BMDevice/BMDevice_stub.dsp170
-rw-r--r--TAO/CIAO/examples/OEP/BasicSP/BMDevice/BMDevice_stub_export.h50
-rw-r--r--TAO/CIAO/examples/OEP/BasicSP/BMDevice/BMDevice_svnt.dsp239
-rw-r--r--TAO/CIAO/examples/OEP/BasicSP/BMDevice/BMDevice_svnt_export.h50
-rw-r--r--TAO/CIAO/examples/OEP/BasicSP/BMDevice/config1
-rw-r--r--TAO/CIAO/examples/OEP/BasicSP/BMDisplay/BMDisplay.cidl18
-rw-r--r--TAO/CIAO/examples/OEP/BasicSP/BMDisplay/BMDisplay.idl15
-rw-r--r--TAO/CIAO/examples/OEP/BasicSP/BMDisplay/BMDisplayEI.idl33
-rw-r--r--TAO/CIAO/examples/OEP/BasicSP/BMDisplay/BMDisplay_exec.cpp135
-rw-r--r--TAO/CIAO/examples/OEP/BasicSP/BMDisplay/BMDisplay_exec.dsp146
-rw-r--r--TAO/CIAO/examples/OEP/BasicSP/BMDisplay/BMDisplay_exec.h102
-rw-r--r--TAO/CIAO/examples/OEP/BasicSP/BMDisplay/BMDisplay_exec_export.h50
-rw-r--r--TAO/CIAO/examples/OEP/BasicSP/BMDisplay/BMDisplay_stub.dsp138
-rw-r--r--TAO/CIAO/examples/OEP/BasicSP/BMDisplay/BMDisplay_stub_export.h50
-rw-r--r--TAO/CIAO/examples/OEP/BasicSP/BMDisplay/BMDisplay_svnt.dsp237
-rw-r--r--TAO/CIAO/examples/OEP/BasicSP/BMDisplay/BMDisplay_svnt_export.h50
-rw-r--r--TAO/CIAO/examples/OEP/BasicSP/BMDisplay/config1
-rw-r--r--TAO/CIAO/examples/OEP/BasicSP/BasicSP.dsw251
-rw-r--r--TAO/CIAO/examples/OEP/BasicSP/BasicSP.idl47
-rw-r--r--TAO/CIAO/examples/OEP/BasicSP/BasicSP.mpc29
-rw-r--r--TAO/CIAO/examples/OEP/BasicSP/BasicSP_stub.dsp150
-rw-r--r--TAO/CIAO/examples/OEP/BasicSP/BasicSP_stub_export.h50
-rw-r--r--TAO/CIAO/examples/OEP/BasicSP/BasicSP_svnt.dsp180
-rw-r--r--TAO/CIAO/examples/OEP/BasicSP/BasicSP_svnt_export.h50
-rw-r--r--TAO/CIAO/examples/OEP/BasicSP/EC/EC.cidl21
-rw-r--r--TAO/CIAO/examples/OEP/BasicSP/EC/EC.idl41
-rw-r--r--TAO/CIAO/examples/OEP/BasicSP/EC/ECEI.idl32
-rw-r--r--TAO/CIAO/examples/OEP/BasicSP/EC/EC_client.dsp166
-rw-r--r--TAO/CIAO/examples/OEP/BasicSP/EC/EC_exec.cpp279
-rw-r--r--TAO/CIAO/examples/OEP/BasicSP/EC/EC_exec.dsp186
-rw-r--r--TAO/CIAO/examples/OEP/BasicSP/EC/EC_exec.h182
-rw-r--r--TAO/CIAO/examples/OEP/BasicSP/EC/EC_exec_export.h50
-rw-r--r--TAO/CIAO/examples/OEP/BasicSP/EC/EC_stub.dsp178
-rw-r--r--TAO/CIAO/examples/OEP/BasicSP/EC/EC_stub_export.h50
-rw-r--r--TAO/CIAO/examples/OEP/BasicSP/EC/EC_svnt.dsp229
-rw-r--r--TAO/CIAO/examples/OEP/BasicSP/EC/EC_svnt_export.h50
-rw-r--r--TAO/CIAO/examples/OEP/BasicSP/EC/README9
-rw-r--r--TAO/CIAO/examples/OEP/BasicSP/EC/client.cpp72
-rw-r--r--TAO/CIAO/examples/OEP/BasicSP/EC/config1
-rw-r--r--TAO/CIAO/examples/OEP/BasicSP/EC/controller.cpp125
-rw-r--r--TAO/CIAO/examples/OEP/BasicSP/EC/controller.dsp166
-rw-r--r--TAO/CIAO/examples/OEP/BasicSP/NOTE.txt135
-rw-r--r--TAO/CIAO/examples/OEP/BasicSP/README32
-rw-r--r--TAO/CIAO/examples/OEP/BasicSP/descriptors/BMClosedED.csd45
-rw-r--r--TAO/CIAO/examples/OEP/BasicSP/descriptors/BMClosedED.ssd43
-rw-r--r--TAO/CIAO/examples/OEP/BasicSP/descriptors/BMDevice.csd46
-rw-r--r--TAO/CIAO/examples/OEP/BasicSP/descriptors/BMDevice.ssd43
-rw-r--r--TAO/CIAO/examples/OEP/BasicSP/descriptors/BMDisplay.csd46
-rw-r--r--TAO/CIAO/examples/OEP/BasicSP/descriptors/BMDisplay.ssd43
-rw-r--r--TAO/CIAO/examples/OEP/BasicSP/descriptors/BasicSP.cad109
-rw-r--r--TAO/CIAO/examples/OEP/BasicSP/descriptors/CIAO_Installation_Data.ini9
-rw-r--r--TAO/CIAO/examples/OEP/BasicSP/descriptors/EC.csd46
-rw-r--r--TAO/CIAO/examples/OEP/BasicSP/descriptors/EC.ssd43
-rw-r--r--TAO/CIAO/examples/OEP/BasicSP/descriptors/ec.ior1
-rw-r--r--TAO/CIAO/examples/OEP/BasicSP/descriptors/test.dat2
-rw-r--r--TAO/CIAO/examples/OEP/Display/Configuration-0.png1
-rw-r--r--TAO/CIAO/examples/OEP/Display/Display.dsw248
-rw-r--r--TAO/CIAO/examples/OEP/Display/GPS/GPS.cidl13
-rw-r--r--TAO/CIAO/examples/OEP/Display/GPS/GPS.idl25
-rw-r--r--TAO/CIAO/examples/OEP/Display/GPS/GPSEI.idl33
-rw-r--r--TAO/CIAO/examples/OEP/Display/GPS/GPS_exec.cpp131
-rw-r--r--TAO/CIAO/examples/OEP/Display/GPS/GPS_exec.dsp146
-rw-r--r--TAO/CIAO/examples/OEP/Display/GPS/GPS_exec.h127
-rw-r--r--TAO/CIAO/examples/OEP/Display/GPS/GPS_exec_export.h50
-rw-r--r--TAO/CIAO/examples/OEP/Display/GPS/GPS_stub.dsp172
-rw-r--r--TAO/CIAO/examples/OEP/Display/GPS/GPS_stub_export.h50
-rw-r--r--TAO/CIAO/examples/OEP/Display/GPS/GPS_svnt.dsp239
-rw-r--r--TAO/CIAO/examples/OEP/Display/GPS/GPS_svnt_export.h50
-rw-r--r--TAO/CIAO/examples/OEP/Display/GPS/GPS_tracing_exec.cpp137
-rw-r--r--TAO/CIAO/examples/OEP/Display/GPS/GPS_tracing_exec.dsp146
-rw-r--r--TAO/CIAO/examples/OEP/Display/GPS/GPS_tracing_exec.h125
-rw-r--r--TAO/CIAO/examples/OEP/Display/GPS/config1
-rw-r--r--TAO/CIAO/examples/OEP/Display/HUDisplay.idl48
-rw-r--r--TAO/CIAO/examples/OEP/Display/HUDisplay.mpc29
-rw-r--r--TAO/CIAO/examples/OEP/Display/HUDisplay_stub.dsp178
-rw-r--r--TAO/CIAO/examples/OEP/Display/HUDisplay_stub_export.h50
-rw-r--r--TAO/CIAO/examples/OEP/Display/HUDisplay_svnt.dsp176
-rw-r--r--TAO/CIAO/examples/OEP/Display/HUDisplay_svnt_export.h50
-rw-r--r--TAO/CIAO/examples/OEP/Display/NOTE54
-rw-r--r--TAO/CIAO/examples/OEP/Display/NavDisplay/NavDisplay.cidl12
-rw-r--r--TAO/CIAO/examples/OEP/Display/NavDisplay/NavDisplay.idl29
-rw-r--r--TAO/CIAO/examples/OEP/Display/NavDisplay/NavDisplayEI.idl32
-rw-r--r--TAO/CIAO/examples/OEP/Display/NavDisplay/NavDisplay_exec.cpp128
-rw-r--r--TAO/CIAO/examples/OEP/Display/NavDisplay/NavDisplay_exec.dsp146
-rw-r--r--TAO/CIAO/examples/OEP/Display/NavDisplay/NavDisplay_exec.h101
-rw-r--r--TAO/CIAO/examples/OEP/Display/NavDisplay/NavDisplay_exec_export.h50
-rw-r--r--TAO/CIAO/examples/OEP/Display/NavDisplay/NavDisplay_stub.dsp172
-rw-r--r--TAO/CIAO/examples/OEP/Display/NavDisplay/NavDisplay_stub_export.h50
-rw-r--r--TAO/CIAO/examples/OEP/Display/NavDisplay/NavDisplay_svnt.dsp239
-rw-r--r--TAO/CIAO/examples/OEP/Display/NavDisplay/NavDisplay_svnt_export.h50
-rw-r--r--TAO/CIAO/examples/OEP/Display/NavDisplay/config1
-rwxr-xr-xTAO/CIAO/examples/OEP/Display/NavDisplay/run_test.pl108
-rw-r--r--TAO/CIAO/examples/OEP/Display/NavDisplayGUI_exec/AddNavUnitCmd.cpp28
-rw-r--r--TAO/CIAO/examples/OEP/Display/NavDisplayGUI_exec/AddNavUnitCmd.h27
-rw-r--r--TAO/CIAO/examples/OEP/Display/NavDisplayGUI_exec/Command.h20
-rw-r--r--TAO/CIAO/examples/OEP/Display/NavDisplayGUI_exec/DetailView.cpp165
-rw-r--r--TAO/CIAO/examples/OEP/Display/NavDisplayGUI_exec/DetailView.h51
-rw-r--r--TAO/CIAO/examples/OEP/Display/NavDisplayGUI_exec/MapView.cpp38
-rw-r--r--TAO/CIAO/examples/OEP/Display/NavDisplayGUI_exec/MapView.h23
-rw-r--r--TAO/CIAO/examples/OEP/Display/NavDisplayGUI_exec/NavDisplayGUI_exec.cpp184
-rw-r--r--TAO/CIAO/examples/OEP/Display/NavDisplayGUI_exec/NavDisplayGUI_exec.dsp408
-rw-r--r--TAO/CIAO/examples/OEP/Display/NavDisplayGUI_exec/NavDisplayGUI_exec.h110
-rw-r--r--TAO/CIAO/examples/OEP/Display/NavDisplayGUI_exec/NavUnit.cpp9
-rw-r--r--TAO/CIAO/examples/OEP/Display/NavDisplayGUI_exec/NavUnit.h57
-rw-r--r--TAO/CIAO/examples/OEP/Display/NavDisplayGUI_exec/NodeItem.cpp63
-rw-r--r--TAO/CIAO/examples/OEP/Display/NavDisplayGUI_exec/NodeItem.h49
-rw-r--r--TAO/CIAO/examples/OEP/Display/NavDisplayGUI_exec/QuitCmd.cpp25
-rw-r--r--TAO/CIAO/examples/OEP/Display/NavDisplayGUI_exec/QuitCmd.h25
-rw-r--r--TAO/CIAO/examples/OEP/Display/NavDisplayGUI_exec/README7
-rw-r--r--TAO/CIAO/examples/OEP/Display/NavDisplayGUI_exec/RootPanel.cpp90
-rw-r--r--TAO/CIAO/examples/OEP/Display/NavDisplayGUI_exec/RootPanel.h45
-rw-r--r--TAO/CIAO/examples/OEP/Display/NavDisplayGUI_exec/UpdatePositionCmd.cpp30
-rw-r--r--TAO/CIAO/examples/OEP/Display/NavDisplayGUI_exec/UpdatePositionCmd.h28
-rw-r--r--TAO/CIAO/examples/OEP/Display/NavDisplayGUI_exec/Worker.cpp48
-rw-r--r--TAO/CIAO/examples/OEP/Display/NavDisplayGUI_exec/Worker.h35
-rw-r--r--TAO/CIAO/examples/OEP/Display/NavDisplayGUI_exec/trolltech.gifbin42629 -> 0 bytes
-rw-r--r--TAO/CIAO/examples/OEP/Display/NavDisplayGUI_exec/worldmap1.gifbin207612 -> 0 bytes
-rw-r--r--TAO/CIAO/examples/OEP/Display/NavDisplayGUI_exec/worldmap1.xpm651
-rw-r--r--TAO/CIAO/examples/OEP/Display/README56
-rw-r--r--TAO/CIAO/examples/OEP/Display/RateGen/RateGen.cidl12
-rw-r--r--TAO/CIAO/examples/OEP/Display/RateGen/RateGen.idl34
-rw-r--r--TAO/CIAO/examples/OEP/Display/RateGen/RateGenEI.idl31
-rw-r--r--TAO/CIAO/examples/OEP/Display/RateGen/RateGen_client.dsp158
-rw-r--r--TAO/CIAO/examples/OEP/Display/RateGen/RateGen_exec.cpp279
-rw-r--r--TAO/CIAO/examples/OEP/Display/RateGen/RateGen_exec.dsp146
-rw-r--r--TAO/CIAO/examples/OEP/Display/RateGen/RateGen_exec.h180
-rw-r--r--TAO/CIAO/examples/OEP/Display/RateGen/RateGen_exec_export.h50
-rw-r--r--TAO/CIAO/examples/OEP/Display/RateGen/RateGen_stub.dsp172
-rw-r--r--TAO/CIAO/examples/OEP/Display/RateGen/RateGen_stub_export.h50
-rw-r--r--TAO/CIAO/examples/OEP/Display/RateGen/RateGen_svnt.dsp239
-rw-r--r--TAO/CIAO/examples/OEP/Display/RateGen/RateGen_svnt_export.h50
-rw-r--r--TAO/CIAO/examples/OEP/Display/RateGen/client.cpp66
-rw-r--r--TAO/CIAO/examples/OEP/Display/RateGen/config1
-rw-r--r--TAO/CIAO/examples/OEP/Display/RateGen/controller.cpp121
-rw-r--r--TAO/CIAO/examples/OEP/Display/RateGen/controller.dsp158
-rwxr-xr-xTAO/CIAO/examples/OEP/Display/RateGen/run_test.pl112
-rwxr-xr-xTAO/CIAO/examples/OEP/Display/cleanup_mpcfiles.cmd1
-rw-r--r--TAO/CIAO/examples/OEP/Display/descriptors/CIAO_Installation_Data.ini9
-rw-r--r--TAO/CIAO/examples/OEP/Display/descriptors/DuelDisplay.cad114
-rw-r--r--TAO/CIAO/examples/OEP/Display/descriptors/GPS.csd64
-rw-r--r--TAO/CIAO/examples/OEP/Display/descriptors/GPS.ssd48
-rw-r--r--TAO/CIAO/examples/OEP/Display/descriptors/GPS_tracing.csd64
-rw-r--r--TAO/CIAO/examples/OEP/Display/descriptors/HUDisplay.cad82
-rw-r--r--TAO/CIAO/examples/OEP/Display/descriptors/HUDisplayGUI.cad82
-rw-r--r--TAO/CIAO/examples/OEP/Display/descriptors/NOTE.txt135
-rw-r--r--TAO/CIAO/examples/OEP/Display/descriptors/NavDisplay.csd64
-rw-r--r--TAO/CIAO/examples/OEP/Display/descriptors/NavDisplay.ssd48
-rw-r--r--TAO/CIAO/examples/OEP/Display/descriptors/NavDisplayGUI.csd64
-rw-r--r--TAO/CIAO/examples/OEP/Display/descriptors/RateGen.csd64
-rw-r--r--TAO/CIAO/examples/OEP/Display/descriptors/RateGen.ssd48
-rw-r--r--TAO/CIAO/examples/OEP/Display/descriptors/RemoteDisplay.cad84
-rw-r--r--TAO/CIAO/examples/OEP/Display/descriptors/RemoteDisplayGUI.cad84
-rw-r--r--TAO/CIAO/examples/OEP/Display/descriptors/test.dat2
-rw-r--r--TAO/CIAO/examples/handcrafted/BasicSP/BMClosedED/BMClosedED.cidl19
-rw-r--r--TAO/CIAO/examples/handcrafted/BasicSP/BMClosedED/BMClosedED.idl17
-rw-r--r--TAO/CIAO/examples/handcrafted/BasicSP/BMClosedED/BMClosedED.mpc57
-rw-r--r--TAO/CIAO/examples/handcrafted/BasicSP/BMClosedED/BMClosedEDE.idl76
-rw-r--r--TAO/CIAO/examples/handcrafted/BasicSP/BMClosedED/BMClosedEDEI.idl33
-rw-r--r--TAO/CIAO/examples/handcrafted/BasicSP/BMClosedED/BMClosedED_exec.cpp149
-rw-r--r--TAO/CIAO/examples/handcrafted/BasicSP/BMClosedED/BMClosedED_exec.h119
-rw-r--r--TAO/CIAO/examples/handcrafted/BasicSP/BMClosedED/BMClosedED_exec_export.h50
-rw-r--r--TAO/CIAO/examples/handcrafted/BasicSP/BMClosedED/BMClosedED_stub_export.h50
-rw-r--r--TAO/CIAO/examples/handcrafted/BasicSP/BMClosedED/BMClosedED_svnt.cpp1125
-rw-r--r--TAO/CIAO/examples/handcrafted/BasicSP/BMClosedED/BMClosedED_svnt.h510
-rw-r--r--TAO/CIAO/examples/handcrafted/BasicSP/BMClosedED/BMClosedED_svnt_export.h50
-rw-r--r--TAO/CIAO/examples/handcrafted/BasicSP/BMClosedED/config1
-rw-r--r--TAO/CIAO/examples/handcrafted/BasicSP/BMDevice/BMDevice.cidl19
-rw-r--r--TAO/CIAO/examples/handcrafted/BasicSP/BMDevice/BMDevice.idl30
-rw-r--r--TAO/CIAO/examples/handcrafted/BasicSP/BMDevice/BMDevice.mpc59
-rw-r--r--TAO/CIAO/examples/handcrafted/BasicSP/BMDevice/BMDeviceE.idl64
-rw-r--r--TAO/CIAO/examples/handcrafted/BasicSP/BMDevice/BMDeviceEI.idl30
-rw-r--r--TAO/CIAO/examples/handcrafted/BasicSP/BMDevice/BMDevice_exec.cpp126
-rw-r--r--TAO/CIAO/examples/handcrafted/BasicSP/BMDevice/BMDevice_exec.h122
-rw-r--r--TAO/CIAO/examples/handcrafted/BasicSP/BMDevice/BMDevice_exec_export.h50
-rw-r--r--TAO/CIAO/examples/handcrafted/BasicSP/BMDevice/BMDevice_stub_export.h50
-rw-r--r--TAO/CIAO/examples/handcrafted/BasicSP/BMDevice/BMDevice_svnt.cpp981
-rw-r--r--TAO/CIAO/examples/handcrafted/BasicSP/BMDevice/BMDevice_svnt.h475
-rw-r--r--TAO/CIAO/examples/handcrafted/BasicSP/BMDevice/BMDevice_svnt_export.h50
-rw-r--r--TAO/CIAO/examples/handcrafted/BasicSP/BMDevice/config1
-rw-r--r--TAO/CIAO/examples/handcrafted/BasicSP/BMDisplay/BMDisplay.cidl18
-rw-r--r--TAO/CIAO/examples/handcrafted/BasicSP/BMDisplay/BMDisplay.idl15
-rw-r--r--TAO/CIAO/examples/handcrafted/BasicSP/BMDisplay/BMDisplay.mpc58
-rw-r--r--TAO/CIAO/examples/handcrafted/BasicSP/BMDisplay/BMDisplayE.idl73
-rw-r--r--TAO/CIAO/examples/handcrafted/BasicSP/BMDisplay/BMDisplayEI.idl33
-rw-r--r--TAO/CIAO/examples/handcrafted/BasicSP/BMDisplay/BMDisplay_exec.cpp135
-rw-r--r--TAO/CIAO/examples/handcrafted/BasicSP/BMDisplay/BMDisplay_exec.h102
-rw-r--r--TAO/CIAO/examples/handcrafted/BasicSP/BMDisplay/BMDisplay_exec_export.h50
-rw-r--r--TAO/CIAO/examples/handcrafted/BasicSP/BMDisplay/BMDisplay_stub_export.h50
-rw-r--r--TAO/CIAO/examples/handcrafted/BasicSP/BMDisplay/BMDisplay_svnt.cpp955
-rw-r--r--TAO/CIAO/examples/handcrafted/BasicSP/BMDisplay/BMDisplay_svnt.h472
-rw-r--r--TAO/CIAO/examples/handcrafted/BasicSP/BMDisplay/BMDisplay_svnt_export.h50
-rw-r--r--TAO/CIAO/examples/handcrafted/BasicSP/BMDisplay/config1
-rw-r--r--TAO/CIAO/examples/handcrafted/BasicSP/BasicSP.idl47
-rw-r--r--TAO/CIAO/examples/handcrafted/BasicSP/BasicSP.mpc36
-rw-r--r--TAO/CIAO/examples/handcrafted/BasicSP/BasicSPE.idl58
-rw-r--r--TAO/CIAO/examples/handcrafted/BasicSP/BasicSP_stub_export.h50
-rw-r--r--TAO/CIAO/examples/handcrafted/BasicSP/BasicSP_svnt.cpp61
-rw-r--r--TAO/CIAO/examples/handcrafted/BasicSP/BasicSP_svnt.h73
-rw-r--r--TAO/CIAO/examples/handcrafted/BasicSP/BasicSP_svnt_export.h50
-rw-r--r--TAO/CIAO/examples/handcrafted/BasicSP/EC/EC.cidl21
-rw-r--r--TAO/CIAO/examples/handcrafted/BasicSP/EC/EC.idl41
-rw-r--r--TAO/CIAO/examples/handcrafted/BasicSP/EC/EC.mpc86
-rw-r--r--TAO/CIAO/examples/handcrafted/BasicSP/EC/ECE.idl68
-rw-r--r--TAO/CIAO/examples/handcrafted/BasicSP/EC/ECEI.idl32
-rw-r--r--TAO/CIAO/examples/handcrafted/BasicSP/EC/EC_exec.cpp279
-rw-r--r--TAO/CIAO/examples/handcrafted/BasicSP/EC/EC_exec.h182
-rw-r--r--TAO/CIAO/examples/handcrafted/BasicSP/EC/EC_exec_export.h50
-rw-r--r--TAO/CIAO/examples/handcrafted/BasicSP/EC/EC_stub_export.h50
-rw-r--r--TAO/CIAO/examples/handcrafted/BasicSP/EC/EC_svnt.cpp895
-rw-r--r--TAO/CIAO/examples/handcrafted/BasicSP/EC/EC_svnt.h391
-rw-r--r--TAO/CIAO/examples/handcrafted/BasicSP/EC/EC_svnt_export.h50
-rw-r--r--TAO/CIAO/examples/handcrafted/BasicSP/EC/README9
-rw-r--r--TAO/CIAO/examples/handcrafted/BasicSP/EC/client.cpp72
-rw-r--r--TAO/CIAO/examples/handcrafted/BasicSP/EC/config1
-rw-r--r--TAO/CIAO/examples/handcrafted/BasicSP/EC/controller.cpp125
-rw-r--r--TAO/CIAO/examples/handcrafted/BasicSP/README9
-rw-r--r--TAO/CIAO/examples/handcrafted/BasicSP/descriptors/BMClosedED.csd45
-rw-r--r--TAO/CIAO/examples/handcrafted/BasicSP/descriptors/BMClosedED.ssd43
-rw-r--r--TAO/CIAO/examples/handcrafted/BasicSP/descriptors/BMDevice.csd46
-rw-r--r--TAO/CIAO/examples/handcrafted/BasicSP/descriptors/BMDevice.ssd43
-rw-r--r--TAO/CIAO/examples/handcrafted/BasicSP/descriptors/BMDisplay.csd46
-rw-r--r--TAO/CIAO/examples/handcrafted/BasicSP/descriptors/BMDisplay.ssd43
-rw-r--r--TAO/CIAO/examples/handcrafted/BasicSP/descriptors/BasicSP.cad109
-rw-r--r--TAO/CIAO/examples/handcrafted/BasicSP/descriptors/CIAO_Installation_Data.ini9
-rw-r--r--TAO/CIAO/examples/handcrafted/BasicSP/descriptors/EC.csd46
-rw-r--r--TAO/CIAO/examples/handcrafted/BasicSP/descriptors/EC.ssd43
-rw-r--r--TAO/CIAO/examples/handcrafted/BasicSP/descriptors/test.dat2
-rw-r--r--TAO/CIAO/examples/handcrafted/Display/Configuration-0.pngbin8334 -> 0 bytes
-rw-r--r--TAO/CIAO/examples/handcrafted/Display/GPS/GPS.idl25
-rw-r--r--TAO/CIAO/examples/handcrafted/Display/GPS/GPS.mpc74
-rw-r--r--TAO/CIAO/examples/handcrafted/Display/GPS/GPSE.idl75
-rw-r--r--TAO/CIAO/examples/handcrafted/Display/GPS/GPSEI.idl33
-rw-r--r--TAO/CIAO/examples/handcrafted/Display/GPS/GPS_exec.cpp131
-rw-r--r--TAO/CIAO/examples/handcrafted/Display/GPS/GPS_exec.h127
-rw-r--r--TAO/CIAO/examples/handcrafted/Display/GPS/GPS_exec_export.h50
-rw-r--r--TAO/CIAO/examples/handcrafted/Display/GPS/GPS_stub_export.h50
-rw-r--r--TAO/CIAO/examples/handcrafted/Display/GPS/GPS_svnt.cpp857
-rw-r--r--TAO/CIAO/examples/handcrafted/Display/GPS/GPS_svnt.h482
-rw-r--r--TAO/CIAO/examples/handcrafted/Display/GPS/GPS_svnt.inl197
-rw-r--r--TAO/CIAO/examples/handcrafted/Display/GPS/GPS_svnt_export.h50
-rw-r--r--TAO/CIAO/examples/handcrafted/Display/GPS/GPS_tracing_exec.cpp137
-rw-r--r--TAO/CIAO/examples/handcrafted/Display/GPS/GPS_tracing_exec.h125
-rw-r--r--TAO/CIAO/examples/handcrafted/Display/HUDisplay.idl48
-rw-r--r--TAO/CIAO/examples/handcrafted/Display/HUDisplay.mpc36
-rw-r--r--TAO/CIAO/examples/handcrafted/Display/HUDisplayE.idl47
-rw-r--r--TAO/CIAO/examples/handcrafted/Display/HUDisplay_stub_export.h50
-rw-r--r--TAO/CIAO/examples/handcrafted/Display/HUDisplay_svnt.cpp35
-rw-r--r--TAO/CIAO/examples/handcrafted/Display/HUDisplay_svnt.h75
-rw-r--r--TAO/CIAO/examples/handcrafted/Display/HUDisplay_svnt.inl41
-rw-r--r--TAO/CIAO/examples/handcrafted/Display/HUDisplay_svnt_export.h50
-rw-r--r--TAO/CIAO/examples/handcrafted/Display/NOTE54
-rw-r--r--TAO/CIAO/examples/handcrafted/Display/NavDisplay/NavDisplay.idl29
-rw-r--r--TAO/CIAO/examples/handcrafted/Display/NavDisplay/NavDisplay.mpc58
-rw-r--r--TAO/CIAO/examples/handcrafted/Display/NavDisplay/NavDisplayE.idl72
-rw-r--r--TAO/CIAO/examples/handcrafted/Display/NavDisplay/NavDisplayEI.idl32
-rw-r--r--TAO/CIAO/examples/handcrafted/Display/NavDisplay/NavDisplay_exec.cpp128
-rw-r--r--TAO/CIAO/examples/handcrafted/Display/NavDisplay/NavDisplay_exec.h101
-rw-r--r--TAO/CIAO/examples/handcrafted/Display/NavDisplay/NavDisplay_exec_export.h50
-rw-r--r--TAO/CIAO/examples/handcrafted/Display/NavDisplay/NavDisplay_stub_export.h50
-rw-r--r--TAO/CIAO/examples/handcrafted/Display/NavDisplay/NavDisplay_svnt.cpp797
-rw-r--r--TAO/CIAO/examples/handcrafted/Display/NavDisplay/NavDisplay_svnt.h485
-rw-r--r--TAO/CIAO/examples/handcrafted/Display/NavDisplay/NavDisplay_svnt.inl202
-rw-r--r--TAO/CIAO/examples/handcrafted/Display/NavDisplay/NavDisplay_svnt_export.h50
-rw-r--r--TAO/CIAO/examples/handcrafted/Display/NavDisplay/run_test.pl108
-rw-r--r--TAO/CIAO/examples/handcrafted/Display/NavDisplayGUI_exec/AddNavUnitCmd.cpp28
-rw-r--r--TAO/CIAO/examples/handcrafted/Display/NavDisplayGUI_exec/AddNavUnitCmd.h27
-rw-r--r--TAO/CIAO/examples/handcrafted/Display/NavDisplayGUI_exec/Command.h20
-rw-r--r--TAO/CIAO/examples/handcrafted/Display/NavDisplayGUI_exec/DetailView.cpp165
-rw-r--r--TAO/CIAO/examples/handcrafted/Display/NavDisplayGUI_exec/DetailView.h51
-rw-r--r--TAO/CIAO/examples/handcrafted/Display/NavDisplayGUI_exec/MapView.cpp38
-rw-r--r--TAO/CIAO/examples/handcrafted/Display/NavDisplayGUI_exec/MapView.h23
-rw-r--r--TAO/CIAO/examples/handcrafted/Display/NavDisplayGUI_exec/NavDisplayGUI.mpc54
-rw-r--r--TAO/CIAO/examples/handcrafted/Display/NavDisplayGUI_exec/NavDisplayGUI_exec.cpp184
-rw-r--r--TAO/CIAO/examples/handcrafted/Display/NavDisplayGUI_exec/NavDisplayGUI_exec.h110
-rw-r--r--TAO/CIAO/examples/handcrafted/Display/NavDisplayGUI_exec/NavUnit.cpp9
-rw-r--r--TAO/CIAO/examples/handcrafted/Display/NavDisplayGUI_exec/NavUnit.h57
-rw-r--r--TAO/CIAO/examples/handcrafted/Display/NavDisplayGUI_exec/NodeItem.cpp63
-rw-r--r--TAO/CIAO/examples/handcrafted/Display/NavDisplayGUI_exec/NodeItem.h49
-rw-r--r--TAO/CIAO/examples/handcrafted/Display/NavDisplayGUI_exec/QuitCmd.cpp25
-rw-r--r--TAO/CIAO/examples/handcrafted/Display/NavDisplayGUI_exec/QuitCmd.h25
-rw-r--r--TAO/CIAO/examples/handcrafted/Display/NavDisplayGUI_exec/README7
-rw-r--r--TAO/CIAO/examples/handcrafted/Display/NavDisplayGUI_exec/RootPanel.cpp90
-rw-r--r--TAO/CIAO/examples/handcrafted/Display/NavDisplayGUI_exec/RootPanel.h45
-rw-r--r--TAO/CIAO/examples/handcrafted/Display/NavDisplayGUI_exec/UpdatePositionCmd.cpp30
-rw-r--r--TAO/CIAO/examples/handcrafted/Display/NavDisplayGUI_exec/UpdatePositionCmd.h28
-rw-r--r--TAO/CIAO/examples/handcrafted/Display/NavDisplayGUI_exec/Worker.cpp48
-rw-r--r--TAO/CIAO/examples/handcrafted/Display/NavDisplayGUI_exec/Worker.h35
-rw-r--r--TAO/CIAO/examples/handcrafted/Display/NavDisplayGUI_exec/trolltech.gifbin42629 -> 0 bytes
-rw-r--r--TAO/CIAO/examples/handcrafted/Display/NavDisplayGUI_exec/worldmap1.gifbin207612 -> 0 bytes
-rw-r--r--TAO/CIAO/examples/handcrafted/Display/NavDisplayGUI_exec/worldmap1.xpm651
-rw-r--r--TAO/CIAO/examples/handcrafted/Display/README30
-rw-r--r--TAO/CIAO/examples/handcrafted/Display/RateGen/RateGen.cidl12
-rw-r--r--TAO/CIAO/examples/handcrafted/Display/RateGen/RateGen.idl34
-rw-r--r--TAO/CIAO/examples/handcrafted/Display/RateGen/RateGen.mpc86
-rw-r--r--TAO/CIAO/examples/handcrafted/Display/RateGen/RateGenE.idl68
-rw-r--r--TAO/CIAO/examples/handcrafted/Display/RateGen/RateGenEI.idl31
-rw-r--r--TAO/CIAO/examples/handcrafted/Display/RateGen/RateGen_exec.cpp279
-rw-r--r--TAO/CIAO/examples/handcrafted/Display/RateGen/RateGen_exec.h180
-rw-r--r--TAO/CIAO/examples/handcrafted/Display/RateGen/RateGen_exec_export.h50
-rw-r--r--TAO/CIAO/examples/handcrafted/Display/RateGen/RateGen_stub_export.h50
-rw-r--r--TAO/CIAO/examples/handcrafted/Display/RateGen/RateGen_svnt.cpp725
-rw-r--r--TAO/CIAO/examples/handcrafted/Display/RateGen/RateGen_svnt.h400
-rw-r--r--TAO/CIAO/examples/handcrafted/Display/RateGen/RateGen_svnt.inl224
-rw-r--r--TAO/CIAO/examples/handcrafted/Display/RateGen/RateGen_svnt_export.h50
-rw-r--r--TAO/CIAO/examples/handcrafted/Display/RateGen/client.cpp66
-rw-r--r--TAO/CIAO/examples/handcrafted/Display/RateGen/controller.cpp121
-rw-r--r--TAO/CIAO/examples/handcrafted/Display/RateGen/run_test.pl112
-rwxr-xr-xTAO/CIAO/examples/handcrafted/Display/cleanup_mpcfiles.cmd1
-rw-r--r--TAO/CIAO/examples/handcrafted/Display/descriptors/CIAO_Installation_Data.ini9
-rw-r--r--TAO/CIAO/examples/handcrafted/Display/descriptors/DuelDisplay.cad114
-rw-r--r--TAO/CIAO/examples/handcrafted/Display/descriptors/GPS.csd64
-rw-r--r--TAO/CIAO/examples/handcrafted/Display/descriptors/GPS.ssd48
-rw-r--r--TAO/CIAO/examples/handcrafted/Display/descriptors/GPS_tracing.csd64
-rw-r--r--TAO/CIAO/examples/handcrafted/Display/descriptors/HUDisplay.cad82
-rw-r--r--TAO/CIAO/examples/handcrafted/Display/descriptors/HUDisplayGUI.cad82
-rw-r--r--TAO/CIAO/examples/handcrafted/Display/descriptors/NOTE.txt141
-rw-r--r--TAO/CIAO/examples/handcrafted/Display/descriptors/NavDisplay.csd64
-rw-r--r--TAO/CIAO/examples/handcrafted/Display/descriptors/NavDisplay.ssd48
-rw-r--r--TAO/CIAO/examples/handcrafted/Display/descriptors/NavDisplayGUI.csd64
-rw-r--r--TAO/CIAO/examples/handcrafted/Display/descriptors/RateGen.csd64
-rw-r--r--TAO/CIAO/examples/handcrafted/Display/descriptors/RateGen.ssd48
-rw-r--r--TAO/CIAO/examples/handcrafted/Display/descriptors/RemoteDisplay.cad84
-rw-r--r--TAO/CIAO/examples/handcrafted/Display/descriptors/RemoteDisplayGUI.cad84
-rw-r--r--TAO/CIAO/examples/handcrafted/Display/descriptors/test.dat2
-rw-r--r--TAO/CIAO/examples/handcrafted/Hello/CIAO_Installation_Data.ini3
-rw-r--r--TAO/CIAO/examples/handcrafted/Hello/README131
-rw-r--r--TAO/CIAO/examples/handcrafted/Hello/client.cpp116
-rw-r--r--TAO/CIAO/examples/handcrafted/Hello/config1
-rw-r--r--TAO/CIAO/examples/handcrafted/Hello/hello.ccd70
-rw-r--r--TAO/CIAO/examples/handcrafted/Hello/hello.cidl17
-rw-r--r--TAO/CIAO/examples/handcrafted/Hello/hello.csd75
-rw-r--r--TAO/CIAO/examples/handcrafted/Hello/hello.idl19
-rw-r--r--TAO/CIAO/examples/handcrafted/Hello/hello.mpc76
-rw-r--r--TAO/CIAO/examples/handcrafted/Hello/hello.ssd53
-rw-r--r--TAO/CIAO/examples/handcrafted/Hello/helloC.idl38
-rw-r--r--TAO/CIAO/examples/handcrafted/Hello/helloE.idl50
-rw-r--r--TAO/CIAO/examples/handcrafted/Hello/hello_executors.cpp52
-rw-r--r--TAO/CIAO/examples/handcrafted/Hello/hello_executors.h53
-rw-r--r--TAO/CIAO/examples/handcrafted/Hello/hello_executors_export.h50
-rw-r--r--TAO/CIAO/examples/handcrafted/Hello/hello_servants.cpp717
-rw-r--r--TAO/CIAO/examples/handcrafted/Hello/hello_servants.h312
-rw-r--r--TAO/CIAO/examples/handcrafted/Hello/hello_servants_export.h50
-rw-r--r--TAO/CIAO/examples/handcrafted/Hello/hello_stub_export.h50
-rwxr-xr-xTAO/CIAO/examples/handcrafted/Hello/run_simple_test.pl47
-rwxr-xr-xTAO/CIAO/examples/handcrafted/Hello/run_test.pl110
-rw-r--r--TAO/CIAO/examples/handcrafted/Hello/simple_client.cpp102
-rw-r--r--TAO/CIAO/examples/handcrafted/Philosophers/Philosophers.idl75
-rw-r--r--TAO/CIAO/examples/handcrafted/Philosophers/PhilosophersC.idl52
-rw-r--r--TAO/CIAO/examples/handcrafted/Philosophers/PhilosophersS.idl56
-rw-r--r--TAO/CIAO/tests/temp/README3
-rw-r--r--TAO/CIAO/tests/temp/assembly/README4
-rw-r--r--TAO/CIAO/tests/temp/assembly/client.cpp120
-rw-r--r--TAO/CIAO/tests/temp/assembly/control.idl13
-rw-r--r--TAO/CIAO/tests/temp/assembly/control.mpc18
-rw-r--r--TAO/CIAO/tests/temp/assembly/run_test.pl42
-rw-r--r--TAO/CIAO/tests/temp/assembly/server.cpp169
-rw-r--r--TAO/CIAO/tools/Assembly_Deployer/Assembly_Deployer.cpp125
-rw-r--r--TAO/CIAO/tools/Assembly_Deployer/Assembly_Deployer.mpc23
-rw-r--r--TAO/CIAO/tools/Assembly_Deployer/Assembly_Impl.cpp509
-rw-r--r--TAO/CIAO/tools/Assembly_Deployer/Assembly_Impl.h201
-rw-r--r--TAO/CIAO/tools/Assembly_Deployer/Assembly_Impl.inl28
-rw-r--r--TAO/CIAO/tools/Assembly_Deployer/Assembly_Manager.cpp219
-rw-r--r--TAO/CIAO/tools/Assembly_Deployer/Assembly_Service.idl15
-rw-r--r--TAO/CIAO/tools/Assembly_Deployer/Assembly_Service_Impl.cpp36
-rw-r--r--TAO/CIAO/tools/Assembly_Deployer/Assembly_Service_Impl.h63
-rw-r--r--TAO/CIAO/tools/Assembly_Deployer/Assembly_Visitors.cpp336
-rw-r--r--TAO/CIAO/tools/Assembly_Deployer/Assembly_Visitors.h135
-rw-r--r--TAO/CIAO/tools/Assembly_Deployer/Assembly_Visitors.inl13
-rw-r--r--TAO/CIAO/tools/Assembly_Deployer/Deployment_Configuration.cpp118
-rw-r--r--TAO/CIAO/tools/Assembly_Deployer/Deployment_Configuration.h126
-rw-r--r--TAO/CIAO/tools/Assembly_Deployer/Deployment_Configuration.inl1
-rw-r--r--TAO/CIAO/tools/ComponentServer/ComponentServer.cpp196
-rw-r--r--TAO/CIAO/tools/ComponentServer/ComponentServer.mpc17
-rw-r--r--TAO/CIAO/tools/ComponentServer/ComponentServer_test_client.cpp114
-rw-r--r--TAO/CIAO/tools/ComponentServer/README15
-rw-r--r--TAO/CIAO/tools/Daemon/CIAO_Daemon.cpp246
-rw-r--r--TAO/CIAO/tools/Daemon/CIAO_Installation_Data.ini1
-rw-r--r--TAO/CIAO/tools/Daemon/Daemon.idl28
-rw-r--r--TAO/CIAO/tools/Daemon/Daemon.mpc35
-rw-r--r--TAO/CIAO/tools/Daemon/DaemonController.cpp56
-rw-r--r--TAO/CIAO/tools/Daemon/Daemon_Commands.cpp348
-rw-r--r--TAO/CIAO/tools/Daemon/Daemon_Commands.h163
-rw-r--r--TAO/CIAO/tools/Daemon/Daemon_Commands.inl38
-rw-r--r--TAO/CIAO/tools/Daemon/Daemon_Impl.cpp113
-rw-r--r--TAO/CIAO/tools/Daemon/Daemon_Impl.h104
-rw-r--r--TAO/CIAO/tools/Daemon/Daemon_Impl.inl12
-rw-r--r--TAO/CIAO/tools/Daemon/README99
-rw-r--r--TAO/CIAO/tools/Daemon/Softpkg_Commands.cpp223
-rw-r--r--TAO/CIAO/tools/Daemon/Softpkg_Commands.h89
-rw-r--r--TAO/CIAO/tools/Daemon/Softpkg_Commands.inl14
-rw-r--r--TAO/CIAO/tools/Daemon/controller_i.cpp138
-rw-r--r--TAO/CIAO/tools/Daemon/controller_i.h119
-rw-r--r--TAO/CIAO/tools/Daemon/controller_i.inl32
-rw-r--r--TAO/CIAO/tools/ServerActivator/README47
-rw-r--r--TAO/CIAO/tools/ServerActivator/ServerActivator.cpp179
-rw-r--r--TAO/CIAO/tools/ServerActivator/ServerActivator.mpc15
-rw-r--r--TAO/CIAO/tools/ServerActivator/ServerActivator_test_client.cpp177
-rw-r--r--TAO/CIAO/tools/Simple_Component_Server/Makefile46
-rw-r--r--TAO/CIAO/tools/Simple_Component_Server/README72
-rw-r--r--TAO/CIAO/tools/Simple_Component_Server/Simple_Component_Server.cpp259
-rw-r--r--TAO/CIAO/tools/Simple_Component_Server/Simple_Component_Server.mpc40
-rw-r--r--TAO/CIAO/tools/Simple_Component_Server/Simple_Server.idl25
-rw-r--r--TAO/CIAO/tools/Simple_Component_Server/Simple_Server_Stub_Export.h50
-rw-r--r--TAO/CIAO/tools/Simple_Component_Server/Simple_Server_i.cpp56
-rw-r--r--TAO/CIAO/tools/Simple_Component_Server/Simple_Server_i.h70
-rw-r--r--TAO/CIAO/tools/Simple_Component_Server/sample_client.cpp82
-rw-r--r--TAO/CIAO/tools/XML_Helpers/Assembly_Handlers.cpp924
-rw-r--r--TAO/CIAO/tools/XML_Helpers/Assembly_Handlers.h323
-rw-r--r--TAO/CIAO/tools/XML_Helpers/Assembly_Handlers.inl117
-rw-r--r--TAO/CIAO/tools/XML_Helpers/Assembly_Spec.cpp101
-rw-r--r--TAO/CIAO/tools/XML_Helpers/Assembly_Spec.h395
-rw-r--r--TAO/CIAO/tools/XML_Helpers/Assembly_Spec.inl189
-rw-r--r--TAO/CIAO/tools/XML_Helpers/Cascadable_DocHandler.cpp161
-rw-r--r--TAO/CIAO/tools/XML_Helpers/Cascadable_DocHandler.h252
-rw-r--r--TAO/CIAO/tools/XML_Helpers/Cascadable_DocHandler.i55
-rw-r--r--TAO/CIAO/tools/XML_Helpers/Handler-Interaction.pngbin3320 -> 0 bytes
-rw-r--r--TAO/CIAO/tools/XML_Helpers/Handler-Interaction.vsdbin196096 -> 0 bytes
-rw-r--r--TAO/CIAO/tools/XML_Helpers/README16
-rw-r--r--TAO/CIAO/tools/XML_Helpers/Softpkg_Handlers.cpp275
-rw-r--r--TAO/CIAO/tools/XML_Helpers/Softpkg_Handlers.h196
-rw-r--r--TAO/CIAO/tools/XML_Helpers/Softpkg_Handlers.inl26
-rw-r--r--TAO/CIAO/tools/XML_Helpers/Svcconf_Handler.cpp524
-rw-r--r--TAO/CIAO/tools/XML_Helpers/Svcconf_Handler.h296
-rw-r--r--TAO/CIAO/tools/XML_Helpers/Svcconf_Handler.i133
-rw-r--r--TAO/CIAO/tools/XML_Helpers/XMLHelpers.mpc21
-rw-r--r--TAO/CIAO/tools/XML_Helpers/XML_Helpers_Export.h50
-rw-r--r--TAO/CIAO/tools/XML_Helpers/XML_Utils.cpp181
-rw-r--r--TAO/CIAO/tools/XML_Helpers/XML_Utils.h70
-rw-r--r--TAO/CIAO/tools/XML_Helpers/XML_Utils.inl1
-rw-r--r--TAO/CIAO/tools/XML_Helpers/main.cpp59
-rw-r--r--TAO/CIAO/tools/XML_Helpers/svc.conf.xml58
-rw-r--r--TAO/man/man1/TAO_Concurrency_Service.153
-rw-r--r--TAO/man/man1/TAO_CosEvent_Service.188
-rw-r--r--TAO/man/man1/TAO_Event_Service.158
-rw-r--r--TAO/man/man1/tao_idl.1167
-rw-r--r--TAO/man/man7/TAO.7386
-rw-r--r--TAO/performance-tests/AMI_Latency/Roundtrip.cpp26
-rw-r--r--TAO/performance-tests/AMI_Latency/Roundtrip.h46
-rw-r--r--TAO/performance-tests/AMI_Latency/Roundtrip_Handler.cpp75
-rw-r--r--TAO/performance-tests/AMI_Latency/Roundtrip_Handler.h61
-rw-r--r--TAO/performance-tests/AMI_Latency/Server_Task.cpp24
-rw-r--r--TAO/performance-tests/AMI_Latency/client.cpp185
-rw-r--r--TAO/performance-tests/AMI_Latency/server.cpp155
-rw-r--r--TAO/performance-tests/DII_Latency/Roundtrip.cpp26
-rw-r--r--TAO/performance-tests/DII_Latency/Roundtrip.h46
-rw-r--r--TAO/performance-tests/DII_Latency/client.cpp178
-rw-r--r--TAO/performance-tests/DII_Latency/server.cpp136
-rw-r--r--TAO/performance-tests/DSI_Latency/Roundtrip.cpp97
-rw-r--r--TAO/performance-tests/DSI_Latency/Roundtrip.h48
-rw-r--r--TAO/performance-tests/DSI_Latency/client.cpp163
-rw-r--r--TAO/performance-tests/DSI_Latency/server.cpp142
-rw-r--r--TAO/performance-tests/Deferred_Latency/Roundtrip.cpp26
-rw-r--r--TAO/performance-tests/Deferred_Latency/Roundtrip.h46
-rw-r--r--TAO/performance-tests/Deferred_Latency/client.cpp203
-rw-r--r--TAO/performance-tests/Deferred_Latency/server.cpp136
-rw-r--r--TAO/performance-tests/RTCorba/Multiple_Endpoints/Endpoint_Per_Priority/Makefile616
-rw-r--r--TAO/performance-tests/Single_Threaded_Latency/Roundtrip.cpp26
-rw-r--r--TAO/performance-tests/Single_Threaded_Latency/Roundtrip.h46
-rw-r--r--TAO/performance-tests/Single_Threaded_Latency/client.cpp164
-rw-r--r--TAO/performance-tests/Single_Threaded_Latency/server.cpp136
-rw-r--r--TAO/performance-tests/Thread_Per_Connection_Latency/Client_Task.cpp65
-rw-r--r--TAO/performance-tests/Thread_Per_Connection_Latency/Client_Task.h46
-rw-r--r--TAO/performance-tests/Thread_Per_Connection_Latency/Roundtrip.cpp26
-rw-r--r--TAO/performance-tests/Thread_Per_Connection_Latency/Roundtrip.h46
-rw-r--r--TAO/performance-tests/Thread_Per_Connection_Latency/client.cpp149
-rw-r--r--TAO/performance-tests/Thread_Per_Connection_Latency/server.cpp136
-rw-r--r--TAO/performance-tests/Thread_Pool_Latency/Client_Task.cpp65
-rw-r--r--TAO/performance-tests/Thread_Pool_Latency/Client_Task.h46
-rw-r--r--TAO/performance-tests/Thread_Pool_Latency/Roundtrip.cpp26
-rw-r--r--TAO/performance-tests/Thread_Pool_Latency/Roundtrip.h46
-rw-r--r--TAO/performance-tests/Thread_Pool_Latency/Worker_Thread.cpp24
-rw-r--r--TAO/performance-tests/Thread_Pool_Latency/client.cpp149
-rw-r--r--TAO/performance-tests/Thread_Pool_Latency/server.cpp139
-rw-r--r--bin/MakeProjectCreator/config/taoversion.mpb2
-rw-r--r--configure.ac7396
-rw-r--r--java/ChangeLog143
-rw-r--r--java/EAC/BoundsException.java13
-rw-r--r--java/EAC/Configuration.java220
-rw-r--r--java/EAC/Configurator.java58
-rw-r--r--java/EAC/ConnectionException.java14
-rw-r--r--java/EAC/Connector.java197
-rw-r--r--java/EAC/EACComponent.java460
-rw-r--r--java/EAC/EACFont.java21
-rw-r--r--java/EAC/EACLabel.java187
-rw-r--r--java/EAC/EACMenuBar.java198
-rw-r--r--java/EAC/EACPanel.java425
-rw-r--r--java/EAC/EACPrintStream.java16
-rw-r--r--java/EAC/EmptyQueueException.java13
-rw-r--r--java/EAC/File.java118
-rw-r--r--java/EAC/InputMode.java32
-rw-r--r--java/EAC/Intersection.java62
-rw-r--r--java/EAC/Operator.java206
-rw-r--r--java/EAC/Primitive.java121
-rw-r--r--java/EAC/Queue.java94
-rw-r--r--java/EAC/README6
-rw-r--r--java/EAC/ResourcePool.java46
-rw-r--r--java/EAC/Rubberband.java103
-rw-r--r--java/EAC/RubberbandLine.java28
-rw-r--r--java/EAC/Sink.java231
-rw-r--r--java/EAC/Source.java341
-rw-r--r--java/EAC/System_Manual.docbin83968 -> 0 bytes
-rw-r--r--java/EAC/TooManyPrimitivesException.java13
-rw-r--r--java/EAC/Union.java56
-rw-r--r--java/EAC/User_Manual.docbin95232 -> 0 bytes
-rw-r--r--java/ImageProcessing/ImageProcessing.dsp253
-rw-r--r--java/ImageProcessing/ImageProcessing.dsw29
-rw-r--r--java/ImageProcessing/filters/Assert.java33
-rw-r--r--java/ImageProcessing/filters/BleachFilter.java65
-rw-r--r--java/ImageProcessing/filters/BlurFilter.java95
-rw-r--r--java/ImageProcessing/filters/DarkenFilter.java48
-rw-r--r--java/ImageProcessing/filters/DeSpeckleFilter.java123
-rw-r--r--java/ImageProcessing/filters/DissolveFilter.java52
-rw-r--r--java/ImageProcessing/filters/EdgeDetectFilter.java250
-rw-r--r--java/ImageProcessing/filters/EmbossFilter.java86
-rw-r--r--java/ImageProcessing/filters/Makefile36
-rw-r--r--java/ImageProcessing/filters/MedFilter.java6
-rw-r--r--java/ImageProcessing/filters/OilPaintFilter.java97
-rw-r--r--java/ImageProcessing/filters/PixelizeFilter.java117
-rw-r--r--java/ImageProcessing/filters/RandomizeFilter.java36
-rw-r--r--java/ImageProcessing/filters/RotateFilter.java358
-rw-r--r--java/ImageProcessing/filters/SharpenFilter.java272
-rw-r--r--java/ImageProcessing/filters/SpatialFilter.java213
-rw-r--r--java/ImageProcessing/filters/SpreadFilter.java130
-rw-r--r--java/ImageProcessing/filters/Timer.java23
-rw-r--r--java/ImageProcessing/framework/BaseButton.java234
-rw-r--r--java/ImageProcessing/framework/BenchmarkApplet.java622
-rw-r--r--java/ImageProcessing/framework/DialogManager.java277
-rw-r--r--java/ImageProcessing/framework/DialogType.java11
-rw-r--r--java/ImageProcessing/framework/FileBrowser.java173
-rw-r--r--java/ImageProcessing/framework/FilePanel.java161
-rw-r--r--java/ImageProcessing/framework/FilterTest.java62
-rw-r--r--java/ImageProcessing/framework/GIFHandler.java75
-rw-r--r--java/ImageProcessing/framework/GifEncoder.java693
-rw-r--r--java/ImageProcessing/framework/Hierarchy.java347
-rw-r--r--java/ImageProcessing/framework/HierarchyAdapter.java34
-rw-r--r--java/ImageProcessing/framework/Icon.java70
-rw-r--r--java/ImageProcessing/framework/ImageApp.java303
-rw-r--r--java/ImageProcessing/framework/ImageByteCounter.java94
-rw-r--r--java/ImageProcessing/framework/ImageCanvas.java166
-rw-r--r--java/ImageProcessing/framework/ImageEncoder.java271
-rw-r--r--java/ImageProcessing/framework/ImageProcessor.java111
-rw-r--r--java/ImageProcessing/framework/ImageSender.java128
-rw-r--r--java/ImageProcessing/framework/IntHashtable.java396
-rw-r--r--java/ImageProcessing/framework/ListFiles.java167
-rwxr-xr-xjava/ImageProcessing/framework/LoadURLFrame.java142
-rw-r--r--java/ImageProcessing/framework/Makefile45
-rw-r--r--java/ImageProcessing/framework/MedJava.html15
-rw-r--r--java/ImageProcessing/framework/Options.java25
-rwxr-xr-xjava/ImageProcessing/framework/SaveURLFrame.java133
-rw-r--r--java/ImageProcessing/framework/Separator.java90
-rw-r--r--java/ImageProcessing/framework/ServerHandler.java50
-rw-r--r--java/ImageProcessing/framework/ServerTest.java67
-rw-r--r--java/ImageProcessing/framework/StatusDisplay.java23
-rw-r--r--java/ImageProcessing/framework/StatusIndicator.java70
-rw-r--r--java/ImageProcessing/framework/TestHandler.java149
-rw-r--r--java/ImageProcessing/framework/Tester.java148
-rw-r--r--java/ImageProcessing/framework/doc01.gifbin223 -> 0 bytes
-rw-r--r--java/ImageProcessing/framework/file03.gifbin267 -> 0 bytes
-rw-r--r--java/ImageProcessing/framework/filter.conf15
-rw-r--r--java/ImageProcessing/framework/help.conf216
-rw-r--r--java/ImageProcessing/framework/test.html20
-rw-r--r--java/ImageProcessing/framework/testFilter.conf15
-rw-r--r--java/JACE/ASX/IOCntlCmds.java38
-rw-r--r--java/JACE/ASX/IOCntlMsg.java124
-rw-r--r--java/JACE/ASX/MessageBlock.java447
-rw-r--r--java/JACE/ASX/MessageQueue.java633
-rw-r--r--java/JACE/ASX/MessageType.java102
-rw-r--r--java/JACE/ASX/Module.java246
-rw-r--r--java/JACE/ASX/Stream.java436
-rw-r--r--java/JACE/ASX/StreamHead.java123
-rw-r--r--java/JACE/ASX/StreamTail.java114
-rw-r--r--java/JACE/ASX/Task.java443
-rw-r--r--java/JACE/ASX/TaskFlags.java49
-rw-r--r--java/JACE/ASX/ThruTask.java44
-rw-r--r--java/JACE/ASX/TimeValue.java296
-rw-r--r--java/JACE/ASX/TimedWait.java157
-rw-r--r--java/JACE/ASX/TimeoutException.java37
-rw-r--r--java/JACE/ASX/package.html11
-rw-r--r--java/JACE/Concurrency/AbstractLock.java269
-rw-r--r--java/JACE/Concurrency/Condition.java124
-rw-r--r--java/JACE/Concurrency/LockAdapter.java262
-rw-r--r--java/JACE/Concurrency/LockException.java28
-rw-r--r--java/JACE/Concurrency/Mutex.java239
-rw-r--r--java/JACE/Concurrency/RWMutex.java268
-rw-r--r--java/JACE/Concurrency/RenewObject.java36
-rw-r--r--java/JACE/Concurrency/Semaphore.java263
-rw-r--r--java/JACE/Concurrency/ThreadManager.java113
-rw-r--r--java/JACE/Concurrency/Token.java301
-rw-r--r--java/JACE/Concurrency/WaitObject.java39
-rw-r--r--java/JACE/Concurrency/package.html15
-rw-r--r--java/JACE/Connection/AcceptStrategy.java87
-rw-r--r--java/JACE/Connection/Acceptor.java215
-rw-r--r--java/JACE/Connection/ActivateStrategy.java40
-rw-r--r--java/JACE/Connection/Blob.java114
-rw-r--r--java/JACE/Connection/BlobHandler.java35
-rw-r--r--java/JACE/Connection/BlobReader.java108
-rw-r--r--java/JACE/Connection/BlobWriter.java224
-rw-r--r--java/JACE/Connection/Connector.java148
-rw-r--r--java/JACE/Connection/CreationStrategy.java57
-rw-r--r--java/JACE/Connection/HTTPHelper.java182
-rw-r--r--java/JACE/Connection/StrategyAcceptor.java174
-rw-r--r--java/JACE/Connection/SvcHandler.java101
-rw-r--r--java/JACE/Connection/package.html7
-rw-r--r--java/JACE/Makefile234
-rw-r--r--java/JACE/Misc/GetOpt.java171
-rw-r--r--java/JACE/Misc/package.html6
-rw-r--r--java/JACE/OS/ACE.java156
-rw-r--r--java/JACE/OS/OS.java65
-rw-r--r--java/JACE/OS/package.html6
-rw-r--r--java/JACE/Reactor/EventHandler.java43
-rw-r--r--java/JACE/Reactor/TimerQueue.java437
-rw-r--r--java/JACE/Reactor/package.html6
-rw-r--r--java/JACE/SOCK_SAP/INETAddr.java96
-rw-r--r--java/JACE/SOCK_SAP/SOCKAcceptor.java113
-rw-r--r--java/JACE/SOCK_SAP/SOCKConnector.java73
-rw-r--r--java/JACE/SOCK_SAP/SOCKStream.java227
-rw-r--r--java/JACE/SOCK_SAP/package.html8
-rw-r--r--java/JACE/ServiceConfigurator/Service.java96
-rw-r--r--java/JACE/ServiceConfigurator/ServiceConfig.java482
-rw-r--r--java/JACE/ServiceConfigurator/ServiceLoader.java254
-rw-r--r--java/JACE/ServiceConfigurator/ServiceObject.java130
-rw-r--r--java/JACE/ServiceConfigurator/ServiceRepository.java274
-rw-r--r--java/JACE/ServiceConfigurator/package.html10
-rw-r--r--java/JACE/Timers/ProfileTimer.java46
-rw-r--r--java/JACE/Timers/package.html8
-rw-r--r--java/JACE/makebat.zipbin1326 -> 0 bytes
-rw-r--r--java/JACE/netsvcs/Handler.java185
-rw-r--r--java/JACE/netsvcs/Logger/LogRecord.java290
-rw-r--r--java/JACE/netsvcs/Logger/LoggingStrategy.java35
-rw-r--r--java/JACE/netsvcs/Logger/ServerLoggingAcceptor.java147
-rw-r--r--java/JACE/netsvcs/Logger/ServerLoggingHandler.java60
-rw-r--r--java/JACE/netsvcs/Logger/StderrStrategy.java36
-rw-r--r--java/JACE/netsvcs/Logger/c.bat2
-rw-r--r--java/JACE/netsvcs/Logger/package.html17
-rw-r--r--java/JACE/netsvcs/Naming/NameAcceptor.java313
-rw-r--r--java/JACE/netsvcs/Naming/NameHandler.java473
-rw-r--r--java/JACE/netsvcs/Naming/NameProxy.java405
-rw-r--r--java/JACE/netsvcs/Naming/NameReply.java169
-rw-r--r--java/JACE/netsvcs/Naming/NameRequest.java373
-rw-r--r--java/JACE/netsvcs/Naming/c.bat2
-rw-r--r--java/JACE/netsvcs/Naming/package.html11
-rw-r--r--java/JACE/netsvcs/Server.java356
-rw-r--r--java/JACE/netsvcs/Time/TSClerkHandler.java195
-rw-r--r--java/JACE/netsvcs/Time/TSClerkProcessor.java307
-rw-r--r--java/JACE/netsvcs/Time/TSServerAcceptor.java116
-rw-r--r--java/JACE/netsvcs/Time/TSServerHandler.java53
-rw-r--r--java/JACE/netsvcs/Time/TimeInfo.java90
-rw-r--r--java/JACE/netsvcs/Time/TimeRequest.java121
-rw-r--r--java/JACE/netsvcs/Time/c.bat1
-rw-r--r--java/JACE/netsvcs/Time/package.html10
-rw-r--r--java/JACE/netsvcs/Time/r.bat1
-rw-r--r--java/JACE/netsvcs/Token/LockHandler.java38
-rw-r--r--java/JACE/netsvcs/Token/LockHandlerAdapter.java380
-rw-r--r--java/JACE/netsvcs/Token/LockOperations.java16
-rw-r--r--java/JACE/netsvcs/Token/LockTypes.java19
-rw-r--r--java/JACE/netsvcs/Token/MutexHandler.java51
-rw-r--r--java/JACE/netsvcs/Token/RWMutexHandler.java54
-rw-r--r--java/JACE/netsvcs/Token/RemoteLock.java543
-rw-r--r--java/JACE/netsvcs/Token/RemoteMutex.java28
-rw-r--r--java/JACE/netsvcs/Token/RemoteRWMutex.java29
-rw-r--r--java/JACE/netsvcs/Token/TokenAcceptor.java353
-rw-r--r--java/JACE/netsvcs/Token/TokenReply.java171
-rw-r--r--java/JACE/netsvcs/Token/TokenRequest.java426
-rw-r--r--java/JACE/netsvcs/Token/TokenRequestHandler.java180
-rw-r--r--java/JACE/netsvcs/Token/package.html16
-rw-r--r--java/JACE/netsvcs/package.html11
-rw-r--r--java/JACE/overview.html84
-rw-r--r--java/JACE/package.html32
-rw-r--r--java/JACE/tests/ASX/BufferStreamTest.java189
-rw-r--r--java/JACE/tests/ASX/MessageQueueTest.java54
-rw-r--r--java/JACE/tests/ASX/PriorityBufferTest.java118
-rw-r--r--java/JACE/tests/ASX/TaskTest.java95
-rw-r--r--java/JACE/tests/ASX/ThreadPoolTest.java187
-rw-r--r--java/JACE/tests/Concurrency/Condition/Consumer.java75
-rw-r--r--java/JACE/tests/Concurrency/Condition/JoinableThreadGroup.java24
-rw-r--r--java/JACE/tests/Concurrency/Condition/Producer.java70
-rw-r--r--java/JACE/tests/Concurrency/Condition/QueueTest.java68
-rw-r--r--java/JACE/tests/Concurrency/Condition/SimpleMessageQueue.java86
-rw-r--r--java/JACE/tests/Concurrency/IterationTest.java235
-rw-r--r--java/JACE/tests/Concurrency/RWMutexTest.java137
-rw-r--r--java/JACE/tests/Concurrency/TimingTest.java290
-rw-r--r--java/JACE/tests/Concurrency/TokenTest.java95
-rw-r--r--java/JACE/tests/Connection/AcceptorTest.java83
-rw-r--r--java/JACE/tests/Connection/ClientHandler.java77
-rw-r--r--java/JACE/tests/Connection/ConnectorTest.java78
-rw-r--r--java/JACE/tests/Connection/HTTPHelperTest.java34
-rw-r--r--java/JACE/tests/Connection/ServerHandler.java68
-rw-r--r--java/JACE/tests/Makefile115
-rw-r--r--java/JACE/tests/Misc/ParseArgsTest.java48
-rw-r--r--java/JACE/tests/Reactor/TimeValueTest.java52
-rw-r--r--java/JACE/tests/Reactor/TimerQueueTest.java84
-rw-r--r--java/JACE/tests/SOCK_SAP/SOCKAcceptorTest.java110
-rw-r--r--java/JACE/tests/SOCK_SAP/SOCKConnectorTest.java97
-rw-r--r--java/JACE/tests/ServiceConfigurator/Main.java113
-rw-r--r--java/JACE/tests/ServiceConfigurator/svc.conf4
-rw-r--r--java/JACE/tests/netsvcs/Logger/LoggerTest.java115
-rw-r--r--java/JACE/tests/netsvcs/Naming/ClientTest.java107
-rw-r--r--java/JACE/tests/netsvcs/Time/TSClient.java37
-rw-r--r--java/JACE/tests/netsvcs/Token/ProxyClientTest.java200
-rw-r--r--java/MSVJProjects.zipbin35698 -> 0 bytes
-rw-r--r--java/README40
-rw-r--r--java/VERSION5
-rw-r--r--java/apps/NexusII/README58
-rw-r--r--java/apps/NexusII/classes/ClientHandler.classbin689 -> 0 bytes
-rw-r--r--java/apps/NexusII/classes/FrameHandler.classbin828 -> 0 bytes
-rw-r--r--java/apps/NexusII/classes/ImageCanvas.classbin1771 -> 0 bytes
-rw-r--r--java/apps/NexusII/classes/NexusClientApplet.classbin581 -> 0 bytes
-rw-r--r--java/apps/NexusII/classes/NexusIIserver.classbin1265 -> 0 bytes
-rw-r--r--java/apps/NexusII/classes/Room.classbin2049 -> 0 bytes
-rw-r--r--java/apps/NexusII/classes/RoomFactory.classbin751 -> 0 bytes
-rw-r--r--java/apps/NexusII/classes/RoomFrame.classbin186 -> 0 bytes
-rw-r--r--java/apps/NexusII/classes/RoomThread.classbin79 -> 0 bytes
-rw-r--r--java/apps/NexusII/classes/awtCommand/CApplet.classbin29 -> 0 bytes
-rw-r--r--java/apps/NexusII/classes/awtCommand/CApplet.java199
-rw-r--r--java/apps/NexusII/classes/awtCommand/CButton.classbin41 -> 0 bytes
-rw-r--r--java/apps/NexusII/classes/awtCommand/CButton.java41
-rw-r--r--java/apps/NexusII/classes/awtCommand/CCanvas.classbin2249 -> 0 bytes
-rw-r--r--java/apps/NexusII/classes/awtCommand/CCanvas.java381
-rw-r--r--java/apps/NexusII/classes/awtCommand/CFrame.classbin3543 -> 0 bytes
-rw-r--r--java/apps/NexusII/classes/awtCommand/CFrame.java486
-rw-r--r--java/apps/NexusII/classes/awtCommand/CList.classbin825 -> 0 bytes
-rw-r--r--java/apps/NexusII/classes/awtCommand/CList.java96
-rw-r--r--java/apps/NexusII/classes/awtCommand/CPanel.classbin2246 -> 0 bytes
-rw-r--r--java/apps/NexusII/classes/awtCommand/CPanel.java381
-rw-r--r--java/apps/NexusII/classes/awtCommand/CTextArea.classbin57 -> 0 bytes
-rw-r--r--java/apps/NexusII/classes/awtCommand/CTextArea.java93
-rw-r--r--java/apps/NexusII/classes/awtCommand/CTextField.classbin91 -> 0 bytes
-rw-r--r--java/apps/NexusII/classes/awtCommand/CTextField.java110
-rw-r--r--java/apps/NexusII/classes/awtCommand/Command.classbin253 -> 0 bytes
-rw-r--r--java/apps/NexusII/classes/awtCommand/Command.java25
-rw-r--r--java/apps/NexusII/classes/commandHandler.classbin58 -> 0 bytes
-rw-r--r--java/apps/NexusII/classes/commandParser.classbin1430 -> 0 bytes
-rw-r--r--java/apps/NexusII/classes/connectionHandler.classbin248 -> 0 bytes
-rw-r--r--java/apps/NexusII/classes/joinHandler.classbin2048 -> 0 bytes
-rw-r--r--java/apps/NexusII/classes/roomHandler.classbin1837 -> 0 bytes
-rw-r--r--java/apps/NexusII/classes/textHandler.classbin1752 -> 0 bytes
-rw-r--r--java/apps/NexusII/src/Consumer.java74
-rw-r--r--java/apps/NexusII/src/MT_Bounded_Queue.java226
-rw-r--r--java/apps/NexusII/src/MT_Bounded_Queue_Group.java79
-rw-r--r--java/apps/NexusII/src/NexusClientApplet.java494
-rw-r--r--java/apps/NexusII/src/NexusIIserver.java280
-rw-r--r--java/apps/NexusII/src/Producer.java87
-rw-r--r--java/apps/NexusII/src/Room.java97
-rw-r--r--java/apps/NexusII/src/RoomFrame.java297
-rw-r--r--java/apps/NexusII/src/RoomSpace.java110
-rw-r--r--java/apps/NexusII/src/Timed_Wait.java86
-rw-r--r--java/apps/NexusII/src/Timer.java31
-rw-r--r--java/apps/NexusII/src/commandHandler.java44
-rw-r--r--java/apps/NexusII/src/commandParser.java124
-rw-r--r--java/apps/NexusII/src/connectionHandler.java236
-rw-r--r--java/apps/NexusII/src/consts.java40
-rw-r--r--java/apps/NexusII/src/dataPacket.java124
-rw-r--r--java/apps/NexusII/src/joinHandler.java181
-rw-r--r--java/apps/NexusII/src/makefile15
-rw-r--r--java/apps/NexusII/src/nexusDemuxThread.java97
-rw-r--r--java/apps/NexusII/src/roomHandler.java125
-rw-r--r--java/apps/NexusII/src/socketReaderThread.java126
-rw-r--r--java/apps/NexusII/src/socketWriterThread.java119
-rw-r--r--java/apps/NexusII/src/url_to_url.java33
-rwxr-xr-xjava/apps/NexusII/start27
-rw-r--r--java/apps/NexusII/start.html4
-rw-r--r--java/classes/README.TXT2
-rw-r--r--java/doc/images/GridBagEx.gifbin2453 -> 0 bytes
-rw-r--r--java/doc/images/OpenBookIcon.gifbin2241 -> 0 bytes
-rw-r--r--java/doc/images/blue-ball-small.gifbin255 -> 0 bytes
-rw-r--r--java/doc/images/blue-ball.gifbin925 -> 0 bytes
-rw-r--r--java/doc/images/class-index.gifbin1497 -> 0 bytes
-rw-r--r--java/doc/images/constructor-index.gifbin1711 -> 0 bytes
-rw-r--r--java/doc/images/constructors.gifbin1565 -> 0 bytes
-rw-r--r--java/doc/images/cyan-ball-small.gifbin255 -> 0 bytes
-rw-r--r--java/doc/images/cyan-ball.gifbin925 -> 0 bytes
-rw-r--r--java/doc/images/error-index.gifbin1438 -> 0 bytes
-rw-r--r--java/doc/images/exception-index.gifbin1707 -> 0 bytes
-rw-r--r--java/doc/images/green-ball-small.gifbin102 -> 0 bytes
-rw-r--r--java/doc/images/green-ball.gifbin886 -> 0 bytes
-rw-r--r--java/doc/images/interface-index.gifbin1648 -> 0 bytes
-rw-r--r--java/doc/images/magenta-ball-small.gifbin104 -> 0 bytes
-rw-r--r--java/doc/images/magenta-ball.gifbin896 -> 0 bytes
-rw-r--r--java/doc/images/method-index.gifbin1588 -> 0 bytes
-rw-r--r--java/doc/images/methods.gifbin1403 -> 0 bytes
-rw-r--r--java/doc/images/package-index.gifbin1607 -> 0 bytes
-rw-r--r--java/doc/images/red-ball-small.gifbin255 -> 0 bytes
-rw-r--r--java/doc/images/red-ball.gifbin527 -> 0 bytes
-rw-r--r--java/doc/images/variable-index.gifbin1576 -> 0 bytes
-rw-r--r--java/doc/images/variables.gifbin1380 -> 0 bytes
-rw-r--r--java/doc/images/yellow-ball-small.gifbin255 -> 0 bytes
-rw-r--r--java/doc/images/yellow-ball.gifbin925 -> 0 bytes
-rw-r--r--java/examples/Logger/README29
-rw-r--r--java/examples/Logger/simple-server/LogRecord.java145
-rw-r--r--java/examples/Logger/simple-server/LoggerConstants.java7
-rw-r--r--java/examples/Logger/simple-server/LoggingAcceptor.java33
-rw-r--r--java/examples/Logger/simple-server/LoggingClient.java108
-rw-r--r--java/examples/Logger/simple-server/LoggingHandler.java121
-rw-r--r--java/examples/Logger/simple-server/Makefile34
-rw-r--r--java/examples/Logger/simple-server/README25
-rw-r--r--java/examples/Logger/simple-server/SimpleLogger.java44
-rw-r--r--java/gjt/Assert.java33
-rw-r--r--java/gjt/Bargauge.java80
-rw-r--r--java/gjt/Border.java105
-rw-r--r--java/gjt/Box.java81
-rw-r--r--java/gjt/BulletinLayout.java100
-rw-r--r--java/gjt/ButtonPanel.java51
-rw-r--r--java/gjt/CardPanel.java48
-rw-r--r--java/gjt/ChoiceCardPanel.java53
-rw-r--r--java/gjt/ColumnLayout.java154
-rw-r--r--java/gjt/ComponentScroller.java42
-rw-r--r--java/gjt/DialogClient.java20
-rw-r--r--java/gjt/DrawingPanel.java72
-rw-r--r--java/gjt/DrawnRectangle.java136
-rw-r--r--java/gjt/EtchedBorder.java59
-rw-r--r--java/gjt/EtchedRectangle.java97
-rw-r--r--java/gjt/Etching.java22
-rw-r--r--java/gjt/ExclusiveImageButtonPanel.java47
-rw-r--r--java/gjt/FontDialog.java362
-rw-r--r--java/gjt/GJT.DSP456
-rw-r--r--java/gjt/GJT.DSW29
-rw-r--r--java/gjt/GJTDialog.java51
-rw-r--r--java/gjt/IconCardPanel.java55
-rw-r--r--java/gjt/ImageButton.java209
-rw-r--r--java/gjt/ImageButtonController.java79
-rw-r--r--java/gjt/ImageButtonEvent.java103
-rw-r--r--java/gjt/ImageButtonPanel.java106
-rw-r--r--java/gjt/ImageButtonPanelController.java47
-rw-r--r--java/gjt/ImageCanvas.java31
-rw-r--r--java/gjt/ImageScroller.java62
-rw-r--r--java/gjt/LabelCanvas.java93
-rw-r--r--java/gjt/Makefile67
-rw-r--r--java/gjt/MessageDialog.java77
-rw-r--r--java/gjt/MouseController.java32
-rw-r--r--java/gjt/Orientation.java87
-rw-r--r--java/gjt/ProgressDialog.java67
-rw-r--r--java/gjt/QuestionDialog.java130
-rw-r--r--java/gjt/RadioImageButtonPanelController.java45
-rw-r--r--java/gjt/RowLayout.java153
-rw-r--r--java/gjt/Scroller.java154
-rw-r--r--java/gjt/ScrollerLayout.java160
-rw-r--r--java/gjt/SelectionEvent.java82
-rw-r--r--java/gjt/Separator.java90
-rw-r--r--java/gjt/SpringyImageButtonController.java54
-rw-r--r--java/gjt/StateButton.java45
-rw-r--r--java/gjt/StateButtonController.java27
-rw-r--r--java/gjt/StickyImageButtonController.java87
-rw-r--r--java/gjt/Stopwatch.java94
-rw-r--r--java/gjt/StopwatchClient.java14
-rw-r--r--java/gjt/ThreeDBorder.java53
-rw-r--r--java/gjt/ThreeDBorderStyle.java24
-rw-r--r--java/gjt/ThreeDRectangle.java105
-rw-r--r--java/gjt/Toolbar.java58
-rw-r--r--java/gjt/Util.java69
-rw-r--r--java/gjt/YesNoDialog.java80
-rw-r--r--java/gjt/animation/CollisionArena.java39
-rw-r--r--java/gjt/animation/CollisionDetector.java24
-rw-r--r--java/gjt/animation/EdgeCollisionDetector.java53
-rw-r--r--java/gjt/animation/Playfield.java140
-rw-r--r--java/gjt/animation/Sequence.java119
-rw-r--r--java/gjt/animation/Sprite.java191
-rw-r--r--java/gjt/animation/SpriteCollisionDetector.java45
-rw-r--r--java/gjt/image/BleachImageFilter.java53
-rw-r--r--java/gjt/image/DissolveFilter.java48
-rw-r--r--java/gjt/image/ImageDissolver.java132
-rw-r--r--java/gjt/rubberband/Rubberband.java100
-rw-r--r--java/gjt/rubberband/RubberbandEllipse.java32
-rw-r--r--java/gjt/rubberband/RubberbandLine.java25
-rw-r--r--java/gjt/rubberband/RubberbandPanel.java38
-rw-r--r--java/gjt/rubberband/RubberbandRectangle.java29
-rw-r--r--java/gjt/test/AttributesPanel.java78
-rw-r--r--java/gjt/test/BargaugeTest.java130
-rw-r--r--java/gjt/test/BleachImageFilterTest.java86
-rw-r--r--java/gjt/test/BorderTest.java202
-rw-r--r--java/gjt/test/BoxTest.java100
-rw-r--r--java/gjt/test/BumpAnimationTest.java107
-rw-r--r--java/gjt/test/ChoiceCardPanelTest.java34
-rw-r--r--java/gjt/test/ColumnLayoutTest.java126
-rw-r--r--java/gjt/test/ComponentScrollerTest.java205
-rw-r--r--java/gjt/test/ConnectionsPanel.java9
-rw-r--r--java/gjt/test/DialogTest.java140
-rw-r--r--java/gjt/test/DrawnRectangleTest.java119
-rw-r--r--java/gjt/test/FontDialogTest.java95
-rw-r--r--java/gjt/test/IconCardPanelTest.java47
-rw-r--r--java/gjt/test/ImageButtonTest.java130
-rw-r--r--java/gjt/test/ImageDissolverTest.java69
-rw-r--r--java/gjt/test/ImageScrollerTest.java55
-rw-r--r--java/gjt/test/LabelCanvasTest.java75
-rw-r--r--java/gjt/test/MessageDialogTest.java50
-rw-r--r--java/gjt/test/OccupationOracle.java334
-rw-r--r--java/gjt/test/RowLayoutTest.java124
-rw-r--r--java/gjt/test/RubberbandTest.java112
-rw-r--r--java/gjt/test/SeparatorTest.java64
-rw-r--r--java/gjt/test/SimpleAnimationTest.java87
-rw-r--r--java/gjt/test/SimpleBargaugeTest.java61
-rw-r--r--java/gjt/test/StateButtonTest.java41
-rw-r--r--java/gjt/test/TenPixelBorder.java44
-rw-r--r--java/gjt/test/TitledPanel.java22
-rw-r--r--java/gjt/test/ToolbarTest.java111
-rw-r--r--java/gjt/test/TwoDrinkersAnimationTest.java130
-rw-r--r--java/gjt/test/UnitTest.java46
-rw-r--r--java/java-ace.gifbin11028 -> 0 bytes
-rw-r--r--java/netsvcs/Logger/DefaultLMR.java36
-rw-r--r--java/netsvcs/Logger/LogMessageReceiver.java33
-rw-r--r--java/netsvcs/Logger/LogRecord.java188
-rw-r--r--java/netsvcs/Logger/Makefile23
-rw-r--r--java/netsvcs/Logger/ServerLoggingAcceptor.java171
-rw-r--r--java/netsvcs/Logger/ServerLoggingHandler.java105
-rw-r--r--java/netsvcs/Naming/Makefile24
-rw-r--r--java/netsvcs/Naming/NameAcceptor.java306
-rw-r--r--java/netsvcs/Naming/NameHandler.java521
-rw-r--r--java/netsvcs/Naming/NameProxy.java351
-rw-r--r--java/netsvcs/Naming/NameReply.java145
-rw-r--r--java/netsvcs/Naming/NameRequest.java331
-rwxr-xr-xjava/netsvcs/Time/Clerk.java23
-rwxr-xr-xjava/netsvcs/Time/Makefile26
-rwxr-xr-xjava/netsvcs/Time/Server.java23
-rwxr-xr-xjava/netsvcs/Time/TSClerkHandler.java296
-rwxr-xr-xjava/netsvcs/Time/TSClerkProcessor.java267
-rwxr-xr-xjava/netsvcs/Time/TSRequestAcceptor.java142
-rwxr-xr-xjava/netsvcs/Time/TSRequestHandler.java106
-rwxr-xr-xjava/netsvcs/Time/TSServerAcceptor.java100
-rwxr-xr-xjava/netsvcs/Time/TSServerHandler.java99
-rw-r--r--java/src/ACE.java164
-rw-r--r--java/src/AcceptStrategy.java89
-rw-r--r--java/src/Acceptor.java216
-rw-r--r--java/src/ActivateStrategy.java43
-rw-r--r--java/src/AddServiceObjectNode.java54
-rw-r--r--java/src/Blob.java94
-rw-r--r--java/src/BlobHandler.java35
-rw-r--r--java/src/BlobReader.java104
-rw-r--r--java/src/BlobWriter.java220
-rw-r--r--java/src/ClassNameGenerator.java181
-rw-r--r--java/src/ClassReader.java146
-rw-r--r--java/src/Condition.java122
-rw-r--r--java/src/Connector.java157
-rw-r--r--java/src/CreationStrategy.java64
-rw-r--r--java/src/EventHandler.java53
-rw-r--r--java/src/GetOpt.java150
-rw-r--r--java/src/HTTPHelper.java84
-rw-r--r--java/src/INETAddr.java99
-rw-r--r--java/src/IOCntlCmds.java34
-rw-r--r--java/src/IOCntlMsg.java128
-rw-r--r--java/src/JACE.DSP292
-rw-r--r--java/src/JACE.DSW29
-rw-r--r--java/src/Makefile153
-rw-r--r--java/src/MessageBlock.java453
-rw-r--r--java/src/MessageQueue.java639
-rw-r--r--java/src/MessageType.java110
-rw-r--r--java/src/Module.java253
-rw-r--r--java/src/Mutex.java109
-rw-r--r--java/src/OS.java72
-rw-r--r--java/src/ParseNode.java69
-rw-r--r--java/src/ProfileTimer.java48
-rw-r--r--java/src/README19
-rw-r--r--java/src/RWMutex.java174
-rw-r--r--java/src/RemoveNode.java35
-rw-r--r--java/src/ResumeNode.java34
-rw-r--r--java/src/SOCKAcceptor.java115
-rw-r--r--java/src/SOCKConnector.java75
-rw-r--r--java/src/SOCKStream.java218
-rw-r--r--java/src/Semaphore.java103
-rw-r--r--java/src/ServiceConfig.java375
-rw-r--r--java/src/ServiceLoader.java260
-rw-r--r--java/src/ServiceObject.java80
-rw-r--r--java/src/ServiceObjectRecord.java33
-rw-r--r--java/src/ServiceRecord.java253
-rw-r--r--java/src/ServiceRepository.java189
-rw-r--r--java/src/StrategyAcceptor.java156
-rw-r--r--java/src/Stream.java440
-rw-r--r--java/src/StreamHead.java127
-rw-r--r--java/src/StreamTail.java119
-rw-r--r--java/src/SuspendNode.java34
-rw-r--r--java/src/SvcHandler.java85
-rw-r--r--java/src/Task.java439
-rw-r--r--java/src/TaskFlags.java44
-rw-r--r--java/src/ThreadManager.java109
-rw-r--r--java/src/ThruTask.java48
-rw-r--r--java/src/TimeValue.java285
-rw-r--r--java/src/TimedWait.java150
-rw-r--r--java/src/TimeoutException.java34
-rw-r--r--java/src/TimerQueue.java432
-rw-r--r--java/src/Token.java336
-rw-r--r--java/tests/ASX/BufferStreamTest.dsp73
-rw-r--r--java/tests/ASX/BufferStreamTest.java185
-rw-r--r--java/tests/ASX/Makefile26
-rw-r--r--java/tests/ASX/MessageQueueTest.dsp73
-rw-r--r--java/tests/ASX/MessageQueueTest.java50
-rw-r--r--java/tests/ASX/PriorityBufferTest.dsp73
-rw-r--r--java/tests/ASX/PriorityBufferTest.java116
-rw-r--r--java/tests/ASX/TaskTest.dsp72
-rw-r--r--java/tests/ASX/TaskTest.java86
-rw-r--r--java/tests/ASX/ThreadPoolTest.dsp73
-rw-r--r--java/tests/ASX/ThreadPoolTest.java185
-rw-r--r--java/tests/Concurrency/Condition/Condition.dsp88
-rw-r--r--java/tests/Concurrency/Condition/Consumer.java73
-rw-r--r--java/tests/Concurrency/Condition/JoinableThreadGroup.java24
-rw-r--r--java/tests/Concurrency/Condition/Makefile25
-rw-r--r--java/tests/Concurrency/Condition/Producer.java67
-rw-r--r--java/tests/Concurrency/Condition/QueueTest.java64
-rw-r--r--java/tests/Concurrency/Condition/SimpleMessageQueue.java86
-rw-r--r--java/tests/Concurrency/Makefile23
-rw-r--r--java/tests/Concurrency/MutexTest.dsp72
-rw-r--r--java/tests/Concurrency/MutexTest.java154
-rw-r--r--java/tests/Concurrency/RWMutexTest.dsp73
-rw-r--r--java/tests/Concurrency/RWMutexTest.java93
-rw-r--r--java/tests/Concurrency/SemaphoreTest.dsp73
-rw-r--r--java/tests/Concurrency/SemaphoreTest.java102
-rw-r--r--java/tests/Concurrency/TokenTest.dsp72
-rw-r--r--java/tests/Concurrency/TokenTest.java73
-rw-r--r--java/tests/Connection/AcceptorTest.dsp73
-rw-r--r--java/tests/Connection/AcceptorTest.java79
-rw-r--r--java/tests/Connection/ClientHandler.dsp73
-rw-r--r--java/tests/Connection/ClientHandler.java77
-rw-r--r--java/tests/Connection/ConnectorTest.dsp73
-rw-r--r--java/tests/Connection/ConnectorTest.java76
-rw-r--r--java/tests/Connection/HTTPHelperTest.java27
-rw-r--r--java/tests/Connection/Makefile26
-rw-r--r--java/tests/Connection/ServerHandler.dsp73
-rw-r--r--java/tests/Connection/ServerHandler.java68
-rw-r--r--java/tests/Misc/Makefile21
-rw-r--r--java/tests/Misc/ParseArgsTest.dsp73
-rw-r--r--java/tests/Misc/ParseArgsTest.java45
-rw-r--r--java/tests/Reactor/Makefile22
-rw-r--r--java/tests/Reactor/TimeValueTest.dsp73
-rw-r--r--java/tests/Reactor/TimeValueTest.java50
-rw-r--r--java/tests/Reactor/TimerQueueTest.dsp73
-rw-r--r--java/tests/Reactor/TimerQueueTest.java80
-rw-r--r--java/tests/SOCK_SAP/Makefile22
-rw-r--r--java/tests/SOCK_SAP/SOCKAcceptorTest.dsp73
-rw-r--r--java/tests/SOCK_SAP/SOCKAcceptorTest.java108
-rw-r--r--java/tests/SOCK_SAP/SOCKConnectorTest.dsp73
-rw-r--r--java/tests/SOCK_SAP/SOCKConnectorTest.java95
-rw-r--r--java/tests/ServiceConfigurator/Makefile25
-rw-r--r--java/tests/ServiceConfigurator/ServiceConfigurator.dsp81
-rw-r--r--java/tests/ServiceConfigurator/TestService.java52
-rw-r--r--java/tests/ServiceConfigurator/reloadTest.java61
-rw-r--r--java/tests/ServiceConfigurator/suspendTest.java80
-rw-r--r--java/tests/ServiceConfigurator/suspendTest1.conf1
-rw-r--r--java/tests/ServiceConfigurator/suspendTest2.conf1
-rw-r--r--java/tests/ServiceConfigurator/suspendTest3.conf1
-rw-r--r--java/tests/ServiceConfigurator/svc.conf1
-rw-r--r--java/tests/Tests.dsw257
-rw-r--r--java/tests/netsvcs/Logger/LoggerTest.java122
-rw-r--r--java/tests/netsvcs/Logger/Makefile19
-rw-r--r--java/tests/netsvcs/Naming/ClientTest.java117
-rw-r--r--java/tests/netsvcs/Naming/Makefile21
-rw-r--r--nightly.mwc7
-rw-r--r--protocols/ace/RMCast/Makefile.am105
-rw-r--r--protocols/ace/RMCast/README57
-rw-r--r--protocols/ace/RMCast/RMCast_Export.h44
-rw-r--r--psosim/Makefile76
-rw-r--r--psosim/drv_conf.c80
-rw-r--r--samwise/ChangeLog73
-rw-r--r--samwise/PerlACE/MSProject.pm455
-rw-r--r--samwise/PerlACE/MSProject/DSP.pm28
-rw-r--r--samwise/PerlSam/Generator.pm482
-rw-r--r--samwise/PerlSam/Generator/Automake.pm264
-rw-r--r--samwise/PerlSam/Generator/Borland.pm383
-rw-r--r--samwise/PerlSam/Generator/GNUMake.pm390
-rw-r--r--samwise/PerlSam/Generator/MSVC6.pm847
-rw-r--r--samwise/PerlSam/Generator/View.pm42
-rw-r--r--samwise/PerlSam/Generator/VisualAge.pm118
-rw-r--r--samwise/PerlSam/Parser.pm57
-rw-r--r--samwise/PerlSam/Parser/Simple.pm331
-rw-r--r--samwise/README.txt77
-rw-r--r--samwise/TODO.txt258
-rwxr-xr-xsamwise/create_sam.pl940
-rw-r--r--samwise/libs.xml48
-rw-r--r--samwise/makeinclude/executable.GNU26
-rw-r--r--samwise/makeinclude/library.GNU17
-rw-r--r--samwise/makeinclude/macros.GNU8
-rw-r--r--samwise/makeinclude/rules.common.GNU7
-rw-r--r--samwise/makeinclude/rules.makefiles.GNU25
-rw-r--r--samwise/makeinclude/rules.nomakefiles.GNU6
-rw-r--r--samwise/makeinclude/vacpp_setup.icc28
-rw-r--r--samwise/makeinclude/workspace.GNU10
-rw-r--r--samwise/sam.dtd42
-rwxr-xr-xsamwise/sam.pl127
-rw-r--r--vc7_nightly.mwc7
1773 files changed, 1 insertions, 210371 deletions
diff --git a/Kokyu/DSRT_Dispatcher_Impl.cpp b/Kokyu/DSRT_Dispatcher_Impl.cpp
deleted file mode 100644
index 50642a8386a..00000000000
--- a/Kokyu/DSRT_Dispatcher_Impl.cpp
+++ /dev/null
@@ -1,61 +0,0 @@
-// $Id$
-
-#include "ace/Sched_Params.h"
-#include "ace/Arg_Shifter.h"
-#include "ace/Dynamic_Service.h"
-
-#include "DSRT_Dispatcher_Impl.h"
-#include "DSRT_Schedulers.h"
-
-#if ! defined (__ACE_INLINE__)
-#include "DSRT_Dispatcher_Impl.i"
-#endif /* __ACE_INLINE__ */
-
-ACE_RCSID(Kokyu, Dispatcher_Impl, "$Id$")
-
- //using namespace Kokyu;
-
-namespace Kokyu
-{
-int
-DSRT_Dispatcher_Impl::init_i (const DSRT_ConfigInfo& config_info)
-{
- curr_config_info_ = config_info;
-
- this->scheduler_impl_ =
- ACE_Dynamic_Service<DSRT_Scheduler_Impl>::instance ("DSRT_Scheduler_Impl");
-
- return 0;
-}
-
-int
-DSRT_Dispatcher_Impl::schedule_i (guid_t guid,
- const DSRT_QoSDescriptor& qos_info)
-{
- ACE_UNUSED_ARG (guid);
- ACE_hthread_t thr_handle;
- ACE_Thread::self (thr_handle);
-
- int prio = this->scheduler_impl_->schedule (guid, qos_info);
- ACE_OS::thr_setprio (thr_handle, prio);
-
- return prio;
-}
-
-int
-DSRT_Dispatcher_Impl::update_schedule_i (guid_t guid,
- const DSRT_QoSDescriptor& qos_info)
-{
- ACE_UNUSED_ARG (guid);
- ACE_UNUSED_ARG (qos_info);
- return 0;
-}
-
-int
-DSRT_Dispatcher_Impl::cancel_schedule_i (guid_t guid,
- const DSRT_QoSDescriptor& qos_info)
-{
- return schedule_i (guid, qos_info);
-}
-
-}
diff --git a/Kokyu/DSRT_Dispatcher_Impl.h b/Kokyu/DSRT_Dispatcher_Impl.h
deleted file mode 100644
index f0ed126dbbc..00000000000
--- a/Kokyu/DSRT_Dispatcher_Impl.h
+++ /dev/null
@@ -1,68 +0,0 @@
-/* -*- C++ -*- */
-/**
- * @file DSRT_Dispatcher_Impl.h
- *
- * $Id$
- *
- */
-
-#ifndef DSRT_DISPATCHER_IMPL_H
-#define DSRT_DISPATCHER_IMPL_H
-#include "ace/pre.h"
-#include "ace/OS.h"
-
-#if !defined (ACE_LACKS_PRAGMA_ONCE)
-# pragma once
-#endif /* ACE_LACKS_PRAGMA_ONCE */
-
-#include "ace/Task.h"
-#include "ace/Message_Block.h"
-#include "ace/Auto_Ptr.h"
-#include "ace/Service_Config.h"
-
-#include "ace/Sched_Params.h"
-
-#include "kokyu_export.h"
-#include "Kokyu.h"
-
-namespace Kokyu
-{
- class DSRT_Scheduler_Impl;
-
- class DSRT_Dispatcher_Impl
- {
- public:
-
- virtual ~DSRT_Dispatcher_Impl ();
-
- int init (const DSRT_ConfigInfo&);
- int schedule (guid_t guid,
- const DSRT_QoSDescriptor&);
- int update_schedule (guid_t guid,
- const DSRT_QoSDescriptor&);
- int cancel_schedule (guid_t guid,
- const DSRT_QoSDescriptor&);
-
- private:
-
- int init_i (const DSRT_ConfigInfo&);
- int schedule_i (guid_t guid,
- const DSRT_QoSDescriptor&);
- int update_schedule_i (guid_t guid,
- const DSRT_QoSDescriptor&);
- int cancel_schedule_i (guid_t guid,
- const DSRT_QoSDescriptor&);
-
- private:
- DSRT_ConfigInfo curr_config_info_;
- DSRT_Scheduler_Impl* scheduler_impl_;
- };
-
-} //end of namespace
-
-#if defined (__ACE_INLINE__)
-#include "DSRT_Dispatcher_Impl.i"
-#endif /* __ACE_INLINE__ */
-
-#include "ace/post.h"
-#endif /* DEFAULT_DISPATCHER_IMPL_H */
diff --git a/Kokyu/DSRT_Dispatcher_Impl.i b/Kokyu/DSRT_Dispatcher_Impl.i
deleted file mode 100644
index 96a0fbdd26c..00000000000
--- a/Kokyu/DSRT_Dispatcher_Impl.i
+++ /dev/null
@@ -1,38 +0,0 @@
-// $Id$
-
-namespace Kokyu
-{
-
-ACE_INLINE
-DSRT_Dispatcher_Impl::~DSRT_Dispatcher_Impl ()
-{
-}
-
-ACE_INLINE
-int DSRT_Dispatcher_Impl::init (const DSRT_ConfigInfo& config_info)
-{
- return this->init_i (config_info);
-}
-
-ACE_INLINE
-int DSRT_Dispatcher_Impl::schedule (guid_t guid,
- const DSRT_QoSDescriptor& qos)
-{
- return this->schedule_i (guid, qos);
-}
-
-ACE_INLINE
-int DSRT_Dispatcher_Impl::update_schedule (guid_t guid,
- const DSRT_QoSDescriptor& qos)
-{
- return this->update_schedule_i (guid, qos);
-}
-
-ACE_INLINE
-int DSRT_Dispatcher_Impl::cancel_schedule (guid_t guid,
- const DSRT_QoSDescriptor& qos)
-{
- return this->cancel_schedule_i (guid, qos);
-}
-
-}
diff --git a/Kokyu/DSRT_Schedulers.cpp b/Kokyu/DSRT_Schedulers.cpp
deleted file mode 100644
index f0d469883c4..00000000000
--- a/Kokyu/DSRT_Schedulers.cpp
+++ /dev/null
@@ -1,190 +0,0 @@
-// $Id$
-
-#include "ace/Sched_Params.h"
-#include "ace/Arg_Shifter.h"
-
-#include "DSRT_Schedulers.h"
-
-#if ! defined (__ACE_INLINE__)
-//#include "DSRT_Schedulers.i"
-#endif /* __ACE_INLINE__ */
-
-ACE_RCSID(Kokyu, DSRT_Schedulers, "$Id$")
-
-
-namespace Kokyu
-{
-DSRT_Scheduler_Impl::DSRT_Scheduler_Impl ()
- :sched_policy_ (ACE_SCHED_FIFO),
- sched_scope_ (ACE_SCOPE_THREAD),
- min_prio_ (ACE_Sched_Params::priority_min (sched_policy_, sched_scope_)),
- max_prio_ (ACE_Sched_Params::priority_max (sched_policy_, sched_scope_))
-{
-#if defined (ACE_WIN32)
- // Count up the number of distinct native priorities on current
- // platform.
- int n;
- Priority_t current_priority = this->min_prio_;
- for (n = 1; current_priority != this->max_prio_; ++n)
- {
- current_priority =
- ACE_Sched_Params::next_priority (this->sched_policy_,
- current_priority);
- }
-
- this->prio_range_ = n-1;
-
-#else
- this->prio_range_ = this->max_prio_ - this->min_prio_ + 1;
-#endif /* ACE_WIN32 */
-
-}
-
-int
-DSRT_Scheduler_Impl::schedule (guid_t id, const DSRT_QoSDescriptor& qos)
-{
- return this->schedule_i (id, qos);
-}
-
-MIF_Scheduler_Impl::MIF_Scheduler_Impl ()
- : DSRT_Scheduler_Impl ()
-{
-}
-
-int
-MIF_Scheduler_Impl::init (int argc, ACE_TCHAR* argv[])
-{
- ACE_Arg_Shifter arg_shifter (argc, argv);
-
- //ACE_DEBUG ((LM_DEBUG, "svc::init called\n"));
-
- while (arg_shifter.is_anything_left ())
- {
- const ACE_TCHAR* arg = arg_shifter.get_current ();
-
- if (ACE_OS::strcasecmp (arg, ACE_LIB_TEXT("-sched_policy")) == 0)
- {
- arg_shifter.consume_arg ();
-
- if (arg_shifter.is_parameter_next ())
- {
- const ACE_TCHAR* opt = arg_shifter.get_current ();
- if (ACE_OS::strcasecmp (opt, ACE_LIB_TEXT("FIFO")) == 0)
- {
- this->sched_policy_ = ACE_SCHED_FIFO;
- }
- else if (ACE_OS::strcasecmp (opt, ACE_LIB_TEXT("OTHER")) == 0)
- {
- this->sched_policy_ = ACE_SCHED_OTHER;
- }
- else
- {
- ACE_ERROR ((LM_ERROR,
- ACE_LIB_TEXT("-sched_policy ")
- ACE_LIB_TEXT("unsupported sched policy <%s>\n"),
- opt));
- }
- arg_shifter.consume_arg ();
- }
- }
- else if (ACE_OS::strcasecmp (arg, ACE_LIB_TEXT("-sched_scope")) == 0)
- {
- arg_shifter.consume_arg ();
-
- if (arg_shifter.is_parameter_next ())
- {
- const ACE_TCHAR* opt = arg_shifter.get_current ();
- if (ACE_OS::strcasecmp (opt, ACE_LIB_TEXT("THREAD")) == 0)
- {
- this->sched_scope_ = ACE_SCOPE_THREAD;
- }
- else if (ACE_OS::strcasecmp (opt, ACE_LIB_TEXT("PROCESS")) == 0)
- {
- this->sched_scope_ = ACE_SCOPE_PROCESS;
- }
- else
- {
- ACE_ERROR ((LM_ERROR,
- ACE_LIB_TEXT("-sched_scope ")
- ACE_LIB_TEXT("unsupported sched scope <%s>\n"),
- opt));
- }
- arg_shifter.consume_arg ();
- }
- }
- else if (ACE_OS::strcasecmp (arg, ACE_LIB_TEXT("-min_importance")) == 0)
- {
- arg_shifter.consume_arg ();
-
- if (arg_shifter.is_parameter_next ())
- {
- const ACE_TCHAR* opt = arg_shifter.get_current ();
- this->min_importance_ = ACE_OS::atoi (opt);
- arg_shifter.consume_arg ();
- }
- }
- else if (ACE_OS::strcasecmp (arg, ACE_LIB_TEXT("-max_importance")) == 0)
- {
- arg_shifter.consume_arg ();
-
- if (arg_shifter.is_parameter_next ())
- {
- const ACE_TCHAR* opt = arg_shifter.get_current ();
- this->max_importance_ = ACE_OS::atoi (opt);
- arg_shifter.consume_arg ();
- }
- }
- }
-
- this->importance_range_ = this->max_importance_ - this->min_importance_;
- ACE_DEBUG ((LM_DEBUG,
- ACE_TEXT("MIF_Scheduler: importance_range = %d\n"),
- this->importance_range_));
- return 0;
-}
-
-int
-MIF_Scheduler_Impl::fini (void)
-{
- return 0;
-}
-
-Priority_t
-MIF_Scheduler_Impl::schedule_i (guid_t id, const DSRT_QoSDescriptor& qos)
-{
- ACE_UNUSED_ARG ((id));
- // ACE_DEBUG ((LM_DEBUG, "(%t) request for MIF schedule\n"));
-
- Priority_t prio = qos.importance_ * this->prio_range_ / this->importance_range_;
-
- if (prio > max_prio_)
- {
- prio = max_prio_;
- }
-
- return prio;
-}
-
-
-}
-
-// ****************************************************************
-
-//could not use ACE_FACTORY_DEFINE macro here because of Kokyu namespace
-// see new Kokyu::MIF_Scheduler_Impl in _make_xx factory function
-//need to revisit later
-
-void _gobble_MIF_Scheduler_Impl (void *p) { \
- ACE_Service_Object *_p = ACE_static_cast (ACE_Service_Object *, p);
- ACE_ASSERT (_p != 0);
- delete _p; }
-extern "C" Kokyu_Export ACE_Service_Object *
-_make_MIF_Scheduler_Impl (ACE_Service_Object_Exterminator *gobbler)
-{
- if (gobbler != 0)
- *gobbler = (ACE_Service_Object_Exterminator) _gobble_MIF_Scheduler_Impl;
- ACE_DEBUG ((LM_DEBUG, "about to create MIF_Scheduler_Impl\n" ));
- return new Kokyu::MIF_Scheduler_Impl;
-}
-
-// ****************************************************************
diff --git a/Kokyu/DSRT_Schedulers.h b/Kokyu/DSRT_Schedulers.h
deleted file mode 100644
index fefaa7951e3..00000000000
--- a/Kokyu/DSRT_Schedulers.h
+++ /dev/null
@@ -1,72 +0,0 @@
-/* -*- C++ -*- */
-/**
- * @file DSRT_Schedulers.h
- *
- * $Id$
- *
- * @author Venkita Subramonian (venkita@cs.wustl.edu)
- *
- * Based on previous work by Tim Harrison (harrison@cs.wustl.edu),
- * Chris Gill, Carlos O'Ryan and other members of the DOC group.
- */
-
-#ifndef DSRT_SCHEDULERS_H
-#define DSRT_SCHEDULERS_H
-#include "ace/pre.h"
-#include "ace/OS.h"
-
-#include "Kokyu.h"
-
-#if !defined (ACE_LACKS_PRAGMA_ONCE)
-# pragma once
-#endif /* ACE_LACKS_PRAGMA_ONCE */
-
-namespace Kokyu
-{
- class DSRT_Scheduler_Impl : public ACE_Service_Object
- {
- public:
- DSRT_Scheduler_Impl ();
- int schedule (guid_t, const DSRT_QoSDescriptor&);
-
- private:
- virtual Priority_t schedule_i (guid_t, const DSRT_QoSDescriptor&) = 0;
-
- protected:
- ACE_Sched_Params::Policy sched_policy_;
- int sched_scope_;
- Priority_t min_prio_;
- Priority_t max_prio_;
- Priority_t prio_range_;
- };
-
- class MIF_Scheduler_Impl : public DSRT_Scheduler_Impl
- {
- public:
- MIF_Scheduler_Impl ();
- virtual int init (int argc, ACE_TCHAR* argv[]);
- virtual int fini (void);
- static void init_svcs (void);
-
- private:
- virtual Priority_t schedule_i (guid_t, const DSRT_QoSDescriptor&);
-
- private:
- short min_importance_;
- short max_importance_;
- short importance_range_;
- };
-}
-
-//could not use SVC declare macros here because of Kokyu namespace
-//need to revisit later
-extern ACE_Static_Svc_Descriptor ace_svc_desc_MIF_Scheduler_Impl;
-
-ACE_FACTORY_DECLARE (Kokyu, MIF_Scheduler_Impl)
-
-#if defined (__ACE_INLINE__)
-//#include "DSRT_Schedulers.i"
-#endif /* __ACE_INLINE__ */
-
-#include "ace/post.h"
-#endif /* DSRT_SCHEDULERS_H */
diff --git a/Kokyu/Default_Dispatcher_Impl.cpp b/Kokyu/Default_Dispatcher_Impl.cpp
deleted file mode 100644
index 8e1fea22d01..00000000000
--- a/Kokyu/Default_Dispatcher_Impl.cpp
+++ /dev/null
@@ -1,138 +0,0 @@
-// $Id$
-
-#include "Default_Dispatcher_Impl.h"
-#include "ace/Sched_Params.h"
-
-#if ! defined (__ACE_INLINE__)
-#include "Default_Dispatcher_Impl.i"
-#endif /* __ACE_INLINE__ */
-
-ACE_RCSID(Kokyu, Dispatcher_Impl, "$Id$")
-
-namespace Kokyu
-{
-int
-Default_Dispatcher_Impl::init_i (const ConfigInfoSet& config_info_set)
-{
- //create and init the dispatcher tasks here
-
- ACE_DEBUG ((LM_DEBUG, "entering init_t\n" ));
- int size;
- size = config_info_set.size ();
-
- if (size == 0)
- return -1;
-
- this->ntasks_ = size;
-
- Dispatcher_Task_Auto_Ptr * tasks_array=0;
- ACE_NEW_RETURN (tasks_array, Dispatcher_Task_Auto_Ptr[ntasks_], -1);
-
- ACE_DEBUG ((LM_DEBUG, "after new on task array\n" ));
- tasks_.reset(tasks_array);
-
- ACE_DEBUG ((LM_DEBUG, "task array auto_ptr set\n" ));
-
- ConfigInfoSet& config_set = const_cast<ConfigInfoSet&> (config_info_set);
- ConfigInfoSet::ITERATOR iter(config_set);
- int i=0;
-
- ConfigInfo* config;
- for (;i<size && iter.next (config);iter.advance ())
- {
- ACE_DEBUG ((LM_DEBUG, "iter = %d\n", i));
- Dispatcher_Task* task=0;
- ACE_NEW_RETURN (task, Dispatcher_Task (*config), -1);
- auto_ptr<Dispatcher_Task> tmp_task_auto_ptr (task);
- tasks_[i++] = tmp_task_auto_ptr;
- //I couldn't use reset because MSVC++ auto_ptr does not have reset method.
- //So in configurations where the auto_ptr maps to the std::auto_ptr instead
- //of ACE auto_ptr, this would be a problem.
- //tasks_[i++].reset (task);
- }
-
- this->activate ();
-
- curr_config_info_ = config_info_set;
- return 0;
-}
-
-int
-Default_Dispatcher_Impl::activate ()
-{
- int i;
- for(i=0; i<ntasks_; ++i)
- {
- long flags = THR_BOUND | THR_SCHED_FIFO;
-
- Priority_t priority =
- tasks_[i]->get_curr_config_info ().thread_priority_;
-
- if (this->tasks_[i]->activate (flags, 1, 1, priority) == -1)
- {
- flags = THR_BOUND;
- priority = ACE_Sched_Params::priority_min (ACE_SCHED_OTHER,
- ACE_SCOPE_THREAD);
- if (this->tasks_[i]->activate (flags, 1, 1, priority) == -1)
- ACE_ERROR ((LM_ERROR,
- "EC (%P|%t) cannot activate queue %d", i));
- }
- }
-
- return 0;
-}
-
-Dispatcher_Task*
-Default_Dispatcher_Impl::find_task_with_preemption_prio (Priority_t prio)
-{
- int i;
-
- if (prio >=0)
- {
- for( i=0; i<ntasks_; ++i)
- {
- if ( tasks_[i]->preemption_priority () == prio)
- return tasks_[i].get();
- }
- }
-
- return 0;
-}
-
-int
-Default_Dispatcher_Impl::dispatch_i (const Dispatch_Command* cmd,
- const QoSDescriptor& qos_info)
-{
- //delegate to the appropriate task
- if (qos_info.preemption_priority_ < 0)
- return -1;
-
- Dispatcher_Task* task =
- find_task_with_preemption_prio (qos_info.preemption_priority_);
-
- if (task != 0)
- task->enqueue (cmd, qos_info);
- else
- tasks_[0]->enqueue (cmd, qos_info);
-
- return 0;
-}
-
-int
-Default_Dispatcher_Impl::shutdown_i ()
-{
- //post shutdown command to all tasks
- int i;
-
- for(i=0; i<ntasks_; ++i)
- {
- QoSDescriptor qos_info;
- Shutdown_Task_Command* shutdown_cmd = 0;
- ACE_NEW_RETURN (shutdown_cmd, Shutdown_Task_Command, -1);
- tasks_[i]->enqueue (shutdown_cmd, qos_info);
- }
-
- return 0;
-}
-
-}
diff --git a/Kokyu/Default_Dispatcher_Impl.h b/Kokyu/Default_Dispatcher_Impl.h
deleted file mode 100644
index dab89df9119..00000000000
--- a/Kokyu/Default_Dispatcher_Impl.h
+++ /dev/null
@@ -1,74 +0,0 @@
-/* -*- C++ -*- */
-/**
- * @file Default_Dispatcher_Impl.h
- *
- * $Id$
- *
- * @author Venkita Subramonian (venkita@cs.wustl.edu)
- *
- * Based on previous work by Tim Harrison (harrison@cs.wustl.edu),
- * Chris Gill, Carlos O'Ryan and other members of the DOC group.
- */
-
-#ifndef DEFAULT_DISPATCHER_IMPL_H
-#define DEFAULT_DISPATCHER_IMPL_H
-#include "ace/pre.h"
-#include "ace/OS.h"
-
-#if !defined (ACE_LACKS_PRAGMA_ONCE)
-# pragma once
-#endif /* ACE_LACKS_PRAGMA_ONCE */
-
-#include "ace/Task.h"
-#include "ace/Message_Block.h"
-#include "ace/Auto_Ptr.h"
-
-#include "kokyu_export.h"
-#include "Kokyu.h"
-#include "Dispatcher_Impl.h"
-#include "Dispatcher_Task.h"
-
-namespace Kokyu
-{
- class Default_Dispatcher_Impl : public Dispatcher_Impl
- {
- public:
- virtual ~Default_Dispatcher_Impl ();
- int activate ();
-
- private:
- int init_i (const ConfigInfoSet&);
- int dispatch_i (const Dispatch_Command*,
- const QoSDescriptor&);
- int shutdown_i ();
- Dispatcher_Task* find_task_with_preemption_prio (Priority_t);
-
- private:
- typedef auto_ptr<Dispatcher_Task> Dispatcher_Task_Auto_Ptr;
- ACE_Auto_Array_Ptr<Dispatcher_Task_Auto_Ptr> tasks_;
- int ntasks_;
- ConfigInfoSet curr_config_info_;
- };
-
- // ****************************************************************
-
- class Shutdown_Task_Command : public Dispatch_Command
- {
- public:
- /// Constructor
- Shutdown_Task_Command (ACE_Allocator *mb_allocator = 0);
-
- /// Command callback
- int execute ();
- };
-
- // ****************************************************************
-
-} //end of namespace
-
-#if defined (__ACE_INLINE__)
-#include "Default_Dispatcher_Impl.i"
-#endif /* __ACE_INLINE__ */
-
-#include "ace/post.h"
-#endif /* DEFAULT_DISPATCHER_IMPL_H */
diff --git a/Kokyu/Default_Dispatcher_Impl.i b/Kokyu/Default_Dispatcher_Impl.i
deleted file mode 100644
index 07df24d94d9..00000000000
--- a/Kokyu/Default_Dispatcher_Impl.i
+++ /dev/null
@@ -1,21 +0,0 @@
-// $Id$
-
-namespace Kokyu
-{
-ACE_INLINE
-Default_Dispatcher_Impl::~Default_Dispatcher_Impl()
-{
-}
-
-ACE_INLINE
-Shutdown_Task_Command::Shutdown_Task_Command (ACE_Allocator *mb_allocator)
-{
- ACE_UNUSED_ARG ((mb_allocator));
-}
-
-ACE_INLINE int
-Shutdown_Task_Command::execute ()
-{
- return -1;
-}
-}
diff --git a/Kokyu/Dispatcher_Impl.cpp b/Kokyu/Dispatcher_Impl.cpp
deleted file mode 100644
index 762d0254fdf..00000000000
--- a/Kokyu/Dispatcher_Impl.cpp
+++ /dev/null
@@ -1,9 +0,0 @@
-// $Id$
-
-#include "Dispatcher_Impl.h"
-
-#if ! defined (__ACE_INLINE__)
-#include "Dispatcher_Impl.i"
-#endif /* __ACE_INLINE__ */
-
-ACE_RCSID(Kokyu, Dispatcher_Impl, "$Id$")
diff --git a/Kokyu/Dispatcher_Impl.h b/Kokyu/Dispatcher_Impl.h
deleted file mode 100644
index 623704b8dbe..00000000000
--- a/Kokyu/Dispatcher_Impl.h
+++ /dev/null
@@ -1,52 +0,0 @@
-/* -*- C++ -*- */
-/**
- * @file Dispatcher_Impl.h
- *
- * $Id$
- *
- * @author Venkita Subramonian (venkita@cs.wustl.edu)
- *
- * Based on previous work by Tim Harrison (harrison@cs.wustl.edu),
- * Chris Gill, Carlos O'Ryan and other members of the DOC group.
- */
-
-#ifndef DISPATCHER_IMPL_H
-#define DISPATCHER_IMPL_H
-#include "ace/pre.h"
-#include "ace/OS.h"
-
-#if !defined (ACE_LACKS_PRAGMA_ONCE)
-# pragma once
-#endif /* ACE_LACKS_PRAGMA_ONCE */
-
-#include "kokyu_export.h"
-#include "Kokyu.h"
-
-namespace Kokyu
-{
- class Dispatcher_Impl
- {
- public:
- //following an idiom to avoid public virtual functions.
- //instead make them private and use the template method
- //pattern - "Virtually Yours" article in CUJ Experts Forum
- int init (const ConfigInfoSet&);
- int dispatch (const Dispatch_Command*,
- const QoSDescriptor&);
- int shutdown ();
- virtual ~Dispatcher_Impl();
- private:
- virtual int init_i (const ConfigInfoSet&) =0;
- virtual int dispatch_i (const Dispatch_Command*,
- const QoSDescriptor&) =0;
- virtual int shutdown_i () =0;
-
- };
-} //end of namespace
-
-#if defined (__ACE_INLINE__)
-#include "Dispatcher_Impl.i"
-#endif /* __ACE_INLINE__ */
-
-#include "ace/post.h"
-#endif /* DISPATCHER_IMPL_H */
diff --git a/Kokyu/Dispatcher_Impl.i b/Kokyu/Dispatcher_Impl.i
deleted file mode 100644
index 54a9748aae7..00000000000
--- a/Kokyu/Dispatcher_Impl.i
+++ /dev/null
@@ -1,28 +0,0 @@
-// $Id$
-
-namespace Kokyu
-{
-ACE_INLINE
-int Dispatcher_Impl::init (const ConfigInfoSet& config_info)
-{
- return init_i (config_info);
-}
-
-ACE_INLINE
-int Dispatcher_Impl::dispatch (const Dispatch_Command* cmd,
- const QoSDescriptor& qos_info)
-{
- return dispatch_i (cmd, qos_info);
-}
-
-ACE_INLINE
-int Dispatcher_Impl::shutdown ()
-{
- return shutdown_i ();
-}
-
-ACE_INLINE
-Dispatcher_Impl::~Dispatcher_Impl()
-{
-}
-}
diff --git a/Kokyu/Dispatcher_Task.cpp b/Kokyu/Dispatcher_Task.cpp
deleted file mode 100644
index 87e58535211..00000000000
--- a/Kokyu/Dispatcher_Task.cpp
+++ /dev/null
@@ -1,155 +0,0 @@
-// $Id$
-
-#include "Dispatcher_Task.h"
-
-#if ! defined (__ACE_INLINE__)
-#include "Dispatcher_Task.i"
-#endif /* __ACE_INLINE__ */
-
-ACE_RCSID(Kokyu, Dispatcher_Task, "$Id$")
-
-namespace Kokyu
-{
-
-int
-Dispatcher_Task::init ()
-{
- switch(curr_config_info_.dispatching_type_)
- {
- case FIFO_DISPATCHING:
- ACE_NEW_RETURN (
- this->the_queue_,
- ACE_Message_Queue<ACE_SYNCH>,
- -1);
- break;
-
- case DEADLINE_DISPATCHING:
- ACE_NEW_RETURN (
- this->the_queue_,
- ACE_Dynamic_Message_Queue<ACE_SYNCH> (deadline_msg_strategy_),
- -1);
- break;
-
- case LAXITY_DISPATCHING:
- ACE_NEW_RETURN (
- this->the_queue_,
- ACE_Dynamic_Message_Queue<ACE_SYNCH> (laxity_msg_strategy_),
- -1);
- break;
-
- default:
- return -1;
- break;
- }
-
- if (this->the_queue_ != 0)
- {
- this->msg_queue(this->the_queue_);
- }
- return 0;
-}
-
-int
-Dispatcher_Task::svc (void)
-{
- int done = 0;
- while (!done)
- {
- ACE_Message_Block *mb;
- if (this->getq (mb) == -1)
- if (ACE_OS::last_error () == ESHUTDOWN)
- return 0;
- else
- ACE_ERROR ((LM_ERROR,
- "EC (%P|%t) getq error in Dispatching Queue\n"));
-
- Dispatch_Queue_Item *qitem =
- ACE_dynamic_cast(Dispatch_Queue_Item*, mb);
-
- if (qitem == 0)
- {
- ACE_Message_Block::release (mb);
- continue;
- }
-
- Dispatch_Command* command = qitem->command ();
-
- ACE_ASSERT(command != 0);
- int result = command->execute ();
-
- if (command->can_be_deleted ())
- command->destroy ();
-
- ACE_Message_Block::release (mb);
-
- if (result == -1)
- done = 1;
- }
- return 0;
-}
-
-int
-Dispatcher_Task::enqueue (const Dispatch_Command* cmd,
- const QoSDescriptor& qos_info)
-{
- if (this->allocator_ == 0)
- this->allocator_ = ACE_Allocator::instance ();
-
- void* buf = this->allocator_->malloc (sizeof (Dispatch_Queue_Item));
-
- if (buf == 0)
- return -1;
-
- ACE_Message_Block *mb =
- new (buf) Dispatch_Queue_Item (cmd,
- qos_info,
- this->data_block_.duplicate (),
- this->allocator_);
-
- this->putq (mb);
-
- return 0;
-}
-
-int Dispatcher_Task::get_native_prio ()
-{
- ACE_hthread_t thr_handle;
- ACE_Thread::self (thr_handle);
- int prio;
-
- if (ACE_Thread::getprio (thr_handle, prio) == -1)
- {
- if (errno == ENOTSUP)
- {
- ACE_DEBUG((LM_DEBUG,
- ACE_TEXT ("getprior not supported on this platform\n")
- ));
- return 0;
- }
- ACE_ERROR_RETURN ((LM_ERROR,
- ACE_TEXT ("%p\n"),
- ACE_TEXT ("getprio failed")),
- -1);
- }
-
- return prio;
-}
-
-void Dispatch_Queue_Item::init_i (const QoSDescriptor& qos_info)
-{
- this->msg_priority (qos_info.preemption_priority_);
- this->msg_execution_time (qos_info.execution_time_);
- this->msg_deadline_time (qos_info.deadline_);
-}
-
-}
-
-#if defined (ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION)
-
-template class ACE_Locked_Data_Block<ACE_Lock_Adapter<TAO_SYNCH_MUTEX> >;
-
-#elif defined(ACE_HAS_TEMPLATE_INSTANTIATION_PRAGMA)
-
-#pragma instantiate ACE_Locked_Data_Block<ACE_Lock_Adapter<TAO_SYNCH_MUTEX> >
-
-#endif /* ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION */
diff --git a/Kokyu/Dispatcher_Task.h b/Kokyu/Dispatcher_Task.h
deleted file mode 100644
index 9beae6d556c..00000000000
--- a/Kokyu/Dispatcher_Task.h
+++ /dev/null
@@ -1,106 +0,0 @@
-/* -*- C++ -*- */
-/**
- * @file Dispatcher_Task.h
- *
- * $Id$
- *
- * @author Venkita Subramonian (venkita@cs.wustl.edu)
- *
- * Based on previous work by Tim Harrison (harrison@cs.wustl.edu),
- * Chris Gill, Carlos O'Ryan and other members of the DOC group.
- */
-
-#ifndef TAO_DISPATCHER_TASK_H
-#define TAO_DISPATCHER_TASK_H
-#include "ace/pre.h"
-#include "ace/OS.h"
-
-#if !defined (ACE_LACKS_PRAGMA_ONCE)
-# pragma once
-#endif /* ACE_LACKS_PRAGMA_ONCE */
-
-#include "ace/Task.h"
-
-#include "kokyu_export.h"
-#include "Kokyu.h"
-
-namespace Kokyu
-{
-
-class Dispatch_Queue_Item : public ACE_Message_Block
-{
-public:
- Dispatch_Queue_Item (const Dispatch_Command* , const QoSDescriptor&);
-
- Dispatch_Queue_Item::Dispatch_Queue_Item (
- const Dispatch_Command* cmd,
- const QoSDescriptor& qos_info,
- ACE_Allocator* mb_allocator =0);
-
- Dispatch_Queue_Item::Dispatch_Queue_Item (
- const Dispatch_Command* cmd,
- const QoSDescriptor& qos_info,
- ACE_Data_Block* data_block,
- ACE_Allocator* mb_allocator =0);
-
- Dispatch_Command* command ();
-
-private:
- void init_i(const QoSDescriptor&);
-
-private:
- const Dispatch_Command* command_;
- QoSDescriptor qos_info_;
-};
-
-/**
- * @class Dispatcher_Task
- *
- * @brief Implement the dispatching queues for FIFO and Priority
- * dispatching.
- *
- */
-class Dispatcher_Task : public ACE_Task<ACE_SYNCH>
-{
-public:
- /// Constructor
- Dispatcher_Task (const ConfigInfo& config_info,
- ACE_Thread_Manager* thr_manager = 0);
-
- int init();
-
- int enqueue (const Dispatch_Command* cmd,
- const QoSDescriptor& qos_info);
-
- /// Process the events in the queue.
- int svc (void);
-
- const ConfigInfo& get_curr_config_info() const;
- Priority_t preemption_priority() const;
-
-private:
- static int get_native_prio();
-
-private:
- /// An per-task allocator
- ACE_Allocator *allocator_;
-
- /// Helper data structure to minimize memory allocations...
- ACE_Locked_Data_Block<ACE_Lock_Adapter<ACE_SYNCH_MUTEX> > data_block_;
-
- /// The queue
- ACE_Message_Queue<ACE_SYNCH>* the_queue_;
-
- ConfigInfo curr_config_info_;
- ACE_Deadline_Message_Strategy deadline_msg_strategy_;
- ACE_Laxity_Message_Strategy laxity_msg_strategy_;
-};
-
-} //end of namespace
-
-#if defined (__ACE_INLINE__)
-#include "Dispatcher_Task.i"
-#endif /* __ACE_INLINE__ */
-
-#include "ace/post.h"
-#endif /* DISPATCHER_TASK_H */
diff --git a/Kokyu/Dispatcher_Task.i b/Kokyu/Dispatcher_Task.i
deleted file mode 100644
index 93736390d48..00000000000
--- a/Kokyu/Dispatcher_Task.i
+++ /dev/null
@@ -1,76 +0,0 @@
-// $Id$
-
-namespace Kokyu
-{
-ACE_INLINE
-Dispatcher_Task::Dispatcher_Task (const ConfigInfo& config_info,
- ACE_Thread_Manager* thr_manager)
- : ACE_Task<ACE_SYNCH> (thr_manager),
- allocator_ (0),
- curr_config_info_ (config_info),
- deadline_msg_strategy_ (0, 0, 0x7FFFFFFFUL, 0x08000000UL ),
- //bits for static priority = 0
- //max dynamic prio = 2^31 - 1
- //pending offset = 15/16th of the dynamic prio range
- //which means that the LATE population will be in the
- //1/16th part of the range.
- laxity_msg_strategy_ (0, 0, 0x7FFFFFFFUL, 0x08000000UL )
-{
- this->init();
-}
-
-ACE_INLINE
-Priority_t
-Dispatcher_Task::preemption_priority() const
-{
- return curr_config_info_.preemption_priority_;
-}
-
-
-ACE_INLINE
-const ConfigInfo&
-Dispatcher_Task::get_curr_config_info() const
-{
- return curr_config_info_;
-}
-
-ACE_INLINE
-Dispatch_Queue_Item::Dispatch_Queue_Item (
- const Dispatch_Command* cmd,
- const QoSDescriptor& qos_info)
- :command_ (cmd), qos_info_ (qos_info)
-{
- this->init_i (qos_info);
-}
-
-ACE_INLINE
-Dispatch_Queue_Item::Dispatch_Queue_Item (
- const Dispatch_Command* cmd,
- const QoSDescriptor& qos_info,
- ACE_Data_Block *data_block,
- ACE_Allocator* mb_allocator)
- : ACE_Message_Block (data_block, 0, mb_allocator),
- command_ (cmd), qos_info_ (qos_info)
-
-{
- this->init_i (qos_info);
-}
-
-ACE_INLINE
-Dispatch_Queue_Item::Dispatch_Queue_Item (
- const Dispatch_Command* cmd,
- const QoSDescriptor& qos_info,
- ACE_Allocator* mb_allocator)
- : ACE_Message_Block (mb_allocator),
- command_ (cmd), qos_info_ (qos_info)
-{
- this->init_i (qos_info);
-}
-
-ACE_INLINE
-Dispatch_Command*
-Dispatch_Queue_Item::command()
-{
- return const_cast<Dispatch_Command*> (command_);
-}
-}
diff --git a/Kokyu/Kokyu.cpp b/Kokyu/Kokyu.cpp
deleted file mode 100644
index 274068c8a22..00000000000
--- a/Kokyu/Kokyu.cpp
+++ /dev/null
@@ -1,100 +0,0 @@
-// $Id$
-
-#include "ace/Dynamic_Service.h"
-#include "Kokyu.h"
-#include "Default_Dispatcher_Impl.h"
-
-#if ! defined (__ACE_INLINE__)
-#include "Kokyu.i"
-#endif /* __ACE_INLINE__ */
-
-ACE_RCSID(Kokyu, Dispatcher_Impl, "$Id$")
-
-namespace Kokyu
-{
-
-int Dispatcher::dispatch (const Dispatch_Command* cmd, const QoSDescriptor& qos)
-{
- return dispatcher_impl_->dispatch (cmd, qos);
-}
-
-int Dispatcher::shutdown ()
-{
- return dispatcher_impl_->shutdown ();
-}
-
-
-void Dispatcher::implementation (Dispatcher_Impl* impl)
-{
- auto_ptr<Dispatcher_Impl> tmp_impl (impl);
- dispatcher_impl_ = tmp_impl;
-
- //I couldn't use reset because MSVC++ auto_ptr does not have reset method.
- //So in configurations where the auto_ptr maps to the std::auto_ptr instead
- //of ACE auto_ptr, this would be a problem.
- //dispatcher_impl_.reset (impl);
-}
-
-
-Dispatcher*
-Dispatcher_Factory::
-create_dispatcher (const ConfigInfoSet& config_info_set)
-{
- Dispatcher_Impl* tmp;
- ACE_NEW_RETURN (tmp, Default_Dispatcher_Impl, (Dispatcher*)0);
- Dispatcher* disp;
- ACE_NEW_RETURN (disp, Dispatcher, (Dispatcher*)0);
- disp->implementation (tmp);
- tmp->init (config_info_set);
- return disp;
-}
-
-void
-DSRT_Dispatcher::implementation (DSRT_Dispatcher_Impl* impl)
-{
- dispatcher_impl_ = impl;
-}
-
-int
-DSRT_Dispatcher::schedule (guid_t guid, const DSRT_QoSDescriptor& qos)
-{
- return dispatcher_impl_->schedule (guid, qos);
-}
-
-int
-DSRT_Dispatcher::update_schedule (guid_t guid, const DSRT_QoSDescriptor& qos)
-{
- return dispatcher_impl_->update_schedule (guid, qos);
-}
-
-int
-DSRT_Dispatcher::cancel_schedule (guid_t guid, const DSRT_QoSDescriptor& qos)
-{
- return dispatcher_impl_->cancel_schedule (guid, qos);
-}
-
-DSRT_Dispatcher*
-Dispatcher_Factory::
-create_DSRT_dispatcher (const DSRT_ConfigInfo& config_info)
-{
- ACE_UNUSED_ARG ((config_info));
-
- DSRT_Dispatcher_Impl* tmp;
-
- //DSRT_Dispatcher_Impl::init_svcs ();
-
- ACE_Service_Config::open ("Kokyu", ACE_DEFAULT_LOGGER_KEY, 0);
-
- //tmp =
- // ACE_Dynamic_Service<DSRT_Dispatcher_Impl>::instance ("DSRT_Dispatcher_Impl");
-
- ACE_NEW_RETURN (tmp, DSRT_Dispatcher_Impl, (DSRT_Dispatcher*) 0);
- ACE_ASSERT (tmp != 0);
- DSRT_Dispatcher* disp;
- ACE_NEW_RETURN (disp, DSRT_Dispatcher, (DSRT_Dispatcher*)0);
- disp->implementation (tmp);
- tmp->init (config_info);
- return disp;
-}
-
-}
diff --git a/Kokyu/Kokyu.dsw b/Kokyu/Kokyu.dsw
deleted file mode 100644
index 9ce4ef90750..00000000000
--- a/Kokyu/Kokyu.dsw
+++ /dev/null
@@ -1,41 +0,0 @@
-Microsoft Developer Studio Workspace File, Format Version 6.00
-# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
-
-###############################################################################
-
-Project: "Kokyu_DLL"=.\Kokyu_DLL.dsp - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
-}}}
-
-###############################################################################
-
-Project: "Kokyu_static"=.\Kokyu_static.dsp - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
-}}}
-
-###############################################################################
-
-Global:
-
-Package=<5>
-{{{
-}}}
-
-Package=<3>
-{{{
-}}}
-
-###############################################################################
-
diff --git a/Kokyu/Kokyu.h b/Kokyu/Kokyu.h
deleted file mode 100644
index 9802c6a1dd5..00000000000
--- a/Kokyu/Kokyu.h
+++ /dev/null
@@ -1,163 +0,0 @@
-/* -*- C++ -*- */
-/**
- * @file Kokyu.h
- *
- * $Id$
- *
- * @author Venkita Subramonian (venkita@cs.wustl.edu)
- *
- * Based on previous work by Tim Harrison (harrison@cs.wustl.edu),
- * Chris Gill, Carlos O'Ryan and other members of the DOC group.
- */
-
-#ifndef KOKYU_H
-#define KOKYU_H
-#include "ace/pre.h"
-#include "ace/OS.h"
-
-#if !defined (ACE_LACKS_PRAGMA_ONCE)
-# pragma once
-#endif /* ACE_LACKS_PRAGMA_ONCE */
-
-#include "ace/Array.h"
-#include "ace/Time_Value.h"
-#include "ace/Auto_Ptr.h"
-#include "ace/Message_Block.h"
-#include "ace/Sched_Params.h"
-
-#include "kokyu_export.h"
-
-namespace Kokyu
-{
- typedef long Priority_t;
- typedef ACE_Time_Value Deadline_t; //absolute deadline
- typedef ACE_Time_Value Execution_Time_t; //execution time
-
- enum Dispatching_Type_t
- // Defines the type of prioritization strategy
- // to be used by a dispatching queue
- {
- FIFO_DISPATCHING,
- DEADLINE_DISPATCHING,
- LAXITY_DISPATCHING
- };
-
- enum Criticality_t
- // Defines the criticality of the operation.
- // For use with Dynamic Scheduler.
- {
- VERY_LOW_CRITICALITY,
- LOW_CRITICALITY,
- MEDIUM_CRITICALITY,
- HIGH_CRITICALITY,
- VERY_HIGH_CRITICALITY
- };
-
- enum Importance_t
- // Defines the importance of the operation,
- // which can be used by the RtecScheduler as a
- // "tie-breaker" when other scheduling
- // parameters are equal.
- {
- VERY_LOW_IMPORTANCE,
- LOW_IMPORTANCE,
- MEDIUM_IMPORTANCE,
- HIGH_IMPORTANCE,
- VERY_HIGH_IMPORTANCE
- };
-
- struct ConfigInfo
- {
- Priority_t preemption_priority_;
-
- // OS priority of the dispatching thread associated with the queue
- Priority_t thread_priority_;
-
- // type of dispatching queue
- Dispatching_Type_t dispatching_type_;
- };
-
- typedef ACE_Array<ConfigInfo> ConfigInfoSet;
-
- struct QoSDescriptor
- {
- Priority_t preemption_priority_;
- Deadline_t deadline_;
- Execution_Time_t execution_time_;
- Importance_t importance_;
- };
-
- struct DSRT_QoSDescriptor
- {
- short importance_;
- };
-
- class Kokyu_Export Dispatch_Command
- {
- public:
- Dispatch_Command(int dont_delete = 0);
-
- /// Command callback
- virtual int execute () = 0;
-
- int can_be_deleted () const;
-
- void destroy (void);
- protected:
- /// Destructor
- // only inheritance is possible and object should be on heap,
- // since object could be handed over to a different thread.
- virtual ~Dispatch_Command (void);
-
- private:
- int dont_delete_;
- };
-
- class Dispatcher_Impl;
- class DSRT_Dispatcher_Impl;
-
- struct DSRT_ConfigInfo
- {
- };
-
- typedef int guid_t;
- class Kokyu_Export DSRT_Dispatcher
- {
- public:
- int schedule (guid_t guid, const DSRT_QoSDescriptor&);
- int update_schedule (guid_t guid, const DSRT_QoSDescriptor&);
- int cancel_schedule (guid_t guid, const DSRT_QoSDescriptor&);
- void implementation (DSRT_Dispatcher_Impl*);
-
- private:
- DSRT_Dispatcher_Impl* dispatcher_impl_;
- };
-
- class Kokyu_Export Dispatcher
- {
- public:
- int dispatch (const Dispatch_Command*, const QoSDescriptor&);
- int shutdown ();
- void implementation (Dispatcher_Impl*);
- private:
- auto_ptr<Dispatcher_Impl> dispatcher_impl_;
- };
-
- class Kokyu_Export Dispatcher_Factory
- {
- public:
- //@@ Should we return auto_ptr<Dispatcher> instead?
- static Dispatcher* create_dispatcher (const ConfigInfoSet&);
- static DSRT_Dispatcher* create_DSRT_dispatcher (const DSRT_ConfigInfo&);
- };
-} //end of namespace
-
-#if defined (__ACE_INLINE__)
-#include "Kokyu.i"
-#endif /* __ACE_INLINE__ */
-
-#include "Dispatcher_Impl.h"
-#include "DSRT_Dispatcher_Impl.h"
-
-#include "ace/post.h"
-#endif /* KOKYU_H */
diff --git a/Kokyu/Kokyu.i b/Kokyu/Kokyu.i
deleted file mode 100644
index 583e64c237f..00000000000
--- a/Kokyu/Kokyu.i
+++ /dev/null
@@ -1,33 +0,0 @@
-// $Id$
-
-
-namespace Kokyu
-{
-
-ACE_INLINE
-Dispatch_Command::Dispatch_Command (int dont_delete)
- :dont_delete_ (dont_delete)
-{
-}
-
-ACE_INLINE
-int Dispatch_Command::can_be_deleted (void) const
-{
- return !dont_delete_;
-}
-
-ACE_INLINE
-void Dispatch_Command::destroy (void)
-{
- //@@what if it was allocated thru an allocator?
- //may be this should be left as a pure virtual
- delete this;
-}
-
-ACE_INLINE
-Dispatch_Command::~Dispatch_Command (void)
-{
-}
-
-
-}
diff --git a/Kokyu/Kokyu.mpc b/Kokyu/Kokyu.mpc
deleted file mode 100644
index 684029092b7..00000000000
--- a/Kokyu/Kokyu.mpc
+++ /dev/null
@@ -1,7 +0,0 @@
-project : Kokyulib, core {
- depends = ace
- sharedname = Kokyu
- dllflags = KOKYU_BUILD_DLL
- libout = ..
- include_dir = ace
-}
diff --git a/Kokyu/Kokyu_DLL.dsp b/Kokyu/Kokyu_DLL.dsp
deleted file mode 100644
index 96dfa903fc4..00000000000
--- a/Kokyu/Kokyu_DLL.dsp
+++ /dev/null
@@ -1,227 +0,0 @@
-# Microsoft Developer Studio Project File - Name="Kokyu_DLL" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 6.00
-# ** DO NOT EDIT **
-
-# TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102
-
-CFG=Kokyu_DLL - Win32 Debug
-!MESSAGE This is not a valid makefile. To build this project using NMAKE,
-!MESSAGE use the Export Makefile command and run
-!MESSAGE
-!MESSAGE NMAKE /f "Kokyu_DLL.mak".
-!MESSAGE
-!MESSAGE You can specify a configuration when running NMAKE
-!MESSAGE by defining the macro CFG on the command line. For example:
-!MESSAGE
-!MESSAGE NMAKE /f "Kokyu_DLL.mak" CFG="Kokyu_DLL - Win32 Debug"
-!MESSAGE
-!MESSAGE Possible choices for configuration are:
-!MESSAGE
-!MESSAGE "Kokyu_DLL - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library")
-!MESSAGE "Kokyu_DLL - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library")
-!MESSAGE
-
-# Begin Project
-# PROP AllowPerConfigDependencies 0
-# PROP Scc_ProjName ""
-# PROP Scc_LocalPath ""
-CPP=cl.exe
-MTL=midl.exe
-RSC=rc.exe
-
-!IF "$(CFG)" == "Kokyu_DLL - Win32 Release"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "Release"
-# PROP BASE Intermediate_Dir "Release"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir ""
-# PROP Intermediate_Dir "DLL\Release"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "KOKYU_DLL_EXPORTS" /YX /FD /c
-# ADD CPP /nologo /MD /W3 /GX /O2 /I "..\\" /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "KOKYU_BUILD_DLL" /FD /c
-# SUBTRACT CPP /YX
-# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32
-# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32
-# ADD BASE RSC /l 0x409 /d "NDEBUG"
-# ADD RSC /l 0x409 /d "NDEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo /o"Kokyu.bsc"
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /machine:I386
-# ADD LINK32 ace.lib /nologo /dll /machine:I386 /out:"..\bin\Kokyu.dll" /libpath:"../ace"
-# SUBTRACT LINK32 /incremental:yes /debug
-
-!ELSEIF "$(CFG)" == "Kokyu_DLL - Win32 Debug"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir "Debug"
-# PROP BASE Intermediate_Dir "Debug"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir ""
-# PROP Intermediate_Dir "DLL\Debug"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /MTd /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "KOKYU_DLL_EXPORTS" /YX /FD /c
-# ADD CPP /nologo /MDd /W3 /Gm /GX /Zi /Od /I ".." /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "KOKYU_BUILD_DLL" /FD /c
-# SUBTRACT CPP /YX
-# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32
-# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32
-# ADD BASE RSC /l 0x409 /d "_DEBUG"
-# ADD RSC /l 0x409 /d "_DEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo /o"Kokyu.bsc"
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /debug /machine:I386 /pdbtype:sept
-# ADD LINK32 aced.lib /nologo /dll /debug /machine:I386 /out:"..\bin\Kokyud.dll" /pdbtype:sept /libpath:"../ace"
-
-!ENDIF
-
-# Begin Target
-
-# Name "Kokyu_DLL - Win32 Release"
-# Name "Kokyu_DLL - Win32 Debug"
-# Begin Group "Source Files"
-
-# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
-# Begin Source File
-
-SOURCE=.\Default_Dispatcher_Impl.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\Dispatcher_Impl.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\Dispatcher_Task.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\DSRT_Dispatcher_Impl.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\DSRT_Schedulers.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\Kokyu.cpp
-# End Source File
-# End Group
-# Begin Group "Header Files"
-
-# PROP Default_Filter "h;hpp;hxx;hm;inl"
-# Begin Source File
-
-SOURCE=.\Default_Dispatcher_Impl.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\Dispatcher_Impl.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\Dispatcher_Task.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\DSRT_Dispatcher_Impl.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\DSRT_Schedulers.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\Kokyu.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\kokyu_export.h
-# End Source File
-# End Group
-# Begin Group "Resource Files"
-
-# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
-# End Group
-# Begin Group "Inline Files"
-
-# PROP Default_Filter ""
-# Begin Source File
-
-SOURCE=.\Default_Dispatcher_Impl.i
-
-!IF "$(CFG)" == "Kokyu_DLL - Win32 Release"
-
-!ELSEIF "$(CFG)" == "Kokyu_DLL - Win32 Debug"
-
-# PROP Exclude_From_Build 1
-
-!ENDIF
-
-# End Source File
-# Begin Source File
-
-SOURCE=.\Dispatcher_Impl.i
-
-!IF "$(CFG)" == "Kokyu_DLL - Win32 Release"
-
-!ELSEIF "$(CFG)" == "Kokyu_DLL - Win32 Debug"
-
-# PROP Exclude_From_Build 1
-
-!ENDIF
-
-# End Source File
-# Begin Source File
-
-SOURCE=.\Dispatcher_Task.i
-
-!IF "$(CFG)" == "Kokyu_DLL - Win32 Release"
-
-!ELSEIF "$(CFG)" == "Kokyu_DLL - Win32 Debug"
-
-# PROP Exclude_From_Build 1
-
-!ENDIF
-
-# End Source File
-# Begin Source File
-
-SOURCE=.\DSRT_Dispatcher_Impl.i
-
-!IF "$(CFG)" == "Kokyu_DLL - Win32 Release"
-
-!ELSEIF "$(CFG)" == "Kokyu_DLL - Win32 Debug"
-
-# PROP Exclude_From_Build 1
-
-!ENDIF
-
-# End Source File
-# Begin Source File
-
-SOURCE=.\Kokyu.i
-
-!IF "$(CFG)" == "Kokyu_DLL - Win32 Release"
-
-!ELSEIF "$(CFG)" == "Kokyu_DLL - Win32 Debug"
-
-# PROP Exclude_From_Build 1
-
-!ENDIF
-
-# End Source File
-# End Group
-# End Target
-# End Project
diff --git a/Kokyu/Kokyu_Static.dsp b/Kokyu/Kokyu_Static.dsp
deleted file mode 100644
index 87dcd65a8f6..00000000000
--- a/Kokyu/Kokyu_Static.dsp
+++ /dev/null
@@ -1,215 +0,0 @@
-# Microsoft Developer Studio Project File - Name="Kokyu_Static" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 6.00
-# ** DO NOT EDIT **
-
-# TARGTYPE "Win32 (x86) Static Library" 0x0104
-
-CFG=Kokyu_Static - Win32 Debug
-!MESSAGE This is not a valid makefile. To build this project using NMAKE,
-!MESSAGE use the Export Makefile command and run
-!MESSAGE
-!MESSAGE NMAKE /f "Kokyu_static.mak".
-!MESSAGE
-!MESSAGE You can specify a configuration when running NMAKE
-!MESSAGE by defining the macro CFG on the command line. For example:
-!MESSAGE
-!MESSAGE NMAKE /f "Kokyu_static.mak" CFG="Kokyu_Static - Win32 Debug"
-!MESSAGE
-!MESSAGE Possible choices for configuration are:
-!MESSAGE
-!MESSAGE "Kokyu_Static - Win32 Release" (based on "Win32 (x86) Static Library")
-!MESSAGE "Kokyu_Static - Win32 Debug" (based on "Win32 (x86) Static Library")
-!MESSAGE
-
-# Begin Project
-# PROP AllowPerConfigDependencies 0
-# PROP Scc_ProjName ""
-# PROP Scc_LocalPath ""
-CPP=cl.exe
-RSC=rc.exe
-
-!IF "$(CFG)" == "Kokyu_Static - Win32 Release"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "Release"
-# PROP BASE Intermediate_Dir "Release"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir ""
-# PROP Intermediate_Dir "Static\Release"
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_MBCS" /D "_LIB" /YX /FD /c
-# ADD CPP /nologo /MD /W3 /GX /O2 /I ".." /D "WIN32" /D "NDEBUG" /D "_MBCS" /D "_LIB" /D "ACE_AS_STATIC_LIBS" /FD /c
-# SUBTRACT CPP /YX
-# ADD BASE RSC /l 0x409 /d "NDEBUG"
-# ADD RSC /l 0x409 /d "NDEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LIB32=link.exe -lib
-# ADD BASE LIB32 /nologo
-# ADD LIB32 /nologo /out:"Kokyus.lib"
-
-!ELSEIF "$(CFG)" == "Kokyu_Static - Win32 Debug"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir "Debug"
-# PROP BASE Intermediate_Dir "Debug"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir ""
-# PROP Intermediate_Dir "Static\Debug"
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_MBCS" /D "_LIB" /YX /FD /c
-# ADD CPP /nologo /MDd /W3 /Gm /GX /Zi /Od /I ".." /D "WIN32" /D "_DEBUG" /D "_MBCS" /D "_LIB" /D "ACE_AS_STATIC_LIBS" /FD /c
-# SUBTRACT CPP /YX
-# ADD BASE RSC /l 0x409 /d "_DEBUG"
-# ADD RSC /l 0x409 /d "_DEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LIB32=link.exe -lib
-# ADD BASE LIB32 /nologo
-# ADD LIB32 /nologo /out:"Kokyusd.lib"
-
-!ENDIF
-
-# Begin Target
-
-# Name "Kokyu_Static - Win32 Release"
-# Name "Kokyu_Static - Win32 Debug"
-# Begin Group "Source Files"
-
-# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
-# Begin Source File
-
-SOURCE=.\Default_Dispatcher_Impl.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\Dispatcher_Impl.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\Dispatcher_Task.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\DSRT_Dispatcher_Impl.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\DSRT_Schedulers.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\Kokyu.cpp
-# End Source File
-# End Group
-# Begin Group "Header Files"
-
-# PROP Default_Filter "h;hpp;hxx;hm;inl"
-# Begin Source File
-
-SOURCE=.\Default_Dispatcher_Impl.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\Dispatcher_Impl.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\Dispatcher_Task.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\DSRT_Dispatcher_Impl.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\DSRT_Schedulers.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\Kokyu.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\kokyu_export.h
-# End Source File
-# End Group
-# Begin Group "Inline Files"
-
-# PROP Default_Filter ""
-# Begin Source File
-
-SOURCE=.\Default_Dispatcher_Impl.i
-
-!IF "$(CFG)" == "Kokyu_Static - Win32 Release"
-
-!ELSEIF "$(CFG)" == "Kokyu_Static - Win32 Debug"
-
-# PROP Exclude_From_Build 1
-
-!ENDIF
-
-# End Source File
-# Begin Source File
-
-SOURCE=.\Dispatcher_Impl.i
-
-!IF "$(CFG)" == "Kokyu_Static - Win32 Release"
-
-!ELSEIF "$(CFG)" == "Kokyu_Static - Win32 Debug"
-
-# PROP Exclude_From_Build 1
-
-!ENDIF
-
-# End Source File
-# Begin Source File
-
-SOURCE=.\Dispatcher_Task.i
-
-!IF "$(CFG)" == "Kokyu_Static - Win32 Release"
-
-!ELSEIF "$(CFG)" == "Kokyu_Static - Win32 Debug"
-
-# PROP Exclude_From_Build 1
-
-!ENDIF
-
-# End Source File
-# Begin Source File
-
-SOURCE=.\DSRT_Dispatcher_Impl.i
-
-!IF "$(CFG)" == "Kokyu_Static - Win32 Release"
-
-!ELSEIF "$(CFG)" == "Kokyu_Static - Win32 Debug"
-
-# PROP Exclude_From_Build 1
-
-!ENDIF
-
-# End Source File
-# Begin Source File
-
-SOURCE=.\Kokyu.i
-
-!IF "$(CFG)" == "Kokyu_Static - Win32 Release"
-
-!ELSEIF "$(CFG)" == "Kokyu_Static - Win32 Debug"
-
-# PROP Exclude_From_Build 1
-
-!ENDIF
-
-# End Source File
-# End Group
-# End Target
-# End Project
diff --git a/Kokyu/Makefile b/Kokyu/Makefile
deleted file mode 100644
index 38c133d2a9e..00000000000
--- a/Kokyu/Makefile
+++ /dev/null
@@ -1,584 +0,0 @@
-#----------------------------------------------------------------------------
-#
-# $Id$
-#
-#----------------------------------------------------------------------------
-
-MAKEFILE = Makefile
-LIBNAME = libKokyu
-LIB = $(LIBNAME).a
-SHLIB = $(LIBNAME).$(SOEXT)
-
-CPP_SRCS += \
- Kokyu \
- Dispatcher_Impl \
- Dispatcher_Task \
- Default_Dispatcher_Impl \
- DSRT_Dispatcher_Impl \
- DSRT_Schedulers
-
-FILES = $(CPP_SRCS)
-DEFS = $(addsuffix .h,$(FILES))
-LSRC = $(addsuffix .cpp,$(FILES))
-LIBS=$(ACELIB)
-
-#----------------------------------------------------------------------------
-# Include macros and targets
-#----------------------------------------------------------------------------
-
-include $(ACE_ROOT)/include/makeinclude/wrapper_macros.GNU
-include $(ACE_ROOT)/include/makeinclude/macros.GNU
-include $(ACE_ROOT)/include/makeinclude/rules.common.GNU
-include $(ACE_ROOT)/include/makeinclude/rules.nonested.GNU
-include $(ACE_ROOT)/include/makeinclude/rules.lib.GNU
-include $(ACE_ROOT)/include/makeinclude/rules.local.GNU
-
-#----------------------------------------------------------------------------
-# Local targets
-#----------------------------------------------------------------------------
-
-ifeq ($(shared_libs),1)
-ifneq ($(SHLIB),)
-CPPFLAGS += -DKOKYU_BUILD_DLL
-endif
-endif
-ifeq ($(static_libs),1)
-ifneq ($(LIB),)
-CPPFLAGS += -DACE_AS_STATIC_LIBS
-endif
-endif
-
-
-
-#----------------------------------------------------------------------------
-# Dependencies
-#----------------------------------------------------------------------------
-
-
-
-# DO NOT DELETE THIS LINE -- g++dep uses it.
-# DO NOT PUT ANYTHING AFTER THIS LINE, IT WILL GO AWAY.
-
-
-.obj/Kokyu.o .obj/Kokyu.so .shobj/Kokyu.o .shobj/Kokyu.so: Kokyu.cpp Kokyu.h \
- $(ACE_ROOT)/ace/pre.h \
- $(ACE_ROOT)/ace/Auto_Ptr.h \
- $(ACE_ROOT)/ace/post.h \
- $(ACE_ROOT)/ace/ace_wchar.h \
- $(ACE_ROOT)/ace/ace_wchar.inl \
- $(ACE_ROOT)/ace/Trace.h \
- $(ACE_ROOT)/ace/ACE_export.h \
- $(ACE_ROOT)/ace/Global_Macros.h \
- $(ACE_ROOT)/ace/OS_Export.h \
- $(ACE_ROOT)/ace/Auto_Ptr.i \
- $(ACE_ROOT)/ace/Auto_Ptr.cpp \
- kokyu_export.h Kokyu.i Default_Dispatcher_Impl.h \
- $(ACE_ROOT)/ace/Task.h \
- $(ACE_ROOT)/ace/Service_Object.h \
- $(ACE_ROOT)/ace/Shared_Object.h \
- $(ACE_ROOT)/ace/OS.h \
- $(ACE_ROOT)/ace/OS_Dirent.h \
- $(ACE_ROOT)/ace/OS_Errno.h \
- $(ACE_ROOT)/ace/OS_Errno.inl \
- $(ACE_ROOT)/ace/OS_Dirent.inl \
- $(ACE_ROOT)/ace/OS_String.h \
- $(ACE_ROOT)/ace/Basic_Types.h \
- $(ACE_ROOT)/ace/Basic_Types.i \
- $(ACE_ROOT)/ace/OS_String.inl \
- $(ACE_ROOT)/ace/OS_Memory.h \
- $(ACE_ROOT)/ace/OS_Memory.inl \
- $(ACE_ROOT)/ace/OS_TLI.h \
- $(ACE_ROOT)/ace/OS_TLI.inl \
- $(ACE_ROOT)/ace/Time_Value.h \
- $(ACE_ROOT)/ace/Time_Value.inl \
- $(ACE_ROOT)/ace/Default_Constants.h \
- $(ACE_ROOT)/ace/Min_Max.h \
- $(ACE_ROOT)/ace/streams.h \
- $(ACE_ROOT)/ace/OS.i \
- $(ACE_ROOT)/ace/Shared_Object.i \
- $(ACE_ROOT)/ace/Svc_Conf_Tokens.h \
- $(ACE_ROOT)/ace/Event_Handler.h \
- $(ACE_ROOT)/ace/Event_Handler.i \
- $(ACE_ROOT)/ace/DLL.h \
- $(ACE_ROOT)/ace/Service_Object.i \
- $(ACE_ROOT)/ace/Thread_Manager.h \
- $(ACE_ROOT)/ace/Thread.h \
- $(ACE_ROOT)/ace/Thread_Adapter.h \
- $(ACE_ROOT)/ace/Base_Thread_Adapter.h \
- $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \
- $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \
- $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \
- $(ACE_ROOT)/ace/Thread_Adapter.inl \
- $(ACE_ROOT)/ace/Thread.i \
- $(ACE_ROOT)/ace/Thread_Exit.h \
- $(ACE_ROOT)/ace/Thread_Control.h \
- $(ACE_ROOT)/ace/Thread_Control.inl \
- $(ACE_ROOT)/ace/Synch.h \
- $(ACE_ROOT)/ace/Synch.i \
- $(ACE_ROOT)/ace/Synch_T.h \
- $(ACE_ROOT)/ace/Synch_T.i \
- $(ACE_ROOT)/ace/Synch_T.cpp \
- $(ACE_ROOT)/ace/Log_Msg.h \
- $(ACE_ROOT)/ace/Log_Priority.h \
- $(ACE_ROOT)/ace/Unbounded_Queue.h \
- $(ACE_ROOT)/ace/Node.h \
- $(ACE_ROOT)/ace/Node.cpp \
- $(ACE_ROOT)/ace/Unbounded_Queue.inl \
- $(ACE_ROOT)/ace/Unbounded_Queue.cpp \
- $(ACE_ROOT)/ace/Malloc_Base.h \
- $(ACE_ROOT)/ace/Containers.h \
- $(ACE_ROOT)/ace/Containers.i \
- $(ACE_ROOT)/ace/Containers_T.h \
- $(ACE_ROOT)/ace/Array_Base.h \
- $(ACE_ROOT)/ace/Array_Base.inl \
- $(ACE_ROOT)/ace/Array_Base.cpp \
- $(ACE_ROOT)/ace/Unbounded_Set.h \
- $(ACE_ROOT)/ace/Unbounded_Set.inl \
- $(ACE_ROOT)/ace/Unbounded_Set.cpp \
- $(ACE_ROOT)/ace/Containers_T.i \
- $(ACE_ROOT)/ace/Containers_T.cpp \
- $(ACE_ROOT)/ace/Free_List.h \
- $(ACE_ROOT)/ace/Free_List.i \
- $(ACE_ROOT)/ace/Free_List.cpp \
- $(ACE_ROOT)/ace/Singleton.h \
- $(ACE_ROOT)/ace/Singleton.i \
- $(ACE_ROOT)/ace/Singleton.cpp \
- $(ACE_ROOT)/ace/Object_Manager.h \
- $(ACE_ROOT)/ace/Object_Manager.i \
- $(ACE_ROOT)/ace/Managed_Object.h \
- $(ACE_ROOT)/ace/Managed_Object.i \
- $(ACE_ROOT)/ace/Managed_Object.cpp \
- $(ACE_ROOT)/ace/Framework_Component.h \
- $(ACE_ROOT)/ace/Framework_Component.inl \
- $(ACE_ROOT)/ace/ACE.h \
- $(ACE_ROOT)/ace/Flag_Manip.h \
- $(ACE_ROOT)/ace/Flag_Manip.i \
- $(ACE_ROOT)/ace/Handle_Ops.h \
- $(ACE_ROOT)/ace/Handle_Ops.i \
- $(ACE_ROOT)/ace/Lib_Find.h \
- $(ACE_ROOT)/ace/Lib_Find.i \
- $(ACE_ROOT)/ace/Init_ACE.h \
- $(ACE_ROOT)/ace/Init_ACE.i \
- $(ACE_ROOT)/ace/Sock_Connect.h \
- $(ACE_ROOT)/ace/Sock_Connect.i \
- $(ACE_ROOT)/ace/ACE.i \
- $(ACE_ROOT)/ace/Framework_Component_T.h \
- $(ACE_ROOT)/ace/Framework_Component_T.inl \
- $(ACE_ROOT)/ace/Framework_Component_T.cpp \
- $(ACE_ROOT)/ace/Thread_Manager.i \
- $(ACE_ROOT)/ace/Task.i \
- $(ACE_ROOT)/ace/Task_T.h \
- $(ACE_ROOT)/ace/Message_Queue.h \
- $(ACE_ROOT)/ace/Message_Block.h \
- $(ACE_ROOT)/ace/Message_Block.i \
- $(ACE_ROOT)/ace/Message_Block_T.h \
- $(ACE_ROOT)/ace/Message_Block_T.i \
- $(ACE_ROOT)/ace/Message_Block_T.cpp \
- $(ACE_ROOT)/ace/IO_Cntl_Msg.h \
- $(ACE_ROOT)/ace/Message_Queue_T.h \
- $(ACE_ROOT)/ace/Message_Queue_T.i \
- $(ACE_ROOT)/ace/Message_Queue_T.cpp \
- $(ACE_ROOT)/ace/Notification_Strategy.h \
- $(ACE_ROOT)/ace/Notification_Strategy.inl \
- $(ACE_ROOT)/ace/Message_Queue.i \
- $(ACE_ROOT)/ace/Task_T.i \
- $(ACE_ROOT)/ace/Task_T.cpp \
- $(ACE_ROOT)/ace/Module.h \
- $(ACE_ROOT)/ace/Module.i \
- $(ACE_ROOT)/ace/Module.cpp \
- $(ACE_ROOT)/ace/Stream_Modules.h \
- $(ACE_ROOT)/ace/Stream_Modules.cpp \
- Dispatcher_Impl.h Dispatcher_Impl.i Dispatcher_Task.h \
- Dispatcher_Task.i Default_Dispatcher_Impl.i
-
-.obj/Dispatcher_Impl.o .obj/Dispatcher_Impl.so .shobj/Dispatcher_Impl.o .shobj/Dispatcher_Impl.so: Dispatcher_Impl.cpp Dispatcher_Impl.h \
- $(ACE_ROOT)/ace/pre.h \
- $(ACE_ROOT)/ace/Task.h \
- $(ACE_ROOT)/ace/Service_Object.h \
- $(ACE_ROOT)/ace/Shared_Object.h \
- $(ACE_ROOT)/ace/ACE_export.h \
- $(ACE_ROOT)/ace/post.h \
- $(ACE_ROOT)/ace/ace_wchar.h \
- $(ACE_ROOT)/ace/ace_wchar.inl \
- $(ACE_ROOT)/ace/OS.h \
- $(ACE_ROOT)/ace/OS_Dirent.h \
- $(ACE_ROOT)/ace/OS_Export.h \
- $(ACE_ROOT)/ace/OS_Errno.h \
- $(ACE_ROOT)/ace/OS_Errno.inl \
- $(ACE_ROOT)/ace/OS_Dirent.inl \
- $(ACE_ROOT)/ace/OS_String.h \
- $(ACE_ROOT)/ace/Basic_Types.h \
- $(ACE_ROOT)/ace/Basic_Types.i \
- $(ACE_ROOT)/ace/OS_String.inl \
- $(ACE_ROOT)/ace/OS_Memory.h \
- $(ACE_ROOT)/ace/OS_Memory.inl \
- $(ACE_ROOT)/ace/OS_TLI.h \
- $(ACE_ROOT)/ace/OS_TLI.inl \
- $(ACE_ROOT)/ace/Time_Value.h \
- $(ACE_ROOT)/ace/Time_Value.inl \
- $(ACE_ROOT)/ace/Default_Constants.h \
- $(ACE_ROOT)/ace/Global_Macros.h \
- $(ACE_ROOT)/ace/Min_Max.h \
- $(ACE_ROOT)/ace/streams.h \
- $(ACE_ROOT)/ace/Trace.h \
- $(ACE_ROOT)/ace/OS.i \
- $(ACE_ROOT)/ace/Shared_Object.i \
- $(ACE_ROOT)/ace/Svc_Conf_Tokens.h \
- $(ACE_ROOT)/ace/Event_Handler.h \
- $(ACE_ROOT)/ace/Event_Handler.i \
- $(ACE_ROOT)/ace/DLL.h \
- $(ACE_ROOT)/ace/Service_Object.i \
- $(ACE_ROOT)/ace/Thread_Manager.h \
- $(ACE_ROOT)/ace/Thread.h \
- $(ACE_ROOT)/ace/Thread_Adapter.h \
- $(ACE_ROOT)/ace/Base_Thread_Adapter.h \
- $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \
- $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \
- $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \
- $(ACE_ROOT)/ace/Thread_Adapter.inl \
- $(ACE_ROOT)/ace/Thread.i \
- $(ACE_ROOT)/ace/Thread_Exit.h \
- $(ACE_ROOT)/ace/Thread_Control.h \
- $(ACE_ROOT)/ace/Thread_Control.inl \
- $(ACE_ROOT)/ace/Synch.h \
- $(ACE_ROOT)/ace/Synch.i \
- $(ACE_ROOT)/ace/Synch_T.h \
- $(ACE_ROOT)/ace/Synch_T.i \
- $(ACE_ROOT)/ace/Synch_T.cpp \
- $(ACE_ROOT)/ace/Log_Msg.h \
- $(ACE_ROOT)/ace/Log_Priority.h \
- $(ACE_ROOT)/ace/Unbounded_Queue.h \
- $(ACE_ROOT)/ace/Node.h \
- $(ACE_ROOT)/ace/Node.cpp \
- $(ACE_ROOT)/ace/Unbounded_Queue.inl \
- $(ACE_ROOT)/ace/Unbounded_Queue.cpp \
- $(ACE_ROOT)/ace/Malloc_Base.h \
- $(ACE_ROOT)/ace/Containers.h \
- $(ACE_ROOT)/ace/Containers.i \
- $(ACE_ROOT)/ace/Containers_T.h \
- $(ACE_ROOT)/ace/Array_Base.h \
- $(ACE_ROOT)/ace/Array_Base.inl \
- $(ACE_ROOT)/ace/Array_Base.cpp \
- $(ACE_ROOT)/ace/Unbounded_Set.h \
- $(ACE_ROOT)/ace/Unbounded_Set.inl \
- $(ACE_ROOT)/ace/Unbounded_Set.cpp \
- $(ACE_ROOT)/ace/Containers_T.i \
- $(ACE_ROOT)/ace/Containers_T.cpp \
- $(ACE_ROOT)/ace/Free_List.h \
- $(ACE_ROOT)/ace/Free_List.i \
- $(ACE_ROOT)/ace/Free_List.cpp \
- $(ACE_ROOT)/ace/Singleton.h \
- $(ACE_ROOT)/ace/Singleton.i \
- $(ACE_ROOT)/ace/Singleton.cpp \
- $(ACE_ROOT)/ace/Object_Manager.h \
- $(ACE_ROOT)/ace/Object_Manager.i \
- $(ACE_ROOT)/ace/Managed_Object.h \
- $(ACE_ROOT)/ace/Managed_Object.i \
- $(ACE_ROOT)/ace/Managed_Object.cpp \
- $(ACE_ROOT)/ace/Framework_Component.h \
- $(ACE_ROOT)/ace/Framework_Component.inl \
- $(ACE_ROOT)/ace/ACE.h \
- $(ACE_ROOT)/ace/Flag_Manip.h \
- $(ACE_ROOT)/ace/Flag_Manip.i \
- $(ACE_ROOT)/ace/Handle_Ops.h \
- $(ACE_ROOT)/ace/Handle_Ops.i \
- $(ACE_ROOT)/ace/Lib_Find.h \
- $(ACE_ROOT)/ace/Lib_Find.i \
- $(ACE_ROOT)/ace/Init_ACE.h \
- $(ACE_ROOT)/ace/Init_ACE.i \
- $(ACE_ROOT)/ace/Sock_Connect.h \
- $(ACE_ROOT)/ace/Sock_Connect.i \
- $(ACE_ROOT)/ace/ACE.i \
- $(ACE_ROOT)/ace/Framework_Component_T.h \
- $(ACE_ROOT)/ace/Framework_Component_T.inl \
- $(ACE_ROOT)/ace/Framework_Component_T.cpp \
- $(ACE_ROOT)/ace/Thread_Manager.i \
- $(ACE_ROOT)/ace/Task.i \
- $(ACE_ROOT)/ace/Task_T.h \
- $(ACE_ROOT)/ace/Message_Queue.h \
- $(ACE_ROOT)/ace/Message_Block.h \
- $(ACE_ROOT)/ace/Message_Block.i \
- $(ACE_ROOT)/ace/Message_Block_T.h \
- $(ACE_ROOT)/ace/Message_Block_T.i \
- $(ACE_ROOT)/ace/Message_Block_T.cpp \
- $(ACE_ROOT)/ace/IO_Cntl_Msg.h \
- $(ACE_ROOT)/ace/Message_Queue_T.h \
- $(ACE_ROOT)/ace/Message_Queue_T.i \
- $(ACE_ROOT)/ace/Message_Queue_T.cpp \
- $(ACE_ROOT)/ace/Notification_Strategy.h \
- $(ACE_ROOT)/ace/Notification_Strategy.inl \
- $(ACE_ROOT)/ace/Message_Queue.i \
- $(ACE_ROOT)/ace/Task_T.i \
- $(ACE_ROOT)/ace/Task_T.cpp \
- $(ACE_ROOT)/ace/Module.h \
- $(ACE_ROOT)/ace/Module.i \
- $(ACE_ROOT)/ace/Module.cpp \
- $(ACE_ROOT)/ace/Stream_Modules.h \
- $(ACE_ROOT)/ace/Stream_Modules.cpp \
- $(ACE_ROOT)/ace/Auto_Ptr.h \
- $(ACE_ROOT)/ace/Auto_Ptr.i \
- $(ACE_ROOT)/ace/Auto_Ptr.cpp \
- kokyu_export.h Kokyu.h Kokyu.i Dispatcher_Impl.i
-
-.obj/Dispatcher_Task.o .obj/Dispatcher_Task.so .shobj/Dispatcher_Task.o .shobj/Dispatcher_Task.so: Dispatcher_Task.cpp Dispatcher_Task.h \
- $(ACE_ROOT)/ace/pre.h \
- $(ACE_ROOT)/ace/Task.h \
- $(ACE_ROOT)/ace/Service_Object.h \
- $(ACE_ROOT)/ace/Shared_Object.h \
- $(ACE_ROOT)/ace/ACE_export.h \
- $(ACE_ROOT)/ace/post.h \
- $(ACE_ROOT)/ace/ace_wchar.h \
- $(ACE_ROOT)/ace/ace_wchar.inl \
- $(ACE_ROOT)/ace/OS.h \
- $(ACE_ROOT)/ace/OS_Dirent.h \
- $(ACE_ROOT)/ace/OS_Export.h \
- $(ACE_ROOT)/ace/OS_Errno.h \
- $(ACE_ROOT)/ace/OS_Errno.inl \
- $(ACE_ROOT)/ace/OS_Dirent.inl \
- $(ACE_ROOT)/ace/OS_String.h \
- $(ACE_ROOT)/ace/Basic_Types.h \
- $(ACE_ROOT)/ace/Basic_Types.i \
- $(ACE_ROOT)/ace/OS_String.inl \
- $(ACE_ROOT)/ace/OS_Memory.h \
- $(ACE_ROOT)/ace/OS_Memory.inl \
- $(ACE_ROOT)/ace/OS_TLI.h \
- $(ACE_ROOT)/ace/OS_TLI.inl \
- $(ACE_ROOT)/ace/Time_Value.h \
- $(ACE_ROOT)/ace/Time_Value.inl \
- $(ACE_ROOT)/ace/Default_Constants.h \
- $(ACE_ROOT)/ace/Global_Macros.h \
- $(ACE_ROOT)/ace/Min_Max.h \
- $(ACE_ROOT)/ace/streams.h \
- $(ACE_ROOT)/ace/Trace.h \
- $(ACE_ROOT)/ace/OS.i \
- $(ACE_ROOT)/ace/Shared_Object.i \
- $(ACE_ROOT)/ace/Svc_Conf_Tokens.h \
- $(ACE_ROOT)/ace/Event_Handler.h \
- $(ACE_ROOT)/ace/Event_Handler.i \
- $(ACE_ROOT)/ace/DLL.h \
- $(ACE_ROOT)/ace/Service_Object.i \
- $(ACE_ROOT)/ace/Thread_Manager.h \
- $(ACE_ROOT)/ace/Thread.h \
- $(ACE_ROOT)/ace/Thread_Adapter.h \
- $(ACE_ROOT)/ace/Base_Thread_Adapter.h \
- $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \
- $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \
- $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \
- $(ACE_ROOT)/ace/Thread_Adapter.inl \
- $(ACE_ROOT)/ace/Thread.i \
- $(ACE_ROOT)/ace/Thread_Exit.h \
- $(ACE_ROOT)/ace/Thread_Control.h \
- $(ACE_ROOT)/ace/Thread_Control.inl \
- $(ACE_ROOT)/ace/Synch.h \
- $(ACE_ROOT)/ace/Synch.i \
- $(ACE_ROOT)/ace/Synch_T.h \
- $(ACE_ROOT)/ace/Synch_T.i \
- $(ACE_ROOT)/ace/Synch_T.cpp \
- $(ACE_ROOT)/ace/Log_Msg.h \
- $(ACE_ROOT)/ace/Log_Priority.h \
- $(ACE_ROOT)/ace/Unbounded_Queue.h \
- $(ACE_ROOT)/ace/Node.h \
- $(ACE_ROOT)/ace/Node.cpp \
- $(ACE_ROOT)/ace/Unbounded_Queue.inl \
- $(ACE_ROOT)/ace/Unbounded_Queue.cpp \
- $(ACE_ROOT)/ace/Malloc_Base.h \
- $(ACE_ROOT)/ace/Containers.h \
- $(ACE_ROOT)/ace/Containers.i \
- $(ACE_ROOT)/ace/Containers_T.h \
- $(ACE_ROOT)/ace/Array_Base.h \
- $(ACE_ROOT)/ace/Array_Base.inl \
- $(ACE_ROOT)/ace/Array_Base.cpp \
- $(ACE_ROOT)/ace/Unbounded_Set.h \
- $(ACE_ROOT)/ace/Unbounded_Set.inl \
- $(ACE_ROOT)/ace/Unbounded_Set.cpp \
- $(ACE_ROOT)/ace/Containers_T.i \
- $(ACE_ROOT)/ace/Containers_T.cpp \
- $(ACE_ROOT)/ace/Free_List.h \
- $(ACE_ROOT)/ace/Free_List.i \
- $(ACE_ROOT)/ace/Free_List.cpp \
- $(ACE_ROOT)/ace/Singleton.h \
- $(ACE_ROOT)/ace/Singleton.i \
- $(ACE_ROOT)/ace/Singleton.cpp \
- $(ACE_ROOT)/ace/Object_Manager.h \
- $(ACE_ROOT)/ace/Object_Manager.i \
- $(ACE_ROOT)/ace/Managed_Object.h \
- $(ACE_ROOT)/ace/Managed_Object.i \
- $(ACE_ROOT)/ace/Managed_Object.cpp \
- $(ACE_ROOT)/ace/Framework_Component.h \
- $(ACE_ROOT)/ace/Framework_Component.inl \
- $(ACE_ROOT)/ace/ACE.h \
- $(ACE_ROOT)/ace/Flag_Manip.h \
- $(ACE_ROOT)/ace/Flag_Manip.i \
- $(ACE_ROOT)/ace/Handle_Ops.h \
- $(ACE_ROOT)/ace/Handle_Ops.i \
- $(ACE_ROOT)/ace/Lib_Find.h \
- $(ACE_ROOT)/ace/Lib_Find.i \
- $(ACE_ROOT)/ace/Init_ACE.h \
- $(ACE_ROOT)/ace/Init_ACE.i \
- $(ACE_ROOT)/ace/Sock_Connect.h \
- $(ACE_ROOT)/ace/Sock_Connect.i \
- $(ACE_ROOT)/ace/ACE.i \
- $(ACE_ROOT)/ace/Framework_Component_T.h \
- $(ACE_ROOT)/ace/Framework_Component_T.inl \
- $(ACE_ROOT)/ace/Framework_Component_T.cpp \
- $(ACE_ROOT)/ace/Thread_Manager.i \
- $(ACE_ROOT)/ace/Task.i \
- $(ACE_ROOT)/ace/Task_T.h \
- $(ACE_ROOT)/ace/Message_Queue.h \
- $(ACE_ROOT)/ace/Message_Block.h \
- $(ACE_ROOT)/ace/Message_Block.i \
- $(ACE_ROOT)/ace/Message_Block_T.h \
- $(ACE_ROOT)/ace/Message_Block_T.i \
- $(ACE_ROOT)/ace/Message_Block_T.cpp \
- $(ACE_ROOT)/ace/IO_Cntl_Msg.h \
- $(ACE_ROOT)/ace/Message_Queue_T.h \
- $(ACE_ROOT)/ace/Message_Queue_T.i \
- $(ACE_ROOT)/ace/Message_Queue_T.cpp \
- $(ACE_ROOT)/ace/Notification_Strategy.h \
- $(ACE_ROOT)/ace/Notification_Strategy.inl \
- $(ACE_ROOT)/ace/Message_Queue.i \
- $(ACE_ROOT)/ace/Task_T.i \
- $(ACE_ROOT)/ace/Task_T.cpp \
- $(ACE_ROOT)/ace/Module.h \
- $(ACE_ROOT)/ace/Module.i \
- $(ACE_ROOT)/ace/Module.cpp \
- $(ACE_ROOT)/ace/Stream_Modules.h \
- $(ACE_ROOT)/ace/Stream_Modules.cpp \
- kokyu_export.h Kokyu.h \
- $(ACE_ROOT)/ace/Auto_Ptr.h \
- $(ACE_ROOT)/ace/Auto_Ptr.i \
- $(ACE_ROOT)/ace/Auto_Ptr.cpp Kokyu.i \
- Dispatcher_Task.i
-
-.obj/Default_Dispatcher_Impl.o .obj/Default_Dispatcher_Impl.so .shobj/Default_Dispatcher_Impl.o .shobj/Default_Dispatcher_Impl.so: Default_Dispatcher_Impl.cpp \
- Default_Dispatcher_Impl.h \
- $(ACE_ROOT)/ace/pre.h \
- $(ACE_ROOT)/ace/Task.h \
- $(ACE_ROOT)/ace/Service_Object.h \
- $(ACE_ROOT)/ace/Shared_Object.h \
- $(ACE_ROOT)/ace/ACE_export.h \
- $(ACE_ROOT)/ace/post.h \
- $(ACE_ROOT)/ace/ace_wchar.h \
- $(ACE_ROOT)/ace/ace_wchar.inl \
- $(ACE_ROOT)/ace/OS.h \
- $(ACE_ROOT)/ace/OS_Dirent.h \
- $(ACE_ROOT)/ace/OS_Export.h \
- $(ACE_ROOT)/ace/OS_Errno.h \
- $(ACE_ROOT)/ace/OS_Errno.inl \
- $(ACE_ROOT)/ace/OS_Dirent.inl \
- $(ACE_ROOT)/ace/OS_String.h \
- $(ACE_ROOT)/ace/Basic_Types.h \
- $(ACE_ROOT)/ace/Basic_Types.i \
- $(ACE_ROOT)/ace/OS_String.inl \
- $(ACE_ROOT)/ace/OS_Memory.h \
- $(ACE_ROOT)/ace/OS_Memory.inl \
- $(ACE_ROOT)/ace/OS_TLI.h \
- $(ACE_ROOT)/ace/OS_TLI.inl \
- $(ACE_ROOT)/ace/Time_Value.h \
- $(ACE_ROOT)/ace/Time_Value.inl \
- $(ACE_ROOT)/ace/Default_Constants.h \
- $(ACE_ROOT)/ace/Global_Macros.h \
- $(ACE_ROOT)/ace/Min_Max.h \
- $(ACE_ROOT)/ace/streams.h \
- $(ACE_ROOT)/ace/Trace.h \
- $(ACE_ROOT)/ace/OS.i \
- $(ACE_ROOT)/ace/Shared_Object.i \
- $(ACE_ROOT)/ace/Svc_Conf_Tokens.h \
- $(ACE_ROOT)/ace/Event_Handler.h \
- $(ACE_ROOT)/ace/Event_Handler.i \
- $(ACE_ROOT)/ace/DLL.h \
- $(ACE_ROOT)/ace/Service_Object.i \
- $(ACE_ROOT)/ace/Thread_Manager.h \
- $(ACE_ROOT)/ace/Thread.h \
- $(ACE_ROOT)/ace/Thread_Adapter.h \
- $(ACE_ROOT)/ace/Base_Thread_Adapter.h \
- $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \
- $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \
- $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \
- $(ACE_ROOT)/ace/Thread_Adapter.inl \
- $(ACE_ROOT)/ace/Thread.i \
- $(ACE_ROOT)/ace/Thread_Exit.h \
- $(ACE_ROOT)/ace/Thread_Control.h \
- $(ACE_ROOT)/ace/Thread_Control.inl \
- $(ACE_ROOT)/ace/Synch.h \
- $(ACE_ROOT)/ace/Synch.i \
- $(ACE_ROOT)/ace/Synch_T.h \
- $(ACE_ROOT)/ace/Synch_T.i \
- $(ACE_ROOT)/ace/Synch_T.cpp \
- $(ACE_ROOT)/ace/Log_Msg.h \
- $(ACE_ROOT)/ace/Log_Priority.h \
- $(ACE_ROOT)/ace/Unbounded_Queue.h \
- $(ACE_ROOT)/ace/Node.h \
- $(ACE_ROOT)/ace/Node.cpp \
- $(ACE_ROOT)/ace/Unbounded_Queue.inl \
- $(ACE_ROOT)/ace/Unbounded_Queue.cpp \
- $(ACE_ROOT)/ace/Malloc_Base.h \
- $(ACE_ROOT)/ace/Containers.h \
- $(ACE_ROOT)/ace/Containers.i \
- $(ACE_ROOT)/ace/Containers_T.h \
- $(ACE_ROOT)/ace/Array_Base.h \
- $(ACE_ROOT)/ace/Array_Base.inl \
- $(ACE_ROOT)/ace/Array_Base.cpp \
- $(ACE_ROOT)/ace/Unbounded_Set.h \
- $(ACE_ROOT)/ace/Unbounded_Set.inl \
- $(ACE_ROOT)/ace/Unbounded_Set.cpp \
- $(ACE_ROOT)/ace/Containers_T.i \
- $(ACE_ROOT)/ace/Containers_T.cpp \
- $(ACE_ROOT)/ace/Free_List.h \
- $(ACE_ROOT)/ace/Free_List.i \
- $(ACE_ROOT)/ace/Free_List.cpp \
- $(ACE_ROOT)/ace/Singleton.h \
- $(ACE_ROOT)/ace/Singleton.i \
- $(ACE_ROOT)/ace/Singleton.cpp \
- $(ACE_ROOT)/ace/Object_Manager.h \
- $(ACE_ROOT)/ace/Object_Manager.i \
- $(ACE_ROOT)/ace/Managed_Object.h \
- $(ACE_ROOT)/ace/Managed_Object.i \
- $(ACE_ROOT)/ace/Managed_Object.cpp \
- $(ACE_ROOT)/ace/Framework_Component.h \
- $(ACE_ROOT)/ace/Framework_Component.inl \
- $(ACE_ROOT)/ace/ACE.h \
- $(ACE_ROOT)/ace/Flag_Manip.h \
- $(ACE_ROOT)/ace/Flag_Manip.i \
- $(ACE_ROOT)/ace/Handle_Ops.h \
- $(ACE_ROOT)/ace/Handle_Ops.i \
- $(ACE_ROOT)/ace/Lib_Find.h \
- $(ACE_ROOT)/ace/Lib_Find.i \
- $(ACE_ROOT)/ace/Init_ACE.h \
- $(ACE_ROOT)/ace/Init_ACE.i \
- $(ACE_ROOT)/ace/Sock_Connect.h \
- $(ACE_ROOT)/ace/Sock_Connect.i \
- $(ACE_ROOT)/ace/ACE.i \
- $(ACE_ROOT)/ace/Framework_Component_T.h \
- $(ACE_ROOT)/ace/Framework_Component_T.inl \
- $(ACE_ROOT)/ace/Framework_Component_T.cpp \
- $(ACE_ROOT)/ace/Thread_Manager.i \
- $(ACE_ROOT)/ace/Task.i \
- $(ACE_ROOT)/ace/Task_T.h \
- $(ACE_ROOT)/ace/Message_Queue.h \
- $(ACE_ROOT)/ace/Message_Block.h \
- $(ACE_ROOT)/ace/Message_Block.i \
- $(ACE_ROOT)/ace/Message_Block_T.h \
- $(ACE_ROOT)/ace/Message_Block_T.i \
- $(ACE_ROOT)/ace/Message_Block_T.cpp \
- $(ACE_ROOT)/ace/IO_Cntl_Msg.h \
- $(ACE_ROOT)/ace/Message_Queue_T.h \
- $(ACE_ROOT)/ace/Message_Queue_T.i \
- $(ACE_ROOT)/ace/Message_Queue_T.cpp \
- $(ACE_ROOT)/ace/Notification_Strategy.h \
- $(ACE_ROOT)/ace/Notification_Strategy.inl \
- $(ACE_ROOT)/ace/Message_Queue.i \
- $(ACE_ROOT)/ace/Task_T.i \
- $(ACE_ROOT)/ace/Task_T.cpp \
- $(ACE_ROOT)/ace/Module.h \
- $(ACE_ROOT)/ace/Module.i \
- $(ACE_ROOT)/ace/Module.cpp \
- $(ACE_ROOT)/ace/Stream_Modules.h \
- $(ACE_ROOT)/ace/Stream_Modules.cpp \
- $(ACE_ROOT)/ace/Auto_Ptr.h \
- $(ACE_ROOT)/ace/Auto_Ptr.i \
- $(ACE_ROOT)/ace/Auto_Ptr.cpp \
- kokyu_export.h Kokyu.h Kokyu.i Dispatcher_Impl.h Dispatcher_Impl.i \
- Dispatcher_Task.h Dispatcher_Task.i Default_Dispatcher_Impl.i
-
-# IF YOU PUT ANYTHING HERE IT WILL GO AWAY
diff --git a/Kokyu/kokyu_export.h b/Kokyu/kokyu_export.h
deleted file mode 100644
index 8b15053da15..00000000000
--- a/Kokyu/kokyu_export.h
+++ /dev/null
@@ -1,55 +0,0 @@
-// -*- C++ -*-
-// $Id$
-// Definition for Win32 Export directives.
-// This file is generated automatically by generate_export_file.pl Kokyu
-// ------------------------------
-#ifndef KOKYU_EXPORT_H
-#define KOKYU_EXPORT_H
-
-#include "ace/config-all.h"
-
-#if defined (ACE_AS_STATIC_LIBS)
-# if !defined (KOKYU_HAS_DLL)
-# define KOKYU_HAS_DLL 0
-# endif /* ! KOKYU_HAS_DLL */
-#else
-# if !defined (KOKYU_HAS_DLL)
-# define KOKYU_HAS_DLL 1
-# endif /* ! KOKYU_HAS_DLL */
-#endif
-
-#if defined (KOKYU_HAS_DLL) && (KOKYU_HAS_DLL == 1)
-# if defined (KOKYU_BUILD_DLL)
-# define Kokyu_Export ACE_Proper_Export_Flag
-# define KOKYU_SINGLETON_DECLARATION(T) ACE_EXPORT_SINGLETON_DECLARATION (T)
-# define KOKYU_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_EXPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
-# else /* KOKYU_BUILD_DLL */
-# define Kokyu_Export ACE_Proper_Import_Flag
-# define KOKYU_SINGLETON_DECLARATION(T) ACE_IMPORT_SINGLETON_DECLARATION (T)
-# define KOKYU_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_IMPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
-# endif /* KOKYU_BUILD_DLL */
-#else /* KOKYU_HAS_DLL == 1 */
-# define Kokyu_Export
-# define KOKYU_SINGLETON_DECLARATION(T)
-# define KOKYU_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
-#endif /* KOKYU_HAS_DLL == 1 */
-
-// Set KOKYU_NTRACE = 0 to turn on library specific tracing even if
-// tracing is turned off for ACE.
-#if !defined (KOKYU_NTRACE)
-# if (ACE_NTRACE == 1)
-# define KOKYU_NTRACE 1
-# else /* (ACE_NTRACE == 1) */
-# define KOKYU_NTRACE 0
-# endif /* (ACE_NTRACE == 1) */
-#endif /* !KOKYU_NTRACE */
-
-#if (KOKYU_NTRACE == 1)
-# define KOKYU_TRACE(X)
-#else /* (KOKYU_NTRACE == 1) */
-# define KOKYU_TRACE(X) ACE_TRACE_IMPL(X)
-#endif /* (KOKYU_NTRACE == 1) */
-
-#endif /* KOKYU_EXPORT_H */
-
-// End of auto generated file.
diff --git a/Kokyu/tests/DSRT_MIF/MIF.cpp b/Kokyu/tests/DSRT_MIF/MIF.cpp
deleted file mode 100644
index 136523c8aaa..00000000000
--- a/Kokyu/tests/DSRT_MIF/MIF.cpp
+++ /dev/null
@@ -1,112 +0,0 @@
-// $Id$
-
-#include "ace/Auto_Ptr.h"
-
-#include "Kokyu.h"
-#include "ace/Task.h"
-#include "ace/Sched_Params.h"
-
-class MyTask : public ACE_Task_Base
-{
-public:
-
- MyTask (ACE_Barrier& barrier,
- Kokyu::DSRT_Dispatcher* dispatcher,
- Kokyu::DSRT_QoSDescriptor& qos)
- :barrier_ (barrier),
- dispatcher_ (dispatcher),
- qos_ (qos)
- {}
-
- int svc (void)
- {
- ACE_hthread_t thr_handle;
- ACE_Thread::self (thr_handle);
- int prio;
-
- prio = dispatcher_->schedule (0, qos_);
- ACE_Thread::setprio (thr_handle, prio);
- barrier_.wait ();
-
- if (ACE_Thread::getprio (thr_handle, prio) == -1)
- {
- if (errno == ENOTSUP)
- {
- ACE_DEBUG((LM_DEBUG,
- ACE_TEXT ("getprio not supported on this platform\n")
- ));
- return 0;
- }
- ACE_ERROR_RETURN ((LM_ERROR,
- ACE_TEXT ("%p\n"),
- ACE_TEXT ("getprio failed")),
- -1);
- }
-
- ACE_DEBUG ((LM_DEBUG, "(%t) Thread prio is %d\n", prio));
- return 0;
- }
-
-private:
- ACE_Barrier& barrier_;
- Kokyu::DSRT_Dispatcher* dispatcher_;
- Kokyu::DSRT_QoSDescriptor& qos_;
-
-};
-
-int main (int,char**)
-{
- Kokyu::DSRT_ConfigInfo config_info;
-
- // config_info.scheduler_type_ = Kokyu::SCHED_MIF;
-
- ACE_Barrier barrier (3);
-
- ACE_DEBUG ((LM_DEBUG, "before create_dispatcher\n" ));
- auto_ptr<Kokyu::DSRT_Dispatcher>
- disp (Kokyu::Dispatcher_Factory::create_DSRT_dispatcher (config_info));
-
- ACE_DEBUG ((LM_DEBUG, "after create_dispatcher\n" ));
-
- ACE_ASSERT (disp.get () != 0);
-
- Kokyu::DSRT_QoSDescriptor qos1, qos2, qos3;
-
- qos1.importance_ = 1;
- qos2.importance_ = 2;
- qos3.importance_ = 3;
-
- MyTask mytask1 (barrier, disp.get (), qos1);
- MyTask mytask2 (barrier, disp.get (), qos2);
- MyTask mytask3 (barrier, disp.get (), qos3);
-
- long flags = THR_BOUND | THR_SCHED_FIFO;
-
- if (mytask1.activate (flags) == -1)
- {
- flags = THR_BOUND;
- if (mytask1.activate (flags) == -1)
- ACE_ERROR ((LM_ERROR,
- "EC (%P|%t) cannot activate task\n"));
- }
-
- if (mytask2.activate (flags) == -1)
- {
- flags = THR_BOUND;
- if (mytask2.activate (flags) == -1)
- ACE_ERROR ((LM_ERROR,
- "EC (%P|%t) cannot activate task\n"));
- }
-
- if (mytask3.activate (flags) == -1)
- {
- flags = THR_BOUND;
- if (mytask3.activate (flags) == -1)
- ACE_ERROR ((LM_ERROR,
- "EC (%P|%t) cannot activate task\n"));
- }
-
- while(1){}
-
- return 0;
-}
diff --git a/Kokyu/tests/DSRT_MIF/Makefile b/Kokyu/tests/DSRT_MIF/Makefile
deleted file mode 100644
index 7a178befd94..00000000000
--- a/Kokyu/tests/DSRT_MIF/Makefile
+++ /dev/null
@@ -1,218 +0,0 @@
-#----------------------------------------------------------------------------
-# $Id$
-#
-#----------------------------------------------------------------------------
-# Local macros
-#----------------------------------------------------------------------------
-
-BIN = MIF
-
-LSRC = $(addsuffix .cpp,$(BIN))
-
-VLDLIBS = $(LDLIBS:%=%$(VAR))
-
-BUILD = $(VBIN)
-
-#----------------------------------------------------------------------------
-# Include macros and targets
-#----------------------------------------------------------------------------
-
-include $(ACE_ROOT)/include/makeinclude/wrapper_macros.GNU
-include $(ACE_ROOT)/include/makeinclude/macros.GNU
-include $(ACE_ROOT)/include/makeinclude/rules.common.GNU
-include $(ACE_ROOT)/include/makeinclude/rules.nonested.GNU
-include $(ACE_ROOT)/include/makeinclude/rules.bin.GNU
-include $(ACE_ROOT)/include/makeinclude/rules.local.GNU
-
-#----------------------------------------------------------------------------
-# Local targets
-#----------------------------------------------------------------------------
-
-CPPFLAGS += -I$(ACE_ROOT)/Kokyu
-LDFLAGS += -lKokyu
-
-#----------------------------------------------------------------------------
-# Dependencies
-#----------------------------------------------------------------------------
-
-# DO NOT DELETE THIS LINE -- g++dep uses it.
-# DO NOT PUT ANYTHING AFTER THIS LINE, IT WILL GO AWAY.
-
-
-.obj/MIF.o .obj/MIF.so .shobj/MIF.o .shobj/MIF.so: MIF.cpp \
- $(ACE_ROOT)/ace/Auto_Ptr.h \
- $(ACE_ROOT)/ace/pre.h \
- $(ACE_ROOT)/ace/post.h \
- $(ACE_ROOT)/ace/ace_wchar.h \
- $(ACE_ROOT)/ace/ace_wchar.inl \
- $(ACE_ROOT)/ace/Trace.h \
- $(ACE_ROOT)/ace/ACE_export.h \
- $(ACE_ROOT)/ace/Global_Macros.h \
- $(ACE_ROOT)/ace/OS_Export.h \
- $(ACE_ROOT)/ace/Auto_Ptr.i \
- $(ACE_ROOT)/ace/Auto_Ptr.cpp \
- $(ACE_ROOT)/Kokyu/Kokyu.h \
- $(ACE_ROOT)/ace/OS.h \
- $(ACE_ROOT)/ace/OS_Dirent.h \
- $(ACE_ROOT)/ace/OS_Errno.h \
- $(ACE_ROOT)/ace/OS_Errno.inl \
- $(ACE_ROOT)/ace/OS_Dirent.inl \
- $(ACE_ROOT)/ace/OS_String.h \
- $(ACE_ROOT)/ace/Basic_Types.h \
- $(ACE_ROOT)/ace/Basic_Types.i \
- $(ACE_ROOT)/ace/OS_String.inl \
- $(ACE_ROOT)/ace/OS_Memory.h \
- $(ACE_ROOT)/ace/OS_Memory.inl \
- $(ACE_ROOT)/ace/OS_TLI.h \
- $(ACE_ROOT)/ace/OS_TLI.inl \
- $(ACE_ROOT)/ace/Time_Value.h \
- $(ACE_ROOT)/ace/Time_Value.inl \
- $(ACE_ROOT)/ace/Default_Constants.h \
- $(ACE_ROOT)/ace/Min_Max.h \
- $(ACE_ROOT)/ace/streams.h \
- $(ACE_ROOT)/ace/OS.i \
- $(ACE_ROOT)/ace/Array.h \
- $(ACE_ROOT)/ace/Containers_T.h \
- $(ACE_ROOT)/ace/Containers.h \
- $(ACE_ROOT)/ace/Containers.i \
- $(ACE_ROOT)/ace/Node.h \
- $(ACE_ROOT)/ace/Node.cpp \
- $(ACE_ROOT)/ace/Array_Base.h \
- $(ACE_ROOT)/ace/Malloc_Base.h \
- $(ACE_ROOT)/ace/Array_Base.inl \
- $(ACE_ROOT)/ace/Array_Base.cpp \
- $(ACE_ROOT)/ace/Unbounded_Set.h \
- $(ACE_ROOT)/ace/Unbounded_Set.inl \
- $(ACE_ROOT)/ace/Unbounded_Set.cpp \
- $(ACE_ROOT)/ace/Log_Msg.h \
- $(ACE_ROOT)/ace/Log_Priority.h \
- $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \
- $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \
- $(ACE_ROOT)/ace/Unbounded_Queue.h \
- $(ACE_ROOT)/ace/Unbounded_Queue.inl \
- $(ACE_ROOT)/ace/Unbounded_Queue.cpp \
- $(ACE_ROOT)/ace/Containers_T.i \
- $(ACE_ROOT)/ace/Containers_T.cpp \
- $(ACE_ROOT)/ace/Message_Block.h \
- $(ACE_ROOT)/ace/Message_Block.i \
- $(ACE_ROOT)/ace/Message_Block_T.h \
- $(ACE_ROOT)/ace/Message_Block_T.i \
- $(ACE_ROOT)/ace/Message_Block_T.cpp \
- $(ACE_ROOT)/ace/Sched_Params.h \
- $(ACE_ROOT)/ace/Sched_Params.i \
- $(ACE_ROOT)/Kokyu/kokyu_export.h \
- $(ACE_ROOT)/Kokyu/Kokyu.i \
- $(ACE_ROOT)/Kokyu/Dispatcher_Impl.h \
- $(ACE_ROOT)/Kokyu/Dispatcher_Impl.i \
- $(ACE_ROOT)/Kokyu/DSRT_Dispatcher_Impl.h \
- $(ACE_ROOT)/ace/Task.h \
- $(ACE_ROOT)/ace/Service_Object.h \
- $(ACE_ROOT)/ace/Shared_Object.h \
- $(ACE_ROOT)/ace/Shared_Object.i \
- $(ACE_ROOT)/ace/Svc_Conf_Tokens.h \
- $(ACE_ROOT)/ace/Event_Handler.h \
- $(ACE_ROOT)/ace/Event_Handler.i \
- $(ACE_ROOT)/ace/DLL.h \
- $(ACE_ROOT)/ace/Service_Object.i \
- $(ACE_ROOT)/ace/Thread_Manager.h \
- $(ACE_ROOT)/ace/Thread.h \
- $(ACE_ROOT)/ace/Thread_Adapter.h \
- $(ACE_ROOT)/ace/Base_Thread_Adapter.h \
- $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \
- $(ACE_ROOT)/ace/Thread_Adapter.inl \
- $(ACE_ROOT)/ace/Thread.i \
- $(ACE_ROOT)/ace/Thread_Exit.h \
- $(ACE_ROOT)/ace/Thread_Control.h \
- $(ACE_ROOT)/ace/Thread_Control.inl \
- $(ACE_ROOT)/ace/Synch.h \
- $(ACE_ROOT)/ace/Synch.i \
- $(ACE_ROOT)/ace/Synch_T.h \
- $(ACE_ROOT)/ace/Synch_T.i \
- $(ACE_ROOT)/ace/Synch_T.cpp \
- $(ACE_ROOT)/ace/Free_List.h \
- $(ACE_ROOT)/ace/Free_List.i \
- $(ACE_ROOT)/ace/Free_List.cpp \
- $(ACE_ROOT)/ace/Singleton.h \
- $(ACE_ROOT)/ace/Singleton.i \
- $(ACE_ROOT)/ace/Singleton.cpp \
- $(ACE_ROOT)/ace/Object_Manager.h \
- $(ACE_ROOT)/ace/Object_Manager.i \
- $(ACE_ROOT)/ace/Managed_Object.h \
- $(ACE_ROOT)/ace/Managed_Object.i \
- $(ACE_ROOT)/ace/Managed_Object.cpp \
- $(ACE_ROOT)/ace/Framework_Component.h \
- $(ACE_ROOT)/ace/Framework_Component.inl \
- $(ACE_ROOT)/ace/ACE.h \
- $(ACE_ROOT)/ace/Flag_Manip.h \
- $(ACE_ROOT)/ace/Flag_Manip.i \
- $(ACE_ROOT)/ace/Handle_Ops.h \
- $(ACE_ROOT)/ace/Handle_Ops.i \
- $(ACE_ROOT)/ace/Lib_Find.h \
- $(ACE_ROOT)/ace/Lib_Find.i \
- $(ACE_ROOT)/ace/Init_ACE.h \
- $(ACE_ROOT)/ace/Init_ACE.i \
- $(ACE_ROOT)/ace/Sock_Connect.h \
- $(ACE_ROOT)/ace/Sock_Connect.i \
- $(ACE_ROOT)/ace/ACE.i \
- $(ACE_ROOT)/ace/Framework_Component_T.h \
- $(ACE_ROOT)/ace/Framework_Component_T.inl \
- $(ACE_ROOT)/ace/Framework_Component_T.cpp \
- $(ACE_ROOT)/ace/Thread_Manager.i \
- $(ACE_ROOT)/ace/Task.i \
- $(ACE_ROOT)/ace/Task_T.h \
- $(ACE_ROOT)/ace/Message_Queue.h \
- $(ACE_ROOT)/ace/IO_Cntl_Msg.h \
- $(ACE_ROOT)/ace/Message_Queue_T.h \
- $(ACE_ROOT)/ace/Message_Queue_T.i \
- $(ACE_ROOT)/ace/Message_Queue_T.cpp \
- $(ACE_ROOT)/ace/Notification_Strategy.h \
- $(ACE_ROOT)/ace/Notification_Strategy.inl \
- $(ACE_ROOT)/ace/Message_Queue.i \
- $(ACE_ROOT)/ace/Task_T.i \
- $(ACE_ROOT)/ace/Task_T.cpp \
- $(ACE_ROOT)/ace/Module.h \
- $(ACE_ROOT)/ace/Module.i \
- $(ACE_ROOT)/ace/Module.cpp \
- $(ACE_ROOT)/ace/Stream_Modules.h \
- $(ACE_ROOT)/ace/Stream_Modules.cpp \
- $(ACE_ROOT)/ace/Service_Config.h \
- $(ACE_ROOT)/ace/SString.h \
- $(ACE_ROOT)/ace/String_Base.h \
- $(ACE_ROOT)/ace/String_Base_Const.h \
- $(ACE_ROOT)/ace/String_Base.i \
- $(ACE_ROOT)/ace/String_Base.cpp \
- $(ACE_ROOT)/ace/Malloc.h \
- $(ACE_ROOT)/ace/Malloc.i \
- $(ACE_ROOT)/ace/Malloc_T.h \
- $(ACE_ROOT)/ace/Malloc_Allocator.h \
- $(ACE_ROOT)/ace/Malloc_Allocator.i \
- $(ACE_ROOT)/ace/Malloc_T.i \
- $(ACE_ROOT)/ace/Malloc_T.cpp \
- $(ACE_ROOT)/ace/Memory_Pool.h \
- $(ACE_ROOT)/ace/Signal.h \
- $(ACE_ROOT)/ace/Signal.i \
- $(ACE_ROOT)/ace/Mem_Map.h \
- $(ACE_ROOT)/ace/Mem_Map.i \
- $(ACE_ROOT)/ace/SV_Semaphore_Complex.h \
- $(ACE_ROOT)/ace/SV_Semaphore_Simple.h \
- $(ACE_ROOT)/ace/SV_Semaphore_Simple.i \
- $(ACE_ROOT)/ace/SV_Semaphore_Complex.i \
- $(ACE_ROOT)/ace/Memory_Pool.i \
- $(ACE_ROOT)/ace/SString.i \
- $(ACE_ROOT)/ace/XML_Svc_Conf.h \
- $(ACE_ROOT)/ace/Service_Config.i \
- $(ACE_ROOT)/ace/Reactor.h \
- $(ACE_ROOT)/ace/Handle_Set.h \
- $(ACE_ROOT)/ace/Handle_Set.i \
- $(ACE_ROOT)/ace/Timer_Queue.h \
- $(ACE_ROOT)/ace/Timer_Queue_T.h \
- $(ACE_ROOT)/ace/Test_and_Set.h \
- $(ACE_ROOT)/ace/Test_and_Set.i \
- $(ACE_ROOT)/ace/Test_and_Set.cpp \
- $(ACE_ROOT)/ace/Timer_Queue_T.i \
- $(ACE_ROOT)/ace/Timer_Queue_T.cpp \
- $(ACE_ROOT)/ace/Reactor.i \
- $(ACE_ROOT)/ace/Reactor_Impl.h \
- $(ACE_ROOT)/Kokyu/DSRT_Dispatcher_Impl.i
-
-# IF YOU PUT ANYTHING HERE IT WILL GO AWAY
diff --git a/Kokyu/tests/DSRT_MIF/svc.conf b/Kokyu/tests/DSRT_MIF/svc.conf
deleted file mode 100644
index 247c85945d9..00000000000
--- a/Kokyu/tests/DSRT_MIF/svc.conf
+++ /dev/null
@@ -1,4 +0,0 @@
-#
-dynamic DSRT_Scheduler_Impl Service_Object *
-Kokyu:_make_MIF_Scheduler_Impl()
-"-sched_scope thread -sched_policy fifo -min_importance 0 -max_importance 10" \ No newline at end of file
diff --git a/Kokyu/tests/DSRT_MIF/svc.conf.xml b/Kokyu/tests/DSRT_MIF/svc.conf.xml
deleted file mode 100644
index aef4b3ea0a9..00000000000
--- a/Kokyu/tests/DSRT_MIF/svc.conf.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version='1.0'?>
-<!-- Converted from svc.conf by svcconf-convert.pl -->
-<ACE_Svc_Conf>
- <!-- -->
- <dynamic id="DSRT_Scheduler_Impl" type="Service_Object">
- <initializer path="Kokyu" init="_make_MIF_Scheduler_Impl" params="-sched_scope thread -sched_policy fifo -min_importance 0 -max_importance 10"/>
- </dynamic>
-</ACE_Svc_Conf>
diff --git a/Kokyu/tests/EDF/EDF.dsp b/Kokyu/tests/EDF/EDF.dsp
deleted file mode 100644
index 2684638fcae..00000000000
--- a/Kokyu/tests/EDF/EDF.dsp
+++ /dev/null
@@ -1,104 +0,0 @@
-# Microsoft Developer Studio Project File - Name="EDF" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 6.00
-# ** DO NOT EDIT **
-
-# TARGTYPE "Win32 (x86) Console Application" 0x0103
-
-CFG=EDF - Win32 Debug
-!MESSAGE This is not a valid makefile. To build this project using NMAKE,
-!MESSAGE use the Export Makefile command and run
-!MESSAGE
-!MESSAGE NMAKE /f "EDF.mak".
-!MESSAGE
-!MESSAGE You can specify a configuration when running NMAKE
-!MESSAGE by defining the macro CFG on the command line. For example:
-!MESSAGE
-!MESSAGE NMAKE /f "EDF.mak" CFG="EDF - Win32 Debug"
-!MESSAGE
-!MESSAGE Possible choices for configuration are:
-!MESSAGE
-!MESSAGE "EDF - Win32 Release" (based on "Win32 (x86) Console Application")
-!MESSAGE "EDF - Win32 Debug" (based on "Win32 (x86) Console Application")
-!MESSAGE
-
-# Begin Project
-# PROP AllowPerConfigDependencies 0
-# PROP Scc_ProjName ""
-# PROP Scc_LocalPath ""
-CPP=cl.exe
-RSC=rc.exe
-
-!IF "$(CFG)" == "EDF - Win32 Release"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "Release"
-# PROP BASE Intermediate_Dir "Release"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "Release"
-# PROP Intermediate_Dir "Release"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
-# ADD CPP /nologo /MD /W3 /GX /O2 /I "../../.." /I "../.." /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /FD /c
-# SUBTRACT CPP /YX
-# ADD BASE RSC /l 0x409 /d "NDEBUG"
-# ADD RSC /l 0x409 /d "NDEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
-# ADD LINK32 ..\..\..\ace\aced.lib ..\..\Kokyud.lib /nologo /subsystem:console /machine:I386
-
-!ELSEIF "$(CFG)" == "EDF - Win32 Debug"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir "Debug"
-# PROP BASE Intermediate_Dir "Debug"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "Debug"
-# PROP Intermediate_Dir "Debug"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
-# ADD CPP /nologo /MDd /W3 /Gm /GX /Zi /Od /I "..\..\.." /I "..\.." /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /FD /c
-# SUBTRACT CPP /YX
-# ADD BASE RSC /l 0x409 /d "_DEBUG"
-# ADD RSC /l 0x409 /d "_DEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
-# ADD LINK32 ..\..\..\ace\aced.lib ..\..\Kokyud.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
-
-!ENDIF
-
-# Begin Target
-
-# Name "EDF - Win32 Release"
-# Name "EDF - Win32 Debug"
-# Begin Group "Source Files"
-
-# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
-# Begin Source File
-
-SOURCE=.\test.cpp
-# End Source File
-# End Group
-# Begin Group "Header Files"
-
-# PROP Default_Filter "h;hpp;hxx;hm;inl"
-# End Group
-# Begin Group "Resource Files"
-
-# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
-# End Group
-# End Target
-# End Project
diff --git a/Kokyu/tests/EDF/EDF.dsw b/Kokyu/tests/EDF/EDF.dsw
deleted file mode 100644
index 57af290f426..00000000000
--- a/Kokyu/tests/EDF/EDF.dsw
+++ /dev/null
@@ -1,29 +0,0 @@
-Microsoft Developer Studio Workspace File, Format Version 6.00
-# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
-
-###############################################################################
-
-Project: "test"=.\EDF.dsp - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
-}}}
-
-###############################################################################
-
-Global:
-
-Package=<5>
-{{{
-}}}
-
-Package=<3>
-{{{
-}}}
-
-###############################################################################
-
diff --git a/Kokyu/tests/EDF/test.cpp b/Kokyu/tests/EDF/test.cpp
deleted file mode 100644
index 24dc46310a5..00000000000
--- a/Kokyu/tests/EDF/test.cpp
+++ /dev/null
@@ -1,96 +0,0 @@
-// $Id$
-
-#include "ace/Auto_Ptr.h"
-
-#include "Kokyu.h"
-#include "ace/Task.h"
-#include "ace/Sched_Params.h"
-
-class MyCommand : public Kokyu::Dispatch_Command
-{
-public:
- MyCommand(int i)
- :Kokyu::Dispatch_Command(1),id_(i)
- {
- }
-
- int execute()
- {
- ACE_hthread_t thr_handle;
- ACE_Thread::self (thr_handle);
- int prio;
-
- if (ACE_Thread::getprio (thr_handle, prio) == -1)
- {
- if (errno == ENOTSUP)
- {
- ACE_DEBUG((LM_DEBUG,
- ACE_TEXT ("getprior not supported on this platform\n")
- ));
- return 0;
- }
- ACE_ERROR_RETURN ((LM_ERROR,
- ACE_TEXT ("%p\n"),
- ACE_TEXT ("getprio failed")),
- -1);
- }
-
- ACE_DEBUG ((LM_DEBUG,
- ACE_TEXT (("(%t|prio=%d) | command %d executed\n")),
- prio, id_));
- return 0;
- }
-
-private:
- int id_;
-};
-
-
-int main (int,char**)
-{
- Kokyu::ConfigInfoSet config_info(3);
-
- Kokyu::Priority_t min_prio =
- ACE_Sched_Params::priority_min (ACE_SCHED_FIFO);
-
- config_info[0].preemption_priority_ = 1;
- config_info[0].thread_priority_ = min_prio;
- config_info[0].dispatching_type_ = Kokyu::DEADLINE_DISPATCHING;
-
- ACE_DEBUG ((LM_DEBUG, "before create_dispatcher\n" ));
- auto_ptr<Kokyu::Dispatcher>
- disp (Kokyu::Dispatcher_Factory::create_dispatcher (config_info));
-
- ACE_ASSERT (disp.get() != 0);
-
- MyCommand cmd1(1), cmd2(2), cmd3(3);
-
- Kokyu::QoSDescriptor qos1, qos2, qos3;
-
- // Get the current time.
- ACE_Time_Value current_time = ACE_OS::gettimeofday ();
-
- ACE_Time_Value deadline1, deadline2, deadline3;
-
- deadline1 = current_time + ACE_Time_Value(150,0);
- deadline2 = current_time + ACE_Time_Value(200,0);
- deadline3 = current_time + ACE_Time_Value(100,0);
-
- qos1.preemption_priority_ = 1;
- qos1.deadline_ = deadline1;
- qos2.preemption_priority_ = 1;
- qos2.deadline_ = deadline2;
- qos3.preemption_priority_ = 1;
- qos3.deadline_ = deadline3;
-
- disp->dispatch (&cmd1, qos1);
- printf("inserted 1\n");
- disp->dispatch (&cmd2, qos2);
- printf("inserted 2\n");
- disp->dispatch (&cmd3, qos3);
- printf("inserted 3\n");
-
- while(1){}
-
- return 0;
-}
diff --git a/Kokyu/tests/FIFO/FIFO.dsp b/Kokyu/tests/FIFO/FIFO.dsp
deleted file mode 100644
index 1eb83b8b161..00000000000
--- a/Kokyu/tests/FIFO/FIFO.dsp
+++ /dev/null
@@ -1,104 +0,0 @@
-# Microsoft Developer Studio Project File - Name="FIFO" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 6.00
-# ** DO NOT EDIT **
-
-# TARGTYPE "Win32 (x86) Console Application" 0x0103
-
-CFG=FIFO - Win32 Debug
-!MESSAGE This is not a valid makefile. To build this project using NMAKE,
-!MESSAGE use the Export Makefile command and run
-!MESSAGE
-!MESSAGE NMAKE /f "FIFO.mak".
-!MESSAGE
-!MESSAGE You can specify a configuration when running NMAKE
-!MESSAGE by defining the macro CFG on the command line. For example:
-!MESSAGE
-!MESSAGE NMAKE /f "FIFO.mak" CFG="FIFO - Win32 Debug"
-!MESSAGE
-!MESSAGE Possible choices for configuration are:
-!MESSAGE
-!MESSAGE "FIFO - Win32 Release" (based on "Win32 (x86) Console Application")
-!MESSAGE "FIFO - Win32 Debug" (based on "Win32 (x86) Console Application")
-!MESSAGE
-
-# Begin Project
-# PROP AllowPerConfigDependencies 0
-# PROP Scc_ProjName ""
-# PROP Scc_LocalPath ""
-CPP=cl.exe
-RSC=rc.exe
-
-!IF "$(CFG)" == "FIFO - Win32 Release"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "Release"
-# PROP BASE Intermediate_Dir "Release"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "Release"
-# PROP Intermediate_Dir "Release"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
-# ADD CPP /nologo /MD /W3 /GX /O2 /I "../../.." /I "../.." /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /FD /c
-# SUBTRACT CPP /YX
-# ADD BASE RSC /l 0x409 /d "NDEBUG"
-# ADD RSC /l 0x409 /d "NDEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
-# ADD LINK32 ..\..\..\ace\aced.lib ..\..\Kokyud.lib /nologo /subsystem:console /machine:I386
-
-!ELSEIF "$(CFG)" == "FIFO - Win32 Debug"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir "Debug"
-# PROP BASE Intermediate_Dir "Debug"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "Debug"
-# PROP Intermediate_Dir "Debug"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
-# ADD CPP /nologo /MDd /W3 /Gm /GX /Zi /Od /I "..\..\.." /I "..\.." /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /FD /c
-# SUBTRACT CPP /YX
-# ADD BASE RSC /l 0x409 /d "_DEBUG"
-# ADD RSC /l 0x409 /d "_DEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
-# ADD LINK32 ..\..\..\ace\aced.lib ..\..\Kokyud.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
-
-!ENDIF
-
-# Begin Target
-
-# Name "FIFO - Win32 Release"
-# Name "FIFO - Win32 Debug"
-# Begin Group "Source Files"
-
-# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
-# Begin Source File
-
-SOURCE=.\test.cpp
-# End Source File
-# End Group
-# Begin Group "Header Files"
-
-# PROP Default_Filter "h;hpp;hxx;hm;inl"
-# End Group
-# Begin Group "Resource Files"
-
-# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
-# End Group
-# End Target
-# End Project
diff --git a/Kokyu/tests/FIFO/FIFO.dsw b/Kokyu/tests/FIFO/FIFO.dsw
deleted file mode 100644
index 0e51d4387e0..00000000000
--- a/Kokyu/tests/FIFO/FIFO.dsw
+++ /dev/null
@@ -1,29 +0,0 @@
-Microsoft Developer Studio Workspace File, Format Version 6.00
-# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
-
-###############################################################################
-
-Project: "test"=.\FIFO.dsp - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
-}}}
-
-###############################################################################
-
-Global:
-
-Package=<5>
-{{{
-}}}
-
-Package=<3>
-{{{
-}}}
-
-###############################################################################
-
diff --git a/Kokyu/tests/FIFO/test.cpp b/Kokyu/tests/FIFO/test.cpp
deleted file mode 100644
index 6697e704bdb..00000000000
--- a/Kokyu/tests/FIFO/test.cpp
+++ /dev/null
@@ -1,84 +0,0 @@
-// $Id$
-
-#include "ace/Auto_Ptr.h"
-
-#include "Kokyu.h"
-#include "ace/Task.h"
-
-class MyCommand : public Kokyu::Dispatch_Command
-{
-public:
- MyCommand(int i)
- :Kokyu::Dispatch_Command(1),id_(i)
- {
- }
-
- int execute()
- {
- ACE_hthread_t thr_handle;
- ACE_Thread::self (thr_handle);
- int prio;
-
- if (ACE_Thread::getprio (thr_handle, prio) == -1)
- {
- if (errno == ENOTSUP)
- {
- ACE_DEBUG((LM_DEBUG,
- ACE_TEXT ("getprior not supported on this platform\n")
- ));
- return 0;
- }
- ACE_ERROR_RETURN ((LM_ERROR,
- ACE_TEXT ("%p\n"),
- ACE_TEXT ("getprio failed")),
- -1);
- }
-
- ACE_DEBUG ((LM_DEBUG,
- ACE_TEXT (("(%t|prio=%d) | command %d executed\n")),
- prio, id_));
- return 0;
- }
-
-private:
- int id_;
-};
-
-
-int main (int,char**)
-{
- Kokyu::ConfigInfoSet config_info(3);
-
- config_info[0].preemption_priority_ = 1;
- config_info[0].thread_priority_ = 15;
- config_info[0].dispatching_type_ = Kokyu::FIFO_DISPATCHING;
-
- config_info[1].preemption_priority_ = 2;
- config_info[1].thread_priority_ = 2;
- config_info[1].dispatching_type_ = Kokyu::FIFO_DISPATCHING;
-
- config_info[2].preemption_priority_ = 3;
- config_info[2].thread_priority_ = 0;
- config_info[2].dispatching_type_ = Kokyu::FIFO_DISPATCHING;
-
- ACE_DEBUG ((LM_DEBUG, "before create_dispatcher\n" ));
- auto_ptr<Kokyu::Dispatcher> disp (Kokyu::Dispatcher_Factory::create_dispatcher (config_info));
-
- ACE_ASSERT (disp.get() != 0);
-
- MyCommand cmd1(1), cmd2(2), cmd3(3);
-
- Kokyu::QoSDescriptor qos1, qos2, qos3;
-
- qos1.preemption_priority_ = 2;
- qos2.preemption_priority_ = 3;
- qos3.preemption_priority_ = 1;
-
- disp->dispatch (&cmd1, qos1);
- disp->dispatch (&cmd2, qos2);
- disp->dispatch (&cmd3, qos3);
-
- while(1){}
-
- return 0;
-}
diff --git a/Makefile.bor b/Makefile.bor
deleted file mode 100644
index a10fc536b15..00000000000
--- a/Makefile.bor
+++ /dev/null
@@ -1,24 +0,0 @@
-#
-# Makefile for building ACE
-#
-
-!ifndef BUILD
-BUILD = all
-!endif
-
-!if $(BUILD) == all
-
-DIRS = \
- ace \
- examples \
- performance-tests \
- tests \
- ACEXML \
- ACEXML\tests
-
-!else
-!error Please set your BUILD variable to either "all".
-!endif
-
-
-!include <$(ACE_ROOT)\include\makeinclude\recurse.bor>
diff --git a/PACE/ChangeLog b/PACE/ChangeLog
deleted file mode 100644
index 6fef5133ed1..00000000000
--- a/PACE/ChangeLog
+++ /dev/null
@@ -1,3716 +0,0 @@
-Wed Dec 12 12:30:32 2001 Joe Hoffert <joeh@cs.wustl.edu>
-
- * VERSION:
- Updated the version to 1.2. (Thanks to Garth Watney
- <Garth.J.Watney@jpl.nasa.gov> for pointing out this
- oversight.)
-
- * THANKS:
- Added Garth Watney <Garth.J.Watney@jpl.nasa.gov>.
-
-Thu Oct 4 10:03:27 2001 Joe Hoffert <joeh@cs.wustl.edu>
-
- * pace/vxworks/pthread.c:
- * pace/vxworks/pthread.h:
- * pace/vxworks/pthread.inl:
- * pace/vxworks/types.h:
- Changed default stack size, moved pthread_self from .inl
- to .c file, and removed redundant code for C vs C++
- signatures.
-
- * tests/Cond_Var_Test.c:
- * tests/Makefile:
- * tests/Pthreads_Test.c:
- Modified tests to take out gratuitous print statements.
- These tests should now only print out statements when
- there is an error (like the ACE and TAO tests).
-
- * tests/README:
- Added comment about mqueue_test needing input.
-
- * tests/Pthread_Storage_Test.c:
- * tests/Stat_Test.c:
- Added new tests for thread-specific storage and for some
- functions typically declared in the stat.h file.
-
-Tue Sep 4 16:23:46 2001 Joe Hoffert <joeh@cs.wustl.edu>
-
- * tests/vxworks_stub.c:
- * tests/Cond_Var_Test.c:
- Rectified warnings about type of argc.
-
-Tue Sep 4 15:26:46 2001 Joe Hoffert <joeh@cs.wustl.edu>
-
- * tests/Cond_Var_Test.c:
- Cleanup up unused variables and signed type on argc.
-
- * tests/Makefile:
- Corrected inclusion of BIN2 - executables that aren't
- always included - for non VxWorks platforms.
-
-Tue Sep 4 09:15:00 2001 Joe Hoffert <joeh@cs.wustl.edu>
-
- * tests/Pthreads_Test.c:
- Moved PACE_UNUSED_ARG to after declaration of variables.
-
-Tue Sep 4 08:55:02 2001 Joe Hoffert <joeh@cs.wustl.edu>
-
- * tests/Cond_Var_Test.c:
- Added test for condition variables.
-
-Tue Sep 4 08:36:13 2001 Joe Hoffert <joeh@cs.wustl.edu>
-
- * tests/vxworks_stub.c:
- Added call to pacevx_vxworks_init to initialize the
- main thread.
-
- * tests/Pthreads_Test.c (main):
- Moved PACE_UNUSED_ARG to beginning of main.
-
- * tests/Makefile:
- Makefile doesn't build Posix_SP_Test on VxWorks. The
- test doesn't compile (which is actually the test for
- certain #defines).
-
- * pace/pthread.h:
- Added #define PACE_PTHREAD_MUTEX_INITIALIZER
- PTHREAD_MUTEX_INITIALIZER
-
-Fri Aug 31 16:48:10 2001 Joe Hoffert <joeh@cs.wustl.edu>
-
- * pace/vxworks/types.h:
- Removed extraneous blank lines.
-
- * pace/vxworks/pthread.inl:
- Cleaned up comment for popping cleanup routines.
-
- * pace/vxworks/pthread.c:
- Removed duplicate code (for C and C++) and fixed
- VxWorks unld errors by making the main thread detached
- and unregistering the cleanup function when the
- last non-main thread is done.
-
- * pace/vxworks/pthread.h:
- Added PACE_PTHREAD_MUTEX_INITIALIZER initializer.
-
-Fri Aug 24 08:24:43 2001 Joe Hoffert <joeh@cs.wustl.edu>
-
- * pace/vxworks/stdio.inl:
- * pace/vxworks/pthread.c:
- Added spaces between function name and argument list
- for some functions since fuzz was complaining about
- it.
-
-Wed Aug 22 12:30:25 2001 Joe Hoffert <joeh@cs.wustl.edu>
-
- * pace/win32/pace_lib.dsp:
- Added #define PACE_AS_STATIC_LIBS to static debug
- build be consistent with ACE and TAO project files.
- It was mistakenly just added for the static release
- build previously.
-
-Wed Aug 22 12:16:30 2001 Joe Hoffert <joeh@cs.wustl.edu>
-
- * pace/win32/pace_lib.dsp:
- Added #define PACE_AS_STATIC_LIBS to be consistent
- with ACE and TAO project files.
-
- * pace/win32/pace_dll.dsp:
- Added #define PACE_BUILD_DLL and removed #define
- PACE_DLL_EXPORTS to be consistent with ACE and TAO
- project files.
-
-Wed Aug 22 12:05:27 2001 Joe Hoffert <joeh@cs.wustl.edu>
-
- * pace/config/constants.h:
- Removed PACE_HAS_DLL and PACE_Export #defines since
- these are now implemented appropriately for PACE
- in pace/config/config.h.
-
-Wed Aug 22 09:04:28 2001 Joe Hoffert <joeh@cs.wustl.edu>
-
- * Makefile:
- Took away restriction for VxWorks since we now support
- that OS.
-
- * include/makeinclude/rules.common.GNU:
- Added check for pace_tracing set to 1 and included the
- appropriate -DPACE_TRACING if set.
-
- * pace/Makefile:
- Changed absolute path of $(ACE_ROOT)/PACE to $(PACE_ROOT)
- to include rules.common.GNU and defined PACE_ROOT to be
- $(ACE_ROOT)/PACE if not already defined. This is needed
- for the DII COE work since there the PACE files are not
- necessarily underneath the ACE files.
-
- * pace/aio.h:
- * pace/ctype.h:
- * pace/dirent.h:
- * pace/fcntl.h:
- * pace/grp.h:
- * pace/locale.h:
- * pace/math.h:
- * pace/mqueue.h:
- * pace/pthread.h:
- * pace/pwd.h:
- * pace/sched.h:
- * pace/semaphore.h:
- * pace/setjmp.h:
- * pace/signal.h:
- * pace/stdio.h:
- * pace/stdlib.h:
- * pace/string.h:
- * pace/termios.h:
- * pace/time.h:
- * pace/unistd.h:
- * pace/utime.h:
- * pace/sys/mman.h:
- * pace/sys/socket.h:
- * pace/sys/stat.h:
- * pace/sys/times.h:
- * pace/sys/utsname.h:
- * pace/sys/wait.h:
- Added PACE_Export to all function declarations -
- for Windows DLL builds.
-
- * pace/config/config.h:
- Added PACE_Export #define to go away for non-Windows
- platforms and to be appropriate for a DLL - using dllexport
- - or for an application or DLL that including these functions
- - using dllimport.
-
- * pace/config/constants.h:
- Moved PACE_TRACE define to utility.h.
-
- * pace/config/features.h:
- Removed extraneous lines at end of file.
-
- * pace/config/utility.h:
- Moved PACE_TRACE define from constants.h to here -
- and made it to be turned on or off by setting pace_tracing
- to 1.
-
- * pace/vxworks/pthread.c:
- Added PACE_TRACE tracing and renamed pace_pthread*
- functions to pthread* functions. This will allow
- the compiler to flag us - with an error - when these
- functions are implemented and we can then remove
- our emulation code.
-
- * pace/vxworks/pthread.h:
- Added declarations for all the POSIX Pthread
- functions that VxWorks doesn't support - and
- which we emulate in pthread.c.
-
- * pace/vxworks/pthread.inl:
- Added PACE_TRACE tracing and added calls to POSIX
- routines which get emulated in pthread.c.
-
- * pace/vxworks/aio.inl:
- * pace/vxworks/ctype.inl:
- * pace/vxworks/dirent.inl:
- * pace/vxworks/fcntl.inl:
- * pace/vxworks/grp.inl:
- * pace/vxworks/locale.inl:
- * pace/vxworks/math.inl:
- * pace/vxworks/mman.inl:
- * pace/vxworks/mqueue.inl:
- * pace/vxworks/pwd.inl:
- * pace/vxworks/sched.inl:
- * pace/vxworks/semaphore.inl:
- * pace/vxworks/setjmp.inl:
- * pace/vxworks/signal.inl:
- * pace/vxworks/socket.inl:
- * pace/vxworks/stat.inl:
- * pace/vxworks/stdio.inl:
- * pace/vxworks/stdlib.inl:
- * pace/vxworks/string.inl:
- * pace/vxworks/termios.inl:
- * pace/vxworks/time.inl:
- * pace/vxworks/times.inl:
- * pace/vxworks/unistd.inl:
- * pace/vxworks/utime.inl:
- * pace/vxworks/wait.inl:
- Added PACE_TRACE tracing.
-
- * pace/vxworks/utsname.inl:
- Added PACE_TRACE tracing and added OS version for
- release name.
-
- * tests/Makefile:
- Cleaned up a dangling continuation line and added comment
- about building Posix_SP_Test last since it may not even
- compile ( which is actually the tests).
-
- * tests/Posix_SP_Test.c:
- * tests/Pthreads_Test.c:
- * tests/mqueue_test.c:
- Included vxworks_stub.c file to build for VxWorks.
-
- * tests/Stdio_Test.c:
- Included vxworks_stub.c file to build for VxWorks and
- unlinked temporary file when done.
-
- * tests/vxworks_stub.c:
- Added this file to encapsulate the machinations needed
- to get the tests to build for VxWorks.
-
-Fri Jul 20 15:53:56 2001 Joe Hoffert <joeh@cs.wustl.edu>
-
- * pace/win32/string.c (strtok_r):
- Fixed problems with reference to ACE_OS and some C++
- incongruities.
-
-Fri Jul 20 15:44:02 2001 Joe Hoffert <joeh@cs.wustl.edu>
-
- * pace/win32/string.h:
-
- * pace/win32/string.inl (strtok_r):
-
- * pace/win32/string.c (strtok_r):
- Added support for strtok_r. Stole code from ACE_OS_String.
- Was causing a problem with the TAO IDL compiler.
-
-Tue Jul 10 10:43:38 2001 Joe Hoffert <joeh@cs.wustl.edu>
-
- * Makefile:
- Changed default definition of PACE_ROOT to be $ACE_ROOT/PACE
- rather than $ACE_ROOT/pace.
-
-Mon Jul 9 15:53:43 2001 Joe Hoffert <joeh@cs.wustl.edu>
-
- * tests/Stdio_Test.c:
- Added directives to compile test for VxWorks, e.g. calling
- spa and having it call ace_main (borrowed from ACE_OS).
-
- * tests/Pthreads_Test.c:
- * tests/Makefile:
- Added Pthreads_Test to test POSIX threads (at least
- minimally).
-
-Mon Jul 9 15:39:26 2001 Joe Hoffert <joeh@cs.wustl.edu>
-
- * pace/vxworks/utsname.h:
- VxWorks does not have a utsname.h so remove it from being
- included.
-
- * pace/vxworks/signal.inl:
- Fixed call to sigwait. Used call to sigtimedwait (as ACE
- does) since sigwait doesn't appear to be supported by
- VxWorks.
-
- * pace/vxworks/pthread.inl:
- Moved some functions from inline to non-inline.
-
- * pace/vxworks/pthread.c:
- Moved some functions from inline to non-inline.
-
- * pace/pthread.h:
- Changed some functions from inline to non-inline for
- VxWorks.
-
- * pace/fcntl.h:
- Added appropriate return for pace_fcntl on VxWorks.
-
-Fri Jun 29 15:52:28 2001 Joe Hoffert <joeh@cs.wustl.edu>
-
- * pace/config/platform.h:
- Remove "#error "Here in platform.h for Win32" message.
-
-Tue Jun 12 14:46:48 2001 Joe Hoffert <joeh@cs.wustl.edu>
-
- * pace/vxworks/unistd.inl:
- Added cast for non-const char*.
-
- * pace/vxworks/time.inl:
- Removed declaration of errno.
-
- * pace/vxworks/pthread.inl:
- * pace/vxworks/pthread.h:
- * pace/vxworks/pthread.c:
- Added supported for pthreads. The vast majority of this code
- was donated by Hughes Network Systems via Braeton Taylor
- <btaylor@hns.com>.
-
- * pace/config/config.h:
-
- * pace/pthread.h:
- With the addition of VxWorks not all PACE functions are inlined
- now. Added #if !(PACE_VXWORKS) to handle this.
-
- * THANKS:
- Added Braeton Taylor of Hughes Network Systems for his
- contribution of pthread code for VxWorks.
-
-Fri Jun 1 15:38:45 2001 Joe Hoffert <joeh@cs.wustl.edu>
-
- * pace/vxworks/aio.c:
- * pace/vxworks/aio.inl:
- * pace/vxworks/aio.h:
- * pace/vxworks/assert.c:
- * pace/vxworks/assert.inl:
- * pace/vxworks/assert.h:
- * pace/vxworks/ctype.c:
- * pace/vxworks/ctype.h:
- * pace/vxworks/ctype.inl:
- * pace/vxworks/dirent.c:
- * pace/vxworks/dirent.h:
- * pace/vxworks/dirent.inl:
- * pace/vxworks/errno.h:
- * pace/vxworks/fcntl.c:
- * pace/vxworks/fcntl.h:
- * pace/vxworks/fcntl.inl:
- * pace/vxworks/grp.c:
- * pace/vxworks/grp.h:
- * pace/vxworks/grp.inl:
- * pace/vxworks/limits.h:
- * pace/vxworks/locale.c:
- * pace/vxworks/locale.h:
- * pace/vxworks/locale.inl:
- * pace/vxworks/math.c:
- * pace/vxworks/math.h:
- * pace/vxworks/math.inl:
- * pace/vxworks/mman.c:
- * pace/vxworks/mman.h:
- * pace/vxworks/mman.inl:
- * pace/vxworks/mqueue.c:
- * pace/vxworks/mqueue.h:
- * pace/vxworks/pthread.c:
- * pace/vxworks/pthread.h:
- * pace/vxworks/pthread.inl:
- * pace/vxworks/pwd.c:
- * pace/vxworks/pwd.h:
- * pace/vxworks/pwd.inl:
- * pace/vxworks/sched.c:
- * pace/vxworks/sched.h:
- * pace/vxworks/sched.inl:
- * pace/vxworks/semaphore.c:
- * pace/vxworks/semaphore.h:
- * pace/vxworks/semaphore.inl:
- * pace/vxworks/setjmp.c:
- * pace/vxworks/setjmp.h:
- * pace/vxworks/setjmp.inl:
- * pace/vxworks/signal.c:
- * pace/vxworks/signal.h:
- * pace/vxworks/signal.inl:
- * pace/vxworks/socket.c:
- * pace/vxworks/socket.h:
- * pace/vxworks/socket.inl:
- * pace/vxworks/stat.c:
- * pace/vxworks/stat.h:
- * pace/vxworks/stat.inl:
- * pace/vxworks/stdio.c:
- * pace/vxworks/stdio.h:
- * pace/vxworks/stdio.inl:
- * pace/vxworks/stdlib.c:
- * pace/vxworks/stdlib.h:
- * pace/vxworks/stdlib.inl:
- * pace/vxworks/string.c:
- * pace/vxworks/string.h:
- * pace/vxworks/string.inl:
- * pace/vxworks/termios.c:
- * pace/vxworks/termios.h:
- * pace/vxworks/termios.inl:
- * pace/vxworks/time.c:
- * pace/vxworks/time.h:
- * pace/vxworks/time.inl:
- * pace/vxworks/times.c:
- * pace/vxworks/times.h:
- * pace/vxworks/times.inl:
- * pace/vxworks/types.h:
- * pace/vxworks/unistd.c:
- * pace/vxworks/unistd.h:
- * pace/vxworks/unistd.inl:
- * pace/vxworks/utime.c:
- * pace/vxworks/utime.h:
- * pace/vxworks/utime.inl:
- * pace/vxworks/utsname.c:
- * pace/vxworks/utsname.h:
- * pace/vxworks/utsname.inl:
- * pace/vxworks/wait.c:
- * pace/vxworks/wait.h:
- * pace/vxworks/wait.inl:
- Added these files for the VxWorks port of PACE.
-
-Mon May 14 12:55:33 2001 Joe Hoffert <joeh@cs.wustl.edu>
-
- * docs/www/pace-car.html:
-
- Deleted this file since it comflicts with PACE-car.html on
- file systems that are not case-sensitive. (It also appears
- to be a duplicate file.)
-
-Sun May 13 14:42:11 2001 Luther J Baker <luther@cs.wustl.edu>
-
- * docs/www/*:
-
- Basic Web Site added to the repo.
-
-Sun May 13 14:18:34 2001 Luther J Baker <luther@cs.wustl.edu>
-
- * docs/index.html:
- * docs/overview.html:
- * docs/legend.html:
- * docs/todo.html:
- * docs/PACE_POSIX_support.txt:
-
- Superfluous files removed.
-
- * docs/README:
-
- Added identification line of text.
-
-Mon Apr 23 10:43:23 2001 Carlos O'Ryan <coryan@uci.edu>
-
- * pace/config/compiler.h:
- Reverted on of Cristian's changes. He agrees that it is not
- worthwhile to use the C9X 'inline' feature when only a few
- versions of gcc support it, while inlining static functions with
- -O3 is supported by all versions.
-
-Mon Apr 23 09:45:13 2001 Carlos O'Ryan <coryan@uci.edu>
-
- * pace/win32/pthread.c (pthread_getschedparam):
- Fixed syntax error, thanks to Cristian Ferretti
- <cristian_ferretti@yahoo.com> for keeping track of the builds
- and providing the patch.
-
-Sun Apr 22 18:53:28 2001 Carlos O'Ryan <coryan@uci.edu>
-
- * pace/win32/ctype.h:
- ctype.inl is already #included in pace/ctype.h, no need to
- #include it again.
-
-Sun Apr 22 15:03:11 2001 Carlos O'Ryan <coryan@uci.edu>
-
- * pace/ctype.h:
- Add missing #includes that were causing compilation warnings.
-
-Sat Apr 21 17:37:40 2001 Carlos O'Ryan <coryan@uci.edu>
-
- * pace/win32/socket.inl:
- * pace/win32/socket.c:
- Make Fuzz happy, some RCS ids went missing.
-
-Sat Apr 21 15:31:27 2001 Carlos O'Ryan <coryan@uci.edu>
-
- * PACE/pace/ctype.h:
- * PACE/pace/config/compiler.h:
- * PACE/pace/config/platform.h:
- * PACE/pace/win32/pthread.c:
- * PACE/pace/win32/pthread.inl:
- * PACE/pace/win32/semaphore.c:
- * PACE/pace/win32/semaphore.h:
- * PACE/pace/win32/signal.inl:
- * PACE/pace/win32/socket.c:
- * PACE/pace/win32/socket.h:
- * PACE/pace/win32/socket.inl:
- * PACE/pace/win32/stdlib.inl:
- * PACE/pace/win32/unistd.h:
- * PACE/pace/win32/unistd.inl:
- * PACE/pace/win32/utime.c:
- * PACE/pace/win32/utsname.c:
- * PACE/pace/win32/utsname.inl:
- * PACE/pace/win32/wait.inl:
- Add support for mingw (www.mingw.org) and partial support for
- cygwin (http://cygwin.com/). Many thanks to Cristian Ferretti
- <cristian_ferretti@yahoo.com>
-
-Mon Apr 16 16:17:35 2001 Carlos O'Ryan <coryan@uci.edu>
-
- * pace/posix/socket.h:
- * pace/config/platform.h:
- * include/makeinclude/rules.common.GNU:
- Add support for QNX, it behaves like other POSIX platforms.
-
-Wed Mar 21 09:26:38 2001 Joe Hoffert <joeh@cs.wustl.edu>
-
- * pace/posix/socket.h:
- Added typedef of pace_socklen_t to int for Solaris 5.6. Thanks
- to Lu Yunhai <luyunhai@huawei.com> for this solution.
-
-Mon Mar 19 16:56:47 2001 Luther Baker <luther@cs.wustl.edu>
-
- * pace/win32/unistd.c:
- * pace/win32/unistd.inl:
- * pace/win32/stdio.c:
- * pace/win32/time.inl:
- Removed ::MsvcFoo punctuation. Since PACE is a c-library,
- it doesn't recognize this C++ism. (::)
-
- * pace/win32/unistd.h:
- Added signature for pace_win32_read (needs to be visible
- before unistd.inl).
-
-Tue Mar 13 12:58:09 2001 Joe Hoffert <joeh@cs.wustl.edu>
-
- * pace/win32/setjmp.inl:
- Removed function calls to setjmp and sigsetjmp since
- these are now macros.
-
- * pace/win32/stdio.c:
- Adding pace_win32_fseek function to support pace_fseek.
-
- * pace/win32/time.inl:
- Adding support for tzset for Windows.
-
- * pace/win32/unistd.c:
- Adding call to pace_win32_read function and cleaned up
- pace_write code.
-
- * pace/win32/unistd.inl:
- Adding pace_win32_read function to support pace_read.
-
-Wed Feb 28 15:04:41 2001 Joe Hoffert <joeh@cs.wustl.edu>
-
- * pace/posix/string.inl (pace_strtok_r):
- Added call to strtok_r for Lynx and SunOS since it is
- supported but PACE_HAS_REENTRANT doesn't get defined
- for them.
-
- * pace/posix/setjmp.inl:
- * pace/setjmp.h:
- Changed setjmp and sigsetjmp from functions to macros since
- the functions were causing warnings on linux (Red Hat 7).
-
- * include/makeinclude/rules.common.GNU:
- Added support for Solaris 8
-
-Fri Feb 9 19:35:29 2001 Luther J Baker <luther@cs.wustl.edu>
-
- * pace/config/compiler.h
- * pace/config/utility.h
- * pace/config/fcntl.h
- * pace/win32/mman.inl
- * pace/win32/pthread.h
- * pace/win32/semaphore.inl
- * pace/win32/stat.inl
- * pace/win32/stdio.inl
- * pace/win32/types.h
- * pace/win32/unistd.inl
- * pace/win32/utime.h
- * pace/win32/utime.inl
-
- Thanks to Christopher Kohlhoff <chris@kohlhoff.com>
- for making the changes necessary to port PACE to
- Borland C++ Builder 5.
-
-Thu Feb 1 17:36:24 2001 Luther J Baker <luther@cs.wustl.edu>
-
- * pace/win32/signal.h (PACE_SIGSET_T):
- * pace/win32/signal.inl (pace_sigfillset):
-
- Used ACE implementation.
-
-Sun Jan 28 13:20:28 2001 Luther J Baker <luther@cs.wustl.edu>
-
- * pace/posix/unistd.inl (pace_getlogin_r):
-
- Changed C++ style comments to C.
-
-Thu Jan 25 17:26:41 2001 Luther J Baker <luther@cs.wustl.edu>
-
- * pace/posix/unistd.inl (pace_access):
-
- Yet another change to the illustrious function.
- Let it be noted that there needs to be a better test for
- the _REENTRANT policy. Linux supports 'these' calls but
- is currently forced to the emulation code.
-
- The #if (PACE_SUNOS) || (PACE_LYNXOS) should not be here.
- Instead, there should be a simple test like PACE_HAS_REENTRANT
- or something even higher (such as in ACE: ACE_MT_SAFE).
-
-Tue Jan 23 14:56:51 2001 Luther J Baker <luther@cs.wustl.edu>
-
- * pace/posix/unistd.inl (pace_getlogin_r):
-
- Rewrote code and based preprocessor selection on
- PACE_HAS_REENTRANT as opposed to PACE_LYNXOS, PACE_SUNOS
- on an otherwise defined platform macro.
-
-Fri Jan 19 12:43:27 2001 Priyanka Gontla <pgontla@ece.uci.edu>
-
- * pace/posix/socket.h:
- Added a check for HPUX so that pace_family_t is not defined for
- HPUX.
-
-Thu Jan 18 15:22:07 2001 Joe Hoffert <joeh@cs.wustl.edu>
-
- * tests/Stdio_Test.c (main):
- Removed SLEEPTIME constant since it isn't always used.
-
- * pace/emulation/mqueue.c:
- Added char* casts from malloc and mmap calls.
-
- * pace/posix/unistd.inl (pace_getlogin_r):
- Changed from POSIX User Group Unit of Functionality to
- User Group Reentrant Unit of Functionality.
-
- * pace/posix/sched.inl (pace_sched_rr_get_interval):
- SunOS 5.5.1 uses sched_get_rr_get_interval rather than
- sched_rr_get_interval.
-
- * pace/posix/socket.h:
- Fixed problems with SunOS 5.5.1 support (i.e., doesn't
- use socklen_t structs - it uses ints instead - and it
- doesn't use family_t structs at all.)
-
-Mon Jan 15 10:44:39 2001 Darrell Brunsch <brunsch@uci.edu>
-
- * tests/tests.dsw:
-
- Added dependencies between the projects.
-
- * pace/win32/pace_dll.dsp:
- * pace/win32/pace_lib.dsp:
- * tests/test_stdio.dsp:
-
- - Fixed the intermediate and output directories to
- fit the model used in ACE.
-
- - Changed the names of the two pace* projects so
- msvc_auto_compile.pl will be able to recognize
- them as libraries.
-
- - Added two new configurations to test_stdio so it
- now can link to both the dynamic and static
- version of PACE.
-
- - Changed the configuration name of the static
- projects to Win32 Static Release and Debug
-
-Mon Jan 15 10:32:19 2001 Carlos O'Ryan <coryan@uci.edu>
-
- * pace/setjmp.h:
- The 'extern "C"' block was closed twice, making KCC unhappy.
-
-Mon Jan 15 10:20:55 2001 Carlos O'Ryan <coryan@uci.edu>
-
- * pace/posix/socket.c:
- Change #include from "pace/posix/sys/socket.inl" to
- "pace/posix/socket.inl", the former does not exist and the
- program fails to compile.
- Only detected in builds with inline=0
-
-Fri Jan 12 07:35:31 2001 Joe Hoffert <joeh@cs.wustl.edu>
-
- * Makefile:
- Changed to ignore VxWorks platforms (not currently
- supported by PACE).
-
- * include/makeinclude/rules.common.GNU:
- Added CFLAGS for LynxOS 3.0.0 so that the PACE library
- will compile and not break nightly builds.
-
- * tests/mqueue_test.c:
- * tests/Stdio_Test.c:
- * tests/Posix_SP_Test.c:
- Changed to compile (i.e., do nothing) for LynxOS 3.0.0
- to keep nightly builds from breaking.
-
- * pace/posix/pthread.inl:
- Added support for LynxOS 3.0.0.
-
- * pace/posix/socket.h:
- Fixed problems with LynxOS support (i.e., Lynx doesn't
- use socklen_t structs - it uses ints instead - and Lynx
- doesn't use family_t structs at all.)
-
-Thu Jan 04 17:10:09 2001 Luther Baker <luther@cs.wustl.edu>
-
- * pace/win32/pace.dsw
-
- Typographic changes.
-
-Thu Jan 04 13:59:00 2001 Luther Baker <luther@cs.wustl.edu>
-
- * pace/win32/pace.dsw
-
- Changed MS libraries to link to. Now consistent with ACE.
- (ie, Always 'Multithreaded DLL' with Debug version using
- the DEBUG DLL and Release using the standard DLL).
-
- * pace/pace/win32/stdlib.h
-
- Updated. Implements the posix C functions that were added
- to PACE last year.
-
-Wed Jan 3 10:01:02 2001 Joe Hoffert <joeh@cs.wustl.edu>
-
- * pace/man/Makefile:
- Updated directory to use to generate man pages (in html).
-
-Fri Dec 22 12:09:59 2000 Luther J Baker <luther@cs.wustl.edu>
-
- * pace/Makefile:
- * pace/config/config.h:
-
- * pace/sys/socket.h:
- * pace/posix/socket.h:
- * pace/posix/socket.inl:
- * pace/posix/socket.c:
-
- Updated. Linux is building sockets correctly now.
-
-Fri Dec 22 10:54:13 2000 Luther J Baker <luther@cs.wustl.edu>
-
- * pace/socket.h
- * pace/sys/socket.h
- * pace/Makefile
-
- Moved socket.h to sys/socket.h.
-
- Started looking at Makefile to add socket.h
-
-Thu Dec 21 18:22:28 2000 Luther J Baker <luther@cs.wustl.edu>
-
- * docs/index.html:
- * docs/legend.html:
- * docs/overview.html:
- * docs/todo.html:
-
- Begin moving PACE documentation to main distribution.
- Also rewriting much of this.
-
-Thu Dec 21 18:02:23 2000 Luther J Baker <luther@cs.wustl.edu>
-
- * pace/docs/todo.txt
-
- Meaningless file removed.
-
-Wed Dec 20 16:49:47 2000 Luther J Baker <luther@cs.wustl.edu>
-
- * tests/Stdio_Test.c:
-
- An innocent change :-/. Used pace_strcmp (...) instead of
- strcmp. Had to include "pace/string.h".
-
-Wed Dec 20 16:42:45 2000 Luther J Baker <luther@cs.wustl.edu>
-
- * pace/socket.h:
- * pace/posix/socket.inl:
- * pace/posix/socket.c:
-
- Beginning of PACE POSIX socket implementation.
-
-Wed Dec 20 15:19:50 2000 Luther J Baker <luther@cs.wustl.edu>
-
- * pace/config/config.h:
-
- Added PACE_HAS_POSIX_SOCK_UOF for upcoming socket
- implementation.
-
-Thu Dec 19 11:40:00 2000 Luther J Baker <luther@cs.wustl.edu>
-
- * pace/win32/unistd.c:
-
- Added pace_ prefix to emulation functions.
-
-Thu Oct 26 04:00:00 2000 Luther J Baker <luther@cs.wustl.edu>
-
- * pace/win32/schedtypes.h:
- * pace/win32/sched.h:
-
- Compliance with ACE_HAS_PACE for ACE.
- sched_param now has a member sched_priority.
-
-Wed Oct 18 15:41:20 2000 Luther J Baker <luther@cs.wustl.edu>
-
- * pace/win32/pthread.h:
- * pace/win32/pthreadtypes.h:
- * pace/semphore.h:
- * pace/win32/semphore.h:
- * pace/win32/semphore.inl:
-
- Debugging ACE building with PACE over NT
- ACE_HAS_PACE.
-
-Tue Oct 3 15:37:35 2000 Joe Hoffert <joeh@cs.wustl.edu>
-
- * pace/posix/stdio.inl:
- Added vfprintf, vprintf, and vsprintf support
-
-Tue Sep 26 15:19:20 2000 Joe Hoffert <joeh@cs.wustl.edu>
-
- * tests/Makefile:
- * pace/Makefile:
- Moved checks for inlining flags down in the file so
- that include/makeinclude/platform_macros.GNU can be
- checked to see if the flags are set there.
-
- * pace/posix/stdio.h:
- Moved stdio.h header file include after stdarg.h
- header file (per comment in ace/OS.h file)
-
-Fri Sep 22 11:32:25 2000 Darrell Brunsch <brunsch@uci.edu>
-
- * PACE/pace/posix/math.inl:
- * PACE/pace/win32/math.inl:
-
- Disabled fuzz math.h inclusion check.
-
-Wed Sep 13 13:52:00 2000 Luther J Baker <luther@maxixe.doc.wustl.edu>
-
- * pace/win32/types.h:
-
- Removed irrelevant base types and kept pace_* types.
-
- (ie:
- typedef DWORD nlink_t;
- typedef nlink_t pace_nlink_t;
- became
- typedef DWORD pace_nlink_t;
- )
-
-Wed Sep 13 13:42:15 2000 Luther J Baker <luther@cs.wustl.edu>
-
- * pace/sys/wait.h:
-
- More types changed to pace_*.
-
-Wed Sep 13 13:25:33 2000 Luther J Baker <luther@cs.wustl.edu>
-
- * pace/unistd.h:
- * pace/win32/unistd.inl:
-
- Even more type shifts to pace_*.
-
-Wed Sep 13 13:06:27 2000 Luther J Baker <luther@cs.wustl.edu>
-
- * pace/unistd.h:
-
- More of uid_t to pace_uid_t.
-
-Wed Sep 13 12:59:52 2000 Luther J Baker <luther@cs.wustl.edu>
-
- * pace/unistd.h:
-
- Change arguments from uid_t to pace_uid_t.
-
-Tue Aug 29 14:59:35 2000 Luther J Baker <luther@cs.wustl.edu>
-
- * pace/win32/stat.inl (pace_fstat):
-
- Typo.
-
-Tue Aug 29 14:57:04 2000 Luther J Baker <luther@cs.wustl.edu>
-
- * pace/win32/stat.h (pace_stat):
-
- Atered pace_stat_h typedef.
-
- * pace/win32/stat.inl (pace_stat):
-
- Implemented pace_fstat and pace_stat.
-
-Tue Aug 29 14:14:45 2000 Luther J Baker <luther@cs.wustl.edu>
-
- * pace/stat.h (pace_fstat):
- * pace/stat.h (pace_fchmod):
- * pace/posix/stat.inl (pace_fchmod):
- * pace/posix/stat.inl (pace_fstat):
- * pace/win32/stat.inl (pace_fchmod):
- * pace/win32/stat.inl (pace_fstat):
-
- Changed argument 1 from an int to a PACE_HANDLE.
-
-Tue Aug 29 13:07:55 2000 Luther J Baker <luther@cs.wustl.edu>
-
- * pace/win32/fcntl.inl (pace_creat):
-
- Fixed a typo.
-
-Mon Aug 28 20:40:25 2000 Luther J Baker <luther@cs.wustl.edu>
-
- * pace/win32/stat.h (pace_win32_mkdir):
- * pace/win32/stat.inl (pace_win32_mkdir):
- * pace/win32/stat.c (pace_win32_mkdir):
-
- Altered naming convention of emulation function.
-
-Mon Aug 28 20:00:26 2000 Luther J Baker <luther@cs.wustl.edu>
-
- * PACE/pace/fcntl.h:
- * PACE/pace/win32/fcntl.inl:
-
- Added support of fcntl (...) for win32. No op.
-
-Fri Aug 25 12:11:38 2000 Luther J Baker <luther@cs.wustl.edu>
-
- * /pace/unistd.h:
-
- Change ssize_t to pace_ssize_t.
-
- * /pace/win32/unistd.h:
- * /pace/win32/unistd.inl:
- * /pace/win32/unistd.c:
- * /pace/win32/mqueue.inl:
-
- Changes related to type conflicts with ACE.
-
-Tue Aug 22 18:59:41 2000 Luther J Baker <luther@cs.wustl.edu>
-
- * PACE/ChangeLog:
-
- Updated.
-
-Tue Aug 22 18:51:34 2000 Luther J Baker <luther@cs.wustl.edu>
-
- * pace/win32/dirent.h:
- * pace/win32/signal.h:
- * stdio.h:
- * stdlib.h:
- * time.h:
- * types.h:
- * unistd.h:
- * utsname.h:
-
- Update to compile.
-
-Tue Aug 22 17:58:38 2000 Luther J Baker <luther@cs.wustl.edu>
-
- * PACE/ChangeLog:
-
- Updated.
-
-Tue Aug 22 17:52:02 2000 Luther J Baker <luther@cs.wustl.edu>
-
- * PACE_POSIX_support.txt:
-
- Updated emulation records.
-
- * pace/fcntl.h:
- * pace/win32/fcntl.h:
- * pace/win32/fcntl.c:
-
- Updated creat func to pace_win32_create to eliminate compile probs.
-
- * TODO:
-
- Updated.
-
- * pace/config/utility.h:
-
- Updated to work with multithreaded errno correctly.
-
- * pace/win32/pthread.h:
- * pace/win32/pthread.inl:
- * pace/win32/pthread.c:
-
- Update emulations!
-
- * pace/win32/time.inl:
-
- Updated/hacked to compile correctly!
-
- * pace/win32/pace_dll.dsp:
- * pace/win32/pace_lib.dsp:
-
- Updated project settings to use proper multithreaded DLL / LIB.
-
-Tue Aug 22 12:44:09 2000 Luther J Baker <luther@cs.wustl.edu>
-
- * pace/config/features.h (_MT):
-
- Added to support multithreading.
-
- * pace/win32/pthread.c (pthread_create):
-
- Completed using basic _beginthreadex.
-
- * pace/win32/TODO:
-
- Updated.
-
-Mon Aug 21 20:34:51 2000 Luther J Baker <luther@cs.wustl.edu>
-
- * pace/config/features.h:
-
- Updated to reflect PACE_HAS_MFC and PACE_MT_SAFE.
- Following ace/config-win32-common.h.
-
-Mon Aug 21 19:40:23 2000 Luther J Baker <luther@cs.wustl.edu>
-
- * pace/win32/pthread.c (pthread_attr_init):
-
- Updated attr initialization in pthread_attr_init.
-
-Fri Aug 18 17:57:42 2000 Steve Huston <shuston@riverace.com>
-
- * include/makeinclude/rules.common.GNU: Added section for HP-UX.
-
-Fri Aug 18 12:30:51 2000 Steve Huston <shuston@riverace.com>
-
- * include/makeinclude/rules.common.GNU: Added section for AIX.
-
-Wed Aug 16 17:31:43 2000 Luther J Baker <luther@cs.wustl.edu>
-
- * pace/win32/pthread.h:
- * pace/win32/pthread.inl:
- * pace/win32/pthread.c:
- * pace/win32/pthreadtypes.h:
- * pace/win32/schedtypes.h:
- * pace/win32/TODO
-
- More fabulous emulation updates!
-
-Wed Aug 16 16:26:32 2000 Luther J Baker <luther@cs.wustl.edu>
-
- * pace/win32/pthread.h:
- * pace/win32/pthread.inl:
- * pace/win32/pthread.c:
-
- The first commit in a long series of emulations.
-
-Mon Aug 14 22:24:50 2000 Luther J Baker <luther@cs.wustl.edu>
-
- * pace/win32/sched.inl (pace_sched_get_priority_max):
-
- Removed an extraneous '#include' left from the previous commit.
-
- * pace/win32/pace_dll.dsp:
- * pace/win32/pace_lib.dsp:
-
- Added new files to the project files.
- (pthreadtypes.h schedtypes.h)
-
-Mon Aug 14 21:41:24 2000 Luther J Baker <luther@cs.wustl.edu>
-
- * pace/win32/pthreadtypes.h:
- * pace/win32/schedtypes.h:
-
- Added to repository to break up the complexity
- of the code and avoid circular dependencies.
-
- * pace/win32/types.h:
-
- Updated declarations to remove circular dependencies.
-
- * pace/win32/sched.h:
-
- Updated to use schedtypes.h.
-
- * pace/win32/pthread.h:
-
- Updated to use pthreadtypes.h.
-
- * pace/pthread.h:
-
- Updated signatures to use pace prefixed types.
-
-Thu Aug 10 04:18:14 2000 John Heitmann <jwh1@cs.wustl.edu>
-
- * tests/Stdio_Test.c:
- Changed a c++ style comment to a c style comment.
-
- * pace/fcntl.h
- * pace/mqueue.h
- * pace/semaphore.h
- * pace/stdio.h
- Removed global scope modifier, since it should be
- supplied by the client.
-
-Wed Aug 09 19:30:39 2000 Luther J Baker <luther@cs.wustl.edu>
-
- * tests/tests.dsw:
-
- Removed test projects files that use constants from
- POSIX specific platforms (Posix_SP_Test.c, mqueue_test.c).
-
-Wed Aug 09 19:22:17 2000 Luther J Baker <luther@cs.wustl.edu>
-
- * tests/tests.dsw:
- * tests/test_stdio.dsp:
-
- Added to the repository.
- Note that I also added the pace_lib and pace_dll projects
- to this workspace. Unlike, ACE, the library is pretty
- small and the tests are quite limited and so they all
- fit quite nicely in a project file!
-
- * tests/Stdio_Test.c:
-
- Altered to sleep for 20 secs to test the exe size in memory.
-
-Tue Aug 08 17:09:38 2000 Joe Hoffert <joeh@cs.wustl.edu>
-
- * pace/config/config.h:
- Added comments explaining the PACE_HAS_*UOF* macros.
-
- * pace/posix/time.inl:
- Fixed checking of return values for reentrant functions
- on LynxOS.
-
- * pace/posix/unistd.inl:
- Fixed erroneous comment about PACE_HAS_POSIX_UGR_UOF.
-
-Thu Aug 03 10:23:04 2000 David L. Levine <levine@cs.wustl.edu>
-
- * VERSION: updated for next beta, manually.
-
-Wed Aug 2 14:43:08 2000 John Heitmann <jwh1@cs.wustl.edu>
-
- * include/makeinclude/rules.common.GNU:
- Changed VPATH:= to VPATH+= so it wouldn't
- trounce on other VPATH assignments. This
- fix enables TAO to comile clean on top of PACE.
-
-Sat Jul 29 09:39:24 2000 David L. Levine <levine@cs.wustl.edu>
-
- * tests/mqueue_test.c: added RCS Id string.
-
-Sat Jul 29 09:31:59 2000 David L. Levine <levine@cs.wustl.edu>
-
- * tests/mqueue_test.c: got it to compile cleanly on OSF1,
- by adding an unused arg to msg_handler, and commenting
- the characters after an #endif.
-
-Sat Jul 29 09:19:01 2000 David L. Levine <levine@cs.wustl.edu>
-
- * include/makeinclude/rules.common.h (CFLAGS): on OSF1, added
- -D_DEC_XPG, to pickup up _SC_AIO_LISTIO_MAX, et al., from
- /usr/include/unistd.h.
-
-Sat Jul 29 09:08:15 2000 David L. Levine <levine@cs.wustl.edu>
-
- * pace/config/config.h,pace/posix/aio.inl (aio_suspend):
- added PACE_AIO_SUSPEND_LIST_ARG_CAST, with special value
- on OSF1 (DIGITAL_UNIX).
-
-Fri Jul 28 18:11:24 2000 David L. Levine <levine@cs.wustl.edu>
-
- * README: mention LynxOS' non-standard signal interface.
-
-Fri Jul 28 15:54:38 2000 Joe Hoffert <joeh@cs.wustl.edu>
-
- * tests/Makefile:
- Modified to use ace_components rather than
- pace_components.
-
- * pace/posix/signal.h:
- Changed pace_sig_pf typedef to compile for LynxOS. Still
- need to fix it to compile for ACE with PACE for LynxOS.
-
- * pace/posix/signal.inl:
- Fixed sigwait and signal for LynxOS (at least for building
- pace).
-
- * pace/posix/time.inl:
- * pace/posix/pwd.inl:
- * pace/posix/grp.inl:
- * pace/posix/dirent.inl:
- Changed LynxOS workarounds for the reentrant functions
- and deleted the check for SUNOS since now it can use
- the POSIX calls (with _POSIX_PTHREAD_SEMANTICS being
- defined properly).
-
- * pace/config/config.h:
- Deleted definition of _REENTRANT (and put it in
- include/makeinclude/rules.common.GNU) and defined
- the different POSIX UoF macros to be 0 if we're
- not using all of them.
-
- * pace/Makefile:
- Modified to use bin/ace_components rather than
- bin/pace_components (which is going away).
-
- * include/makeinclude/rules.common.GNU:
- Adding -D_POSIX_PTHREAD_SEMANTICS (if threads == 1)
- and -D_REENTRANT for SunOS so they get defined before
- any include files.
-
-Fri Jul 28 11:29:08 2000 David L. Levine <levine@cs.wustl.edu>
-
- * README: added brief discussion of how PACE helps
- insulate applications from the OS.
-
-Fri Jul 28 06:28:26 2000 John Heitmann <jwh1@cs.wustl.edu>
-
- * pace/posix/dirent.inl
- * pace/posix/grp.inl
- * pace/posix/pwd.inl
- * pace/posix/signal.inl
- Got rid of PACE_HAS_PTHREAD_SEMANTICS not supported code
- in favor of platform specific modifications.
-
-Thu Jul 27 15:02:53 2000 Luther J Baker <luther@cs.wustl.edu>
-
- * pace/config/utility.h:
-
- Clean up comments.
-
-Thu Jul 27 14:04:47 2000 Luther J Baker <luther@cs.wustl.edu>
-
- * pace/config/defines.h:
-
- Removed #include "temp.h".
-
-Thu Jul 27 13:50:48 2000 Luther J Baker <luther@cs.wustl.edu>
-
- * pace/config/constants.h:
-
- Moved contents of pace/config/temp.h to constants.h.
- Some of this probably shouldn't be in contstants.h.
-
- * pace/config/temp.h:
-
- Removed.
-
-Thu Jul 27 13:03:29 2000 Luther J Baker <luther@cs.wustl.edu>
-
- * pace/config/constants.h (PACE_ONE_SECOND_IN_NSECS):
-
- Typo!
-
-Thu Jul 27 12:33:55 2000 David L. Levine <levine@cs.wustl.edu>
-
- * README, VERSION: updated in preparation for 1.0 release.
-
-Thu Jul 27 08:36:01 2000 John Heitmann <jwh1@cs.wustl.edu>
-
- * pace/fcntl.h
- * pace/mqueue.h
- * pace/semaphore.h
- * pace/stdio.h
- Added :: qualifier to macros, but of course these should
- be defined by the user, so these will go away once
- I update OS.*.
-
- * pace/config/config.h
- Added _REENTRANT for solaris.
-
- * pace/posix/time.inl
- * pace/posix/unistd.inl
- Took away PACE_HAS_PTHREAD_SEMANTICS in favor of platform
- specific code. It appears PAC_HAS_PTHREAD_SEMANTICS is now
- superfluous.
-
- * ../ace/OS.i
- Qualified two functions with pace_ as they should
- have been originally. Paceified ACE_OS::gettimeofday.
-
-Wed Jul 26 17:13:51 2000 John Heitmann <jwh1@cs.wustl.edu>
-
- * pace/emulation/mqueue.c:
- Removed print_queue(), qualified attrdefault
- with pace_, fixed memory leaks, and fixed
- the totally broken mq_unlink.
-
-Tue Jul 25 17:09:13 2000 Luther J Baker <luther@cs.wustl.edu>
-
- * pace/win32/mman.c:
-
- Typo.
-
-Tue Jul 25 17:00:13 2000 Luther J Baker <luther@cs.wustl.edu>
-
- * pace/win32/dirent.h:
- * pace/win32/dirent.inl:
- * pace/win32/dirent.c:
- * pace/win32/fcntl.h:
- * pace/win32/fcntl.inl:
- * pace/win32/fcntl.c:
- * pace/win32/mman.h:
- * pace/win32/mman.inl:
- * pace/win32/mman.c:
- * pace/win32/semaphore.h:
- * pace/win32/semaphore.inl:
- * pace/win32/semaphore.c:
- * pace/win32/signal.h:
- * pace/win32/signal.inl:
- * pace/win32/signal.c:
- * pace/win32/stat.h:
- * pace/win32/stat.inl:
- * pace/win32/stat.c:
- * pace/win32/unistd.h:
- * pace/win32/unistd.inl:
- * pace/win32/unistd.c:
- * pace/win32/utime.h:
- * pace/win32/utime.inl:
- * pace/win32/utime.c:
- * pace/win32/utsname.h:
- * pace/win32/utsname.inl:
- * pace/win32/utsname.c:
-
- Placed emulation prototype in the .h file.
- Removed emulation code from the .inl file.
- Moved emulation code to the .c file.
-
-Mon Jul 24 15:57:24 2000 John Heitmann <jwh1@cs.wustl.edu>
-
- * pace/posix/string.inl
- Casted away const returns.
-
- * pace/posix/signal.h
- Moved pace_sig_pf back inside the extern "C" {}
-
-Mon Jul 24 14:19:54 2000 Luther J Baker <luther@cs.wustl.edu>
-
- * pace/win32/TODO:
-
- Updated.
-
-Mon Jul 24 14:02:54 2000 Luther J Baker <luther@cs.wustl.edu>
-
- * pace/win32:
-
- Updated pace.dsw. Re-arranged files and folders.
-
- * pace/win32/TODO:
-
- Updated.
-
-Sun Jul 23 20:36:54 2000 Luther J Baker <luther@cs.wustl.edu>
-
- * pace/win32/TODO:
-
- Updated.
-
-Sun Jul 23 20:21:02 2000 Luther J Baker <luther@cs.wustl.edu>
-
- * pace/win32/*:
-
- Cleaned up alot of implementation.
-
- Got rid of separate 'emulation' functions because only win32
- is in this directory (if we supported multiple platforms in
- this directory, then the code would get messy so we would do
- better to inline and call emulation funcs according to the
- platform at hand).
-
- Inserted ACE style macros for WIN32 OS calls. Set errno
- properly and adapts return values to POSIX compliance.
-
-Sun Jul 23 19:17:33 2000 Luther J Baker <luther@cs.wustl.edu>
-
- * pace/win32/pthread.h:
-
- Added typedefs from pace/posix/pthread.h.
-
-Sun Jul 23 18:34:26 2000 Luther J Baker <luther@cs.wustl.edu>
-
- * pace/win32/pthread.inl:
-
- Win32 doesn't support pthreads. These all need to be emulated.
-
- * pace/docs/PACE_POSIX_support.txt
-
- Updated.
-
-Sun Jul 23 17:32:44 2000 Luther J Baker <luther@cs.wustl.edu>
-
- * pace/pthread.h:
-
- Missing pace_* prefix on two sigset_t args.
- Missing pace_* prefix on pthread_t arg.
-
- Became evident on NT because there are no definitions for
- the native types.
-
-Sat Jul 22 09:24:34 2000 Ossama Othman <ossama@uci.edu>
-
- * pace/Makefile.am (DESTDIRS):
-
- Added missing line continuation backslash `\'.
-
- * pace/posix/Makefile.am (noinst_LTLIBRARIES):
-
- Rename libtool convenience library to `libPACE_POSIX.la' to
- avoid name clash with the actual `libPACE.la' library.
-
-Fri Jul 21 20:41:04 2000 Luther J Baker <luther@cs.wustl.edu>
-
- * pace/win32/unistd.inl:
- * pace/posix/unistd.inl:
- * pace/unistd.h:
-
- Typos.
-
-Fri Jul 21 20:35:38 2000 Luther J Baker <luther@cs.wustl.edu>
-
- * pace/win32/wait.h:
- * pace/win32/wait.inl:
-
- ACE implements waitpid with an additional argument (HANDLE).
- Eliminated POSIX support here.
-
- * pace/docs/PACE_POSIX_support.txt
-
- Updated.
-
-Fri Jul 21 20:23:55 2000 Luther J Baker <luther@cs.wustl.edu>
-
- * pace/win32/utsname.inl (pace_uname):
-
- Partial emulation made. But more work to be done!
-
- * pace/docs/PACE_POSIX_support.txt
-
- Updated.
-
-Fri Jul 21 19:49:19 2000 Luther J Baker <luther@cs.wustl.edu>
-
- * pace/win32/utime.h (pace_utime):
- * pace/win32/utime.inl (pace_utime):
-
- Implemented the "RIGHT ANSWER[TM]" but it doesn't work so
- casted away and made the current func work. Left the
- correct implementation -- "unimplemented" :-/ in the file.
-
- * pace/docs/PACE_POSIX_support.txt
-
- Updated.
-
-Fri Jul 21 19:22:28 2000 Luther J Baker <luther@cs.wustl.edu>
-
- * pace/win32/string.inl:
-
- Fixed eror from adding new funcs (retval param was const).
-
-Fri Jul 21 18:43:07 2000 Luther J Baker <luther@cs.wustl.edu>
-
- * pace/win32/unistd.inl:
-
- Emulated or removed implementation.
-
- * pace/docs/PACE_POSIX_support.txt
-
- Updated.
-
-Fri Jul 21 18:33:04 2000 Luther J Baker <luther@cs.wustl.edu>
-
- * pace/config/constants.h (PACE_ONE_SECOND_IN_MSECS):
-
- Added.
-
-Fri Jul 21 18:19:50 2000 Luther J Baker <luther@cs.wustl.edu>
-
- * pace/config/utility.h:
-
- Added PACE_SYSCALL_FAILED 0xFFFFFFFF
-
-Fri Jul 21 12:19:06 2000 Luther J Baker <luther@cs.wustl.edu>
-
- * pace/config/utility.h:
-
- Typo. ACE_ADAPT_RETVAL ... PACE_ADAPT_RETVAL.
-
-Thu Jul 20 22:58:16 2000 John Heitmann <jwh1@cs.wustl.edu>
-
- * pace/stdlib.h
- * pace/posix/stdlib.inl
- Added atexit, div, labs, ldiv, mblen, mbstowcs, mbtowc
- strtod, strtol, strtoul, system, wcstombs, wctomb.
-
- * pace/string.h
- * pace/posix/string.inl
- Removed const return from strchr, strstr, strrchr, strpbrk.
-
- *../ace/OS_String.*
- Paceified.
-
- *../ace/ThreadManager.cpp
- Paceified.
-
- * docs/ACE_Integration.txt
- Updated.
-
-Thu Jul 20 19:17:15 2000 Luther J Baker <luther@cs.wustl.edu>
-
- * pace/win32/unistd.inl:
-
- Part of file fixed. Wanted to commit before I lose something.
-
-Thu Jul 20 19:19:28 2000 Luther J Baker <luther@cs.wustl.edu>
-
- * pace/unistd.h:
- * pace/posix/unistd.h:
-
- _isatty, lseek are both implemented in win32 with
- int fildes. Removed PACE_HANDLE here.
-
-Thu Jul 20 19:00:12 2000 Luther J Baker <luther@cs.wustl.edu>
-
- * pace/posix/unistd.inl (pace_fsync):
-
- Missing the wrapper? pace_fsync --> return fildes.
- Changed to 'return fsync (fildes); :-)
-
-Thu Jul 20 18:55:39 2000 Luther J Baker <luther@cs.wustl.edu>
-
- * pace/unistd.h:
- * pace/posix/unistd.inl:
-
- More PACE_HANDLE (dup, dup2)
-
-Thu Jul 20 14:47:20 2000 Luther J Baker <luther@cs.wustl.edu>
-
- * pace/config/utility.h:
-
- Better comments and changed syntax of PACE_OSCALL_RETURN.
-
-Thu Jul 20 14:42:26 2000 Luther J Baker <luther@cs.wustl.edu>
-
- * pace/config/utility.h (ACE_ADAPT_RETVAL):
-
- Typo.
-
-Thu Jul 20 14:12:44 2000 Luther J Baker <luther@cs.wustl.edu>
-
- * pace/posix/unistd.inl:
- * pace/unistd.h:
-
- Lots of int file descriptors changed to PACE_HANDLE.
-
-Wed Jul 19 19:50:54 2000 Luther J Baker <luther@cs.wustl.edu>
-
- * pace/config/utility.h:
-
- Added some sorely needed macros for adapting return values.
- Used extensively by ACE to emulate funcs on win32.
-
-Tue Jul 18 23:25:43 2000 John Heitmann <jwh1@cs.wustl.edu>
-
- * pace/posix/signal.h
- * pace/posix/signal.inl
- * pace/posix/stdio.h
- * pace/posix/stdlib.h
- * pace/posix/time.h
- * pace/posix/unistd.h
-
- Added double definition protections around types, PACE_NULL
- in particular.
-
- * pace/posix/signal*
-
- Changed signal's pointer to a functions to almost support
- Lynx, but it is not quite working yet.
-
- * ../ace/ACE.cpp
- * ../ace/OS_Memory.h
-
- Changed system calls to pace calls.
-
- * ../ace/OS.h
-
- Reverted part of my earlier changes to support Lynxos in
- a cleaner way.
-
- * ../ace/OS.h
- * ../ace/OS.i
-
- Many small changes including wrapping most calls with ACE_OSCALL
- to handle EINTR correctly.
-
-Tue Jul 18 15:13:40 2000 Luther J Baker <luther@cs.wustl.edu>
-
- * pace/win32/times.h:
- * pace/win32/times.inl:
-
- Fixed type support.
- Eliminated unsupported funcs (return -1 and set ernno).
-
- * docs/PACE_POSIX_support.txt:
-
- Updated.
-
-Tue Jul 18 15:09:09 2000 Luther J Baker <luther@cs.wustl.edu>
-
- * pace/win32/time.inl:
-
- Eliminated and confirmed suport for funcs.
-
- * docs/PACE_POSIX_support.txt:
-
- Updated.
-
-Tue Jul 18 14:43:08 2000 Luther J Baker <luther@cs.wustl.edu>
-
- * pace/termios.h:
- * pace/posix/termios.inl:
-
- PACE_HANDLE substituted in for file descriptors.
-
- * pace/win32/termios.h:
- * pace/win32/termios.inl:
-
- Eliminated support for most funcs. Return -1 and set ernno
- to ENOTSUP.
-
- * docs/PACE_POSIX_support.txt:
-
- Updated.
-
-Tue Jul 18 14:15:11 2000 Luther J Baker <luther@cs.wustl.edu>
-
- * pace/win32/stdio.inl:
-
- Eliminated support for cterm.
- Created support for v...print.. family of funcs.
-
- * docs/PACE_POSIX_support.txt:
-
- Updated.
-
-Tue Jul 18 13:52:13 2000 Luther J Baker <luther@cs.wustl.edu>
-
- * pace/win32/stat.h:
- * pace/win32/stat.inl:
-
- Eliminated, emulated and confirmed suport for funcs.
-
- * docs/PACE_POSIX_support.txt:
-
- Updated.
-
-Tue Jul 18 13:16:14 2000 Luther J Baker <luther@cs.wustl.edu>
-
- * pace/win32/signal.h:
- * pace/win32/signal.inl:
-
- Eliminated, emulated and confirmed suport for funcs.
-
- * docs/PACE_POSIX_support.txt:
-
- Updated.
-
-Tue Jul 18 11:33:16 2000 Luther J Baker <luther@cs.wustl.edu>
-
- * pace/win32/setjmp.h:
- * pace/win32/setjmp.inl:
-
- Eliminated support sig(setjmp/longjmp).
-
- * docs/PACE_POSIX_support.txt:
-
- Updated.
-
-Mon Jul 17 18:29:27 2000 Luther J Baker <luther@cs.wustl.edu>
-
- * pace/win32/semaphore.h:
- * pace/win32/semaphore.inl:
-
- Eliminated support for these functions. Started emulation.
-
- * pace/win32/types.h:
-
- Changed PACE_HANDLE to represent HANDLE (not void *).
-
- * docs/PACE_POSIX_support.txt:
-
- Updated.
-
-Mon Jul 17 16:37:16 2000 Luther J Baker <luther@cs.wustl.edu>
-
- * pace/win32/sched.h:
- * pace/win32/sched.inl:
-
- Eliminated support for these functions.
-
- * docs/PACE_POSIX_support.txt:
-
- Updated.
-
-Mon Jul 17 16:27:43 2000 Luther J Baker <luther@cs.wustl.edu>
-
- * pace/win32/pwd.h:
- * pace/win32/pwd.inl:
-
- Emulate some... return no support for others.
-
- * docs/PACE_POSIX_support.txt:
-
- Updated.
-
- * pace/win32/mqueue.h:
-
- Typo.
-
-Mon Jul 17 15:57:43 2000 Luther J Baker <luther@cs.wustl.edu>
-
- * pace/win32/mqueue.h:
- * pace/win32/mqueue.h:
-
- Fixed types to compile for win32.
- Code was NOT emulated so types are dummy types and
- PACE_ERRNO_NO_SUPPORT_RETURN (-1) was applied when applicable.
-
- * docs/PACE_POSIX_support.txt:
-
- Updated.
-
-Mon Jul 17 14:56:31 2000 Luther J Baker <luther@cs.wustl.edu>
-
- * pace/win32/mman.inl:
-
- Emulate some... return no support for others.
-
- * docs/PACE_POSIX_support.txt:
-
- Updated.
-
-Mon Jul 17 14:00:35 2000 Andrew G. Gilpin <agg1@cs.wustl.edu>
-
- * pace/config/utility.h:
-
- Changed #if (PACE_WIN32 != 0) to #if (PACE_WIN32) to be
- more consistent.
-
-Mon Jul 17 13:57:05 2000 Luther J Baker <luther@cs.wustl.edu>
-
- * pace/posix/mman.inl (pace_shm_open):
- * pace/win32/mman.inl (pace_shm_open):
- * pace/sys/mman.h (pace_shm_open):
-
- Return value changed to PACE_HANDLE.
-
- * pace/win32/mman.h:
-
- Added some sorely needed constant macro definitions.
-
- * pace/config/utility.h:
-
- Removed #define PACE_POSIX_ERROR_INT_RETVAL -1
-
-Mon Jul 17 13:31:50 2000 Luther J Baker <luther@cs.wustl.edu>
-
- * pace/config/utility.h:
-
- Added #define PACE_POSIX_ERROR_INT_RETVAL -1
-
-Mon Jul 17 13:07:50 2000 Luther J Baker <luther@cs.wustl.edu>
-
- * pace/aio.h (pace_aio_cancel):
- * pace/posix/aio.inl (pace_aio_cancel):
- * pace/win32/aio.inl (pace_aio_cancel):
- * pace/mman.h:
- * pace/posix/mman.inl:
- * pace/win32/mman.inl:
-
- Substituted PACE_HANDLE for ints that were file descriptors.
-
-Mon Jul 17 12:49:17 2000 Luther J Baker <luther@cs.wustl.edu>
-
- * pace/win32/types.h:
-
- PACE_HANDLE and PACE_INVALID_HANDLE get changed in WIN32
- to a void *. (In POSIX dir, we use an int as a file desc.)
-
- * docs/PACE_POSIX_support.txt:
-
- Updated.
-
- * pace/win32/dirent.inl
-
- Uses the new PACE_HANDLE.
-
-Mon Jul 17 12:27:47 2000 Andrew G. Gilpin <agg1@cs.wustl.edu>
-
- * pace/config/utility.h:
-
- Prevented windows.h from getting included on non Win32 platforms. :)
-
-Mon Jul 17 11:47:11 2000 Luther J Baker <luther@cs.wustl.edu>
-
- * docs/PACE_POSIX_support.txt:
-
- Added to specify native/emulation/not supported funcs.
-
- * pace/win32/fcntl.h:
-
- creat isn't quite exactly as ACE does it. Leave this out
- until correctly finished!
-
-Sun Jul 16 16:21:16 2000 Luther J Baker <luther@cs.wustl.edu>
-
- * pace/win32/grp.inl:
- * pace/win32/grp.h:
-
- No WIN32 support. ACE does not emulate this family.
- Build a group struct & return -1 and set ernno to
- NO SUPPORT!
-
-Sun Jul 16 16:17:25 2000 Luther J Baker <luther@cs.wustl.edu>
-
- * pace/config/utility.h (PACE_FAIL_RETURN):
-
- Fixed to work with just PACE_WIN32 defined.
-
-Fri Jul 14 22:56:29 2000 Luther J Baker <luther@cs.wustl.edu>
-
- * pace/config/utility.h (PACE_FAIL_RETURN):
-
- Defined.
-
-Fri Jul 14 22:41:53 2000 Luther J Baker <luther@cs.wustl.edu>
-
- * pace/fcntl.h:
- * pace/fcntl.inl:
-
- Some old changes didn't seem to take?
-
-Fri Jul 14 22:25:31 2000 Luther J Baker <luther@cs.wustl.edu>
-
- * pace/win32/dirent.inl:
-
- Typo.
-
-Fri Jul 14 22:06:14 2000 Luther J Baker <luther@cs.wustl.edu>
-
- * pace/win32/fcntl.inl:
-
- Type in comments for pace_win32_emulate_creat.
-
-Fri Jul 14 22:00:34 2000 Luther J Baker <luther@cs.wustl.edu>
-
- * pace/win32/fcntl.inl (creat):
-
- WIN32 doesn't support integers as file handles. Note here,
- we return -1 for failure and we cast a HANDLE to an int
- for success.
-
- Also, emulated support for POSIX creat. The ACE_OS version
- extensively uses thread protection. This is commented out and
- may be added in later, when threads are implemented in PACE.
-
- * pace/fcntl.h (creat):
-
- Comments regarding return values == (int)*HANDLE for WIN32.
-
-Fri Jul 14 21:20:59 2000 Luther J Baker <luther@cs.wustl.edu>
-
- * pace/win32/types.h:
-
- Added #include <windef.h> for common definitions and basic types.
-
-Fri Jul 14 20:49:46 2000 Luther J Baker <luther@cs.wustl.edu>
-
- * pace/config/utility.h:
-
- Added some neat :-) ACE_* macro utilities.
-
-Fri Jul 14 20:38:44 2000 Luther J Baker <luther@cs.wustl.edu>
-
- * pace/win32/dirent.inl:
-
- Added (POSIX_HAS_POSIX_FS_UOF) protection to emulation funcs.
-
-Fri Jul 14 20:18:46 2000 Luther J Baker <luther@cs.wustl.edu>
-
- * pace/config/utility.h:
- * pace/win32/errno.h:
-
- Moved win32 error definitions to pace/win32/errno.h.
-
- * pace/config/utility.h:
-
- Changed #include <errno.h> to #include "pace/errno.h".
-
-Fri Jul 14 20:05:33 2000 Luther J Baker <luther@cs.wustl.edu>
-
- * pace/win32/pace_dll.dsp:
- * pace/win32/pace_lib.dsp:
-
- Default the build to all POSIX units of functionality.
- Defined PACE_HAS_ALL_POSIX_FUNCS in
- Settings >> C/C++ >> Preprocessor
-
-Fri Jul 14 19:06:09 2000 John Heitmann <jwh1@cs.wustl.edu>
-
- * ../include/makeinclude/wrappermacros.GNU:
- Added -DPACE_HAS_ALL_POSIX_FUNCS to flags.
-
- * pace/pthread.h:
- * pace/unistd.h:
- Removed a duplicate closing }.
-
- * pace/pthread.h:
- Added (void) in arguments to pointers to functions
- which were otherwise interpreted as (...) args.
-
-Fri Jul 14 18:50:07 2000 Luther J Baker <luther@cs.wustl.edu>
-
- * pace/win32/unistd.h:
-
- Removed incompatible #include <unistd.h> for win32.
-
-Fri Jul 14 18:19:10 2000 Luther J Baker <luther@cs.wustl.edu>
-
- * pace/win32/signal.h:
-
- Typo...(pace_s_sigaction becomes pace_sigaction_s).
-
-Fri Jul 14 18:05:09 2000 Luther J Baker <luther@cs.wustl.edu>
-
- * pace/win32/dirent.h:
-
- Removed dir_init.
-
- * pace/win32/dirent.inl:
-
- win32 emulation functions finished.
- closedir == pace_win32_emulate_closedir
- opendir == pace_win32_emulate_opendir
- readdir == pace_win32_emulate_readdir
-
-Fri Jul 14 17:46:56 2000 Luther J Baker <luther@cs.wustl.edu>
-
- * pace/win32/dirent.h:
-
- Removed 'const' member of dirent struct.
- Added dir_init to guarantee that 'started_reading_' is
- initialized correctly!
-
- * pace/win32/types.h:
-
- Added support for win32
- PACE_WIN32_INVALID_HANDLE = (void*)0
-
-Fri Jul 14 15:55:24 2000 Joe Hoffert <joeh@cs.wustl.edu>
-
- * pace/sys/mman.h:
- * pace/sys/stat.h:
- * pace/sys/times.h:
- * pace/sys/utsname.h:
- * pace/sys/wait.h:
- move closing } for extern "C" to near end of file, after
- .inl #includes.
-
- * pace/Makefile:
- Added defining appropriate macros when subsetting PACE into
- POSIX units of functionality.
-
- * pace/aio.h:
- * pace/assert.h:
- * pace/ctype.h:
- * pace/dirent.h:
- * pace/fcntl.h:
- * pace/grp.h:
- * pace/locale.h:
- * pace/math.h:
- * pace/mqueue.h:
- * pace/pthread.h:
- * pace/pwd.h:
- * pace/sched.h:
- * pace/semaphore.h:
- * pace/setjmp.h:
- * pace/signal.h:
- * pace/stddef.h:
- * pace/stdio.h:
- * pace/stdlib.h:
- * pace/string.h:
- * pace/termios.h:
- * pace/time.h:
- * pace/unistd.h:
- * pace/utime.h:
- * pace/emulation/mqueue.c:
- * pace/emulation/mqueue.h:
- * pace/posix/aio.inl:
- * pace/posix/ctype.inl:
- * pace/posix/dirent.inl:
- * pace/posix/fcntl.inl:
- * pace/posix/grp.inl:
- * pace/posix/locale.inl:
- * pace/posix/math.inl:
- * pace/posix/mman.inl:
- * pace/posix/mqueue.inl:
- * pace/posix/pthread.inl:
- * pace/posix/pwd.inl:
- * pace/posix/sched.inl:
- * pace/posix/semaphore.inl:
- * pace/posix/setjmp.inl:
- * pace/posix/signal.inl:
- * pace/posix/stat.inl:
- * pace/posix/stdio.inl:
- * pace/posix/stdlib.inl:
- * pace/posix/string.inl:
- * pace/posix/termios.inl:
- * pace/posix/time.inl:
- * pace/posix/times.inl:
- * pace/posix/unistd.inl:
- * pace/posix/utime.inl:
- * pace/posix/utsname.inl:
- * pace/posix/wait.inl:
- * pace/win32/aio.inl:
- * pace/win32/ctype.inl:
- * pace/win32/dirent.inl:
- * pace/win32/fcntl.inl:
- * pace/win32/grp.inl:
- * pace/win32/locale.inl:
- * pace/win32/math.inl:
- * pace/win32/mman.inl:
- * pace/win32/mqueue.inl:
- * pace/win32/pthread.inl:
- * pace/win32/pwd.inl:
- * pace/win32/sched.inl:
- * pace/win32/semaphore.inl:
- * pace/win32/setjmp.inl:
- * pace/win32/signal.inl:
- * pace/win32/stat.inl:
- * pace/win32/stdio.inl:
- * pace/win32/stdlib.inl:
- * pace/win32/string.inl:
- * pace/win32/termios.inl:
- * pace/win32/time.inl:
- * pace/win32/times.inl:
- * pace/win32/unistd.inl:
- * pace/win32/utime.inl:
- * pace/win32/utsname.inl:
- * pace/win32/wait.inl:
- Wrapped each function with its corresponding POSIX unit of
- functionality (or the catch-all PACE_HAS_POSIX_NONUOF_FUNCS).
-
- * pace/config/config.h:
- Changed to define all the POSIX macros when
- PACE_HAS_ALL_POSIX_FUNCS is defined.
-
- * tests/Makefile:
- Adding default flag of PACE_HAS_ALL_POSIX_FUNCS.
-
- * tests/Stdio_Test.c:
- change variable from FILE to PACE_FILE.
-
-Fri Jul 14 15:02:47 2000 Luther J Baker <luther@cs.wustl.edu>
-
- * PACE/pace/win32/dirent.h:
-
- pace_dir changed to PACE_DIR.
- PACE_TCHAR changed to char.
-
-Fri Jul 14 14:34:43 2000 David L. Levine <levine@cs.wustl.edu>
-
- * pace/assert.h,pace/{posix,win32}/assert.{h,inl}:
- changed pace_assert from an inline function to a macro.
- That way, it will report the proper file/line number,
- instead of those of the pace_assert inline function.
-
- Also, moved #include <assert.h> from .inl file to .h
- file. Because we're now using a macro, client code
- must #include <assert.h>.
-
-Fri Jul 14 09:26:36 2000 David L. Levine <levine@cs.wustl.edu>
-
- * include/makeinclude/rules.common.GNU: if debug is disabled,
- add -DPACE_NDEBUG to CFLAGS or CCFLAGS.
-
- * pace/{posix,win32}/assert.inl: neuter if PACE_NDEBUG is
- defined. Even though assert () won't do anything with
- NDEBUG, data (__FILE__ and __LINE__, presumably) was stored
- in the .o file without this change.
-
- We might want to consider making pace_assert a macro.
- As an inline function, __FILE__ and __LINE__ won't be
- very helpful.
-
-Fri Jul 14 08:17:59 2000 David L. Levine <levine@cs.wustl.edu>
-
- * pace/{aio.h,assert.h,ctype.h,dirent.h,fcntl.h,grp.h,locale.h,
- math.h,mqueue.h,pthread.h,pwd.h,sched.h,semaphore.h,setjmp.h,
- stdio.h,stdlib.h,string.h,termios.h,time.h,unistd.h,utime.h}:
- move closing } for extern "C" to near end of file, after
- .inl #includes.
-
-Fri Jul 14 00:30:38 2000 John Heitmann <jwh1@cs.wustl.edu>
-
- * ../ace/OS.i
- Minor updates. Currently only LynxOS has a dirty build
- of libACE, although libACE still can't be linked against
- correctly.
-
- * pace/signal.h
- * pace/posix/signal.*
- * pace/stdlib.h
- * pace/posix/stdlib.*
- * pace/pthread.h
- * pace/posix/pthread.*
-
- Added typedef of pointers to functions which forced
- functions which take pointers to functions to accept
- arguments of c++ linkage... I think.
-
-Thu Jul 13 16:37:33 2000 John Heitmann <jwh1@cs.wustl.edu>
-
- * ../include/makeinclude/wrapper_macros.GNU
-
- Added 'pace' flag to support compilation with PACE.
- 'make pace=1' and behold the power of pace!
-
- * include/makeinclude/rules.common.GNU
-
- Removed netinet, arpa, and common form the VPATH
-
- * pace/1/
- * pace/arpa/
- * pace/netinet/
- * pace/common/
-
- Removed. <Update: this didn't work, will have
- to wait unil a later date>
-
-Thu Jul 13 14:57:53 2000 David L. Levine <levine@cs.wustl.edu>
-
- * pace/{posix,win32}/assert.inl (pace_assert): removed unnecessary
- return statement at end of function.
-
-Thu Jul 13 10:53:06 2000 Luther J Baker <luther@cs.wustl.edu>
-
- * pace/win32/dirent.h:
-
- Added structs for dirent and DIR.
-
-Thu Jul 13 00:46:37 2000 John Heitmann <jwh1@cs.wustl.edu>
-
- * pace/signal.h
- * pace/posix/signal.h
- * pace/posix/signal.inl
-
- Changed the typedef of pace_s_sigevent
- to pace_sigevent_s to match up with pace_stat_s. The
- problem with both of these is that the data type names
- conflict with function names.
-
- * pace/stdio.h
- * pace/posix/stdio.c
-
- Changed all '...' functions to defines. Now the library
- should be totally empty on platforms without emulation code.
-
- * include/makeinclude/rules.common.GNU
- * tests/Makefile
-
- Because the library can be empty again, don't include
- the library by default. As a temporary kludge emulation=1
- is set in rules.common.GNU for Linux, which is the only
- platform thus far which has a non-empty library.
-
- * pace/emulation/mqueue.c
- * pace/emulation/mqueue.h
-
- Support for all functionality is now complete, cleaner,
- and somewhat less buggy.
-
- * tests/mqueue_test.c
-
- Borrowed a test from Konstantin Knizhnik's web site,
- will eventually have to make this a one-button test.
-
-Wed Jul 12 17:30:54 2000 John Heitmann <jwh1@cs.wustl.edu>
-
- * pace/posix/types.h
- Fixed pace_tchar.
-
-Wed Jul 12 16:31:51 2000 Luther J Baker <luther@cs.wustl.edu>
-
- * pace/win32/types.h:
-
- Fixed PACE_TCHAR.
-
-Wed Jul 12 16:10:39 2000 John Heitmann <jwh1@cs.wustl.edu>
-
- * pace/fcntl.h
- * pace/mqueue.h
- * pace/semaphore.h
- * pace/stdio.h
- * pace/unistd.h
- * pace/unistd.inl
- * pace/tests/mqueue_test.c
- Updated all #define pace_func (X) macros to remove the need
- for double paranthesis.
-
-Wed Jul 12 17:01:47 2000 Ossama Othman <ossama@uci.edu>
-
- * Makefile.am:
- * pace/Makefile.am:
- * pace/posix/Makefile.am:
- * tests/Makefile.am:
-
- Preliminary Automake input files for PACE. They aren't working
- yet, but do provide a good start.
-
-Wed Jul 12 15:27:27 2000 Luther J Baker <luther@cs.wustl.edu>
-
- * pace/posix/types.h (PACE_TCHAR):
- * pace/win32/types.h (PACE_TCHAR):
-
- Added typedef char PACE_TCHAR;
- Protected some of the typedefs.
-
-Wed Jul 12 14:26:10 2000 Luther J Baker <luther@cs.wustl.edu>
-
- * pace/win32/aio.inl:
-
- PACE_ERRNO_NO_SUPPORT_RETURN (-1);
- Emulate support for these latter.
-
-Wed Jul 12 14:15:10 2000 Luther J Baker <luther@cs.wustl.edu>
-
- * pace/win32/signal.h:
- * pace/win32/time.h:
-
- Added types to help win32 along.
-
-Wed Jul 12 12:10:55 2000 David L. Levine <levine@cs.wustl.edu>
-
- * pace/config/platform.h: added OSF1 support.
-
-Wed Jul 12 11:51:52 2000 Luther J Baker <luther@cs.wustl.edu>
-
- * pace/win32/errno.h:
-
- Added to repository.
-
- * pace/win32/pace_dll.dsp:
- * pace/win32/pace_lib.dsp:
-
- Modified to include the new file.
-
-Wed Jul 12 11:45:34 2000 David L. Levine <levine@cs.wustl.edu>
-
- * include/makeinclude/rules.commmon.GNU: added OSF1 support.
-
-Wed Jul 12 10:53:01 2000 Luther J Baker <luther@cs.wustl.edu>
-
- * pace/win32/pace_lib.dsp:
- * pace/win32/pace_dll.dsp:
-
- Added the PACE/pace/*.h files. These currently contain
- the interface we need to compile into our code. Maybe
- we can change the following, but we now have
- PACE/pace/aio.h and PACE/pace/win32/aio.h
- both showing up in the VC++ list as aio.h and aio.h.
- The PACE/pace/win32 files always show up second :-)
-
-Wed Jul 12 10:24:20 2000 Luther J Baker <luther@cs.wustl.edu>
-
- * pace/win32/wait.h:
- * pace/win32/utsname.h:
- * pace/win32/utime.h:
- * pace/win32/unistd.h:
- * pace/win32/types.h:
- * pace/win32/times.h:
- * pace/win32/time.h:
- * pace/win32/termios.h:
- * pace/win32/string.h:
- * pace/win32/stdlib.h:
- * pace/win32/stdio.h:
- * pace/win32/stat.h:
- * pace/win32/signal.h:
- * pace/win32/setjmp.h:
- * pace/win32/semaphore.h:
- * pace/win32/sched.h:
- * pace/win32/pwd.h:
- * pace/win32/pthread.h:
- * pace/win32/mqueue.h:
- * pace/win32/mman.h:
- * pace/win32/math.h:
- * pace/win32/locale.h:
- * pace/win32/limits.h:
- * pace/win32/grp.h:
- * pace/win32/fcntl.h:
- * pace/win32/dirent.h:
- * pace/win32/ctype.h:
- * pace/win32/assert.h:
- * pace/win32/aio.h:
-
- Removed function prototypes. These were moved to the PACE/*.h files.
- Removed #include *.inl files. These are inluded by the PACE/*.h files.
- Postfixed the protective preprocessor guards with _WIN32
- (ie: PACE_CTYPE_H_WIN32).
-
-Wed Jul 12 01:25:44 2000 John Heitmann <jwh1@cs.wustl.edu>
-
- * pace/emulation/time.c:
- Removed since it is currently empty.
-
- * pace/emulation/time.h:
- Minor changes to how this file is included in:
-
- * pace/posix/time.h:
- Changed how emulation/time.h is included on Linux
-
- * pace/config/compiler.h
- * pace/posix/string.inl
- * pace/posix/unistd.inl
- Changed to quell odd compiler warnings from gcc. Added
- PACE_BROKEN_INLINE.
-
- * pace/emulation/mqueue.*
- Improved and updated code, but it is still not complete.
-
- * pace/tests/mqueue_test.c
- * pace/tests/Makefile
- Added a very simple test to verify mqueue works.
-
-Tue Jul 11 21:05:58 2000 David L. Levine <levine@cs.wustl.edu>
-
- * pace/unistd.h,pace/posix/unistd.inl:
- 1) pace_execl{,e,p} weren't declared/defined with
- PACE_INLINE, so they were being put into each .o.
- 2) Reordered some of the function definitions in
- posix/unistd.inl, so that they appear before all uses.
-
-Tue Jul 11 19:31:13 2000 David L. Levine <levine@cs.wustl.edu>
-
- * pace/stdio.h: fixed copy+paste error in comment:
- tmpfile instead of sscanf.
-
-Tue Jul 11 4:28:00 2000 Andrew G. Gilpin <agg1@cs.wustl.edu>
-
- * rules.common.GNU:
- Added functionality so that PACE_SYSVER on Linux is in the
- same format as LINUX_VERSION_CODE from the Linux source code.
- For example, Linux version 2.2.12 -> 0x02020C == 131596
-
-Tue Jul 11 10:24:03 2000 Joe Hoffert <joeh@cs.wustl.edu>
-
- * tests/Makefile:
- Changed to always include the PACE library. This was causing
- problems for functions that are never inlined when inlining
- is enabled.
-
-Mon Jul 10 13:47:25 2000 John Heitmann <jwh1@cs.wustl.edu>
-
- * pace/stddef.h
- * pace/stdio.h
- * pace/string.h
- * pace/unistd.h
- Changed to new format, all functions should now be
- declared in pace/
-
- * pace/mqueue.h
- * pace/emulation/mqueue*
- Emulated mqueue for linux. Curently there is no support for
- mq_notify, and there is a race condition if two procs try to
- create the same queue at the same time.
-
- * pace/stdio.h
- * pace/posix/stdio.inl
- * pace/unistd.h
- * pace/posix/unistd.inl
- Moved ctermid back to where it should be (stdio).
-
- * pace/string.h
- * pace/posix/string.inl
- Added mem* functions (e.g. memset), since they are C std.
-
- * pace/time.h
- * pace/posix/time.inl
- ENOSYSed clock_* and timer_* functions for Linux, although
- emulation may be possible.
-
- * pace/posix/pthread.inl
- ENOSYSed many functions not supported on Linux. Linux should
- build clean now for the moment.
-
-Mon Jul 10 08:50:37 2000 Joe Hoffert <joeh@cs.wustl.edu>
-
- * pace/posix/time.inl:
- * pace/posix/pthread.inl:
- * pace/posix/aio.inl:
- Changed code to use PACE_NONCONST_ARG_CAST rather than
- #idef'ing for LynxOS and doing the cast.
-
- * pace/config/defines.h:
- Changed order of include so that platform.h (and
- POSIX_HAS_* #defines) will be first.
-
- * pace/config/config.h:
- Added PACE_NONCONST_ARG_CAST macro. Needed for LynxOS
- when it doesn't use const args for POSIX functions
- taking const args.
-
- * tests/Makefile:
- * pace/Makefile:
- Took out common rules and included
- include/makeinclude/rules.common.GNU instead.
-
- * include/makeinclude/rules.common.GNU:
- Added this file to take out common rules from the
- different Makefiles.
-
- * tests/Posix_SP_Test.c:
- Made test more robust (e.g., check for all specified POSIX
- names for sysconf and for NULL and non-NULL arg to time)
- Also, ifdefed out some sysconf names for LynxOS since those
- names are supported. Sent email to LynuxWorks about this.
-
-Fri Jul 7 19:11:38 2000 John Heitmann <jwh1@cs.wustl.edu>
-
- * pace/sys/mman.h
- * pace/sys/stat.h
- * pace/sys/times.h
- * pace/sys/types.h
- * pace/sys/utsname.h
- * pace/sys/wait.h
- * pace/termios.h
- * pace/time.h
- * pace/unistd.h
- * pace/utime.h
- * pace/posix/mman.h
- * pace/posix/stat.h
- * pace/posix/termios.h
- * pace/posix/time.h
- * pace/posix/times.h
- * pace/posix/types.h
- * pace/posix/unistd.h
- * pace/posix/utime.h
- * pace/posix/utsname.h
- * pace/posix/wait.h
-
- Continued changes:
-
- Changed the #if defined (PACE_HAS_POSIX) to #if
- PACE_HAS_POSIX per our recent conversation regarding all macros being
- assigned a value.
-
- Moved the prototype function signatures to the root
- directory *.h file.
-
- Changed the form the *.inl file was included.
-
-
-Fri Jul 7 17:24:33 2000 Luther J Baker <luther@cs.wustl.edu>
-
- * pace/fcntl.h:
-
- Missing extern "C" { }.
-
-Fri Jul 7 17:22:56 2000 Luther J Baker <luther@cs.wustl.edu>
-
- * pace/aio.h:
- * pace/posix/aio.h:
- * pace/assert.h:
- * pace/posix/assert.h:
- * pace/ctype.h:
- * pace/posix/ctype.h:
- * pace/dirent.h:
- * pace/posix/dirent.h:
- * pace/fcntl.h:
- * pace/posix/fcntl.h:
- * pace/grp.h:
- * pace/posix/grp.h:
- * pace/math.h:
- * pace/posix/math.h:
- * pace/mqueue.h:
- * pace/posix/mqueue.h:
- * pace/pthread.h:
- * pace/posix/pthread.h:
- * pace/pwd.h:
- * pace/posix/pwd.h:
- * pace/sched.h:
- * pace/posix/sched.h:
- * pace/semaphore.h:
- * pace/posix/semaphore.h:
- * pace/setjmp.h:
- * pace/posix/setjmp.h:
- * pace/signal.h:
- * pace/posix/signal.h:
-
- Changed the protection includes. Eg:
- ROOT directory PACE_ASSERT_H
- POSIX directory PACE_ASSERT_H_POSIX.
-
- Changed the #if defined (PACE_HAS_POSIX) to #if PACE_HAS_POSIX
- per our recent conversation regarding all macros being assigned a
- value.
-
- Moved the prototype function signatures to the root directory *.h file.
-
- Changed the form the *.inl file was included.
-
-Fri Jul 7 16:23:57 2000 Luther J Baker <luther@cs.wustl.edu>
-
- * pace/errno.h:
- * pace/posix/errno.h
-
- Altered to fit in current
-
-Fri Jul 7 16:04:30 2000 Luther J Baker <luther@cs.wustl.edu>
-
- * pace/config/platform:
-
- # define all unused macros so we can test them against '0'
- in the source code.
-
-Fri Jul 7 15:24:57 2000 Luther J Baker <luther@cs.wustl.edu>
-
- * pace/config/compiler.h:
-
- # define PACE_HAS_CPLUSPLUS __cplusplus
-
-Fri Jul 07 14:41:51 2000 Luther J Baker <luther@cs.wustl.edu>
-
- * pace/win32/types.h:
-
- Fixed some non-native type problems. Also, made some temporary
- types (pthread_*) until we actually get to win32/pthread.h at
- which point, we will correctly define these.
-
-Fri Jul 7 02:18:02 2000 John Heitmann <jwh1@cs.wustl.edu>
-
- * pace/posix/dirent.*:
- * pace/posix/pthread.*:
- * pace/posix/sched.h:
- * pace/posix/signal.*:
- * pace/posix/stat.*:
- * pace/posix/time.*:
- * pace/posix/utsname.inl:
- Fixed a problem with certain typedefs not being
- exposed in other .inl files due to an odd
- interaction of the #pragma once style protections
- present in the header files. A few structs were redefined
- a second time outside of their header file.
-
- Also, pace_stat was changed to pace_stat_s to avoid a conflict
- witht the pace_stat() function.
-
- * pace/win32/termios.*:
- * pace/win32/wait.h:
- * pace/win32/utsname.*:
- * pace/win32/times.*:
- * pace/win32/stat.*:
- * pace/win32/mman.*:
- Added changes made to /posix earlier.
-
-
-Thu Jul 6 13:04:02 2000 Joe Hoffert <joeh@cs.wustl.edu>
-
- * tests/Posix_SP_Test.c:
- Made tests more robust checking for all possible parameter
- values. Also, changed check for failure. Just because a
- function doesn't support a particular parameter value, does
- not mean the function doesn't support that function. If
- the PACE symbols can be used (i.e., the code compiles) then
- the function is supported.
-
-Thu Jul 06 12:17:21 2000 David L. Levine <levine@cs.wustl.edu>
-
- * pace/posix/pthread.inl (pace_pthread_mutex_{get,set}prioceiling):
- LynxOS does not have pthread_mutex_{get,set}prioceiling, so
- don't call them with PACE_LYNXOS.
-
-Wed Jul 5 13:38:11 2000 John Heitmann <jwh1@cs.wustl.edu>
-
- * pace/types.h:
- Added #include <pthread.h> to expose types on LynxOS.
-
- * pace/time.inl:
- Casted away const for LynxOS.
-
- * pace/posix/termios.*:
- Fixed a typedef and removed tc*pgrp which didn't seem to
- take from the last commit.
-
- * ../ace/OS.i:
- Updated corresponding functions to those newly added in PACE.
-
-Wed Jul 5 17:15:26 2000 John Heitmann <jwh1@cs.wustl.edu>
-
- * pace/Makefile:
- Fixed error introduced by my earlier update.
-
- * pace/termios.*:
- Added typedefs and changed function signatures appropriately.
- Removed tcgetpgrp which was added to unistd earlier.
-
- * pace/sys/wait.h:
- Added macros.
-
- * pace/sys/utsname.*:
- * pace/sys/times.*:
- * pace/sys/stat.*:
- * pace/sys/mman.*
- Added typedefs and changed function parameters appropriately.
-
- * pace/time.h:
- Added #include "pace/signal.h"
-
- * pace/unistd.inl:
- Changed spelling error.
-
- * pace/signal.*:
- * pace/stat.*:
- Typedefs of structs later used as pointers were broken
- so I reverted back to the old way temporarily.
-
-Wed Jul 05 16:00:32 2000 Luther J Baker <luther@cs.wustl.edu>
-
- * pace/win32/types.h:
-
- Removed redefinition of size_t.
-
-Wed Jul 05 14:54:16 2000 Luther J Baker <luther@cs.wustl.edu>
-
- * pace/win32/types.h:
-
- Define native UNIX types to work on WIN32 types.
-
-Wed Jul 5 15:28:25 2000 John Heitmann <jwh1@cs.wustl.edu>
-
- * pace/Makefile:
- Fixed paths that were invalidated when wait.h and termios.h
- were moved.
-
-Wed Jul 05 14:46:38 2000 Luther J Baker <luther@cs.wustl.edu>
-
- * pace/win32/aio.h:
-
- Removed #include <aio.h>.
-
-Wed Jul 05 13:41:00 2000 Luther J Baker <luther@cs.wustl.edu>
-
- * PACE/win32/types.h:
-
- Removed #include <inttypes.h>.
- Moved -*- C -*- to same line as $-Id-$
-
-Wed Jul 5 13:25:34 2000 Luther J Baker <luther@cs.wustl.edu>
-
- * pace/win32/*
-
- Removed (posix ace) from files.
-
-Wed Jul 05 12:49:20 2000 Luther J Baker <luther@cs.wustl.edu>
-
- * PACE/config/platform.h
-
- WIN32 doesn't use the makefile.
- #define PACE_WIN32 2000
-
-Wed Jul 5 12:48:41 2000 Luther J Baker <luther@cs.wustl.edu>
-
- * pace/win32/*.
-
- Update files per PACE/posix changes.
-
-Mon Jul 3 19:30:39 2000 John Heitmann <jwh1@cs.wustl.edu>
-
- * pace/posix/time.*:
- Added macros, typedefs, clock(), and difftime().
-
- * pace/posix/unistd.*:
- Added macros, typedefs, tcgetpgrp(), tcsetpgrp().
-
- * pace/posix/utime.*:
- Added macros and typedefs.
-
-Mon Jul 3 9:45:00 2000 John Heitmann <jwh1@cs.wustl.edu>
-
- * pace/config/types.h:
- Removed. Functionality replaced by platform
- specific pace/sys/types.
-
- * pace/config/defines.h:
- Deleted reference to types.h.
-
-Mon Jul 3 00:25:44 2000 John Heitmann <jwh1@cs.wustl.edu>
-
- * pace/sys/termios.h:
- Moved to pace/
-
- * pace/posix/aio.*:
- * pace/posix/direnet.*:
- * pace/posix/fcntl.*:
- * pace/posix/grp.*:
- * pace/posix/locale.*:
- * pace/posix/math.*:
- * pace/posix/mqueue.*:
- * pace/posix/pthread.*:
- * pace/posix/pwd.*:
- * pace/posix/sched.*:
- * pace/posix/semaphore.*:
- * pace/posix/setjmp.*:
- * pace/posix/signal.*:
- * pace/stddef.*:
- * pace/posix/stdio.*:
- * pace/posix/stdlib.*:
- * pace/posix/string.*:
- * pace/posix/types.*:
- * pace/posix/time.*:
- Added many missing typedefs and macros. A bug has been
- added in also in types.h. It is harmless but causes a
- compiler warning that I could not fix. Files lower in
- the alphabet such as utime haven't been finished yet.
-
- * pace/posix/stdio.*:
- Added in the missing functions fgetpos, fsetpos, fwrite,
- setvbuf, vfprintf, vprintf, vsprintf. The last three
- are empty until passing the macro va_list is resolved.
-
- * pace/posix/locale.*:
- Added localeconv ().
-
- * pace/posix/signal.*:
- Added raise () and signal ().
-
- * pace/posix/unistd.*:
- * pace/posix/stdio.*:
- Moved ctermid() from stdio to unistd.
-
- * pace/posix/stdlib.*:
- Added abort ().
-
- * pace/:
- Added stddef.h and errno.h
-
-Fri Jun 30 16:54:41 2000 John Heitmann <jwh1@cs.wustl.edu>
-
- * pace/wait.h:
- Moved to sys/
-
-Fri Jun 30 15:55:52 2000 Joe Hoffert <joeh@cs.wustl.edu>
-
- * pace/posix/time.h:
- * pace/posix/time.inl:
- * pace/win32/time.h:
- * pace/win32/time.inl:
- Corrected type for timeptr arg for pace_mktime function.
- Corrected non-const arg for pace_strftime. (NOTE: The
- Solaris man page incorrectly documents the constness
- of the first argument.)
-
- * pace/posix/stdlib.inl:
- * pace/win32/stdlib.inl:
- Corrected void return value for srand.
-
-Fri Jun 30 15:05:08 2000 Joe Hoffert <joeh@cs.wustl.edu>
-
- * pace/posix/TODO:
- Added testing with and without PACE_HAS_POSIX_PTHREAD_SEMANTICS
- defined.
-
- * pace/win32/setjmp.h:
- * pace/win32/setjmp.inl:
- * pace/posix/setjmp.h:
- * pace/posix/setjmp.inl:
- Added pace_setjmp and pace_longjmp functions.
-
- * pace/posix/time.h:
- * pace/posix/time.inl:
- * pace/win32/time.h:
- * pace/win32/time.inl:
- Cleaned up comments and added functions pace_asctime,
- pace_ctime, pace_gmtime, pace_localtime, pace_mktime,
- and pace_strftime.
- Removed unneeded PACE_HAS_POSIX_PTHREAD_SEMANTICS guards
- in .inl files.
-
- * pace/win32/stdlib.h:
- * pace/win32/stdlib.inl:
- * pace/posix/stdlib.h:
- * pace/posix/stdlib.inl:
- Added functions pace_abs, pace_atof, pace_bsearch, pace_qsort,
- pace_rand, and pace_srand.
- Added "Requires PACE_HAS_REENTRANT" comment for pace_rand_r
- in header files.
-
- * pace/Makefile:
- Added all 18 POSIX Units of Functionality components to
- be built as separate libaries as specified on the command
- line (just like ACE).
-
-Fri Jun 30 10:10:53 2000 Joe Hoffert <joeh@cs.wustl.edu>
-
- * tests/Posix_SP_Test.c:
- Fixed description. Fixed name value arg to sysconf to be
- POSIX. Added more extensive checking and output of values
- when a function succeeds.
-
- * pace/Makefile:
- Removed extraneous #INCLDIRS comment.
-
- * pace/posix/pthread.inl:
- * pace/posix/aio.inl:
- Casted away const from certain functions for LynxOS when
- their prototypes don't have const.
-
- * tests/Makefile:
- Moved PACE_SYSNAME definition below wrapper_macros.GNU so
- that cross-compiled platforms (e.g., LynxOS) can define
- PACE_SYSNAME.
-
- * pace/config/platform.h:
- Changed of PACE_HAS_POSIX for LynxOS from PACE_LYNX to
- PACE_LYNXOS.
-
-Thu Jun 29 19:53:10 2000 Luther J Baker <luther@cs.wustl.edu>
-
- * pace/config/utility.h:
-
- (ENOTSUP) is not defined on win32. Added support.
-
-Thu Jun 29 19:22:46 2000 Luther J Baker <luther@cs.wustl.edu>
-
- * pace/win32
- Altered syntax (#include pace/posix/file.h) left over
- from copying.
-
-Thu Jun 29 16:42:31 2000 John Heitmann <jwh1@cs.wustl.edu>
-
- * pace/posix/pthread.{h,inl}:
- Changed pthead_condattr_init to pthread_condattr init
- and pace_pace_pthread... to pace_pthread...
-
-
-Thu Jun 29 15:04:42 2000 Joe Hoffert <joeh@cs.wustl.edu>
-
- * pace/man/Makefile (index.html):
- Created PACE_DOC++ as executable to invoke and assigned
- /project/doc/pkg/bin/doc++ to it.
-
- * pace/posix/assert.h:
- Removed extraneous '.' in comment.
-
-Thu Jun 29 15:04:42 2000 Joe Hoffert <joeh@cs.wustl.edu>
-
- * pace/posix/aio.h:
- * pace/posix/assert.h:
- * pace/posix/ctype.h:
- * pace/posix/dirent.h:
- * pace/posix/fcntl.h:
- * pace/posix/grp.h:
- * pace/posix/locale.h:
- * pace/posix/math.h:
- * pace/posix/mman.h:
- * pace/posix/mqueue.h:
- * pace/posix/pthread.h:
- * pace/posix/pwd.h:
- * pace/posix/sched.h:
- * pace/posix/semaphore.h:
- * pace/posix/setjmp.h:
- * pace/posix/signal.h:
- * pace/posix/stdio.h:
- * pace/posix/stdlib.h:
- * pace/posix/string.h:
- * pace/posix/time.h:
- * pace/posix/unistd.h:
- * pace/posix/utime.h:
- * pace/posix/wait.h:
- Adding doc++ html man comments.
-
- * pace/posix/stdio.{h,inl} (pace_printf):
- Removed pace_snprintf and pace_vsprint functions since they
- are not POSIX.
-
-Thu Jun 29 14:47:19 2000 Joe Hoffert <joeh@cs.wustl.edu>
-
- * pace/posix/stdio.inl (pace_printf):
-
- * pace/man/pace.jpg:
- JPEG file of the PACE icon used in the html man pages.
-
- * pace/man/banner:
- Created banner file that is inserted at the bottom of
- the generated html man pages. This file contains the
- PACE logo pointing to the PACE Web page.
-
- * pace/man/Makefile:
- Created Makefile for the html man pages using doc++
-
-Thu Jun 29 09:21:19 2000 Joe Hoffert <joeh@cs.wustl.edu>
-
- * pace/man/Makefile:
-
- * pace/config/config.h:
- Changed C++ // comment to C /* */ comment. The compiler
- (appropriately) choked on the former.
-
- * pace/Makefile:
- Moved defining PACE_SYSNAME until after all the macro and rules
- files are included. Otherwise, PACE_SYSNAME was not getting
- defined for LynxOS.
-
- * pace/posix/types.h:
- Put an #if defined (PACE_SUNOS) guard around inclusion of
- inttypes.h since this file isn't found on Lynx.
-
-Thu Jun 29 02:38:52 2000 John Heitmann <jwh1@cs.wustl.edu>
-
- * pace/posix/mman.inl:
- Added cast to char* from void* in param passing.
-
- * pace/posix/stdio.h:
- * pace/posix/stdio.c:
- Changed *printf from macros to functions.
-
- * pace/posix/unistd.c:
- * pace/posix/unistd.h:
- Changed the macros execl, execle, execlp to functions.
-
-Wed Jun 28 11:18:17 2000 Joe Hoffert <joeh@cs.wustl.edu>
-
- * pace/Makefile:
- * tests/Makefile:
- Modified to make PACE_ROOT $(ACE_ROOT)/PACE rather than the
- previous value of $(ACE_ROOT)/pace.
-
-Wed Jun 28 09:32:29 2000 David L. Levine <levine@cs.wustl.edu>
-
- * pace/config/config.h: added platform-dependent determination
- of PACE_HAS_REENTRANT. Also, wrapped all of the PACE_HAS...
- #defines with a check to see if it had already been defined.
-
- * pace/posix/stdlib.inl (pace_rand_r): use PACE_HAS_REENTRANT,
- now that the platform-dependent code is in pace/config/config.h.
-
-Wed Jun 28 09:21:07 2000 Joe Hoffert <joeh@cs.wustl.edu>
-
- * tests/Makefile:
- * pace/Makefile:
- Changed inlining to be the default.
-
-Tue Jun 27 23:09:34 2000 John Heitmann <jwh1@cs.wustl.edu>
-
- * pace/posix/unistd.h:
- * pace/posix/termios.inl:
- Added #includes of <unistd.h> and <termios.h> to preclude
- undeclared token warnings without inlining enabled.
-
- * pace/posix/pwd.inl:
- Added PACE_UNUSED_ARG where needed.
-
-Tue Jun 27 22:03:52 2000 David L. Levine <levine@cs.wustl.edu>
-
- * pace/posix/stdlib.inl (pace_rand_r): on Linux and
- SunOS, rand_r isn't available if certains macros
- aren't defined, so reflect that. rand_r doesn't
- appear anywhere in the LynxOS 3.1.0 headers, so
- NO_SUPPORT there as well.
-
-Tue Jun 27 16:35:20 2000 Joe Hoffert <joeh@cs.wustl.edu>
-
- * pace/posix/aio.h:
- Removed copyrighted Solaris man text that accidentally get
- committed to the repository and replaced it with text to
- denote what really needs to go there.
-
-Tue Jun 27 14:32:40 2000 Joe Hoffert <joeh@cs.wustl.edu>
-
- * pace/posix/aio.h:
-
- * tests/Makefile (ACELIB):
- Defining PACE_HAS_INLINE from the Makefile and adding the PACE
- library if we are not inlining.
-
- * pace/posix/stdio.inl:
- Removed function since it's now a macro in the header file.
-
- * pace/posix/stdio.h:
- Changed pace_sprintf from a function to a macro because of
- compilation warnings. Can be changed later.
-
- * pace/config/compiler.h (PACE_INLINE):
- Changed definition of PACE_INLINE depending on if PACE_HAS_INLINE
- is defined.
-
- * pace/config/features.h:
- Removed PACE_HAS_INLINE from here since the Makefile now
- defines it.
-
- * pace/Makefile:
- Defining PACE_HAS_INLINE from the Makefile.
-
-Tue Jun 27 11:23:41 2000 David L. Levine <levine@cs.wustl.edu>
-
- * pace/posix/pthread.{h,inl} (pthread_cleanup_{push,pop}):
- replaced these inline functions with macros. They're
- supposed to be used in the same block; pthread_cleanup_pop
- refers to a local object that pthread_cleanup_push declares.
- I don't see how to implement that with inline functions.
-
-Tue Jun 27 10:11:00 2000 John Heitmann <jwh1@cs.wustl.edu>
-
- * pace/tests/Posix_SP_Test.c
- * pace/tests/Stdio_Test.c
- * pace/pace/posix/time.inl
- Added more PACE_UNUSED_ARG
-
-Tue Jun 27 9:51:43 2000 John Heitmann <jwh1@cs.wustl.edu>
-
- * pace/tests/Makefile
- Changed VLDLIBS := to +=
-
- * pace/tests/Posix_SP_Test.c
- Included pace/stdio.h
-
-Mon Jun 26 15:07:08 2000 Luther J Baker <luther@cs.wustl.edu>
-
- * pace/pace/win32/pace.dsw:
- * pace/pace/win32/pace_dll.dsp:
- * pace/pace/win32/pace_lib.dsp:
-
- Updated to link correctly.
-
-Mon Jun 26 13:27:02 2000 Luther J Baker <luther@cs.wustl.edu>
-
- * pace/pace/win32/pace.dsw:
- * pace/pace/win32/pace_dll.dsp:
- * pace/pace/win32/pace_lib.dsp:
-
- Added to repository.
-
-Mon Jun 26 12:24:36 2000 Luther J Baker <luther@cs.wustl.edu>
-
- * pace/pace/posix/TODO:
-
- Updated.
-
- * pace/pace/win32/*.[h,inl,cpp] README TODO:
-
- Added to repository.
-
-Mon Jun 26 11:03:00 2000 John Heitmann <jwh1@cs.wustl.edu>
-
- * pace/pace/posix/pwd.inl
- * pace/pace/posix/string.inl
- * pace/pace/posix/grp.inl
- * pace/pace/posix/dirent.inl
-
- Added PACE_UNUSED_ARG where needed.
-
-Sat Jun 24 7:10 2000 <jwh1@cs.wustl.edu>
-
- * pace/pace/posix/unistd.inl
- * pace/pace/posix/signal.inl
-
- Added PACE_UNUSED_ARG where needed.
-
-Wed Jun 21 18:50:04 2000 Luther J Baker <luther@cs.wustl.edu>
-
- * in.h, inet.h, netdb.h, socket.h, strings.h, thread.h
-
- Not part of POSIX spec. Removed from pace.
-
-Wed Jun 21 18:42:22 2000 Luther J Baker <luther@cs.wustl.edu>
-
- * pace/tests/Makefile:
-
- Copied changes Joe made to pace/pace/Makefile regarding
- platform definitions.
-
- * pace/config/config.h (PACE_HAS_EXTENSIONS):
- * pace/pace/posix/dirent.inl
- * pace/pace/posix/grp.inl
- * pace/pace/posix/mman.inl
- * pace/pace/posix/pwd.inl
- * pace/pace/posix/signal.inl
- * pace/pace/posix/stdio.inl
- * pace/pace/posix/stdlib.inl
- * pace/pace/posix/string.inl
- * pace/pace/posix/types.h
- * pace/pace/config/utility.h
-
- Removed deprecated definitions and non-posix functions.
-
-Wed Jun 21 16:44:24 2000 Joe Hoffert <joeh@cs.wustl.edu>
-
- * pace/Makefile:
- Changed to define the PACE_`platform' values
- Change include directories to -I.. to resolve problems.
-
- * tests/Makefile:
- Change include directories to -I.. to resolve problems.
-
- * pace/config/platform.h:
- Modified platform #defines to PACE_`platform' (e.g., PACE_POSIX)
-
- * pace/posix/math.{h,inl}:
- Fixed pace_pow arguments
-
- * pace/posix/mman.{h,inl}:
- * pace/posix/aio.h:
- * pace/posix/locale.h:
- * pace/posix/pthread.{h,inl}:
- * pace/posix/stdio.h:
- Fixed syntax errors and typos
-
-Wed Jun 21 13:15:47 2000 Luther J Baker <luther@cs.wustl.edu>
-
- * pace/posix/stdio.inl (pace_setbuf):
-
- Altered return value and fixed typos.
-
-Tue Jun 20 15:39:26 2000 Luther J Baker <luther@cs.wustl.edu>
-
- * pace/config/compiler.h:
-
- Removed errant '\\' at end of lines and changed to '\'.
-
-Tue Jun 20 15:31:43 2000 Luther J Baker <luther@cs.wustl.edu>
-
- * pace/posix/mman.h:
- * pace/posix/socket.h:
- * pace/posix/stat.h:
- * pace/posix/termios.h:
- * pace/posix/times.h:
- * pace/posix/types.h:
- * pace/posix/utsname.h:
- * pace/posix/in.h:
- * pace/posix/inet.h:
- * pace/posix/aio.h:
- * pace/posix/assert.h:
- * pace/posix/defines.h:
- * pace/posix/dirent.h:
- * pace/posix/fnctl.h:
- * pace/posix/grp.h:
- * pace/posix/limits.h:
- * pace/posix/locale.h:
- * pace/posix/mqueue.h:
- * pace/posix/netdb.h:
- * pace/posix/pthread.h:
- * pace/posix/pwd.h:
- * pace/posix/sched.h:
- * pace/posix/semaphore.h:
- * pace/posix/setjmp.h:
- * pace/posix/signal.h:
- * pace/posix/stdio.h:
- * pace/posix/stdlib.h:
- * pace/posix/string.h:
- * pace/posix/strings.h:
- * pace/posix/thread.h:
- * pace/posix/time.h:
- * pace/posix/unistd.h:
- * pace/posix/utime.h:
- * pace/posix/wait.h:
-
- Edited for consistency with previous entry.
-
- Removed #include "pace/defines.h".
-
-Tue Jun 20 15:14:44 2000 Luther J Baker <luther@cs.wustl.edu>
-
- * pace/sys/mman.h:
- * pace/sys/socket.h:
- * pace/sys/stat.h:
- * pace/sys/termios.h:
- * pace/sys/times.h:
- * pace/sys/types.h:
- * pace/sys/utsname.h:
- * pace/netinet/in.h:
- * pace/arpa/inet.h:
- * pace/aio.h:
- * pace/assert.h:
- * pace/defines.h:
- * pace/dirent.h:
- * pace/fnctl.h:
- * pace/grp.h:
- * pace/limits.h:
- * pace/locale.h:
- * pace/mqueue.h:
- * pace/netdb.h:
- * pace/pthread.h:
- * pace/pwd.h:
- * pace/sched.h:
- * pace/semaphore.h:
- * pace/setjmp.h:
- * pace/signal.h:
- * pace/stdio.h:
- * pace/stdlib.h:
- * pace/string.h:
- * pace/strings.h:
- * pace/thread.h:
- * pace/time.h:
- * pace/unistd.h:
- * pace/utime.h:
- * pace/wait.h:
-
- Inserted #include "pace/config/defines.h".
-
- * pace/config/defines.h:
-
- Removed from pace/ dir and placed in config dir.
-
-Tue Jun 20 14:53:12 2000 Luther J Baker <luther@cs.wustl.edu>
-
- * pace/defines.h:
-
- This file needs to be included first! It was calling #including
- itself from the posix directory but was doing so off of macros
- that itself defined.
-
-Mon Jun 19 05:03:53 2000 Luther J Baker <luther@cs.wustl.edu>
-
- * pace/posix/ctype.h
- * pace/posix/ctype.inl
- * pace/posix/math.h
- * pace/posix/math.inl
-
- Correct functions added and implemented. _POSIX_C_LANG_SUPPORT.
-
-Mon Jun 19 04:34:34 2000 Luther J Baker <luther@cs.wustl.edu>
-
- * pace/sys/mman.h:
- * pace/sys/socket.h:
- * pace/sys/stat.h:
- * pace/sys/termios.h:
- * pace/sys/times.h:
- * pace/sys/types.h:
- * pace/sys/utsname.h:
- * pace/netinet/in.h:
- * pace/arpa/inet.h:
- * pace/aio.h:
- * pace/assert.h:
- * pace/defines.h:
- * pace/dirent.h:
- * pace/fnctl.h:
- * pace/grp.h:
- * pace/limits.h:
- * pace/locale.h:
- * pace/mqueue.h:
- * pace/netdb.h:
- * pace/pthread.h:
- * pace/pwd.h:
- * pace/sched.h:
- * pace/semaphore.h:
- * pace/setjmp.h:
- * pace/signal.h:
- * pace/stdio.h:
- * pace/stdlib.h:
- * pace/string.h:
- * pace/strings.h:
- * pace/thread.h:
- * pace/time.h:
- * pace/unistd.h:
- * pace/utime.h:
- * pace/wait.h:
-
- Altered these files #ifdef macro to PACE_FILE_H_INDIRECT so that the
- implementation pace/posix/*.h files didn't conflict with the preprocessor
- name space.
-
- Fully qualified all the includes in these files from #include "posix/file.h"
- to #include "pace/posix/file.h"
-
-Mon Jun 19 03:57:37 2000 Luther J Baker <luther@cs.wustl.edu>
-
- * pace/ctype.h:
- * pace/posix/ctype.h:
- * pace/posix/ctype.inl:
- * pace/posix/ctype.c:
-
- * pace/math.h:
- * pace/posix/math.h:
- * pace/posix/math.inl:
- * pace/posix/math.c:
-
- Added to repository.
-
-Sat Jun 17 17:24:47 2000 Luther J Baker <luther@cs.wustl.edu>
-
- * pace/sys/mman.h:
- * pace/sys/socket.h:
- * pace/sys/stat.h:
- * pace/sys/termios.h:
- * pace/sys/times.h:
- * pace/sys/types.h:
- * pace/sys/utsname.h:
- * pace/netinet/in.h:
- * pace/arpa/inet.h:
-
- Altered these "root" files to include the correct
- subdirectory/file.
-
-Sat Jun 17 16:46:39 2000 Luther J Baker <luther@cs.wustl.edu>
-
- * pace/aio.h:
- * pace/assert.h:
- * pace/defines.h:
- * pace/dirent.h:
- * pace/fnctl.h:
- * pace/grp.h:
- * pace/limits.h:
- * pace/locale.h:
- * pace/mqueue.h:
- * pace/netdb.h:
- * pace/pthread.h:
- * pace/pwd.h:
- * pace/sched.h:
- * pace/semaphore.h:
- * pace/setjmp.h:
- * pace/signal.h:
- * pace/stdio.h:
- * pace/stdlib.h:
- * pace/string.h:
- * pace/strings.h:
- * pace/thread.h:
- * pace/time.h:
- * pace/unistd.h:
- * pace/utime.h:
- * pace/wait.h:
-
- Altered these "root" files to include the correct
- subdirectory/file.
-
-Fri Jun 16 17:47:59 2000 Luther J Baker <luther@cs.wustl.edu>
-
- * pace/pace/config/features.h
-
- Added to the repository to isolate user defined features.
- (ie: PACE_HAS_INLINE)
-
- * pace/pace/config/compiler.h
-
- Added *hack* to cover PACE_INLINE to static, inline
- or (blank) expansion depending on the compiler.
-
- * pace/pace/config/platform.h
- * pace/pace/config/config.h
- * pace/pace/config/utility.h
-
- Cleaned up source.
-
- * pace/pace/common/README
- * pace/pace/common
-
- Removed from the repository. Not used for anything.
-
- * pace/pace/*.h
-
- Started adding code to include the correct directory
- here, but there seems to be a better way... :-) We will
- wait and see. Do away with these .h files and simply
- go to the correct directory via the makefile.
-
-Fri Jun 16 16:15:25 2000 Joe Hoffert <joeh@cs.wustl.edu>
-
- * pace/Makefile:
- Added POSIX Units of Functionality targets for libraries.
-
- * pace/{assert,locale}.h:
- * pace/posix/{assert,locale}.{h,inl,c}:
- Added new POSIX APIs for assert and setlocale.
-
- * pace/posix/stdio.{h,inl}:
- Added needed POSIX APIs.
-
- * pace/config/{compile,temp}.h:
- Redefined PACE_UNUSED_ARG and moved from temp.h to compile.h.
-
- * pace/posix/aio.inl:
- Made some formatting changes.
-
-Fri Jun 16 16:05:52 2000 Joe Hoffert <joeh@cs.wustl.edu>
-
- * tests/{Makefile,Stdio_Test,Posix_SP_Test.c}:
- Updated the tests to more informational and adding uname -s
- information for some different platforms.
-
-Fri Jun 16 14:11:44 2000 Luther J Baker <luther@cs.wustl.edu>
-
- * pace/posix/*.h
-
- Added all .h files to posix directory. The implementation
- specific .h files are simply lumped together into one large
- directory while the original interface files are still
- found in the similarly names sunos directory.
-
- SunOS dirs (sys, netinet, arpa) ==> PACE implementation dir
- - - - - - - - -
- (pace/pace/sys/types.h ==> pace/pace/posix/types.h)
- (pace/pace/unistd.h ==> pace/pace/posix/unistd.h)
-
-Thu Jun 15 13:49:14 2000 Luther J Baker <luther@cs.wustl.edu>
-
- * pace/config/defaults.h
-
- Removed superfluous defaults originally copied
- from ACE_OS.
-
-Mon Jun 12 17:23:59 2000 Luther J Baker <luther@cs.wustl.edu>
-
- * pace/config/constants.h:
-
- Added POSIX minimum values in PACE format.
-
- * pace/config/platform.h (PACE_LINUX):
-
- Removed ACE code that shouldn't be included in PACE files.
- Deprecated macro that did not follow our current pattern.
- Added PACE_LINUX macro.
-
-Mon Jun 12 15:41:51 2000 Luther J Baker <luther@cs.wustl.edu>
-
- * pace/config/compiler.h:
-
- Deprecated PACE_HAS_CPLUSPLUS.
- Current PACE_CPLUSPLUS
-
- We will save the 'HAS' for user defined feature macros.
- Anytime we are renaming a current macro, we will just
- prepend PACE_'xxx'. See the next ChangeLog entry. The
- same motivation applies. Once I change the source code
- to reflect this idea, I will remove the deprecated
- macro names.
-
- Moved error stuff from 'codes.h' to compiler.
-
- * pace/config/codes.h"
-
- Removed from repository.
-
- * pace/defines.h:
-
- Removed #include "codes.h" from repository.
-
-Fri Jun 9 14:05:25 2000 Luther J Baker <luther@cs.wustl.edu>
-
- * pace/config/compiler.h:
- * pace/config/config.h:
-
- Moved PACE_HAS_INLINE from compiler.h to config.h.
-
- Deprecated macros. Left in but I will removed the
- deprecated macros once I change the code to use the
- current macros.
-
-Fri Jun 9 13:02:26 2000 Luther J Baker <luther@cs.wustl.edu>
-
- * pace/*.h pace/posix/*.inl,c
-
- See config/types.h from previous ChangeLog. All these
- types are altered in the source code. (ie: pthread_t
- became pace_pthread_t).
-
- perl -pi -e `s/pid_t/pace_pid_t/` *.h posix/*.inl posix/*.c
-
-Fri Jun 9 12:20:23 2000 Luther J Baker <luther@cs.wustl.edu>
-
- * pace/config/types.h:
-
- These are posix types in pace wrappers.
- They are macro definitions. The actual types are not
- available until the appropriate file is included.
- Thus, I didn't put them into pace/sys/types.h.
-
- * pace/pace/defines.h
-
- Added pace/config/types.h.
-
-Thu Jun 8 15:10:24 2000 Joe Hoffert <joeh@cs.wustl.edu>
-
- * pace/tests/{Makefile,Posix_SP_Test.c}:
- Added new test for POSIX_SINGLE_PROCESS unit of functionality
- and updated Makefile for changes to the PACE library directory
- structure.
-
-Thu Jun 8 15:10:24 2000 Joe Hoffert <joeh@cs.wustl.edu>
-
- * pace/pace/*.h:
- * pace/pace/arpa/*.h:
- * pace/pace/netinet/*.h:
- * pace/pace/sys/*.h:
- Modifying .h files to remove any path in front of .inl files.
-
- * pace/pace/posix/*.c:
- Modifying .c files to remove any path in front of .inl files.
-
- * pace/pace/posix/time.inl
- Changed PACE_SETERNNO to PACE_SET_ERRNO
-
-Thu Jun 8 15:03:42 2000 Joe Hoffert <joeh@cs.wustl.edu>
-
- * pace/pace/Makefile:
- Added support for PACE_SYSNAME to determine appropriate platform
- subdirectory for VPATH and INCLDIRS.
-
-Thu Jun 8 14:44:39 2000 Luther J Baker <luther@cs.wustl.edu>
-
- * ../pace/linux/README
- * ../pace/linux
- * ../pace/sunos/README
- * ../pace/sunos
- * ../pace/emulation
-
- Removed from reposistory.
-
- * ../pace/linux/TODO
-
- Moved to ../pace/posix/TODO
-
- * ../pace/pace.dsw
-
- Moved to ../pace/win32/pace.dsw.
- Hi Darrell. This takes all traces of win32 stuff out of
- the main dir and although its slightly different than
- ace or tao, we are using our directories a little
- differently here. Nanbor thought that is might be ok so
- I will try it here until it breaks? or someone has good
- reason to move it back.
-
-Thu Jun 8 12:09:56 2000 Joe Hoffert <joeh@cs.wustl.edu>
-
- * pace/pace/sunos/*.{c,inl}:
- Removed files and put them in the posix subdirectory.
- * pace/pace/linux/*.{c,inl}:
- Removed files and put them in the posix subdirectory.
- * pace/pace/posix/*.{c,inl}:
- Added files from the linux/sunos subdirectories. (The files
- were identical from both directories aside from the $Id$ macro,
- i.e., the person who checked them in.)
-
-Wed Jun 7 12:27:13 2000 Joe Hoffert <joeh@cs.wustl.edu>
-
- * Makefile:
- Added Makefile for upper level pace directory.
- * pace/Makefile:
- Changed Makefile to fit in with the general makefile scheme in
- ACE and TAO.
- * config/compiler.h:
- Defined PACE_HAS_INLINE even for C files so that the functions
- will be directly added with the .h file.
- * tests/{Makefile,Stdio_Test.c,Posix_SP_Test.c}:
- Adding Makefile and tests to the tests directory.
-
-Mon Jun 5 17:43:07 2000 Luther J Baker <luther@cs.wustl.edu>
-
- * docs/todo.txt:
-
- Updated. You may go here to find current
- responsibilities.
-
-Mon Jun 5 17:22:23 2000 Luther J Baker <luther@cs.wustl.edu>
-
- * pace/paces.dsp
- * pace/pacesd.dsp
-
- Removed from the repository.
- These files are generated (ie: paces.lib),
- not project files.
-
-Mon Jun 5 17:19:30 2000 Luther J Baker <luther@cs.wustl.edu>
-
- * pace/THANKS:
-
- Added John Heitmann, Andrew Gilpin and Darrell Brunsch.
- Note: names and email addresses are nicely accesible
- from this alphabetical file.
-
-Mon Jun 5 17:04:36 2000 Andrew G. Gilpin <agg1@cs.wustl.edu>
-
- * [inl,c]
-
- Commited files to the repository in pace/linux
-
- * aio, dirent, fcntl, grp, in, inet, mman, mqueue,
- netdb, pthread, pwd, sched, semaphore, setjmp,
- signal, socket, stat, stdio, stdlib, string,
- strings, termios, time, times, unistd, utime,
- utsname, wait
-
-Mon Jun 5 16:47:32 2000 Luther J Baker <luther@cs.wustl.edu>
-
- * [inl,c]
-
- Moved files from root directory to pace/sunos.
-
- * aio, dirent, fcntl, grp, in, inet, mman, mqueue,
- netdb, pthread, pwd, sched, semaphore, setjmp,
- signal, socket, stat, stdio, stdlib, string,
- strings, termios, time, times, unistd, utime,
- utsname, wait
-
-Mon Jun 5 15:23:53 2000 Luther J Baker <luther@cs.wustl.edu>
-
- * /pace/linux
- * /pace/linux/README
-
- Added to repository.
-
- * /pace/emulation
- * /pace/emulation/README
-
- Removed from repository.
-
-Fri Jun 02 16:55:10 2000 <luther@cs.wustl.edu>
-
- * ACE_wrappers/pace/pace/paces.dsp
- * ACE_wrappers/pace/pace/pacesd.dsp
-
- Added to repository. Naming consistency with other
- ACE libraries. Also removed pre-compiled header
- option as well as separate directories for debug
- and release versions of software.
-
- * ACE_wrappers/pace/pace/pace_lib.dsp
-
- Removed from repository. Naming consistency.
-
-Thu Jun 1 17:41:04 2000 Luther J Baker <luther@cs.wustl.edu>
-
- * ACE_wrappers/pace/pace/emulation
- * ACE_wrappers/pace/pace/common
- * ACE_wrappers/pace/pace/emulation/README
- * ACE_wrappers/pace/pace/common/README
-
- Added to repository.
-
-
-Thu Jun 1 17:18:17 2000 Luther J Baker <luther@cs.wustl.edu>
-
- * pace/config/config_sunos5.7.h:
- Removed from repository.
-
- * ACE_wrappers/pace/pace/posix/README
- * ACE_wrappers/pace/pace/win32/README
- * ACE_wrappers/pace/pace/vxworks/README
-
- Added to repository to keep the directories visible.
-
-
-Thu Jun 01 16:50:48 2000 <luther@cs.wustl.edu>
-
- * ACE_wrappers/pace/pace/pace.dsw
- * ACE_wrappers/pace/pace/pace_lib.dsp
-
- Added to the repository.
-
-Tue May 30 16:54:06 2000 Luther J Baker <luther@cs.wustl.edu>
-
- * THANKS:
- Added key people to this file.
-
-Tue May 30 14:13:00 2000 Luther J Baker <luther@cs.wustl.edu>
-
- * ACE_wrappers/pace/pace/posix
- * ACE_wrappers/pace/pace/win32
- * ACE_wrappers/pace/pace/vxworks
- * ACE_wrappers/pace/THANKS
-
- Added to the repository to facilitate cross-platform work.
-
-Wed May 24 18:56:16 2000 Darrell Brunsch <brunsch@uci.edu>
-
- * docs/ACE_Integration.txt: (added)
-
- For the PACE crew, a file used to document our progress in
- splitting of ACE_OS and the PACE integration.
-
-Wed May 24 14:40:41 2000 Luther J Baker <luther@cs.wustl.edu>
-
- * README/VERSION:
- Added to repository.
-
-Tue May 23 18:22:48 2000 Luther J Baker <luther@cs.wustl.edu>
-
- * pace/pace/Makefile:
- Added to repository.
-
- * 'touch' to force dirs to show up with cvs co -P
- pace/docs/README
- pace/examples/README
- pace/pace/README
- pace/pace++/README
- pace/tests/README
-
-Tue May 23 17:59:06 2000 Luther J Baker <luther@cs.wustl.edu>
-
- * docs/todo.txt:
- Currently, all .o files appear in the
- ACE_wrappers/pace/pace directory (e.g.: nested
- files such as pace/pace/sys/socket.c generate
- pace/pace/socket.o. See pace/docs/todo.txt.
-
- * ACE_wrappers/pace/pace:
- Source files added.
diff --git a/PACE/Makefile b/PACE/Makefile
deleted file mode 100644
index 88088fe2333..00000000000
--- a/PACE/Makefile
+++ /dev/null
@@ -1,43 +0,0 @@
-#----------------------------------------------------------------------------
-# $Id$
-#
-# Makefile for the PACE directory
-#----------------------------------------------------------------------------
-
-#----------------------------------------------------------------------------
-# Local macros
-#----------------------------------------------------------------------------
-
-ifndef PACE_ROOT
- PACE_ROOT = $(ACE_ROOT)/PACE
-endif # ! PACE_ROOT
-
-INFO = README
-
-DIRS = pace \
- tests
-
-# Add these DIRS later - keep it simple for now
-# pace++ \
-# examples
-
-# Makefiles TBD:
-# ttcp
-# CORBA
-
-
-#----------------------------------------------------------------------------
-# Include macros and targets
-#----------------------------------------------------------------------------
-
-include $(ACE_ROOT)/include/makeinclude/wrapper_macros.GNU
-include $(ACE_ROOT)/include/makeinclude/macros.GNU
-ifdef CHORUS
-DIRS =
- all clean realclean:
- @echo PACE won\'t run or build for Chorus.
-else
-include $(ACE_ROOT)/include/makeinclude/rules.common.GNU
-include $(ACE_ROOT)/include/makeinclude/rules.nested.GNU
-include $(ACE_ROOT)/include/makeinclude/rules.nolocal.GNU
-endif # VXWORKS
diff --git a/PACE/Makefile.am b/PACE/Makefile.am
deleted file mode 100644
index 4980da4cb5c..00000000000
--- a/PACE/Makefile.am
+++ /dev/null
@@ -1,30 +0,0 @@
-##---------------------------------------------------------------------------
-## $Id$
-##
-## Top-level Makefile for the PACE toolkit libraries, tests, and
-## applications
-##
-##---------------------------------------------------------------------------
-
-##
-## Process this file with automake to create Makefile.in
-##
-
-## The number in AUTOMAKE_OPTIONS is the minimum required version automake
-## needed to process this file.
-AUTOMAKE_OPTIONS = 1.4 #check-news
-
-SUBDIRS = \
- pace \
- tests
-
-DESTDIRS = \
- docs \
- examples \
- pace++
-
-## Clean up some additional files/directories possibly created during
-## the configure script tests.
-clean-local:
- -rm -f *.bak *.rpo *.sym lib*.*_pure_* Makefile.old core
- -rm -rf ptrepository Templates.DB gcctemp.c gcctemp so_locations
diff --git a/PACE/README b/PACE/README
deleted file mode 100644
index cc361881310..00000000000
--- a/PACE/README
+++ /dev/null
@@ -1,49 +0,0 @@
-# $Id$
-
-Copyright (c) 2000 Center for Distributed Object Computing,
-Washington University, St. Louis, Missouri, USA.
-
-This is POSIX ACE (PACE). It is based on ACE, the Adaptive
-Communications Environment, developed by Doug Schmidt and the
-Distributed Object Computing Group at Washington University and the
-University of California, Irvine. Please see the ACE copyright
-notice, available at
-http://www.cs.wustl.edu/~schmidt/ACE_wrappers/COPYING.
-
-PACE is intended for lightweight and/or verified systems. It offers
-these benefits:
-
-* A strict POSIX.1-like, low-level interface. Its interface is "POSIX
- compatible"; by that we mean as close to POSIX.1 as it can be, given
- that PACE is not an operating system. And, to avoid name conflicts
- with OS APIs, all low-level PACE function names have the pace_
- prefix.
-
-* The low-level interface is partitioned into multiple files, one
- per POSIX.1 section.
-
-* The low-level interface is written in C, so that it can be used in
- both C and C++ programs.
-
-* PACE (on most platforms) does not require the use of multiple
- inheritance, static objects, exception handling, or other C++
- language constructs that impair code size and/or run-time performance.
-
-
-PACE also insulates applications from the personalities of operating
-systems. For example:
-
-* SunOS 5.7's intro (3) man page states that _POSIX_PTHREAD_SEMANTICS
- and _REENTRANT flags are automatically turned on by defining
- _POSIX_C_SOURCE flag with a value greater than or equal to 199506L.
- However, that doesn't appear to happen, so PACE does it.
-
-* On LynxOS 3.1.0 and Compaq Tru64, several POSIX functions prototypes
- are missing const qualifiers. PACE provides the proper function
- prototypes (and its implementation casts as necessary for
- compatibility).
-
-* LynxOS 3.1.0 has a non-POSIX signal () interface; the handler function
- prototype is not void (*) (int). PACE adapts its interface to the
- POSIX standard interface.
-
diff --git a/PACE/THANKS b/PACE/THANKS
deleted file mode 100644
index 4331a4dd69d..00000000000
--- a/PACE/THANKS
+++ /dev/null
@@ -1,18 +0,0 @@
-ACKNOWLEDGEMENTS
-
-Baker, Luther <luther@cs.wustl.edu>
-Brunsch, Darrell <brunsch@ece.uci.edu>
-Gilpin, Andrew <agg1@cs.wustl.edu>
-Guallar, Gonzalo Diethelm <Gonzalo.Diethelm@sonda.com>
-Heitmann, John <jwh1@cs.wustl.edu>
-Hoffert, Joe <joeh@cs.wustl.edu>
-Levine, David <levine@cs.wustl.edu>
-Loftis, Bjorn <bl6394@momail.sbc.com>
-Syyid, Umar <usyyid@hns.com>
- <rbolourian@hns.com>
-Taylor, Braeton <btaylor@hns.com>
-Watney, Garth <Garth.J.Watney@jpl.nasa.gov>
-
-Thanks,
-
- The PACE Development Team
diff --git a/PACE/VERSION b/PACE/VERSION
deleted file mode 100644
index 3543e990cd5..00000000000
--- a/PACE/VERSION
+++ /dev/null
@@ -1,5 +0,0 @@
-This is PACE version 1.2.
-
-PACE is developed by the Center for Distributed Object Computing,
-Department of Computer Science, Washington University, St. Louis,
-Missouri, USA.
diff --git a/PACE/docs/ACE_Integration.txt b/PACE/docs/ACE_Integration.txt
deleted file mode 100644
index 8265485564e..00000000000
--- a/PACE/docs/ACE_Integration.txt
+++ /dev/null
@@ -1,17 +0,0 @@
-$Id$
-These are the plans for splitting up ACE_OS and their status for both being
-split up and being PACE enabled.
-
-Finished:
----------
-OS_Dirent
-OS_String
-
-Planned:
---------
-OS_Stdio
-OS_Memory
-OS_Process
-OS_Synch
-OS_Socket
-OS_QoS
diff --git a/PACE/docs/README b/PACE/docs/README
deleted file mode 100644
index 055c8729cdc..00000000000
--- a/PACE/docs/README
+++ /dev/null
@@ -1 +0,0 @@
-$Id$
diff --git a/PACE/docs/www/Introduction/begin.html b/PACE/docs/www/Introduction/begin.html
deleted file mode 100644
index cbcb1a75914..00000000000
--- a/PACE/docs/www/Introduction/begin.html
+++ /dev/null
@@ -1,135 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<!-- $Id$ -->
-<html>
- <head>
- <title>PACE: Begin</title>
- </head>
-
- <body text=#000000 vlink=#cc000000 link=#0000ff bgColor=#ffffff>
-
- <table align=center width=640 border=0 cellpadding=6 cellspacing=0>
- <tr>
- <td><hr></td>
- </tr>
- <tr>
- <td>
- <table border=0 cellspacing=20>
- <tr>
- <td>
- <p align=right>
- <a href=../PACE.html>
- <img alt=Click-Me-To-Begin
- border=0
- src=../Pix/PACE-mini-logo.gif>
- </a>
- </p>
- </td>
- <td>
- <table cellspacing=10>
- <tr>
- <td align=center><a href=begin.html>Beginning...</a></td>
- <td align=center><a href=team.html>The Team</a></td>
- <td align=center><a href=phases.html>Phases</a></td>
- <td align=center><a href=struct.html>Structure</a></td>
- </tr>
- <tr>
- <td align=center><a href=build.html>Building</a></td>
- <td align=center><a href=using.html>Using</a></td>
- <td align=center><a href=change.html>Changing</a></td>
- <td align=center><a href=porting.html>Porting</a></td>
- </tr>
- </table>
- </td>
- <td>
- <p align=right>
- <a href=../PACE.html>
- <img alt=Click-Me-To-Begin
- border=0
- src=../Pix/PACE-mini-logo.gif>
- </a>
- </p>
- </td>
- </tr>
- </table>
- </td>
- </tr>
- <tr>
- <td>
- <hr>
- <p align=center><i>Under Construction!!</i></p>
- <h2>In the beginning...</h2>
-
- <p>Dr. David Levine had the initial idea for PACE.
- ACE+TAO were part of Boeing DII COE project of 2001.
- While reviewing the needs for the project and
- realizing that ACE_OS (ACE' own adaptation layer)
- was quite large and full of potentially avoidable
- dependencies, David across the idea that several
- POSIX compliant platforms could be encapsulated
- into one standard interface, a POSIX interface.</p>
-
- <p>This would potentially allow ACE_OS to port to
- a POSIX API, separated from ACE_OS, which would
- then port correctly between the minor POSIX
- variant operating systems which ACE supported.</p>
-
- <p>This idea quickly developed into the broader
- concept that the POSIX interface library could
- actually replace the ACE_OS layer in the feature
- laden ACE framework library and has since grown
- or will grow to include platforms such as Win32
- and VXWorks (which lack true POSIX compliance).</p>
-
- <p>As you can see, this creates a benefit for ACE,
- namely, PosixACE (PACE) becomes a formal starting
- point to begin reducing the complexity and
- interdependence problems that had creeped into
- ACE over the past 5 years.</p>
-
- </td>
- </tr>
- <tr>
- <td>
- <hr>
- <p>Additional information regarding
- <a href="http://www.cs.wustl.edu/~schmidt/ACE.html">ACE</a>
- and
- <a href="http://www.cs.wustl.edu/~luther/PACE">PACE</a>
- and
- <a href="http://www.cs.wustl.edu/~schmidt/TAO.html">TAO</A>
- is available as well as a
- <a href="http://www.cs.wustl.edu/~schmidt/TAO-obtain.html">
- full source distribution</a> of TAO + ACE + PACE.
- </p>
-
- <p>If you have any questions, suggestions or contributions
- regarding PACE, please
- <a href="mailto:pace-users@cs.wustl.edu">write</a>
- to us or subscribe to the pace-users mailing list
- (send email to
- <a href="mailto:majordomo@cs.wustl.edu">
- majordomo@cs.wustl.edu</a>
- with <b>"subscribe pace-users"</b> in the <i>body</i>,
- not the subject line ;-)
- </p>
-
- <hr>
-
- <!-- email -->
- <font face=Verdana,Arial,Helvetica size=2>
- <p align=center><a href="mailto:doc_group@cs.wustl.edu">
- Doc Group</a></p>
-
- <!-- last modified tag -->
- <p align=center>
- <!-- Created: Fri May 4 20:13:27 CDT 2001 -->
- <!-- hhmts start -->
-Last modified: Sun May 13 14:47:17 CDT 2001
-<!-- hhmts end -->
- </p></font>
- </td>
- </tr>
- </table>
-
- </body>
-</html>
diff --git a/PACE/docs/www/Introduction/build.html b/PACE/docs/www/Introduction/build.html
deleted file mode 100644
index 1a5322315f6..00000000000
--- a/PACE/docs/www/Introduction/build.html
+++ /dev/null
@@ -1,107 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<!-- $Id$ -->
-<html>
- <head>
- <title>PACE: Build</title>
- </head>
-
- <body text=#000000 vlink=#cc000000 link=#0000ff bgColor=#ffffff>
-
- <table align=center width=640 border=0 cellpadding=6 cellspacing=0>
- <tr>
- <td><hr></td>
- </tr>
- <tr>
- <td>
- <table border=0 cellspacing=20>
- <tr>
- <td>
- <p align=right>
- <a href=../PACE.html>
- <img alt=Click-Me-To-Begin
- border=0
- src=../Pix/PACE-mini-logo.gif>
- </a>
- </p>
- </td>
- <td>
- <table cellspacing=10>
- <tr>
- <td align=center><a href=begin.html>Beginning...</a></td>
- <td align=center><a href=team.html>The Team</a></td>
- <td align=center><a href=phases.html>Phases</a></td>
- <td align=center><a href=struct.html>Structure</a></td>
- </tr>
- <tr>
- <td align=center><a href=build.html>Building</a></td>
- <td align=center><a href=using.html>Using</a></td>
- <td align=center><a href=change.html>Changing</a></td>
- <td align=center><a href=porting.html>Porting</a></td>
- </tr>
- </table>
- </td>
- <td>
- <p align=right>
- <a href=../PACE.html>
- <img alt=Click-Me-To-Begin
- border=0
- src=../Pix/PACE-mini-logo.gif>
- </a>
- </p>
- </td>
- </tr>
- </table>
- </td>
- </tr>
- <tr>
- <td>
- <hr>
- <p align=center><i>Under Construction!!</i></p>
- <h2>Building</h2>
- </td>
- </tr>
- <tr>
- <td>
- <hr>
- <p>Additional information regarding
- <a href="http://www.cs.wustl.edu/~schmidt/ACE.html">ACE</a>
- and
- <a href="http://www.cs.wustl.edu/~luther/PACE">PACE</a>
- and
- <a href="http://www.cs.wustl.edu/~schmidt/TAO.html">TAO</A>
- is available as well as a
- <a href="http://www.cs.wustl.edu/~schmidt/TAO-obtain.html">
- full source distribution</a> of TAO + ACE + PACE.
- </p>
-
- <p>If you have any questions, suggestions or contributions
- regarding PACE, please
- <a href="mailto:pace-users@cs.wustl.edu">write</a>
- to us or subscribe to the pace-users mailing list
- (send email to
- <a href="mailto:majordomo@cs.wustl.edu">
- majordomo@cs.wustl.edu</a>
- with <b>"subscribe pace-users"</b> in the <i>body</i>,
- not the subject line ;-)
- </p>
-
- <hr>
-
- <!-- email -->
- <font face=Verdana,Arial,Helvetica size=2>
- <p align=center><a href="mailto:doc_group@cs.wustl.edu">
- Doc Group</a></p>
-
- <!-- last modified tag -->
- <p align=center>
- <!-- Created: Fri May 4 20:13:27 CDT 2001 -->
- <!-- hhmts start -->
-Last modified: Sun May 13 14:47:08 CDT 2001
-<!-- hhmts end -->
- </p></font>
- </td>
- </tr>
- </table>
-
- </body>
-</html>
diff --git a/PACE/docs/www/Introduction/change.html b/PACE/docs/www/Introduction/change.html
deleted file mode 100644
index 510cfb7298e..00000000000
--- a/PACE/docs/www/Introduction/change.html
+++ /dev/null
@@ -1,108 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<!-- $Id$ -->
-<html>
- <head>
- <title>PACE: Changing</title>
- </head>
-
- <body text=#000000 vlink=#cc000000 link=#0000ff bgColor=#ffffff>
-
- <table align=center width=640 border=0 cellpadding=6 cellspacing=0>
- <tr>
- <td><hr></td>
- </tr>
- <tr>
- <td>
- <table border=0 cellspacing=20>
- <tr>
- <td>
- <p align=right>
- <a href=../PACE.html>
- <img alt=Click-Me-To-Begin
- border=0
- src=../Pix/PACE-mini-logo.gif>
- </a>
- </p>
- </td>
- <td>
- <table cellspacing=10>
- <tr>
- <td align=center><a href=begin.html>Beginning...</a></td>
- <td align=center><a href=team.html>The Team</a></td>
- <td align=center><a href=phases.html>Phases</a></td>
- <td align=center><a href=struct.html>Structure</a></td>
- </tr>
- <tr>
- <td align=center><a href=build.html>Building</a></td>
- <td align=center><a href=using.html>Using</a></td>
- <td align=center><a href=change.html>Changing</a></td>
- <td align=center><a href=porting.html>Porting</a></td>
- </tr>
- </table>
- </td>
- <td>
- <p align=right>
- <a href=../PACE.html>
- <img alt=Click-Me-To-Begin
- border=0
- src=../Pix/PACE-mini-logo.gif>
- </a>
- </p>
- </td>
- </tr>
- </table>
- </td>
- </tr>
- <tr>
- <td>
- <hr>
- <p align=center><i>Under Construction!!</i></p>
- <h2>Changing</h2>
- <p>Content here :-)</p>
- </td>
- </tr>
- <tr>
- <td>
- <hr>
- <p>Additional information regarding
- <a href="http://www.cs.wustl.edu/~schmidt/ACE.html">ACE</a>
- and
- <a href="http://www.cs.wustl.edu/~luther/PACE">PACE</a>
- and
- <a href="http://www.cs.wustl.edu/~schmidt/TAO.html">TAO</A>
- is available as well as a
- <a href="http://www.cs.wustl.edu/~schmidt/TAO-obtain.html">
- full source distribution</a> of TAO + ACE + PACE.
- </p>
-
- <p>If you have any questions, suggestions or contributions
- regarding PACE, please
- <a href="mailto:pace-users@cs.wustl.edu">write</a>
- to us or subscribe to the pace-users mailing list
- (send email to
- <a href="mailto:majordomo@cs.wustl.edu">
- majordomo@cs.wustl.edu</a>
- with <b>"subscribe pace-users"</b> in the <i>body</i>,
- not the subject line ;-)
- </p>
-
- <hr>
-
- <!-- email -->
- <font face=Verdana,Arial,Helvetica size=2>
- <p align=center><a href="mailto:doc_group@cs.wustl.edu">
- Doc Group</a></p>
-
- <!-- last modified tag -->
- <p align=center>
- <!-- Created: Fri May 4 20:13:27 CDT 2001 -->
- <!-- hhmts start -->
-Last modified: Sun May 13 14:47:23 CDT 2001
-<!-- hhmts end -->
- </p></font>
- </td>
- </tr>
- </table>
-
- </body>
-</html>
diff --git a/PACE/docs/www/Introduction/phases.html b/PACE/docs/www/Introduction/phases.html
deleted file mode 100644
index d857ecb94db..00000000000
--- a/PACE/docs/www/Introduction/phases.html
+++ /dev/null
@@ -1,108 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<!-- $Id$ -->
-<html>
- <head>
- <title>PACE: Phases</title>
- </head>
-
- <body text=#000000 vlink=#cc000000 link=#0000ff bgColor=#ffffff>
-
- <table align=center width=640 border=0 cellpadding=6 cellspacing=0>
- <tr>
- <td><hr></td>
- </tr>
- <tr>
- <td>
- <table border=0 cellspacing=20>
- <tr>
- <td>
- <p align=right>
- <a href=../PACE.html>
- <img alt=Click-Me-To-Begin
- border=0
- src=../Pix/PACE-mini-logo.gif>
- </a>
- </p>
- </td>
- <td>
- <table cellspacing=10>
- <tr>
- <td align=center><a href=begin.html>Beginning...</a></td>
- <td align=center><a href=team.html>The Team</a></td>
- <td align=center><a href=phases.html>Phases</a></td>
- <td align=center><a href=struct.html>Structure</a></td>
- </tr>
- <tr>
- <td align=center><a href=build.html>Building</a></td>
- <td align=center><a href=using.html>Using</a></td>
- <td align=center><a href=change.html>Changing</a></td>
- <td align=center><a href=porting.html>Porting</a></td>
- </tr>
- </table>
- </td>
- <td>
- <p align=right>
- <a href=../PACE.html>
- <img alt=Click-Me-To-Begin
- border=0
- src=../Pix/PACE-mini-logo.gif>
- </a>
- </p>
- </td>
- </tr>
- </table>
- </td>
- </tr>
- <tr>
- <td>
- <hr>
- <p align=center><i>Under Construction!!</i></p>
- <h2>Phases...</h2>
- <p>Content here :-)</p>
- </td>
- </tr>
- <tr>
- <td>
- <hr>
- <p>Additional information regarding
- <a href="http://www.cs.wustl.edu/~schmidt/ACE.html">ACE</a>
- and
- <a href="http://www.cs.wustl.edu/~luther/PACE">PACE</a>
- and
- <a href="http://www.cs.wustl.edu/~schmidt/TAO.html">TAO</A>
- is available as well as a
- <a href="http://www.cs.wustl.edu/~schmidt/TAO-obtain.html">
- full source distribution</a> of TAO + ACE + PACE.
- </p>
-
- <p>If you have any questions, suggestions or contributions
- regarding PACE, please
- <a href="mailto:pace-users@cs.wustl.edu">write</a>
- to us or subscribe to the pace-users mailing list
- (send email to
- <a href="mailto:majordomo@cs.wustl.edu">
- majordomo@cs.wustl.edu</a>
- with <b>"subscribe pace-users"</b> in the <i>body</i>,
- not the subject line ;-)
- </p>
-
- <hr>
-
- <!-- email -->
- <font face=Verdana,Arial,Helvetica size=2>
- <p align=center><a href="mailto:doc_group@cs.wustl.edu">
- Doc Group</a></p>
-
- <!-- last modified tag -->
- <p align=center>
- <!-- Created: Fri May 4 20:13:27 CDT 2001 -->
- <!-- hhmts start -->
-Last modified: Sun May 13 14:47:29 CDT 2001
-<!-- hhmts end -->
- </p></font>
- </td>
- </tr>
- </table>
-
- </body>
-</html>
diff --git a/PACE/docs/www/Introduction/porting.html b/PACE/docs/www/Introduction/porting.html
deleted file mode 100644
index 3cd3e07a26d..00000000000
--- a/PACE/docs/www/Introduction/porting.html
+++ /dev/null
@@ -1,111 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<!-- $Id$ -->
-<html>
- <head>
- <title>PACE: Porting</title>
- </head>
-
- <body text=#000000 vlink=#cc000000 link=#0000ff bgColor=#ffffff>
-
- <table align=center width=640 border=0 cellpadding=6 cellspacing=0>
- <tr>
- <td><hr></td>
- </tr>
- <tr>
- <td>
- <table border=0 cellspacing=20>
- <tr>
- <td>
- <p align=right>
- <a href=../PACE.html>
- <img alt=Click-Me-To-Begin
- border=0
- src=../Pix/PACE-mini-logo.gif>
- </a>
- </p>
- </td>
- <td>
- <table cellspacing=10>
- <tr>
- <td align=center><a href=begin.html>Beginning...</a></td>
- <td align=center><a href=team.html>The Team</a></td>
- <td align=center><a href=phases.html>Phases</a></td>
- <td align=center><a href=struct.html>Structure</a></td>
- </tr>
- <tr>
- <td align=center><a href=build.html>Building</a></td>
- <td align=center><a href=using.html>Using</a></td>
- <td align=center><a href=change.html>Changing</a></td>
- <td align=center><a href=porting.html>Porting</a></td>
- </tr>
- </table>
- </td>
- <td>
- <p align=right>
- <a href=../PACE.html>
- <img alt=Click-Me-To-Begin
- border=0
- src=../Pix/PACE-mini-logo.gif>
- </a>
- </p>
- </td>
- </tr>
- </table>
- </td>
- </tr>
- <tr>
- <td>
- <hr>
- <p align=center><i>Under Construction!!</i></p>
- <h2>Porting</h2>
- <ul>
- <li><p>SunOS</p></li>
- <li><p>LynxOS</p></li>
- <li><p>Win32</p></li>
- </td>
- </tr>
- <tr>
- <td>
- <hr>
- <p>Additional information regarding
- <a href="http://www.cs.wustl.edu/~schmidt/ACE.html">ACE</a>
- and
- <a href="http://www.cs.wustl.edu/~luther/PACE">PACE</a>
- and
- <a href="http://www.cs.wustl.edu/~schmidt/TAO.html">TAO</A>
- is available as well as a
- <a href="http://www.cs.wustl.edu/~schmidt/TAO-obtain.html">
- full source distribution</a> of TAO + ACE + PACE.
- </p>
-
- <p>If you have any questions, suggestions or contributions
- regarding PACE, please
- <a href="mailto:pace-users@cs.wustl.edu">write</a>
- to us or subscribe to the pace-users mailing list
- (send email to
- <a href="mailto:majordomo@cs.wustl.edu">
- majordomo@cs.wustl.edu</a>
- with <b>"subscribe pace-users"</b> in the <i>body</i>,
- not the subject line ;-)
- </p>
-
- <hr>
-
- <!-- email -->
- <font face=Verdana,Arial,Helvetica size=2>
- <p align=center><a href="mailto:doc_group@cs.wustl.edu">
- Doc Group</a></p>
-
- <!-- last modified tag -->
- <p align=center>
- <!-- Created: Fri May 4 20:13:27 CDT 2001 -->
- <!-- hhmts start -->
-Last modified: Sun May 13 14:47:33 CDT 2001
-<!-- hhmts end -->
- </p></font>
- </td>
- </tr>
- </table>
-
- </body>
-</html>
diff --git a/PACE/docs/www/Introduction/struct.html b/PACE/docs/www/Introduction/struct.html
deleted file mode 100644
index e2dec21a619..00000000000
--- a/PACE/docs/www/Introduction/struct.html
+++ /dev/null
@@ -1,123 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<!-- $Id$ -->
-<html>
- <head>
- <title>PACE: Struct</title>
- </head>
-
- <body text=#000000 vlink=#cc000000 link=#0000ff bgColor=#ffffff>
-
- <table align=center width=640 border=0 cellpadding=6 cellspacing=0>
- <tr>
- <td><hr></td>
- </tr>
- <tr>
- <td>
- <table border=0 cellspacing=20>
- <tr>
- <td>
- <p align=right>
- <a href=../PACE.html>
- <img alt=Click-Me-To-Begin
- border=0
- src=../Pix/PACE-mini-logo.gif>
- </a>
- </p>
- </td>
- <td>
- <table cellspacing=10>
- <tr>
- <td align=center><a href=begin.html>Beginning...</a></td>
- <td align=center><a href=team.html>The Team</a></td>
- <td align=center><a href=phases.html>Phases</a></td>
- <td align=center><a href=struct.html>Structure</a></td>
- </tr>
- <tr>
- <td align=center><a href=build.html>Building</a></td>
- <td align=center><a href=using.html>Using</a></td>
- <td align=center><a href=change.html>Changing</a></td>
- <td align=center><a href=porting.html>Porting</a></td>
- </tr>
- </table>
- </td>
- <td>
- <p align=right>
- <a href=../PACE.html>
- <img alt=Click-Me-To-Begin
- border=0
- src=../Pix/PACE-mini-logo.gif>
- </a>
- </p>
- </td>
- </tr>
- </table>
- </td>
- </tr>
- <tr>
- <td>
- <hr>
- <p align=center><i>Under Construction!!</i></p>
- <h2>Structure</h2>
- <p>Pictures of the directory structure here...</p>
-
- <p>Configuration</p>
- <ul>
- <li>There is currently no Autoconf support for
- PACE.</li>
- <li>PACE is currently included in the ACE+TAO
- distribution and upon getting the latest copy
- of ACE+TAO, can be found at<pre>
-ACE_wrappers/PACE.</pre>
- </li>
- <li>Configuration directory:<pre>
-ACE_wrappers/PACE/config</pre>
- </li>
- </ul>
-
- </td>
- </tr>
- <tr>
- <td>
- <hr>
- <p>Additional information regarding
- <a href="http://www.cs.wustl.edu/~schmidt/ACE.html">ACE</a>
- and
- <a href="http://www.cs.wustl.edu/~luther/PACE">PACE</a>
- and
- <a href="http://www.cs.wustl.edu/~schmidt/TAO.html">TAO</A>
- is available as well as a
- <a href="http://www.cs.wustl.edu/~schmidt/TAO-obtain.html">
- full source distribution</a> of TAO + ACE + PACE.
- </p>
-
- <p>If you have any questions, suggestions or contributions
- regarding PACE, please
- <a href="mailto:pace-users@cs.wustl.edu">write</a>
- to us or subscribe to the pace-users mailing list
- (send email to
- <a href="mailto:majordomo@cs.wustl.edu">
- majordomo@cs.wustl.edu</a>
- with <b>"subscribe pace-users"</b> in the <i>body</i>,
- not the subject line ;-)
- </p>
-
- <hr>
-
- <!-- email -->
- <font face=Verdana,Arial,Helvetica size=2>
- <p align=center><a href="mailto:doc_group@cs.wustl.edu">
- Doc Group</a></p>
-
- <!-- last modified tag -->
- <p align=center>
- <!-- Created: Fri May 4 20:13:27 CDT 2001 -->
- <!-- hhmts start -->
-Last modified: Sun May 13 14:47:39 CDT 2001
-<!-- hhmts end -->
- </p></font>
- </td>
- </tr>
- </table>
-
- </body>
-</html>
diff --git a/PACE/docs/www/Introduction/team.html b/PACE/docs/www/Introduction/team.html
deleted file mode 100644
index cbadf1f1533..00000000000
--- a/PACE/docs/www/Introduction/team.html
+++ /dev/null
@@ -1,111 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<!-- $Id$ -->
-<html>
- <head>
- <title>PACE: Team</title>
- </head>
-
- <body text=#000000 vlink=#cc000000 link=#0000ff bgColor=#ffffff>
-
- <table align=center width=640 border=0 cellpadding=6 cellspacing=0>
- <tr>
- <td><hr></td>
- </tr>
- <tr>
- <td>
- <table border=0 cellspacing=20>
- <tr>
- <td>
- <p align=right>
- <a href=../PACE.html>
- <img alt=Click-Me-To-Begin
- border=0
- src=../Pix/PACE-mini-logo.gif>
- </a>
- </p>
- </td>
- <td>
- <table cellspacing=10>
- <tr>
- <td align=center><a href=begin.html>Beginning...</a></td>
- <td align=center><a href=team.html>The Team</a></td>
- <td align=center><a href=phases.html>Phases</a></td>
- <td align=center><a href=struct.html>Structure</a></td>
- </tr>
- <tr>
- <td align=center><a href=build.html>Building</a></td>
- <td align=center><a href=using.html>Using</a></td>
- <td align=center><a href=change.html>Changing</a></td>
- <td align=center><a href=porting.html>Porting</a></td>
- </tr>
- </table>
- </td>
- <td>
- <p align=right>
- <a href=../PACE.html>
- <img alt=Click-Me-To-Begin
- border=0
- src=../Pix/PACE-mini-logo.gif>
- </a>
- </p>
- </td>
- </tr>
- </table>
- </td>
- </tr>
- <tr>
- <td>
- <hr>
- <p align=center><i>Under Construction!!</i></p>
- <h2>The Team...</h2>
- <p>Dr. Levine initially enlisted the help of Luther
- Baker, Joe Hoffert, John Heitmann and Chris Gill
- to help with the PACE effort.
- </p>
- </td>
- </tr>
- <tr>
- <td>
- <hr>
- <p>Additional information regarding
- <a href="http://www.cs.wustl.edu/~schmidt/ACE.html">ACE</a>
- and
- <a href="http://www.cs.wustl.edu/~luther/PACE">PACE</a>
- and
- <a href="http://www.cs.wustl.edu/~schmidt/TAO.html">TAO</A>
- is available as well as a
- <a href="http://www.cs.wustl.edu/~schmidt/TAO-obtain.html">
- full source distribution</a> of TAO + ACE + PACE.
- </p>
-
- <p>If you have any questions, suggestions or contributions
- regarding PACE, please
- <a href="mailto:pace-users@cs.wustl.edu">write</a>
- to us or subscribe to the pace-users mailing list
- (send email to
- <a href="mailto:majordomo@cs.wustl.edu">
- majordomo@cs.wustl.edu</a>
- with <b>"subscribe pace-users"</b> in the <i>body</i>,
- not the subject line ;-)
- </p>
-
- <hr>
-
- <!-- email -->
- <font face=Verdana,Arial,Helvetica size=2>
- <p align=center><a href="mailto:doc_group@cs.wustl.edu">
- Doc Group</a></p>
-
- <!-- last modified tag -->
- <p align=center>
- <!-- Created: Fri May 4 20:13:27 CDT 2001 -->
- <!-- hhmts start -->
-Last modified: Sun May 13 14:47:45 CDT 2001
-<!-- hhmts end -->
- </p></font>
- </td>
- </tr>
- </table>
-
- </body>
-</html>
diff --git a/PACE/docs/www/Introduction/using.html b/PACE/docs/www/Introduction/using.html
deleted file mode 100644
index f8eb5ee58db..00000000000
--- a/PACE/docs/www/Introduction/using.html
+++ /dev/null
@@ -1,108 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<!-- $Id$ -->
-<html>
- <head>
- <title>PACE: Using</title>
- </head>
-
- <body text=#000000 vlink=#cc000000 link=#0000ff bgColor=#ffffff>
-
- <table align=center width=640 border=0 cellpadding=6 cellspacing=0>
- <tr>
- <td><hr></td>
- </tr>
- <tr>
- <td>
- <table border=0 cellspacing=20>
- <tr>
- <td>
- <p align=right>
- <a href=../PACE.html>
- <img alt=Click-Me-To-Begin
- border=0
- src=../Pix/PACE-mini-logo.gif>
- </a>
- </p>
- </td>
- <td>
- <table cellspacing=10>
- <tr>
- <td align=center><a href=begin.html>Beginning...</a></td>
- <td align=center><a href=team.html>The Team</a></td>
- <td align=center><a href=phases.html>Phases</a></td>
- <td align=center><a href=struct.html>Structure</a></td>
- </tr>
- <tr>
- <td align=center><a href=build.html>Building</a></td>
- <td align=center><a href=using.html>Using</a></td>
- <td align=center><a href=change.html>Changing</a></td>
- <td align=center><a href=porting.html>Porting</a></td>
- </tr>
- </table>
- </td>
- <td>
- <p align=right>
- <a href=../PACE.html>
- <img alt=Click-Me-To-Begin
- border=0
- src=../Pix/PACE-mini-logo.gif>
- </a>
- </p>
- </td>
- </tr>
- </table>
- </td>
- </tr>
- <tr>
- <td>
- <hr>
- <p align=center><i>Under Construction!!</i></p>
- <h2>Using</h2>
- <p>Content here :-)</p>
- </td>
- </tr>
- <tr>
- <td>
- <hr>
- <p>Additional information regarding
- <a href="http://www.cs.wustl.edu/~schmidt/ACE.html">ACE</a>
- and
- <a href="http://www.cs.wustl.edu/~luther/PACE">PACE</a>
- and
- <a href="http://www.cs.wustl.edu/~schmidt/TAO.html">TAO</A>
- is available as well as a
- <a href="http://www.cs.wustl.edu/~schmidt/TAO-obtain.html">
- full source distribution</a> of TAO + ACE + PACE.
- </p>
-
- <p>If you have any questions, suggestions or contributions
- regarding PACE, please
- <a href="mailto:pace-users@cs.wustl.edu">write</a>
- to us or subscribe to the pace-users mailing list
- (send email to
- <a href="mailto:majordomo@cs.wustl.edu">
- majordomo@cs.wustl.edu</a>
- with <b>"subscribe pace-users"</b> in the <i>body</i>,
- not the subject line ;-)
- </p>
-
- <hr>
-
- <!-- email -->
- <font face=Verdana,Arial,Helvetica size=2>
- <p align=center><a href="mailto:doc_group@cs.wustl.edu">
- Doc Group</a></p>
-
- <!-- last modified tag -->
- <p align=center>
- <!-- Created: Fri May 4 20:13:27 CDT 2001 -->
- <!-- hhmts start -->
-Last modified: Sun May 13 14:47:51 CDT 2001
-<!-- hhmts end -->
- </p></font>
- </td>
- </tr>
- </table>
-
- </body>
-</html>
diff --git a/PACE/docs/www/PACE-abstract.html b/PACE/docs/www/PACE-abstract.html
deleted file mode 100644
index 0d87438704b..00000000000
--- a/PACE/docs/www/PACE-abstract.html
+++ /dev/null
@@ -1,152 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<!-- $Id$ -->
-<html>
- <head>
- <title>PACE Overview</title>
- </head>
-
- <body text=#000000 vlink=#cc000000 link=#0000ff bgColor=#ffffff>
-
- <table align=center width=640 border=0 cellpadding=6 cellspacing=0>
- <tr>
- <td><hr></td>
- </tr>
- <tr>
- <td>
- <table border=0 cellspacing=20>
- <tr>
- <td>
- <p align=right>
- <a href=PACE.html>
- <img alt=Click-Me-To-Go-Home
- border=0
- src=Pix/PACE-mini-logo.gif></a>
- </p>
- </td>
- <td>
- <table cellspacing=10>
- <tr>
- <td align=center><a href=PACE-overview.html>PACE Overview</a></td>
- <td align=center><a href=PACE-obtain.html>PACE Obtain</a></td>
- <td align=center><a href=PACE-docs.html>PACE Documentation</a></td>
- </tr>
- </table>
- </td>
- <td>
- <p align=right>
- <a href=PACE.html>
- <img alt=Click-Me-To-Go-Home
- border=0
- src=Pix/PACE-mini-logo.gif>
- </a>
- </p>
- </td>
- </tr>
- </table>
- </td>
- </tr>
- <tr>
- <td>
- <hr>
-
- <h2>PACE Abstract</h2>
-
- <p>PACE is a POSIX compliant middleware library that was
- written to allow developers to use one common programming
- API to access POSIX semantics across multiple, different
- operating systems, some of which are not currently POSIX
- compliant.
- </p>
-
- <p>PACE is part of the open source ACE+TAO library/framework
- and its implementation was initiated in response to the RT
- DII COE project at BOEING that specifically targeted
- operating systems NT4 SP6, LynxOS 3.1.0a and SunOS 5.8.
- The RT DII COE project wants to build a Mission Application
- Independent programming framework described as an
- architecture, an approach, a collection of reusable software,
- a software infrastructure and a set of guidelines and
- standards. The proposed framework consists of three layers:
- the kernel, the data exchange layer and common Support
- Applications.
- </p>
-
- <p>Such an ideal framework demands a strong, robust
- infrastructure and as such, ACE+TAO was chosen to be part
- of this project. ACE is the TAO developers API, essentially
- making TAO platform independent (or dependent on which platform
- ACE is ported to). As such, ACE provides very high level
- abstractions and key pattern techniques but handles different
- platforms, especially non-POSIX platforms, on a case-by-case
- basis (Win32 and VXWorks are two good examples).
- </p>
-
- <p>PACE was born to abstract support for current and additional
- non-POSIX platforms away from ACE, thus, becoming an API for
- ACE developers to write to. Initial PACE support was limited
- to the previously mentioned DII COE platforms. Funding is now
- available to PACE to more of the platforms ACE supports,
- potentially encapsulating all of the platforms ACE currently
- supports. This will help separate the concerns of the current
- ACE+TAO framework so that:
- </p>
-
- <ul>
- <li>(PACE = low level, operating system middleware)</li>
- <li>(ACE = high level, pattern oriented abstraction API)</li>
- <li>(TAO = open source ORB)</li>
- </ul>
-
- <p>In addition to presenting some of the PACE code, I intend to
- discuss some of the pitfalls of porting middleware and how we
- overcame them in our current work on PACE as well as how they
- should be addressed as PACE continues to grow.
- </p>
-
- </td>
- </tr>
- <tr>
- <td>
- <hr>
- <p>Additional information regarding
- <a href="http://www.cs.wustl.edu/~schmidt/ACE.html">ACE</a>
- and
- <a href="http://www.cs.wustl.edu/~luther/PACE">PACE</a>
- and
- <a href="http://www.cs.wustl.edu/~schmidt/TAO.html">TAO</A>
- is available as well as a
- <a href="http://www.cs.wustl.edu/~schmidt/TAO-obtain.html">
- full source distribution</a> of TAO + ACE + PACE.
- </p>
-
- <p>If you have any questions, suggestions or contributions
- regarding PACE, please
- <a href="mailto:pace-users@cs.wustl.edu">write</a>
- to us or subscribe to the pace-users mailing list
- (send email to
- <a href="mailto:majordomo@cs.wustl.edu">
- majordomo@cs.wustl.edu</a>
- with <b>"subscribe pace-users"</b> in the <i>body</i>,
- not the subject line ;-)
- </p>
-
- <hr>
-
- <!-- email -->
- <font face=Verdana,Arial,Helvetica size=2>
- <p align=center><a href="mailto:doc_group@cs.wustl.edu">
- Doc Group</a></p>
-
- <!-- last modified tag -->
- <p align=center>
- <!-- Created: Fri May 4 20:13:27 CDT 2001 -->
- <!-- hhmts start -->
-Last modified: Sun May 13 14:45:22 CDT 2001
-<!-- hhmts end -->
- </p></font>
- </td>
- </tr>
- </table>
-
- </body>
-</html>
diff --git a/PACE/docs/www/PACE-car.html b/PACE/docs/www/PACE-car.html
deleted file mode 100644
index b33baa006db..00000000000
--- a/PACE/docs/www/PACE-car.html
+++ /dev/null
@@ -1,28 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<!-- $Id$ -->
-<html>
- <head>
- <title>PACE Car</title>
- </head>
-
- <body bgcolor=#ffffff>
- <table align=center border=6 cellpadding=10>
- <tr>
- <td align=center><a href=PACE.html>
- <img alt=back-to-PACE-page border=0 src=Pix/pace-car1.jpg>
- </a>
- </td>
- </tr>
- </table>
-
- <!-- last modified tag -->
- <font face=Verdana,Arial,Helvetica size=2>
- <p align=center>
-<!-- Created: Fri May 4 20:13:27 CDT 2001 -->
-<!-- hhmts start -->
-Last modified: Sun May 13 14:45:30 CDT 2001
-<!-- hhmts end -->
- </p></font>
-
- </body>
-</html>
diff --git a/PACE/docs/www/PACE-docs.html b/PACE/docs/www/PACE-docs.html
deleted file mode 100644
index 96340a10c4c..00000000000
--- a/PACE/docs/www/PACE-docs.html
+++ /dev/null
@@ -1,109 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<!-- $Id$ -->
-<html>
- <head>
- <title>PACE Overview</title>
- </head>
-
- <body text=#000000 vlink=#cc000000 link=#0000ff bgColor=#ffffff>
-
- <table align=center width=640 border=0 cellpadding=6 cellspacing=0>
- <tr>
- <td><hr></td>
- </tr>
- <tr>
- <td>
- <table border=0 cellspacing=20>
- <tr>
- <td>
- <p align=right>
- <a href=PACE.html>
- <img alt=Click-Me-To-Go-Home
- border=0
- src=Pix/PACE-mini-logo.gif>
- </a>
- </p>
- </td>
- <td>
- <table cellspacing=10>
- <tr>
- <td align=center><a href=PACE-overview.html>PACE Overview</a></td>
- <td align=center><a href=PACE-obtain.html>PACE Obtain</a></td>
- <td align=center><a href=PACE-docs.html>PACE Documentation</a></td>
- </tr>
- </table>
- </td>
- <td>
- <p align=right>
- <a href=PACE.html>
- <img alt=Click-Me-To-Go-Home
- border=0
- src=Pix/PACE-mini-logo.gif>
- </a>
- </p>
- </td>
- </tr>
- </table>
- </td>
- </tr>
- <tr>
- <td>
- <hr>
- <h2>PACE Documentation</h2>
- <p>
- <ul>
- <li><p><a href=PACE-abstract.html>
- PACE Abstract</a></p>
- </li>
- <li><p><a href=Introduction/begin.html>
- PACE Introduction</a></p>
- </li>
- </ul>
- </p>
- </td>
- </tr>
- <tr>
- <td>
- <hr>
- <p>Additional information regarding
- <a href="http://www.cs.wustl.edu/~schmidt/ACE.html">ACE</a>
- and
- <a href="http://www.cs.wustl.edu/~luther/PACE">PACE</a>
- and
- <a href="http://www.cs.wustl.edu/~schmidt/TAO.html">TAO</A>
- is available as well as a
- <a href="http://www.cs.wustl.edu/~schmidt/TAO-obtain.html">
- full source distribution</a> of TAO + ACE + PACE.
- </p>
-
- <p>If you have any questions, suggestions or contributions
- regarding PACE, please
- <a href="mailto:pace-users@cs.wustl.edu">write</a>
- to us or subscribe to the pace-users mailing list
- (send email to
- <a href="mailto:majordomo@cs.wustl.edu">
- majordomo@cs.wustl.edu</a>
- with <b>"subscribe pace-users"</b> in the <i>body</i>,
- not the subject line ;-)
- </p>
-
- <hr>
-
- <!-- email -->
- <font face=Verdana,Arial,Helvetica size=2>
- <p align=center><a href="mailto:doc_group@cs.wustl.edu">
- Doc Group</a></p>
-
- <!-- last modified tag -->
- <p align=center>
- <!-- Created: Fri May 4 20:13:27 CDT 2001 -->
- <!-- hhmts start -->
-Last modified: Sun May 13 14:45:39 CDT 2001
-<!-- hhmts end -->
- </p></font>
- </td>
- </tr>
- </table>
-
- </body>
-</html>
diff --git a/PACE/docs/www/PACE-obtain.html b/PACE/docs/www/PACE-obtain.html
deleted file mode 100644
index a21ea02d262..00000000000
--- a/PACE/docs/www/PACE-obtain.html
+++ /dev/null
@@ -1,124 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<!-- $Id$ -->
-<html>
- <head>
- <title>PACE Overview</title>
- </head>
-
- <body text=#000000 vlink=#cc000000 link=#0000ff bgColor=#ffffff>
-
- <table align=center width=640 border=0 cellpadding=6 cellspacing=0>
- <tr>
- <td><hr></td>
- </tr>
- <tr>
- <td>
- <table border=0 cellspacing=20>
- <tr>
- <td>
- <p align=right>
- <a href=PACE.html>
- <img alt=Click-Me-To-Go-Home
- border=0
- src=Pix/PACE-mini-logo.gif>
- </a>
- </p>
- </td>
- <td>
- <table cellspacing=10>
- <tr>
- <td align=center><a href=PACE-overview.html>PACE Overview</a></td>
- <td align=center><a href=PACE-obtain.html>PACE Obtain</a></td>
- <td align=center><a href=PACE-docs.html>PACE Documentation</a></td>
- </tr>
- </table>
- </td>
- <td>
- <p align=right>
- <a href=PACE.html>
- <img alt=Click-Me-To-Go-Home
- border=0
- src=Pix/PACE-mini-logo.gif>
- </a>
- </p>
- </td>
- </tr>
- </table>
- </td>
- </tr>
- <tr>
- <td>
- <hr>
- <h2>PACE Obtain</h2>
-
- <p>PACE is currently available as part of the ACE+TAO
- distribution found at
- <ul>
- <li><a href=http://ace.cs.wustl.edu/Download.html>
- http://ace.cs.wustl.edu/Download.html</a>
- </li>
- </ul>
- </p>
-
- <p>As such, the installation instructions are also found
- found on the ACE+TAO distribution web-site
- <ul>
- <li><a href=http://www.cs.wustl.edu/~schmidt/ACE-install.html>
- http://www.cs.wustl.edu/~schmidt/ACE-install.html</a>
- </li>
- </ul>
- </p>
-
- <p>For a other PACE details, (essential PACE design strategy,
- HOW-TO to use PACE) etc... please goto
- <ul>
- <li><a href=PACE-docs.html>PACE Documentation</a></li>
- </ul>
- </p>
- </td>
- </tr>
- <tr>
- <td>
- <hr>
- <p>Additional information regarding
- <a href="http://www.cs.wustl.edu/~schmidt/ACE.html">ACE</a>
- and
- <a href="http://www.cs.wustl.edu/~luther/PACE">PACE</a>
- and
- <a href="http://www.cs.wustl.edu/~schmidt/TAO.html">TAO</A>
- is available as well as a
- <a href="http://www.cs.wustl.edu/~schmidt/TAO-obtain.html">
- full source distribution</a> of TAO + ACE + PACE.
- </p>
-
- <p>If you have any questions, suggestions or contributions
- regarding PACE, please
- <a href="mailto:pace-users@cs.wustl.edu">write</a>
- to us or subscribe to the pace-users mailing list
- (send email to
- <a href="mailto:majordomo@cs.wustl.edu">
- majordomo@cs.wustl.edu</a>
- with <b>"subscribe pace-users"</b> in the <i>body</i>,
- not the subject line ;-)
- </p>
-
- <hr>
-
- <!-- email -->
- <font face=Verdana,Arial,Helvetica size=2>
- <p align=center><a href="mailto:doc_group@cs.wustl.edu">
- Doc Group</a></p>
-
- <!-- last modified tag -->
- <p align=center>
- <!-- Created: Fri May 4 20:13:27 CDT 2001 -->
- <!-- hhmts start -->
-Last modified: Sun May 13 14:45:48 CDT 2001
-<!-- hhmts end -->
- </p></font>
- </td>
- </tr>
- </table>
-
- </body>
-</html>
diff --git a/PACE/docs/www/PACE-overview.html b/PACE/docs/www/PACE-overview.html
deleted file mode 100644
index 33c8398400b..00000000000
--- a/PACE/docs/www/PACE-overview.html
+++ /dev/null
@@ -1,229 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<!-- $Id$ -->
-<html>
- <head>
- <title>PACE Overview</title>
- </head>
-
- <body text=#000000 vlink=#cc000000 link=#0000ff bgColor=#ffffff>
-
- <table align=center width=640 border=0 cellpadding=6 cellspacing=0>
- <tr>
- <td><hr></td>
- </tr>
- <tr>
- <td>
- <table border=0 cellspacing=20>
- <tr>
- <td>
- <p align=right>
- <a href=PACE.html>
- <img alt=Click-Me-To-Go-Home
- border=0
- src=Pix/PACE-mini-logo.gif>
- </a>
- </p>
- </td>
- <td>
- <table cellspacing=10>
- <tr>
- <td align=center><a href=PACE-overview.html>PACE Overview</a></td>
- <td align=center><a href=PACE-obtain.html>PACE Obtain</a></td>
- <td align=center><a href=PACE-docs.html>PACE Documentation</a></td>
- </tr>
- </table>
- </td>
- <td>
- <p align=right>
- <a href=PACE.html>
- <img alt=Click-Me-To-Go-Home
- border=0
- src=Pix/PACE-mini-logo.gif>
- </a>
- </p>
- </td>
- </tr>
- </table>
- </td>
- </tr>
- <tr>
- <td>
- <hr>
- <h2>PACE Overview</h2>
- <p>PACE is an OS abstraction layer designed for lightweight
- and/or verified systems.</p>
-
- <p>It offers these benefits:</p>
- <ul>
- <li>
- <p>A strict POSIX.1-like, low-level interface. Its
- interface is "POSIX compatible"; by that we mean as
- close to POSIX.1 as it can be, given that PACE is not
- an operating system. And, to avoid name conflicts with
- OS APIs, all low-level PACE function names have
- the <i><b>pace_</b></i> prefix.
- </p>
- <li>
- <p>The low-level interface is a C file, so that it can be
- used in both C and C++ programs.
- </p>
- <li>
- <p>The low-level interface is partitioned into multiple
- files, one per POSIX.1 section.
- </p>
- </li>
- </ul>
-
- <hr>
-
- <h2>ACE uses PACE</h2>
- <p>The ADAPTIVE Communication Environment
- <a href="http://www.cs.wustl.edu/~schmidt/ACE.html">(ACE)</a>
- is a freely available, open-source, object-oriented
- <a href="http://www.cs.wustl.edu/~schmidt/courses.html">(OO)</a>
- framework that implements many core design patterns for
- concurrent communication software.
- </p>
-
- <p>ACE is currently built on an
- <a href="http://www.cs.wustl.edu/~schmidt/ACE-overview.html">
- OS Adaptation Layer</a> that abstracts away specific
- computer architecture / platform dependencies therfore
- allowing ACE to be portable across any platform that the
- adaptation layer supports.
- </p>
-
- <p>ACE also forms the foundation upon which
- <a href="http://www.cs.wustl.edu/~schmidt/TAO.html">TAO</a>
- is built. The combination of implementing TAO (adding
- specific functionality to ACE) and the ever shifting sands
- of vendor-specific operating systems has grown the ACE
- adapatation layer from a small core of critial functions to
- over 30,000 lines of interdependent code. The development of
- TAO tied in with requests from our sponsors as well as
- suggestions from the development community at large
- contributed to our decision to re-engineer ACE' adaptation
- layer. PACE is one part of this effort.
- </p>
-
- <hr>
-
- <h2>PACE Objectives</h2>
- <p>Some objectives of this phase of ACE' development (PACE)
- include:
- </p>
- <ul>
- <li>
- <p><b>ACE Developers:</b> Make the low level abstraction
- layer code more maintainable.<br>
- <i>(reduce file size and file interdependence - improve
- code modularity)</i>
- </p>
- </li>
- <li>
- <p><b>ACE Users:</b> Reduce ACE' footprint.<br>
- <i>(this is not a one-step task by any stretch of the
- imagination, but we will begin breaking out the code
- into separate files - allowing developers the
- opportunity option to compile and link specific
- object files to their executables instead of the
- entire ACE adaptation layer library)</i>
- </p>
- </li>
- <li>
- <p><b>ACE Users:</b> Update the adaptation layer to be
- POSIX compliant.<br>
- <i>(see next)</i>
- </p>
- </li>
- <li>
- <p><b>ACE Users:</b> Split the adaptation layer to support
- both a <b>C</b> API (PACE) as well as a set of
- <b>C++</b> wrapper classes (ACE_OS) allowing
- <i><b>both C &amp; C++</b></i> developers to call
- directly into the low level API.<br>
- <i>(encapslate POSIX and system calls in <b>C</b>
- wrappers and re-write the (ACE_OS) adaptation layer to
- transparently call into the POSIX emulation API
- (PACE))</i>
- </p>
- </li>
- <li>
- <p><b>ACE Users:</b> ACE will not change its public
- interface, it will only add low level <b>C</b>
- operations to its repertoire. As is obvious, software
- built on this adaptation layer is portable across the
- various platforms that ACE supports. This provides
- backward compatilibity for people already using the
- current <b>C++</b> (ACE_OS) adaptation layer of
- ACE.</p>
- </li>
- </ul>
-
- <p>This is an open-source project maintained by:
- <ul>
- <li><a href="http://www.cs.wustl.edu/~schmidt">
- Dr. Douglas Schmidt</a> of the
- <a href="http://www.cs.uci.edu/">
- University of California - Irvine</a>
- </li>
- <li><A href="http://www.cs.wustl.edu/~cyron">
- Dr. Ron Cytron</a> of
- <a href="http://www.cs.wustl.edu/">
- Washington University - St. Louis</a>
- </li>
- <li>their respective sister
- <a href="http://www.cs.wustl.edu/~doc">
- <b><font color=red>D</font></b>istributed
- <b><font color=red>O</font></b>bject
- <b><font color=red>C</font></b>omputing</a>
- research groups.
- </li>
- </ul>
- </td>
- </tr>
- <tr>
- <td>
- <hr>
- <p>Additional information regarding
- <a href="http://www.cs.wustl.edu/~schmidt/ACE.html">ACE</a>
- and
- <a href="http://www.cs.wustl.edu/~luther/PACE">PACE</a>
- and
- <a href="http://www.cs.wustl.edu/~schmidt/TAO.html">TAO</A>
- is available as well as a
- <a href="http://www.cs.wustl.edu/~schmidt/TAO-obtain.html">
- full source distribution</a> of TAO + ACE + PACE.
- </p>
-
- <p>If you have any questions, suggestions or contributions
- regarding PACE, please
- <a href="mailto:pace-users@cs.wustl.edu">write</a>
- to us or subscribe to the pace-users mailing list
- (send email to
- <a href="mailto:majordomo@cs.wustl.edu">
- majordomo@cs.wustl.edu</a>
- with <b>"subscribe pace-users"</b> in the <i>body</i>,
- not the subject line ;-)
- </p>
-
- <hr>
-
- <!-- email -->
- <font face=Verdana,Arial,Helvetica size=2>
- <p align=center><a href="mailto:doc_group@cs.wustl.edu">
- Doc Group</a></p>
-
- <!-- last modified tag -->
- <p align=center>
- <!-- Created: Fri May 4 20:13:27 CDT 2001 -->
- <!-- hhmts start -->
-Last modified: Sun May 13 14:45:55 CDT 2001
-<!-- hhmts end -->
- </p></font>
- </td>
- </tr>
- </table>
-
- </body>
-</html>
diff --git a/PACE/docs/www/PACE.html b/PACE/docs/www/PACE.html
deleted file mode 100644
index f4105c86a85..00000000000
--- a/PACE/docs/www/PACE.html
+++ /dev/null
@@ -1,150 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<!-- $Id$ -->
-<html>
- <head>
- <title>PACE Front Door</title>
- </head>
-
- <body text=#000000 vlink=#cc000000 link=#0000ff bgColor=#ffffff>
-
- <table align=center cellspacing=0 cellpadding=10 border=0>
-
- <!-- logo -->
- <tr>
- <td valign=middle align=center bgcolor=#dddddd>
- <font face=Verdana,Arial,Helvetica size=-1>
- <p><a href=http://www.cs.wustl.edu/~doc>DOC Group<br>
- Washington University<br>
- St. Louis, Missouri</a></p></font>
- </td>
- <td valign=middle align=center bgcolor=#dddddd>
- <a href="http://www.cs.wustl.edu/~doc">
- <img alt=Wash-U-DOC-Center
- border=0
- src=Pix/doc-logo.jpg></a>
- </td>
- <td valign=middle align=center bgcolor=#dddddd>
- <font face=Verdana,Arial,Helvetica size=-1>
- <p><a href=http://doc.ece.uci.edu/>DOC Group<br>
- University of California<br>
- Irvine, California</a></p></font>
- </td>
- </tr>
-
- <!-- picture -->
- <tr>
- <th align=center><font face=Verdana,Helvetica,Arial size=6>
- POSIX<br>Adaptation<br>Layer<br>(PACE</font>
- <font face=Verdana,Arial,Helvetica size=-2>
- <sup>(TM)</sup></font>
- <font face=Verdana,Helvetica,Arial size=6>)</font>
- </h2></th>
-
- <td>
- <a href=PACE-car.html>
- <img alt=Click-Me-Cool
- border=0
- src=Pix/PACE-red-blue-logo.gif></a>
- <!-- img src="Pix/pace-car1.jpg"--></td>
-
- <th align=center><font face=Verdana,Helvetica,Arial size=6>
- A<br>POSIX<br>Middleware<br>Toolkit</b></font>
- </tr>
-
- <!-- links -->
- <tr>
- <td align=left valign=top bgcolor=#dddddd>
- <font size=+1>
- <dl>
- <dt><p>
- <img alt=o src=Pix/redball.gif>
- <a href="PACE-overview.html">
- PACE Overview</a></p>
- </dt>
- <dt><p>
- <img alt=o src=Pix/redball.gif>
- <a href="PACE-obtain.html">
- PACE Obtain</a></p>
- </dt>
- <dt><p>
- <img alt=o src=Pix/redball.gif>
- <a href="PACE-docs.html">
- PACE Docs</a></p>
- </dt>
- <dt><p>
- <img alt=o src=Pix/redball.gif>
- <a href="http://www.cs.wustl.edu/~schmidt/ACE-copying.html">
- PACE Copyright</a></p>
- </dt>
- </dl></font>
- </td>
- <td align=center valign=top bgcolor=#dddddd>
- <font size=+1><dl>
- <dt><p>
- <img alt=o src=Pix/redball.gif>
- <a href="http://www.zen.uci.edu">Zen</a> Overview
- <img alt=o src=Pix/redball.gif></p>
- </dt>
- <dt><p>
- <img alt=o src=Pix/redball.gif>
- <a href="http://www.cs.wustl.edu/~schmidt/ACE.html">
- ACE</a> Overview
- <img alt=o src=Pix/redball.gif></p>
- </dt>
- <dt><p>
- <img alt=o src=Pix/redball.gif>
- <a href="http://www.cs.wustl.edu/~schmidt/TAO.html">
- TAO</a> Overview
- <img alt=o src=Pix/redball.gif></p>
- </dt>
- <dt><p>
- <img alt=o src=Pix/redball.gif>
- <a href="http://www.cs.wustl.edu/~eea1/JACE.html">Java ACE</a> &amp;
- <a href="http://www.cs.wustl.edu/~jxh/research/">JAWS</a>
- <img alt=o src=Pix/redball.gif></p>
- </dt>
- </dl></font>
- </td>
- <td valign=top bgcolor=#dddddd>
- <font size=+1><dl>
- <dt><p align=right>
- <a href="http://www.cs.wustl.edu/~schmidt/ACE-members.html">
- PACE Team Members</a>
- <img alt=o src=Pix/redball.gif></p>
- </dt>
- <dt><p align=right>
- <a href="http://www.cs.wustl.edu/~schmidt/ACE-users.html">
- Who is using PACE?</a>
- <img alt=o src=Pix/redball.gif></p>
- </dt>
- <dt><p align=right>
- <a href="http://www.cs.wustl.edu/~schmidt/ACE-mail.html">
- PACE Mailing List</a>
- <img alt=o src=Pix/redball.gif></p>
- </dt>
- <dt><p align=right>
- <a href="http://www.cs.wustl.edu/~schmidt/ACE-sponsors.html">
- PACE Sponsors</a>
- <img alt=o src=Pix/redball.gif></p>
- </dt>
- </dl></font>
- </td>
- </tr>
- </table>
- </font>
-
- <!-- email -->
- <font face=Verdana,Arial,Helvetica size=2>
- <p align=center><a href="mailto:doc_group@cs.wustl.edu">
- Doc Group</a></p>
-
- <!-- last modified tag -->
- <p align=center>
-<!-- Created: Fri May 4 20:13:27 CDT 2001 -->
-<!-- hhmts start -->
-Last modified: Sun May 13 14:46:04 CDT 2001
-<!-- hhmts end -->
- </p></font>
-
- </body>
-</html>
diff --git a/PACE/docs/www/Pix/PACE-mini-logo.gif b/PACE/docs/www/Pix/PACE-mini-logo.gif
deleted file mode 100644
index e8ad069612e..00000000000
--- a/PACE/docs/www/Pix/PACE-mini-logo.gif
+++ /dev/null
Binary files differ
diff --git a/PACE/docs/www/Pix/PACE-red-blue-logo.gif b/PACE/docs/www/Pix/PACE-red-blue-logo.gif
deleted file mode 100644
index ac6deaacdab..00000000000
--- a/PACE/docs/www/Pix/PACE-red-blue-logo.gif
+++ /dev/null
Binary files differ
diff --git a/PACE/docs/www/Pix/PACE-red-blue-smaller.gif b/PACE/docs/www/Pix/PACE-red-blue-smaller.gif
deleted file mode 100644
index 4065a7a55fd..00000000000
--- a/PACE/docs/www/Pix/PACE-red-blue-smaller.gif
+++ /dev/null
Binary files differ
diff --git a/PACE/docs/www/Pix/ace-tmp.jpg b/PACE/docs/www/Pix/ace-tmp.jpg
deleted file mode 100644
index 883e1b924d3..00000000000
--- a/PACE/docs/www/Pix/ace-tmp.jpg
+++ /dev/null
Binary files differ
diff --git a/PACE/docs/www/Pix/doc-logo.jpg b/PACE/docs/www/Pix/doc-logo.jpg
deleted file mode 100644
index 1d5dcd1c403..00000000000
--- a/PACE/docs/www/Pix/doc-logo.jpg
+++ /dev/null
Binary files differ
diff --git a/PACE/docs/www/Pix/heli-1.jpg b/PACE/docs/www/Pix/heli-1.jpg
deleted file mode 100644
index 678c7675f82..00000000000
--- a/PACE/docs/www/Pix/heli-1.jpg
+++ /dev/null
Binary files differ
diff --git a/PACE/docs/www/Pix/pace-car1.jpg b/PACE/docs/www/Pix/pace-car1.jpg
deleted file mode 100644
index 7e0500cb329..00000000000
--- a/PACE/docs/www/Pix/pace-car1.jpg
+++ /dev/null
Binary files differ
diff --git a/PACE/docs/www/Pix/pace-car2.jpg b/PACE/docs/www/Pix/pace-car2.jpg
deleted file mode 100644
index 23eadce61c3..00000000000
--- a/PACE/docs/www/Pix/pace-car2.jpg
+++ /dev/null
Binary files differ
diff --git a/PACE/docs/www/Pix/pace-car3.jpg b/PACE/docs/www/Pix/pace-car3.jpg
deleted file mode 100644
index 8551fcf7b8e..00000000000
--- a/PACE/docs/www/Pix/pace-car3.jpg
+++ /dev/null
Binary files differ
diff --git a/PACE/docs/www/Pix/redball.gif b/PACE/docs/www/Pix/redball.gif
deleted file mode 100644
index 41b0daed865..00000000000
--- a/PACE/docs/www/Pix/redball.gif
+++ /dev/null
Binary files differ
diff --git a/PACE/docs/www/Pix/stealth.jpg b/PACE/docs/www/Pix/stealth.jpg
deleted file mode 100644
index d93907fe06a..00000000000
--- a/PACE/docs/www/Pix/stealth.jpg
+++ /dev/null
Binary files differ
diff --git a/PACE/docs/www/index.html b/PACE/docs/www/index.html
deleted file mode 100755
index f4105c86a85..00000000000
--- a/PACE/docs/www/index.html
+++ /dev/null
@@ -1,150 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<!-- $Id$ -->
-<html>
- <head>
- <title>PACE Front Door</title>
- </head>
-
- <body text=#000000 vlink=#cc000000 link=#0000ff bgColor=#ffffff>
-
- <table align=center cellspacing=0 cellpadding=10 border=0>
-
- <!-- logo -->
- <tr>
- <td valign=middle align=center bgcolor=#dddddd>
- <font face=Verdana,Arial,Helvetica size=-1>
- <p><a href=http://www.cs.wustl.edu/~doc>DOC Group<br>
- Washington University<br>
- St. Louis, Missouri</a></p></font>
- </td>
- <td valign=middle align=center bgcolor=#dddddd>
- <a href="http://www.cs.wustl.edu/~doc">
- <img alt=Wash-U-DOC-Center
- border=0
- src=Pix/doc-logo.jpg></a>
- </td>
- <td valign=middle align=center bgcolor=#dddddd>
- <font face=Verdana,Arial,Helvetica size=-1>
- <p><a href=http://doc.ece.uci.edu/>DOC Group<br>
- University of California<br>
- Irvine, California</a></p></font>
- </td>
- </tr>
-
- <!-- picture -->
- <tr>
- <th align=center><font face=Verdana,Helvetica,Arial size=6>
- POSIX<br>Adaptation<br>Layer<br>(PACE</font>
- <font face=Verdana,Arial,Helvetica size=-2>
- <sup>(TM)</sup></font>
- <font face=Verdana,Helvetica,Arial size=6>)</font>
- </h2></th>
-
- <td>
- <a href=PACE-car.html>
- <img alt=Click-Me-Cool
- border=0
- src=Pix/PACE-red-blue-logo.gif></a>
- <!-- img src="Pix/pace-car1.jpg"--></td>
-
- <th align=center><font face=Verdana,Helvetica,Arial size=6>
- A<br>POSIX<br>Middleware<br>Toolkit</b></font>
- </tr>
-
- <!-- links -->
- <tr>
- <td align=left valign=top bgcolor=#dddddd>
- <font size=+1>
- <dl>
- <dt><p>
- <img alt=o src=Pix/redball.gif>
- <a href="PACE-overview.html">
- PACE Overview</a></p>
- </dt>
- <dt><p>
- <img alt=o src=Pix/redball.gif>
- <a href="PACE-obtain.html">
- PACE Obtain</a></p>
- </dt>
- <dt><p>
- <img alt=o src=Pix/redball.gif>
- <a href="PACE-docs.html">
- PACE Docs</a></p>
- </dt>
- <dt><p>
- <img alt=o src=Pix/redball.gif>
- <a href="http://www.cs.wustl.edu/~schmidt/ACE-copying.html">
- PACE Copyright</a></p>
- </dt>
- </dl></font>
- </td>
- <td align=center valign=top bgcolor=#dddddd>
- <font size=+1><dl>
- <dt><p>
- <img alt=o src=Pix/redball.gif>
- <a href="http://www.zen.uci.edu">Zen</a> Overview
- <img alt=o src=Pix/redball.gif></p>
- </dt>
- <dt><p>
- <img alt=o src=Pix/redball.gif>
- <a href="http://www.cs.wustl.edu/~schmidt/ACE.html">
- ACE</a> Overview
- <img alt=o src=Pix/redball.gif></p>
- </dt>
- <dt><p>
- <img alt=o src=Pix/redball.gif>
- <a href="http://www.cs.wustl.edu/~schmidt/TAO.html">
- TAO</a> Overview
- <img alt=o src=Pix/redball.gif></p>
- </dt>
- <dt><p>
- <img alt=o src=Pix/redball.gif>
- <a href="http://www.cs.wustl.edu/~eea1/JACE.html">Java ACE</a> &amp;
- <a href="http://www.cs.wustl.edu/~jxh/research/">JAWS</a>
- <img alt=o src=Pix/redball.gif></p>
- </dt>
- </dl></font>
- </td>
- <td valign=top bgcolor=#dddddd>
- <font size=+1><dl>
- <dt><p align=right>
- <a href="http://www.cs.wustl.edu/~schmidt/ACE-members.html">
- PACE Team Members</a>
- <img alt=o src=Pix/redball.gif></p>
- </dt>
- <dt><p align=right>
- <a href="http://www.cs.wustl.edu/~schmidt/ACE-users.html">
- Who is using PACE?</a>
- <img alt=o src=Pix/redball.gif></p>
- </dt>
- <dt><p align=right>
- <a href="http://www.cs.wustl.edu/~schmidt/ACE-mail.html">
- PACE Mailing List</a>
- <img alt=o src=Pix/redball.gif></p>
- </dt>
- <dt><p align=right>
- <a href="http://www.cs.wustl.edu/~schmidt/ACE-sponsors.html">
- PACE Sponsors</a>
- <img alt=o src=Pix/redball.gif></p>
- </dt>
- </dl></font>
- </td>
- </tr>
- </table>
- </font>
-
- <!-- email -->
- <font face=Verdana,Arial,Helvetica size=2>
- <p align=center><a href="mailto:doc_group@cs.wustl.edu">
- Doc Group</a></p>
-
- <!-- last modified tag -->
- <p align=center>
-<!-- Created: Fri May 4 20:13:27 CDT 2001 -->
-<!-- hhmts start -->
-Last modified: Sun May 13 14:46:04 CDT 2001
-<!-- hhmts end -->
- </p></font>
-
- </body>
-</html>
diff --git a/PACE/examples/README b/PACE/examples/README
deleted file mode 100644
index e69de29bb2d..00000000000
--- a/PACE/examples/README
+++ /dev/null
diff --git a/PACE/include/makeinclude/rules.common.GNU b/PACE/include/makeinclude/rules.common.GNU
deleted file mode 100644
index 464d476ea79..00000000000
--- a/PACE/include/makeinclude/rules.common.GNU
+++ /dev/null
@@ -1,121 +0,0 @@
-#----------------------------------------------------------------------------
-# $Id$
-#
-# Common rules for building PACE targets
-#----------------------------------------------------------------------------
-
-ifndef PACE_ROOT
- PACE_ROOT = $(ACE_ROOT)/PACE
-endif # ! PACE_ROOT
-
-VPATH+=config:sys
-
-ifeq ($(PACE_SYSNAME),)
- PACE_SYSNAME = $(shell uname -s)
-endif # ! PACE_SYSNAME
-
-ifeq ($(PACE_SYSVER),)
- PACE_SYSVER = $(shell uname -r)
-endif # ! PACE_SYSVER
-
-ifeq ($(PACE_SYSNAME),Linux)
- PACE_SYSVER := $(shell echo $(PACE_SYSVER) | \
- perl -ne 'printf "%lu\n", hex sprintf "%02X%02X%02x", split /\./')
-else
- PACE_SYSVER := $(shell echo $(PACE_SYSVER) | sed 's/\.//g')
-endif # PACE_SYSNAME == Linux
-
-# List of platforms and uname -s values
-# =====================================
-# Solaris SunOS
-# NT "NT" (uname not supported)
-# LynxOS LynxOS
-# VxWorks "VxWorks" (strictly cross-compiled)
-# Linux Linux
-# pSOS "pSOS" (strictly cross-compiled)
-# Chorus "Chorus" (strictly cross-compiled)
-# QNX Neutrino "Neutrino" (strictly cross-compiled)
-# OSF/1 OSF1
-# IRIX (64 bit) IRIX64
-# IRIX (32 bit) IRIX (unconfirmed)
-# HPUX HP-UX
-# AIX AIX
-
-ifeq ($(PACE_SYSNAME),SunOS)
- # Hard code special cases for SunOS 5.6, 5.7, and 5.8 since
- # we need a 3 digit version number for comparison purposes.
- ifeq ($(PACE_SYSVER),58)
- PACE_SYSVER := $(PACE_SYSVER)0
- endif # PACE_SYSVER == 58
- ifeq ($(PACE_SYSVER),57)
- PACE_SYSVER := $(PACE_SYSVER)0
- endif # PACE_SYSVER == 57
- ifeq ($(PACE_SYSVER),56)
- PACE_SYSVER := $(PACE_SYSVER)0
- endif # PACE_SYSVER == 56
- VPATH :=.:posix:$(VPATH)
- CFLAGS += -DPACE_SUNOS=$(PACE_SYSVER) -D_REENTRANT
- ifeq ($(threads),1)
- CFLAGS += -D_POSIX_PTHREAD_SEMANTICS
- endif # ! ($(threads),0)
-endif
-
-ifeq ($(PACE_SYSNAME),NT)
- VPATH :=.:win32:$(VPATH)
- CFLAGS += -DPACE_WIN32=$(PACE_SYSVER)
-endif
-
-ifeq ($(PACE_SYSNAME),LynxOS)
- VPATH :=.:posix:$(VPATH)
- CFLAGS += -DPACE_LYNXOS=$(PACE_SYSVER)
- ifeq ($(PACE_SYSVER),0x300)
- CFLAGS += -D_POSIX_THREADS_CALLS
- endif # ($(PACE_SYSVER),0x300)
-endif
-
-ifeq ($(PACE_SYSNAME),OSF1)
- VPATH :=.:posix:$(VPATH)
- CFLAGS += -DPACE_OSF1=$(PACE_SYSVER) -D_DEC_XPG
-endif
-
-ifeq ($(PACE_SYSNAME),VxWorks)
- VPATH :=.:vxworks:$(VPATH)
- CFLAGS += -DPACE_VXWORKS=$(PACE_SYSVER)
-endif
-
-ifeq ($(PACE_SYSNAME),Linux)
- VPATH :=.:posix:$(VPATH)
- emulation=1
- CFLAGS += -DPACE_LINUX=$(PACE_SYSVER)
-endif
-
-ifeq ($(PACE_SYSNAME),AIX)
- VPATH := .:posix:$(VPATH)
- CFLAGS += -DPACE_HAS_POSIX -D_REENTRANT
-endif
-
-ifeq ($(PACE_SYSNAME),HP-UX)
- VPATH := .:posix:$(VPATH)
- CFLAGS += -DPACE_HAS_POSIX -D_REENTRANT
-endif
-
-ifeq ($(PACE_SYSNAME),QNX)
- VPATH := .:posix:$(VPATH)
- CFLAGS += -DPACE_QNX=$(PACE_SYSVER) -D_REENTRANT
-endif
-
-ifeq ($(debug),)
- ifeq (,$(findstring $(CFLAGS),$(CCFLAGS)))
- CCFLAGS += -DPACE_NDEBUG
- else
- CFLAGS += -DPACE_NDEBUG
- endif
-endif # debug
-
-ifeq ($(pace_tracing),1)
- ifeq (,$(findstring $(CFLAGS),$(CCFLAGS)))
- CCFLAGS += -DPACE_TRACING
- else
- CFLAGS += -DPACE_TRACING
- endif
-endif # debug
diff --git a/PACE/pace++/README b/PACE/pace++/README
deleted file mode 100644
index e69de29bb2d..00000000000
--- a/PACE/pace++/README
+++ /dev/null
diff --git a/PACE/pace/Makefile b/PACE/pace/Makefile
deleted file mode 100644
index c29a22d1cdc..00000000000
--- a/PACE/pace/Makefile
+++ /dev/null
@@ -1,498 +0,0 @@
-#----------------------------------------------------------------------------
-# $Id$
-#
-# Makefile for the PACE/pace C library release
-#----------------------------------------------------------------------------
-
-MAKEFILE = Makefile
-LIB = libPACE.a
-SHLIB = libPACE.$(SOEXT)
-
-PACE_FILES = \
- aio \
- assert \
- ctype \
- dirent \
- fcntl \
- grp \
- locale \
- math \
- mqueue \
- pthread \
- pwd \
- sched \
- semaphore \
- setjmp \
- signal \
- stdio \
- stdlib \
- string \
- termios \
- time \
- unistd \
- utime
-CONFIG_FILES =
-SYS_FILES = \
- sys/mman \
- sys/socket \
- sys/stat \
- sys/times \
- sys/utsname \
- sys/wait
-
-# POSIX_SOCKET Unit of Functionality
-# pace_accept is in sys/socket.h
-# pace_bind is in sys/socket.h
-# pace_connect is in sys/socket.h
-# pace_getpeername is in sys/socket.h
-# pace_getsockname is in sys/socket.h
-# pace_getsockopt is in sys/socket.h
-# pace_setsockopt is in sys/socket.h
-# pace_isfdtype is in sys/socket.h
-# pace_listen is in sys/socket.h
-# pace_recv is in sys/socket.h
-# pace_recvfrom is in sys/socket.h
-# pace_rcvmsg is in sys/socket.h
-# pace_send is in sys/socket.h
-# pace_sendto is in sys/socket.h
-# pace_sendmsg is in sys/socket.h
-# pace_shutdown is in sys/socket.h
-# pace_socket is in sys/socket.h
-# pace_socketpair is in sys/socket.h
-POSIX_SOCK_FILES = \
- sys/socket
-
-# POSIX_SINGLE_PROCESS Unit of Functionality (POSIX.1)
-# pace_sysconf is in unistd.h;
-# pace_time is in time.h;
-# pace_uname is in sys/ustname.h
-POSIX_SP_FILES = \
- unistd \
- time \
- sys/utsname
-
-# POSIX_MULTI_PROCESS Unit of Functionality (POSIX.1)
-# pace__exit is in unistd.h
-# pace_assert is in assert.h
-# pace_execl, pace_execle, pace_execlp, pace_execv, pace_execve, pace_execvp
-# are in unistd.h;
-# pace_exit is in stdlib.h;
-# pace_fork is in unistd.h;
-# pace_getenv is in stdlib.h;
-# pace_getpid, pace_getppid are in unistd.h;
-# pace_setlocale is in locale.h;
-# pace_sleep is in unistd.h;
-# pace_times is in sys/times.h;
-# pace_wait, pace_waitpid are in wait.h;
-POSIX_MP_FILES = \
- unistd \
- assert \
- stdlib \
- locale \
- sys/times \
- sys/wait
-
-# POSIX_SIGNALS Unit of Functionality (POSIX.1)
-# pace_abort is in stdlib.h;
-# pace_alarm is in unistd.h;
-# pace_kill is in signal.h;
-# pace_pause is in unistd.h;
-# pace_sigaction, pace_sigaddset, pace_sigdelset, pace_sigemptyset,
-# pace_sigfillset, pace_sigismember are in signal.h;
-# pace_siglongjmp is in setjmp.h;
-# pace_sigpending, pace_sigprocmask are in signal.h;
-# pace_sigsetjmp is in setjmp.h;
-# pace_sigsuspend is in signal.h;
-POSIX_SIG_FILES = \
- stdlib \
- unistd \
- signal \
- setjmp
-
-# POSIX_USER_GROUPS Unit of Functionality (POSIX.1)
-# pace_getegid, pace_geteuid, pace_getgid, pace_getgroups, pace_getlogin,
-# pace_getpgrp, pace_getuid, pace_setgid, pace_setsid, pace_setuid are in
-# unistd.h;
-POSIX_UG_FILES = \
- unistd
-
-# POSIX_FILE_SYSTEM Unit of Functionality (POSIX.1)
-# pace_access, pace_chdir are in unistd.h;
-# pace_closedir is in dirent.h;
-# pace_creat is in fcntl.h;
-# pace_fpathconf is in unistd.h;
-# pace_fstat is in sys/stat.h
-# pace_getcwd, pace_link are in unistd.h
-# pace_mkdir is in sys/stat.h
-# pace_opendir is in dirent.h;
-# pace_pathconf is in unistd.h;
-# pace_readdir is in dirent.h;
-# pace_remove, pace_rename are in stdio.h;
-# pace_rewinddir is in dirent.h;
-# pace_rmdir is in unistd.h;
-# pace_stat is in sys/stat.h;
-# pace_tmpfile, pace_tmpnam are in stdio.h;
-# pace_unlink is in unistd.h;
-# pace_utime is in utime.h;
-POSIX_FS_FILES = \
- unistd \
- dirent \
- fcntl \
- sys/stat \
- stdio \
- utime
-
-# POSIX_FILE_ATTRIBUTES Unit of Functionality (POSIX.1)
-# pace_chmod is in sys/stat.h;
-# pace_chown is in unistd.h;
-# pace_umask is in sys/stat.h;
-POSIX_FA_FILES = \
- sys/stat \
- unistd
-
-# POSIX_FIFO Unit of Functionality (POSIX.1)
-# pace_mkfifo is in sys/stat.h;
-POSIX_F_FILES = \
- sys/stat
-
-# POSIX_DEVICE_IO Unit of Functionality (POSIX.1)
-# pace_clearerr is in stdio.h;
-# pace_close is in unistd.h;
-# pace_fclose, pace_fdopen, pace_feof, pace_ferror are in stdio.h;
-# pace_fflush, pace_fgetc, pace_fgets, pace_fileno are in stdio.h;
-# pace_fopen, pace_fprintf, pace_fputc, pace_fputs, pace_fread, pace_freopen,
-# pace_fscanf, pace_fwrite, pace_getc, pace_getchar, pace_gets are in stdio.h;
-# pace_open is in fcntl.h;
-# pace_perror, pace_printf, pace_putc, pace_putchar, pace_puts are in stdio.h;
-# pace_read is in unistd.h;
-# pace_scanf is in stdio.h;
-# pace_setbuf, pace_sprintf, pace_sscanf, pace_ungetc are in stdio.h;
-# pace_write are in unistd.h;
-POSIX_DI_FILES = \
- stdio \
- unistd \
- fcntl
-
-# POSIX_FD_MGMT Unit of Functionality (POSIX.1)
-# pace_dup, pace_dup2 are in unistd.h;
-# pace_fcntl is in fcntl.h;
-# pace_fseek, pace_ftell are in stdio.h;
-# pace_lseek in unistd.h;
-# pace_rewind is in stdio.h;
-POSIX_FM_FILES = \
- unistd \
- fcntl \
- stdio
-
-# POSIX_PIPE Unit of Functionality (POSIX.1)
-# pace_pipe is in unistd.h;
-POSIX_P_FILES = \
- unistd
-
-# POSIX_DEVICE_SPECIFIC Unit of Functionality (POSIX.1)
-# pace_cfgetispeed, pace_cfgetospeed, pace_cfsetispeed, pace_cfsetospeed are
-# in termios.h;
-# pace_ctermid is in stdio.h;
-# pace_isatty is in unistd.h;
-# pace_tcdrain, pace_tcflow, pace_tcflush, pace_tcgetattr, pace_tcsendbreak,
-# pace_tcsetattr are in termios.h;
-# pace_ttyname is in unistd.h;
-POSIX_DS_FILES = \
- termios \
- stdio \
- unistd
-
-# POSIX_SYSTEM_DATABASE Unit of Functionality (POSIX.1)
-# pace_getgrgid, pace_getgrnam, pace_getpwnam, pace_getpwuid are in grp.h;
-POSIX_SD_FILES = \
- grp
-
-# POSIX_C_LANG_SUPPORT Unit of Functionality (POSIX.1)
-# Character handling functions (e.g., isalnum, toupper) are in ctype.h;
-# Mathematics functions (e.g., acos, tanh) are in math.h;
-# Non-local jump functions (i.e., longjmp, setjmp) are in setjmp.h;
-# General utility functions (i.e., abs, srand) are in stdlib.h;
-# String handling functions (i.e., strcat, strtok) are in string.h;
-# Date and Time functions (i.e., asctime, tzset) are in time.h;
-POSIX_CLS_FILES = \
- ctype \
- math \
- setjmp \
- stdlib \
- time
-
-# _POSIX_JOB_CONTROL Unit of Functionality (POSIX.1)
-# pace_setpgid is in unistd.h;
-# pace_tcgetpgrp, pace_tcsetpgrp are in termios.h
-_POSIX_JC_FILES = \
- unistd \
- termios
-
-# POSIX_USER_GROUPS_R Unit of Functionality (POSIX.1)
-# pace_getlogin_r is in unistd.h;
-POSIX_UGR_FILES = \
- unistd
-
-# POSIX_FILE_LOCKING Unit of Functionality (POSIX.1)
-# pace_flockfile, pace_ftrylockfile, pace_funlockfile, pace_getc_unlocked,
-# pace_getchar_unlocked, pace_putc_unlocked, pace_putchar_unlocked are in
-# stdio.h;
-POSIX_FL_FILES = \
- stdio
-
-# POSIX_C_LANG_SUPPORT_R Unit of Functionality (POSIX.1)
-# pace_asctime_r, pace_ctime_r, pace_gmtime_r, pace_localtime_r are in time.h;
-# pace_rand_r is in stdlib.h;
-# pace_strtok_r is in string.h;
-# pace_readdir_r is in dirent.h;
-POSIX_CLSR_FILES = \
- time \
- stdlib \
- string \
- dirent
-
-# POSIX_SYSTEM_DATABASE_R Unit of Functionality (POSIX.1)
-# pace_getgrgid_r, pace_getgrnam_r are in grp.h;
-# pace_getpwnam_r, pace_getpwuid_r are in pwd.h;
-POSIX_SDR_FILES = \
- grp \
- pwd
-
-#----------------------------------------------------------------------------
-# Include macros and targets
-#----------------------------------------------------------------------------
-
-include $(ACE_ROOT)/include/makeinclude/wrapper_macros.GNU
-
-INCLDIRS += -I$(PACE_ROOT)
-
-####
-#### Build customization.
-####
-ifndef PACE_COMPONENTS
- #### Do we want PACE subsets as below? If so, we need to add the
- #### documentation referenced below as well.
- #### Please see docs/PACE-subsets.html for documentation. ??
- PACE_COMPONENTS = \
- Pace \
- Config \
- Sys
- CFLAGS += -DPACE_HAS_ALL_POSIX_FUNCS
-endif # PACE_COMPONENTS
-
-ifeq (FOR_ACE,$(PACE_COMPONENTS))
- #### These PACE components are necessary to support ACE.
- override PACE_COMPONENTS = \
- Pace \
- Config \
- Sys
- CFLAGS += -DPACE_HAS_ALL_POSIX_FUNCS
-else # ! FOR_ACE
- #### Is there anything in PACE that ACE doesn't need? Probably not
-endif # ! FOR_ACE
-
-####
-#### PACE_COMPONENTS support.
-####
-ifneq (,$(findstring Pace,$(PACE_COMPONENTS)))
- FILES += $(PACE_FILES)
-endif # Pace
-
-ifneq (,$(findstring Config,$(PACE_COMPONENTS)))
- FILES += $(CONFIG_FILES)
-endif # Config
-
-ifneq (,$(findstring Sys,$(PACE_COMPONENTS)))
- FILES += $(SYS_FILES)
-endif # Sys
-
-ifneq (,$(findstring Posix_sp,$(PACE_COMPONENTS)))
- FILES = $(POSIX_SP_FILES)
- LIB = libPACE_SP.a
- SHLIB = libPACE_SP.$(SOEXT)
- CFLAGS += -DPACE_HAS_POSIX_SP_UOF
-endif # Single Process
-
-ifneq (,$(findstring Posix_mp,$(PACE_COMPONENTS)))
- FILES = $(POSIX_MP_FILES)
- LIB = libPACE_MP.a
- SHLIB = libPACE_MP.$(SOEXT)
- CFLAGS += -DPACE_HAS_POSIX_MP_UOF
-endif # Multi Process
-
-ifneq (,$(findstring Posix_sig,$(PACE_COMPONENTS)))
- FILES = $(POSIX_SIG_FILES)
- LIB = libPACE_S.a
- SHLIB = libPACE_S.$(SOEXT)
- CFLAGS += -DPACE_HAS_POSIX_SIG_UOF
-endif # Signals
-
-ifneq (,$(findstring Posix_usg,$(PACE_COMPONENTS)))
- FILES = $(POSIX_UG_FILES)
- LIB = libPACE_UG.a
- SHLIB = libPACE_UG.$(SOEXT)
- CFLAGS += -DPACE_HAS_POSIX_UG_UOF
-endif # User Groups
-
-ifneq (,$(findstring Posix_fs,$(PACE_COMPONENTS)))
- FILES = $(POSIX_FS_FILES)
- LIB = libPACE_FS.a
- SHLIB = libPACE_FS.$(SOEXT)
- CFLAGS += -DPACE_HAS_POSIX_FS_UOF
-endif # File System
-
-ifneq (,$(findstring Posix_fa,$(PACE_COMPONENTS)))
- FILES = $(POSIX_FA_FILES)
- LIB = libPACE_FA.a
- SHLIB = libPACE_FA.$(SOEXT)
- CFLAGS += -DPACE_HAS_POSIX_FA_UOF
-endif # File Attributes
-
-ifneq (,$(findstring Posix_fif,$(PACE_COMPONENTS)))
- FILES = $(POSIX_F_FILES)
- LIB = libPACE_F.a
- SHLIB = libPACE_F.$(SOEXT)
- CFLAGS += -DPACE_HAS_POSIX_F_UOF
-endif # Fifo
-
-ifneq (,$(findstring Posix_di,$(PACE_COMPONENTS)))
- FILES = $(POSIX_DI_FILES)
- LIB = libPACE_DI.a
- SHLIB = libPACE_DI.$(SOEXT)
- CFLAGS += -DPACE_HAS_POSIX_DI_UOF
-endif # Device Input/Output
-
-ifneq (,$(findstring Posix_fm,$(PACE_COMPONENTS)))
- FILES = $(POSIX_FM_FILES)
- LIB = libPACE_FM.a
- SHLIB = libPACE_FM.$(SOEXT)
- CFLAGS += -DPACE_HAS_POSIX_FM_UOF
-endif # File Descriptor Management
-
-ifneq (,$(findstring Posix_p,$(PACE_COMPONENTS)))
- FILES = $(POSIX_P_FILES)
- LIB = libPACE_P.a
- SHLIB = libPACE_P.$(SOEXT)
- CFLAGS += -DPACE_HAS_POSIX_P_UOF
-endif # Pipe
-
-ifneq (,$(findstring Posix_ds,$(PACE_COMPONENTS)))
- FILES = $(POSIX_DS_FILES)
- LIB = libPACE_DS.a
- SHLIB = libPACE_DS.$(SOEXT)
- CFLAGS += -DPACE_HAS_POSIX_DS_UOF
-endif # Device Specific
-
-ifneq (,$(findstring Posix_sd,$(PACE_COMPONENTS)))
- FILES = $(POSIX_SD_FILES)
- LIB = libPACE_SD.a
- SHLIB = libPACE_SD.$(SOEXT)
- CFLAGS += -DPACE_HAS_POSIX_SD_UOF
-endif # System Database
-
-ifneq (,$(findstring Posix_cls,$(PACE_COMPONENTS)))
- FILES = $(POSIX_CLS_FILES)
- LIB = libPACE_CLS.a
- SHLIB = libPACE_CLS.$(SOEXT)
- CFLAGS += -DPACE_HAS_POSIX_CLS_UOF
-endif # C Language Support
-
-ifneq (,$(findstring Posix_jc,$(PACE_COMPONENTS)))
- FILES = $(_POSIX_JC_FILES)
- LIB = libPACE_JC.a
- SHLIB = libPACE_JC.$(SOEXT)
- CFLAGS += -DPACE_HAS_POSIX_JC_UOF
-endif # Job Control
-
-ifneq (,$(findstring Posix_ugr,$(PACE_COMPONENTS)))
- FILES = $(POSIX_UGR_FILES)
- LIB = libPACE_UGR.a
- SHLIB = libPACE_UGR.$(SOEXT)
- CFLAGS += -DPACE_HAS_POSIX_UGR_UOF
-endif # User Groups - Reentrant
-
-ifneq (,$(findstring Posix_fl,$(PACE_COMPONENTS)))
- FILES = $(POSIX_FL_FILES)
- LIB = libPACE_FL.a
- SHLIB = libPACE_FL.$(SOEXT)
- CFLAGS += -DPACE_HAS_POSIX_FL_UOF
-endif # File Locking
-
-ifneq (,$(findstring Posix_clr,$(PACE_COMPONENTS)))
- FILES = $(POSIX_CLSR_FILES)
- LIB = libPACE_CLSR.a
- SHLIB = libPACE_CLSR.$(SOEXT)
- CFLAGS += -DPACE_HAS_POSIX_CLSR_UOF
-endif # C Language Support - Reentrant
-
-ifneq (,$(findstring Posix_sr,$(PACE_COMPONENTS)))
- FILES = $(POSIX_SDR_FILES)
- LIB = libPACE_SDR.a
- SHLIB = libPACE_SDR.$(SOEXT)
- CFLAGS += -DPACE_HAS_POSIX_SDR_UOF
-endif # System Database - Reentrant
-
-LSRC = $(addsuffix .cpp,$(FILES))
-
-BUILD += PACE_COMPONENTS
-
-#### Setting PACELIB to null allows it to be used for building shared
-#### libraries, including libPACE.$(SOEXT,) on certain platforms.
-PACELIB =
-
-include $(ACE_ROOT)/include/makeinclude/macros.GNU
-include $(ACE_ROOT)/include/makeinclude/rules.common.GNU
-include $(ACE_ROOT)/include/makeinclude/rules.nonested.GNU
-include $(ACE_ROOT)/include/makeinclude/rules.lib.GNU
-#### Disable installs in this ($(ACE_ROOT)/pace/pace) directory, because this
-#### is the (default) destination of installs anyways. This line prevents
-#### creation of a link from the PACE library to itself when the build of
-#### the PACE library fails.
-INSTALL =
-include $(ACE_ROOT)/include/makeinclude/rules.local.GNU
-
-ifndef PACE_ROOT
- PACE_ROOT = $(ACE_ROOT)/PACE
-endif # ! PACE_ROOT
-
-include $(PACE_ROOT)/include/makeinclude/rules.common.GNU
-
-ifndef static_libs_only
- ifndef shared_libs_only
- static_libs_only = 1
- endif # ! shared_libs_only
-endif # ! static_libs_only
-
-# If we are inlining the PACE functions then we need to define
-# PACE_HAS_INLINE. Inlining is the default.
-ifndef inline
- CFLAGS += -DPACE_HAS_INLINE
-endif # ! inline
-
-ifeq (1,$(inline))
- CFLAGS += -DPACE_HAS_INLINE
-endif # inline
-
-#----------------------------------------------------------------------------
-# Local targets
-#----------------------------------------------------------------------------
-
-.PHONY: PACE_COMPONENTS
-PACE_COMPONENTS:
- @sh $(ACE_ROOT)/bin/ace_components --pace --set ' $(PACE_COMPONENTS) '
-
-realclean:
- @sh $(ACE_ROOT)/bin/ace_components --pace --remove
-
-# AIX template compilation speedup hack
-# Not added for PACE - can always be added later if needed
-
-#----------------------------------------------------------------------------
-# Dependencies
-#----------------------------------------------------------------------------
-# DO NOT DELETE THIS LINE -- g++dep uses it.
-# DO NOT PUT ANYTHING AFTER THIS LINE, IT WILL GO AWAY.
-
-
-
-# IF YOU PUT ANYTHING HERE IT WILL GO AWAY
diff --git a/PACE/pace/Makefile.am b/PACE/pace/Makefile.am
deleted file mode 100644
index 65d64169da5..00000000000
--- a/PACE/pace/Makefile.am
+++ /dev/null
@@ -1,64 +0,0 @@
-##---------------------------------------------------------------------------
-## $Id$
-##
-## Makefile for the PACE C library
-##
-##---------------------------------------------------------------------------
-
-##
-## Process this file with automake to create Makefile.in
-##
-
-## The number in AUTOMAKE_OPTIONS is the minimum required version automake
-## needed to process this file.
-AUTOMAKE_OPTIONS = 1.4
-
-SUBDIRS = \
- @SUBDIRS@
-
-DESTDIRS = \
- config \
- emulation \
- man \
- posix \
- sys \
- vxworks \
- win32
-
-PACE_LIB = @PACE_LIB@
-
-lib_LTLIBRARIES = libPACE.la
-libPACE_la_LIBADD = $(PACE_LIB)
-
-pkginclude_HEADERS = \
- aio.h \
- assert.h \
- ctype.h \
- dirent.h \
- errno.h \
- fcntl.h \
- grp.h \
- limits.h \
- locale.h \
- math.h \
- mqueue.h \
- pthread.h \
- pwd.h \
- sched.h \
- semaphore.h \
- setjmp.h \
- signal.h \
- stddef.h \
- stdio.h \
- stdlib.h \
- string.h \
- termios.h \
- time.h \
- unistd.h \
- utime.h
-
-## Clean up some additional files/directories possibly created during
-## the configure script tests.
-clean-local:
- -rm -f *.bak *.rpo *.sym lib*.*_pure_* Makefile.old core
- -rm -rf ptrepository Templates.DB gcctemp.c gcctemp so_locations
diff --git a/PACE/pace/aio.h b/PACE/pace/aio.h
deleted file mode 100644
index f9d8be32a3c..00000000000
--- a/PACE/pace/aio.h
+++ /dev/null
@@ -1,125 +0,0 @@
-/* $Id$
-
- * ============================================================================
- *
- * = LIBRARY
- * pace
- *
- * = FILENAME
- * pace/aio.h
- *
- * = AUTHOR
- * Luther Baker
- *
- * ============================================================================ */
-
-#ifndef PACE_AIO_H
-#define PACE_AIO_H
-
-#include "pace/config/defines.h"
-
-#if (PACE_HAS_POSIX)
-# include "pace/posix/aio.h"
-#elif (PACE_VXWORKS)
-# include "pace/vxworks/aio.h"
-#elif (PACE_WIN32)
-# include "pace/win32/aio.h"
-#endif
-
-#if defined (PACE_HAS_CPLUSPLUS)
-extern "C" {
-#endif /* PACE_HAS_CPLUSPLUS */
-
- /**
- PACE's implementation of the POSIX function aio_cancel.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), section 6.7.7.
- */
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
- PACE_Export PACE_INLINE int pace_aio_cancel (PACE_HANDLE fildes,
- pace_aiocb * aiocb);
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
- /**
- PACE's implementation of the POSIX function aio_error.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), section 6.7.5.
- */
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
- PACE_Export PACE_INLINE int pace_aio_error (const pace_aiocb * aiocbp);
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
- /**
- PACE's implementation of the POSIX function aio_fsync.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), section 6.7.9.
- */
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
- PACE_Export PACE_INLINE int pace_aio_fsync (int op, pace_aiocb * aiocbp);
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
- /**
- PACE's implementation of the POSIX function aio_read.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), section 6.7.2.
- */
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
- PACE_Export PACE_INLINE int pace_aio_read (pace_aiocb * aiocbp);
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
- /**
- PACE's implementation of the POSIX function aio_return.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), section 6.7.6.
- */
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
- PACE_Export PACE_INLINE int pace_aio_return (pace_aiocb * aiocbp);
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
- /**
- PACE's implementation of the POSIX function aio_suspend.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), section 6.7.8.
- */
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
- PACE_Export PACE_INLINE int pace_aio_suspend(const pace_aiocb * const list[],
- int nent,
- const pace_timespec * timeout);
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
- /**
- PACE's implementation of the POSIX function aio_write.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), section 6.7.3.
- */
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
- PACE_Export PACE_INLINE int pace_aio_write (pace_aiocb * aiocbp);
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
- /**
- PACE's implementation of the POSIX function lio_listio.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), section 6.7.4.
- */
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
- PACE_Export PACE_INLINE int pace_lio_listio (int mode,
- pace_aiocb * const list[],
- int nent,
- pace_sigevent * sig);
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if defined (PACE_HAS_INLINE)
-# if (PACE_HAS_POSIX)
-# include "pace/posix/aio.inl"
-# elif (PACE_VXWORKS)
-# include "pace/vxworks/aio.inl"
-# elif (PACE_WIN32)
-# include "pace/win32/aio.inl"
-# endif
-#endif /* PACE_HAS_INLINE */
-
-#if defined (PACE_HAS_CPLUSPLUS)
-}
-#endif /* PACE_HAS_CPLUSPLUS */
-
-#endif /* PACE_AIO_H */
diff --git a/PACE/pace/assert.h b/PACE/pace/assert.h
deleted file mode 100644
index 00c5dff1180..00000000000
--- a/PACE/pace/assert.h
+++ /dev/null
@@ -1,64 +0,0 @@
-/* $Id$ -*- C -*-
-
- * ============================================================================
- *
- * = LIBRARY
- * pace
- *
- * = FILENAME
- * pace/assert.h
- *
- * = AUTHOR
- * Joe Hoffert
- *
- * =========================================================================== */
-
-#ifndef PACE_ASSERT_H
-#define PACE_ASSERT_H
-
-#include "pace/config/defines.h"
-
-#if (PACE_HAS_POSIX)
-# include "pace/posix/assert.h"
-#elif (PACE_VXWORKS)
-# include "pace/vxworks/assert.h"
-#elif (PACE_WIN32)
-# include "pace/win32/assert.h"
-#endif
-
-#if defined (PACE_HAS_CPLUSPLUS)
-extern "C" {
-#endif /* PACE_HAS_CPLUSPLUS */
-
- /**
- PACE's implementation of the POSIX macro assert.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 8.1.
-
- Use a macro because assert uses __FILE__ and __LINE__, which
- would not be useful with an inline function.
- */
-
-#if (PACE_HAS_POSIX_MP_UOF)
-#if defined (PACE_NDEBUG)
-# define pace_assert(X)
-#else /* ! PACE_NDEBUG */
-# define pace_assert(X) assert (X)
-#endif /* ! PACE_NDEBUG */
-#endif /* PACE_HAS_POSIX_MP_UOF */
-
-#if defined (PACE_HAS_INLINE)
-# if (PACE_HAS_POSIX)
-# include "pace/posix/assert.inl"
-# elif (PACE_VXWORKS)
-# include "pace/vxworks/assert.inl"
-# elif (PACE_WIN32)
-# include "pace/win32/assert.inl"
-# endif
-#endif /* PACE_HAS_INLINE */
-
-# if defined (PACE_HAS_CPLUSPLUS)
-}
-# endif /* PACE_HAS_CPLUSPLUS */
-
-#endif /* PACE_ASSERT_H */
diff --git a/PACE/pace/config/compiler.h b/PACE/pace/config/compiler.h
deleted file mode 100644
index 92e25c97a05..00000000000
--- a/PACE/pace/config/compiler.h
+++ /dev/null
@@ -1,69 +0,0 @@
-/* $Id$
-
- * ============================================================================
- *
- * = LIBRARY
- * pace
- *
- * = FILENAME
- * pace/config/compiler.h
- *
- * = AUTHOR
- * Luther Baker
- *
- * ============================================================================ */
-
-#ifndef PACE_CONFIG_COMPILER_H
-#define PACE_CONFIG_COMPILER_H
-
-#if defined (__cplusplus)
-# define PACE_HAS_CPLUSPLUS __cplusplus
-# if defined (PACE_HAS_INLINE)
-# define PACE_INLINE inline
-# else
-# define PACE_INLINE
-# endif /* ! PACE_HAS_INLINE */
-#else /* ! __cplusplus */
-/* If PACE_HAS_INLINE is defined then we need the PACE functions to be
- * static. Otherwise, we want PACE_INLINE to be defined as nothing.
- */
-# if defined (PACE_HAS_INLINE)
-# define PACE_INLINE static
-# else
-# define PACE_INLINE
-# endif /* ! PACE_HAS_INLINE */
-#endif /* ! __cplusplus */
-
-#if defined (PACE_HAS_INLINE) && defined (__GNUC__) && !(PACE_LYNXOS)
-# define PACE_BROKEN_INLINE inline
-#else
-# define PACE_BROKEN_INLINE
-#endif /* PACE_HAS_INLINE */
-
-/* ============================================================================
- * Compiler Silencing macros
- *
- * Some compilers complain about parameters that are not used. This macro
- * should keep them quiet.
- * ============================================================================
- */
-
-#if defined (ghs) || \
- defined (__GNUC__) || \
- defined (__hpux) || \
- defined (__sgi) || \
- defined (__DECCXX) || \
- defined (__KCC) || \
- defined (__rational__) \
- || (__USLC__)
-/* Some compilers complain about "statement with no effect" with (a).
- * This eliminates the warnings, and no code is generated for the null
- * conditional statement. NOTE: that may only be true if -O is enabled,
- * such as with GreenHills (ghs) 1.8.8.
- */
-# define PACE_UNUSED_ARG(a) {if (&a) { /* null */ }}
-#else /* ! ghs || __GNUC__ || ..... */
-# define PACE_UNUSED_ARG(a) (a)
-#endif /* ! ghs || __GNUC__ || ..... */
-
-#endif /* PACE_CONFIG_COMPILER_H */
diff --git a/PACE/pace/config/config.h b/PACE/pace/config/config.h
deleted file mode 100644
index fb0d0b4c760..00000000000
--- a/PACE/pace/config/config.h
+++ /dev/null
@@ -1,221 +0,0 @@
-/* $Id$
-
- * ============================================================================
- *
- * = LIBRARY
- * pace
- *
- * = FILENAME
- * pace/config/config.h
- *
- * = AUTHOR
- * Luther Baker
- *
- * ============================================================================ */
-
-#ifndef PACE_CONFIG_CONFIG_H
-#define PACE_CONFIG_CONFIG_H
-
-#if !defined (PACE_HAS_POSIX_C_SOURCE)
-# if defined (_POSIX_C_SOURCE)
-# define PACE_HAS_POSIX_C_SOURCE _POSIX_C_SOURCE
-# endif /* _POSIX_C_SOURCE */
-#endif /* ! PACE_HAS_POSIX_C_SOURCE */
-
-#if !defined (PACE_HAS_EXTENSIONS)
-# if defined (__EXTENSIONS__)
-# define PACE_HAS_EXTENSIONS __EXTENSIONS__
-# endif /* __EXTENSIONS__ */
-#endif /* ! PACE_HAS_EXTENSIONS */
-
-#if !defined (PACE_HAS_REENTRANT)
-# if defined (PACE_LINUX)
-# ifdef __USE_POSIX
-# define PACE_HAS_REENTRANT 1
-# else /* ! __USE_POSIX */
-# endif /* ! __USE_POSIX */
-# elif defined (PACE_LYNXOS)
-/* LynxOS uses _POSIX_REENTRANT_FUNCTIONS, but not _REENTRANT */
-# elif defined (PACE_SUNOS)
-# if defined (__EXTENSIONS__) || defined (_REENTRANT) || \
- (_POSIX_C_SOURCE - 0 >= 199506L)
-# define PACE_HAS_REENTRANT 1
-# else /* ! __EXTENSIONS__ && ! _REENTRANT && _POSIX_C_SOURCE < 199506L */
-# endif /* ! __EXTENSIONS__ && ! _REENTRANT && _POSIX_C_SOURCE < 199506L */
-# else /* other POSIX */
-# define PACE_HAS_REENTRANT 1
-# endif /* other POSIX */
-#endif /* ! PACE_HAS_REENTRANT */
-
-
-#if !defined (PACE_HAS_POSIX_PTHREAD_SEMANTICS)
-# if defined (_POSIX_PTHREAD_SEMANTICS)
-# define PACE_HAS_POSIX_PTHREAD_SEMANTICS _POSIX_PTHREAD_SEMANTICS
-# endif /* _POSIX_PTHREAD_SEMANTICS */
-#endif /* ! PACE_HAS_POSIX_PTHREAD_SEMANTICS */
-
-
-#if PACE_HAS_POSIX == PACE_LYNXOS
-# define PACE_NONCONST_ARG_CAST(TYPE) (TYPE)
-# define PACE_VOIDSTARTSTAR_ARG_CAST(TYPE) (TYPE)
-# define PACE_AIO_SUSPEND_LIST_ARG_CAST (struct aiocb **)
-# define PACE_THR_ENTRY_CAST
-#elif PACE_HAS_POSIX == DIGITAL_UNIX
-# define PACE_NONCONST_ARG_CAST(TYPE) (TYPE)
-# define PACE_VOIDSTARTSTAR_ARG_CAST(TYPE)
-# define PACE_AIO_SUSPEND_LIST_ARG_CAST (const struct aiocb **)
-# define PACE_THR_ENTRY_CAST
-#elif PACE_LACKS_POSIX == PACE_VXWORKS
-# define PACE_NONCONST_ARG_CAST(TYPE) (TYPE)
-# define PACE_VOIDSTARTSTAR_ARG_CAST(TYPE)
-# define PACE_AIO_SUSPEND_LIST_ARG_CAST (const struct aiocb **)
-# define PACE_THR_ENTRY_CAST(TYPE) (TYPE)
-#else /* ! PACE_LYNXOS */
-# define PACE_NONCONST_ARG_CAST(TYPE)
-# define PACE_VOIDSTARTSTAR_ARG_CAST(TYPE)
-# define PACE_AIO_SUSPEND_LIST_ARG_CAST
-# define PACE_THR_ENTRY_CAST
-#endif /* ! PACE_LYNXOS */
-
-/* Adding appropriate macros for the different POSIX units of
- functionality that PACE supports.
- These macros define which POSIX functions get included when
- PACE is built. The functions are grouped according to POSIX
- Units of Functionality per the POSIX document ?? pp. ??.
- The following macros correspond to the following POSIX
- Unit of Functionality:
-
- PACE_HAS_POSIX_SOCK_UOF -> POSIX Socket UoF
- PACE_HAS_POSIX_SP_UOF -> POSIX Single Process UoF
- PACE_HAS_POSIX_MP_UOF -> POSIX Multiple Process UoF
- PACE_HAS_POSIX_SIG_UOF -> POSIX Signals UoF
- PACE_HAS_POSIX_UG_UOF -> POSIX User Groups UoF
- PACE_HAS_POSIX_FS_UOF -> POSIX File System UoF
- PACE_HAS_POSIX_FA_UOF -> POSIX File Attributes UoF
- PACE_HAS_POSIX_F_UOF -> POSIX FIFO UoF
- PACE_HAS_POSIX_DI_UOF -> POSIX Device I/O UoF
- PACE_HAS_POSIX_FM_UOF -> POSIX File Descriptor Management UoF
- PACE_HAS_POSIX_P_UOF -> POSIX Pipe UoF
- PACE_HAS_POSIX_DS_UOF -> POSIX Device Specific UoF
- PACE_HAS_POSIX_SD_UOF -> POSIX System Database UoF
- PACE_HAS_POSIX_CLS_UOF -> POSIX C Language Support UoF
- PACE_HAS_POSIX_JC_UOF -> POSIX Job Control UoF
- PACE_HAS_POSIX_UGR_UOF -> POSIX User Groups (Reentrant) UoF
- PACE_HAS_POSIX_FL_UOF -> POSIX File Locking UoF
- PACE_HAS_POSIX_CLSR_UOF -> POSIX C Language Support (Reentrant) UoF
- PACE_HAS_POSIX_SDR_UOF -> POSIX System Database (Reentrant) UoF
- PACE_HAS_POSIX_NONUOF_FUNCS -> Any POSIX function in PACE that is not in
- one of the above units of functionality.
- */
-#if PACE_HAS_ALL_POSIX_FUNCS
-# define PACE_HAS_POSIX_UOF 1
-# define PACE_HAS_POSIX_SP_UOF 1
-# define PACE_HAS_POSIX_MP_UOF 1
-# define PACE_HAS_POSIX_SIG_UOF 1
-# define PACE_HAS_POSIX_UG_UOF 1
-# define PACE_HAS_POSIX_FS_UOF 1
-# define PACE_HAS_POSIX_FA_UOF 1
-# define PACE_HAS_POSIX_F_UOF 1
-# define PACE_HAS_POSIX_DI_UOF 1
-# define PACE_HAS_POSIX_FM_UOF 1
-# define PACE_HAS_POSIX_P_UOF 1
-# define PACE_HAS_POSIX_DS_UOF 1
-# define PACE_HAS_POSIX_SD_UOF 1
-# define PACE_HAS_POSIX_CLS_UOF 1
-# define PACE_HAS_POSIX_JC_UOF 1
-# define PACE_HAS_POSIX_UGR_UOF 1
-# define PACE_HAS_POSIX_FL_UOF 1
-# define PACE_HAS_POSIX_CLSR_UOF 1
-# define PACE_HAS_POSIX_SDR_UOF 1
-# define PACE_HAS_POSIX_NONUOF_FUNCS 1
-#else
-# if !defined PACE_HAS_POSIX_SOCK_UOF
-# define PACE_HAS_POSIX_SOCK_UOF 0
-# endif /* ! PACE_HAS_POSIX_SOCK_UOF */
-# if !defined PACE_HAS_POSIX_SP_UOF
-# define PACE_HAS_POSIX_SP_UOF 0
-# endif /* ! PACE_HAS_POSIX_SP_UOF */
-# if !defined PACE_HAS_POSIX_MP_UOF
-# define PACE_HAS_POSIX_MP_UOF 0
-# endif /* ! PACE_HAS_POSIX_MP_UOF */
-# if !defined PACE_HAS_POSIX_SIG_UOF
-# define PACE_HAS_POSIX_SIG_UOF 0
-# endif /* ! PACE_HAS_POSIX_SIG_UOF */
-# if !defined PACE_HAS_POSIX_UG_UOF
-# define PACE_HAS_POSIX_UG_UOF 0
-# endif /* ! PACE_HAS_POSIX_UG_UOF */
-# if !defined PACE_HAS_POSIX_FS_UOF
-# define PACE_HAS_POSIX_FS_UOF 0
-# endif /* ! PACE_HAS_POSIX_FS_UOF */
-# if !defined PACE_HAS_POSIX_FA_UOF
-# define PACE_HAS_POSIX_FA_UOF 0
-# endif /* ! PACE_HAS_POSIX_FA_UOF */
-# if !defined PACE_HAS_POSIX_F_UOF
-# define PACE_HAS_POSIX_F_UOF 0
-# endif /* ! PACE_HAS_POSIX_F_UOF */
-# if !defined PACE_HAS_POSIX_DI_UOF
-# define PACE_HAS_POSIX_DI_UOF 0
-# endif /* ! PACE_HAS_POSIX_DI_UOF */
-# if !defined PACE_HAS_POSIX_FM_UOF
-# define PACE_HAS_POSIX_FM_UOF 0
-# endif /* ! PACE_HAS_POSIX_FM_UOF */
-# if !defined PACE_HAS_POSIX_P_UOF
-# define PACE_HAS_POSIX_P_UOF 0
-# endif /* ! PACE_HAS_POSIX_P_UOF */
-# if !defined PACE_HAS_POSIX_DS_UOF
-# define PACE_HAS_POSIX_DS_UOF 0
-# endif /* ! PACE_HAS_POSIX_DS_UOF */
-# if !defined PACE_HAS_POSIX_SD_UOF
-# define PACE_HAS_POSIX_SD_UOF 0
-# endif /* ! PACE_HAS_POSIX_SD_UOF */
-# if !defined PACE_HAS_POSIX_CLS_UOF
-# define PACE_HAS_POSIX_CLS_UOF 0
-# endif /* ! PACE_HAS_POSIX_CLS_UOF */
-# if !defined PACE_HAS_POSIX_JC_UOF
-# define PACE_HAS_POSIX_JC_UOF 0
-# endif /* ! PACE_HAS_POSIX_JC_UOF */
-# if !defined PACE_HAS_POSIX_UGR_UOF
-# define PACE_HAS_POSIX_UGR_UOF 0
-# endif /* ! PACE_HAS_POSIX_UGR_UOF */
-# if !defined PACE_HAS_POSIX_FL_UOF
-# define PACE_HAS_POSIX_FL_UOF 0
-# endif /* ! PACE_HAS_POSIX_FL_UOF */
-# if !defined PACE_HAS_POSIX_CLSR_UOF
-# define PACE_HAS_POSIX_CLSR_UOF 0
-# endif /* ! PACE_HAS_POSIX_CLSR_UOF */
-# if !defined PACE_HAS_POSIX_SDR_UOF
-# define PACE_HAS_POSIX_SDR_UOF 0
-# endif /* ! PACE_HAS_POSIX_SDR_UOF */
-# if !defined PACE_HAS_POSIX_NONUOF_FUNCS
-# define PACE_HAS_POSIX_NONUOF_FUNCS 0
-# endif /* ! PACE_HAS_POSIX_NONUOF_FUNCS */
-#endif /* PACE_HAS_ALL_POSIX_FUNCS */
-
-#if (PACE_WIN32)
-
-# if defined (PACE_AS_STATIC_LIBS)
-# if !defined (PACE_HAS_DLL)
-# define PACE_HAS_DLL 0
-# endif /* ! PACE_HAS_DLL */
-# else
-# if !defined (PACE_HAS_DLL)
-# define PACE_HAS_DLL 1
-# endif /* ! PACE_HAS_DLL */
-# endif /* PACE_AS_STATIC_LIBS */
-
-#define PACE_Proper_Export_Flag __declspec (dllexport)
-#define PACE_Proper_Import_Flag __declspec (dllimport)
-
-#endif /* PACE_WIN32 */
-
-#if defined (PACE_HAS_DLL) && (PACE_HAS_DLL == 1)
-# if defined (PACE_BUILD_DLL)
-# define PACE_Export PACE_Proper_Export_Flag
-# else /* PACE_BUILD_DLL */
-# define PACE_Export PACE_Proper_Import_Flag
-# endif /* PACE_BUILD_DLL */
-#else /* PACE_HAS_DLL != 1 */
-# define PACE_Export
-#endif /* PACE_HAS_DLL != 1 */
-
-#endif /* PACE_CONFIG_CONFIG_H */
diff --git a/PACE/pace/config/constants.h b/PACE/pace/config/constants.h
deleted file mode 100644
index 885fc104987..00000000000
--- a/PACE/pace/config/constants.h
+++ /dev/null
@@ -1,244 +0,0 @@
-/* $Id$
-
- * ============================================================================
- *
- * = LIBRARY
- * pace
- *
- * = FILENAME
- * constants.h
- *
- * = AUTHOR
- * Luther Baker
- *
- * ============================================================================ */
-
-#ifndef PACE_CONFIG_CONSTANTS_H
-#define PACE_CONFIG_CONSTANTS_H
-
-#define PACE_ONE_SECOND_IN_MSECS 1000L
-#define PACE_ONE_SECOND_IN_USECS 1000000L
-#define PACE_ONE_SECOND_IN_NSECS 1000000000L
-
-/* ============================================================================
- * Posix minimum values
- * ============================================================================ */
-
-/* The number of I/O operations that can be specified in a list I/O call. */
-# if defined (_POSIX_AIO_LISTIO_MAX)
-# define PACE_POSIX_AIO_LISTIO_MAX _POSIX_AIO_LISTIO_MAX
-# endif
-
-/* The number of outstanding asynchronous I/O operations. */
-# if defined (_POSIX_AIO_MAX)
-# define PACE_POSIX_AIO_MAX _POSIX_AIO_MAX
-# endif
-
-/* The length of the arguments for one of the exec functions, in bytes,
- * excluding environment data. */
-# if defined (_POSIX_ARG_MAX)
-# define PACE_POSIX_ARG_MAX _POSIX_ARG_MAX
-# endif
-
-/* The number of simultaneous processes per real user ID. */
-# if defined (_POSIX_CHILD_MAX)
-# define PACE_POSIX_CHILD_MAX _POSIX_CHILD_MAX
-# endif
-
-/* The number of timer expiration overruns. */
-# if defined (_POSIX_DELAYTIMER_MAX)
-# define PACE_POSIX_DELAYTIMER_MAX _POSIX_DELAYTIMER_MAX
-# endif
-
-/* The value of a file's link count. */
-# if defined (_POSIX_LINK_MAX)
-# define PACE_POSIX_LINK_MAX _POSIX_LINK_MAX
-# endif
-
-/* The size of the storage required for a login name, in bytes,
- * including the terminating NULL. */
-# if defined (_POSIX_LOGIN_NAME_MAX)
-# define PACE_POSIX_LOGIN_NAME_MAX _POSIX_LOGIN_NAME_MAX
-# endif
-
-/* The number of bytes in a terminal canonical input queue. */
-# if defined (_POSIX_MAX_CANON)
-# define PACE_POSIX_MAX_CANON _POSIX_MAX_CANON
-# endif
-
-/* The number of bytes for which space will be available in a
- * terminal input queue. */
-# if defined (_POSIX_MAX_INPUT)
-# define PACE_POSIX_MAX_INPUT _POSIX_MAX_INPUT
-# endif
-
-/* The number of message queues that can be open for a single
- * process. */
-# if defined (_POSIX_MQ_OPEN_MAX)
-# define PACE_POSIX_MQ_OPEN_MAX _POSIX_MQ_OPEN_MAX
-# endif
-
-/* The maximum number of message priorities supported by the
- * implementation. */
-# if defined (_POSIX_MQ_PRIO_MAX)
-# define PACE_POSIX_MQ_PRIO_MAX _POSIX_MQ_PRIO_MAX
-# endif
-
-/* The number of bytes in a filename. */
-# if defined (_POSIX_NAME_MAX)
-# define PACE_POSIX_NAME_MAX _POSIX_NAME_MAX
-# endif
-
-/* The number of simultaneous supplementary group IDs per process. */
-# if defined (_POSIX_NGROUPS_MAX)
-# define PACE_POSIX_NGROUPS_MAX _POSIX_NGROUPS_MAX
-# endif
-
-/* The number of files that one process can have open at one time. */
-# if defined (_POSIX_OPEN_MAX)
-# define PACE_POSIX_OPEN_MAX _POSIX_OPEN_MAX
-# endif
-
-/* The number of bytes in a pathname. */
-# if defined (_POSIX_PATH_MAX)
-# define PACE_POSIX_PATH_MAX _POSIX_PATH_MAX
-# endif
-
-/* The number of bytes that can be written atomically when writing
- * to a pipe. */
-# if defined (_POSIX_PIPE_BUF)
-# define PACE_POSIX_PIPE_BUF _POSIX_PIPE_BUF
-# endif
-
-/* The number of realtime signal numbers reserved for application use. */
-# if defined (_POSIX_RTSIG_MAX)
-# define PACE_POSIX_RTSIG_MAX _POSIX_RTSIG_MAX
-# endif
-
-/* The number of semaphores that a process may have. */
-# if defined (_POSIX_SEM_NSEMS_MAX)
-# define PACE_POSIX_SEM_NSEMS_MAX _POSIX_SEM_NSEMS_MAX
-# endif
-
-/* The maximum value a semaphore may have. */
-# if defined (_POSIX_SEM_VALUE_MAX)
-# define PACE_POSIX_SEM_VALUE_MAX _POSIX_SEM_VALUE_MAX
-# endif
-
-/* The number of queued signals that a process may send and have pending
- * at the receiver(s) at any time. */
-# if defined (_POSIX_SIGQUEUE_MAX)
-# define PACE_POSIX_SIGQUEUE_MAX _POSIX_SIGQUEUE_MAX
-# endif
-
-/* The value that can be stored in an object of type ssize_t. */
-# if defined (_POSIX_SSIZE_MAX)
-# define PACE_POSIX_SSIZE_MAX _POSIX_SSIZE_MAX
-# endif
-
-/* The number of streams that one process can have open at one time. */
-# if defined (_POSIX_STREAM_MAX)
-# define PACE_POSIX_STREAM_MAX _POSIX_STREAM_MAX
-# endif
-
-/* The number of attempts made to destroy the thread-specific data
- * values of a thread on thread exit. */
-# if defined (_POSIX_THREAD_DESTRUCTOR_ITERATIONS)
-# define PACE_POSIX_THREAD_DESTRUCTOR_ITERATIONS _POSIX_THREAD_DESTRUCTORITERATIONS
-# endif
-
-/* The number of data keys per process. */
-# if defined (_POSIX_THREAD_KEYS_MAX)
-# define PACE_POSIX_THREAD_KEYS_MAX _POSIX_THREAD_KEYS_MAX
-# endif
-
-/* The number of threads per process. */
-# if defined (_POSIX_THREAD_THREADS_MAX)
-# define PACE_POSIX_THREAD_THREADS_MAX _POSIX_THREAD_THREADS_MAX
-# endif
-
-/* The size of the storage required for a terminal device name, in bytes,
- * including the terminating NULL. */
-# if defined (_POSIX_TTY_NAME_MAX)
-# define PACE_POSIX_TTY_NAME_MAX _POSIX_TTY_NAME_MAX
-# endif
-
-/* The per-process number of times. */
-# if defined (_POSIX_TIMER_MAX)
-# define PACE_POSIX_TIMER_MAX _POSIX_TIMER_MAX
-# endif
-
-/* The maximum number of bytes supported for the name of a time zone
- * (not of the TZ variable). */
-# if defined (_POSIX_TZNAME_MAX)
-# define PACE_POSIX_TZNAME_MAX _POSIX_TZNAME_MAX
-# endif
-
-
-/* ============================================================================
- * Temporary MACROS. Correct them later.
- * ============================================================================ */
-
-#include "pace/sys/types.h"
-
-/* Tracing */
-# define PACE_DEBUG(X)
-# define PACE_LM_DEBUG PACE_stderr
-# define PACE_BEGIN_DUMP
-# define PACE_END_DUMP
-
-/* Identification for PACE.h */
-# define PACE_RCSID(X,Y,Z)
-
-/* Hooks */
-/* Dummy values */
-# define PACE_ALLOC_HOOK_DECLARE int declare_hook
-# define PACE_ALLOC_HOOK_DEFINE(X)
-
-/* Signals / ioctl / fcntl - dummy values */
-# define PACE_SIGURG 1
-# define PACE_NONBLOCK 2
-# define PACE_CLOEXEC 3
-
-/* Flags */
-/* Will not be a macro, dummy values */
-# define PACE_set_flags(X,Y) 1
-# define PACE_clr_flags(X,Y) 1
-
-/* Log Error */
-# define PACE_ERROR(X)
-
-/* Host Entries */
-# if defined (PACE_HAS_STRUCT_NETDB_DATA)
-typedef char PACE_HOSTENT_DATA[sizeof(struct hostent_data)];
-typedef char PACE_SERVENT_DATA[sizeof(struct servent_data)];
-typedef char PACE_PROTOENT_DATA[sizeof(struct protoent_data)];
-# else
-# if !defined PACE_HOSTENT_DATA_SIZE
-# define PACE_HOSTENT_DATA_SIZE (4*1024)
-# endif /* PACE_HOSTENT_DATA_SIZE */
-# if !defined PACE_SERVENT_DATA_SIZE
-# define PACE_SERVENT_DATA_SIZE (4*1024)
-# endif /*PACE_SERVENT_DATA_SIZE */
-# if !defined PACE_PROTOENT_DATA_SIZE
-# define PACE_PROTOENT_DATA_SIZE (2*1024)
-# endif /*PACE_PROTOENT_DATA_SIZE */
-typedef char PACE_HOSTENT_DATA[PACE_HOSTENT_DATA_SIZE];
-typedef char PACE_SERVENT_DATA[PACE_SERVENT_DATA_SIZE];
-typedef char PACE_PROTOENT_DATA[PACE_PROTOENT_DATA_SIZE];
-# endif /* PACE_HAS_STRUCT_NETDB_DATA */
-
-/* PACE_HAS_SIN_LEN */
-
-/* PACE_FREE */
-/* adjust later to use macros to decide how to free */
-# define PACE_FREE(X,Y) \
-X Y
-
-# define AF_ANY -1
-
-/* PACE CATCHALL */
-/* FIONREAD is used in PACE_SOCK_IO::recvv */
-/* PACE_HAS_ALLOCA is used in PACE_SOCK_IO::recvv */
-
-#endif /* PACE_CONFIG_CONSTANTS_H */
diff --git a/PACE/pace/config/defaults.h b/PACE/pace/config/defaults.h
deleted file mode 100644
index deadb92b071..00000000000
--- a/PACE/pace/config/defaults.h
+++ /dev/null
@@ -1,26 +0,0 @@
-/* $Id$
-
- * ============================================================================
- *
- * = LIBRARY
- * pace
- *
- * = FILENAME
- * defaults.h
- *
- * = AUTHOR
- * Luther Baker
- *
- * ============================================================================ */
-
-
-#ifndef PACE_CONFIG_DEFAULTS_H
-#define PACE_CONFIG_DEFAULTS_H
-
-
-/* Define the default constants for PACE. Many of these are used for
- * the PACE tests and applications. You can change these values by
- * defining the macros in your config.h file. */
-
-
-#endif /* PACE_CONFIG_DEFAULTS_H */
diff --git a/PACE/pace/config/defines.h b/PACE/pace/config/defines.h
deleted file mode 100644
index 0aabf77f21c..00000000000
--- a/PACE/pace/config/defines.h
+++ /dev/null
@@ -1,27 +0,0 @@
-/* $Id$
-
- * ============================================================================
- *
- * = LIBRARY
- * pace
- *
- * = FILENAME
- * pace/config/defines.h
- *
- * = AUTHOR
- * Luther Baker
- *
- * ============================================================================ */
-
-#ifndef PACE_CONFIG_DEFINES_H
-#define PACE_CONFIG_DEFINES_H
-
-#include "pace/config/platform.h"
-#include "pace/config/config.h"
-#include "pace/config/compiler.h"
-#include "pace/config/constants.h"
-#include "pace/config/defaults.h"
-#include "pace/config/utility.h"
-#include "pace/config/features.h"
-
-#endif /* PACE_CONFIG_DEFINES_H */
diff --git a/PACE/pace/config/features.h b/PACE/pace/config/features.h
deleted file mode 100644
index 14ea1e86607..00000000000
--- a/PACE/pace/config/features.h
+++ /dev/null
@@ -1,49 +0,0 @@
-/* $Id$
-
- * ============================================================================
- *
- * = LIBRARY
- * pace
- *
- * = FILENAME
- * pace/config/features.h
- *
- * = AUTHOR
- * Luther Baker
- *
- * ============================================================================ */
-
-#ifndef PACE_CONFIG_FEATURES_H
-#define PACE_CONFIG_FEATURES_H
-
-/* Features: Can be customized by the developer. */
-
-#if defined (WIN32)
-
-/* If using win32 .. define PACE_HAS_MFC to 1, if you want ACE to use
- * CWinThread. This should be defined, if your application uses MFC.
- * Setting applies to : building PACE
- * Runtime restrictions: MFC DLLs must be installed
- * Additonal notes : If both PACE_HAS_MFC and PACE_MT_SAFE are
- * defined, the MFC DLL (not the static lib)
- * will be used from ACE. */
-# if !defined (PACE_HAS_MFC)
-# define PACE_HAS_MFC 0
-# endif /* PACE_HAS_MFC */
-
-/* Turn off the following define if you want to disable threading.
- * Compile using multi-thread libraries.
- * Setting applies to : building PACE, linking with PACE
- * Runtime restrictions: multithreaded runtime DLL must be installed. */
-# if !defined (PACE_MT_SAFE)
-# define PACE_MT_SAFE 1
-# endif /* PACE_MT_SAFE */
-
-/* Turn on multithreading. */
-# if !defined (_MT)
-# define _MT
-# endif /* _MT */
-
-#endif /* WIN32 */
-
-#endif /* PACE_CONFIG_FEATURES_H */
diff --git a/PACE/pace/config/platform.h b/PACE/pace/config/platform.h
deleted file mode 100644
index 4dde03ea27a..00000000000
--- a/PACE/pace/config/platform.h
+++ /dev/null
@@ -1,86 +0,0 @@
-/* $Id$
-
- * ============================================================================
- *
- * = LIBRARY
- * pace
- *
- * = FILENAME
- * pace/config/platform.h
- *
- * = AUTHOR
- * Luther Baker
- *
- * ============================================================================ */
-
-#ifndef PACE_CONFIG_PLATFORM_H
-#define PACE_CONFIG_PLATFORM_H
-
-/* Be careful not to define these macros 2x. */
-/* IE: makefile or other config file. */
-/* This could create compiler warnings. */
-
-/* These platforms are POSIX compliant. */
-
-#if defined (PACE_LINUX)
-# define PACE_HAS_POSIX PACE_LINUX
-# define PACE_LYNXOS 0
-# define PACE_SUNOS 0
-# define PACE_VXWORKS 0
-# define PACE_WIN32 0
-#elif defined (PACE_LYNXOS)
-# define PACE_HAS_POSIX PACE_LYNXOS
-# define PACE_LINUX 0
-# define PACE_SUNOS 0
-# define PACE_VXWORKS 0
-# define PACE_WIN32 0
-#elif defined (PACE_OSF1)
-# define PACE_HAS_POSIX DIGITAL_UNIX
-# define PACE_LINUX 0
-# define PACE_LYNXOS 0
-# define PACE_VXWORKS 0
-# define PACE_WIN32 0
-#elif defined (PACE_SUNOS)
-# define PACE_HAS_POSIX PACE_SUNOS
-# define PACE_LINUX 0
-# define PACE_LYNXOS 0
-# define PACE_VXWORKS 0
-# define PACE_WIN32 0
-#elif defined (PACE_QNX)
-# define PACE_HAS_POSIX PACE_QNX
-# define PACE_LINUX 0
-# define PACE_SUNOS 0
-# define PACE_LYNXOS 0
-# define PACE_VXWORKS 0
-# define PACE_WIN32 0
-
-/* These platforms are NOT POSIX compliant. */
-
-/* This is really kludgy but not sure what else to do at this point.
- It appears that if PACE_HAS_POSIX is not defined (i.e., no #define
- at all of any kind) and the same goes for PACE_VXWORKS then in
- pace/config/config.h #if PACE_HAS_POSIX == PACE_LYNXOS will evaluate
- to true. I am assuming both get default values of 0.
-
- PACE_WIN32 should be defined as 0 though because pace/config/utility.h
- checks it.
- */
-
-#elif defined (PACE_VXWORKS)
-# define PACE_LACKS_POSIX PACE_VXWORKS
-# define PACE_LINUX -1
-# define PACE_LYNXOS -1
-# define PACE_SUNOS -1
-# define PACE_WIN32 0
-/* Doesn't use the makefile! */
-#elif defined (WIN32)
-# undef PACE_WIN32
-# define PACE_WIN32 2000
-# define PACE_LACKS_POSIX PACE_WIN32
-# define PACE_LINUX 0
-# define PACE_LYNXOS 0
-# define PACE_SUNOS 0
-# define PACE_VXWORKS 0
-#endif
-
-#endif /* PACE_CONFIG_PLATFORM_H */
diff --git a/PACE/pace/config/utility.h b/PACE/pace/config/utility.h
deleted file mode 100644
index 79b13e4755f..00000000000
--- a/PACE/pace/config/utility.h
+++ /dev/null
@@ -1,118 +0,0 @@
-/* $Id$
-
- * ============================================================================
- *
- * = LIBRARY
- * pace
- *
- * = FILENAME
- * pace/config/utility.h
- *
- * = AUTHOR
- * Luther Baker
- *
- * ============================================================================ */
-
-#ifndef PACE_CONFIG_UTILITY_H
-#define PACE_CONFIG_UTILITY_H
-
-/* ----------------------------------------------------------------------
- * error control
- * ---------------------------------------------------------------------- */
-
-#if defined (PACE_TRACING) && PACE_TRACING == 1
-# include <stdio.h>
-#endif
-
-#include "pace/errno.h"
-
-# define PACE_ERRNO_NO_SUPPORT_RETURN(FAILVALUE) \
-return ( (errno = ENOTSUP), FAILVALUE)
-
-# define PACE_ERRNO_NO_SUPPORT() errno=ENOTSUP
-
-/* ----------------------------------------------------------------------
- A couple useful inline functions for checking whether bits are
- enabled or disabled.
- * ---------------------------------------------------------------------- */
-
-# define PACE_POW(X) (((X) == 0)?1:(X-=1,X|=X>>1,X|=X>>2,X|=X>>4,X|=X>>8,X|=X>>16,(++X)))
-# define PACE_EVEN(NUM) (((NUM) & 1) == 0)
-# define PACE_ODD(NUM) (((NUM) & 1) == 1)
-# define PACE_BIT_ENABLED(WORD, BIT) (((WORD) & (BIT)) != 0)
-# define PACE_BIT_DISABLED(WORD, BIT) (((WORD) & (BIT)) == 0)
-# define PACE_BIT_CMP_MASK(WORD, BIT, MASK) (((WORD) & (BIT)) == MASK)
-# define PACE_SET_BITS(WORD, BITS) (WORD |= (BITS))
-# define PACE_CLR_BITS(WORD, BITS) (WORD &= ~(BITS))
-
-/* Turn a number into a string. */
-# define PACE_ITOA(X) #X
-
-/* Create a string of a server address with a "host:port" format. */
-# define PACE_SERVER_ADDRESS(H,P) H":"P
-
-/* ----------------------------------------------------------------------
- Specific for (PACE_WIN32)
- * ---------------------------------------------------------------------- */
-
-#if (PACE_WIN32)
-
-#include <windows.h>
-
-/* Perform a mapping of Win32 error numbers into POSIX errnos. */
-# define PACE_FAIL_RETURN(RESULT) do { \
- switch (GetLastError ()) { \
- case ERROR_NOT_ENOUGH_MEMORY: errno = ENOMEM; break; \
- case ERROR_FILE_EXISTS: errno = EEXIST; break; \
- case ERROR_SHARING_VIOLATION: errno = EACCES; break; \
- case ERROR_PATH_NOT_FOUND: errno = ENOENT; break; \
- } \
- return RESULT; } while (0)
-
-/* The "null" device on Win32. */
-# define PACE_DEV_NULL "nul"
-
-/* Define the pathname separator characters for Win32 (ugh). */
-# define PACE_DIRECTORY_SEPARATOR_STR "\\"
-# define PACE_DIRECTORY_SEPARATOR_CHAR '\\'
-# define PACE_LD_SEARCH_PATH "PATH"
-# define PACE_LD_SEARCH_PATH_SEPARATOR_STR ";"
-# define PACE_DLL_SUFFIX ".dll"
-# define PACE_DLL_PREFIX ""
-
-# define PACE_SYSCALL_FAILED 0xFFFFFFFF
-
-/* Turns "FALSE" into -1 */
-# define PACE_ADAPT_RETVAL(OP,RESULT) \
- ((RESULT = (OP)) == FALSE ? -1 : 0)
-
-/* If failure, sets errno before returning */
-# define PACE_WIN32CALL_RETURN(X,TYPE,FAILVALUE) \
- do { \
- TYPE pace_result_; \
- pace_result_ = (TYPE) X; \
- if (pace_result_ == FAILVALUE) \
- { \
- errno = GetLastError (); \
- } \
- return pace_result_; \
- } while (0)
-
-/* Casts return value. */
-# define PACE_OSCALL_RETURN(X,TYPE,FAILVALUE) \
- return (TYPE) X;
-
-#endif /* PACE_WIN32 */
-
-/* ----------------------------------------------------------------------
- * debug tracing
- * ---------------------------------------------------------------------- */
-
-#if defined (PACE_TRACING) && PACE_TRACING == 1
-# define PACE_TRACE(MODULE) \
-fprintf(stderr, "PACE_TRACE %s, %d, %s\n", (MODULE), __LINE__, __FILE__)
-#else
-# define PACE_TRACE(MODULE)
-#endif /* TRACING */
-
-#endif /* PACE_CONFIG_UTILITY_H */
diff --git a/PACE/pace/ctype.h b/PACE/pace/ctype.h
deleted file mode 100644
index cbca084d280..00000000000
--- a/PACE/pace/ctype.h
+++ /dev/null
@@ -1,164 +0,0 @@
-/* $Id$
-
- * ============================================================================
- *
- * = LIBRARY
- * pace
- *
- * = FILENAME
- * pace/ctype.h
- *
- * = AUTHOR
- * Luther Baker
- *
- * ============================================================================ */
-
-#ifndef PACE_CTYPE_H
-#define PACE_CTYPE_H
-
-#include "pace/config/defines.h"
-
-#if (PACE_HAS_POSIX)
-# include "pace/posix/ctype.h"
-#elif (PACE_VXWORKS)
-# include "pace/vxworks/ctype.h"
-#elif (PACE_WIN32)
-# include "pace/win32/ctype.h"
-#endif
-
-#if defined (PACE_HAS_CPLUSPLUS)
-extern "C" {
-#endif /* PACE_HAS_CPLUSPLUS */
-
- /**
- PACE's implementation of the POSIX function isalnum.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 8.1.
- */
-#if (PACE_HAS_POSIX_CLS_UOF)
- PACE_Export PACE_INLINE int pace_isalnum (int c);
-#endif /* PACE_HAS_POSIX_CLS_UOF */
-
- /**
- PACE's implementation of the POSIX function isalpha.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 8.1.
- */
-#if (PACE_HAS_POSIX_CLS_UOF)
- PACE_Export PACE_INLINE int pace_isalpha (int c);
-#endif /* PACE_HAS_POSIX_CLS_UOF */
-
- /**
- PACE's implementation of the POSIX function iscntrl.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 8.1.
- */
-#if (PACE_HAS_POSIX_CLS_UOF)
- PACE_Export PACE_INLINE int pace_iscntrl (int c);
-#endif /* PACE_HAS_POSIX_CLS_UOF */
-
- /**
- PACE's implementation of the POSIX function isdigit.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 8.1.
- */
-#if (PACE_HAS_POSIX_CLS_UOF)
- PACE_Export PACE_INLINE int pace_isdigit (int c);
-#endif /* PACE_HAS_POSIX_CLS_UOF */
-
- /**
- PACE's implementation of the POSIX function isgraph.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 8.1.
- */
-#if (PACE_HAS_POSIX_CLS_UOF)
- PACE_Export PACE_INLINE int pace_isgraph (int c);
-#endif /* PACE_HAS_POSIX_CLS_UOF */
-
- /**
- PACE's implementation of the POSIX function islower.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 8.1.
- */
-#if (PACE_HAS_POSIX_CLS_UOF)
- PACE_Export PACE_INLINE int pace_islower (int c);
-#endif /* PACE_HAS_POSIX_CLS_UOF */
-
- /**
- PACE's implementation of the POSIX function isprint.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 8.1.
- */
-#if (PACE_HAS_POSIX_CLS_UOF)
- PACE_Export PACE_INLINE int pace_isprint (int c);
-#endif /* PACE_HAS_POSIX_CLS_UOF */
-
- /**
- PACE's implementation of the POSIX function ispunct.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 8.1.
- */
-#if (PACE_HAS_POSIX_CLS_UOF)
- PACE_Export PACE_INLINE int pace_ispunct (int c);
-#endif /* PACE_HAS_POSIX_CLS_UOF */
-
- /**
- PACE's implementation of the POSIX function isspace.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 8.1.
- */
-#if (PACE_HAS_POSIX_CLS_UOF)
- PACE_Export PACE_INLINE int pace_isspace (int c);
-#endif /* PACE_HAS_POSIX_CLS_UOF */
-
- /**
- PACE's implementation of the POSIX function isupper.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 8.1.
- */
-#if (PACE_HAS_POSIX_CLS_UOF)
- PACE_Export PACE_INLINE int pace_isupper (int c);
-#endif /* PACE_HAS_POSIX_CLS_UOF */
-
- /**
- PACE's implementation of the POSIX function isxdigit.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 8.1.
- */
-#if (PACE_HAS_POSIX_CLS_UOF)
- PACE_Export PACE_INLINE int pace_isxdigit (int c);
-#endif /* PACE_HAS_POSIX_CLS_UOF */
-
- /**
- PACE's implementation of the POSIX function tolower.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 8.1.
- */
-#if (PACE_HAS_POSIX_CLS_UOF)
- PACE_Export PACE_INLINE int pace_tolower (int c);
-#endif /* PACE_HAS_POSIX_CLS_UOF */
-
- /**
- PACE's implementation of the POSIX function toupper.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 8.1.
- */
-#if (PACE_HAS_POSIX_CLS_UOF)
- PACE_Export PACE_INLINE int pace_toupper (int c);
-#endif /* PACE_HAS_POSIX_CLS_UOF */
-
-#if defined (PACE_HAS_INLINE)
-# if (PACE_HAS_POSIX)
-# include "pace/posix/ctype.inl"
-# elif (PACE_VXWORKS)
-# include "pace/vxworks/ctype.inl"
-# elif (PACE_WIN32)
-# include "pace/win32/ctype.inl"
-# endif
-#endif /* PACE_HAS_INLINE */
-
-#if defined (PACE_HAS_CPLUSPLUS)
-}
-#endif /* PACE_HAS_CPLUSPLUS */
-
-#endif /* PACE_CTYPE_H */
diff --git a/PACE/pace/dirent.h b/PACE/pace/dirent.h
deleted file mode 100644
index 55ab381a49d..00000000000
--- a/PACE/pace/dirent.h
+++ /dev/null
@@ -1,95 +0,0 @@
-/* $Id$
-
- * ============================================================================
- *
- * = LIBRARY
- * pace
- *
- * = FILENAME
- * pace/dirent.h
- *
- * = AUTHOR
- * Luther Baker
- *
- * ============================================================================ */
-
-#ifndef PACE_DIRENT_H
-#define PACE_DIRENT_H
-
-#include "pace/config/defines.h"
-
-#if (PACE_HAS_POSIX)
-# include "pace/posix/dirent.h"
-#elif (PACE_VXWORKS)
-# include "pace/vxworks/dirent.h"
-#elif (PACE_WIN32)
-# include "pace/win32/dirent.h"
-#endif
-
-#if defined (PACE_HAS_CPLUSPLUS)
-extern "C" {
-#endif /* PACE_HAS_CPLUSPLUS */
-
- /**
- PACE's implementation of the POSIX function opendir.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 5.1.2.
- */
-#if (PACE_HAS_POSIX_FS_UOF)
- PACE_Export PACE_INLINE PACE_DIR * pace_opendir (const char * dirname);
-#endif /* PACE_HAS_POSIX_FS_UOF */
-
- /**
- PACE's implementation of the POSIX function readdir.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 5.1.2.
- */
-#if (PACE_HAS_POSIX_FS_UOF)
- PACE_Export PACE_INLINE pace_dirent * pace_readdir (PACE_DIR * dirp);
-#endif /* PACE_HAS_POSIX_FS_UOF */
-
- /**
- PACE's implementation of the POSIX function readdir_r.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 5.1.2.
- */
-#if (PACE_HAS_POSIX_CLSR_UOF)
- PACE_Export PACE_INLINE int pace_readdir_r (PACE_DIR * dirp,
- pace_dirent * entry,
- pace_dirent ** result);
-#endif /* PACE_HAS_POSIX_CLSR_UOF */
- /* Requires PACE_HAS_POSIX_PTHREAD_SEMANTICS. */
-
- /**
- PACE's implementation of the POSIX function rewinddir.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 5.1.2.
- */
-#if (PACE_HAS_POSIX_FS_UOF)
- PACE_Export PACE_INLINE void pace_rewinddir (PACE_DIR * dirp);
-#endif /* PACE_HAS_POSIX_FS_UOF */
-
- /**
- PACE's implementation of the POSIX function closedir.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 5.1.2.
- */
-#if (PACE_HAS_POSIX_FS_UOF)
- PACE_Export PACE_INLINE int pace_closedir (PACE_DIR * dirp);
-#endif /* PACE_HAS_POSIX_FS_UOF */
-
-#if defined (PACE_HAS_INLINE)
-# if (PACE_HAS_POSIX)
-# include "pace/posix/dirent.inl"
-# elif (PACE_VXWORKS)
-# include "pace/vxworks/dirent.inl"
-# elif (PACE_WIN32)
-# include "pace/win32/dirent.inl"
-# endif
-#endif /* PACE_HAS_INLINE */
-
-#if defined (PACE_HAS_CPLUSPLUS)
-}
-#endif /* PACE_HAS_CPLUSPLUS */
-
-#endif /* PACE_DIRENT_H */
diff --git a/PACE/pace/emulation/mqueue.c b/PACE/pace/emulation/mqueue.c
deleted file mode 100644
index 4e0e6912de6..00000000000
--- a/PACE/pace/emulation/mqueue.c
+++ /dev/null
@@ -1,570 +0,0 @@
-/* $Id$ -*- C -*-
- * ============================================================================
- *
- * = LIBRARY
- * pace
- *
- * = FILENAME
- * pace/emulation/mqueue.c
- *
- * = AUTHOR
- * John Heitmann
- *
- * ============================================================================ */
-
-#include "pace/sys/mman.h"
-#include "pace/stdio.h"
-#include "pace/fcntl.h"
-#include "pace/string.h"
-#include "pace/stdlib.h"
-#include "pace/sys/types.h"
-#include "pace/pthread.h"
-#include "pace/sys/stat.h"
-#include "pace/emulation/mqueue.h"
-
-typedef struct
-{
- pace_mq_attr attr;
- pace_size_t num_open; /* How many processes have a valid mqd_t to here */
- pace_size_t rec_wait; /* How many processes are blocked on mq_receive */
- pace_pid_t not_pid; /* Who is actually registered for notification */
- pace_sigevent notification;
- pace_pthread_mutex_t mutex;
- pace_pthread_cond_t cond;
- pace_size_t head;
- pace_size_t freelist;
-} mqfile;
-
-typedef struct
-{
- pace_size_t next; /* Index of next element */
- unsigned int priority;
- pace_size_t length;
-} message_header;
-
-static struct mq_attr pace_attrdefault = { 0, 32, 256, 0 };
-#define PACE_MQ_LOCKPOSTFIX "mqlock9587"
-#define PACE_MQ_DATAPOSTFIX "mqdata2355"
-
-/* This remains mq_open due to the macro in pace/mqueue.h */
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-pace_mqd_t mq_open (const char* name,
- int oflag,
- pace_mode_t mode,
- pace_mq_attr* attr)
-{
- int m_padding = sizeof (message_header); /* How much extra space per message do we need */
- int f_padding = sizeof (mqfile); /* How much fixed padding is needed */
- int mflags, mprot;
- int fd;
- int i;
- pace_size_t mapsize;
- char* mmaploc;
- char* new_name;
- char* lock_name;
- int create_mmap = 0; /* 1 if the file has never be inited */
- message_header* temp = 0; /*Used in initialization of mqueue*/
- long index; /* index into the file */
- pace_mqd_t result = (pace_mqd_t) pace_malloc (sizeof (struct mqd));
- pace_stat_s statbuf;
-
-retry:
- if (attr == 0)
- {
- attr = &pace_attrdefault;
- }
- else
- {
- if (attr->mq_maxmsg < 0 || attr->mq_msgsize < 0)
- {
- errno = EBADF;
- return (pace_mqd_t)-1;
- }
- }
-
- /* Create a name that will go to /tmp with a unique name */
- new_name = (char*) malloc (256);
- lock_name = (char*) malloc (256);
- snprintf (new_name, 256, "/tmp%s%s", name, PACE_MQ_DATAPOSTFIX);
- snprintf (lock_name, 256, "/tmp%s%s", name, PACE_MQ_LOCKPOSTFIX);
-
- /* Fix alignment */
- if (attr->mq_msgsize % sizeof (long) != 0)
- {
- attr->mq_msgsize += 8 - (attr->mq_msgsize % sizeof (long));
- }
-
- if (oflag & PACE_O_CREAT)
- {
- /* We need to protect access without the help of O_RDONLY in the fs */
- fd = pace_open (new_name, PACE_O_RDWR | PACE_O_CREAT | PACE_O_EXCL, mode);
-
- if (fd == -1 && errno != EEXIST)
- {
- /* An error other than EEXIST has occurred. */
- return (pace_mqd_t)-1;
- }
- else if (fd != -1)
- {
- /* If a new file was created successfully */
- create_mmap = 1;
- }
- else if (oflag & PACE_O_EXCL)
- {
- /* If the file exists and we don't want it */
- errno = EEXIST;
- return (pace_mqd_t)-1;
- }
- else
- {
- /* We want the existing file */
- fd = pace_open (new_name, PACE_O_RDWR);
- if (fd == -1 && errno == ENOENT)
- {
- /* Something odd is going on */
- goto retry;
- }
- else if (fd == -1)
- {
- return (pace_mqd_t)-1;
- }
- }
- }
- else
- {
- fd = pace_open (new_name, PACE_O_RDWR);
- if (fd == -1)
- {
- return (pace_mqd_t)-1;
- }
- }
-
- /*
- The following loop makes shure that we haven't entered a race condition. If a file
- has been created but not initialized, its IXUSR will not be set (see above).
- */
- while (create_mmap == 0)
- {
- if (stat (lock_name, &statbuf) == -1)
- {
- close (fd);
- if (errno == ENOENT && (oflag & O_CREAT))
- {
- goto retry;
- }
- return (pace_mqd_t)-1;
- }
- else
- {
- break;
- }
- }
-
- mapsize = f_padding + (attr->mq_msgsize + m_padding) * (attr->mq_maxmsg);
- mprot = PACE_PROT_READ | PACE_PROT_WRITE;
- mflags = PACE_MAP_SHARED;
-
- if (create_mmap)
- {
- /* Create and 0 out the file */
- if (pace_lseek (fd, mapsize, PACE_SEEK_SET) == -1)
- {
- pace_unlink (new_name);
- return (pace_mqd_t)-1;
- }
- if (pace_write (fd, "", 1) != 1)
- {
- pace_unlink (new_name);
- return (pace_mqd_t)-1;
- }
-
- mmaploc = (char*) pace_mmap (0, mapsize, mprot, mflags, fd, 0);
- pace_close (fd);
- if (mmaploc == MAP_FAILED)
- {
- pace_unlink (new_name);
- return (pace_mqd_t)-1;
- }
-
- pace_memset (mmaploc, 0, mapsize);
-
- if ((errno = pace_pthread_mutex_init (&(((mqfile*)mmaploc)->mutex), 0)) != 0)
- {
- pace_unlink (new_name);
- pace_munmap (mmaploc, mapsize);
- return (pace_mqd_t)-1;
- }
- if ((errno = pace_pthread_mutex_lock (&(((mqfile*)mmaploc)->mutex))) != 0)
- {
- pace_unlink (new_name);
- pace_munmap (mmaploc, mapsize);
- return (pace_mqd_t)-1;
- }
-
- if ((errno = pace_pthread_cond_init (&(((mqfile*)mmaploc)->cond), 0)) != 0)
- {
- pace_unlink (new_name);
- pace_munmap (mmaploc, mapsize);
- return (pace_mqd_t)-1;
- }
-
- index = sizeof (mqfile);
- ((mqfile*)mmaploc)->freelist = index;
- ((mqfile*)mmaploc)->head = 0;
-
- for (i = 0; i < attr->mq_maxmsg; ++i)
- {
- temp = (message_header *) &mmaploc[index];
- index += sizeof (message_header) + attr->mq_msgsize;
- temp->next = index;
- }
- temp->next = 0;
- attr->mq_curmsgs = 0;
- ((mqfile*)mmaploc)->attr = *attr;
-
- /* Create the lock file so that the file is known to be inited */
- if (pace_open (lock_name, O_CREAT | O_EXCL) == -1)
- {
- pace_unlink (new_name);
- pace_munmap (mmaploc, mapsize);
- return (pace_mqd_t)-1;
- }
-
- }
- else
- {
- /* Just open the existing map */
- mmaploc = (char*) pace_mmap (0, mapsize, mprot, mflags, fd, 0);
- if (mmaploc == MAP_FAILED)
- {
- return (pace_mqd_t)-1;
- }
- pace_close (fd);
-
- /* ???? Test here for race */
-
- if (pace_pthread_mutex_lock (&(((mqfile*)mmaploc)->mutex)) == -1)
- {
- pace_munmap (mmaploc, mapsize);
- return (pace_mqd_t)-1;
- }
- ((mqfile*)mmaploc)->attr.mq_flags = attr->mq_flags;
- }
-
- ((mqfile*)mmaploc)->num_open++;
-
-
- if (pace_pthread_mutex_unlock (&(((mqfile*)mmaploc)->mutex)) == -1)
- {
- pace_munmap (mmaploc, mapsize);
- return (pace_mqd_t)-1;
- }
-
- result->mptr = mmaploc;
- result->length = mapsize;
- result->oflag = oflag;
-
- return result;
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-int mq_close (pace_mqd_t mqdes)
-{
- if (pace_pthread_mutex_lock (&( ((mqfile*)mqdes->mptr)->mutex)) == -1)
- {
- errno = EBADF;
- return -1;
- }
- ((mqfile*)mqdes->mptr)->num_open--;
- if (pace_pthread_mutex_unlock (&(((mqfile*)mqdes->mptr)->mutex)) == -1)
- {
- errno = EBADF;
- return -1;
- }
- if (munmap (mqdes->mptr, mqdes->length) == -1)
- {
- return -1;
- }
- free (mqdes);
- return 0;
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-int mq_unlink (const char* name)
-{
- int result1, result2;
- char* new_name;
- new_name = (char*) malloc (256);
- snprintf (new_name, 256, "/tmp%s%s", name, PACE_MQ_DATAPOSTFIX);
- result1 = pace_unlink (new_name);
- snprintf (new_name, 256, "/tmp%s%s", name, PACE_MQ_LOCKPOSTFIX);
- result2 = pace_unlink (new_name);
- free (new_name);
- return (result1 == -1 || result2 == -1 ? -1 : 0);
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-int mq_send (pace_mqd_t mqdes,
- const char* ptr,
- pace_size_t length,
- unsigned int priority)
-{
- mqfile* queue = ((mqfile*)mqdes->mptr);
- long index, old_index;
- if (mqdes->oflag & O_RDONLY)
- {
- /* Incorrect access priviledges */
- errno = EBADF;
- return -1;
- }
- if (queue->attr.mq_msgsize < (int) length)
- {
- /* Message too long */
- errno = EMSGSIZE;
- return -1;
- }
- if ((errno = pace_pthread_mutex_lock (&queue->mutex)) != 0)
- {
- return -1;
- }
- /* If the queue is full... */
- if (queue->attr.mq_curmsgs >= queue->attr.mq_maxmsg)
- {
- if (queue->attr.mq_flags & O_NONBLOCK)
- {
- errno = EAGAIN;
- return -1;
- }
- while (queue->attr.mq_maxmsg <= queue->attr.mq_curmsgs)
- {
- pace_pthread_cond_wait (&queue->cond, &queue->mutex);
- pace_printf ("Send Woke Up\n");
- }
- }
-
- /* Fill in the fields of the header */
- ((message_header*)(&mqdes->mptr[queue->freelist]))->priority = priority;
- ((message_header*)(&mqdes->mptr[queue->freelist]))->length = length;
- pace_memcpy (((void*)(&mqdes->mptr[queue->freelist + sizeof (message_header)])),
- ptr, length);
-
- /* Update the linked list */
- old_index = 0;
- index = queue->head;
- while (index != 0 && ((message_header*)(&mqdes->mptr[index]))->priority >= priority)
- {
- old_index = index;
- index = ((message_header*)(&mqdes->mptr[index]))->next;
- }
-
- /* If the msg goes at the head */
- if (old_index == 0)
- {
- queue->head = queue->freelist;
- queue->freelist = ((message_header*)(&mqdes->mptr[queue->freelist]))->next;
- ((message_header*)(&mqdes->mptr[queue->head]))->next = index;
- }
- else
- {
- ((message_header*)(&mqdes->mptr[old_index]))->next = queue->freelist;
- old_index = queue->freelist;
- queue->freelist = ((message_header*)(&mqdes->mptr[queue->freelist]))->next;
- ((message_header*)(&mqdes->mptr[old_index]))->next = index;
- }
-
- queue->attr.mq_curmsgs++;
-
- if ((errno = pace_pthread_mutex_unlock (&queue->mutex)) != 0)
- {
- return -1;
- }
-
- if (queue->attr.mq_curmsgs == 1)
- {
- /* If there is no one waiting and blocked */
- if (queue->not_pid != 0 && queue->rec_wait == 0)
- {
- if (queue->notification.sigev_notify == SIGEV_SIGNAL)
- {
- sigqueue (queue->not_pid,
- queue->notification.sigev_signo,
- queue->notification.sigev_value);
- }
- queue->not_pid = 0;
- }
- else
- {
- pace_printf ("Send is Signalling\n");
- /* Let other waiting threads know there is food on the table */
- if ((errno = pace_pthread_cond_signal (&((mqfile*)mqdes->mptr)->cond)) != 0)
- {
- return -1;
- }
- }
- }
- return 0;
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-pace_ssize_t mq_receive (pace_mqd_t mqdes,
- char * msg_ptr,
- pace_size_t msg_len,
- unsigned int * nmsg_prio)
-{
- mqfile* queue = ((mqfile*)mqdes->mptr);
- pace_size_t temp;
-
- if (queue->attr.mq_msgsize > (long) msg_len)
- {
- errno = EMSGSIZE;
- return -1;
- }
-
- if ((errno = pace_pthread_mutex_lock (&queue->mutex)) != 0)
- {
- return -1;
- }
-
- /* If the queue is empty... */
- if (queue->attr.mq_curmsgs <= 0)
- {
- if (queue->attr.mq_flags & O_NONBLOCK)
- {
- errno = EAGAIN;
- return -1;
- }
- while (queue->attr.mq_curmsgs <= 0)
- {
- pace_printf ("Recv is going to sleep\n");
- queue->rec_wait++;
- pace_pthread_cond_wait (&(queue->cond), &(queue->mutex));
- queue->rec_wait--;
- pace_printf ("Recv is waking from sleep\n");
- }
- }
-
- if (nmsg_prio != 0)
- {
- *nmsg_prio = ((message_header*)(&mqdes->mptr[queue->head]))->priority;
- }
-
- pace_memcpy (msg_ptr, ((void*)(&mqdes->mptr[queue->head + sizeof (message_header)])),
- ((message_header*)(&mqdes->mptr[queue->head]))->length);
- temp = queue->head;
- queue->head = ((message_header*)(&mqdes->mptr[queue->head]))->next;
- ((message_header*)(&mqdes->mptr[temp]))->next = queue->freelist;
- queue->freelist = temp;
-
- queue->attr.mq_curmsgs--;
-
- if (pace_pthread_mutex_unlock (&queue->mutex) == -1)
- {
- errno = EBADMSG;
- return -1;
- }
-
- if (queue->attr.mq_curmsgs == (queue->attr.mq_maxmsg-1))
- {
- pace_printf ("Recv is signalling\n");
- /* Let other waiting threads know there is room available */
- if ((errno = pace_pthread_cond_signal (&((mqfile*)mqdes->mptr)->cond)) != 0)
- {
- return -1;
- }
- }
-
- return ((message_header*)(&mqdes->mptr[queue->head]))->length;
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-int mq_getattr (pace_mqd_t mqdes, pace_mq_attr * mqstat)
-{
- mqfile* queue = ((mqfile*)mqdes->mptr);
-
- if ((errno = pace_pthread_mutex_lock (&queue->mutex)) != 0)
- {
- return -1;
- }
-
- *mqstat = queue->attr;
-
- pace_pthread_mutex_unlock (&queue->mutex);
-
- return 0;
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-int mq_setattr(pace_mqd_t mqdes,
- const pace_mq_attr * mqstat,
- pace_mq_attr * omqstat)
-{
- mqfile* queue = ((mqfile*)(mqdes->mptr));
-
- if ((errno = pace_pthread_mutex_lock (&queue->mutex)) != 0)
- {
- return -1;
- }
- if (omqstat != 0)
- {
- *omqstat = ((mqfile*)mqdes->mptr)->attr;
- }
- if (mqstat == 0 || mqdes == 0)
- {
- /* You eediot*/
- errno = EFAULT;
- pace_pthread_mutex_unlock (&queue->mutex);
- return -1;
- }
-
- ((mqfile*)mqdes->mptr)->attr.mq_flags = mqstat->mq_flags;
-
- pace_pthread_mutex_unlock (&queue->mutex);
- return 0;
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-int mq_notify (pace_mqd_t mqd, const pace_sigevent* notification)
-{
- mqfile* queue = ((mqfile*)(mqd->mptr));
- pace_pid_t pid = pace_getpid ();
-
- if ((errno = pace_pthread_mutex_lock (&queue->mutex)) != 0)
- {
- return -1;
- }
-
- if (notification == 0)
- {
- /* Unregister if notification is null */
- if (queue->not_pid == pid)
- {
- queue->not_pid = 0;
- }
- }
- else
- {
- if (queue->not_pid && pace_kill (queue->not_pid, 0))
- {
- /* If another process is registered */
- if (errno != ESRCH)
- {
- pace_pthread_mutex_unlock (&queue->mutex);
- return -1;
- }
- }
- queue->not_pid = pid;
- queue->notification = *notification;
- }
-
- pthread_mutex_unlock (&queue->mutex);
-
- return 0;
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
diff --git a/PACE/pace/emulation/mqueue.h b/PACE/pace/emulation/mqueue.h
deleted file mode 100644
index 539f0c19e90..00000000000
--- a/PACE/pace/emulation/mqueue.h
+++ /dev/null
@@ -1,95 +0,0 @@
-/* $Id$
- * ============================================================================
- *
- * = LIBRARY
- * pace
- *
- * = FILENAME
- * pace/emulation/mqueue.h
- *
- * = AUTHOR
- * John Heitmann
- *
- * = DESCRIPTION
- * An implementation of POSIX message queues originally built for Linux,
- * which lacks mqueue.h. Some ideas were taken from the W. Richard Stevens
- * book Unix Network Programming Interprocess Communications Volume 2
- * Second Edition.
- * Memory Mapped io is used to enable a quick but persistent queue.
- *
- * ============================================================================ */
-
-#ifndef PACE_EMU_MQUEUE_H
-#define PACE_EMU_MQUEUE_H
-
-#if defined (PACE_HAS_CPLUSPLUS)
-extern "C" {
-#endif /* PACE_HAS_CPLUSPLUS */
-
-#define PACE_MQ_ATTR
-typedef struct mq_attr
-{
- long mq_flags;
- long mq_maxmsg;
- long mq_msgsize;
- long mq_curmsgs;
-} pace_mq_attr;
-
-struct mqd
-{
- long length;
- int oflag;
- char* mptr;
-};
-
-#define PACE_MQD_T
-typedef struct mqd* pace_mqd_t;
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-pace_mqd_t mq_open (const char* name,
- int oflag,
- pace_mode_t mode,
- pace_mq_attr* attr);
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-int mq_close (pace_mqd_t mqdes);
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-int mq_unlink (const char* name);
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-int mq_send (pace_mqd_t mqdes,
- const char* ptr,
- pace_size_t length,
- unsigned int priority);
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-pace_ssize_t mq_receive (pace_mqd_t mqdes,
- char * msg_ptr,
- pace_size_t msg_len,
- unsigned int * nmsg_prio);
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-int mq_getattr (pace_mqd_t mqdes, pace_mq_attr * mqstat);
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-int mq_setattr(pace_mqd_t mqdes,
- const pace_mq_attr * mqstat,
- pace_mq_attr * omqstat);
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-int mq_notify (pace_mqd_t mqd, const pace_sigevent* notification);
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if defined (PACE_HAS_CPLUSPLUS)
-}
-#endif /* PACE_HAS_CPLUSPLUS */
-
-#endif /* PACE_EMU_MQUEUE_H */
diff --git a/PACE/pace/emulation/time.h b/PACE/pace/emulation/time.h
deleted file mode 100644
index f4784190c81..00000000000
--- a/PACE/pace/emulation/time.h
+++ /dev/null
@@ -1,46 +0,0 @@
-/* $Id$
- * ============================================================================
- *
- * = LIBRARY
- * pace
- *
- * = FILENAME
- * pace/emulation/time.h
- *
- * = AUTHOR
- * John Heitmann
- *
- * ============================================================================ */
-
-#ifndef PACE_EMU_TIME_H
-#define PACE_EMU_TIME_H
-
-#if defined (PACE_HAS_CPLUSPLUS)
-extern "C" {
-#endif /* PACE_HAS_CPLUSPLUS */
-
-#ifndef PACE_EMU_CLOCKID_T
-#define PACE_EMU_CLOCKID_T
- typedef int pace_emu_clockid_t;
-#endif /* PACE_EMU_CLOCKID_T */
-
-#ifndef PACE_EMU_TIMER_T
-#define PACE_EMU_TIMER_T
- typedef int pace_emu_timer_t;
-#endif /* PACE_EMU_TIMER_T */
-
-#ifndef PACE_EMU_ITIMERSPEC
-#define PACE_EMU_ITIMERSPEC
- typedef struct emu_itimerspec {} pace_emu_itimerspec;
-#endif /* PACE_EMU_ITIMERSPEC */
-
-#ifndef PACE_EMU_TIMESPEC
-#define PACE_EMU_TIMESPEC
- typedef struct emu_timespec {} pace_emu_timespec;
-#endif /* PACE_EMU_TIMESPEC */
-
-#if defined (PACE_HAS_CPLUSPLUS)
-}
-#endif /* PACE_HAS_CPLUSPLUS */
-
-#endif /* PACE_EMU_TIME_H */
diff --git a/PACE/pace/errno.h b/PACE/pace/errno.h
deleted file mode 100644
index ae4f6bd4344..00000000000
--- a/PACE/pace/errno.h
+++ /dev/null
@@ -1,37 +0,0 @@
-/* $Id$
-
- * ============================================================================
- *
- * = LIBRARY
- * pace
- *
- * = FILENAME
- * pace/errno.h
- *
- * = AUTHOR
- * Luther Baker
- *
- * ============================================================================ */
-
-#ifndef PACE_ERRNO_H
-#define PACE_ERRNO_H
-
-#include "pace/config/defines.h"
-
-#if (PACE_HAS_POSIX)
-# include "pace/posix/errno.h"
-#elif (PACE_VXWORKS)
-# include "pace/vxworks/errno.h"
-#elif (PACE_WIN32)
-# include "pace/win32/errno.h"
-#endif
-
-#if defined (PACE_HAS_CPLUSPLUS)
-extern "C" {
-#endif /* PACE_HAS_CPLUSPLUS */
-
-#if defined (PACE_HAS_CPLUSPLUS)
-}
-#endif /* PACE_HAS_CPLUSPLUS */
-
-#endif /* PACE_ERRNO_H */
diff --git a/PACE/pace/fcntl.h b/PACE/pace/fcntl.h
deleted file mode 100644
index 43d85574b26..00000000000
--- a/PACE/pace/fcntl.h
+++ /dev/null
@@ -1,94 +0,0 @@
-/* $Id$
-
- * ============================================================================
- *
- * = LIBRARY
- * pace
- *
- * = FILENAME
- * pace/fnctl.h
- *
- * = AUTHOR
- * Luther Baker
- *
- * ============================================================================ */
-
-#ifndef PACE_FCNTL_H
-#define PACE_FCNTL_H
-
-#include "pace/config/defines.h"
-
-#if (PACE_HAS_POSIX)
-# include "pace/posix/fcntl.h"
-#elif (PACE_VXWORKS)
-# include "pace/vxworks/fcntl.h"
-#elif (PACE_WIN32)
-# include "pace/win32/fcntl.h"
-#endif
-
-#if defined (PACE_HAS_CPLUSPLUS)
-extern "C" {
-#endif /* PACE_HAS_CPLUSPLUS */
-
- /**
- PACE's implementation of the POSIX function creat.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 5.3.2.
- */
-#if (PACE_HAS_POSIX_FS_UOF)
- PACE_Export PACE_INLINE int pace_creat (const char * path, pace_mode_t mode);
- /* WIN32 doesn't correctly return a file desciptor. WIN32 doesn't use
- integers to represent file handles. Instead, we return 1 for success
- and -1 for failure.
- */
-#endif /* PACE_HAS_POSIX_FS_UOF */
-
- /**
- PACE's implementation of the POSIX function fcntl.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 6.5.2.
- */
-#if (PACE_HAS_POSIX_FM_UOF)
- /* int fcntl (int fildes, int cmd, *//* arg *//* ... ); */
-# if defined (PACE_WIN32)
- int fcntl (PACE_HANDLE fildes, int cmd, /* arg */ ... );
-# endif /* PACE_WIN32 */
-
-# if defined (PACE_VXWORKS) && PACE_VXWORKS
- PACE_Export PACE_INLINE int pace_fcntl(PACE_HANDLE fildes,
- int cmd,
- long arg);
-# else
-# define pace_fcntl fcntl
-# endif /* ! PACE_VXWORKS */
-#endif /* PACE_HAS_POSIX_FM_UOF */
-
- /**
- PACE's implementation of the POSIX function open.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 5.3.1.
- */
-#if (PACE_HAS_POSIX_DI_UOF)
- /* int open (const char *path, int oflag, *//* pace_mode_t mode *//* ... );*/
-# if defined (PACE_HAS_CPLUPLUS)
-# define pace_open ::open
-# else
-# define pace_open open
-# endif /* PACE_HAS_CPLUSPLUS */
-#endif /* PACE_HAS_POSIX_DI_UOF */
-
-#if defined (PACE_HAS_INLINE)
-# if (PACE_HAS_POSIX)
-# include "pace/posix/fcntl.inl"
-# elif (PACE_VXWORKS)
-# include "pace/vxworks/fcntl.inl"
-# elif (PACE_WIN32)
-# include "pace/win32/fcntl.inl"
-# endif
-#endif /* PACE_HAS_INLINE */
-
-#if defined (PACE_HAS_CPLUSPLUS)
-}
-#endif /* PACE_HAS_CPLUSPLUS */
-
-#endif /* PACE_FCNTL_H_INDIRECT */
diff --git a/PACE/pace/grp.h b/PACE/pace/grp.h
deleted file mode 100644
index eab5aba2b7c..00000000000
--- a/PACE/pace/grp.h
+++ /dev/null
@@ -1,93 +0,0 @@
-/* $Id$
-
- * ============================================================================
- *
- * = LIBRARY
- * pace
- *
- * = FILENAME
- * pace/grp.h
- *
- * = AUTHOR
- * Luther Baker
- *
- * ============================================================================ */
-
-#ifndef PACE_GRP_H
-#define PACE_GRP_H
-
-#include "pace/config/defines.h"
-
-#if (PACE_HAS_POSIX)
-# include "pace/posix/grp.h"
-#elif (PACE_VXWORKS)
-# include "pace/vxworks/grp.h"
-#elif (PACE_WIN32)
-# include "pace/win32/grp.h"
-#endif
-
-# if defined (PACE_HAS_CPLUSPLUS)
-extern "C" {
-# endif /* PACE_HAS_CPLUSPLUS */
-
- /**
- PACE's implementation of the POSIX function getgrgid.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 9.2.1.
- */
-#if (PACE_HAS_POSIX_SD_UOF)
- PACE_Export PACE_INLINE pace_group * pace_getgrgid (pace_gid_t gid);
-#endif /* PACE_HAS_POSIX_SD_UOF */
-
- /**
- PACE's implementation of the POSIX function getgrgid_r.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 9.2.1.
- */
-#if (PACE_HAS_POSIX_SDR_UOF)
- PACE_Export PACE_INLINE int pace_getgrgid_r (pace_gid_t gid,
- pace_group * grp,
- char * buffer,
- size_t bufsize,
- pace_group ** result);
-#endif /* PACE_HAS_POSIX_SDR_UOF */
- /* Requires PACE_HAS_POSIX_PTHREAD_SEMANTICS. */
-
- /**
- PACE's implementation of the POSIX function getgrnam.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 9.2.1.
- */
-#if (PACE_HAS_POSIX_SD_UOF)
- PACE_Export PACE_INLINE pace_group * pace_getgrnam (const char * name);
-#endif /* PACE_HAS_POSIX_SD_UOF */
-
- /**
- PACE's implementation of the POSIX function getgrnam_r.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 9.2.1.
- */
-#if (PACE_HAS_POSIX_SDR_UOF)
- PACE_Export PACE_INLINE int pace_getgrnam_r (const char * name,
- pace_group * grp,
- char * buffer,
- size_t bufsize,
- pace_group ** result);
-#endif /* PACE_HAS_POSIX_SDR_UOF */
- /* Requires PACE_HAS_POSIX_PTHREAD_SEMANTICS. */
-
-#if defined (PACE_HAS_INLINE)
-# if (PACE_HAS_POSIX)
-# include "pace/posix/grp.inl"
-# elif (PACE_VXWORKS)
-# include "pace/vxworks/grp.inl"
-# elif (PACE_WIN32)
-# include "pace/win32/grp.inl"
-# endif
-#endif /* PACE_HAS_INLINE */
-
-# if defined (PACE_HAS_CPLUSPLUS)
-}
-# endif /* PACE_HAS_CPLUSPLUS */
-
-#endif /* PACE_GRP_H */
diff --git a/PACE/pace/limits.h b/PACE/pace/limits.h
deleted file mode 100644
index 9e13488b1fa..00000000000
--- a/PACE/pace/limits.h
+++ /dev/null
@@ -1,29 +0,0 @@
-/* $Id$
-
- * ============================================================================
- *
- * = LIBRARY
- * pace
- *
- * = FILENAME
- * pace/limits.h
- *
- * = AUTHOR
- * Joe Hoffert
- *
- * ============================================================================ */
-
-#ifndef PACE_LIMITS_H_INDIRECT
-#define PACE_LIMITS_H_INDIRECT
-
-#include "pace/config/defines.h"
-
-#if defined (PACE_HAS_POSIX)
-# include "pace/posix/limits.h"
-#elif defined (PACE_VXWORKS)
-# include "pace/vxworks/limits.h"
-#elif defined (PACE_WIN32)
-# include "pace/win32/limits.h"
-#endif
-
-#endif /* PACE_LIMITS_H_INDIRECT */
diff --git a/PACE/pace/locale.h b/PACE/pace/locale.h
deleted file mode 100644
index 0435a4a7370..00000000000
--- a/PACE/pace/locale.h
+++ /dev/null
@@ -1,65 +0,0 @@
-/* $Id$ -*- C -*-
-
- * ============================================================================
- *
- * = LIBRARY
- * pace
- *
- * = FILENAME
- * pace/locale.h
- *
- * = AUTHOR
- * Joe Hoffert
- *
- * =========================================================================== */
-
-#ifndef PACE_LOCALE_H
-#define PACE_LOCALE_H
-
-#include "pace/config/defines.h"
-
-#if (PACE_HAS_POSIX)
-# include "pace/posix/locale.h"
-#elif (PACE_VXWORKS)
-# include "pace/vxworks/locale.h"
-#elif (PACE_WIN32)
-# include "pace/win32/locale.h"
-#endif
-
-#if defined (PACE_HAS_CPLUSPLUS)
-extern "C" {
-#endif /* PACE_HAS_CPLUSPLUS */
-
- /**
- Fills in pace_lconv with values consistent with the
- current locality.
- */
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
- PACE_Export PACE_INLINE pace_lconv* pace_localeconv (void);
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
- /**
- PACE's implementation of the POSIX function setlocale.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 8.1.2.
- */
-#if (PACE_HAS_POSIX_MP_UOF)
- PACE_Export PACE_INLINE char * pace_setlocale (int category,
- const char * locale);
-#endif /* PACE_HAS_POSIX_MP_UOF */
-
-#if defined (PACE_HAS_INLINE)
-# if (PACE_HAS_POSIX)
-# include "pace/posix/locale.inl"
-# elif (PACE_VXWORKS)
-# include "pace/vxworks/locale.inl"
-# elif (PACE_WIN32)
-# include "pace/win32/locale.inl"
-# endif
-#endif /* PACE_HAS_INLINE */
-
-#if defined (PACE_HAS_CPLUSPLUS)
-}
-#endif /* PACE_HAS_CPLUSPLUS */
-
-#endif /* PACE_LOCALE_H */
diff --git a/PACE/pace/man/Makefile b/PACE/pace/man/Makefile
deleted file mode 100644
index 8203d2d650c..00000000000
--- a/PACE/pace/man/Makefile
+++ /dev/null
@@ -1,13 +0,0 @@
-#----------------------------------------------------------------------------
-# $Id$
-#
-# Makefile for the PACE html man pages
-# The man pages are generated from the POSIX header files.
-#----------------------------------------------------------------------------
-
-PACE_DOC++ = /project/doc/pkg/bin/doc++
-index.html:
- $(PACE_DOC++) -H -F -B banner ../*.h
-
-clean:
- $(RM) *.html *.gif *.class *.tex *.db .html
diff --git a/PACE/pace/man/banner b/PACE/pace/man/banner
deleted file mode 100644
index 668e1f5de5d..00000000000
--- a/PACE/pace/man/banner
+++ /dev/null
@@ -1,5 +0,0 @@
-<!-- $Id$ -->
-<!-- This is the banner file that doc++ inserts at the bottom of the -->
-<!-- generated html man pages. -->
-<!-- Originally written by: Joe Hoffert -->
-<A HREF="http://www.cs.wustl.edu/~luther/PACE/index.html"><IMG BORDER=0 ALIGN=RIGHT SRC=pace.jpg></A>
diff --git a/PACE/pace/man/pace.jpg b/PACE/pace/man/pace.jpg
deleted file mode 100644
index 62bc7130603..00000000000
--- a/PACE/pace/man/pace.jpg
+++ /dev/null
Binary files differ
diff --git a/PACE/pace/math.h b/PACE/pace/math.h
deleted file mode 100644
index 44e23ee09e2..00000000000
--- a/PACE/pace/math.h
+++ /dev/null
@@ -1,245 +0,0 @@
-/* $Id$
-
- * ============================================================================
- *
- * = LIBRARY
- * pace
- *
- * = Filename
- * pace/math.h
- *
- * = AUTHOR
- * Luther Baker
- *
- * ============================================================================ */
-
-#ifndef PACE_MATH_H
-#define PACE_MATH_H
-
-#include "pace/config/defines.h"
-
-#if (PACE_HAS_POSIX)
-# include "pace/posix/math.h"
-#elif (PACE_VXWORKS)
-# include "pace/vxworks/math.h"
-#elif (PACE_WIN32)
-# include "pace/win32/math.h"
-#endif
-
-#if defined (PACE_HAS_CPLUSPLUS)
-extern "C" {
-#endif /* PACE_HAS_CPLUSPLUS */
-
- /**
- PACE's implementation of the POSIX function acos.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 8.1.
- */
-#if (PACE_HAS_POSIX_CLS_UOF)
- PACE_Export PACE_INLINE double pace_acos (double x);
-#endif /* PACE_HAS_POSIX_CLS_UOF */
-
- /**
- PACE's implementation of the POSIX function asin.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 8.1.
- */
-#if (PACE_HAS_POSIX_CLS_UOF)
- PACE_Export PACE_INLINE double pace_asin (double x);
-#endif /* PACE_HAS_POSIX_CLS_UOF */
-
- /**
- PACE's implementation of the POSIX function atan.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 8.1.
- */
-#if (PACE_HAS_POSIX_CLS_UOF)
- PACE_Export PACE_INLINE double pace_atan (double x);
-#endif /* PACE_HAS_POSIX_CLS_UOF */
-
- /**
- PACE's implementation of the POSIX function atan2.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 8.1.
- */
-#if (PACE_HAS_POSIX_CLS_UOF)
- PACE_Export PACE_INLINE double pace_atan2 (double x, double y);
-#endif /* PACE_HAS_POSIX_CLS_UOF */
-
- /**
- PACE's implementation of the POSIX function cos.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 8.1.
- */
-#if (PACE_HAS_POSIX_CLS_UOF)
- PACE_Export PACE_INLINE double pace_cos (double x);
-#endif /* PACE_HAS_POSIX_CLS_UOF */
-
- /**
- PACE's implementation of the POSIX function sin.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 8.1.
- */
-#if (PACE_HAS_POSIX_CLS_UOF)
- PACE_Export PACE_INLINE double pace_sin (double x);
-#endif /* PACE_HAS_POSIX_CLS_UOF */
-
- /**
- PACE's implementation of the POSIX function tan.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 8.1.
- */
-#if (PACE_HAS_POSIX_CLS_UOF)
- PACE_Export PACE_INLINE double pace_tan (double x);
-#endif /* PACE_HAS_POSIX_CLS_UOF */
-
- /**
- PACE's implementation of the POSIX function cosh.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 8.1.
- */
-#if (PACE_HAS_POSIX_CLS_UOF)
- PACE_Export PACE_INLINE double pace_cosh (double x);
-#endif /* PACE_HAS_POSIX_CLS_UOF */
-
- /**
- PACE's implementation of the POSIX function sinh.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 8.1.
- */
-#if (PACE_HAS_POSIX_CLS_UOF)
- PACE_Export PACE_INLINE double pace_sinh (double x);
-#endif /* PACE_HAS_POSIX_CLS_UOF */
-
- /**
- PACE's implementation of the POSIX function tanh.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 8.1.
- */
-#if (PACE_HAS_POSIX_CLS_UOF)
- PACE_Export PACE_INLINE double pace_tanh (double x);
-#endif /* PACE_HAS_POSIX_CLS_UOF */
-
- /**
- PACE's implementation of the POSIX function exp.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 8.1.
- */
-#if (PACE_HAS_POSIX_CLS_UOF)
- PACE_Export PACE_INLINE double pace_exp (double x);
-#endif /* PACE_HAS_POSIX_CLS_UOF */
-
- /**
- PACE's implementation of the POSIX function frexp.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 8.1.
- */
-#if (PACE_HAS_POSIX_CLS_UOF)
- PACE_Export PACE_INLINE double pace_frexp (double x, int * exp);
-#endif /* PACE_HAS_POSIX_CLS_UOF */
-
- /**
- PACE's implementation of the POSIX function ldexp.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 8.1.
- */
-#if (PACE_HAS_POSIX_CLS_UOF)
- PACE_Export PACE_INLINE double pace_ldexp (double x, int exp);
-#endif /* PACE_HAS_POSIX_CLS_UOF */
-
- /**
- PACE's implementation of the POSIX function log.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 8.1.
- */
-#if (PACE_HAS_POSIX_CLS_UOF)
- PACE_Export PACE_INLINE double pace_log (double x);
-#endif /* PACE_HAS_POSIX_CLS_UOF */
-
- /**
- PACE's implementation of the POSIX function log10.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 8.1.
- */
-#if (PACE_HAS_POSIX_CLS_UOF)
- PACE_Export PACE_INLINE double pace_log10 (double x);
-#endif /* PACE_HAS_POSIX_CLS_UOF */
-
- /**
- PACE's implementation of the POSIX function modf.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 8.1.
- */
-#if (PACE_HAS_POSIX_CLS_UOF)
- PACE_Export PACE_INLINE double pace_modf (double x, double * iptr);
-#endif /* PACE_HAS_POSIX_CLS_UOF */
-
- /**
- PACE's implementation of the POSIX function pow.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 8.1.
- */
-#if (PACE_HAS_POSIX_CLS_UOF)
- PACE_Export PACE_INLINE double pace_pow (double x, double y);
-#endif /* PACE_HAS_POSIX_CLS_UOF */
-
- /**
- PACE's implementation of the POSIX function sqrt.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 8.1.
- */
-#if (PACE_HAS_POSIX_CLS_UOF)
- PACE_Export PACE_INLINE double pace_sqrt (double x);
-#endif /* PACE_HAS_POSIX_CLS_UOF */
-
- /**
- PACE's implementation of the POSIX function ceil.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 8.1.
- */
-#if (PACE_HAS_POSIX_CLS_UOF)
- PACE_Export PACE_INLINE double pace_ceil (double x);
-#endif /* PACE_HAS_POSIX_CLS_UOF */
-
- /**
- PACE's implementation of the POSIX function fabs.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 8.1.
- */
-#if (PACE_HAS_POSIX_CLS_UOF)
- PACE_Export PACE_INLINE double pace_fabs (double x);
-#endif /* PACE_HAS_POSIX_CLS_UOF */
-
- /**
- PACE's implementation of the POSIX function floor.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 8.1.
- */
-#if (PACE_HAS_POSIX_CLS_UOF)
- PACE_Export PACE_INLINE double pace_floor (double x);
-#endif /* PACE_HAS_POSIX_CLS_UOF */
-
- /**
- PACE's implementation of the POSIX function fmod.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 8.1.
- */
-#if (PACE_HAS_POSIX_CLS_UOF)
- PACE_Export PACE_INLINE double pace_fmod (double x, double y);
-#endif /* PACE_HAS_POSIX_CLS_UOF */
-
-#if defined (PACE_HAS_INLINE)
-# if (PACE_HAS_POSIX)
-# include "pace/posix/math.inl"
-# elif (PACE_VXWORKS)
-# include "pace/vxworks/math.inl"
-# elif (PACE_WIN32)
-# include "pace/win32/math.inl"
-# endif
-#endif /* PACE_HAS_INLINE */
-
-#if defined (PACE_HAS_CPLUSPLUS)
-}
-#endif /* PACE_HAS_CPLUSPLUS */
-
-#endif /* PACE_MATH_H */
diff --git a/PACE/pace/mqueue.h b/PACE/pace/mqueue.h
deleted file mode 100644
index c799567c968..00000000000
--- a/PACE/pace/mqueue.h
+++ /dev/null
@@ -1,131 +0,0 @@
-/* $Id$
-
- * ============================================================================
- *
- * = LIBRARY
- * pace
- *
- * = FILENAME
- * pace/mqueue.h
- *
- * = AUTHOR
- * Luther Baker
- *
- * ============================================================================ */
-
-#ifndef PACE_MQUEUE_H
-#define PACE_MQUEUE_H
-
-#include "pace/config/defines.h"
-#include "pace/signal.h"
-
-#if (PACE_HAS_POSIX)
-# include "pace/posix/mqueue.h"
-#elif (PACE_VXWORKS)
-# include "pace/vxworks/mqueue.h"
-#elif (PACE_WIN32)
-# include "pace/win32/mqueue.h"
-#endif
-
-#if defined (PACE_HAS_CPLUSPLUS)
-extern "C" {
-#endif /* PACE_HAS_CPLUSPLUS */
-
- /**
- PACE's implementation of the POSIX function mq_close.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 15.2.2.
- */
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
- PACE_Export PACE_INLINE int pace_mq_close (pace_mqd_t mqdes);
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
- /**
- PACE's implementation of the POSIX function mq_getattr.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 15.2.8.
- */
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
- PACE_Export PACE_INLINE int pace_mq_getattr (pace_mqd_t mqdes,
- pace_mq_attr * mqstat);
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
- /**
- PACE's implementation of the POSIX function mq_notify.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 15.2.6.
- */
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
- PACE_Export PACE_INLINE int pace_mq_notify (pace_mqd_t mqdes,
- const pace_sigevent * notification);
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
- /**
- PACE's implementation of the POSIX function mq_open.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 15.2.1.
- */
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-# define pace_mq_open mq_open
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
- /* mqd_t mq_open (const char *name, int oflag, (*//* args *//*) ... ); */
-
- /**
- PACE's implementation of the POSIX function mq_receive.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 15.2.5.
- */
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
- PACE_Export PACE_INLINE pace_ssize_t pace_mq_receive (pace_mqd_t mqdes,
- char * msg_ptr,
- pace_size_t msg_len,
- unsigned int * nmsg_prio);
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
- /**
- PACE's implementation of the POSIX function mq_send.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 15.2.4.
- */
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
- PACE_Export PACE_INLINE int pace_mq_send (pace_mqd_t mqdes,
- const char * mst_ptr,
- pace_size_t msg_len,
- unsigned int psg_prio);
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
- /**
- PACE's implementation of the POSIX function mq_setattr.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 15.2.7.
- */
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
- PACE_Export PACE_INLINE int pace_mq_setattr (pace_mqd_t mqdes,
- const pace_mq_attr * mqstat,
- pace_mq_attr * omqstat);
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
- /**
- PACE's implementation of the POSIX function mq_unlink.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 15.2.3.
- */
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
- PACE_Export PACE_INLINE int pace_mq_unlink (const char * name);
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if defined (PACE_HAS_INLINE)
-# if (PACE_HAS_POSIX)
-# include "pace/posix/mqueue.inl"
-# elif (PACE_VXWORKS)
-# include "pace/vxworks/mqueue.inl"
-# elif (PACE_WIN32)
-# include "pace/win32/mqueue.inl"
-# endif
-#endif /* PACE_HAS_INLINE */
-
-#if defined (PACE_HAS_CPLUSPLUS)
-}
-#endif /* PACE_HAS_CPLUSPLUS */
-
-#endif /* PACE_MQUEUE_H */
diff --git a/PACE/pace/posix/Makefile.am b/PACE/pace/posix/Makefile.am
deleted file mode 100644
index d50c7d6885b..00000000000
--- a/PACE/pace/posix/Makefile.am
+++ /dev/null
@@ -1,113 +0,0 @@
-##---------------------------------------------------------------------------
-## $Id$
-##
-## Makefile for the PACE C library
-##
-##---------------------------------------------------------------------------
-
-##
-## Process this file with automake to create Makefile.in
-##
-
-## The number in AUTOMAKE_OPTIONS is the minimum required version automake
-## needed to process this file.
-AUTOMAKE_OPTIONS = 1.4
-
-## Create a libtool convenience library that contains the contents of
-## the POSIX-specific version of PACE.
-noinst_LTLIBRARIES = libPACE_POSIX.la
-
-libPACE_POSIX_la_SOURCES = \
- aio.c \
- assert.c \
- ctype.c \
- dirent.c \
- fcntl.c \
- grp.c \
- locale.c \
- math.c \
- mman.c \
- mqueue.c \
- pthread.c \
- pwd.c \
- sched.c \
- semaphore.c \
- setjmp.c \
- signal.c \
- stat.c \
- stdio.c \
- stdlib.c \
- string.c \
- termios.c \
- time.c \
- times.c \
- unistd.c \
- utime.c \
- utsname.c \
- wait.c
-
-PACE_INLINE_FILES = \
- aio.inl \
- assert.inl \
- ctype.inl \
- dirent.inl \
- fcntl.inl \
- grp.inl \
- locale.inl \
- math.inl \
- mman.inl \
- mqueue.inl \
- pthread.inl \
- pwd.inl \
- sched.inl \
- semaphore.inl \
- setjmp.inl \
- signal.inl \
- stat.inl \
- stdio.inl \
- stdlib.inl \
- string.inl \
- termios.inl \
- time.inl \
- times.inl \
- unistd.inl \
- utime.inl \
- utsname.inl \
- wait.inl
-
-PACE_HEADER_FILES = \
- aio.h \
- assert.h \
- ctype.h \
- dirent.h \
- errno.h \
- fcntl.h \
- grp.h \
- limits.h \
- locale.h \
- math.h \
- mman.h \
- mqueue.h \
- pthread.h \
- pwd.h \
- sched.h \
- semaphore.h \
- setjmp.h \
- signal.h \
- stat.h \
- stdio.h \
- stdlib.h \
- string.h \
- termios.h \
- time.h \
- times.h \
- types.h \
- unistd.h \
- utime.h \
- utsname.h \
- wait.h
-
-pkgincludedir = $(includedir)/$(PACKAGE)/posix
-pkginclude_HEADERS = \
- $(PACE_INLINE_FILES) \
- $(PACE_HEADER_FILES)
diff --git a/PACE/pace/posix/README b/PACE/pace/posix/README
deleted file mode 100644
index 0116632c065..00000000000
--- a/PACE/pace/posix/README
+++ /dev/null
@@ -1 +0,0 @@
-POSIX dir
diff --git a/PACE/pace/posix/TODO b/PACE/pace/posix/TODO
deleted file mode 100644
index 6141d90a333..00000000000
--- a/PACE/pace/posix/TODO
+++ /dev/null
@@ -1,7 +0,0 @@
-$ID$
-
-Testing
-=======
-Test PACE libraries with and without PACE_HAS_POSIX_PTHREAD_SEMANTICS
-defined. There are some functions (e.g., in time.h) that have been
-changed because it looked like they didn't need this guard.
diff --git a/PACE/pace/posix/aio.c b/PACE/pace/posix/aio.c
deleted file mode 100644
index d2f62e92389..00000000000
--- a/PACE/pace/posix/aio.c
+++ /dev/null
@@ -1,20 +0,0 @@
-/* $Id$
-
- * =============================================================================
- *
- * = LIBRARY
- * pace
- *
- * = FILENAME
- * pace/posix/aio.c
- *
- * = AUTHOR
- * Luther Baker
- *
- * ============================================================================= */
-
-#include "pace/aio.h"
-
-#if !defined (PACE_HAS_INLINE)
-# include "pace/posix/aio.inl"
-#endif /* ! PACE_HAS_INLINE */
diff --git a/PACE/pace/posix/aio.h b/PACE/pace/posix/aio.h
deleted file mode 100644
index 75a11416cc7..00000000000
--- a/PACE/pace/posix/aio.h
+++ /dev/null
@@ -1,45 +0,0 @@
-/* $Id$
-
- * ============================================================================
- *
- * = LIBRARY
- * pace
- *
- * = FILENAME
- * pace/posix/aio.h
- *
- * = AUTHOR
- * Luther Baker
- *
- * ============================================================================ */
-
-#ifndef PACE_AIO_H_POSIX
-#define PACE_AIO_H_POSIX
-
-#include <aio.h>
-#include "pace/time.h"
-#include "pace/signal.h"
-
-#if defined (PACE_HAS_CPLUSPLUS)
-extern "C" {
-#endif /* PACE_HAS_CPLUSPLUS */
-
-#define PACE_AIO_ALLDONE AIO_ALLDONE
-#define PACE_AIO_CANCELED AIO_CANCELED
-#define PACE_AIO_NOCANCELED AIO_NOTCANCELED
-#define PACE_LIO_NOP LIO_NOP
-#define PACE_LIO_NOWAIT LIO_NOWAIT
-#define PACE_LIO_READ LIO_READ
-#define PACE_LIO_WAIT LIO_WAIT
-#define PACE_LIO_WRITE LIO_WRITE
-
-#ifndef PACE_AIOCB
-#define PACE_AIOCB
-typedef struct aiocb pace_aiocb;
-#endif /* PACE_AIOCB */
-
-#if defined (PACE_HAS_CPLUSPLUS)
-}
-#endif /* PACE_HAS_CPLUSPLUS */
-
-#endif /* PACE_AIO_H_POSIX */
diff --git a/PACE/pace/posix/aio.inl b/PACE/pace/posix/aio.inl
deleted file mode 100644
index d219c0cabf9..00000000000
--- a/PACE/pace/posix/aio.inl
+++ /dev/null
@@ -1,94 +0,0 @@
-/* $Id$ -*- C -*-
-
- * =============================================================================
- *
- * = LIBRARY
- * pace
- *
- * = FILENAME
- * pace/posix/aio.inl
- *
- * = AUTHOR
- * Luther Baker
- *
- * ============================================================================= */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_aio_cancel (PACE_HANDLE fildes, pace_aiocb * aiocbp)
-{
- return aio_cancel (fildes, aiocbp);
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_aio_error (const pace_aiocb * aiocbp)
-{
- return aio_error (PACE_NONCONST_ARG_CAST (struct aiocb *) aiocbp);
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_aio_fsync (int op, pace_aiocb * aiocbp)
-{
- return aio_fsync (op, aiocbp);
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_aio_read (pace_aiocb * aiocbp)
-{
- return aio_read (aiocbp);
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_aio_return (pace_aiocb * aiocbp)
-{
- return aio_return (aiocbp);
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_aio_suspend (const pace_aiocb * const list[],
- int nent,
- const pace_timespec * timeout)
-{
- return aio_suspend (PACE_AIO_SUSPEND_LIST_ARG_CAST list,
- nent,
- PACE_NONCONST_ARG_CAST (struct timespec *) timeout);
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_aio_write (pace_aiocb * aiocbp)
-{
- return aio_write (aiocbp);
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_lio_listio (int mode,
- pace_aiocb * const list[],
- int nent,
- pace_sigevent * sig)
-{
- return lio_listio (mode, PACE_NONCONST_ARG_CAST (struct aiocb **) list,
- nent, sig);
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
diff --git a/PACE/pace/posix/assert.c b/PACE/pace/posix/assert.c
deleted file mode 100644
index 368fd0a62f6..00000000000
--- a/PACE/pace/posix/assert.c
+++ /dev/null
@@ -1,20 +0,0 @@
-/* $Id$
-
- * =============================================================================
- *
- * = LIBRARY
- * pace
- *
- * = FILENAME
- * pace/posix/assert.c
- *
- * = AUTHOR
- * Joe Hoffert
- *
- * ============================================================================= */
-
-#include "pace/assert.h"
-
-#if !defined (PACE_HAS_INLINE)
-# include "pace/posix/assert.inl"
-#endif /* ! PACE_HAS_INLINE */
diff --git a/PACE/pace/posix/assert.h b/PACE/pace/posix/assert.h
deleted file mode 100644
index 08c8b075cea..00000000000
--- a/PACE/pace/posix/assert.h
+++ /dev/null
@@ -1,29 +0,0 @@
-/* $Id$
-
- * ============================================================================
- *
- * = LIBRARY
- * pace
- *
- * = FILENAME
- * pace/posix/assert.h
- *
- * = AUTHOR
- * Joe Hoffert
- *
- * =========================================================================== */
-
-#ifndef PACE_ASSERT_H_POSIX
-#define PACE_ASSERT_H_POSIX
-
-#include <assert.h>
-
-#if defined (PACE_HAS_CPLUSPLUS)
-extern "C" {
-#endif /* PACE_HAS_CPLUSPLUS */
-
-# if defined (PACE_HAS_CPLUSPLUS)
-}
-# endif /* PACE_HAS_CPLUSPLUS */
-
-#endif /* PACE_ASSERT_H_POSIX */
diff --git a/PACE/pace/posix/assert.inl b/PACE/pace/posix/assert.inl
deleted file mode 100644
index cc7974093d0..00000000000
--- a/PACE/pace/posix/assert.inl
+++ /dev/null
@@ -1,14 +0,0 @@
-/* $Id$ -*- C -*-
-
- * =============================================================================
- *
- * = LIBRARY
- * pace
- *
- * = FILENAME
- * pace/posix/assert.inl
- *
- * = AUTHOR
- * Joe Hoffert
- *
- * ============================================================================= */
diff --git a/PACE/pace/posix/ctype.c b/PACE/pace/posix/ctype.c
deleted file mode 100644
index 7bf7d34ae07..00000000000
--- a/PACE/pace/posix/ctype.c
+++ /dev/null
@@ -1,20 +0,0 @@
-/* $Id$
-
- * =============================================================================
- *
- * = LIBRARY
- * pace
- *
- * = FILENAME
- * pace/posix/ctype.c
- *
- * = AUTHOR
- * Luther Baker
- *
- * ============================================================================= */
-
-#include "pace/ctype.h"
-
-#if !defined (PACE_HAS_INLINE)
-# include "pace/posix/ctype.inl"
-#endif /* ! PACE_HAS_INLINE */
diff --git a/PACE/pace/posix/ctype.h b/PACE/pace/posix/ctype.h
deleted file mode 100644
index 88c47c8e8cb..00000000000
--- a/PACE/pace/posix/ctype.h
+++ /dev/null
@@ -1,27 +0,0 @@
-/* $Id$
-
- * ============================================================================
- *
- * = LIBRARY
- * pace
- *
- * = FILENAME
- * pace/posix/ctype.h
- *
- * = AUTHOR
- * Luther Baker
- *
- * ============================================================================ */
-
-#ifndef PACE_CTYPE_H_POSIX
-#define PACE_CTYPE_H_POSIX
-
-#if defined (PACE_HAS_CPLUSPLUS)
-extern "C" {
-#endif /* PACE_HAS_CPLUSPLUS */
-
-#if defined (PACE_HAS_CPLUSPLUS)
-}
-#endif /* PACE_HAS_CPLUSPLUS */
-
-#endif /* PACE_CTYPE_H_POSIX */
diff --git a/PACE/pace/posix/ctype.inl b/PACE/pace/posix/ctype.inl
deleted file mode 100644
index 538164bda4d..00000000000
--- a/PACE/pace/posix/ctype.inl
+++ /dev/null
@@ -1,133 +0,0 @@
-/* $Id$ -*- C -*-
-
- * =============================================================================
- *
- * = LIBRARY
- * pace
- *
- * = FILENAME
- * pace/posix/ctype.h
- *
- * = AUTHOR
- * Luther Baker
- *
- * ============================================================================= */
-
-#include <ctype.h>
-
-#if (PACE_HAS_POSIX_CLS_UOF)
-PACE_INLINE
-int
-pace_isalnum (int c)
-{
- return isalnum (c);
-}
-#endif /* PACE_HAS_POSIX_CLS_UOF */
-
-#if (PACE_HAS_POSIX_CLS_UOF)
-PACE_INLINE
-int
-pace_isalpha (int c)
-{
- return isalpha (c);
-}
-#endif /* PACE_HAS_POSIX_CLS_UOF */
-
-#if (PACE_HAS_POSIX_CLS_UOF)
-PACE_INLINE
-int
-pace_iscntrl (int c)
-{
- return iscntrl (c);
-}
-#endif /* PACE_HAS_POSIX_CLS_UOF */
-
-#if (PACE_HAS_POSIX_CLS_UOF)
-PACE_INLINE
-int
-pace_isdigit (int c)
-{
- return isdigit (c);
-}
-#endif /* PACE_HAS_POSIX_CLS_UOF */
-
-#if (PACE_HAS_POSIX_CLS_UOF)
-PACE_INLINE
-int
-pace_isgraph (int c)
-{
- return isgraph (c);
-}
-#endif /* PACE_HAS_POSIX_CLS_UOF */
-
-#if (PACE_HAS_POSIX_CLS_UOF)
-PACE_INLINE
-int
-pace_islower (int c)
-{
- return islower (c);
-}
-#endif /* PACE_HAS_POSIX_CLS_UOF */
-
-#if (PACE_HAS_POSIX_CLS_UOF)
-PACE_INLINE
-int
-pace_isprint (int c)
-{
- return isprint (c);
-}
-#endif /* PACE_HAS_POSIX_CLS_UOF */
-
-#if (PACE_HAS_POSIX_CLS_UOF)
-PACE_INLINE
-int
-pace_ispunct (int c)
-{
- return ispunct (c);
-}
-#endif /* PACE_HAS_POSIX_CLS_UOF */
-
-#if (PACE_HAS_POSIX_CLS_UOF)
-PACE_INLINE
-int
-pace_isspace (int c)
-{
- return isspace (c);
-}
-#endif /* PACE_HAS_POSIX_CLS_UOF */
-
-#if (PACE_HAS_POSIX_CLS_UOF)
-PACE_INLINE
-int
-pace_isupper (int c)
-{
- return isupper (c);
-}
-#endif /* PACE_HAS_POSIX_CLS_UOF */
-
-#if (PACE_HAS_POSIX_CLS_UOF)
-PACE_INLINE
-int
-pace_isxdigit (int c)
-{
- return isxdigit (c);
-}
-#endif /* PACE_HAS_POSIX_CLS_UOF */
-
-#if (PACE_HAS_POSIX_CLS_UOF)
-PACE_INLINE
-int
-pace_tolower (int c)
-{
- return tolower (c);
-}
-#endif /* PACE_HAS_POSIX_CLS_UOF */
-
-#if (PACE_HAS_POSIX_CLS_UOF)
-PACE_INLINE
-int
-pace_toupper (int c)
-{
- return toupper (c);
-}
-#endif /* PACE_HAS_POSIX_CLS_UOF */
diff --git a/PACE/pace/posix/dirent.c b/PACE/pace/posix/dirent.c
deleted file mode 100644
index d04ea9c1ac9..00000000000
--- a/PACE/pace/posix/dirent.c
+++ /dev/null
@@ -1,20 +0,0 @@
-/* $Id$
-
- * =============================================================================
- *
- * = LIBRARY
- * pace
- *
- * = FILENAME
- * pace/posix/dirent.c
- *
- * = AUTHOR
- * Luther Baker
- *
- * ============================================================================= */
-
-#include "pace/dirent.h"
-
-#if !defined (PACE_HAS_INLINE)
-# include "pace/posix/dirent.inl"
-#endif /* ! PACE_HAS_INLINE */
diff --git a/PACE/pace/posix/dirent.h b/PACE/pace/posix/dirent.h
deleted file mode 100644
index 5662910233a..00000000000
--- a/PACE/pace/posix/dirent.h
+++ /dev/null
@@ -1,40 +0,0 @@
-/* $Id$
-
- * ============================================================================
- *
- * = LIBRARY
- * pace
- *
- * = FILENAME
- * pace/posix/dirent.h
- *
- * = AUTHOR
- * Luther Baker
- *
- * ============================================================================ */
-
-#ifndef PACE_DIRENT_H_POSIX
-#define PACE_DIRENT_H_POSIX
-
-#include "pace/sys/types.h"
-#include <dirent.h>
-
-#if defined (PACE_HAS_CPLUSPLUS)
-extern "C" {
-#endif /* PACE_HAS_CPLUSPLUS */
-
-#ifndef PACE_DIR_T
-#define PACE_DIR_T
-typedef DIR PACE_DIR;
-#endif /* PACE_DIR_T */
-
-#ifndef PACE_DIRENT
-#define PACE_DIRENT
-typedef struct dirent pace_dirent;
-#endif /* PACE_DIRENT */
-
-#if defined (PACE_HAS_CPLUSPLUS)
-}
-#endif /* PACE_HAS_CPLUSPLUS */
-
-#endif /* PACE_DIRENT_H_POSIX */
diff --git a/PACE/pace/posix/dirent.inl b/PACE/pace/posix/dirent.inl
deleted file mode 100644
index 084b43e591c..00000000000
--- a/PACE/pace/posix/dirent.inl
+++ /dev/null
@@ -1,68 +0,0 @@
-/* $Id$ -*- C -*-
-
- * =============================================================================
- *
- * = LIBRARY
- * pace
- *
- * = FILENAME
- * pace/posix/dirent.inl
- *
- * = AUTHOR
- * Luther Baker
- *
- * ============================================================================= */
-
-#if (PACE_HAS_POSIX_FS_UOF)
-PACE_INLINE
-PACE_DIR *
-pace_opendir (const char * dirname)
-{
- return opendir (dirname);
-}
-#endif /* PACE_HAS_POSIX_FS_UOF */
-
-#if (PACE_HAS_POSIX_FS_UOF)
-PACE_INLINE
-pace_dirent *
-pace_readdir (PACE_DIR * dirp)
-{
- return readdir (dirp);
-}
-#endif /* PACE_HAS_POSIX_FS_UOF */
-
-#if (PACE_HAS_POSIX_CLSR_UOF)
-PACE_INLINE
-int
-pace_readdir_r (PACE_DIR * dirp, pace_dirent * entry,
- pace_dirent ** result)
-{
-#if (PACE_LYNXOS)
- *result = readdir_r (dirp, entry);
- if (*result == 0)
- return errno;
- return 0;
-#else
- return readdir_r (dirp, entry, result);
-#endif /* PACE_LYNXOS */
-}
-#endif /* PACE_HAS_POSIX_CLSR_UOF */
-
-#if (PACE_HAS_POSIX_FS_UOF)
-PACE_INLINE
-void
-pace_rewinddir (PACE_DIR * dirp)
-{
- rewinddir (dirp);
- return;
-}
-#endif /* PACE_HAS_POSIX_FS_UOF */
-
-#if (PACE_HAS_POSIX_FS_UOF)
-PACE_INLINE
-int
-pace_closedir (PACE_DIR * dirp)
-{
- return closedir (dirp);
-}
-#endif /* PACE_HAS_POSIX_FS_UOF */
diff --git a/PACE/pace/posix/errno.h b/PACE/pace/posix/errno.h
deleted file mode 100644
index 08595910435..00000000000
--- a/PACE/pace/posix/errno.h
+++ /dev/null
@@ -1,76 +0,0 @@
-/* $Id$
-
-* ============================================================================
-*
-* = LIBRARY
-* pace
-*
-* = FILENAME
-* pace/posix/errno.h
-*
-* = AUTHOR
-* John Heitmann
-*
-* =========================================================================== *\
-/
-
-#ifndef PACE_ERRNO_H_POSIX
-#define PACE_ERRNO_H_POSIX
-
-#include <errno.h>
-
-#if defined (PACE_HAS_CPLUSPLUS)
-extern "C" {
-#endif /* PACE_HAS_CPLUSPLUS */
-
-#define PACE_E2BIG E2BIG
-#define PACE_EACCES EACCES
-#define PACE_EAGAIN EAGAIN
-#define PACE_EBADF EBADF
-#define PACE_EBADMSG
-#define PACE_EBUSY EBUSY
-#define PACE_ECANCELED ECANCELED
-#define PACE_ECHILD ECHILD
-#define PACE_EDEADLK EDEADLK
-#define PACE_EDOM EDOM
-#define PACE_EEXIST EEXIST
-#define PACE_EFAULT EFAULT
-#define PACE_EFBIG EFBIG
-#define PACE_EINPROGRESS EINPROGRESS
-#define PACE_EINTR EINTR
-#define PACE_EINVAL EINVAL
-#define PACE_EIO EIO
-#define PACE_EISDIR EISDIR
-#define PACE_EMFILE EMFILE
-#define PACE_EMLINK EMLINK
-#define PACE_EMSGSIZE EMSGSIZE
-#define PACE_EENAMETOOLONG ENAMETOOLONG
-#define PACE_ENFILE ENFILE
-#define PACE_ENODEV ENODEV
-#define PACE_ENOENT ENOENT
-#define PACE_ENOEXEC ENOEXEC
-#define PACE_ENOLCK ENOLCK
-#define PACE_ENOMEM ENOMEM
-#define PACE_ENOSPC ENOSPC
-#define PACE_ENOSYS ENOSYS
-#define PACE_ENOTDIR ENOTDIR
-#define PACE_ENOTEMPTY ENOTEMPTY
-#define PACE_ENOTSUP ENOTSUP
-#define PACE_ENOTTY ENOTTY
-#define PACE_ENXIO ENXIO
-#define PACE_EPERM EPERM
-#define PACE_EPIPE EPIPE
-#define PACE_ERANGE ERANGE
-#define PACE_EROFS EROFS
-#define PACE_ESPIPE ESPIPE
-#define PACE_ESRCH ESRCH
-#define PACE_ETIMEDOUT ETIMEDOUT
-#define PACE_EXDEV EXDEV
-
-#define pace_errno errno
-
-# if defined (PACE_HAS_CPLUSPLUS)
-}
-# endif /* PACE_HAS_CPLUSPLUS */
-
-#endif /* PACE_ERRNO_H_POSIX */
diff --git a/PACE/pace/posix/fcntl.c b/PACE/pace/posix/fcntl.c
deleted file mode 100644
index 69183a1ba35..00000000000
--- a/PACE/pace/posix/fcntl.c
+++ /dev/null
@@ -1,20 +0,0 @@
-/* $Id$
-
- * =============================================================================
- *
- * = LIBRARY
- * pace
- *
- * = FILENAME
- * pace/posix/fcntl.c
- *
- * = AUTHOR
- * Luther Baker
- *
- * ============================================================================= */
-
-#include "pace/fcntl.h"
-
-#if !defined (PACE_HAS_INLINE)
-# include "pace/posix/fcntl.inl"
-#endif /* ! PACE_HAS_INLINE */
diff --git a/PACE/pace/posix/fcntl.h b/PACE/pace/posix/fcntl.h
deleted file mode 100644
index fc57bc098e3..00000000000
--- a/PACE/pace/posix/fcntl.h
+++ /dev/null
@@ -1,63 +0,0 @@
-/* $Id$
-
- * ============================================================================
- *
- * = LIBRARY
- * pace
- *
- * = FILENAME
- * pace/posix/fnctl.h
- *
- * = AUTHOR
- * Luther Baker
- *
- * ============================================================================ */
-
-#ifndef PACE_FCNTL_H_POSIX
-#define PACE_FCNTL_H_POSIX
-
-#include "pace/sys/types.h"
-#include "pace/unistd.h"
-#include "pace/sys/stat.h"
-#include <fcntl.h>
-
-#if defined (PACE_HAS_CPLUSPLUS)
-extern "C" {
-#endif /* PACE_HAS_CPLUSPLUS */
-
-#define PACE_FD_CLOEXEC FD_CLOEXEC
-#define PACE_F_DUPFD D_DUPFD
-#define PACE_F_GETFD F_GETFD
-#define PACE_F_GETFL F_GETFL
-#define PACE_F_GETLK F_GETLK
-#define PACE_F_RDLCK F_RDLCK
-#define PACE_F_SETFD F_SETFD
-#define PACE_F_SETFL F_SETFL
-#define PACE_F_SETLK F_SETLK
-#define PACE_F_SETLKW F_SETLKW
-#define PACE_F_UNLCK F_UNLCK
-#define PACE_F_WRLCK F_WRLCK
-#define PACE_O_ACCMODE O_ACCMODE
-#define PACE_O_APPEND O_APPEND
-#define PACE_O_CREAT O_CREAT
-#define PACE_O_DSYNC O_DSYNC
-#define PACE_O_EXCL O_EXCL
-#define PACE_O_NOCTTY O_NOCTTY
-#define PACE_O_NONBLOCK O_NONBLOCK
-#define PACE_O_RDONLY O_RDONLY
-#define PACE_O_RDWR O_RDWR
-#define PACE_O_RSYNC O_RSYNC
-#define PACE_O_SYNC O_SYNC
-#define PACE_O_TRUNC O_TRUNC
-#define PACE_O_WRONLY O_WRONLY
-
-#ifndef PACE_FLOCK
-#define PACE_FLOCK
-typedef struct flock pace_flock;
-#endif /* PACE_FLOCK */
-
-#if defined (PACE_HAS_CPLUSPLUS)
-}
-#endif /* PACE_HAS_CPLUSPLUS */
-
-#endif /* PACE_FCNTL_H_POSIX */
diff --git a/PACE/pace/posix/fcntl.inl b/PACE/pace/posix/fcntl.inl
deleted file mode 100644
index 01a7e732294..00000000000
--- a/PACE/pace/posix/fcntl.inl
+++ /dev/null
@@ -1,23 +0,0 @@
-/* $Id$ -*- C -*-
-
- * =============================================================================
- *
- * = LIBRARY
- * pace
- *
- * = FILENAME
- * pace/posix/fcntl.inl
- *
- * = AUTHOR
- * Luther Baker
- *
- * ============================================================================= */
-
-#if (PACE_HAS_POSIX_FS_UOF)
-PACE_INLINE
-int
-pace_creat (const char * path, pace_mode_t mode)
-{
- return creat (path, mode);
-}
-#endif /* PACE_HAS_POSIX_FS_UOF */
diff --git a/PACE/pace/posix/grp.c b/PACE/pace/posix/grp.c
deleted file mode 100644
index 59b11cbb739..00000000000
--- a/PACE/pace/posix/grp.c
+++ /dev/null
@@ -1,20 +0,0 @@
-/* $Id$
-
- * =============================================================================
- *
- * = LIBRARY
- * pace
- *
- * = FILENAME
- * pace/posix/grp.c
- *
- * = AUTHOR
- * Luther Baker
- *
- * ============================================================================= */
-
-#include "pace/grp.h"
-
-#if !defined (PACE_HAS_INLINE)
-# include "pace/posix/grp.inl"
-#endif /* ! PACE_HAS_INLINE */
diff --git a/PACE/pace/posix/grp.h b/PACE/pace/posix/grp.h
deleted file mode 100644
index 38be525562f..00000000000
--- a/PACE/pace/posix/grp.h
+++ /dev/null
@@ -1,34 +0,0 @@
-/* $Id$
-
- * ============================================================================
- *
- * = LIBRARY
- * pace (posix ace)
- *
- * = FILENAME
- * pace/posix/grp.h
- *
- * = AUTHOR
- * Luther Baker
- *
- * ============================================================================ */
-
-#ifndef PACE_GRP_H_POSIX
-#define PACE_GRP_H_POSIX
-
-#include <grp.h>
-
-# if defined (PACE_HAS_CPLUSPLUS)
-extern "C" {
-# endif /* PACE_HAS_CPLUSPLUS */
-
-#ifndef PACE_GROUP
-#define PACE_GROUP
-typedef struct group pace_group;
-#endif /* PACE_GROUP */
-
-# if defined (PACE_HAS_CPLUSPLUS)
-}
-# endif /* PACE_HAS_CPLUSPLUS */
-
-#endif /* PACE_GRP_H_POSIX */
diff --git a/PACE/pace/posix/grp.inl b/PACE/pace/posix/grp.inl
deleted file mode 100644
index fcac3d5f1fd..00000000000
--- a/PACE/pace/posix/grp.inl
+++ /dev/null
@@ -1,73 +0,0 @@
-/* $Id$ -*- C -*-
-
- * =============================================================================
- *
- * = LIBRARY
- * pace
- *
- * = FILENAME
- * pace/posix/grp.inl
- *
- * = AUTHOR
- * Luther Baker
- *
- * ============================================================================= */
-
-#if (PACE_HAS_POSIX_SD_UOF)
-PACE_INLINE
-pace_group *
-pace_getgrgid (pace_gid_t gid)
-{
- return getgrgid (gid);
-}
-#endif /* PACE_HAS_POSIX_SD_UOF */
-
-#if (PACE_HAS_POSIX_SDR_UOF)
-PACE_INLINE
-int
-pace_getgrgid_r (pace_gid_t gid,
- pace_group * grp,
- char * buffer,
- size_t bufsize,
- pace_group ** result)
-{
-#if (PACE_LYNXOS)
- *result = getgrgid_r (grp, gid, buffer, bufsize);
- if (*result == 0)
- return errno;
- return 0;
-#else
- return getgrgid_r (gid, grp, buffer, bufsize, result);
-#endif /* ! PACE_LYNXOS */
-}
-#endif /* PACE_HAS_POSIX_SDR_UOF */
-
-#if (PACE_HAS_POSIX_SD_UOF)
-PACE_INLINE
-pace_group *
-pace_getgrnam (const char * name)
-{
- return getgrnam (name);
-}
-#endif /* PACE_HAS_POSIX_SD_UOF */
-
-#if (PACE_HAS_POSIX_SDR_UOF)
-PACE_INLINE
-int
-pace_getgrnam_r (const char * name,
- pace_group * grp,
- char * buffer,
- size_t bufsize,
- pace_group ** result)
-{
-#if (PACE_LYNXOS)
- *result = getgrnam_r (grp, PACE_NONCONST_ARG_CAST (char *) name,
- buffer, bufsize);
- if (*result == 0)
- return errno;
- return 0;
-#else
- return getgrnam_r (name, grp, buffer, bufsize, result);
-#endif /* ! PACE_LYNXOS */
-}
-#endif /* PACE_HAS_POSIX_SDR_UOF */
diff --git a/PACE/pace/posix/limits.h b/PACE/pace/posix/limits.h
deleted file mode 100644
index fb952113bbd..00000000000
--- a/PACE/pace/posix/limits.h
+++ /dev/null
@@ -1,29 +0,0 @@
-/* $Id$
-
- * ============================================================================
- *
- * = LIBRARY
- * pace (posix ace)
- *
- * = FILENAME
- * pace/posix/limits.h
- *
- * = AUTHOR
- * Joe Hoffert
- *
- * ============================================================================ */
-
-#ifndef PACE_LIMITS_H
-#define PACE_LIMITS_H
-
-#include <limits.h>
-
-# if defined (PACE_HAS_CPLUSPLUS)
-extern "C" {
-# endif /* (PACE_HAS_CPLUSPLUS) */
-
-# if defined (PACE_HAS_CPLUSPLUS)
-}
-# endif /* PACE_HAS_CPLUSPLUS */
-
-#endif /* PACE_LIMITS_H */
diff --git a/PACE/pace/posix/locale.c b/PACE/pace/posix/locale.c
deleted file mode 100644
index 3f818716eda..00000000000
--- a/PACE/pace/posix/locale.c
+++ /dev/null
@@ -1,20 +0,0 @@
-/* $Id$
-
- * =============================================================================
- *
- * = LIBRARY
- * pace
- *
- * = FILENAME
- * pace/posix/locale.c
- *
- * = AUTHOR
- * Joe Hoffert
- *
- * ============================================================================= */
-
-#include "pace/locale.h"
-
-#if !defined (PACE_HAS_INLINE)
-# include "pace/posix/locale.inl"
-#endif /* ! PACE_HAS_INLINE */
diff --git a/PACE/pace/posix/locale.h b/PACE/pace/posix/locale.h
deleted file mode 100644
index 704d23d3c96..00000000000
--- a/PACE/pace/posix/locale.h
+++ /dev/null
@@ -1,40 +0,0 @@
-/* $Id$
-
- * ============================================================================
- *
- * = LIBRARY
- * pace
- *
- * = FILENAME
- * pace/posix/locale.h
- *
- * = AUTHOR
- * Joe Hoffert
- *
- * =========================================================================== */
-
-#ifndef PACE_LOCALE_H_POSIX
-#define PACE_LOCALE_H_POSIX
-
-#if defined (PACE_HAS_CPLUSPLUS)
-extern "C" {
-#endif /* PACE_HAS_CPLUSPLUS */
-
-#define PACE_LC_ALL LC_ALL
-#define PACE_LC_COLLATE LC_COLLATE
-#define PACE_LC_CTYPE LC_CTYPE
-#define PACE_LC_MONETARY LC_MONETARY
-#define PACE_LC_NUMERIC LC_NUMERIC
-#define PACE_LC_TIME LC_TIME
-#define PACE_NULL NULL
-
-#ifndef PACE_LCONV
-#define PACE_LCONV
-typedef struct lconv pace_lconv;
-#endif /* PACE_LCONV */
-
-#if defined (PACE_HAS_CPLUSPLUS)
-}
-#endif /* PACE_HAS_CPLUSPLUS */
-
-#endif /* PACE_LOCALE_H_POSIX */
diff --git a/PACE/pace/posix/locale.inl b/PACE/pace/posix/locale.inl
deleted file mode 100644
index ed0a94e319d..00000000000
--- a/PACE/pace/posix/locale.inl
+++ /dev/null
@@ -1,34 +0,0 @@
-/* $Id$ -*- C -*-
-
- * ============================================================================
- *
- * = LIBRARY
- * pace
- *
- * = FILENAME
- * pace/posix/locale.inl
- *
- * = AUTHOR
- * Joe Hoffert
- *
- * =========================================================================== */
-
-#include <locale.h>
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-pace_lconv *
-pace_localeconv (void)
-{
- return localeconv ();
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_MP_UOF)
-PACE_INLINE
-char *
-pace_setlocale (int category, const char * locale)
-{
- return setlocale (category, locale);
-}
-#endif /* PACE_HAS_POSIX_MP_UOF */
diff --git a/PACE/pace/posix/math.c b/PACE/pace/posix/math.c
deleted file mode 100644
index 8c2e32301fa..00000000000
--- a/PACE/pace/posix/math.c
+++ /dev/null
@@ -1,20 +0,0 @@
-/* $Id$
-
- * =============================================================================
- *
- * = LIBRARY
- * pace
- *
- * = FILENAME
- * pace/posix/math.c
- *
- * = AUTHOR
- * Luther Baker
- *
- * ============================================================================= */
-
-#include "pace/math.h"
-
-#if !defined (PACE_HAS_INLINE)
-# include "pace/posix/math.inl"
-#endif /* ! PACE_HAS_INLINE */
diff --git a/PACE/pace/posix/math.h b/PACE/pace/posix/math.h
deleted file mode 100644
index 34e68241bc7..00000000000
--- a/PACE/pace/posix/math.h
+++ /dev/null
@@ -1,29 +0,0 @@
-/* $Id$
-
- * ============================================================================
- *
- * = LIBRARY
- * pace
- *
- * = FILENAME
- * pace/posix/math.h
- *
- * = AUTHOR
- * Luther Baker
- *
- * ============================================================================ */
-
-#ifndef PACE_MATH_H_POSIX
-#define PACE_MATH_H_POSIX
-
-#if defined (PACE_HAS_CPLUSPLUS)
-extern "C" {
-#endif /* PACE_HAS_CPLUSPLUS */
-
-#define PACE_HUGE_VAL HUGE_VAL
-
-#if defined (PACE_HAS_CPLUSPLUS)
-}
-#endif /* PACE_HAS_CPLUSPLUS */
-
-#endif /* PACE_MATH_H_POSIX */
diff --git a/PACE/pace/posix/math.inl b/PACE/pace/posix/math.inl
deleted file mode 100644
index 29709c4dd95..00000000000
--- a/PACE/pace/posix/math.inl
+++ /dev/null
@@ -1,215 +0,0 @@
-/* $Id$ -*- C -*-
-
- * =============================================================================
- *
- * = LIBRARY
- * pace
- *
- * = FILENAME
- * pace/posix/math.inl
- *
- * = AUTHOR
- * Luther Baker
- *
- * ============================================================================= */
-
-/* FUZZ: disable check_for_math_include */
-#include <math.h>
-
-#if (PACE_HAS_POSIX_CLS_UOF)
-PACE_INLINE
-double
-pace_acos (double x)
-{
- return acos (x);
-}
-#endif /* PACE_HAS_POSIX_CLS_UOF */
-
-#if (PACE_HAS_POSIX_CLS_UOF)
-PACE_INLINE
-double
-pace_asin (double x)
-{
- return asin (x);
-}
-#endif /* PACE_HAS_POSIX_CLS_UOF */
-
-#if (PACE_HAS_POSIX_CLS_UOF)
-PACE_INLINE
-double
-pace_atan (double x)
-{
- return atan (x);
-}
-#endif /* PACE_HAS_POSIX_CLS_UOF */
-
-#if (PACE_HAS_POSIX_CLS_UOF)
-PACE_INLINE
-double
-pace_atan2 (double x, double y)
-{
- return atan2 (x, y);
-}
-#endif /* PACE_HAS_POSIX_CLS_UOF */
-
-#if (PACE_HAS_POSIX_CLS_UOF)
-PACE_INLINE
-double
-pace_cos (double x)
-{
- return cos (x);
-}
-#endif /* PACE_HAS_POSIX_CLS_UOF */
-
-#if (PACE_HAS_POSIX_CLS_UOF)
-PACE_INLINE
-double
-pace_sin (double x)
-{
- return sin (x);
-}
-#endif /* PACE_HAS_POSIX_CLS_UOF */
-
-#if (PACE_HAS_POSIX_CLS_UOF)
-PACE_INLINE
-double
-pace_tan (double x)
-{
- return tan (x);
-}
-#endif /* PACE_HAS_POSIX_CLS_UOF */
-
-#if (PACE_HAS_POSIX_CLS_UOF)
-PACE_INLINE
-double
-pace_cosh (double x)
-{
- return cosh (x);
-}
-#endif /* PACE_HAS_POSIX_CLS_UOF */
-
-#if (PACE_HAS_POSIX_CLS_UOF)
-PACE_INLINE
-double
-pace_sinh (double x)
-{
- return sinh (x);
-}
-#endif /* PACE_HAS_POSIX_CLS_UOF */
-
-#if (PACE_HAS_POSIX_CLS_UOF)
-PACE_INLINE
-double
-pace_tanh (double x)
-{
- return tanh (x);
-}
-#endif /* PACE_HAS_POSIX_CLS_UOF */
-
-#if (PACE_HAS_POSIX_CLS_UOF)
-PACE_INLINE
-double
-pace_exp (double x)
-{
- return exp (x);
-}
-#endif /* PACE_HAS_POSIX_CLS_UOF */
-
-#if (PACE_HAS_POSIX_CLS_UOF)
-PACE_INLINE
-double
-pace_frexp (double x, int * exp)
-{
- return frexp (x, exp);
-}
-#endif /* PACE_HAS_POSIX_CLS_UOF */
-
-#if (PACE_HAS_POSIX_CLS_UOF)
-PACE_INLINE
-double
-pace_ldexp (double x, int exp)
-{
- return ldexp (x, exp);
-}
-#endif /* PACE_HAS_POSIX_CLS_UOF */
-
-#if (PACE_HAS_POSIX_CLS_UOF)
-PACE_INLINE
-double
-pace_log (double x)
-{
- return log (x);
-}
-#endif /* PACE_HAS_POSIX_CLS_UOF */
-
-#if (PACE_HAS_POSIX_CLS_UOF)
-PACE_INLINE
-double
-pace_log10 (double x)
-{
- return log10 (x);
-}
-#endif /* PACE_HAS_POSIX_CLS_UOF */
-
-#if (PACE_HAS_POSIX_CLS_UOF)
-PACE_INLINE
-double
-pace_modf (double x, double * iptr)
-{
- return modf (x, iptr);
-}
-#endif /* PACE_HAS_POSIX_CLS_UOF */
-
-#if (PACE_HAS_POSIX_CLS_UOF)
-PACE_INLINE
-double
-pace_pow (double x, double y)
-{
- return pow (x, y);
-}
-#endif /* PACE_HAS_POSIX_CLS_UOF */
-
-#if (PACE_HAS_POSIX_CLS_UOF)
-PACE_INLINE
-double
-pace_sqrt (double x)
-{
- return sqrt (x);
-}
-#endif /* PACE_HAS_POSIX_CLS_UOF */
-
-#if (PACE_HAS_POSIX_CLS_UOF)
-PACE_INLINE
-double
-pace_ceil (double x)
-{
- return ceil (x);
-}
-#endif /* PACE_HAS_POSIX_CLS_UOF */
-
-#if (PACE_HAS_POSIX_CLS_UOF)
-PACE_INLINE
-double
-pace_fabs (double x)
-{
- return fabs (x);
-}
-#endif /* PACE_HAS_POSIX_CLS_UOF */
-
-#if (PACE_HAS_POSIX_CLS_UOF)
-PACE_INLINE
-double
-pace_floor (double x)
-{
- return floor (x);
-}
-#endif /* PACE_HAS_POSIX_CLS_UOF */
-
-#if (PACE_HAS_POSIX_CLS_UOF)
-PACE_INLINE
-double
-pace_fmod (double x, double y)
-{
- return fmod (x, y);
-}
-#endif /* PACE_HAS_POSIX_CLS_UOF */
diff --git a/PACE/pace/posix/mman.c b/PACE/pace/posix/mman.c
deleted file mode 100644
index b68b87baa22..00000000000
--- a/PACE/pace/posix/mman.c
+++ /dev/null
@@ -1,20 +0,0 @@
-/* $Id$
-
- * =============================================================================
- *
- * = LIBRARY
- * pace
- *
- * = FILENAME
- * pace/posix/mman.c
- *
- * = AUTHOR
- * Luther Baker
- *
- * ============================================================================= */
-
-#include "pace/sys/mman.h"
-
-#if !defined (PACE_HAS_INLINE)
-# include "pace/posix/mman.inl"
-#endif /* ! PACE_HAS_INLINE */
diff --git a/PACE/pace/posix/mman.h b/PACE/pace/posix/mman.h
deleted file mode 100644
index f45efe48efa..00000000000
--- a/PACE/pace/posix/mman.h
+++ /dev/null
@@ -1,42 +0,0 @@
-/* $Id$
-
- * ============================================================================
- *
- * = LIBRARY
- * pace
- *
- * = FILENAME
- * pace/posix/mman.h
- *
- * = AUTHOR
- * Luther Baker
- *
- * ============================================================================ */
-
-#ifndef PACE_SYS_MMAN_H_POSIX
-#define PACE_SYS_MMAN_H_POSIX
-
-#include <sys/mman.h>
-
-#if defined (PACE_HAS_CPLUSPLUS)
-extern "C" {
-#endif /* PACE_HAS_CPLUSPLUS */
-
-#define PACE_MAP_FAILED MAP_FAILED
-#define PACE_MAP_FIXED MAP_FIXED
-#define PACE_MAP_PRIVATE MAP_PRIVATE
-#define PACE_MAP_SHARED MAP_SHARED
-#define PACE_MCL_CURRENT MCL_CURRENT
-#define PACE_MS_ASYNC MS_ASYNC
-#define PACE_MS_INVALIDATE
-#define PACE_MS_SYNC MS_SYNC
-#define PACE_PROT_EXEC PROT_EXEC
-#define PACE_PROT_NONE PROT_NONE
-#define PACE_PROT_READ PROT_READ
-#define PACE_PROT_WRITE PROT_WRITE
-
-#if defined (PACE_HAS_CPLUSPLUS)
-}
-#endif /* PACE_HAS_CPLUSPLUS */
-
-#endif /* PACE_SYS_MMAN_H_POSIX */
diff --git a/PACE/pace/posix/mman.inl b/PACE/pace/posix/mman.inl
deleted file mode 100644
index a89782fa44e..00000000000
--- a/PACE/pace/posix/mman.inl
+++ /dev/null
@@ -1,127 +0,0 @@
-/* $Id$ -*- C -*-
-
- * =============================================================================
- *
- * = LIBRARY
- * pace
- *
- * = FILENAME
- * pace/posix/mman.inl
- *
- * = AUTHOR
- * Luther Baker
- *
- * ============================================================================= */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_mlock (const void * addr, pace_size_t len)
-{
- return mlock (((char*)addr), len);
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_mlockall (int flags)
-{
- return mlockall (flags);
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-void *
-pace_mmap (void * addr,
- pace_size_t len,
- int prot,
- int flags,
- PACE_HANDLE fildes,
- pace_off_t off)
-{
- return mmap ((char *) addr, len, prot, flags, fildes, off);
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_munlock (const void * addr, pace_size_t len)
-{
- return munlock (((char*)addr), len);
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_mprotect (void * addr,
- pace_size_t len,
- int prot)
-{
- return mprotect ((char*)addr, len, prot);
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_msync (void * addr,
- pace_size_t len,
- int flags)
-{
- return msync ((char*)addr, len, flags);
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_munlockall ()
-{
- return munlockall ();
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_munmap (void * addr, pace_size_t len)
-{
- return munmap ((char *) addr, len);
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-PACE_HANDLE
-pace_shm_open (const char * name,
- int oflag,
- pace_mode_t mode)
-{
-# if (PACE_POSIX_C_SOURCE > 2)
- return shm_open (name, oflag, mode);
-# else /* ! PACE_POSIX_C_SOURCE */
- PACE_UNUSED_ARG (name);
- PACE_UNUSED_ARG (oflag);
- PACE_UNUSED_ARG (mode);
- PACE_ERRNO_NO_SUPPORT_RETURN (-1);
-# endif /* ! PACE_POSIX_C_SOURCE */
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_shm_unlink (const char * name)
-{
-# if (PACE_POSIX_C_SOURCE > 2)
- return shm_unlink (name);
-# else /* ! PACE_POSIX_C_SOURCE */
- PACE_UNUSED_ARG (name);
- PACE_ERRNO_NO_SUPPORT_RETURN (-1);
-# endif /* ! PACE_POSIX_C_SOURCE */
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
diff --git a/PACE/pace/posix/mqueue.c b/PACE/pace/posix/mqueue.c
deleted file mode 100644
index 596c75e3905..00000000000
--- a/PACE/pace/posix/mqueue.c
+++ /dev/null
@@ -1,24 +0,0 @@
-/* $Id$
-
- * =============================================================================
- *
- * = LIBRARY
- * pace (posix ace)
- *
- * = FILENAME
- * pace/posix/mqueue.c
- *
- * = AUTHOR
- * Luther Baker
- *
- * ============================================================================= */
-
-#include "pace/mqueue.h"
-
-#if PACE_LINUX
-# include "pace/emulation/mqueue.c"
-#endif /* PACE_LINUX */
-
-#if !defined (PACE_HAS_INLINE)
-# include "pace/posix/mqueue.inl"
-#endif /* ! PACE_HAS_INLINE */
diff --git a/PACE/pace/posix/mqueue.h b/PACE/pace/posix/mqueue.h
deleted file mode 100644
index 66483f040cf..00000000000
--- a/PACE/pace/posix/mqueue.h
+++ /dev/null
@@ -1,43 +0,0 @@
-/* $Id$
-
- * ============================================================================
- *
- * = LIBRARY
- * pace
- *
- * = FILENAME
- * pace/posix/mqueue.h
- *
- * = AUTHOR
- * Luther Baker
- *
- * ============================================================================ */
-
-#ifndef PACE_MQUEUE_H_POSIX
-#define PACE_MQUEUE_H_POSIX
-
-#if PACE_LINUX
-# include "pace/emulation/mqueue.h"
-#else
-# include <mqueue.h>
-#endif /* PACE_LINUX */
-
-#if defined (PACE_HAS_CPLUSPLUS)
-extern "C" {
-#endif /* PACE_HAS_CPLUSPLUS */
-
-#ifndef PACE_MQD_T
-#define PACE_MQD_T
- typedef mqd_t pace_mqd_t;
-#endif /* PACE_MQD_T */
-
-#ifndef PACE_MQ_ATTR
-#define PACE_MQ_ATTR
- typedef struct mq_attr pace_mq_attr;
-#endif /* PACE_MQ_ATTR */
-
-#if defined (PACE_HAS_CPLUSPLUS)
-}
-#endif /* PACE_HAS_CPLUSPLUS */
-
-#endif /* PACE_MQUEUE_H_POSIX */
diff --git a/PACE/pace/posix/mqueue.inl b/PACE/pace/posix/mqueue.inl
deleted file mode 100644
index 2459563e9b3..00000000000
--- a/PACE/pace/posix/mqueue.inl
+++ /dev/null
@@ -1,87 +0,0 @@
-/* $Id$ -*- C -*-
-
- * =============================================================================
- *
- * = LIBRARY
- * pace
- *
- * = FILENAME
- * pace/posix/mqueue.inl
- *
- * = AUTHOR
- * Luther Baker
- *
- * ============================================================================= */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_mq_close (pace_mqd_t mqdes)
-{
- return mq_close (mqdes);
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_mq_getattr (pace_mqd_t mqdes,
- pace_mq_attr * mqstat)
-{
- return mq_getattr (mqdes, mqstat);
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_mq_notify (pace_mqd_t mqdes,
- const pace_sigevent * notification)
-{
- return mq_notify (mqdes, notification);
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-ssize_t
-pace_mq_receive (pace_mqd_t mqdes,
- char * msg_ptr,
- size_t msg_len,
- unsigned int * msg_prio)
-{
- return mq_receive (mqdes, msg_ptr, msg_len, msg_prio);
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_mq_send (pace_mqd_t mqdes,
- const char * msg_ptr,
- size_t msg_len,
- unsigned int msg_prio)
-{
- return mq_send (mqdes, msg_ptr, msg_len, msg_prio);
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_mq_setattr (pace_mqd_t mqdes,
- const pace_mq_attr * mqstat,
- pace_mq_attr * omqstat)
-{
- return mq_setattr (mqdes, mqstat, omqstat);
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_mq_unlink (const char * name)
-{
- return mq_unlink (name);
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
diff --git a/PACE/pace/posix/pthread.c b/PACE/pace/posix/pthread.c
deleted file mode 100644
index 426c377c446..00000000000
--- a/PACE/pace/posix/pthread.c
+++ /dev/null
@@ -1,20 +0,0 @@
-/* $Id$
-
- * =============================================================================
- *
- * = LIBRARY
- * pace
- *
- * = FILENAME
- * pace/posix/pthread.c
- *
- * = AUTHOR
- * Luther Baker
- *
- * ============================================================================= */
-
-#include "pace/pthread.h"
-
-#if !defined (PACE_HAS_INLINE)
-# include "pace/posix/pthread.inl"
-#endif /* ! PACE_HAS_INLINE */
diff --git a/PACE/pace/posix/pthread.h b/PACE/pace/posix/pthread.h
deleted file mode 100644
index b998c50e7c1..00000000000
--- a/PACE/pace/posix/pthread.h
+++ /dev/null
@@ -1,81 +0,0 @@
-/* $Id$
-
- * ============================================================================
- *
- * = LIBRARY
- * pace
- *
- * = FILENAME
- * pace/posix/pthread.h
- *
- * = AUTHOR
- * Luther Baker
- *
- * ============================================================================ */
-
-#ifndef PACE_PTHREAD_H_POSIX
-#define PACE_PTHREAD_H_POSIX
-
-#include <pthread.h>
-#include "pace/sys/types.h"
-#include "pace/signal.h"
-
-#if defined (PACE_HAS_CPLUSPLUS)
-extern "C" {
-#endif /* PACE_HAS_CPLUSPLUS */
-
-#define PACE_PTHREAD_CANCELED PTHREAD_CANCELED
-#define PACE_PTHREAD_CANCEL_AYNCHRONOUS PTHREAD_CANCEL_ASYNCHRONOUS
-#define PACE_PTHREAD_CANCEL_DEFERRED PTHREAD_CANCEL_DEFERRED
-#define PACE_PTHREAD_CACEL_DISABLE PTHREAD_CANCEL_DISABLE
-#define PACE_PTHREAD_CANCEL_ENABLE PTHREAD_CANCEL_ENABLE
-#define PACE_PTHREAD_COND_INITIALIZER PTHREAD_COND_INITIALIZER
-#define PACE_PTHREAD_CREATE_DETACHED PTHREAD_CREATE_DETACHED
-#define PACE_PTHREAD_CREATE_JOINABLE PTHREAD_CREATE_JOINABLE
-#define PACE_PTHREAD_EXPLICIT_SCHED PTHREAD_EXPLICIT_SCHED
-#define PACE_PTHREAD_INHERIT_SCHED PTHREAD_INHERIT_SCHED
-#define PACE_PTHREAD_MUTEX_INITIALIZER PTHREAD_MUTEX_INITIALIZER
-#define PACE_PTHREAD_ONCE_INIT PTHREAD_ONCE_INIT
-#define PACE_PTHREAD_PRIO_INHERIT PTHREAD_PRIO_INHERIT
-#define PACE_PTHREAD_PRIO_NONE PTHREAD_PRIO_NONE
-#define PACE_PTHREAD_PRIO_PROTECT PTHREAD_PRIO_PROTECT
-#define PACE_PTHREAD_PROCESS_PRIVATE PTHREAD_PROCESS_PRIVATE
-#define PACE_PTHREAD_PROCESS_SHARED PTHREAD_PROCESS_SHARED
-#define PACE_PTHREAD_SCOPE_PROCESS PTHREAD_SCOPE_PROCESS
-#define PACE_PTHREAD_SCOPE_SYSTEM PTHREAD_SCOPE_SYSTEM
-
-#ifndef PACE_SCHED_PARAM
-#define PACE_SCHED_PARAM
- typedef struct sched_param pace_sched_param;
-#endif /* PACE_SCHED_PARAM */
-
-#if defined (PACE_HAS_CPLUSPLUS)
-# ifndef PACE_ATFORK_PF
-# define PACE_ATFORK_PF
- typedef void (*pace_atfork_pf) (void);
-# endif /* PACE_ATFORK_PF */
-
-# ifndef PACE_KEYCREATE_PF
-# define PACE_KEYCREATE_PF
- typedef void (*pace_keycreate_pf) (void*);
-# endif /* PACE_KEYCREATE_PF */
-
-# ifndef PACE_ONCE_PF
-# define PACE_ONCE_PF
- typedef void (*pace_once_pf) (void);
-# endif /* PACE_ONCE_PF */
-
-# ifndef PACE_CREATE_PF
-# define PACE_CREATE_PF
- typedef void* (*pace_create_pf) (void*);
-# endif /* PACE_CREATE_PF */
-
-#endif /* PACE_HAS_CPLUPLUS */
-
-
-
-#if defined (PACE_HAS_CPLUSPLUS)
-}
-#endif /* PACE_HAS_CPLUSPLUS */
-
-#endif /* PACE_PTHREAD_H_POSIX */
diff --git a/PACE/pace/posix/pthread.inl b/PACE/pace/posix/pthread.inl
deleted file mode 100644
index cb16f5b9575..00000000000
--- a/PACE/pace/posix/pthread.inl
+++ /dev/null
@@ -1,761 +0,0 @@
-/* $Id$ -*- C -*-
-
- * =============================================================================
- *
- * = LIBRARY
- * pace
- *
- * = FILENAME
- * pace/posix/pthread.inl
- *
- * = AUTHOR
- * Luther Baker
- *
- * ============================================================================= */
-
-#include "pace/unistd.h"
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-# if defined (PACE_HAS_CPLUSPLUS)
-PACE_INLINE
-int
-pace_pthread_atfork (pace_atfork_pf prepare,
- pace_atfork_pf parent,
- pace_atfork_pf child)
-{
- return pthread_atfork (prepare, parent, child);
-}
-# else /* ! PACE_HAS_CPLUSPLUS */
-PACE_INLINE
-int
-pace_pthread_atfork (void (*prepare) (),
- void (*parent) (),
- void (*child) ())
-{
- return pthread_atfork (prepare, parent, child);
-}
-# endif /* PACE_HAS_CPLUSPLUS */
-#endif /* PACE_HAS_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_pthread_attr_destroy (pace_pthread_attr_t * attr)
-{
- return pthread_attr_destroy (attr);
-}
-#endif /* PACE_HAS_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_pthread_attr_getdetachstate (const pace_pthread_attr_t * attr,
- int * detachstate)
-{
- return pthread_attr_getdetachstate (attr, detachstate);
-}
-#endif /* PACE_HAS_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_pthread_attr_getinheritsched (const pace_pthread_attr_t * attr,
- int * inheritsched)
-{
-#if PACE_LYNXOS == 0x300
- return pthread_attr_getinheritsched (PACE_NONCONST_ARG_CAST (pace_pthread_attr_t *) attr);
-#else
- return pthread_attr_getinheritsched (PACE_NONCONST_ARG_CAST (pace_pthread_attr_t *) attr,
- inheritsched);
-#endif /* PACE_LYNXOS != 0x300 */
-}
-#endif /* PACE_HAS_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_pthread_attr_getschedparam (const pace_pthread_attr_t * attr,
- pace_sched_param * param)
-{
- return pthread_attr_getschedparam (attr, param);
-}
-#endif /* PACE_HAS_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_pthread_attr_getschedpolicy (const pace_pthread_attr_t * attr,
- int * policy)
-{
- return pthread_attr_getschedpolicy (attr, policy);
-}
-#endif /* PACE_HAS_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_pthread_attr_getscope (const pace_pthread_attr_t * attr,
- int * contentionscope)
-{
- return pthread_attr_getscope (attr, contentionscope);
-}
-#endif /* PACE_HAS_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_pthread_attr_getstackaddr (const pace_pthread_attr_t * attr,
- void ** stackaddr)
-{
- return pthread_attr_getstackaddr (attr, stackaddr);
-}
-#endif /* PACE_HAS_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_pthread_attr_getstacksize (const pace_pthread_attr_t * attr,
- size_t * stacksize)
-{
-#if PACE_LYNXOS == 0x300
- return pthread_attr_getstacksize (PACE_NONCONST_ARG_CAST (pace_pthread_attr_t *) attr);
-#else
- return pthread_attr_getstacksize (PACE_NONCONST_ARG_CAST (pace_pthread_attr_t *) attr,
- stacksize);
-#endif /* PACE_LYNXOS != 0x300 */
-}
-#endif /* PACE_HAS_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_pthread_attr_init (pace_pthread_attr_t * attr)
-{
- return pthread_attr_init (attr);
-}
-#endif /* PACE_HAS_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_pthread_attr_setdetachstate (pace_pthread_attr_t * attr,
- int detachstate)
-{
- return pthread_attr_setdetachstate (attr, detachstate);
-}
-#endif /* PACE_HAS_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_pthread_attr_setinheritsched (pace_pthread_attr_t * attr,
- int inheritsched)
-{
- return pthread_attr_setinheritsched (attr, inheritsched);
-}
-#endif /* PACE_HAS_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_pthread_attr_setschedparam (pace_pthread_attr_t * attr,
- const pace_sched_param * param)
-{
- return pthread_attr_setschedparam (attr, param);
-}
-#endif /* PACE_HAS_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_pthread_attr_setschedpolicy (pace_pthread_attr_t * attr,
- int policy)
-{
- return pthread_attr_setschedpolicy (attr, policy);
-}
-#endif /* PACE_HAS_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_pthread_attr_setscope (pace_pthread_attr_t * attr,
- int contentionscope)
-{
- return pthread_attr_setscope (attr, contentionscope);
-}
-#endif /* PACE_HAS_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_pthread_attr_setstackaddr (pace_pthread_attr_t * attr,
- void * stackaddr)
-{
- return pthread_attr_setstackaddr (attr, stackaddr);
-}
-#endif /* PACE_HAS_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_pthread_attr_setstacksize (pace_pthread_attr_t * attr,
- size_t stacksize)
-{
- return pthread_attr_setstacksize (attr, stacksize);
-}
-#endif /* PACE_HAS_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_pthread_cancel (pace_pthread_t thread)
-{
- return pthread_cancel (thread);
-}
-#endif /* PACE_HAS_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_pthread_cond_broadcast (pace_pthread_cond_t * cond)
-{
- return pthread_cond_broadcast (cond);
-}
-#endif /* PACE_HAS_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_pthread_cond_destroy (pace_pthread_cond_t * cond)
-{
- return pthread_cond_destroy (cond);
-}
-#endif /* PACE_HAS_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_pthread_cond_init (pace_pthread_cond_t * cond,
- const pace_pthread_condattr_t * attr)
-{
-#if PACE_LYNXOS == 0x300
- return pthread_cond_init (cond, *attr);
-#else
- return pthread_cond_init (cond, attr);
-#endif /* PACE_LYNXOS != 0x300 */
-}
-#endif /* PACE_HAS_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_pthread_cond_signal (pace_pthread_cond_t * cond)
-{
- return pthread_cond_signal (cond);
-}
-#endif /* PACE_HAS_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_pthread_cond_timedwait (pthread_cond_t * cond,
- pace_pthread_mutex_t * mutex,
- const pace_timespec * abstime)
-{
- return pthread_cond_timedwait (cond, mutex, PACE_NONCONST_ARG_CAST (struct timespec *) abstime);
-}
-#endif /* PACE_HAS_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_pthread_cond_wait (pace_pthread_cond_t * cond,
- pace_pthread_mutex_t * mutex)
-{
- return pthread_cond_wait (cond, mutex);
-}
-#endif /* PACE_HAS_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_pthread_condattr_destroy (pace_pthread_condattr_t * attr)
-{
- return pthread_condattr_destroy (attr);
-}
-#endif /* PACE_HAS_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_pthread_condattr_getpshared (const pace_pthread_condattr_t * attr,
- int * pshared)
-{
-#if PACE_LINUX
- errno = ENOSYS;
- PACE_UNUSED_ARG (attr);
- PACE_UNUSED_ARG (pshared);
- return -1;
-#else
- return pthread_condattr_getpshared (PACE_NONCONST_ARG_CAST (pace_pthread_condattr_t *) attr, pshared);
-#endif /* PACE_LINUX */
-}
-#endif /* PACE_HAS_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_pthread_condattr_init (pace_pthread_condattr_t * attr)
-{
- return pthread_condattr_init (attr);
-}
-#endif /* PACE_HAS_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_pthread_condattr_setpshared (pace_pthread_condattr_t * attr,
- int pshared)
-{
-#if PACE_LINUX
- errno = ENOSYS;
- PACE_UNUSED_ARG (attr);
- PACE_UNUSED_ARG (pshared);
- return -1;
-#else
- return pthread_condattr_setpshared (attr, pshared);
-#endif /* PACE_LINUX */
-}
-#endif /* PACE_HAS_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-# if defined (PACE_HAS_CPLUSPLUS)
-PACE_INLINE
-int
-pace_pthread_create (pace_pthread_t * thread,
- const pace_pthread_attr_t * attr,
- pace_create_pf start_routine,
- void * arg)
-{
- return pthread_create (thread, attr, start_routine, arg);
-}
-# else /* ! PACE_HAS_CPLUSPLUS */
-PACE_INLINE
-int
-pace_pthread_create (pace_pthread_t * thread,
- const pace_pthread_attr_t * attr,
- void * (*start_routine) (void*),
- void * arg)
-{
-#if PACE_LYNXOS == 0x300
- return pthread_create (thread, *attr, start_routine, arg);
-#else
- return pthread_create (thread, attr, start_routine, arg);
-#endif /* PACE_LYNXOS != 0x300 */
-}
-# endif /*! PACE_HAS_CPLUSPLUS */
-#endif /* PACE_HAS_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_pthread_detach (pace_pthread_t thread)
-{
-#if PACE_LYNXOS == 0x300
- return pthread_detach (&thread);
-#else
- return pthread_detach (thread);
-#endif /* PACE_LYNXOS != 0x300 */
-}
-#endif /* PACE_HAS_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_pthread_equal (pace_pthread_t t1, pthread_t t2)
-{
- return pthread_equal (t1, t2);
-}
-#endif /* PACE_HAS_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-void
-pace_pthread_exit (void * value_ptr)
-{
- pthread_exit (value_ptr);
- return;
-}
-#endif /* PACE_HAS_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_pthread_getschedparam (pace_pthread_t thread,
- int * policy,
- pace_sched_param * param)
-{
- return pthread_getschedparam (thread, policy, param);
-}
-#endif /* PACE_HAS_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-void *
-pace_pthread_getspecific (pace_pthread_key_t key)
-{
-#if PACE_LYNXOS == 0x300
- void *value;
- if (pthread_getspecific (key, &value) != 0)
- return 0;
-
- return value;
-#else
- return pthread_getspecific (key);
-#endif /* PACE_LYNXOS != 0x300 */
-}
-#endif /* PACE_HAS_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_pthread_join (pace_pthread_t thread, void ** value_ptr)
-{
- return pthread_join (thread, value_ptr);
-}
-#endif /* PACE_HAS_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-# if defined (PACE_HAS_CPLUSPLUS)
-PACE_INLINE
-int
-pace_pthread_key_create (pace_pthread_key_t * key,
- pace_keycreate_pf destructor)
-{
- return pthread_key_create (key, destructor);
-}
-#else /* ! PACE_HAS_CPLUSPLUS */
-PACE_INLINE
-int
-pace_pthread_key_create (pace_pthread_key_t * key,
- void (*destructor)(void*))
-{
- return pthread_key_create (key, destructor);
-}
-# endif /* PACE_HAS_CPLUSPLUS */
-#endif /* PACE_HAS_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_pthread_key_delete (pace_pthread_key_t key)
-{
- return pthread_key_delete (key);
-}
-#endif /* PACE_HAS_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_pthread_kill (pace_pthread_t thread, int sig)
-{
- return pthread_kill (thread, sig);
-}
-#endif /* PACE_HAS_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_pthread_mutex_destroy (pace_pthread_mutex_t * mutex)
-{
- return pthread_mutex_destroy (mutex);
-}
-#endif /* PACE_HAS_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_pthread_mutex_getprioceiling (pace_pthread_mutex_t * mutex,
- int * prioceiling)
-{
-#if PACE_LINUX
- errno = ENOSYS;
- PACE_UNUSED_ARG (mutex);
- PACE_UNUSED_ARG (prioceiling);
- return -1;
-#elif PACE_LYNXOS
- PACE_ERRNO_NO_SUPPORT_RETURN (-1);
-#else /* ! PACE_LYNXOS */
- return pthread_mutex_getprioceiling (mutex, prioceiling);
-#endif /* PACE_LINUX */
-}
-#endif /* PACE_HAS_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_pthread_mutex_init (pace_pthread_mutex_t * mutex,
- const pace_pthread_mutexattr_t * attr)
-{
-#if PACE_LYNXOS == 0x300
- return pthread_mutex_init (mutex, *attr);
-#else
- return pthread_mutex_init (mutex, attr);
-#endif /* PACE_LYNXOS != 0x300 */
-}
-#endif /* PACE_HAS_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_pthread_mutex_lock (pace_pthread_mutex_t * mutex)
-{
- return pthread_mutex_lock (mutex);
-}
-#endif /* PACE_HAS_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_pthread_mutex_setprioceiling (pace_pthread_mutex_t * mutex,
- int prioceiling,
- int * old_ceiling)
-{
-#if PACE_LINUX
- errno = ENOSYS;
- PACE_UNUSED_ARG (mutex);
- PACE_UNUSED_ARG (prioceiling);
- PACE_UNUSED_ARG (old_ceiling);
- return -1;
-#elif PACE_LYNXOS
- PACE_ERRNO_NO_SUPPORT_RETURN (-1);
-#else /* ! PACE_LYNXOS */
- return pthread_mutex_setprioceiling (mutex, prioceiling, old_ceiling);
-#endif /* PACE_LINUX */
-}
-#endif /* PACE_HAS_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_pthread_mutex_trylock (pthread_mutex_t * mutex)
-{
- return pthread_mutex_trylock (mutex);
-}
-#endif /* PACE_HAS_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_pthread_mutex_unlock (pace_pthread_mutex_t * mutex)
-{
- return pthread_mutex_unlock (mutex);
-}
-#endif /* PACE_HAS_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_pthread_mutexattr_destroy (pace_pthread_mutexattr_t * attr)
-{
- return pthread_mutexattr_destroy (attr);
-}
-#endif /* PACE_HAS_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_pthread_mutexattr_getprioceiling (pace_pthread_mutexattr_t * attr,
- int * prioceiling)
-{
-#if PACE_LINUX
- errno = ENOSYS;
- PACE_UNUSED_ARG (attr);
- PACE_UNUSED_ARG (prioceiling);
- return -1;
-#else
- return pthread_mutexattr_getprioceiling (attr, prioceiling);
-#endif /* PACE_LINUX */
-}
-#endif /* PACE_HAS_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_pthread_mutexattr_getprotocol (const pace_pthread_mutexattr_t * attr,
- int * protocol)
-{
-#if PACE_LINUX
- errno = ENOSYS;
- PACE_UNUSED_ARG (attr);
- PACE_UNUSED_ARG (protocol);
- return -1;
-#else
- return pthread_mutexattr_getprotocol (PACE_NONCONST_ARG_CAST (pace_pthread_mutexattr_t *) attr, protocol);
-#endif /* PACE_LINUX */
-}
-#endif /* PACE_HAS_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_pthread_mutexattr_setprioceiling (pace_pthread_mutexattr_t * attr,
- int prioceiling)
-{
-#if PACE_LINUX
- errno = ENOSYS;
- PACE_UNUSED_ARG (attr);
- PACE_UNUSED_ARG (prioceiling);
- return -1;
-#else
- return pthread_mutexattr_setprioceiling (attr, prioceiling);
-#endif /* PACE_LINUX */
-}
-#endif /* PACE_HAS_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_pthread_mutexattr_setprotocol (pace_pthread_mutexattr_t * attr,
- int protocol)
-{
-#if PACE_LINUX
- errno = ENOSYS;
- PACE_UNUSED_ARG (attr);
- PACE_UNUSED_ARG (protocol);
- return -1;
-#else
- return pthread_mutexattr_setprotocol (attr, protocol);
-#endif /* PACE_LINUX */
-}
-#endif /* PACE_HAS_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_pthread_mutexattr_getpshared (const pace_pthread_mutexattr_t * attr,
- int * pshared)
-{
-#if PACE_LINUX
- errno = ENOSYS;
- PACE_UNUSED_ARG (attr);
- PACE_UNUSED_ARG (pshared);
- return -1;
-#else
- return pthread_mutexattr_getpshared (PACE_NONCONST_ARG_CAST (pace_pthread_mutexattr_t *) attr, pshared);
-#endif /* PACE_LINUX */
-}
-#endif /* PACE_HAS_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_pthread_mutexattr_init (pace_pthread_mutexattr_t * attr)
-{
- return pthread_mutexattr_init (attr);
-}
-#endif /* PACE_HAS_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_pthread_mutexattr_setpshared (pace_pthread_mutexattr_t * attr,
- int pshared)
-{
-#if PACE_LINUX
- errno = ENOSYS;
- PACE_UNUSED_ARG (attr);
- PACE_UNUSED_ARG (pshared);
- return -1;
-#else
- return pthread_mutexattr_setpshared (attr, pshared);
-#endif /* PACE_LINUX */
-}
-#endif /* PACE_HAS_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-# if defined (PACE_HAS_CPLUSPLUS)
-PACE_INLINE
-int
-pace_pthread_once (pace_pthread_once_t * once_control,
- pace_once_pf void_routine)
-{
- return pthread_once (once_control, void_routine);
-}
-# else /* ! PACE_HAS_CPLUSPLUS */
-PACE_INLINE
-int
-pace_pthread_once (pace_pthread_once_t * once_control,
- void (*void_routine) (void))
-{
- return pthread_once (once_control, void_routine);
-}
-# endif /* PACE_HAS_CPLUSPLUS */
-#endif /* PACE_HAS_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-pace_pthread_t
-pace_pthread_self ()
-{
- return pthread_self ();
-}
-#endif /* PACE_HAS_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_pthread_setcancelstate (int state, int * oldstate)
-{
- return pthread_setcancelstate (state, oldstate);
-}
-#endif /* PACE_HAS_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_pthread_setcanceltype (int type, int * oldtype)
-{
- return pthread_setcanceltype (type, oldtype);
-}
-#endif /* PACE_HAS_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_pthread_setschedparam (pace_pthread_t thread,
- int policy,
- const pace_sched_param * param)
-{
- return pthread_setschedparam (thread, policy, param);
-}
-#endif /* PACE_HAS_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_pthread_setspecific (pace_pthread_key_t key, const void * value)
-{
- return pthread_setspecific (key, PACE_NONCONST_ARG_CAST (void *) value);
-}
-#endif /* PACE_HAS_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_pthread_sigmask (int how, const sigset_t * set,
- sigset_t * oset)
-{
- return pthread_sigmask (how, set, oset);
-}
-#endif /* PACE_HAS_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-void
-pace_pthread_testcancel ()
-{
- pthread_testcancel ();
- return;
-}
-#endif /* PACE_HAS_NONUOF_FUNCS */
diff --git a/PACE/pace/posix/pwd.c b/PACE/pace/posix/pwd.c
deleted file mode 100644
index 6284186cd66..00000000000
--- a/PACE/pace/posix/pwd.c
+++ /dev/null
@@ -1,20 +0,0 @@
-/* $Id$ -*- C -*-
-
- * =============================================================================
- *
- * = LIBRARY
- * pace
- *
- * = FILENAME
- * pace/posix/pwd.c
- *
- * = AUTHOR
- * Luther Baker
- *
- * ============================================================================= */
-
-#include "pace/pwd.h"
-
-#if !defined (PACE_HAS_INLINE)
-# include "pace/posix/pwd.inl"
-#endif /* ! PACE_HAS_INLINE */
diff --git a/PACE/pace/posix/pwd.h b/PACE/pace/posix/pwd.h
deleted file mode 100644
index 70398e0871c..00000000000
--- a/PACE/pace/posix/pwd.h
+++ /dev/null
@@ -1,35 +0,0 @@
-/* $Id$
-
- * ============================================================================
- *
- * = LIBRARY
- * pace
- *
- * = FILENAME
- * pace/posix/pwd.h
- *
- * = AUTHOR
- * Luther Baker
- *
- * ============================================================================ */
-
-#ifndef PACE_PWD_H_POSIX
-#define PACE_PWD_H_POSIX
-
-#include <pwd.h>
-#include "pace/sys/types.h"
-
-#if defined (PACE_HAS_CPLUSPLUS)
-extern "C" {
-#endif /* PACE_HAS_CPLUSPLUS */
-
-#ifndef PACE_PASSWD
-#define PACE_PASSWD
- typedef struct passwd pace_passwd;
-#endif /* PACE_PASSWD */
-
-#if defined (PACE_HAS_CPLUSPLUS)
-}
-#endif /* PACE_HAS_CPLUSPLUS */
-
-#endif /* PACE_PWD_H_POSIX */
diff --git a/PACE/pace/posix/pwd.inl b/PACE/pace/posix/pwd.inl
deleted file mode 100644
index ee52fd2be0d..00000000000
--- a/PACE/pace/posix/pwd.inl
+++ /dev/null
@@ -1,81 +0,0 @@
-/* $Id$ -*- C -*-
-
- * =============================================================================
- *
- * = LIBRARY
- * pace
- *
- * = FILENAME
- * pace/posix/pwd.inl
- *
- * = AUTHOR
- * Luther Baker
- *
- * ============================================================================= */
-
-#if (PACE_HAS_POSIX_SD_UOF)
-PACE_INLINE
-pace_passwd *
-pace_getpwuid (pace_uid_t uid)
-{
- return getpwuid (uid);
-}
-#endif /* PACE_HAS_POSIX_SD_UOF */
-
-#if (PACE_HAS_POSIX_SDR_UOF)
-PACE_INLINE
-int
-pace_getpwuid_r (pace_uid_t uid,
- pace_passwd * pwd,
- char * buffer,
- pace_size_t bufsize,
- pace_passwd ** result)
-{
-#if (PACE_LYNXOS)
- if (getpwuid_r (pwd, uid, buffer, bufsize) == 0)
- /* Successful search */
- {
- **result = *pwd;
- return 0;
- }
-
- return -1;
-#else
- return getpwuid_r (uid, pwd, buffer, bufsize, result);
-#endif /* ! PACE_LYNXOS */
-}
-#endif /* PACE_HAS_POSIX_SDR_UOF */
-
-#if (PACE_HAS_POSIX_SD_UOF)
-PACE_INLINE
-pace_passwd *
-pace_getpwnam (const char * name)
-{
- return getpwnam (name);
-}
-#endif /* PACE_HAS_POSIX_SD_UOF */
-
-#if (PACE_HAS_POSIX_SDR_UOF)
-PACE_INLINE
-int
-pace_getpwnam_r (const char * name,
- pace_passwd * pwd,
- char * buffer,
- pace_size_t bufsize,
- pace_passwd ** result)
-{
-# if (PACE_LYNXOS)
- if (getpwnam_r (pwd, PACE_NONCONST_ARG_CAST (char *) name,
- buffer, bufsize) == 0)
- /* Successful search */
- {
- **result = *pwd;
- return 0;
- }
-
- return -1;
-#else
- return getpwnam_r (name, pwd, buffer, bufsize, result);
-#endif /* ! PACE_LYNXOS */
-}
-#endif /* PACE_HAS_POSIX_SDR_UOF */
diff --git a/PACE/pace/posix/sched.c b/PACE/pace/posix/sched.c
deleted file mode 100644
index d78a66dbc7f..00000000000
--- a/PACE/pace/posix/sched.c
+++ /dev/null
@@ -1,20 +0,0 @@
-/* $Id$
-
- * =============================================================================
- *
- * = LIBRARY
- * pace
- *
- * = FILENAME
- * pace/posix/sched.c
- *
- * = AUTHOR
- * Luther Baker
- *
- * ============================================================================= */
-
-#include "pace/sched.h"
-
-#if !defined (PACE_HAS_INLINE)
-# include "pace/posix/sched.inl"
-#endif /* ! PACE_HAS_INLINE */
diff --git a/PACE/pace/posix/sched.h b/PACE/pace/posix/sched.h
deleted file mode 100644
index a3405d2bbd1..00000000000
--- a/PACE/pace/posix/sched.h
+++ /dev/null
@@ -1,38 +0,0 @@
-/* $Id$
-
- * ============================================================================
- *
- * = LIBRARY
- * pace
- *
- * = FILENAME
- * pace/posix/sched.h
- *
- * = AUTHOR
- * Luther Baker
- *
- * ============================================================================ */
-
-#ifndef PACE_SCHED_H_POSIX
-#define PACE_SCHED_H_POSIX
-
-#include <sched.h>
-#include "pace/time.h"
-
-#if defined (PACE_HAS_CPLUSPLUS)
-extern "C" {
-#endif /* PACE_HAS_CPLUSPLUS */
-
-#define PACE_SCHED_FIFO SCHED_FIFO
-#define PACE_SCHED_OTHER SCHED_RR
-
-#ifndef PACE_SCHED_PARAM
-#define PACE_SCHED_PARAM
- typedef struct sched_param pace_sched_param;
-#endif /* PACE_SCHED_PARAM */
-
-#if defined (PACE_HAS_CPLUSPLUS)
-}
-#endif /* PACE_HAS_CPLUSPLUS */
-
-#endif /* PACE_SCHED_H_POSIX */
diff --git a/PACE/pace/posix/sched.inl b/PACE/pace/posix/sched.inl
deleted file mode 100644
index 86f3ac7d776..00000000000
--- a/PACE/pace/posix/sched.inl
+++ /dev/null
@@ -1,95 +0,0 @@
-/* $Id$ -*- C -*-
-
- * =============================================================================
- *
- * = LIBRARY
- * pace
- *
- * = FILENAME
- * pace/posix/sched.inl
- *
- * = AUTHOR
- * Luther Baker
- *
- * ============================================================================= */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_sched_get_priority_max (int policy)
-{
- return sched_get_priority_max (policy);
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_sched_get_priority_min (int policy)
-{
- return sched_get_priority_min (policy);
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_sched_getparam (pace_pid_t pid,
- pace_sched_param * param)
-{
- return sched_getparam (pid, param);
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_sched_rr_get_interval (pace_pid_t pid,
- pace_timespec * interval)
-{
-#if PACE_SUNOS == 551
- return sched_get_rr_get_interval (pid, interval);
-#else
- return sched_rr_get_interval (pid, interval);
-#endif /* PACE_SUNOS != 551 */
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_sched_setparam (pace_pid_t pid,
- const pace_sched_param * param)
-{
- return sched_setparam (pid, param);
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_sched_getscheduler (pace_pid_t pid)
-{
- return sched_getscheduler (pid);
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_sched_setscheduler (pace_pid_t pid,
- int policy,
- const pace_sched_param * param)
-{
- return sched_setscheduler (pid, policy, param);
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_sched_yield ()
-{
- return sched_yield ();
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
diff --git a/PACE/pace/posix/semaphore.c b/PACE/pace/posix/semaphore.c
deleted file mode 100644
index 695190f4531..00000000000
--- a/PACE/pace/posix/semaphore.c
+++ /dev/null
@@ -1,20 +0,0 @@
-/* $Id$
-
- * =============================================================================
- *
- * = LIBRARY
- * pace
- *
- * = FILENAME
- * pace/posix/semaphore.c
- *
- * = AUTHOR
- * Luther Baker
- *
- * ============================================================================= */
-
-#include "pace/semaphore.h"
-
-#if !defined (PACE_HAS_INLINE)
-# include "pace/posix/semaphore.inl"
-#endif /* ! PACE_HAS_INLINE */
diff --git a/PACE/pace/posix/semaphore.h b/PACE/pace/posix/semaphore.h
deleted file mode 100644
index 4cdf0d3dd04..00000000000
--- a/PACE/pace/posix/semaphore.h
+++ /dev/null
@@ -1,31 +0,0 @@
-/* $Id$
-
- * ============================================================================
- *
- * = LIBRARY
- * pace
- *
- * = FILENAME
- * pace/posix/semaphore.h
- *
- * = AUTHOR
- * Luther Baker
- *
- * ============================================================================ */
-
-#ifndef PACE_SEMAPHORE_H_POSIX
-#define PACE_SEMAPHORE_H_POSIX
-
-#include <semaphore.h>
-
-#if defined (PACE_HAS_CPLUSPLUS)
-extern "C" {
-#endif /* PACE_HAS_CPLUSPLUS */
-
-typedef sem_t pace_sem_t;
-
-#if defined (PACE_HAS_CPLUSPLUS)
-}
-#endif /* PACE_HAS_CPLUSPLUS */
-
-#endif /* PACE_SEMAPHORE_H_POSIX */
diff --git a/PACE/pace/posix/semaphore.inl b/PACE/pace/posix/semaphore.inl
deleted file mode 100644
index b0d4fb21906..00000000000
--- a/PACE/pace/posix/semaphore.inl
+++ /dev/null
@@ -1,86 +0,0 @@
-/* $Id$ -*- C -*-
-
- * =============================================================================
- *
- * = LIBRARY
- * pace
- *
- * = FILENAME
- * pace/posix/semaphore.inl
- *
- * = AUTHOR
- * Luther Baker
- *
- * ============================================================================= */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_sem_close (pace_sem_t * sem)
-{
- return sem_close (sem);
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_sem_destroy (pace_sem_t * sem)
-{
- return sem_destroy (sem);
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_sem_getvalue (pace_sem_t * sem, int * sval)
-{
- return sem_getvalue (sem, sval);
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_sem_init (pace_sem_t * sem, int pshared, unsigned int value)
-{
- return sem_init (sem, pshared, value);
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_sem_post (pace_sem_t * sem)
-{
- return sem_post (sem);
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_sem_trywait (pace_sem_t * sem)
-{
- return sem_trywait (sem);
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_sem_unlink (const char * name)
-{
- return sem_unlink (name);
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_sem_wait (pace_sem_t * sem)
-{
- return sem_wait (sem);
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
diff --git a/PACE/pace/posix/setjmp.c b/PACE/pace/posix/setjmp.c
deleted file mode 100644
index 00db5828a7c..00000000000
--- a/PACE/pace/posix/setjmp.c
+++ /dev/null
@@ -1,20 +0,0 @@
-/* $Id$
-
- * =============================================================================
- *
- * = LIBRARY
- * pace
- *
- * = FILENAME
- * pace/posix/setjmp.c
- *
- * = AUTHOR
- * Luther Baker
- *
- * ============================================================================= */
-
-#include "pace/setjmp.h"
-
-#if !defined (PACE_HAS_INLINE)
-# include "pace/posix/setjmp.inl"
-#endif /* ! PACE_HAS_INLINE */
diff --git a/PACE/pace/posix/setjmp.h b/PACE/pace/posix/setjmp.h
deleted file mode 100644
index 30221f2e74d..00000000000
--- a/PACE/pace/posix/setjmp.h
+++ /dev/null
@@ -1,32 +0,0 @@
-/* $Id$
-
- * ============================================================================
- *
- * = LIBRARY
- * pace
- *
- * = FILENAME
- * pace/posix/setjmp.h
- *
- * = AUTHOR
- * Luther Baker
- *
- * ============================================================================ */
-
-#ifndef PACE_SETJMP_H_POSIX
-#define PACE_SETJMP_H_POSIX
-
-#include <setjmp.h>
-
-#if defined (PACE_HAS_CPLUSPLUS)
-extern "C" {
-#endif /* PACE_HAS_CPLUSPLUS */
-
- typedef jmp_buf pace_jmp_buf;
- typedef sigjmp_buf pace_sigjmp_buf;
-
-#if defined (PACE_HAS_CPLUSPLUS)
-}
-#endif /* PACE_HAS_CPLUSPLUS */
-
-#endif /* PACE_SETJMP_H_POSIX */
diff --git a/PACE/pace/posix/setjmp.inl b/PACE/pace/posix/setjmp.inl
deleted file mode 100644
index e51bcb77167..00000000000
--- a/PACE/pace/posix/setjmp.inl
+++ /dev/null
@@ -1,34 +0,0 @@
-/* $Id$ -*- C -*-
-
- * =============================================================================
- *
- * = LIBRARY
- * pace
- *
- * = FILENAME
- * pace/posix/setjmp.inl
- *
- * = AUTHOR
- * Luther Baker
- *
- * ============================================================================= */
-
-#if (PACE_HAS_POSIX_CLS_UOF)
-PACE_INLINE
-void
-pace_longjmp (pace_jmp_buf env, int val)
-{
- longjmp (env, val);
- return;
-}
-#endif /* PACE_HAS_POSIX_CLS_UOF */
-
-#if (PACE_HAS_POSIX_SIG_UOF)
-PACE_INLINE
-void
-pace_siglongjmp (pace_sigjmp_buf env, int val)
-{
- siglongjmp (env, val);
- return;
-}
-#endif /* PACE_HAS_POSIX_SIG_UOF */
diff --git a/PACE/pace/posix/signal.c b/PACE/pace/posix/signal.c
deleted file mode 100644
index 46d96b76fb0..00000000000
--- a/PACE/pace/posix/signal.c
+++ /dev/null
@@ -1,28 +0,0 @@
-/* $Id$
-
- * =============================================================================
- *
- * = LIBRARY
- * pace
- *
- * = FILENAME
- * pace/posix/signal.c
- *
- * = AUTHOR
- * Luther Baker
- *
- * ============================================================================= */
-
-#include "pace/signal.h"
-
-#if (PACE_HAS_CPLUSPLUS)
-extern "C" {
-#endif
-
-#if !defined (PACE_HAS_INLINE)
-# include "pace/posix/signal.inl"
-#endif /* ! PACE_HAS_INLINE */
-
-#if (PACE_HAS_CPLUSPLUS)
-}
-#endif
diff --git a/PACE/pace/posix/signal.h b/PACE/pace/posix/signal.h
deleted file mode 100644
index 6362595ae31..00000000000
--- a/PACE/pace/posix/signal.h
+++ /dev/null
@@ -1,71 +0,0 @@
-/* $Id$
-
- * =============================================================================
- *
- * = LIBRARY
- * pace
- *
- * = FILENAME
- * pace/posix/signal.h
- *
- * = AUTHOR
- * Luther Baker
- *
- * ============================================================================= */
-
-#ifndef PACE_SIGNAL_H_POSIX
-#define PACE_SIGNAL_H_POSIX
-
-#include <signal.h>
-#include "pace/sys/types.h"
-#include "pace/time.h"
-
-#if defined (PACE_HAS_CPLUSPLUS)
-extern "C" {
-#endif /* PACE_HAS_CPLUSPLUS */
-
-#ifndef PACE_SIG_PF
-# define PACE_SIG_PF
- typedef void (*pace_sig_pf)(int);
-#endif /* PACE_SIG_PF */
-
-#ifndef PACE_SIG_ATOMIC_T
-#define PACE_SIG_ATOMIC_T
- typedef sig_atomic_t pace_sig_atomic_t;
-#endif /* PACE_SIG_ATOMIC_T */
-
-#ifndef PACE_SIGSET_T
-#define PACE_SIGSET_T
- typedef sigset_t pace_sigset_t;
-#endif /* PACE_SIGSET_T */
-
-#ifndef PACE_SIGACTION_S
-#define PACE_SIGACTION_S
- typedef struct sigaction pace_sigaction_s;
-#endif /* PACE_SIGACTION_S */
-
-#ifndef PACE_SIGINFO_T
-#define PACE_SIGINFO_T
- typedef siginfo_t pace_siginfo_t;
-#endif /* PACE_SIGINFO_T */
-
-#ifndef PACE_SIGEVENT
-#define PACE_SIGEVENT
- typedef struct sigevent pace_sigevent;
-#endif /* PACE_SIGEVENT */
-
-#ifndef PACE_SIGVAL
-#define PACE_SIGVAL
- typedef union sigval pace_sigval;
-#endif /* PACE_SIGVAL */
-
-#ifndef PACE_TIMESPEC
-#define PACE_TIMESPEC
- typedef struct timespec pace_timespec;
-#endif /* PACE_TIMESPEC */
-
-#if defined (PACE_HAS_CPLUSPLUS)
-}
-#endif /* PACE_HAS_CPLUSPLUS */
-
-#endif /* PACE_SIGNAL_H_POSIX */
diff --git a/PACE/pace/posix/signal.inl b/PACE/pace/posix/signal.inl
deleted file mode 100644
index ce591600baa..00000000000
--- a/PACE/pace/posix/signal.inl
+++ /dev/null
@@ -1,167 +0,0 @@
-/* $Id$ -*- C -*-
-
- * =============================================================================
- *
- * = LIBRARY
- * pace
- *
- * = FILENAME
- * pace/posix/signal.inl
- *
- * = AUTHOR
- * Luther Baker
- *
- * ============================================================================= */
-
-#include "pace/pthread.h"
-#include "pace/time.h"
-
-#if (PACE_HAS_POSIX_SIG_UOF)
-PACE_INLINE
-int
-pace_kill (pace_pid_t pid, int sig)
-{
- return kill (pid, sig);
-}
-#endif /* PACE_HAS_POSIX_SIG_UOF */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_raise (int sig)
-{
- /* Implementation from POSIX std 8.1:54 */
- return pthread_kill (pthread_self (), sig);
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_SIG_UOF)
-PACE_INLINE
-int
-pace_sigaction (int sig, const pace_sigaction_s * act,
- pace_sigaction_s * oact)
-{
- return sigaction (sig, act, oact);
-}
-#endif /* PACE_HAS_POSIX_SIG_UOF */
-
-#if (PACE_HAS_POSIX_SIG_UOF)
-PACE_INLINE
-int
-pace_sigaddset (pace_sigset_t * set, int signo)
-{
- return sigaddset (set, signo);
-}
-#endif /* PACE_HAS_POSIX_SIG_UOF */
-
-#if (PACE_HAS_POSIX_SIG_UOF)
-PACE_INLINE
-int
-pace_sigemptyset (pace_sigset_t * set)
-{
- return sigemptyset (set);
-}
-#endif /* PACE_HAS_POSIX_SIG_UOF */
-
-#if (PACE_HAS_POSIX_SIG_UOF)
-PACE_INLINE
-int
-pace_sigdelset (pace_sigset_t * set, int signo)
-{
- return sigdelset (set, signo);
-}
-#endif /* PACE_HAS_POSIX_SIG_UOF */
-
-#if (PACE_HAS_POSIX_SIG_UOF)
-PACE_INLINE
-int
-pace_sigfillset (pace_sigset_t * set)
-{
- return sigfillset (set);
-}
-#endif /* PACE_HAS_POSIX_SIG_UOF */
-
-#if (PACE_HAS_POSIX_SIG_UOF)
-PACE_INLINE
-int
-pace_sigismember (const pace_sigset_t * set, int signo)
-{
- return sigismember (set, signo);
-}
-#endif /* PACE_HAS_POSIX_SIG_UOF */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-pace_sig_pf
-pace_signal (int sig, pace_sig_pf func)
-{
- return signal (sig, func);
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_SIG_UOF)
-PACE_INLINE
-int
-pace_sigpending (pace_sigset_t * set)
-{
- return sigpending (set);
-}
-#endif /* PACE_HAS_POSIX_SIG_UOF */
-
-#if (PACE_HAS_POSIX_SIG_UOF)
-PACE_INLINE
-int
-pace_sigprocmask (int how, const pace_sigset_t * set,
- pace_sigset_t * oset)
-{
- return sigprocmask (how, set, oset);
-}
-#endif /* PACE_HAS_POSIX_SIG_UOF */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_sigqueue (pace_pid_t pid, int signo,
- const pace_sigval value)
-{
- return sigqueue (pid, signo, value);
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_SIG_UOF)
-PACE_INLINE
-int
-pace_sigsuspend (const pace_sigset_t * sigmask)
-{
- return sigsuspend (sigmask);
-}
-#endif /* PACE_HAS_POSIX_SIG_UOF */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_sigtimedwait (const pace_sigset_t * set, pace_siginfo_t * info,
- const pace_timespec * timeout)
-{
- return sigtimedwait (set, info, timeout);
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_sigwait (const pace_sigset_t * set, int * sig)
-{
- return sigwait (PACE_NONCONST_ARG_CAST (pace_sigset_t *) set,
- PACE_VOIDSTARTSTAR_ARG_CAST (void**) sig);
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_sigwaitinfo (const pace_sigset_t *set, pace_siginfo_t *info)
-{
- return sigwaitinfo (set, info);
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
diff --git a/PACE/pace/posix/socket.c b/PACE/pace/posix/socket.c
deleted file mode 100644
index ef5494116c7..00000000000
--- a/PACE/pace/posix/socket.c
+++ /dev/null
@@ -1,20 +0,0 @@
-/* $Id$
-
- * =============================================================================
- *
- * = LIBRARY
- * pace
- *
- * = FILENAME
- * pace/posix/socket.c
- *
- * = AUTHOR
- * Luther Baker
- *
- * ============================================================================= */
-
-#include "pace/sys/socket.h"
-
-#if !defined (PACE_HAS_INLINE)
-# include "pace/posix/socket.inl"
-#endif /* ! PACE_HAS_INLINE */
diff --git a/PACE/pace/posix/socket.h b/PACE/pace/posix/socket.h
deleted file mode 100644
index 187230d776a..00000000000
--- a/PACE/pace/posix/socket.h
+++ /dev/null
@@ -1,231 +0,0 @@
-/* $Id$
-
- * ============================================================================
- *
- * = LIBRARY
- * pace
- *
- * = FILENAME
- * pace/posix/socket.h
- *
- * = AUTHOR
- * Luther Baker
- *
- * ============================================================================ */
-
-#ifndef PACE_SOCKET_H_POSIX
-#define PACE_SOCKET_H_POSIX
-
-#include <sys/types.h>
-#if PACE_LYNXOS == 0x300 || PACE_LYNXOS == 0x310
-#include <socket.h>
-#include <uio.h>
-#else
-#include <sys/socket.h>
-#include <sys/uio.h>
-#endif /* PACE_LYNXOS != 0x300 && PACE_LYNXOS != 0x310 */
-
-#if defined (PACE_HAS_CPLUSPLUS)
-extern "C" {
-#endif /* PACE_HAS_CPLUSPLUS */
-
-#ifndef PACE_SOMAXCONN
-#define PACE_SOMAXCONN SOMAXCONN
-#endif /* PACE_SOMAXCONN */
-
-#ifndef PACE_SOCKLEN_T
-#define PACE_SOCKLEN_T
-# if PACE_LYNXOS == 0x300 || PACE_LYNXOS == 0x310 || PACE_SUNOS == 551 || PACE_SUNOS == 560 || PACE_QNX == 600
- typedef int pace_socklen_t;
-# else
- typedef socklen_t pace_socklen_t;
-# endif /* PACE_LYNXOS != 0x300 && PACE_LYNXOS != 0x310 */
-#endif /* PACE_SOCKLEN_T */
-
-#ifndef PACE_SA_FAMILY_T
-#define PACE_SA_FAMILY_T
-# if PACE_LYNXOS != 0x300 && PACE_LYNXOS != 0x310 && PACE_SUNOS != 551 && (PACE_HPUX)
- typedef sa_family_t pace_family_t;
-# endif /* PACE_LYNXOS != 0x300 && PACE_LYNXOS != 0x310 */
-#endif /* PACE_SA_FAMILY_T */
-
-#ifndef PACE_MSGHDR
-#define PACE_MSGHDR
- typedef struct msghdr pace_msghdr;
-#endif /* PACE_MSGHDR */
-
-#ifndef PACE_CMSGRHDR
-#define PACE_CMSGRHDR
- typedef struct cmsghdr pace_cmsghdr;
-#endif /* PACE_CMSGRHDR */
-
-#ifndef PACE_LINGER
-#define PACE_LINGER
- typedef struct linger pace_linger;
-#endif /* PACE_LINGER */
-
-#ifndef PACE_SOCK_STREAM
-#define PACE_SOCK_STREAM SOCK_STREAM
-#endif /* PACE_SOCK_STREAM */
-
-#ifndef PACE_SOCK_DGRAM
-#define PACE_SOCK_DGRAM SOCK_DGRAM
-#endif /* PACE_SOCK_DGRAM */
-
-#ifndef PACE_SOCK_RAW
-#define PACE_SOCK_RAW SOCK_RAW
-#endif /* PACE_MSGHDR */
-
-#ifndef PACE_SOCK_SEQPACKET
-#define PACE_SOCK_SEQPACKET SOCK_SEQPACKET
-#endif /* PACE_SOCK_SEQPACKET */
-
-#ifndef PACE_PF_UNSPEC
-#define PACE_PF_UNSPEC PF_UNSPEC
-#endif /* PACE_PF_UNSPEC */
-
-#ifndef PACE_PF_LOCAL
-#define PACE_PF_LOCAL PF_LOCAL
-#endif /* PACE_PF_LOCAL */
-
-#ifndef PACE_PF_INET
-#define PACE_PF_INET PF_INET
-#endif /* PACE_PF_INET */
-
-#ifndef PACE_PF_ISO
-#define PACE_PF_ISO PF_ISO
-#endif /* PACE_PF_ISO */
-
-#ifndef PACE_PF_OSI
-#define PACE_PF_OSI PF_OSI
-#endif /* PACE_PF_OSI */
-
-#ifndef PACE_AF_UNSPEC
-#define PACE_AF_UNSPEC AF_UNSPEC
-#endif /* PACE_AF_UNSPEC */
-
-#ifndef PACE_AF_LOCAL
-#define PACE_AF_LOCAL AF_LOCAL
-#endif /* PACE_AF_LOCAL */
-
-#ifndef PACE_AF_INET
-#define PACE_AF_INET AF_INET
-#endif /* PACE_AF_INET */
-
-#ifndef PACE_AF_ISO
-#define PACE_AF_ISO AF_ISO
-#endif /* PACE_AF_ISO */
-
-#ifndef PACE_AF_OSI
-#define PACE_AF_OSI AF_OSI
-#endif /* PACE_AF_OSI */
-
-#ifndef PACE_MSG_OOB
-#define PACE_MSG_OOB MSG_OOB
-#endif /* PACE_MSG_OOB */
-
-#ifndef PACE_MSG_PEEK
-#define PACE_MSG_PEEK MSG_PEEK
-#endif /* PACE_MSG_PEEK */
-
-#ifndef PACE_MSG_DONTROUTE
-#define PACE_MSG_DONTROUTE MSG_DONTROUTE
-#endif /* PACE_MSG_DONTROUTE */
-
-#ifndef PACE_MSG_EOR
-#define PACE_MSG_EOR MSG_EOR
-#endif /* PACE_MSG_EOR */
-
-#ifndef PACE_MSG_TRUNC
-#define PACE_MSG_TRUNC MSG_TRUNC
-#endif /* PACE_MSG_TRUNC */
-
-#ifndef PACE_MSG_CTRUNC
-#define PACE_MSG_CTRUNC MSG_CTRUNC
-#endif /* PACE_MSG_CTRUNC */
-
-#ifndef PACE_MSG_WAITALL
-#define PACE_MSG_WAITALL MSG_WAITALL
-#endif /* PACE_MSG_WAITALL */
-
-#ifndef PACE_SOL_SOCKET
-#define PACE_SOL_SOCKET SOL_SOCKET
-#endif /* PACE_SOL_SOCKET */
-
-#ifndef PACE_SO_BROADCAST
-#define PACE_SO_BROADCAST SO_BROADCAST
-#endif /* PACE_SO_BROADCAST */
-
-#ifndef PACE_SO_DEBUG
-#define PACE_SO_DEBUG SO_DEBUG
-#endif /* PACE_SO_DEBUG */
-
-#ifndef PACE_SO_DONTROUTE
-#define PACE_SO_DONTROUTE SO_DONTROUTE
-#endif /* PACE_SO_DONTROUTE */
-
-#ifndef PACE_SO_ERROR
-#define PACE_SO_ERROR SO_ERROR
-#endif /* PACE_SO_ERROR */
-
-#ifndef PACE_SO_KEEPALIVE
-#define PACE_SO_KEEPALIVE SO_KEEPALIVE
-#endif /* PACE_SO_KEEPALIVE */
-
-#ifndef PACE_SO_LINGER
-#define PACE_SO_LINGER SO_LINGER
-#endif /* PACE_SO_LINGER */
-
-#ifndef PACE_SO_OOBINLINE
-#define PACE_SO_OOBINLINE SO_OOBINLINE
-#endif /* PACE_SO_OOBINLINE */
-
-#ifndef PACE_SO_RCVBUF
-#define PACE_SO_RCVBUF SO_RCVBUF
-#endif /* PACE_SO_RCVBUF */
-
-#ifndef PACE_SO_RCVLOWAT
-#define PACE_SO_RCVLOWAT SO_RCVLOWAT
-#endif /* PACE_SO_RCVLOWAT */
-
-#ifndef PACE_SO_RCVTIMEO
-#define PACE_SO_RCVTIMEO SO_RCVTIMEO
-#endif /* PACE_SO_RCVTIMEO */
-
-#ifndef PACE_SO_REUSEADDR
-#define PACE_SO_REUSEADDR SO_REUSEADDR
-#endif /* PACE_SO_REUSEADDR */
-
-#ifndef PACE_SO_SNDBUF
-#define PACE_SO_SNDBUF SO_SNDBUF
-#endif /* PACE_SO_SNDBUF */
-
-#ifndef PACE_SO_SNDLOWAT
-#define PACE_SO_SNDLOWAT SO_SNDLOWAT
-#endif /* PACE_SO_SNDLOWAT */
-
-#ifndef PACE_SO_SNDTIMEO
-#define PACE_SO_SNDTIMEO SO_SNDTIMEO
-#endif /* PACE_SO_SNDTIMEO */
-
-#ifndef PACE_SO_TYPE
-#define PACE_SO_TYPE SO_TYPE
-#endif /* PACE_SO_TYPE */
-
-#ifndef PACE_CMSG_DATA
-#define PACE_CMSG_DATA(cmsg) CMSG_DATA(cmsg)
-#endif /* PACE_CMSG_DATA */
-
-#ifndef PACE_CMSG_NXTHDR
-#define PACE_CMSG_NXTHDR(mhdr, cmsg) CMSG_NXTHDR(mhdr, cmsg)
-#endif /* PACE_CMSG_DATA */
-
-#ifndef PACE_CMSG_FIRSTHDR
-#define PACE_CMSG_NXTHDR(mhdr, cmsg) CMSG_NXTHDR(mhdr, cmsg)
-#endif /* PACE_CMSG_DATA */
-
-#if defined (PACE_HAS_CPLUSPLUS)
-}
-#endif /* PACE_HAS_CPLUSPLUS */
-
-#endif /* PACE_SOCKET_H_POSIX */
diff --git a/PACE/pace/posix/socket.inl b/PACE/pace/posix/socket.inl
deleted file mode 100644
index 5b38e4e198c..00000000000
--- a/PACE/pace/posix/socket.inl
+++ /dev/null
@@ -1,242 +0,0 @@
-/* $Id$ -*- C -*-
-
- * =============================================================================
- *
- * = LIBRARY
- * pace
- *
- * = FILENAME
- * pace/posix/socket.inl
- *
- * = AUTHOR
- * Luther Baker
- *
- * ============================================================================= */
-
-#include <unistd.h>
-#include <stdarg.h>
-
-#if (PACE_HAS_POSIX_SOCK_UOF)
-PACE_INLINE
-int
-pace_accept (int s,
- pace_sockaddr * socketaddress,
- pace_socklen_t * addresslen)
-{
- accept (s, socketaddress, addresslen);
-}
-#endif /* PACE_HAS_POSIX_SOCK_UOF */
-
-#if (PACE_HAS_POSIX_SOCK_UOF)
-PACE_INLINE
-int
-pace_bind (int s,
- const pace_sockaddr * socketaddress,
- pace_socklen_t addresslen)
-{
- bind (s, socketaddress, addresslen);
-}
-#endif /* PACE_HAS_POSIX_SOCK_UOF */
-
-#if (PACE_HAS_POSIX_SOCK_UOF)
-PACE_INLINE
-int
-pace_connect (int s,
- const pace_sockaddr * socketaddress,
- pace_socklen_t addresslen)
-{
- connect (s, socketaddress, addresslen);
-}
-#endif /* PACE_HAS_POSIX_SOCK_UOF */
-
-#if (PACE_HAS_POSIX_SOCK_UOF)
-PACE_INLINE
-int
-pace_getpeername (int s,
- pace_sockaddr * socketaddress,
- pace_socklen_t * addresslen)
-{
- getpeername (s, socketaddress, addresslen);
-}
-#endif /* PACE_HAS_POSIX_SOCK_UOF */
-
-#if (PACE_HAS_POSIX_SOCK_UOF)
-PACE_INLINE
-int
-pace_getsockname (int s,
- pace_sockaddr * socketaddress,
- pace_socklen_t * addresslen)
-{
- getsockname (s, socketaddress, addresslen);
-}
-#endif /* PACE_HAS_POSIX_SOCK_UOF */
-
-#if (PACE_HAS_POSIX_SOCK_UOF)
-PACE_INLINE
-int
-pace_getsockopt (int s,
- int level,
- int optname,
- void * optval,
- pace_socklen_t optlen)
-{
- getsockopt (s, level, optname, optval, optlen);
-}
-#endif /* PACE_HAS_POSIX_SOCK_UOF */
-
-#if (PACE_HAS_POSIX_SOCK_UOF)
-PACE_INLINE
-int
-pace_setsockopt (int s,
- int level,
- int optname,
- const * optval)
-{
- setsockopt (s, level, optname, optval);
-}
-#endif /* PACE_HAS_POSIX_SOCK_UOF */
-
-#if (PACE_HAS_POSIX_SOCK_UOF)
-PACE_INLINE
-int
-pace_setsockopt (int s,
- int level,
- int optname,
- const * optval)
-{
- setsockopt (s, level, optname, optval);
-}
-#endif /* PACE_HAS_POSIX_SOCK_UOF */
-
-#if (PACE_HAS_POSIX_SOCK_UOF)
-PACE_INLINE
-int
-pace_isfdtype (int fildes, int fdtype)
-{
- isfdtype (fildes, fdtype);
-}
-#endif /* PACE_HAS_POSIX_SOCK_UOF */
-
-#if (PACE_HAS_POSIX_SOCK_UOF)
-PACE_INLINE
-int
-pace_listen (int s, int backlog)
-{
- listen (s, backlog);
-}
-#endif /* PACE_HAS_POSIX_SOCK_UOF */
-
-#if (PACE_HAS_POSIX_SOCK_UOF)
-PACE_INLINE
-pace_ssize_t
-pace_recv (int s,
- void * buf,
- pace_size_t len,
- int flags)
-{
- recv (s, buf, len, flags);
-}
-#endif /* PACE_HAS_POSIX_SOCK_UOF */
-
-#if (PACE_HAS_POSIX_SOCK_UOF)
-PACE_INLINE
-pace_ssize_t
-pace_recvfrom (int s,
- void * buf,
- pace_size_t len,
- int flags,
- pace_sockaddr * from,
- pace_socklen_t * fromlen)
-{
- recvfrom (s, buf, len, flags, from, fromlen);
-}
-#endif /* PACE_HAS_POSIX_SOCK_UOF */
-
-#if (PACE_HAS_POSIX_SOCK_UOF)
-PACE_INLINE
-pace_ssize_t
-pace_rcvmsg (int s,
- pace_msghdr * msg,
- int flags)
-{
- rcvmsg (s, msg, flags);
-}
-#endif /* PACE_HAS_POSIX_SOCK_UOF */
-
-#if (PACE_HAS_POSIX_SOCK_UOF)
-PACE_INLINE
-pace_ssize_t
-pace_send (int s,
- const void * buf,
- pace_size_t len,
- int flags)
-{
- send (s, buf, len, flags);
-}
-#endif /* PACE_HAS_POSIX_SOCK_UOF */
-
-#if (PACE_HAS_POSIX_SOCK_UOF)
-PACE_INLINE
-pace_ssize_t
-pace_sendto (int s,
- const void * buf,
- pace_size_t len,
- int flags,
- const pace_sockaddr * to,
- pace_socklen_t * tolen)
-{
- sendto (s, buf, len, flags, to, tolen);
-}
-#endif /* PACE_HAS_POSIX_SOCK_UOF */
-
-#if (PACE_HAS_POSIX_SOCK_UOF)
-PACE_INLINE
-pace_ssize_t
-pace_sendmsg (int s,
- const pace_msghdr * msg,
- int flags)
-{
- sendmsg (s, msg, flags);
-}
-#endif /* PACE_HAS_POSIX_SOCK_UOF */
-
-#if (PACE_HAS_POSIX_SOCK_UOF)
-PACE_INLINE
-int
-pace_shutdown (int s, int how)
-{
- shutdown (s, how);
-}
-#endif /* PACE_HAS_POSIX_SOCK_UOF */
-
-#if (PACE_HAS_POSIX_SOCK_UOF)
-PACE_INLINE
-int
-pace_socket (int protofamily, int type, int protocol)
-{
- socket (protofamily, type, protocol);
-}
-#endif /* PACE_HAS_POSIX_SOCK_UOF */
-
-#if (PACE_HAS_POSIX_SOCK_UOF)
-PACE_INLINE
-int
-pace_socketpair (int protofamily,
- int type,
- int protocol,
- int sv[2])
-{
- socketpair (protofamily, type, protocol, sy);
-}
-#endif /* PACE_HAS_POSIX_SOCK_UOF */
-
-
-
-
-
-
-
-
-
-
-
diff --git a/PACE/pace/posix/stat.c b/PACE/pace/posix/stat.c
deleted file mode 100644
index efd10b03f76..00000000000
--- a/PACE/pace/posix/stat.c
+++ /dev/null
@@ -1,20 +0,0 @@
-/* $Id$
-
- * =============================================================================
- *
- * = LIBRARY
- * pace
- *
- * = FILENAME
- * pace/posix/stat.c
- *
- * = AUTHOR
- * Luther Baker
- *
- * ============================================================================= */
-
-#include "pace/sys/stat.h"
-
-#if !defined (PACE_HAS_INLINE)
-# include "pace/posix/stat.inl"
-#endif /* ! PACE_HAS_INLINE */
diff --git a/PACE/pace/posix/stat.h b/PACE/pace/posix/stat.h
deleted file mode 100644
index 1fc9ca38e74..00000000000
--- a/PACE/pace/posix/stat.h
+++ /dev/null
@@ -1,58 +0,0 @@
-/* $Id$
-
- * ============================================================================
- *
- * = LIBRARY
- * pace
- *
- * = FILENAME
- * pace/posix/stat.h
- *
- * = AUTHOR
- * Luther Baker
- *
- * ============================================================================ */
-
-#ifndef PACE_SYS_STAT_H_POSIX
-#define PACE_SYS_STAT_H_POSIX
-
-#include <sys/stat.h>
-
-#if defined (PACE_HAS_CPLUSPLUS)
-extern "C" {
-#endif /* PACE_HAS_CPLUSPLUS */
-
-#define PACE_S_IRGRP S_IRGRP
-#define PACE_S_IROTH S_IROTH
-#define PACE_S_IRUSR S_IRUSR
-#define PACE_S_IRWXG S_IRWXG
-#define PACE_S_IRWXO S_IRWXO
-#define PACE_S_IRWXU S_IRWXU
-#define PACE_S_ISBLK S_ISBLK
-#define PACE_S_ISCHR S_ISCHR
-#define PACE_S_ISDIR S_ISDIR
-#define PACE_S_ISFIFO S_ISFIFO
-#define PACE_S_ISGID S_SIGID
-#define PACE_S_ISREG S_ISREG
-#define PACE_S_ISUID S_ISUID
-#define PACE_S_IWGRP S_IWGRP
-#define PACE_S_IWOTH S_IWOTH
-#define PACE_S_IWUSR S_IWUSR
-#define PACE_S_IXGRP S_IXGRP
-#define PACE_S_IXOTH S_IXOTH
-#define PACE_S_IXUSR S_IXUSR
-#define PACE_S_TYPEISMQ S_TYPEISMQ
-#define PACE_S_TYPEISSEM S_TYPEISSEM
-#define PACE_S_TYPEISSHM S_TYPEISSHM
-
-#ifndef PACE_STAT
-#define PACE_STAT
- /* Kludge since there is a func and a type of the same name */
- typedef struct stat pace_stat_s;
-#endif /* PACE_STAT */
-
-#if defined (PACE_HAS_CPLUSPLUS)
-}
-#endif /* PACE_HAS_CPLUSPLUS */
-
-#endif /* PACE_SYS_STAT_H_POSIX */
diff --git a/PACE/pace/posix/stat.inl b/PACE/pace/posix/stat.inl
deleted file mode 100644
index fa9b1e61714..00000000000
--- a/PACE/pace/posix/stat.inl
+++ /dev/null
@@ -1,77 +0,0 @@
-/* $Id$ -*- C -*-
-
- * =============================================================================
- *
- * = LIBRARY
- * pace
- *
- * = FILENAME
- * pace/posix/stat.inl
- *
- * = AUTHOR
- * Luther Baker
- *
- * ============================================================================= */
-
-#if (PACE_HAS_POSIX_FA_UOF)
-PACE_INLINE
-int
-pace_chmod (const char * path, pace_mode_t mode)
-{
- return chmod (path, mode);
-}
-#endif /* PACE_HAS_POSIX_FA_UOF */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_fchmod (PACE_HANDLE fildes, pace_mode_t mode)
-{
- return fchmod (fildes, mode);
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_FS_UOF)
-PACE_INLINE
-int
-pace_fstat (PACE_HANDLE fildes, pace_stat_s * buf)
-{
- return fstat (fildes, buf);
-}
-#endif /* PACE_HAS_POSIX_FS_UOF */
-
-#if (PACE_HAS_POSIX_FS_UOF)
-PACE_INLINE
-int
-pace_mkdir (const char * path, pace_mode_t mode)
-{
- return mkdir (path, mode);
-}
-#endif /* PACE_HAS_POSIX_FS_UOF */
-
-#if (PACE_HAS_POSIX_F_UOF)
-PACE_INLINE
-int
-pace_mkfifo (const char * path, pace_mode_t mode)
-{
- return mkfifo (path, mode);
-}
-#endif /* PACE_HAS_POSIX_F_UOF */
-
-#if (PACE_HAS_POSIX_FS_UOF)
-PACE_INLINE
-int
-pace_stat (const char * path, pace_stat_s * buf)
-{
- return stat (path, buf);
-}
-#endif /* PACE_HAS_POSIX_FS_UOF */
-
-#if (PACE_HAS_POSIX_FA_UOF)
-PACE_INLINE
-pace_mode_t
-pace_umask (pace_mode_t cmask)
-{
- return umask (cmask);
-}
-#endif /* PACE_HAS_POSIX_FA_UOF */
diff --git a/PACE/pace/posix/stdio.c b/PACE/pace/posix/stdio.c
deleted file mode 100644
index 251d6da309d..00000000000
--- a/PACE/pace/posix/stdio.c
+++ /dev/null
@@ -1,20 +0,0 @@
-/* $Id$
-
- * =============================================================================
- *
- * = LIBRARY
- * pace
- *
- * = FILENAME
- * pace/posix/stdio.c
- *
- * = AUTHOR
- * Luther Baker
- *
- * ============================================================================= */
-
-#include "pace/stdio.h"
-
-#if !defined (PACE_HAS_INLINE)
-# include "pace/posix/stdio.inl"
-#endif /* ! PACE_HAS_INLINE */
diff --git a/PACE/pace/posix/stdio.h b/PACE/pace/posix/stdio.h
deleted file mode 100644
index 901476acd75..00000000000
--- a/PACE/pace/posix/stdio.h
+++ /dev/null
@@ -1,58 +0,0 @@
-/* $Id$ -*- C -*-
-
- * ============================================================================
- *
- * = LIBRARY
- * pace
- *
- * = FILENAME
- * pace/posix/stdio.h
- *
- * = AUTHOR
- * Luther Baker
- *
- * ============================================================================ */
-
-#ifndef PACE_STDIO_H_POSIX
-#define PACE_STDIO_H_POSIX
-
-#include <stdarg.h>
-#include <stdio.h>
-
-#if defined (PACE_HAS_CPLUSPLUS)
-extern "C" {
-#endif /* PACE_HAS_CPLUSPLUS */
-
-#define PACE_BUFSIZ BUFSIZ
-#define PACE_EOF EOF
-#define PACE_FILENAME_MAX FILENAME_MAX
-#define PACE_L_ctermid L_ctermid
-#define PACE_L_cuserid L_cuserid
-#ifndef PACE_NULL
-#define PACE_NULL NULL
-#endif /* PACE_NULL */
-#define PACE_SEEK_CUR SEEK_CUR
-#define PACE_SEEK_END SEEK_END
-#define PACE_SEEK_SET SEEK_SET
-#define PACE_TMP_MAX TMP_MAX
-#define pace_stderr stderr
-#define pace_stdout stdout
-#define pace_stdin stdin
-
-#ifndef PACE_FPOS_T
-#define PACE_FPOS_T
-typedef fpos_t pace_fpos_t;
-#endif /* PACE_FPOS_T */
-
-#ifndef PACE_SIZE_T
-#define PACE_SIZE_T
- typedef size_t pace_size_t;
-#endif /* PACE_SIZE_T */
-
-typedef FILE PACE_FILE;
-
-#if defined (PACE_HAS_CPLUSPLUS)
-}
-#endif /* PACE_HAS_CPLUSPLUS */
-
-#endif /* PACE_STDIO_H_POSIX */
diff --git a/PACE/pace/posix/stdio.inl b/PACE/pace/posix/stdio.inl
deleted file mode 100644
index 630d7c5e2bc..00000000000
--- a/PACE/pace/posix/stdio.inl
+++ /dev/null
@@ -1,502 +0,0 @@
-/* $Id$ -*- C -*-
-
- * ===========================================================================
- *
- * = LIBRARY
- * pace
- *
- * = FILENAME
- * pace/posix/stdio.inl
- *
- * = AUTHOR
- * Luther Baker
- *
- * =========================================================================== */
-
-#include <stdarg.h>
-
-#if (PACE_HAS_POSIX_DI_UOF)
-PACE_INLINE
-void
-pace_clearerr (FILE * stream)
-{
- clearerr (stream);
- return;
-}
-#endif /* PACE_HAS_POSIX_DI_UOF */
-
-#if (PACE_HAS_POSIX_DS_UOF)
-PACE_INLINE
-char *
-pace_ctermid (char * s)
-{
- return ctermid (s);
-}
-#endif /* PACE_HAS_POSIX_DS_UOF */
-
-#if (PACE_HAS_POSIX_DI_UOF)
-PACE_INLINE
-int
-pace_fclose (FILE * stream)
-{
- return fclose (stream);
-}
-#endif /* PACE_HAS_POSIX_DI_UOF */
-
-#if (PACE_HAS_POSIX_DI_UOF)
-PACE_INLINE
-FILE *
-pace_fdopen (int fildes,
- const char * type)
-{
- return fdopen (fildes,
- type);
-}
-#endif /* PACE_HAS_POSIX_DI_UOF */
-
-#if (PACE_HAS_POSIX_DI_UOF)
-PACE_INLINE
-int
-pace_ferror (FILE * stream)
-{
- return ferror (stream);
-}
-#endif /* PACE_HAS_POSIX_DI_UOF */
-
-#if (PACE_HAS_POSIX_DI_UOF)
-PACE_INLINE
-int
-pace_feof (FILE * stream)
-{
- return feof (stream);
-}
-#endif /* PACE_HAS_POSIX_DI_UOF */
-
-#if (PACE_HAS_POSIX_DI_UOF)
-PACE_INLINE
-int
-pace_fflush (FILE * stream)
-{
- return fflush (stream);
-}
-#endif /* PACE_HAS_POSIX_DI_UOF */
-
-#if (PACE_HAS_POSIX_DI_UOF)
-PACE_INLINE
-int
-pace_fileno (FILE * stream)
-{
- return fileno (stream);
-}
-#endif /* PACE_HAS_POSIX_DI_UOF */
-
-#if (PACE_HAS_POSIX_DI_UOF)
-PACE_INLINE
-int
-pace_fgetc (FILE * stream)
-{
- return fgetc (stream);
-}
-#endif /* PACE_HAS_POSIX_DI_UOF */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_fgetpos(PACE_FILE * stream,
- pace_fpos_t * pos)
-{
- return fgetpos (stream, pos);
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_DI_UOF)
-PACE_INLINE
-char *
-pace_fgets (char * s,
- int n,
- FILE * stream)
-{
- return fgets (s,
- n,
- stream);
-}
-#endif /* PACE_HAS_POSIX_DI_UOF */
-
-#if (PACE_HAS_POSIX_FL_UOF)
-PACE_INLINE
-void
-pace_flockfile (FILE * file)
-{
-#if defined (PACE_HAS_REENTRANT)
- flockfile (file);
-#else /* ! PACE_HAS_REENTRANT */
- PACE_UNUSED_ARG (file);
- PACE_ERRNO_NO_SUPPORT ();
-#endif /* ! PACE_HAS_REENTRANT */
- return;
-}
-#endif /* PACE_HAS_POSIX_FL_UOF */
-
-#if (PACE_HAS_POSIX_DI_UOF)
-PACE_INLINE
-FILE *
-pace_fopen (const char * filename,
- const char * mode)
-{
- return fopen (filename,
- mode);
-}
-#endif /* PACE_HAS_POSIX_DI_UOF */
-
-#if (PACE_HAS_POSIX_DI_UOF)
-PACE_INLINE
-int
-pace_fputc (int c,
- FILE * stream)
-{
- return fputc (c,
- stream);
-}
-#endif /* PACE_HAS_POSIX_DI_UOF */
-
-#if (PACE_HAS_POSIX_DI_UOF)
-PACE_INLINE
-int
-pace_fputs (const char * s,
- FILE * stream)
-{
- return fputs (s,
- stream);
-}
-#endif /* PACE_HAS_POSIX_DI_UOF */
-
-#if (PACE_HAS_POSIX_DI_UOF)
-PACE_INLINE
-size_t
-pace_fread (void * ptr,
- size_t size,
- size_t number_of_items,
- FILE * stream)
-{
- return fread (ptr,
- size,
- number_of_items,
- stream);
-}
-#endif /* PACE_HAS_POSIX_DI_UOF */
-
-#if (PACE_HAS_POSIX_DI_UOF)
-PACE_INLINE
-FILE *
-pace_freopen (const char * filename,
- const char * mode,
- FILE * stream)
-{
- return freopen (filename,
- mode,
- stream);
-}
-#endif /* PACE_HAS_POSIX_DI_UOF */
-
-#if (PACE_HAS_POSIX_FM_UOF)
-PACE_INLINE
-int
-pace_fseek (FILE * stream,
- long offset,
- int whence)
-{
- return fseek (stream,
- offset,
- whence);
-}
-#endif /* PACE_HAS_POSIX_FM_UOF */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_fsetpos(PACE_FILE *stream, const pace_fpos_t *pos)
-{
- return fsetpos (stream, pos);
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_FM_UOF)
-PACE_INLINE
-long
-pace_ftell (FILE * stream)
-{
- return ftell (stream);
-}
-#endif /* PACE_HAS_POSIX_FM_UOF */
-
-#if (PACE_HAS_POSIX_FL_UOF)
-PACE_INLINE
-int
-pace_ftrylockfile (FILE * file)
-{
-#if defined (PACE_HAS_REENTRANT)
- return ftrylockfile (file);
-#else /* ! PACE_HAS_REENTRANT */
- PACE_UNUSED_ARG(file);
- PACE_ERRNO_NO_SUPPORT_RETURN (-1);
-#endif /* ! PACE_HAS_REENTRANT */
-}
-#endif /* PACE_HAS_POSIX_FL_UOF */
-
-#if (PACE_HAS_POSIX_FL_UOF)
-PACE_INLINE
-void
-pace_funlockfile (FILE * file)
-{
-#if defined (PACE_HAS_REENTRANT)
- funlockfile (file);
-#else /* ! PACE_HAS_REENTRANT */
- PACE_UNUSED_ARG(file);
- PACE_ERRNO_NO_SUPPORT ();
-#endif /* ! PACE_HAS_REENTRANT */
- return;
-}
-#endif /* PACE_HAS_POSIX_FL_UOF */
-
-#if (PACE_HAS_POSIX_DI_UOF)
-PACE_INLINE
-pace_size_t
-pace_fwrite(const void * ptr,
- pace_size_t size, pace_size_t nmemb,
- PACE_FILE * stream)
-{
- return fwrite (ptr, size, nmemb, stream);
-}
-#endif /* PACE_HAS_POSIX_DI_UOF */
-
-#if (PACE_HAS_POSIX_DI_UOF)
-PACE_INLINE
-int
-pace_getc (FILE * stream)
-{
- return getc (stream);
-}
-#endif /* PACE_HAS_POSIX_DI_UOF */
-
-#if (PACE_HAS_POSIX_FL_UOF)
-PACE_INLINE
-int
-pace_getc_unlocked (FILE * stream)
-{
-#if defined (PACE_HAS_REENTRANT)
- return getc_unlocked (stream);
-#else /* ! PACE_HAS_POSIX */
- PACE_UNUSED_ARG(stream);
- PACE_ERRNO_NO_SUPPORT_RETURN (-1);
-#endif /* ! PACE_HAS_POSIX */
-}
-#endif /* PACE_HAS_POSIX_FL_UOF */
-
-#if (PACE_HAS_POSIX_DI_UOF)
-PACE_INLINE
-int
-pace_getchar ()
-{
- return getchar ();
-}
-#endif /* PACE_HAS_POSIX_DI_UOF */
-
-#if (PACE_HAS_POSIX_FL_UOF)
-PACE_INLINE
-int
-pace_getchar_unlocked ()
-{
-#if defined (PACE_HAS_REENTRANT)
- return getchar_unlocked ();
-#else /* ! PACE_HAS_REENTRANT */
- PACE_ERRNO_NO_SUPPORT_RETURN (-1);
-#endif /* ! PACE_HAS_REENTRANT */
-}
-#endif /* PACE_HAS_POSIX_FL_UOF */
-
-#if (PACE_HAS_POSIX_DI_UOF)
-PACE_INLINE
-char *
-pace_gets (char * s)
-{
- return gets (s);
-}
-#endif /* PACE_HAS_POSIX_DI_UOF */
-
-#if (PACE_HAS_POSIX_DI_UOF)
-PACE_INLINE
-void
-pace_perror (const char * s)
-{
- perror (s);
- return;
-}
-#endif /* PACE_HAS_POSIX_DI_UOF */
-
-#if (PACE_HAS_POSIX_DI_UOF)
-PACE_INLINE
-int
-pace_putc (int c,
- FILE * stream)
-{
- return putc (c, stream);
-}
-#endif /* PACE_HAS_POSIX_DI_UOF */
-
-#if (PACE_HAS_POSIX_FL_UOF)
-PACE_INLINE
-int
-pace_putc_unlocked (int c,
- FILE * stream)
-{
-#if defined (PACE_HAS_REENTRANT)
- return putc_unlocked (c, stream);
-#else /* ! PACE_HAS_REENTRANT */
- PACE_UNUSED_ARG(c);
- PACE_UNUSED_ARG(stream);
- PACE_ERRNO_NO_SUPPORT_RETURN (-1);
-#endif /* ! PACE_HAS_REENTRANT */
-}
-#endif /* PACE_HAS_POSIX_FL_UOF */
-
-#if (PACE_HAS_POSIX_DI_UOF)
-PACE_INLINE
-int
-pace_putchar (int c)
-{
- return putchar (c);
-}
-#endif /* PACE_HAS_POSIX_DI_UOF */
-
-#if (PACE_HAS_POSIX_FL_UOF)
-PACE_INLINE
-int
-pace_putchar_unlocked (int c)
-{
-#if defined (PACE_HAS_REENTRANT)
- return putchar_unlocked (c);
-#else /* ! PACE_HAS_REENTRANT */
- PACE_UNUSED_ARG(c);
- PACE_ERRNO_NO_SUPPORT_RETURN (-1);
-#endif /* ! PACE_HAS_REENTRANT */
-}
-#endif /* PACE_HAS_POSIX_FL_UOF */
-
-#if (PACE_HAS_POSIX_DI_UOF)
-PACE_INLINE
-int
-pace_puts (const char * s)
-{
- return puts (s);
-}
-#endif /* PACE_HAS_POSIX_DI_UOF */
-
-#if (PACE_HAS_POSIX_FS_UOF)
-PACE_INLINE
-int
-pace_remove (const char * path)
-{
- return remove (path);
-}
-#endif /* PACE_HAS_POSIX_FS_UOF */
-
-#if (PACE_HAS_POSIX_FS_UOF)
-PACE_INLINE
-int
-pace_rename (const char * old_name,
- const char * new_name)
-{
- return rename (old_name,
- new_name);
-}
-#endif /* PACE_HAS_POSIX_FS_UOF */
-
-#if (PACE_HAS_POSIX_FM_UOF)
-PACE_INLINE
-void
-pace_rewind (FILE * stream)
-{
- rewind (stream);
- return;
-}
-#endif /* PACE_HAS_POSIX_FM_UOF */
-
-#if (PACE_HAS_POSIX_DI_UOF)
-PACE_INLINE
-void
-pace_setbuf (FILE * stream, char * buf)
-{
- setbuf (stream, buf);
- return;
-}
-#endif /* PACE_HAS_POSIX_DI_UOF */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_setvbuf(PACE_FILE * stream,
- char * buf,
- int mode, pace_size_t size)
-{
- return setvbuf (stream, buf, mode, size);
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_FS_UOF)
-PACE_INLINE
-FILE *
-pace_tmpfile ()
-{
- return tmpfile ();
-}
-#endif /* PACE_HAS_POSIX_FS_UOF */
-
-#if (PACE_HAS_POSIX_FS_UOF)
-PACE_INLINE
-char *
-pace_tmpnam (char * s)
-{
- return tmpnam (s);
-}
-#endif /* PACE_HAS_POSIX_FS_UOF */
-
-#if (PACE_HAS_POSIX_DI_UOF)
-PACE_INLINE
-int
-pace_ungetc (int c, FILE * stream)
-{
- return ungetc (c, stream);
-}
-#endif /* PACE_HAS_POSIX_DI_UOF */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_vfprintf (PACE_FILE * stream,
- const char * format,
- va_list arg)
-{
- return vfprintf (stream, format, arg);
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_vprintf (const char * format,
- va_list arg)
-{
- return vprintf (format, arg);
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_vsprintf (char * s,
- const char * format,
- va_list arg)
-{
- return vsprintf (s, format, arg);
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
diff --git a/PACE/pace/posix/stdlib.c b/PACE/pace/posix/stdlib.c
deleted file mode 100644
index 041a8bd0bbe..00000000000
--- a/PACE/pace/posix/stdlib.c
+++ /dev/null
@@ -1,20 +0,0 @@
-/* $Id$
-
- * =============================================================================
- *
- * = LIBRARY
- * pace
- *
- * = FILENAME
- * pace/posix/stdlib.c
- *
- * = AUTHOR
- * Luther Baker
- *
- * ============================================================================= */
-
-#include "pace/stdlib.h"
-
-#if !defined (PACE_HAS_INLINE)
-# include "pace/posix/stdlib.inl"
-#endif /* ! PACE_HAS_INLINE */
diff --git a/PACE/pace/posix/stdlib.h b/PACE/pace/posix/stdlib.h
deleted file mode 100644
index 5e9b762e77b..00000000000
--- a/PACE/pace/posix/stdlib.h
+++ /dev/null
@@ -1,64 +0,0 @@
-/* $Id$
-
- * ============================================================================
- *
- * = LIBRARY
- * pace
- *
- * = FILENAME
- * pace/posix/stdlib.h
- *
- * = AUTHOR
- * Luther Baker
- *
- * ============================================================================ */
-
-#ifndef PACE_STDLIB_H_POSIX
-#define PACE_STDLIB_H_POSIX
-
-#include <stdlib.h>
-
-#if defined (PACE_HAS_CPLUSPLUS)
-extern "C" {
-#endif /* PACE_HAS_CPLUSPLUS */
-
-#define PACE_EXIT_FAILURE EXIT_FAILURE
-#define PACE_EXIT_SUCCESS EXIT_SUCCESS
-#define PACE_MB_CUR_MAX MB_CUR_MAX
-#ifndef PACE_NULL
-# define PACE_NULL NULL
-#endif /* PACE_NULL */
-#define PACE_RAND_MAX RAND_MAX
-
-#ifndef PACE_DIV_T
-#define PACE_DIV_T
- typedef div_t pace_div_t;
-#endif /* PACE_DIV_T */
-
-#ifndef PACE_LDIV_T
-#define PACE_LDIV_T
- typedef ldiv_t pace_ldiv_t;
-#endif /* PACE_LDIV_T */
-
-#ifndef PACE_SIZE_T
-#define PACE_SIZE_T
- typedef size_t pace_size_t;
-#endif /* PACE_SIZE_T */
-
-#ifndef PACE_WCHAR_T
-#define PACE_WCHAR_T
- typedef wchar_t pace_wchar_t;
-#endif /* PACE_WCHAR_T */
-
-#if defined (PACE_HAS_CPLUSPLUS)
-# ifndef PACE_BSEARCH_PF
-# define PACE_BSEARCH_PF
- typedef int (*pace_bsearch_pf) (const void*, const void*);
-# endif /* PACE_BSEARCH_PF */
-#endif /* PACE_HAS_CPLUSPLUS */
-
-#if defined (PACE_HAS_CPLUSPLUS)
-}
-#endif /* PACE_HAS_CPLUSPLUS */
-
-#endif /* PACE_STDLIB_H_POSIX */
diff --git a/PACE/pace/posix/stdlib.inl b/PACE/pace/posix/stdlib.inl
deleted file mode 100644
index eb8e7f578a0..00000000000
--- a/PACE/pace/posix/stdlib.inl
+++ /dev/null
@@ -1,323 +0,0 @@
-/* $Id$ -*- C -*-
-
- * =============================================================================
- *
- * = LIBRARY
- * pace
- *
- * = FILENAME
- * pace/posix/stdlib.inl
- *
- * = AUTHOR
- * Luther Baker
- *
- * ============================================================================= */
-
-#include <stdlib.h>
-
-#if (PACE_HAS_POSIX_SIG_UOF)
-PACE_INLINE
-void
-pace_abort (void)
-{
- abort ();
-}
-#endif /* PACE_HAS_POSIX_SIG_UOF */
-
-#if (PACE_HAS_POSIX_CLS_UOF)
-PACE_INLINE
-int
-pace_abs (int val)
-{
- return abs (val);
-}
-#endif /* PACE_HAS_POSIX_CLS_UOF */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_atexit (void (*func)(void))
-{
- return atexit (func);
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_CLS_UOF)
-PACE_INLINE
-double
-pace_atof (const char * str)
-{
- return atof (str);
-}
-#endif /* PACE_HAS_POSIX_CLS_UOF */
-
-#if (PACE_HAS_POSIX_CLS_UOF)
-PACE_INLINE
-int
-pace_atoi (const char * str)
-{
- return atoi (str);
-}
-#endif /* PACE_HAS_POSIX_CLS_UOF */
-
-#if (PACE_HAS_POSIX_CLS_UOF)
-PACE_INLINE
-long
-pace_atol (const char * str)
-{
- return atol (str);
-}
-#endif /* PACE_HAS_POSIX_CLS_UOF */
-
-#if (PACE_HAS_POSIX_CLS_UOF)
-# if defined (PACE_HAS_CPLUSPLUS)
-PACE_INLINE
-void *
-pace_bsearch (const void *key, const void *base,
- size_t nel, size_t size,
- pace_bsearch_pf compar)
-{
- return bsearch (key, base, nel, size, compar);
-}
-# else /* ! PACE_HAS_CPLUSPLUS */
-PACE_INLINE
-void *
-pace_bsearch (const void *key, const void *base,
- size_t nel, size_t size,
- int (*compar)(const void *,const void *))
-{
- return bsearch (key, base, nel, size, compar);
-}
-# endif /* PACE_HAS_CPLUSPLUS */
-#endif /* PACE_HAS_POSIX_CLS_UOF */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-pace_div_t
-pace_div (int numer, int denom)
-{
- return div (numer, denom);
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_MP_UOF)
-PACE_INLINE
-void
-pace_exit (int status)
-{
- exit (status);
- return;
-}
-#endif /* PACE_HAS_POSIX_MP_UOF */
-
-#if (PACE_HAS_POSIX_MP_UOF)
-PACE_INLINE
-char *
-pace_getenv (const char * name)
-{
- return getenv (name);
-}
-#endif /* PACE_HAS_POSIX_MP_UOF */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-long int
-pace_labs (long int j)
-{
- return labs (j);
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-pace_ldiv_t
-pace_ldiv (long int numer, long int denom)
-{
- return ldiv (numer, denom);
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_mblen (const char* s, pace_size_t n)
-{
- return mblen (s, n);
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-pace_size_t
-pace_mbstowcs (pace_wchar_t* pwcs,
- const char* s,
- pace_size_t n)
-{
- return mbstowcs (pwcs, s, n);
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_mbtowc (pace_wchar_t* pwc,
- const char* s,
- pace_size_t n)
-{
- return mbtowc (pwc, s, n);
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_CLS_UOF)
-# if (PACE_HAS_CPLUSPLUS)
-PACE_INLINE
-void
-pace_qsort (void * base, size_t nel, size_t width,
- pace_bsearch_pf compar)
-{
- qsort (base, nel, width, compar);
-}
-# else /* ! PACE_HAS_CPLUSPLUS */
-PACE_INLINE
-void
-pace_qsort (void * base, size_t nel, size_t width,
- int (*compar)(const void *,const void *))
-{
- qsort (base, nel, width, compar);
-}
-# endif /* PACE_HAS_CPLUSPLUS */
-#endif /* PACE_HAS_POSIX_CLS_UOF */
-
-#if (PACE_HAS_POSIX_CLS_UOF)
-PACE_INLINE
-int
-pace_rand ()
-{
- return rand ();
-}
-#endif /* PACE_HAS_POSIX_CLS_UOF */
-
-#if (PACE_HAS_POSIX_CLS_UOF)
-PACE_INLINE
-void
-pace_srand (unsigned int seed)
-{
- srand (seed);
- return;
-}
-#endif /* PACE_HAS_POSIX_CLS_UOF */
-
-#if (PACE_HAS_POSIX_CLSR_UOF)
-PACE_INLINE
-int
-pace_rand_r (unsigned int *seed)
-{
-#if defined (PACE_HAS_REENTRANT)
- return rand_r (seed);
-#else /* ! PACE_HAS_REENTRANT */
- PACE_UNUSED_ARG (seed);
- PACE_ERRNO_NO_SUPPORT_RETURN (-1);
-#endif /* ! PACE_HAS_REENTRANT */
-}
-#endif /* PACE_HAS_POSIX_CLSR_UOF */
-
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-double
-pace_strtod (const char* nptr,
- char** endptr)
-{
- return strtod (nptr, endptr);
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_strtol (const char* nptr,
- char** endptr,
- int base)
-{
- return strtol (nptr, endptr, base);
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-unsigned long int
-pace_strtoul (const char* nptr,
- char** endptr,
- int base)
-{
- return strtoul (nptr, endptr, base);
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_system (const char* string)
-{
- return system (string);
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-pace_size_t
-pace_wcstombs (char* s,
- const pace_wchar_t* pwcs,
- pace_size_t n)
-{
- return wcstombs (s, pwcs, n);
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_wctomb (char* s, pace_wchar_t wchar)
-{
- return wctomb (s, wchar);
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-/* Memory Management. */
-
-#if (PACE_HAS_POSIX_CLS_UOF)
-PACE_INLINE
-void *
-pace_malloc (size_t size)
-{
- return malloc (size);
-}
-#endif /* PACE_HAS_POSIX_CLS_UOF */
-
-#if (PACE_HAS_POSIX_CLS_UOF)
-PACE_INLINE
-void *
-pace_calloc (size_t nelem, size_t elsize)
-{
- return calloc (nelem, elsize);
-}
-#endif /* PACE_HAS_POSIX_CLS_UOF */
-
-#if (PACE_HAS_POSIX_CLS_UOF)
-PACE_INLINE
-void
-pace_free (void * ptr)
-{
- free (ptr);
- return;
-}
-#endif /* PACE_HAS_POSIX_CLS_UOF */
-
-#if (PACE_HAS_POSIX_CLS_UOF)
-PACE_INLINE
-void *
-pace_realloc (void * ptr, size_t size)
-{
- return realloc (ptr, size);
-}
-#endif /* PACE_HAS_POSIX_CLS_UOF */
diff --git a/PACE/pace/posix/string.c b/PACE/pace/posix/string.c
deleted file mode 100644
index 4d06077a947..00000000000
--- a/PACE/pace/posix/string.c
+++ /dev/null
@@ -1,20 +0,0 @@
-/* $Id$
-
- * =============================================================================
- *
- * = LIBRARY
- * pace
- *
- * = FILENAME
- * pace/posix/string.c
- *
- * = AUTHOR
- * Luther Baker
- *
- * ============================================================================= */
-
-#include "pace/string.h"
-
-#if !defined (PACE_HAS_INLINE)
-# include "pace/posix/string.inl"
-#endif /* ! PACE_HAS_INLINE */
diff --git a/PACE/pace/posix/string.h b/PACE/pace/posix/string.h
deleted file mode 100644
index f25fd8b077e..00000000000
--- a/PACE/pace/posix/string.h
+++ /dev/null
@@ -1,36 +0,0 @@
-/* $Id$
-
- * ============================================================================
- *
- * = LIBRARY
- * pace
- *
- * = FILENAME
- * pace/posix/string.h
- *
- * = AUTHOR
- * Luther Baker
- *
- * ============================================================================ */
-
-#ifndef PACE_STRING_H_POSIX
-#define PACE_STRING_H_POSIX
-
-#if defined (PACE_HAS_CPLUSPLUS)
-extern "C" {
-#endif /* PACE_HAS_CPLUSPLUS */
-
-#if !defined (PACE_NULL)
-# define PACE_NULL NULL
-#endif /* NULL */
-
-#ifndef PACE_SIZE_T
-#define PACE_SIZE_T
- typedef size_t pace_size_t;
-#endif /* PACE_SIZE_T */
-
-#if defined (PACE_HAS_CPLUSPLUS)
-}
-#endif /* PACE_HAS_CPLUSPLUS */
-
-#endif /* PACE_STRING_H_POSIX */
diff --git a/PACE/pace/posix/string.inl b/PACE/pace/posix/string.inl
deleted file mode 100644
index de23cfacf52..00000000000
--- a/PACE/pace/posix/string.inl
+++ /dev/null
@@ -1,206 +0,0 @@
-/* $Id$ -*- C -*-
-
- * =============================================================================
- *
- * = LIBRARY
- * pace
- *
- * = FILENAME
- * pace/posix/string.inl
- *
- * = AUTHOR
- * Luther Baker
- *
- * ============================================================================= */
-
-#include <string.h>
-#include "pace/string.h"
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-void *
-pace_memchr (const void *s, int c, pace_size_t n)
-{
- return (void*) memchr (s, c, n);
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_memcmp (const void *s1, const void *s2, pace_size_t n)
-{
- return memcmp (s1, s2, n);
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-void *
-pace_memcpy (void * s1, const void * s2, pace_size_t n)
-{
- return memcpy (s1, s2, n);
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-void *
-pace_memmove (void *s1, const void *s2, pace_size_t n)
-{
- return memmove (s1, s2, n);
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_BROKEN_INLINE
-void *
-pace_memset (void *s, int c, pace_size_t n)
-{
- return memset (s, c, n);
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-
-#if (PACE_HAS_POSIX_CLS_UOF)
-PACE_INLINE
-char *
-pace_strcat (char * s1, const char * s2)
-{
- return strcat (s1, s2);
-}
-#endif /* PACE_HAS_POSIX_CLS_UOF */
-
-#if (PACE_HAS_POSIX_CLS_UOF)
-PACE_INLINE
-char *
-pace_strncat (char * s1, const char * s2, size_t n)
-{
- return strncat (s1, s2, n);
-}
-#endif /* PACE_HAS_POSIX_CLS_UOF */
-
-#if (PACE_HAS_POSIX_CLS_UOF)
-PACE_INLINE
-char *
-pace_strchr (const char * s, int c)
-{
- return (char*) strchr (s, c);
-}
-#endif /* PACE_HAS_POSIX_CLS_UOF */
-
-#if (PACE_HAS_POSIX_CLS_UOF)
-PACE_INLINE
-char *
-pace_strrchr (const char * s, int c)
-{
- return (char*) strrchr (s, c);
-}
-#endif /* PACE_HAS_POSIX_CLS_UOF */
-
-#if (PACE_HAS_POSIX_CLS_UOF)
-PACE_BROKEN_INLINE
-int
-pace_strcmp (const char * s1, const char * s2)
-{
- return strcmp (s1, s2);
-}
-#endif /* PACE_HAS_POSIX_CLS_UOF */
-
-#if (PACE_HAS_POSIX_CLS_UOF)
-PACE_BROKEN_INLINE
-int
-pace_strncmp (const char * s1, const char * s2, size_t n)
-{
- return strncmp (s1, s2, n);
-}
-#endif /* PACE_HAS_POSIX_CLS_UOF */
-
-#if (PACE_HAS_POSIX_CLS_UOF)
-PACE_BROKEN_INLINE
-char *
-pace_strcpy (char * s1, const char * s2)
-{
- return strcpy (s1, s2);
-}
-#endif /* PACE_HAS_POSIX_CLS_UOF */
-
-#if (PACE_HAS_POSIX_CLS_UOF)
-PACE_INLINE
-char *
-pace_strncpy (char * s1, const char * s2, size_t n)
-{
- return strncpy (s1, s2, n);
-}
-#endif /* PACE_HAS_POSIX_CLS_UOF */
-
-#if (PACE_HAS_POSIX_CLS_UOF)
-PACE_BROKEN_INLINE
-size_t
-pace_strcspn (const char * s1, const char * s2)
-{
- return strcspn (s1, s2);
-}
-#endif /* PACE_HAS_POSIX_CLS_UOF */
-
-#if (PACE_HAS_POSIX_CLS_UOF)
-PACE_INLINE
-size_t
-pace_strspn (const char * s1, const char * s2)
-{
- return strspn (s1, s2);
-}
-#endif /* PACE_HAS_POSIX_CLS_UOF */
-
-#if (PACE_HAS_POSIX_CLS_UOF)
-PACE_INLINE
-size_t
-pace_strlen (const char * s)
-{
- return strlen (s);
-}
-#endif /* PACE_HAS_POSIX_CLS_UOF */
-
-#if (PACE_HAS_POSIX_CLS_UOF)
-PACE_BROKEN_INLINE
-char *
-pace_strpbrk (const char * s1, const char * s2)
-{
- return (char*) strpbrk (s1, s2);
-}
-#endif /* PACE_HAS_POSIX_CLS_UOF */
-
-#if (PACE_HAS_POSIX_CLS_UOF)
-PACE_INLINE
-char *
-pace_strstr (const char * s1, const char * s2)
-{
- return (char*) strstr (s1, s2);
-}
-#endif /* PACE_HAS_POSIX_CLS_UOF */
-
-#if (PACE_HAS_POSIX_CLS_UOF)
-PACE_INLINE
-char *
-pace_strtok (char * s1, const char * s2)
-{
- return strtok (s1, s2);
-}
-#endif /* PACE_HAS_POSIX_CLS_UOF */
-
-#if (PACE_HAS_POSIX_CLSR_UOF)
-PACE_INLINE
-char *
-pace_strtok_r (char * s, const char * sep, char ** lasts)
-{
-# if defined (PACE_HAS_REENTRANT) || (PACE_LYNXOS) || (PACE_SUNOS)
- return strtok_r (s, sep, lasts);
-# else /* ! PACE_HAS_REENTRANT */
- PACE_UNUSED_ARG (s);
- PACE_UNUSED_ARG (sep);
- PACE_UNUSED_ARG (lasts);
- PACE_ERRNO_NO_SUPPORT ();
- return 0;
-# endif /* ! PACE_HAS_REENTRANT */
-}
-#endif /* PACE_HAS_POSIX_CLSR_UOF */
diff --git a/PACE/pace/posix/termios.c b/PACE/pace/posix/termios.c
deleted file mode 100644
index e828411f160..00000000000
--- a/PACE/pace/posix/termios.c
+++ /dev/null
@@ -1,20 +0,0 @@
-/* $Id$
-
- * =============================================================================
- *
- * = LIBRARY
- * pace
- *
- * = FILENAME
- * pace/posix/termios.c
- *
- * = AUTHOR
- * Luther Baker
- *
- * ============================================================================= */
-
-#include "pace/termios.h"
-
-#if !defined (PACE_HAS_INLINE)
-# include "pace/posix/termios.inl"
-#endif /* ! PACE_HAS_INLINE */
diff --git a/PACE/pace/posix/termios.h b/PACE/pace/posix/termios.h
deleted file mode 100644
index e2fdb0d8af8..00000000000
--- a/PACE/pace/posix/termios.h
+++ /dev/null
@@ -1,50 +0,0 @@
-/* $Id$
-
- * ============================================================================
- *
- * = LIBRARY
- * pace
- *
- * = FILENAME
- * pace/posix/termios.h
- *
- * = AUTHOR
- * Luther Baker
- *
- * ============================================================================ */
-
-#ifndef PACE_SYS_TERMIOS_H_POSIX
-#define PACE_SYS_TERMIOS_H_POSIX
-
-#include "pace/sys/types.h"
-#include <termios.h>
-
-#if defined (PACE_HAS_CPLUSPLUS)
-extern "C" {
-#endif /* PACE_HAS_CPLUSPLUS) */
-
-#ifndef PACE_CC_T
-#define PACE_CC_T
-typedef cc_t pace_cc_t;
-#endif /* PACE_CC_T */
-
-#ifndef PACE_SPEED_T
-#define PACE_SPEED_T
-typedef speed_t pace_speed_t;
-#endif /* PACE_SPEED_T */
-
-#ifndef PACE_TCFLAG_T
-#define PACE_TCFLAG_T
-typedef tcflag_t pace_tcflag_t;
-#endif /* PACE_TCFLAG_T */
-
-#ifndef PACE_TERMIOS
-#define PACE_TERMIOS
-typedef struct termios pace_termios;
-#endif /* PACE_TERMIOS */
-
-#if defined (PACE_HAS_CPLUSPLUS)
-}
-#endif /* PACE_HAS_CPLUSPLUS */
-
-#endif /* PACE_SYS_TERMIOS_H_POSIX */
diff --git a/PACE/pace/posix/termios.inl b/PACE/pace/posix/termios.inl
deleted file mode 100644
index df12227a79e..00000000000
--- a/PACE/pace/posix/termios.inl
+++ /dev/null
@@ -1,109 +0,0 @@
-/* $Id$ -*- C -*-
-
- * =============================================================================
- *
- * = LIBRARY
- * pace
- *
- * = FILENAME
- * pace/posix/termios.inl
- *
- * = AUTHOR
- * Luther Baker
- *
- * ============================================================================= */
-
-#include "pace/unistd.h"
-#include <termios.h>
-
-#if (PACE_HAS_POSIX_DS_UOF)
-PACE_INLINE
-pace_speed_t
-pace_cfgetospeed (const pace_termios *termiosp)
-{
- return cfgetospeed (termiosp);
-}
-#endif /* PACE_HAS_POSIX_DS_UOF */
-
-#if (PACE_HAS_POSIX_DS_UOF)
-PACE_INLINE
-int
-pace_cfsetospeed (pace_termios *termios_p, pace_speed_t speed)
-{
- return cfsetospeed (termios_p, speed);
-}
-#endif /* PACE_HAS_POSIX_DS_UOF */
-
-#if (PACE_HAS_POSIX_DS_UOF)
-PACE_INLINE
-pace_speed_t
-pace_cfgetispeed (const pace_termios *termios_p)
-{
- return cfgetispeed (termios_p);
-}
-#endif /* PACE_HAS_POSIX_DS_UOF */
-
-#if (PACE_HAS_POSIX_DS_UOF)
-PACE_INLINE
-int
-pace_cfsetispeed (pace_termios *termios_p, pace_speed_t speed)
-{
- return cfsetispeed (termios_p, speed);
-}
-#endif /* PACE_HAS_POSIX_DS_UOF */
-
-#if (PACE_HAS_POSIX_DS_UOF)
-PACE_INLINE
-int
-pace_tcdrain (PACE_HANDLE fildes)
-{
- return tcdrain (fildes);
-}
-#endif /* PACE_HAS_POSIX_DS_UOF */
-
-#if (PACE_HAS_POSIX_DS_UOF)
-PACE_INLINE
-int
-pace_tcgetattr (PACE_HANDLE fildes, pace_termios *termios_p)
-{
- return tcgetattr (fildes, termios_p);
-}
-#endif /* PACE_HAS_POSIX_DS_UOF */
-
-#if (PACE_HAS_POSIX_DS_UOF)
-PACE_INLINE
-int
-pace_tcflow (PACE_HANDLE fildes, int action)
-{
- return tcflow (fildes, action);
-}
-#endif /* PACE_HAS_POSIX_DS_UOF */
-
-#if (PACE_HAS_POSIX_DS_UOF)
-PACE_INLINE
-int
-pace_tcflush (PACE_HANDLE fildes, int queue_selector)
-{
- return tcflush (fildes, queue_selector);
-}
-#endif /* PACE_HAS_POSIX_DS_UOF */
-
-#if (PACE_HAS_POSIX_DS_UOF)
-PACE_INLINE
-int
-pace_tcsendbreak (PACE_HANDLE fildes, int duration)
-{
- return tcsendbreak (fildes, duration);
-}
-#endif /* PACE_HAS_POSIX_DS_UOF */
-
-#if (PACE_HAS_POSIX_DS_UOF)
-PACE_INLINE
-int
-pace_tcsetattr (PACE_HANDLE fildes,
- int optional_actions,
- const pace_termios *termios_p)
-{
- return tcsetattr (fildes, optional_actions, termios_p);
-}
-#endif /* PACE_HAS_POSIX_DS_UOF */
diff --git a/PACE/pace/posix/time.c b/PACE/pace/posix/time.c
deleted file mode 100644
index 08f00379305..00000000000
--- a/PACE/pace/posix/time.c
+++ /dev/null
@@ -1,20 +0,0 @@
-/* $Id$
-
- * =============================================================================
- *
- * = LIBRARY
- * pace
- *
- * = FILENAME
- * pace/posix/time.c
- *
- * = AUTHOR
- * Luther Baker
- *
- * ============================================================================= */
-
-#include "pace/time.h"
-
-#if !defined (PACE_HAS_INLINE)
-# include "pace/posix/time.inl"
-#endif /* ! PACE_HAS_INLINE */
diff --git a/PACE/pace/posix/time.h b/PACE/pace/posix/time.h
deleted file mode 100644
index 8fb12b9f360..00000000000
--- a/PACE/pace/posix/time.h
+++ /dev/null
@@ -1,95 +0,0 @@
-/* $Id$
-
- * ============================================================================
- *
- * = LIBRARY
- * pace
- *
- * = FILENAME
- * pace/posix/time.h
- *
- * = AUTHOR
- * Luther Baker
- *
- * ============================================================================ */
-
-#ifndef PACE_TIME_H_POSIX
-#define PACE_TIME_H_POSIX
-
-#if PACE_LINUX
-# include "pace/emulation/time.h"
-#endif /* PACE_LINUX */
-
-#include <time.h>
-#include "pace/signal.h"
-
-#if defined (PACE_HAS_CPLUSPLUS)
-extern "C" {
-#endif /* PACE_HAS_CPLUSPLUS */
-
-#define PACE_CLK_TCK CLK_TCK
-#define PACE_CLOCKS_PER_SEC CLOCKS_PER_SEC
-#define PACE_CLOCK_REALTIME CLOCK_REALTIME
-#ifndef PACE_NULL
-#define PACE_NULL NULL
-#endif /* PACE_NULL */
-#define PACE_TIMER_ABSTIME TIMER_ABSTIME
-
-#ifndef PACE_CLOCKID_T
-#define PACE_CLOCKID_T
-# if defined PACE_EMU_CLOCKID_T
- typedef pace_emu_clockid_t pace_clockid_t;
-# else
- typedef clockid_t pace_clockid_t;
-# endif /* PACE_LINUX */
-#endif /* PACE_CLOCKID_T */
-
-#ifndef PACE_CLOCK_T
-#define PACE_CLOCK_T
- typedef clock_t pace_clock_t;
-#endif /* PACE_CLOCK_T */
-
-#ifndef PACE_SIZE_T
-#define PACE_SIZE_T
- typedef size_t pace_size_t;
-#endif /* PACE_SIZE_T */
-
-#ifndef PACE_TIMER_T
-#define PACE_TIMER_T
-# if defined PACE_EMU_TIMER_T
- typedef pace_emu_timer_t pace_timer_t;
-# else
- typedef timer_t pace_timer_t;
-# endif /* PACE_LINUX */
-#endif /* PACE_TIMER_T */
-
-#ifndef PACE_TIME_T
-#define PACE_TIME_T
- typedef time_t pace_time_t;
-#endif /* PACE_TIME_T */
-
-#ifndef PACE_TM
-#define PACE_TM
- typedef struct tm pace_tm;
-#endif /* PACE_TM */
-
-#ifndef PACE_TIMESPEC
-#define PACE_TIMESPEC
- typedef struct timespec pace_timespec;
-#endif /* PACE_TIMESPEC */
-
-#ifndef PACE_ITIMERSPEC
-#define PACE_ITIMERSPEC
- typedef struct itimerspec pace_itimerspec;
-#endif /* PACE_ITIMERSPEC */
-
-#ifndef PACE_SIGEVENT
-#define PACE_SIGEVENT
- typedef struct sigevent pace_sigevent;
-#endif /* PACE_SIGEVENT */
-
-#if defined (PACE_HAS_CPLUSPLUS)
-}
-#endif /* PACE_HAS_CPLUSPLUS */
-
-#endif /* PACE_TIME_H_POSIX */
diff --git a/PACE/pace/posix/time.inl b/PACE/pace/posix/time.inl
deleted file mode 100644
index 415e728eb36..00000000000
--- a/PACE/pace/posix/time.inl
+++ /dev/null
@@ -1,324 +0,0 @@
-/* $Id$ -*- C -*-
-
- * =============================================================================
- *
- * = LIBRARY
- * pace
- *
- * = FILENAME
- * pace/posix/time.inl
- *
- * = AUTHOR
- * Luther Baker
- *
- * ============================================================================= */
-
-#include "pace/errno.h"
-#include "pace/signal.h"
-extern int errno;
-
-#if (PACE_HAS_POSIX_CLS_UOF)
-PACE_INLINE
-char *
-pace_asctime (const pace_tm * time)
-{
- return asctime (time);
-}
-#endif /* PACE_HAS_POSIX_CLS_UOF */
-
-#if (PACE_HAS_POSIX_CLSR_UOF)
-PACE_INLINE
-char *
-pace_asctime_r (const pace_tm * time, char * buf)
-{
-#if (PACE_LYNXOS)
- /*lynxos 3.1 has POSIX.4 Draft 9 versions of this */
- if (asctime_r (time, buf, 26) != 0)
- return (char*) 0;
- return buf;
-#else
- return asctime_r (time, buf);
-#endif /* PACE_LYNXOS */
-}
-#endif /* PACE_HAS_POSIX_CLSR_UOF */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-pace_clock_t
-pace_clock (void)
-{
- return clock ();
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-double
-pace_difftime (pace_time_t time1, pace_time_t time2)
-{
- return difftime (time1, time2);
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_clock_getres (pace_clockid_t clock_id,
- pace_timespec * res)
-{
-#if PACE_LINUX
- errno = ENOSYS;
- PACE_UNUSED_ARG (clock_id);
- PACE_UNUSED_ARG (res);
- return -1;
-#else
- return clock_getres (clock_id, res);
-#endif /* PACE_LINUX */
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_clock_gettime (pace_clockid_t clock_id,
- pace_timespec * tp)
-{
-#if PACE_LINUX
- errno = ENOSYS;
- PACE_UNUSED_ARG (clock_id);
- PACE_UNUSED_ARG (tp);
- return -1;
-#else
- return clock_gettime (clock_id, tp);
-#endif /* PACE_LINUX */
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_clock_settime (pace_clockid_t clock_id,
- const pace_timespec * tp)
-{
-#if PACE_LINUX
- errno = ENOSYS;
- PACE_UNUSED_ARG (clock_id);
- PACE_UNUSED_ARG (tp);
- return -1;
-#else
- return clock_settime (clock_id, PACE_NONCONST_ARG_CAST (struct timespec *) tp);
-#endif /* PACE_LINUX */
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_CLS_UOF)
-PACE_INLINE
-char *
-pace_ctime (const pace_time_t * clock)
-{
- return ctime (clock);
-}
-#endif /* PACE_HAS_POSIX_CLS_UOF */
-
-#if (PACE_HAS_POSIX_CLSR_UOF)
-PACE_INLINE
-char *
-pace_ctime_r (const pace_time_t * clock, char * buf)
-{
-# if (PACE_LYNXOS)
- return ctime_r (clock, buf, 26);
-# else
- return ctime_r (clock, buf);
-# endif /* PACE_SUNOS */
-}
-#endif /* PACE_HAS_POSIX_CLSR_UOF */
-
-#if (PACE_HAS_POSIX_CLS_UOF)
-PACE_INLINE
-pace_tm *
-pace_gmtime (const pace_time_t * clock)
-{
- return gmtime (clock);
-}
-#endif /* PACE_HAS_POSIX_CLS_UOF */
-
-#if (PACE_HAS_POSIX_CLSR_UOF)
-PACE_INLINE
-pace_tm *
-pace_gmtime_r (const pace_time_t * clock, pace_tm * result)
-{
-#if (PACE_LYNXOS)
- /*lynxos 3.1 has POSIX.4 Draft 9 versions of these */
- if (gmtime_r (result, clock) != 0)
- return (pace_tm*)0;
- return result;
-#else
- return gmtime_r (clock, result);
-#endif /* PACE_LYNXOS */
-}
-#endif /* PACE_HAS_POSIX_CLSR_UOF */
-
-#if (PACE_HAS_POSIX_CLS_UOF)
-PACE_INLINE
-pace_tm *
-pace_localtime (const pace_time_t * clock)
-{
- return localtime (clock);
-}
-#endif /* PACE_HAS_POSIX_CLS_UOF */
-
-#if (PACE_HAS_POSIX_CLSR_UOF)
-PACE_INLINE
-pace_tm *
-pace_localtime_r (const pace_time_t * clock, pace_tm * result)
-{
-#if (PACE_LYNXOS)
- /*lynxos 3.1 has POSIX.4 Draft 9 versions of these */
- if (localtime_r (result, clock) != 0)
- return (pace_tm*)0;
- return result;
-#else
- return localtime_r (clock, result);
-#endif /* PACE_LYNXOS */
-}
-#endif /* PACE_HAS_POSIX_CLSR_UOF */
-
-#if (PACE_HAS_POSIX_CLS_UOF)
-PACE_INLINE
-time_t
-pace_mktime (pace_tm * timeptr)
-{
- return mktime (timeptr);
-}
-#endif /* PACE_HAS_POSIX_CLS_UOF */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_nanosleep (const pace_timespec * rqtp,
- pace_timespec * rmtp)
-{
- return nanosleep (PACE_NONCONST_ARG_CAST (struct timespec *) rqtp, rmtp);
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_CLS_UOF)
-PACE_INLINE
-size_t
-pace_strftime (char *s, pace_size_t maxsize,
- const char *format,
- const pace_tm *timeptr)
-{
- return strftime (s, maxsize, format, timeptr);
-}
-#endif /* PACE_HAS_POSIX_CLS_UOF */
-
-#if (PACE_HAS_POSIX_CLS_UOF)
-PACE_INLINE
-time_t
-pace_time (pace_time_t * tloc)
-{
- return time (tloc);
-}
-#endif /* PACE_HAS_POSIX_CLS_UOF */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_timer_create (pace_clockid_t clock_id,
- pace_sigevent * evp,
- pace_timer_t *timerid)
-{
-#if PACE_LINUX
- errno = ENOSYS;
- PACE_UNUSED_ARG (clock_id);
- PACE_UNUSED_ARG (evp);
- PACE_UNUSED_ARG (timerid);
- return -1;
-#else
- return timer_create (clock_id, evp, timerid);
-#endif /* PACE_LINUX */
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_timer_delete (pace_timer_t timerid)
-{
-#if PACE_LINUX
- errno = ENOSYS;
- PACE_UNUSED_ARG (timerid);
- return -1;
-#else
- return timer_delete (timerid);
-#endif /* PACE_LINUX */
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_timer_getoverrun (pace_timer_t timerid)
-{
-#if PACE_LINUX
- errno = ENOSYS;
- PACE_UNUSED_ARG (timerid);
- return -1;
-#else
- return timer_getoverrun (timerid);
-#endif /* PACE_LINUX */
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_timer_gettime (pace_timer_t timerid,
- pace_itimerspec * value)
-{
-#if PACE_LINUX
- errno = ENOSYS;
- PACE_UNUSED_ARG (timerid);
- PACE_UNUSED_ARG (value);
- return -1;
-#else
- return timer_gettime (timerid, value);
-#endif /* PACE_LINUX */
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_timer_settime (pace_timer_t timerid,
- int flags,
- const pace_itimerspec * value,
- pace_itimerspec * ovalue)
-{
-#if PACE_LINUX
- errno = ENOSYS;
- PACE_UNUSED_ARG (timerid);
- PACE_UNUSED_ARG (flags);
- PACE_UNUSED_ARG (value);
- PACE_UNUSED_ARG (ovalue);
- return -1;
-#else
- return timer_settime (timerid, flags, PACE_NONCONST_ARG_CAST (struct itimerspec *) value, ovalue);
-#endif /* PACE_LINUX */
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_CLS_UOF)
-PACE_INLINE
-void
-pace_tzset ()
-{
-# if defined (PACE_HAS_POSIX_PTHREAD_SEMANTICS)
- tzset ();
-# else /* ! PACE_HAS_POSIX_PTHREAD_SEMANTICS */
- PACE_ERRNO_NO_SUPPORT ();
-# endif /* ! PACE_HAS_POSIX_PTHREAD_SEMANTICS */
- return;
-}
-#endif /* PACE_HAS_POSIX_CLS_UOF */
diff --git a/PACE/pace/posix/times.c b/PACE/pace/posix/times.c
deleted file mode 100644
index 3e47e331020..00000000000
--- a/PACE/pace/posix/times.c
+++ /dev/null
@@ -1,20 +0,0 @@
-/* $Id$
-
- * =============================================================================
- *
- * = LIBRARY
- * pace
- *
- * = FILENAME
- * pace/posix/times.c
- *
- * = AUTHOR
- * Luther Baker
- *
- * ============================================================================= */
-
-#include "pace/sys/times.h"
-
-#if !defined (PACE_HAS_INLINE)
-# include "pace/posix/times.inl"
-#endif /* ! PACE_HAS_INLINE */
diff --git a/PACE/pace/posix/times.h b/PACE/pace/posix/times.h
deleted file mode 100644
index 1aeebd76a29..00000000000
--- a/PACE/pace/posix/times.h
+++ /dev/null
@@ -1,39 +0,0 @@
-/* $Id$
-
- * ============================================================================
- *
- * = LIBRARY
- * pace
- *
- * = FILENAME
- * pace/posix/times.h
- *
- * = AUTHOR
- * Luther Baker
- *
- * ============================================================================ */
-
-#ifndef PACE_SYS_TIMES_H_POSIX
-#define PACE_SYS_TIMES_H_POSIX
-
-#include <sys/times.h>
-
-#if defined (PACE_HAS_CPLUSPLUS)
-extern "C" {
-#endif /* PACE_HAS_CPLUSPLUS */
-
-#ifndef PACE_CLOCK_T
-#define PACE_CLOCK_T
-typedef clock_t pace_clock_t;
-#endif /* PACE_CLOCK_T */
-
-#ifndef PACE_TMS
-#define PACE_TMS
-typedef struct tms pace_tms;
-#endif /* PACE_TMS */
-
-#if defined (PACE_HAS_CPLUSPLUS)
-}
-#endif /* PACE_HAS_CPLUSPLUS */
-
-#endif /* PACE_SYS_TIMES_H_POSIX */
diff --git a/PACE/pace/posix/times.inl b/PACE/pace/posix/times.inl
deleted file mode 100644
index 5c808d1a7d0..00000000000
--- a/PACE/pace/posix/times.inl
+++ /dev/null
@@ -1,23 +0,0 @@
-/* $Id$ -*- C -*-
-
- * =============================================================================
- *
- * = LIBRARY
- * pace
- *
- * = FILENAME
- * pace/posix/times.inl
- *
- * = AUTHOR
- * Luther Baker
- *
- * ============================================================================= */
-
-#if (PACE_HAS_POSIX_MP_UOF)
-PACE_INLINE
-pace_clock_t
-pace_times (pace_tms * buffer)
-{
- return times (buffer);
-}
-#endif /* PACE_HAS_POSIX_MP_UOF */
diff --git a/PACE/pace/posix/types.h b/PACE/pace/posix/types.h
deleted file mode 100644
index 9ce4e5c2c85..00000000000
--- a/PACE/pace/posix/types.h
+++ /dev/null
@@ -1,134 +0,0 @@
-/* $Id$
-
- * ============================================================================
- *
- * = LIBRARY
- * pace
- *
- * = FILENAME
- * pace/posix/types.h
- *
- * = AUTHOR
- * Luther Baker
- *
- * ============================================================================ */
-
-#include <sys/types.h>
-#include <pthread.h>
-
-#ifndef PACE_SYS_TYPES_H_POSIX
-#define PACE_SYS_TYPES_H_POSIX
-
-#if defined (PACE_HAS_CPLUSPLUS)
-extern "C" {
-#endif /* PACE_HAS_CPLUSPLUS */
-
- /* For future upgradeability to wchar */
-#ifndef PACE_TCHAR
-#define PACE_TCHAR
- typedef char pace_tchar;
-#endif /* PACE_TCHAR */
-
-#ifndef PACE_HANDLE
- typedef int PACE_HANDLE;
-#endif /* PACE_HANDLE */
-
-#ifndef PACE_INVALID_HANDLE
-#define PACE_INVALID_HANDLE -1
-#endif /* PACE_INVALID_HANDLE */
-
-#ifndef PACE_DEV_T
-#define PACE_DEV_T
- typedef dev_t pace_dev_t;
-#endif /* PACE_DEV_T */
-
-#ifndef PACE_GID_T
-#define PACE_GID_T
- typedef gid_t pace_gid_t;
-#endif /* PACE_GID_T */
-
-#ifndef PACE_INO_T
-#define PACE_INO_T
- typedef ino_t pace_ino_t;
-#endif /* PACE_INO_T */
-
-#ifndef PACE_MODE_T
-#define PACE_MODE_T
- typedef mode_t pace_mode_t;
-#endif /* PACE_MODE_T */
-
-#ifndef PACE_NLINK_T
-#define PACE_NLINK_T
- typedef nlink_t pace_nlink_t;
-#endif /* PACE_NLINK_T */
-
-#ifndef PACE_OFF_T
-#define PACE_OFF_T
- typedef off_t pace_off_t;
-#endif /* PACE_OFF_T */
-
-#ifndef PACE_PID_T
-#define PACE_PID_T
- typedef pid_t pace_pid_t;
-#endif /* PACE_PID_T */
-
-#ifndef PACE_PTHREAD_ATTR_T
-#define PACE_PTHREAD_ATTR_T
- typedef pthread_attr_t pace_pthread_attr_t;
-#endif /* PACE_PTHREAD_ATTR_T */
-
-#ifndef PACE_PTHREAD_CONDATTR_T
-#define PACE_PTHREAD_CONDATTR_T
- typedef pthread_condattr_t pace_pthread_condattr_t;
-#endif /* PACE_PTHREAD_CONDATTR_T */
-
-#ifndef PACE_PTHREAD_COND_T
-#define PACE_PTHREAD_COND_T
- typedef pthread_cond_t pace_pthread_cond_t;
-#endif /* PACE_PTHREAD_COND_T */
-
-#ifndef PACE_PTHREAD_KEY_T
-#define PACE_PTHREAD_KEY_T
- typedef pthread_key_t pace_pthread_key_t;
-#endif /* PACE_PTHREAD_KEY_T */
-
-#ifndef PACE_PTHREAD_MUTEXATTR_T
-#define PACE_PTHREAD_MUTEXATTR_T
- typedef pthread_mutexattr_t pace_pthread_mutexattr_t;
-#endif /* PACE_PTHREAD_MUTEXATTR_T */
-
-#ifndef PACE_PTHREAD_MUTEX_T
-#define PACE_PTHREAD_MUTEX_T
- typedef pthread_mutex_t pace_pthread_mutex_t;
-#endif /* PACE_PTHREAD_MUTEX_T */
-
-#ifndef PACE_PTHREAD_ONCE_T
-#define PACE_PTHREAD_ONCE_T
- typedef pthread_once_t pace_pthread_once_t;
-#endif /* PACE_PTHREAD_ONCE_T */
-
-#ifndef PACE_PTHREAD_T
-#define PACE_PTHREAD_T
- typedef pthread_t pace_pthread_t;
-#endif /* PACE_PTHREAD_T */
-
-#ifndef PACE_SIZE_T
-#define PACE_SIZE_T
- typedef size_t pace_size_t;
-#endif /* PACE_SIZE_T */
-
-#ifndef PACE_SSIZE_T
-#define PACE_SSIZE_T
- typedef ssize_t pace_ssize_t;
-#endif /* PACE_SSIZE_T */
-
-#ifndef PACE_UID_T
-#define PACE_UID_T
- typedef uid_t pace_uid_t;
-#endif /* PACE_UID_T */
-
-#if defined (PACE_HAS_CPLUSPLUS)
-}
-#endif /* PACE_HAS_CPLUSPLUS */
-
-#endif /* PACE_SYS_TYPES_H_POSIX */
diff --git a/PACE/pace/posix/unistd.c b/PACE/pace/posix/unistd.c
deleted file mode 100644
index f8e1e9a4676..00000000000
--- a/PACE/pace/posix/unistd.c
+++ /dev/null
@@ -1,20 +0,0 @@
-/* $Id$
-
- * =============================================================================
- *
- * = LIBRARY
- * pace
- *
- * = FILENAME
- * pace/posix/unistd.c
- *
- * = AUTHOR
- * Luther Baker
- *
- * ============================================================================= */
-
-#include "pace/unistd.h"
-
-#if !defined (PACE_HAS_INLINE)
-# include "pace/posix/unistd.inl"
-#endif /* ! PACE_HAS_INLINE */
diff --git a/PACE/pace/posix/unistd.h b/PACE/pace/posix/unistd.h
deleted file mode 100644
index 0b79b75b43b..00000000000
--- a/PACE/pace/posix/unistd.h
+++ /dev/null
@@ -1,56 +0,0 @@
-/* $Id$
-
- * ============================================================================
- *
- * = LIBRARY
- * pace
- *
- * = FILENAME
- * pace/posix/unistd.h
- *
- * = AUTHOR
- * Luther Baker
- *
- * ============================================================================ */
-
-#ifndef PACE_UNISTD_H_POSIX
-#define PACE_UNISTD_H_POSIX
-
-#include "pace/sys/types.h"
-#include <unistd.h>
-
-#if defined (PACE_HAS_CPLUSPLUS)
-extern "C" {
-#endif /* PACE_HAS_CPLUSPLUS */
-
-#define PACE_F_OK F_OK
-#ifndef PACE_NULL
-# define PACE_NULL NULL
-#endif /* PACE_NULL */
-#define PACE_R_OK R_OK
-#define PACE_SEEK_CUR SEEK_CUR
-#define PACE_SEEK_END SEEK_END
-#define PACE_SEEK_SET SEEK_SET
-#define PACE_STDERR_FILENO STDERR_FILENO
-#define PACE_STDIN_FILENO STDIN_FILENO
-#define PACE_STDOUT_FILENO STDOUT_FILENO
-#define PACE_W_OK W_OK
-#define PACE_X_OK X_OK
-
-/* _POSIX _PC _SC Macros need to go here */
-
-#ifndef PACE_SIZE_T
-#define PACE_SIZE_T
-typedef size_t pace_size_t;
-#endif /* PACE_SIZE_T */
-
-#ifndef PACE_SSIZE_T
-#define PACE_SSIZE_T
-typedef ssize_t pace_ssize_t;
-#endif /* PACE_SSIZE_T */
-
-#if defined (PACE_HAS_CPLUSPLUS)
-}
-#endif /* PACE_HAS_CPLUSPLUS */
-
-#endif /* PACE_UNISTD_H_POSIX */
diff --git a/PACE/pace/posix/unistd.inl b/PACE/pace/posix/unistd.inl
deleted file mode 100644
index c0496a7da7c..00000000000
--- a/PACE/pace/posix/unistd.inl
+++ /dev/null
@@ -1,470 +0,0 @@
-/* $Id$ -*- C -*-
-
- * =============================================================================
- *
- * = LIBRARY
- * pace
- *
- * = FILENAME
- * pace/posix/unistd.inl
- *
- * = AUTHOR
- * Luther Baker
- *
- * ============================================================================= */
-
-#include <unistd.h>
-#include <stdarg.h>
-#include <string.h>
-
-#if (PACE_HAS_POSIX_MP_UOF)
-PACE_INLINE
-void
-pace__exit (int status)
-{
- _exit (status);
- return;
-}
-#endif /* PACE_HAS_POSIX_MP_UOF */
-
-#if (PACE_HAS_POSIX_FS_UOF)
-PACE_INLINE
-int
-pace_access (const char * path, int amode)
-{
- return access (path, amode);
-}
-#endif /* PACE_HAS_POSIX_FS_UOF */
-
-#if (PACE_HAS_POSIX_SIG_UOF)
-PACE_INLINE
-unsigned int
-pace_alarm (unsigned int seconds)
-{
- return alarm (seconds);
-}
-#endif /* PACE_HAS_POSIX_SIG_UOF */
-
-#if (PACE_HAS_POSIX_FS_UOF)
-PACE_INLINE
-int
-pace_chdir (const char * path)
-{
- return chdir (path);
-}
-#endif /* PACE_HAS_POSIX_FS_UOF */
-
-#if (PACE_HAS_POSIX_FA_UOF)
-PACE_INLINE
-int
-pace_chown (const char * path, uid_t owner, pace_gid_t group)
-{
- return chown (path, owner, group);
-}
-#endif /* PACE_HAS_POSIX_FA_UOF */
-
-#if (PACE_HAS_POSIX_DI_UOF)
-PACE_INLINE
-int
-pace_close (PACE_HANDLE fildes)
-{
- return close (fildes);
-}
-#endif /* PACE_HAS_POSIX_DI_UOF */
-
-#if (PACE_HAS_POSIX_FM_UOF)
-PACE_INLINE
-PACE_HANDLE
-pace_dup (PACE_HANDLE fildes)
-{
- return dup (fildes);
-}
-#endif /* PACE_HAS_POSIX_FM_UOF */
-
-#if (PACE_HAS_POSIX_FM_UOF)
-PACE_INLINE
-PACE_HANDLE
-pace_dup2 (PACE_HANDLE fildes, PACE_HANDLE fildes2)
-{
- return dup2 (fildes, fildes2);
-}
-#endif /* PACE_HAS_POSIX_FM_UOF */
-
-#if (PACE_HAS_POSIX_MP_UOF)
-PACE_INLINE
-int
-pace_execv (const char * path,
- char * const argv[])
-{
- return execv (path, argv);
- /* if successful, this operation does NOT return */
-}
-#endif /* PACE_HAS_POSIX_MP_UOF */
-
-#if (PACE_HAS_POSIX_MP_UOF)
-PACE_INLINE
-int
-pace_execve (const char * path,
- char * const argv[],
- char * const envp[])
-{
- return execve (path, argv, envp);
- /* if successful, this operation does NOT return */
-}
-#endif /* PACE_HAS_POSIX_MP_UOF */
-
-#if (PACE_HAS_POSIX_MP_UOF)
-PACE_INLINE
-int
-pace_execvp (const char * file,
- char * const argv[])
-{
- return execvp (file, argv);
- /* if successful, this operation does NOT return */
-}
-#endif /* PACE_HAS_POSIX_MP_UOF */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_fdatasync (PACE_HANDLE fildes)
-{
- return fdatasync (fildes);
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_MP_UOF)
-PACE_INLINE
-pid_t
-pace_fork ()
-{
- return fork ();
-}
-#endif /* PACE_HAS_POSIX_MP_UOF */
-
-#if (PACE_HAS_POSIX_FS_UOF)
-PACE_INLINE
-long
-pace_fpathconf (PACE_HANDLE fildes, int name)
-{
- return fpathconf (fildes, name);
-}
-#endif /* PACE_HAS_POSIX_FS_UOF */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_fsync (PACE_HANDLE fildes)
-{
- return fsync (fildes);
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_ftruncate (PACE_HANDLE fildes, pace_off_t length)
-{
- return ftruncate (fildes, length);
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_FS_UOF)
-PACE_INLINE
-char *
-pace_getcwd (char * buf, size_t size)
-{
- return getcwd (buf, size);
-}
-#endif /* PACE_HAS_POSIX_FS_UOF */
-
-#if (PACE_HAS_POSIX_UG_UOF)
-PACE_INLINE
-uid_t
-pace_getegid ()
-{
- return getegid ();
-}
-#endif /* PACE_HAS_POSIX_UGR_UOF */
-
-#if (PACE_HAS_POSIX_UG_UOF)
-PACE_INLINE
-uid_t
-pace_geteuid ()
-{
- return geteuid ();
-}
-#endif /* PACE_HAS_POSIX_UGR_UOF */
-
-#if (PACE_HAS_POSIX_UG_UOF)
-PACE_INLINE
-int
-pace_getgroups (int gidsetsize, pace_gid_t grouplist[])
-{
- return getgroups (gidsetsize, grouplist);
-}
-#endif /* PACE_HAS_POSIX_UG_UOF */
-
-#if (PACE_HAS_POSIX_UG_UOF)
-PACE_INLINE
-uid_t
-pace_getgid ()
-{
- return getgid ();
-}
-#endif /* PACE_HAS_POSIX_UGR_UOF */
-
-#if (PACE_HAS_POSIX_UG_UOF)
-PACE_INLINE
-char*
-pace_getlogin ()
-{
- return getlogin ();
-}
-#endif /* PACE_HAS_POSIX_UGR_UOF */
-
-#if (PACE_HAS_POSIX_UGR_UOF)
-PACE_INLINE
-int
-pace_getlogin_r (char * name, size_t namesize)
-{
- /* this func will eventually get rewritten to *
- * autodetect _REENTRANT correctly */
-#if (PACE_HAS_REENTRANT) || (PACE_LYNXOS) || (PACE_SUNOS)
- /* supported call */
- return getlogin_r (name, namesize);
-#else
- /* unsupported call (emulated) *
- * careful, emulation is not 100% reentrant safe */
- char * non_reentrant_ptr_to_static_os_memory = getlogin ();
- if (0 == non_reentrant_ptr_to_static_os_memory)
- return errno;
- strncpy (name, non_reentrant_ptr_to_static_os_memory, namesize);
- return 1;
-#endif /* PACE_HAS_REENTRANT */
-}
-#endif /* PACE_HAS_POSIX_UGR_UOF */
-
-#if (PACE_HAS_POSIX_UG_UOF)
-PACE_INLINE
-pid_t
-pace_getpgrp ()
-{
- return getpgrp ();
-}
-#endif /* PACE_HAS_POSIX_UG_UOF */
-
-#if (PACE_HAS_POSIX_MP_UOF)
-PACE_INLINE
-pid_t
-pace_getpid ()
-{
- return getpid ();
-}
-#endif /* PACE_HAS_POSIX_MP_UOF */
-
-#if (PACE_HAS_POSIX_MP_UOF)
-PACE_INLINE
-pid_t
-pace_getppid ()
-{
- return getppid ();
-}
-#endif /* PACE_HAS_POSIX_MP_UOF */
-
-#if (PACE_HAS_POSIX_UG_UOF)
-PACE_INLINE
-uid_t
-pace_getuid ()
-{
- return getuid ();
-}
-#endif /* PACE_HAS_POSIX_UG_UOF */
-
-#if (PACE_HAS_POSIX_DS_UOF)
-PACE_INLINE
-int
-pace_isatty (int fildes)
-{
- return isatty (fildes);
-}
-#endif /* PACE_HAS_POSIX_DS_UOF */
-
-#if (PACE_HAS_POSIX_FS_UOF)
-PACE_INLINE
-int
-pace_link (const char * existing, const char * new_link)
-{
- return link (existing, new_link);
-}
-#endif /* PACE_HAS_POSIX_FS_UOF */
-
-#if (PACE_HAS_POSIX_FM_UOF)
-PACE_INLINE
-pace_off_t
-pace_lseek (PACE_HANDLE fildes, pace_off_t offset, int whence)
-{
- return lseek (fildes, offset, whence);
-}
-#endif /* PACE_HAS_POSIX_FM_UOF */
-
-#if (PACE_HAS_POSIX_FS_UOF)
-PACE_INLINE
-long
-pace_pathconf (const char * path, int name)
-{
- return pathconf (path, name);
-}
-#endif /* PACE_HAS_POSIX_FS_UOF */
-
-#if (PACE_HAS_POSIX_SIG_UOF)
-PACE_INLINE
-int
-pace_pause ()
-{
- return pause ();
-}
-#endif /* PACE_HAS_POSIX_SIG_UOF */
-
-#if (PACE_HAS_POSIX_P_UOF)
-PACE_INLINE
-int
-pace_pipe (PACE_HANDLE fildes[2])
-{
- return pipe (fildes);
-}
-#endif /* PACE_HAS_POSIX_P_UOF */
-
-#if (PACE_HAS_POSIX_DI_UOF)
-PACE_INLINE
-ssize_t
-pace_read (PACE_HANDLE fildes, void * buf, size_t nbyte)
-{
- return read (fildes, buf, nbyte);
-}
-#endif /* PACE_HAS_POSIX_DI_UOF */
-
-#if (PACE_HAS_POSIX_FS_UOF)
-PACE_INLINE
-int
-pace_rmdir (const char * path)
-{
- return rmdir (path);
-}
-#endif /* PACE_HAS_POSIX_FS_UOF */
-
-#if (PACE_HAS_POSIX_UG_UOF)
-PACE_INLINE
-int
-pace_setgid (pace_gid_t gid)
-{
- return setgid (gid);
-}
-#endif /* PACE_HAS_POSIX_UG_UOF */
-
-#if (PACE_HAS_POSIX_JC_UOF)
-PACE_INLINE
-int
-pace_setpgid (pid_t pid, pid_t pgid)
-{
- return setpgid (pid, pgid);
-}
-#endif /* PACE_HAS_POSIX_JC_UOF */
-
-#if (PACE_HAS_POSIX_UG_UOF)
-PACE_INLINE
-pid_t
-pace_setsid ()
-{
- return setsid ();
-}
-#endif /* PACE_HAS_POSIX_UG_UOF */
-
-#if (PACE_HAS_POSIX_UG_UOF)
-PACE_INLINE
-int
-pace_setuid (uid_t uid)
-{
- return setuid (uid);
-}
-#endif /* PACE_HAS_POSIX_UG_UOF */
-
-#if (PACE_HAS_POSIX_MP_UOF)
-PACE_INLINE
-unsigned int
-pace_sleep (unsigned int seconds)
-{
- return sleep (seconds);
-}
-#endif /* PACE_HAS_POSIX_MP_UOF */
-
-#if (PACE_HAS_POSIX_SP_UOF)
-PACE_INLINE
-long
-pace_sysconf (int name)
-{
- return sysconf (name);
-}
-#endif /* PACE_HAS_POSIX_SP_UOF */
-
-#if (PACE_HAS_POSIX_JC_UOF)
-PACE_INLINE
-pid_t
-pace_tcgetpgrp (PACE_HANDLE fildes)
-{
- return tcgetpgrp (fildes);
-}
-#endif /* PACE_HAS_POSIX_JC_UOF */
-
-#if (PACE_HAS_POSIX_JC_UOF)
-PACE_INLINE
-int
-pace_tcsetpgrp (PACE_HANDLE fildes, pid_t pgrp_id)
-{
- return tcsetpgrp (fildes, pgrp_id);
-}
-#endif /* PACE_HAS_POSIX_JC_UOF */
-
-#if (PACE_HAS_POSIX_DS_UOF)
-PACE_INLINE
-char *
-pace_ttyname (PACE_HANDLE fildes)
-{
- return ttyname (fildes);
-}
-#endif /* PACE_HAS_POSIX_DS_UOF */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_ttyname_r (PACE_HANDLE fildes,
- char * name,
- size_t namesize)
-{
-#if (PACE_SUNOS) || (PACE_LYNXOS)
- if (ttyname_r (fildes, name, (int) namesize) == 0)
- return errno;
- return 0;
-#else
- return ttyname_r (fildes, name, namesize);
-#endif /* PACE_SUNOS */
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_FS_UOF)
-PACE_INLINE
-int
-pace_unlink (const char * path)
-{
- return unlink (path);
-}
-#endif /* PACE_HAS_POSIX_FS_UOF */
-
-#if (PACE_HAS_POSIX_DI_UOF)
-PACE_INLINE
-ssize_t
-pace_write (PACE_HANDLE fildes, const void * buf, size_t nbyte)
-{
- return write (fildes, buf, nbyte);
-}
-#endif /* PACE_HAS_POSIX_DI_UOF */
diff --git a/PACE/pace/posix/utime.c b/PACE/pace/posix/utime.c
deleted file mode 100644
index 864e8d422b1..00000000000
--- a/PACE/pace/posix/utime.c
+++ /dev/null
@@ -1,20 +0,0 @@
-/* $Id$
-
- * =============================================================================
- *
- * = LIBRARY
- * pace
- *
- * = FILENAME
- * pace/posix/utime.c
- *
- * = AUTHOR
- * Luther Baker
- *
- * ============================================================================= */
-
-#include "pace/utime.h"
-
-#if !defined (PACE_HAS_INLINE)
-# include "pace/posix/utime.inl"
-#endif /* ! PACE_HAS_INLINE */
diff --git a/PACE/pace/posix/utime.h b/PACE/pace/posix/utime.h
deleted file mode 100644
index 00018e31751..00000000000
--- a/PACE/pace/posix/utime.h
+++ /dev/null
@@ -1,35 +0,0 @@
-/* $Id$
-
- * ============================================================================
- *
- * = LIBRARY
- * pace
- *
- * = FILENAME
- * pace/posix/utime.h
- *
- * = AUTHOR
- * Luther Baker
- *
- * ============================================================================ */
-
-#ifndef PACE_UTIME_H_POSIX
-#define PACE_UTIME_H_POSIX
-
-#include "pace/sys/types.h"
-#include <utime.h>
-
-#if defined (PACE_HAS_CPLUSPLUS)
-extern "C" {
-#endif /* PACE_HAS_CPLUSPLUS */
-
-#ifndef PACE_UTIMBUF
-#define PACE_UTIMBUF
-typedef struct utimbuf pace_utimbuf;
-#endif /* PACE_UTIMBUF */
-
-#if defined (PACE_HAS_CPLUSPLUS)
-}
-#endif /* PACE_HAS_CPLUSPLUS */
-
-#endif /* PACE_UTIME_H_POSIX */
diff --git a/PACE/pace/posix/utime.inl b/PACE/pace/posix/utime.inl
deleted file mode 100644
index 589229d3b38..00000000000
--- a/PACE/pace/posix/utime.inl
+++ /dev/null
@@ -1,24 +0,0 @@
-/* $Id$ -*- C -*-
-
- * =============================================================================
- *
- * = LIBRARY
- * pace
- *
- * = FILENAME
- * pace/posix/utime.inl
- *
- * = AUTHOR
- * Luther Baker
- *
- * ============================================================================= */
-
-#if (PACE_HAS_POSIX_FS_UOF)
-PACE_INLINE
-int
-pace_utime (const char * path,
- const pace_utimbuf * times)
-{
- return utime (path, times);
-}
-#endif /* PACE_HAS_POSIX_FS_UOF */
diff --git a/PACE/pace/posix/utsname.c b/PACE/pace/posix/utsname.c
deleted file mode 100644
index 1fa1461795e..00000000000
--- a/PACE/pace/posix/utsname.c
+++ /dev/null
@@ -1,20 +0,0 @@
-/* $Id$
-
- * =============================================================================
- *
- * = LIBRARY
- * pace
- *
- * = FILENAME
- * pace/posix/utsname.c
- *
- * = AUTHOR
- * Luther Baker
- *
- * ============================================================================= */
-
-#include "pace/sys/utsname.h"
-
-#if !defined (PACE_HAS_INLINE)
-# include "pace/posix/utsname.inl"
-#endif /* ! PACE_HAS_INLINE */
diff --git a/PACE/pace/posix/utsname.h b/PACE/pace/posix/utsname.h
deleted file mode 100644
index 0e7d58e6f95..00000000000
--- a/PACE/pace/posix/utsname.h
+++ /dev/null
@@ -1,34 +0,0 @@
-/* $Id$
-
- * ============================================================================
- *
- * = LIBRARY
- * pace
- *
- * = FILENAME
- * pace/posix/utsname.h
- *
- * = AUTHOR
- * Luther Baker
- *
- * ============================================================================ */
-
-#ifndef PACE_SYS_UTSNAME_H_POSIX
-#define PACE_SYS_UTSNAME_H_POSIX
-
-#include <sys/utsname.h>
-
-#if defined (PACE_HAS_CPLUSPLUS)
-extern "C" {
-#endif /* PACE_HAS_CPLUSPLUS */
-
-#ifndef PACE_UTSNAME
-#define PACE_UTSNAME
-typedef struct utsname pace_utsname;
-#endif /* PACE_UTSNAME */
-
-#if defined (PACE_HAS_CPLUSPLUS)
-}
-#endif /* PACE_HAS_CPLUSPLUS */
-
-#endif /* PACE_SYS_UTSNAME_H_POSIX */
diff --git a/PACE/pace/posix/utsname.inl b/PACE/pace/posix/utsname.inl
deleted file mode 100644
index 84797fd519e..00000000000
--- a/PACE/pace/posix/utsname.inl
+++ /dev/null
@@ -1,23 +0,0 @@
-/* $Id$ -*- C -*-
-
- * =============================================================================
- *
- * = LIBRARY
- * pace
- *
- * = FILENAME
- * pace/posix/utsname.inl
- *
- * = AUTHOR
- * Luther Baker
- *
- * ============================================================================= */
-
-#if (PACE_HAS_POSIX_SP_UOF)
-PACE_INLINE
-int
-pace_uname (pace_utsname * name)
-{
- return uname (name);
-}
-#endif /* PACE_HAS_POSIX_SP_UOF */
diff --git a/PACE/pace/posix/wait.c b/PACE/pace/posix/wait.c
deleted file mode 100644
index 786b8e59fbd..00000000000
--- a/PACE/pace/posix/wait.c
+++ /dev/null
@@ -1,20 +0,0 @@
-/* $Id$
-
- * =============================================================================
- *
- * = LIBRARY
- * pace
- *
- * = FILENAME
- * pace/posix/wait.c
- *
- * = AUTHOR
- * Luther Baker
- *
- * ============================================================================= */
-
-#include "pace/sys/wait.h"
-
-#if !defined (PACE_HAS_INLINE)
-# include "pace/posix/wait.inl"
-#endif /* ! PACE_HAS_INLINE */
diff --git a/PACE/pace/posix/wait.h b/PACE/pace/posix/wait.h
deleted file mode 100644
index 4bc233da5b5..00000000000
--- a/PACE/pace/posix/wait.h
+++ /dev/null
@@ -1,38 +0,0 @@
-/* $Id$
-
- * ============================================================================
- *
- * = LIBRARY
- * pace
- *
- * = FILENAME
- * pace/posix/wait.h
- *
- * = AUTHOR
- * Luther Baker
- *
- * ============================================================================ */
-
-#ifndef PACE_WAIT_H_POSIX
-#define PACE_WAIT_H_POSIX
-
-#include "pace/sys/types.h"
-
-#if defined (PACE_HAS_CPLUSPLUS)
-extern "C" {
-#endif /* PACE_HAS_CPLUSPLUS */
-
-#define PACE_WEXITSTATUS WEXITSTATUS
-#define PACE_WIFEXITED WIFEXITED
-#define PACE_WIFSIGNALED WISIGNALED
-#define PACE_WIFSTOPPED WIFSTOPPED
-#define PACE_WNOHANG WNOHANG
-#define PACE_WSTOPSIG WSTOPSIG
-#define PACE_WTERMSIG WTERMSIG
-#define PACE_WUNTRACED WUNTRACED
-
-#if defined (PACE_HAS_CPLUSPLUS)
-}
-#endif /* PACE_HAS_CPLUSPLUS */
-
-#endif /* PACE_WAIT_H */
diff --git a/PACE/pace/posix/wait.inl b/PACE/pace/posix/wait.inl
deleted file mode 100644
index f1f98ad4d5e..00000000000
--- a/PACE/pace/posix/wait.inl
+++ /dev/null
@@ -1,34 +0,0 @@
-/* $Id$ -*- C -*-
-
- * =============================================================================
- *
- * = LIBRARY
- * pace
- *
- * = FILENAME
- * pace/posix/wait.inl
- *
- * = AUTHOR
- * Luther Baker
- *
- * ============================================================================= */
-
-#include <sys/wait.h>
-
-#if (PACE_HAS_POSIX_MP_UOF)
-PACE_INLINE
-pid_t
-pace_wait (int * statloc)
-{
- return wait (statloc);
-}
-#endif /* PACE_HAS_POSIX_MP_UOF */
-
-#if (PACE_HAS_POSIX_MP_UOF)
-PACE_INLINE
-pid_t
-pace_waitpid (pid_t pid, int * statloc, int options)
-{
- return waitpid (pid, statloc, options);
-}
-#endif /* PACE_HAS_POSIX_MP_UOF */
diff --git a/PACE/pace/pthread.h b/PACE/pace/pthread.h
deleted file mode 100644
index a744915833d..00000000000
--- a/PACE/pace/pthread.h
+++ /dev/null
@@ -1,733 +0,0 @@
-/* $Id$
-
- * ============================================================================
- *
- * = LIBRARY
- * pace
- *
- * = FILENAME
- * pace/pthread.h
- *
- * = AUTHOR
- * Luther Baker
- *
- * ============================================================================ */
-
-#ifndef PACE_PTHREAD_H
-#define PACE_PTHREAD_H
-
-#include "pace/config/defines.h"
-
-#if (PACE_HAS_POSIX)
-# include "pace/posix/pthread.h"
-#elif (PACE_VXWORKS)
-# include "pace/vxworks/pthread.h"
-#elif (PACE_WIN32)
-# include "pace/win32/pthread.h"
-#endif
-
-#if defined (PACE_HAS_CPLUSPLUS)
-extern "C" {
-#endif /* PACE_HAS_CPLUSPLUS */
-
- /**
- PACE's implementation of the POSIX function pthread_atfork.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 3.1.3.
- */
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
- PACE_Export PACE_INLINE
- int pace_pthread_atfork (void (*prepare) (void),
- void (*parent) (void),
- void (*child) (void));
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
- /**
- PACE's implementation of the POSIX function pthread_attr_destroy.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 16.2.1.
- */
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
- PACE_Export PACE_INLINE
- int pace_pthread_attr_destroy (pace_pthread_attr_t * attr);
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
- /**
- PACE's implementation of the POSIX function pthread_attr_getdetachstate.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 16.2.1.
- */
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
- PACE_Export PACE_INLINE
- int pace_pthread_attr_getdetachstate (const pace_pthread_attr_t * attr,
- int * detachstate);
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
- /**
- PACE's implementation of the POSIX function pthread_attr_getinheritsched.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 13.5.1.
- */
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
- PACE_Export PACE_INLINE
- int pace_pthread_attr_getinheritsched (const pace_pthread_attr_t * attr,
- int * inheritsched);
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
- /**
- PACE's implementation of the POSIX function pthread_attr_getschedparam.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 13.5.1.
- */
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
- PACE_Export PACE_INLINE
- int pace_pthread_attr_getschedparam (const pace_pthread_attr_t * attr,
- pace_sched_param * param);
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
- /**
- PACE's implementation of the POSIX function pthread_attr_getschedpolicy.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 13.5.1.
- */
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
- PACE_Export PACE_INLINE
- int pace_pthread_attr_getschedpolicy (const pace_pthread_attr_t * attr,
- int * policy);
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
- /**
- PACE's implementation of the POSIX function pthread_attr_getscope.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 13.5.1.
- */
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
- PACE_Export PACE_INLINE
- int pace_pthread_attr_getscope (const pace_pthread_attr_t * attr,
- int * contentionscope);
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
- /**
- PACE's implementation of the POSIX function pthread_attr_getstackaddr.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 16.2.1.
- */
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
- PACE_Export PACE_INLINE
- int pace_pthread_attr_getstackaddr (const pace_pthread_attr_t * attr,
- void ** stackaddr);
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
- /**
- PACE's implementation of the POSIX function pthread_attr_getstacksize.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 16.2.1.
- */
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
- PACE_Export PACE_INLINE
- int pace_pthread_attr_getstacksize (const pace_pthread_attr_t * attr,
- size_t * stacksize);
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
- /**
- PACE's implementation of the POSIX function pthread_attr_init.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 16.2.1.
- */
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
- PACE_Export PACE_INLINE
- int pace_pthread_attr_init (pace_pthread_attr_t * attr);
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
- /**
- PACE's implementation of the POSIX function pthread_attr_setdetachstate.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 16.2.1.
- */
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
- PACE_Export PACE_INLINE
- int pace_pthread_attr_setdetachstate (pace_pthread_attr_t * attr,
- int detachstate);
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
- /**
- PACE's implementation of the POSIX function pthread_attr_setinheritsched.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 13.5.1.
- */
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
- PACE_Export PACE_INLINE
- int pace_pthread_attr_setinheritsched (pace_pthread_attr_t * attr,
- int inheritsched);
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
- /**
- PACE's implementation of the POSIX function pthread_attr_setschedparam.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 13.5.1.
- */
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
- PACE_Export PACE_INLINE
- int pace_pthread_attr_setschedparam (pace_pthread_attr_t * attr,
- const pace_sched_param * param);
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
- /**
- PACE's implementation of the POSIX function pthread_attr_setschedpolicy.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 13.5.1.
- */
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
- PACE_Export PACE_INLINE
- int pace_pthread_attr_setschedpolicy (pace_pthread_attr_t * attr,
- int policy);
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
- /**
- PACE's implementation of the POSIX function pthread_attr_setscope.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 13.5.1.
- */
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
- PACE_Export PACE_INLINE
- int pace_pthread_attr_setscope (pace_pthread_attr_t * attr,
- int contentionscope);
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
- /**
- PACE's implementation of the POSIX function pthread_attr_setstackaddr.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 16.2.1.
- */
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
- PACE_Export PACE_INLINE
- int pace_pthread_attr_setstackaddr (pace_pthread_attr_t * attr,
- void * stackaddr);
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
- /**
- PACE's implementation of the POSIX function pthread_attr_setstacksize.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 16.2.1.
- */
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
- PACE_Export PACE_INLINE
- int pace_pthread_attr_setstacksize (pace_pthread_attr_t * attr,
- size_t stacksize);
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
- /**
- PACE's implementation of the POSIX function pthread_cancel.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 18.2.1.
- */
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
- PACE_Export PACE_INLINE
- int pace_pthread_cancel (pace_pthread_t thread);
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
- /**
- PACE's implementation of the POSIX function pthread_cleanup_push.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 18.2.3.
- */
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-# define pace_pthread_cleanup_push(routine, arg) \
- pthread_cleanup_push (routine, arg)
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
- /**
- PACE's implementation of the POSIX function pthread_cleanup_pop.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 18.2.3.
- */
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-# define pace_pthread_cleanup_pop(execute) \
- pthread_cleanup_pop (execute)
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-# define PACE_PTHREAD_COND_INITIALIZER PTHREAD_COND_INITIALIZER
-
- /**
- PACE's implementation of the POSIX function pthread_cond_broadcast.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 11.4.3.
- */
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
- PACE_Export PACE_INLINE
- int pace_pthread_cond_broadcast (pace_pthread_cond_t * cond);
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
- /**
- PACE's implementation of the POSIX function pthread_cond_destroy.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 11.4.2.
- */
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
- PACE_Export PACE_INLINE
- int pace_pthread_cond_destroy (pace_pthread_cond_t * cond);
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
- /**
- PACE's implementation of the POSIX function pthread_cond_init.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 11.4.2.
- */
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
- PACE_Export PACE_INLINE
- int pace_pthread_cond_init (pace_pthread_cond_t * cond,
- const pace_pthread_condattr_t * attr);
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
- /**
- PACE's implementation of the POSIX function pthread_cond_signal.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 11.4.3.
- */
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
- PACE_Export PACE_INLINE
- int pace_pthread_cond_signal (pace_pthread_cond_t * cond);
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
- /**
- PACE's implementation of the POSIX function pthread_cond_timedwait.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 11.4.4.
- */
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
- PACE_Export PACE_INLINE
- int pace_pthread_cond_timedwait (pace_pthread_cond_t * cond,
- pace_pthread_mutex_t * mutex,
- const pace_timespec * abstime);
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
- /**
- PACE's implementation of the POSIX function pthread_cond_wait.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 11.4.4.
- */
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
- PACE_Export PACE_INLINE
- int pace_pthread_cond_wait (pace_pthread_cond_t * cond,
- pace_pthread_mutex_t * mutex);
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
- /**
- PACE's implementation of the POSIX function pthread_condattr_destroy.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 11.4.1.
- */
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
- PACE_Export PACE_INLINE
- int pace_pthread_condattr_destroy (pace_pthread_condattr_t * attr);
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
- /**
- PACE's implementation of the POSIX function pthread_condattr_getpshared.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 11.4.1.
- */
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
- PACE_Export PACE_INLINE
- int pace_pthread_condattr_getpshared (const pace_pthread_condattr_t * attr,
- int * pshared);
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
- /**
- PACE's implementation of the POSIX function pthread_condattr_init.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 11.4.1.
- */
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
- PACE_Export PACE_INLINE
- int pace_pthread_condattr_init (pace_pthread_condattr_t * attr);
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
- /**
- PACE's implementation of the POSIX function pthread_condattr_setpshared.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 11.4.1.
- */
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
- PACE_Export PACE_INLINE
- int pace_pthread_condattr_setpshared (pace_pthread_condattr_t * attr,
- int pshared);
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
- /**
- PACE's implementation of the POSIX function pthread_create.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 16.2.2.
- */
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
- PACE_Export PACE_INLINE
- int pace_pthread_create (pace_pthread_t * thread,
- const pace_pthread_attr_t * attr,
- void * (*start_routine) (void*),
- void * arg);
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
- /**
- PACE's implementation of the POSIX function pthread_detach.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 16.2.4.
- */
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
- PACE_Export PACE_INLINE
- int pace_pthread_detach (pace_pthread_t thread);
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
- /**
- PACE's implementation of the POSIX function pthread_equal.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 16.2.7.
- */
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
- PACE_Export PACE_INLINE
- int pace_pthread_equal (pace_pthread_t t1,
- pace_pthread_t t2);
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
- /**
- PACE's implementation of the POSIX function pthread_exit.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 16.2.5.
- */
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
- PACE_Export PACE_INLINE
- void pace_pthread_exit (void * value_ptr);
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
- /**
- PACE's implementation of the POSIX function pthread_getschedparam.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 13.2.5.
- */
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
- PACE_Export PACE_INLINE
- int pace_pthread_getschedparam (pace_pthread_t thread,
- int * policy,
- pace_sched_param * param);
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
- /**
- PACE's implementation of the POSIX function pthread_getspecific.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 17.1.2.
- */
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
- PACE_Export PACE_INLINE
- void * pace_pthread_getspecific (pace_pthread_key_t key);
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
- /**
- PACE's implementation of the POSIX function pthread_join.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 16.2.3.
- */
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
- PACE_Export PACE_INLINE
- int pace_pthread_join (pace_pthread_t thread,
- void ** value_ptr);
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
- /**
- PACE's implementation of the POSIX function pthread_key_create.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 17.1.1.
- */
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
- PACE_Export PACE_INLINE
- int pace_pthread_key_create (pace_pthread_key_t * key,
- void (*destructor)(void*));
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
- /**
- PACE's implementation of the POSIX function pthread_key_delete.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 17.1.3.
- */
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
- PACE_Export PACE_INLINE
- int pace_pthread_key_delete (pace_pthread_key_t key);
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
- /**
- PACE's implementation of the POSIX function pthread_kill.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 3.3.10.
- */
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
- PACE_Export PACE_INLINE
- int pace_pthread_kill (pace_pthread_t thread,
- int sig);
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
- /**
- PACE's implementation of the POSIX function pthread_mutex_destroy.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 11.3.2.
- */
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
- PACE_Export PACE_INLINE
- int pace_pthread_mutex_destroy (pace_pthread_mutex_t * mutex);
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
- /**
- PACE's implementation of the POSIX function pthread_mutex_getprioceiling.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 13.6.2.
- */
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
- PACE_Export PACE_INLINE
- int pace_pthread_mutex_getprioceiling (pace_pthread_mutex_t * mutex,
- int * prioceiling);
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
- /**
- PACE's implementation of the POSIX function pthread_mutex_init.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 11.3.2.
- */
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
- PACE_Export PACE_INLINE
- int pace_pthread_mutex_init (pace_pthread_mutex_t * mutex,
- const pace_pthread_mutexattr_t * attr);
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
- /**
- PACE's implementation of the POSIX function pthread_mutex_lock.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 11.3.3.
- */
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
- PACE_Export PACE_INLINE
- int pace_pthread_mutex_lock (pace_pthread_mutex_t * mutex);
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
- /**
- PACE's implementation of the POSIX function pthread_mutex_setprioceiling.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 13.6.2.
- */
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
- PACE_Export PACE_INLINE
- int pace_pthread_mutex_setprioceiling (pace_pthread_mutex_t * mutex,
- int prioceiling,
- int * old_ceiling);
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
- /**
- PACE's implementation of the POSIX function pthread_mutex_trylock.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 11.3.3.
- */
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
- PACE_Export PACE_INLINE
- int pace_pthread_mutex_trylock (pace_pthread_mutex_t * mutex);
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
- /**
- PACE's implementation of the POSIX function pthread_mutex_unlock.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 11.3.3.
- */
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
- PACE_Export PACE_INLINE
- int pace_pthread_mutex_unlock (pace_pthread_mutex_t * mutex);
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
- /**
- PACE's implementation of the POSIX function pthread_mutexattr_destroy.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 11.3.1.
- */
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
- PACE_Export PACE_INLINE
- int pace_pthread_mutexattr_destroy (pace_pthread_mutexattr_t * sttr);
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
- /**
- PACE's implementation of the POSIX function
- pthread_mutexattr_getprioceiling.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 13.6.1.
- */
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
- PACE_Export PACE_INLINE
- int pace_pthread_mutexattr_getprioceiling (pace_pthread_mutexattr_t * attr,
- int * prioceiling);
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
- /**
- PACE's implementation of the POSIX function pthread_mutexattr_getprotocol.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 13.6.1.
- */
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
- PACE_Export PACE_INLINE
- int pace_pthread_mutexattr_getprotocol (const pace_pthread_mutexattr_t * attr,
- int * protocol);
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
- /**
- PACE's implementation of the POSIX function
- pthread_mutexattr_setprioceiling.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 13.6.1.
- */
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
- PACE_Export PACE_INLINE
- int pace_pthread_mutexattr_setprioceiling (pace_pthread_mutexattr_t * attr,
- int prioceiling);
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
- /**
- PACE's implementation of the POSIX function pthread_mutexattr_setprotocol.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 13.6.1.
- */
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
- PACE_Export PACE_INLINE
- int pace_pthread_mutexattr_setprotocol (pace_pthread_mutexattr_t * attr,
- int protocol);
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
- /**
- PACE's implementation of the POSIX function pthread_mutexattr_getpshared.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 11.3.1.
- */
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
- PACE_Export PACE_INLINE
- int pace_pthread_mutexattr_getpshared (const pace_pthread_mutexattr_t * attr,
- int * pshared);
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
- /**
- PACE's implementation of the POSIX function pthread_mutexattr_init.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 11.3.1.
- */
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
- PACE_Export PACE_INLINE
- int pace_pthread_mutexattr_init (pace_pthread_mutexattr_t * attr);
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
- /**
- PACE's implementation of the POSIX function pthread_mutexattr_setpshared.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 11.3.1.
- */
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
- PACE_Export PACE_INLINE
- int pace_pthread_mutexattr_setpshared (pace_pthread_mutexattr_t * attr,
- int pshared);
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
- /**
- PACE's implementation of the POSIX function pthread_once.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 16.2.8.
- */
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
- PACE_Export PACE_INLINE
- int pace_pthread_once (pace_pthread_once_t * once_control,
- void (*void_routine) (void));
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-# define PACE_PTHREAD_ONCE_INIT PTHREAD_ONCE_INIT
-
- /**
- PACE's implementation of the POSIX function pthread_self.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 16.2.6.
- */
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
- PACE_Export PACE_INLINE
- pace_pthread_t pace_pthread_self ();
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
- /**
- PACE's implementation of the POSIX function pthread_setcancelstate.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 18.2.2.
- */
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
- PACE_Export PACE_INLINE
- int pace_pthread_setcancelstate (int state,
- int * oldstate);
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
- /**
- PACE's implementation of the POSIX function pthread_setcanceltype.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 18.2.2.
- */
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
- PACE_Export PACE_INLINE
- int pace_pthread_setcanceltype (int type,
- int * oldtype);
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
- /**
- PACE's implementation of the POSIX function pthread_setschedparam.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 13.5.2.
- */
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
- PACE_Export PACE_INLINE
- int pace_pthread_setschedparam (pace_pthread_t thread,
- int policy,
- const pace_sched_param * param);
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
- /**
- PACE's implementation of the POSIX function pthread_setspecific.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 17.1.2.
- */
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
- PACE_Export PACE_INLINE
- int pace_pthread_setspecific (pace_pthread_key_t key,
- const void * value);
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
- /**
- PACE's implementation of the POSIX function pthread_sigmask.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 3.3.5.
- */
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
- PACE_Export PACE_INLINE
- int pace_pthread_sigmask (int how,
- const pace_sigset_t * set,
- pace_sigset_t * oset);
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
- /**
- PACE's implementation of the POSIX function pthread_testcancel.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 18.2.2.
- */
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
- PACE_Export PACE_INLINE
- void pace_pthread_testcancel ();
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-
-#if defined (PACE_HAS_INLINE)
-# if (PACE_HAS_POSIX)
-# include "pace/posix/pthread.inl"
-# elif (PACE_VXWORKS)
-# include "pace/vxworks/pthread.inl"
-# elif (PACE_WIN32)
-# include "pace/win32/pthread.inl"
-# endif
-#endif /* PACE_HAS_INLINE */
-
-#if defined (PACE_HAS_CPLUSPLUS)
-}
-#endif /* PACE_HAS_CPLUSPLUS */
-
-#endif /* PACE_PTHREAD_H */
diff --git a/PACE/pace/pwd.h b/PACE/pace/pwd.h
deleted file mode 100644
index e4e9cf0bac5..00000000000
--- a/PACE/pace/pwd.h
+++ /dev/null
@@ -1,93 +0,0 @@
-/* $Id$
-
- * ============================================================================
- *
- * = LIBRARY
- * pace
- *
- * = FILENAME
- * pace/pwd.h
- *
- * = AUTHOR
- * Luther Baker
- *
- * ============================================================================ */
-
-#ifndef PACE_PWD_H
-#define PACE_PWD_H
-
-#include "pace/config/defines.h"
-
-#if (PACE_HAS_POSIX)
-# include "pace/posix/pwd.h"
-#elif (PACE_VXWORKS)
-# include "pace/vxworks/pwd.h"
-#elif (PACE_WIN32)
-# include "pace/win32/pwd.h"
-#endif
-
-#if defined (PACE_HAS_CPLUSPLUS)
-extern "C" {
-#endif /* PACE_HAS_CPLUSPLUS */
-
- /**
- PACE's implementation of the POSIX function getpwuid.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 9.2.2.
- */
-#if (PACE_HAS_POSIX_SD_UOF)
- PACE_Export PACE_INLINE pace_passwd * pace_getpwuid (pace_uid_t uid);
-#endif /* PACE_HAS_POSIX_SD_UOF */
-
- /**
- PACE's implementation of the POSIX function getpwuid_r.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 9.2.2.
- */
-#if (PACE_HAS_POSIX_SDR_UOF)
- PACE_Export PACE_INLINE int pace_getpwuid_r (pace_uid_t uid,
- pace_passwd * pwd,
- char * buffer,
- pace_size_t bufsize,
- pace_passwd ** result);
-#endif /* PACE_HAS_POSIX_SDR_UOF */
- /* Requires PACE_HAS_POSIX_PTHREAD_SEMANTICS. */
-
- /**
- PACE's implementation of the POSIX function getpwnam.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 9.2.2.
- */
-#if (PACE_HAS_POSIX_SD_UOF)
- PACE_Export PACE_INLINE pace_passwd * pace_getpwnam (const char * name);
-#endif /* PACE_HAS_POSIX_SD_UOF */
-
- /**
- PACE's implementation of the POSIX function getpwnam_r.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 9.2.2.
- */
-#if (PACE_HAS_POSIX_SDR_UOF)
- PACE_Export PACE_INLINE int pace_getpwnam_r (const char * name,
- pace_passwd * pwd,
- char * buffer,
- pace_size_t bufsize,
- pace_passwd ** result);
-#endif /* PACE_HAS_POSIX_SDR_UOF */
- /* Requires PACE_HAS_POSIX_PTHREAD_SEMANTICS. */
-
-#if defined (PACE_HAS_INLINE)
-# if (PACE_HAS_POSIX)
-# include "pace/posix/pwd.inl"
-# elif (PACE_VXWORKS)
-# include "pace/vxworks/pwd.inl"
-# elif (PACE_WIN32)
-# include "pace/win32/pwd.inl"
-# endif
-#endif /* PACE_HAS_INLINE */
-
-#if defined (PACE_HAS_CPLUSPLUS)
-}
-#endif /* PACE_HAS_CPLUSPLUS */
-
-#endif /* PACE_PWD_H */
diff --git a/PACE/pace/sched.h b/PACE/pace/sched.h
deleted file mode 100644
index 20c9dc50ca5..00000000000
--- a/PACE/pace/sched.h
+++ /dev/null
@@ -1,124 +0,0 @@
-/* $Id$
-
- * ============================================================================
- *
- * = LIBRARY
- * pace
- *
- * = FILENAME
- * pace/sched.h
- *
- * = AUTHOR
- * Luther Baker
- *
- * ============================================================================ */
-
-#ifndef PACE_SCHED_H
-#define PACE_SCHED_H
-
-#include "pace/config/defines.h"
-
-#if (PACE_HAS_POSIX)
-# include "pace/posix/sched.h"
-#elif (PACE_VXWORKS)
-# include "pace/vxworks/sched.h"
-#elif (PACE_WIN32)
-# include "pace/win32/sched.h"
-#endif
-
-#if defined (PACE_HAS_CPLUSPLUS)
-extern "C" {
-#endif /* PACE_HAS_CPLUSPLUS */
-
- /**
- PACE's implementation of the POSIX function sched_get_priority_max.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 13.3.6.
- */
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
- PACE_Export PACE_INLINE int pace_sched_get_priority_max (int policy);
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
- /**
- PACE's implementation of the POSIX function sched_get_priority_min.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 13.3.6.
- */
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
- PACE_Export PACE_INLINE int pace_sched_get_priority_min (int policy);
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
- /**
- PACE's implementation of the POSIX function sched_getparam.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 13.3.2.
- */
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
- PACE_Export PACE_INLINE int pace_sched_getparam (pace_pid_t pid,
- pace_sched_param * param);
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
- /**
- PACE's implementation of the POSIX function sched_rr_get_interval.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 13.3.6.
- */
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
- PACE_Export PACE_INLINE int pace_sched_rr_get_interval (pace_pid_t pid,
- pace_timespec * interval);
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
- /**
- PACE's implementation of the POSIX function sched_setparam.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 13.3.1.
- */
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
- PACE_Export PACE_INLINE int pace_sched_setparam (pace_pid_t pid,
- const pace_sched_param * param);
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
- /**
- PACE's implementation of the POSIX function sched_getscheduler.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 13.3.4.
- */
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
- PACE_Export PACE_INLINE int pace_sched_getscheduler (pace_pid_t pid);
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
- /**
- PACE's implementation of the POSIX function sched_setscheduler.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 13.3.3.
- */
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
- PACE_Export PACE_INLINE int pace_sched_setscheduler (pace_pid_t pid,
- int policy,
- const pace_sched_param * param);
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
- /**
- PACE's implementation of the POSIX function sched_yield.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 13.3.5.
- */
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
- PACE_Export PACE_INLINE int pace_sched_yield ();
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if defined (PACE_HAS_INLINE)
-# if (PACE_HAS_POSIX)
-# include "pace/posix/sched.inl"
-# elif (PACE_VXWORKS)
-# include "pace/vxworks/sched.inl"
-# elif (PACE_WIN32)
-# include "pace/win32/sched.inl"
-# endif
-#endif /* PACE_HAS_INLINE */
-
-#if defined (PACE_HAS_CPLUSPLUS)
-}
-#endif /* PACE_HAS_CPLUSPLUS */
-
-#endif /* PACE_SCHED_H */
diff --git a/PACE/pace/semaphore.h b/PACE/pace/semaphore.h
deleted file mode 100644
index 9c2a34824aa..00000000000
--- a/PACE/pace/semaphore.h
+++ /dev/null
@@ -1,130 +0,0 @@
-/* $Id$
-
- * ============================================================================
- *
- * = LIBRARY
- * pace
- *
- * = FILENAME
- * pace/semaphore.h
- *
- * = AUTHOR
- * Luther Baker
- *
- * ============================================================================ */
-
-#ifndef PACE_SEMAPHORE_H
-#define PACE_SEMAPHORE_H
-
-#include "pace/config/defines.h"
-
-#if (PACE_HAS_POSIX)
-# include "pace/posix/semaphore.h"
-#elif (PACE_VXWORKS)
-# include "pace/vxworks/semaphore.h"
-#elif (PACE_WIN32)
-# include "pace/win32/semaphore.h"
-#endif
-
-#if defined (PACE_HAS_CPLUSPLUS)
-extern "C" {
-#endif /* PACE_HAS_CPLUSPLUS */
-
- /**
- PACE's implementation of the POSIX function sem_close.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 11.2.4.
- */
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
- PACE_Export PACE_INLINE int pace_sem_close (pace_sem_t * sem);
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
- /**
- PACE's implementation of the POSIX function sem_destroy.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 11.2.2.
- */
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
- PACE_Export PACE_INLINE int pace_sem_destroy (pace_sem_t * sem);
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
- /**
- PACE's implementation of the POSIX function sem_getvalue.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 11.2.8.
- */
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
- PACE_Export PACE_INLINE int pace_sem_getvalue (pace_sem_t * sem, int * sval);
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
- /**
- PACE's implementation of the POSIX function sem_init.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 11.2.1.
- */
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
- PACE_Export PACE_INLINE int pace_sem_init (pace_sem_t * sem,
- int pshared,
- unsigned int value);
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
- /**
- PACE's implementation of the POSIX function sem_open.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 11.2.3.
- */
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-# define pace_sem_open sem_open
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
- /**
- PACE's implementation of the POSIX function sem_post.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 11.2.7.
- */
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
- PACE_Export PACE_INLINE int pace_sem_post (pace_sem_t * sem);
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
- /**
- PACE's implementation of the POSIX function sem_trywait.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 11.2.6.
- */
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
- PACE_Export PACE_INLINE int pace_sem_trywait (pace_sem_t * sem);
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
- /**
- PACE's implementation of the POSIX function sem_unlink.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 11.2.5.
- */
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
- PACE_Export PACE_INLINE int pace_sem_unlink (const char * name);
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
- /**
- PACE's implementation of the POSIX function sem_wait.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 11.2.6.
- */
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
- PACE_Export PACE_INLINE int pace_sem_wait (pace_sem_t * sem);
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if defined (PACE_HAS_INLINE)
-# if (PACE_HAS_POSIX)
-# include "pace/posix/semaphore.inl"
-# elif (PACE_VXWORKS)
-# include "pace/vxworks/semaphore.inl"
-# elif (PACE_WIN32)
-# include "pace/win32/semaphore.inl"
-# endif
-#endif /* PACE_HAS_INLINE */
-
-#if defined (PACE_HAS_CPLUSPLUS)
-}
-#endif /* PACE_HAS_CPLUSPLUS */
-
-#endif /* PACE_SEMAPHORE_H */
diff --git a/PACE/pace/setjmp.h b/PACE/pace/setjmp.h
deleted file mode 100644
index 99a6651982f..00000000000
--- a/PACE/pace/setjmp.h
+++ /dev/null
@@ -1,85 +0,0 @@
-/* $Id$
-
- * ============================================================================
- *
- * = LIBRARY
- * pace
- *
- * = FILENAME
- * pace/setjmp.h
- *
- * = AUTHOR
- * Luther Baker
- *
- * ============================================================================ */
-
-#ifndef PACE_SETJMP_H
-#define PACE_SETJMP_H
-
-#include "pace/config/defines.h"
-
-#if (PACE_HAS_POSIX)
-# include "pace/posix/setjmp.h"
-#elif (PACE_VXWORKS)
-# include "pace/vxworks/setjmp.h"
-#elif (PACE_WIN32)
-# include "pace/win32/setjmp.h"
-#endif
-
-#if defined (PACE_HAS_CPLUSPLUS)
-extern "C" {
-#endif /* PACE_HAS_CPLUSPLUS */
-
- /**
- PACE's implementation of the POSIX function setjmp.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 8.3.1.
- */
-#if (PACE_HAS_POSIX_CLS_UOF)
- /* int pace_setjmp (pace_jmp_buf env); */
-# define pace_setjmp setjmp
-#endif /* PACE_HAS_POSIX_CLS_UOF */
-
- /**
- PACE's implementation of the POSIX function sigsetjmp.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 8.3.1.
- */
-#if (PACE_HAS_POSIX_SIG_UOF)
- /* int pace_sigsetjmp (pace_sigjmp_buf env, int savemask); */
-# define pace_sigsetjmp setjmp
-#endif /* PACE_HAS_POSIX_SIG_UOF */
-
- /**
- PACE's implementation of the POSIX function longjmp.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 8.3.1.
- */
-#if (PACE_HAS_POSIX_CLS_UOF)
- PACE_Export PACE_INLINE void pace_longjmp (pace_jmp_buf env, int val);
-#endif /* PACE_HAS_POSIX_CLS_UOF */
-
- /**
- PACE's implementation of the POSIX function siglongjmp.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 8.3.1.
- */
-#if (PACE_HAS_POSIX_SIG_UOF)
- PACE_Export PACE_INLINE void pace_siglongjmp (pace_sigjmp_buf env, int val);
-#endif /* PACE_HAS_POSIX_SIG_UOF */
-
-#if defined (PACE_HAS_INLINE)
-# if (PACE_HAS_POSIX)
-# include "pace/posix/setjmp.inl"
-# elif (PACE_VXWORKS)
-# include "pace/vxworks/setjmp.inl"
-# elif (PACE_WIN32)
-# include "pace/win32/setjmp.inl"
-# endif
-#endif /* PACE_HAS_INLINE */
-
-#if defined (PACE_HAS_CPLUSPLUS)
-}
-#endif /* PACE_HAS_CPLUSPLUS */
-
-#endif /* PACE_SETJMP_H */
diff --git a/PACE/pace/signal.h b/PACE/pace/signal.h
deleted file mode 100644
index 6ca0a0f200c..00000000000
--- a/PACE/pace/signal.h
+++ /dev/null
@@ -1,199 +0,0 @@
-/* $Id$
-
- * =============================================================================
- *
- * = LIBRARY
- * pace
- *
- * = FILENAME
- * pace/signal.h
- *
- * = AUTHOR
- * Luther Baker
- *
- * ============================================================================= */
-
-#ifndef PACE_SIGNAL_H
-#define PACE_SIGNAL_H
-
-#include "pace/config/defines.h"
-
-#if (PACE_HAS_POSIX)
-# include "pace/posix/signal.h"
-#elif (PACE_VXWORKS)
-# include "pace/vxworks/signal.h"
-#elif (PACE_WIN32)
-# include "pace/win32/signal.h"
-#endif
-
-#if defined (PACE_HAS_CPLUSPLUS)
-extern "C" {
-#endif /* PACE_HAS_CPLUSPLUS */
-
- /**
- PACE's implementation of the POSIX function kill.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 3.3.2.
- */
-#if (PACE_HAS_POSIX_SIG_UOF)
- PACE_Export PACE_INLINE int pace_kill (pace_pid_t pid, int sig);
-#endif /* PACE_HAS_POSIX_SIG_UOF */
-
- /**
- C std 7.14.2.1
- */
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
- PACE_Export PACE_INLINE int pace_raise (int sig);
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
- /**
- PACE's implementation of the POSIX function sigaction.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 3.3.4.
- */
-#if (PACE_HAS_POSIX_SIG_UOF)
- PACE_Export PACE_INLINE int pace_sigaction (int sig,
- const pace_sigaction_s * act,
- pace_sigaction_s * oact);
-#endif /* PACE_HAS_POSIX_SIG_UOF */
-
- /**
- PACE's implementation of the POSIX function sigaddset.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 3.3.3.
- */
-#if (PACE_HAS_POSIX_SIG_UOF)
- PACE_Export PACE_INLINE int pace_sigaddset (pace_sigset_t * set, int signo);
-#endif /* PACE_HAS_POSIX_SIG_UOF */
-
- /**
- PACE's implementation of the POSIX function sigemptyset.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 3.3.3.
- */
-#if (PACE_HAS_POSIX_SIG_UOF)
- PACE_Export PACE_INLINE int pace_sigemptyset (pace_sigset_t * set);
-#endif /* PACE_HAS_POSIX_SIG_UOF */
-
- /**
- PACE's implementation of the POSIX function sigdelset.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 3.3.3.
- */
-#if (PACE_HAS_POSIX_SIG_UOF)
- PACE_Export PACE_INLINE int pace_sigdelset (pace_sigset_t * set, int signo);
-#endif /* PACE_HAS_POSIX_SIG_UOF */
-
- /**
- PACE's implementation of the POSIX function sigfillset.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 3.3.3.
- */
-#if (PACE_HAS_POSIX_SIG_UOF)
- PACE_Export PACE_INLINE int pace_sigfillset (pace_sigset_t * set);
-#endif /* PACE_HAS_POSIX_SIG_UOF */
-
- /**
- PACE's implementation of the POSIX function sigismember.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 3.3.3.
- */
-#if (PACE_HAS_POSIX_SIG_UOF)
- PACE_Export PACE_INLINE int pace_sigismember (const pace_sigset_t * set,
- int signo);
-#endif /* PACE_HAS_POSIX_SIG_UOF */
-
- /**
- C std 7.14.1.1
- */
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
- PACE_Export PACE_INLINE pace_sig_pf pace_signal(int sig, pace_sig_pf func);
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
- /**
- PACE's implementation of the POSIX function sigpending.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 3.3.6.
- */
-#if (PACE_HAS_POSIX_SIG_UOF)
- PACE_Export PACE_INLINE int pace_sigpending (pace_sigset_t * set);
-#endif /* PACE_HAS_POSIX_SIG_UOF */
-
- /**
- PACE's implementation of the POSIX function sigprocmask.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 3.3.5.
- */
-#if (PACE_HAS_POSIX_SIG_UOF)
- PACE_Export PACE_INLINE int pace_sigprocmask (int how,
- const pace_sigset_t * set,
- pace_sigset_t * oset);
-#endif /* PACE_HAS_POSIX_SIG_UOF */
-
- /**
- PACE's implementation of the POSIX function sigqueue.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 3.3.9.
- */
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
- PACE_Export PACE_INLINE int pace_sigqueue (pace_pid_t pid,
- int signo,
- const pace_sigval value);
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
- /**
- PACE's implementation of the POSIX function sigsuspend.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 3.3.7.
- */
-#if (PACE_HAS_POSIX_SIG_UOF)
- PACE_Export PACE_INLINE int pace_sigsuspend (const pace_sigset_t * sigmask);
-#endif /* PACE_HAS_POSIX_SIG_UOF */
-
- /**
- PACE's implementation of the POSIX function sigtimedwait.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 3.3.8.
- */
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
- PACE_Export PACE_INLINE int pace_sigtimedwait (const pace_sigset_t * set,
- pace_siginfo_t * info,
- const pace_timespec * timeout);
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
- /**
- PACE's implementation of the POSIX function sigwait.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 3.3.8.
- */
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
- PACE_Export PACE_INLINE int pace_sigwait (const pace_sigset_t * set,
- int * sig);
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
- /* Requires PACE_HAS_POSIX_PTHREAD_SEMANTICS. */
-
- /**
- PACE's implementation of the POSIX function sigwaitinfo.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 3.3.8.
- */
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
- PACE_Export PACE_INLINE int pace_sigwaitinfo (const pace_sigset_t * set,
- pace_siginfo_t * info);
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if defined (PACE_HAS_INLINE)
-# if (PACE_HAS_POSIX)
-# include "pace/posix/signal.inl"
-# elif (PACE_VXWORKS)
-# include "pace/vxworks/signal.inl"
-# elif (PACE_WIN32)
-# include "pace/win32/signal.inl"
-# endif
-#endif /* PACE_HAS_INLINE */
-
-#if defined (PACE_HAS_CPLUSPLUS)
-}
-#endif /* PACE_HAS_CPLUSPLUS */
-
-#endif /* PACE_SIGNAL_H */
diff --git a/PACE/pace/stddef.h b/PACE/pace/stddef.h
deleted file mode 100644
index 457dddcd50f..00000000000
--- a/PACE/pace/stddef.h
+++ /dev/null
@@ -1,53 +0,0 @@
-/* $Id$
-
-* ============================================================================
-*
-* = LIBRARY
-* pace
-*
-* = FILENAME
-* pace/stddef.h
-*
-* = AUTHOR
-* John Heitmann
-*
-* =========================================================================== */
-
-#ifndef PACE_STDDEF_H
-#define PACE_STDDEF_H
-
-#include <stddef.h>
-
-#if defined (PACE_HAS_CPLUSPLUS)
-extern "C" {
-#endif /* PACE_HAS_CPLUSPLUS */
-
-#ifndef PACE_NULL
-#define PACE_NULL NULL;
-#endif /* PACE_NULL */
-
-#ifndef PACE_OFFSETOF
-# define PACE_OFFSETOF
-# define pace_offsetof offsetof;
-#endif /* PACE_OFFSETOF */
-
-#ifndef PACE_PTRDIFF_T
-#define PACE_PTRDIFF_T
-typedef ptrdiff_t pace_ptrdiff_t;
-#endif /* PACE_PTRDIFF_T */
-
-#ifndef PACE_SIZE_T
-#define PACE_SIZE_T
-typedef size_t pace_size_t;
-#endif /* PACE_SIZE_T */
-
-#ifndef PACE_WCHAR_T
-#define PACE_WCHAR_T
-typedef wchar_t pace_wchar_t;
-#endif /* PACE_WCHAR_T */
-
-# if defined (PACE_HAS_CPLUSPLUS)
-}
-# endif /* PACE_HAS_CPLUSPLUS */
-
-#endif /* PACE_STDDEF_H */
diff --git a/PACE/pace/stdio.h b/PACE/pace/stdio.h
deleted file mode 100644
index 29cb3444e35..00000000000
--- a/PACE/pace/stdio.h
+++ /dev/null
@@ -1,528 +0,0 @@
-/* $Id$
-
- * ============================================================================
- *
- * = LIBRARY
- * pace
- *
- * = FILENAME
- * pace/stdio.h
- *
- * = AUTHOR
- * Luther Baker
- *
- * ============================================================================ */
-
-#ifndef PACE_STDIO_H
-#define PACE_STDIO_H
-
-#include "pace/config/defines.h"
-
-#if (PACE_HAS_POSIX)
-# include "pace/posix/stdio.h"
-#elif (PACE_VXWORKS)
-# include "pace/vxworks/stdio.h"
-#elif (PACE_WIN32)
-# include "pace/win32/stdio.h"
-#endif
-
-#if defined (PACE_HAS_CPLUSPLUS)
-extern "C" {
-#endif /* PACE_HAS_CPLUSPLUS */
-
- /**
- PACE's implementation of the POSIX function clearerr.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 8.1.
- */
-#if (PACE_HAS_POSIX_DI_UOF)
- PACE_Export PACE_INLINE void pace_clearerr (PACE_FILE * stream);
-#endif /* PACE_HAS_POSIX_DI_UOF */
-
- /**
- PACE's implementation of the POSIX function ctermid.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 4.7.1.
- */
-#if (PACE_HAS_POSIX_DS_UOF)
- PACE_Export PACE_INLINE char * pace_ctermid (char * s);
-#endif /* PACE_HAS_POSIX_DS_UOF */
-
- /**
- PACE's implementation of the POSIX function fclose.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 8.1.
- */
-#if (PACE_HAS_POSIX_DI_UOF)
- PACE_Export PACE_INLINE int pace_fclose (PACE_FILE * stream);
-#endif /* PACE_HAS_POSIX_DI_UOF */
-
- /**
- PACE's implementation of the POSIX function fdopen.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 8.2.2.
- */
-#if (PACE_HAS_POSIX_DI_UOF)
- PACE_Export PACE_INLINE PACE_FILE * pace_fdopen (int fildes,
- const char * type);
-#endif /* PACE_HAS_POSIX_DI_UOF */
-
- /**
- PACE's implementation of the POSIX function ferror.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 8.1.
- */
-#if (PACE_HAS_POSIX_DI_UOF)
- PACE_Export PACE_INLINE int pace_ferror (PACE_FILE * stream);
-#endif /* PACE_HAS_POSIX_DI_UOF */
-
- /**
- PACE's implementation of the POSIX function feof.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 8.1.
- */
-#if (PACE_HAS_POSIX_DI_UOF)
- PACE_Export PACE_INLINE int pace_feof (PACE_FILE * stream);
-#endif /* PACE_HAS_POSIX_DI_UOF */
-
- /**
- PACE's implementation of the POSIX function fflush.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 8.1.
- */
-#if (PACE_HAS_POSIX_DI_UOF)
- PACE_Export PACE_INLINE int pace_fflush (PACE_FILE * stream);
-#endif /* PACE_HAS_POSIX_DI_UOF */
-
- /**
- PACE's implementation of the POSIX function fileno.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 8.2.1.
- */
-#if (PACE_HAS_POSIX_DI_UOF)
- PACE_Export PACE_INLINE int pace_fileno (PACE_FILE * stream);
-#endif /* PACE_HAS_POSIX_DI_UOF */
-
- /**
- PACE's implementation of the POSIX function fgetc.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 8.1.
- */
-#if (PACE_HAS_POSIX_DI_UOF)
- PACE_Export PACE_INLINE int pace_fgetc (PACE_FILE * stream);
-#endif /* PACE_HAS_POSIX_DI_UOF */
-
- /**
- C std 7.19.9.1
- */
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
- PACE_Export PACE_INLINE int pace_fgetpos(PACE_FILE * stream,
- pace_fpos_t * pos);
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
- /**
- PACE's implementation of the POSIX function fgets.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 8.1.
- */
-#if (PACE_HAS_POSIX_DI_UOF)
- PACE_Export PACE_INLINE char * pace_fgets (char * s, int n,
- PACE_FILE * stream);
-#endif /* PACE_HAS_POSIX_DI_UOF */
-
- /**
- PACE's implementation of the POSIX function flockfile.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 8.2.6.
- */
-#if (PACE_HAS_POSIX_FL_UOF)
- PACE_Export PACE_INLINE void pace_flockfile (PACE_FILE * file);
-#endif /* PACE_HAS_POSIX_FL_UOF */
- /* Requires PACE_HAS_REENTRANT. */
-
- /**
- PACE's implementation of the POSIX function fopen.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 8.1.
- */
-#if (PACE_HAS_POSIX_DI_UOF)
- PACE_Export PACE_INLINE PACE_FILE * pace_fopen (const char * filename,
- const char * mode);
-#endif /* PACE_HAS_POSIX_DI_UOF */
-
- /**
- PACE's implementation of the POSIX function fprintf.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 8.1.
- */
-#if (PACE_HAS_POSIX_DI_UOF)
-# define pace_fprintf fprintf
-#endif /* PACE_HAS_POSIX_DI_UOF */
- /* int pace_fprintf (PACE_FILE *stream, const char *format, ...);*/
-
- /**
- PACE's implementation of the POSIX function fputc.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 8.1.
- */
-#if (PACE_HAS_POSIX_DI_UOF)
- PACE_Export PACE_INLINE int pace_fputc (int c, PACE_FILE * stream);
-#endif /* PACE_HAS_POSIX_DI_UOF */
-
- /**
- PACE's implementation of the POSIX function fputs.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 8.1.
- */
-#if (PACE_HAS_POSIX_DI_UOF)
- PACE_Export PACE_INLINE int pace_fputs (const char * s, PACE_FILE * stream);
-#endif /* PACE_HAS_POSIX_DI_UOF */
-
- /**
- PACE's implementation of the POSIX function fread.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 8.1.
- */
-#if (PACE_HAS_POSIX_DI_UOF)
- PACE_Export PACE_INLINE pace_size_t pace_fread (void * ptr,
- pace_size_t size,
- pace_size_t number_of_items,
- PACE_FILE * stream);
-#endif /* PACE_HAS_POSIX_DI_UOF */
-
- /**
- PACE's implementation of the POSIX function freopen.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 8.1.
- */
-#if (PACE_HAS_POSIX_DI_UOF)
- PACE_Export PACE_INLINE FILE * pace_freopen (const char * filename,
- const char * mode,
- PACE_FILE * stream);
-#endif /* PACE_HAS_POSIX_DI_UOF */
-
- /**
- PACE's implementation of the POSIX function fscanf.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 8.1.
- */
-#if (PACE_HAS_POSIX_DI_UOF)
-# define pace_fscanf fscanf
-#endif /* PACE_HAS_POSIX_DI_UOF */
- /* int pace_scanf (const char *format, ... ); */
-
- /**
- PACE's implementation of the POSIX function fseek.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 8.1.
- */
-#if (PACE_HAS_POSIX_FM_UOF)
- PACE_Export PACE_INLINE int pace_fseek (PACE_FILE * stream,
- long offset,
- int whence);
-#endif /* PACE_HAS_POSIX_FM_UOF */
-
- /**
- C std 7.19.9.3
- */
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
- PACE_Export PACE_INLINE int pace_fsetpos(PACE_FILE *stream,
- const pace_fpos_t *pos);
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
- /**
- PACE's implementation of the POSIX function ftell.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 8.1.
- */
-#if (PACE_HAS_POSIX_FM_UOF)
- PACE_Export PACE_INLINE long pace_ftell (PACE_FILE * stream);
-#endif /* PACE_HAS_POSIX_FM_UOF */
-
- /**
- PACE's implementation of the POSIX function ftrylockfile.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 8.2.6.
- */
-#if (PACE_HAS_POSIX_FL_UOF)
- PACE_Export PACE_INLINE int pace_ftrylockfile (PACE_FILE * file);
-#endif /* PACE_HAS_POSIX_FL_UOF */
- /* Requires PACE_HAS_REENTRANT. */
-
- /**
- PACE's implementation of the POSIX function funlockfile.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 8.2.6.
- */
-#if (PACE_HAS_POSIX_FL_UOF)
- PACE_Export PACE_INLINE void pace_funlockfile (PACE_FILE * file);
-#endif /* PACE_HAS_POSIX_FL_UOF */
- /* Requires PACE_HAS_REENTRANT. */
-
- /**
- C std 7.19.8.2
- */
-#if (PACE_HAS_POSIX_DI_UOF)
- PACE_Export PACE_INLINE pace_size_t pace_fwrite(const void * ptr,
- pace_size_t size,
- pace_size_t nmemb,
- PACE_FILE * stream);
-#endif /* PACE_HAS_POSIX_DI_UOF */
-
- /**
- PACE's implementation of the POSIX function getc.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 8.1.
- */
-#if (PACE_HAS_POSIX_DI_UOF)
- PACE_Export PACE_INLINE int pace_getc (PACE_FILE * stream);
-#endif /* PACE_HAS_POSIX_DI_UOF */
-
- /**
- PACE's implementation of the POSIX function getc_unlocked.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 8.2.7.
- */
-#if (PACE_HAS_POSIX_FL_UOF)
- PACE_Export PACE_INLINE int pace_getc_unlocked (PACE_FILE * stream);
-#endif /* PACE_HAS_POSIX_FL_UOF */
- /* Requires PACE_HAS_REENTRANT. */
-
- /**
- PACE's implementation of the POSIX function getchar.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 8.1.
- */
-#if (PACE_HAS_POSIX_DI_UOF)
- PACE_Export PACE_INLINE int pace_getchar ();
-#endif /* PACE_HAS_POSIX_DI_UOF */
-
- /**
- PACE's implementation of the POSIX function getchar_unlocked.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 8.2.7.
- */
-#if (PACE_HAS_POSIX_FL_UOF)
- PACE_Export PACE_INLINE int pace_getchar_unlocked ();
-#endif /* PACE_HAS_POSIX_FL_UOF */
- /* Requires PACE_HAS_REENTRANT. */
-
- /**
- PACE's implementation of the POSIX function gets.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 8.1.
- */
-#if (PACE_HAS_POSIX_DI_UOF)
- PACE_Export PACE_INLINE char *pace_gets (char * s);
-#endif /* PACE_HAS_POSIX_DI_UOF */
-
- /**
- PACE's implementation of the POSIX function perror.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 8.1.
- */
-#if (PACE_HAS_POSIX_DI_UOF)
- PACE_Export PACE_INLINE void pace_perror (const char * s);
-#endif /* PACE_HAS_POSIX_DI_UOF */
-
- /**
- PACE's implementation of the POSIX function printf.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 8.1.
- */
-#if (PACE_HAS_POSIX_DI_UOF)
-# define pace_printf printf
-#endif /* PACE_HAS_POSIX_DI_UOF */
- /* int pace_printf (const char* format, ...); */
-
- /**
- PACE's implementation of the POSIX function putc.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 8.1.
- */
-#if (PACE_HAS_POSIX_DI_UOF)
- PACE_Export PACE_INLINE int pace_putc (int c, PACE_FILE * stream);
-#endif /* PACE_HAS_POSIX_DI_UOF */
-
- /**
- PACE's implementation of the POSIX function putc_unlocked.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 8.2.7.
- */
-#if (PACE_HAS_POSIX_FL_UOF)
- PACE_Export PACE_INLINE int pace_putc_unlocked (int c, PACE_FILE * stream);
-#endif /* PACE_HAS_POSIX_FL_UOF */
- /* Requires PACE_HAS_REENTRANT. */
-
- /**
- PACE's implementation of the POSIX function putchar.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 8.1.
- */
-#if (PACE_HAS_POSIX_DI_UOF)
- PACE_Export PACE_INLINE int pace_putchar (int c);
-#endif /* PACE_HAS_POSIX_DI_UOF */
-
- /**
- PACE's implementation of the POSIX function putchar_unlocked.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 8.2.7.
- */
-#if (PACE_HAS_POSIX_FL_UOF)
- PACE_Export PACE_INLINE int pace_putchar_unlocked (int c);
-#endif /* PACE_HAS_POSIX_FL_UOF */
- /* Requires PACE_HAS_REENTRANT. */
-
- /**
- PACE's implementation of the POSIX function puts.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 8.1.
- */
-#if (PACE_HAS_POSIX_DI_UOF)
- PACE_Export PACE_INLINE int pace_puts (const char * s);
-#endif /* PACE_HAS_POSIX_DI_UOF */
-
- /**
- PACE's implementation of the POSIX function remove.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 8.1.
- */
-#if (PACE_HAS_POSIX_FS_UOF)
- PACE_Export PACE_INLINE int pace_remove (const char * path);
-#endif /* PACE_HAS_POSIX_FS_UOF */
-
- /**
- PACE's implementation of the POSIX function rename.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 5.5.3.
- */
-#if (PACE_HAS_POSIX_FS_UOF)
- PACE_Export PACE_INLINE int pace_rename (const char * old_name,
- const char * new_name);
-#endif /* PACE_HAS_POSIX_FS_UOF */
-
- /**
- PACE's implementation of the POSIX function rewind.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 8.1.
- */
-#if (PACE_HAS_POSIX_FM_UOF)
- PACE_Export PACE_INLINE void pace_rewind (PACE_FILE * stream);
-#endif /* PACE_HAS_POSIX_FM_UOF */
-
- /**
- PACE's implementation of the POSIX function sprintf.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 8.1.
- */
-#if (PACE_HAS_POSIX_DI_UOF)
-# define pace_sprintf sprintf
-#endif /* PACE_HAS_POSIX_DI_UOF */
- /* int pace_sprintf (char* s, const char* format, ...); */
-
- /**
- PACE's implementation of the POSIX function scanf.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 8.1.
- */
-#if (PACE_HAS_POSIX_DI_UOF)
-# define pace_scanf scanf
-#endif /* PACE_HAS_POSIX_DI_UOF */
- /* int pace_scanf (const char *format, ... ); */
-
- /**
- PACE's implementation of the POSIX function setbuf.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 8.1.
- */
-#if (PACE_HAS_POSIX_DI_UOF)
- PACE_Export PACE_INLINE void pace_setbuf (PACE_FILE * stream, char * buf);
-#endif /* PACE_HAS_POSIX_DI_UOF */
-
-
- /**
- C std 7.19.5.6
- */
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
- PACE_Export PACE_INLINE int pace_setvbuf(PACE_FILE * stream,
- char * buf,
- int mode, pace_size_t size);
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
- /**
- PACE's implementation of the POSIX function sscanf.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 8.1.
- */
-#if (PACE_HAS_POSIX_DI_UOF)
-# define pace_sscanf sscanf
-#endif /* PACE_HAS_POSIX_DI_UOF */
- /* int pace_sscanf (const char *s, const char *format, ... ); */
-
- /**
- PACE's implementation of the POSIX function tmpfile.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 8.1.
- */
-#if (PACE_HAS_POSIX_FS_UOF)
- PACE_Export PACE_INLINE FILE * pace_tmpfile ();
-#endif /* PACE_HAS_POSIX_FS_UOF */
-
- /**
- PACE's implementation of the POSIX function tmpnam.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 8.1.
- */
-#if (PACE_HAS_POSIX_FS_UOF)
- PACE_Export PACE_INLINE char * pace_tmpnam (char * s);
-#endif /* PACE_HAS_POSIX_FS_UOF */
-
- /**
- PACE's implementation of the POSIX function ungetc.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 8.1.
- */
-#if (PACE_HAS_POSIX_DI_UOF)
- PACE_Export PACE_INLINE int pace_ungetc (int c, FILE * stream);
-#endif /* PACE_HAS_POSIX_DI_UOF */
-
- /**
- C std 7.19.6.8
- */
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
- PACE_Export PACE_INLINE int pace_vfprintf (PACE_FILE * stream,
- const char * format,
- va_list arg);
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
- /**
- C std 7.19.6.10
- */
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
- PACE_Export PACE_INLINE int pace_vprintf (const char * format,
- va_list arg);
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
- /**
- C std 7.19.6.13
- */
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
- PACE_Export PACE_INLINE int pace_vsprintf (char * s,
- const char * format,
- va_list arg);
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if defined (PACE_HAS_INLINE)
-# if (PACE_HAS_POSIX)
-# include "pace/posix/stdio.inl"
-# elif (PACE_VXWORKS)
-# include "pace/vxworks/stdio.inl"
-# elif (PACE_WIN32)
-# include "pace/win32/stdio.inl"
-# endif
-#endif /* PACE_HAS_INLINE */
-
-#if defined (PACE_HAS_CPLUSPLUS)
-}
-#endif /* PACE_HAS_CPLUSPLUS */
-
-#endif /* PACE_STDIO_H */
diff --git a/PACE/pace/stdlib.h b/PACE/pace/stdlib.h
deleted file mode 100644
index 60c7ea203d1..00000000000
--- a/PACE/pace/stdlib.h
+++ /dev/null
@@ -1,305 +0,0 @@
-/* $Id$
-
- * ============================================================================
- *
- * = LIBRARY
- * pace
- *
- * = FILENAME
- * pace/stdlib.h
- *
- * = AUTHOR
- * Luther Baker
- *
- * ============================================================================ */
-
-#ifndef PACE_STDLIB_H
-#define PACE_STDLIB_H
-
-#include "pace/config/defines.h"
-#include "pace/unistd.h"
-
-#if (PACE_HAS_POSIX)
-# include "pace/posix/stdlib.h"
-#elif (PACE_VXWORKS)
-# include "pace/vxworks/stdlib.h"
-#elif (PACE_WIN32)
-# include "pace/win32/stdlib.h"
-#endif
-
-#if defined (PACE_HAS_CPLUSPLUS)
-extern "C" {
-#endif /* PACE_HAS_CPLUSPLUS */
-
- /**
- C std 7.20.4.1
- */
-#if (PACE_HAS_POSIX_SIG_UOF)
- PACE_Export PACE_INLINE void pace_abort (void);
-#endif /* PACE_HAS_POSIX_SIG_UOF */
-
- /**
- PACE's implementation of the POSIX function abs.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 8.1.
- */
-#if (PACE_HAS_POSIX_CLS_UOF)
- PACE_Export PACE_INLINE int pace_abs (int val);
-#endif /* PACE_HAS_POSIX_CLS_UOF */
-
- /**
- C std ref. 7.20.4.2
- */
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
- PACE_Export PACE_INLINE int pace_atexit (void (*func)(void));
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
- /**
- PACE's implementation of the POSIX function atof.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 8.1.
- */
-#if (PACE_HAS_POSIX_CLS_UOF)
- PACE_Export PACE_INLINE double pace_atof (const char * str);
-#endif /* PACE_HAS_POSIX_CLS_UOF */
-
- /**
- PACE's implementation of the POSIX function atoi.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 8.1.
- */
-#if (PACE_HAS_POSIX_CLS_UOF)
- PACE_Export PACE_INLINE int pace_atoi (const char * str);
-#endif /* PACE_HAS_POSIX_CLS_UOF */
-
- /**
- PACE's implementation of the POSIX function atol.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 8.1.
- */
-#if (PACE_HAS_POSIX_CLS_UOF)
- PACE_Export PACE_INLINE long pace_atol (const char * str);
-#endif /* PACE_HAS_POSIX_CLS_UOF */
-
- /**
- PACE's implementation of the POSIX function bsearch.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 8.1.
- */
-#if (PACE_HAS_POSIX_CLS_UOF)
- PACE_Export PACE_INLINE void * pace_bsearch (const void *key,
- const void *base,
- size_t nel, size_t size,
- int (*compar)(const void *,
- const void *));
-#endif /* PACE_HAS_POSIX_CLS_UOF */
-
- /**
- C std ref. 7.20.6.2
- */
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
- PACE_Export PACE_INLINE pace_div_t pace_div (int numer, int denom);
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
- /**
- PACE's implementation of the POSIX function exit.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 8.1.
- */
-#if (PACE_HAS_POSIX_MP_UOF)
- PACE_Export PACE_INLINE void pace_exit (int status);
-#endif /* PACE_HAS_POSIX_MP_UOF */
-
- /**
- PACE's implementation of the POSIX function getenv.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 4.6.1.
- */
-#if (PACE_HAS_POSIX_MP_UOF)
- PACE_Export PACE_INLINE char * pace_getenv (const char * name);
-#endif /* PACE_HAS_POSIX_MP_UOF */
-
- /**
- C std ref. 7.20.6.1
- */
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
- PACE_Export PACE_INLINE long int pace_labs (long int j);
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
- /**
- C std ref. 7.20.6.2
- */
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
- PACE_Export PACE_INLINE pace_ldiv_t pace_ldiv (long int numer,
- long int denom);
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
- /**
- C std ref. 7.20.7.1
- */
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
- PACE_Export PACE_INLINE int pace_mblen (const char* s, pace_size_t n);
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
- /**
- C std ref. 7.20.8.1
- */
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
- PACE_Export PACE_INLINE pace_size_t pace_mbstowcs (pace_wchar_t* pwcs,
- const char* s,
- pace_size_t n);
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
- /**
- C std ref. 7.20.7.2
- */
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
- PACE_Export PACE_INLINE int pace_mbtowc (pace_wchar_t* pwc,
- const char* s,
- pace_size_t n);
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
- /**
- PACE's implementation of the POSIX function qsort.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 8.1.
- */
-#if (PACE_HAS_POSIX_CLS_UOF)
- PACE_Export PACE_INLINE void pace_qsort (void * base,
- size_t nel,
- size_t width,
- int (*compar)(const void *,
- const void *));
-#endif /* PACE_HAS_POSIX_CLS_UOF */
-
- /**
- PACE's implementation of the POSIX function rand.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 8.1.
- */
-#if (PACE_HAS_POSIX_CLS_UOF)
- PACE_Export PACE_INLINE int pace_rand ();
-#endif /* PACE_HAS_POSIX_CLS_UOF */
-
- /**
- PACE's implementation of the POSIX function srand.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 8.1.
- */
-#if (PACE_HAS_POSIX_CLS_UOF)
- PACE_Export PACE_INLINE void pace_srand (unsigned int seed);
-#endif /* PACE_HAS_POSIX_CLS_UOF */
-
- /**
- PACE's implementation of the POSIX function rand_r.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 8.3.8.
- */
-#if (PACE_HAS_POSIX_CLSR_UOF)
- PACE_Export PACE_INLINE int pace_rand_r (unsigned int * seed);
-#endif /* PACE_HAS_POSIX_CLSR_UOF */
- /* Requires PACE_HAS_REENTRANT. */
-
- /**
- C std ref. 7.20.1.3
- */
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
- PACE_Export PACE_INLINE double pace_strtod (const char* nptr,
- char** endptr);
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
- /**
- C std ref. 7.20.1.4
- */
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
- PACE_Export PACE_INLINE int pace_strtol (const char* nptr,
- char** endptr,
- int base);
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
- /**
- C std ref. 7.20.7.2
- */
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
- PACE_Export PACE_INLINE unsigned long int pace_strtoul (const char* nptr,
- char** endptr,
- int base);
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
- /**
- C std ref. 7.20.4.5
- */
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
- PACE_Export PACE_INLINE int pace_system (const char* string);
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
- /**
- C std ref. 7.20.8.2
- */
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
- PACE_Export PACE_INLINE pace_size_t pace_wcstombs (char* s,
- const pace_wchar_t* pwcs,
- pace_size_t n);
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
- /**
- C std ref. 7.20.7.3
- */
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
- PACE_Export PACE_INLINE int pace_wctomb (char* s, pace_wchar_t wchar);
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-
- /* Memory Management */
-
- /**
- PACE's implementation of the POSIX function malloc.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 8.1.
- */
-#if (PACE_HAS_POSIX_CLS_UOF)
- PACE_Export PACE_INLINE void * pace_malloc (size_t size);
-#endif /* PACE_HAS_POSIX_CLS_UOF */
-
- /**
- PACE's implementation of the POSIX function calloc.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 8.1.
- */
-#if (PACE_HAS_POSIX_CLS_UOF)
- PACE_Export PACE_INLINE void * pace_calloc (size_t nelem, size_t elsize);
-#endif /* PACE_HAS_POSIX_CLS_UOF */
-
- /**
- PACE's implementation of the POSIX function free.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 8.1.
- */
-#if (PACE_HAS_POSIX_CLS_UOF)
- PACE_Export PACE_INLINE void pace_free (void * ptr);
-#endif /* PACE_HAS_POSIX_CLS_UOF */
-
- /**
- PACE's implementation of the POSIX function realloc.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 8.1.
- */
-#if (PACE_HAS_POSIX_CLS_UOF)
- PACE_Export PACE_INLINE void * pace_realloc (void * ptr, size_t size);
-#endif /* PACE_HAS_POSIX_CLS_UOF */
-
-#if defined (PACE_HAS_INLINE)
-# if (PACE_HAS_POSIX)
-# include "pace/posix/stdlib.inl"
-# elif (PACE_VXWORKS)
-# include "pace/vxworks/stdlib.inl"
-# elif (PACE_WIN32)
-# include "pace/win32/stdlib.inl"
-# endif
-#endif /* PACE_HAS_INLINE */
-
-#if defined (PACE_HAS_CPLUSPLUS)
-}
-#endif /* PACE_HAS_CPLUSPLUS */
-
-#endif /* PACE_STDLIB_H */
diff --git a/PACE/pace/string.h b/PACE/pace/string.h
deleted file mode 100644
index 5160715c601..00000000000
--- a/PACE/pace/string.h
+++ /dev/null
@@ -1,240 +0,0 @@
-/* $Id$
-
- * ============================================================================
- *
- * = LIBRARY
- * pace
- *
- * = FILENAME
- * pace/string.h
- *
- * = AUTHOR
- * Luther Baker
- *
- * ============================================================================ */
-
-#ifndef PACE_STRING_H
-#define PACE_STRING_H
-
-#include "pace/config/defines.h"
-#include "pace/unistd.h"
-
-#if (PACE_HAS_POSIX)
-# include "pace/posix/string.h"
-#elif (PACE_VXWORKS)
-# include "pace/vxworks/string.h"
-#elif (PACE_WIN32)
-# include "pace/win32/string.h"
-#endif
-
-#if defined (PACE_HAS_CPLUSPLUS)
-extern "C" {
-#endif /* PACE_HAS_CPLUSPLUS */
-
- /**
- pace_memchr function, C std ref. 7.21.5.1
- */
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
- PACE_Export PACE_INLINE void * pace_memchr(const void *s,
- int c,
- pace_size_t n);
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
- /**
- pace_memcmp function, C std ref. 7.21.4.1
- */
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
- PACE_Export PACE_INLINE int pace_memcmp(const void *s1,
- const void *s2,
- pace_size_t n);
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
- /**
- pace_memcpy function, C std ref. 7.21.2.1
- */
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
- PACE_Export PACE_INLINE void *pace_memcpy(void * s1,
- const void * s2,
- pace_size_t n);
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
- /**
- pace_memmove function, C std ref.7.21.2.2
- */
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
- PACE_Export PACE_INLINE void *pace_memmove(void *s1,
- const void *s2,
- pace_size_t n);
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
- /**
- pace_memset function, C std ref. 7.21.6.1
- */
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
- PACE_Export PACE_INLINE void *pace_memset(void *s, int c, pace_size_t n);
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
- /**
- PACE's implementation of the POSIX function strcat.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 8.1.
- */
-#if (PACE_HAS_POSIX_CLS_UOF)
- PACE_Export PACE_INLINE char * pace_strcat (char * s1, const char * s2);
-#endif /* PACE_HAS_POSIX_CLS_UOF */
-
- /**
- PACE's implementation of the POSIX function strncat.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 8.1.
- */
-#if (PACE_HAS_POSIX_CLS_UOF)
- PACE_Export PACE_INLINE char * pace_strncat (char * s1,
- const char * s2,
- size_t n);
-#endif /* PACE_HAS_POSIX_CLS_UOF */
-
- /**
- PACE's implementation of the POSIX function strchr.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 8.1.
- */
-#if (PACE_HAS_POSIX_CLS_UOF)
- PACE_Export PACE_INLINE char * pace_strchr (const char * s, int c);
-#endif /* PACE_HAS_POSIX_CLS_UOF */
-
- /**
- PACE's implementation of the POSIX function strrchr.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 8.1.
- */
-#if (PACE_HAS_POSIX_CLS_UOF)
- PACE_Export PACE_INLINE char * pace_strrchr (const char * s, int c);
-#endif /* PACE_HAS_POSIX_CLS_UOF */
-
- /**
- PACE's implementation of the POSIX function strcmp.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 8.1.
- */
-#if (PACE_HAS_POSIX_CLS_UOF)
- PACE_Export PACE_INLINE int pace_strcmp (const char * s1, const char * s2);
-#endif /* PACE_HAS_POSIX_CLS_UOF */
-
- /**
- PACE's implementation of the POSIX function strncmp.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 8.1.
- */
-#if (PACE_HAS_POSIX_CLS_UOF)
- PACE_Export PACE_INLINE int pace_strncmp (const char * s1,
- const char * s2,
- size_t n);
-#endif /* PACE_HAS_POSIX_CLS_UOF */
-
- /**
- PACE's implementation of the POSIX function strcpy.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 8.1.
- */
-#if (PACE_HAS_POSIX_CLS_UOF)
- PACE_Export PACE_INLINE char * pace_strcpy (char * s1, const char * s2);
-#endif /* PACE_HAS_POSIX_CLS_UOF */
-
- /**
- PACE's implementation of the POSIX function strncpy.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 8.1.
- */
-#if (PACE_HAS_POSIX_CLS_UOF)
- PACE_Export PACE_INLINE char * pace_strncpy (char * s1,
- const char * s2,
- size_t n);
-#endif /* PACE_HAS_POSIX_CLS_UOF */
-
- /**
- PACE's implementation of the POSIX function strcspn.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 8.1.
- */
-#if (PACE_HAS_POSIX_CLS_UOF)
- PACE_Export PACE_INLINE size_t pace_strcspn (const char * s1,
- const char * s2);
-#endif /* PACE_HAS_POSIX_CLS_UOF */
-
- /**
- PACE's implementation of the POSIX function strspn.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 8.1.
- */
-#if (PACE_HAS_POSIX_CLS_UOF)
- PACE_Export PACE_INLINE size_t pace_strspn (const char * s1,
- const char * s2);
-#endif /* PACE_HAS_POSIX_CLS_UOF */
-
- /**
- PACE's implementation of the POSIX function strlen.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 8.1.
- */
-#if (PACE_HAS_POSIX_CLS_UOF)
- PACE_Export PACE_INLINE size_t pace_strlen (const char * s);
-#endif /* PACE_HAS_POSIX_CLS_UOF */
-
- /**
- PACE's implementation of the POSIX function strpbrk.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 8.1.
- */
-#if (PACE_HAS_POSIX_CLS_UOF)
- PACE_Export PACE_INLINE char * pace_strpbrk (const char * s1,
- const char * s2);
-#endif /* PACE_HAS_POSIX_CLS_UOF */
-
- /**
- PACE's implementation of the POSIX function strstr.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 8.1.
- */
-#if (PACE_HAS_POSIX_CLS_UOF)
- PACE_Export PACE_INLINE char * pace_strstr (const char * s1,
- const char * s2);
-#endif /* PACE_HAS_POSIX_CLS_UOF */
-
- /**
- PACE's implementation of the POSIX function strtok.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 8.1.
- */
-#if (PACE_HAS_POSIX_CLS_UOF)
- PACE_Export PACE_INLINE char * pace_strtok (char * s1, const char * s2);
-#endif /* PACE_HAS_POSIX_CLS_UOF */
-
- /**
- PACE's implementation of the POSIX function strtok_r.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 8.3.3.
- */
-#if (PACE_HAS_POSIX_CLSR_UOF)
- PACE_Export PACE_INLINE char * pace_strtok_r (char * s,
- const char * sep,
- char ** lasts);
-#endif /* PACE_HAS_POSIX_CLSR_UOF */
- /* Requires PACE_HAS_REENTRANT. */
-
-
-#if defined (PACE_HAS_INLINE)
-# if (PACE_HAS_POSIX)
-# include "pace/posix/string.inl"
-# elif (PACE_VXWORKS)
-# include "pace/vxworks/string.inl"
-# elif (PACE_WIN32)
-# include "pace/win32/string.inl"
-# endif
-#endif /* PACE_HAS_INLINE */
-
-#if defined (PACE_HAS_CPLUSPLUS)
-}
-#endif /* PACE_HAS_CPLUSPLUS */
-
-#endif /* PACE_STRING_H */
diff --git a/PACE/pace/sys/mman.h b/PACE/pace/sys/mman.h
deleted file mode 100644
index 28d11481391..00000000000
--- a/PACE/pace/sys/mman.h
+++ /dev/null
@@ -1,151 +0,0 @@
-/* $Id$
-
- * ============================================================================
- *
- * = LIBRARY
- * pace
- *
- * = FILENAME
- * pace/sys/mman.h
- *
- * = AUTHOR
- * Luther Baker
- *
- * ============================================================================ */
-
-#ifndef PACE_SYS_MMAN_H
-#define PACE_SYS_MMAN_H
-
-#include "pace/config/defines.h"
-
-#if (PACE_HAS_POSIX)
-# include "pace/posix/mman.h"
-#elif (PACE_VXWORKS)
-# include "pace/vxworks/mman.h"
-#elif (PACE_WIN32)
-# include "pace/win32/mman.h"
-#endif
-
-#if defined (PACE_HAS_CPLUSPLUS)
-extern "C" {
-#endif /* PACE_HAS_CPLUSPLUS */
-
- /**
- PACE's implementation of the POSIX function mlock.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 12.1.2.
- */
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
- PACE_Export PACE_INLINE int pace_mlock (const void * addr, pace_size_t len);
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
- /**
- PACE's implementation of the POSIX function mlockall.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 12.1.1.
- */
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
- PACE_Export PACE_INLINE int pace_mlockall (int flags);
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
- /**
- PACE's implementation of the POSIX function mmap.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 12.2.1.
- */
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
- PACE_Export PACE_INLINE void * pace_mmap (void * addr,
- pace_size_t len,
- int prot,
- int flags,
- PACE_HANDLE fildes,
- pace_off_t off);
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
- /**
- PACE's implementation of the POSIX function mprotect.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 12.2.3.
- */
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
- PACE_Export PACE_INLINE int pace_mprotect (void * addr,
- pace_size_t len,
- int prot);
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
- /**
- PACE's implementation of the POSIX function msync.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 12.2.4.
- */
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
- PACE_Export PACE_INLINE int pace_msync (void * addr,
- pace_size_t len,
- int flags);
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
- /**
- PACE's implementation of the POSIX function munlock.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 12.1.2.
- */
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
- PACE_Export PACE_INLINE int pace_munlock (const void * addr,
- pace_size_t len);
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
- /**
- PACE's implementation of the POSIX function munlockall.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 12.1.1.
- */
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
- PACE_Export PACE_INLINE int pace_munlockall ();
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
- /**
- PACE's implementation of the POSIX function munmap.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 12.2.2.
- */
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
- PACE_Export PACE_INLINE int pace_munmap (void * addr, pace_size_t len);
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
- /**
- PACE's implementation of the POSIX function shm_open.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 12.3.1.
- */
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
- PACE_Export PACE_INLINE PACE_HANDLE pace_shm_open (const char * name,
- int oflag,
- pace_mode_t mode);
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
- /* Requires PACE_POSIX_C_SOURCE > 2. */
-
- /**
- PACE's implementation of the POSIX function shm_open.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 12.3.2.
- */
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
- PACE_Export PACE_INLINE int pace_shm_unlink (const char * name);
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
- /* Requires PACE_POSIX_C_SOURCE > 2. */
-
-#if defined (PACE_HAS_INLINE)
-# if (PACE_HAS_POSIX)
-# include "pace/posix/mman.inl"
-# elif (PACE_VXWORKS)
-# include "pace/vxworks/mman.inl"
-# elif (PACE_WIN32)
-# include "pace/win32/mman.inl"
-# endif
-#endif /* PACE_HAS_INLINE */
-
-#if defined (PACE_HAS_CPLUSPLUS)
-}
-#endif /* PACE_HAS_CPLUSPLUS */
-
-#endif /* PACE_SYS_MMAN_H */
diff --git a/PACE/pace/sys/socket.h b/PACE/pace/sys/socket.h
deleted file mode 100644
index 52b407cfeff..00000000000
--- a/PACE/pace/sys/socket.h
+++ /dev/null
@@ -1,252 +0,0 @@
-/* $Id$
-
- * ============================================================================
- *
- * = LIBRARY
- * pace
- *
- * = FILENAME
- * pace/sys/socket.h
- *
- * = AUTHOR
- * Luther Baker
- *
- * ============================================================================ */
-
-#ifndef PACE_SOCKET_H
-#define PACE_SOCKET_H
-
-#include "pace/config/defines.h"
-
-#if (PACE_HAS_POSIX)
-# include "pace/posix/socket.h"
-#elif (PACE_VXWORKS)
-# include "pace/vxworks/socket.h"
-#elif (PACE_WIN32)
-# include "pace/win32/socket.h"
-#endif
-
-#if defined (PACE_HAS_CPLUSPLUS)
-extern "C" {
-#endif /* PACE_HAS_CPLUSPLUS */
-
-/**
- PACE's implementation of the POSIX function accept.
- See IEEE Standards Project Approved 30 January 2000.
- (IEEE Std P1003.1g, D6.6, March 1997 Edition)
-*/
-#if (PACE_HAS_POSIX_SOCK_UOF)
- PACE_Export PACE_INLINE int pace_accept (int s,
- pace_sockaddr * socketaddress,
- pace_socklen_t * addresslen);
-#endif /* PACE_HAS_POSIX_SOCK_UOF */
-
-/**
- PACE's implementation of the POSIX function bind.
- See IEEE Standards Project Approved 30 January 2000.
- (IEEE Std P1003.1g, D6.6, March 1997 Edition)
-*/
-#if (PACE_HAS_POSIX_SOCK_UOF)
- PACE_Export PACE_INLINE int pace_bind (int s,
- const pace_sockaddr * socketaddress,
- pace_socklen_t addresslen);
-#endif /* PACE_HAS_POSIX_SOCK_UOF */
-
-/**
- PACE's implementation of the POSIX function connect.
- See IEEE Standards Project Approved 30 January 2000.
- (IEEE Std P1003.1g, D6.6, March 1997 Edition)
-*/
-#if (PACE_HAS_POSIX_SOCK_UOF)
- PACE_Export PACE_INLINE int pace_connect (int s,
- const pace_sockaddr * socketaddress,
- pace_socklen_t addresslen);
-#endif /* PACE_HAS_POSIX_SOCK_UOF */
-
-/**
- PACE's implementation of the POSIX function getpeername.
- See IEEE Standards Project Approved 30 January 2000.
- (IEEE Std P1003.1g, D6.6, March 1997 Edition)
-*/
-#if (PACE_HAS_POSIX_SOCK_UOF)
- PACE_Export PACE_INLINE int pace_getpeername (int s,
- pace_sockaddr * socketaddress,
- pace_socklen_t * addresslen);
-#endif /* PACE_HAS_POSIX_SOCK_UOF */
-
-/**
- PACE's implementation of the POSIX function getsockname.
- See IEEE Standards Project Approved 30 January 2000.
- (IEEE Std P1003.1g, D6.6, March 1997 Edition)
-*/
-#if (PACE_HAS_POSIX_SOCK_UOF)
- PACE_Export PACE_INLINE int pace_getsockname (int s,
- pace_sockaddr * socketaddress,
- pace_socklen_t * addresslen);
-#endif /* PACE_HAS_POSIX_SOCK_UOF */
-
-/**
- PACE's implementation of the POSIX function getsockopt.
- See IEEE Standards Project Approved 30 January 2000.
- (IEEE Std P1003.1g, D6.6, March 1997 Edition)
-*/
-#if (PACE_HAS_POSIX_SOCK_UOF)
- PACE_Export PACE_INLINE int pace_getsockopt (int s,
- int level,
- int optname,
- void * optval,
- pace_socklen_t optlen);
-#endif /* PACE_HAS_POSIX_SOCK_UOF */
-
-/**
- PACE's implementation of the POSIX function setsockopt.
- See IEEE Standards Project Approved 30 January 2000.
- (IEEE Std P1003.1g, D6.6, March 1997 Edition)
-*/
-#if (PACE_HAS_POSIX_SOCK_UOF)
- PACE_Export PACE_INLINE int pace_setsockopt (int s,
- int level,
- int optname,
- const * optval);
-#endif /* PACE_HAS_POSIX_SOCK_UOF */
-
-/**
- PACE's implementation of the POSIX function isfdtype.
- See IEEE Standards Project Approved 30 January 2000.
- (IEEE Std P1003.1g, D6.6, March 1997 Edition)
-*/
-#if (PACE_HAS_POSIX_SOCK_UOF)
- PACE_Export PACE_INLINE int pace_isfdtype (int fildes, int fdtype);
-#endif /* PACE_HAS_POSIX_SOCK_UOF */
-
-/**
- PACE's implementation of the POSIX function listen.
- See IEEE Standards Project Approved 30 January 2000.
- (IEEE Std P1003.1g, D6.6, March 1997 Edition)
-*/
-#if (PACE_HAS_POSIX_SOCK_UOF)
- PACE_Export PACE_INLINE int pace_listen (int s, int backlog);
-#endif /* PACE_HAS_POSIX_SOCK_UOF */
-
-/**
- PACE's implementation of the POSIX function recv.
- See IEEE Standards Project Approved 30 January 2000.
- (IEEE Std P1003.1g, D6.6, March 1997 Edition)
-*/
-#if (PACE_HAS_POSIX_SOCK_UOF)
- PACE_Export PACE_INLINE pace_ssize_t pace_recv (int s,
- void * buf,
- pace_size_t len,
- int flags);
-#endif /* PACE_HAS_POSIX_SOCK_UOF */
-
-/**
- PACE's implementation of the POSIX function recvfrom.
- See IEEE Standards Project Approved 30 January 2000.
- (IEEE Std P1003.1g, D6.6, March 1997 Edition)
-*/
-#if (PACE_HAS_POSIX_SOCK_UOF)
- PACE_Export PACE_INLINE pace_ssize_t pace_recvfrom (int s,
- void * buf,
- pace_size_t len,
- int flags,
- pace_sockaddr * from,
- pace_socklen_t * fromlen);
-#endif /* PACE_HAS_POSIX_SOCK_UOF */
-
-/**
- PACE's implementation of the POSIX function recvmsg.
- See IEEE Standards Project Approved 30 January 2000.
- (IEEE Std P1003.1g, D6.6, March 1997 Edition)
-*/
-#if (PACE_HAS_POSIX_SOCK_UOF)
- PACE_Export PACE_INLINE pace_ssize_t pace_rcvmsg (int s,
- pace_msghdr * msg,
- int flags);
-#endif /* PACE_HAS_POSIX_SOCK_UOF */
-
-/**
- PACE's implementation of the POSIX function send.
- See IEEE Standards Project Approved 30 January 2000.
- (IEEE Std P1003.1g, D6.6, March 1997 Edition)
-*/
-#if (PACE_HAS_POSIX_SOCK_UOF)
- PACE_Export PACE_INLINE pace_ssize_t pace_send (int s,
- const void * buf,
- pace_size_t len,
- int flags);
-#endif /* PACE_HAS_POSIX_SOCK_UOF */
-
-/**
- PACE's implementation of the POSIX function sendto.
- See IEEE Standards Project Approved 30 January 2000.
- (IEEE Std P1003.1g, D6.6, March 1997 Edition)
-*/
-#if (PACE_HAS_POSIX_SOCK_UOF)
- PACE_Export PACE_INLINE pace_ssize_t pace_sendto (int s,
- const void * buf,
- pace_size_t len,
- int flags,
- const pace_sockaddr * to,
- pace_socklen_t * tolen);
-#endif /* PACE_HAS_POSIX_SOCK_UOF */
-
-/**
- PACE's implementation of the POSIX function sendmsg.
- See IEEE Standards Project Approved 30 January 2000.
- (IEEE Std P1003.1g, D6.6, March 1997 Edition)
-*/
-#if (PACE_HAS_POSIX_SOCK_UOF)
- PACE_Export PACE_INLINE pace_ssize_t pace_sendmsg (int s,
- const pace_msghdr * msg,
- int flags);
-#endif /* PACE_HAS_POSIX_SOCK_UOF */
-
-/**
- PACE's implementation of the POSIX function shutdown.
- See IEEE Standards Project Approved 30 January 2000.
- (IEEE Std P1003.1g, D6.6, March 1997 Edition)
-*/
-#if (PACE_HAS_POSIX_SOCK_UOF)
- PACE_Export PACE_INLINE int pace_shutdown (int s, int how);
-#endif /* PACE_HAS_POSIX_SOCK_UOF */
-
-/**
- PACE's implementation of the POSIX function socket.
- See IEEE Standards Project Approved 30 January 2000.
- (IEEE Std P1003.1g, D6.6, March 1997 Edition)
-*/
-#if (PACE_HAS_POSIX_SOCK_UOF)
- PACE_Export PACE_INLINE int pace_socket (int protofamily,
- int type,
- int protocol);
-#endif /* PACE_HAS_POSIX_SOCK_UOF */
-
-/**
- PACE's implementation of the POSIX function socketpair.
- See IEEE Standards Project Approved 30 January 2000.
- (IEEE Std P1003.1g, D6.6, March 1997 Edition)
-*/
-#if (PACE_HAS_POSIX_SOCK_UOF)
- PACE_Export PACE_INLINE int pace_socketpair (int protofamily,
- int type,
- int protocol,
- int sv[2]);
-#endif /* PACE_HAS_POSIX_SOCK_UOF */
-
-#if defined (PACE_HAS_INLINE)
-# if (PACE_HAS_POSIX)
-# include "pace/posix/socket.inl"
-# elif (PACE_VXWORKS)
-# include "pace/vxworks/socket.inl"
-# elif (PACE_WIN32)
-# include "pace/win32/socket.inl"
-# endif
-#endif /* PACE_HAS_INLINE */
-
-#if defined (PACE_HAS_CPLUSPLUS)
-}
-#endif /* PACE_HAS_CPLUSPLUS */
-
-#endif /* PACE_SOCKET_H */
-
diff --git a/PACE/pace/sys/stat.h b/PACE/pace/sys/stat.h
deleted file mode 100644
index f1ab6a98dc0..00000000000
--- a/PACE/pace/sys/stat.h
+++ /dev/null
@@ -1,80 +0,0 @@
-/* $Id$
-
- * ============================================================================
- *
- * = LIBRARY
- * pace
- *
- * = FILENAME
- * pace/sys/stat.h
- *
- * = AUTHOR
- * Luther Baker
- *
- * ============================================================================ */
-
-#ifndef PACE_SYS_STAT_H
-#define PACE_SYS_STAT_H
-
-#include "pace/config/defines.h"
-#include "pace/sys/types.h"
-
-
-#if (PACE_HAS_POSIX)
-# include "pace/posix/stat.h"
-#elif (PACE_VXWORKS)
-# include "pace/vxworks/stat.h"
-#elif (PACE_WIN32)
-# include "pace/win32/stat.h"
-#endif
-
-#if defined (PACE_HAS_CPLUSPLUS)
-extern "C" {
-#endif /* PACE_HAS_CPLUSPLUS */
-
-#if (PACE_HAS_POSIX_FA_UOF)
- PACE_Export PACE_INLINE int pace_chmod (const char * path, pace_mode_t mode);
-#endif /* PACE_HAS_POSIX_FA_UOF */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
- PACE_Export PACE_INLINE int pace_fchmod (PACE_HANDLE fildes,
- pace_mode_t mode);
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_FS_UOF)
- PACE_Export PACE_INLINE int pace_fstat (PACE_HANDLE fildes,
-pace_stat_s * buf);
-#endif /* PACE_HAS_POSIX_FS_UOF */
-
-#if (PACE_HAS_POSIX_FS_UOF)
- PACE_Export PACE_INLINE int pace_mkdir (const char * path, pace_mode_t mode);
-#endif /* PACE_HAS_POSIX_FS_UOF */
-
-#if (PACE_HAS_POSIX_F_UOF)
- PACE_Export PACE_INLINE int pace_mkfifo (const char * path,
- pace_mode_t mode);
-#endif /* PACE_HAS_POSIX_F_UOF */
-
-#if (PACE_HAS_POSIX_FS_UOF)
- PACE_Export PACE_INLINE int pace_stat (const char * path, pace_stat_s * buf);
-#endif /* PACE_HAS_POSIX_FS_UOF */
-
-#if (PACE_HAS_POSIX_FA_UOF)
- PACE_Export PACE_INLINE pace_mode_t pace_umask (pace_mode_t cmask);
-#endif /* PACE_HAS_POSIX_FA_UOF */
-
-#if defined (PACE_HAS_INLINE)
-# if (PACE_HAS_POSIX)
-# include "pace/posix/stat.inl"
-# elif (PACE_VXWORKS)
-# include "pace/vxworks/stat.inl"
-# elif (PACE_WIN32)
-# include "pace/win32/stat.inl"
-# endif
-#endif /* PACE_HAS_INLINE */
-
-#if defined (PACE_HAS_CPLUSPLUS)
-}
-#endif /* PACE_HAS_CPLUSPLUS */
-
-#endif /* PACE_SYS_STAT_H */
diff --git a/PACE/pace/sys/times.h b/PACE/pace/sys/times.h
deleted file mode 100644
index 2f3db177f5c..00000000000
--- a/PACE/pace/sys/times.h
+++ /dev/null
@@ -1,51 +0,0 @@
-/* $Id$
-
- * ============================================================================
- *
- * = LIBRARY
- * pace
- *
- * = FILENAME
- * pace/sys/times.h
- *
- * = AUTHOR
- * Luther Baker
- *
- * ============================================================================ */
-
-#ifndef PACE_SYS_TIMES_H
-#define PACE_SYS_TIMES_H
-
-#include "pace/config/defines.h"
-
-#if (PACE_HAS_POSIX)
-# include "pace/posix/times.h"
-#elif (PACE_VXWORKS)
-# include "pace/vxworks/times.h"
-#elif (PACE_WIN32)
-# include "pace/win32/times.h"
-#endif
-
-#if defined (PACE_HAS_CPLUSPLUS)
-extern "C" {
-#endif /* PACE_HAS_CPLUSPLUS */
-
-#if (PACE_HAS_POSIX_MP_UOF)
- PACE_Export PACE_INLINE pace_clock_t pace_times (pace_tms * buffer);
-#endif /* PACE_HAS_POSIX_MP_UOF */
-
-#if defined (PACE_HAS_INLINE)
-# if (PACE_HAS_POSIX)
-# include "pace/posix/times.inl"
-# elif (PACE_VXWORKS)
-# include "pace/vxworks/times.inl"
-# elif (PACE_WIN32)
-# include "pace/win32/times.inl"
-# endif
-#endif /* PACE_HAS_INLINE */
-
-#if defined (PACE_HAS_CPLUSPLUS)
-}
-#endif /* PACE_HAS_CPLUSPLUS */
-
-#endif /* PACE_SYS_TIMES_H */
diff --git a/PACE/pace/sys/types.h b/PACE/pace/sys/types.h
deleted file mode 100644
index e668be409d7..00000000000
--- a/PACE/pace/sys/types.h
+++ /dev/null
@@ -1,37 +0,0 @@
-/* $Id$
-
- * ============================================================================
- *
- * = LIBRARY
- * pace
- *
- * = FILENAME
- * pace/sys/types.h
- *
- * = AUTHOR
- * Luther Baker
- *
- * ============================================================================ */
-
-#ifndef PACE_SYS_TYPES_H
-#define PACE_SYS_TYPES_H
-
-#include "pace/config/defines.h"
-
-#if (PACE_HAS_POSIX)
-# include "pace/posix/types.h"
-#elif (PACE_VXWORKS)
-# include "pace/vxworks/types.h"
-#elif (PACE_WIN32)
-# include "pace/win32/types.h"
-#endif
-
-#if defined (PACE_HAS_CPLUSPLUS)
-extern "C" {
-#endif /* PACE_HAS_CPLUSPLUS */
-
-#if defined (PACE_HAS_CPLUSPLUS)
-}
-#endif /* PACE_HAS_CPLUSPLUS */
-
-#endif /* PACE_SYS_TYPES_H */
diff --git a/PACE/pace/sys/utsname.h b/PACE/pace/sys/utsname.h
deleted file mode 100644
index 1f50d58ea18..00000000000
--- a/PACE/pace/sys/utsname.h
+++ /dev/null
@@ -1,51 +0,0 @@
-/* $Id$
-
- * ============================================================================
- *
- * = LIBRARY
- * pace
- *
- * = FILENAME
- * pace/sys/utsname.h
- *
- * = AUTHOR
- * Luther Baker
- *
- * ============================================================================ */
-
-#ifndef PACE_SYS_UTSNAME_H
-#define PACE_SYS_UTSNAME_H
-
-#include "pace/config/defines.h"
-
-#if (PACE_HAS_POSIX)
-# include "pace/posix/utsname.h"
-#elif (PACE_VXWORKS)
-# include "pace/vxworks/utsname.h"
-#elif (PACE_WIN32)
-# include "pace/win32/utsname.h"
-#endif
-
-#if defined (PACE_HAS_CPLUSPLUS)
-extern "C" {
-#endif /* PACE_HAS_CPLUSPLUS */
-
-#if (PACE_HAS_POSIX_SP_UOF)
- PACE_Export PACE_INLINE int pace_uname (pace_utsname * name);
-#endif /* PACE_HAS_POSIX_SP_UOF */
-
-#if defined (PACE_HAS_INLINE)
-# if (PACE_HAS_POSIX)
-# include "pace/posix/utsname.inl"
-# elif (PACE_VXWORKS)
-# include "pace/vxworks/utsname.inl"
-# elif (PACE_WIN32)
-# include "pace/win32/utsname.inl"
-# endif
-#endif /* PACE_HAS_INLINE */
-
-#if defined (PACE_HAS_CPLUSPLUS)
-}
-#endif /* PACE_HAS_CPLUSPLUS */
-
-#endif /* PACE_SYS_UTSNAME_H */
diff --git a/PACE/pace/sys/wait.h b/PACE/pace/sys/wait.h
deleted file mode 100644
index 8fc12e00bd8..00000000000
--- a/PACE/pace/sys/wait.h
+++ /dev/null
@@ -1,67 +0,0 @@
-/* $Id$
-
- * ============================================================================
- *
- * = LIBRARY
- * pace
- *
- * = FILENAME
- * pace/sys/wait.h
- *
- * = AUTHOR
- * Luther Baker
- *
- * ============================================================================ */
-
-#ifndef PACE_WAIT_H
-#define PACE_WAIT_H
-
-#include "pace/config/defines.h"
-#include "pace/sys/types.h"
-
-#if (PACE_HAS_POSIX)
-# include "pace/posix/wait.h"
-#elif (PACE_VXWORKS)
-# include "pace/vxworks/wait.h"
-#elif (PACE_WIN32)
-# include "pace/win32/wait.h"
-#endif
-
-#if defined (PACE_HAS_CPLUSPLUS)
-extern "C" {
-#endif /* PACE_HAS_CPLUSPLUS */
- /**
- PACE's implementation of the POSIX function wait.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 3.2.1.
- */
-#if (PACE_HAS_POSIX_MP_UOF)
- PACE_Export PACE_INLINE pace_pid_t pace_wait (int * statloc);
-#endif /* PACE_HAS_POSIX_MP_UOF */
-
- /**
- PACE's implementation of the POSIX function waitpid.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 3.2.1.
- */
-#if (PACE_HAS_POSIX_MP_UOF)
- PACE_Export PACE_INLINE pace_pid_t pace_waitpid (pace_pid_t pid,
- int * statloc,
- int options);
-#endif /* PACE_HAS_POSIX_MP_UOF */
-
-#if defined (PACE_HAS_INLINE)
-# if (PACE_HAS_POSIX)
-# include "pace/posix/wait.inl"
-# elif (PACE_VXWORKS)
-# include "pace/vxworks/wait.inl"
-# elif (PACE_WIN32)
-# include "pace/win32/wait.inl"
-# endif
-#endif /* PACE_HAS_INLINE */
-
-#if defined (PACE_HAS_CPLUSPLUS)
-}
-#endif /* PACE_HAS_CPLUSPLUS */
-
-#endif /* PACE_WAIT_H */
diff --git a/PACE/pace/termios.h b/PACE/pace/termios.h
deleted file mode 100644
index 2a3d855259d..00000000000
--- a/PACE/pace/termios.h
+++ /dev/null
@@ -1,145 +0,0 @@
-/* $Id$
-
- * ============================================================================
- *
- * = LIBRARY
- * pace
- *
- * = FILENAME
- * pace/termios.h
- *
- * = AUTHOR
- * Luther Baker
- *
- * ============================================================================ */
-
-#ifndef PACE_SYS_TERMIOS_H
-#define PACE_SYS_TERMIOS_H
-
-#include "pace/config/defines.h"
-
-#if (PACE_HAS_POSIX)
-# include "pace/posix/termios.h"
-#elif (PACE_VXWORKS)
-# include "pace/vxworks/termios.h"
-#elif (PACE_WIN32)
-# include "pace/win32/termios.h"
-#endif
-
-#if defined (PACE_HAS_CPLUSPLUS)
-extern "C" {
-#endif /* PACE_HAS_CPLUSPLUS */
-
- /**
- PACE's implementation of the POSIX function cfgetospeed.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 7.1.3.
- */
-#if (PACE_HAS_POSIX_DS_UOF)
- PACE_Export PACE_INLINE pace_speed_t pace_cfgetospeed (const pace_termios * termiosp);
-#endif /* PACE_HAS_POSIX_DS_UOF */
-
- /**
- PACE's implementation of the POSIX function cfsetospeed.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 7.1.3.
- */
-#if (PACE_HAS_POSIX_DS_UOF)
- PACE_Export PACE_INLINE int pace_cfsetospeed (pace_termios * termios_p,
- pace_speed_t speed);
-#endif /* PACE_HAS_POSIX_DS_UOF */
-
- /**
- PACE's implementation of the POSIX function cfgetispeed.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 7.1.3.
- */
-#if (PACE_HAS_POSIX_DS_UOF)
- PACE_Export PACE_INLINE pace_speed_t pace_cfgetispeed (const pace_termios * termios_p);
-#endif /* PACE_HAS_POSIX_DS_UOF */
-
- /**
- PACE's implementation of the POSIX function cfsetispeed.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 7.1.3.
- */
-#if (PACE_HAS_POSIX_DS_UOF)
- PACE_Export PACE_INLINE int pace_cfsetispeed (pace_termios * termios_p,
- pace_speed_t speed);
-#endif /* PACE_HAS_POSIX_DS_UOF */
-
- /**
- PACE's implementation of the POSIX function tcdrain.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 7.2.2.
- */
-#if (PACE_HAS_POSIX_DS_UOF)
- PACE_Export PACE_INLINE int pace_tcdrain (PACE_HANDLE fildes);
-#endif /* PACE_HAS_POSIX_DS_UOF */
-
- /**
- PACE's implementation of the POSIX function tcflow.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 7.2.2.
- */
-#if (PACE_HAS_POSIX_DS_UOF)
- PACE_Export PACE_INLINE int pace_tcflow (PACE_HANDLE fildes, int action);
-#endif /* PACE_HAS_POSIX_DS_UOF */
-
- /**
- PACE's implementation of the POSIX function tcflush.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 7.2.2.
- */
-#if (PACE_HAS_POSIX_DS_UOF)
- PACE_Export PACE_INLINE int pace_tcflush (PACE_HANDLE fildes,
- int queue_selector);
-#endif /* PACE_HAS_POSIX_DS_UOF */
-
- /**
- PACE's implementation of the POSIX function tcgetattr.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 7.2.1.
- */
-#if (PACE_HAS_POSIX_DS_UOF)
- PACE_Export PACE_INLINE int pace_tcgetattr (PACE_HANDLE fildes,
- pace_termios * termios_p);
-#endif /* PACE_HAS_POSIX_DS_UOF */
-
- /**
- PACE's implementation of the POSIX function tcsendbreak.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 7.2.2.
- */
-#if (PACE_HAS_POSIX_DS_UOF)
- PACE_Export PACE_INLINE int pace_tcsendbreak (PACE_HANDLE fildes,
- int duration);
-#endif /* PACE_HAS_POSIX_DS_UOF */
-
- /**
- PACE's implementation of the POSIX function tcsetattr.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 7.2.1.
- */
-#if (PACE_HAS_POSIX_DS_UOF)
- PACE_Export PACE_INLINE int pace_tcsetattr (PACE_HANDLE fildes,
- int optional_actions,
- const pace_termios * termios_p);
-#endif /* PACE_HAS_POSIX_DS_UOF */
-
-
-#if defined (PACE_HAS_INLINE)
-# if (PACE_HAS_POSIX)
-# include "pace/posix/termios.inl"
-# elif (PACE_VXWORKS)
-# include "pace/vxworks/termios.inl"
-# elif (PACE_WIN32)
-# include "pace/win32/termios.inl"
-# endif
-#endif /* PACE_HAS_INLINE */
-
-#if defined (PACE_HAS_CPLUSPLUS)
-}
-#endif /* PACE_HAS_CPLUSPLUS */
-
-#endif /* PACE_SYS_TERMIOS_H */
diff --git a/PACE/pace/time.h b/PACE/pace/time.h
deleted file mode 100644
index 688eac0ddf6..00000000000
--- a/PACE/pace/time.h
+++ /dev/null
@@ -1,274 +0,0 @@
-/* $Id$
-
- * ============================================================================
- *
- * = LIBRARY
- * pace
- *
- * = FILENAME
- * pace/time.h
- *
- * = AUTHOR
- * Luther Baker
- *
- * ============================================================================ */
-
-#ifndef PACE_TIME_H
-#define PACE_TIME_H
-
-#include "pace/config/defines.h"
-
-#if (PACE_HAS_POSIX)
-# include "pace/posix/time.h"
-#elif (PACE_VXWORKS)
-# include "pace/vxworks/time.h"
-#elif (PACE_WIN32)
-# include "pace/win32/time.h"
-#endif
-
-#if defined (PACE_HAS_CPLUSPLUS)
-extern "C" {
-#endif /* PACE_HAS_CPLUSPLUS */
-
- /**
- PACE's implementation of the POSIX function asctime.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 8.1.
- */
-#if (PACE_HAS_POSIX_CLS_UOF)
- PACE_Export PACE_INLINE char * pace_asctime (const pace_tm * time);
-#endif /* PACE_HAS_POSIX_CLS_UOF */
-
- /**
- PACE's implementation of the POSIX function asctime_r.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 8.1.1.
- */
-#if (PACE_HAS_POSIX_CLSR_UOF)
- PACE_Export PACE_INLINE char * pace_asctime_r (const pace_tm * tm,
- char * buf);
-#endif /* PACE_HAS_POSIX_CLSR_UOF */
- /* Requires PACE_HAS_POSIX_PTHREAD_SEMANTICS. */
-
-
- /**
- C std 7.23.2.1
- */
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
- PACE_Export PACE_INLINE pace_clock_t pace_clock (void);
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
- /**
- C std 7.23.2.2
- */
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
- PACE_Export PACE_INLINE double pace_difftime (pace_time_t time1,
- pace_time_t time2);
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
- /**
- PACE's implementation of the POSIX function clock_getres.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 14.2.1.
- */
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
- PACE_Export PACE_INLINE int pace_clock_getres (pace_clockid_t clock_id,
- pace_timespec * res);
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
- /**
- PACE's implementation of the POSIX function clock_gettime.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 14.2.1.
- */
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
- PACE_Export PACE_INLINE int pace_clock_gettime (pace_clockid_t clock_id,
- pace_timespec * tp);
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
- /**
- PACE's implementation of the POSIX function clock_settime.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 14.2.1.
- */
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
- PACE_Export PACE_INLINE int pace_clock_settime (pace_clockid_t clock_id,
- const pace_timespec * tp);
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
- /**
- PACE's implementation of the POSIX function ctime.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 8.1.
- */
-#if (PACE_HAS_POSIX_CLS_UOF)
- PACE_Export PACE_INLINE char * pace_ctime (const pace_time_t * clock);
-#endif /* PACE_HAS_POSIX_CLS_UOF */
-
- /**
- PACE's implementation of the POSIX function ctime_r.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 8.3.5.
- */
-#if (PACE_HAS_POSIX_CLSR_UOF)
- PACE_Export PACE_INLINE char * pace_ctime_r (const pace_time_t * clock,
- char * buf);
-#endif /* PACE_HAS_POSIX_CLSR_UOF */
- /* Requires PACE_HAS_POSIX_PTHREAD_SEMANTICS. */
-
- /**
- PACE's implementation of the POSIX function gmtime.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 8.1.
- */
-#if (PACE_HAS_POSIX_CLS_UOF)
- PACE_Export PACE_INLINE pace_tm * pace_gmtime (const pace_time_t * clock);
-#endif /* PACE_HAS_POSIX_CLS_UOF */
-
- /**
- PACE's implementation of the POSIX function gmtime_r.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 8.3.6.
- */
-#if (PACE_HAS_POSIX_CLSR_UOF)
- PACE_Export PACE_INLINE pace_tm * pace_gmtime_r (const pace_time_t * clock,
- pace_tm * result);
-#endif /* PACE_HAS_POSIX_CLSR_UOF */
- /* Requires PACE_HAS_POSIX_PTHREAD_SEMANTICS. */
-
- /**
- PACE's implementation of the POSIX function localtime.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 8.1.
- */
-#if (PACE_HAS_POSIX_CLS_UOF)
- PACE_Export PACE_INLINE pace_tm * pace_localtime (const time_t * clock);
-#endif /* PACE_HAS_POSIX_CLS_UOF */
-
- /**
- PACE's implementation of the POSIX function localtime_r.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 8.3.7.
- */
-#if (PACE_HAS_POSIX_CLSR_UOF)
- PACE_Export PACE_INLINE pace_tm * pace_localtime_r (const pace_time_t * clock,
- pace_tm * result);
-#endif /* PACE_HAS_POSIX_CLSR_UOF */
- /* Requires PACE_HAS_POSIX_PTHREAD_SEMANTICS. */
-
- /**
- PACE's implementation of the POSIX function mktime.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 8.1.
- */
-#if (PACE_HAS_POSIX_CLS_UOF)
- PACE_Export PACE_INLINE pace_time_t pace_mktime (pace_tm * timeptr);
-#endif /* PACE_HAS_POSIX_CLS_UOF */
-
- /**
- PACE's implementation of the POSIX function nanosleep.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 14.2.5.
- */
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
- PACE_Export PACE_INLINE int pace_nanosleep (const pace_timespec * rqtp,
- pace_timespec * rmtp);
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
- /**
- PACE's implementation of the POSIX function strftime.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 8.1.
- */
-#if (PACE_HAS_POSIX_CLS_UOF)
- PACE_Export PACE_INLINE pace_size_t pace_strftime (char *s,
- pace_size_t maxsize,
- const char *format,
- const pace_tm *timeptr);
-#endif /* PACE_HAS_POSIX_CLS_UOF */
-
- /**
- PACE's implementation of the POSIX function time.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 4.5.1.
- */
-#if (PACE_HAS_POSIX_CLS_UOF)
- PACE_Export PACE_INLINE pace_time_t pace_time (pace_time_t *tloc);
-#endif /* PACE_HAS_POSIX_CLS_UOF */
-
- /**
- PACE's implementation of the POSIX function timer_create.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 14.2.2.
- */
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
- PACE_Export PACE_INLINE int pace_timer_create (pace_clockid_t clock_id,
- pace_sigevent * evp,
- pace_timer_t * timerid);
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
- /**
- PACE's implementation of the POSIX function timer_delete.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 14.2.3.
- */
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
- PACE_Export PACE_INLINE int pace_timer_delete (pace_timer_t timerid);
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
- /**
- PACE's implementation of the POSIX function timer_getoverrun.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 14.2.4.
- */
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
- PACE_Export PACE_INLINE int pace_timer_getoverrun (pace_timer_t timerid);
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
- /**
- PACE's implementation of the POSIX function timer_gettime.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 14.2.4.
- */
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
- PACE_Export PACE_INLINE int pace_timer_gettime (pace_timer_t timerid,
- pace_itimerspec * value);
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
- /**
- PACE's implementation of the POSIX function timer_settime.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 14.2.4.
- */
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
- PACE_Export PACE_INLINE int pace_timer_settime (pace_timer_t timerid,
- int flags,
- const pace_itimerspec * value,
- pace_itimerspec * ovalue);
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
- /**
- PACE's implementation of the POSIX function tzset.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 8.3.2.
- */
-#if (PACE_HAS_POSIX_CLS_UOF)
- PACE_Export PACE_INLINE void pace_tzset ();
-#endif /* PACE_HAS_POSIX_CLS_UOF */
- /* Requires PACE_HAS_POSIX_PTHREAD_SEMANTICS. */
-
-#if defined (PACE_HAS_INLINE)
-# if (PACE_HAS_POSIX)
-# include "pace/posix/time.inl"
-# elif (PACE_VXWORKS)
-# include "pace/vxworks/time.inl"
-# elif (PACE_WIN32)
-# include "pace/win32/time.inl"
-# endif
-#endif /* PACE_HAS_INLINE */
-
-#if defined (PACE_HAS_CPLUSPLUS)
-}
-#endif /* PACE_HAS_CPLUSPLUS */
-
-#endif /* PACE_TIME_H */
diff --git a/PACE/pace/unistd.h b/PACE/pace/unistd.h
deleted file mode 100644
index 3b6b99f545a..00000000000
--- a/PACE/pace/unistd.h
+++ /dev/null
@@ -1,524 +0,0 @@
-/* $Id$
-
- * ============================================================================
- *
- * = LIBRARY
- * pace
- *
- * = FILENAME
- * pace/unistd.h
- *
- * = AUTHOR
- * Luther Baker
- *
- * ============================================================================ */
-
-#ifndef PACE_UNISTD_H
-#define PACE_UNISTD_H
-
-#include "pace/config/defines.h"
-
-#if (PACE_HAS_POSIX)
-# include "pace/posix/unistd.h"
-#elif (PACE_VXWORKS)
-# include "pace/vxworks/unistd.h"
-#elif (PACE_WIN32)
-# include "pace/win32/unistd.h"
-#endif
-
-#if defined (PACE_HAS_CPLUSPLUS)
-extern "C" {
-#endif /* PACE_HAS_CPLUSPLUS */
-
- /**
- PACE's implementation of the POSIX function _exit.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 3.2.2.
- */
-#if (PACE_HAS_POSIX_MP_UOF)
- PACE_Export PACE_INLINE void pace__exit (int status);
-#endif /* PACE_HAS_POSIX_MP_UOF */
-
- /**
- PACE's implementation of the POSIX function access.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 5.6.3.
- */
-#if (PACE_HAS_POSIX_FS_UOF)
- PACE_Export PACE_INLINE int pace_access (const char * path, int amode);
-#endif /* PACE_HAS_POSIX_FS_UOF */
-
- /**
- PACE's implementation of the POSIX function alarm.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 3.4.1.
- */
-#if (PACE_HAS_POSIX_SIG_UOF)
- PACE_Export PACE_INLINE unsigned int pace_alarm (unsigned int seconds);
-#endif /* PACE_HAS_POSIX_SIG_UOF */
-
- /**
- PACE's implementation of the POSIX function chdir.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 5.2.1.
- */
-#if (PACE_HAS_POSIX_FS_UOF)
- PACE_Export PACE_INLINE int pace_chdir (const char * path);
-#endif /* PACE_HAS_POSIX_FS_UOF */
-
- /**
- PACE's implementation of the POSIX function chown.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 5.6.5.
- */
-#if (PACE_HAS_POSIX_FA_UOF)
- PACE_Export PACE_INLINE int pace_chown (const char * path,
- pace_uid_t owner,
- pace_gid_t group);
-#endif /* PACE_HAS_POSIX_FA_UOF */
-
- /**
- PACE's implementation of the POSIX function close.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 6.3.1.
- */
-#if (PACE_HAS_POSIX_DI_UOF)
- PACE_Export PACE_INLINE int pace_close (PACE_HANDLE fildes);
-#endif /* PACE_HAS_POSIX_DI_UOF */
-
- /**
- PACE's implementation of the POSIX function dup.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 6.2.1.
- */
-#if (PACE_HAS_POSIX_FM_UOF)
- PACE_Export PACE_INLINE PACE_HANDLE pace_dup (PACE_HANDLE fildes);
-#endif /* PACE_HAS_POSIX_FM_UOF */
-
- /**
- PACE's implementation of the POSIX function dup2.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 6.2.1.
- */
-#if (PACE_HAS_POSIX_FM_UOF)
- PACE_Export PACE_INLINE PACE_HANDLE pace_dup2 (PACE_HANDLE fildes,
- PACE_HANDLE fildes2);
-#endif /* PACE_HAS_POSIX_FM_UOF */
-
- /**
- PACE's implementation of the POSIX function execl.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 3.1.2.
- */
-#if (PACE_HAS_POSIX_MP_UOF)
-# define pace_execl execl
-#endif /* PACE_HAS_POSIX_MP_UOF */
- /* PACE_Export PACE_INLINE int pace_execl (const char* path,
- const char* arg, ...); */
-
- /**
- PACE's implementation of the POSIX function execle.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 3.1.2.
- */
-#if (PACE_HAS_POSIX_MP_UOF)
-# define pace_execle execle
-#endif /* PACE_HAS_POSIX_MP_UOF */
- /* PACE_Export PACE_INLINE int pace_execle (const char* path,
- const char* arg, ...);*/
-
- /**
- PACE's implementation of the POSIX function execlp.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 3.1.2.
- */
-#if (PACE_HAS_POSIX_MP_UOF)
-# define pace_execlp execlp
-#endif /* PACE_HAS_POSIX_MP_UOF */
- /* PACE_Export PACE_INLINE int pace_execlp (const char* file,
- const char* arg, ...);*/
-
- /**
- PACE's implementation of the POSIX function execv.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 3.1.2.
- */
-#if (PACE_HAS_POSIX_MP_UOF)
- PACE_Export PACE_INLINE int pace_execv (const char * path,
- char * const argv[]);
-#endif /* PACE_HAS_POSIX_MP_UOF */
-
- /**
- PACE's implementation of the POSIX function execve.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 3.1.2.
- */
-#if (PACE_HAS_POSIX_MP_UOF)
- PACE_Export PACE_INLINE int pace_execve (const char * path,
- char * const argv[],
- char * const envp[]);
-#endif /* PACE_HAS_POSIX_MP_UOF */
-
- /**
- PACE's implementation of the POSIX function execvp.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 3.1.2.
- */
-#if (PACE_HAS_POSIX_MP_UOF)
- PACE_Export PACE_INLINE int pace_execvp (const char * file,
- char * const argv[]);
-#endif /* PACE_HAS_POSIX_MP_UOF */
-
- /**
- PACE's implementation of the POSIX function fdatasync.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 6.6.2.
- */
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
- PACE_Export PACE_INLINE int pace_fdatasync (PACE_HANDLE fildes);
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
- /**
- PACE's implementation of the POSIX function fork.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 3.1.1.
- */
-#if (PACE_HAS_POSIX_MP_UOF)
- PACE_Export PACE_INLINE pace_pid_t pace_fork ();
-#endif /* PACE_HAS_POSIX_MP_UOF */
-
- /**
- PACE's implementation of the POSIX function fpathconf.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 5.7.1.
- */
-#if (PACE_HAS_POSIX_FS_UOF)
- PACE_Export PACE_INLINE long pace_fpathconf (PACE_HANDLE fildes, int name);
-#endif /* PACE_HAS_POSIX_FS_UOF */
-
- /**
- PACE's implementation of the POSIX function fsync.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 6.6.1.
- */
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
- PACE_Export PACE_INLINE int pace_fsync (PACE_HANDLE fildes);
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
- /**
- PACE's implementation of the POSIX function ftruncate.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 5.6.7.
- */
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
- PACE_Export PACE_INLINE int pace_ftruncate (PACE_HANDLE fildes,
- pace_off_t length);
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
- /**
- PACE's implementation of the POSIX function getcwd.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 5.2.2.
- */
-#if (PACE_HAS_POSIX_FS_UOF)
- PACE_Export PACE_INLINE char * pace_getcwd (char * buf, size_t size);
-#endif /* PACE_HAS_POSIX_FS_UOF */
-
- /**
- PACE's implementation of the POSIX function getegid.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 4.2.1.
- */
-#if (PACE_HAS_POSIX_UG_UOF)
- PACE_Export PACE_INLINE pace_uid_t pace_getegid ();
-#endif /* PACE_HAS_POSIX_UG_UOF */
-
- /**
- PACE's implementation of the POSIX function geteuid.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 4.2.1.
- */
-#if (PACE_HAS_POSIX_UG_UOF)
- PACE_Export PACE_INLINE pace_uid_t pace_geteuid ();
-#endif /* PACE_HAS_POSIX_UG_UOF */
-
- /**
- PACE's implementation of the POSIX function getgid.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 4.2.1.
- */
-#if (PACE_HAS_POSIX_UG_UOF)
- PACE_Export PACE_INLINE pace_uid_t pace_getgid ();
-#endif /* PACE_HAS_POSIX_UG_UOF */
-
- /**
- PACE's implementation of the POSIX function getgroups.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 4.2.3.
- */
-#if (PACE_HAS_POSIX_UG_UOF)
- PACE_Export PACE_INLINE int pace_getgroups (int gidsetsize,
- pace_gid_t grouplist[]);
-#endif /* PACE_HAS_POSIX_UG_UOF */
-
- /**
- PACE's implementation of the POSIX function getlogin.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 4.2.4.
- */
-#if (PACE_HAS_POSIX_UG_UOF)
- PACE_Export PACE_INLINE char * pace_getlogin ();
-#endif /* PACE_HAS_POSIX_UG_UOF */
-
- /**
- PACE's implementation of the POSIX function getlogin_r.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 4.2.4.
- */
-#if (PACE_HAS_POSIX_UGR_UOF)
- PACE_Export PACE_INLINE int pace_getlogin_r (char * name, size_t namesize);
-#endif /* PACE_HAS_POSIX_UGR_UOF */
- /* Requires PACE_HAS_POSIX_PTHREAD_SEMANTICS. */
-
- /**
- PACE's implementation of the POSIX function getpgrp.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 4.3.1.
- */
-#if (PACE_HAS_POSIX_UG_UOF)
- PACE_Export PACE_INLINE pace_pid_t pace_getpgrp ();
-#endif /* PACE_HAS_POSIX_UG_UOF */
-
- /**
- PACE's implementation of the POSIX function getpid.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 4.1.1.
- */
-#if (PACE_HAS_POSIX_MP_UOF)
- PACE_Export PACE_INLINE pace_pid_t pace_getpid ();
-#endif /* PACE_HAS_POSIX_MP_UOF */
-
- /**
- PACE's implementation of the POSIX function getppid.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 4.1.1.
- */
-#if (PACE_HAS_POSIX_MP_UOF)
- PACE_Export PACE_INLINE pace_pid_t pace_getppid ();
-#endif /* PACE_HAS_POSIX_MP_UOF */
-
- /**
- PACE's implementation of the POSIX function getuid.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 4.2.1.
- */
-#if (PACE_HAS_POSIX_UG_UOF)
- PACE_Export PACE_INLINE pace_uid_t pace_getuid ();
-#endif /* PACE_HAS_POSIX_UG_UOF */
-
- /**
- PACE's implementation of the POSIX function isatty.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 4.7.2.
- */
-#if (PACE_HAS_POSIX_DS_UOF)
- PACE_Export PACE_INLINE int pace_isatty (int fildes);
-#endif /* PACE_HAS_POSIX_DS_UOF */
-
- /**
- PACE's implementation of the POSIX function link.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 5.3.4.
- */
-#if (PACE_HAS_POSIX_FS_UOF)
- PACE_Export PACE_INLINE int pace_link (const char * existing,
- const char * new_link);
-#endif /* PACE_HAS_POSIX_FS_UOF */
-
- /**
- PACE's implementation of the POSIX function lseek.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 6.5.3.
- */
-#if (PACE_HAS_POSIX_FM_UOF)
- PACE_Export PACE_INLINE pace_off_t pace_lseek (PACE_HANDLE fildes,
- off_t offset,
- int whence);
-#endif /* PACE_HAS_POSIX_FM_UOF */
-
- /**
- PACE's implementation of the POSIX function pathconf.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 5.7.1.
- */
-#if (PACE_HAS_POSIX_FS_UOF)
- PACE_Export PACE_INLINE long pace_pathconf (const char * path, int name);
-#endif /* PACE_HAS_POSIX_FS_UOF */
-
- /**
- PACE's implementation of the POSIX function pause.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 3.4.2.
- */
-#if (PACE_HAS_POSIX_SIG_UOF)
- PACE_Export PACE_INLINE int pace_pause ();
-#endif /* PACE_HAS_POSIX_SIG_UOF */
-
- /**
- PACE's implementation of the POSIX function pipe.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 6.1.1.
- */
-#if (PACE_HAS_POSIX_P_UOF)
- PACE_Export PACE_INLINE int pace_pipe (PACE_HANDLE fildes[2]);
-#endif /* PACE_HAS_POSIX_P_UOF */
-
- /**
- PACE's implementation of the POSIX function read.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 6.4.1.
- */
-#if (PACE_HAS_POSIX_DI_UOF)
- PACE_Export PACE_INLINE pace_ssize_t pace_read (PACE_HANDLE fildes,
- void * buf,
- size_t nbyte);
-#endif /* PACE_HAS_POSIX_DI_UOF */
-
- /**
- PACE's implementation of the POSIX function rmdir.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 5.5.2.
- */
-#if (PACE_HAS_POSIX_FS_UOF)
- PACE_Export PACE_INLINE int pace_rmdir (const char * path);
-#endif /* PACE_HAS_POSIX_FS_UOF */
-
- /**
- PACE's implementation of the POSIX function setgid.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 4.2.2.
- */
-#if (PACE_HAS_POSIX_UG_UOF)
- PACE_Export PACE_INLINE int pace_setgid (pace_gid_t gid);
-#endif /* PACE_HAS_POSIX_UG_UOF */
-
- /**
- PACE's implementation of the POSIX function setpgid.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 4.3.3.
- */
-#if (PACE_HAS_POSIX_JC_UOF)
- PACE_Export PACE_INLINE int pace_setpgid (pace_pid_t pid, pace_pid_t pgid);
-#endif /* PACE_HAS_POSIX_JC_UOF */
-
- /**
- PACE's implementation of the POSIX function setsid.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 4.3.2.
- */
-#if (PACE_HAS_POSIX_UG_UOF)
- PACE_Export PACE_INLINE pace_pid_t pace_setsid ();
-#endif /* PACE_HAS_POSIX_UG_UOF */
-
- /**
- PACE's implementation of the POSIX function setuid.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 4.2.2.
- */
-#if (PACE_HAS_POSIX_UG_UOF)
- PACE_Export PACE_INLINE int pace_setuid (pace_uid_t uid);
-#endif /* PACE_HAS_POSIX_UG_UOF */
-
- /**
- PACE's implementation of the POSIX function sleep.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 3.4.3.
- */
-#if (PACE_HAS_POSIX_MP_UOF)
- PACE_Export PACE_INLINE unsigned pace_sleep (unsigned int seconds);
-#endif /* PACE_HAS_POSIX_MP_UOF */
-
- /**
- PACE's implementation of the POSIX function sysconf.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 4.8.1.
- */
-#if (PACE_HAS_POSIX_SP_UOF)
- PACE_Export PACE_INLINE long pace_sysconf (int name);
-#endif /* PACE_HAS_POSIX_SP_UOF */
-
- /**
- PACE's implementation of the POSIX function ttyname.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 7.2.3.1.
- */
-#if (PACE_HAS_POSIX_JC_UOF)
- PACE_Export PACE_INLINE pace_pid_t pace_tcgetpgrp (PACE_HANDLE fildes);
-#endif /* PACE_HAS_POSIX_JC_UOF */
-
- /**
- PACE's implementation of the POSIX function ttyname.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 7.2.3.1.
- */
-#if (PACE_HAS_POSIX_JC_UOF)
- PACE_Export PACE_INLINE int pace_tcsetpgrp (PACE_HANDLE fildes,
- pace_pid_t pgrp_id);
-#endif /* PACE_HAS_POSIX_JC_UOF */
-
- /**
- PACE's implementation of the POSIX function ttyname.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 4.7.2.
- */
-#if (PACE_HAS_POSIX_DS_UOF)
- PACE_Export PACE_INLINE char * pace_ttyname (PACE_HANDLE fildes);
-#endif /* PACE_HAS_POSIX_DS_UOF */
-
- /**
- PACE's implementation of the POSIX function ttyname_r.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 4.7.2.
- */
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
- PACE_Export PACE_INLINE int pace_ttyname_r (PACE_HANDLE fildes,
- char * name,
- size_t namesize);
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
- /* Requires PACE_HAS_POSIX_PTHREAD_SEMANTICS. */
-
- /**
- PACE's implementation of the POSIX function unlink.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 5.5.1.
- */
-#if (PACE_HAS_POSIX_FS_UOF)
- PACE_Export PACE_INLINE int pace_unlink (const char * path);
-#endif /* PACE_HAS_POSIX_FS_UOF */
-
- /**
- PACE's implementation of the POSIX function write.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 6.4.2.
- */
-#if (PACE_HAS_POSIX_DI_UOF)
- PACE_Export PACE_INLINE pace_ssize_t pace_write (PACE_HANDLE fildes,
- const void * buf,
- size_t nbyte);
-#endif /* PACE_HAS_POSIX_DI_UOF */
-
-#if defined (PACE_HAS_INLINE)
-# if (PACE_HAS_POSIX)
-# include "pace/posix/unistd.inl"
-# elif (PACE_VXWORKS)
-# include "pace/vxworks/unistd.inl"
-# elif (PACE_WIN32)
-# include "pace/win32/unistd.inl"
-# endif
-#endif /* PACE_HAS_INLINE */
-
-#if defined (PACE_HAS_CPLUSPLUS)
-}
-#endif /* PACE_HAS_CPLUSPLUS */
-
-#endif /* PACE_UNISTD_H */
diff --git a/PACE/pace/utime.h b/PACE/pace/utime.h
deleted file mode 100644
index 90a5cfa1a22..00000000000
--- a/PACE/pace/utime.h
+++ /dev/null
@@ -1,57 +0,0 @@
-/* $Id$
-
- * ============================================================================
- *
- * = LIBRARY
- * pace
- *
- * = FILENAME
- * pace/utime.h
- *
- * = AUTHOR
- * Luther Baker
- *
- * ============================================================================ */
-
-#ifndef PACE_UTIME_H
-#define PACE_UTIME_H
-
-#include "pace/config/defines.h"
-
-#if (PACE_HAS_POSIX)
-# include "pace/posix/utime.h"
-#elif (PACE_VXWORKS)
-# include "pace/vxworks/utime.h"
-#elif (PACE_WIN32)
-# include "pace/win32/utime.h"
-#endif
-
-#if defined (PACE_HAS_CPLUSPLUS)
-extern "C" {
-#endif /* PACE_HAS_CPLUSPLUS */
-
- /**
- PACE's implementation of the POSIX function utime.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 5.6.6.
- */
-#if (PACE_HAS_POSIX_FS_UOF)
- PACE_Export PACE_INLINE int pace_utime (const char * path,
- const pace_utimbuf * times);
-#endif /* PACE_HAS_POSIX_FS_UOF */
-
-#if defined (PACE_HAS_INLINE)
-# if (PACE_HAS_POSIX)
-# include "pace/posix/utime.inl"
-# elif (PACE_VXWORKS)
-# include "pace/vxworks/utime.inl"
-# elif (PACE_WIN32)
-# include "pace/win32/utime.inl"
-# endif
-#endif /* PACE_HAS_INLINE */
-
-#if defined (PACE_HAS_CPLUSPLUS)
-}
-#endif /* PACE_HAS_CPLUSPLUS */
-
-#endif /* PACE_UTIME_H */
diff --git a/PACE/pace/vxworks/README b/PACE/pace/vxworks/README
deleted file mode 100644
index 170f4b84920..00000000000
--- a/PACE/pace/vxworks/README
+++ /dev/null
@@ -1 +0,0 @@
-VXWORKS dir.
diff --git a/PACE/pace/vxworks/aio.c b/PACE/pace/vxworks/aio.c
deleted file mode 100644
index f9c32d822b4..00000000000
--- a/PACE/pace/vxworks/aio.c
+++ /dev/null
@@ -1,20 +0,0 @@
-/* $Id$
-
- * =============================================================================
- *
- * = LIBRARY
- * pace
- *
- * = FILENAME
- * pace/vxworks/aio.c
- *
- * = AUTHOR
- * Joe Hoffert
- *
- * ============================================================================= */
-
-#include "pace/aio.h"
-
-#if !defined (PACE_HAS_INLINE)
-# include "pace/vxworks/aio.inl"
-#endif /* ! PACE_HAS_INLINE */
diff --git a/PACE/pace/vxworks/aio.h b/PACE/pace/vxworks/aio.h
deleted file mode 100644
index fa519c4df73..00000000000
--- a/PACE/pace/vxworks/aio.h
+++ /dev/null
@@ -1,45 +0,0 @@
-/* $Id$
-
- * ============================================================================
- *
- * = LIBRARY
- * pace
- *
- * = FILENAME
- * pace/vxworks/aio.h
- *
- * = AUTHOR
- * Joe Hoffert
- *
- * ============================================================================ */
-
-#ifndef PACE_AIO_H_VXWORKS
-#define PACE_AIO_H_VXWORKS
-
-#include <aio.h>
-#include "pace/time.h"
-#include "pace/signal.h"
-
-#if defined (PACE_HAS_CPLUSPLUS)
-extern "C" {
-#endif /* PACE_HAS_CPLUSPLUS */
-
-#define PACE_AIO_ALLDONE AIO_ALLDONE
-#define PACE_AIO_CANCELED AIO_CANCELED
-#define PACE_AIO_NOCANCELED AIO_NOTCANCELED
-#define PACE_LIO_NOP LIO_NOP
-#define PACE_LIO_NOWAIT LIO_NOWAIT
-#define PACE_LIO_READ LIO_READ
-#define PACE_LIO_WAIT LIO_WAIT
-#define PACE_LIO_WRITE LIO_WRITE
-
-#ifndef PACE_AIOCB
-#define PACE_AIOCB
-typedef struct aiocb pace_aiocb;
-#endif /* PACE_AIOCB */
-
-#if defined (PACE_HAS_CPLUSPLUS)
-}
-#endif /* PACE_HAS_CPLUSPLUS */
-
-#endif /* PACE_AIO_H_VXWORKS */
diff --git a/PACE/pace/vxworks/aio.inl b/PACE/pace/vxworks/aio.inl
deleted file mode 100644
index f79a7573c4b..00000000000
--- a/PACE/pace/vxworks/aio.inl
+++ /dev/null
@@ -1,112 +0,0 @@
-/* $Id$ -*- C -*-
-
- * =============================================================================
- *
- * = LIBRARY
- * pace
- *
- * = FILENAME
- * pace/vxworks/aio.inl
- *
- * = AUTHOR
- * Joe Hoffert
- *
- * ============================================================================= */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_aio_cancel (PACE_HANDLE fildes, pace_aiocb * aiocbp)
-{
- PACE_TRACE("pace_aio_cancel");
-
- return aio_cancel (fildes, aiocbp);
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_aio_error (const pace_aiocb * aiocbp)
-{
- PACE_TRACE("pace_aio_error");
-
- return aio_error (PACE_NONCONST_ARG_CAST (struct aiocb *) aiocbp);
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_aio_fsync (int op, pace_aiocb * aiocbp)
-{
- PACE_TRACE("pace_aio_fsync");
-
- PACE_UNUSED_ARG (op);
- PACE_UNUSED_ARG (aiocbp);
- PACE_ERRNO_NO_SUPPORT_RETURN (-1);
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_aio_read (pace_aiocb * aiocbp)
-{
- PACE_TRACE("pace_aio_read");
-
- return aio_read (aiocbp);
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_aio_return (pace_aiocb * aiocbp)
-{
- PACE_TRACE("pace_aio_return");
-
- return aio_return (aiocbp);
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_aio_suspend (const pace_aiocb * const list[],
- int nent,
- const pace_timespec * timeout)
-{
- PACE_TRACE("pace_aio_suspend");
-
- return aio_suspend (PACE_AIO_SUSPEND_LIST_ARG_CAST list,
- nent,
- PACE_NONCONST_ARG_CAST (struct timespec *) timeout);
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_aio_write (pace_aiocb * aiocbp)
-{
- PACE_TRACE("pace_aio_write");
-
- return aio_write (aiocbp);
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_lio_listio (int mode,
- pace_aiocb * const list[],
- int nent,
- pace_sigevent * sig)
-{
- PACE_TRACE("pace_lio_listio");
-
- return lio_listio (mode, PACE_NONCONST_ARG_CAST (struct aiocb **) list,
- nent, sig);
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
diff --git a/PACE/pace/vxworks/assert.c b/PACE/pace/vxworks/assert.c
deleted file mode 100644
index 8731f27260d..00000000000
--- a/PACE/pace/vxworks/assert.c
+++ /dev/null
@@ -1,20 +0,0 @@
-/* $Id$
-
- * =============================================================================
- *
- * = LIBRARY
- * pace
- *
- * = FILENAME
- * pace/vxworks/assert.c
- *
- * = AUTHOR
- * Joe Hoffert
- *
- * ============================================================================= */
-
-#include "pace/assert.h"
-
-#if !defined (PACE_HAS_INLINE)
-# include "pace/vxworks/assert.inl"
-#endif /* ! PACE_HAS_INLINE */
diff --git a/PACE/pace/vxworks/assert.h b/PACE/pace/vxworks/assert.h
deleted file mode 100644
index 3b2f014109d..00000000000
--- a/PACE/pace/vxworks/assert.h
+++ /dev/null
@@ -1,29 +0,0 @@
-/* $Id$
-
- * ============================================================================
- *
- * = LIBRARY
- * pace
- *
- * = FILENAME
- * pace/vxworks/assert.h
- *
- * = AUTHOR
- * Joe Hoffert
- *
- * =========================================================================== */
-
-#ifndef PACE_ASSERT_H_VXWORKS
-#define PACE_ASSERT_H_VXWORKS
-
-#include <assert.h>
-
-#if defined (PACE_HAS_CPLUSPLUS)
-extern "C" {
-#endif /* PACE_HAS_CPLUSPLUS */
-
-# if defined (PACE_HAS_CPLUSPLUS)
-}
-# endif /* PACE_HAS_CPLUSPLUS */
-
-#endif /* PACE_ASSERT_H_VXWORKS */
diff --git a/PACE/pace/vxworks/assert.inl b/PACE/pace/vxworks/assert.inl
deleted file mode 100644
index b3def672d99..00000000000
--- a/PACE/pace/vxworks/assert.inl
+++ /dev/null
@@ -1,14 +0,0 @@
-/* $Id$ -*- C -*-
-
- * =============================================================================
- *
- * = LIBRARY
- * pace
- *
- * = FILENAME
- * pace/vxworks/assert.inl
- *
- * = AUTHOR
- * Joe Hoffert
- *
- * ============================================================================= */
diff --git a/PACE/pace/vxworks/ctype.c b/PACE/pace/vxworks/ctype.c
deleted file mode 100644
index 01b1da173ab..00000000000
--- a/PACE/pace/vxworks/ctype.c
+++ /dev/null
@@ -1,20 +0,0 @@
-/* $Id$
-
- * =============================================================================
- *
- * = LIBRARY
- * pace
- *
- * = FILENAME
- * pace/vxworks/ctype.c
- *
- * = AUTHOR
- * Joe Hoffert
- *
- * ============================================================================= */
-
-#include "pace/ctype.h"
-
-#if !defined (PACE_HAS_INLINE)
-# include "pace/vxworks/ctype.inl"
-#endif /* ! PACE_HAS_INLINE */
diff --git a/PACE/pace/vxworks/ctype.h b/PACE/pace/vxworks/ctype.h
deleted file mode 100644
index 106684d7371..00000000000
--- a/PACE/pace/vxworks/ctype.h
+++ /dev/null
@@ -1,27 +0,0 @@
-/* $Id$
-
- * ============================================================================
- *
- * = LIBRARY
- * pace
- *
- * = FILENAME
- * pace/vxworks/ctype.h
- *
- * = AUTHOR
- * Joe Hoffert
- *
- * ============================================================================ */
-
-#ifndef PACE_CTYPE_H_VXWORKS
-#define PACE_CTYPE_H_VXWORKS
-
-#if defined (PACE_HAS_CPLUSPLUS)
-extern "C" {
-#endif /* PACE_HAS_CPLUSPLUS */
-
-#if defined (PACE_HAS_CPLUSPLUS)
-}
-#endif /* PACE_HAS_CPLUSPLUS */
-
-#endif /* PACE_CTYPE_H_VXWORKS */
diff --git a/PACE/pace/vxworks/ctype.inl b/PACE/pace/vxworks/ctype.inl
deleted file mode 100644
index df9afc8dd76..00000000000
--- a/PACE/pace/vxworks/ctype.inl
+++ /dev/null
@@ -1,159 +0,0 @@
-/* $Id$ -*- C -*-
-
- * =============================================================================
- *
- * = LIBRARY
- * pace
- *
- * = FILENAME
- * pace/vxworks/ctype.inl
- *
- * = AUTHOR
- * Joe Hoffert
- *
- * ============================================================================= */
-
-#include <ctype.h>
-
-#if (PACE_HAS_POSIX_CLS_UOF)
-PACE_INLINE
-int
-pace_isalnum (int c)
-{
- PACE_TRACE("pace_isalnum");
-
- return isalnum (c);
-}
-#endif /* PACE_HAS_POSIX_CLS_UOF */
-
-#if (PACE_HAS_POSIX_CLS_UOF)
-PACE_INLINE
-int
-pace_isalpha (int c)
-{
- PACE_TRACE("pace_isalpha");
-
- return isalpha (c);
-}
-#endif /* PACE_HAS_POSIX_CLS_UOF */
-
-#if (PACE_HAS_POSIX_CLS_UOF)
-PACE_INLINE
-int
-pace_iscntrl (int c)
-{
- PACE_TRACE("pace_iscntrl");
-
- return iscntrl (c);
-}
-#endif /* PACE_HAS_POSIX_CLS_UOF */
-
-#if (PACE_HAS_POSIX_CLS_UOF)
-PACE_INLINE
-int
-pace_isdigit (int c)
-{
- PACE_TRACE("pace_isdigit");
-
- return isdigit (c);
-}
-#endif /* PACE_HAS_POSIX_CLS_UOF */
-
-#if (PACE_HAS_POSIX_CLS_UOF)
-PACE_INLINE
-int
-pace_isgraph (int c)
-{
- PACE_TRACE("pace_isgraph");
-
- return isgraph (c);
-}
-#endif /* PACE_HAS_POSIX_CLS_UOF */
-
-#if (PACE_HAS_POSIX_CLS_UOF)
-PACE_INLINE
-int
-pace_islower (int c)
-{
- PACE_TRACE("pace_islower");
-
- return islower (c);
-}
-#endif /* PACE_HAS_POSIX_CLS_UOF */
-
-#if (PACE_HAS_POSIX_CLS_UOF)
-PACE_INLINE
-int
-pace_isprint (int c)
-{
- PACE_TRACE("pace_isprint");
-
- return isprint (c);
-}
-#endif /* PACE_HAS_POSIX_CLS_UOF */
-
-#if (PACE_HAS_POSIX_CLS_UOF)
-PACE_INLINE
-int
-pace_ispunct (int c)
-{
- PACE_TRACE("pace_ispunct");
-
- return ispunct (c);
-}
-#endif /* PACE_HAS_POSIX_CLS_UOF */
-
-#if (PACE_HAS_POSIX_CLS_UOF)
-PACE_INLINE
-int
-pace_isspace (int c)
-{
- PACE_TRACE("pace_isspace");
-
- return isspace (c);
-}
-#endif /* PACE_HAS_POSIX_CLS_UOF */
-
-#if (PACE_HAS_POSIX_CLS_UOF)
-PACE_INLINE
-int
-pace_isupper (int c)
-{
- PACE_TRACE("pace_isupper");
-
- return isupper (c);
-}
-#endif /* PACE_HAS_POSIX_CLS_UOF */
-
-#if (PACE_HAS_POSIX_CLS_UOF)
-PACE_INLINE
-int
-pace_isxdigit (int c)
-{
- PACE_TRACE("pace_isxdigit");
-
- return isxdigit (c);
-}
-#endif /* PACE_HAS_POSIX_CLS_UOF */
-
-#if (PACE_HAS_POSIX_CLS_UOF)
-PACE_INLINE
-int
-pace_tolower (int c)
-{
- PACE_TRACE("pace_tolower");
-
- return tolower (c);
-}
-#endif /* PACE_HAS_POSIX_CLS_UOF */
-
-#if (PACE_HAS_POSIX_CLS_UOF)
-PACE_INLINE
-int
-pace_toupper (int c)
-{
- PACE_TRACE("pace_toupper");
-
- return toupper (c);
-}
-#endif /* PACE_HAS_POSIX_CLS_UOF */
diff --git a/PACE/pace/vxworks/dirent.c b/PACE/pace/vxworks/dirent.c
deleted file mode 100644
index c1a09545067..00000000000
--- a/PACE/pace/vxworks/dirent.c
+++ /dev/null
@@ -1,20 +0,0 @@
-/* $Id$
-
- * =============================================================================
- *
- * = LIBRARY
- * pace
- *
- * = FILENAME
- * pace/vxworks/dirent.c
- *
- * = AUTHOR
- * Joe Hoffert
- *
- * ============================================================================= */
-
-#include "pace/dirent.h"
-
-#if !defined (PACE_HAS_INLINE)
-# include "pace/vxworks/dirent.inl"
-#endif /* ! PACE_HAS_INLINE */
diff --git a/PACE/pace/vxworks/dirent.h b/PACE/pace/vxworks/dirent.h
deleted file mode 100644
index 1b746c6ec4a..00000000000
--- a/PACE/pace/vxworks/dirent.h
+++ /dev/null
@@ -1,40 +0,0 @@
-/* $Id$
-
- * ============================================================================
- *
- * = LIBRARY
- * pace
- *
- * = FILENAME
- * pace/vxworks/dirent.h
- *
- * = AUTHOR
- * Joe Hoffert
- *
- * ============================================================================ */
-
-#ifndef PACE_DIRENT_H_VXWORKS
-#define PACE_DIRENT_H_VXWORKS
-
-#include "pace/sys/types.h"
-#include <dirent.h>
-
-#if defined (PACE_HAS_CPLUSPLUS)
-extern "C" {
-#endif /* PACE_HAS_CPLUSPLUS */
-
-#ifndef PACE_DIR_T
-#define PACE_DIR_T
-typedef DIR PACE_DIR;
-#endif /* PACE_DIR_T */
-
-#ifndef PACE_DIRENT
-#define PACE_DIRENT
-typedef struct dirent pace_dirent;
-#endif /* PACE_DIRENT */
-
-#if defined (PACE_HAS_CPLUSPLUS)
-}
-#endif /* PACE_HAS_CPLUSPLUS */
-
-#endif /* PACE_DIRENT_H_VXWORKS */
diff --git a/PACE/pace/vxworks/dirent.inl b/PACE/pace/vxworks/dirent.inl
deleted file mode 100644
index 71d68023212..00000000000
--- a/PACE/pace/vxworks/dirent.inl
+++ /dev/null
@@ -1,74 +0,0 @@
-/* $Id$ -*- C -*-
-
- * =============================================================================
- *
- * = LIBRARY
- * pace
- *
- * = FILENAME
- * pace/vxworks/dirent.inl
- *
- * = AUTHOR
- * Joe Hoffert
- *
- * ============================================================================= */
-
-#if (PACE_HAS_POSIX_FS_UOF)
-PACE_INLINE
-PACE_DIR *
-pace_opendir (const char * dirname)
-{
- PACE_TRACE("pace_opendir");
-
- return opendir (PACE_NONCONST_ARG_CAST(char *) dirname);
-}
-#endif /* PACE_HAS_POSIX_FS_UOF */
-
-#if (PACE_HAS_POSIX_FS_UOF)
-PACE_INLINE
-pace_dirent *
-pace_readdir (PACE_DIR * dirp)
-{
- PACE_TRACE("pace_readdir");
-
- return readdir (dirp);
-}
-#endif /* PACE_HAS_POSIX_FS_UOF */
-
-#if (PACE_HAS_POSIX_CLSR_UOF)
-PACE_INLINE
-int
-pace_readdir_r (PACE_DIR * dirp, pace_dirent * entry,
- pace_dirent ** result)
-{
- PACE_TRACE("pace_readdir_r");
-
- PACE_UNUSED_ARG (entry);
- /* <result> has better not be 0! */
- *result = pace_readdir (dirp);
- return 0;
-}
-#endif /* PACE_HAS_POSIX_CLSR_UOF */
-
-#if (PACE_HAS_POSIX_FS_UOF)
-PACE_INLINE
-void
-pace_rewinddir (PACE_DIR * dirp)
-{
- PACE_TRACE("pace_rewinddir");
-
- rewinddir (dirp);
- return;
-}
-#endif /* PACE_HAS_POSIX_FS_UOF */
-
-#if (PACE_HAS_POSIX_FS_UOF)
-PACE_INLINE
-int
-pace_closedir (PACE_DIR * dirp)
-{
- PACE_TRACE("pace_closedir");
-
- return closedir (dirp);
-}
-#endif /* PACE_HAS_POSIX_FS_UOF */
diff --git a/PACE/pace/vxworks/errno.h b/PACE/pace/vxworks/errno.h
deleted file mode 100644
index 7e64a524658..00000000000
--- a/PACE/pace/vxworks/errno.h
+++ /dev/null
@@ -1,75 +0,0 @@
-/* $Id$
-
-* ============================================================================
-*
-* = LIBRARY
-* pace
-*
-* = FILENAME
-* pace/vxworks/errno.h
-*
-* = AUTHOR
-* Joe Hoffert
-*
-* =========================================================================== */
-
-#ifndef PACE_ERRNO_H_VXWORKS
-#define PACE_ERRNO_H_VXWORKS
-
-#include <errno.h>
-
-#if defined (PACE_HAS_CPLUSPLUS)
-extern "C" {
-#endif /* PACE_HAS_CPLUSPLUS */
-
-#define PACE_E2BIG E2BIG
-#define PACE_EACCES EACCES
-#define PACE_EAGAIN EAGAIN
-#define PACE_EBADF EBADF
-#define PACE_EBADMSG
-#define PACE_EBUSY EBUSY
-#define PACE_ECANCELED ECANCELED
-#define PACE_ECHILD ECHILD
-#define PACE_EDEADLK EDEADLK
-#define PACE_EDOM EDOM
-#define PACE_EEXIST EEXIST
-#define PACE_EFAULT EFAULT
-#define PACE_EFBIG EFBIG
-#define PACE_EINPROGRESS EINPROGRESS
-#define PACE_EINTR EINTR
-#define PACE_EINVAL EINVAL
-#define PACE_EIO EIO
-#define PACE_EISDIR EISDIR
-#define PACE_EMFILE EMFILE
-#define PACE_EMLINK EMLINK
-#define PACE_EMSGSIZE EMSGSIZE
-#define PACE_EENAMETOOLONG ENAMETOOLONG
-#define PACE_ENFILE ENFILE
-#define PACE_ENODEV ENODEV
-#define PACE_ENOENT ENOENT
-#define PACE_ENOEXEC ENOEXEC
-#define PACE_ENOLCK ENOLCK
-#define PACE_ENOMEM ENOMEM
-#define PACE_ENOSPC ENOSPC
-#define PACE_ENOSYS ENOSYS
-#define PACE_ENOTDIR ENOTDIR
-#define PACE_ENOTEMPTY ENOTEMPTY
-#define PACE_ENOTSUP ENOTSUP
-#define PACE_ENOTTY ENOTTY
-#define PACE_ENXIO ENXIO
-#define PACE_EPERM EPERM
-#define PACE_EPIPE EPIPE
-#define PACE_ERANGE ERANGE
-#define PACE_EROFS EROFS
-#define PACE_ESPIPE ESPIPE
-#define PACE_ESRCH ESRCH
-#define PACE_ETIMEDOUT ETIMEDOUT
-#define PACE_EXDEV EXDEV
-
-#define pace_errno errno
-
-# if defined (PACE_HAS_CPLUSPLUS)
-}
-# endif /* PACE_HAS_CPLUSPLUS */
-
-#endif /* PACE_ERRNO_H_VXWORKS */
diff --git a/PACE/pace/vxworks/fcntl.c b/PACE/pace/vxworks/fcntl.c
deleted file mode 100644
index c0bc9a30a38..00000000000
--- a/PACE/pace/vxworks/fcntl.c
+++ /dev/null
@@ -1,20 +0,0 @@
-/* $Id$
-
- * =============================================================================
- *
- * = LIBRARY
- * pace
- *
- * = FILENAME
- * pace/vxworks/fcntl.c
- *
- * = AUTHOR
- * Joe Hoffert
- *
- * ============================================================================= */
-
-#include "pace/fcntl.h"
-
-#if !defined (PACE_HAS_INLINE)
-# include "pace/vxworks/fcntl.inl"
-#endif /* ! PACE_HAS_INLINE */
diff --git a/PACE/pace/vxworks/fcntl.h b/PACE/pace/vxworks/fcntl.h
deleted file mode 100644
index 534beaca5b2..00000000000
--- a/PACE/pace/vxworks/fcntl.h
+++ /dev/null
@@ -1,63 +0,0 @@
-/* $Id$
-
- * ============================================================================
- *
- * = LIBRARY
- * pace
- *
- * = FILENAME
- * pace/vxworks/fnctl.h
- *
- * = AUTHOR
- * Joe Hoffert
- *
- * ============================================================================ */
-
-#ifndef PACE_FCNTL_H_VXWORKS
-#define PACE_FCNTL_H_VXWORKS
-
-#include "pace/sys/types.h"
-#include "pace/unistd.h"
-#include "pace/sys/stat.h"
-#include <fcntl.h>
-
-#if defined (PACE_HAS_CPLUSPLUS)
-extern "C" {
-#endif /* PACE_HAS_CPLUSPLUS */
-
-#define PACE_FD_CLOEXEC FD_CLOEXEC
-#define PACE_F_DUPFD D_DUPFD
-#define PACE_F_GETFD F_GETFD
-#define PACE_F_GETFL F_GETFL
-#define PACE_F_GETLK F_GETLK
-#define PACE_F_RDLCK F_RDLCK
-#define PACE_F_SETFD F_SETFD
-#define PACE_F_SETFL F_SETFL
-#define PACE_F_SETLK F_SETLK
-#define PACE_F_SETLKW F_SETLKW
-#define PACE_F_UNLCK F_UNLCK
-#define PACE_F_WRLCK F_WRLCK
-#define PACE_O_ACCMODE O_ACCMODE
-#define PACE_O_APPEND O_APPEND
-#define PACE_O_CREAT O_CREAT
-#define PACE_O_DSYNC O_DSYNC
-#define PACE_O_EXCL O_EXCL
-#define PACE_O_NOCTTY O_NOCTTY
-#define PACE_O_NONBLOCK O_NONBLOCK
-#define PACE_O_RDONLY O_RDONLY
-#define PACE_O_RDWR O_RDWR
-#define PACE_O_RSYNC O_RSYNC
-#define PACE_O_SYNC O_SYNC
-#define PACE_O_TRUNC O_TRUNC
-#define PACE_O_WRONLY O_WRONLY
-
-#ifndef PACE_FLOCK
-#define PACE_FLOCK
-typedef struct flock pace_flock;
-#endif /* PACE_FLOCK */
-
-#if defined (PACE_HAS_CPLUSPLUS)
-}
-#endif /* PACE_HAS_CPLUSPLUS */
-
-#endif /* PACE_FCNTL_H_VXWORKS */
diff --git a/PACE/pace/vxworks/fcntl.inl b/PACE/pace/vxworks/fcntl.inl
deleted file mode 100644
index 23308b8fe22..00000000000
--- a/PACE/pace/vxworks/fcntl.inl
+++ /dev/null
@@ -1,39 +0,0 @@
-/* $Id$ -*- C -*-
-
- * =============================================================================
- *
- * = LIBRARY
- * pace
- *
- * = FILENAME
- * pace/vxworks/fcntl.inl
- *
- * = AUTHOR
- * Joe Hoffert
- *
- * ============================================================================= */
-
-#if (PACE_HAS_POSIX_FS_UOF)
-PACE_INLINE
-int
-pace_creat (const char * path, pace_mode_t mode)
-{
- PACE_TRACE("pace_creat");
-
- return creat (path, mode);
-}
-#endif /* PACE_HAS_POSIX_FS_UOF */
-
-#if (PACE_HAS_POSIX_FM_UOF)
-PACE_INLINE
-int
-pace_fcntl (PACE_HANDLE fildes, int cmd, long arg)
-{
- PACE_TRACE("pace_fcntl");
-
- PACE_UNUSED_ARG(fildes);
- PACE_UNUSED_ARG(cmd);
- PACE_UNUSED_ARG(arg);
- PACE_ERRNO_NO_SUPPORT_RETURN (-1);
-}
-#endif /* PACE_HAS_POSIX_FS_UOF */
diff --git a/PACE/pace/vxworks/grp.c b/PACE/pace/vxworks/grp.c
deleted file mode 100644
index 4a12ee0f64c..00000000000
--- a/PACE/pace/vxworks/grp.c
+++ /dev/null
@@ -1,20 +0,0 @@
-/* $Id$
-
- * =============================================================================
- *
- * = LIBRARY
- * pace
- *
- * = FILENAME
- * pace/vxworks/grp.c
- *
- * = AUTHOR
- * Joe Hoffert
- *
- * ============================================================================= */
-
-#include "pace/grp.h"
-
-#if !defined (PACE_HAS_INLINE)
-# include "pace/vxworks/grp.inl"
-#endif /* ! PACE_HAS_INLINE */
diff --git a/PACE/pace/vxworks/grp.h b/PACE/pace/vxworks/grp.h
deleted file mode 100644
index 5fcd0fd959d..00000000000
--- a/PACE/pace/vxworks/grp.h
+++ /dev/null
@@ -1,32 +0,0 @@
-/* $Id$
-
- * ============================================================================
- *
- * = LIBRARY
- * pace (posix ace)
- *
- * = FILENAME
- * pace/vxworks/grp.h
- *
- * = AUTHOR
- * Joe Hoffert
- *
- * ============================================================================ */
-
-#ifndef PACE_GRP_H_VXWORKS
-#define PACE_GRP_H_VXWORKS
-
-# if defined (PACE_HAS_CPLUSPLUS)
-extern "C" {
-# endif /* PACE_HAS_CPLUSPLUS */
-
-#ifndef PACE_GROUP
-#define PACE_GROUP
-typedef struct group pace_group;
-#endif /* PACE_GROUP */
-
-# if defined (PACE_HAS_CPLUSPLUS)
-}
-# endif /* PACE_HAS_CPLUSPLUS */
-
-#endif /* PACE_GRP_H_VXWORKS */
diff --git a/PACE/pace/vxworks/grp.inl b/PACE/pace/vxworks/grp.inl
deleted file mode 100644
index 428ac7364e5..00000000000
--- a/PACE/pace/vxworks/grp.inl
+++ /dev/null
@@ -1,82 +0,0 @@
-/* $Id$ -*- C -*-
-
- * =============================================================================
- *
- * = LIBRARY
- * pace
- *
- * = FILENAME
- * pace/vxworks/grp.inl
- *
- * = AUTHOR
- * Joe Hoffert
- *
- * ============================================================================= */
-
-#if (PACE_HAS_POSIX_SD_UOF)
-PACE_INLINE
-pace_group *
-pace_getgrgid (pace_gid_t gid)
-{
- PACE_TRACE("pace_getgrgid");
-
- /* getgrgid() is not supported: just one user anyways */
- PACE_UNUSED_ARG (gid);
- return 0;
-}
-#endif /* PACE_HAS_POSIX_SD_UOF */
-
-#if (PACE_HAS_POSIX_SDR_UOF)
-PACE_INLINE
-int
-pace_getgrgid_r (pace_gid_t gid,
- pace_group * grp,
- char * buffer,
- size_t bufsize,
- pace_group ** result)
-{
- PACE_TRACE("pace_getgrgid_r");
-
- /* getgrgid_r() is not supported: just one user anyways */
- PACE_UNUSED_ARG (gid);
- PACE_UNUSED_ARG (grp);
- PACE_UNUSED_ARG (buffer);
- PACE_UNUSED_ARG (bufsize);
- PACE_UNUSED_ARG (result);
- return 0;
-}
-#endif /* PACE_HAS_POSIX_SDR_UOF */
-
-#if (PACE_HAS_POSIX_SD_UOF)
-PACE_INLINE
-pace_group *
-pace_getgrnam (const char * name)
-{
- PACE_TRACE("pace_getgrnam");
-
- /* getgrnam() is not supported: just one user anyways */
- PACE_UNUSED_ARG (name);
- return 0;
-}
-#endif /* PACE_HAS_POSIX_SD_UOF */
-
-#if (PACE_HAS_POSIX_SDR_UOF)
-PACE_INLINE
-int
-pace_getgrnam_r (const char * name,
- pace_group * grp,
- char * buffer,
- size_t bufsize,
- pace_group ** result)
-{
- PACE_TRACE("pace_getgrnam_r");
-
- /* getgrnam_r() is not supported: just one user anyways */
- PACE_UNUSED_ARG (name);
- PACE_UNUSED_ARG (grp);
- PACE_UNUSED_ARG (buffer);
- PACE_UNUSED_ARG (bufsize);
- PACE_UNUSED_ARG (result);
- return 0;
-}
-#endif /* PACE_HAS_POSIX_SDR_UOF */
diff --git a/PACE/pace/vxworks/limits.h b/PACE/pace/vxworks/limits.h
deleted file mode 100644
index e0d70071157..00000000000
--- a/PACE/pace/vxworks/limits.h
+++ /dev/null
@@ -1,29 +0,0 @@
-/* $Id$
-
- * ============================================================================
- *
- * = LIBRARY
- * pace (posix ace)
- *
- * = FILENAME
- * pace/vxworks/limits.h
- *
- * = AUTHOR
- * Joe Hoffert
- *
- * ============================================================================ */
-
-#ifndef PACE_LIMITS_H_VXWORKS
-#define PACE_LIMITS_H_VXWORKS
-
-#include <limits.h>
-
-# if defined (PACE_HAS_CPLUSPLUS)
-extern "C" {
-# endif /* (PACE_HAS_CPLUSPLUS) */
-
-# if defined (PACE_HAS_CPLUSPLUS)
-}
-# endif /* PACE_HAS_CPLUSPLUS */
-
-#endif /* PACE_LIMITS_H_VXWORKS */
diff --git a/PACE/pace/vxworks/locale.c b/PACE/pace/vxworks/locale.c
deleted file mode 100644
index 530fd21999c..00000000000
--- a/PACE/pace/vxworks/locale.c
+++ /dev/null
@@ -1,20 +0,0 @@
-/* $Id$
-
- * =============================================================================
- *
- * = LIBRARY
- * pace
- *
- * = FILENAME
- * pace/vxworks/locale.c
- *
- * = AUTHOR
- * Joe Hoffert
- *
- * ============================================================================= */
-
-#include "pace/locale.h"
-
-#if !defined (PACE_HAS_INLINE)
-# include "pace/vxworks/locale.inl"
-#endif /* ! PACE_HAS_INLINE */
diff --git a/PACE/pace/vxworks/locale.h b/PACE/pace/vxworks/locale.h
deleted file mode 100644
index 4838e912fd3..00000000000
--- a/PACE/pace/vxworks/locale.h
+++ /dev/null
@@ -1,40 +0,0 @@
-/* $Id$
-
- * ============================================================================
- *
- * = LIBRARY
- * pace
- *
- * = FILENAME
- * pace/vxworks/locale.h
- *
- * = AUTHOR
- * Joe Hoffert
- *
- * =========================================================================== */
-
-#ifndef PACE_LOCALE_H_VXWORKS
-#define PACE_LOCALE_H_VXWORKS
-
-#if defined (PACE_HAS_CPLUSPLUS)
-extern "C" {
-#endif /* PACE_HAS_CPLUSPLUS */
-
-#define PACE_LC_ALL LC_ALL
-#define PACE_LC_COLLATE LC_COLLATE
-#define PACE_LC_CTYPE LC_CTYPE
-#define PACE_LC_MONETARY LC_MONETARY
-#define PACE_LC_NUMERIC LC_NUMERIC
-#define PACE_LC_TIME LC_TIME
-#define PACE_NULL NULL
-
-#ifndef PACE_LCONV
-#define PACE_LCONV
-typedef struct lconv pace_lconv;
-#endif /* PACE_LCONV */
-
-#if defined (PACE_HAS_CPLUSPLUS)
-}
-#endif /* PACE_HAS_CPLUSPLUS */
-
-#endif /* PACE_LOCALE_H_VXWORKS */
diff --git a/PACE/pace/vxworks/locale.inl b/PACE/pace/vxworks/locale.inl
deleted file mode 100644
index 5ce0566e9c3..00000000000
--- a/PACE/pace/vxworks/locale.inl
+++ /dev/null
@@ -1,38 +0,0 @@
-/* $Id$ -*- C -*-
-
- * ============================================================================
- *
- * = LIBRARY
- * pace
- *
- * = FILENAME
- * pace/vxworks/locale.inl
- *
- * = AUTHOR
- * Joe Hoffert
- *
- * =========================================================================== */
-
-#include <locale.h>
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-pace_lconv *
-pace_localeconv (void)
-{
- PACE_TRACE("pace_localeconv");
-
- return localeconv ();
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_MP_UOF)
-PACE_INLINE
-char *
-pace_setlocale (int category, const char * locale)
-{
- PACE_TRACE("pace_setlocale");
-
- return setlocale (category, locale);
-}
-#endif /* PACE_HAS_POSIX_MP_UOF */
diff --git a/PACE/pace/vxworks/math.c b/PACE/pace/vxworks/math.c
deleted file mode 100644
index 1d3b87dc973..00000000000
--- a/PACE/pace/vxworks/math.c
+++ /dev/null
@@ -1,20 +0,0 @@
-/* $Id$
-
- * =============================================================================
- *
- * = LIBRARY
- * pace
- *
- * = FILENAME
- * pace/vxworks/math.c
- *
- * = AUTHOR
- * Joe Hoffert
- *
- * ============================================================================= */
-
-#include "pace/math.h"
-
-#if !defined (PACE_HAS_INLINE)
-# include "pace/vxworks/math.inl"
-#endif /* ! PACE_HAS_INLINE */
diff --git a/PACE/pace/vxworks/math.h b/PACE/pace/vxworks/math.h
deleted file mode 100644
index cda356e550e..00000000000
--- a/PACE/pace/vxworks/math.h
+++ /dev/null
@@ -1,29 +0,0 @@
-/* $Id$
-
- * ============================================================================
- *
- * = LIBRARY
- * pace
- *
- * = FILENAME
- * pace/vxworks/math.h
- *
- * = AUTHOR
- * Luther Baker
- *
- * ============================================================================ */
-
-#ifndef PACE_MATH_H_VXWORKS
-#define PACE_MATH_H_VXWORKS
-
-#if defined (PACE_HAS_CPLUSPLUS)
-extern "C" {
-#endif /* PACE_HAS_CPLUSPLUS */
-
-#define PACE_HUGE_VAL HUGE_VAL
-
-#if defined (PACE_HAS_CPLUSPLUS)
-}
-#endif /* PACE_HAS_CPLUSPLUS */
-
-#endif /* PACE_MATH_H_VXWORKS */
diff --git a/PACE/pace/vxworks/math.inl b/PACE/pace/vxworks/math.inl
deleted file mode 100644
index 81bd1bc19e2..00000000000
--- a/PACE/pace/vxworks/math.inl
+++ /dev/null
@@ -1,259 +0,0 @@
-/* $Id$ -*- C -*-
-
- * =============================================================================
- *
- * = LIBRARY
- * pace
- *
- * = FILENAME
- * pace/vxworks/math.inl
- *
- * = AUTHOR
- * Joe Hoffert
- *
- * ============================================================================= */
-
-/* FUZZ: disable check_for_math_include */
-#include <math.h>
-
-#if (PACE_HAS_POSIX_CLS_UOF)
-PACE_INLINE
-double
-pace_acos (double x)
-{
- PACE_TRACE("pace_acos");
-
- return acos (x);
-}
-#endif /* PACE_HAS_POSIX_CLS_UOF */
-
-#if (PACE_HAS_POSIX_CLS_UOF)
-PACE_INLINE
-double
-pace_asin (double x)
-{
- PACE_TRACE("pace_asin");
-
- return asin (x);
-}
-#endif /* PACE_HAS_POSIX_CLS_UOF */
-
-#if (PACE_HAS_POSIX_CLS_UOF)
-PACE_INLINE
-double
-pace_atan (double x)
-{
- PACE_TRACE("pace_atan");
-
- return atan (x);
-}
-#endif /* PACE_HAS_POSIX_CLS_UOF */
-
-#if (PACE_HAS_POSIX_CLS_UOF)
-PACE_INLINE
-double
-pace_atan2 (double x, double y)
-{
- PACE_TRACE("pace_atan2");
-
- return atan2 (x, y);
-}
-#endif /* PACE_HAS_POSIX_CLS_UOF */
-
-#if (PACE_HAS_POSIX_CLS_UOF)
-PACE_INLINE
-double
-pace_cos (double x)
-{
- PACE_TRACE("pace_cos");
-
- return cos (x);
-}
-#endif /* PACE_HAS_POSIX_CLS_UOF */
-
-#if (PACE_HAS_POSIX_CLS_UOF)
-PACE_INLINE
-double
-pace_sin (double x)
-{
- PACE_TRACE("pace_sin");
-
- return sin (x);
-}
-#endif /* PACE_HAS_POSIX_CLS_UOF */
-
-#if (PACE_HAS_POSIX_CLS_UOF)
-PACE_INLINE
-double
-pace_tan (double x)
-{
- PACE_TRACE("pace_tan");
-
- return tan (x);
-}
-#endif /* PACE_HAS_POSIX_CLS_UOF */
-
-#if (PACE_HAS_POSIX_CLS_UOF)
-PACE_INLINE
-double
-pace_cosh (double x)
-{
- PACE_TRACE("pace_cosh");
-
- return cosh (x);
-}
-#endif /* PACE_HAS_POSIX_CLS_UOF */
-
-#if (PACE_HAS_POSIX_CLS_UOF)
-PACE_INLINE
-double
-pace_sinh (double x)
-{
- PACE_TRACE("pace_sinh");
-
- return sinh (x);
-}
-#endif /* PACE_HAS_POSIX_CLS_UOF */
-
-#if (PACE_HAS_POSIX_CLS_UOF)
-PACE_INLINE
-double
-pace_tanh (double x)
-{
- PACE_TRACE("pace_tanh");
-
- return tanh (x);
-}
-#endif /* PACE_HAS_POSIX_CLS_UOF */
-
-#if (PACE_HAS_POSIX_CLS_UOF)
-PACE_INLINE
-double
-pace_exp (double x)
-{
- PACE_TRACE("pace_exp");
-
- return exp (x);
-}
-#endif /* PACE_HAS_POSIX_CLS_UOF */
-
-#if (PACE_HAS_POSIX_CLS_UOF)
-PACE_INLINE
-double
-pace_frexp (double x, int * exp)
-{
- PACE_TRACE("pace_frexp");
-
- return frexp (x, exp);
-}
-#endif /* PACE_HAS_POSIX_CLS_UOF */
-
-#if (PACE_HAS_POSIX_CLS_UOF)
-PACE_INLINE
-double
-pace_ldexp (double x, int exp)
-{
- PACE_TRACE("pace_ldexp");
-
- return ldexp (x, exp);
-}
-#endif /* PACE_HAS_POSIX_CLS_UOF */
-
-#if (PACE_HAS_POSIX_CLS_UOF)
-PACE_INLINE
-double
-pace_log (double x)
-{
- PACE_TRACE("pace_log");
-
- return log (x);
-}
-#endif /* PACE_HAS_POSIX_CLS_UOF */
-
-#if (PACE_HAS_POSIX_CLS_UOF)
-PACE_INLINE
-double
-pace_log10 (double x)
-{
- PACE_TRACE("pace_log10");
-
- return log10 (x);
-}
-#endif /* PACE_HAS_POSIX_CLS_UOF */
-
-#if (PACE_HAS_POSIX_CLS_UOF)
-PACE_INLINE
-double
-pace_modf (double x, double * iptr)
-{
- PACE_TRACE("pace_modf");
-
- return modf (x, iptr);
-}
-#endif /* PACE_HAS_POSIX_CLS_UOF */
-
-#if (PACE_HAS_POSIX_CLS_UOF)
-PACE_INLINE
-double
-pace_pow (double x, double y)
-{
- PACE_TRACE("pace_pow");
-
- return pow (x, y);
-}
-#endif /* PACE_HAS_POSIX_CLS_UOF */
-
-#if (PACE_HAS_POSIX_CLS_UOF)
-PACE_INLINE
-double
-pace_sqrt (double x)
-{
- PACE_TRACE("pace_sqrt");
-
- return sqrt (x);
-}
-#endif /* PACE_HAS_POSIX_CLS_UOF */
-
-#if (PACE_HAS_POSIX_CLS_UOF)
-PACE_INLINE
-double
-pace_ceil (double x)
-{
- PACE_TRACE("pace_ceil");
-
- return ceil (x);
-}
-#endif /* PACE_HAS_POSIX_CLS_UOF */
-
-#if (PACE_HAS_POSIX_CLS_UOF)
-PACE_INLINE
-double
-pace_fabs (double x)
-{
- PACE_TRACE("pace_fabs");
-
- return fabs (x);
-}
-#endif /* PACE_HAS_POSIX_CLS_UOF */
-
-#if (PACE_HAS_POSIX_CLS_UOF)
-PACE_INLINE
-double
-pace_floor (double x)
-{
- PACE_TRACE("pace_floor");
-
- return floor (x);
-}
-#endif /* PACE_HAS_POSIX_CLS_UOF */
-
-#if (PACE_HAS_POSIX_CLS_UOF)
-PACE_INLINE
-double
-pace_fmod (double x, double y)
-{
- PACE_TRACE("pace_fmod");
-
- return fmod (x, y);
-}
-#endif /* PACE_HAS_POSIX_CLS_UOF */
diff --git a/PACE/pace/vxworks/mman.c b/PACE/pace/vxworks/mman.c
deleted file mode 100644
index 149f345054e..00000000000
--- a/PACE/pace/vxworks/mman.c
+++ /dev/null
@@ -1,20 +0,0 @@
-/* $Id$
-
- * =============================================================================
- *
- * = LIBRARY
- * pace
- *
- * = FILENAME
- * pace/vxworks/mman.c
- *
- * = AUTHOR
- * Joe Hoffert
- *
- * ============================================================================= */
-
-#include "pace/sys/mman.h"
-
-#if !defined (PACE_HAS_INLINE)
-# include "pace/vxworks/mman.inl"
-#endif /* ! PACE_HAS_INLINE */
diff --git a/PACE/pace/vxworks/mman.h b/PACE/pace/vxworks/mman.h
deleted file mode 100644
index 7bddb69ee86..00000000000
--- a/PACE/pace/vxworks/mman.h
+++ /dev/null
@@ -1,42 +0,0 @@
-/* $Id$
-
- * ============================================================================
- *
- * = LIBRARY
- * pace
- *
- * = FILENAME
- * pace/vxworks/mman.h
- *
- * = AUTHOR
- * Joe Hoffert
- *
- * ============================================================================ */
-
-#ifndef PACE_SYS_MMAN_H_VXWORKS
-#define PACE_SYS_MMAN_H_VXWORKS
-
-#include <sys/mman.h>
-
-#if defined (PACE_HAS_CPLUSPLUS)
-extern "C" {
-#endif /* PACE_HAS_CPLUSPLUS */
-
-#define PACE_MAP_FAILED MAP_FAILED
-#define PACE_MAP_FIXED MAP_FIXED
-#define PACE_MAP_PRIVATE MAP_PRIVATE
-#define PACE_MAP_SHARED MAP_SHARED
-#define PACE_MCL_CURRENT MCL_CURRENT
-#define PACE_MS_ASYNC MS_ASYNC
-#define PACE_MS_INVALIDATE
-#define PACE_MS_SYNC MS_SYNC
-#define PACE_PROT_EXEC PROT_EXEC
-#define PACE_PROT_NONE PROT_NONE
-#define PACE_PROT_READ PROT_READ
-#define PACE_PROT_WRITE PROT_WRITE
-
-#if defined (PACE_HAS_CPLUSPLUS)
-}
-#endif /* PACE_HAS_CPLUSPLUS */
-
-#endif /* PACE_SYS_MMAN_H_VXWORKS */
diff --git a/PACE/pace/vxworks/mman.inl b/PACE/pace/vxworks/mman.inl
deleted file mode 100644
index 79e07ea78c0..00000000000
--- a/PACE/pace/vxworks/mman.inl
+++ /dev/null
@@ -1,153 +0,0 @@
-/* $Id$ -*- C -*-
-
- * =============================================================================
- *
- * = LIBRARY
- * pace
- *
- * = FILENAME
- * pace/vxworks/mman.inl
- *
- * = AUTHOR
- * Joe Hoffert
- *
- * ============================================================================= */
-
-#include "pace/fcntl.h"
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_mlock (const void * addr, pace_size_t len)
-{
- PACE_TRACE("pace_mlock");
-
- return mlock (((char*)addr), len);
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_mlockall (int flags)
-{
- PACE_TRACE("pace_mlockall");
-
- return mlockall (flags);
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-void *
-pace_mmap (void * addr,
- pace_size_t len,
- int prot,
- int flags,
- PACE_HANDLE fildes,
- pace_off_t off)
-{
- PACE_TRACE("pace_mmap");
-
- PACE_UNUSED_ARG(addr);
- PACE_UNUSED_ARG(len);
- PACE_UNUSED_ARG(prot);
- PACE_UNUSED_ARG(flags);
- PACE_UNUSED_ARG(fildes);
- PACE_UNUSED_ARG(off);
- PACE_ERRNO_NO_SUPPORT_RETURN ((void *) -1);
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_munlock (const void * addr, pace_size_t len)
-{
- PACE_TRACE("pace_munlock");
-
- return munlock (((char*)addr), len);
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_mprotect (void * addr,
- pace_size_t len,
- int prot)
-{
- PACE_TRACE("pace_mprotect");
-
- PACE_UNUSED_ARG(addr);
- PACE_UNUSED_ARG(len);
- PACE_UNUSED_ARG(prot);
- PACE_ERRNO_NO_SUPPORT_RETURN (-1);
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_msync (void * addr,
- pace_size_t len,
- int flags)
-{
- PACE_TRACE("pace_msync");
-
- PACE_UNUSED_ARG(addr);
- PACE_UNUSED_ARG(len);
- PACE_UNUSED_ARG(flags);
- PACE_ERRNO_NO_SUPPORT_RETURN (-1);
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_munlockall ()
-{
- PACE_TRACE("pace_munlockall");
-
- return munlockall ();
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_munmap (void * addr, pace_size_t len)
-{
- PACE_TRACE("pace_munmap");
-
- PACE_UNUSED_ARG(addr);
- PACE_UNUSED_ARG(len);
- PACE_ERRNO_NO_SUPPORT_RETURN (-1);
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-PACE_HANDLE
-pace_shm_open (const char * name,
- int oflag,
- pace_mode_t mode)
-{
- PACE_TRACE("pace_shm_open");
-
- /* Just use open per ACE. */
- return pace_open (name, oflag, mode);
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_shm_unlink (const char * name)
-{
- PACE_TRACE("pace_shm_unlink");
-
- /* Just use unlink per ACE. */
- return pace_unlink (name);
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
diff --git a/PACE/pace/vxworks/mqueue.c b/PACE/pace/vxworks/mqueue.c
deleted file mode 100644
index b2cbe7f35b9..00000000000
--- a/PACE/pace/vxworks/mqueue.c
+++ /dev/null
@@ -1,20 +0,0 @@
-/* $Id$
-
- * =============================================================================
- *
- * = LIBRARY
- * pace (posix ace)
- *
- * = FILENAME
- * pace/vxworks/mqueue.c
- *
- * = AUTHOR
- * Luther Baker
- *
- * ============================================================================= */
-
-#include "pace/mqueue.h"
-
-#if !defined (PACE_HAS_INLINE)
-# include "pace/vxworks/mqueue.inl"
-#endif /* ! PACE_HAS_INLINE */
diff --git a/PACE/pace/vxworks/mqueue.h b/PACE/pace/vxworks/mqueue.h
deleted file mode 100644
index 8e3b66e136a..00000000000
--- a/PACE/pace/vxworks/mqueue.h
+++ /dev/null
@@ -1,43 +0,0 @@
-/* $Id$
-
- * ============================================================================
- *
- * = LIBRARY
- * pace
- *
- * = FILENAME
- * pace/vxworks/mqueue.h
- *
- * = AUTHOR
- * Joe Hoffert
- *
- * ============================================================================ */
-
-#ifndef PACE_MQUEUE_H_VXWORKS
-#define PACE_MQUEUE_H_VXWORKS
-
-#if PACE_LINUX
-# include "pace/emulation/mqueue.h"
-#else
-# include <mqueue.h>
-#endif /* PACE_LINUX */
-
-#if defined (PACE_HAS_CPLUSPLUS)
-extern "C" {
-#endif /* PACE_HAS_CPLUSPLUS */
-
-#ifndef PACE_MQD_T
-#define PACE_MQD_T
- typedef mqd_t pace_mqd_t;
-#endif /* PACE_MQD_T */
-
-#ifndef PACE_MQ_ATTR
-#define PACE_MQ_ATTR
- typedef struct mq_attr pace_mq_attr;
-#endif /* PACE_MQ_ATTR */
-
-#if defined (PACE_HAS_CPLUSPLUS)
-}
-#endif /* PACE_HAS_CPLUSPLUS */
-
-#endif /* PACE_MQUEUE_H_VXWORKS */
diff --git a/PACE/pace/vxworks/mqueue.inl b/PACE/pace/vxworks/mqueue.inl
deleted file mode 100644
index 78b983e5e66..00000000000
--- a/PACE/pace/vxworks/mqueue.inl
+++ /dev/null
@@ -1,101 +0,0 @@
-/* $Id$ -*- C -*-
-
- * =============================================================================
- *
- * = LIBRARY
- * pace
- *
- * = FILENAME
- * pace/posix/mqueue.inl
- *
- * = AUTHOR
- * Luther Baker
- *
- * ============================================================================= */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_mq_close (pace_mqd_t mqdes)
-{
- PACE_TRACE("pace_mq_close");
-
- return mq_close (mqdes);
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_mq_getattr (pace_mqd_t mqdes,
- pace_mq_attr * mqstat)
-{
- PACE_TRACE("pace_mq_getattr");
-
- return mq_getattr (mqdes, mqstat);
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_mq_notify (pace_mqd_t mqdes,
- const pace_sigevent * notification)
-{
- PACE_TRACE("pace_mq_notify");
-
- return mq_notify (mqdes, notification);
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-ssize_t
-pace_mq_receive (pace_mqd_t mqdes,
- char * msg_ptr,
- size_t msg_len,
- unsigned int * msg_prio)
-{
- PACE_TRACE("pace_mq_receive");
-
- return mq_receive (mqdes, msg_ptr, msg_len, msg_prio);
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_mq_send (pace_mqd_t mqdes,
- const char * msg_ptr,
- size_t msg_len,
- unsigned int msg_prio)
-{
- PACE_TRACE("pace_mq_send");
-
- return mq_send (mqdes, msg_ptr, msg_len, msg_prio);
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_mq_setattr (pace_mqd_t mqdes,
- const pace_mq_attr * mqstat,
- pace_mq_attr * omqstat)
-{
- PACE_TRACE("pace_mq_setattr");
-
- return mq_setattr (mqdes, mqstat, omqstat);
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_mq_unlink (const char * name)
-{
- PACE_TRACE("pace_mq_unlink");
-
- return mq_unlink (name);
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
diff --git a/PACE/pace/vxworks/pthread.c b/PACE/pace/vxworks/pthread.c
deleted file mode 100644
index ecf556b1639..00000000000
--- a/PACE/pace/vxworks/pthread.c
+++ /dev/null
@@ -1,1376 +0,0 @@
-/* $Id$
-
- * =============================================================================
- *
- * = LIBRARY
- * pace
- *
- * = FILENAME
- * pace/vxworks/pthread.c
- *
- * = AUTHOR
- * Joe Hoffert. The *VAST* majority of the pthread code for VxWorks
- * has been supplied by Hughes Network Systems via Braeton Taylor.
- *
- * ============================================================================= */
-
-#include "pace/pthread.h"
-
-/* pthread queue */
-static pthread_q_entry pthread_queue[PTHEAD_QUEUE_MAX_LEN];
-static pthread_q_entry * first = NULL;
-static pthread_q_entry * current = NULL;
-static int pthread_count = 0;
-/*static pthread_q_entry * pthread_queue_get_entry();*/
-static int initialized = 0;
-static int registered_cleanup_init = 0;
-
-static pthread_key_entry keyList[PTHREAD_KEYS_MAX];
-
-/*
- * The defaut pthread attr structure, if calling task
- * does not pass attr, this default will be used
- */
-static struct _PTHREAD_ATTR _pthread_attr_default_s =
-{
- PTHREAD_DEFAULT_STACK_SIZE, /* stacksize */
- { '\0' }, /* name */
- {100}, /* priority */
- PTHREAD_SCOPE_SYSTEM, /* scope */
- SCHED_FIFO, /* indirect function */
- /* According to the POSIX standard PTHREAD_CREATE_JOINABLE
- * is the default
- */
- /*PTHREAD_CREATE_DETACHED * detached */
- PTHREAD_CREATE_JOINABLE /* joinable */
-};
-
-/* global default access */
-pace_pthread_attr_t pthread_attr_default = &_pthread_attr_default_s;
-
-
-#if !defined (PACE_HAS_INLINE)
-# include "pace/vxworks/pthread.inl"
-#endif /* ! PACE_HAS_INLINE */
-
-/*
- * VxWorks Helper Functions
- */
-
-/*
- * Setup the thread information needed for main. This function
- * mimics much of what's in pthread_create below but this is
- * only for registering a thread already created (as in the case
- * of main).
- */
-STATUS
-pacevx_vxworks_init()
-{
- WIND_TCB *pTcb;
- pace_pthread_t pthread;
- int taskid;
- unsigned int i;
- STATUS status;
-
- PACE_TRACE("pacevx_vxworks_init");
-
- /* Fill in the main thread's TCB with the information needed
- * for POSIX emulation.
- */
- taskid = taskIdSelf();
- if ((pTcb = taskTcb(taskid)) == NULL)
- {
- taskDelete(taskid);
- return ERROR;
- }
-
- pthread = (pace_pthread_t )malloc(sizeof(struct _PTHREAD_T));
-
- if (pthread == NULL)
- {
- taskDelete(taskid);
- return ERROR;
- }
-
- /* construct pace_pthread_t structure */
-
- bzero((char *)pthread, sizeof(struct _PTHREAD_T));
- pthread->tid = taskid;
- pthread->stateflag = PTHREAD_CANCEL_ENABLE;
- pthread->canceltype = PTHREAD_CANCEL_ASYNCHRONOUS;
- /*pthread->detachflag = PTHREAD_CREATE_JOINABLE;*/
- pthread->detachflag = PTHREAD_CREATE_DETACHED;
-
- /* initialize the join semaphore also */
- if ((pthread->joinSem = semBCreate(SEM_Q_PRIORITY, SEM_EMPTY)) == NULL)
- {
- free((void *)pthread);
- taskDelete(taskid);
- return ERROR;
- }
-
- /* save to the WIND_TCB for reference afterward */
- pTcb->_USER_SPARE4 = (int) pthread;
-
- /* I guess this doesn't need to get added for the main thread.
- * It seems to cause problems for main.
- if (registered_cleanup_init == 0)
- {
- status = taskDeleteHookAdd((FUNCPTR)pacevx_pthread_run_cleanup);
- if (status == ERROR)
- {
- return ERROR;
- }
- registered_cleanup_init = 1;
- }
-
- pacevx_pthread_queue_add(pthread);
- */
-
- return OK;
-}
-
-/*
- * Get a free entry from the pthread queue.
- */
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-pthread_q_entry *
-pacevx_pthread_queue_get_entry ()
-{
- int i;
-
- PACE_TRACE("pacevx_pthread_queue_get_entry");
-
- for (i = 0; i < PTHEAD_QUEUE_MAX_LEN; i++)
- {
- if (pthread_queue[i].status == FALSE)
- return &pthread_queue[i];
- }
-
- /* error condition, can alloc more in future */
- return NULL;
-}
-#endif /* PACE_HAS_NONUOF_FUNCS */
-
-/*
- * Run the destructor functions for the specific data key
- */
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-void
-pacevx_pthread_destructor_key (pace_pthread_key_t key, void * arg)
-{
- PACE_TRACE("pacevx_pthread_destructor_key");
-
- if (pacevx_pthread_key_validate(key))
- {
- if (keyList[key].destructor != NULL)
- {
- (*(keyList[key].destructor))(arg);
- }
- }
-}
-#endif /* PACE_HAS_NONUOF_FUNCS */
-
-/*
- * Run the destructor functions for the thread
- * For each key value, if there is a non-NULL destructor pointer,
- * and the thread has a non-NULL value associated with that key,
- * the function pointed to is called with the current associated
- * value as its sole argument.
- *
- * return: none.
- */
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-void
-pacevx_pthread_destructor_thread (pace_pthread_t pthread)
-{
- int i;
-
- PACE_TRACE("pacevx_pthread_destructor_thread");
-
- for (i = 0; i < PTHREAD_KEYS_MAX; i ++)
- {
- if (pthread->keyvaluelist[i] != NULL)
- {
- pacevx_pthread_destructor_key(i, pthread->keyvaluelist[i]);
- }
- }
-}
-#endif /* PACE_HAS_NONUOF_FUNCS */
-
-/*
- * General exit processing.
- */
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-void
-pacevx_pthread_proc_exit (pace_pthread_t pthread, void *value_ptr)
-{
- int key;
- int needgive = 0;
-
- PACE_TRACE("pacevx_pthread_proc_exit");
-
- pacevx_pthread_cleanup_popall(pthread);
-
- /* thread storage data cleanup is automatically*/
- pacevx_pthread_destructor_thread(pthread);
-
- /* joinable or detached */
- if (pthread->detachflag == PTHREAD_CREATE_DETACHED)
- {
- free(pthread);
- }
- else
- {
- key = intLock();
-
- /* pass the value */
- pthread->joinvalue = value_ptr;
-
- switch (pthread->joinstate)
- {
- case JOIN_PENDING:
- pthread->joinstate = JOIN_TERMINATED;
- needgive = 1;
- break;
- case JOIN_NORMAL:
- default:
- pthread->joinstate = JOIN_TERMINATED;
- break;
- }
- intUnlock(key);
-
- /* unblock the calling thread */
- if (needgive)
- semGive(((pace_pthread_t)(pthread->jointhread))->joinSem);
- }
-}
-#endif /* PACE_HAS_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-int
-pacevx_pthread_verify (pace_pthread_t pthread)
-{
- int key;
- pthread_q_entry * entry;
-
- PACE_TRACE("pacevx_pthread_verify");
-
- key = intLock();
-
- /* if queue is empty */
- if (first == NULL)
- {
- intUnlock(key);
- return ERROR;
- }
-
- entry = first; /* get the first one */
-
- while (entry != NULL)
- {
- if (entry->pthread == pthread)
- {
- intUnlock(key);
- return TRUE;
- }
- entry = entry->next;
- }
-
- intUnlock(key);
-
- return FALSE;
-}
-#endif /* PACE_HAS_NONUOF_FUNCS */
-
-/*
- * The cleanup routine that will be called if the task get deleted.
- */
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-void
-pacevx_pthread_run_cleanup (WIND_TCB *pTcb)
-/* pointer to deleted task's WIND_TCB */
-{
- pace_pthread_t pthread;
-
- PACE_TRACE("pacevx_pthread_run_cleanup");
-
- /* free thread tcb only*/
- if (pTcb->_USER_SPARE4 != 0)
- {
- pthread = (pace_pthread_t) pTcb->_USER_SPARE4;
-
- pacevx_pthread_proc_exit(pthread, NULL);
- }
-}
-#endif /* PACE_HAS_NONUOF_FUNCS */
-
-/*
- * Add to the pthread queue.
- */
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-int
-pacevx_pthread_queue_add (pace_pthread_t pthread)
-{
- int key;
- pthread_q_entry * entry;
-
- PACE_TRACE("pacevx_pthread_queue_add");
-
- key = intLock();
-
- if ((entry = pacevx_pthread_queue_get_entry()) != NULL)
- {
- entry->status = TRUE;
- entry->pthread = pthread;
-
- if (first == NULL)
- {
- first = entry;
- current = entry;
- }
- else
- {
- current->next = entry;
- current = entry;
- }
- pthread_count ++;
- intUnlock(key);
- return OK;
- }
-
- intUnlock(key);
- return ERROR;
-}
-#endif /* PACE_HAS_NONUOF_FUNCS */
-
-/*
- * Remove an entry to the pthread queue.
- */
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-int
-pacevx_pthread_queue_remove (pace_pthread_t pthread)
-{
- int key;
- pthread_q_entry * entry1;
- pthread_q_entry * entry2;
-
- PACE_TRACE("pacevx_pthread_queue_remove");
-
- key = intLock();
-
- if (first == NULL)
- {
- intUnlock(key);
- return ERROR;
- }
-
- /* if it is the first one, simple */
- if (first->pthread == pthread)
- {
- first->status = FALSE;
- first->pthread = NULL;
-
- entry1 = first->next;
-
- first->next = NULL;
-
- /* if it is the only one */
- if (current == first)
- current = entry1;
-
- first = entry1;
-
- /* Check for the last thread and unregister cleanup function */
- if (first == NULL)
- taskDeleteHookDelete((FUNCPTR)pacevx_pthread_run_cleanup);
-
- intUnlock(key);
- return OK;
- }
-
- /* else */
-
- entry1 = first;
- entry2 = entry1->next;
-
- while (entry2 != NULL)
- {
- if (entry2->pthread == pthread)
- {
- if (current == entry2)
- current = entry1;
-
- entry1->next = entry2->next; /* remove the node */
-
- /* set invalid and put back to the list */
- entry2->status = FALSE;
- entry2->pthread = NULL;
- entry2->next = NULL;
- intUnlock(key);
- return OK;
- }
- entry1 = entry2;
- entry2 = entry2->next;
- }
-
- intUnlock(key);
- return ERROR;
-}
-#endif /* PACE_HAS_NONUOF_FUNCS */
-
-/*
- * Run the rest of cleanup routines left in the stack.
- */
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-void
-pacevx_pthread_cleanup_popall (pace_pthread_t thread)
-{
- int count;
- int i;
-
- PACE_TRACE("pacevx_pthread_cleanup_popall");
-
- count = thread->rtnCount - 1;
-
- /*
- * We don't currently support any way
- * to add cleanup routines since pace_pthread_cleanup_push and
- * pace_pthread_cleanup_pop are undefined macros for VxWorks.
- */
- for (i = count; i > 0 ; i--)
- {
- thread->rtnCount --;
- (*(thread->cleanupRtn[i].routine))(thread->cleanupRtn[i].args);
- }
-}
-#endif /* PACE_HAS_NONUOF_FUNCS */
-
-/*
- * Validate the key to see if the key is already created (valid)
- */
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-int
-pacevx_pthread_key_validate (pace_pthread_key_t key)
-{
- int intkey;
-
- PACE_TRACE("pacevx_pthread_key_validate");
-
- intkey = intLock();
-
- if (keyList[key].valid)
- {
- intUnlock(intkey);
- return TRUE;
- }
- else
- {
- intUnlock(intkey);
- return FALSE;
- }
-}
-#endif /* PACE_HAS_NONUOF_FUNCS */
-
-
-/*
- * PACE - POSIX Functions
- */
-
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-int
-pthread_cond_timedwait (pace_pthread_cond_t * cond,
- pace_pthread_mutex_t * mutex,
- const pace_timespec * abstime)
-{
- /*
- int msec_timeout;
- if (abstime->sec () == 0 && abstime->usec () == 0)
- msec_timeout = 0; * Do a "poll." *
- else
- {
- // Assumes that struct timespec is same size as struct timeval,
- // which assumes that time_t is a long: it currently is.
- struct pace_timespec ts;
-
- pace_clock_gettime (CLOCK_REALTIME, &ts);
-
- // Note that we must convert between absolute time (which is
- // passed as a parameter) and relative time.
- pace_timespec relative_time = (*abstime) - ts;
-
- // Watchout for situations where a context switch has caused the
- // current time to be > the timeout.
- if (relative_time < 0)
- msec_timeout = 0;
- else
- msec_timeout = relative_time.msec ();
- }
- // Inline the call to ACE_OS::sema_wait () because it takes an
- // ACE_Time_Value argument. Avoid the cost of that conversion . . .
- int ticks_per_sec = ::sysClkRateGet ();
- int ticks = msec_timeout * ticks_per_sec / ACE_ONE_SECOND_IN_MSECS;
- result = ::semTake (cv->sema_.sema_, ticks);
- */
-
-
-
-
-
- int timeval = 0;
- int errornumber;
- int returnval = 0;
- STATUS status;
-
- PACE_TRACE("pthread_cond_timedwait");
-
- if (pace_pthread_mutex_unlock(mutex) != OK) return ERROR;
-
- /* convert the abstime to timeval */
- status = semTake(*cond, timeval);
-
- if (status != OK)
- {
- errornumber = errnoGet();
- if (errornumber == S_objLib_OBJ_ID_ERROR)
- returnval = EINVAL;
- else if (errornumber == S_objLib_OBJ_TIMEOUT)
- returnval = ETIMEDOUT;
- else
- returnval = ERROR;
- }
-
- pace_pthread_mutex_lock(mutex);
-
- return returnval;
-}
-#endif /* PACE_HAS_NONUOF_FUNCS */
-
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-int
-pthread_cond_wait (pace_pthread_cond_t * cond,
- pace_pthread_mutex_t * mutex)
-{
- STATUS status;
- int errornumber;
- int returnval = 0;
-
- PACE_TRACE("pthread_cond_wait");
-
- if (pace_pthread_mutex_unlock(mutex) != OK)
- return ERROR;
-
- status = semTake(*cond, WAIT_FOREVER);
-
- if(status != OK)
- {
- errornumber = errnoGet();
- if (errornumber == S_objLib_OBJ_ID_ERROR)
- returnval = EINVAL;
- else
- returnval = ERROR;
- }
-
- pace_pthread_mutex_lock(mutex);
-
- return returnval;
-}
-#endif /* PACE_HAS_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-int
-pthread_create (pace_pthread_t * thread,
- const pace_pthread_attr_t * attr,
-# if defined (PACE_HAS_CPLUSPLUS)
- pace_create_pf start_routine,
-# else
- void * (*start_routine) (void*),
-# endif
- void * arg)
-{
- pace_pthread_attr_t pattr;
- char * pname;
- int taskid;
- pace_pthread_t pthread;
- WIND_TCB * pTcb;
-
- PACE_TRACE("pthread_create");
-
- if (attr == 0)
- pattr = pthread_attr_default;
- else
- if (*attr == 0)
- pattr = pthread_attr_default;
- else
- pattr = *attr;
-
- if (pattr->name[0] != '\0') /* name is provided */
- pname = pattr->name;
- else
- pname = (char *)0;
-
- taskid = taskSpawn(pname,
- (SCHED_FIFO_HIGH_PRI - pattr->schedule.sched_priority),
- VX_FP_TASK, pattr->stacksize, (FUNCPTR)start_routine,
- (int)arg, 0,0,0,0,0,0,0,0,0);
-
- if (taskid == ERROR)
- return ERROR;
-
- if ((pTcb = taskTcb(taskid)) == NULL)
- {
- taskDelete(taskid);
- return ERROR;
- }
-
- pthread = (pace_pthread_t) malloc(sizeof(struct _PTHREAD_T));
-
- if (pthread == NULL)
- {
- taskDelete(taskid);
- return ERROR;
- }
-
- /* construct pace_pthread_t structure */
-
- bzero((char *)pthread, sizeof(struct _PTHREAD_T));
- pthread->tid = taskid;
- pthread->stateflag = PTHREAD_CANCEL_ENABLE;
- pthread->canceltype = PTHREAD_CANCEL_ASYNCHRONOUS;
- pthread->detachflag = pattr->dstate;
-
- /* initialize the join semaphore also */
- if ((pthread->joinSem = semBCreate(SEM_Q_PRIORITY, SEM_EMPTY)) == NULL)
- {
- free((void *)pthread);
- taskDelete(taskid);
- return ERROR;
- }
-
- /* pass it to the caller */
- *thread = pthread;
-
- /* save to the WIND_TCB for reference afterward */
- pTcb->_USER_SPARE4 = (int) pthread;
-
- if (registered_cleanup_init == 0)
- {
- taskDeleteHookAdd((FUNCPTR)pacevx_pthread_run_cleanup);
- registered_cleanup_init = 1;
- }
-
- pacevx_pthread_queue_add(pthread);
-
- return OK;
-}
-#endif /* PACE_HAS_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-int
-pthread_detach (pace_pthread_t thread)
-{
- int key;
- int needfree;
- needfree = 0;
-
- PACE_TRACE("pthread_detach");
-
- if (!pacevx_pthread_verify(thread))
- return EINVAL;
-
- key = intLock();
-
- switch (thread->joinstate)
- {
- /* task is joined, or detached, but still running, do nothing */
- case JOIN_PENDING:
- case JOIN_DETATCHED:
- intUnlock(key);
- return OK;
- break;
- case JOIN_NORMAL: /* task is running */
- thread->joinstate = JOIN_DETATCHED;
- break;
- case JOIN_TERMINATED:
- needfree = 1;
- break;
- default:
- break;
- }
-
- intUnlock(key);
-
- if (needfree)
- {
- pacevx_pthread_queue_remove(thread);
- free(thread);
- }
- return OK;
-}
-#endif /* PACE_HAS_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-int
-pthread_join (pace_pthread_t thread, void ** value_ptr)
-{
- /*
- * The pthread_join() function suspends execution of the calling
- * thread until the target thread terminates, unless the target
- * thread has already terminated.
- * The terminating thread can pass value to the caller by
- * pthread_exit() and the calling thread gets it from "value_ptr"
- * The application must verify the "value_ptr" value before using it.
- */
- pace_pthread_t pthread;
- int needfree;
- int key;
-
- PACE_TRACE("pthread_join");
-
- if (!pacevx_pthread_verify(thread))
- return ERROR;
-
- if (thread->detachflag != PTHREAD_CREATE_JOINABLE)
- return ERROR;
-
- if ((pthread = pace_pthread_self()) == NULL)
- return ERROR;
-
- needfree = 0;
-
- key = intLock();
- switch (thread->joinstate)
- {
- case JOIN_NORMAL:
- thread->jointhread = pthread;
- thread->joinstate = JOIN_PENDING;
- break;
- case JOIN_TERMINATED:
- needfree = 1;
- break;
- case JOIN_PENDING:
- default:
- intUnlock(key);
- return ERROR;
- }
- intUnlock(key);
-
- if (needfree)
- {
- *value_ptr = thread->joinvalue;
- pacevx_pthread_queue_remove(thread);
- free(thread);
- return OK;
- }
-
- /* if we are here, thread is not terminated yet */
- semTake(pthread->joinSem, WAIT_FOREVER);
-
- /* cleanup */
- *value_ptr = thread->joinvalue;
- pacevx_pthread_queue_remove(thread);
- free(thread);
- return OK;
-}
-#endif /* PACE_HAS_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-int
-pthread_key_create (pace_pthread_key_t * key,
-# if defined (PACE_HAS_CPLUSPLUS)
- pace_keycreate_pf destructor)
-# else
- void (*destructor)(void*))
-# endif
-{
- /*
- * Create a thread-specific data key. Also initialize the
- * data structure if it is called first time.
- */
- int i;
- int intkey;
-
- PACE_TRACE("pthread_key_create");
-
- /* do the initialization if it is the first time */
- if (initialized == 0)
- {
- initialized = 1;
-
- /* initialize the data structure */
- for (i = 0; i < PTHREAD_KEYS_MAX; i++)
- {
- keyList[i].index = i;
- keyList[i].valid = FALSE;
- keyList[i].destructor = NULL;
- }
- }
-
- /* find first available position */
- intkey = intLock();
- for (i = 0; i < PTHREAD_KEYS_MAX; i++)
- {
- if (keyList[i].valid == FALSE)
- {
- *key = (pace_pthread_key_t)keyList[i].index;
- keyList[i].valid = TRUE;
- keyList[i].destructor = destructor;
- intUnlock(intkey);
-
- return OK;
- }
- }
-
- intUnlock(intkey);
- return ERROR;
-}
-#endif /* PACE_HAS_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-int
-pthread_key_delete (pace_pthread_key_t key)
-{
- int intkey;
-
- PACE_TRACE("pthread_key_delete");
-
- if ((key < 0) || (key >= PTHREAD_KEYS_MAX))
- return ERROR;
-
- intkey = intLock();
-
- keyList[key].valid = FALSE;
- keyList[key].destructor = NULL;
-
- intUnlock(intkey);
-
- return OK;
-}
-#endif /* PACE_HAS_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-int
-pthread_once (pace_pthread_once_t * once_control,
-# if defined (PACE_HAS_CPLUSPLUS)
- pace_once_pf init_routine)
-# else
- void (*init_routine) (void))
-# endif
-{
- /*
- * Once function allows the function to be executed exact only once
- * Subsequent calls of pthread_once() with the same once_control will
- * not call the void_routine().
- */
- int i;
- int key;
- pace_pthread_t pthread;
-
- PACE_TRACE("pthread_once");
-
- if ((pthread = pace_pthread_self()) == NULL)
- return ERROR;
-
- /* make it atomic */
- key = intLock();
-
- for (i = 0; i < pthread->onceCount; i++)
- {
- if (*once_control == pthread->onceList[i].once_ctl)
- {
- /* do nothing, already called */
- intUnlock(key);
- return OK;
- }
- }
-
- /* if we are here, no match is found */
- pthread->onceList[pthread->onceCount].once_ctl = *once_control;
- pthread->onceCount++;
- intUnlock(key);
-
- /* run the init routine */
- (*init_routine)();
- return OK;
-}
-#endif /* PACE_HAS_NONUOF_FUNCS */
-
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-int
-pthread_attr_init (pace_pthread_attr_t * attr)
-{
- PACE_TRACE("pthread_attr_init");
-
- /*
- * Attempt to allocate memory for the attributes object.
- */
-
- if ((*attr = (pace_pthread_attr_t) malloc(sizeof(struct _PTHREAD_ATTR)))
- == NULL)
- {
- return ERROR;
- }
-
- /*
- * Set the default attributes.
- */
-
- memcpy ((void *)(*attr), (void *)pthread_attr_default,
- sizeof(struct _PTHREAD_ATTR));
-
- return OK;
-}
-#endif /* PACE_HAS_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-int
-pthread_attr_setdetachstate (pace_pthread_attr_t * attr,
- int detachstate)
-{
- PACE_TRACE("pthread_attr_setdetachstate");
-
- if ((detachstate != PTHREAD_CREATE_DETACHED) ||
- (detachstate != PTHREAD_CREATE_JOINABLE))
- {
- (*attr)->dstate = PTHREAD_CREATE_DETACHED;
- return ERROR;
- }
-
- (*attr)->dstate = detachstate;
- return OK;
-}
-#endif /* PACE_HAS_NONUOF_FUNCS */
-
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-int
-pthread_attr_setschedparam (pace_pthread_attr_t * attr,
- const pace_sched_param * param)
-{
- PACE_TRACE("pthread_attr_setschedparam");
-
- /* range check */
- if (param->sched_priority > SCHED_RR_HIGH_PRI ||
- param->sched_priority < SCHED_RR_LOW_PRI )
- {
- return ERROR;
- }
-
- (*attr)->schedule.sched_priority = param->sched_priority;
- return OK;
-}
-#endif /* PACE_HAS_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-int
-pthread_cancel (pace_pthread_t thread)
-{
- PACE_TRACE("pthread_cancel");
-
- /*
- * In VxWorks, to cancel a thread is to delete a task.
- */
- if (!pacevx_pthread_verify(thread))
- return ESRCH;
-
- if (taskIdVerify(thread->tid) == ERROR) /* already exit, never happen */
- return ERROR;
-
- if (thread->stateflag == PTHREAD_CANCEL_DISABLE)
- return ERROR;
- else
- return (taskDelete(thread->tid));
-}
-#endif /* PACE_HAS_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-int
-pthread_getschedparam (pace_pthread_t thread,
- int * policy,
- pace_sched_param * param)
-{
- PACE_TRACE("pthread_getschedparam");
-
- if (thread == 0)
- return ERROR;
-
- *policy = sched_getscheduler(thread->tid);
-
- if (sched_getparam(thread->tid, param) == OK)
- {
- /* convert VxWorks priority to POSIX priority */
- param->sched_priority = SCHED_FIFO_HIGH_PRI - param->sched_priority;
- return OK;
- }
-
- return ERROR;
-}
-#endif /* PACE_HAS_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-void *
-pthread_getspecific (pace_pthread_key_t key)
-{
- pace_pthread_t pthread;
-
- PACE_TRACE("pthread_getspecific");
-
- if (!pacevx_pthread_key_validate(key))
- return NULL;
-
- if ((pthread = pace_pthread_self()) != NULL)
- {
- return pthread->keyvaluelist[key];
- }
-
- return NULL;
-}
-#endif /* PACE_HAS_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-int
-pthread_mutex_init (pace_pthread_mutex_t * mutex,
- const pace_pthread_mutexattr_t * attr)
-{
- /*
- * Initialises the mutex referenced by mutex with attributes
- * specified by attr. If attr is NULL, the default mutex
- * attributes are used.
- */
-
- /* Make SEM_Q_FIFO the default since this is what ACE does (and
- * ACE works) plus this is supposedly the default for VxWorks.
- */
- int options = SEM_Q_FIFO;
-
- PACE_TRACE("pthread_mutex_init");
-
- if (attr != NULL)
- {
- switch ((*attr)->protocol)
- {
- case PTHREAD_PRIO_INHERIT:
- /* POSIX's PTHREAD_PRIO_INHERIT maps to VxWorks' SEM_INVERSION_SAFE.
- * However, this doesn't seem to be supported (at least on 5.3.1).
- * Return an error.
- */
- return ERROR;
- break;
-
- case PTHREAD_PRIO_PROTECT:
- /* VxWorks does not support this functionality.
- * Return an error.
- */
- return ERROR;
- break;
-
- case PTHREAD_PRIO_NONE:
- options = SEM_Q_FIFO;
- break;
-
- default:
- perror("Invalid POSIX protocol specified");
- return ERROR;
- break;
- }
- }
-
- *mutex = semMCreate(options);
- if (*mutex == NULL) {
- return ERROR;
- }
-
- return OK;
-}
-#endif /* PACE_HAS_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-int
-pthread_mutex_lock (pace_pthread_mutex_t * mutex)
-{
- STATUS status;
- int errornumber;
-
- PACE_TRACE("pthread_mutex_lock");
-
- status = semTake(*mutex, WAIT_FOREVER);
- if (status == OK)
- {
- return OK;
- }
- else
- {
- errornumber = errnoGet();
- if (errornumber == S_objLib_OBJ_ID_ERROR)
- return EINVAL;
-
- return ERROR;
- }
-}
-#endif /* PACE_HAS_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-int
-pthread_mutex_trylock (pace_pthread_mutex_t * mutex)
-{
- STATUS status;
- int errornumber;
-
- PACE_TRACE("pthread_mutex_trylock");
-
- status = semTake(*mutex, NO_WAIT);
- if (status == OK)
- return OK;
- else
- {
- errornumber = errnoGet();
- if (errornumber == S_objLib_OBJ_ID_ERROR)
- return EINVAL;
- if (errornumber == S_objLib_OBJ_UNAVAILABLE)
- return EBUSY;
-
- return ERROR;
- }
-}
-#endif /* PACE_HAS_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-int
-pthread_mutex_unlock (pace_pthread_mutex_t * mutex)
-{
- STATUS status;
- int errornumber;
-
- PACE_TRACE("pthread_mutex_unlock");
-
- status = semGive(*mutex);
- if (status == OK)
- return OK;
- else
- {
- errornumber = errnoGet();
- if (errornumber == S_semLib_INVALID_OPERATION)
- return EPERM;
-
- return ERROR;
- }
-}
-#endif /* PACE_HAS_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-int
-pthread_mutexattr_setprotocol (pace_pthread_mutexattr_t * attr,
- int protocol)
-{
- PACE_TRACE("pthread_mutexattr_setprotocol");
-
-/*
- * Does not support PTHREAD_PRIO_PROTECT for VxWorks
- */
- if ((protocol == PTHREAD_PRIO_NONE) ||
- (protocol == PTHREAD_PRIO_INHERIT ))
- {
- (*attr)->protocol = protocol;
- return OK;
- }
-
- return ERROR;
-}
-#endif /* PACE_HAS_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-int
-pthread_mutexattr_init (pace_pthread_mutexattr_t * attr)
-{
- /*
- * Initializes a mutex attributes object attr with the
- * default value for all of the attributes
- */
- pace_pthread_mutexattr_t pattr;
-
- PACE_TRACE("pthread_mutexattr_init");
-
- pattr = (pace_pthread_mutexattr_t) malloc(sizeof(struct _PTHREAD_MUX_ATTR));
- if (pattr == NULL)
- return ERROR;
-
- /* POSIX's PTHREAD_PRIO_INHERIT maps to VxWorks' SEM_INVERSION_SAFE.
- * However, this doesn't seem to be supported (at least on 5.3.1).
- * Set PTHREAD_PRIO_NONE as the default since the only other choice
- * is PTHREAD_PRIO_PROTECT which VxWorks doesn't support.
- pattr->protocol = PTHREAD_PRIO_INHERIT;
- */
- pattr->protocol = PTHREAD_PRIO_NONE;
- pattr->shared = PTHREAD_PROCESS_SHARED;
- pattr->type = PTHREAD_MUTEX_DEFAULT;
-
- *attr = pattr;
- return OK;
-}
-#endif /* PACE_HAS_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-int
-pthread_mutexattr_setpshared (pace_pthread_mutexattr_t * attr,
- int pshared)
-{
- PACE_TRACE("pthread_mutexattr_setpshared");
-
- /*
- * Only supports PTHREAD_PROCESS_SHARED
- */
- if (attr == 0) return EINVAL;
-
- if (pshared != PTHREAD_PROCESS_SHARED)
- return ERROR;
- else
- return OK;
-}
-#endif /* PACE_HAS_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-int
-pthread_setcancelstate (int state, int * oldstate)
-{
- int key;
- pace_pthread_t pthread;
-
- PACE_TRACE("pthread_setcancelstate");
-
- if ((state != PTHREAD_CANCEL_ENABLE) &&
- (state != PTHREAD_CANCEL_DISABLE))
- {
- return ERROR;
- }
-
- if ((pthread = pace_pthread_self()) == NULL)
- return ERROR;
-
- key = intLock();
- *oldstate = pthread->stateflag;
- pthread->stateflag = state;
- intUnlock(key);
-
- return OK;
-}
-#endif /* PACE_HAS_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-int
-pthread_setcanceltype (int type, int * oldtype)
-{
- /*
- * Only asychronouse type is supported
- */
- pace_pthread_t pthread;
-
- PACE_TRACE("pthread_setcanceltype");
-
- if (type != PTHREAD_CANCEL_ASYNCHRONOUS)
- return ERROR;
-
- if ((pthread = pace_pthread_self()) == NULL)
- return ERROR;
-
- *oldtype = pthread->canceltype;
-
- return OK;
-}
-#endif /* PACE_HAS_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-int
-pthread_setschedparam (pace_pthread_t thread,
- int policy,
- const pace_sched_param * param)
-{
- /*
- * Only priority can be changed.
- */
- struct sched_param sparam;
-
- PACE_TRACE("pthread_setschedparam");
-
- if (thread == 0)
- return ERROR;
-
- if (policy != sched_getscheduler(thread->tid))
- return ERROR;
-
- /* convert POSIX priority to VxWorks priority */
- sparam.sched_priority = SCHED_FIFO_HIGH_PRI - param->sched_priority;
-
- return (sched_setparam(thread->tid, &sparam));
-}
-#endif /* PACE_HAS_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-int
-pthread_setspecific (pace_pthread_key_t key, const void * value)
-{
- pace_pthread_t pthread;
-
- PACE_TRACE("pthread_setspecific");
-
- if (!pacevx_pthread_key_validate(key))
- return ERROR;
-
- if ((pthread = pace_pthread_self()) != NULL)
- {
- pthread->keyvaluelist[key] = PACE_NONCONST_ARG_CAST(void *) value;
- return OK;
- }
-
- return ERROR;
-}
-#endif /* PACE_HAS_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-int
-pthread_sigmask (int how,
- const sigset_t * set,
- sigset_t * oset)
-{
- PACE_TRACE("pthread_sigmask");
-
- switch (how)
- {
- case SIG_BLOCK:
- case SIG_UNBLOCK:
- {
- /* get the old mask */
- *oset = sigsetmask (*set);
- /* create a new mask: the following assumes that sigset_t is 4 bytes,
- * which it is on VxWorks 5.2, so bit operations are done simply . . .
- */
- sigsetmask (how == SIG_BLOCK ? (*oset |= *set) : (*oset &= ~*set));
- break;
- }
- case SIG_SETMASK:
- *oset = sigsetmask (*set);
- break;
- default:
- return -1;
- }
-
- return 0;
-}
-#endif /* PACE_HAS_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-pace_pthread_t
-pthread_self ()
-{
- WIND_TCB *pTcb;
-
- PACE_TRACE("pthread_self");
-
- if ((pTcb = taskTcb(taskIdSelf())) == NULL)
- return (pace_pthread_t)NULL;
-
- return (pace_pthread_t)(pTcb->_USER_SPARE4);
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
diff --git a/PACE/pace/vxworks/pthread.h b/PACE/pace/vxworks/pthread.h
deleted file mode 100644
index 260fe7a553d..00000000000
--- a/PACE/pace/vxworks/pthread.h
+++ /dev/null
@@ -1,163 +0,0 @@
-/* $Id$
-
- * ============================================================================
- *
- * = LIBRARY
- * pace
- *
- * = FILENAME
- * pace/vxworks/pthread.h
- *
- * = AUTHOR
- * Joe Hoffert. The *VAST* majority of the pthread code for VxWorks
- * has been supplied by Hughes Network Systems via Braeton Taylor.
- *
- * ============================================================================ */
-
-#ifndef PACE_PTHREAD_H_VXWORKS
-#define PACE_PTHREAD_H_VXWORKS
-
-#include <taskLib.h>
-#include <taskHookLib.h>
-#include <intLib.h>
-#include <errnoLib.h>
-#include "pace/sys/types.h"
-#include "pace/signal.h"
-
-#if defined (PACE_HAS_CPLUSPLUS)
-extern "C" {
-#endif /* PACE_HAS_CPLUSPLUS */
-
-#define PACE_PTHREAD_CANCELED PTHREAD_CANCELED
-#define PACE_PTHREAD_CANCEL_AYNCHRONOUS PTHREAD_CANCEL_ASYNCHRONOUS
-#define PACE_PTHREAD_CANCEL_DEFERRED PTHREAD_CANCEL_DEFERRED
-#define PACE_PTHREAD_CACEL_DISABLE PTHREAD_CANCEL_DISABLE
-#define PACE_PTHREAD_CANCEL_ENABLE PTHREAD_CANCEL_ENABLE
-#define PACE_PTHREAD_COND_INITIALIZER PTHREAD_COND_INITIALIZER
-#define PACE_PTHREAD_CREATE_DETACHED PTHREAD_CREATE_DETACHED
-#define PACE_PTHREAD_CREATE_JOINABLE PTHREAD_CREATE_JOINABLE
-#define PACE_PTHREAD_EXPLICIT_SCHED PTHREAD_EXPLICIT_SCHED
-#define PACE_PTHREAD_INHERIT_SCHED PTHREAD_INHERIT_SCHED
-#define PACE_PTHREAD_MUTEX_INITIALIZER PTHREAD_MUTEX_INITIALIZER
-#define PACE_PTHREAD_ONCE_INIT PTHREAD_ONCE_INIT
-#define PACE_PTHREAD_PRIO_INHERIT PTHREAD_PRIO_INHERIT
-#define PACE_PTHREAD_PRIO_NONE PTHREAD_PRIO_NONE
-#define PACE_PTHREAD_PRIO_PROTECT PTHREAD_PRIO_PROTECT
-#define PACE_PTHREAD_PROCESS_PRIVATE PTHREAD_PROCESS_PRIVATE
-#define PACE_PTHREAD_PROCESS_SHARED PTHREAD_PROCESS_SHARED
-#define PACE_PTHREAD_SCOPE_PROCESS PTHREAD_SCOPE_PROCESS
-#define PACE_PTHREAD_SCOPE_SYSTEM PTHREAD_SCOPE_SYSTEM
-
-#define PTHREAD_MUTEX_INITIALIZER 0
-#define PTHREAD_COND_INITIALIZER 0
-
-#ifndef PACE_SCHED_PARAM
-#define PACE_SCHED_PARAM
- typedef struct sched_param pace_sched_param;
-#endif /* PACE_SCHED_PARAM */
-
-#if defined (PACE_HAS_CPLUSPLUS)
-# ifndef PACE_ATFORK_PF
-# define PACE_ATFORK_PF
- typedef void (*pace_atfork_pf) (void);
-# endif /* PACE_ATFORK_PF */
-
-# ifndef PACE_KEYCREATE_PF
-# define PACE_KEYCREATE_PF
- typedef void (*pace_keycreate_pf) (void*);
-# endif /* PACE_KEYCREATE_PF */
-
-# ifndef PACE_ONCE_PF
-# define PACE_ONCE_PF
- typedef void (*pace_once_pf) (void);
-# endif /* PACE_ONCE_PF */
-
-# ifndef PACE_CREATE_PF
-# define PACE_CREATE_PF
- typedef void* (*pace_create_pf) (void*);
-# endif /* PACE_CREATE_PF */
-
-#endif /* PACE_HAS_CPLUPLUS */
-
- /*
- * VxWorks helper functions
- */
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
- extern pace_pthread_attr_t pthread_attr_default;
-
- STATUS pacevx_vxworks_init();
- void pacevx_pthread_proc_exit(pace_pthread_t pthread, void *value_ptr);
- int pacevx_pthread_verify(pace_pthread_t pthread);
- void pacevx_pthread_run_cleanup (WIND_TCB *pTcb);
- int pacevx_pthread_queue_add(pace_pthread_t pthread);
- int pacevx_pthread_queue_remove(pace_pthread_t pthread);
- void pacevx_pthread_cleanup_popall(pace_pthread_t thread);
- void pacevx_pthread_destructor_thread(pace_pthread_t pthread);
- int pacevx_pthread_key_validate(pace_pthread_key_t key);
- void pacevx_pthread_destructor_key(pace_pthread_key_t key, void * arg);
-
- int pthread_cond_timedwait (pace_pthread_cond_t * cond,
- pace_pthread_mutex_t * mutex,
- const pace_timespec * abstime);
- int pthread_cond_wait (pace_pthread_cond_t * cond,
- pace_pthread_mutex_t * mutex);
-# if defined (PACE_HAS_CPLUSPLUS)
- int pthread_create (pace_pthread_t * thread,
- const pace_pthread_attr_t * attr,
- pace_create_pf start_routine,
- void * arg);
- int pthread_key_create (pace_pthread_key_t * key,
- pace_keycreate_pf destructor);
- int pthread_once (pace_pthread_once_t * once_control,
- pace_once_pf init_routine);
-# else /* ! PACE_HAS_CPLUSPLUS */
- int pthread_create (pace_pthread_t * thread,
- const pace_pthread_attr_t * attr,
- void * (*start_routine) (void*),
- void * arg);
- int pthread_key_create (pace_pthread_key_t * key,
- void (*destructor)(void*));
- int pthread_once (pace_pthread_once_t * once_control,
- void (*init_routine) (void));
-# endif /*! PACE_HAS_CPLUSPLUS */
- int pthread_detach (pace_pthread_t thread);
- int pthread_join (pace_pthread_t thread, void ** value_ptr);
- int pthread_key_delete (pace_pthread_key_t key);
- int pthread_attr_init (pace_pthread_attr_t * attr);
- int pthread_attr_setdetachstate (pace_pthread_attr_t * attr,
- int detachstate);
- int pthread_attr_setschedparam (pace_pthread_attr_t * attr,
- const pace_sched_param * param);
- int pthread_cancel (pace_pthread_t thread);
- int pthread_getschedparam (pace_pthread_t thread,
- int * policy,
- pace_sched_param * param);
- void * pthread_getspecific (pace_pthread_key_t key);
- int pthread_mutex_init (pace_pthread_mutex_t * mutex,
- const pace_pthread_mutexattr_t * attr);
- int pthread_mutex_lock (pace_pthread_mutex_t * mutex);
- int pthread_mutex_trylock (pace_pthread_mutex_t * mutex);
- int pthread_mutex_unlock (pace_pthread_mutex_t * mutex);
- int pthread_mutexattr_setprotocol (pace_pthread_mutexattr_t * attr,
- int protocol);
- int pthread_mutexattr_init (pace_pthread_mutexattr_t * attr);
- int pthread_mutexattr_setpshared (pace_pthread_mutexattr_t * attr,
- int pshared);
- int pthread_setcancelstate (int state, int * oldstate);
- int pthread_setcanceltype (int type, int * oldtype);
- int pthread_setschedparam (pace_pthread_t thread,
- int policy,
- const pace_sched_param * param);
- int pthread_setspecific (pace_pthread_key_t key,
- const void * value);
- int pthread_sigmask (int how,
- const sigset_t * set,
- sigset_t * oset);
- pace_pthread_t pthread_self ();
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if defined (PACE_HAS_CPLUSPLUS)
-}
-#endif /* PACE_HAS_CPLUSPLUS */
-
-#endif /* PACE_PTHREAD_H_VXWORKS */
diff --git a/PACE/pace/vxworks/pthread.inl b/PACE/pace/vxworks/pthread.inl
deleted file mode 100644
index 02f694072bd..00000000000
--- a/PACE/pace/vxworks/pthread.inl
+++ /dev/null
@@ -1,935 +0,0 @@
-/* $Id$ -*- C -*-
-
- * =============================================================================
- *
- * = LIBRARY
- * pace
- *
- * = FILENAME
- * pace/vxworks/pthread.inl
- *
- * = AUTHOR
- * Joe Hoffert. The *VAST* majority of the pthread code for VxWorks
- * has been supplied by Hughes Network Systems via Braeton Taylor.
- *
- *
- * ============================================================================= */
-
-#include "pace/unistd.h"
-
-#include "pace/stdio.h"
-
-/*
- * PACE - POSIX Functions
- */
-
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_pthread_atfork (
-# if defined (PACE_HAS_CPLUSPLUS)
- pace_atfork_pf prepare,
- pace_atfork_pf parent,
- pace_atfork_pf child
-# else /* ! PACE_HAS_CPLUSPLUS */
- void (*prepare) (),
- void (*parent) (),
- void (*child) ()
-# endif /* PACE_HAS_CPLUSPLUS */
- )
-{
- PACE_TRACE("pace_pthread_atfork");
- /*
- * In VxWorks, there is only one process.
- */
- PACE_ERRNO_NO_SUPPORT_RETURN (-1);
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_pthread_attr_destroy (pace_pthread_attr_t * attr)
-{
- PACE_TRACE("pace_pthread_attr_destroy");
- /*
- * Free memory allocated to the attributes object.
- */
- if ((*attr) == 0)
- return ERROR;
-
- free ((char *) *attr);
- return OK;
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_pthread_attr_getdetachstate (const pace_pthread_attr_t * attr,
- int * detachstate)
-{
- PACE_TRACE("pace_pthread_attr_getdetachstate");
-
- *detachstate = (*attr)->dstate;
- return OK;
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_pthread_attr_getinheritsched (const pace_pthread_attr_t * attr,
- int * inheritsched)
-{
- PACE_TRACE("pace_pthread_attr_getinheritsched");
-
- /*
- * Get the priority inheritence of the thread attribute structure.
- * Only PTHREAD_EXPLICIT_SCHED is returned.
- */
- *inheritsched = PTHREAD_EXPLICIT_SCHED;
- return OK;
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_pthread_attr_getschedparam (const pace_pthread_attr_t * attr,
- pace_sched_param * param)
-{
- PACE_TRACE("pace_pthread_attr_getschedparam");
-
- param->sched_priority = (*attr)->schedule.sched_priority;
- return OK;
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_pthread_attr_getschedpolicy (const pace_pthread_attr_t * attr,
- int * policy)
-{
- PACE_TRACE("pace_pthread_attr_getschedpolicy");
-
- /*
- * VxWorks only supports SCHED_FIFO.
- */
-
- *policy = SCHED_FIFO;
- return OK;
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_pthread_attr_getscope (const pace_pthread_attr_t * attr,
- int * contentionscope)
-{
- PACE_TRACE("pace_pthread_attr_getscope");
-
- /*
- * Since all VxWorks tasks are system wide scope,
- * no support for the scope except for PTHREAD_SCOPE_SYSTEM
- */
-
- *contentionscope = PTHREAD_SCOPE_SYSTEM;
- return OK;
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_pthread_attr_getstackaddr (const pace_pthread_attr_t * attr,
- void ** stackaddr)
-{
- PACE_TRACE("pace_pthread_attr_getstackaddr");
-
- /*
- * VxWorks has no support for stack address getting
- */
-
- return ERROR;
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_pthread_attr_getstacksize (const pace_pthread_attr_t * attr,
- size_t * stacksize)
-{
- PACE_TRACE("pace_pthread_attr_getstacksize");
-
- if (*attr == 0)
- return ERROR;
-
- *stacksize = (*attr)->stacksize;
- return OK;
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_pthread_attr_init (pace_pthread_attr_t * attr)
-{
- PACE_TRACE("pace_pthread_attr_init");
-
- return pthread_attr_init(attr);
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_pthread_attr_setdetachstate (pace_pthread_attr_t * attr,
- int detachstate)
-{
- PACE_TRACE("pace_pthread_attr_setdetachstate");
-
- return pthread_attr_setdetachstate (attr, detachstate);
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_pthread_attr_setinheritsched (pace_pthread_attr_t * attr,
- int inheritsched)
-{
- PACE_TRACE("pace_pthread_attr_setinheritsched");
-
- /*
- * For VxWorks, no inheritance of priority between the spawning task
- * and the spawned task. Only PTHREAD_EXPLICIT_SCHED is supported.
- */
- if (inheritsched == PTHREAD_EXPLICIT_SCHED)
- {
- return OK;
- }
-
- return ERROR;
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_pthread_attr_setschedparam (pace_pthread_attr_t * attr,
- const pace_sched_param * param)
-{
- PACE_TRACE("pace_pthread_attr_setschedparam");
-
- return pthread_attr_setschedparam (attr, param);
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_pthread_attr_setschedpolicy (pace_pthread_attr_t * attr,
- int policy)
-{
- PACE_TRACE("pace_pthread_attr_setschedpolicy");
-
- /*
- * In VxWorks, the schedule policy is set in system scope,
- * the whole system is running with one single scheduler, and
- * is always pre-emptive priority based. The system wide
- * scheduler can only be changed by kernelTimeSlice()
- *
- * To maintain the RTOS characteristics, only SCHED_FIFO is
- * supported.
- */
- if (policy != SCHED_FIFO)
- return ERROR;
- else
- return OK;
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_pthread_attr_setscope (pace_pthread_attr_t * attr,
- int contentionscope)
-{
- PACE_TRACE("pace_pthread_attr_setscope");
-
- /*
- * Since all VxWorks tasks are system wide scope,
- * no support for the scope except for PTHREAD_SCOPE_SYSTEM
- */
- if (contentionscope != PTHREAD_SCOPE_SYSTEM)
- return ERROR;
- else
- return OK;
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_pthread_attr_setstackaddr (pace_pthread_attr_t * attr,
- void * stackaddr)
-{
- PACE_TRACE("pace_pthread_attr_setstackaddr");
-
- /*
- * VxWorks does not support stack address setting.
- */
- return ERROR;
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_pthread_attr_setstacksize (pace_pthread_attr_t * attr,
- size_t stacksize)
-{
- PACE_TRACE("pace_pthread_attr_setstacksize");
-
- /*
- * Default size will be assigned if the stacksize is 0
- */
- if (*attr == 0) return ERROR;
-
- if (stacksize != 0)
- (*attr)->stacksize = stacksize;
- else
- (*attr)->stacksize = PTHREAD_DEFAULT_STACK_SIZE;
-
- return OK;
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_pthread_cancel (pace_pthread_t thread)
-{
- PACE_TRACE("pace_pthread_cancel");
-
- return pthread_cancel (thread);
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_pthread_cond_broadcast (pace_pthread_cond_t * cond)
-{
- PACE_TRACE("pace_pthread_cond_broadcast");
-
- /*
- * This call unblocks all the threads that are blocked
- * on the specified condition variable cond.
- */
- return semFlush(*cond);
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_pthread_cond_destroy (pace_pthread_cond_t * cond)
-{
- PACE_TRACE("pace_pthread_cond_destroy");
-
- if (*cond != NULL)
- return semDelete(*cond);
-
- return EINVAL;
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_pthread_cond_init (pace_pthread_cond_t * cond,
- const pace_pthread_condattr_t * attr)
-{
- PACE_TRACE("pace_pthread_cond_init");
-
- *cond = semBCreate(SEM_Q_PRIORITY, SEM_FULL);
- if (*cond == NULL)
- return ERROR;
-
- return OK;
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_pthread_cond_signal (pace_pthread_cond_t * cond)
-{
- PACE_TRACE("pace_pthread_cond_signal");
-
- return semGive(*cond);
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_pthread_cond_timedwait (pace_pthread_cond_t * cond,
- pace_pthread_mutex_t * mutex,
- const pace_timespec * abstime)
-{
- PACE_TRACE("pace_pthread_cond_timedwait");
-
- return pthread_cond_timedwait(cond,
- mutex,
- abstime);
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_pthread_cond_wait (pace_pthread_cond_t * cond,
- pace_pthread_mutex_t * mutex)
-{
- PACE_TRACE("pace_pthread_cond_wait");
-
- return pthread_cond_wait(cond,
- mutex);
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_pthread_condattr_destroy (pace_pthread_condattr_t * attr)
-{
- PACE_TRACE("pace_pthread_condattr_destroy");
-
- return OK;
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_pthread_condattr_getpshared (const pace_pthread_condattr_t * attr,
- int * pshared)
-{
- PACE_TRACE("pace_pthread_condattr_getpshared");
-
- /*
- * All the resources in present VxWorks are shared system wide.
- */
- *pshared = PTHREAD_PROCESS_SHARED;
- return OK;
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_pthread_condattr_init (pace_pthread_condattr_t * attr)
-{
- PACE_TRACE("pace_pthread_condattr_init");
-
- return OK;
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_pthread_condattr_setpshared (pace_pthread_condattr_t * attr,
- int pshared)
-{
- PACE_TRACE("pace_pthread_condattr_setpshared");
-
- /*
- * All the resources in present VxWorks are shared system wide.
- */
- if (pshared != PTHREAD_PROCESS_SHARED)
- return ERROR;
-
- return OK;
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_pthread_create (pace_pthread_t * thread,
- const pace_pthread_attr_t * attr,
- void * (*start_routine) (void*),
- void * arg)
-{
- PACE_TRACE("pace_pthread_create");
-
- return pthread_create (thread,
- attr,
- start_routine,
- arg);
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_pthread_detach (pace_pthread_t thread)
-{
- PACE_TRACE("pace_pthread_detach");
-
- return pthread_detach (thread);
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_pthread_equal (pace_pthread_t t1, pace_pthread_t t2)
-{
- PACE_TRACE("pace_pthread_equal");
-
- if (pacevx_pthread_verify(t1) && pacevx_pthread_verify(t2))
- {
- if (t1->tid != t2->tid)
- return 0;
- }
-
- return 1;
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-void
-pace_pthread_exit (void * value_ptr)
-{
- /*
- * Normal thread exit. All the cleanup routines will be popped, if any.
- * If the thread is detached, free the storage; otherwise wait for join.
- */
- pace_pthread_t pthread;
-
- PACE_TRACE("pace_pthread_exit");
-
- if ((pthread = pace_pthread_self()) != NULL)
- {
- pacevx_pthread_proc_exit(pthread, value_ptr);
-
- exit(0);
- }
-
- exit(-1);
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_pthread_getschedparam (pace_pthread_t thread,
- int * policy,
- pace_sched_param * param)
-{
- PACE_TRACE("pace_pthread_getschedparam");
-
- return pthread_getschedparam (thread,
- policy,
- param);
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-void *
-pace_pthread_getspecific (pace_pthread_key_t key)
-{
- PACE_TRACE("pace_pthread_getspecific");
-
- return pthread_getspecific (key);
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_pthread_join (pace_pthread_t thread, void ** value_ptr)
-{
- PACE_TRACE("pace_pthread_join");
-
- return pthread_join (thread,
- value_ptr);
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_pthread_key_create (pace_pthread_key_t * key,
- void (*destructor)(void*))
-{
- PACE_TRACE("pace_pthread_key_create");
-
- return pthread_key_create (key,
- destructor);
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_pthread_key_delete (pace_pthread_key_t key)
-{
- PACE_TRACE("pace_pthread_key_delete");
-
- return pthread_key_delete (key);
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_pthread_kill (pace_pthread_t thread, int sig)
-{
- PACE_TRACE("pace_pthread_kill");
-
- if (pacevx_pthread_verify(thread))
- return kill(thread->tid, sig);
- else
- return EINVAL;
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_pthread_mutex_destroy (pace_pthread_mutex_t * mutex)
-{
- PACE_TRACE("pace_pthread_mutex_destroy");
-
- if (*mutex != NULL)
- return semDelete(*mutex);
-
- return EINVAL;
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_pthread_mutex_getprioceiling (pace_pthread_mutex_t * mutex,
- int * prioceiling)
-{
- PACE_TRACE("pace_pthread_mutex_getprioceiling");
-
- /*
- * Mutex priority is not supported in VxWorks;
- * it depends on the thread using it and has the same priority
- * ceiling as this thread (SCHED_RR_HIGH_PRI).
- */
- *prioceiling = SCHED_RR_HIGH_PRI;
- return OK;
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_pthread_mutex_init (pace_pthread_mutex_t * mutex,
- const pace_pthread_mutexattr_t * attr)
-{
- PACE_TRACE("pace_pthread_mutex_init");
-
- return pthread_mutex_init (mutex,
- attr);
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_pthread_mutex_lock (pace_pthread_mutex_t * mutex)
-{
- PACE_TRACE("pace_pthread_mutex_lock");
-
- return pthread_mutex_lock (mutex);
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_pthread_mutex_setprioceiling (pace_pthread_mutex_t * mutex,
- int prioceiling,
- int * old_ceiling)
-{
- PACE_TRACE("pace_pthread_mutex_setprioceiling");
-
- /*
- * Mutex priority is not supported in VxWorks;
- * it depends on the thread using it and has the same priority
- * ceiling as this thread (SCHED_RR_HIGH_PRI).
- */
- *old_ceiling = SCHED_RR_HIGH_PRI;
-
- if (prioceiling != SCHED_RR_HIGH_PRI)
- return ERROR;
-
- return OK;
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_pthread_mutex_trylock (pace_pthread_mutex_t * mutex)
-{
- PACE_TRACE("pace_pthread_mutex_trylock");
-
- return pthread_mutex_trylock (mutex);
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_pthread_mutex_unlock (pace_pthread_mutex_t * mutex)
-{
- PACE_TRACE("pace_pthread_mutex_unlock");
-
- return pthread_mutex_unlock (mutex);
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_pthread_mutexattr_destroy (pace_pthread_mutexattr_t * attr)
-{
- PACE_TRACE("pace_pthread_mutexattr_destroy");
-
- free(*attr);
- return OK;
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_pthread_mutexattr_getprioceiling (pace_pthread_mutexattr_t * attr,
- int * prioceiling)
-{
- PACE_TRACE("pace_pthread_mutexattr_getprioceiling");
-
- /*
- * Mutex priority is not supported in VxWorks,
- * it depends the thread using it and has the same priority
- * ceiling as this thread (SCHED_RR_HIGH_PRI).
- */
- *prioceiling = SCHED_RR_HIGH_PRI;
- return OK;
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_pthread_mutexattr_getprotocol (const pace_pthread_mutexattr_t * attr,
- int * protocol)
-{
- PACE_TRACE("pace_pthread_mutexattr_getprotocol");
-
-/*
- * Does not support PTHREAD_PRIO_PROTECT for VxWorks
- */
- if (attr == 0)
- return EINVAL;
-
- *protocol = (*attr)->protocol;
- return OK;
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_pthread_mutexattr_setprioceiling (pace_pthread_mutexattr_t * attr,
- int prioceiling)
-{
- PACE_TRACE("pace_pthread_mutexattr_setprioceiling");
-
- /*
- * Mutex priority is not supported in VxWorks;
- * it depends on the thread using it and has the same priority
- * ceiling as this thread (SCHED_RR_HIGH_PRI).
- */
- if (prioceiling == SCHED_RR_HIGH_PRI)
- return OK;
- else
- return ERROR;
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_pthread_mutexattr_setprotocol (pace_pthread_mutexattr_t * attr,
- int protocol)
-{
- PACE_TRACE("pace_pthread_mutexattr_setprotocol");
-
- return pthread_mutexattr_setprotocol (attr,
- protocol);
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_pthread_mutexattr_getpshared (const pace_pthread_mutexattr_t * attr,
- int * pshared)
-{
- PACE_TRACE("pace_pthread_mutexattr_getpshared");
-
- /*
- * Only supports PTHREAD_PROCESS_SHARED
- */
- *pshared = PTHREAD_PROCESS_SHARED;
- return OK;
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_pthread_mutexattr_init (pace_pthread_mutexattr_t * attr)
-{
- PACE_TRACE("pace_pthread_mutexattr_init");
-
- return pthread_mutexattr_init (attr);
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_pthread_mutexattr_setpshared (pace_pthread_mutexattr_t * attr,
- int pshared)
-{
- PACE_TRACE("pace_pthread_mutexattr_setpshared");
-
- return pthread_mutexattr_setpshared (attr,
- pshared);
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_pthread_once (pace_pthread_once_t * once_control,
- void (*void_routine) (void))
-{
- PACE_TRACE("pace_pthread_once");
-
- return pthread_once (once_control,
- void_routine);
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-pace_pthread_t
-pace_pthread_self ()
-{
- PACE_TRACE("pace_pthread_self");
-
- return pthread_self();
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_pthread_setcancelstate (int state,
- int * oldstate)
-{
- PACE_TRACE("pace_pthread_setcancelstate");
-
- return pthread_setcancelstate (state,
- oldstate);
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_pthread_setcanceltype (int type,
- int * oldtype)
-{
- PACE_TRACE("pace_pthread_setcanceltype");
-
- return pthread_setcanceltype (type,
- oldtype);
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_pthread_setschedparam (pace_pthread_t thread,
- int policy,
- const pace_sched_param * param)
-{
- PACE_TRACE("pace_pthread_setschedparam");
-
- return pthread_setschedparam (thread,
- policy,
- param);
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_pthread_setspecific (pace_pthread_key_t key,
- const void * value)
-{
- PACE_TRACE("pace_pthread_setspecific");
-
- return pthread_setspecific (key,
- value);
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_pthread_sigmask (int how,
- const pace_sigset_t * set,
- pace_sigset_t * oset)
-{
- PACE_TRACE("pace_pthread_sigmask");
-
- return pthread_sigmask (how,
- set,
- oset);
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-void
-pace_pthread_testcancel ()
-{
- PACE_TRACE("pace_pthread_testcancel");
-
- /* Do nothing per ACE (i.e., ACE_OS::thr_testcancel). */
- return;
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
diff --git a/PACE/pace/vxworks/pwd.c b/PACE/pace/vxworks/pwd.c
deleted file mode 100644
index 08f623cb684..00000000000
--- a/PACE/pace/vxworks/pwd.c
+++ /dev/null
@@ -1,20 +0,0 @@
-/* $Id$ -*- C -*-
-
- * =============================================================================
- *
- * = LIBRARY
- * pace
- *
- * = FILENAME
- * pace/vxworks/pwd.c
- *
- * = AUTHOR
- * Joe Hoffert
- *
- * ============================================================================= */
-
-#include "pace/pwd.h"
-
-#if !defined (PACE_HAS_INLINE)
-# include "pace/vxworks/pwd.inl"
-#endif /* ! PACE_HAS_INLINE */
diff --git a/PACE/pace/vxworks/pwd.h b/PACE/pace/vxworks/pwd.h
deleted file mode 100644
index 4a2463658e5..00000000000
--- a/PACE/pace/vxworks/pwd.h
+++ /dev/null
@@ -1,34 +0,0 @@
-/* $Id$
-
- * ============================================================================
- *
- * = LIBRARY
- * pace
- *
- * = FILENAME
- * pace/vxworks/pwd.h
- *
- * = AUTHOR
- * Joe Hoffert
- *
- * ============================================================================ */
-
-#ifndef PACE_PWD_H_VXWORKS
-#define PACE_PWD_H_VXWORKS
-
-#include "pace/sys/types.h"
-
-#if defined (PACE_HAS_CPLUSPLUS)
-extern "C" {
-#endif /* PACE_HAS_CPLUSPLUS */
-
-#ifndef PACE_PASSWD
-#define PACE_PASSWD
- typedef struct passwd pace_passwd;
-#endif /* PACE_PASSWD */
-
-#if defined (PACE_HAS_CPLUSPLUS)
-}
-#endif /* PACE_HAS_CPLUSPLUS */
-
-#endif /* PACE_PWD_H_VXWORKS */
diff --git a/PACE/pace/vxworks/pwd.inl b/PACE/pace/vxworks/pwd.inl
deleted file mode 100644
index 1e4aab00715..00000000000
--- a/PACE/pace/vxworks/pwd.inl
+++ /dev/null
@@ -1,82 +0,0 @@
-/* $Id$ -*- C -*-
-
- * =============================================================================
- *
- * = LIBRARY
- * pace
- *
- * = FILENAME
- * pace/vxworks/pwd.inl
- *
- * = AUTHOR
- * Luther Baker
- *
- * ============================================================================= */
-
-#if (PACE_HAS_POSIX_SD_UOF)
-PACE_INLINE
-pace_passwd *
-pace_getpwuid (pace_uid_t uid)
-{
- PACE_TRACE("pace_getpwuid");
-
- /* getpwuid() is not supported: just one user anyways */
- PACE_UNUSED_ARG (uid);
- return 0;
-}
-#endif /* PACE_HAS_POSIX_SD_UOF */
-
-#if (PACE_HAS_POSIX_SDR_UOF)
-PACE_INLINE
-int
-pace_getpwuid_r (pace_uid_t uid,
- pace_passwd * pwd,
- char * buffer,
- pace_size_t bufsize,
- pace_passwd ** result)
-{
- PACE_TRACE("pace_getpwuid_r");
-
- /* getpwuid_r() is not supported: just one user anyways */
- PACE_UNUSED_ARG (uid);
- PACE_UNUSED_ARG (pwd);
- PACE_UNUSED_ARG (buffer);
- PACE_UNUSED_ARG (bufsize);
- PACE_UNUSED_ARG (result);
- return 0;
-}
-#endif /* PACE_HAS_POSIX_SDR_UOF */
-
-#if (PACE_HAS_POSIX_SD_UOF)
-PACE_INLINE
-pace_passwd *
-pace_getpwnam (const char * name)
-{
- PACE_TRACE("pace_getpwnam");
-
- /* getpwuid() is not supported: just one user anyways */
- PACE_UNUSED_ARG (name);
- return 0;
-}
-#endif /* PACE_HAS_POSIX_SD_UOF */
-
-#if (PACE_HAS_POSIX_SDR_UOF)
-PACE_INLINE
-int
-pace_getpwnam_r (const char * name,
- pace_passwd * pwd,
- char * buffer,
- pace_size_t bufsize,
- pace_passwd ** result)
-{
- PACE_TRACE("pace_getpwnam_r");
-
- /* getpwuid_r() is not supported: just one user anyways */
- PACE_UNUSED_ARG (name);
- PACE_UNUSED_ARG (pwd);
- PACE_UNUSED_ARG (buffer);
- PACE_UNUSED_ARG (bufsize);
- PACE_UNUSED_ARG (result);
- return 0;
-}
-#endif /* PACE_HAS_POSIX_SDR_UOF */
diff --git a/PACE/pace/vxworks/sched.c b/PACE/pace/vxworks/sched.c
deleted file mode 100644
index 14a8857f86e..00000000000
--- a/PACE/pace/vxworks/sched.c
+++ /dev/null
@@ -1,20 +0,0 @@
-/* $Id$
-
- * =============================================================================
- *
- * = LIBRARY
- * pace
- *
- * = FILENAME
- * pace/vxworks/sched.c
- *
- * = AUTHOR
- * Joe Hoffert
- *
- * ============================================================================= */
-
-#include "pace/sched.h"
-
-#if !defined (PACE_HAS_INLINE)
-# include "pace/vxworks/sched.inl"
-#endif /* ! PACE_HAS_INLINE */
diff --git a/PACE/pace/vxworks/sched.h b/PACE/pace/vxworks/sched.h
deleted file mode 100644
index 722b5953c95..00000000000
--- a/PACE/pace/vxworks/sched.h
+++ /dev/null
@@ -1,38 +0,0 @@
-/* $Id$
-
- * ============================================================================
- *
- * = LIBRARY
- * pace
- *
- * = FILENAME
- * pace/vxworks/sched.h
- *
- * = AUTHOR
- * Joe Hoffert
- *
- * ============================================================================ */
-
-#ifndef PACE_SCHED_H_VXWORKS
-#define PACE_SCHED_H_VXWORKS
-
-#include <sched.h>
-#include "pace/time.h"
-
-#if defined (PACE_HAS_CPLUSPLUS)
-extern "C" {
-#endif /* PACE_HAS_CPLUSPLUS */
-
-#define PACE_SCHED_FIFO SCHED_FIFO
-#define PACE_SCHED_OTHER SCHED_RR
-
-#ifndef PACE_SCHED_PARAM
-#define PACE_SCHED_PARAM
- typedef struct sched_param pace_sched_param;
-#endif /* PACE_SCHED_PARAM */
-
-#if defined (PACE_HAS_CPLUSPLUS)
-}
-#endif /* PACE_HAS_CPLUSPLUS */
-
-#endif /* PACE_SCHED_H_VXWORKS */
diff --git a/PACE/pace/vxworks/sched.inl b/PACE/pace/vxworks/sched.inl
deleted file mode 100644
index 1d6a11bcdf3..00000000000
--- a/PACE/pace/vxworks/sched.inl
+++ /dev/null
@@ -1,107 +0,0 @@
-/* $Id$ -*- C -*-
-
- * =============================================================================
- *
- * = LIBRARY
- * pace
- *
- * = FILENAME
- * pace/vxworks/sched.inl
- *
- * = AUTHOR
- * Joe Hoffert
- *
- * ============================================================================= */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_sched_get_priority_max (int policy)
-{
- PACE_TRACE("pace_sched_get_priority_max");
-
- return sched_get_priority_max (policy);
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_sched_get_priority_min (int policy)
-{
- PACE_TRACE("pace_sched_get_priority_min");
-
- return sched_get_priority_min (policy);
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_sched_getparam (pace_pid_t pid,
- pace_sched_param * param)
-{
- PACE_TRACE("pace_sched_getparam");
-
- return sched_getparam (pid, param);
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_sched_rr_get_interval (pace_pid_t pid,
- pace_timespec * interval)
-{
- PACE_TRACE("pace_sched_rr_get_interval");
-
- return sched_rr_get_interval (pid, interval);
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_sched_setparam (pace_pid_t pid,
- const pace_sched_param * param)
-{
- PACE_TRACE("pace_sched_setparam");
-
- return sched_setparam (pid, param);
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_sched_getscheduler (pace_pid_t pid)
-{
- PACE_TRACE("pace_sched_getscheduler");
-
- return sched_getscheduler (pid);
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_sched_setscheduler (pace_pid_t pid,
- int policy,
- const pace_sched_param * param)
-{
- PACE_TRACE("pace_sched_setscheduler");
-
- return sched_setscheduler (pid, policy, param);
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_sched_yield ()
-{
- PACE_TRACE("pace_sched_yield");
-
- return sched_yield ();
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
diff --git a/PACE/pace/vxworks/semaphore.c b/PACE/pace/vxworks/semaphore.c
deleted file mode 100644
index f4d56e89543..00000000000
--- a/PACE/pace/vxworks/semaphore.c
+++ /dev/null
@@ -1,20 +0,0 @@
-/* $Id$
-
- * =============================================================================
- *
- * = LIBRARY
- * pace
- *
- * = FILENAME
- * pace/vxworks/semaphore.c
- *
- * = AUTHOR
- * Joe Hoffert
- *
- * ============================================================================= */
-
-#include "pace/semaphore.h"
-
-#if !defined (PACE_HAS_INLINE)
-# include "pace/vxworks/semaphore.inl"
-#endif /* ! PACE_HAS_INLINE */
diff --git a/PACE/pace/vxworks/semaphore.h b/PACE/pace/vxworks/semaphore.h
deleted file mode 100644
index f5a0a97d05a..00000000000
--- a/PACE/pace/vxworks/semaphore.h
+++ /dev/null
@@ -1,31 +0,0 @@
-/* $Id$
-
- * ============================================================================
- *
- * = LIBRARY
- * pace
- *
- * = FILENAME
- * pace/vxworks/semaphore.h
- *
- * = AUTHOR
- * Joe Hoffert
- *
- * ============================================================================ */
-
-#ifndef PACE_SEMAPHORE_H_VXWORKS
-#define PACE_SEMAPHORE_H_VXWORKS
-
-#include <semaphore.h>
-
-#if defined (PACE_HAS_CPLUSPLUS)
-extern "C" {
-#endif /* PACE_HAS_CPLUSPLUS */
-
-typedef sem_t pace_sem_t;
-
-#if defined (PACE_HAS_CPLUSPLUS)
-}
-#endif /* PACE_HAS_CPLUSPLUS */
-
-#endif /* PACE_SEMAPHORE_H_VXWORKS */
diff --git a/PACE/pace/vxworks/semaphore.inl b/PACE/pace/vxworks/semaphore.inl
deleted file mode 100644
index edf2e95eea4..00000000000
--- a/PACE/pace/vxworks/semaphore.inl
+++ /dev/null
@@ -1,102 +0,0 @@
-/* $Id$ -*- C -*-
-
- * =============================================================================
- *
- * = LIBRARY
- * pace
- *
- * = FILENAME
- * pace/vxworks/semaphore.inl
- *
- * = AUTHOR
- * Joe Hoffert
- *
- * ============================================================================= */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_sem_close (pace_sem_t * sem)
-{
- PACE_TRACE("pace_sem_close");
-
- return sem_close (sem);
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_sem_destroy (pace_sem_t * sem)
-{
- PACE_TRACE("pace_sem_destroy");
-
- return sem_destroy (sem);
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_sem_getvalue (pace_sem_t * sem, int * sval)
-{
- PACE_TRACE("pace_sem_getvalue");
-
- return sem_getvalue (sem, sval);
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_sem_init (pace_sem_t * sem, int pshared, unsigned int value)
-{
- PACE_TRACE("pace_sem_init");
-
- return sem_init (sem, pshared, value);
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_sem_post (pace_sem_t * sem)
-{
- PACE_TRACE("pace_sem_post");
-
- return sem_post (sem);
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_sem_trywait (pace_sem_t * sem)
-{
- PACE_TRACE("pace_sem_trywait");
-
- return sem_trywait (sem);
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_sem_unlink (const char * name)
-{
- PACE_TRACE("pace_sem_unlink");
-
- return sem_unlink (name);
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_sem_wait (pace_sem_t * sem)
-{
- PACE_TRACE("pace_sem_wait");
-
- return sem_wait (sem);
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
diff --git a/PACE/pace/vxworks/setjmp.c b/PACE/pace/vxworks/setjmp.c
deleted file mode 100644
index e2248f0389b..00000000000
--- a/PACE/pace/vxworks/setjmp.c
+++ /dev/null
@@ -1,20 +0,0 @@
-/* $Id$
-
- * =============================================================================
- *
- * = LIBRARY
- * pace
- *
- * = FILENAME
- * pace/vxworks/setjmp.c
- *
- * = AUTHOR
- * Joe Hoffert
- *
- * ============================================================================= */
-
-#include "pace/setjmp.h"
-
-#if !defined (PACE_HAS_INLINE)
-# include "pace/vxworks/setjmp.inl"
-#endif /* ! PACE_HAS_INLINE */
diff --git a/PACE/pace/vxworks/setjmp.h b/PACE/pace/vxworks/setjmp.h
deleted file mode 100644
index 5c0f8b57751..00000000000
--- a/PACE/pace/vxworks/setjmp.h
+++ /dev/null
@@ -1,33 +0,0 @@
-/* $Id$
-
- * ============================================================================
- *
- * = LIBRARY
- * pace
- *
- * = FILENAME
- * pace/vxworks/setjmp.h
- *
- * = AUTHOR
- * Joe Hoffert
- *
- * ============================================================================ */
-
-#ifndef PACE_SETJMP_H_VXWORKS
-#define PACE_SETJMP_H_VXWORKS
-
-#include <types/vxTypesOld.h>
-#include <setjmp.h>
-
-#if defined (PACE_HAS_CPLUSPLUS)
-extern "C" {
-#endif /* PACE_HAS_CPLUSPLUS */
-
- typedef jmp_buf pace_jmp_buf;
- typedef sigjmp_buf pace_sigjmp_buf;
-
-#if defined (PACE_HAS_CPLUSPLUS)
-}
-#endif /* PACE_HAS_CPLUSPLUS */
-
-#endif /* PACE_SETJMP_H_VXWORKS */
diff --git a/PACE/pace/vxworks/setjmp.inl b/PACE/pace/vxworks/setjmp.inl
deleted file mode 100644
index b302dc91f55..00000000000
--- a/PACE/pace/vxworks/setjmp.inl
+++ /dev/null
@@ -1,38 +0,0 @@
-/* $Id$ -*- C -*-
-
- * =============================================================================
- *
- * = LIBRARY
- * pace
- *
- * = FILENAME
- * pace/vxworks/setjmp.inl
- *
- * = AUTHOR
- * Joe Hoffert
- *
- * ============================================================================= */
-
-#if (PACE_HAS_POSIX_CLS_UOF)
-PACE_INLINE
-void
-pace_longjmp (pace_jmp_buf env, int val)
-{
- PACE_TRACE("pace_longjmp");
-
- longjmp (env, val);
- return;
-}
-#endif /* PACE_HAS_POSIX_CLS_UOF */
-
-#if (PACE_HAS_POSIX_SIG_UOF)
-PACE_INLINE
-void
-pace_siglongjmp (pace_sigjmp_buf env, int val)
-{
- PACE_TRACE("pace_siglongjmp");
-
- siglongjmp (env, val);
- return;
-}
-#endif /* PACE_HAS_POSIX_SIG_UOF */
diff --git a/PACE/pace/vxworks/signal.c b/PACE/pace/vxworks/signal.c
deleted file mode 100644
index b7b840f3539..00000000000
--- a/PACE/pace/vxworks/signal.c
+++ /dev/null
@@ -1,28 +0,0 @@
-/* $Id$
-
- * =============================================================================
- *
- * = LIBRARY
- * pace
- *
- * = FILENAME
- * pace/vxworks/signal.c
- *
- * = AUTHOR
- * Joe Hoffert
- *
- * ============================================================================= */
-
-#include "pace/signal.h"
-
-#if (PACE_HAS_CPLUSPLUS)
-extern "C" {
-#endif
-
-#if !defined (PACE_HAS_INLINE)
-# include "pace/vxworks/signal.inl"
-#endif /* ! PACE_HAS_INLINE */
-
-#if (PACE_HAS_CPLUSPLUS)
-}
-#endif
diff --git a/PACE/pace/vxworks/signal.h b/PACE/pace/vxworks/signal.h
deleted file mode 100644
index 9b4343559a8..00000000000
--- a/PACE/pace/vxworks/signal.h
+++ /dev/null
@@ -1,71 +0,0 @@
-/* $Id$
-
- * =============================================================================
- *
- * = LIBRARY
- * pace
- *
- * = FILENAME
- * pace/vxworks/signal.h
- *
- * = AUTHOR
- * Joe Hoffert
- *
- * ============================================================================= */
-
-#ifndef PACE_SIGNAL_H_VXWORKS
-#define PACE_SIGNAL_H_VXWORKS
-
-#include <signal.h>
-#include "pace/sys/types.h"
-#include "pace/time.h"
-
-#if defined (PACE_HAS_CPLUSPLUS)
-extern "C" {
-#endif /* PACE_HAS_CPLUSPLUS */
-
-#ifndef PACE_SIG_PF
-# define PACE_SIG_PF
- typedef void (*pace_sig_pf)(int);
-#endif /* PACE_SIG_PF */
-
-#ifndef PACE_SIG_ATOMIC_T
-#define PACE_SIG_ATOMIC_T
- typedef sig_atomic_t pace_sig_atomic_t;
-#endif /* PACE_SIG_ATOMIC_T */
-
-#ifndef PACE_SIGSET_T
-#define PACE_SIGSET_T
- typedef sigset_t pace_sigset_t;
-#endif /* PACE_SIGSET_T */
-
-#ifndef PACE_SIGACTION_S
-#define PACE_SIGACTION_S
- typedef struct sigaction pace_sigaction_s;
-#endif /* PACE_SIGACTION_S */
-
-#ifndef PACE_SIGINFO_T
-#define PACE_SIGINFO_T
- typedef siginfo_t pace_siginfo_t;
-#endif /* PACE_SIGINFO_T */
-
-#ifndef PACE_SIGEVENT
-#define PACE_SIGEVENT
- typedef struct sigevent pace_sigevent;
-#endif /* PACE_SIGEVENT */
-
-#ifndef PACE_SIGVAL
-#define PACE_SIGVAL
- typedef union sigval pace_sigval;
-#endif /* PACE_SIGVAL */
-
-#ifndef PACE_TIMESPEC
-#define PACE_TIMESPEC
- typedef struct timespec pace_timespec;
-#endif /* PACE_TIMESPEC */
-
-#if defined (PACE_HAS_CPLUSPLUS)
-}
-#endif /* PACE_HAS_CPLUSPLUS */
-
-#endif /* PACE_SIGNAL_H_VXWORKS */
diff --git a/PACE/pace/vxworks/signal.inl b/PACE/pace/vxworks/signal.inl
deleted file mode 100644
index b5c94f61d4b..00000000000
--- a/PACE/pace/vxworks/signal.inl
+++ /dev/null
@@ -1,207 +0,0 @@
-/* $Id$ -*- C -*-
-
- * =============================================================================
- *
- * = LIBRARY
- * pace
- *
- * = FILENAME
- * pace/vxworks/signal.inl
- *
- * = AUTHOR
- * Joe Hoffert
- *
- * ============================================================================= */
-
-#if (PACE_HAS_POSIX_SIG_UOF)
-PACE_INLINE
-int
-pace_kill (pace_pid_t pid, int sig)
-{
- PACE_TRACE("pace_kill");
-
- return kill (pid, sig);
-}
-#endif /* PACE_HAS_POSIX_SIG_UOF */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_raise (int sig)
-{
- PACE_TRACE("pace_raise");
-
- return raise (sig);
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_SIG_UOF)
-PACE_INLINE
-int
-pace_sigaction (int sig, const pace_sigaction_s * act,
- pace_sigaction_s * oact)
-{
- PACE_TRACE("pace_sigaction");
-
- return sigaction (sig, act, oact);
-}
-#endif /* PACE_HAS_POSIX_SIG_UOF */
-
-#if (PACE_HAS_POSIX_SIG_UOF)
-PACE_INLINE
-int
-pace_sigaddset (pace_sigset_t * set, int signo)
-{
- PACE_TRACE("pace_sigaddset");
-
- return sigaddset (set, signo);
-}
-#endif /* PACE_HAS_POSIX_SIG_UOF */
-
-#if (PACE_HAS_POSIX_SIG_UOF)
-PACE_INLINE
-int
-pace_sigemptyset (pace_sigset_t * set)
-{
- PACE_TRACE("pace_sigemptyset");
-
- return sigemptyset (set);
-}
-#endif /* PACE_HAS_POSIX_SIG_UOF */
-
-#if (PACE_HAS_POSIX_SIG_UOF)
-PACE_INLINE
-int
-pace_sigdelset (pace_sigset_t * set, int signo)
-{
- PACE_TRACE("pace_sigdelset");
-
- return sigdelset (set, signo);
-}
-#endif /* PACE_HAS_POSIX_SIG_UOF */
-
-#if (PACE_HAS_POSIX_SIG_UOF)
-PACE_INLINE
-int
-pace_sigfillset (pace_sigset_t * set)
-{
- PACE_TRACE("pace_sigfillset");
-
- return sigfillset (set);
-}
-#endif /* PACE_HAS_POSIX_SIG_UOF */
-
-#if (PACE_HAS_POSIX_SIG_UOF)
-PACE_INLINE
-int
-pace_sigismember (const pace_sigset_t * set, int signo)
-{
- PACE_TRACE("pace_sigismember");
-
- return sigismember (set, signo);
-}
-#endif /* PACE_HAS_POSIX_SIG_UOF */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-pace_sig_pf
-pace_signal (int sig, pace_sig_pf func)
-{
- PACE_TRACE("pace_signal");
-
- return signal (sig, func);
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_SIG_UOF)
-PACE_INLINE
-int
-pace_sigpending (pace_sigset_t * set)
-{
- PACE_TRACE("pace_sigpending");
-
- return sigpending (set);
-}
-#endif /* PACE_HAS_POSIX_SIG_UOF */
-
-#if (PACE_HAS_POSIX_SIG_UOF)
-PACE_INLINE
-int
-pace_sigprocmask (int how, const pace_sigset_t * set,
- pace_sigset_t * oset)
-{
- PACE_TRACE("pace_sigprocmask");
-
- return sigprocmask (how, set, oset);
-}
-#endif /* PACE_HAS_POSIX_SIG_UOF */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_sigqueue (pace_pid_t pid, int signo,
- const pace_sigval value)
-{
- PACE_TRACE("pace_sigqueue");
-
- return sigqueue (pid, signo, value);
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_SIG_UOF)
-PACE_INLINE
-int
-pace_sigsuspend (const pace_sigset_t * sigmask)
-{
- PACE_TRACE("pace_sigsuspend");
-
- return sigsuspend (sigmask);
-}
-#endif /* PACE_HAS_POSIX_SIG_UOF */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_sigtimedwait (const pace_sigset_t * set, pace_siginfo_t * info,
- const pace_timespec * timeout)
-{
- PACE_TRACE("pace_sigtimedwait");
-
- return sigtimedwait (set, info, timeout);
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_sigwait (const pace_sigset_t * set, int * sig)
-{
- PACE_TRACE("pace_sigwait");
-
- /* It appears that sigwait is not supported for 5.3.1 or 5.4.
- * ACE uses sigtimedwait instead. (The code below is directly
- * from ACE_OS.
- * This is the call that should be made if VxWorks supported
- * sigwait:
- PACE_UNUSED_ARG (sig);
- return sigwait (set);
-
- * Second arg is a struct siginfo *, which we don't need (the
- * selected signal number is returned). Third arg is timeout: 0
- * means forever.
- */
- *sig = sigtimedwait (set, 0, 0);
- return *sig;
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_sigwaitinfo (const pace_sigset_t *set, pace_siginfo_t *info)
-{
- PACE_TRACE("pace_sigwaitinfo");
-
- return sigwaitinfo (set, info);
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
diff --git a/PACE/pace/vxworks/socket.c b/PACE/pace/vxworks/socket.c
deleted file mode 100644
index 84b52baa24c..00000000000
--- a/PACE/pace/vxworks/socket.c
+++ /dev/null
@@ -1,20 +0,0 @@
-/* $Id$
-
- * =============================================================================
- *
- * = LIBRARY
- * pace
- *
- * = FILENAME
- * pace/vxworks/socket.c
- *
- * = AUTHOR
- * Joe Hoffert
- *
- * ============================================================================= */
-
-#include "pace/sys/socket.h"
-
-#if !defined (PACE_HAS_INLINE)
-# include "pace/vxworks/socket.inl"
-#endif /* ! PACE_HAS_INLINE */
diff --git a/PACE/pace/vxworks/socket.h b/PACE/pace/vxworks/socket.h
deleted file mode 100644
index 4d23fe807d1..00000000000
--- a/PACE/pace/vxworks/socket.h
+++ /dev/null
@@ -1,218 +0,0 @@
-/* $Id$
-
- * ============================================================================
- *
- * = LIBRARY
- * pace
- *
- * = FILENAME
- * pace/vxworks/socket.h
- *
- * = AUTHOR
- * Joe Hoffert
- *
- * ============================================================================ */
-
-#ifndef PACE_SOCKET_H_VXWORKS
-#define PACE_SOCKET_H_VXWORKS
-
-#include <sys/types.h>
-#include <sockLib.h>
-
-#if defined (PACE_HAS_CPLUSPLUS)
-extern "C" {
-#endif /* PACE_HAS_CPLUSPLUS */
-
-#ifndef PACE_SOMAXCONN
-#define PACE_SOMAXCONN SOMAXCONN
-#endif /* PACE_SOMAXCONN */
-
-#ifndef PACE_SOCKLEN_T
-#define PACE_SOCKLEN_T
- typedef int pace_socklen_t;
-#endif /* PACE_SOCKLEN_T */
-
-#ifndef PACE_SA_FAMILY_T
-#define PACE_SA_FAMILY_T
-#endif /* PACE_SA_FAMILY_T */
-
-#ifndef PACE_MSGHDR
-#define PACE_MSGHDR
- typedef struct msghdr pace_msghdr;
-#endif /* PACE_MSGHDR */
-
-#ifndef PACE_CMSGRHDR
-#define PACE_CMSGRHDR
- typedef struct cmsghdr pace_cmsghdr;
-#endif /* PACE_CMSGRHDR */
-
-#ifndef PACE_LINGER
-#define PACE_LINGER
- typedef struct linger pace_linger;
-#endif /* PACE_LINGER */
-
-#ifndef PACE_SOCK_STREAM
-#define PACE_SOCK_STREAM SOCK_STREAM
-#endif /* PACE_SOCK_STREAM */
-
-#ifndef PACE_SOCK_DGRAM
-#define PACE_SOCK_DGRAM SOCK_DGRAM
-#endif /* PACE_SOCK_DGRAM */
-
-#ifndef PACE_SOCK_RAW
-#define PACE_SOCK_RAW SOCK_RAW
-#endif /* PACE_MSGHDR */
-
-#ifndef PACE_SOCK_SEQPACKET
-#define PACE_SOCK_SEQPACKET SOCK_SEQPACKET
-#endif /* PACE_SOCK_SEQPACKET */
-
-#ifndef PACE_PF_UNSPEC
-#define PACE_PF_UNSPEC PF_UNSPEC
-#endif /* PACE_PF_UNSPEC */
-
-#ifndef PACE_PF_LOCAL
-#define PACE_PF_LOCAL PF_LOCAL
-#endif /* PACE_PF_LOCAL */
-
-#ifndef PACE_PF_INET
-#define PACE_PF_INET PF_INET
-#endif /* PACE_PF_INET */
-
-#ifndef PACE_PF_ISO
-#define PACE_PF_ISO PF_ISO
-#endif /* PACE_PF_ISO */
-
-#ifndef PACE_PF_OSI
-#define PACE_PF_OSI PF_OSI
-#endif /* PACE_PF_OSI */
-
-#ifndef PACE_AF_UNSPEC
-#define PACE_AF_UNSPEC AF_UNSPEC
-#endif /* PACE_AF_UNSPEC */
-
-#ifndef PACE_AF_LOCAL
-#define PACE_AF_LOCAL AF_LOCAL
-#endif /* PACE_AF_LOCAL */
-
-#ifndef PACE_AF_INET
-#define PACE_AF_INET AF_INET
-#endif /* PACE_AF_INET */
-
-#ifndef PACE_AF_ISO
-#define PACE_AF_ISO AF_ISO
-#endif /* PACE_AF_ISO */
-
-#ifndef PACE_AF_OSI
-#define PACE_AF_OSI AF_OSI
-#endif /* PACE_AF_OSI */
-
-#ifndef PACE_MSG_OOB
-#define PACE_MSG_OOB MSG_OOB
-#endif /* PACE_MSG_OOB */
-
-#ifndef PACE_MSG_PEEK
-#define PACE_MSG_PEEK MSG_PEEK
-#endif /* PACE_MSG_PEEK */
-
-#ifndef PACE_MSG_DONTROUTE
-#define PACE_MSG_DONTROUTE MSG_DONTROUTE
-#endif /* PACE_MSG_DONTROUTE */
-
-#ifndef PACE_MSG_EOR
-#define PACE_MSG_EOR MSG_EOR
-#endif /* PACE_MSG_EOR */
-
-#ifndef PACE_MSG_TRUNC
-#define PACE_MSG_TRUNC MSG_TRUNC
-#endif /* PACE_MSG_TRUNC */
-
-#ifndef PACE_MSG_CTRUNC
-#define PACE_MSG_CTRUNC MSG_CTRUNC
-#endif /* PACE_MSG_CTRUNC */
-
-#ifndef PACE_MSG_WAITALL
-#define PACE_MSG_WAITALL MSG_WAITALL
-#endif /* PACE_MSG_WAITALL */
-
-#ifndef PACE_SOL_SOCKET
-#define PACE_SOL_SOCKET SOL_SOCKET
-#endif /* PACE_SOL_SOCKET */
-
-#ifndef PACE_SO_BROADCAST
-#define PACE_SO_BROADCAST SO_BROADCAST
-#endif /* PACE_SO_BROADCAST */
-
-#ifndef PACE_SO_DEBUG
-#define PACE_SO_DEBUG SO_DEBUG
-#endif /* PACE_SO_DEBUG */
-
-#ifndef PACE_SO_DONTROUTE
-#define PACE_SO_DONTROUTE SO_DONTROUTE
-#endif /* PACE_SO_DONTROUTE */
-
-#ifndef PACE_SO_ERROR
-#define PACE_SO_ERROR SO_ERROR
-#endif /* PACE_SO_ERROR */
-
-#ifndef PACE_SO_KEEPALIVE
-#define PACE_SO_KEEPALIVE SO_KEEPALIVE
-#endif /* PACE_SO_KEEPALIVE */
-
-#ifndef PACE_SO_LINGER
-#define PACE_SO_LINGER SO_LINGER
-#endif /* PACE_SO_LINGER */
-
-#ifndef PACE_SO_OOBINLINE
-#define PACE_SO_OOBINLINE SO_OOBINLINE
-#endif /* PACE_SO_OOBINLINE */
-
-#ifndef PACE_SO_RCVBUF
-#define PACE_SO_RCVBUF SO_RCVBUF
-#endif /* PACE_SO_RCVBUF */
-
-#ifndef PACE_SO_RCVLOWAT
-#define PACE_SO_RCVLOWAT SO_RCVLOWAT
-#endif /* PACE_SO_RCVLOWAT */
-
-#ifndef PACE_SO_RCVTIMEO
-#define PACE_SO_RCVTIMEO SO_RCVTIMEO
-#endif /* PACE_SO_RCVTIMEO */
-
-#ifndef PACE_SO_REUSEADDR
-#define PACE_SO_REUSEADDR SO_REUSEADDR
-#endif /* PACE_SO_REUSEADDR */
-
-#ifndef PACE_SO_SNDBUF
-#define PACE_SO_SNDBUF SO_SNDBUF
-#endif /* PACE_SO_SNDBUF */
-
-#ifndef PACE_SO_SNDLOWAT
-#define PACE_SO_SNDLOWAT SO_SNDLOWAT
-#endif /* PACE_SO_SNDLOWAT */
-
-#ifndef PACE_SO_SNDTIMEO
-#define PACE_SO_SNDTIMEO SO_SNDTIMEO
-#endif /* PACE_SO_SNDTIMEO */
-
-#ifndef PACE_SO_TYPE
-#define PACE_SO_TYPE SO_TYPE
-#endif /* PACE_SO_TYPE */
-
-#ifndef PACE_CMSG_DATA
-#define PACE_CMSG_DATA(cmsg) CMSG_DATA(cmsg)
-#endif /* PACE_CMSG_DATA */
-
-#ifndef PACE_CMSG_NXTHDR
-#define PACE_CMSG_NXTHDR(mhdr, cmsg) CMSG_NXTHDR(mhdr, cmsg)
-#endif /* PACE_CMSG_DATA */
-
-#ifndef PACE_CMSG_FIRSTHDR
-#define PACE_CMSG_NXTHDR(mhdr, cmsg) CMSG_NXTHDR(mhdr, cmsg)
-#endif /* PACE_CMSG_DATA */
-
-#if defined (PACE_HAS_CPLUSPLUS)
-}
-#endif /* PACE_HAS_CPLUSPLUS */
-
-#endif /* PACE_SOCKET_H_VXWORKS */
diff --git a/PACE/pace/vxworks/socket.inl b/PACE/pace/vxworks/socket.inl
deleted file mode 100644
index 440254fd0da..00000000000
--- a/PACE/pace/vxworks/socket.inl
+++ /dev/null
@@ -1,280 +0,0 @@
-/* $Id$ -*- C -*-
-
- * =============================================================================
- *
- * = LIBRARY
- * pace
- *
- * = FILENAME
- * pace/vxworks/socket.inl
- *
- * = AUTHOR
- * Joe Hoffert
- *
- * ============================================================================= */
-
-#include <unistd.h>
-#include <stdarg.h>
-
-#if (PACE_HAS_POSIX_SOCK_UOF)
-PACE_INLINE
-int
-pace_accept (int s,
- pace_sockaddr * socketaddress,
- pace_socklen_t * addresslen)
-{
- PACE_TRACE("pace_accept");
-
- accept (s, socketaddress, addresslen);
-}
-#endif /* PACE_HAS_POSIX_SOCK_UOF */
-
-#if (PACE_HAS_POSIX_SOCK_UOF)
-PACE_INLINE
-int
-pace_bind (int s,
- const pace_sockaddr * socketaddress,
- pace_socklen_t addresslen)
-{
- PACE_TRACE("pace_bind");
-
- bind (s, socketaddress, addresslen);
-}
-#endif /* PACE_HAS_POSIX_SOCK_UOF */
-
-#if (PACE_HAS_POSIX_SOCK_UOF)
-PACE_INLINE
-int
-pace_connect (int s,
- const pace_sockaddr * socketaddress,
- pace_socklen_t addresslen)
-{
- PACE_TRACE("pace_connect");
-
- connect (s, socketaddress, addresslen);
-}
-#endif /* PACE_HAS_POSIX_SOCK_UOF */
-
-#if (PACE_HAS_POSIX_SOCK_UOF)
-PACE_INLINE
-int
-pace_getpeername (int s,
- pace_sockaddr * socketaddress,
- pace_socklen_t * addresslen)
-{
- PACE_TRACE("pace_getpeername");
-
- getpeername (s, socketaddress, addresslen);
-}
-#endif /* PACE_HAS_POSIX_SOCK_UOF */
-
-#if (PACE_HAS_POSIX_SOCK_UOF)
-PACE_INLINE
-int
-pace_getsockname (int s,
- pace_sockaddr * socketaddress,
- pace_socklen_t * addresslen)
-{
- PACE_TRACE("pace_getsockname");
-
- getsockname (s, socketaddress, addresslen);
-}
-#endif /* PACE_HAS_POSIX_SOCK_UOF */
-
-#if (PACE_HAS_POSIX_SOCK_UOF)
-PACE_INLINE
-int
-pace_getsockopt (int s,
- int level,
- int optname,
- void * optval,
- pace_socklen_t optlen)
-{
- PACE_TRACE("pace_getsockopt");
-
- getsockopt (s, level, optname, optval, optlen);
-}
-#endif /* PACE_HAS_POSIX_SOCK_UOF */
-
-#if (PACE_HAS_POSIX_SOCK_UOF)
-PACE_INLINE
-int
-pace_setsockopt (int s,
- int level,
- int optname,
- const * optval)
-{
- PACE_TRACE("pace_setsockopt");
-
- setsockopt (s, level, optname, optval);
-}
-#endif /* PACE_HAS_POSIX_SOCK_UOF */
-
-#if (PACE_HAS_POSIX_SOCK_UOF)
-PACE_INLINE
-int
-pace_setsockopt (int s,
- int level,
- int optname,
- const * optval)
-{
- PACE_TRACE("pace_setsockopt");
-
- setsockopt (s, level, optname, optval);
-}
-#endif /* PACE_HAS_POSIX_SOCK_UOF */
-
-#if (PACE_HAS_POSIX_SOCK_UOF)
-PACE_INLINE
-int
-pace_isfdtype (int fildes, int fdtype)
-{
- PACE_TRACE("pace_isfdtype");
-
- isfdtype (fildes, fdtype);
-}
-#endif /* PACE_HAS_POSIX_SOCK_UOF */
-
-#if (PACE_HAS_POSIX_SOCK_UOF)
-PACE_INLINE
-int
-pace_listen (int s, int backlog)
-{
- PACE_TRACE("pace_listen");
-
- listen (s, backlog);
-}
-#endif /* PACE_HAS_POSIX_SOCK_UOF */
-
-#if (PACE_HAS_POSIX_SOCK_UOF)
-PACE_INLINE
-pace_ssize_t
-pace_recv (int s,
- void * buf,
- pace_size_t len,
- int flags)
-{
- PACE_TRACE("pace_recv");
-
- recv (s, buf, len, flags);
-}
-#endif /* PACE_HAS_POSIX_SOCK_UOF */
-
-#if (PACE_HAS_POSIX_SOCK_UOF)
-PACE_INLINE
-pace_ssize_t
-pace_recvfrom (int s,
- void * buf,
- pace_size_t len,
- int flags,
- pace_sockaddr * from,
- pace_socklen_t * fromlen)
-{
- PACE_TRACE("pace_recvfrom");
-
- recvfrom (s, buf, len, flags, from, fromlen);
-}
-#endif /* PACE_HAS_POSIX_SOCK_UOF */
-
-#if (PACE_HAS_POSIX_SOCK_UOF)
-PACE_INLINE
-pace_ssize_t
-pace_rcvmsg (int s,
- pace_msghdr * msg,
- int flags)
-{
- PACE_TRACE("pace_rcvmsg");
-
- rcvmsg (s, msg, flags);
-}
-#endif /* PACE_HAS_POSIX_SOCK_UOF */
-
-#if (PACE_HAS_POSIX_SOCK_UOF)
-PACE_INLINE
-pace_ssize_t
-pace_send (int s,
- const void * buf,
- pace_size_t len,
- int flags)
-{
- PACE_TRACE("pace_send");
-
- send (s, buf, len, flags);
-}
-#endif /* PACE_HAS_POSIX_SOCK_UOF */
-
-#if (PACE_HAS_POSIX_SOCK_UOF)
-PACE_INLINE
-pace_ssize_t
-pace_sendto (int s,
- const void * buf,
- pace_size_t len,
- int flags,
- const pace_sockaddr * to,
- pace_socklen_t * tolen)
-{
- PACE_TRACE("pace_sendto");
-
- sendto (s, buf, len, flags, to, tolen);
-}
-#endif /* PACE_HAS_POSIX_SOCK_UOF */
-
-#if (PACE_HAS_POSIX_SOCK_UOF)
-PACE_INLINE
-pace_ssize_t
-pace_sendmsg (int s,
- const pace_msghdr * msg,
- int flags)
-{
- PACE_TRACE("pace_sendmsg");
-
- sendmsg (s, msg, flags);
-}
-#endif /* PACE_HAS_POSIX_SOCK_UOF */
-
-#if (PACE_HAS_POSIX_SOCK_UOF)
-PACE_INLINE
-int
-pace_shutdown (int s, int how)
-{
- PACE_TRACE("pace_shutdown");
-
- shutdown (s, how);
-}
-#endif /* PACE_HAS_POSIX_SOCK_UOF */
-
-#if (PACE_HAS_POSIX_SOCK_UOF)
-PACE_INLINE
-int
-pace_socket (int protofamily, int type, int protocol)
-{
- PACE_TRACE("pace_socket");
-
- socket (protofamily, type, protocol);
-}
-#endif /* PACE_HAS_POSIX_SOCK_UOF */
-
-#if (PACE_HAS_POSIX_SOCK_UOF)
-PACE_INLINE
-int
-pace_socketpair (int protofamily,
- int type,
- int protocol,
- int sv[2])
-{
- PACE_TRACE("pace_socketpair");
-
- socketpair (protofamily, type, protocol, sy);
-}
-#endif /* PACE_HAS_POSIX_SOCK_UOF */
-
-
-
-
-
-
-
-
-
-
-
diff --git a/PACE/pace/vxworks/stat.c b/PACE/pace/vxworks/stat.c
deleted file mode 100644
index 4a1e3ba06bb..00000000000
--- a/PACE/pace/vxworks/stat.c
+++ /dev/null
@@ -1,20 +0,0 @@
-/* $Id$
-
- * =============================================================================
- *
- * = LIBRARY
- * pace
- *
- * = FILENAME
- * pace/vxworks/stat.c
- *
- * = AUTHOR
- * Joe Hoffert
- *
- * ============================================================================= */
-
-#include "pace/sys/stat.h"
-
-#if !defined (PACE_HAS_INLINE)
-# include "pace/vxworks/stat.inl"
-#endif /* ! PACE_HAS_INLINE */
diff --git a/PACE/pace/vxworks/stat.h b/PACE/pace/vxworks/stat.h
deleted file mode 100644
index ce6669cb971..00000000000
--- a/PACE/pace/vxworks/stat.h
+++ /dev/null
@@ -1,59 +0,0 @@
-/* $Id$
-
- * ============================================================================
- *
- * = LIBRARY
- * pace
- *
- * = FILENAME
- * pace/vxworks/stat.h
- *
- * = AUTHOR
- * Joe Hoffert
- *
- * ============================================================================ */
-
-#ifndef PACE_SYS_STAT_H_VXWORKS
-#define PACE_SYS_STAT_H_VXWORKS
-
-#include <types/vxTypesOld.h>
-#include <sys/stat.h>
-
-#if defined (PACE_HAS_CPLUSPLUS)
-extern "C" {
-#endif /* PACE_HAS_CPLUSPLUS */
-
-#define PACE_S_IRGRP S_IRGRP
-#define PACE_S_IROTH S_IROTH
-#define PACE_S_IRUSR S_IRUSR
-#define PACE_S_IRWXG S_IRWXG
-#define PACE_S_IRWXO S_IRWXO
-#define PACE_S_IRWXU S_IRWXU
-#define PACE_S_ISBLK S_ISBLK
-#define PACE_S_ISCHR S_ISCHR
-#define PACE_S_ISDIR S_ISDIR
-#define PACE_S_ISFIFO S_ISFIFO
-#define PACE_S_ISGID S_SIGID
-#define PACE_S_ISREG S_ISREG
-#define PACE_S_ISUID S_ISUID
-#define PACE_S_IWGRP S_IWGRP
-#define PACE_S_IWOTH S_IWOTH
-#define PACE_S_IWUSR S_IWUSR
-#define PACE_S_IXGRP S_IXGRP
-#define PACE_S_IXOTH S_IXOTH
-#define PACE_S_IXUSR S_IXUSR
-#define PACE_S_TYPEISMQ S_TYPEISMQ
-#define PACE_S_TYPEISSEM S_TYPEISSEM
-#define PACE_S_TYPEISSHM S_TYPEISSHM
-
-#ifndef PACE_STAT
-#define PACE_STAT
- /* Kludge since there is a func and a type of the same name */
- typedef struct stat pace_stat_s;
-#endif /* PACE_STAT */
-
-#if defined (PACE_HAS_CPLUSPLUS)
-}
-#endif /* PACE_HAS_CPLUSPLUS */
-
-#endif /* PACE_SYS_STAT_H_VXWORKS */
diff --git a/PACE/pace/vxworks/stat.inl b/PACE/pace/vxworks/stat.inl
deleted file mode 100644
index 56359e690a0..00000000000
--- a/PACE/pace/vxworks/stat.inl
+++ /dev/null
@@ -1,99 +0,0 @@
-/* $Id$ -*- C -*-
-
- * =============================================================================
- *
- * = LIBRARY
- * pace
- *
- * = FILENAME
- * pace/vxworks/stat.inl
- *
- * = AUTHOR
- * Joe Hoffert
- *
- * ============================================================================= */
-
-#if (PACE_HAS_POSIX_FA_UOF)
-PACE_INLINE
-int
-pace_chmod (const char * path, pace_mode_t mode)
-{
- PACE_TRACE("pace_chmod");
-
- PACE_UNUSED_ARG(path);
- PACE_UNUSED_ARG(mode);
- PACE_ERRNO_NO_SUPPORT_RETURN (-1);
-}
-#endif /* PACE_HAS_POSIX_FA_UOF */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_fchmod (PACE_HANDLE fildes, pace_mode_t mode)
-{
- PACE_TRACE("pace_fchmod");
-
- PACE_UNUSED_ARG(fildes);
- PACE_UNUSED_ARG(mode);
- PACE_ERRNO_NO_SUPPORT_RETURN (-1);
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_FS_UOF)
-PACE_INLINE
-int
-pace_fstat (PACE_HANDLE fildes, pace_stat_s * buf)
-{
- PACE_TRACE("pace_fstat");
-
- return fstat (fildes, buf);
-}
-#endif /* PACE_HAS_POSIX_FS_UOF */
-
-#if (PACE_HAS_POSIX_FS_UOF)
-PACE_INLINE
-int
-pace_mkdir (const char * path, pace_mode_t mode)
-{
- PACE_TRACE("pace_mkdir");
-
- PACE_UNUSED_ARG (mode);
- return mkdir (PACE_NONCONST_ARG_CAST (char *) path);
-}
-#endif /* PACE_HAS_POSIX_FS_UOF */
-
-#if (PACE_HAS_POSIX_F_UOF)
-PACE_INLINE
-int
-pace_mkfifo (const char * path, pace_mode_t mode)
-{
- PACE_TRACE("pace_mkfifo");
-
- PACE_UNUSED_ARG(path);
- PACE_UNUSED_ARG(mode);
- PACE_ERRNO_NO_SUPPORT_RETURN (-1);
-}
-#endif /* PACE_HAS_POSIX_F_UOF */
-
-#if (PACE_HAS_POSIX_FS_UOF)
-PACE_INLINE
-int
-pace_stat (const char * path, pace_stat_s * buf)
-{
- PACE_TRACE("pace_stat");
-
- return stat (PACE_NONCONST_ARG_CAST (char *) path, buf);
-}
-#endif /* PACE_HAS_POSIX_FS_UOF */
-
-#if (PACE_HAS_POSIX_FA_UOF)
-PACE_INLINE
-pace_mode_t
-pace_umask (pace_mode_t cmask)
-{
- PACE_TRACE("pace_umask");
-
- PACE_UNUSED_ARG(cmask);
- PACE_ERRNO_NO_SUPPORT_RETURN (-1);
-}
-#endif /* PACE_HAS_POSIX_FA_UOF */
diff --git a/PACE/pace/vxworks/stdio.c b/PACE/pace/vxworks/stdio.c
deleted file mode 100644
index ec5b053e2ff..00000000000
--- a/PACE/pace/vxworks/stdio.c
+++ /dev/null
@@ -1,20 +0,0 @@
-/* $Id$
-
- * =============================================================================
- *
- * = LIBRARY
- * pace
- *
- * = FILENAME
- * pace/vxworks/stdio.c
- *
- * = AUTHOR
- * Joe Hoffert
- *
- * ============================================================================= */
-
-#include "pace/stdio.h"
-
-#if !defined (PACE_HAS_INLINE)
-# include "pace/vxworks/stdio.inl"
-#endif /* ! PACE_HAS_INLINE */
diff --git a/PACE/pace/vxworks/stdio.h b/PACE/pace/vxworks/stdio.h
deleted file mode 100644
index 2e819b7a431..00000000000
--- a/PACE/pace/vxworks/stdio.h
+++ /dev/null
@@ -1,58 +0,0 @@
-/* $Id$ -*- C -*-
-
- * ============================================================================
- *
- * = LIBRARY
- * pace
- *
- * = FILENAME
- * pace/vxworks/stdio.h
- *
- * = AUTHOR
- * Joe Hoffert
- *
- * ============================================================================ */
-
-#ifndef PACE_STDIO_H_VXWORKS
-#define PACE_STDIO_H_VXWORKS
-
-#include <stdarg.h>
-#include <stdio.h>
-
-#if defined (PACE_HAS_CPLUSPLUS)
-extern "C" {
-#endif /* PACE_HAS_CPLUSPLUS */
-
-#define PACE_BUFSIZ BUFSIZ
-#define PACE_EOF EOF
-#define PACE_FILENAME_MAX FILENAME_MAX
-#define PACE_L_ctermid L_ctermid
-#define PACE_L_cuserid L_cuserid
-#ifndef PACE_NULL
-#define PACE_NULL NULL
-#endif /* PACE_NULL */
-#define PACE_SEEK_CUR SEEK_CUR
-#define PACE_SEEK_END SEEK_END
-#define PACE_SEEK_SET SEEK_SET
-#define PACE_TMP_MAX TMP_MAX
-#define pace_stderr stderr
-#define pace_stdout stdout
-#define pace_stdin stdin
-
-#ifndef PACE_FPOS_T
-#define PACE_FPOS_T
-typedef fpos_t pace_fpos_t;
-#endif /* PACE_FPOS_T */
-
-#ifndef PACE_SIZE_T
-#define PACE_SIZE_T
- typedef size_t pace_size_t;
-#endif /* PACE_SIZE_T */
-
-typedef FILE PACE_FILE;
-
-#if defined (PACE_HAS_CPLUSPLUS)
-}
-#endif /* PACE_HAS_CPLUSPLUS */
-
-#endif /* PACE_STDIO_H_VXWORKS */
diff --git a/PACE/pace/vxworks/stdio.inl b/PACE/pace/vxworks/stdio.inl
deleted file mode 100644
index 27ffc39bcc5..00000000000
--- a/PACE/pace/vxworks/stdio.inl
+++ /dev/null
@@ -1,565 +0,0 @@
-/* $Id$ -*- C -*-
-
- * ===========================================================================
- *
- * = LIBRARY
- * pace
- *
- * = FILENAME
- * pace/vxworks/stdio.inl
- *
- * = AUTHOR
- * Joe Hoffert
- *
- * =========================================================================== */
-
-#include <stdarg.h>
-
-#if (PACE_HAS_POSIX_DI_UOF)
-PACE_INLINE
-void
-pace_clearerr (FILE * stream)
-{
- PACE_TRACE("pace_clearerr");
-
- clearerr (stream);
- return;
-}
-#endif /* PACE_HAS_POSIX_DI_UOF */
-
-#if (PACE_HAS_POSIX_DS_UOF)
-PACE_INLINE
-char *
-pace_ctermid (char * s)
-{
- PACE_TRACE("pace_ctermid");
-
- PACE_UNUSED_ARG(s);
- PACE_ERRNO_NO_SUPPORT_RETURN ((char *) 0);
-}
-#endif /* PACE_HAS_POSIX_DS_UOF */
-
-#if (PACE_HAS_POSIX_DI_UOF)
-PACE_INLINE
-int
-pace_fclose (FILE * stream)
-{
- PACE_TRACE("pace_fclose");
-
- return fclose (stream);
-}
-#endif /* PACE_HAS_POSIX_DI_UOF */
-
-#if (PACE_HAS_POSIX_DI_UOF)
-PACE_INLINE
-FILE *
-pace_fdopen (int fildes,
- const char * type)
-{
- PACE_TRACE("pace_fdopen");
-
- return fdopen (fildes,
- type);
-}
-#endif /* PACE_HAS_POSIX_DI_UOF */
-
-#if (PACE_HAS_POSIX_DI_UOF)
-PACE_INLINE
-int
-pace_ferror (FILE * stream)
-{
- PACE_TRACE("pace_ferror");
-
- return ferror (stream);
-}
-#endif /* PACE_HAS_POSIX_DI_UOF */
-
-#if (PACE_HAS_POSIX_DI_UOF)
-PACE_INLINE
-int
-pace_feof (FILE * stream)
-{
- PACE_TRACE("pace_feof");
-
- return feof (stream);
-}
-#endif /* PACE_HAS_POSIX_DI_UOF */
-
-#if (PACE_HAS_POSIX_DI_UOF)
-PACE_INLINE
-int
-pace_fflush (FILE * stream)
-{
- PACE_TRACE("pace_fflush");
-
- return fflush (stream);
-}
-#endif /* PACE_HAS_POSIX_DI_UOF */
-
-#if (PACE_HAS_POSIX_DI_UOF)
-PACE_INLINE
-int
-pace_fileno (FILE * stream)
-{
- PACE_TRACE("pace_fileno");
-
- return fileno (stream);
-}
-#endif /* PACE_HAS_POSIX_DI_UOF */
-
-#if (PACE_HAS_POSIX_DI_UOF)
-PACE_INLINE
-int
-pace_fgetc (FILE * stream)
-{
- PACE_TRACE("pace_fgetc");
-
- return fgetc (stream);
-}
-#endif /* PACE_HAS_POSIX_DI_UOF */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_fgetpos (PACE_FILE * stream,
- pace_fpos_t * pos)
-{
- PACE_TRACE("pace_fgetpos");
-
- return fgetpos (stream, pos);
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_DI_UOF)
-PACE_INLINE
-char *
-pace_fgets (char * s,
- int n,
- FILE * stream)
-{
- PACE_TRACE("pace_fgets");
-
- return fgets (s,
- n,
- stream);
-}
-#endif /* PACE_HAS_POSIX_DI_UOF */
-
-#if (PACE_HAS_POSIX_FL_UOF)
-PACE_INLINE
-void
-pace_flockfile (FILE * file)
-{
- PACE_TRACE("pace_flockfile");
-
- PACE_UNUSED_ARG (file);
- PACE_ERRNO_NO_SUPPORT ();
- return;
-}
-#endif /* PACE_HAS_POSIX_FL_UOF */
-
-#if (PACE_HAS_POSIX_DI_UOF)
-PACE_INLINE
-FILE *
-pace_fopen (const char * filename,
- const char * mode)
-{
- PACE_TRACE("pace_fopen");
-
- return fopen (filename,
- mode);
-}
-#endif /* PACE_HAS_POSIX_DI_UOF */
-
-#if (PACE_HAS_POSIX_DI_UOF)
-PACE_INLINE
-int
-pace_fputc (int c,
- FILE * stream)
-{
- PACE_TRACE("pace_fputc");
-
- return fputc (c,
- stream);
-}
-#endif /* PACE_HAS_POSIX_DI_UOF */
-
-#if (PACE_HAS_POSIX_DI_UOF)
-PACE_INLINE
-int
-pace_fputs (const char * s,
- FILE * stream)
-{
- PACE_TRACE("pace_fputs");
-
- return fputs (s,
- stream);
-}
-#endif /* PACE_HAS_POSIX_DI_UOF */
-
-#if (PACE_HAS_POSIX_DI_UOF)
-PACE_INLINE
-size_t
-pace_fread (void * ptr,
- size_t size,
- size_t number_of_items,
- FILE * stream)
-{
- PACE_TRACE("pace_fread");
-
- return fread (ptr,
- size,
- number_of_items,
- stream);
-}
-#endif /* PACE_HAS_POSIX_DI_UOF */
-
-#if (PACE_HAS_POSIX_DI_UOF)
-PACE_INLINE
-FILE *
-pace_freopen (const char * filename,
- const char * mode,
- FILE * stream)
-{
- PACE_TRACE("pace_freopen");
-
- return freopen (filename,
- mode,
- stream);
-}
-#endif /* PACE_HAS_POSIX_DI_UOF */
-
-#if (PACE_HAS_POSIX_FM_UOF)
-PACE_INLINE
-int
-pace_fseek (FILE * stream,
- long offset,
- int whence)
-{
- PACE_TRACE("pace_fseek");
-
- return fseek (stream,
- offset,
- whence);
-}
-#endif /* PACE_HAS_POSIX_FM_UOF */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_fsetpos (PACE_FILE *stream, const pace_fpos_t *pos)
-{
- PACE_TRACE("pace_fsetpos");
-
- return fsetpos (stream, pos);
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_FM_UOF)
-PACE_INLINE
-long
-pace_ftell (FILE * stream)
-{
- PACE_TRACE("pace_ftell");
-
- return ftell (stream);
-}
-#endif /* PACE_HAS_POSIX_FM_UOF */
-
-#if (PACE_HAS_POSIX_FL_UOF)
-PACE_INLINE
-int
-pace_ftrylockfile (FILE * file)
-{
- PACE_TRACE("pace_ftrylockfile");
-
- PACE_UNUSED_ARG(file);
- PACE_ERRNO_NO_SUPPORT_RETURN (-1);
-}
-#endif /* PACE_HAS_POSIX_FL_UOF */
-
-#if (PACE_HAS_POSIX_FL_UOF)
-PACE_INLINE
-void
-pace_funlockfile (FILE * file)
-{
- PACE_TRACE("pace_funlockfile");
-
- PACE_UNUSED_ARG(file);
- PACE_ERRNO_NO_SUPPORT ();
- return;
-}
-#endif /* PACE_HAS_POSIX_FL_UOF */
-
-#if (PACE_HAS_POSIX_DI_UOF)
-PACE_INLINE
-pace_size_t
-pace_fwrite (const void * ptr,
- pace_size_t size, pace_size_t nmemb,
- PACE_FILE * stream)
-{
- PACE_TRACE("pace_fwrite");
-
- return fwrite (ptr, size, nmemb, stream);
-}
-#endif /* PACE_HAS_POSIX_DI_UOF */
-
-#if (PACE_HAS_POSIX_DI_UOF)
-PACE_INLINE
-int
-pace_getc (FILE * stream)
-{
- PACE_TRACE("pace_getc");
-
- return getc (stream);
-}
-#endif /* PACE_HAS_POSIX_DI_UOF */
-
-#if (PACE_HAS_POSIX_FL_UOF)
-PACE_INLINE
-int
-pace_getc_unlocked (FILE * stream)
-{
- PACE_TRACE("pace_getc_unlocked");
-
- PACE_UNUSED_ARG(stream);
- PACE_ERRNO_NO_SUPPORT_RETURN (-1);
-}
-#endif /* PACE_HAS_POSIX_FL_UOF */
-
-#if (PACE_HAS_POSIX_DI_UOF)
-PACE_INLINE
-int
-pace_getchar ()
-{
- PACE_TRACE("pace_getchar");
-
- return getchar ();
-}
-#endif /* PACE_HAS_POSIX_DI_UOF */
-
-#if (PACE_HAS_POSIX_FL_UOF)
-PACE_INLINE
-int
-pace_getchar_unlocked ()
-{
- PACE_TRACE("pace_getchar_unlocked");
-
- PACE_ERRNO_NO_SUPPORT_RETURN (-1);
-}
-#endif /* PACE_HAS_POSIX_FL_UOF */
-
-#if (PACE_HAS_POSIX_DI_UOF)
-PACE_INLINE
-char *
-pace_gets (char * s)
-{
- PACE_TRACE("pace_gets");
-
- return gets (s);
-}
-#endif /* PACE_HAS_POSIX_DI_UOF */
-
-#if (PACE_HAS_POSIX_DI_UOF)
-PACE_INLINE
-void
-pace_perror (const char * s)
-{
- PACE_TRACE("pace_perror");
-
- perror (s);
- return;
-}
-#endif /* PACE_HAS_POSIX_DI_UOF */
-
-#if (PACE_HAS_POSIX_DI_UOF)
-PACE_INLINE
-int
-pace_putc (int c,
- FILE * stream)
-{
- PACE_TRACE("pace_putc");
-
- return putc (c, stream);
-}
-#endif /* PACE_HAS_POSIX_DI_UOF */
-
-#if (PACE_HAS_POSIX_FL_UOF)
-PACE_INLINE
-int
-pace_putc_unlocked (int c,
- FILE * stream)
-{
- PACE_TRACE("pace_putc_unlocked");
-
- PACE_UNUSED_ARG(c);
- PACE_UNUSED_ARG(stream);
- PACE_ERRNO_NO_SUPPORT_RETURN (-1);
-}
-#endif /* PACE_HAS_POSIX_FL_UOF */
-
-#if (PACE_HAS_POSIX_DI_UOF)
-PACE_INLINE
-int
-pace_putchar (int c)
-{
- PACE_TRACE("pace_putchar");
-
- return putchar (c);
-}
-#endif /* PACE_HAS_POSIX_DI_UOF */
-
-#if (PACE_HAS_POSIX_FL_UOF)
-PACE_INLINE
-int
-pace_putchar_unlocked (int c)
-{
- PACE_TRACE("pace_putchar_unlocked");
-
- PACE_UNUSED_ARG(c);
- PACE_ERRNO_NO_SUPPORT_RETURN (-1);
-}
-#endif /* PACE_HAS_POSIX_FL_UOF */
-
-#if (PACE_HAS_POSIX_DI_UOF)
-PACE_INLINE
-int
-pace_puts (const char * s)
-{
- PACE_TRACE("pace_puts");
-
- return puts (s);
-}
-#endif /* PACE_HAS_POSIX_DI_UOF */
-
-#if (PACE_HAS_POSIX_FS_UOF)
-PACE_INLINE
-int
-pace_remove (const char * path)
-{
- PACE_TRACE("pace_remove");
-
- return remove (path);
-}
-#endif /* PACE_HAS_POSIX_FS_UOF */
-
-#if (PACE_HAS_POSIX_FS_UOF)
-PACE_INLINE
-int
-pace_rename (const char * old_name,
- const char * new_name)
-{
- PACE_TRACE("pace_rename");
-
- return rename (old_name,
- new_name);
-}
-#endif /* PACE_HAS_POSIX_FS_UOF */
-
-#if (PACE_HAS_POSIX_FM_UOF)
-PACE_INLINE
-void
-pace_rewind (FILE * stream)
-{
- PACE_TRACE("pace_rewind");
-
- rewind (stream);
- return;
-}
-#endif /* PACE_HAS_POSIX_FM_UOF */
-
-#if (PACE_HAS_POSIX_DI_UOF)
-PACE_INLINE
-void
-pace_setbuf (FILE * stream, char * buf)
-{
- PACE_TRACE("pace_setbuf");
-
- setbuf (stream, buf);
- return;
-}
-#endif /* PACE_HAS_POSIX_DI_UOF */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_setvbuf (PACE_FILE * stream,
- char * buf,
- int mode, pace_size_t size)
-{
- PACE_TRACE("pace_setvbuf");
-
- return setvbuf (stream, buf, mode, size);
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_FS_UOF)
-PACE_INLINE
-FILE *
-pace_tmpfile ()
-{
- PACE_TRACE("pace_tmpfile");
-
- return tmpfile ();
-}
-#endif /* PACE_HAS_POSIX_FS_UOF */
-
-#if (PACE_HAS_POSIX_FS_UOF)
-PACE_INLINE
-char *
-pace_tmpnam (char * s)
-{
- PACE_TRACE("pace_tmpnam");
-
- return tmpnam (s);
-}
-#endif /* PACE_HAS_POSIX_FS_UOF */
-
-#if (PACE_HAS_POSIX_DI_UOF)
-PACE_INLINE
-int
-pace_ungetc (int c, FILE * stream)
-{
- PACE_TRACE("pace_ungetc");
-
- return ungetc (c, stream);
-}
-#endif /* PACE_HAS_POSIX_DI_UOF */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_vfprintf (PACE_FILE * stream,
- const char * format,
- va_list arg)
-{
- PACE_TRACE("pace_vfprintf");
-
- return vfprintf (stream, format, arg);
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_vprintf (const char * format,
- va_list arg)
-{
- PACE_TRACE("pace_vprintf");
-
- return vprintf (format, arg);
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_vsprintf (char * s,
- const char * format,
- va_list arg)
-{
- PACE_TRACE("pace_vsprintf");
-
- return vsprintf (s, format, arg);
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
diff --git a/PACE/pace/vxworks/stdlib.c b/PACE/pace/vxworks/stdlib.c
deleted file mode 100644
index bea76354026..00000000000
--- a/PACE/pace/vxworks/stdlib.c
+++ /dev/null
@@ -1,20 +0,0 @@
-/* $Id$
-
- * =============================================================================
- *
- * = LIBRARY
- * pace
- *
- * = FILENAME
- * pace/vxworks/stdlib.c
- *
- * = AUTHOR
- * Joe Hoffert
- *
- * ============================================================================= */
-
-#include "pace/stdlib.h"
-
-#if !defined (PACE_HAS_INLINE)
-# include "pace/vxworks/stdlib.inl"
-#endif /* ! PACE_HAS_INLINE */
diff --git a/PACE/pace/vxworks/stdlib.h b/PACE/pace/vxworks/stdlib.h
deleted file mode 100644
index 75a5196af60..00000000000
--- a/PACE/pace/vxworks/stdlib.h
+++ /dev/null
@@ -1,64 +0,0 @@
-/* $Id$
-
- * ============================================================================
- *
- * = LIBRARY
- * pace
- *
- * = FILENAME
- * pace/vxworks/stdlib.h
- *
- * = AUTHOR
- * Luther Baker
- *
- * ============================================================================ */
-
-#ifndef PACE_STDLIB_H_VXWORKS
-#define PACE_STDLIB_H_VXWORKS
-
-#include <stdlib.h>
-
-#if defined (PACE_HAS_CPLUSPLUS)
-extern "C" {
-#endif /* PACE_HAS_CPLUSPLUS */
-
-#define PACE_EXIT_FAILURE EXIT_FAILURE
-#define PACE_EXIT_SUCCESS EXIT_SUCCESS
-#define PACE_MB_CUR_MAX MB_CUR_MAX
-#ifndef PACE_NULL
-# define PACE_NULL NULL
-#endif /* PACE_NULL */
-#define PACE_RAND_MAX RAND_MAX
-
-#ifndef PACE_DIV_T
-#define PACE_DIV_T
- typedef div_t pace_div_t;
-#endif /* PACE_DIV_T */
-
-#ifndef PACE_LDIV_T
-#define PACE_LDIV_T
- typedef ldiv_t pace_ldiv_t;
-#endif /* PACE_LDIV_T */
-
-#ifndef PACE_SIZE_T
-#define PACE_SIZE_T
- typedef size_t pace_size_t;
-#endif /* PACE_SIZE_T */
-
-#ifndef PACE_WCHAR_T
-#define PACE_WCHAR_T
- typedef wchar_t pace_wchar_t;
-#endif /* PACE_WCHAR_T */
-
-#if defined (PACE_HAS_CPLUSPLUS)
-# ifndef PACE_BSEARCH_PF
-# define PACE_BSEARCH_PF
- typedef int (*pace_bsearch_pf) (const void*, const void*);
-# endif /* PACE_BSEARCH_PF */
-#endif /* PACE_HAS_CPLUSPLUS */
-
-#if defined (PACE_HAS_CPLUSPLUS)
-}
-#endif /* PACE_HAS_CPLUSPLUS */
-
-#endif /* PACE_STDLIB_H_VXWORKS */
diff --git a/PACE/pace/vxworks/stdlib.inl b/PACE/pace/vxworks/stdlib.inl
deleted file mode 100644
index 56569bb52bd..00000000000
--- a/PACE/pace/vxworks/stdlib.inl
+++ /dev/null
@@ -1,381 +0,0 @@
-/* $Id$ -*- C -*-
-
- * =============================================================================
- *
- * = LIBRARY
- * pace
- *
- * = FILENAME
- * pace/vxworks/stdlib.inl
- *
- * = AUTHOR
- * Joe Hoffert
- *
- * ============================================================================= */
-
-#include <stdlib.h>
-
-#if (PACE_HAS_POSIX_SIG_UOF)
-PACE_INLINE
-void
-pace_abort (void)
-{
- PACE_TRACE("pace_abort");
-
- abort ();
-}
-#endif /* PACE_HAS_POSIX_SIG_UOF */
-
-#if (PACE_HAS_POSIX_CLS_UOF)
-PACE_INLINE
-int
-pace_abs (int val)
-{
- PACE_TRACE("pace_abs");
-
- return abs (val);
-}
-#endif /* PACE_HAS_POSIX_CLS_UOF */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_atexit (void (*func)(void))
-{
- PACE_TRACE("pace_atexit");
-
- return atexit (func);
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_CLS_UOF)
-PACE_INLINE
-double
-pace_atof (const char * str)
-{
- PACE_TRACE("pace_atof");
-
- return atof (str);
-}
-#endif /* PACE_HAS_POSIX_CLS_UOF */
-
-#if (PACE_HAS_POSIX_CLS_UOF)
-PACE_INLINE
-int
-pace_atoi (const char * str)
-{
- PACE_TRACE("pace_atoi");
-
- return atoi (str);
-}
-#endif /* PACE_HAS_POSIX_CLS_UOF */
-
-#if (PACE_HAS_POSIX_CLS_UOF)
-PACE_INLINE
-long
-pace_atol (const char * str)
-{
- PACE_TRACE("pace_atol");
-
- return atol (str);
-}
-#endif /* PACE_HAS_POSIX_CLS_UOF */
-
-#if (PACE_HAS_POSIX_CLS_UOF)
-# if defined (PACE_HAS_CPLUSPLUS)
-PACE_INLINE
-void *
-pace_bsearch (const void *key, const void *base,
- size_t nel, size_t size,
- pace_bsearch_pf compar)
-{
- PACE_TRACE("pace_bsearch");
-
- return bsearch (key, base, nel, size, compar);
-}
-# else /* ! PACE_HAS_CPLUSPLUS */
-PACE_INLINE
-void *
-pace_bsearch (const void *key, const void *base,
- size_t nel, size_t size,
- int (*compar)(const void *,const void *))
-{
- PACE_TRACE("pace_bsearch");
-
- return bsearch (key, base, nel, size, compar);
-}
-# endif /* PACE_HAS_CPLUSPLUS */
-#endif /* PACE_HAS_POSIX_CLS_UOF */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-pace_div_t
-pace_div (int numer, int denom)
-{
- PACE_TRACE("pace_div");
-
- return div (numer, denom);
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_MP_UOF)
-PACE_INLINE
-void
-pace_exit (int status)
-{
- PACE_TRACE("pace_exit");
-
- exit (status);
- return;
-}
-#endif /* PACE_HAS_POSIX_MP_UOF */
-
-#if (PACE_HAS_POSIX_MP_UOF)
-PACE_INLINE
-char *
-pace_getenv (const char * name)
-{
- PACE_TRACE("pace_getenv");
-
- return getenv (name);
-}
-#endif /* PACE_HAS_POSIX_MP_UOF */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-long int
-pace_labs (long int j)
-{
- PACE_TRACE("pace_labs");
-
- return labs (j);
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-pace_ldiv_t
-pace_ldiv (long int numer, long int denom)
-{
- PACE_TRACE("pace_ldiv");
-
- return ldiv (numer, denom);
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_mblen (const char* s, pace_size_t n)
-{
- PACE_TRACE("pace_mblen");
-
- return mblen (s, n);
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-pace_size_t
-pace_mbstowcs (pace_wchar_t* pwcs,
- const char* s,
- pace_size_t n)
-{
- PACE_TRACE("pace_mbstowcs");
-
- return mbstowcs (pwcs, s, n);
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_mbtowc (pace_wchar_t* pwc,
- const char* s,
- pace_size_t n)
-{
- PACE_TRACE("pace_mbtowc");
-
- return mbtowc (pwc, s, n);
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_CLS_UOF)
-# if (PACE_HAS_CPLUSPLUS)
-PACE_INLINE
-void
-pace_qsort (void * base, size_t nel, size_t width,
- pace_bsearch_pf compar)
-{
- PACE_TRACE("pace_qsort");
-
- qsort (base, nel, width, compar);
-}
-# else /* ! PACE_HAS_CPLUSPLUS */
-PACE_INLINE
-void
-pace_qsort (void * base, size_t nel, size_t width,
- int (*compar)(const void *,const void *))
-{
- PACE_TRACE("pace_qsort");
-
- qsort (base, nel, width, compar);
-}
-# endif /* PACE_HAS_CPLUSPLUS */
-#endif /* PACE_HAS_POSIX_CLS_UOF */
-
-#if (PACE_HAS_POSIX_CLS_UOF)
-PACE_INLINE
-int
-pace_rand ()
-{
- PACE_TRACE("pace_rand");
-
- return rand ();
-}
-#endif /* PACE_HAS_POSIX_CLS_UOF */
-
-#if (PACE_HAS_POSIX_CLS_UOF)
-PACE_INLINE
-void
-pace_srand (unsigned int seed)
-{
- PACE_TRACE("pace_srand");
-
- srand (seed);
- return;
-}
-#endif /* PACE_HAS_POSIX_CLS_UOF */
-
-#if (PACE_HAS_POSIX_CLSR_UOF)
-PACE_INLINE
-int
-pace_rand_r (unsigned int *seed)
-{
- PACE_TRACE("pace_rand_r");
-
- PACE_UNUSED_ARG (seed);
- PACE_ERRNO_NO_SUPPORT_RETURN (-1);
-}
-#endif /* PACE_HAS_POSIX_CLSR_UOF */
-
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-double
-pace_strtod (const char* nptr,
- char** endptr)
-{
- PACE_TRACE("pace_strtod");
-
- return strtod (nptr, endptr);
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_strtol (const char* nptr,
- char** endptr,
- int base)
-{
- PACE_TRACE("pace_strtol");
-
- return strtol (nptr, endptr, base);
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-unsigned long int
-pace_strtoul (const char* nptr,
- char** endptr,
- int base)
-{
- PACE_TRACE("pace_strtoul");
-
- return strtoul (nptr, endptr, base);
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_system (const char* string)
-{
- PACE_TRACE("pace_system");
-
- return system (string);
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-pace_size_t
-pace_wcstombs (char* s,
- const pace_wchar_t* pwcs,
- pace_size_t n)
-{
- PACE_TRACE("pace_wcstombs");
-
- return wcstombs (s, pwcs, n);
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_wctomb (char* s, pace_wchar_t wchar)
-{
- PACE_TRACE("pace_wctomb");
-
- return wctomb (s, wchar);
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-/* Memory Management. */
-
-#if (PACE_HAS_POSIX_CLS_UOF)
-PACE_INLINE
-void *
-pace_malloc (size_t size)
-{
- PACE_TRACE("pace_malloc");
-
- return malloc (size);
-}
-#endif /* PACE_HAS_POSIX_CLS_UOF */
-
-#if (PACE_HAS_POSIX_CLS_UOF)
-PACE_INLINE
-void *
-pace_calloc (size_t nelem, size_t elsize)
-{
- PACE_TRACE("pace_calloc");
-
- return calloc (nelem, elsize);
-}
-#endif /* PACE_HAS_POSIX_CLS_UOF */
-
-#if (PACE_HAS_POSIX_CLS_UOF)
-PACE_INLINE
-void
-pace_free (void * ptr)
-{
- PACE_TRACE("pace_free");
-
- free (ptr);
- return;
-}
-#endif /* PACE_HAS_POSIX_CLS_UOF */
-
-#if (PACE_HAS_POSIX_CLS_UOF)
-PACE_INLINE
-void *
-pace_realloc (void * ptr, size_t size)
-{
- PACE_TRACE("pace_realloc");
-
- return realloc (ptr, size);
-}
-#endif /* PACE_HAS_POSIX_CLS_UOF */
diff --git a/PACE/pace/vxworks/string.c b/PACE/pace/vxworks/string.c
deleted file mode 100644
index a6404ccfd0b..00000000000
--- a/PACE/pace/vxworks/string.c
+++ /dev/null
@@ -1,20 +0,0 @@
-/* $Id$
-
- * =============================================================================
- *
- * = LIBRARY
- * pace
- *
- * = FILENAME
- * pace/vxworks/string.c
- *
- * = AUTHOR
- * Joe Hoffert
- *
- * ============================================================================= */
-
-#include "pace/string.h"
-
-#if !defined (PACE_HAS_INLINE)
-# include "pace/vxworks/string.inl"
-#endif /* ! PACE_HAS_INLINE */
diff --git a/PACE/pace/vxworks/string.h b/PACE/pace/vxworks/string.h
deleted file mode 100644
index f2fcee61fe5..00000000000
--- a/PACE/pace/vxworks/string.h
+++ /dev/null
@@ -1,36 +0,0 @@
-/* $Id$
-
- * ============================================================================
- *
- * = LIBRARY
- * pace
- *
- * = FILENAME
- * pace/vxworks/string.h
- *
- * = AUTHOR
- * Luther Baker
- *
- * ============================================================================ */
-
-#ifndef PACE_STRING_H_VXWORKS
-#define PACE_STRING_H_VXWORKS
-
-#if defined (PACE_HAS_CPLUSPLUS)
-extern "C" {
-#endif /* PACE_HAS_CPLUSPLUS */
-
-#if !defined (PACE_NULL)
-# define PACE_NULL NULL
-#endif /* NULL */
-
-#ifndef PACE_SIZE_T
-#define PACE_SIZE_T
- typedef size_t pace_size_t;
-#endif /* PACE_SIZE_T */
-
-#if defined (PACE_HAS_CPLUSPLUS)
-}
-#endif /* PACE_HAS_CPLUSPLUS */
-
-#endif /* PACE_STRING_H_VXWORKS */
diff --git a/PACE/pace/vxworks/string.inl b/PACE/pace/vxworks/string.inl
deleted file mode 100644
index 65c2701b606..00000000000
--- a/PACE/pace/vxworks/string.inl
+++ /dev/null
@@ -1,238 +0,0 @@
-/* $Id$ -*- C -*-
-
- * =============================================================================
- *
- * = LIBRARY
- * pace
- *
- * = FILENAME
- * pace/vxworks/string.inl
- *
- * = AUTHOR
- * Joe Hoffert
- *
- * ============================================================================= */
-
-#include <string.h>
-#include "pace/string.h"
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-void *
-pace_memchr (const void *s, int c, pace_size_t n)
-{
- PACE_TRACE("pace_memchr");
-
- return (void*) memchr (s, c, n);
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_memcmp (const void *s1, const void *s2, pace_size_t n)
-{
- PACE_TRACE("pace_memcmp");
-
- return memcmp (s1, s2, n);
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-void *
-pace_memcpy (void * s1, const void * s2, pace_size_t n)
-{
- PACE_TRACE("pace_memcpy");
-
- return memcpy (s1, s2, n);
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-void *
-pace_memmove (void *s1, const void *s2, pace_size_t n)
-{
- PACE_TRACE("pace_memmove");
-
- return memmove (s1, s2, n);
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_BROKEN_INLINE
-void *
-pace_memset (void *s, int c, pace_size_t n)
-{
- PACE_TRACE("pace_memset");
-
- return memset (s, c, n);
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-
-#if (PACE_HAS_POSIX_CLS_UOF)
-PACE_INLINE
-char *
-pace_strcat (char * s1, const char * s2)
-{
- PACE_TRACE("pace_strcat");
-
- return strcat (s1, s2);
-}
-#endif /* PACE_HAS_POSIX_CLS_UOF */
-
-#if (PACE_HAS_POSIX_CLS_UOF)
-PACE_INLINE
-char *
-pace_strncat (char * s1, const char * s2, size_t n)
-{
- PACE_TRACE("pace_strncat");
-
- return strncat (s1, s2, n);
-}
-#endif /* PACE_HAS_POSIX_CLS_UOF */
-
-#if (PACE_HAS_POSIX_CLS_UOF)
-PACE_INLINE
-char *
-pace_strchr (const char * s, int c)
-{
- PACE_TRACE("pace_strchr");
-
- return (char*) strchr (s, c);
-}
-#endif /* PACE_HAS_POSIX_CLS_UOF */
-
-#if (PACE_HAS_POSIX_CLS_UOF)
-PACE_INLINE
-char *
-pace_strrchr (const char * s, int c)
-{
- PACE_TRACE("pace_strrchr");
-
- return (char*) strrchr (s, c);
-}
-#endif /* PACE_HAS_POSIX_CLS_UOF */
-
-#if (PACE_HAS_POSIX_CLS_UOF)
-PACE_BROKEN_INLINE
-int
-pace_strcmp (const char * s1, const char * s2)
-{
- PACE_TRACE("pace_strcmp");
-
- return strcmp (s1, s2);
-}
-#endif /* PACE_HAS_POSIX_CLS_UOF */
-
-#if (PACE_HAS_POSIX_CLS_UOF)
-PACE_BROKEN_INLINE
-int
-pace_strncmp (const char * s1, const char * s2, size_t n)
-{
- PACE_TRACE("pace_strncmp");
-
- return strncmp (s1, s2, n);
-}
-#endif /* PACE_HAS_POSIX_CLS_UOF */
-
-#if (PACE_HAS_POSIX_CLS_UOF)
-PACE_BROKEN_INLINE
-char *
-pace_strcpy (char * s1, const char * s2)
-{
- PACE_TRACE("pace_strcpy");
-
- return strcpy (s1, s2);
-}
-#endif /* PACE_HAS_POSIX_CLS_UOF */
-
-#if (PACE_HAS_POSIX_CLS_UOF)
-PACE_INLINE
-char *
-pace_strncpy (char * s1, const char * s2, size_t n)
-{
- PACE_TRACE("pace_strncpy");
-
- return strncpy (s1, s2, n);
-}
-#endif /* PACE_HAS_POSIX_CLS_UOF */
-
-#if (PACE_HAS_POSIX_CLS_UOF)
-PACE_BROKEN_INLINE
-size_t
-pace_strcspn (const char * s1, const char * s2)
-{
- PACE_TRACE("pace_strcspn");
-
- return strcspn (s1, s2);
-}
-#endif /* PACE_HAS_POSIX_CLS_UOF */
-
-#if (PACE_HAS_POSIX_CLS_UOF)
-PACE_INLINE
-size_t
-pace_strspn (const char * s1, const char * s2)
-{
- PACE_TRACE("pace_strspn");
-
- return strspn (s1, s2);
-}
-#endif /* PACE_HAS_POSIX_CLS_UOF */
-
-#if (PACE_HAS_POSIX_CLS_UOF)
-PACE_INLINE
-size_t
-pace_strlen (const char * s)
-{
- PACE_TRACE("pace_strlen");
-
- return strlen (s);
-}
-#endif /* PACE_HAS_POSIX_CLS_UOF */
-
-#if (PACE_HAS_POSIX_CLS_UOF)
-PACE_BROKEN_INLINE
-char *
-pace_strpbrk (const char * s1, const char * s2)
-{
- PACE_TRACE("pace_strpbrk");
-
- return (char*) strpbrk (s1, s2);
-}
-#endif /* PACE_HAS_POSIX_CLS_UOF */
-
-#if (PACE_HAS_POSIX_CLS_UOF)
-PACE_INLINE
-char *
-pace_strstr (const char * s1, const char * s2)
-{
- PACE_TRACE("pace_strstr");
-
- return (char*) strstr (s1, s2);
-}
-#endif /* PACE_HAS_POSIX_CLS_UOF */
-
-#if (PACE_HAS_POSIX_CLS_UOF)
-PACE_INLINE
-char *
-pace_strtok (char * s1, const char * s2)
-{
- PACE_TRACE("pace_strtok");
-
- return strtok (s1, s2);
-}
-#endif /* PACE_HAS_POSIX_CLS_UOF */
-
-#if (PACE_HAS_POSIX_CLSR_UOF)
-PACE_INLINE
-char *
-pace_strtok_r (char * s, const char * sep, char ** lasts)
-{
- PACE_TRACE("pace_strtok_r");
-
- return strtok_r (s, sep, lasts);
-}
-#endif /* PACE_HAS_POSIX_CLSR_UOF */
diff --git a/PACE/pace/vxworks/termios.c b/PACE/pace/vxworks/termios.c
deleted file mode 100644
index 4cc7e1d7388..00000000000
--- a/PACE/pace/vxworks/termios.c
+++ /dev/null
@@ -1,20 +0,0 @@
-/* $Id$
-
- * =============================================================================
- *
- * = LIBRARY
- * pace
- *
- * = FILENAME
- * pace/vxworks/termios.c
- *
- * = AUTHOR
- * Joe Hoffert
- *
- * ============================================================================= */
-
-#include "pace/termios.h"
-
-#if !defined (PACE_HAS_INLINE)
-# include "pace/vxworks/termios.inl"
-#endif /* ! PACE_HAS_INLINE */
diff --git a/PACE/pace/vxworks/termios.h b/PACE/pace/vxworks/termios.h
deleted file mode 100644
index a21eef15fb6..00000000000
--- a/PACE/pace/vxworks/termios.h
+++ /dev/null
@@ -1,49 +0,0 @@
-/* $Id$
-
- * ============================================================================
- *
- * = LIBRARY
- * pace
- *
- * = FILENAME
- * pace/vxworks/termios.h
- *
- * = AUTHOR
- * Joe Hoffert
- *
- * ============================================================================ */
-
-#ifndef PACE_SYS_TERMIOS_H_VXWORKS
-#define PACE_SYS_TERMIOS_H_VXWORKS
-
-#include "pace/sys/types.h"
-
-#if defined (PACE_HAS_CPLUSPLUS)
-extern "C" {
-#endif /* PACE_HAS_CPLUSPLUS) */
-
-#ifndef PACE_CC_T
-#define PACE_CC_T
-typedef int pace_cc_t;
-#endif /* PACE_CC_T */
-
-#ifndef PACE_SPEED_T
-#define PACE_SPEED_T
-typedef int pace_speed_t;
-#endif /* PACE_SPEED_T */
-
-#ifndef PACE_TCFLAG_T
-#define PACE_TCFLAG_T
-typedef int pace_tcflag_t;
-#endif /* PACE_TCFLAG_T */
-
-#ifndef PACE_TERMIOS
-#define PACE_TERMIOS
-typedef int pace_termios;
-#endif /* PACE_TERMIOS */
-
-#if defined (PACE_HAS_CPLUSPLUS)
-}
-#endif /* PACE_HAS_CPLUSPLUS */
-
-#endif /* PACE_SYS_TERMIOS_H_VXWORKS */
diff --git a/PACE/pace/vxworks/termios.inl b/PACE/pace/vxworks/termios.inl
deleted file mode 100644
index 30c778371f3..00000000000
--- a/PACE/pace/vxworks/termios.inl
+++ /dev/null
@@ -1,145 +0,0 @@
-/* $Id$ -*- C -*-
-
- * =============================================================================
- *
- * = LIBRARY
- * pace
- *
- * = FILENAME
- * pace/vxworks/termios.inl
- *
- * = AUTHOR
- * Joe Hoffert
- *
- * ============================================================================= */
-
-
-#if (PACE_HAS_POSIX_DS_UOF)
-PACE_INLINE
-pace_speed_t
-pace_cfgetospeed (const pace_termios *termiosp)
-{
- PACE_TRACE("pace_cfgetospeed");
-
- PACE_UNUSED_ARG(termiosp);
- PACE_ERRNO_NO_SUPPORT_RETURN (-1);
-}
-#endif /* PACE_HAS_POSIX_DS_UOF */
-
-#if (PACE_HAS_POSIX_DS_UOF)
-PACE_INLINE
-int
-pace_cfsetospeed (pace_termios *termios_p, pace_speed_t speed)
-{
- PACE_TRACE("pace_cfsetospeed");
-
- PACE_UNUSED_ARG(termios_p);
- PACE_UNUSED_ARG(speed);
- PACE_ERRNO_NO_SUPPORT_RETURN (-1);
-}
-#endif /* PACE_HAS_POSIX_DS_UOF */
-
-#if (PACE_HAS_POSIX_DS_UOF)
-PACE_INLINE
-pace_speed_t
-pace_cfgetispeed (const pace_termios *termios_p)
-{
- PACE_TRACE("pace_cfgetispeed");
-
- PACE_UNUSED_ARG(termios_p);
- PACE_ERRNO_NO_SUPPORT_RETURN (-1);
-}
-#endif /* PACE_HAS_POSIX_DS_UOF */
-
-#if (PACE_HAS_POSIX_DS_UOF)
-PACE_INLINE
-int
-pace_cfsetispeed (pace_termios *termios_p, pace_speed_t speed)
-{
- PACE_TRACE("pace_cfsetispeed");
-
- PACE_UNUSED_ARG(termios_p);
- PACE_UNUSED_ARG(speed);
- PACE_ERRNO_NO_SUPPORT_RETURN (-1);
-}
-#endif /* PACE_HAS_POSIX_DS_UOF */
-
-#if (PACE_HAS_POSIX_DS_UOF)
-PACE_INLINE
-int
-pace_tcdrain (PACE_HANDLE fildes)
-{
- PACE_TRACE("pace_tcdrain");
-
- PACE_UNUSED_ARG(fildes);
- PACE_ERRNO_NO_SUPPORT_RETURN (-1);
-}
-#endif /* PACE_HAS_POSIX_DS_UOF */
-
-#if (PACE_HAS_POSIX_DS_UOF)
-PACE_INLINE
-int
-pace_tcgetattr (PACE_HANDLE fildes, pace_termios *termios_p)
-{
- PACE_TRACE("pace_tcgetattr");
-
- PACE_UNUSED_ARG(fildes);
- PACE_UNUSED_ARG(termios_p);
- PACE_ERRNO_NO_SUPPORT_RETURN (-1);
-}
-#endif /* PACE_HAS_POSIX_DS_UOF */
-
-#if (PACE_HAS_POSIX_DS_UOF)
-PACE_INLINE
-int
-pace_tcflow (PACE_HANDLE fildes, int action)
-{
- PACE_TRACE("pace_tcflow");
-
- PACE_UNUSED_ARG(fildes);
- PACE_UNUSED_ARG(action);
- PACE_ERRNO_NO_SUPPORT_RETURN (-1);
-}
-#endif /* PACE_HAS_POSIX_DS_UOF */
-
-#if (PACE_HAS_POSIX_DS_UOF)
-PACE_INLINE
-int
-pace_tcflush (PACE_HANDLE fildes, int queue_selector)
-{
- PACE_TRACE("pace_tcflush");
-
- PACE_UNUSED_ARG(fildes);
- PACE_UNUSED_ARG(queue_selector);
- PACE_ERRNO_NO_SUPPORT_RETURN (-1);
-}
-#endif /* PACE_HAS_POSIX_DS_UOF */
-
-#if (PACE_HAS_POSIX_DS_UOF)
-PACE_INLINE
-int
-pace_tcsendbreak (PACE_HANDLE fildes, int duration)
-{
- PACE_TRACE("pace_tcsendbreak");
-
- PACE_UNUSED_ARG(fildes);
- PACE_UNUSED_ARG(duration);
- PACE_ERRNO_NO_SUPPORT_RETURN (-1);
-}
-#endif /* PACE_HAS_POSIX_DS_UOF */
-
-#if (PACE_HAS_POSIX_DS_UOF)
-PACE_INLINE
-int
-pace_tcsetattr (PACE_HANDLE fildes,
- int optional_actions,
- const pace_termios *termios_p)
-{
- PACE_TRACE("pace_tcsetattr");
-
- PACE_UNUSED_ARG(fildes);
- PACE_UNUSED_ARG(optional_actions);
- PACE_UNUSED_ARG(termios_p);
- PACE_ERRNO_NO_SUPPORT_RETURN (-1);
-}
-#endif /* PACE_HAS_POSIX_DS_UOF */
diff --git a/PACE/pace/vxworks/time.c b/PACE/pace/vxworks/time.c
deleted file mode 100644
index 2074220b3ab..00000000000
--- a/PACE/pace/vxworks/time.c
+++ /dev/null
@@ -1,20 +0,0 @@
-/* $Id$
-
- * =============================================================================
- *
- * = LIBRARY
- * pace
- *
- * = FILENAME
- * pace/vxworks/time.c
- *
- * = AUTHOR
- * Joe Hoffert
- *
- * ============================================================================= */
-
-#include "pace/time.h"
-
-#if !defined (PACE_HAS_INLINE)
-# include "pace/vxworks/time.inl"
-#endif /* ! PACE_HAS_INLINE */
diff --git a/PACE/pace/vxworks/time.h b/PACE/pace/vxworks/time.h
deleted file mode 100644
index d5f51c59d38..00000000000
--- a/PACE/pace/vxworks/time.h
+++ /dev/null
@@ -1,87 +0,0 @@
-/* $Id$
-
- * ============================================================================
- *
- * = LIBRARY
- * pace
- *
- * = FILENAME
- * pace/vxworks/time.h
- *
- * = AUTHOR
- * Luther Baker
- *
- * ============================================================================ */
-
-#ifndef PACE_TIME_H_VXWORKS
-#define PACE_TIME_H_VXWORKS
-
-#include <time.h>
-#include "pace/signal.h"
-
-#if defined (PACE_HAS_CPLUSPLUS)
-extern "C" {
-#endif /* PACE_HAS_CPLUSPLUS */
-
-#define PACE_CLK_TCK CLK_TCK
-#define PACE_CLOCKS_PER_SEC CLOCKS_PER_SEC
-#define PACE_CLOCK_REALTIME CLOCK_REALTIME
-#ifndef PACE_NULL
-#define PACE_NULL NULL
-#endif /* PACE_NULL */
-#define PACE_TIMER_ABSTIME TIMER_ABSTIME
-
-#ifndef PACE_CLOCKID_T
-#define PACE_CLOCKID_T
-# if defined PACE_EMU_CLOCKID_T
- typedef pace_emu_clockid_t pace_clockid_t;
-# else
- typedef clockid_t pace_clockid_t;
-# endif /* PACE_LINUX */
-#endif /* PACE_CLOCKID_T */
-
-#ifndef PACE_CLOCK_T
-#define PACE_CLOCK_T
- typedef clock_t pace_clock_t;
-#endif /* PACE_CLOCK_T */
-
-#ifndef PACE_SIZE_T
-#define PACE_SIZE_T
- typedef size_t pace_size_t;
-#endif /* PACE_SIZE_T */
-
-#ifndef PACE_TIMER_T
-#define PACE_TIMER_T
- typedef timer_t pace_timer_t;
-#endif /* PACE_TIMER_T */
-
-#ifndef PACE_TIME_T
-#define PACE_TIME_T
- typedef time_t pace_time_t;
-#endif /* PACE_TIME_T */
-
-#ifndef PACE_TM
-#define PACE_TM
- typedef struct tm pace_tm;
-#endif /* PACE_TM */
-
-#ifndef PACE_TIMESPEC
-#define PACE_TIMESPEC
- typedef struct timespec pace_timespec;
-#endif /* PACE_TIMESPEC */
-
-#ifndef PACE_ITIMERSPEC
-#define PACE_ITIMERSPEC
- typedef struct itimerspec pace_itimerspec;
-#endif /* PACE_ITIMERSPEC */
-
-#ifndef PACE_SIGEVENT
-#define PACE_SIGEVENT
- typedef struct sigevent pace_sigevent;
-#endif /* PACE_SIGEVENT */
-
-#if defined (PACE_HAS_CPLUSPLUS)
-}
-#endif /* PACE_HAS_CPLUSPLUS */
-
-#endif /* PACE_TIME_H_VXWORKS */
diff --git a/PACE/pace/vxworks/time.inl b/PACE/pace/vxworks/time.inl
deleted file mode 100644
index a2ed9715823..00000000000
--- a/PACE/pace/vxworks/time.inl
+++ /dev/null
@@ -1,296 +0,0 @@
-/* $Id$ -*- C -*-
-
- * =============================================================================
- *
- * = LIBRARY
- * pace
- *
- * = FILENAME
- * pace/vxworks/time.inl
- *
- * = AUTHOR
- * Joe Hoffert
- *
- * ============================================================================= */
-
-#include "pace/errno.h"
-#include "pace/signal.h"
-
-#if (PACE_HAS_POSIX_CLS_UOF)
-PACE_INLINE
-char *
-pace_asctime (const pace_tm * time)
-{
- PACE_TRACE("pace_asctime");
-
- return asctime (time);
-}
-#endif /* PACE_HAS_POSIX_CLS_UOF */
-
-#if (PACE_HAS_POSIX_CLSR_UOF)
-PACE_INLINE
-char *
-pace_asctime_r (const pace_tm * time, char * buf)
-{
- /*VxWorks 5.3 seems to have POSIX.4 Draft 9 versions of this as well */
- size_t buflen = 26;
-
- PACE_TRACE("pace_asctime_r");
-
- if (asctime_r (time, buf, & buflen) != 0)
- return (char*) 0;
- return buf;
-}
-#endif /* PACE_HAS_POSIX_CLSR_UOF */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-pace_clock_t
-pace_clock (void)
-{
- PACE_TRACE("pace_clock");
-
- return clock ();
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-double
-pace_difftime (pace_time_t time1, pace_time_t time2)
-{
- PACE_TRACE("pace_difftime");
-
- return difftime (time1, time2);
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_clock_getres (pace_clockid_t clock_id,
- pace_timespec * res)
-{
- PACE_TRACE("pace_clock_getres");
-
- return clock_getres (clock_id, res);
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_clock_gettime (pace_clockid_t clock_id,
- pace_timespec * tp)
-{
- PACE_TRACE("pace_clock_gettime");
-
- return clock_gettime (clock_id, tp);
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_clock_settime (pace_clockid_t clock_id,
- const pace_timespec * tp)
-{
- PACE_TRACE("pace_clock_settime");
-
- return clock_settime (clock_id, PACE_NONCONST_ARG_CAST (struct timespec *) tp);
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_CLS_UOF)
-PACE_INLINE
-char *
-pace_ctime (const pace_time_t * clock)
-{
- PACE_TRACE("pace_ctime");
-
- return ctime (clock);
-}
-#endif /* PACE_HAS_POSIX_CLS_UOF */
-
-#if (PACE_HAS_POSIX_CLSR_UOF)
-PACE_INLINE
-char *
-pace_ctime_r (const pace_time_t * clock, char * buf)
-{
- size_t buflen = 26;
-
- PACE_TRACE("pace_ctime_r");
-
- return ctime_r (clock, buf, & buflen);
-}
-#endif /* PACE_HAS_POSIX_CLSR_UOF */
-
-#if (PACE_HAS_POSIX_CLS_UOF)
-PACE_INLINE
-pace_tm *
-pace_gmtime (const pace_time_t * clock)
-{
- PACE_TRACE("pace_gmtime");
-
- return gmtime (clock);
-}
-#endif /* PACE_HAS_POSIX_CLS_UOF */
-
-#if (PACE_HAS_POSIX_CLSR_UOF)
-PACE_INLINE
-pace_tm *
-pace_gmtime_r (const pace_time_t * clock, pace_tm * result)
-{
- PACE_TRACE("pace_gmtime_r");
-
- /* VxWorks 5.3 apparently has POSIX.4 Draft 9 versions of these */
- if (gmtime_r (clock, result) != 0)
- return (pace_tm*)0;
- return result;
-}
-#endif /* PACE_HAS_POSIX_CLSR_UOF */
-
-#if (PACE_HAS_POSIX_CLS_UOF)
-PACE_INLINE
-pace_tm *
-pace_localtime (const pace_time_t * clock)
-{
- PACE_TRACE("pace_localtime");
-
- return localtime (clock);
-}
-#endif /* PACE_HAS_POSIX_CLS_UOF */
-
-#if (PACE_HAS_POSIX_CLSR_UOF)
-PACE_INLINE
-pace_tm *
-pace_localtime_r (const pace_time_t * clock, pace_tm * result)
-{
- PACE_TRACE("pace_localtime_r");
-
- /* VxWorks 5.3 apparently has POSIX.4 Draft 9 versions of these */
- if (localtime_r (clock, result) != 0)
- return (pace_tm*)0;
- return result;
-}
-#endif /* PACE_HAS_POSIX_CLSR_UOF */
-
-#if (PACE_HAS_POSIX_CLS_UOF)
-PACE_INLINE
-time_t
-pace_mktime (pace_tm * timeptr)
-{
- PACE_TRACE("pace_mktime");
-
- return mktime (timeptr);
-}
-#endif /* PACE_HAS_POSIX_CLS_UOF */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_nanosleep (const pace_timespec * rqtp,
- pace_timespec * rmtp)
-{
- PACE_TRACE("pace_nanosleep");
-
- return nanosleep (PACE_NONCONST_ARG_CAST (struct timespec *) rqtp, rmtp);
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_CLS_UOF)
-PACE_INLINE
-size_t
-pace_strftime (char *s, pace_size_t maxsize,
- const char *format,
- const pace_tm *timeptr)
-{
- PACE_TRACE("pace_strftime");
-
- return strftime (s, maxsize, format, timeptr);
-}
-#endif /* PACE_HAS_POSIX_CLS_UOF */
-
-#if (PACE_HAS_POSIX_CLS_UOF)
-PACE_INLINE
-time_t
-pace_time (pace_time_t * tloc)
-{
- PACE_TRACE("pace_time");
-
- return time (tloc);
-}
-#endif /* PACE_HAS_POSIX_CLS_UOF */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_timer_create (pace_clockid_t clock_id,
- pace_sigevent * evp,
- pace_timer_t *timerid)
-{
- PACE_TRACE("pace_timer_create");
-
- return timer_create (clock_id, evp, timerid);
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_timer_delete (pace_timer_t timerid)
-{
- PACE_TRACE("pace_timer_delete");
-
- return timer_delete (timerid);
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_timer_getoverrun (pace_timer_t timerid)
-{
- PACE_TRACE("pace_timer_getoverrun");
-
- return timer_getoverrun (timerid);
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_timer_gettime (pace_timer_t timerid,
- pace_itimerspec * value)
-{
- PACE_TRACE("pace_timer_gettime");
-
- return timer_gettime (timerid, value);
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_timer_settime (pace_timer_t timerid,
- int flags,
- const pace_itimerspec * value,
- pace_itimerspec * ovalue)
-{
- PACE_TRACE("pace_timer_settime");
-
- return timer_settime (timerid, flags, PACE_NONCONST_ARG_CAST (struct itimerspec *) value, ovalue);
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_CLS_UOF)
-PACE_INLINE
-void
-pace_tzset ()
-{
- PACE_TRACE("pace_tzset");
-
- PACE_ERRNO_NO_SUPPORT ();
- return;
-}
-#endif /* PACE_HAS_POSIX_CLS_UOF */
diff --git a/PACE/pace/vxworks/times.c b/PACE/pace/vxworks/times.c
deleted file mode 100644
index 51b4dc90dc7..00000000000
--- a/PACE/pace/vxworks/times.c
+++ /dev/null
@@ -1,20 +0,0 @@
-/* $Id$
-
- * =============================================================================
- *
- * = LIBRARY
- * pace
- *
- * = FILENAME
- * pace/vxworks/times.c
- *
- * = AUTHOR
- * Joe Hoffert
- *
- * ============================================================================= */
-
-#include "pace/sys/times.h"
-
-#if !defined (PACE_HAS_INLINE)
-# include "pace/vxworks/times.inl"
-#endif /* ! PACE_HAS_INLINE */
diff --git a/PACE/pace/vxworks/times.h b/PACE/pace/vxworks/times.h
deleted file mode 100644
index d2ae481355e..00000000000
--- a/PACE/pace/vxworks/times.h
+++ /dev/null
@@ -1,39 +0,0 @@
-/* $Id$
-
- * ============================================================================
- *
- * = LIBRARY
- * pace
- *
- * = FILENAME
- * pace/vxworks/times.h
- *
- * = AUTHOR
- * Joe Hoffert
- *
- * ============================================================================ */
-
-#ifndef PACE_SYS_TIMES_H_VXWORKS
-#define PACE_SYS_TIMES_H_VXWORKS
-
-#include <sys/times.h>
-
-#if defined (PACE_HAS_CPLUSPLUS)
-extern "C" {
-#endif /* PACE_HAS_CPLUSPLUS */
-
-#ifndef PACE_CLOCK_T
-#define PACE_CLOCK_T
-typedef int pace_clock_t;
-#endif /* PACE_CLOCK_T */
-
-#ifndef PACE_TMS
-#define PACE_TMS
-typedef struct tms pace_tms;
-#endif /* PACE_TMS */
-
-#if defined (PACE_HAS_CPLUSPLUS)
-}
-#endif /* PACE_HAS_CPLUSPLUS */
-
-#endif /* PACE_SYS_TIMES_H_VXWORKS */
diff --git a/PACE/pace/vxworks/times.inl b/PACE/pace/vxworks/times.inl
deleted file mode 100644
index c571dd8a2de..00000000000
--- a/PACE/pace/vxworks/times.inl
+++ /dev/null
@@ -1,26 +0,0 @@
-/* $Id$ -*- C -*-
-
- * =============================================================================
- *
- * = LIBRARY
- * pace
- *
- * = FILENAME
- * pace/vxworks/times.inl
- *
- * = AUTHOR
- * Joe Hoffert
- *
- * ============================================================================= */
-
-#if (PACE_HAS_POSIX_MP_UOF)
-PACE_INLINE
-pace_clock_t
-pace_times (pace_tms * buffer)
-{
- PACE_TRACE("pace_times");
-
- PACE_UNUSED_ARG(buffer);
- PACE_ERRNO_NO_SUPPORT_RETURN (-1);
-}
-#endif /* PACE_HAS_POSIX_MP_UOF */
diff --git a/PACE/pace/vxworks/types.h b/PACE/pace/vxworks/types.h
deleted file mode 100644
index dbcdcf7ce63..00000000000
--- a/PACE/pace/vxworks/types.h
+++ /dev/null
@@ -1,261 +0,0 @@
-/* $Id$
-
- * ============================================================================
- *
- * = LIBRARY
- * pace
- *
- * = FILENAME
- * pace/vxworks/types.h
- *
- * = AUTHOR
- * Joe Hoffert
- *
- * ============================================================================ */
-
-#include <sys/types.h>
-#include <sched.h>
-#include <semLib.h>
-
-#ifndef PACE_SYS_TYPES_H_VXWORKS
-#define PACE_SYS_TYPES_H_VXWORKS
-
-#if defined (PACE_HAS_CPLUSPLUS)
-extern "C" {
-#endif /* PACE_HAS_CPLUSPLUS */
-
-#define PTHREAD_MAX_PRIORITY 255
-#define PTHREAD_MIN_PRIORITY 0
-
-#define MAX_CLEAN_RTN 20
-#define MAX_ONCE_ENTRY 100
-
-#define JOIN_NORMAL 0
-#define JOIN_PENDING 1
-#define JOIN_TERMINATED 2
-#define JOIN_DETATCHED 3
-
-/* This needs to be pretty big for VxWorks according to ACE */
-#define PTHREAD_DEFAULT_STACK_SIZE 64000
-
-/* detach */
-#define PTHREAD_CREATE_DETACHED 0x40 /* = THR_DETACHED */
-#define PTHREAD_CREATE_JOINABLE 0
-/* scope */
-#define PTHREAD_SCOPE_SYSTEM 0x01 /* = THR_BOUND */
-#define PTHREAD_SCOPE_PROCESS 0
-
-/* inherit */
-#define PTHREAD_INHERIT_SCHED 1
-#define PTHREAD_EXPLICIT_SCHED 0
-
-/*
- * Value of process-shared attribute
- */
-#define PTHREAD_PROCESS_SHARED 1 /* = USYNC_PROCESS */
-#define PTHREAD_PROCESS_PRIVATE 0 /* = USYNC_THREAD */
-#define DEFAULT_TYPE PTHREAD_PROCESS_PRIVATE
-
-#define PTHREAD_MUTEX_DEFAULT 0x1
-#define PTHREAD_MUTEX_ERRORCHECK 0x2
-#define PTHREAD_MUTEX_NORMAL 0x3
-#define PTHREAD_MUTEX_RECURSIVE 0x4
-
-#define PTHREAD_PRIO_INHERIT 0x10
-#define PTHREAD_PRIO_NONE 0x20
-#define PTHREAD_PRIO_PROTECT 0x30
-
-/*
- * macros - default initializers defined as in synch.h
- * Any change here should be reflected in synch.h.
- */
-
-
-/* cancellation type and state */
-#define PTHREAD_CANCEL_ENABLE 0x00
-#define PTHREAD_CANCEL_DISABLE 0x01
-#define PTHREAD_CANCEL_DEFERRED 0x00
-#define PTHREAD_CANCEL_ASYNCHRONOUS 0x02
-#define PTHREAD_CANCELED -19
-
-#define PTHREAD_MAXNAME 100
-
-
- /* For future upgradeability to wchar */
-#ifndef PACE_TCHAR
-#define PACE_TCHAR
- typedef char pace_tchar;
-#endif /* PACE_TCHAR */
-
-#ifndef PACE_HANDLE
- typedef int PACE_HANDLE;
-#endif /* PACE_HANDLE */
-
-#ifndef PACE_INVALID_HANDLE
-#define PACE_INVALID_HANDLE -1
-#endif /* PACE_INVALID_HANDLE */
-
-#ifndef PACE_DEV_T
-#define PACE_DEV_T
- typedef dev_t pace_dev_t;
-#endif /* PACE_DEV_T */
-
-#ifndef PACE_GID_T
-#define PACE_GID_T
- typedef gid_t pace_gid_t;
-#endif /* PACE_GID_T */
-
-#ifndef PACE_INO_T
-#define PACE_INO_T
- typedef ino_t pace_ino_t;
-#endif /* PACE_INO_T */
-
-#ifndef PACE_MODE_T
-#define PACE_MODE_T
- typedef mode_t pace_mode_t;
-#endif /* PACE_MODE_T */
-
-#ifndef PACE_NLINK_T
-#define PACE_NLINK_T
- typedef nlink_t pace_nlink_t;
-#endif /* PACE_NLINK_T */
-
-#ifndef PACE_OFF_T
-#define PACE_OFF_T
- typedef off_t pace_off_t;
-#endif /* PACE_OFF_T */
-
-#ifndef PACE_PID_T
-#define PACE_PID_T
- typedef pid_t pace_pid_t;
-#endif /* PACE_PID_T */
-
-#ifndef PACE_PTHREAD_ATTR_T
-#define PACE_PTHREAD_ATTR_T
-
- typedef struct _PTHREAD_ATTR
- {
- int stacksize;
- char name[PTHREAD_MAXNAME]; /*the name */
- struct sched_param schedule; /* priority */
- int scope; /* options */
- int policy; /* schedule policy */
- int dstate; /* detached state */
- } * pace_pthread_attr_t;
-#endif /* PACE_PTHREAD_ATTR_T */
-
-#ifndef PACE_PTHREAD_CONDATTR_T
-#define PACE_PTHREAD_CONDATTR_T
- typedef int pace_pthread_condattr_t;
-#endif /* PACE_PTHREAD_CONDATTR_T */
-
-#ifndef PACE_PTHREAD_COND_T
-#define PACE_PTHREAD_COND_T
- typedef SEM_ID pace_pthread_cond_t;
-#endif /* PACE_PTHREAD_COND_T */
-
-#ifndef PACE_PTHREAD_KEY_T
-#define PACE_PTHREAD_KEY_T
- typedef int pace_pthread_key_t;
-#endif /* PACE_PTHREAD_KEY_T */
-
-#ifndef PACE_PTHREAD_MUTEXATTR_T
-#define PACE_PTHREAD_MUTEXATTR_T
-
- typedef struct _PTHREAD_MUX_ATTR
- {
- int protocol; /* priority inheritance */
- int shared; /* system or process */
- int type; /* mutex type */
- } * pace_pthread_mutexattr_t;
-#endif /* PACE_PTHREAD_MUTEXATTR_T */
-
-#ifndef PACE_PTHREAD_MUTEX_T
-#define PACE_PTHREAD_MUTEX_T
- typedef SEM_ID pace_pthread_mutex_t;
-#endif /* PACE_PTHREAD_MUTEX_T */
-
-#ifndef PACE_PTHREAD_ONCE_T
-#define PACE_PTHREAD_ONCE_T
- typedef int pace_pthread_once_t;
-# define PTHREAD_ONCE_INIT 0
-#endif /* PACE_PTHREAD_ONCE_T */
-
-#ifndef PACE_PTHREAD_T
-#define PACE_PTHREAD_T
-# define PTHREAD_KEYS_MAX 100
-# define _USER_SPARE4 spare4
- typedef struct _FUNC_HANDLE
- {
- void (*routine)(void *);
- void * args;
- } funcHandle;
-
- typedef struct _ONCE_FUNC
- {
- int once_ctl;
- void (*init_routine)(void);
- } pthread_once_e;
-
- typedef struct _PTHREAD_T
- {
- unsigned int tid;
- funcHandle cleanupRtn[MAX_CLEAN_RTN];
- int rtnCount;
- pthread_once_e onceList[MAX_ONCE_ENTRY];
- int onceCount; /* once variable count */
- int stateflag; /* cancel state */
- int canceltype; /* cancel type */
- int detachflag; /* detached state */
- int joinstate; /* join state */
- SEM_ID joinSem; /* join semaphore */
- void * joinvalue; /* pass value */
- struct _PTHREAD_T * jointhread; /* the calling thread */
- void * keyvaluelist[PTHREAD_KEYS_MAX];
- } * pace_pthread_t;
-#endif /* PACE_PTHREAD_T */
-
-#ifndef PACE_SIZE_T
-#define PACE_SIZE_T
- typedef size_t pace_size_t;
-#endif /* PACE_SIZE_T */
-
-#ifndef PACE_SSIZE_T
-#define PACE_SSIZE_T
- typedef ssize_t pace_ssize_t;
-#endif /* PACE_SSIZE_T */
-
-#ifndef PACE_UID_T
-#define PACE_UID_T
- typedef uid_t pace_uid_t;
-#endif /* PACE_UID_T */
-
-#ifndef PACE_PTHREAD_QUEUE_T
-#define PACE_PTHREAD_QUEUE_T
- struct _PTHREAD_QUEUE_ENTRY
- {
- int status;
- pace_pthread_t pthread;
- struct _PTHREAD_QUEUE_ENTRY * next;
- };
-
- typedef struct _PTHREAD_QUEUE_ENTRY pthread_q_entry;
-
-# define PTHEAD_QUEUE_MAX_LEN 100
-
- struct _PTHREAD_KEY_ENTRY
- {
- int index;
- int valid;
- void (*destructor)(void*);
- };
-
- typedef struct _PTHREAD_KEY_ENTRY pthread_key_entry;
-#endif /* PACE_PTHREAD_QUEUE_T */
-
-
-#if defined (PACE_HAS_CPLUSPLUS)
-}
-#endif /* PACE_HAS_CPLUSPLUS */
-
-#endif /* PACE_SYS_TYPES_H_VXWORKS */
diff --git a/PACE/pace/vxworks/unistd.c b/PACE/pace/vxworks/unistd.c
deleted file mode 100644
index 16234ef66fb..00000000000
--- a/PACE/pace/vxworks/unistd.c
+++ /dev/null
@@ -1,20 +0,0 @@
-/* $Id$
-
- * =============================================================================
- *
- * = LIBRARY
- * pace
- *
- * = FILENAME
- * pace/vxworks/unistd.c
- *
- * = AUTHOR
- * Joe Hoffert
- *
- * ============================================================================= */
-
-#include "pace/unistd.h"
-
-#if !defined (PACE_HAS_INLINE)
-# include "pace/vxworks/unistd.inl"
-#endif /* ! PACE_HAS_INLINE */
diff --git a/PACE/pace/vxworks/unistd.h b/PACE/pace/vxworks/unistd.h
deleted file mode 100644
index 19ca710618f..00000000000
--- a/PACE/pace/vxworks/unistd.h
+++ /dev/null
@@ -1,56 +0,0 @@
-/* $Id$
-
- * ============================================================================
- *
- * = LIBRARY
- * pace
- *
- * = FILENAME
- * pace/vxworks/unistd.h
- *
- * = AUTHOR
- * Joe Hoffert
- *
- * ============================================================================ */
-
-#ifndef PACE_UNISTD_H_VXWORKS
-#define PACE_UNISTD_H_VXWORKS
-
-#include "pace/sys/types.h"
-#include <unistd.h>
-
-#if defined (PACE_HAS_CPLUSPLUS)
-extern "C" {
-#endif /* PACE_HAS_CPLUSPLUS */
-
-#define PACE_F_OK F_OK
-#ifndef PACE_NULL
-# define PACE_NULL NULL
-#endif /* PACE_NULL */
-#define PACE_R_OK R_OK
-#define PACE_SEEK_CUR SEEK_CUR
-#define PACE_SEEK_END SEEK_END
-#define PACE_SEEK_SET SEEK_SET
-#define PACE_STDERR_FILENO STDERR_FILENO
-#define PACE_STDIN_FILENO STDIN_FILENO
-#define PACE_STDOUT_FILENO STDOUT_FILENO
-#define PACE_W_OK W_OK
-#define PACE_X_OK X_OK
-
-/* _POSIX _PC _SC Macros need to go here */
-
-#ifndef PACE_SIZE_T
-#define PACE_SIZE_T
-typedef size_t pace_size_t;
-#endif /* PACE_SIZE_T */
-
-#ifndef PACE_SSIZE_T
-#define PACE_SSIZE_T
-typedef ssize_t pace_ssize_t;
-#endif /* PACE_SSIZE_T */
-
-#if defined (PACE_HAS_CPLUSPLUS)
-}
-#endif /* PACE_HAS_CPLUSPLUS */
-
-#endif /* PACE_UNISTD_H_VXWORKS */
diff --git a/PACE/pace/vxworks/unistd.inl b/PACE/pace/vxworks/unistd.inl
deleted file mode 100644
index eb4c1ac675f..00000000000
--- a/PACE/pace/vxworks/unistd.inl
+++ /dev/null
@@ -1,601 +0,0 @@
-/* $Id$ -*- C -*-
-
- * =============================================================================
- *
- * = LIBRARY
- * pace
- *
- * = FILENAME
- * pace/vxworks/unistd.inl
- *
- * = AUTHOR
- * Joe Hoffert
- *
- * ============================================================================= */
-
-#include <unistd.h>
-#include <stdarg.h>
-#include <string.h>
-#include <stdlib.h>
-#include <time.h>
-
-#if (PACE_HAS_POSIX_MP_UOF)
-PACE_INLINE
-void
-pace__exit (int status)
-{
- PACE_TRACE("pace__exit");
-
- exit (status);
- return;
-}
-#endif /* PACE_HAS_POSIX_MP_UOF */
-
-#if (PACE_HAS_POSIX_FS_UOF)
-PACE_INLINE
-int
-pace_access (const char * path, int amode)
-{
- PACE_TRACE("pace_access");
-
- PACE_UNUSED_ARG(path);
- PACE_UNUSED_ARG(amode);
- PACE_ERRNO_NO_SUPPORT_RETURN (-1);
-}
-#endif /* PACE_HAS_POSIX_FS_UOF */
-
-#if (PACE_HAS_POSIX_SIG_UOF)
-PACE_INLINE
-unsigned int
-pace_alarm (unsigned int seconds)
-{
- PACE_TRACE("pace_alarm");
-
- PACE_UNUSED_ARG(seconds);
- PACE_ERRNO_NO_SUPPORT_RETURN (-1);
-}
-#endif /* PACE_HAS_POSIX_SIG_UOF */
-
-#if (PACE_HAS_POSIX_FS_UOF)
-PACE_INLINE
-int
-pace_chdir (const char * path)
-{
- PACE_TRACE("pace_chdir");
-
- return chdir (PACE_NONCONST_ARG_CAST (char *) path);
-}
-#endif /* PACE_HAS_POSIX_FS_UOF */
-
-#if (PACE_HAS_POSIX_FA_UOF)
-PACE_INLINE
-int
-pace_chown (const char * path, uid_t owner, pace_gid_t group)
-{
- PACE_TRACE("pace_chown");
-
- PACE_UNUSED_ARG(path);
- PACE_UNUSED_ARG(owner);
- PACE_UNUSED_ARG(group);
- PACE_ERRNO_NO_SUPPORT_RETURN (-1);
-}
-#endif /* PACE_HAS_POSIX_FA_UOF */
-
-#if (PACE_HAS_POSIX_DI_UOF)
-PACE_INLINE
-int
-pace_close (PACE_HANDLE fildes)
-{
- PACE_TRACE("pace_close");
-
- return close (fildes);
-}
-#endif /* PACE_HAS_POSIX_DI_UOF */
-
-#if (PACE_HAS_POSIX_FM_UOF)
-PACE_INLINE
-PACE_HANDLE
-pace_dup (PACE_HANDLE fildes)
-{
- PACE_TRACE("pace_dup");
-
- PACE_UNUSED_ARG(fildes);
- PACE_ERRNO_NO_SUPPORT_RETURN (-1);
-}
-#endif /* PACE_HAS_POSIX_FM_UOF */
-
-#if (PACE_HAS_POSIX_FM_UOF)
-PACE_INLINE
-PACE_HANDLE
-pace_dup2 (PACE_HANDLE fildes, PACE_HANDLE fildes2)
-{
- PACE_TRACE("pace_dup2");
-
- PACE_UNUSED_ARG(fildes);
- PACE_UNUSED_ARG(fildes2);
- PACE_ERRNO_NO_SUPPORT_RETURN (-1);
-}
-#endif /* PACE_HAS_POSIX_FM_UOF */
-
-#if (PACE_HAS_POSIX_MP_UOF)
-PACE_INLINE
-int
-pace_execv (const char * path,
- char * const argv[])
-{
- PACE_TRACE("pace_execv");
-
- PACE_UNUSED_ARG(path);
- PACE_UNUSED_ARG(argv);
- PACE_ERRNO_NO_SUPPORT_RETURN (-1);
- /* if successful, this operation does NOT return */
-}
-#endif /* PACE_HAS_POSIX_MP_UOF */
-
-#if (PACE_HAS_POSIX_MP_UOF)
-PACE_INLINE
-int
-pace_execve (const char * path,
- char * const argv[],
- char * const envp[])
-{
- PACE_TRACE("pace_execve");
-
- PACE_UNUSED_ARG(path);
- PACE_UNUSED_ARG(argv);
- PACE_UNUSED_ARG(envp);
- PACE_ERRNO_NO_SUPPORT_RETURN (-1);
- /* if successful, this operation does NOT return */
-}
-#endif /* PACE_HAS_POSIX_MP_UOF */
-
-#if (PACE_HAS_POSIX_MP_UOF)
-PACE_INLINE
-int
-pace_execvp (const char * file,
- char * const argv[])
-{
- PACE_TRACE("pace_execvp");
-
- PACE_UNUSED_ARG(file);
- PACE_UNUSED_ARG(argv);
- PACE_ERRNO_NO_SUPPORT_RETURN (-1);
- /* if successful, this operation does NOT return */
-}
-#endif /* PACE_HAS_POSIX_MP_UOF */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_fdatasync (PACE_HANDLE fildes)
-{
- PACE_TRACE("pace_fdatasync");
-
- PACE_UNUSED_ARG(fildes);
- PACE_ERRNO_NO_SUPPORT_RETURN (-1);
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_MP_UOF)
-PACE_INLINE
-pid_t
-pace_fork ()
-{
- PACE_TRACE("pace_fork");
-
- PACE_ERRNO_NO_SUPPORT_RETURN (-1);
-}
-#endif /* PACE_HAS_POSIX_MP_UOF */
-
-#if (PACE_HAS_POSIX_FS_UOF)
-PACE_INLINE
-long
-pace_fpathconf (PACE_HANDLE fildes, int name)
-{
- PACE_TRACE("pace_fpathconf");
-
- PACE_UNUSED_ARG(fildes);
- PACE_UNUSED_ARG(name);
- PACE_ERRNO_NO_SUPPORT_RETURN (-1);
-}
-#endif /* PACE_HAS_POSIX_FS_UOF */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_fsync (PACE_HANDLE fildes)
-{
- PACE_TRACE("pace_fsync");
-
- PACE_UNUSED_ARG(fildes);
- PACE_ERRNO_NO_SUPPORT_RETURN (-1);
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_ftruncate (PACE_HANDLE fildes, pace_off_t length)
-{
- PACE_TRACE("pace_ftruncate");
-
- return ftruncate (fildes, length);
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_FS_UOF)
-PACE_INLINE
-char *
-pace_getcwd (char * buf, size_t size)
-{
- PACE_TRACE("pace_getcwd");
-
- return getcwd (buf, size);
-}
-#endif /* PACE_HAS_POSIX_FS_UOF */
-
-#if (PACE_HAS_POSIX_UG_UOF)
-PACE_INLINE
-uid_t
-pace_getegid ()
-{
- PACE_TRACE("pace_getegid");
-
- /* getegid() is not supported: just one user anyway */
- return 0;
-}
-#endif /* PACE_HAS_POSIX_UGR_UOF */
-
-#if (PACE_HAS_POSIX_UG_UOF)
-PACE_INLINE
-uid_t
-pace_geteuid ()
-{
- PACE_TRACE("pace_geteuid");
-
- /* geteuid() is not supported: just one user anyway */
- return 0;
-}
-#endif /* PACE_HAS_POSIX_UGR_UOF */
-
-#if (PACE_HAS_POSIX_UG_UOF)
-PACE_INLINE
-int
-pace_getgroups (int gidsetsize, pace_gid_t grouplist[])
-{
- PACE_TRACE("pace_getgroups");
-
- /* getgroups() is not supported: just one user anyway */
- PACE_UNUSED_ARG(gidsetsize);
- PACE_UNUSED_ARG(grouplist);
- return 0;
-}
-#endif /* PACE_HAS_POSIX_UG_UOF */
-
-#if (PACE_HAS_POSIX_UG_UOF)
-PACE_INLINE
-uid_t
-pace_getgid ()
-{
- PACE_TRACE("pace_getgid");
-
- /* getgid() is not supported: just one user anyway */
- return 0;
-}
-#endif /* PACE_HAS_POSIX_UGR_UOF */
-
-#if (PACE_HAS_POSIX_UG_UOF)
-PACE_INLINE
-char*
-pace_getlogin ()
-{
- PACE_TRACE("pace_getlogin");
-
- PACE_ERRNO_NO_SUPPORT_RETURN ((char *) 0);
-}
-#endif /* PACE_HAS_POSIX_UGR_UOF */
-
-#if (PACE_HAS_POSIX_UGR_UOF)
-PACE_INLINE
-int
-pace_getlogin_r (char * name, size_t namesize)
-{
- PACE_TRACE("pace_getlogin_r");
-
- PACE_UNUSED_ARG(name);
- PACE_UNUSED_ARG(namesize);
- PACE_ERRNO_NO_SUPPORT_RETURN (-1);
-}
-#endif /* PACE_HAS_POSIX_UGR_UOF */
-
-#if (PACE_HAS_POSIX_UG_UOF)
-PACE_INLINE
-pid_t
-pace_getpgrp ()
-{
- PACE_TRACE("pace_getpgrp");
-
- /* getpgrp() is not supported: just one user anyway */
- return 0;
-}
-#endif /* PACE_HAS_POSIX_UG_UOF */
-
-#if (PACE_HAS_POSIX_MP_UOF)
-PACE_INLINE
-pid_t
-pace_getpid ()
-{
- PACE_TRACE("pace_getpid");
-
- /* getpid() is not supported: just one user anyway */
- return 0;
-}
-#endif /* PACE_HAS_POSIX_MP_UOF */
-
-#if (PACE_HAS_POSIX_MP_UOF)
-PACE_INLINE
-pid_t
-pace_getppid ()
-{
- PACE_TRACE("pace_getppid");
-
- /* getppid() is not supported: just one user anyway */
- return 0;
-}
-#endif /* PACE_HAS_POSIX_MP_UOF */
-
-#if (PACE_HAS_POSIX_UG_UOF)
-PACE_INLINE
-uid_t
-pace_getuid ()
-{
- PACE_TRACE("pace_getuid");
-
- /* getuid() is not supported: just one user anyways */
- return 0;
-}
-#endif /* PACE_HAS_POSIX_UG_UOF */
-
-#if (PACE_HAS_POSIX_DS_UOF)
-PACE_INLINE
-int
-pace_isatty (int fildes)
-{
- PACE_TRACE("pace_isatty");
-
- return isatty (fildes);
-}
-#endif /* PACE_HAS_POSIX_DS_UOF */
-
-#if (PACE_HAS_POSIX_FS_UOF)
-PACE_INLINE
-int
-pace_link (const char * existing, const char * new_link)
-{
- PACE_TRACE("pace_link");
-
- PACE_UNUSED_ARG(existing);
- PACE_UNUSED_ARG(new_link);
- PACE_ERRNO_NO_SUPPORT_RETURN (-1);
-}
-#endif /* PACE_HAS_POSIX_FS_UOF */
-
-#if (PACE_HAS_POSIX_FM_UOF)
-PACE_INLINE
-pace_off_t
-pace_lseek (PACE_HANDLE fildes, pace_off_t offset, int whence)
-{
- PACE_TRACE("pace_lseek");
-
- return lseek (fildes, offset, whence);
-}
-#endif /* PACE_HAS_POSIX_FM_UOF */
-
-#if (PACE_HAS_POSIX_FS_UOF)
-PACE_INLINE
-long
-pace_pathconf (const char * path, int name)
-{
- PACE_TRACE("pace_pathconf");
-
- PACE_UNUSED_ARG(path);
- PACE_UNUSED_ARG(name);
- PACE_ERRNO_NO_SUPPORT_RETURN (-1);
-}
-#endif /* PACE_HAS_POSIX_FS_UOF */
-
-#if (PACE_HAS_POSIX_SIG_UOF)
-PACE_INLINE
-int
-pace_pause ()
-{
- PACE_TRACE("pace_pause");
-
- return pause ();
-}
-#endif /* PACE_HAS_POSIX_SIG_UOF */
-
-#if (PACE_HAS_POSIX_P_UOF)
-PACE_INLINE
-int
-pace_pipe (PACE_HANDLE fildes[2])
-{
- PACE_TRACE("pace_pipe");
-
- PACE_UNUSED_ARG(fildes);
- PACE_ERRNO_NO_SUPPORT_RETURN (-1);
-}
-#endif /* PACE_HAS_POSIX_P_UOF */
-
-#if (PACE_HAS_POSIX_DI_UOF)
-PACE_INLINE
-ssize_t
-pace_read (PACE_HANDLE fildes, void * buf, size_t nbyte)
-{
- PACE_TRACE("pace_read");
-
- return read (fildes, PACE_NONCONST_ARG_CAST (char *) buf, nbyte);
-}
-#endif /* PACE_HAS_POSIX_DI_UOF */
-
-#if (PACE_HAS_POSIX_FS_UOF)
-PACE_INLINE
-int
-pace_rmdir (const char * path)
-{
- PACE_TRACE("pace_rmdir");
-
- return rmdir (PACE_NONCONST_ARG_CAST (char *) path);
-}
-#endif /* PACE_HAS_POSIX_FS_UOF */
-
-#if (PACE_HAS_POSIX_UG_UOF)
-PACE_INLINE
-int
-pace_setgid (pace_gid_t gid)
-{
- PACE_TRACE("pace_setgid");
-
- /* setuid() is not supported: just one user anyways */
- return 0;
-}
-#endif /* PACE_HAS_POSIX_UG_UOF */
-
-#if (PACE_HAS_POSIX_JC_UOF)
-PACE_INLINE
-int
-pace_setpgid (pid_t pid, pid_t pgid)
-{
- PACE_TRACE("pace_setpgid");
-
- /* setpgid() is not supported: just one user anyways */
- return 0;
-}
-#endif /* PACE_HAS_POSIX_JC_UOF */
-
-#if (PACE_HAS_POSIX_UG_UOF)
-PACE_INLINE
-pid_t
-pace_setsid ()
-{
- PACE_TRACE("pace_setsid");
-
- /* setsid() is not supported: just one user anyways */
- return 0;
-}
-#endif /* PACE_HAS_POSIX_UG_UOF */
-
-#if (PACE_HAS_POSIX_UG_UOF)
-PACE_INLINE
-int
-pace_setuid (uid_t uid)
-{
- PACE_TRACE("pace_setuid");
-
- /* setuid() is not supported: just one user anyways */
- return 0;
-}
-#endif /* PACE_HAS_POSIX_UG_UOF */
-
-#if (PACE_HAS_POSIX_MP_UOF)
-PACE_INLINE
-unsigned int
-pace_sleep (unsigned int seconds)
-{
- struct timespec rqtp;
- /* Initializer doesn't work with Green Hills 1.8.7 */
-
- PACE_TRACE("pace_sleep");
-
- rqtp.tv_sec = seconds;
- rqtp.tv_nsec = 0L;
- return nanosleep (&rqtp, 0);
-}
-#endif /* PACE_HAS_POSIX_MP_UOF */
-
-#if (PACE_HAS_POSIX_SP_UOF)
-PACE_INLINE
-long
-pace_sysconf (int name)
-{
- PACE_TRACE("pace_sysconf");
-
- PACE_UNUSED_ARG(name);
- PACE_ERRNO_NO_SUPPORT_RETURN (-1);
-}
-#endif /* PACE_HAS_POSIX_SP_UOF */
-
-#if (PACE_HAS_POSIX_JC_UOF)
-PACE_INLINE
-pid_t
-pace_tcgetpgrp (PACE_HANDLE fildes)
-{
- PACE_TRACE("pace_tcgetpgrp");
-
- PACE_UNUSED_ARG(fildes);
- PACE_ERRNO_NO_SUPPORT_RETURN (-1);
-}
-#endif /* PACE_HAS_POSIX_JC_UOF */
-
-#if (PACE_HAS_POSIX_JC_UOF)
-PACE_INLINE
-int
-pace_tcsetpgrp (PACE_HANDLE fildes, pid_t pgrp_id)
-{
- PACE_TRACE("pace_tcsetpgrp");
-
- PACE_UNUSED_ARG(fildes);
- PACE_UNUSED_ARG(pgrp_id);
- PACE_ERRNO_NO_SUPPORT_RETURN (-1);
-}
-#endif /* PACE_HAS_POSIX_JC_UOF */
-
-#if (PACE_HAS_POSIX_DS_UOF)
-PACE_INLINE
-char *
-pace_ttyname (PACE_HANDLE fildes)
-{
- PACE_TRACE("pace_ttyname");
-
- PACE_UNUSED_ARG(fildes);
- PACE_ERRNO_NO_SUPPORT_RETURN ((char *) 0);
-}
-#endif /* PACE_HAS_POSIX_DS_UOF */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_ttyname_r (PACE_HANDLE fildes,
- char * name,
- size_t namesize)
-{
- PACE_TRACE("pace_ttyname_r");
-
- PACE_UNUSED_ARG(fildes);
- PACE_UNUSED_ARG(name);
- PACE_UNUSED_ARG(namesize);
- PACE_ERRNO_NO_SUPPORT_RETURN (-1);
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_FS_UOF)
-PACE_INLINE
-int
-pace_unlink (const char * path)
-{
- PACE_TRACE("pace_unlink");
-
- return unlink (PACE_NONCONST_ARG_CAST (char *) path);
-}
-#endif /* PACE_HAS_POSIX_FS_UOF */
-
-#if (PACE_HAS_POSIX_DI_UOF)
-PACE_INLINE
-ssize_t
-pace_write (PACE_HANDLE fildes, const void * buf, size_t nbyte)
-{
- PACE_TRACE("pace_write");
-
- return write (fildes, PACE_NONCONST_ARG_CAST (char *) buf, nbyte);
-}
-#endif /* PACE_HAS_POSIX_DI_UOF */
diff --git a/PACE/pace/vxworks/utime.c b/PACE/pace/vxworks/utime.c
deleted file mode 100644
index fc770964337..00000000000
--- a/PACE/pace/vxworks/utime.c
+++ /dev/null
@@ -1,20 +0,0 @@
-/* $Id$
-
- * =============================================================================
- *
- * = LIBRARY
- * pace
- *
- * = FILENAME
- * pace/vxworks/utime.c
- *
- * = AUTHOR
- * Joe Hoffert
- *
- * ============================================================================= */
-
-#include "pace/utime.h"
-
-#if !defined (PACE_HAS_INLINE)
-# include "pace/vxworks/utime.inl"
-#endif /* ! PACE_HAS_INLINE */
diff --git a/PACE/pace/vxworks/utime.h b/PACE/pace/vxworks/utime.h
deleted file mode 100644
index 144ca29d567..00000000000
--- a/PACE/pace/vxworks/utime.h
+++ /dev/null
@@ -1,35 +0,0 @@
-/* $Id$
-
- * ============================================================================
- *
- * = LIBRARY
- * pace
- *
- * = FILENAME
- * pace/vxworks/utime.h
- *
- * = AUTHOR
- * Joe Hoffert
- *
- * ============================================================================ */
-
-#ifndef PACE_UTIME_H_VXWORKS
-#define PACE_UTIME_H_VXWORKS
-
-#include "pace/sys/types.h"
-#include <utime.h>
-
-#if defined (PACE_HAS_CPLUSPLUS)
-extern "C" {
-#endif /* PACE_HAS_CPLUSPLUS */
-
-#ifndef PACE_UTIMBUF
-#define PACE_UTIMBUF
-typedef struct utimbuf pace_utimbuf;
-#endif /* PACE_UTIMBUF */
-
-#if defined (PACE_HAS_CPLUSPLUS)
-}
-#endif /* PACE_HAS_CPLUSPLUS */
-
-#endif /* PACE_UTIME_H_VXWORKS */
diff --git a/PACE/pace/vxworks/utime.inl b/PACE/pace/vxworks/utime.inl
deleted file mode 100644
index 28c38097d68..00000000000
--- a/PACE/pace/vxworks/utime.inl
+++ /dev/null
@@ -1,27 +0,0 @@
-/* $Id$ -*- C -*-
-
- * =============================================================================
- *
- * = LIBRARY
- * pace
- *
- * = FILENAME
- * pace/vxworks/utime.inl
- *
- * = AUTHOR
- * Joe Hoffert
- *
- * ============================================================================= */
-
-#if (PACE_HAS_POSIX_FS_UOF)
-PACE_INLINE
-int
-pace_utime (const char * path,
- const pace_utimbuf * times)
-{
- PACE_TRACE("pace_utime");
-
- return utime (PACE_NONCONST_ARG_CAST (char *) path,
- PACE_NONCONST_ARG_CAST (pace_utimbuf *) times);
-}
-#endif /* PACE_HAS_POSIX_FS_UOF */
diff --git a/PACE/pace/vxworks/utsname.c b/PACE/pace/vxworks/utsname.c
deleted file mode 100644
index be5b4a33584..00000000000
--- a/PACE/pace/vxworks/utsname.c
+++ /dev/null
@@ -1,20 +0,0 @@
-/* $Id$
-
- * =============================================================================
- *
- * = LIBRARY
- * pace
- *
- * = FILENAME
- * pace/vxworks/utsname.c
- *
- * = AUTHOR
- * Joe Hoffert
- *
- * ============================================================================= */
-
-#include "pace/sys/utsname.h"
-
-#if !defined (PACE_HAS_INLINE)
-# include "pace/vxworks/utsname.inl"
-#endif /* ! PACE_HAS_INLINE */
diff --git a/PACE/pace/vxworks/utsname.h b/PACE/pace/vxworks/utsname.h
deleted file mode 100644
index 6773129303a..00000000000
--- a/PACE/pace/vxworks/utsname.h
+++ /dev/null
@@ -1,47 +0,0 @@
-/* $Id$
-
- * ============================================================================
- *
- * = LIBRARY
- * pace
- *
- * = FILENAME
- * pace/vxworks/utsname.h
- *
- * = AUTHOR
- * Joe Hoffert
- *
- * ============================================================================ */
-
-#ifndef PACE_SYS_UTSNAME_H_VXWORKS
-#define PACE_SYS_UTSNAME_H_VXWORKS
-
-#include "pace/stddef.h"
-
-#if defined (PACE_HAS_CPLUSPLUS)
-extern "C" {
-#endif /* PACE_HAS_CPLUSPLUS */
-
-#ifndef PACE_UTSNAME
-#define PACE_UTSNAME
-# if !defined (SYS_NMLN)
-# define SYS_NMLN 257
-# endif /* SYS_NMLN */
-# if !defined (_SYS_NMLN)
-# define _SYS_NMLN SYS_NMLN
-# endif /* _SYS_NMLN */
-typedef struct
-{
- pace_tchar sysname[_SYS_NMLN];
- pace_tchar nodename[_SYS_NMLN];
- pace_tchar release[_SYS_NMLN];
- pace_tchar version[_SYS_NMLN];
- pace_tchar machine[_SYS_NMLN];
-} pace_utsname;
-#endif /* PACE_UTSNAME */
-
-#if defined (PACE_HAS_CPLUSPLUS)
-}
-#endif /* PACE_HAS_CPLUSPLUS */
-
-#endif /* PACE_SYS_UTSNAME_H_VXWORKS */
diff --git a/PACE/pace/vxworks/utsname.inl b/PACE/pace/vxworks/utsname.inl
deleted file mode 100644
index 0925ebfef1f..00000000000
--- a/PACE/pace/vxworks/utsname.inl
+++ /dev/null
@@ -1,40 +0,0 @@
-/* $Id$ -*- C -*-
-
- * =============================================================================
- *
- * = LIBRARY
- * pace
- *
- * = FILENAME
- * pace/vxworks/utsname.inl
- *
- * = AUTHOR
- * Joe Hoffert
- *
- * ============================================================================= */
-
-#include "pace/string.h"
-#include <hostLib.h>
-#include <sysLib.h>
-
-#if (PACE_HAS_POSIX_SP_UOF)
-PACE_INLINE
-int
-pace_uname (pace_utsname * name)
-{
- size_t maxnamelen = sizeof name->nodename;
-
- PACE_TRACE("pace_uname");
-
- pace_strcpy (name->sysname, "VxWorks");
-#if (PACE_VXWORKS == 531)
- pace_strcpy (name->release, "5.3.1");
-#elif (PACE_VXWORKS == 540)
- pace_strcpy (name->release, "5.4.0");
-#endif /* PACE_VXWORKS != 531 */
- pace_strcpy (name->version, sysBspRev ());
- pace_strcpy (name->machine, sysModel ());
-
- return gethostname (name->nodename, maxnamelen);
-}
-#endif /* PACE_HAS_POSIX_SP_UOF */
diff --git a/PACE/pace/vxworks/wait.c b/PACE/pace/vxworks/wait.c
deleted file mode 100644
index 2be98112c5f..00000000000
--- a/PACE/pace/vxworks/wait.c
+++ /dev/null
@@ -1,20 +0,0 @@
-/* $Id$
-
- * =============================================================================
- *
- * = LIBRARY
- * pace
- *
- * = FILENAME
- * pace/vxworks/wait.c
- *
- * = AUTHOR
- * Joe Hoffert
- *
- * ============================================================================= */
-
-#include "pace/sys/wait.h"
-
-#if !defined (PACE_HAS_INLINE)
-# include "pace/vxworks/wait.inl"
-#endif /* ! PACE_HAS_INLINE */
diff --git a/PACE/pace/vxworks/wait.h b/PACE/pace/vxworks/wait.h
deleted file mode 100644
index 1e588452e1f..00000000000
--- a/PACE/pace/vxworks/wait.h
+++ /dev/null
@@ -1,38 +0,0 @@
-/* $Id$
-
- * ============================================================================
- *
- * = LIBRARY
- * pace
- *
- * = FILENAME
- * pace/vxworks/wait.h
- *
- * = AUTHOR
- * Joe Hoffert
- *
- * ============================================================================ */
-
-#ifndef PACE_WAIT_H_VXWORKS
-#define PACE_WAIT_H_VXWORKS
-
-#include "pace/sys/types.h"
-
-#if defined (PACE_HAS_CPLUSPLUS)
-extern "C" {
-#endif /* PACE_HAS_CPLUSPLUS */
-
-#define PACE_WEXITSTATUS WEXITSTATUS
-#define PACE_WIFEXITED WIFEXITED
-#define PACE_WIFSIGNALED WISIGNALED
-#define PACE_WIFSTOPPED WIFSTOPPED
-#define PACE_WNOHANG WNOHANG
-#define PACE_WSTOPSIG WSTOPSIG
-#define PACE_WTERMSIG WTERMSIG
-#define PACE_WUNTRACED WUNTRACED
-
-#if defined (PACE_HAS_CPLUSPLUS)
-}
-#endif /* PACE_HAS_CPLUSPLUS */
-
-#endif /* PACE_WAIT_H_VXWORKS */
diff --git a/PACE/pace/vxworks/wait.inl b/PACE/pace/vxworks/wait.inl
deleted file mode 100644
index 1aee5137b7f..00000000000
--- a/PACE/pace/vxworks/wait.inl
+++ /dev/null
@@ -1,42 +0,0 @@
-/* $Id$ -*- C -*-
-
- * =============================================================================
- *
- * = LIBRARY
- * pace
- *
- * = FILENAME
- * pace/vxworks/wait.inl
- *
- * = AUTHOR
- * Joe Hoffert
- *
- * ============================================================================= */
-
-#include <sys/wait.h>
-
-#if (PACE_HAS_POSIX_MP_UOF)
-PACE_INLINE
-pid_t
-pace_wait (int * statloc)
-{
- PACE_TRACE("pace_wait");
-
- PACE_UNUSED_ARG (statloc);
- PACE_ERRNO_NO_SUPPORT_RETURN (0);
-}
-#endif /* PACE_HAS_POSIX_MP_UOF */
-
-#if (PACE_HAS_POSIX_MP_UOF)
-PACE_INLINE
-pid_t
-pace_waitpid (pid_t pid, int * statloc, int options)
-{
- PACE_TRACE("pace_waitpid");
-
- PACE_UNUSED_ARG (pid);
- PACE_UNUSED_ARG (statloc);
- PACE_UNUSED_ARG (options);
- PACE_ERRNO_NO_SUPPORT_RETURN (0);
-}
-#endif /* PACE_HAS_POSIX_MP_UOF */
diff --git a/PACE/pace/win32/README b/PACE/pace/win32/README
deleted file mode 100644
index d46fa4c9dc3..00000000000
--- a/PACE/pace/win32/README
+++ /dev/null
@@ -1 +0,0 @@
-WIN32 dir
diff --git a/PACE/pace/win32/TODO b/PACE/pace/win32/TODO
deleted file mode 100644
index 659d8656d19..00000000000
--- a/PACE/pace/win32/TODO
+++ /dev/null
@@ -1,29 +0,0 @@
-----------------------------------------------------------------------
-
- * Emulation:
- - pthreads
- - dirent
-
- * ACE_wrappers/PACE/docs/PACE_POSIX_support.txt:
-
- Update this file as emulation occurs.
-
- * Build ACE with ACE_HAS_PACE
-
-----------------------------------------------------------------------
-
- * pthreads: Do we need to define this for win32?
-
- OS.cpp:2769 => PACE_PTHREAD_STACK_MIN
- OS.cpp:2798 => PACE_PTHREAD_CREATE_JOINABLE
- OS.cpp:2801 => PACE_PTHREAD_CREATE_DETACHED
-
-----------------------------------------------------------------------
-
- * get rid of the temp macros / junk in config/constants.h
-
-----------------------------------------------------------------------
-
- * add MFC support to pthread.c
-
-----------------------------------------------------------------------
diff --git a/PACE/pace/win32/aio.c b/PACE/pace/win32/aio.c
deleted file mode 100644
index 25c7427877e..00000000000
--- a/PACE/pace/win32/aio.c
+++ /dev/null
@@ -1,20 +0,0 @@
-/* $Id$
-
- * =============================================================================
- *
- * = LIBRARY
- * pace
- *
- * = FILENAME
- * pace/win32/aio.c
- *
- * = AUTHOR
- * Luther Baker
- *
- * ============================================================================= */
-
-#include "pace/aio.h"
-
-#if !defined (PACE_HAS_INLINE)
-# include "pace/win32/aio.inl"
-#endif /* ! PACE_HAS_INLINE */
diff --git a/PACE/pace/win32/aio.h b/PACE/pace/win32/aio.h
deleted file mode 100644
index 764372de642..00000000000
--- a/PACE/pace/win32/aio.h
+++ /dev/null
@@ -1,44 +0,0 @@
-/* $Id$
-
- * ============================================================================
- *
- * = LIBRARY
- * pace
- *
- * = FILENAME
- * pace/win32/aio.h
- *
- * = AUTHOR
- * Luther Baker
- *
- * ============================================================================ */
-
-#ifndef PACE_AIO_H_WIN32
-#define PACE_AIO_H_WIN32
-
-#include "pace/time.h"
-#include "pace/signal.h"
-
-#if defined (PACE_HAS_CPLUSPLUS)
-extern "C" {
-#endif /* PACE_HAS_CPLUSPLUS */
-
-#define PACE_AIO_ALLDONE AIO_ALLDONE
-#define PACE_AIO_CANCELED AIO_CANCELED
-#define PACE_AIO_NOCANCELED AIO_NOTCANCELED
-#define PACE_LIO_NOP LIO_NOP
-#define PACE_LIO_NOWAIT LIO_NOWAIT
-#define PACE_LIO_READ LIO_READ
-#define PACE_LIO_WAIT LIO_WAIT
-#define PACE_LIO_WRITE LIO_WRITE
-
-#ifndef PACE_AIOCB
-#define PACE_AIOCB
-typedef struct aiocb pace_aiocb;
-#endif /* PACE_AIOCB */
-
-#if defined (PACE_HAS_CPLUSPLUS)
-}
-#endif /* PACE_HAS_CPLUSPLUS */
-
-#endif /* PACE_AIO_H_WIN32 */
diff --git a/PACE/pace/win32/aio.inl b/PACE/pace/win32/aio.inl
deleted file mode 100644
index 1c1335857f0..00000000000
--- a/PACE/pace/win32/aio.inl
+++ /dev/null
@@ -1,106 +0,0 @@
-/* $Id$ -*- C -*-
-
- * =============================================================================
- *
- * = LIBRARY
- * pace
- *
- * = FILENAME
- * pace/win32/aio.inl
- *
- * = AUTHOR
- * Luther Baker
- *
- * ============================================================================= */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_aio_cancel (PACE_HANDLE fildes, pace_aiocb * aiocbp)
-{
- PACE_UNUSED_ARG (fildes);
- PACE_UNUSED_ARG (aiocbp);
- PACE_ERRNO_NO_SUPPORT_RETURN (-1);
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_aio_error (const pace_aiocb * aiocbp)
-{
- PACE_UNUSED_ARG (aiocbp);
- PACE_ERRNO_NO_SUPPORT_RETURN (-1);
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_aio_fsync (int op, pace_aiocb * aiocbp)
-{
- PACE_UNUSED_ARG (op);
- PACE_UNUSED_ARG (aiocbp);
- PACE_ERRNO_NO_SUPPORT_RETURN (-1);
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_aio_read (pace_aiocb * aiocbp)
-{
- PACE_UNUSED_ARG (aiocbp);
- PACE_ERRNO_NO_SUPPORT_RETURN (-1);
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_aio_return (pace_aiocb * aiocbp)
-{
- PACE_UNUSED_ARG (aiocbp);
- PACE_ERRNO_NO_SUPPORT_RETURN (-1);
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_aio_suspend (const pace_aiocb * const list[],
- int nent,
- const pace_timespec * timeout)
-{
- PACE_UNUSED_ARG (list);
- PACE_UNUSED_ARG (nent);
- PACE_UNUSED_ARG (timeout);
- PACE_ERRNO_NO_SUPPORT_RETURN (-1);
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_aio_write (pace_aiocb * aiocbp)
-{
- PACE_UNUSED_ARG (aiocbp);
- PACE_ERRNO_NO_SUPPORT_RETURN (-1);
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_lio_listio (int mode,
- pace_aiocb * const list[],
- int nent,
- pace_sigevent * sig)
-{
- PACE_UNUSED_ARG (mode);
- PACE_UNUSED_ARG (list);
- PACE_UNUSED_ARG (nent);
- PACE_UNUSED_ARG (sig);
- PACE_ERRNO_NO_SUPPORT_RETURN (-1);
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
diff --git a/PACE/pace/win32/assert.c b/PACE/pace/win32/assert.c
deleted file mode 100644
index 7620a619828..00000000000
--- a/PACE/pace/win32/assert.c
+++ /dev/null
@@ -1,20 +0,0 @@
-/* $Id$
-
- * =============================================================================
- *
- * = LIBRARY
- * pace
- *
- * = FILENAME
- * pace/win32/assert.c
- *
- * = AUTHOR
- * Joe Hoffert
- *
- * ============================================================================= */
-
-#include "pace/assert.h"
-
-#if !defined (PACE_HAS_INLINE)
-# include "pace/win32/assert.inl"
-#endif /* ! PACE_HAS_INLINE */
diff --git a/PACE/pace/win32/assert.h b/PACE/pace/win32/assert.h
deleted file mode 100644
index af0c8dac758..00000000000
--- a/PACE/pace/win32/assert.h
+++ /dev/null
@@ -1,29 +0,0 @@
-/* $Id$
-
- * ============================================================================
- *
- * = LIBRARY
- * pace
- *
- * = FILENAME
- * pace/win32/assert.h
- *
- * = AUTHOR
- * Joe Hoffert
- *
- * =========================================================================== */
-
-#ifndef PACE_ASSERT_H_WIN32
-#define PACE_ASSERT_H_WIN32
-
-#include <assert.h>
-
-#if defined (PACE_HAS_CPLUSPLUS)
-extern "C" {
-#endif /* PACE_HAS_CPLUSPLUS */
-
-# if defined (PACE_HAS_CPLUSPLUS)
-}
-# endif /* PACE_HAS_CPLUSPLUS */
-
-#endif /* PACE_ASSERT_H_WIN32 */
diff --git a/PACE/pace/win32/assert.inl b/PACE/pace/win32/assert.inl
deleted file mode 100644
index 00796cb2f26..00000000000
--- a/PACE/pace/win32/assert.inl
+++ /dev/null
@@ -1,14 +0,0 @@
-/* $Id$ -*- C -*-
-
- * =============================================================================
- *
- * = LIBRARY
- * pace
- *
- * = FILENAME
- * pace/win32/assert.inl
- *
- * = AUTHOR
- * Joe Hoffert
- *
- * ============================================================================= */
diff --git a/PACE/pace/win32/ctype.c b/PACE/pace/win32/ctype.c
deleted file mode 100644
index dd3be4098b0..00000000000
--- a/PACE/pace/win32/ctype.c
+++ /dev/null
@@ -1,20 +0,0 @@
-/* $Id$
-
- * =============================================================================
- *
- * = LIBRARY
- * pace
- *
- * = FILENAME
- * pace/win32/ctype.c
- *
- * = AUTHOR
- * Luther Baker
- *
- * ============================================================================= */
-
-#include "pace/ctype.h"
-
-#if !defined (PACE_HAS_INLINE)
-# include "pace/win32/ctype.inl"
-#endif /* ! PACE_HAS_INLINE */
diff --git a/PACE/pace/win32/ctype.h b/PACE/pace/win32/ctype.h
deleted file mode 100644
index 9025f3de909..00000000000
--- a/PACE/pace/win32/ctype.h
+++ /dev/null
@@ -1,27 +0,0 @@
-/* $Id$
-
- * ============================================================================
- *
- * = LIBRARY
- * pace
- *
- * = FILENAME
- * pace/win32/ctype.h
- *
- * = AUTHOR
- * Luther Baker
- *
- * ============================================================================ */
-
-#ifndef PACE_CTYPE_H_WIN32
-#define PACE_CTYPE_H_WIN32
-
-#if defined (PACE_HAS_CPLUSPLUS)
-extern "C" {
-#endif /* PACE_HAS_CPLUSPLUS */
-
-#if defined (PACE_HAS_CPLUSPLUS)
-}
-#endif /* PACE_HAS_CPLUSPLUS */
-
-#endif /* PACE_CTYPE_H_WIN32 */
diff --git a/PACE/pace/win32/ctype.inl b/PACE/pace/win32/ctype.inl
deleted file mode 100644
index 60f692f2c12..00000000000
--- a/PACE/pace/win32/ctype.inl
+++ /dev/null
@@ -1,133 +0,0 @@
-/* $Id$ -*- C -*-
-
- * =============================================================================
- *
- * = LIBRARY
- * pace
- *
- * = FILENAME
- * pace/win32/ctype.h
- *
- * = AUTHOR
- * Luther Baker
- *
- * ============================================================================= */
-
-#include <ctype.h>
-
-#if (PACE_HAS_POSIX_CLS_UOF)
-PACE_INLINE
-int
-pace_isalnum (int c)
-{
- return isalnum (c);
-}
-#endif /* PACE_HAS_POSIX_CLS_UOF */
-
-#if (PACE_HAS_POSIX_CLS_UOF)
-PACE_INLINE
-int
-pace_isalpha (int c)
-{
- return isalpha (c);
-}
-#endif /* PACE_HAS_POSIX_CLS_UOF */
-
-#if (PACE_HAS_POSIX_CLS_UOF)
-PACE_INLINE
-int
-pace_iscntrl (int c)
-{
- return iscntrl (c);
-}
-#endif /* PACE_HAS_POSIX_CLS_UOF */
-
-#if (PACE_HAS_POSIX_CLS_UOF)
-PACE_INLINE
-int
-pace_isdigit (int c)
-{
- return isdigit (c);
-}
-#endif /* PACE_HAS_POSIX_CLS_UOF */
-
-#if (PACE_HAS_POSIX_CLS_UOF)
-PACE_INLINE
-int
-pace_isgraph (int c)
-{
- return isgraph (c);
-}
-#endif /* PACE_HAS_POSIX_CLS_UOF */
-
-#if (PACE_HAS_POSIX_CLS_UOF)
-PACE_INLINE
-int
-pace_islower (int c)
-{
- return islower (c);
-}
-#endif /* PACE_HAS_POSIX_CLS_UOF */
-
-#if (PACE_HAS_POSIX_CLS_UOF)
-PACE_INLINE
-int
-pace_isprint (int c)
-{
- return isprint (c);
-}
-#endif /* PACE_HAS_POSIX_CLS_UOF */
-
-#if (PACE_HAS_POSIX_CLS_UOF)
-PACE_INLINE
-int
-pace_ispunct (int c)
-{
- return ispunct (c);
-}
-#endif /* PACE_HAS_POSIX_CLS_UOF */
-
-#if (PACE_HAS_POSIX_CLS_UOF)
-PACE_INLINE
-int
-pace_isspace (int c)
-{
- return isspace (c);
-}
-#endif /* PACE_HAS_POSIX_CLS_UOF */
-
-#if (PACE_HAS_POSIX_CLS_UOF)
-PACE_INLINE
-int
-pace_isupper (int c)
-{
- return isupper (c);
-}
-#endif /* PACE_HAS_POSIX_CLS_UOF */
-
-#if (PACE_HAS_POSIX_CLS_UOF)
-PACE_INLINE
-int
-pace_isxdigit (int c)
-{
- return isxdigit (c);
-}
-#endif /* PACE_HAS_POSIX_CLS_UOF */
-
-#if (PACE_HAS_POSIX_CLS_UOF)
-PACE_INLINE
-int
-pace_tolower (int c)
-{
- return tolower (c);
-}
-#endif /* PACE_HAS_POSIX_CLS_UOF */
-
-#if (PACE_HAS_POSIX_CLS_UOF)
-PACE_INLINE
-int
-pace_toupper (int c)
-{
- return toupper (c);
-}
-#endif /* PACE_HAS_POSIX_CLS_UOF */
diff --git a/PACE/pace/win32/dirent.c b/PACE/pace/win32/dirent.c
deleted file mode 100644
index b67213012f0..00000000000
--- a/PACE/pace/win32/dirent.c
+++ /dev/null
@@ -1,100 +0,0 @@
-/* $Id$
-
- * =============================================================================
- *
- * = LIBRARY
- * pace
- *
- * = FILENAME
- * pace/win32/dirent.c
- *
- * = AUTHOR
- * Luther Baker
- *
- * ============================================================================= */
-
-#include "pace/dirent.h"
-
-#if !defined (PACE_HAS_INLINE)
-# include "pace/win32/dirent.inl"
-#endif /* ! PACE_HAS_INLINE */
-
-#if (PACE_HAS_POSIX_FS_UOF)
-int
-closedir (PACE_DIR * dirp)
-{
- if (dirp->current_handle_ != (void*)0)
- {
- FindClose (dirp->current_handle_);
- }
- dirp->current_handle_ = (void*)0;
- dirp->started_reading_ = 0;
- return 1;
-}
-#endif /* PACE_HAS_POSIX_FS_UOF */
-
-#if (PACE_HAS_POSIX_FS_UOF)
-PACE_DIR *
-opendir (const char * dirname)
-{
- PACE_DIR * dirp = (PACE_DIR*) pace_malloc (sizeof (PACE_DIR));
- const pace_size_t dir_size = pace_strlen (dirname) + 1;
- dirp->directory_name_ = (char*) pace_malloc (dir_size);
- pace_strcpy (dirp->directory_name_, dirname);
- dirp->current_handle_ = PACE_INVALID_HANDLE;
- dirp->started_reading_ = 0;
- return dirp;
-}
-#endif /* PACE_HAS_POSIX_FS_UOF */
-
-#if (PACE_HAS_POSIX_FS_UOF)
-pace_dirent *
-readdir (PACE_DIR * dirp)
-{
- if (dirp->started_reading_)
- {
- dirp->current_handle_ = FindFirstFile (dirp->directory_name_,
- &(dirp->fdata_));
- if (dirp->current_handle_ != PACE_INVALID_HANDLE)
- {
- FindClose (dirp->current_handle_);
- dirp->current_handle_ = PACE_INVALID_HANDLE;
- }
- else /* Skip "." and ".." */
- {
- int retval = 1;
- while (*(dirp->fdata_.cFileName) == '.'
- && retval
- && dirp->fdata_.dwFileAttributes == FILE_ATTRIBUTE_DIRECTORY)
- {
- retval = FindNextFile (dirp->current_handle_,
- &(dirp->fdata_));
- }
- if (retval == 0)
- {
- dirp->current_handle_ = PACE_INVALID_HANDLE;
- }
- }
- dirp->started_reading_ = 1;
- }
- else
- {
- int retval = FindNextFile (dirp->current_handle_,
- &(dirp->fdata_));
- if (retval == 0)
- {
- dirp->current_handle_ = PACE_INVALID_HANDLE;
- }
- }
-
- if (dirp->current_handle_ != PACE_INVALID_HANDLE)
- {
- dirp->dirent_.d_name = dirp->fdata_.cFileName;
- return &(dirp->dirent_);
- }
- else
- {
- return (pace_dirent*)0;
- }
-}
-#endif /* PACE_HAS_POSIX_FS_UOF */
diff --git a/PACE/pace/win32/dirent.h b/PACE/pace/win32/dirent.h
deleted file mode 100644
index 9a379a35a12..00000000000
--- a/PACE/pace/win32/dirent.h
+++ /dev/null
@@ -1,74 +0,0 @@
-/* $Id$
-
- * ============================================================================
- *
- * = LIBRARY
- * pace
- *
- * = FILENAME
- * pace/win32/dirent.h
- *
- * = AUTHOR
- * Luther Baker
- *
- * ============================================================================ */
-
-#ifndef PACE_DIRENT_H_WIN32
-#define PACE_DIRENT_H_WIN32
-
-#include "pace/sys/types.h"
-#include "windows.h"
-
-#if defined (PACE_HAS_CPLUSPLUS)
-extern "C" {
-#endif /* PACE_HAS_CPLUSPLUS */
-
-#ifndef PACE_DIRENT_T
-#define PACE_DIRENT_T
-
- typedef struct /* dirent */ {
- unsigned short d_ino;
- unsigned short d_off;
- unsigned short d_reclen;
- char * d_name;
- } pace_dirent;
-
-#endif /* PACE_DIRENT_T */
-
-#ifndef PACE_DIR_T
-#define PACE_DIR_T
-
- typedef WIN32_FIND_DATA PACE_TEXT_WIN32_FIND_DATA;
-
- typedef struct /* DIR */ {
- char * directory_name_;
- // The name of the directory we are looking into
- HANDLE current_handle_;
- // Remember the handle between calls.
- pace_dirent dirent_;
- // The struct for the results
- PACE_TEXT_WIN32_FIND_DATA fdata_;
- // The struct for intermediate results.
- int started_reading_;
- // A flag to remember if we started reading already.
- } PACE_DIR;
-
-#endif /* PACE_DIR_T */
-
-#if (PACE_HAS_POSIX_FS_UOF)
- int closedir (PACE_DIR * dirp);
-#endif /* PACE_HAS_POSIX_FS_UOF */
-
-#if (PACE_HAS_POSIX_FS_UOF)
- PACE_DIR * opendir (const char * dirname);
-#endif /* PACE_HAS_POSIX_FS_UOF */
-
-#if (PACE_HAS_POSIX_FS_UOF)
- pace_dirent * readdir (PACE_DIR * dirp);
-#endif /* PACE_HAS_POSIX_FS_UOF */
-
-#if defined (PACE_HAS_CPLUSPLUS)
-}
-#endif /* PACE_HAS_CPLUSPLUS */
-
-#endif /* PACE_DIRENT_H_WIN32 */
diff --git a/PACE/pace/win32/dirent.inl b/PACE/pace/win32/dirent.inl
deleted file mode 100644
index edf5071c55d..00000000000
--- a/PACE/pace/win32/dirent.inl
+++ /dev/null
@@ -1,68 +0,0 @@
-/* $Id$ -*- C -*-
-
- * =============================================================================
- *
- * = LIBRARY
- * pace
- *
- * = FILENAME
- * pace/win32/dirent.inl
- *
- * = AUTHOR
- * Luther Baker
- *
- * ============================================================================= */
-
-#include "pace/string.h"
-#include "pace/stdlib.h"
-
-#if (PACE_HAS_POSIX_FS_UOF)
-PACE_INLINE
-int
-pace_closedir (PACE_DIR * dirp)
-{
- return closedir (dirp);
-}
-#endif /* PACE_HAS_POSIX_FS_UOF */
-
-#if (PACE_HAS_POSIX_FS_UOF)
-PACE_INLINE
-PACE_DIR *
-pace_opendir (const char * dirname)
-{
- return opendir (dirname);
-}
-#endif /* PACE_HAS_POSIX_FS_UOF */
-
-#if (PACE_HAS_POSIX_FS_UOF)
-PACE_INLINE
-pace_dirent *
-pace_readdir (PACE_DIR * dirp)
-{
- return readdir (dirp);
-}
-#endif /* PACE_HAS_POSIX_FS_UOF */
-
-#if (PACE_HAS_POSIX_CLSR_UOF)
-PACE_INLINE
-int
-pace_readdir_r (PACE_DIR * dirp,
- pace_dirent * entry,
- pace_dirent ** result)
-{
- PACE_UNUSED_ARG (dirp);
- PACE_UNUSED_ARG (entry);
- PACE_UNUSED_ARG (result);
- PACE_ERRNO_NO_SUPPORT_RETURN (-1);
-}
-#endif /* PACE_HAS_POSIX_CLSR_UOF */
-
-#if (PACE_HAS_POSIX_FS_UOF)
-PACE_INLINE
-void
-pace_rewinddir (PACE_DIR * dirp)
-{
- PACE_UNUSED_ARG (dirp);
- PACE_ERRNO_NO_SUPPORT ();
-}
-#endif /* PACE_HAS_POSIX_FS_UOF */
diff --git a/PACE/pace/win32/errno.h b/PACE/pace/win32/errno.h
deleted file mode 100644
index 7e35b76b566..00000000000
--- a/PACE/pace/win32/errno.h
+++ /dev/null
@@ -1,84 +0,0 @@
-/* $Id$
-
-* ============================================================================
-*
-* = LIBRARY
-* pace
-*
-* = FILENAME
-* pace/win32/errno.h
-*
-* = AUTHOR
-* John Heitmann
-*
-* =========================================================================== */
-
-
-#ifndef PACE_ERRNO_H_WIN32
-#define PACE_ERRNO_H_WIN32
-
-#include <errno.h>
-
-#if defined (PACE_HAS_CPLUSPLUS)
-extern "C" {
-#endif /* PACE_HAS_CPLUSPLUS */
-
-#if !defined (ENOSYS)
-# define ENOSYS EFAULT /* Operation not supported or unknown error. */
-#endif /* !ENOSYS */
-
-#if !defined (ENOTSUP)
-# define ENOTSUP ENOSYS /* Operation not supported. */
-#endif /* !ENOTSUP */
-
-#define PACE_E2BIG E2BIG
-#define PACE_EACCES EACCES
-#define PACE_EAGAIN EAGAIN
-#define PACE_EBADF EBADF
-#define PACE_EBADMSG
-#define PACE_EBUSY EBUSY
-#define PACE_ECANCELED ECANCELED
-#define PACE_ECHILD ECHILD
-#define PACE_EDEADLK EDEADLK
-#define PACE_EDOM EDOM
-#define PACE_EEXIST EEXIST
-#define PACE_EFAULT EFAULT
-#define PACE_EFBIG EFBIG
-#define PACE_EINPROGRESS EINPROGRESS
-#define PACE_EINTR EINTR
-#define PACE_EINVAL EINVAL
-#define PACE_EIO EIO
-#define PACE_EISDIR EISDIR
-#define PACE_EMFILE EMFILE
-#define PACE_EMLINK EMLINK
-#define PACE_EMSGSIZE EMSGSIZE
-#define PACE_EENAMETOOLONG ENAMETOOLONG
-#define PACE_ENFILE ENFILE
-#define PACE_ENODEV ENODEV
-#define PACE_ENOENT ENOENT
-#define PACE_ENOEXEC ENOEXEC
-#define PACE_ENOLCK ENOLCK
-#define PACE_ENOMEM ENOMEM
-#define PACE_ENOSPC ENOSPC
-#define PACE_ENOSYS ENOSYS
-#define PACE_ENOTDIR ENOTDIR
-#define PACE_ENOTEMPTY ENOTEMPTY
-#define PACE_ENOTSUP ENOTSUP
-#define PACE_ENOTTY ENOTTY
-#define PACE_ENXIO ENXIO
-#define PACE_EPERM EPERM
-#define PACE_EPIPE EPIPE
-#define PACE_ERANGE ERANGE
-#define PACE_EROFS EROFS
-#define PACE_ESPIPE ESPIPE
-#define PACE_ESRCH ESRCH
-#define PACE_ETIMEDOUT ETIMEDOUT
-#define PACE_EXDEV EXDEV
-
-#define pace_errno errno
-
-# if defined (PACE_HAS_CPLUSPLUS)
-}
-# endif /* PACE_HAS_CPLUSPLUS */
-
-#endif /* PACE_ERRNO_H_WIN32 */
diff --git a/PACE/pace/win32/fcntl.c b/PACE/pace/win32/fcntl.c
deleted file mode 100644
index 5fe6e12bfb0..00000000000
--- a/PACE/pace/win32/fcntl.c
+++ /dev/null
@@ -1,164 +0,0 @@
-/* $Id$
-
- * =============================================================================
- *
- * = LIBRARY
- * pace
- *
- * = FILENAME
- * pace/win32/fcntl.c
- *
- * = AUTHOR
- * Luther Baker
- *
- * ============================================================================= */
-
-#include "pace/fcntl.h"
-
-#if !defined (PACE_HAS_INLINE)
-# include "pace/win32/fcntl.inl"
-#endif /* ! PACE_HAS_INLINE */
-
-#if (PACE_HAS_POSIX_FS_UOF)
-#include <windows.h>
-#include <wtypes.h>
-int
-pace_win32_creat (const char * path, pace_mode_t mode)
-{
- /* Emulation is still buggy! DO NOT YET USE! */
-
- DWORD access = GENERIC_READ,
- creation = OPEN_EXISTING,
- flags = 0,
- shared_mode = FILE_SHARE_READ | FILE_SHARE_WRITE;
-
- HANDLE h = (void*)0;
-
- if (PACE_BIT_ENABLED (mode, O_WRONLY))
- {
- access = GENERIC_WRITE;
- }
- else if (PACE_BIT_ENABLED (mode, O_RDWR))
- {
- access = GENERIC_READ | GENERIC_WRITE;
- }
-
- if ((mode & (_O_CREAT | _O_EXCL)) == (_O_CREAT | _O_EXCL))
- {
- creation = CREATE_NEW;
- }
- else if ((mode & (_O_CREAT | _O_TRUNC)) == (_O_CREAT | _O_TRUNC))
- {
- creation = CREATE_ALWAYS;
- }
- else if (PACE_BIT_ENABLED (mode, _O_CREAT))
- {
- creation = OPEN_ALWAYS;
- }
- else if (PACE_BIT_ENABLED (mode, _O_TRUNC))
- {
- creation = TRUNCATE_EXISTING;
- }
-
- if (PACE_BIT_ENABLED (mode, _O_TEMPORARY))
- {
- flags |= FILE_FLAG_DELETE_ON_CLOSE | FILE_ATTRIBUTE_TEMPORARY;
- }
-
- if (PACE_BIT_ENABLED (mode, FILE_FLAG_WRITE_THROUGH))
- {
- flags |= FILE_FLAG_WRITE_THROUGH;
- }
- if (PACE_BIT_ENABLED (mode, FILE_FLAG_OVERLAPPED))
- {
- flags |= FILE_FLAG_OVERLAPPED;
- }
- if (PACE_BIT_ENABLED (mode, FILE_FLAG_NO_BUFFERING))
- {
- flags |= FILE_FLAG_NO_BUFFERING;
- }
- if (PACE_BIT_ENABLED (mode, FILE_FLAG_RANDOM_ACCESS))
- {
- flags |= FILE_FLAG_RANDOM_ACCESS;
- }
- if (PACE_BIT_ENABLED (mode, FILE_FLAG_SEQUENTIAL_SCAN))
- {
- flags |= FILE_FLAG_SEQUENTIAL_SCAN;
- }
- if (PACE_BIT_ENABLED (mode, FILE_FLAG_DELETE_ON_CLOSE))
- {
- flags |= FILE_FLAG_DELETE_ON_CLOSE;
- }
- if (PACE_BIT_ENABLED (mode, FILE_FLAG_BACKUP_SEMANTICS))
- {
- flags |= FILE_FLAG_BACKUP_SEMANTICS;
- }
- if (PACE_BIT_ENABLED (mode, FILE_FLAG_POSIX_SEMANTICS))
- {
- flags |= FILE_FLAG_POSIX_SEMANTICS;
- }
-
-#if 0 //////////////////////////////////////////////////////////////////////
-
- /* Threads and version info that isn't implemented yet in PACE.
- ACE_MT (ACE_thread_mutex_t *ace_os_monitor_lock = 0;)
- */
- if (PACE_BIT_ENABLED (mode, _O_APPEND))
- {
- ACE_MT
- (
- ace_os_monitor_lock = (ACE_thread_mutex_t *)
- ACE_OS_Object_Manager::preallocated_object[
- ACE_OS_Object_Manager::ACE_OS_MONITOR_LOCK];
- ACE_OS::thread_mutex_lock (ace_os_monitor_lock);
- )
- }
-
-#if !defined (ACE_HAS_WINCE) /* CE doesn't have FILE_SHARE_DELETE */
- if (ACE_OS::get_win32_versioninfo().dwPlatformId ==
- VER_PLATFORM_WIN32_NT)
- shared_mode |= FILE_SHARE_DELETE;
-#endif /* ACE_HAS_WINCE */
-
-////////////////////////////////////////////////////////////
-#endif /* 0 */
-
- h = CreateFile (path,
- access,
- shared_mode,
- 0,
- creation,
- flags,
- 0);
-
- if (PACE_BIT_ENABLED (mode, _O_APPEND))
- {
- if (h != PACE_INVALID_HANDLE)
- {
- SetFilePointer (h, 0, 0, FILE_END);
- }
- /* Threads and version info that isn't implemented yet in PACE.
- ACE_MT (ACE_thread_mutex_t *ace_os_monitor_lock = 0;)
- ACE_MT (ACE_OS::thread_mutex_unlock (ace_os_monitor_lock);)
- */
- }
-
- if (h == PACE_INVALID_HANDLE)
- {
- /* Where is this in ACE?
- ACE_FAIL_RETURN (h);
- */
- return -1;
- }
- else
- {
- /* return h;
-
- POSIX returns lowest unused file descriptor but windows
- doesn't handle files in the same manner.
- We return -1 for failure and 1 for success.
- */
- return 1;
- }
-}
-#endif /* PACE_HAS_POSIX_FS_UOF */
diff --git a/PACE/pace/win32/fcntl.h b/PACE/pace/win32/fcntl.h
deleted file mode 100644
index 7cb57a52cb0..00000000000
--- a/PACE/pace/win32/fcntl.h
+++ /dev/null
@@ -1,71 +0,0 @@
-/* $Id$
-
- * ============================================================================
- *
- * = LIBRARY
- * pace
- *
- * = FILENAME
- * pace/win32/fnctl.h
- *
- * = AUTHOR
- * Luther Baker
- *
- * ============================================================================ */
-
-#ifndef PACE_FCNTL_H_WIN32
-#define PACE_FCNTL_H_WIN32
-
-#include "pace/sys/types.h"
-#include "pace/unistd.h"
-#include "pace/sys/stat.h"
-#include <fcntl.h>
-
-#if defined (PACE_HAS_CPLUSPLUS)
-extern "C" {
-#endif /* PACE_HAS_CPLUSPLUS */
-
-#if defined (__BORLANDC__)
-#define _O_TEMPORARY 0x08
-#endif /* __BORLANDC__ */
-
-#define PACE_FD_CLOEXEC FD_CLOEXEC
-#define PACE_F_DUPFD D_DUPFD
-#define PACE_F_GETFD F_GETFD
-#define PACE_F_GETFL F_GETFL
-#define PACE_F_GETLK F_GETLK
-#define PACE_F_RDLCK F_RDLCK
-#define PACE_F_SETFD F_SETFD
-#define PACE_F_SETFL F_SETFL
-#define PACE_F_SETLK F_SETLK
-#define PACE_F_SETLKW F_SETLKW
-#define PACE_F_UNLCK F_UNLCK
-#define PACE_F_WRLCK F_WRLCK
-#define PACE_O_ACCMODE O_ACCMODE
-#define PACE_O_APPEND O_APPEND
-#define PACE_O_CREAT O_CREAT
-#define PACE_O_DSYNC O_DSYNC
-#define PACE_O_EXCL O_EXCL
-#define PACE_O_NOCTTY O_NOCTTY
-#define PACE_O_NONBLOCK O_NONBLOCK
-#define PACE_O_RDONLY O_RDONLY
-#define PACE_O_RDWR O_RDWR
-#define PACE_O_RSYNC O_RSYNC
-#define PACE_O_SYNC O_SYNC
-#define PACE_O_TRUNC O_TRUNC
-#define PACE_O_WRONLY O_WRONLY
-
-#ifndef PACE_FLOCK
-#define PACE_FLOCK
-typedef struct flock pace_flock;
-#endif /* PACE_FLOCK */
-
-#if (PACE_HAS_POSIX_FS_UOF)
- int pace_win32_creat (const char * path, pace_mode_t mode);
-#endif /* PACE_HAS_POSIX_FS_UOF */
-
-#if defined (PACE_HAS_CPLUSPLUS)
-}
-#endif /* PACE_HAS_CPLUSPLUS */
-
-#endif /* PACE_FCNTL_H_WIN32 */
diff --git a/PACE/pace/win32/fcntl.inl b/PACE/pace/win32/fcntl.inl
deleted file mode 100644
index b821d7bbfc9..00000000000
--- a/PACE/pace/win32/fcntl.inl
+++ /dev/null
@@ -1,38 +0,0 @@
-/* $Id$ -*- C -*-
-
- * =============================================================================
- *
- * = LIBRARY
- * pace
- *
- * = FILENAME
- * pace/win32/fcntl.inl
- *
- * = AUTHOR
- * Luther Baker
- *
- * ============================================================================= */
-
-#if (PACE_HAS_POSIX_FS_UOF)
-PACE_INLINE
-int
-pace_creat (const char * path, pace_mode_t mode)
-{
- /* Emulation is still buggy! creat (path, mode); */
- PACE_UNUSED_ARG (path);
- PACE_UNUSED_ARG (mode);
- PACE_ERRNO_NO_SUPPORT_RETURN (-1);
-}
-#endif /* PACE_HAS_POSIX_FS_UOF */
-
-#if (PACE_HAS_POSIX_FS_UOF)
-PACE_INLINE
-int
-pace_fcntl (PACE_HANDLE fildes, int cmd, /* arg */ ... )
-{
- PACE_UNUSED_ARG (fildes);
- PACE_UNUSED_ARG (cmd);
- PACE_ERRNO_NO_SUPPORT_RETURN (-1);
-}
-#endif /* PACE_HAS_POSIX_FS_UOF */
-
diff --git a/PACE/pace/win32/grp.c b/PACE/pace/win32/grp.c
deleted file mode 100644
index 0bcfffa87d4..00000000000
--- a/PACE/pace/win32/grp.c
+++ /dev/null
@@ -1,20 +0,0 @@
-/* $Id$
-
- * =============================================================================
- *
- * = LIBRARY
- * pace
- *
- * = FILENAME
- * pace/win32/grp.c
- *
- * = AUTHOR
- * Luther Baker
- *
- * ============================================================================= */
-
-#include "pace/grp.h"
-
-#if !defined (PACE_HAS_INLINE)
-# include "pace/win32/grp.inl"
-#endif /* ! PACE_HAS_INLINE */
diff --git a/PACE/pace/win32/grp.h b/PACE/pace/win32/grp.h
deleted file mode 100644
index c800c8bc21e..00000000000
--- a/PACE/pace/win32/grp.h
+++ /dev/null
@@ -1,34 +0,0 @@
-/* $Id$
-
- * ============================================================================
- *
- * = LIBRARY
- * pace ()
- *
- * = FILENAME
- * pace/win32/grp.h
- *
- * = AUTHOR
- * Luther Baker
- *
- * ============================================================================ */
-
-#ifndef PACE_GRP_H_WIN32
-#define PACE_GRP_H_WIN32
-
-# if defined (PACE_HAS_CPLUSPLUS)
-extern "C" {
-# endif /* PACE_HAS_CPLUSPLUS */
-
-#ifndef PACE_GROUP
-#define PACE_GROUP
- typedef struct group {
- int val_;
- } pace_group;
-#endif /* PACE_GROUP */
-
-# if defined (PACE_HAS_CPLUSPLUS)
-}
-# endif /* PACE_HAS_CPLUSPLUS */
-
-#endif /* PACE_GRP_H_WIN32 */
diff --git a/PACE/pace/win32/grp.inl b/PACE/pace/win32/grp.inl
deleted file mode 100644
index 905e9eadea3..00000000000
--- a/PACE/pace/win32/grp.inl
+++ /dev/null
@@ -1,72 +0,0 @@
-/* $Id$ -*- C -*-
-
- * =============================================================================
- *
- * = LIBRARY
- * pace
- *
- * = FILENAME
- * pace/win32/grp.inl
- *
- * = AUTHOR
- * Luther Baker
- *
- * ============================================================================= */
-
-#if (PACE_HAS_POSIX_SD_UOF)
-PACE_INLINE
-pace_group *
-pace_getgrgid (pace_gid_t gid)
-{
- pace_group * retval = (pace_group*)0;
- PACE_UNUSED_ARG (gid);
- PACE_ERRNO_NO_SUPPORT_RETURN (retval);
-}
-#endif /* PACE_HAS_POSIX_SD_UOF */
-
-#if (PACE_HAS_POSIX_SDR_UOF)
-PACE_INLINE
-int
-pace_getgrgid_r (pace_gid_t gid,
- pace_group * grp,
- char * buffer,
- size_t bufsize,
- pace_group ** result)
-{
- PACE_UNUSED_ARG (gid);
- PACE_UNUSED_ARG (grp);
- PACE_UNUSED_ARG (buffer);
- PACE_UNUSED_ARG (bufsize);
- PACE_UNUSED_ARG (result);
- PACE_ERRNO_NO_SUPPORT_RETURN (-1);
-}
-#endif /* PACE_HAS_POSIX_SDR_UOF */
-
-#if (PACE_HAS_POSIX_SD_UOF)
-PACE_INLINE
-pace_group *
-pace_getgrnam (const char * name)
-{
- pace_group * retval = (pace_group*)0;
- PACE_UNUSED_ARG (name);
- PACE_ERRNO_NO_SUPPORT_RETURN (retval);
-}
-#endif /* PACE_HAS_POSIX_SD_UOF */
-
-#if (PACE_HAS_POSIX_SDR_UOF)
-PACE_INLINE
-int
-pace_getgrnam_r (const char * name,
- pace_group * grp,
- char * buffer,
- size_t bufsize,
- pace_group ** result)
-{
- PACE_UNUSED_ARG (name);
- PACE_UNUSED_ARG (grp);
- PACE_UNUSED_ARG (buffer);
- PACE_UNUSED_ARG (bufsize);
- PACE_UNUSED_ARG (result);
- PACE_ERRNO_NO_SUPPORT_RETURN (-1);
-}
-#endif /* PACE_HAS_POSIX_SDR_UOF */
diff --git a/PACE/pace/win32/limits.h b/PACE/pace/win32/limits.h
deleted file mode 100644
index 0624528da7a..00000000000
--- a/PACE/pace/win32/limits.h
+++ /dev/null
@@ -1,29 +0,0 @@
-/* $Id$
-
- * ============================================================================
- *
- * = LIBRARY
- * pace
- *
- * = FILENAME
- * pace/win32/limits.h
- *
- * = AUTHOR
- * Joe Hoffert
- *
- * ============================================================================ */
-
-#ifndef PACE_LIMITS_H_WIN32
-#define PACE_LIMITS_H_WIN32
-
-#include <limits.h>
-
-# if defined (PACE_HAS_CPLUSPLUS)
-extern "C" {
-# endif /* (PACE_HAS_CPLUSPLUS) */
-
-# if defined (PACE_HAS_CPLUSPLUS)
-}
-# endif /* PACE_HAS_CPLUSPLUS */
-
-#endif /* PACE_LIMITS_H_WIN32 */
diff --git a/PACE/pace/win32/locale.c b/PACE/pace/win32/locale.c
deleted file mode 100644
index 1d10f0e3b32..00000000000
--- a/PACE/pace/win32/locale.c
+++ /dev/null
@@ -1,20 +0,0 @@
-/* $Id$
-
- * =============================================================================
- *
- * = LIBRARY
- * pace
- *
- * = FILENAME
- * pace/win32/locale.c
- *
- * = AUTHOR
- * Joe Hoffert
- *
- * ============================================================================= */
-
-#include "pace/locale.h"
-
-#if !defined (PACE_HAS_INLINE)
-# include "pace/win32/locale.inl"
-#endif /* ! PACE_HAS_INLINE */
diff --git a/PACE/pace/win32/locale.h b/PACE/pace/win32/locale.h
deleted file mode 100644
index c56a9d9fec3..00000000000
--- a/PACE/pace/win32/locale.h
+++ /dev/null
@@ -1,40 +0,0 @@
-/* $Id$
-
- * ============================================================================
- *
- * = LIBRARY
- * pace
- *
- * = FILENAME
- * pace/win32/locale.h
- *
- * = AUTHOR
- * Joe Hoffert
- *
- * =========================================================================== */
-
-#ifndef PACE_LOCALE_H_WIN32
-#define PACE_LOCALE_H_WIN32
-
-#if defined (PACE_HAS_CPLUSPLUS)
-extern "C" {
-#endif /* PACE_HAS_CPLUSPLUS */
-
-#define PACE_LC_ALL LC_ALL
-#define PACE_LC_COLLATE LC_COLLATE
-#define PACE_LC_CTYPE LC_CTYPE
-#define PACE_LC_MONETARY LC_MONETARY
-#define PACE_LC_NUMERIC LC_NUMERIC
-#define PACE_LC_TIME LC_TIME
-#define PACE_NULL NULL
-
-#ifndef PACE_LCONV
-#define PACE_LCONV
-typedef struct lconv pace_lconv;
-#endif /* PACE_LCONV */
-
-#if defined (PACE_HAS_CPLUSPLUS)
-}
-#endif /* PACE_HAS_CPLUSPLUS */
-
-#endif /* PACE_LOCALE_H */
diff --git a/PACE/pace/win32/locale.inl b/PACE/pace/win32/locale.inl
deleted file mode 100644
index bdcf0ba226a..00000000000
--- a/PACE/pace/win32/locale.inl
+++ /dev/null
@@ -1,34 +0,0 @@
-/* $Id$ -*- C -*-
-
- * ============================================================================
- *
- * = LIBRARY
- * pace
- *
- * = FILENAME
- * pace/win32/locale.inl
- *
- * = AUTHOR
- * Joe Hoffert
- *
- * =========================================================================== */
-
-#include <locale.h>
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-pace_lconv *
-pace_localeconv (void)
-{
- return localeconv ();
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_MP_UOF)
-PACE_INLINE
-char *
-pace_setlocale (int category, const char * locale)
-{
- return setlocale (category, locale);
-}
-#endif /* PACE_HAS_POSIX_MP_UOF */
diff --git a/PACE/pace/win32/math.c b/PACE/pace/win32/math.c
deleted file mode 100644
index 01302f35ac5..00000000000
--- a/PACE/pace/win32/math.c
+++ /dev/null
@@ -1,20 +0,0 @@
-/* $Id$
-
- * =============================================================================
- *
- * = LIBRARY
- * pace
- *
- * = FILENAME
- * pace/win32/math.c
- *
- * = AUTHOR
- * Luther Baker
- *
- * ============================================================================= */
-
-#include "pace/math.h"
-
-#if !defined (PACE_HAS_INLINE)
-# include "pace/win32/math.inl"
-#endif /* ! PACE_HAS_INLINE */
diff --git a/PACE/pace/win32/math.h b/PACE/pace/win32/math.h
deleted file mode 100644
index e1658a72c12..00000000000
--- a/PACE/pace/win32/math.h
+++ /dev/null
@@ -1,29 +0,0 @@
-/* $Id$
-
- * ============================================================================
- *
- * = LIBRARY
- * pace
- *
- * = FILENAME
- * pace/win32/math.h
- *
- * = AUTHOR
- * Luther Baker
- *
- * ============================================================================ */
-
-#ifndef PACE_MATH_H_WIN32
-#define PACE_MATH_H_WIN32
-
-#if defined (PACE_HAS_CPLUSPLUS)
-extern "C" {
-#endif /* PACE_HAS_CPLUSPLUS */
-
-#define PACE_HUGE_VAL HUGE_VAL
-
-#if defined (PACE_HAS_CPLUSPLUS)
-}
-#endif /* PACE_HAS_CPLUSPLUS */
-
-#endif /* PACE_MATH_H_WIN32 */
diff --git a/PACE/pace/win32/math.inl b/PACE/pace/win32/math.inl
deleted file mode 100644
index 47112cebda3..00000000000
--- a/PACE/pace/win32/math.inl
+++ /dev/null
@@ -1,215 +0,0 @@
-/* $Id$ -*- C -*-
-
- * =============================================================================
- *
- * = LIBRARY
- * pace
- *
- * = FILENAME
- * pace/win32/math.inl
- *
- * = AUTHOR
- * Luther Baker
- *
- * ============================================================================= */
-
-/* FUZZ: disable check_for_math_include */
-#include <math.h>
-
-#if (PACE_HAS_POSIX_CLS_UOF)
-PACE_INLINE
-double
-pace_acos (double x)
-{
- return acos (x);
-}
-#endif /* PACE_HAS_POSIX_CLS_UOF */
-
-#if (PACE_HAS_POSIX_CLS_UOF)
-PACE_INLINE
-double
-pace_asin (double x)
-{
- return asin (x);
-}
-#endif /* PACE_HAS_POSIX_CLS_UOF */
-
-#if (PACE_HAS_POSIX_CLS_UOF)
-PACE_INLINE
-double
-pace_atan (double x)
-{
- return atan (x);
-}
-#endif /* PACE_HAS_POSIX_CLS_UOF */
-
-#if (PACE_HAS_POSIX_CLS_UOF)
-PACE_INLINE
-double
-pace_atan2 (double x, double y)
-{
- return atan2 (x, y);
-}
-#endif /* PACE_HAS_POSIX_CLS_UOF */
-
-#if (PACE_HAS_POSIX_CLS_UOF)
-PACE_INLINE
-double
-pace_cos (double x)
-{
- return cos (x);
-}
-#endif /* PACE_HAS_POSIX_CLS_UOF */
-
-#if (PACE_HAS_POSIX_CLS_UOF)
-PACE_INLINE
-double
-pace_sin (double x)
-{
- return sin (x);
-}
-#endif /* PACE_HAS_POSIX_CLS_UOF */
-
-#if (PACE_HAS_POSIX_CLS_UOF)
-PACE_INLINE
-double
-pace_tan (double x)
-{
- return tan (x);
-}
-#endif /* PACE_HAS_POSIX_CLS_UOF */
-
-#if (PACE_HAS_POSIX_CLS_UOF)
-PACE_INLINE
-double
-pace_cosh (double x)
-{
- return cosh (x);
-}
-#endif /* PACE_HAS_POSIX_CLS_UOF */
-
-#if (PACE_HAS_POSIX_CLS_UOF)
-PACE_INLINE
-double
-pace_sinh (double x)
-{
- return sinh (x);
-}
-#endif /* PACE_HAS_POSIX_CLS_UOF */
-
-#if (PACE_HAS_POSIX_CLS_UOF)
-PACE_INLINE
-double
-pace_tanh (double x)
-{
- return tanh (x);
-}
-#endif /* PACE_HAS_POSIX_CLS_UOF */
-
-#if (PACE_HAS_POSIX_CLS_UOF)
-PACE_INLINE
-double
-pace_exp (double x)
-{
- return exp (x);
-}
-#endif /* PACE_HAS_POSIX_CLS_UOF */
-
-#if (PACE_HAS_POSIX_CLS_UOF)
-PACE_INLINE
-double
-pace_frexp (double x, int * exp)
-{
- return frexp (x, exp);
-}
-#endif /* PACE_HAS_POSIX_CLS_UOF */
-
-#if (PACE_HAS_POSIX_CLS_UOF)
-PACE_INLINE
-double
-pace_ldexp (double x, int exp)
-{
- return ldexp (x, exp);
-}
-#endif /* PACE_HAS_POSIX_CLS_UOF */
-
-#if (PACE_HAS_POSIX_CLS_UOF)
-PACE_INLINE
-double
-pace_log (double x)
-{
- return log (x);
-}
-#endif /* PACE_HAS_POSIX_CLS_UOF */
-
-#if (PACE_HAS_POSIX_CLS_UOF)
-PACE_INLINE
-double
-pace_log10 (double x)
-{
- return log10 (x);
-}
-#endif /* PACE_HAS_POSIX_CLS_UOF */
-
-#if (PACE_HAS_POSIX_CLS_UOF)
-PACE_INLINE
-double
-pace_modf (double x, double * iptr)
-{
- return modf (x, iptr);
-}
-#endif /* PACE_HAS_POSIX_CLS_UOF */
-
-#if (PACE_HAS_POSIX_CLS_UOF)
-PACE_INLINE
-double
-pace_pow (double x, double y)
-{
- return pow (x, y);
-}
-#endif /* PACE_HAS_POSIX_CLS_UOF */
-
-#if (PACE_HAS_POSIX_CLS_UOF)
-PACE_INLINE
-double
-pace_sqrt (double x)
-{
- return sqrt (x);
-}
-#endif /* PACE_HAS_POSIX_CLS_UOF */
-
-#if (PACE_HAS_POSIX_CLS_UOF)
-PACE_INLINE
-double
-pace_ceil (double x)
-{
- return ceil (x);
-}
-#endif /* PACE_HAS_POSIX_CLS_UOF */
-
-#if (PACE_HAS_POSIX_CLS_UOF)
-PACE_INLINE
-double
-pace_fabs (double x)
-{
- return fabs (x);
-}
-#endif /* PACE_HAS_POSIX_CLS_UOF */
-
-#if (PACE_HAS_POSIX_CLS_UOF)
-PACE_INLINE
-double
-pace_floor (double x)
-{
- return floor (x);
-}
-#endif /* PACE_HAS_POSIX_CLS_UOF */
-
-#if (PACE_HAS_POSIX_CLS_UOF)
-PACE_INLINE
-double
-pace_fmod (double x, double y)
-{
- return fmod (x, y);
-}
-#endif /* PACE_HAS_POSIX_CLS_UOF */
diff --git a/PACE/pace/win32/mman.c b/PACE/pace/win32/mman.c
deleted file mode 100644
index 7c08f8f6e0f..00000000000
--- a/PACE/pace/win32/mman.c
+++ /dev/null
@@ -1,123 +0,0 @@
-/* $Id$
-
- * =============================================================================
- *
- * = LIBRARY
- * pace
- *
- * = FILENAME
- * pace/win32/mman.c
- *
- * = AUTHOR
- * Luther Baker
- *
- * ============================================================================= */
-
-#include "pace/sys/mman.h"
-
-#if !defined (PACE_HAS_INLINE)
-# include "pace/win32/mman.inl"
-#endif /* ! PACE_HAS_INLINE */
-
-#include <windows.h>
-#include <stdio.h>
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-void *
-mmap (void * addr, size_t len, int prot, int flags,
- PACE_HANDLE fildes, pace_off_t off)
-{
- void *addr_mapping = 0;
- int nt_flags = 0;
- PACE_HANDLE file_mapping = PACE_INVALID_HANDLE;
-
- if (PACE_BIT_ENABLED (flags, MAP_PRIVATE))
- {
- prot = PAGE_WRITECOPY;
- nt_flags = FILE_MAP_COPY;
- }
- else if (PACE_BIT_ENABLED (flags, MAP_SHARED))
- {
- if (PACE_BIT_ENABLED (prot, PAGE_READONLY))
- nt_flags = FILE_MAP_READ;
- if (PACE_BIT_ENABLED (prot, PAGE_READWRITE))
- nt_flags = FILE_MAP_WRITE;
- }
-
- file_mapping = CreateFileMapping (fildes,
- 0,
- prot,
- 0,
- 0,
- 0);
- if (file_mapping == 0)
- PACE_FAIL_RETURN (MAP_FAILED);
-
-# if defined (PACE_OS_EXTRA_MMAP_FLAGS)
- nt_flags |= PACE_OS_EXTRA_MMAP_FLAGS;
-# endif /* PACE_OS_EXTRA_MMAP_FLAGS */
-
-# if !defined (PACE_HAS_WINCE)
- addr_mapping = MapViewOfFileEx (file_mapping,
- nt_flags,
- 0,
- off,
- len,
- addr);
-# else
- ACE_UNUSED_ARG (addr); /* WinCE does not allow specifying <addr>.*/
- addr_mapping = MapViewOfFile (file_mapping,
- nt_flags,
- 0,
- off,
- len);
-# endif /* ! PACE_HAS_WINCE */
-
- /* Only close this down if we used the temporary. */
- if (file_mapping == PACE_INVALID_HANDLE)
- CloseHandle (file_mapping);
-
- if (addr_mapping == 0)
- PACE_FAIL_RETURN (MAP_FAILED);
-
- else if (PACE_BIT_ENABLED (flags, MAP_FIXED)
- && addr_mapping != addr)
- {
- errno = EINVAL;
- return MAP_FAILED;
- }
- else
- return addr_mapping;
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-int
-mprotect (void * addr, size_t len, int prot)
-{
- DWORD dummy; /* Sigh! */
- return VirtualProtect(addr, len, prot, &dummy) ? 0 : -1;
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-int
-msync (void * addr, size_t len, int flags)
-{
- PACE_UNUSED_ARG (flags);
- PACE_WIN32CALL_RETURN
- (PACE_ADAPT_RETVAL
- (FlushViewOfFile (addr, len), pace_result_), int, -1);
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-int
-munmap (void * addr, size_t len)
-{
- PACE_UNUSED_ARG (len);
- PACE_WIN32CALL_RETURN
- (PACE_ADAPT_RETVAL
- (UnmapViewOfFile (addr), pace_result_), int, -1);
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
diff --git a/PACE/pace/win32/mman.h b/PACE/pace/win32/mman.h
deleted file mode 100644
index 2a5621823d7..00000000000
--- a/PACE/pace/win32/mman.h
+++ /dev/null
@@ -1,65 +0,0 @@
-/* $Id$
-
- * ============================================================================
- *
- * = LIBRARY
- * pace
- *
- * = FILENAME
- * pace/win32/mman.h
- *
- * = AUTHOR
- * Luther Baker
- *
- * ============================================================================ */
-
-#ifndef PACE_SYS_MMAN_H_WIN32
-#define PACE_SYS_MMAN_H_WIN32
-
-#if defined (PACE_HAS_CPLUSPLUS)
-extern "C" {
-#endif /* PACE_HAS_CPLUSPLUS */
-
-# define MAP_PRIVATE 1
-# define MAP_SHARED 2
-# define MAP_FIXED 4
-# if !defined (MAP_FAILED)
-# undef MAP_FAILED
-# define MAP_FAILED ((void *) -1)
-# endif
-
-# define PACE_MAP_FAILED MAP_FAILED
-# define PACE_MAP_FIXED MAP_FIXED
-# define PACE_MAP_PRIVATE MAP_PRIVATE
-# define PACE_MAP_SHARED MAP_SHARED
-# define PACE_MCL_CURRENT MCL_CURRENT
-# define PACE_MS_ASYNC MS_ASYNC
-# define PACE_MS_INVALIDATE
-# define PACE_MS_SYNC MS_SYNC
-# define PACE_PROT_EXEC PROT_EXEC
-# define PACE_PROT_NONE PROT_NONE
-# define PACE_PROT_READ PROT_READ
-# define PACE_PROT_WRITE PROT_WRITE
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
- void * mmap (void * addr, size_t len, int prot, int flags,
- PACE_HANDLE fildes, pace_off_t off);
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
- int mprotect (void * addr, size_t len, int prot);
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
- int msync (void * addr, size_t len, int flags);
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
- int munmap (void * addr, size_t len);
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if defined (PACE_HAS_CPLUSPLUS)
-}
-#endif /* PACE_HAS_CPLUSPLUS */
-
-#endif /* PACE_SYS_MMAN_H */
diff --git a/PACE/pace/win32/mman.inl b/PACE/pace/win32/mman.inl
deleted file mode 100644
index c324089991b..00000000000
--- a/PACE/pace/win32/mman.inl
+++ /dev/null
@@ -1,129 +0,0 @@
-/* $Id$ -*- C -*-
-
- * =============================================================================
- *
- * = LIBRARY
- * pace
- *
- * = FILENAME
- * pace/win32/mman.inl
- *
- * = AUTHOR
- * Luther Baker
- *
- * ============================================================================= */
-
-#include <io.h>
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_mlock (const void * addr, pace_size_t len)
-{
- PACE_UNUSED_ARG (addr);
- PACE_UNUSED_ARG (len);
- PACE_ERRNO_NO_SUPPORT_RETURN (-1);
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_mlockall (int flags)
-{
- PACE_UNUSED_ARG (flags);
- PACE_ERRNO_NO_SUPPORT_RETURN (-1);
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-void *
-pace_mmap (void * addr,
- size_t len,
- int prot,
- int flags,
- PACE_HANDLE fildes,
- pace_off_t off)
-{
- return mmap (addr, len, prot, flags, fildes, off);
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_munlock (const void * addr, size_t len)
-{
- PACE_UNUSED_ARG (addr);
- PACE_UNUSED_ARG (len);
- PACE_ERRNO_NO_SUPPORT_RETURN (-1);
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_mprotect (void * addr, size_t len, int prot)
-{
- return mprotect (addr, len, prot);
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_msync (void * addr,
- size_t len,
- int flags)
-{
- return msync (addr, len, flags);
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_munlockall ()
-{
- PACE_ERRNO_NO_SUPPORT_RETURN (-1);
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_munmap (void * addr, size_t len)
-{
- return munmap (addr, len);
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-PACE_HANDLE
-pace_shm_open (const char * name, int oflag, pace_mode_t mode)
-{
- /* Would be similar to ACE_OS::open
- which (currently uses threads and Object Manager).
- */
- PACE_HANDLE retval = PACE_INVALID_HANDLE;
- PACE_UNUSED_ARG (name);
- PACE_UNUSED_ARG (oflag);
- PACE_UNUSED_ARG (mode);
- PACE_ERRNO_NO_SUPPORT_RETURN (retval);
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_shm_unlink (const char * name)
-{
-#if defined (__BORLANDC__)
- return unlink (name);
-#else /* __BORLANDC__ */
- return _unlink (name);
-#endif /* __BORLANDC__ */
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
diff --git a/PACE/pace/win32/mqueue.c b/PACE/pace/win32/mqueue.c
deleted file mode 100644
index 2f08c3e979e..00000000000
--- a/PACE/pace/win32/mqueue.c
+++ /dev/null
@@ -1,20 +0,0 @@
-/* $Id$
-
- * =============================================================================
- *
- * = LIBRARY
- * pace ()
- *
- * = FILENAME
- * pace/win32/mqueue.c
- *
- * = AUTHOR
- * Luther Baker
- *
- * ============================================================================= */
-
-#include "pace/mqueue.h"
-
-#if !defined (PACE_HAS_INLINE)
-# include "pace/win32/mqueue.inl"
-#endif /* ! PACE_HAS_INLINE */
diff --git a/PACE/pace/win32/mqueue.h b/PACE/pace/win32/mqueue.h
deleted file mode 100644
index 17110c5a740..00000000000
--- a/PACE/pace/win32/mqueue.h
+++ /dev/null
@@ -1,45 +0,0 @@
-/* $Id$
-
- * ============================================================================
- *
- * = LIBRARY
- * pace
- *
- * = FILENAME
- * pace/win32/mqueue.h
- *
- * = AUTHOR
- * Luther Baker
- *
- * ============================================================================ */
-
-#ifndef PACE_MQUEUE_H_WIN32
-#define PACE_MQUEUE_H_WIN32
-
-#include "pace/signal.h"
-
-#if defined (PACE_HAS_CPLUSPLUS)
-extern "C" {
-#endif /* PACE_HAS_CPLUSPLUS */
-
-#ifndef PACE_MQD_T
-#define PACE_MQD_T
- /* Temporary fix until we emulate these funcs.
- typedef mqd_t pace_mqd_t;
- */
- typedef int pace_mqd_t;
-#endif /* PACE_MQD_T */
-
-#ifndef PACE_MQ_ATTR
-#define PACE_MQ_ATTR
- /* Temporary fix until we emulate these funcs.
- typedef struct mq_attr pace_mq_attr
- */
- typedef struct mq_attr { int a_; } pace_mq_attr;
-#endif /* PACE_MQ_ATTR */
-
-#if defined (PACE_HAS_CPLUSPLUS)
-}
-#endif /* PACE_HAS_CPLUSPLUS */
-
-#endif /* PACE_MQUEUE_H_WIN32 */
diff --git a/PACE/pace/win32/mqueue.inl b/PACE/pace/win32/mqueue.inl
deleted file mode 100644
index 956ddaf7be2..00000000000
--- a/PACE/pace/win32/mqueue.inl
+++ /dev/null
@@ -1,104 +0,0 @@
-/* $Id$ -*- C -*-
-
- * =============================================================================
- *
- * = LIBRARY
- * pace
- *
- * = FILENAME
- * pace/win32/mqueue.inl
- *
- * = AUTHOR
- * Luther Baker
- *
- * ============================================================================= */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_mq_close (pace_mqd_t mqdes)
-{
- PACE_UNUSED_ARG (mqdes);
- PACE_ERRNO_NO_SUPPORT_RETURN (-1);
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_mq_getattr (pace_mqd_t mqdes,
- pace_mq_attr * mqstat)
-{
- PACE_UNUSED_ARG (mqdes);
- PACE_UNUSED_ARG (mqstat);
- PACE_ERRNO_NO_SUPPORT_RETURN (-1);
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_mq_notify (pace_mqd_t mqdes,
- const pace_sigevent * notification)
-{
- PACE_UNUSED_ARG (mqdes);
- PACE_UNUSED_ARG (notification);
- PACE_ERRNO_NO_SUPPORT_RETURN (-1);
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-pace_ssize_t
-pace_mq_receive (pace_mqd_t mqdes,
- char * msg_ptr,
- size_t msg_len,
- unsigned int * msg_prio)
-{
- PACE_UNUSED_ARG (mqdes);
- PACE_UNUSED_ARG (msg_ptr);
- PACE_UNUSED_ARG (msg_len);
- PACE_UNUSED_ARG (msg_prio);
- PACE_ERRNO_NO_SUPPORT_RETURN (-1);
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_mq_send (pace_mqd_t mqdes,
- const char * msg_ptr,
- size_t msg_len,
- unsigned int msg_prio)
-{
- PACE_UNUSED_ARG (mqdes);
- PACE_UNUSED_ARG (msg_ptr);
- PACE_UNUSED_ARG (msg_len);
- PACE_UNUSED_ARG (msg_prio);
- PACE_ERRNO_NO_SUPPORT_RETURN (-1);
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_mq_setattr (pace_mqd_t mqdes,
- const pace_mq_attr * mqstat,
- pace_mq_attr * omqstat)
-{
- PACE_UNUSED_ARG (mqdes);
- PACE_UNUSED_ARG (mqstat);
- PACE_UNUSED_ARG (omqstat);
- PACE_ERRNO_NO_SUPPORT_RETURN (-1);
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_mq_unlink (const char * name)
-{
- PACE_UNUSED_ARG (name);
- PACE_ERRNO_NO_SUPPORT_RETURN (-1);
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
diff --git a/PACE/pace/win32/pace.dsw b/PACE/pace/win32/pace.dsw
deleted file mode 100644
index d1deae4e284..00000000000
--- a/PACE/pace/win32/pace.dsw
+++ /dev/null
@@ -1,41 +0,0 @@
-Microsoft Developer Studio Workspace File, Format Version 6.00
-# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
-
-###############################################################################
-
-Project: "pace_dll"=.\pace_dll.dsp - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
-}}}
-
-###############################################################################
-
-Project: "pace_lib"=.\pace_lib.dsp - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
-}}}
-
-###############################################################################
-
-Global:
-
-Package=<5>
-{{{
-}}}
-
-Package=<3>
-{{{
-}}}
-
-###############################################################################
-
diff --git a/PACE/pace/win32/pace_dll.dsp b/PACE/pace/win32/pace_dll.dsp
deleted file mode 100644
index 8fca3ae3eb9..00000000000
--- a/PACE/pace/win32/pace_dll.dsp
+++ /dev/null
@@ -1,623 +0,0 @@
-# Microsoft Developer Studio Project File - Name="PACE DLL" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 6.00
-# ** DO NOT EDIT **
-
-# TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102
-
-CFG=PACE DLL - Win32 Debug
-!MESSAGE This is not a valid makefile. To build this project using NMAKE,
-!MESSAGE use the Export Makefile command and run
-!MESSAGE
-!MESSAGE NMAKE /f "pace_dll.mak".
-!MESSAGE
-!MESSAGE You can specify a configuration when running NMAKE
-!MESSAGE by defining the macro CFG on the command line. For example:
-!MESSAGE
-!MESSAGE NMAKE /f "pace_dll.mak" CFG="PACE DLL - Win32 Debug"
-!MESSAGE
-!MESSAGE Possible choices for configuration are:
-!MESSAGE
-!MESSAGE "PACE DLL - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library")
-!MESSAGE "PACE DLL - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library")
-!MESSAGE
-
-# Begin Project
-# PROP AllowPerConfigDependencies 0
-# PROP Scc_ProjName ""
-# PROP Scc_LocalPath ""
-CPP=cl.exe
-MTL=midl.exe
-RSC=rc.exe
-
-!IF "$(CFG)" == "PACE DLL - Win32 Release"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "Release"
-# PROP BASE Intermediate_Dir "Release"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir ""
-# PROP Intermediate_Dir "DLL\Release"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "PACE_DLL_EXPORTS" /YX /FD /c
-# ADD CPP /nologo /MD /W3 /GX /O2 /I "../../" /D "NDEBUG" /D "_WINDOWS" /D "PACE_BUILD_DLL" /D "WIN32" /D "PACE_HAS_ALL_POSIX_FUNCS" /FD /c
-# SUBTRACT CPP /YX
-# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32
-# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32
-# ADD BASE RSC /l 0x409 /d "NDEBUG"
-# ADD RSC /l 0x409 /d "NDEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /machine:I386
-# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /machine:I386 /out:"../../../bin/pace.dll"
-# SUBTRACT LINK32 /profile
-
-!ELSEIF "$(CFG)" == "PACE DLL - Win32 Debug"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir "pace_dll___Win32_Debug"
-# PROP BASE Intermediate_Dir "pace_dll___Win32_Debug"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir ""
-# PROP Intermediate_Dir "DLL\Debug"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /MTd /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "PACE_DLL_EXPORTS" /YX /FD /c
-# ADD CPP /nologo /MDd /W3 /Gm /GX /Zi /Od /I "../../" /D "_DEBUG" /D "_WINDOWS" /D "PACE_BUILD_DLL" /D "WIN32" /D "PACE_HAS_ALL_POSIX_FUNCS" /FD /c
-# SUBTRACT CPP /YX
-# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32
-# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32
-# ADD BASE RSC /l 0x409 /d "_DEBUG"
-# ADD RSC /l 0x409 /d "_DEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /debug /machine:I386 /pdbtype:sept
-# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /debug /machine:I386 /out:"../../../bin/paced.dll" /pdbtype:sept
-# SUBTRACT LINK32 /nodefaultlib
-
-!ENDIF
-
-# Begin Target
-
-# Name "PACE DLL - Win32 Release"
-# Name "PACE DLL - Win32 Debug"
-# Begin Group "Source Files"
-
-# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
-# Begin Source File
-
-SOURCE=.\aio.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\assert.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\ctype.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\dirent.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\fcntl.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\grp.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\locale.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\math.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\mman.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\mqueue.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\pthread.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\pwd.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\sched.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\semaphore.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\setjmp.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\signal.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\stat.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\stdio.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\stdlib.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\string.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\termios.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\time.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\times.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\unistd.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\utime.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\utsname.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\wait.c
-# End Source File
-# End Group
-# Begin Group "Header Files (Prototypes)"
-
-# PROP Default_Filter "h;hpp;hxx;hm;inl"
-# Begin Source File
-
-SOURCE=..\aio.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\assert.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\ctype.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\dirent.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\errno.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\fcntl.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\grp.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\limits.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\locale.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\math.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\sys\mman.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\mqueue.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\pthread.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\pwd.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\sched.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\semaphore.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\setjmp.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\signal.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\sys\stat.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\stddef.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\stdio.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\stdlib.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\string.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\termios.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\time.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\sys\times.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\sys\types.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\unistd.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\utime.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\sys\utsname.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\sys\wait.h
-# End Source File
-# End Group
-# Begin Group "Header Files (Win32 Specific)"
-
-# PROP Default_Filter "h"
-# Begin Source File
-
-SOURCE=.\aio.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\assert.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\ctype.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\dirent.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\errno.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\fcntl.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\grp.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\limits.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\locale.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\math.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\mman.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\mqueue.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\pthread.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\pthreadtypes.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\pwd.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\sched.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\schedtypes.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\semaphore.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\setjmp.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\signal.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\stat.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\stdio.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\stdlib.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\string.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\termios.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\time.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\times.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\types.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\unistd.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\utime.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\utsname.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\wait.h
-# End Source File
-# End Group
-# Begin Group "Inline Files"
-
-# PROP Default_Filter "inl"
-# Begin Source File
-
-SOURCE=.\aio.inl
-# End Source File
-# Begin Source File
-
-SOURCE=.\assert.inl
-# End Source File
-# Begin Source File
-
-SOURCE=.\ctype.inl
-# End Source File
-# Begin Source File
-
-SOURCE=.\dirent.inl
-# End Source File
-# Begin Source File
-
-SOURCE=.\fcntl.inl
-# End Source File
-# Begin Source File
-
-SOURCE=.\grp.inl
-# End Source File
-# Begin Source File
-
-SOURCE=.\locale.inl
-# End Source File
-# Begin Source File
-
-SOURCE=.\math.inl
-# End Source File
-# Begin Source File
-
-SOURCE=.\mman.inl
-# End Source File
-# Begin Source File
-
-SOURCE=.\mqueue.inl
-# End Source File
-# Begin Source File
-
-SOURCE=.\pthread.inl
-# End Source File
-# Begin Source File
-
-SOURCE=.\pwd.inl
-# End Source File
-# Begin Source File
-
-SOURCE=.\sched.inl
-# End Source File
-# Begin Source File
-
-SOURCE=.\semaphore.inl
-# End Source File
-# Begin Source File
-
-SOURCE=.\setjmp.inl
-# End Source File
-# Begin Source File
-
-SOURCE=.\signal.inl
-# End Source File
-# Begin Source File
-
-SOURCE=.\stat.inl
-# End Source File
-# Begin Source File
-
-SOURCE=.\stdio.inl
-# End Source File
-# Begin Source File
-
-SOURCE=.\stdlib.inl
-# End Source File
-# Begin Source File
-
-SOURCE=.\string.inl
-# End Source File
-# Begin Source File
-
-SOURCE=.\termios.inl
-# End Source File
-# Begin Source File
-
-SOURCE=.\time.inl
-# End Source File
-# Begin Source File
-
-SOURCE=.\times.inl
-# End Source File
-# Begin Source File
-
-SOURCE=.\unistd.inl
-# End Source File
-# Begin Source File
-
-SOURCE=.\utime.inl
-# End Source File
-# Begin Source File
-
-SOURCE=.\utsname.inl
-# End Source File
-# Begin Source File
-
-SOURCE=.\wait.inl
-# End Source File
-# End Group
-# Begin Group "Config Files"
-
-# PROP Default_Filter "c"
-# Begin Source File
-
-SOURCE=..\config\compiler.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\config\config.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\config\constants.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\config\defaults.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\config\defines.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\config\features.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\config\platform.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\config\temp.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\config\utility.h
-# End Source File
-# End Group
-# Begin Group "Resource Files"
-
-# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
-# End Group
-# End Target
-# End Project
diff --git a/PACE/pace/win32/pace_lib.dsp b/PACE/pace/win32/pace_lib.dsp
deleted file mode 100644
index 0a41c79bf03..00000000000
--- a/PACE/pace/win32/pace_lib.dsp
+++ /dev/null
@@ -1,609 +0,0 @@
-# Microsoft Developer Studio Project File - Name="PACE LIB" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 6.00
-# ** DO NOT EDIT **
-
-# TARGTYPE "Win32 (x86) Static Library" 0x0104
-
-CFG=PACE LIB - Win32 Static Debug
-!MESSAGE This is not a valid makefile. To build this project using NMAKE,
-!MESSAGE use the Export Makefile command and run
-!MESSAGE
-!MESSAGE NMAKE /f "pace_lib.mak".
-!MESSAGE
-!MESSAGE You can specify a configuration when running NMAKE
-!MESSAGE by defining the macro CFG on the command line. For example:
-!MESSAGE
-!MESSAGE NMAKE /f "pace_lib.mak" CFG="PACE LIB - Win32 Static Debug"
-!MESSAGE
-!MESSAGE Possible choices for configuration are:
-!MESSAGE
-!MESSAGE "PACE LIB - Win32 Static Release" (based on "Win32 (x86) Static Library")
-!MESSAGE "PACE LIB - Win32 Static Debug" (based on "Win32 (x86) Static Library")
-!MESSAGE
-
-# Begin Project
-# PROP AllowPerConfigDependencies 0
-# PROP Scc_ProjName ""
-# PROP Scc_LocalPath ""
-CPP=cl.exe
-RSC=rc.exe
-
-!IF "$(CFG)" == "PACE LIB - Win32 Static Release"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "Release"
-# PROP BASE Intermediate_Dir "Release"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir ""
-# PROP Intermediate_Dir "LIB\Release"
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_MBCS" /D "_LIB" /YX /FD /c
-# ADD CPP /nologo /MD /W3 /GX /O2 /I "../../" /D "NDEBUG" /D "PACE_AS_STATIC_LIBS" /D "WIN32" /D "PACE_HAS_ALL_POSIX_FUNCS" /V"ERBOSE:LIB" /FD /c
-# ADD BASE RSC /l 0x409 /d "NDEBUG"
-# ADD RSC /l 0x409 /d "NDEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LIB32=link.exe -lib
-# ADD BASE LIB32 /nologo
-# ADD LIB32 /nologo /out:".\paces.lib"
-
-!ELSEIF "$(CFG)" == "PACE LIB - Win32 Static Debug"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir "pace_lib___Win32_Debug"
-# PROP BASE Intermediate_Dir "pace_lib___Win32_Debug"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir ""
-# PROP Intermediate_Dir "LIB\Debug"
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_MBCS" /D "_LIB" /YX /FD /c
-# ADD CPP /nologo /MDd /W3 /Gm /GX /Zi /Od /I "../../" /D "_DEBUG" /D "WIN32" /D "PACE_HAS_ALL_POSIX_FUNCS" /D "PACE_AS_STATIC_LIBS" /FD /c
-# SUBTRACT CPP /YX
-# ADD BASE RSC /l 0x409 /d "_DEBUG"
-# ADD RSC /l 0x409 /d "_DEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LIB32=link.exe -lib
-# ADD BASE LIB32 /nologo
-# ADD LIB32 /nologo /out:".\pacesd.lib"
-
-!ENDIF
-
-# Begin Target
-
-# Name "PACE LIB - Win32 Static Release"
-# Name "PACE LIB - Win32 Static Debug"
-# Begin Group "Source Files"
-
-# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
-# Begin Source File
-
-SOURCE=.\aio.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\assert.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\ctype.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\dirent.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\fcntl.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\grp.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\locale.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\math.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\mman.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\mqueue.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\pthread.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\pwd.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\sched.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\semaphore.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\setjmp.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\signal.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\stat.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\stdio.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\stdlib.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\string.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\termios.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\time.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\times.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\unistd.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\utime.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\utsname.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\wait.c
-# End Source File
-# End Group
-# Begin Group "Header Files (Prototypes)"
-
-# PROP Default_Filter "h;hpp;hxx;hm;inl"
-# Begin Source File
-
-SOURCE=..\aio.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\assert.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\ctype.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\dirent.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\errno.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\fcntl.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\grp.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\limits.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\locale.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\math.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\sys\mman.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\mqueue.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\pthread.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\pwd.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\sched.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\semaphore.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\setjmp.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\signal.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\sys\stat.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\stddef.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\stdio.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\stdlib.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\string.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\termios.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\time.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\sys\times.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\sys\types.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\unistd.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\utime.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\sys\utsname.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\sys\wait.h
-# End Source File
-# End Group
-# Begin Group "Header Files (Win32 Specific)"
-
-# PROP Default_Filter ""
-# Begin Source File
-
-SOURCE=.\aio.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\assert.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\ctype.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\dirent.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\errno.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\fcntl.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\grp.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\limits.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\locale.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\math.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\mman.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\mqueue.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\pthread.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\pthreadtypes.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\pwd.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\sched.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\schedtypes.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\semaphore.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\setjmp.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\signal.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\stat.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\stdio.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\stdlib.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\string.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\termios.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\time.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\times.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\types.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\unistd.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\utime.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\utsname.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\wait.h
-# End Source File
-# End Group
-# Begin Group "Inline Files"
-
-# PROP Default_Filter "inl"
-# Begin Source File
-
-SOURCE=.\aio.inl
-# End Source File
-# Begin Source File
-
-SOURCE=.\assert.inl
-# End Source File
-# Begin Source File
-
-SOURCE=.\ctype.inl
-# End Source File
-# Begin Source File
-
-SOURCE=.\dirent.inl
-# End Source File
-# Begin Source File
-
-SOURCE=.\fcntl.inl
-# End Source File
-# Begin Source File
-
-SOURCE=.\grp.inl
-# End Source File
-# Begin Source File
-
-SOURCE=.\locale.inl
-# End Source File
-# Begin Source File
-
-SOURCE=.\math.inl
-# End Source File
-# Begin Source File
-
-SOURCE=.\mman.inl
-# End Source File
-# Begin Source File
-
-SOURCE=.\mqueue.inl
-# End Source File
-# Begin Source File
-
-SOURCE=.\pthread.inl
-# End Source File
-# Begin Source File
-
-SOURCE=.\pwd.inl
-# End Source File
-# Begin Source File
-
-SOURCE=.\sched.inl
-# End Source File
-# Begin Source File
-
-SOURCE=.\semaphore.inl
-# End Source File
-# Begin Source File
-
-SOURCE=.\setjmp.inl
-# End Source File
-# Begin Source File
-
-SOURCE=.\signal.inl
-# End Source File
-# Begin Source File
-
-SOURCE=.\stat.inl
-# End Source File
-# Begin Source File
-
-SOURCE=.\stdio.inl
-# End Source File
-# Begin Source File
-
-SOURCE=.\stdlib.inl
-# End Source File
-# Begin Source File
-
-SOURCE=.\string.inl
-# End Source File
-# Begin Source File
-
-SOURCE=.\termios.inl
-# End Source File
-# Begin Source File
-
-SOURCE=.\time.inl
-# End Source File
-# Begin Source File
-
-SOURCE=.\times.inl
-# End Source File
-# Begin Source File
-
-SOURCE=.\unistd.inl
-# End Source File
-# Begin Source File
-
-SOURCE=.\utime.inl
-# End Source File
-# Begin Source File
-
-SOURCE=.\utsname.inl
-# End Source File
-# Begin Source File
-
-SOURCE=.\wait.inl
-# End Source File
-# End Group
-# Begin Group "Config Files"
-
-# PROP Default_Filter ""
-# Begin Source File
-
-SOURCE=..\config\compiler.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\config\config.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\config\constants.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\config\defaults.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\config\defines.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\config\features.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\config\platform.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\config\temp.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\config\utility.h
-# End Source File
-# End Group
-# End Target
-# End Project
diff --git a/PACE/pace/win32/pthread.c b/PACE/pace/win32/pthread.c
deleted file mode 100644
index b53dab9396c..00000000000
--- a/PACE/pace/win32/pthread.c
+++ /dev/null
@@ -1,359 +0,0 @@
-/* $Id$
-
- * =============================================================================
- *
- * = LIBRARY
- * pace
- *
- * = FILENAME
- * pace/win32/pthread.c
- *
- * = AUTHOR
- * Luther Baker
- *
- * ============================================================================= */
-
-#include "pace/pthread.h"
-#include <process.h>
-
-#if !defined (PACE_HAS_INLINE)
-# include "pace/win32/pthread.inl"
-#endif /* ! PACE_HAS_INLINE */
-
-//////////////////////////////////////////////////////////////////////
-// pthread_t
-//////////////////////////////////////////////////////////////////////
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-int
-pthread_create (pace_pthread_t * thread,
- const pace_pthread_attr_t * attr,
- void * (*start_routine) (void*),
- void * arg)
-{
- /* Get around a gcc bug. */
- typedef unsigned (__stdcall *bthrexr)(void*);
-
- unsigned flags = 0x0, thr_addr = 0x0;
- if (attr->sparam_.sched_priority != THREAD_PRIORITY_NORMAL)
- {
- // CREATE_SUSPENDED is the only flag win32 currently supports
- flags = CREATE_SUSPENDED;
- }
-
- thread = (pace_pthread_t)
- _beginthreadex (0,
- attr->stack_size_,
- (bthrexr) start_routine,
- arg,
- flags,
- &thr_addr);
-
- if (flags == CREATE_SUSPENDED && thread != 0)
- {
- SetThreadPriority (thread, attr->sparam_.sched_priority);
- ResumeThread (thread);
- }
-
- if (thread == 0)
- {
- return 0;
- }
- else
- {
- PACE_FAIL_RETURN (-1);
- }
-
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-pace_pthread_t
-pthread_self ()
-{
- return GetCurrentThread ();
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-int
-pthread_getschedparam (pace_pthread_t thread,
- int * policy,
- pace_sched_param * param)
-{
- PACE_UNUSED_ARG (policy);
- if (param != (pace_sched_param*)0)
- {
- param->sched_priority = GetThreadPriority (thread);
- return 0;
- }
- /* Invalid pointer to pace_sched_param. */
- return -1;
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
- int pthread_setschedparam (pace_pthread_t thread,
- int policy,
- const pace_sched_param * param)
-{
- PACE_UNUSED_ARG(policy);
-
- if (SetThreadPriority (thread, param->sched_priority))
- {
- return 0;
- }
- /* ERROR: with return value of SetThreadPriority. */
- return -1;
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-//////////////////////////////////////////////////////////////////////
-// pthread_attr_t
-//////////////////////////////////////////////////////////////////////
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-int
-pthread_attr_init (pace_pthread_attr_t * attr)
-{
- /* These need to be the platform defaults!
- * Since I made this, I need to maintain this invariant!
- * Eventually, #define 'words' would be better than
- * constants here! */
-
- attr->init_ = 1;
- attr->detach_state_ = 0;
- attr->policy_ = 0;
- attr->sparam_.sched_priority = 0;
- attr->inherit_sched_ = 0;
- attr->contention_scope_ = 0;
- attr->guard_size_ = 0;
- attr->stackaddr_set_ = 0;
- attr->stack_addr_ = (void*)0;
- attr->stack_size_ = 0;
-
- return 0;
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-int
-pthread_attr_destroy (pace_pthread_attr_t * attr)
-{
- if (attr->init_ == 1)
- {
- attr->init_ = 0;
- return 0;
- }
- /* ERROR: not initilalized properly! */
- return -1;
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-int
-pthread_attr_getdetachstate (const pace_pthread_attr_t * attr,
- int * detachstate)
-{
- if (attr->init_ == 1)
- {
- *detachstate = attr->detach_state_;
- return 0;
- }
- /* ERROR: not initilalized properly! */
- return -1;
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-int
-pthread_attr_setdetachstate (pace_pthread_attr_t * attr,
- int detachstate)
-{
- if (attr->init_ == 1)
- {
- attr->detach_state_ = detachstate;
- return 0;
- }
- /* ERROR: not initilalized properly! */
- return -1;
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-int
-pthread_attr_getinheritsched (const pace_pthread_attr_t * attr,
- int * inheritsched)
-{
- if (attr->init_ == 1)
- {
- *inheritsched = attr->inherit_sched_;
- return 0;
- }
- /* ERROR: not initilalized properly! */
- return -1;
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-int
-pthread_attr_setinheritsched (pace_pthread_attr_t * attr,
- int inheritsched)
-{
- if (attr->init_ == 1)
- {
- attr->inherit_sched_ = inheritsched;
- return 0;
- }
- /* ERROR: not initilalized properly! */
- return -1;
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-int
-pthread_attr_getschedparam (const pace_pthread_attr_t * attr,
- pace_sched_param * param)
-{
- if (attr->init_ == 1)
- {
- param->sched_priority = attr->sparam_.sched_priority;
- return 0;
- }
- /* ERROR: not initilalized properly! */
- return -1;
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-int
-pthread_attr_setschedparam (pace_pthread_attr_t * attr,
- const pace_sched_param * param)
-{
- if (attr->init_ == 1)
- {
- attr->sparam_.sched_priority = param->sched_priority;
- return 0;
- }
- /* ERROR: not initilalized properly! */
- return -1;
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-int pthread_attr_getschedpolicy (const pace_pthread_attr_t * attr,
- int * policy)
-{
- if (attr->init_ == 1)
- {
- *policy = attr->policy_;
- return 0;
- }
- /* ERROR: not initilalized properly! */
- return -1;
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-int pthread_attr_setschedpolicy (pace_pthread_attr_t * attr,
- int policy)
-{
- if (attr->init_ == 1)
- {
- attr->policy_ = policy;
- return 0;
- }
- /* ERROR: not initilalized properly! */
- return -1;
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-int
-pthread_attr_getscope (const pace_pthread_attr_t * attr,
- int * contentionscope)
-{
- if (attr->init_ == 1)
- {
- *contentionscope = attr->contention_scope_;
- return 0;
- }
- /* ERROR: not initialized properly! */
- return -1;
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-int
-pthread_attr_setscope (pace_pthread_attr_t * attr,
- int contentionscope)
-{
- if (attr->init_ == 1)
- {
- attr->contention_scope_ = contentionscope;
- return 0;
- }
- /* ERROR: not initialized properly! */
- return -1;
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-int
-pthread_attr_getstackaddr (const pace_pthread_attr_t * attr,
- void ** stackaddr)
-{
- if (attr->init_ == 1)
- {
- *stackaddr = attr->stack_addr_;
- return 0;
- }
- /* ERROR: not initilalized properly! */
- return -1;
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-int
-pthread_attr_setstackaddr (pace_pthread_attr_t * attr,
- void * stackaddr)
-{
- if (attr->init_ == 1)
- {
- attr->stack_addr_ = stackaddr;
- return 0;
- }
- /* ERROR: not initilalized properly! */
- return -1;
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-int
-pthread_attr_getstacksize (const pace_pthread_attr_t * attr,
- size_t * stacksize)
-{
- if (attr->init_ == 1)
- {
- *stacksize = attr->stack_size_;
- return 0;
- }
- /* ERROR: not initilalized properly! */
- return -1;
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-int
-pthread_attr_setstacksize (pace_pthread_attr_t * attr,
- size_t stacksize)
-{
- if (attr->init_ == 1)
- {
- attr->stack_size_ = stacksize;
- return 0;
- }
- /* ERROR: not initilalized properly! */
- return -1;
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
diff --git a/PACE/pace/win32/pthread.h b/PACE/pace/win32/pthread.h
deleted file mode 100644
index 582b89c2ab1..00000000000
--- a/PACE/pace/win32/pthread.h
+++ /dev/null
@@ -1,178 +0,0 @@
-/* $Id$
-
- * ============================================================================
- *
- * = LIBRARY
- * pace
- *
- * = FILENAME
- * pace/win32/pthread.h
- *
- * = AUTHOR
- * Luther Baker
- *
- * ============================================================================ */
-
-#ifndef PACE_PTHREAD_H_WIN32
-#define PACE_PTHREAD_H_WIN32
-
-#include "pace/sys/types.h"
-#include "pace/signal.h"
-
-#if defined (PACE_HAS_CPLUSPLUS)
-extern "C" {
-#endif /* PACE_HAS_CPLUSPLUS */
-
-#define PACE_PTHREAD_CANCELED PTHREAD_CANCELED
-#define PACE_PTHREAD_CANCEL_AYNCHRONOUS PTHREAD_CANCEL_ASYNCHRONOUS
-#define PACE_PTHREAD_CANCEL_DEFERRED PTHREAD_CANCEL_DEFERRED
-#define PACE_PTHREAD_CACEL_DISABLE PTHREAD_CANCEL_DISABLE
-#define PACE_PTHREAD_CANCEL_ENABLE PTHREAD_CANCEL_ENABLE
-#define PACE_PTHREAD_COND_INITIALIZER PTHREAD_COND_INITIALIZER
-#define PACE_PTHREAD_CREATE_DETACHED PTHREAD_CREATE_DETACHED
-#define PACE_PTHREAD_CREATE_JOINABLE PTHREAD_CREATE_JOINABLE
-#define PACE_PTHREAD_EXPLICIT_SCHED PTHREAD_EXPLICIT_SCHED
-#define PACE_PTHREAD_INHERIT_SCHED PTHREAD_INHERIT_SCHED
-#define PACE_PTHREAD_MUTEX_INITIALIZER PTHREAD_MUTEX_INITIALIZER
-#define PACE_PTHREAD_ONCE_INIT PTHREAD_ONCE_INIT
-#define PACE_PTHREAD_PRIO_INHERIT PTHREAD_PRIO_INHERIT
-#define PACE_PTHREAD_PRIO_NONE PTHREAD_PRIO_NONE
-#define PACE_PTHREAD_PRIO_PROTECT PTHREAD_PRIO_PROTECT
-#define PACE_PTHREAD_PROCESS_PRIVATE PTHREAD_PROCESS_PRIVATE
-#define PACE_PTHREAD_PROCESS_SHARED PTHREAD_PROCESS_SHARED
-#define PACE_PTHREAD_SCOPE_PROCESS PTHREAD_SCOPE_PROCESS
-#define PACE_PTHREAD_SCOPE_SYSTEM PTHREAD_SCOPE_SYSTEM
-
-#if defined (PACE_HAS_CPLUSPLUS)
-
-# ifndef PACE_ATFORK_PF
-# define PACE_ATFORK_PF
- typedef void (*pace_atfork_pf) (void);
-# endif /* PACE_ATFORK_PF */
-
-# ifndef PACE_KEYCREATE_PF
-# define PACE_KEYCREATE_PF
- typedef void (*pace_keycreate_pf) (void*);
-# endif /* PACE_KEYCREATE_PF */
-
-# ifndef PACE_ONCE_PF
-# define PACE_ONCE_PF
- typedef void (*pace_once_pf) (void);
-# endif /* PACE_ONCE_PF */
-
-# ifndef PACE_CREATE_PF
-# define PACE_CREATE_PF
- typedef void* (*pace_create_pf) (void*);
-# endif /* PACE_CREATE_PF */
-
-#endif /* PACE_HAS_CPLUPLUS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
- int pthread_create (pace_pthread_t * thread,
- const pace_pthread_attr_t * attr,
- void * (*start_routine) (void*),
- void * arg);
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
- pace_pthread_t pthread_self ();
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
- /* Returns -1 if invalid pointer to param is passed in! */
- int pthread_getschedparam (pace_pthread_t thread,
- int * policy,
- pace_sched_param * param);
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
- int pthread_setschedparam (pace_pthread_t thread,
- int policy,
- const pace_sched_param * param);
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
- /* Returns -1 if attr is already valid! */
- int pthread_attr_init (pace_pthread_attr_t * attr);
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
- /* Returns -1 if attr is invalid! */
- int pthread_attr_destroy (pace_pthread_attr_t * attr);
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
- int pthread_attr_getdetachstate (const pace_pthread_attr_t * attr,
- int * detachstate);
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
- int pthread_attr_setdetachstate (pace_pthread_attr_t * attr,
- int detachstate);
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
- int pthread_attr_getinheritsched (const pace_pthread_attr_t * attr,
- int * inheritsched);
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
- int pthread_attr_setinheritsched (pace_pthread_attr_t * attr,
- int inheritsched);
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
- int pthread_attr_getschedparam (const pace_pthread_attr_t * attr,
- pace_sched_param * param);
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
- int pthread_attr_setschedparam (pace_pthread_attr_t * attr,
- const pace_sched_param * param);
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
- int pthread_attr_getschedpolicy (const pace_pthread_attr_t * attr,
- int * policy);
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
- int pthread_attr_setschedpolicy (pace_pthread_attr_t * attr,
- int policy);
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
- int pthread_attr_getscope (const pace_pthread_attr_t * attr,
- int * contentionscope);
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
- int pthread_attr_setscope (pace_pthread_attr_t * attr,
- int contentionscope);
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
- int pthread_attr_getstackaddr (const pace_pthread_attr_t * attr,
- void ** stackaddr);
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
- int pthread_attr_setstackaddr (pace_pthread_attr_t * attr,
- void * stackaddr);
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
- int pthread_attr_getstacksize (const pace_pthread_attr_t * attr,
- size_t * stacksize);
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
- int pthread_attr_setstacksize (pace_pthread_attr_t * attr,
- size_t stacksize);
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if defined (PACE_HAS_CPLUSPLUS)
-}
-#endif /* PACE_HAS_CPLUSPLUS */
-
-#endif /* PACE_PTHREAD_H_WIN32 */
diff --git a/PACE/pace/win32/pthread.inl b/PACE/pace/win32/pthread.inl
deleted file mode 100644
index 3fea1729342..00000000000
--- a/PACE/pace/win32/pthread.inl
+++ /dev/null
@@ -1,682 +0,0 @@
-/* $Id$ -*- C -*-
-
- * =============================================================================
- *
- * = LIBRARY
- * pace
- *
- * = FILENAME
- * pace/win32/pthread.inl
- *
- * = AUTHOR
- * Luther Baker
- *
- * ============================================================================= */
-
-#include "pace/unistd.h"
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_pthread_atfork (void (*prepare) (void),
- void (*parent) (void),
- void (*child) (void))
-{
- PACE_UNUSED_ARG (prepare);
- PACE_UNUSED_ARG (parent);
- PACE_UNUSED_ARG (child);
- PACE_ERRNO_NO_SUPPORT_RETURN (-1);
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_pthread_create (pace_pthread_t * thread,
- const pace_pthread_attr_t * attr,
- void * (*start_routine) (void*),
- void * arg)
-{
- PACE_UNUSED_ARG (thread);
- PACE_UNUSED_ARG (attr);
- PACE_UNUSED_ARG (start_routine);
- PACE_UNUSED_ARG (arg);
-
- PACE_ERRNO_NO_SUPPORT_RETURN (-1);
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-pace_pthread_t
-pace_pthread_self ()
-{
- return pthread_self ();
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_pthread_getschedparam (pace_pthread_t thread,
- int * policy,
- pace_sched_param * param)
-{
- return pthread_getschedparam (thread, policy, param);
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_pthread_setschedparam (pace_pthread_t thread,
- int policy,
- const pace_sched_param * param)
-{
- return pthread_setschedparam (thread, policy, param);
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_pthread_attr_init (pace_pthread_attr_t * attr)
-{
- return pthread_attr_init (attr);
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_pthread_attr_destroy (pace_pthread_attr_t * attr)
-{
- return pthread_attr_destroy (attr);
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_pthread_attr_getdetachstate (const pace_pthread_attr_t * attr,
- int * detachstate)
-{
- return pthread_attr_getdetachstate (attr, detachstate);
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_pthread_attr_setdetachstate (pace_pthread_attr_t * attr,
- int detachstate)
-{
- return pthread_attr_setdetachstate (attr, detachstate);
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_pthread_attr_getinheritsched (const pace_pthread_attr_t * attr,
- int * inheritsched)
-{
- return pthread_attr_getinheritsched (attr, inheritsched);
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_pthread_attr_setinheritsched (pace_pthread_attr_t * attr,
- int inheritsched)
-{
- return pthread_attr_setinheritsched (attr, inheritsched);
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_pthread_attr_getschedparam (const pace_pthread_attr_t * attr,
- pace_sched_param * param)
-{
- return pthread_attr_getschedparam (attr, param);
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_pthread_attr_setschedparam (pace_pthread_attr_t * attr,
- const pace_sched_param * param)
-{
- return pthread_attr_setschedparam (attr, param);
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_pthread_attr_getschedpolicy (const pace_pthread_attr_t * attr,
- int * policy)
-{
- return pthread_attr_getschedpolicy (attr, policy);
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_pthread_attr_setschedpolicy (pace_pthread_attr_t * attr,
- int policy)
-{
- return pthread_attr_setschedpolicy (attr, policy);
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_pthread_attr_getscope (const pace_pthread_attr_t * attr,
- int * contentionscope)
-{
- return pthread_attr_getscope (attr, contentionscope);
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_pthread_attr_setscope (pace_pthread_attr_t * attr,
- int contentionscope)
-{
- return pthread_attr_setscope (attr, contentionscope);
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_pthread_attr_getstackaddr (const pace_pthread_attr_t * attr,
- void ** stackaddr)
-{
- return pthread_attr_getstackaddr (attr, stackaddr);
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_pthread_attr_setstackaddr (pace_pthread_attr_t * attr,
- void * stackaddr)
-{
- return pthread_attr_setstackaddr (attr, stackaddr);
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_pthread_attr_getstacksize (const pace_pthread_attr_t * attr,
- size_t * stacksize)
-{
- return pthread_attr_getstacksize (attr, stacksize);
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_pthread_attr_setstacksize (pace_pthread_attr_t * attr,
- size_t stacksize)
-{
- return pthread_attr_setstacksize (attr, stacksize);
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_pthread_cancel (pace_pthread_t thread)
-{
- PACE_UNUSED_ARG (thread);
- PACE_ERRNO_NO_SUPPORT_RETURN (-1);
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_pthread_cond_broadcast (pace_pthread_cond_t * cond)
-{
- PACE_UNUSED_ARG (cond);
- PACE_ERRNO_NO_SUPPORT_RETURN (-1);
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_pthread_cond_destroy (pace_pthread_cond_t * cond)
-{
- PACE_UNUSED_ARG (cond);
- PACE_ERRNO_NO_SUPPORT_RETURN (-1);
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_pthread_cond_init (pace_pthread_cond_t * cond,
- const pace_pthread_condattr_t * attr)
-{
- PACE_UNUSED_ARG (cond);
- PACE_UNUSED_ARG (attr);
- PACE_ERRNO_NO_SUPPORT_RETURN (-1);
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_pthread_cond_signal (pace_pthread_cond_t * cond)
-{
- PACE_UNUSED_ARG (cond);
- PACE_ERRNO_NO_SUPPORT_RETURN (-1);
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_pthread_cond_timedwait (pace_pthread_cond_t * cond,
- pace_pthread_mutex_t * mutex,
- const struct timespec * abstime)
-{
- PACE_UNUSED_ARG (cond);
- PACE_UNUSED_ARG (mutex);
- PACE_UNUSED_ARG (abstime);
- PACE_ERRNO_NO_SUPPORT_RETURN (-1);
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_pthread_cond_wait (pace_pthread_cond_t * cond,
- pace_pthread_mutex_t * mutex)
-{
- PACE_UNUSED_ARG (cond);
- PACE_UNUSED_ARG (mutex);
- PACE_ERRNO_NO_SUPPORT_RETURN (-1);
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_pthread_condattr_destroy (pace_pthread_condattr_t * attr)
-{
- PACE_UNUSED_ARG (attr);
- PACE_ERRNO_NO_SUPPORT_RETURN (-1);
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_pthread_condattr_getpshared (const pace_pthread_condattr_t * attr,
- int * pshared)
-{
- PACE_UNUSED_ARG (attr);
- PACE_UNUSED_ARG (pshared);
- PACE_ERRNO_NO_SUPPORT_RETURN (-1);
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_pthread_condattr_init (pace_pthread_condattr_t * attr)
-{
- PACE_UNUSED_ARG (attr);
- PACE_ERRNO_NO_SUPPORT_RETURN (-1);
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_pthread_condattr_setpshared (pace_pthread_condattr_t * attr,
- int pshared)
-{
- PACE_UNUSED_ARG (attr);
- PACE_UNUSED_ARG (pshared);
- PACE_ERRNO_NO_SUPPORT_RETURN (-1);
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_pthread_detach (pace_pthread_t thread)
-{
- PACE_UNUSED_ARG (thread);
- PACE_ERRNO_NO_SUPPORT_RETURN (-1);
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_pthread_equal (pace_pthread_t t1, pace_pthread_t t2)
-{
- return t1 == t2;
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-void
-pace_pthread_exit (void * value_ptr)
-{
- PACE_UNUSED_ARG (value_ptr);
- PACE_ERRNO_NO_SUPPORT ();
- return;
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-void *
-pace_pthread_getspecific (pace_pthread_key_t key)
-{
- void * retval = (void*)0;
- PACE_UNUSED_ARG (key);
- PACE_ERRNO_NO_SUPPORT_RETURN (retval);
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_pthread_join (pace_pthread_t thread, void ** value_ptr)
-{
- PACE_UNUSED_ARG (thread);
- PACE_UNUSED_ARG (value_ptr);
- PACE_ERRNO_NO_SUPPORT_RETURN (-1);
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_pthread_key_create (pace_pthread_key_t * key,
- void (*destructor)(void*))
-{
- PACE_UNUSED_ARG (key);
- PACE_UNUSED_ARG (destructor);
- PACE_ERRNO_NO_SUPPORT_RETURN (-1);
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_pthread_key_delete (pace_pthread_key_t key)
-{
- PACE_UNUSED_ARG (key);
- PACE_ERRNO_NO_SUPPORT_RETURN (-1);
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_pthread_kill (pace_pthread_t thread, int sig)
-{
- PACE_UNUSED_ARG (thread);
- PACE_UNUSED_ARG (sig);
- PACE_ERRNO_NO_SUPPORT_RETURN (-1);
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_pthread_mutex_destroy (pace_pthread_mutex_t * mutex)
-{
- PACE_UNUSED_ARG (mutex);
- PACE_ERRNO_NO_SUPPORT_RETURN (-1);
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_pthread_mutex_getprioceiling (pace_pthread_mutex_t * mutex,
- int * prioceiling)
-{
- PACE_UNUSED_ARG (mutex);
- PACE_UNUSED_ARG (prioceiling);
- PACE_ERRNO_NO_SUPPORT_RETURN (-1);
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_pthread_mutex_init (pace_pthread_mutex_t * mutex,
- const pace_pthread_mutexattr_t * attr)
-{
- PACE_UNUSED_ARG (mutex);
- PACE_UNUSED_ARG (attr);
- PACE_ERRNO_NO_SUPPORT_RETURN (-1);
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_pthread_mutex_lock (pace_pthread_mutex_t * mutex)
-{
- PACE_UNUSED_ARG (mutex);
- PACE_ERRNO_NO_SUPPORT_RETURN (-1);
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_pthread_mutex_setprioceiling (pace_pthread_mutex_t * mutex,
- int prioceiling,
- int * old_ceiling)
-{
- PACE_UNUSED_ARG (mutex);
- PACE_UNUSED_ARG (prioceiling);
- PACE_UNUSED_ARG (old_ceiling);
- PACE_ERRNO_NO_SUPPORT_RETURN (-1);
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_pthread_mutex_trylock (pace_pthread_mutex_t * mutex)
-{
- PACE_UNUSED_ARG (mutex);
- PACE_ERRNO_NO_SUPPORT_RETURN (-1);
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_pthread_mutex_unlock (pace_pthread_mutex_t * mutex)
-{
- PACE_UNUSED_ARG (mutex);
- PACE_ERRNO_NO_SUPPORT_RETURN (-1);
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_pthread_mutexattr_destroy (pace_pthread_mutexattr_t * attr)
-{
- PACE_UNUSED_ARG (attr);
- PACE_ERRNO_NO_SUPPORT_RETURN (-1);
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_pthread_mutexattr_getprioceiling (pace_pthread_mutexattr_t * attr,
- int * prioceiling)
-{
- PACE_UNUSED_ARG (attr);
- PACE_UNUSED_ARG (prioceiling);
- PACE_ERRNO_NO_SUPPORT_RETURN (-1);
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_pthread_mutexattr_getprotocol (const pace_pthread_mutexattr_t * attr,
- int * protocol)
-{
- PACE_UNUSED_ARG (attr);
- PACE_UNUSED_ARG (protocol);
- PACE_ERRNO_NO_SUPPORT_RETURN (-1);
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_pthread_mutexattr_setprioceiling (pace_pthread_mutexattr_t * attr,
- int prioceiling)
-{
- PACE_UNUSED_ARG (attr);
- PACE_UNUSED_ARG (prioceiling);
- PACE_ERRNO_NO_SUPPORT_RETURN (-1);
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_pthread_mutexattr_setprotocol (pace_pthread_mutexattr_t * attr,
- int protocol)
-{
- PACE_UNUSED_ARG (attr);
- PACE_UNUSED_ARG (protocol);
- PACE_ERRNO_NO_SUPPORT_RETURN (-1);
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_pthread_mutexattr_getpshared (const pace_pthread_mutexattr_t * attr,
- int * pshared)
-{
- PACE_UNUSED_ARG (attr);
- PACE_UNUSED_ARG (pshared);
- PACE_ERRNO_NO_SUPPORT_RETURN (-1);
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_pthread_mutexattr_init (pace_pthread_mutexattr_t * attr)
-{
- PACE_UNUSED_ARG (attr);
- PACE_ERRNO_NO_SUPPORT_RETURN (-1);
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_pthread_mutexattr_setpshared (pace_pthread_mutexattr_t * attr,
- int pshared)
-{
- PACE_UNUSED_ARG (attr);
- PACE_UNUSED_ARG (pshared);
- PACE_ERRNO_NO_SUPPORT_RETURN (-1);
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_pthread_once (pace_pthread_once_t * once_control,
- void (*void_routine) (void))
-{
- PACE_UNUSED_ARG (once_control);
- PACE_UNUSED_ARG (void_routine);
- PACE_ERRNO_NO_SUPPORT_RETURN (-1);
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_pthread_setcancelstate (int state, int * oldstate)
-{
- PACE_UNUSED_ARG (state);
- PACE_UNUSED_ARG (oldstate);
- PACE_ERRNO_NO_SUPPORT_RETURN (-1);
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_pthread_setcanceltype (int type, int * oldtype)
-{
- PACE_UNUSED_ARG (type);
- PACE_UNUSED_ARG (oldtype);
- PACE_ERRNO_NO_SUPPORT_RETURN (-1);
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_pthread_setspecific (pace_pthread_key_t key, const void * value)
-{
- PACE_UNUSED_ARG (key);
- PACE_UNUSED_ARG (value);
- PACE_ERRNO_NO_SUPPORT_RETURN (-1);
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_pthread_sigmask (int how, const pace_sigset_t * set,
- pace_sigset_t * oset)
-{
- PACE_UNUSED_ARG (how);
- PACE_UNUSED_ARG (set);
- PACE_UNUSED_ARG (oset);
- PACE_ERRNO_NO_SUPPORT_RETURN (-1);
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-void
-pace_pthread_testcancel ()
-{
- PACE_ERRNO_NO_SUPPORT ();
- return;
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
diff --git a/PACE/pace/win32/pthreadtypes.h b/PACE/pace/win32/pthreadtypes.h
deleted file mode 100644
index 9d578a56801..00000000000
--- a/PACE/pace/win32/pthreadtypes.h
+++ /dev/null
@@ -1,132 +0,0 @@
-/* $Id$
-
- * ============================================================================
- *
- * = LIBRARY
- * pace
- *
- * = FILENAME
- * pace/win32/pthreadtypes.h
- *
- * = AUTHOR
- * Luther Baker
- *
- * ============================================================================ */
-
-/* Keep pthread types defined here as they just clutter up sys/types.h
-
- * Do NOT include this file directly!! Please include "sys/types.h". */
-
-#ifndef PACE_SYS_PTHREADTYPES_H_WIN32
-#define PACE_SYS_PTHREADTYPES_H_WIN32
-
-#include "pace/win32/schedtypes.h"
-
-#if defined (PACE_HAS_CPLUSPLUS)
-extern "C" {
-#endif /* PACE_HAS_CPLUSPLUS */
-
-#ifndef PACE_PTHREAD_ATTR_T
-#define PACE_PTHREAD_ATTR_T 1
- typedef struct pthread_attr_t
- {
- int init_;
- int detach_state_;
- int policy_;
- pace_sched_param sparam_;
- int inherit_sched_;
- int contention_scope_;
- pace_size_t guard_size_;
- int stackaddr_set_ ;
- void * stack_addr_;
- pace_size_t stack_size_;
- } pace_pthread_attr_t;
-#endif /* PACE_PTHREAD_ATTR_T */
-
-#ifndef PACE_PTHREAD_COND_T
-#define PACE_PTHREAD_COND_T 1
- typedef struct pthread_cond_t
- {
-#if 0
- /* Concurrent access protection. */
- struct _pthread_fastlock __c_lock;
-
- /* Pool of threads waiting. */
- _pthread_descr __c_waiting;
-#endif
- int a;
-
- } pace_pthread_cond_t;
-
-#endif /* PACE_PTHREAD_COND_T */
-
-#ifndef PACE_PTHREAD_CONDATTR_T
-#define PACE_PTHREAD_CONDATTR_T 1
- typedef struct pthread_condattr_t
- {
- int not_used_;
- } pace_pthread_condattr_t;
-#endif /* PACE_PTHREAD_CONDATTR_T */
-
-#ifndef PACE_PTHREAD_KEY_T
-#define PACE_PTHREAD_KEY_T 1
- typedef unsigned int pthread_key_t;
- typedef pthread_key_t pace_pthread_key_t;
-#endif /* PACE_PTHREAD_KEY_T */
-
-#ifndef PACE_PTHREAD_MUTEX_T
-#define PACE_PTHREAD_MUTEX_T 1
- typedef struct pthread_mutex_t
- {
- /* Depth of recursive locking */
- int recursive_count_;
-
-#if 0
- /* Owner thread (if recursive or errcheck) */
- _pthread_descr __m_owner;
-#endif
-
- /* Mutex kind: fast, recursive or errcheck */
- int type_;
-
- union
- {
- HANDLE proc_mutex_;
- CRITICAL_SECTION thr_mutex_;
- };
-
-#if 0
- /* Underlying fast lock */
- struct _pthread_fastlock __m_lock;
-#endif
-
- } pace_pthread_mutex_t;
-#endif /* PACE_PTHREAD_MUTEX_T */
-
-#ifndef PACE_PTHREAD_MUTEXATTR_T
-#define PACE_PTHREAD_MUTEXATTR_T
- typedef struct pthread_mutexattr_t
- {
- int mutex_kind_;
- } pace_pthread_mutexattr_t;
-#endif /* PACE_PTHREAD_MUTEXATTR_T */
-
-#ifndef PACE_PTHREAD_ONCE
-#define PACE_PTHREAD_ONCE
-
- typedef int pthread_once_t;
- typedef pthread_once_t pace_pthread_once_t;
-
-#endif /* PACE_PTHREAD_ONCE */
-
-#ifndef PACE_PTHREAD_T
-#define PACE_PTHREAD_T
- typedef HANDLE pace_pthread_t;
- typedef DWORD pace_idpthread_t;
-#endif /* PACE_PTHREAD_T */
-
-#if defined (PACE_HAS_CPLUSPLUS)
-}
-#endif /* PACE_HAS_CPLUSPLUS */
-
-#endif /* PACE_SYS_PTHREADTYPES_H_WIN32 */
diff --git a/PACE/pace/win32/pwd.c b/PACE/pace/win32/pwd.c
deleted file mode 100644
index bb58fd5ce40..00000000000
--- a/PACE/pace/win32/pwd.c
+++ /dev/null
@@ -1,20 +0,0 @@
-/* $Id$ -*- C -*-
-
- * =============================================================================
- *
- * = LIBRARY
- * pace
- *
- * = FILENAME
- * pace/win32/pwd.c
- *
- * = AUTHOR
- * Luther Baker
- *
- * ============================================================================= */
-
-#include "pace/pwd.h"
-
-#if !defined (PACE_HAS_INLINE)
-# include "pace/win32/pwd.inl"
-#endif /* ! PACE_HAS_INLINE */
diff --git a/PACE/pace/win32/pwd.h b/PACE/pace/win32/pwd.h
deleted file mode 100644
index f66e326d96c..00000000000
--- a/PACE/pace/win32/pwd.h
+++ /dev/null
@@ -1,34 +0,0 @@
-/* $Id$
-
- * ============================================================================
- *
- * = LIBRARY
- * pace
- *
- * = FILENAME
- * pace/win32/pwd.h
- *
- * = AUTHOR
- * Luther Baker
- *
- * ============================================================================ */
-
-#ifndef PACE_PWD_H_WIN32
-#define PACE_PWD_H_WIN32
-
-#include "pace/sys/types.h"
-
-#if defined (PACE_HAS_CPLUSPLUS)
-extern "C" {
-#endif /* PACE_HAS_CPLUSPLUS */
-
-#ifndef PACE_PASSWD
-#define PACE_PASSWD
- typedef struct passwd { int a_; } pace_passwd;
-#endif /* PACE_PASSWD */
-
-#if defined (PACE_HAS_CPLUSPLUS)
-}
-#endif /* PACE_HAS_CPLUSPLUS */
-
-#endif /* PACE_PWD_H_WIN32 */
diff --git a/PACE/pace/win32/pwd.inl b/PACE/pace/win32/pwd.inl
deleted file mode 100644
index 24e9f7b1f10..00000000000
--- a/PACE/pace/win32/pwd.inl
+++ /dev/null
@@ -1,72 +0,0 @@
-/* $Id$ -*- C -*-
-
- * =============================================================================
- *
- * = LIBRARY
- * pace
- *
- * = FILENAME
- * pace/win32/pwd.inl
- *
- * = AUTHOR
- * Luther Baker
- *
- * ============================================================================= */
-
-#if (PACE_HAS_POSIX_SD_UOF)
-PACE_INLINE
-pace_passwd *
-pace_getpwuid (pace_uid_t uid)
-{
- pace_passwd * retval = (pace_passwd*)0;
- PACE_UNUSED_ARG (uid);
- PACE_ERRNO_NO_SUPPORT_RETURN (retval);
-}
-#endif /* PACE_HAS_POSIX_SD_UOF */
-
-#if (PACE_HAS_POSIX_SDR_UOF)
-PACE_INLINE
-int
-pace_getpwuid_r (pace_uid_t uid,
- pace_passwd * pwd,
- char * buffer,
- pace_size_t bufsize,
- pace_passwd ** result)
-{
- PACE_UNUSED_ARG (uid);
- PACE_UNUSED_ARG (pwd);
- PACE_UNUSED_ARG (buffer);
- PACE_UNUSED_ARG (bufsize);
- PACE_UNUSED_ARG (result);
- PACE_ERRNO_NO_SUPPORT_RETURN (-1);
-}
-#endif /* PACE_HAS_POSIX_SDR_UOF */
-
-#if (PACE_HAS_POSIX_SD_UOF)
-PACE_INLINE
-pace_passwd *
-pace_getpwnam (const char * name)
-{
- pace_passwd * retval = (pace_passwd*)0;
- PACE_UNUSED_ARG (name);
- PACE_ERRNO_NO_SUPPORT_RETURN (retval);
-}
-#endif /* PACE_HAS_POSIX_SD_UOF */
-
-#if (PACE_HAS_POSIX_SDR_UOF)
-PACE_INLINE
-int
-pace_getpwnam_r (const char * name,
- pace_passwd * pwd,
- char * buffer,
- pace_size_t bufsize,
- pace_passwd ** result)
-{
- PACE_UNUSED_ARG (name);
- PACE_UNUSED_ARG (pwd);
- PACE_UNUSED_ARG (buffer);
- PACE_UNUSED_ARG (bufsize);
- PACE_UNUSED_ARG (result);
- PACE_ERRNO_NO_SUPPORT_RETURN (-1);
-}
-#endif /* PACE_HAS_POSIX_SDR_UOF */
diff --git a/PACE/pace/win32/sched.c b/PACE/pace/win32/sched.c
deleted file mode 100644
index 9438ab245c5..00000000000
--- a/PACE/pace/win32/sched.c
+++ /dev/null
@@ -1,20 +0,0 @@
-/* $Id$
-
- * =============================================================================
- *
- * = LIBRARY
- * pace
- *
- * = FILENAME
- * pace/win32/sched.c
- *
- * = AUTHOR
- * Luther Baker
- *
- * ============================================================================= */
-
-#include "pace/sched.h"
-
-#if !defined (PACE_HAS_INLINE)
-# include "pace/win32/sched.inl"
-#endif /* ! PACE_HAS_INLINE */
diff --git a/PACE/pace/win32/sched.h b/PACE/pace/win32/sched.h
deleted file mode 100644
index 6c04ae6b995..00000000000
--- a/PACE/pace/win32/sched.h
+++ /dev/null
@@ -1,34 +0,0 @@
-/* $Id$
-
- * ============================================================================
- *
- * = LIBRARY
- * pace
- *
- * = FILENAME
- * pace/win32/sched.h
- *
- * = AUTHOR
- * Luther Baker
- *
- * ============================================================================ */
-
-#ifndef PACE_SCHED_H_WIN32
-#define PACE_SCHED_H_WIN32
-
- /* These definitions are used in other files.
- * Separate the declarations from the definitions to avoid circular
- * inclusion. ie: some other funcs just need the typedefs and structs. */
-
-#include "pace/win32/schedtypes.h"
-#include "pace/time.h"
-
-#if defined (PACE_HAS_CPLUSPLUS)
-extern "C" {
-#endif /* PACE_HAS_CPLUSPLUS */
-
-#if defined (PACE_HAS_CPLUSPLUS)
-}
-#endif /* PACE_HAS_CPLUSPLUS */
-
-#endif /* PACE_SCHED_H_WIN32 */
diff --git a/PACE/pace/win32/sched.inl b/PACE/pace/win32/sched.inl
deleted file mode 100644
index 06577337db6..00000000000
--- a/PACE/pace/win32/sched.inl
+++ /dev/null
@@ -1,103 +0,0 @@
-/* $Id$ -*- C -*-
-
- * =============================================================================
- *
- * = LIBRARY
- * pace
- *
- * = FILENAME
- * pace/win32/sched.inl
- *
- * = AUTHOR
- * Luther Baker
- *
- * ============================================================================= */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_sched_get_priority_max (int policy)
-{
- PACE_UNUSED_ARG (policy);
- PACE_ERRNO_NO_SUPPORT_RETURN (-1);
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_sched_get_priority_min (int policy)
-{
- PACE_UNUSED_ARG (policy);
- PACE_ERRNO_NO_SUPPORT_RETURN (-1);
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_sched_getparam (pace_pid_t pid,
- pace_sched_param * param)
-{
- PACE_UNUSED_ARG (pid);
- PACE_UNUSED_ARG (param);
- PACE_ERRNO_NO_SUPPORT_RETURN (-1);
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_sched_rr_get_interval (pace_pid_t pid,
- pace_timespec * interval)
-{
- PACE_UNUSED_ARG (pid);
- PACE_UNUSED_ARG (interval);
- PACE_ERRNO_NO_SUPPORT_RETURN (-1);
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_sched_setparam (pace_pid_t pid,
- const pace_sched_param * param)
-{
- PACE_UNUSED_ARG (pid);
- PACE_UNUSED_ARG (param);
- PACE_ERRNO_NO_SUPPORT_RETURN (-1);
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_sched_getscheduler (pace_pid_t pid)
-{
- PACE_UNUSED_ARG (pid);
- PACE_ERRNO_NO_SUPPORT_RETURN (-1);
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_sched_setscheduler (pace_pid_t pid,
- int policy,
- const pace_sched_param * param)
-{
- PACE_UNUSED_ARG (pid);
- PACE_UNUSED_ARG (policy);
- PACE_UNUSED_ARG (param);
- PACE_ERRNO_NO_SUPPORT_RETURN (-1);
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_sched_yield ()
-{
- PACE_ERRNO_NO_SUPPORT_RETURN (-1);
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
diff --git a/PACE/pace/win32/schedtypes.h b/PACE/pace/win32/schedtypes.h
deleted file mode 100644
index b3358e0c5db..00000000000
--- a/PACE/pace/win32/schedtypes.h
+++ /dev/null
@@ -1,67 +0,0 @@
-/* $Id$
-
- * ============================================================================
- *
- * = LIBRARY
- * pace
- *
- * = FILENAME
- * pace/win32/schedtypes.h
- *
- * = AUTHOR
- * Luther Baker
- *
- * ============================================================================ */
-
-/* Keep sched types defined here as they need to be in more than one
- * file and otherwise cause circular dependencies.
-
- * Do NOT include this file directly!! Please include "pace/sched.h". */
-
-#ifndef PACE_SYS_SCHEDTYPES_H_WIN32
-#define PACE_SYS_SCHEDTYPES_H_WIN32
-
-#if defined (PACE_HAS_CPLUSPLUS)
-extern "C" {
-#endif /* PACE_HAS_CPLUSPLUS */
-
- /* These are defined via POSIX, but win32 is not POSIX compliant!
- * So please forgive me for these (non pace prefix) sins! */
-
-#ifndef SCHED_OTHER
-#define SCHED_OTHER 0
-#endif /* SCHED_RR */
-
-#ifndef SCHED_FIFO
-#define SCHED_FIFO 1
-#endif /* SCHED_FIFO */
-
-#ifndef SCHED_RR
-#define SCHED_RR 2
-#endif /* SCHED_RR */
-
-#ifndef PACE_SCHED_OTHER
-#define PACE_SCHED_OTHER SCHED_OTHER
-#endif /* PACE_SCHED_OTHER */
-
-#ifndef PACE_SCHED_FIFO
-#define PACE_SCHED_FIFO SCHED_FIFO
-#endif /* PACE_SCHED_FIFO */
-
-#ifndef PACE_SCHED_RR
-#define PACE_SCHED_RR SCHED_RR
-#endif /* PACE_SCHED_RR */
-
-#ifndef PACE_SCHED_PARAM
-#define PACE_SCHED_PARAM 1
- typedef struct sched_param
- {
- int sched_priority;
- } pace_sched_param;
-#endif
-
-#if defined (PACE_HAS_CPLUSPLUS)
-}
-#endif /* PACE_HAS_CPLUSPLUS */
-
-#endif /* PACE_SYS_SCHEDTYPES_H_WIN32 */
diff --git a/PACE/pace/win32/semaphore.c b/PACE/pace/win32/semaphore.c
deleted file mode 100644
index 23728df5c29..00000000000
--- a/PACE/pace/win32/semaphore.c
+++ /dev/null
@@ -1,122 +0,0 @@
-/* $Id$
-
- * =============================================================================
- *
- * = LIBRARY
- * pace
- *
- * = FILENAME
- * pace/win32/semaphore.c
- *
- * = AUTHOR
- * Luther Baker
- *
- * ============================================================================= */
-
-#include "pace/semaphore.h"
-
-#if !defined (PACE_HAS_INLINE)
-# include "pace/win32/semaphore.inl"
-#endif /* ! PACE_HAS_INLINE */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-# include <stdio.h>
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-int
-sem_close (pace_sem_t * sem)
-{
- PACE_WIN32CALL_RETURN
- (PACE_ADAPT_RETVAL
- (CloseHandle (sem), pace_result_), int, -1);
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-int
-sem_destroy (pace_sem_t * sem)
-{
- PACE_WIN32CALL_RETURN
- (PACE_ADAPT_RETVAL
- (CloseHandle (sem), pace_result_), int, -1);
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-int
-sem_init (pace_sem_t * sem, int pshared, unsigned int value)
-{
- PACE_UNUSED_ARG (pshared);
-
- /* Create the semaphore with its value initialized to <count> and
- its maximum value initialized to <max>.
-
- How do we want to call CreateSemaphore? What about the char *?
- */
- *sem = CreateSemaphore (0, value, 2147483647, "noname");
-
- if (*sem == 0)
- {
- PACE_FAIL_RETURN (-1);
- }
- /* NOTREACHED */
- else
- {
- return 0;
- }
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-int
-sem_post (pace_sem_t * sem)
-{
- PACE_WIN32CALL_RETURN
- (PACE_ADAPT_RETVAL
- (ReleaseSemaphore (*sem, 1, 0), pace_result_), int, -1);
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-int
-sem_trywait (pace_sem_t * sem)
-{
- int result = WaitForSingleObject (*sem, 0);
-
- if (result == WAIT_OBJECT_0)
- {
- return 0;
- }
- else
- {
- if (result == WAIT_TIMEOUT)
- {
- errno = EBUSY;
- }
- else
- {
- errno = GetLastError ();
- }
- /* This is a hack, we need to find an appropriate mapping... */
- return -1;
- }
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-int
-sem_wait (pace_sem_t * sem)
-{
- switch (WaitForSingleObject (*sem, INFINITE))
- {
- case WAIT_OBJECT_0:
- return 0;
- default:
- /* This is a hack, we need to find an appropriate mapping... */
- errno = GetLastError ();
- return -1;
- }
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
diff --git a/PACE/pace/win32/semaphore.h b/PACE/pace/win32/semaphore.h
deleted file mode 100644
index 7abd89211f0..00000000000
--- a/PACE/pace/win32/semaphore.h
+++ /dev/null
@@ -1,62 +0,0 @@
-/* $Id$
-
- * ============================================================================
- *
- * = LIBRARY
- * pace
- *
- * = FILENAME
- * pace/win32/semaphore.h
- *
- * = AUTHOR
- * Luther Baker
- *
- * ============================================================================ */
-
-#ifndef PACE_SEMAPHORE_H_WIN32
-#define PACE_SEMAPHORE_H_WIN32
-
-#include <windows.h>
-
-#if defined (PACE_HAS_CPLUSPLUS)
-extern "C" {
-#endif /* PACE_HAS_CPLUSPLUS */
-
-#ifndef PACE_SEM_T
-#define PACE_SEM_T
- typedef HANDLE pace_sem_t;
-#endif /* PACE_SEM_T */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
- int sem_close (pace_sem_t * sem);
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
- int sem_destroy (pace_sem_t * sem);
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
- int sem_init (pace_sem_t * sem, int pshared, unsigned int value);
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
- PACE_INLINE pace_sem_t * sem_open (const char * name, int oflag, ...);
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
- int sem_post (pace_sem_t * sem);
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
- int sem_trywait (pace_sem_t * sem);
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
- int sem_wait (pace_sem_t * sem);
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if defined (PACE_HAS_CPLUSPLUS)
-}
-#endif /* PACE_HAS_CPLUSPLUS */
-
-#endif /* PACE_SEMAPHORE_H_WIN32 */
diff --git a/PACE/pace/win32/semaphore.inl b/PACE/pace/win32/semaphore.inl
deleted file mode 100644
index dea94013317..00000000000
--- a/PACE/pace/win32/semaphore.inl
+++ /dev/null
@@ -1,108 +0,0 @@
-/* $Id$ -*- C -*-
-
- * =============================================================================
- *
- * = LIBRARY
- * pace
- *
- * = FILENAME
- * pace/win32/semaphore.inl
- *
- * = AUTHOR
- * Luther Baker
- *
- * ============================================================================= */
-
-#include <io.h>
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_sem_close (pace_sem_t * sem)
-{
- return sem_close (sem);
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_sem_destroy (pace_sem_t * sem)
-{
- return sem_destroy (sem);
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_sem_getvalue (pace_sem_t * sem, int * sval)
-{
- PACE_UNUSED_ARG (sem);
- PACE_UNUSED_ARG (sval);
- PACE_ERRNO_NO_SUPPORT_RETURN (-1);
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_sem_init (pace_sem_t * sem,
- int pshared,
- unsigned int value)
-{
- return sem_init (sem, pshared, value);
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-pace_sem_t *
-pace_sem_open (const char * name, int oflag, ...)
-{
- PACE_UNUSED_ARG (name);
- PACE_UNUSED_ARG (oflag);
- return (pace_sem_t)NULL;
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_sem_post (pace_sem_t * sem)
-{
- return sem_post (sem);
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_sem_trywait (pace_sem_t * sem)
-{
- return sem_trywait (sem);
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_sem_unlink (const char * name)
-{
-#if defined (__BORLANDC__)
- return unlink (name);
-#else /* __BORLANDC__ */
- return _unlink (name);
-#endif /* __BORLANDC__ */
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_sem_wait (pace_sem_t * sem)
-{
- return sem_wait (sem);
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
diff --git a/PACE/pace/win32/setjmp.c b/PACE/pace/win32/setjmp.c
deleted file mode 100644
index b245f6fe3c1..00000000000
--- a/PACE/pace/win32/setjmp.c
+++ /dev/null
@@ -1,20 +0,0 @@
-/* $Id$
-
- * =============================================================================
- *
- * = LIBRARY
- * pace
- *
- * = FILENAME
- * pace/win32/setjmp.c
- *
- * = AUTHOR
- * Luther Baker
- *
- * ============================================================================= */
-
-#include "pace/setjmp.h"
-
-#if !defined (PACE_HAS_INLINE)
-# include "pace/win32/setjmp.inl"
-#endif /* ! PACE_HAS_INLINE */
diff --git a/PACE/pace/win32/setjmp.h b/PACE/pace/win32/setjmp.h
deleted file mode 100644
index bd8b44ad1fd..00000000000
--- a/PACE/pace/win32/setjmp.h
+++ /dev/null
@@ -1,42 +0,0 @@
-/* $Id$
-
- * ============================================================================
- *
- * = LIBRARY
- * pace
- *
- * = FILENAME
- * pace/win32/setjmp.h
- *
- * = AUTHOR
- * Luther Baker
- *
- * ============================================================================ */
-
-#ifndef PACE_SETJMP_H_WIN32
-#define PACE_SETJMP_H_WIN32
-
-#include <setjmp.h>
-
-#if defined (PACE_HAS_CPLUSPLUS)
-extern "C" {
-#endif /* PACE_HAS_CPLUSPLUS */
-
-# define PACE_SIGJLEN 128
-
-# ifndef PACE_JMP_BUF
-# define PACE_JMP_BUF
- typedef jmp_buf pace_jmp_buf;
-#endif /* PACE_JMP_BUF */
-
-# ifndef PACE_SIGJMP_BUF
-# define PACE_SIGJMP_BUF
- typedef long sigjmp_buf[PACE_SIGJLEN];
- typedef sigjmp_buf pace_sigjmp_buf;
-#endif /* PACE_SIGJMP_BUF */
-
-#if defined (PACE_HAS_CPLUSPLUS)
-}
-#endif /* PACE_HAS_CPLUSPLUS */
-
-#endif /* PACE_SETJMP_H_WIN32 */
diff --git a/PACE/pace/win32/setjmp.inl b/PACE/pace/win32/setjmp.inl
deleted file mode 100644
index d3be714dfd4..00000000000
--- a/PACE/pace/win32/setjmp.inl
+++ /dev/null
@@ -1,36 +0,0 @@
-/* $Id$ -*- C -*-
-
- * =============================================================================
- *
- * = LIBRARY
- * pace
- *
- * = FILENAME
- * pace/win32/setjmp.inl
- *
- * = AUTHOR
- * Luther Baker
- *
- * ============================================================================= */
-
-#if (PACE_HAS_POSIX_CLS_UOF)
-PACE_INLINE
-void
-pace_longjmp (pace_jmp_buf env, int val)
-{
- longjmp (env, val);
- return;
-}
-#endif /* PACE_HAS_POSIX_CLS_UOF */
-
-#if (PACE_HAS_POSIX_SIG_UOF)
-PACE_INLINE
-void
-pace_siglongjmp (pace_sigjmp_buf env, int val)
-{
- PACE_UNUSED_ARG (env);
- PACE_UNUSED_ARG (val);
- PACE_ERRNO_NO_SUPPORT ();
- return;
-}
-#endif /* PACE_HAS_POSIX_SIG_UOF */
diff --git a/PACE/pace/win32/signal.c b/PACE/pace/win32/signal.c
deleted file mode 100644
index f0d1685971a..00000000000
--- a/PACE/pace/win32/signal.c
+++ /dev/null
@@ -1,45 +0,0 @@
-/* $Id$
-
- * =============================================================================
- *
- * = LIBRARY
- * pace
- *
- * = FILENAME
- * pace/win32/signal.c
- *
- * = AUTHOR
- * Luther Baker
- *
- * ============================================================================= */
-
-#include "pace/signal.h"
-
-#if !defined (PACE_HAS_INLINE)
-# include "pace/win32/signal.inl"
-#endif /* ! PACE_HAS_INLINE */
-
-#if (PACE_HAS_POSIX_SIG_UOF)
-int
-sigaction (int sig, const pace_sigaction_s * act,
- pace_sigaction_s * oact)
-{
- pace_sigaction_s sa;
-
- if (oact == 0)
- {
- oact = &sa;
- }
-
- if (act == 0)
- {
- oact->sa_handler = signal (sig, SIG_IGN);
- signal (sig, oact->sa_handler);
- }
- else
- {
- oact->sa_handler = signal (sig, act->sa_handler);
- }
- return (oact->sa_handler == SIG_ERR ? -1 : 0);
-}
-#endif /* PACE_HAS_POSIX_SIG_UOF */
diff --git a/PACE/pace/win32/signal.h b/PACE/pace/win32/signal.h
deleted file mode 100644
index 8795f8726b6..00000000000
--- a/PACE/pace/win32/signal.h
+++ /dev/null
@@ -1,81 +0,0 @@
-/* $Id$
-
- * =============================================================================
- *
- * = LIBRARY
- * pace
- *
- * = FILENAME
- * pace/win32/signal.h
- *
- * = AUTHOR
- * Luther Baker
- *
- * ============================================================================= */
-
-
-#ifndef PACE_SIGNAL_H_WIN32
-#define PACE_SIGNAL_H_WIN32
-
-#include "pace/sys/types.h"
-#include "pace/time.h"
-#include <signal.h>
-
-#if defined (PACE_HAS_CPLUSPLUS)
-extern "C" {
-#endif /* PACE_HAS_CPLUSPLUS */
-
-#ifndef PACE_SIGATOMIC_T
-#define PACE_SIGATOMIC_T
- typedef sig_atomic_t pace_sig_atomic_t;
-#endif /* PACE_SIGATOMIC_T */
-
-#ifndef PACE_SIGSET_T
-#define PACE_SIGSET_T
- enum { PACE_SIG_BITS = 4 };
- typedef struct /* sigset_t */ {
- /* signal set type */
- unsigned int sigbits_[PACE_SIG_BITS];
- } pace_sigset_t;
-#endif /* PACE_SIGSET_T */
-
-#ifndef PACE_SIGACTION_S
-#define PACE_SIGACTION_S
- typedef void (__cdecl *pace_sig_pf)(int);
- typedef struct /* sigaction */ {
- int sa_flags;
- pace_sig_pf sa_handler;
- pace_sigset_t sa_mask;
- } pace_sigaction_s;
-#endif /* PACE_SIGACTION_S */
-
-#ifndef PACE_SIGINFO_T
-#define PACE_SIGINFO_T
- typedef struct /* siginfo_t */ {
-
- PACE_HANDLE si_handle_;
- // Win32 HANDLE that has become signaled.
-
- PACE_HANDLE *si_handles_;
- // Array of Win32 HANDLEs all of which have become signaled.
- } pace_siginfo_t;
-# endif /* PACE_SIGINFO_T */
-
-#ifndef PACE_SIGEVENT
- typedef struct sigevent pace_sigevent;
-#endif /* PACE_SIGEVENT */
-
-#ifndef PACE_SIGVAL
- typedef union sigval pace_sigval;
-#endif /* PACE_SIGVAL */
-
-#if (PACE_HAS_POSIX_SIG_UOF)
- int sigaction (int sig, const pace_sigaction_s * act,
- pace_sigaction_s * oact);
-#endif /* PACE_HAS_POSIX_SIG_UOF */
-
-#if defined (PACE_HAS_CPLUSPLUS)
-}
-#endif /* PACE_HAS_CPLUSPLUS */
-
-#endif /* PACE_SIGNAL_H_WIN32 */
diff --git a/PACE/pace/win32/signal.inl b/PACE/pace/win32/signal.inl
deleted file mode 100644
index 437d609f926..00000000000
--- a/PACE/pace/win32/signal.inl
+++ /dev/null
@@ -1,193 +0,0 @@
-/* $Id$ -*- C -*-
-
- * =============================================================================
- *
- * = LIBRARY
- * pace
- *
- * = FILENAME
- * pace/win32/signal.inl
- *
- * = AUTHOR
- * Luther Baker
- *
- * ============================================================================= */
-
-#if (PACE_HAS_POSIX_SIG_UOF)
-PACE_INLINE
-int
-pace_kill (pace_pid_t pid, int sig)
-{
- PACE_UNUSED_ARG (pid);
- PACE_UNUSED_ARG (sig);
- PACE_ERRNO_NO_SUPPORT_RETURN (-1);
-}
-#endif /* PACE_HAS_POSIX_SIG_UOF */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_raise (int sig)
-{
- PACE_UNUSED_ARG (sig);
- PACE_ERRNO_NO_SUPPORT_RETURN (-1);
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_SIG_UOF)
-PACE_INLINE
-int
-pace_sigaction (int sig, const pace_sigaction_s * act,
- pace_sigaction_s * oact)
-{
- return sigaction (sig, act, oact);
-}
-#endif /* PACE_HAS_POSIX_SIG_UOF */
-
-#if (PACE_HAS_POSIX_SIG_UOF)
-PACE_INLINE
-int
-pace_sigaddset (pace_sigset_t * set, int signo)
-{
- PACE_UNUSED_ARG (set);
- PACE_UNUSED_ARG (signo);
- PACE_ERRNO_NO_SUPPORT_RETURN (-1);
-}
-#endif /* PACE_HAS_POSIX_SIG_UOF */
-
-#if (PACE_HAS_POSIX_SIG_UOF)
-PACE_INLINE
-int
-pace_sigemptyset (pace_sigset_t * set)
-{
- PACE_UNUSED_ARG (set);
- PACE_ERRNO_NO_SUPPORT_RETURN (-1);
-}
-#endif /* PACE_HAS_POSIX_SIG_UOF */
-
-#if (PACE_HAS_POSIX_SIG_UOF)
-PACE_INLINE
-int
-pace_sigdelset (pace_sigset_t * set, int signo)
-{
- PACE_UNUSED_ARG (set);
- PACE_UNUSED_ARG (signo);
- PACE_ERRNO_NO_SUPPORT_RETURN (-1);
-}
-#endif /* PACE_HAS_POSIX_SIG_UOF */
-
-#if (PACE_HAS_POSIX_SIG_UOF)
-PACE_INLINE
-int
-pace_sigfillset (pace_sigset_t * set)
-{
- /* PACE_SIG_BITS is an enum defined in PACE/pace/win32/signal.inl */
- int i = 0;
- for ( ; i < PACE_SIG_BITS; ++i)
- {
- set->sigbits_[i] = ~(unsigned int)0;
- }
- return 0;
-}
-#endif /* PACE_HAS_POSIX_SIG_UOF */
-
-#if (PACE_HAS_POSIX_SIG_UOF)
-PACE_INLINE
-int
-pace_sigismember (const pace_sigset_t * set, int signo)
-{
- PACE_UNUSED_ARG (set);
- PACE_UNUSED_ARG (signo);
- PACE_ERRNO_NO_SUPPORT_RETURN (-1);
-}
-#endif /* PACE_HAS_POSIX_SIG_UOF */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-void
-(*pace_signal(int sig, void (*func)(int)))(int)
-{
- return signal (sig, func);
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_SIG_UOF)
-PACE_INLINE
-int
-pace_sigpending (pace_sigset_t * set)
-{
- PACE_UNUSED_ARG (set);
- PACE_ERRNO_NO_SUPPORT_RETURN (-1);
-}
-#endif /* PACE_HAS_POSIX_SIG_UOF */
-
-#if (PACE_HAS_POSIX_SIG_UOF)
-PACE_INLINE
-int
-pace_sigprocmask (int how, const pace_sigset_t * set,
- pace_sigset_t * oset)
-{
- PACE_UNUSED_ARG (how);
- PACE_UNUSED_ARG (set);
- PACE_UNUSED_ARG (oset);
- PACE_ERRNO_NO_SUPPORT_RETURN (-1);
-}
-#endif /* PACE_HAS_POSIX_SIG_UOF */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_sigqueue (pace_pid_t pid, int signo,
- const pace_sigval value)
-{
- PACE_UNUSED_ARG (pid);
- PACE_UNUSED_ARG (signo);
- PACE_UNUSED_ARG (value);
- PACE_ERRNO_NO_SUPPORT_RETURN (-1);
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_SIG_UOF)
-PACE_INLINE
-int
-pace_sigsuspend (const pace_sigset_t * sigmask)
-{
- PACE_UNUSED_ARG (sigmask);
- PACE_ERRNO_NO_SUPPORT_RETURN (-1);
-}
-#endif /* PACE_HAS_POSIX_SIG_UOF */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_sigtimedwait (const pace_sigset_t * set, pace_siginfo_t * info,
- const pace_timespec * timeout)
-{
- PACE_UNUSED_ARG (set);
- PACE_UNUSED_ARG (info);
- PACE_UNUSED_ARG (timeout);
- PACE_ERRNO_NO_SUPPORT_RETURN (-1);
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_sigwait (const pace_sigset_t * set, int * sig)
-{
- PACE_UNUSED_ARG (set);
- PACE_UNUSED_ARG (sig);
- PACE_ERRNO_NO_SUPPORT_RETURN (-1);
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_sigwaitinfo (const pace_sigset_t * set, pace_siginfo_t * info)
-{
- PACE_UNUSED_ARG (set);
- PACE_UNUSED_ARG (info);
- PACE_ERRNO_NO_SUPPORT_RETURN (-1);
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
diff --git a/PACE/pace/win32/socket.c b/PACE/pace/win32/socket.c
deleted file mode 100644
index 682a843fe1b..00000000000
--- a/PACE/pace/win32/socket.c
+++ /dev/null
@@ -1,9 +0,0 @@
-/*
- * $Id$
- */
-
-#include "pace/sys/socket.h"
-
-/*
- * Empty for win32.
- */
diff --git a/PACE/pace/win32/socket.h b/PACE/pace/win32/socket.h
deleted file mode 100644
index bfaaaab9953..00000000000
--- a/PACE/pace/win32/socket.h
+++ /dev/null
@@ -1,5 +0,0 @@
-/*
- * $Id$
- *
- * Empty for win32.
- */
diff --git a/PACE/pace/win32/socket.inl b/PACE/pace/win32/socket.inl
deleted file mode 100644
index 62d778da847..00000000000
--- a/PACE/pace/win32/socket.inl
+++ /dev/null
@@ -1,7 +0,0 @@
-/*
- * $Id$
- */
-
-/*
- * Empty for win32.
- */
diff --git a/PACE/pace/win32/stat.c b/PACE/pace/win32/stat.c
deleted file mode 100644
index 1f2bb2fabe5..00000000000
--- a/PACE/pace/win32/stat.c
+++ /dev/null
@@ -1,40 +0,0 @@
-/* $Id$
-
- * =============================================================================
- *
- * = LIBRARY
- * pace
- *
- * = FILENAME
- * pace/win32/stat.c
- *
- * = AUTHOR
- * Luther Baker
- *
- * ============================================================================= */
-
-#include "pace/sys/stat.h"
-
-#if !defined (PACE_HAS_INLINE)
-# include "pace/win32/stat.inl"
-#endif /* ! PACE_HAS_INLINE */
-
-#include <windows.h>
-#include <direct.h>
-
-#if (PACE_HAS_POSIX_FS_UOF)
-int
-pace_win32_mkdir (const char * path, pace_mode_t mode)
-{
- PACE_UNUSED_ARG (mode);
-# if defined (__IBMCPP__) && (__IBMCPP__ >= 400)
- PACE_OSCALL_RETURN (_mkdir ((char *) path), int, -1);
-# elif defined (PACE_WINCE)
- PACE_WIN32CALL_RETURN
- (PACE_ADAPT_RETVAL
- (CreateDirectory (path, NULL), pace_result_), int, -1);
-# else
- PACE_OSCALL_RETURN (_mkdir (path), int, -1);
-# endif /* PACE_WIN32 */
-}
-#endif /* PACE_HAS_POSIX_FS_UOF */
diff --git a/PACE/pace/win32/stat.h b/PACE/pace/win32/stat.h
deleted file mode 100644
index e05363468ad..00000000000
--- a/PACE/pace/win32/stat.h
+++ /dev/null
@@ -1,65 +0,0 @@
-/* $Id$
-
- * ============================================================================
- *
- * = LIBRARY
- * pace
- *
- * = FILENAME
- * pace/win32/stat.h
- *
- * = AUTHOR
- * Luther Baker
- *
- * ============================================================================ */
-
-#ifndef PACE_SYS_STAT_H_WIN32
-#define PACE_SYS_STAT_H_WIN32
-
-#include "pace/sys/types.h"
-#include <sys/stat.h>
-#include <io.h>
-
-#if defined (PACE_HAS_CPLUSPLUS)
-extern "C" {
-#endif /* PACE_HAS_CPLUSPLUS */
-
-#define PACE_S_IRGRP S_IRGRP
-#define PACE_S_IROTH S_IROTH
-#define PACE_S_IRUSR S_IRUSR
-#define PACE_S_IRWXG S_IRWXG
-#define PACE_S_IRWXO S_IRWXO
-#define PACE_S_IRWXU S_IRWXU
-#define PACE_S_ISBLK S_ISBLK
-#define PACE_S_ISCHR S_ISCHR
-#define PACE_S_ISDIR S_ISDIR
-#define PACE_S_ISFIFO S_ISFIFO
-#define PACE_S_ISGID S_SIGID
-#define PACE_S_ISREG S_ISREG
-#define PACE_S_ISUID S_ISUID
-#define PACE_S_IWGRP S_IWGRP
-#define PACE_S_IWOTH S_IWOTH
-#define PACE_S_IWUSR S_IWUSR
-#define PACE_S_IXGRP S_IXGRP
-#define PACE_S_IXOTH S_IXOTH
-#define PACE_S_IXUSR S_IXUSR
-#define PACE_S_TYPEISMQ S_TYPEISMQ
-#define PACE_S_TYPEISSEM S_TYPEISSEM
-#define PACE_S_TYPEISMQ S_TYPEISMQ
-#define PACE_S_TYPEISSEM S_TYPEISSEM
-#define PACE_S_TYPEISSHM S_TYPEISSHM
-
-#ifndef PACE_STAT
-#define PACE_STAT
- typedef struct stat pace_stat_s;
-#endif /* PACE_STAT */
-
-#if (PACE_HAS_POSIX_FS_UOF)
- int pace_win32_mkdir (const char * path, pace_mode_t mode);
-#endif /* PACE_HAS_POSIX_FS_UOF */
-
-#if defined (PACE_HAS_CPLUSPLUS)
-}
-#endif /* PACE_HAS_CPLUSPLUS */
-
-#endif /* PACE_SYS_STAT_H_WIN32 */
diff --git a/PACE/pace/win32/stat.inl b/PACE/pace/win32/stat.inl
deleted file mode 100644
index 4ebc17eed86..00000000000
--- a/PACE/pace/win32/stat.inl
+++ /dev/null
@@ -1,99 +0,0 @@
-/* $Id$ -*- C -*-
-
- * =============================================================================
- *
- * = LIBRARY
- * pace
- *
- * = FILENAME
- * pace/win32/stat.inl
- *
- * = AUTHOR
- * Luther Baker
- *
- * ============================================================================= */
-
-#if (PACE_HAS_POSIX_FA_UOF)
-PACE_INLINE
-int
-pace_chmod (const char * path, pace_mode_t mode)
-{
- PACE_UNUSED_ARG (path);
- PACE_UNUSED_ARG (mode);
- PACE_ERRNO_NO_SUPPORT_RETURN (-1);
-}
-#endif /* PACE_HAS_POSIX_FA_UOF */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_fchmod (PACE_HANDLE fildes, pace_mode_t mode)
-{
- PACE_UNUSED_ARG (fildes);
- PACE_UNUSED_ARG (mode);
- PACE_ERRNO_NO_SUPPORT_RETURN (-1);
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_FS_UOF)
-PACE_INLINE
-int
-pace_fstat (PACE_HANDLE fildes, pace_stat_s * buf)
-{
- /* There are two impl in ACE. This is the simpler. But requires
- * you to close the temporary file desc. */
- int retval = -1;
- int fd = _open_osfhandle ((long) fildes, 0);
- if (fd != -1)
- {
- retval = _fstat (fd, (struct _stat *) buf);
- }
-
- _close (fd);
-
- /* Remember to close the file handle. */
- return retval;
-}
-#endif /* PACE_HAS_POSIX_FS_UOF */
-
-#if (PACE_HAS_POSIX_FS_UOF)
-PACE_INLINE
-int
-pace_mkdir (const char * path, pace_mode_t mode)
-{
- return pace_win32_mkdir (path, mode);
-}
-#endif /* PACE_HAS_POSIX_FS_UOF */
-
-#if (PACE_HAS_POSIX_F_UOF)
-PACE_INLINE
-int
-pace_mkfifo (const char * path, pace_mode_t mode)
-{
- PACE_UNUSED_ARG (path);
- PACE_UNUSED_ARG (mode);
- PACE_ERRNO_NO_SUPPORT_RETURN (-1);
-}
-#endif /* PACE_HAS_POSIX_F_UOF */
-
-#if (PACE_HAS_POSIX_FS_UOF)
-PACE_INLINE
-int
-pace_stat (const char * path, pace_stat_s * buf)
-{
- return _stat (path, (struct _stat *)buf);
-}
-#endif /* PACE_HAS_POSIX_FS_UOF */
-
-#if (PACE_HAS_POSIX_FA_UOF)
-PACE_INLINE
-pace_mode_t
-pace_umask (pace_mode_t cmask)
-{
-#if defined (__BORLANDC__)
- return umask (cmask);
-#else /* __BORLANDC__ */
- return _umask (cmask);
-#endif /* __BORLANDC__ */
-}
-#endif /* PACE_HAS_POSIX_FA_UOF */
diff --git a/PACE/pace/win32/stdio.c b/PACE/pace/win32/stdio.c
deleted file mode 100644
index 3aae70d32ca..00000000000
--- a/PACE/pace/win32/stdio.c
+++ /dev/null
@@ -1,51 +0,0 @@
-/* $Id$
-
- * =============================================================================
- *
- * = LIBRARY
- * pace
- *
- * = FILENAME
- * pace/win32/stdio.c
- *
- * = AUTHOR
- * Luther Baker
- *
- * ============================================================================= */
-
-#include "pace/stdio.h"
-
-#if !defined (PACE_HAS_INLINE)
-# include "pace/win32/stdio.inl"
-#endif /* ! PACE_HAS_INLINE */
-
-
-#if (PACE_HAS_POSIX_FM_UOF)
-int
-pace_win32_fseek (FILE * stream, long offset, int whence)
-{
-# if SEEK_SET != FILE_BEGIN \
- || SEEK_CUR != FILE_CURRENT \
- || SEEK_END != FILE_END
- //#error Windows NT is evil AND rude!
- switch (whence)
- {
- case SEEK_SET:
- whence = FILE_BEGIN;
- break;
- case SEEK_CUR:
- whence = FILE_CURRENT;
- break;
- case SEEK_END:
- whence = FILE_END;
- break;
- default:
- errno = EINVAL;
- return -1; // rather safe than sorry
- }
-# endif /* SEEK_SET != FILE_BEGIN
- || SEEK_CUR != FILE_CURRENT
- || SEEK_END != FILE_END */
- PACE_OSCALL_RETURN (fseek (stream, offset, whence), int, -1);
-}
-#endif /* PACE_HAS_POSIX_FM_UOF */
diff --git a/PACE/pace/win32/stdio.h b/PACE/pace/win32/stdio.h
deleted file mode 100644
index f765305c77c..00000000000
--- a/PACE/pace/win32/stdio.h
+++ /dev/null
@@ -1,90 +0,0 @@
-/* $Id$
-
- * ============================================================================
- *
- * = LIBRARY
- * pace
- *
- * = FILENAME
- * pace/win32/stdio.h
- *
- * = AUTHOR
- * Luther Baker
- *
- * ============================================================================ */
-
-#ifndef PACE_STDIO_H_WIN32
-#define PACE_STDIO_H_WIN32
-
-#include <stdio.h>
-#include <stdarg.h>
-
-#if defined (PACE_HAS_CPLUSPLUS)
-extern "C" {
-#endif /* PACE_HAS_CPLUSPLUS */
-
- typedef FILE PACE_FILE;
- typedef fpos_t pace_fpos_t;
-
-# ifndef PACE_BUSIZ
-# define PACE_BUFSIZ BUFSIZ
-# endif /* PACE_BUFSIZ */
-
-# ifndef PACE_EOF
-# define PACE_EOF EOF
-# endif /* PACE_EOF */
-
-# ifndef PACE_FILENAME_MAX
-# define PACE_FILENAME_MAX FILENAME_MAX
-# endif /* PACE_FILENAME_MAX */
-
-# ifndef PACE_L_ctermid
-# define PACE_L_ctermid L_ctermid
-# endif /* PACE_L_ctermid */
-
-# ifndef PACE_L_cuserid
-# define PACE_L_cuserid L_cuserid
-# endif /* PACE_L_cuserid */
-
-# ifndef PACE_NULL
-# define PACE_NULL NULL
-# endif /* PACE_NULL */
-
-# ifndef PACE_SEEK_CUR
-# define PACE_SEEK_CUR SEEK_CUR
-# endif /* PACE_SEEK_CUR */
-
-# ifndef PACE_SEEK_END
-# define PACE_SEEK_END SEEK_END
-# endif /* PACE_SEEK_END */
-
-# ifndef PACE_SEEK_SET
-# define PACE_SEEK_SET SEEK_SET
-# endif /* PACE_SEEK_SET */
-
-# ifndef PACE_TMP_MAX
-# define PACE_TMP_MAX TMP_MAX
-# endif /* PACE_TMP_MAX */
-
-# ifndef pace_stderr
-# define pace_stderr stderr
-# endif /* pace_stderr */
-
-# ifndef pace_stdout
-# define pace_stdout stdout
-# endif /* pace_stdout */
-
-# ifndef pace_stdin
-# define pace_stdin stdin
-# endif
-
-#ifndef PACE_SIZE_T
-#define PACE_SIZE_T 1
- typedef size_t pace_size_t;
-#endif /* PACE_SIZE_T */
-
-#if defined (PACE_HAS_CPLUSPLUS)
-}
-#endif /* PACE_HAS_CPLUSPLUS */
-
-#endif /* PACE_STDIO_H_WIN32 */
diff --git a/PACE/pace/win32/stdio.inl b/PACE/pace/win32/stdio.inl
deleted file mode 100644
index 180140149b9..00000000000
--- a/PACE/pace/win32/stdio.inl
+++ /dev/null
@@ -1,464 +0,0 @@
-/* $Id$ -*- C -*-
-
- * ===========================================================================
- *
- * = LIBRARY
- * pace
- *
- * = FILENAME
- * pace/win32/stdio.inl
- *
- * = AUTHOR
- * Luther Baker
- *
- * =========================================================================== */
-
-#if (PACE_HAS_POSIX_DI_UOF)
-PACE_INLINE
-void
-pace_clearerr (FILE * stream)
-{
- clearerr (stream);
- return;
-}
-#endif /* PACE_HAS_POSIX_DI_UOF */
-
-#if (PACE_HAS_POSIX_DI_UOF)
-PACE_INLINE
-int
-pace_fclose (FILE * stream)
-{
- return fclose (stream);
-}
-#endif /* PACE_HAS_POSIX_DI_UOF */
-
-#if (PACE_HAS_POSIX_DS_UOF)
-PACE_INLINE
-char *
-pace_ctermid (char * s)
-{
- char * retval = (char*)0;
- PACE_UNUSED_ARG (s);
- PACE_ERRNO_NO_SUPPORT_RETURN (retval);
-}
-#endif /* PACE_HAS_POSIX_DS_UOF */
-
-#if (PACE_HAS_POSIX_DI_UOF)
-PACE_INLINE
-FILE *
-pace_fdopen (int fildes,
- const char * type)
-{
-#if defined (__BORLANDC__)
- return fdopen (fildes, (char *)type);
-#else /* __BORLANDC__ */
- return fdopen (fildes, type);
-#endif /* __BORLANDC__ */
-}
-#endif /* PACE_HAS_POSIX_DI_UOF */
-
-#if (PACE_HAS_POSIX_DI_UOF)
-PACE_INLINE
-int
-pace_ferror (FILE * stream)
-{
- return ferror (stream);
-}
-#endif /* PACE_HAS_POSIX_DI_UOF */
-
-#if (PACE_HAS_POSIX_DI_UOF)
-PACE_INLINE
-int
-pace_feof (FILE * stream)
-{
- return feof (stream);
-}
-#endif /* PACE_HAS_POSIX_DI_UOF */
-
-#if (PACE_HAS_POSIX_DI_UOF)
-PACE_INLINE
-int
-pace_fflush (FILE * stream)
-{
- return fflush (stream);
-}
-#endif /* PACE_HAS_POSIX_DI_UOF */
-
-#if (PACE_HAS_POSIX_DI_UOF)
-PACE_INLINE
-int
-pace_fileno (FILE * stream)
-{
- return fileno (stream);
-}
-#endif /* PACE_HAS_POSIX_DI_UOF */
-
-#if (PACE_HAS_POSIX_DI_UOF)
-PACE_INLINE
-int
-pace_fgetc (FILE * stream)
-{
- return fgetc (stream);
-}
-#endif /* PACE_HAS_POSIX_DI_UOF */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_fgetpos(PACE_FILE * stream,
- pace_fpos_t * pos)
-{
- return fgetpos (stream, pos);
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_DI_UOF)
-PACE_INLINE
-char *
-pace_fgets (char * s,
- int n,
- FILE * stream)
-{
- return fgets (s, n, stream);
-}
-#endif /* PACE_HAS_POSIX_DI_UOF */
-
-#if (PACE_HAS_POSIX_FL_UOF)
-PACE_INLINE
-void
-pace_flockfile (FILE * file)
-{
- PACE_UNUSED_ARG (file);
- PACE_ERRNO_NO_SUPPORT ();
- return;
-}
-#endif /* PACE_HAS_POSIX_FL_UOF */
-
-#if (PACE_HAS_POSIX_DI_UOF)
-PACE_INLINE
-FILE *
-pace_fopen (const char * filename,
- const char * mode)
-{
- return fopen (filename, mode);
-}
-#endif /* PACE_HAS_POSIX_DI_UOF */
-
-#if (PACE_HAS_POSIX_DI_UOF)
-PACE_INLINE
-int
-pace_fputc (int c, FILE * stream)
-{
- return fputc (c, stream);
-}
-#endif /* PACE_HAS_POSIX_DI_UOF */
-
-#if (PACE_HAS_POSIX_DI_UOF)
-PACE_INLINE
-int
-pace_fputs (const char * s, FILE * stream)
-{
- return fputs (s, stream);
-}
-#endif /* PACE_HAS_POSIX_DI_UOF */
-
-#if (PACE_HAS_POSIX_DI_UOF)
-PACE_INLINE
-size_t
-pace_fread (void * ptr,
- size_t size,
- size_t number_of_items,
- FILE * stream)
-{
- return fread (ptr,
- size,
- number_of_items,
- stream);
-}
-#endif /* PACE_HAS_POSIX_DI_UOF */
-
-#if (PACE_HAS_POSIX_DI_UOF)
-PACE_INLINE
-FILE *
-pace_freopen (const char * filename,
- const char * mode,
- FILE * stream)
-{
- return freopen (filename, mode, stream);
-}
-#endif /* PACE_HAS_POSIX_DI_UOF */
-
-#if (PACE_HAS_POSIX_FM_UOF)
-PACE_INLINE
-int
-pace_fseek (FILE * stream,
- long offset,
- int whence)
-{
- return fseek (stream, offset, whence);
-}
-#endif /* PACE_HAS_POSIX_FM_UOF */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_fsetpos(PACE_FILE * stream, const pace_fpos_t * pos)
-{
- return fsetpos (stream, pos);
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_FM_UOF)
-PACE_INLINE
-long
-pace_ftell (FILE * stream)
-{
- return ftell (stream);
-}
-#endif /* PACE_HAS_POSIX_FM_UOF */
-
-#if (PACE_HAS_POSIX_FL_UOF)
-PACE_INLINE
-int
-pace_ftrylockfile (FILE * file)
-{
- PACE_UNUSED_ARG (file);
- PACE_ERRNO_NO_SUPPORT_RETURN (-1);
-}
-#endif /* PACE_HAS_POSIX_FL_UOF */
-
-#if (PACE_HAS_POSIX_FL_UOF)
-PACE_INLINE
-void
-pace_funlockfile (FILE * file)
-{
- PACE_UNUSED_ARG(file);
- PACE_ERRNO_NO_SUPPORT ();
- return;
-}
-#endif /* PACE_HAS_POSIX_FL_UOF */
-
-#if (PACE_HAS_POSIX_DI_UOF)
-PACE_INLINE
-pace_size_t
-pace_fwrite(const void * ptr,
- pace_size_t size, pace_size_t nmemb,
- PACE_FILE * stream)
-{
- return fwrite (ptr, size, nmemb, stream);
-}
-#endif /* PACE_HAS_POSIX_DI_UOF */
-
-#if (PACE_HAS_POSIX_DI_UOF)
-PACE_INLINE
-int
-pace_getc (FILE * stream)
-{
- return getc (stream);
-}
-#endif /* PACE_HAS_POSIX_DI_UOF */
-
-#if (PACE_HAS_POSIX_FL_UOF)
-PACE_INLINE
-int
-pace_getc_unlocked (FILE * stream)
-{
- PACE_UNUSED_ARG (stream);
- PACE_ERRNO_NO_SUPPORT_RETURN (-1);
-}
-#endif /* PACE_HAS_POSIX_FL_UOF */
-
-#if (PACE_HAS_POSIX_DI_UOF)
-PACE_INLINE
-int
-pace_getchar ()
-{
- return getchar ();
-}
-#endif /* PACE_HAS_POSIX_DI_UOF */
-
-#if (PACE_HAS_POSIX_FL_UOF)
-PACE_INLINE
-int
-pace_getchar_unlocked ()
-{
- PACE_ERRNO_NO_SUPPORT_RETURN (-1);
-}
-#endif /* PACE_HAS_POSIX_FL_UOF */
-
-#if (PACE_HAS_POSIX_DI_UOF)
-PACE_INLINE
-char *
-pace_gets (char * s)
-{
- return gets (s);
-}
-#endif /* PACE_HAS_POSIX_DI_UOF */
-
-#if (PACE_HAS_POSIX_DI_UOF)
-PACE_INLINE
-void
-pace_perror (const char * s)
-{
- perror (s);
- return;
-}
-#endif /* PACE_HAS_POSIX_DI_UOF */
-
-#if (PACE_HAS_POSIX_DI_UOF)
-PACE_INLINE
-int
-pace_putc (int c, FILE * stream)
-{
- return putc (c, stream);
-}
-#endif /* PACE_HAS_POSIX_DI_UOF */
-
-#if (PACE_HAS_POSIX_FL_UOF)
-PACE_INLINE
-int
-pace_putc_unlocked (int c,
- FILE * stream)
-{
- PACE_UNUSED_ARG (c);
- PACE_UNUSED_ARG (stream);
- PACE_ERRNO_NO_SUPPORT_RETURN (-1);
-}
-#endif /* PACE_HAS_POSIX_FL_UOF */
-
-#if (PACE_HAS_POSIX_DI_UOF)
-PACE_INLINE
-int
-pace_putchar (int c)
-{
- return putchar (c);
-}
-#endif /* PACE_HAS_POSIX_DI_UOF */
-
-#if (PACE_HAS_POSIX_FL_UOF)
-PACE_INLINE
-int
-pace_putchar_unlocked (int c)
-{
- PACE_UNUSED_ARG(c);
- PACE_ERRNO_NO_SUPPORT_RETURN (-1);
-}
-#endif /* PACE_HAS_POSIX_FL_UOF */
-
-#if (PACE_HAS_POSIX_DI_UOF)
-PACE_INLINE
-int
-pace_puts (const char * s)
-{
- return puts (s);
-}
-#endif /* PACE_HAS_POSIX_DI_UOF */
-
-#if (PACE_HAS_POSIX_FS_UOF)
-PACE_INLINE
-int
-pace_remove (const char * path)
-{
- return remove (path);
-}
-#endif /* PACE_HAS_POSIX_FS_UOF */
-
-#if (PACE_HAS_POSIX_FS_UOF)
-PACE_INLINE
-int
-pace_rename (const char * old_name,
- const char * new_name)
-{
- return rename (old_name, new_name);
-}
-#endif /* PACE_HAS_POSIX_FS_UOF */
-
-#if (PACE_HAS_POSIX_FM_UOF)
-PACE_INLINE
-void
-pace_rewind (FILE * stream)
-{
- rewind (stream);
- return;
-}
-#endif /* PACE_HAS_POSIX_FM_UOF */
-
-#if (PACE_HAS_POSIX_DI_UOF)
-PACE_INLINE
-void
-pace_setbuf (FILE * stream, char * buf)
-{
- setbuf (stream, buf);
- return;
-}
-#endif /* PACE_HAS_POSIX_DI_UOF */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_setvbuf(PACE_FILE * stream,
- char * buf,
- int mode, pace_size_t size)
-{
- return setvbuf (stream, buf, mode, size);
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_FS_UOF)
-PACE_INLINE
-FILE *
-pace_tmpfile ()
-{
- return tmpfile ();
-}
-#endif /* PACE_HAS_POSIX_FS_UOF */
-
-#if (PACE_HAS_POSIX_FS_UOF)
-PACE_INLINE
-char *
-pace_tmpnam (char * s)
-{
- return tmpnam (s);
-}
-#endif /* PACE_HAS_POSIX_FS_UOF */
-
-#if (PACE_HAS_POSIX_DI_UOF)
-PACE_INLINE
-int
-pace_ungetc (int c, FILE * stream)
-{
- return ungetc (c, stream);
-}
-#endif /* PACE_HAS_POSIX_DI_UOF */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_vfprintf (PACE_FILE * stream,
- const char * format,
- va_list arg)
-{
- return vfprintf (stream, format, arg);
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_vprintf (const char * format,
- va_list arg)
-{
- return vprintf (format, arg);
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_vsprintf (char * s,
- const char * format,
- va_list arg)
-{
- return vsprintf (s, format, arg);
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
diff --git a/PACE/pace/win32/stdlib.c b/PACE/pace/win32/stdlib.c
deleted file mode 100644
index 2d6f593e75d..00000000000
--- a/PACE/pace/win32/stdlib.c
+++ /dev/null
@@ -1,20 +0,0 @@
-/* $Id$
-
- * =============================================================================
- *
- * = LIBRARY
- * pace
- *
- * = FILENAME
- * pace/win32/stdlib.c
- *
- * = AUTHOR
- * Luther Baker
- *
- * ============================================================================= */
-
-#include "pace/stdlib.h"
-
-#if !defined (PACE_HAS_INLINE)
-# include "pace/win32/stdlib.inl"
-#endif /* ! PACE_HAS_INLINE */
diff --git a/PACE/pace/win32/stdlib.h b/PACE/pace/win32/stdlib.h
deleted file mode 100644
index 01a93eded34..00000000000
--- a/PACE/pace/win32/stdlib.h
+++ /dev/null
@@ -1,63 +0,0 @@
-/* $Id$
-
- * ============================================================================
- *
- * = LIBRARY
- * pace
- *
- * = FILENAME
- * pace/win32/stdlib.h
- *
- * = AUTHOR
- * Luther Baker
- *
- * ============================================================================ */
-
-#ifndef PACE_STDLIB_H_WIN32
-#define PACE_STDLIB_H_WIN32
-
-#include <stdlib.h>
-#include "pace/unistd.h"
-
-#if defined (PACE_HAS_CPLUSPLUS)
-extern "C" {
-#endif /* PACE_HAS_CPLUSPLUS */
-
- typedef div_t pace_div_t;
- typedef ldiv_t pace_ldiv_t;
-
-# ifndef PACE_EXIT_FAILURE
-# define PACE_EXIT_FAILURE EXIT_FAILURE
-# endif /* PACE_EXIT_FAILURE */
-
-# ifndef PACE_EXIT_SUCCESS
-# define PACE_EXIT_SUCCESS EXIT_SUCCESS
-# endif /* PACE_EXIT_SUCCESS */
-
-# ifndef PACE_MB_CUR_MAX
-# define PACE_MB_CUR_MAX MB_CUR_MAX
-# endif /* PACE_MB_CUR_MAX */
-
-# ifndef PACE_NULL
-# define PACE_NULL NULL
-# endif /* PACE_NULL */
-
-# ifndef PACE_RAND_MAX
-# define PACE_RAND_MAX RAND_MAX
-# endif /* PACE_RAND_MAX */
-
-#ifndef PACE_SIZE_T
-#define PACE_SIZE_T 1
- typedef size_t pace_size_t;
-#endif /* PACE_SIZE_T */
-
-#ifndef PACE_WCHAR_T
-#define PACE_WCHAR_T 1
- typedef wchar_t pace_wchar_t;
-#endif /* PACE_WCHAR_T */
-
-#if defined (PACE_HAS_CPLUSPLUS)
-}
-#endif /* PACE_HAS_CPLUSPLUS */
-
-#endif /* PACE_STDLIB_H_WIN32 */
diff --git a/PACE/pace/win32/stdlib.inl b/PACE/pace/win32/stdlib.inl
deleted file mode 100644
index 3597e1954dc..00000000000
--- a/PACE/pace/win32/stdlib.inl
+++ /dev/null
@@ -1,303 +0,0 @@
-/* $Id$ -*- C -*-
-
- * =============================================================================
- *
- * = LIBRARY
- * pace
- *
- * = FILENAME
- * pace/win32/stdlib.inl
- *
- * = AUTHOR
- * Luther Baker
- *
- * ============================================================================= */
-
-#include <stdlib.h>
-
-#if (PACE_HAS_POSIX_SIG_UOF)
-PACE_INLINE
-void
-pace_abort (void)
-{
- abort ();
-}
-#endif /* PACE_HAS_POSIX_SIG_UOF */
-
-#if (PACE_HAS_POSIX_CLS_UOF)
-PACE_INLINE
-int
-pace_abs (int val)
-{
- return abs (val);
-}
-#endif /* PACE_HAS_POSIX_CLS_UOF */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_atexit (void (*func)(void))
-{
- return atexit (func);
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_CLS_UOF)
-PACE_INLINE
-double
-pace_atof (const char * str)
-{
- return atof (str);
-}
-#endif /* PACE_HAS_POSIX_CLS_UOF */
-
-#if (PACE_HAS_POSIX_CLS_UOF)
-PACE_INLINE
-int
-pace_atoi (const char * str)
-{
- return atoi (str);
-}
-#endif /* PACE_HAS_POSIX_CLS_UOF */
-
-#if (PACE_HAS_POSIX_CLS_UOF)
-PACE_INLINE
-long
-pace_atol (const char * str)
-{
- return atol (str);
-}
-#endif /* PACE_HAS_POSIX_CLS_UOF */
-
-#if (PACE_HAS_POSIX_CLS_UOF)
-PACE_INLINE
-void *
-pace_bsearch (const void *key, const void *base,
- size_t nel, size_t size,
- int (*compar)(const void *,const void *))
-{
- return bsearch (key, base, nel, size, compar);
-}
-#endif /* PACE_HAS_POSIX_CLS_UOF */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-pace_div_t
-pace_div (int numer, int denom)
-{
- return div (numer, denom);
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_MP_UOF)
-PACE_INLINE
-void
-pace_exit (int status)
-{
- exit (status);
- return;
-}
-#endif /* PACE_HAS_POSIX_MP_UOF */
-
-#if (PACE_HAS_POSIX_MP_UOF)
-PACE_INLINE
-char *
-pace_getenv (const char * name)
-{
- return getenv (name);
-}
-#endif /* PACE_HAS_POSIX_MP_UOF */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-long int
-pace_labs (long int j)
-{
- return labs (j);
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-pace_ldiv_t
-pace_ldiv (long int numer, long int denom)
-{
- return ldiv (numer, denom);
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_mblen (const char* s, pace_size_t n)
-{
- return mblen (s, n);
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-pace_size_t
-pace_mbstowcs (pace_wchar_t* pwcs,
- const char* s,
- pace_size_t n)
-{
- return mbstowcs (pwcs, s, n);
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_mbtowc (pace_wchar_t* pwc,
- const char* s,
- pace_size_t n)
-{
- return mbtowc (pwc, s, n);
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_CLS_UOF)
-PACE_INLINE
-void
-pace_qsort (void * base, size_t nel, size_t width,
- int (*compar)(const void *, const void *))
-{
- qsort (base, nel, width, compar);
-}
-#endif /* PACE_HAS_POSIX_CLS_UOF */
-
-#if (PACE_HAS_POSIX_CLS_UOF)
-PACE_INLINE
-int
-pace_rand ()
-{
- return rand ();
-}
-#endif /* PACE_HAS_POSIX_CLS_UOF */
-
-#if (PACE_HAS_POSIX_CLS_UOF)
-PACE_INLINE
-void
-pace_srand (unsigned int seed)
-{
- srand (seed);
- return;
-}
-#endif /* PACE_HAS_POSIX_CLS_UOF */
-
-#if (PACE_HAS_POSIX_CLSR_UOF)
-PACE_INLINE
-int
-pace_rand_r (unsigned int *seed)
-{
- PACE_UNUSED_ARG (seed);
- PACE_ERRNO_NO_SUPPORT_RETURN (-1);
-}
-#endif /* PACE_HAS_POSIX_CLSR_UOF */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-double
-pace_strtod (const char* nptr,
- char** endptr)
-{
- return strtod (nptr, endptr);
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_strtol (const char* nptr,
- char** endptr,
- int base)
-{
- return strtol (nptr, endptr, base);
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-unsigned long int
-pace_strtoul (const char* nptr,
- char** endptr,
- int base)
-{
- return strtoul (nptr, endptr, base);
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_system (const char* string)
-{
- PACE_UNUSED_ARG (string);
- PACE_ERRNO_NO_SUPPORT_RETURN (-1);
-}
-
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-pace_size_t
-pace_wcstombs (char* s,
- const pace_wchar_t* pwcs,
- pace_size_t n)
-{
- return wcstombs (s, pwcs, n);
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_wctomb (char* s, pace_wchar_t wchar)
-{
- return wctomb (s, wchar);
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-/* Memory Management. */
-
-#if (PACE_HAS_POSIX_CLS_UOF)
-PACE_INLINE
-void *
-pace_malloc (size_t size)
-{
- return malloc (size);
-}
-#endif /* PACE_HAS_POSIX_CLS_UOF */
-
-#if (PACE_HAS_POSIX_CLS_UOF)
-PACE_INLINE
-void *
-pace_calloc (size_t nelem, size_t elsize)
-{
- return calloc (nelem, elsize);
-}
-#endif /* PACE_HAS_POSIX_CLS_UOF */
-
-#if (PACE_HAS_POSIX_CLS_UOF)
-PACE_INLINE
-void
-pace_free (void * ptr)
-{
- free (ptr);
- return;
-}
-#endif /* PACE_HAS_POSIX_CLS_UOF */
-
-#if (PACE_HAS_POSIX_CLS_UOF)
-PACE_INLINE
-void *
-pace_realloc (void * ptr, size_t size)
-{
- return realloc (ptr, size);
-}
-#endif /* PACE_HAS_POSIX_CLS_UOF */
-
-
-
-
diff --git a/PACE/pace/win32/string.c b/PACE/pace/win32/string.c
deleted file mode 100644
index f7f79cc7fab..00000000000
--- a/PACE/pace/win32/string.c
+++ /dev/null
@@ -1,42 +0,0 @@
-/* $Id$
-
- * =============================================================================
- *
- * = LIBRARY
- * pace
- *
- * = FILENAME
- * pace/win32/string.c
- *
- * = AUTHOR
- * Luther Baker
- *
- * ============================================================================= */
-
-#include "pace/string.h"
-
-#if !defined (PACE_HAS_INLINE)
-# include "pace/win32/string.inl"
-#endif /* ! PACE_HAS_INLINE */
-
-#if (PACE_HAS_POSIX_CLSR_UOF)
-char *
-strtok_r (char * s, const char * sep, char ** lasts)
-{
- int l_org;
- int l_sub;
-
- if (s == 0)
- s = *lasts;
- else
- *lasts = s;
- if (*s == 0) // We have reached the end
- return 0;
- l_org = pace_strlen (s);
- l_sub = pace_strlen (s = pace_strtok (s, sep));
- *lasts = s + l_sub;
- if (l_sub != l_org)
- *lasts += 1;
- return s ;
-}
-#endif /* PACE_HAS_POSIX_CLSR_UOF */
diff --git a/PACE/pace/win32/string.h b/PACE/pace/win32/string.h
deleted file mode 100644
index fdc5be5ab96..00000000000
--- a/PACE/pace/win32/string.h
+++ /dev/null
@@ -1,42 +0,0 @@
-/* $Id$
-
- * ============================================================================
- *
- * = LIBRARY
- * pace
- *
- * = FILENAME
- * pace/win32/string.h
- *
- * = AUTHOR
- * Luther Baker
- *
- * ============================================================================ */
-
-#ifndef PACE_STRING_H_WIN32
-#define PACE_STRING_H_WIN32
-
-#include "pace/unistd.h"
-
-#if defined (PACE_HAS_CPLUSPLUS)
-extern "C" {
-#endif /* PACE_HAS_CPLUSPLUS */
-
-#if !defined (PACE_NULL)
-# define PACE_NULL NULL
-#endif /* NULL */
-
-#ifndef PACE_SIZE_T
-#define PACE_SIZE_T
- typedef size_t pace_size_t;
-#endif /* PACE_SIZE_T */
-
-#if (PACE_HAS_POSIX_CLSR_UOF)
-char * strtok_r (char * s, const char * sep, char ** lasts);
-#endif /* PACE_HAS_POSIX_CLSR_UOF */
-
-#if defined (PACE_HAS_CPLUSPLUS)
-}
-#endif /* PACE_HAS_CPLUSPLUS */
-
-#endif /* PACE_STRING_H_WIN32 */
diff --git a/PACE/pace/win32/string.inl b/PACE/pace/win32/string.inl
deleted file mode 100644
index be669a7048c..00000000000
--- a/PACE/pace/win32/string.inl
+++ /dev/null
@@ -1,198 +0,0 @@
-/* $Id$ -*- C -*-
-
- * =============================================================================
- *
- * = LIBRARY
- * pace
- *
- * = FILENAME
- * pace/win32/string.inl
- *
- * = AUTHOR
- * Luther Baker
- *
- * ============================================================================= */
-
-#include <string.h>
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-void *
-pace_memchr (const void *s, int c, pace_size_t n)
-{
- return memchr (s, c, n);
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_memcmp (const void *s1, const void *s2, pace_size_t n)
-{
- return memcmp (s1, s2, n);
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-void *
-pace_memcpy (void * s1, const void * s2, pace_size_t n)
-{
- return memcpy (s1, s2, n);
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-void *
-pace_memmove (void *s1, const void *s2, pace_size_t n)
-{
- return memmove (s1, s2, n);
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-void *
-pace_memset (void *s, int c, pace_size_t n)
-{
- return memset (s, c, n);
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_CLS_UOF)
-PACE_INLINE
-char *
-pace_strcat (char * s1, const char * s2)
-{
- return strcat (s1, s2);
-}
-#endif /* PACE_HAS_POSIX_CLS_UOF */
-
-#if (PACE_HAS_POSIX_CLS_UOF)
-PACE_INLINE
-char *
-pace_strncat (char * s1, const char * s2, size_t n)
-{
- return strncat (s1, s2, n);
-}
-#endif /* PACE_HAS_POSIX_CLS_UOF */
-
-#if (PACE_HAS_POSIX_CLS_UOF)
-PACE_INLINE
-char *
-pace_strchr (const char * s, int c)
-{
- return strchr (s, c);
-}
-#endif /* PACE_HAS_POSIX_CLS_UOF */
-
-#if (PACE_HAS_POSIX_CLS_UOF)
-PACE_INLINE
-char *
-pace_strrchr (const char * s, int c)
-{
- return strrchr (s, c);
-}
-#endif /* PACE_HAS_POSIX_CLS_UOF */
-
-#if (PACE_HAS_POSIX_CLS_UOF)
-PACE_INLINE
-int
-pace_strcmp (const char * s1, const char * s2)
-{
- return strcmp (s1, s2);
-}
-#endif /* PACE_HAS_POSIX_CLS_UOF */
-
-#if (PACE_HAS_POSIX_CLS_UOF)
-PACE_INLINE
-int
-pace_strncmp (const char * s1, const char * s2, size_t n)
-{
- return strncmp (s1, s2, n);
-}
-#endif /* PACE_HAS_POSIX_CLS_UOF */
-
-#if (PACE_HAS_POSIX_CLS_UOF)
-PACE_INLINE
-char *
-pace_strcpy (char * s1, const char * s2)
-{
- return strcpy (s1, s2);
-}
-#endif /* PACE_HAS_POSIX_CLS_UOF */
-
-#if (PACE_HAS_POSIX_CLS_UOF)
-PACE_INLINE
-char *
-pace_strncpy (char * s1, const char * s2, size_t n)
-{
- return strncpy (s1, s2, n);
-}
-#endif /* PACE_HAS_POSIX_CLS_UOF */
-
-#if (PACE_HAS_POSIX_CLS_UOF)
-PACE_INLINE
-size_t
-pace_strcspn (const char * s1, const char * s2)
-{
- return strcspn (s1, s2);
-}
-#endif /* PACE_HAS_POSIX_CLS_UOF */
-
-#if (PACE_HAS_POSIX_CLS_UOF)
-PACE_INLINE
-size_t
-pace_strspn (const char * s1, const char * s2)
-{
- return strspn (s1, s2);
-}
-#endif /* PACE_HAS_POSIX_CLS_UOF */
-
-#if (PACE_HAS_POSIX_CLS_UOF)
-PACE_INLINE
-size_t
-pace_strlen (const char * s)
-{
- return strlen (s);
-}
-#endif /* PACE_HAS_POSIX_CLS_UOF */
-
-#if (PACE_HAS_POSIX_CLS_UOF)
-PACE_INLINE
-char *
-pace_strpbrk (const char * s1, const char * s2)
-{
- return strpbrk (s1, s2);
-}
-#endif /* PACE_HAS_POSIX_CLS_UOF */
-
-#if (PACE_HAS_POSIX_CLS_UOF)
-PACE_INLINE
-char *
-pace_strstr (const char * s1, const char * s2)
-{
- return strstr (s1, s2);
-}
-#endif /* PACE_HAS_POSIX_CLS_UOF */
-
-#if (PACE_HAS_POSIX_CLS_UOF)
-PACE_INLINE
-char *
-pace_strtok (char * s1, const char * s2)
-{
- return strtok (s1, s2);
-}
-#endif /* PACE_HAS_POSIX_CLS_UOF */
-
-#if (PACE_HAS_POSIX_CLSR_UOF)
-PACE_INLINE
-char *
-pace_strtok_r (char * s, const char * sep, char ** lasts)
-{
- return strtok_r (s, sep, lasts);
-}
-#endif /* PACE_HAS_POSIX_CLSR_UOF */
-
-
diff --git a/PACE/pace/win32/termios.c b/PACE/pace/win32/termios.c
deleted file mode 100644
index d5d32ced9a6..00000000000
--- a/PACE/pace/win32/termios.c
+++ /dev/null
@@ -1,20 +0,0 @@
-/* $Id$
-
- * =============================================================================
- *
- * = LIBRARY
- * pace
- *
- * = FILENAME
- * pace/win32/termios.c
- *
- * = AUTHOR
- * Luther Baker
- *
- * ============================================================================= */
-
-#include "pace/termios.h"
-
-#if !defined (PACE_HAS_INLINE)
-# include "pace/win32/termios.inl"
-#endif /* ! PACE_HAS_INLINE */
diff --git a/PACE/pace/win32/termios.h b/PACE/pace/win32/termios.h
deleted file mode 100644
index 8d491f5f460..00000000000
--- a/PACE/pace/win32/termios.h
+++ /dev/null
@@ -1,56 +0,0 @@
-/* $Id$
-
- * ============================================================================
- *
- * = LIBRARY
- * pace
- *
- * = FILENAME
- * pace/win32/termios.h
- *
- * = AUTHOR
- * Luther Baker
- *
- * ============================================================================ */
-
-#ifndef PACE_SYS_TERMIOS_H_WIN32
-#define PACE_SYS_TERMIOS_H_WIN32
-
-#include "pace/sys/types.h"
-
-#if defined (PACE_HAS_CPLUSPLUS)
-extern "C" {
-#endif /* PACE_HAS_CPLUSPLUS) */
-
-#ifndef PACE_CC_T
-#define PACE_CC_T
- /* Temporary until we correctly emulate these funcs on WIN32. */
- typedef int cc_t;
- typedef cc_t pace_cc_t;
-#endif /* PACE_CC_T */
-
-#ifndef PACE_SPEED_T
-#define PACE_SPEED_T
- /* Temporary until we correctly emulate these funcs on WIN32. */
- typedef int speed_t;
- typedef speed_t pace_speed_t;
-#endif /* PACE_SPEED_T */
-
-#ifndef PACE_TCFLAG_T
-#define PACE_TCFLAG_T
- /* Temporary until we correctly emulate these funcs on WIN32. */
- typedef int tcflag_t;
- typedef tcflag_t pace_tcflag_t;
-#endif /* PACE_TCFLAG_T */
-
-#ifndef PACE_TERMIOS
-#define PACE_TERMIOS
- /* Temporary until we correctly emulate these funcs on WIN32. */
- typedef struct termios { int a_; } pace_termios;
-#endif /* PACE_TERMIOS */
-
-#if defined (PACE_HAS_CPLUSPLUS)
-}
-#endif /* PACE_HAS_CPLUSPLUS */
-
-#endif /* PACE_SYS_TERMIOS_H_WIN32 */
diff --git a/PACE/pace/win32/termios.inl b/PACE/pace/win32/termios.inl
deleted file mode 100644
index 4b9905bff62..00000000000
--- a/PACE/pace/win32/termios.inl
+++ /dev/null
@@ -1,124 +0,0 @@
-/* $Id$ -*- C -*-
-
- * =============================================================================
- *
- * = LIBRARY
- * pace
- *
- * = FILENAME
- * pace/win32/termios.inl
- *
- * = AUTHOR
- * Luther Baker
- *
- * ============================================================================= */
-
-#if (PACE_HAS_POSIX_DS_UOF)
-PACE_INLINE
-speed_t
-pace_cfgetospeed (const pace_termios * termiosp)
-{
- PACE_UNUSED_ARG (termiosp);
- PACE_ERRNO_NO_SUPPORT_RETURN (-1);
-}
-#endif /* PACE_HAS_POSIX_DS_UOF */
-
-#if (PACE_HAS_POSIX_DS_UOF)
-PACE_INLINE
-int
-pace_cfsetospeed (pace_termios * termios_p, pace_speed_t speed)
-{
- PACE_UNUSED_ARG (termios_p);
- PACE_UNUSED_ARG (speed);
- PACE_ERRNO_NO_SUPPORT_RETURN (-1);
-}
-#endif /* PACE_HAS_POSIX_DS_UOF */
-
-#if (PACE_HAS_POSIX_DS_UOF)
-PACE_INLINE
-speed_t
-pace_cfgetispeed (const pace_termios * termios_p)
-{
- PACE_UNUSED_ARG (termios_p);
- PACE_ERRNO_NO_SUPPORT_RETURN (-1);
-}
-#endif /* PACE_HAS_POSIX_DS_UOF */
-
-#if (PACE_HAS_POSIX_DS_UOF)
-PACE_INLINE
-int
-pace_cfsetispeed (pace_termios * termios_p, pace_speed_t speed)
-{
- PACE_UNUSED_ARG (termios_p);
- PACE_UNUSED_ARG (speed);
- PACE_ERRNO_NO_SUPPORT_RETURN (-1);
-}
-#endif /* PACE_HAS_POSIX_DS_UOF */
-
-#if (PACE_HAS_POSIX_DS_UOF)
-PACE_INLINE
-int
-pace_tcdrain (PACE_HANDLE fildes)
-{
- PACE_UNUSED_ARG (fildes);
- PACE_ERRNO_NO_SUPPORT_RETURN (-1);
-}
-#endif /* PACE_HAS_POSIX_DS_UOF */
-
-#if (PACE_HAS_POSIX_DS_UOF)
-PACE_INLINE
-int
-pace_tcgetattr (PACE_HANDLE fildes, pace_termios * termios_p)
-{
- PACE_UNUSED_ARG (fildes);
- PACE_UNUSED_ARG (termios_p);
- PACE_ERRNO_NO_SUPPORT_RETURN (-1);
-}
-#endif /* PACE_HAS_POSIX_DS_UOF */
-
-#if (PACE_HAS_POSIX_DS_UOF)
-PACE_INLINE
-int
-pace_tcflow (PACE_HANDLE fildes, int action)
-{
- PACE_UNUSED_ARG (fildes);
- PACE_UNUSED_ARG (action);
- PACE_ERRNO_NO_SUPPORT_RETURN (-1);
-}
-#endif /* PACE_HAS_POSIX_DS_UOF */
-
-#if (PACE_HAS_POSIX_DS_UOF)
-PACE_INLINE
-int
-pace_tcflush (PACE_HANDLE fildes, int queue_selector)
-{
- PACE_UNUSED_ARG (fildes);
- PACE_UNUSED_ARG (queue_selector);
- PACE_ERRNO_NO_SUPPORT_RETURN (-1);
-}
-#endif /* PACE_HAS_POSIX_DS_UOF */
-
-#if (PACE_HAS_POSIX_DS_UOF)
-PACE_INLINE
-int
-pace_tcsendbreak (PACE_HANDLE fildes, int duration)
-{
- PACE_UNUSED_ARG (fildes);
- PACE_UNUSED_ARG (duration);
- PACE_ERRNO_NO_SUPPORT_RETURN (-1);
-}
-#endif /* PACE_HAS_POSIX_DS_UOF */
-
-#if (PACE_HAS_POSIX_DS_UOF)
-PACE_INLINE
-int
-pace_tcsetattr (PACE_HANDLE fildes,
- int optional_actions,
- const pace_termios * termios_p)
-{
- PACE_UNUSED_ARG (fildes);
- PACE_UNUSED_ARG (optional_actions);
- PACE_UNUSED_ARG (termios_p);
- PACE_ERRNO_NO_SUPPORT_RETURN (-1);
-}
-#endif /* PACE_HAS_POSIX_DS_UOF */
diff --git a/PACE/pace/win32/time.c b/PACE/pace/win32/time.c
deleted file mode 100644
index f5ed95f59fa..00000000000
--- a/PACE/pace/win32/time.c
+++ /dev/null
@@ -1,20 +0,0 @@
-/* $Id$
-
- * =============================================================================
- *
- * = LIBRARY
- * pace
- *
- * = FILENAME
- * pace/win32/time.c
- *
- * = AUTHOR
- * Luther Baker
- *
- * ============================================================================= */
-
-#include "pace/time.h"
-
-#if !defined (PACE_HAS_INLINE)
-# include "pace/win32/time.inl"
-#endif /* ! PACE_HAS_INLINE */
diff --git a/PACE/pace/win32/time.h b/PACE/pace/win32/time.h
deleted file mode 100644
index aeaf12e0771..00000000000
--- a/PACE/pace/win32/time.h
+++ /dev/null
@@ -1,107 +0,0 @@
-/* $Id$
-
- * ============================================================================
- *
- * = LIBRARY
- * pace
- *
- * = FILENAME
- * pace/win32/time.h
- *
- * = AUTHOR
- * Luther Baker
- *
- * ============================================================================ */
-
-#ifndef PACE_TIME_H_WIN32
-#define PACE_TIME_H_WIN32
-
-#include <time.h>
-#include "pace/sys/types.h"
-
-#if defined (PACE_HAS_CPLUSPLUS)
-extern "C" {
-#endif /* PACE_HAS_CPLUSPLUS */
-
-# ifndef PACE_CLK_TCK
-# define PACE_CLK_TCK CLK_TCK
-# endif /* PACE_CLK_TCK */
-
-# ifndef PACE_CLOCKS_PER_SEC
-# define PACE_CLOCKS_PER_SEC CLOCKS_PER_SEC
-# endif /* PACE_CLOCKS_PER_SEC */
-
-# ifndef PACE_CLOCK_REALTIME
-# define PACE_CLOCK_REALTIME CLOCK_REALTIME
-# endif /* PACE_CLOCK_REALTIME */
-
-# ifndef PACE_NULL
-# define PACE_NULL NULL
-# endif /* PACE_NULL */
-
-# ifndef PACE_TIMER_ABSTIME
-# define PACE_TIMER_ABSTIME TIMER_ABSTIME
-# endif /* PACE_TIMER_ABSTIME */
-
-#ifndef PACE_CLOCKID_T
-#define PACE_CLOCKID_T 1
- typedef int clockid_t;
- typedef clockid_t pace_clockid_t;
-#endif /* PACE_CLOCKID_T */
-
-#ifndef PACE_CLOCK_T
-#define PACE_CLOCK_T 1
- typedef clock_t pace_clock_t;
-#endif /* PACE_CLOCK_T */
-
-#ifndef PACE_TIMER_T
-#define PACE_TIMER_T 1
- typedef long timer_t;
- typedef timer_t pace_timer_t;
-#endif /* PACE_TIMER_T */
-
-#ifndef PACE_TIME_T
-#define PACE_TIME_T 1
- typedef time_t pace_time_t;
-#endif /* PACE_TIME_T */
-
-#ifndef PACE_TM
-#define PACE_TM 1
- typedef struct tm pace_tm;
-#endif /* PACE_TM */
-
-#ifndef PACE_TIMESPEC
-#define PACE_TIMESPEC 1
- typedef struct timespec pace_timespec;
-#endif /* PACE_TIMESPEC */
-
-#ifndef PACE_ITIMERSPEC
-#define PACE_ITIMERSPEC 1
- typedef struct itimerspec pace_itimerspec;
-#endif /* PACE_ITIMERSPEC */
-
-#ifndef PACE_SIGVAL
-#define PACE_SIGVAL 1
- typedef union sigval {
- int sival_int; /* integer value */
- void * sival_ptr; /* pointer value */
-} pace_sigval;
-#endif /* PACE_SIGVAL */
-
-#ifndef PACE_SIGEVENT
-#define PACE_SIGEVENT 1
- typedef struct sigevent {
- int sigev_notify; /* notification mode */
- int sigev_signo; /* signal number */
- union sigval sigev_value; /* signal value */
- void (*sigev_notify_function)(union sigval);
- pace_pthread_attr_t * sigev_notify_attributes;
- int __sigev_pad2;
- } pace_sigevent;
-#endif /* PACE_SIGEVENT */
-
-#if defined (PACE_HAS_CPLUSPLUS)
-}
-#endif /* PACE_HAS_CPLUSPLUS */
-
-#endif /* PACE_TIME_H_WIN32 */
diff --git a/PACE/pace/win32/time.inl b/PACE/pace/win32/time.inl
deleted file mode 100644
index 7550ef274ad..00000000000
--- a/PACE/pace/win32/time.inl
+++ /dev/null
@@ -1,265 +0,0 @@
-/* $Id$ -*- C -*-
-
- * =============================================================================
- *
- * = LIBRARY
- * pace
- *
- * = FILENAME
- * pace/win32/time.inl
- *
- * = AUTHOR
- * Luther Baker
- *
- * ============================================================================= */
-
-#if (PACE_HAS_POSIX_CLS_UOF)
-PACE_INLINE
-char *
-pace_asctime (const struct tm * time)
-{
- return asctime (time);
-}
-#endif /* PACE_HAS_POSIX_CLS_UOF */
-
-#if (PACE_HAS_POSIX_CLSR_UOF)
-PACE_INLINE
-char *
-pace_asctime_r (const struct tm * time, char * buf)
-{
- char * retval = (char*)0;
- PACE_UNUSED_ARG (time);
- PACE_UNUSED_ARG (buf);
- PACE_ERRNO_NO_SUPPORT_RETURN (retval);
-}
-#endif /* PACE_HAS_POSIX_CLSR_UOF */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-pace_clock_t
-pace_clock (void)
-{
- return clock ();
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-double
-pace_difftime (pace_time_t time1, pace_time_t time2)
-{
- return difftime (time1, time2);
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_clock_getres (clockid_t clock_id,
- struct timespec * res)
-{
- PACE_UNUSED_ARG (clock_id);
- PACE_UNUSED_ARG (res);
- PACE_ERRNO_NO_SUPPORT_RETURN (-1);
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_clock_gettime (clockid_t clock_id,
- struct timespec * tp)
-{
- PACE_UNUSED_ARG (clock_id);
- PACE_UNUSED_ARG (tp);
- PACE_ERRNO_NO_SUPPORT_RETURN (-1);
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_clock_settime (clockid_t clock_id,
- const struct timespec * tp)
-{
- PACE_UNUSED_ARG (clock_id);
- PACE_UNUSED_ARG (tp);
- PACE_ERRNO_NO_SUPPORT_RETURN (-1);
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_CLS_UOF)
-PACE_INLINE
-char *
-pace_ctime (const time_t * clock)
-{
- return ctime (clock);
-}
-#endif /* PACE_HAS_POSIX_CLS_UOF */
-
-#if (PACE_HAS_POSIX_CLSR_UOF)
-PACE_INLINE
-char *
-pace_ctime_r (const time_t * clock, char * buf)
-{
- char * retval = (char*)0;
- PACE_UNUSED_ARG (clock);
- PACE_UNUSED_ARG (buf);
- PACE_ERRNO_NO_SUPPORT_RETURN (retval);
-}
-#endif /* PACE_HAS_POSIX_CLSR_UOF */
-
-#if (PACE_HAS_POSIX_CLS_UOF)
-PACE_INLINE
-struct tm *
-pace_gmtime (const time_t * clock)
-{
- return gmtime (clock);
-}
-#endif /* PACE_HAS_POSIX_CLS_UOF */
-
-#if (PACE_HAS_POSIX_CLSR_UOF)
-PACE_INLINE
-struct tm *
-pace_gmtime_r (const time_t * clock, struct tm * result)
-{
- struct tm * retval = (struct tm*)0;
- PACE_UNUSED_ARG (clock);
- PACE_UNUSED_ARG (result);
- PACE_ERRNO_NO_SUPPORT_RETURN (retval);
-}
-#endif /* PACE_HAS_POSIX_CLSR_UOF */
-
-#if (PACE_HAS_POSIX_CLS_UOF)
-PACE_INLINE
-struct tm *
-pace_localtime (const time_t * clock)
-{
- return localtime (clock);
-}
-#endif /* PACE_HAS_POSIX_CLS_UOF */
-
-#if (PACE_HAS_POSIX_CLSR_UOF)
-PACE_INLINE
-struct tm *
-pace_localtime_r (const time_t * clock, struct tm * result)
-{
- struct tm * retval = (struct tm*)0;
- PACE_UNUSED_ARG (clock);
- PACE_UNUSED_ARG (result);
- PACE_ERRNO_NO_SUPPORT_RETURN (retval);
-}
-#endif /* PACE_HAS_POSIX_CLSR_UOF */
-
-#if (PACE_HAS_POSIX_CLS_UOF)
-PACE_INLINE
-time_t
-pace_mktime (struct tm * timeptr)
-{
- return mktime (timeptr);
-}
-#endif /* PACE_HAS_POSIX_CLS_UOF */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_nanosleep (const struct timespec * rqtp,
- struct timespec * rmtp)
-{
- PACE_UNUSED_ARG (rqtp);
- PACE_UNUSED_ARG (rmtp);
- PACE_ERRNO_NO_SUPPORT_RETURN (-1);
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_CLS_UOF)
-PACE_INLINE
-size_t
-pace_strftime (char * s, size_t maxsize,
- const char * format,
- const struct tm * timeptr)
-{
- return strftime (s, maxsize, format, timeptr);
-}
-#endif /* PACE_HAS_POSIX_CLS_UOF */
-
-#if (PACE_HAS_POSIX_CLS_UOF)
-PACE_INLINE
-time_t
-pace_time (time_t * tloc)
-{
- return time (tloc);
-}
-#endif /* PACE_HAS_POSIX_CLS_UOF */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_timer_create (clockid_t clock_id,
- struct sigevent * evp,
- pace_timer_t * timerid)
-{
- PACE_UNUSED_ARG (clock_id);
- PACE_UNUSED_ARG (evp);
- PACE_UNUSED_ARG (timerid);
- PACE_ERRNO_NO_SUPPORT_RETURN (-1);
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_timer_delete (pace_timer_t timerid)
-{
- PACE_UNUSED_ARG (timerid);
- PACE_ERRNO_NO_SUPPORT_RETURN (-1);
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_timer_getoverrun (pace_timer_t timerid)
-{
- PACE_UNUSED_ARG (timerid);
- PACE_ERRNO_NO_SUPPORT_RETURN (-1);
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_timer_gettime (pace_timer_t timerid,
- pace_itimerspec * value)
-{
- PACE_UNUSED_ARG (timerid);
- PACE_UNUSED_ARG (value);
- PACE_ERRNO_NO_SUPPORT_RETURN (-1);
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_timer_settime (pace_timer_t timerid,
- int flags,
- const pace_itimerspec * value,
- pace_itimerspec * ovalue)
-{
- PACE_UNUSED_ARG (timerid);
- PACE_UNUSED_ARG (flags);
- PACE_UNUSED_ARG (value);
- PACE_UNUSED_ARG (ovalue);
- PACE_ERRNO_NO_SUPPORT_RETURN (-1);
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_CLS_UOF)
-PACE_INLINE
-void
-pace_tzset ()
-{
- _tzset ();
- return;
-}
-#endif /* PACE_HAS_POSIX_CLS_UOF */
diff --git a/PACE/pace/win32/times.c b/PACE/pace/win32/times.c
deleted file mode 100644
index d699c0edd36..00000000000
--- a/PACE/pace/win32/times.c
+++ /dev/null
@@ -1,20 +0,0 @@
-/* $Id$
-
- * =============================================================================
- *
- * = LIBRARY
- * pace
- *
- * = FILENAME
- * pace/win32/times.c
- *
- * = AUTHOR
- * Luther Baker
- *
- * ============================================================================= */
-
-#include "pace/sys/times.h"
-
-#if !defined (PACE_HAS_INLINE)
-# include "pace/win32/times.inl"
-#endif /* ! PACE_HAS_INLINE */
diff --git a/PACE/pace/win32/times.h b/PACE/pace/win32/times.h
deleted file mode 100644
index 26a500cbf76..00000000000
--- a/PACE/pace/win32/times.h
+++ /dev/null
@@ -1,40 +0,0 @@
-/* $Id$
-
- * ============================================================================
- *
- * = LIBRARY
- * pace
- *
- * = FILENAME
- * pace/win32/times.h
- *
- * = AUTHOR
- * Luther Baker
- *
- * ============================================================================ */
-
-#ifndef PACE_SYS_TIMES_H_WIN32
-#define PACE_SYS_TIMES_H_WIN32
-
-#if defined (PACE_HAS_CPLUSPLUS)
-extern "C" {
-#endif /* PACE_HAS_CPLUSPLUS */
-
-#ifndef PACE_CLOCK_T
-#define PACE_CLOCK_T
- /* Temporary until we emulate this correctly. */
- typedef int clock_t;
- typedef clock_t pace_clock_t;
-#endif /* PACE_CLOCK_T */
-
-#ifndef PACE_TMS
-#define PACE_TMS
- /* Temporary until we emulate this correctly. */
- typedef struct tms { int a_; } pace_tms;
-#endif /* PACE_TMS */
-
-#if defined (PACE_HAS_CPLUSPLUS)
-}
-#endif /* PACE_HAS_CPLUSPLUS */
-
-#endif /* PACE_SYS_TIMES_H_WIN32 */
diff --git a/PACE/pace/win32/times.inl b/PACE/pace/win32/times.inl
deleted file mode 100644
index 1f4765882dc..00000000000
--- a/PACE/pace/win32/times.inl
+++ /dev/null
@@ -1,24 +0,0 @@
-/* $Id$ -*- C -*-
-
- * =============================================================================
- *
- * = LIBRARY
- * pace
- *
- * = FILENAME
- * pace/win32/times.inl
- *
- * = AUTHOR
- * Luther Baker
- *
- * ============================================================================= */
-
-#if (PACE_HAS_POSIX_MP_UOF)
-PACE_INLINE
-pace_clock_t
-pace_times (struct tms * buffer)
-{
- PACE_UNUSED_ARG (buffer);
- PACE_ERRNO_NO_SUPPORT_RETURN (-1);
-}
-#endif /* PACE_HAS_POSIX_MP_UOF */
diff --git a/PACE/pace/win32/types.h b/PACE/pace/win32/types.h
deleted file mode 100644
index cd6a7b10cd8..00000000000
--- a/PACE/pace/win32/types.h
+++ /dev/null
@@ -1,100 +0,0 @@
-/* $Id$
-
- * ============================================================================
- *
- * = LIBRARY
- * pace
- *
- * = FILENAME
- * pace/win32/types.h
- *
- * = AUTHOR
- * Luther Baker
- *
- * ============================================================================ */
-
-#ifndef PACE_SYS_TYPES_H_WIN32
-#define PACE_SYS_TYPES_H_WIN32
-
-#include <sys/types.h>
-#if defined (__BORLANDC__)
-# include <windows.h>
-#else /* __BORLANDC__ */
-# include <wtypes.h>
-# include <windef.h>
-#endif /* __BORLANDC__ */
-
-#if defined (PACE_HAS_CPLUSPLUS)
-extern "C" {
-#endif /* PACE_HAS_CPLUSPLUS */
-
-#ifndef PACE_TCHAR
-#define PACE_TCHAR 1
- typedef char pace_tchar;
-#endif /* PACE_TCHAR */
-
-#ifndef PACE_HANDLE
-#define PACE_HANDLE HANDLE
-#endif /* PACE_HANDLE */
-
-#ifndef PACE_INVALID_HANDLE
-#define PACE_INVALID_HANDLE (HANDLE)-1
-#endif /* PACE_INVALID_HANDLE */
-
-#ifndef PACE_DEV_T
-#define PACE_DEV_T 1
- typedef dev_t pace_dev_t;
-#endif /* PACE_DEV_T */
-
-#ifndef PACE_GID_T
-#define PACE_GID_T 1
- typedef int pace_gid_t;
-#endif /* PACE_GID_T */
-
-#ifndef PACE_INO_T
-#define PACE_INO_T 1
- typedef ino_t pace_ino_t;
-#endif /* PACE_INO_T */
-
-#ifndef PACE_MODE_T
-#define PACE_MODE_T 1
- typedef int pace_mode_t;
-#endif /* PACE_MODE_T */
-
-#ifndef PACE_NLINK_T
-#define PACE_NLINK_T 1
- typedef DWORD pace_nlink_t;
-#endif /* PACE_NLINK_T */
-
-#ifndef PACE_OFF_T
-#define PACE_OFF_T 1
- typedef off_t pace_off_t;
-#endif /* PACE_OFF_T */
-
-#ifndef PACE_PID_T
-#define PACE_PID_T 1
- typedef long pace_pid_t;
-#endif /* PACE_PID_T */
-
-#ifndef PACE_SIZE_T
-#define PACE_SIZE_T 1
- typedef size_t pace_size_t;
-#endif /* PACE_SIZE_T */
-
-#ifndef PACE_SSIZE_T
-#define PACE_SSIZE_T 1
- typedef long pace_ssize_t;
-#endif /* PACE_SSIZE_T */
-
-#ifndef PACE_UID_T
-#define PACE_UID_T 1
- typedef int pace_uid_t;
-#endif /* PACE_UID_T */
-
-#include "pace/win32/pthreadtypes.h"
-
-#if defined (PACE_HAS_CPLUSPLUS)
-}
-#endif /* PACE_HAS_CPLUSPLUS */
-
-#endif /* PACE_SYS_TYPES_H_WIN32 */
diff --git a/PACE/pace/win32/unistd.c b/PACE/pace/win32/unistd.c
deleted file mode 100644
index 1eda995d323..00000000000
--- a/PACE/pace/win32/unistd.c
+++ /dev/null
@@ -1,146 +0,0 @@
-/* $Id$
-
- * =============================================================================
- *
- * = LIBRARY
- * pace
- *
- * = FILENAME
- * pace/win32/unistd.c
- *
- * = AUTHOR
- * Luther Baker
- *
- * ============================================================================= */
-
-#include "pace/unistd.h"
-
-#if !defined (PACE_HAS_INLINE)
-# include "pace/win32/unistd.inl"
-#endif /* ! PACE_HAS_INLINE */
-
-#if (PACE_HAS_POSIX_DI_UOF)
-int
-pace_win32_close (PACE_HANDLE fildes)
-{
- PACE_WIN32CALL_RETURN
- (PACE_ADAPT_RETVAL
- (CloseHandle (fildes), pace_result_), int, -1);
-}
-#endif /* PACE_HAS_POSIX_DI_UOF */
-
-#if (PACE_HAS_POSIX_FM_UOF)
-PACE_HANDLE
-pace_win32_dup (PACE_HANDLE fildes)
-{
- PACE_HANDLE new_fd;
- if (DuplicateHandle(GetCurrentProcess (),
- fildes,
- GetCurrentProcess(),
- &new_fd,
- 0,
- TRUE,
- DUPLICATE_SAME_ACCESS))
- {
- return new_fd;
- }
- else
- {
- PACE_FAIL_RETURN (PACE_INVALID_HANDLE);
- }
-}
-#endif /* PACE_HAS_POSIX_FM_UOF */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-int
-pace_win32_ftruncate (PACE_HANDLE fildes, pace_off_t length)
-{
- if (SetFilePointer (fildes, length, NULL, FILE_BEGIN) != (unsigned) -1)
- {
- PACE_WIN32CALL_RETURN
- (PACE_ADAPT_RETVAL
- (SetEndOfFile (fildes), pace_result_), int, -1);
- }
- else
- {
- PACE_FAIL_RETURN (-1);
- }
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_FM_UOF)
-pace_off_t
-pace_win32_lseek (PACE_HANDLE fildes, pace_off_t offset, int whence)
-{
-# if SEEK_SET != FILE_BEGIN \
- || SEEK_CUR != FILE_CURRENT \
- || SEEK_END != FILE_END
-
- /* #error Windows NT is evil AND rude! */
- switch (whence) {
-
- case SEEK_SET: {
- whence = FILE_BEGIN;
- break;
- }
- case SEEK_CUR: {
- whence = FILE_CURRENT;
- break;
- }
- case SEEK_END: {
- whence = FILE_END;
- break;
- }
- default: {
- errno = EINVAL;
- return (off_t)-1; // rather safe than sorry
- }
- }
- PACE_OSCALL_RETURN (lseek (handle, offset, whence), off_t, -1);
-# endif /* SEEK_SET != FILE_BEGIN || SEEK_CUR != FILE_CURRENT || SEEK_END != FILE_END */
- DWORD result = SetFilePointer (fildes, offset, NULL, whence);
- if (result == PACE_SYSCALL_FAILED)
- {
- off_t retval = -1;
- PACE_FAIL_RETURN (retval);
- }
- else
- {
- return result;
- }
-}
-#endif /* PACE_HAS_POSIX_FM_UOF */
-
-#if (PACE_HAS_POSIX_DI_UOF)
-pace_ssize_t
-pace_win32_write (PACE_HANDLE fildes, const void * buf, size_t nbyte)
-{
- DWORD bytes_written; /* This is set to 0 byte WriteFile. */
-
- if (WriteFile (fildes, buf, nbyte, &bytes_written, 0))
- {
- return (pace_ssize_t) bytes_written;
- }
- else
- {
- PACE_FAIL_RETURN (-1);
- }
-}
-#endif /* PACE_HAS_POSIX_DI_UOF */
-
-#if (PACE_HAS_POSIX_DI_UOF)
-pace_ssize_t
-pace_win32_read (PACE_HANDLE fildes, void * buf, size_t nbyte)
-{
- DWORD ok_len;
-
- if (ReadFile (fildes, buf, nbyte, &ok_len, 0))
- {
- return (pace_ssize_t) ok_len;
- }
- else
- {
- PACE_FAIL_RETURN (-1);
- }
-}
-#endif /* PACE_HAS_POSIX_DI_UOF */
diff --git a/PACE/pace/win32/unistd.h b/PACE/pace/win32/unistd.h
deleted file mode 100644
index 1292cea5bd9..00000000000
--- a/PACE/pace/win32/unistd.h
+++ /dev/null
@@ -1,119 +0,0 @@
-/* $Id$
-
- * ============================================================================
- *
- * = LIBRARY
- * pace
- *
- * = FILENAME
- * pace/win32/unistd.h
- *
- * = AUTHOR
- * Luther Baker
- *
- * ============================================================================ */
-
-#ifndef PACE_UNISTD_H_WIN32
-#define PACE_UNISTD_H_WIN32
-
-#include "pace/sys/types.h"
-
-#if defined (PACE_HAS_CPLUSPLUS)
-extern "C" {
-#endif /* PACE_HAS_CPLUSPLUS */
-
-# ifndef PACE_F_OK
-# define PACE_F_OK F_OK
-# endif /* PACE_F_OK */
-
-# ifndef PACE_NULL
-# define PACE_NULL NULL
-# endif /* PACE_NULL */
-
-# ifndef PACE_R_OK
-# define PACE_R_OK R_OK
-# endif /* PACE_R_OK */
-
-# ifndef PACE_SEEK_CUR
-# define PACE_SEEK_CUR SEEK_CUR
-# endif /* PACE_SEEK_CUR */
-
-# ifndef PACE_SEEK_END
-# define PACE_SEEK_END SEEK_END
-# endif /* PACE_SEEK_END */
-
-# ifndef PACE_SEEK_SET
-# define PACE_SEEK_SET SEEK_SET
-# endif /* PACE_SEEK_SET */
-
-# ifndef PACE_STDERR_FILENO
-# define PACE_STDERR_FILENO STDERR_FILENO
-# endif /* PACE_STDERR_FILENO */
-
-# ifndef PACE_STDIN_FILENO
-# define PACE_STDIN_FILENO STDIN_FILENO
-# endif /* PACE_STDIN_FILENO */
-
-# ifndef PACE_STDOUT_FILENO
-# define PACE_STDOUT_FILENO STDOUT_FILENO
-# endif /* PACE_STDOUT_FILENO */
-
-# ifndef PACE_W_OK
-# define PACE_W_OK W_OK
-# endif /* PACE_W_OK */
-
-# ifndef PACE_X_OK
-# define PACE_X_OK X_OK
-# endif /* PACE_X_OK */
-
-/* _POSIX _PC _SC Macros go here */
-
-#ifndef PACE_SIZE_T
-#define PACE_SIZE_T 1
-typedef size_t pace_size_t;
-#endif /* PACE_SIZE_T */
-
-#ifndef PACE_SSIZE_T
-#define PACE_SSIZE_T 1
-typedef ssize_t pace_ssize_t;
-#endif /* PACE_SSIZE_T */
-
-#if (PACE_HAS_POSIX_DI_UOF)
- int pace_win32_close (PACE_HANDLE fildes);
-#endif /* PACE_HAS_POSIX_DI_UOF */
-
-#if (PACE_HAS_POSIX_FM_UOF)
- PACE_HANDLE pace_win32_dup (PACE_HANDLE fildes);
-#endif /* PACE_HAS_POSIX_FM_UOF */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
- int pace_win32_ftruncate (PACE_HANDLE fildes, pace_off_t length);
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_FM_UOF)
- pace_off_t pace_win32_lseek (PACE_HANDLE fildes,
- pace_off_t offset,
- int whence);
-#endif /* PACE_HAS_POSIX_FM_UOF */
-
-#if (PACE_HAS_POSIX_DI_UOF)
- pace_ssize_t pace_win32_write (PACE_HANDLE fildes,
- const void * buf,
- pace_size_t nbyte);
-#endif /* PACE_HAS_POSIX_DI_UOF */
-
-#if (PACE_HAS_POSIX_DI_UOF)
- pace_ssize_t pace_win32_read (PACE_HANDLE fildes,
- void * buf,
- pace_size_t nbyte);
-#endif /* PACE_HAS_POSIX_DI_UOF */
-
-#if defined (PACE_HAS_CPLUSPLUS)
-}
-#endif /* PACE_HAS_CPLUSPLUS */
-
-#endif /* PACE_UNISTD_H_WIN32 */
-
-
-
-
diff --git a/PACE/pace/win32/unistd.inl b/PACE/pace/win32/unistd.inl
deleted file mode 100644
index 83f3f2a9e14..00000000000
--- a/PACE/pace/win32/unistd.inl
+++ /dev/null
@@ -1,514 +0,0 @@
-/* $Id$ -*- C -*-
-
- * =============================================================================
- *
- * = LIBRARY
- * pace
- *
- * = FILENAME
- * pace/win32/unistd.inl
- *
- * = AUTHOR
- * Luther Baker
- *
- * ============================================================================= */
-
-#include <stdarg.h>
-#include <io.h>
-#include <stdio.h>
-#include <direct.h>
-#include <process.h>
-
-#if (PACE_HAS_POSIX_MP_UOF)
-PACE_INLINE
-void
-pace__exit (int status)
-{
- _exit (status);
- return;
-}
-#endif /* PACE_HAS_POSIX_MP_UOF */
-
-#if (PACE_HAS_POSIX_FS_UOF)
-PACE_INLINE
-int
-pace_access (const char * path, int amode)
-{
- return _access (path, amode);
-}
-#endif /* PACE_HAS_POSIX_FS_UOF */
-
-#if (PACE_HAS_POSIX_SIG_UOF)
-PACE_INLINE
-unsigned int
-pace_alarm (unsigned int seconds)
-{
- PACE_UNUSED_ARG (seconds);
- PACE_ERRNO_NO_SUPPORT_RETURN (-1);
-}
-#endif /* PACE_HAS_POSIX_SIG_UOF */
-
-#if (PACE_HAS_POSIX_FS_UOF)
-PACE_INLINE
-int
-pace_chdir (const char * path)
-{
-#if defined (__BORLANDC__)
- return chdir (path);
-#else /* __BORLANDC__ */
- return _chdir (path);
-#endif /* __BORLANDC__ */
-}
-#endif /* PACE_HAS_POSIX_FS_UOF */
-
-#if (PACE_HAS_POSIX_FA_UOF)
-PACE_INLINE
-int
-pace_chown (const char * path, pace_uid_t owner, pace_gid_t group)
-{
- PACE_UNUSED_ARG (path);
- PACE_UNUSED_ARG (owner);
- PACE_UNUSED_ARG (group);
- PACE_ERRNO_NO_SUPPORT_RETURN (-1);
-}
-#endif /* PACE_HAS_POSIX_FA_UOF */
-
-#if (PACE_HAS_POSIX_DI_UOF)
-PACE_INLINE
-int
-pace_close (PACE_HANDLE fildes)
-{
- return pace_win32_close (fildes);
-}
-#endif /* PACE_HAS_POSIX_DI_UOF */
-
-#if (PACE_HAS_POSIX_FM_UOF)
-PACE_INLINE
-PACE_HANDLE
-pace_dup (PACE_HANDLE fildes)
-{
- return pace_win32_dup (fildes);
-}
-#endif /* PACE_HAS_POSIX_FM_UOF */
-
-#if (PACE_HAS_POSIX_FM_UOF)
-PACE_INLINE
-PACE_HANDLE
-pace_dup2 (PACE_HANDLE fildes, PACE_HANDLE fildes2)
-{
- PACE_HANDLE retval = (void*)0;
- PACE_UNUSED_ARG (fildes);
- PACE_UNUSED_ARG (fildes2);
- PACE_ERRNO_NO_SUPPORT_RETURN (retval);
-}
-#endif /* PACE_HAS_POSIX_FM_UOF */
-
-#if (PACE_HAS_POSIX_MP_UOF)
-PACE_INLINE
-int
-pace_execv (const char * path,
- char * const argv[])
-{
-#if defined (__BORLANDC__) || defined(__MINGW32__)
- return execv (path, argv);
-#else /* __BORLANDC__ || __MINGW32__ */
- return _execv (path, (const char * const *) argv);
-#endif /* __BORLANDC__ || __MINGW32__ */
- /* if successful, this operation does NOT return */
-}
-#endif /* PACE_HAS_POSIX_MP_UOF */
-
-#if (PACE_HAS_POSIX_MP_UOF)
-PACE_INLINE
-int
-pace_execve (const char * path,
- char * const argv[],
- char * const envp[])
-{
-#if defined (__BORLANDC__) || defined (__MINGW32__)
- return execve (path, argv, envp);
-#else /* __BORLANDC__ || __MINGW32__ */
- return _execve (path, (const char *const *) argv,
- (const char *const *) envp);
-#endif /* __BORLANDC__ || __MINGW32__ */
- /* if successful, this operation does NOT return */
-}
-#endif /* PACE_HAS_POSIX_MP_UOF */
-
-#if (PACE_HAS_POSIX_MP_UOF)
-PACE_INLINE
-int
-pace_execvp (const char * file,
- char * const argv[])
-{
-#if defined (__BORLANDC__) || defined (__MINGW32__)
- return execvp (file, argv);
-#else /* __BORLANDC__ || __MINGW32__ */
- return _execvp (file, (const char *const *) argv);
-#endif /* __BORLANDC__ || __MINGW32__ */
- /* if successful, this operation does NOT return */
-}
-#endif /* PACE_HAS_POSIX_MP_UOF */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_fdatasync (PACE_HANDLE fildes)
-{
- PACE_UNUSED_ARG (fildes);
- PACE_ERRNO_NO_SUPPORT_RETURN (-1);
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_MP_UOF)
-PACE_INLINE
-pace_pid_t
-pace_fork ()
-{
- PACE_ERRNO_NO_SUPPORT_RETURN (-1);
-}
-#endif /* PACE_HAS_POSIX_MP_UOF */
-
-#if (PACE_HAS_POSIX_FS_UOF)
-PACE_INLINE
-long
-pace_fpathconf (PACE_HANDLE fildes, int name)
-{
- PACE_UNUSED_ARG (fildes);
- PACE_UNUSED_ARG (name);
- PACE_ERRNO_NO_SUPPORT_RETURN (-1);
-}
-#endif /* PACE_HAS_POSIX_FS_UOF */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_fsync (PACE_HANDLE fildes)
-{
- PACE_UNUSED_ARG (fildes);
- PACE_ERRNO_NO_SUPPORT_RETURN (-1);
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_ftruncate (PACE_HANDLE fildes, pace_off_t length)
-{
- return pace_win32_ftruncate (fildes, length);
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_FS_UOF)
-PACE_INLINE
-char *
-pace_getcwd (char * buf, size_t size)
-{
- return getcwd (buf, size);
-}
-#endif /* PACE_HAS_POSIX_FS_UOF */
-
-#if (PACE_HAS_POSIX_UG_UOF)
-PACE_INLINE
-pace_uid_t
-pace_getegid ()
-{
- PACE_ERRNO_NO_SUPPORT_RETURN (-1);
-}
-#endif /* PACE_HAS_POSIX_UG_UOF */
-
-#if (PACE_HAS_POSIX_UG_UOF)
-PACE_INLINE
-pace_uid_t
-pace_geteuid ()
-{
- PACE_ERRNO_NO_SUPPORT_RETURN (-1);
-}
-#endif /* PACE_HAS_POSIX_UG_UOF */
-
-#if (PACE_HAS_POSIX_UG_UOF)
-PACE_INLINE
-int
-pace_getgroups (int gidsetsize, pace_gid_t grouplist[])
-{
- PACE_UNUSED_ARG (gidsetsize);
- PACE_UNUSED_ARG (grouplist);
- PACE_ERRNO_NO_SUPPORT_RETURN (-1);
-}
-#endif /* PACE_HAS_POSIX_UG_UOF */
-
-#if (PACE_HAS_POSIX_UG_UOF)
-PACE_INLINE
-pace_uid_t
-pace_getgid ()
-{
- pace_uid_t retval = -1;
- PACE_ERRNO_NO_SUPPORT_RETURN (retval);
-}
-#endif /* PACE_HAS_POSIX_UG_UOF */
-
-#if (PACE_HAS_POSIX_UG_UOF)
-PACE_INLINE
-char *
-pace_getlogin ()
-{
- char * retval = (char*)0;
- PACE_ERRNO_NO_SUPPORT_RETURN (retval);
-}
-#endif /* PACE_HAS_POSIX_UG_UOF */
-
-#if (PACE_HAS_POSIX_UGR_UOF)
-PACE_INLINE
-int
-pace_getlogin_r (char * name, size_t namesize)
-{
- PACE_UNUSED_ARG (name);
- PACE_UNUSED_ARG (namesize);
- PACE_ERRNO_NO_SUPPORT_RETURN (-1);
-}
-#endif /* PACE_HAS_POSIX_UGR_UOF */
-
-#if (PACE_HAS_POSIX_UG_UOF)
-PACE_INLINE
-pace_pid_t
-pace_getpgrp ()
-{
- pace_pid_t retval = -1;
- PACE_ERRNO_NO_SUPPORT_RETURN (retval);
-}
-#endif /* PACE_HAS_POSIX_UG_UOF */
-
-#if (PACE_HAS_POSIX_MP_UOF)
-PACE_INLINE
-pace_pid_t
-pace_getpid ()
-{
- return GetCurrentProcessId ();
-}
-#endif /* PACE_HAS_POSIX_MP_UOF */
-
-#if (PACE_HAS_POSIX_MP_UOF)
-PACE_INLINE
-pace_pid_t
-pace_getppid ()
-{
- pace_pid_t retval = -1;
- PACE_ERRNO_NO_SUPPORT_RETURN (retval);
-}
-#endif /* PACE_HAS_POSIX_MP_UOF */
-
-#if (PACE_HAS_POSIX_UG_UOF)
-PACE_INLINE
-pace_uid_t
-pace_getuid ()
-{
- pace_uid_t retval = -1;
- PACE_ERRNO_NO_SUPPORT_RETURN (retval);
-}
-#endif /* PACE_HAS_POSIX_UG_UOF */
-
-#if (PACE_HAS_POSIX_DS_UOF)
-PACE_INLINE
-int
-pace_isatty (int fildes)
-{
-#if defined (__BORLANDC__) || defined (__MINGW32__)
- return isatty (fildes);
-#else /* __BORLANDC__ || __MINGW32__ */
- return _isatty (fildes);
-#endif /* __BORLANDC__ || __MINGW32__ */
-}
-#endif /* PACE_HAS_POSIX_DS_UOF */
-
-#if (PACE_HAS_POSIX_FS_UOF)
-PACE_INLINE
-int
-pace_link (const char * existing, const char * new_link)
-{
- PACE_UNUSED_ARG (existing);
- PACE_UNUSED_ARG (new_link);
- PACE_ERRNO_NO_SUPPORT_RETURN (-1);
-}
-#endif /* PACE_HAS_POSIX_FS_UOF */
-
-#if (PACE_HAS_POSIX_FM_UOF)
-PACE_INLINE
-pace_off_t
-pace_lseek (PACE_HANDLE fildes, pace_off_t offset, int whence)
-{
- return pace_win32_lseek (fildes, offset, whence);
-}
-#endif /* PACE_HAS_POSIX_FM_UOF */
-
-#if (PACE_HAS_POSIX_FS_UOF)
-PACE_INLINE
-long
-pace_pathconf (const char * path, int name)
-{
- PACE_UNUSED_ARG (path);
- PACE_UNUSED_ARG (name);
- PACE_ERRNO_NO_SUPPORT_RETURN (-1);
-}
-#endif /* PACE_HAS_POSIX_FS_UOF */
-
-#if (PACE_HAS_POSIX_SIG_UOF)
-PACE_INLINE
-int
-pace_pause ()
-{
- PACE_ERRNO_NO_SUPPORT_RETURN (-1);
-}
-#endif /* PACE_HAS_POSIX_SIG_UOF */
-
-#if (PACE_HAS_POSIX_P_UOF)
-PACE_INLINE
-int
-pace_pipe (PACE_HANDLE fildes[2])
-{
- PACE_UNUSED_ARG (fildes);
- PACE_ERRNO_NO_SUPPORT_RETURN (-1);
-}
-#endif /* PACE_HAS_POSIX_P_UOF */
-
-#if (PACE_HAS_POSIX_DI_UOF)
-PACE_INLINE
-pace_ssize_t
-pace_read (PACE_HANDLE fildes, void * buf, pace_size_t nbyte)
-{
- return pace_win32_read (fildes, buf, nbyte);
-}
-#endif /* PACE_HAS_POSIX_DI_UOF */
-
-#if (PACE_HAS_POSIX_FS_UOF)
-PACE_INLINE
-int
-pace_rmdir (const char * path)
-{
- return rmdir (path);
-}
-#endif /* PACE_HAS_POSIX_FS_UOF */
-
-#if (PACE_HAS_POSIX_UG_UOF)
-PACE_INLINE
-int
-pace_setgid (pace_gid_t gid)
-{
- PACE_UNUSED_ARG (gid);
- PACE_ERRNO_NO_SUPPORT_RETURN (-1);
-}
-#endif /* PACE_HAS_POSIX_UG_UOF */
-
-#if (PACE_HAS_POSIX_JC_UOF)
-PACE_INLINE
-int
-pace_setpgid (pace_pid_t pid, pace_pid_t pgid)
-{
- PACE_UNUSED_ARG (pid);
- PACE_UNUSED_ARG (pgid);
- PACE_ERRNO_NO_SUPPORT_RETURN (-1);
-}
-#endif /* PACE_HAS_POSIX_JC_UOF */
-
-#if (PACE_HAS_POSIX_UG_UOF)
-PACE_INLINE
-pace_pid_t
-pace_setsid ()
-{
- PACE_ERRNO_NO_SUPPORT_RETURN (-1);
-}
-#endif /* PACE_HAS_POSIX_UG_UOF */
-
-#if (PACE_HAS_POSIX_UG_UOF)
-PACE_INLINE
-int
-pace_setuid (pace_uid_t uid)
-{
- PACE_UNUSED_ARG (uid);
- PACE_ERRNO_NO_SUPPORT_RETURN (uid);
-}
-#endif /* PACE_HAS_POSIX_UG_UOF */
-
-#if (PACE_HAS_POSIX_MP_UOF)
-PACE_INLINE
-unsigned int
-pace_sleep (unsigned int seconds)
-{
- Sleep (seconds * PACE_ONE_SECOND_IN_MSECS);
- return 0;
-}
-#endif /* PACE_HAS_POSIX_MP_UOF */
-
-#if (PACE_HAS_POSIX_SP_UOF)
-PACE_INLINE
-long
-pace_sysconf (int name)
-{
- PACE_UNUSED_ARG (name);
- PACE_ERRNO_NO_SUPPORT_RETURN (-1);
-}
-#endif /* PACE_HAS_POSIX_SP_UOF */
-
-#if (PACE_HAS_POSIX_JC_UOF)
-PACE_INLINE
-pace_pid_t
-pace_tcgetpgrp (PACE_HANDLE fildes)
-{
- pace_pid_t retval = -1;
- PACE_UNUSED_ARG (fildes);
- PACE_ERRNO_NO_SUPPORT_RETURN (retval);
-}
-#endif /* PACE_HAS_POSIX_JC_UOF */
-
-#if (PACE_HAS_POSIX_JC_UOF)
-PACE_INLINE
-int
-pace_tcsetpgrp (PACE_HANDLE fildes, pace_pid_t pgrp_id)
-{
- PACE_UNUSED_ARG (fildes);
- PACE_UNUSED_ARG (pgrp_id);
- PACE_ERRNO_NO_SUPPORT_RETURN (-1);
-}
-#endif /* PACE_HAS_POSIX_JC_UOF */
-
-#if (PACE_HAS_POSIX_DS_UOF)
-PACE_INLINE
-char *
-pace_ttyname (PACE_HANDLE fildes)
-{
- char * retval = (char*) 0;
- PACE_UNUSED_ARG (fildes);
- PACE_ERRNO_NO_SUPPORT_RETURN (retval);
-}
-#endif /* PACE_HAS_POSIX_DS_UOF */
-
-#if (PACE_HAS_POSIX_NONUOF_FUNCS)
-PACE_INLINE
-int
-pace_ttyname_r (PACE_HANDLE fildes,
- char * name,
- size_t namesize)
-{
- PACE_UNUSED_ARG (fildes);
- PACE_UNUSED_ARG (name);
- PACE_UNUSED_ARG (namesize);
- PACE_ERRNO_NO_SUPPORT_RETURN (-1);
-}
-#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
-
-#if (PACE_HAS_POSIX_FS_UOF)
-PACE_INLINE
-int
-pace_unlink (const char * path)
-{
- return _unlink (path);
-}
-#endif /* PACE_HAS_POSIX_FS_UOF */
-
-#if (PACE_HAS_POSIX_DI_UOF)
-PACE_INLINE
-pace_ssize_t
-pace_write (PACE_HANDLE fildes, const void * buf, size_t nbyte)
-{
- return pace_win32_write (fildes, buf, nbyte);
-}
-#endif /* PACE_HAS_POSIX_DI_UOF */
diff --git a/PACE/pace/win32/utime.c b/PACE/pace/win32/utime.c
deleted file mode 100644
index cafec0eb6cb..00000000000
--- a/PACE/pace/win32/utime.c
+++ /dev/null
@@ -1,41 +0,0 @@
-/* $Id$
-
- * =============================================================================
- *
- * = LIBRARY
- * pace
- *
- * = FILENAME
- * pace/win32/utime.c
- *
- * = AUTHOR
- * Luther Baker
- *
- * ============================================================================= */
-
-#include "pace/utime.h"
-
-#if !defined (PACE_HAS_INLINE)
-# include "pace/win32/utime.inl"
-#endif /* ! PACE_HAS_INLINE */
-
-#if (PACE_HAS_POSIX_FS_UOF)
-int
-win32_utime (const char * path, const pace_utimbuf * times)
-{
- PACE_UNUSED_ARG (path);
- PACE_UNUSED_ARG (times);
-
- PACE_ERRNO_NO_SUPPORT_RETURN (-1);
-
-#if 0
- /* Not yet working */
- char * path2 = (char*) malloc (sizeof (path));
- pace_strcpy (path2, path);
-
- pace_utimbuf * times2 = (pace_utimbuf*) malloc (sizeof (pace_utimbuf);
- memcpy (times2, times, sizeof times);
- return _utime (path2, times2);
-#endif
-}
-#endif /* PACE_HAS_POSIX_FS_UOF */
diff --git a/PACE/pace/win32/utime.h b/PACE/pace/win32/utime.h
deleted file mode 100644
index 5b90db1bd70..00000000000
--- a/PACE/pace/win32/utime.h
+++ /dev/null
@@ -1,43 +0,0 @@
-/* $Id$
-
- * ============================================================================
- *
- * = LIBRARY
- * pace
- *
- * = FILENAME
- * pace/win32/utime.h
- *
- * = AUTHOR
- * Luther Baker
- *
- * ============================================================================ */
-
-#ifndef PACE_UTIME_H_WIN32
-#define PACE_UTIME_H_WIN32
-
-#include "pace/sys/types.h"
-#if defined (__BORLANDC__)
-#include <utime.h>
-#else
-#include <sys/utime.h>
-#endif /* __BORLANDC__ */
-
-#if defined (PACE_HAS_CPLUSPLUS)
-extern "C" {
-#endif /* PACE_HAS_CPLUSPLUS */
-
-#ifndef PACE_UTIMBUF
-#define PACE_UTIMBUF
- typedef struct _utimbuf pace_utimbuf;
-#endif /* PACE_UTIMBUF */
-
-#if (PACE_HAS_POSIX_FS_UOF)
- int win32_utime (const char * path, const pace_utimbuf * times);
-#endif /* PACE_HAS_POSIX_FS_UOF */
-
-#if defined (PACE_HAS_CPLUSPLUS)
-}
-#endif /* PACE_HAS_CPLUSPLUS */
-
-#endif /* PACE_UTIME_H_WIN32 */
diff --git a/PACE/pace/win32/utime.inl b/PACE/pace/win32/utime.inl
deleted file mode 100644
index 4a83d7713e0..00000000000
--- a/PACE/pace/win32/utime.inl
+++ /dev/null
@@ -1,33 +0,0 @@
-/* $Id$ -*- C -*-
-
- * =============================================================================
- *
- * = LIBRARY
- * pace
- *
- * = FILENAME
- * pace/win32/utime.inl
- *
- * = AUTHOR
- * Luther Baker
- *
- * ============================================================================= */
-
-#include "pace/string.h"
-
-#if (PACE_HAS_POSIX_FS_UOF)
-PACE_INLINE
-int
-pace_utime (const char * path,
- const pace_utimbuf * times)
-{
- /* Emulation not yet finished! Not yet working! */
-
-#if defined (__BORLANDC__)
- return utime (path, (const struct utimbuf*)times);
-#else /* __BORLANDC__ */
- /* Not quite the perfect answer... win32 doesn't take const args. */
- return _utime ((char*)path, (struct _utimbuf*)times);
-#endif /* __BORLANDC__ */
-}
-#endif /* PACE_HAS_POSIX_FS_UOF */
diff --git a/PACE/pace/win32/utsname.c b/PACE/pace/win32/utsname.c
deleted file mode 100644
index 9963f1ff624..00000000000
--- a/PACE/pace/win32/utsname.c
+++ /dev/null
@@ -1,181 +0,0 @@
-/* $Id$
-
- * =============================================================================
- *
- * = LIBRARY
- * pace
- *
- * = FILENAME
- * pace/win32/utsname.c
- *
- * = AUTHOR
- * Luther Baker
- *
- * ============================================================================= */
-
-#include "pace/sys/utsname.h"
-
-#if !defined (PACE_HAS_INLINE)
-# include "pace/win32/utsname.inl"
-#endif /* ! PACE_HAS_INLINE */
-
-#if (PACE_HAS_POSIX_SP_UOF)
-int
-uname (pace_utsname * name)
-{
- PACE_UNUSED_ARG (name);
- PACE_ERRNO_NO_SUPPORT_RETURN (-1);
-
-#if 0 /* Emulation: Not bug free! :-/ */
-
- size_t maxnamelen = sizeof name->nodename;
- pace_strcpy (name->sysname, "Win32");
-
- OSVERSIONINFO vinfo;
- vinfo.dwOSVersionInfoSize = sizeof(OSVERSIONINFO);
- ::GetVersionEx (&vinfo);
-
- SYSTEM_INFO sinfo;
- GetSystemInfo(&sinfo);
- pace_strcpy (name->sysname, "Win32");
-
- if (vinfo.dwPlatformId == VER_PLATFORM_WIN32_NT)
- {
- /* Get information from the two structures */
- pace_sprintf (name->release, "Windows NT %d.%d",
- vinfo.dwMajorVersion,
- vinfo.dwMinorVersion);
- pace_sprintf (name->version,
- "Build %d %s",
- vinfo.dwBuildNumber,
- vinfo.szCSDVersion);
-
- /* We have to make sure that the size of (processor + subtype) is
- not greater than the size of name->machine. So we give half
- the space to the processor and half the space to subtype. The
- -1 is necessary for because of the space between processor and
- subtype in the machine name.
- */
- const int bufsize = ((sizeof (name->machine) / sizeof (ACE_TCHAR)) / 2) - 1;
- char processor[bufsize] = "Unknown";
- char subtype[bufsize] = "Unknown";
-
- WORD arch = sinfo.wProcessorArchitecture;
-
- switch (arch)
- {
-
- case PROCESSOR_ARCHITECTURE_INTEL: {
-
- pace_strcpy (processor, "Intel");
- if (sinfo.wProcessorLevel == 3)
- {
- pace_strcpy (subtype, "80386");
- }
- else if (sinfo.wProcessorLevel == 4)
- {
- pace_strcpy (subtype, "80486");
- }
- else if (sinfo.wProcessorLevel == 5)
- {
- pace_strcpy (subtype, "Pentium");
- }
- else if (sinfo.wProcessorLevel == 6)
- {
- pace_strcpy (subtype, "Pentium Pro");
- }
- else if (sinfo.wProcessorLevel == 7) /* guessing here */
- {
- pace_strcpy (subtype, "Pentium II");
- }
- break;
- }
-
- case PROCESSOR_ARCHITECTURE_MIPS: {
- pace_strcpy (processor, "MIPS");
- pace_strcpy (subtype, "R4000");
- break;
- }
-
- case PROCESSOR_ARCHITECTURE_ALPHA: {
- pace_strcpy (processor, "Alpha");
- pace_sprintf (subtype, "%d", sinfo.wProcessorLevel);
- break;
- }
-
- case PROCESSOR_ARCHITECTURE_PPC: {
- pace_strcpy (processor, "PPC");
- if (sinfo.wProcessorLevel == 1)
- {
- pace_strcpy (subtype, "601");
- }
- else if (sinfo.wProcessorLevel == 3)
- {
- pace_strcpy (subtype, "603");
- }
- else if (sinfo.wProcessorLevel == 4)
- {
- pace_strcpy (subtype, "604");
- }
- else if (sinfo.wProcessorLevel == 6)
- {
- pace_strcpy (subtype, "603+");
- }
- else if (sinfo.wProcessorLevel == 9)
- {
- pace_strcpy (subtype, "804+");
- }
- else if (sinfo.wProcessorLevel == 20)
- {
- pace_strcpy (subtype, "620");
- }
- break;
- }
-
- case PROCESSOR_ARCHITECTURE_UNKNOWN: {
-
- default:
- {
- /* @@ We could provide WinCE specific info here. But let's
- defer that to some later point.
- */
- pace_strcpy (processor, "Unknown");
- break;
- }
- }
- }
- pace_sprintf(name->machine, "%s %s", processor, subtype);
- }
- else if (vinfo.dwPlatformId == VER_PLATFORM_WIN32_WINDOWS)
- {
- // Get Windows 95 Information
- pace_strcpy (name->release, "Windows 95");
- pace_sprintf (name->version, "%d", LOWORD (vinfo.dwBuildNumber));
- if (sinfo.dwProcessorType == PROCESSOR_INTEL_386)
- {
- pace_strcpy (name->machine, "Intel 80386");
- }
- else if (sinfo.dwProcessorType == PROCESSOR_INTEL_486)
- {
- pace_strcpy (name->machine, "Intel 80486");
- }
- else if (sinfo.dwProcessorType == PROCESSOR_INTEL_PENTIUM)
- {
- pace_strcpy (name->machine, "Intel Pentium");
- }
- }
- else
- {
- /* We don't know what this is! */
- pace_strcpy (name->release, "???");
- pace_strcpy (name->version, "???");
- pace_strcpy (name->machine, "???");
- }
-
- /* ick */
- return ACE_OS::hostname (name->nodename, maxnamelen);
-
-#endif /* emulation */
-
-}
-#endif /* PACE_HAS_POSIX_SP_UOF */
diff --git a/PACE/pace/win32/utsname.h b/PACE/pace/win32/utsname.h
deleted file mode 100644
index c603b6b2c31..00000000000
--- a/PACE/pace/win32/utsname.h
+++ /dev/null
@@ -1,43 +0,0 @@
-/* $Id$
-
- * ============================================================================
- *
- * = LIBRARY
- * pace
- *
- * = FILENAME
- * pace/win32/utsname.h
- *
- * = AUTHOR
- * Luther Baker
- *
- * ============================================================================ */
-
-#ifndef PACE_SYS_UTSNAME_H_WIN32
-#define PACE_SYS_UTSNAME_H_WIN32
-
-#if defined (PACE_HAS_CPLUSPLUS)
-extern "C" {
-#endif /* PACE_HAS_CPLUSPLUS */
-
-# ifndef PACE_UTSNAME
-# define PACE_UTSNAME
-# define PACE_SYS_NMLN 257
- typedef struct /* utsname */ {
- char sysname[PACE_SYS_NMLN];
- char nodename[PACE_SYS_NMLN];
- char release[PACE_SYS_NMLN];
- char version[PACE_SYS_NMLN];
- char machine[PACE_SYS_NMLN];
-} pace_utsname;
-# endif /* PACE_UTSNAME */
-
-#if (PACE_HAS_POSIX_SP_UOF)
- int uname (pace_utsname * name);
-#endif /* PACE_HAS_POSIX_SP_UOF */
-
-#if defined (PACE_HAS_CPLUSPLUS)
-}
-#endif /* PACE_HAS_CPLUSPLUS */
-
-#endif /* PACE_SYS_UTSNAME_H_WIN32 */
diff --git a/PACE/pace/win32/utsname.inl b/PACE/pace/win32/utsname.inl
deleted file mode 100644
index bc79bb80db4..00000000000
--- a/PACE/pace/win32/utsname.inl
+++ /dev/null
@@ -1,26 +0,0 @@
-/* $Id$ -*- C -*-
-
- * =============================================================================
- *
- * = LIBRARY
- * pace
- *
- * = FILENAME
- * pace/win32/utsname.inl
- *
- * = AUTHOR
- * Luther Baker
- *
- * ============================================================================= */
-
-#include "pace/string.h"
-
-#if (PACE_HAS_POSIX_SP_UOF)
-PACE_INLINE
-int
-pace_uname (pace_utsname * name)
-{
- PACE_UNUSED_ARG (name);
- PACE_ERRNO_NO_SUPPORT_RETURN (-1);
-}
-#endif /* PACE_HAS_POSIX_SP_UOF */
diff --git a/PACE/pace/win32/wait.c b/PACE/pace/win32/wait.c
deleted file mode 100644
index 6a4308040af..00000000000
--- a/PACE/pace/win32/wait.c
+++ /dev/null
@@ -1,20 +0,0 @@
-/* $Id$
-
- * =============================================================================
- *
- * = LIBRARY
- * pace
- *
- * = FILENAME
- * pace/win32/wait.c
- *
- * = AUTHOR
- * Luther Baker
- *
- * ============================================================================= */
-
-#include "pace/sys/wait.h"
-
-#if !defined (PACE_HAS_INLINE)
-# include "pace/win32/wait.inl"
-#endif /* ! PACE_HAS_INLINE */
diff --git a/PACE/pace/win32/wait.h b/PACE/pace/win32/wait.h
deleted file mode 100644
index cf2b7007afa..00000000000
--- a/PACE/pace/win32/wait.h
+++ /dev/null
@@ -1,38 +0,0 @@
-/* $Id$
-
- * ============================================================================
- *
- * = LIBRARY
- * pace
- *
- * = FILENAME
- * pace/win32/wait.h
- *
- * = AUTHOR
- * Luther Baker
- *
- * ============================================================================ */
-
-#ifndef PACE_WAIT_H_WIN32
-#define PACE_WAIT_H_WIN32
-
-#include "pace/sys/types.h"
-
-#if defined (PACE_HAS_CPLUSPLUS)
-extern "C" {
-#endif /* PACE_HAS_CPLUSPLUS */
-
-#define PACE_WEXITSTATUS WEXITSTATUS
-#define PACE_WIFEXITED WIFEXITED
-#define PACE_WIFSIGNALED WISIGNALED
-#define PACE_WIFSTOPPED WIFSTOPPED
-#define PACE_WNOHANG WNOHANG
-#define PACE_WSTOPSIG WSTOPSIG
-#define PACE_WTERMSIG WTERMSIG
-#define PACE_WUNTRACED WUNTRACED
-
-#if defined (PACE_HAS_CPLUSPLUS)
-}
-#endif /* PACE_HAS_CPLUSPLUS */
-
-#endif /* PACE_WAIT_H_WIN32 */
diff --git a/PACE/pace/win32/wait.inl b/PACE/pace/win32/wait.inl
deleted file mode 100644
index 166a0936d10..00000000000
--- a/PACE/pace/win32/wait.inl
+++ /dev/null
@@ -1,45 +0,0 @@
-/* $Id$ -*- C -*-
-
- * =============================================================================
- *
- * = LIBRARY
- * pace
- *
- * = FILENAME
- * pace/win32/wait.inl
- *
- * = AUTHOR
- * Luther Baker
- *
- * ============================================================================= */
-
-#if (PACE_HAS_POSIX_MP_UOF)
-PACE_INLINE
-pace_pid_t
-pace_wait (int * statloc)
-{
- PACE_UNUSED_ARG (statloc);
-
- {
- pace_pid_t retval = -1;
- PACE_ERRNO_NO_SUPPORT_RETURN (retval);
- }
-}
-#endif /* PACE_HAS_POSIX_MP_UOF */
-
-#if (PACE_HAS_POSIX_MP_UOF)
-PACE_INLINE
-pace_pid_t
-pace_waitpid (pace_pid_t pid, int * statloc, int options)
-{
- PACE_UNUSED_ARG (pid);
- PACE_UNUSED_ARG (statloc);
- PACE_UNUSED_ARG (options);
-
- /* ACE version uses a HANDLE */
- {
- pace_pid_t retval = -1;
- PACE_ERRNO_NO_SUPPORT_RETURN (retval);
- }
-}
-#endif /* PACE_HAS_POSIX_MP_UOF */
diff --git a/PACE/tests/Cond_Var_Test.c b/PACE/tests/Cond_Var_Test.c
deleted file mode 100644
index eb7a073cfc3..00000000000
--- a/PACE/tests/Cond_Var_Test.c
+++ /dev/null
@@ -1,136 +0,0 @@
-/* $Id$ -*- C -*- */
-
-/* ===================================================================== */
-/* */
-/* = FILENAME */
-/* Cond_Var_Test.c */
-/* */
-/* = DESCRIPTION */
-/* Testing the platform for POSIX condition variables. This is not */
-/* meant to be an exhaustive test at this point but more a sanity */
-/* check that PACE works (at least somewhat) as advertised. */
-/* This program simply creates some threads, waits on a condition */
-/* variable, joins the threads, and then exits. */
-/* */
-/* This test is largely taken from the O'Reilly _Pthreads */
-/* Programming_ book and accompanying example code. */
-/* */
-/* = AUTHOR */
-/* Joe Hoffert <joeh@cs.wustl.edu> */
-/* */
-/* ===================================================================== */
-
-#include "pace/stdio.h"
-#include "pace/stdlib.h"
-#include "pace/pthread.h"
-
-#if defined (PACE_VXWORKS) && PACE_VXWORKS != 0
-#include "vxworks_stub.c"
-#endif /* VXWORKS */
-
-#define NUM_THREADS 3
-#define TCOUNT 10
-#define COUNT_THRES 12
-
-int count = 0;
-int thread_ids[3] = {0,1,2};
-#if defined (PACE_VXWORKS) && PACE_VXWORKS != 0
-/* VxWorks does not handle the *_ININITALIZER values and we
- * can not emulate it since it involves memory allocation for
- * VxWorks.
- */
-pace_pthread_mutex_t count_lock;
-pace_pthread_cond_t count_hit_threshold;
-#else
-pace_pthread_mutex_t count_lock = PACE_PTHREAD_MUTEX_INITIALIZER;
-pace_pthread_cond_t count_hit_threshold = PACE_PTHREAD_COND_INITIALIZER;
-#endif
-
-void *inc_count(void *idp)
-{
- int i = 0;
- /*int *my_id = idp;*/
- PACE_UNUSED_ARG (idp);
-
- pace_sleep(1);
-
- for (i = 0; i < TCOUNT; i++) {
- pace_pthread_mutex_lock(&count_lock);
- count++;
- /* pace_printf("inc_counter(): thread %d, count = %d, unlocking mutex\n",
- *my_id, count); */
- if (count == COUNT_THRES) {
- /* pace_printf("inc_count(): Thread %d, count %d\n", *my_id, count); */
- pace_pthread_cond_signal(&count_hit_threshold);
- }
- pace_pthread_mutex_unlock(&count_lock);
- }
-
- return(NULL);
-}
-
-void *watch_count(void *idp)
-{
- /*int *my_id = idp;*/
- PACE_UNUSED_ARG (idp);
-
- /* pace_printf("watch_count(): thread %d\n", *my_id); */
-
- pace_pthread_mutex_lock(&count_lock);
-
- while (count < COUNT_THRES) {
- pace_pthread_cond_wait(&count_hit_threshold, &count_lock);
- /* pace_printf("watch_count(): thread %d, count %d\n", *my_id, count); */
- }
-
- pace_pthread_mutex_unlock(&count_lock);
-
- return(NULL);
-}
-
-int
-main()
-{
- int i;
- pace_pthread_t threads[3];
-
-#if defined (PACE_VXWORKS) && PACE_VXWORKS != 0
- /* VxWorks does not handle the *_ININITALIZER values and we
- * can not emulate it since it involves memory allocation for
- * VxWorks.
- */
- pace_pthread_mutex_init(&count_lock, 0);
- pace_pthread_cond_init(&count_hit_threshold, 0);
-#endif
-
- pace_pthread_create(&threads[0], NULL, inc_count, (void *)&thread_ids[0]);
- pace_pthread_create(&threads[1], NULL, inc_count, (void *)&thread_ids[1]);
- pace_pthread_create(&threads[2], NULL, watch_count, (void *)&thread_ids[2]);
-
- for (i = 0; i < NUM_THREADS; i++) {
- pace_pthread_join(threads[i], NULL);
- }
-
- if (count < COUNT_THRES)
- {
- pace_printf ("### ERROR ###: count should be >= %d.\n",
- COUNT_THRES);
- pace_printf ("### ERROR ###: However, count == %d.\n",
- count);
- pace_exit (-1);
- }
-
- /* pace_printf ("main(): This should be the last print statement.\n"); */
-
-#if defined (PACE_VXWORKS) && PACE_VXWORKS != 0
- /* VxWorks does not handle the *_ININITALIZER values and we
- * can not emulate it since it involves memory allocation for
- * VxWorks. We need to explicitly delete the mutex and condition
- * variable allocated by the init calls.
- */
- pace_pthread_mutex_destroy(&count_lock);
- pace_pthread_cond_destroy(&count_hit_threshold);
-#endif /* PACE_VXWORKS && PACE_VXWORKS != 0 */
-
- return 0;
-}
diff --git a/PACE/tests/Makefile b/PACE/tests/Makefile
deleted file mode 100644
index 83e9eb5be83..00000000000
--- a/PACE/tests/Makefile
+++ /dev/null
@@ -1,204 +0,0 @@
-#----------------------------------------------------------------------------
-#
-# $Id$
-#
-# Makefile for all the PACE tests
-#----------------------------------------------------------------------------
-
-CFLAGS += -DPACE_HAS_ALL_POSIX_FUNCS
-
-#----------------------------------------------------------------------------
-# Local macros
-#----------------------------------------------------------------------------
-
-# Build POSIX_SP_Test conditionally. For some platforms, it doesn't build
-# (which is actually the test of support for the #defines).
-BIN = Cond_Var_Test \
- Pthread_Storage_Test \
- Pthreads_Test \
- Stdio_Test \
- Stat_Test
-
-BIN2 = mqueue_test \
- Posix_SP_Test
-
-#### If the PACE library wasn't built with all components, don't
-#### try to build certain tests.
-PACE_BUILD_COMPONENTS := $(shell sh $(ACE_ROOT)/bin/ace_components --pace)
-
-PSRC=$(addsuffix .c,$(BIN))
-
-#----------------------------------------------------------------------------
-# Include macros and targets
-#----------------------------------------------------------------------------
-
-include $(ACE_ROOT)/include/makeinclude/wrapper_macros.GNU
-ACELIB =
-
-# Don't include Posix_SP_Test and mqueue_test for a VxWorks build.
-# Posix_SP_Test doesn't compile (which is the test - seeing if the symbols
-# are available). So VxWorks obviously doesn't pass this test.
-# SA_RESTART is not defined for VxWorks so mqueue_test doesn't build
-# on that platform.
-ifdef VXWORKS
- ACELIB += -lPACE
- LDFLAGS += -L$(PACE_ROOT)/pace/
-else
- BIN += $(BIN2)
-endif
-INCLDIRS += -I$(PACE_ROOT)
-include $(ACE_ROOT)/include/makeinclude/macros.GNU
-include $(ACE_ROOT)/include/makeinclude/rules.common.GNU
-include $(ACE_ROOT)/include/makeinclude/rules.nonested.GNU
-include $(ACE_ROOT)/include/makeinclude/rules.bin.GNU
-
-ifndef SOEXT
- SOEXT=so
-endif
-
-include $(ACE_ROOT)/include/makeinclude/rules.local.GNU
-
-include $(ACE_ROOT)/PACE/include/makeinclude/rules.common.GNU
-
-ifndef static_libs_only
- ifndef shared_libs_only
- static_libs_only = 1
- endif # shared_libs_only
-endif # static_libs_only
-
-# If we are inlining the PACE functions then we don't want to include
-# the PACE library (and we need to define PACE_HAS_INLINE). If we're not
-# inlining then we need to include the PACE library. Inlining is the default.
-
-ifndef inline
- CFLAGS += -DPACE_HAS_INLINE
-else
- ifneq (0,$(inline))
- CFLAGS += -DPACE_HAS_INLINE
- else
- LIBS += -L$(ACE_ROOT)/PACE/pace -lPACE
- endif # ! inline
-endif # ! inline
-
-# To compile in the PACE lib on platforms that compile c code
-ifeq (1, $(emulation))
- LIBS += -L$(PACE_ROOT)/pace -lPACE
-endif # emulation
-
-# To build multiple executables in the same directory on AIX, it works
-# best to wipe out any previously-created tempinc directory.
-# The compiler/linker isn't too smart about instantiating templates...
-ifdef TEMPINCDIR
-COMPILE.cc := $(RM) -rf tempinc; $(COMPILE.cc)
-endif
-
-#----------------------------------------------------------------------------
-# Local targets
-#----------------------------------------------------------------------------
-
-#----------------------------------------------------------------------------
-# Dependencies
-#----------------------------------------------------------------------------
-# DO NOT DELETE THIS LINE -- g++dep uses it.
-# DO NOT PUT ANYTHING AFTER THIS LINE, IT WILL GO AWAY.
-
-
-.obj/Cond_Var_Test.o .obj/Cond_Var_Test.o .obj/Cond_Var_Test.o .obj/Cond_Var_Test.o: Cond_Var_Test.c \
- $(ACE_ROOT)/PACE/pace/stdio.h \
- $(ACE_ROOT)/PACE/pace/config/defines.h \
- $(ACE_ROOT)/PACE/pace/config/platform.h \
- $(ACE_ROOT)/PACE/pace/config/config.h \
- $(ACE_ROOT)/PACE/pace/config/compiler.h \
- $(ACE_ROOT)/PACE/pace/config/constants.h \
- $(ACE_ROOT)/PACE/pace/sys/types.h \
- $(ACE_ROOT)/PACE/pace/config/defaults.h \
- $(ACE_ROOT)/PACE/pace/config/utility.h \
- $(ACE_ROOT)/PACE/pace/errno.h \
- $(ACE_ROOT)/PACE/pace/config/features.h \
- $(ACE_ROOT)/PACE/pace/stdlib.h \
- $(ACE_ROOT)/PACE/pace/unistd.h \
- $(ACE_ROOT)/PACE/pace/pthread.h
-
-.obj/mqueue_test.o .obj/mqueue_test.o .obj/mqueue_test.o .obj/mqueue_test.o: mqueue_test.c \
- $(ACE_ROOT)/PACE/pace/stdio.h \
- $(ACE_ROOT)/PACE/pace/config/defines.h \
- $(ACE_ROOT)/PACE/pace/config/platform.h \
- $(ACE_ROOT)/PACE/pace/config/config.h \
- $(ACE_ROOT)/PACE/pace/config/compiler.h \
- $(ACE_ROOT)/PACE/pace/config/constants.h \
- $(ACE_ROOT)/PACE/pace/sys/types.h \
- $(ACE_ROOT)/PACE/pace/config/defaults.h \
- $(ACE_ROOT)/PACE/pace/config/utility.h \
- $(ACE_ROOT)/PACE/pace/errno.h \
- $(ACE_ROOT)/PACE/pace/config/features.h \
- $(ACE_ROOT)/PACE/pace/fcntl.h \
- $(ACE_ROOT)/PACE/pace/mqueue.h \
- $(ACE_ROOT)/PACE/pace/signal.h \
- $(ACE_ROOT)/PACE/pace/stdlib.h \
- $(ACE_ROOT)/PACE/pace/unistd.h \
- $(ACE_ROOT)/PACE/pace/string.h
-
-.obj/Pthread_Storage_Test.o .obj/Pthread_Storage_Test.o .obj/Pthread_Storage_Test.o .obj/Pthread_Storage_Test.o: Pthread_Storage_Test.c \
- $(ACE_ROOT)/PACE/pace/stdio.h \
- $(ACE_ROOT)/PACE/pace/config/defines.h \
- $(ACE_ROOT)/PACE/pace/config/platform.h \
- $(ACE_ROOT)/PACE/pace/config/config.h \
- $(ACE_ROOT)/PACE/pace/config/compiler.h \
- $(ACE_ROOT)/PACE/pace/config/constants.h \
- $(ACE_ROOT)/PACE/pace/sys/types.h \
- $(ACE_ROOT)/PACE/pace/config/defaults.h \
- $(ACE_ROOT)/PACE/pace/config/utility.h \
- $(ACE_ROOT)/PACE/pace/errno.h \
- $(ACE_ROOT)/PACE/pace/config/features.h \
- $(ACE_ROOT)/PACE/pace/stdlib.h \
- $(ACE_ROOT)/PACE/pace/unistd.h \
- $(ACE_ROOT)/PACE/pace/time.h \
- $(ACE_ROOT)/PACE/pace/pthread.h
-
-.obj/Pthreads_Test.o .obj/Pthreads_Test.o .obj/Pthreads_Test.o .obj/Pthreads_Test.o: Pthreads_Test.c \
- $(ACE_ROOT)/PACE/pace/stdio.h \
- $(ACE_ROOT)/PACE/pace/config/defines.h \
- $(ACE_ROOT)/PACE/pace/config/platform.h \
- $(ACE_ROOT)/PACE/pace/config/config.h \
- $(ACE_ROOT)/PACE/pace/config/compiler.h \
- $(ACE_ROOT)/PACE/pace/config/constants.h \
- $(ACE_ROOT)/PACE/pace/sys/types.h \
- $(ACE_ROOT)/PACE/pace/config/defaults.h \
- $(ACE_ROOT)/PACE/pace/config/utility.h \
- $(ACE_ROOT)/PACE/pace/errno.h \
- $(ACE_ROOT)/PACE/pace/config/features.h \
- $(ACE_ROOT)/PACE/pace/stdlib.h \
- $(ACE_ROOT)/PACE/pace/unistd.h \
- $(ACE_ROOT)/PACE/pace/pthread.h
-
-.obj/Stdio_Test.o .obj/Stdio_Test.o .obj/Stdio_Test.o .obj/Stdio_Test.o: Stdio_Test.c \
- $(ACE_ROOT)/PACE/pace/stdio.h \
- $(ACE_ROOT)/PACE/pace/config/defines.h \
- $(ACE_ROOT)/PACE/pace/config/platform.h \
- $(ACE_ROOT)/PACE/pace/config/config.h \
- $(ACE_ROOT)/PACE/pace/config/compiler.h \
- $(ACE_ROOT)/PACE/pace/config/constants.h \
- $(ACE_ROOT)/PACE/pace/sys/types.h \
- $(ACE_ROOT)/PACE/pace/config/defaults.h \
- $(ACE_ROOT)/PACE/pace/config/utility.h \
- $(ACE_ROOT)/PACE/pace/errno.h \
- $(ACE_ROOT)/PACE/pace/config/features.h \
- $(ACE_ROOT)/PACE/pace/unistd.h \
- $(ACE_ROOT)/PACE/pace/string.h
-
-.obj/Stat_Test.o .obj/Stat_Test.o .obj/Stat_Test.o .obj/Stat_Test.o: Stat_Test.c $(ACE_ROOT)/PACE/pace/stdio.h \
- $(ACE_ROOT)/PACE/pace/config/defines.h \
- $(ACE_ROOT)/PACE/pace/config/platform.h \
- $(ACE_ROOT)/PACE/pace/config/config.h \
- $(ACE_ROOT)/PACE/pace/config/compiler.h \
- $(ACE_ROOT)/PACE/pace/config/constants.h \
- $(ACE_ROOT)/PACE/pace/sys/types.h \
- $(ACE_ROOT)/PACE/pace/config/defaults.h \
- $(ACE_ROOT)/PACE/pace/config/utility.h \
- $(ACE_ROOT)/PACE/pace/errno.h \
- $(ACE_ROOT)/PACE/pace/config/features.h \
- $(ACE_ROOT)/PACE/pace/unistd.h \
- $(ACE_ROOT)/PACE/pace/fcntl.h \
- $(ACE_ROOT)/PACE/pace/sys/stat.h
-
-# IF YOU PUT ANYTHING HERE IT WILL GO AWAY
diff --git a/PACE/tests/Makefile.am b/PACE/tests/Makefile.am
deleted file mode 100644
index af6f453c2af..00000000000
--- a/PACE/tests/Makefile.am
+++ /dev/null
@@ -1,54 +0,0 @@
-##----------------------------------------------------------------------------
-## $Id$
-##
-## Makefile.am for all the PACE ``one-button'' tests
-##----------------------------------------------------------------------------
-
-##
-## Process this file with automake to create Makefile.in
-##
-
-## The number in AUTOMAKE_OPTIONS is the minimum required version automake
-## needed to process this file.
-AUTOMAKE_OPTIONS = 1.4
-
-INCLUDES = -I$(top_builddir) -I$(top_srcdir)
-
-## LDFLAGS =
-## Libtool will automatically link against the "proper" library.
-## Do not change the "libACE.la." It is not a typographical error!
-##
-## We override the "LIBS" variable provided by the configure script since
-## we should only need to link against the ACE library for these tests.
-LDADD = $(top_builddir)/pace/libPACE.la
-##LIBS = $(top_builddir)/pace/libPACE.la
-
-## Build the following test programs when a `make check' is
-## issued by the user.
-check_PROGRAMS = \
- Posix_SP_Test \
- Stdio_Test
-
-Posix_SP_Test_SOURCES = Posix_SP_Test.c
-
-Stdio_Test_SOURCES = Stdio_Test.c
-
-## The tests we want to run are all of the test programs we are going to build.
-## Do not run them if they are cross-compiled.
-if PACE_CROSS_COMPILED
-TESTS =
-else
-TESTS = $(check_PROGRAMS)
-endif
-
-## Set up the test environment
-##TESTS_ENVIRONMENT =
-
-## Clean up template repositories, etc.
-clean-local:
- -rm -f *.bak *.rpo *.sym lib*.*_pure_* Makefile.old core
- -rm -rf ptrepository Templates.DB gcctemp.c gcctemp so_locations
-
-## Clean up `log' directory , etc.
-distclean-local:
- -rm -rf log
diff --git a/PACE/tests/Posix_SP_Test.c b/PACE/tests/Posix_SP_Test.c
deleted file mode 100644
index 8eccf95fc4c..00000000000
--- a/PACE/tests/Posix_SP_Test.c
+++ /dev/null
@@ -1,253 +0,0 @@
-/* $Id$ -*- C -*- */
-
-/* =====================================================================
- *
- * = FILENAME
- * Posix_SP_Test.c
- *
- * = DESCRIPTION
- * Testing the platform for POSIX_SINGLE_PROCESS unit of
- * functionality. This consists of calls to sysconf, time, and
- * uname.
- * This is not meant to be an exhaustive test at this point but more
- * a sanity check that PACE works (at least somewhat).
- *
- * = AUTHOR
- * Joe Hoffert <joeh@cs.wustl.edu>
- *
- * =====================================================================
- */
-
-#if PACE_LYNXOS != 0x300
-#include "pace/stdio.h"
-#include "pace/unistd.h"
-#include "pace/time.h"
-#include "pace/sys/utsname.h"
-
-const char * success = "SUCCEEDED";
-const char * failure = "***FAILED***";
-
-#if defined (PACE_VXWORKS) && PACE_VXWORKS != 0
-#include "vxworks_stub.c"
-#endif /* VXWORKS */
-
-void
-check_sysconf ()
-{
- long retval;
- int index;
-#if PACE_HAS_POSIX == PACE_LYNXOS
- const int confnamessize = 30;
-#else
- const int confnamessize = 38;
-#endif /* PACE_HAS_POSIX != PACE_LYNXOS */
-
- int confnames[] = {_SC_AIO_LISTIO_MAX,
- _SC_AIO_MAX,
- _SC_AIO_PRIO_DELTA_MAX,
- _SC_ARG_MAX,
- _SC_CHILD_MAX,
- _SC_CLK_TCK,
- _SC_DELAYTIMER_MAX,
-#if PACE_HAS_POSIX != PACE_LYNXOS
- _SC_GETGR_R_SIZE_MAX,
- _SC_GETPW_R_SIZE_MAX,
- _SC_LOGIN_NAME_MAX,
-#endif /* PACE_HAS_POSIX != PACE_LYNXOS */
- _SC_MQ_OPEN_MAX,
- _SC_MQ_PRIO_MAX,
- _SC_NGROUPS_MAX,
- _SC_OPEN_MAX,
- _SC_PAGESIZE,
- _SC_RTSIG_MAX,
- _SC_SEM_NSEMS_MAX,
- _SC_SEM_VALUE_MAX,
- _SC_SIGQUEUE_MAX,
- _SC_STREAM_MAX,
-#if PACE_HAS_POSIX != PACE_LYNXOS
- _SC_THREAD_DESTRUCTOR_ITERATIONS,
- _SC_THREAD_KEYS_MAX,
- _SC_THREAD_STACK_MIN,
- _SC_THREAD_THREADS_MAX,
-#endif /* PACE_HAS_POSIX != PACE_LYNXOS */
- _SC_TIMER_MAX,
-#if PACE_HAS_POSIX != PACE_LYNXOS
- _SC_TTY_NAME_MAX,
-#endif /* PACE_HAS_POSIX != PACE_LYNXOS */
- _SC_TZNAME_MAX,
- _SC_ASYNCHRONOUS_IO,
- _SC_FSYNC,
- _SC_JOB_CONTROL,
- _SC_MAPPED_FILES,
- _SC_MEMLOCK,
- _SC_MEMLOCK_RANGE,
- _SC_MEMORY_PROTECTION,
- _SC_MESSAGE_PASSING,
- _SC_PRIORITIZED_IO,
- _SC_PRIORITY_SCHEDULING,
- _SC_REALTIME_SIGNALS};
- char * confstrs[] = {"_SC_AIO_LISTIO_MAX",
- "_SC_AIO_MAX",
- "_SC_AIO_PRIO_DELTA_MAX",
- "_SC_ARG_MAX",
- "_SC_CHILD_MAX",
- "_SC_CLK_TCK",
- "_SC_DELAYTIMER_MAX",
-#if PACE_HAS_POSIX != PACE_LYNXOS
- "_SC_GETGR_R_SIZE_MAX",
- "_SC_GETPW_R_SIZE_MAX",
- "_SC_LOGIN_NAME_MAX",
-#endif /* PACE_HAS_POSIX != PACE_LYNXOS */
- "_SC_MQ_OPEN_MAX",
- "_SC_MQ_PRIO_MAX",
- "_SC_NGROUPS_MAX",
- "_SC_OPEN_MAX",
- "_SC_PAGESIZE",
- "_SC_RTSIG_MAX",
- "_SC_SEM_NSEMS_MAX",
- "_SC_SEM_VALUE_MAX",
- "_SC_SIGQUEUE_MAX",
- "_SC_STREAM_MAX",
-#if PACE_HAS_POSIX != PACE_LYNXOS
- "_SC_THREAD_DESTRUCTOR_ITERATIONS",
- "_SC_THREAD_KEYS_MAX",
- "_SC_THREAD_STACK_MIN",
- "_SC_THREAD_THREADS_MAX",
-#endif /* PACE_HAS_POSIX != PACE_LYNXOS */
- "_SC_TIMER_MAX",
-#if PACE_HAS_POSIX != PACE_LYNXOS
- "_SC_TTY_NAME_MAX",
-#endif /* PACE_HAS_POSIX != PACE_LYNXOS */
- "_SC_TZNAME_MAX",
- "_SC_ASYNCHRONOUS_IO",
- "_SC_FSYNC",
- "_SC_JOB_CONTROL",
- "_SC_MAPPED_FILES",
- "_SC_MEMLOCK",
- "_SC_MEMLOCK_RANGE",
- "_SC_MEMORY_PROTECTION",
- "_SC_MESSAGE_PASSING",
- "_SC_PRIORITIZED_IO",
- "_SC_PRIORITY_SCHEDULING",
- "_SC_REALTIME_SIGNALS"};
-
- PACE_UNUSED_ARG (confstrs);
-
- /* Success indicated by compilation for this function. */
- /* printf("pace_sysconf %s\n", success); */
- for (index = 0; index < confnamessize; index++)
- {
- /* Call pace_sysconf() */
- errno = 0;
- retval = pace_sysconf(confnames[index]);
-
- /* Return value of -1 indicates an invalid name or no support
- for the functionality associated with the name. POSIX-
- conformant platforms may not support all the names. However,
- using the names above should not cause compilation errors.
- */
- /* printf("pace_sysconf: name == %s\n", confstrs[index]); */
- if (retval == -1)
- {
- /* printf("retval == %ld\n", retval); */
- if (errno == 0)
- {
- /* printf("Unsupported name [errno did not change]\n"); */
- }
- else
- {
- printf("invalid name [errno did not change]\n");
- }
- }
- else
- {
- /* printf("pace_sysconf: value == %ld\n", retval); */
- }
- }
-
- /* printf("\n"); */
-}
-
-void
-check_time ()
-{
- long retval;
- time_t local_time;
-
- /* Call pace_time() with time_t * arg */
- local_time = 0;
- errno = 0;
- retval = pace_time(&local_time);
-
- /* printf("pace_time %s\n", success); */
- if (retval == -1)
- {
- printf("errno == %d\n", errno);
- }
- else
- {
- /* printf("pace_time (with time_t* arg) == %ld\n", local_time); */
- }
-
- /* Call pace_time() with NULL arg */
- errno = 0;
- retval = pace_time(0);
-
- if (retval == -1)
- {
- printf("errno == %d\n", errno);
- }
- else
- {
- /* printf("pace_time (with NULL arg) == %ld\n\n", retval); */
- }
-}
-
-void
-check_uname ()
-{
- long retval;
- struct utsname name;
-
- /* Call pace_uname() */
- errno = 0;
- retval = pace_uname(&name);
- /* printf("pace_uname %s\n", success); */
-
- if (retval < 0)
- {
- printf("pace_uname error: %d\n", errno);
- }
- else
- {
- /* printf("pace_uname: uname.sysname == %s\n", name.sysname); */
- /* printf("pace_uname: uname.nodename == %s\n", name.nodename); */
- /* printf("pace_uname: uname.release == %s\n", name.release); */
- /* printf("pace_uname: uname.version == %s\n", name.version); */
- /* printf("pace_uname: uname.machine == %s\n", name.machine); */
- }
-}
-
-int
-main (int argc, char **argv)
-{
- /* Check the PACE calls to the sysconf POSIX function. */
- check_sysconf();
-
- /* Check the PACE calls to the time POSIX function. */
- check_time();
-
- /* Check the PACE calls to the uname POSIX function. */
- check_uname();
-
- PACE_UNUSED_ARG (argc);
- PACE_UNUSED_ARG (argv);
- return 0;
-}
-#else
-int
-main (int argc, char **argv)
-{
- printf("PACE does not support LynxOS 3.0.0.\n");
-}
-#endif /* PACE_LYNXOS == 0x300 */
diff --git a/PACE/tests/Pthread_Storage_Test.c b/PACE/tests/Pthread_Storage_Test.c
deleted file mode 100644
index 726b3835c1d..00000000000
--- a/PACE/tests/Pthread_Storage_Test.c
+++ /dev/null
@@ -1,144 +0,0 @@
-/* $Id$ -*- C -*- */
-
-/* ===================================================================== */
-/* */
-/* = FILENAME */
-/* Pthreads_Test.c */
-/* */
-/* = DESCRIPTION */
-/* Testing the platform for POSIX threads thread specific storage. */
-/* This is not meant to be an exhaustive test at this point but more */
-/* a sanity check that PACE works (at least somewhat) as advertised. */
-/* This program creates some threads, stores some thread specific */
-/* information in each one (some time information) and then checks */
-/* that the different threads contained different values. */
-/* */
-/* This test is largely taken from the O'Reilly _Pthreads */
-/* Programming_ book and accompanying example code. */
-/* */
-/* = AUTHOR */
-/* Joe Hoffert <joeh@cs.wustl.edu> */
-/* */
-/* ===================================================================== */
-
-#include "pace/stdio.h"
-#include "pace/stdlib.h"
-#include "pace/time.h"
-#include "pace/pthread.h"
-
-#if defined (PACE_VXWORKS) && PACE_VXWORKS != 0
-#include "vxworks_stub.c"
-#endif /* VXWORKS */
-
-#define NUM_THREADS 3
-/*pace_pthread_key_t saved_time_key;*/
-pace_pthread_key_t saved_ID_key;
-
-/*void free_time (void *arg)*/
-void free_ID (void *arg)
-{
- /*pace_timespec *timep = (pace_timespec *)arg;
- pace_printf("free_time:\n");
- pace_free(timep);*/
-
- pace_pthread_t *threadp = (pace_pthread_t *)arg;
- /* pace_printf("free_ID:\n"); */
- pace_free(threadp);
-}
-
-/*void save_the_time (void)*/
-long save_the_ID (void)
-{
- /*pace_timespec *timep;
-
- timep = (pace_timespec *)malloc(sizeof(pace_timespec));
- clock_gettime(1, timep);
- pace_printf("save_the_time: \t\t%ld %ld\n",timep->tv_sec, timep->tv_nsec);
- pace_pthread_setspecific(saved_time_key, (void *)timep);*/
-
- pace_pthread_t *pace_thread =
- (pace_pthread_t *)malloc(sizeof(pace_pthread_t));
-
- *pace_thread = pace_pthread_self();
- /* pace_printf("save_the_ID: \t\t%ld\n", (long)*pace_thread); */
- pace_pthread_setspecific(saved_ID_key, (void *)pace_thread);
-
- return ((long)*pace_thread);
-}
-
-/*void what_time_did_i_save (void)*/
-long what_ID_did_i_save (void)
-{
- /*pace_timespec *timep;
-
- timep = pace_pthread_getspecific(saved_time_key);
- printf("what_time_did_i_save: \t%ld %ld\n",timep->tv_sec, timep->tv_nsec);*/
-
- pace_pthread_t *pace_thread;
-
- pace_thread = pace_pthread_getspecific(saved_ID_key);
- /* pace_printf("what_ID_did_i_save: \t%ld\n", (long)*pace_thread); */
- return ((long)*pace_thread);
-}
-
-void *thread_routine (void *arg)
-{
- long saved_id;
- long retrieved_id;
- /*int *my_id=(int *)arg;*/
- PACE_UNUSED_ARG (arg);
-
- /* pace_printf("thread_routine %d\n", *my_id); */
- /*save_the_time();
- what_time_did_i_save();*/
- saved_id = save_the_ID();
- pace_sleep (1);
- retrieved_id = what_ID_did_i_save();
-
- if (saved_id != retrieved_id)
- {
- pace_printf ("### ERROR ###: saved id %ld does not equal retrieved
- id %ld.\n", saved_id, retrieved_id);
- pace_exit (-1);
- }
-
- return (NULL);
-}
-
-int
-main (int argc, char *argv[])
-{
- int i;
- int *id_arg;
- pace_pthread_t threads[NUM_THREADS];
-
- PACE_UNUSED_ARG (argc);
- PACE_UNUSED_ARG (argv);
-
- id_arg = (int *) pace_malloc (NUM_THREADS * sizeof(int));
-
- /* pace_printf("main : initializing the key\n"); */
- /*pace_pthread_key_create(&saved_time_key, free_time);*/
- pace_pthread_key_create(&saved_ID_key, free_ID);
-
- /* pace_printf("main : spawning the threads\n"); */
- for (i = 0; i < NUM_THREADS; i++)
- {
- id_arg[i] = i;
-
- pace_pthread_create(&(threads[i]),
- NULL,
- thread_routine,
- (void *) &(id_arg[i]));
- }
-
- for (i = 0; i < NUM_THREADS; i++)
- {
- pace_pthread_join(threads[i], NULL);
- /* pace_printf("main : thread %d has finished. \n", i); */
- }
-
- /* pace_printf("main : goodbye\n"); */
-
- return 0;
-}
diff --git a/PACE/tests/Pthreads_Test.c b/PACE/tests/Pthreads_Test.c
deleted file mode 100644
index 7d2710f598b..00000000000
--- a/PACE/tests/Pthreads_Test.c
+++ /dev/null
@@ -1,110 +0,0 @@
-/* $Id$ -*- C -*- */
-
-/* ===================================================================== */
-/* */
-/* = FILENAME */
-/* Pthreads_Test.c */
-/* */
-/* = DESCRIPTION */
-/* Testing the platform for POSIX threads. This is not meant */
-/* to be an exhaustive test at this point but more a sanity check */
-/* that PACE works (at least somewhat) as advertised. */
-/* This program simply creates some threads, joins them, and then */
-/* exits. */
-/* */
-/* This test is largely taken from the O'Reilly _Pthreads */
-/* Programming_ book and accompanying example code. */
-/* */
-/* = AUTHOR */
-/* Joe Hoffert <joeh@cs.wustl.edu> */
-/* */
-/* ===================================================================== */
-
-#include "pace/stdio.h"
-#include "pace/stdlib.h"
-#include "pace/pthread.h"
-
-#if defined (PACE_VXWORKS) && PACE_VXWORKS != 0
-#include "vxworks_stub.c"
-#endif /* VXWORKS */
-
-const int FUNC1_LOOP_MAX = 5;
-const int FUNC2_LOOP_MAX = 50;
-
-void
-func1 (int *pnum_times)
-{
- int i;
- int j;
- int x;
-
- for (i = 0; i < FUNC1_LOOP_MAX; i++)
- {
- /*pace_printf("func1\n");*/
- for (j = 0; j < 100000; j++)
- x += i;
-
- (*pnum_times)++;
- }
-}
-
-void
-func2 (int *pnum_times)
-{
- int i;
- int j;
- int x;
-
- for (i = 0; i < FUNC2_LOOP_MAX; i++)
- {
- /*pace_printf("func2\n");*/
- for (j = 0; j < 100; j++)
- x += i;
-
- (*pnum_times)++;
- }
-}
-
-void
-join_point (int func1_times, int func2_times)
-{
- int total;
-
- total = func1_times + func2_times;
- if (total != FUNC1_LOOP_MAX + FUNC2_LOOP_MAX)
- {
- pace_printf ("### ERROR ###: total iterations should be %d but are %d.\n",
- FUNC1_LOOP_MAX + FUNC2_LOOP_MAX, total);
- pace_exit (-1);
- }
-}
-
-int
-main (int argc, char **argv)
-{
- /* Test creating threads and joining them. */
- pace_pthread_t thread1;
- pace_pthread_t thread2;
- int func1_ret = 0;
- int func2_ret = 0;
-
- PACE_UNUSED_ARG (argc);
- PACE_UNUSED_ARG (argv);
-
- pace_pthread_create(&thread1,
- NULL,
- (void *) func1,
- (void *) &func1_ret);
-
- pace_pthread_create(&thread2,
- NULL,
- (void *) func2,
- (void *) &func2_ret);
-
- pace_pthread_join(thread1, NULL);
- pace_pthread_join(thread2, NULL);
-
- join_point(func1_ret, func2_ret);
-
- return 0;
-}
diff --git a/PACE/tests/README b/PACE/tests/README
deleted file mode 100644
index 20d2c164084..00000000000
--- a/PACE/tests/README
+++ /dev/null
@@ -1,6 +0,0 @@
-Most of the tests are typical of the ACE and TAO tests in that no
-output means the test ran successfully. Otherwise, error messages
-are output indicating an error.
-
-Currently the mqueue_test executable requires user input for determing
-the kind of test to run.
diff --git a/PACE/tests/Stat_Test.c b/PACE/tests/Stat_Test.c
deleted file mode 100644
index e221fc0c813..00000000000
--- a/PACE/tests/Stat_Test.c
+++ /dev/null
@@ -1,83 +0,0 @@
-/* $Id$ -*- C -*- */
-
-/* ===================================================================== */
-/* */
-/* = FILENAME */
-/* Stat_Test.c */
-/* */
-/* = DESCRIPTION */
-/* Testing the platform for POSIX functions typically found in the */
-/* sys/stat.h file (e.g., chmod, mkdir, stat). This is not meant */
-/* to be an exhaustive test at this point but more a sanity check */
-/* that PACE works (at least somewhat) as advertised. */
-/* This program creates a directory (via mkdir), creates a temporary */
-/* file in that directory (via open), modifies the permissions of */
-/* the file (via chmod and fchmod), gets information about the file */
-/* (via stat and fstat), and checks the process' file mode creation */
-/* mask (via umask). The temporary file and directory are then */
-/* closed and deleted. */
-/* */
-/* = AUTHOR */
-/* Joe Hoffert <joeh@cs.wustl.edu> */
-/* */
-/* ===================================================================== */
-
-#include "pace/stdio.h"
-#include "pace/unistd.h"
-#include "pace/fcntl.h"
-#include "pace/sys/stat.h"
-
-#if defined (PACE_VXWORKS) && PACE_VXWORKS != 0
-#include "vxworks_stub.c"
-#endif /* VXWORKS */
-
-
-#if PACE_LYNXOS != 0x300
-int
-main (int argc, char **argv)
-{
- const char * dirname = "./junk";
- const char * failure = "***FAILED***";
-
- int fd;
- /*
- int retval;
- char* retval2;
- char buffer[256];
- */
-
- /* Test creating a directory. */
- /*printf("Starting test...\n");
- if (pace_mkdir(dirname, mode) != 0)
- {
- pace_printf("pace_mkdir %s\n", failure);
- return -1;
- }
- */
-
- fd = pace_open (dirname,
- O_WRONLY | O_CREAT,
- 0x644);
- if (fd == 0)
- {
- pace_printf("pace_open %s\n", failure);
- pace_perror("pace_open");
- return -1;
- }
- else
- {
- pace_close (fd);
- pace_unlink (dirname);
- }
-
- PACE_UNUSED_ARG (argc);
- PACE_UNUSED_ARG (argv);
- return 0;
-}
-#else
-int
-main (int argc, char **argv)
-{
- printf("PACE does not support LynxOS 3.0.0.\n");
-}
-#endif /* PACE_LYNXOS == 0x300 */
diff --git a/PACE/tests/Stdio_Test.c b/PACE/tests/Stdio_Test.c
deleted file mode 100644
index 469b4f433a8..00000000000
--- a/PACE/tests/Stdio_Test.c
+++ /dev/null
@@ -1,123 +0,0 @@
-/* $Id$ -*- C -*- */
-
-/* ===================================================================== */
-/* */
-/* = FILENAME */
-/* Stdio_Test.c */
-/* */
-/* = DESCRIPTION */
-/* Testing the platform for POSIX standard I/O. This is not meant */
-/* to be an exhaustive test at this point but more a sanity check */
-/* that PACE works (at least somewhat) as advertised. */
-/* This program creates/opens a temporary file, writes to the file, */
-/* reads from the file to make sure it's what was written, and */
-/* then closes/deletes the file. */
-/* */
-/* = AUTHOR */
-/* Joe Hoffert <joeh@cs.wustl.edu> */
-/* */
-/* ===================================================================== */
-
-#include "pace/stdio.h"
-#include "pace/unistd.h"
-#include "pace/string.h"
-
-const char * filename = "temp";
-const char * mode = "w+";
-const char * string1 = "line 1\n";
-const char * success = "SUCCEEDED";
-const char * failure = "***FAILED***";
-
-#if defined (PACE_VXWORKS) && PACE_VXWORKS != 0
-#include "vxworks_stub.c"
-#endif /* VXWORKS */
-
-
-#if PACE_LYNXOS != 0x300
-int
-main (int argc, char **argv)
-{
- /* Test creating/opening a file. */
- PACE_FILE *file;
- int retval;
- char* retval2;
- char buffer[256];
-
- file = pace_fopen (filename,
- mode);
- if (file == 0)
- {
- printf("pace_fopen %s\n", failure);
- return -1;
- }
-
- /* Test writing to a file. */
- retval = pace_fputs (string1,
- file);
- if (retval == EOF)
- {
- printf("pace_fputs %s\n", failure);
- return -1;
- }
-
- /* Test flushing a file. */
- retval = pace_fflush (file);
- if (retval != 0)
- {
- printf("pace_fflush %s\n", failure);
- return -1;
- }
-
- /* Test seeking in a file. */
- retval = pace_fseek (file,
- 0,
- 0);
- if (retval != 0)
- {
- printf("pace_fseek %s\n", failure);
- return -1;
- }
-
- /* Test reading from a file. */
- retval2 = pace_fgets (buffer,
- sizeof(buffer),
- file);
- if (retval2 == 0)
- {
- printf("pace_fgets %s\n", failure);
- return -1;
- }
-
- if (pace_strcmp(buffer, string1) != 0)
- {
- printf("strcmp of pace_fgets %s\n", failure);
- return -1;
- }
-
- /* Test closing a file. */
- retval = pace_fclose (file);
- if (retval != 0)
- {
- printf("pace_fclose %s\n", failure);
- return -1;
- }
-
- /* Test removing a file. */
- retval = pace_unlink (filename);
- if (retval != 0)
- {
- printf("pace_unlink %s\n", failure);
- return -1;
- }
-
- PACE_UNUSED_ARG (argc);
- PACE_UNUSED_ARG (argv);
- return 0;
-}
-#else
-int
-main (int argc, char **argv)
-{
- printf("PACE does not support LynxOS 3.0.0.\n");
-}
-#endif /* PACE_LYNXOS == 0x300 */
diff --git a/PACE/tests/mqueue_test.c b/PACE/tests/mqueue_test.c
deleted file mode 100644
index b8f55b46d6e..00000000000
--- a/PACE/tests/mqueue_test.c
+++ /dev/null
@@ -1,134 +0,0 @@
-/* $Id$ */
-
-#if PACE_LYNXOS != 0x300
-#include "pace/stdio.h"
-#include "pace/fcntl.h"
-#include "pace/mqueue.h"
-#include "pace/stdlib.h"
-#include "pace/signal.h"
-#include "pace/string.h"
-
-#if defined (PACE_VXWORKS) && PACE_VXWORKS != 0
-#include "vxworks_stub.c"
-#endif /* VXWORKS */
-
-/* Most of this code is borowed from Konstantin Knizhnik <http://www.ispras.ru/~knizhnik/posix1b/> */
-
-pace_mqd_t mqdes;
-
-void
-msg_handler (int handler_arg)
-{
- char buf[1024];
- unsigned int priority;
- int len = pace_mq_receive(mqdes, buf, sizeof buf, &priority);
-
- PACE_UNUSED_ARG (handler_arg);
-
- if (len < 0)
- {
- perror("mq_receive");
- }
- pace_printf("\nReceive message with priority %d: %s\n", priority, buf);
-}
-
-#define QUEUE_NAME "/testmsg1"
-
-int
-main (int argc, char** argv)
-{
-#if PACE_LYNXOS > 0
- pace_printf ("mqueue_test not supported on LynxOS.\n");
- PACE_UNUSED_ARG (argc);
- PACE_UNUSED_ARG (argv);
- return EXIT_SUCCESS;
-#else /* ! PACE_LYNXOS */
- char buf[1024];
- int choice, len;
- unsigned int priority;
- pace_sigevent notification;
- static pace_sigaction_s sa;
- int one = 1;
-
- mqdes = pace_mq_open(QUEUE_NAME, O_CREAT | O_RDWR, 0777, 0);
- if (mqdes == (pace_mqd_t)-1)
- {
- perror("mq_open");
- return EXIT_FAILURE;
- }
-
- notification.sigev_notify = SIGEV_SIGNAL;
- notification.sigev_signo = SIGUSR1;
-
- sa.sa_handler = msg_handler;
- sa.sa_flags = SA_RESTART;
- pace_sigaction(SIGUSR1, &sa, NULL);
-
- while (one)
- {
- printf("\t1. Send\n"
- "\t2. Asynchronouse receive\n"
- "\t3. Synchronouse receive\n"
- "\t4. Close queue and exit\n"
- "\t5. Remove queue and exit\n"
- "> ");
- if (!pace_fgets(buf, sizeof buf, stdin))
- {
- return EXIT_FAILURE;
- }
- if (pace_sscanf(buf, "%d", &choice) != 1)
- {
- pace_printf("Please select 1..5\n");
- continue;
- }
- switch (choice)
- {
- case 1:
- do
- {
- pace_printf("Message priority: ");
- pace_fgets(buf, sizeof buf, stdin);
- } while (pace_sscanf(buf, "%d", &priority) != 1);
- pace_printf("Message to send: ");
- pace_fgets(buf, sizeof buf, stdin);
- if (pace_mq_send(mqdes, buf, pace_strlen(buf)+1, priority) == -1)
- {
- perror("mq_send");
- return EXIT_FAILURE;
- }
- break;
- case 2:
- pace_mq_notify(mqdes, &notification);
- pace_printf("Waiting for notifications...\n");
- break;
- case 3:
- len = pace_mq_receive(mqdes, buf, sizeof buf, &priority);
- if (len < 0)
- {
- perror("mq_receive");
- }
- pace_printf("Receive message with priority %d: %s\n", priority, buf);
- break;
- case 4:
- pace_mq_close(mqdes);
- return EXIT_SUCCESS;
- case 5:
- pace_mq_close(mqdes);
- pace_mq_unlink(QUEUE_NAME);
- return EXIT_SUCCESS;
- default:
- pace_printf("Please select 1..5\n");
- }
- }
- PACE_UNUSED_ARG (argc);
- PACE_UNUSED_ARG (argv);
- return EXIT_SUCCESS;
-#endif /* ! PACE_LYNXOS */
-}
-#else
-int
-main (int argc, char **argv)
-{
- printf("PACE does not support LynxOS 3.0.0.\n");
-}
-#endif /* PACE_LYNXOS == 0x300 */
diff --git a/PACE/tests/test_stdio.dsp b/PACE/tests/test_stdio.dsp
deleted file mode 100644
index 198cfb45f4f..00000000000
--- a/PACE/tests/test_stdio.dsp
+++ /dev/null
@@ -1,162 +0,0 @@
-# Microsoft Developer Studio Project File - Name="test_stdio" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 6.00
-# ** DO NOT EDIT **
-
-# TARGTYPE "Win32 (x86) Console Application" 0x0103
-
-CFG=test_stdio - Win32 Static Debug
-!MESSAGE This is not a valid makefile. To build this project using NMAKE,
-!MESSAGE use the Export Makefile command and run
-!MESSAGE
-!MESSAGE NMAKE /f "test_stdio.mak".
-!MESSAGE
-!MESSAGE You can specify a configuration when running NMAKE
-!MESSAGE by defining the macro CFG on the command line. For example:
-!MESSAGE
-!MESSAGE NMAKE /f "test_stdio.mak" CFG="test_stdio - Win32 Static Debug"
-!MESSAGE
-!MESSAGE Possible choices for configuration are:
-!MESSAGE
-!MESSAGE "test_stdio - Win32 Release" (based on "Win32 (x86) Console Application")
-!MESSAGE "test_stdio - Win32 Debug" (based on "Win32 (x86) Console Application")
-!MESSAGE "test_stdio - Win32 Static Debug" (based on "Win32 (x86) Console Application")
-!MESSAGE "test_stdio - Win32 Static Release" (based on "Win32 (x86) Console Application")
-!MESSAGE
-
-# Begin Project
-# PROP AllowPerConfigDependencies 0
-# PROP Scc_ProjName ""
-# PROP Scc_LocalPath ""
-CPP=cl.exe
-RSC=rc.exe
-
-!IF "$(CFG)" == "test_stdio - Win32 Release"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "Release"
-# PROP BASE Intermediate_Dir "Release"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "Release"
-# PROP Intermediate_Dir "Release"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
-# ADD CPP /nologo /MD /W3 /GX /O2 /I ".." /D "NDEBUG" /D "WIN32" /D "_CONSOLE" /D "PACE_HAS_ALL_POSIX_FUNCS" /FD /c
-# SUBTRACT CPP /YX
-# ADD BASE RSC /l 0x409 /d "NDEBUG"
-# ADD RSC /l 0x409 /d "NDEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
-# ADD LINK32 pace.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386 /libpath:"../pace/win32"
-
-!ELSEIF "$(CFG)" == "test_stdio - Win32 Debug"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir "Debug"
-# PROP BASE Intermediate_Dir "Debug"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir ""
-# PROP Intermediate_Dir "Debug"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
-# ADD CPP /nologo /MDd /W3 /Gm /GX /Zi /Od /I ".." /D "_DEBUG" /D "PACE_HAS_ALL_POSIX_FUNCS" /D "WIN32" /D "_CONSOLE" /FD /c
-# SUBTRACT CPP /YX
-# ADD BASE RSC /l 0x409 /d "_DEBUG"
-# ADD RSC /l 0x409 /d "_DEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
-# ADD LINK32 paced.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept /libpath:"../pace/win32"
-
-!ELSEIF "$(CFG)" == "test_stdio - Win32 Static Debug"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir "Static_Debug"
-# PROP BASE Intermediate_Dir "Static_Debug"
-# PROP BASE Ignore_Export_Lib 0
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "Static_Debug"
-# PROP Intermediate_Dir "Static_Debug"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /Gm /GX /Zi /Od /I ".." /D "_DEBUG" /D "PACE_HAS_ALL_POSIX_FUNCS" /D "WIN32" /D "_CONSOLE" /FD /c
-# SUBTRACT BASE CPP /YX
-# ADD CPP /nologo /MDd /W3 /Gm /GX /Zi /Od /I ".." /D "_DEBUG" /D "PACE_HAS_ALL_POSIX_FUNCS" /D "WIN32" /D "_CONSOLE" /FD /c
-# SUBTRACT CPP /YX
-# ADD BASE RSC /l 0x409 /d "_DEBUG"
-# ADD RSC /l 0x409 /d "_DEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 paced.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept /libpath:"../pace/win32"
-# ADD LINK32 pacesd.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept /libpath:"../pace/win32"
-
-!ELSEIF "$(CFG)" == "test_stdio - Win32 Static Release"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "Static_Release"
-# PROP BASE Intermediate_Dir "Static_Release"
-# PROP BASE Ignore_Export_Lib 0
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "Static_Release"
-# PROP Intermediate_Dir "Static_Release"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /GX /O2 /I ".." /D "NDEBUG" /D "WIN32" /D "_CONSOLE" /D "PACE_HAS_ALL_POSIX_FUNCS" /FD /c
-# SUBTRACT BASE CPP /YX
-# ADD CPP /nologo /MD /W3 /GX /O2 /I ".." /D "NDEBUG" /D "WIN32" /D "_CONSOLE" /D "PACE_HAS_ALL_POSIX_FUNCS" /FD /c
-# SUBTRACT CPP /YX
-# ADD BASE RSC /l 0x409 /d "NDEBUG"
-# ADD RSC /l 0x409 /d "NDEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 pace.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386 /libpath:"../pace/win32"
-# ADD LINK32 paces.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386 /libpath:"../pace/win32"
-
-!ENDIF
-
-# Begin Target
-
-# Name "test_stdio - Win32 Release"
-# Name "test_stdio - Win32 Debug"
-# Name "test_stdio - Win32 Static Debug"
-# Name "test_stdio - Win32 Static Release"
-# Begin Group "Source Files"
-
-# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
-# Begin Source File
-
-SOURCE=.\Stdio_Test.c
-# End Source File
-# End Group
-# Begin Group "Header Files"
-
-# PROP Default_Filter "h;hpp;hxx;hm;inl"
-# End Group
-# Begin Group "Resource Files"
-
-# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
-# End Group
-# End Target
-# End Project
diff --git a/PACE/tests/tests.dsw b/PACE/tests/tests.dsw
deleted file mode 100644
index 3b385f17556..00000000000
--- a/PACE/tests/tests.dsw
+++ /dev/null
@@ -1,59 +0,0 @@
-Microsoft Developer Studio Workspace File, Format Version 6.00
-# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
-
-###############################################################################
-
-Project: "PACE DLL"=..\pace\win32\pace_dll.dsp - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
-}}}
-
-###############################################################################
-
-Project: "PACE LIB"=..\pace\win32\pace_lib.dsp - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
-}}}
-
-###############################################################################
-
-Project: "test_stdio"=.\test_stdio.dsp - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
- Begin Project Dependency
- Project_Dep_Name PACE DLL
- End Project Dependency
- Begin Project Dependency
- Project_Dep_Name PACE LIB
- End Project Dependency
-}}}
-
-###############################################################################
-
-Global:
-
-Package=<5>
-{{{
-}}}
-
-Package=<3>
-{{{
-}}}
-
-###############################################################################
-
diff --git a/PACE/tests/vxworks_stub.c b/PACE/tests/vxworks_stub.c
deleted file mode 100644
index 7ec9bf3f884..00000000000
--- a/PACE/tests/vxworks_stub.c
+++ /dev/null
@@ -1,109 +0,0 @@
-/* $Id$ -*- C -*- */
-
-/* ===================================================================== */
-/* */
-/* = FILENAME */
-/* vxworks_stub.c */
-/* */
-/* = DESCRIPTION */
-/* The file includes the special machinations that are needed to */
-/* kick off a C program in VxWorks. Every test run on VxWorks needs */
-/* to have this so it is put into this common file. */
-/* */
-/* = AUTHOR */
-/* Joe Hoffert <joeh@cs.wustl.edu> */
-/* */
-/* ===================================================================== */
-
-# define main post_pace_main
-# include /**/ <usrLib.h> /* for ::sp() */
-# include /**/ "pace/pthread.h"
-
-int post_pace_main();
-
-/* This global function can be used from the VxWorks shell to pass
- * arguments to a C main () function.
- *
- * usage: -> spa main, "arg1", "arg2"
- *
- * All arguments must be quoted, even numbers.
- */
-int
-spa (FUNCPTR entry, ...)
-{
- const unsigned int MAX_ARGS = 10;
- char *argv[MAX_ARGS];
- va_list pvar;
- unsigned int argc;
- int ret;
-
- /* Hardcode a program name because the real one isn't available
- * through the VxWorks shell.
- */
- argv[0] = "pace_main";
-
- /* Peel off arguments to spa () and put into argv. va_arg () isn't
- * necessarily supposed to return 0 when done, though since the
- * VxWorks shell uses a fixed number (10) of arguments, it might 0
- * the unused ones. This function could be used to increase that
- * limit, but then it couldn't depend on the trailing 0. So, the
- * number of arguments would have to be passed.
- */
- va_start (pvar, entry);
-
- for (argc = 1; argc <= MAX_ARGS; ++argc)
- {
- argv[argc] = va_arg (pvar, char *);
-
- if (argv[argc] == 0)
- break;
- }
-
- if (argc > MAX_ARGS && argv[argc-1] != 0)
- {
- /* try to read another arg, and warn user if the limit was exceeded */
- if (va_arg (pvar, char *) != 0)
- pace_fprintf (stderr, "spa(): number of arguments limited to %d\n",
- MAX_ARGS);
- }
- else
- {
- /* fill unused argv slots with 0 to get rid of leftovers
- * from previous invocations
- */
- unsigned int i;
- for (i = argc; i <= MAX_ARGS; ++i)
- argv[i] = 0;
- }
-
- /* The hard-coded options are what ::sp () uses, except for the
- * larger stack size (instead of ::sp ()'s 20000).
- */
- ret = taskSpawn (argv[0], /* task name */
- 100, /* task priority */
- VX_FP_TASK, /* task options */
- PTHREAD_DEFAULT_STACK_SIZE, /* stack size */
- entry, /* entry point */
- argc, /* first argument to main () */
- (int) argv, /* second argument to main () */
- 0, 0, 0, 0, 0, 0, 0, 0);
- va_end (pvar);
-
- /* taskSpawn () returns the taskID on success: return 0 instead if
- * successful
- */
- return ret > 0 ? 0 : ret;
-}
-
-int
-pace_main(int argc, char* argv[])
-{
- /* Setup information for VxWorks emulation */
- if (pacevx_vxworks_init() == ERROR)
- return ERROR;
-
- /* Call the "normal" main function now that we've done
- * our bookkeeping.
- */
- return post_pace_main(argc, argv);
-}
diff --git a/Static_Performance.dsw b/Static_Performance.dsw
deleted file mode 100644
index 8e50198ea15..00000000000
--- a/Static_Performance.dsw
+++ /dev/null
@@ -1,263 +0,0 @@
-Microsoft Developer Studio Workspace File, Format Version 6.00
-# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
-
-###############################################################################
-
-Project: "ACE DLL"=.\ace\ace_dll.dsp - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
-}}}
-
-###############################################################################
-
-Project: "ACE LIB"=.\ace\ace_lib.dsp - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
-}}}
-
-###############################################################################
-
-Project: "IDL_Cubit Client"=".\TAO\performance-tests\Cubit\TAO\IDL_Cubit\client.dsp" - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
-}}}
-
-###############################################################################
-
-Project: "IDL_Cubit Server"=".\TAO\performance-tests\Cubit\TAO\IDL_Cubit\server.dsp" - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
-}}}
-
-###############################################################################
-
-Project: "MT_Cubit Client"=".\TAO\performance-tests\Cubit\TAO\MT_Cubit\client.dsp" - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
-}}}
-
-###############################################################################
-
-Project: "MT_Cubit Server"=".\TAO\performance-tests\Cubit\TAO\MT_Cubit\server.dsp" - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
-}}}
-
-###############################################################################
-
-Project: "TAO DLL"=.\TAO\tao\TAO.dsp - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
-}}}
-
-###############################################################################
-
-Project: "TAO LIB"=.\TAO\tao\TAO_Static.dsp - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
-}}}
-
-###############################################################################
-
-Project: "TAO_IDL Compiler"=.\TAO\TAO_IDL\tao_idl.dsp - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
- Begin Project Dependency
- Project_Dep_Name ACE dynamic library
- End Project Dependency
- Begin Project Dependency
- Project_Dep_Name TAO_IDL_BE_DLL
- End Project Dependency
- Begin Project Dependency
- Project_Dep_Name TAO_IDL_FE_DLL
- End Project Dependency
-}}}
-
-###############################################################################
-
-Project: "TAO_IDL Compiler Static"=.\TAO\TAO_IDL\tao_idl_static.dsp - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
- Begin Project Dependency
- Project_Dep_Name TAO_IDL_BE_LIB
- End Project Dependency
- Begin Project Dependency
- Project_Dep_Name TAO_IDL_FE_LIB
- End Project Dependency
-}}}
-
-###############################################################################
-
-Project: "TAO_IDL_BE_DLL"=.\TAO\TAO_IDL\TAO_IDL_BE_DLL.dsp - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
- Begin Project Dependency
- Project_Dep_Name TAO_IDL_FE_DLL
- End Project Dependency
-}}}
-
-###############################################################################
-
-Project: "TAO_IDL_BE_LIB"=.\TAO\TAO_IDL\TAO_IDL_BE_LIB.dsp - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
- Begin Project Dependency
- Project_Dep_Name TAO_IDL_FE_LIB
- End Project Dependency
-}}}
-
-###############################################################################
-
-Project: "TAO_IDL_FE_DLL"=.\TAO\TAO_IDL\TAO_IDL_FE_DLL.dsp - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
- Begin Project Dependency
- Project_Dep_Name ACE DLL
- End Project Dependency
- Begin Project Dependency
- Project_Dep_Name gperf
- End Project Dependency
- Begin Project Dependency
- Project_Dep_Name gperf_lib
- End Project Dependency
-}}}
-
-###############################################################################
-
-Project: "TAO_IDL_FE_LIB"=.\TAO\TAO_IDL\TAO_IDL_FE_LIB.dsp - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
- Begin Project Dependency
- Project_Dep_Name ACE LIB
- End Project Dependency
- Begin Project Dependency
- Project_Dep_Name gperf
- End Project Dependency
- Begin Project Dependency
- Project_Dep_Name gperf_lib
- End Project Dependency
-}}}
-
-###############################################################################
-
-Project: "basic_perf"=".\performance-tests\Misc\basic_perf.dsp" - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
-}}}
-
-###############################################################################
-
-Project: "context_switch_time"=".\performance-tests\Misc\context_switch_time.dsp" - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
-}}}
-
-###############################################################################
-
-Project: "gperf"=.\apps\gperf\src\gperf.dsp - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
- Begin Project Dependency
- Project_Dep_Name ACE dynamic library
- End Project Dependency
-}}}
-
-###############################################################################
-
-Global:
-
-Package=<5>
-{{{
-}}}
-
-Package=<3>
-{{{
-}}}
-
-###############################################################################
-
diff --git a/TAO/CIAO/CCF/CCF/CCF.sln b/TAO/CIAO/CCF/CCF/CCF.sln
deleted file mode 100644
index 2cd44b64537..00000000000
--- a/TAO/CIAO/CCF/CCF/CCF.sln
+++ /dev/null
@@ -1,45 +0,0 @@
-Microsoft Visual Studio Solution File, Format Version 8.00
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "IDL2", "IDL2\IDL2.vcproj", "{BC4A74B6-EBE7-486D-A537-B4217AE7304E}"
- ProjectSection(ProjectDependencies) = postProject
- EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "IDL3", "IDL3\IDL3.vcproj", "{97D61986-05D8-4B2A-B8B2-5095E58909FE}"
- ProjectSection(ProjectDependencies) = postProject
- EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "CIDL", "CIDL\CIDL.vcproj", "{39A4243B-8D97-4C1A-BC6B-C49FE4D48D4D}"
- ProjectSection(ProjectDependencies) = postProject
- EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "CodeGenerationKit", "CodeGenerationKit\CodeGenerationKit.vcproj", "{93C22389-AD2D-45CD-98C6-D9C5D6679B09}"
- ProjectSection(ProjectDependencies) = postProject
- EndProjectSection
-EndProject
-Global
- GlobalSection(SolutionConfiguration) = preSolution
- Debug = Debug
- Release = Release
- EndGlobalSection
- GlobalSection(ProjectConfiguration) = postSolution
- {BC4A74B6-EBE7-486D-A537-B4217AE7304E}.Debug.ActiveCfg = Debug|Win32
- {BC4A74B6-EBE7-486D-A537-B4217AE7304E}.Debug.Build.0 = Debug|Win32
- {BC4A74B6-EBE7-486D-A537-B4217AE7304E}.Release.ActiveCfg = Release|Win32
- {BC4A74B6-EBE7-486D-A537-B4217AE7304E}.Release.Build.0 = Release|Win32
- {97D61986-05D8-4B2A-B8B2-5095E58909FE}.Debug.ActiveCfg = Debug|Win32
- {97D61986-05D8-4B2A-B8B2-5095E58909FE}.Debug.Build.0 = Debug|Win32
- {97D61986-05D8-4B2A-B8B2-5095E58909FE}.Release.ActiveCfg = Release|Win32
- {97D61986-05D8-4B2A-B8B2-5095E58909FE}.Release.Build.0 = Release|Win32
- {39A4243B-8D97-4C1A-BC6B-C49FE4D48D4D}.Debug.ActiveCfg = Debug|Win32
- {39A4243B-8D97-4C1A-BC6B-C49FE4D48D4D}.Debug.Build.0 = Debug|Win32
- {39A4243B-8D97-4C1A-BC6B-C49FE4D48D4D}.Release.ActiveCfg = Release|Win32
- {39A4243B-8D97-4C1A-BC6B-C49FE4D48D4D}.Release.Build.0 = Release|Win32
- {93C22389-AD2D-45CD-98C6-D9C5D6679B09}.Debug.ActiveCfg = Debug|Win32
- {93C22389-AD2D-45CD-98C6-D9C5D6679B09}.Debug.Build.0 = Debug|Win32
- {93C22389-AD2D-45CD-98C6-D9C5D6679B09}.Release.ActiveCfg = Release|Win32
- {93C22389-AD2D-45CD-98C6-D9C5D6679B09}.Release.Build.0 = Release|Win32
- EndGlobalSection
- GlobalSection(ExtensibilityGlobals) = postSolution
- EndGlobalSection
- GlobalSection(ExtensibilityAddIns) = postSolution
- EndGlobalSection
-EndGlobal
diff --git a/TAO/CIAO/CCF/CCF/CIDL/CIDL.cpp b/TAO/CIAO/CCF/CCF/CIDL/CIDL.cpp
deleted file mode 100644
index cfa1da318d3..00000000000
--- a/TAO/CIAO/CCF/CCF/CIDL/CIDL.cpp
+++ /dev/null
@@ -1 +0,0 @@
-// $Id$
diff --git a/TAO/CIAO/CCF/CCF/CIDL/CIDL.vcproj b/TAO/CIAO/CCF/CCF/CIDL/CIDL.vcproj
deleted file mode 100644
index f658c5476fc..00000000000
--- a/TAO/CIAO/CCF/CCF/CIDL/CIDL.vcproj
+++ /dev/null
@@ -1,150 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="7.10"
- Name="CIDL"
- ProjectGUID="{39A4243B-8D97-4C1A-BC6B-C49FE4D48D4D}"
- Keyword="Win32Proj">
- <Platforms>
- <Platform
- Name="Win32"/>
- </Platforms>
- <Configurations>
- <Configuration
- Name="Debug|Win32"
- OutputDirectory="$(ProjectDir)"
- IntermediateDirectory="Debug"
- ConfigurationType="4"
- CharacterSet="2">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories="../..;../../External/Utility"
- PreprocessorDefinitions="WIN32;_DEBUG;_LIB"
- MinimalRebuild="TRUE"
- BasicRuntimeChecks="3"
- RuntimeLibrary="5"
- ForceConformanceInForLoopScope="TRUE"
- RuntimeTypeInfo="TRUE"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="TRUE"
- DebugInformationFormat="4"/>
- <Tool
- Name="VCCustomBuildTool"/>
- <Tool
- Name="VCLibrarianTool"
- OutputFile="$(OutDir)/CIDL.lib"/>
- <Tool
- Name="VCMIDLTool"/>
- <Tool
- Name="VCPostBuildEventTool"/>
- <Tool
- Name="VCPreBuildEventTool"/>
- <Tool
- Name="VCPreLinkEventTool"/>
- <Tool
- Name="VCResourceCompilerTool"/>
- <Tool
- Name="VCWebServiceProxyGeneratorTool"/>
- <Tool
- Name="VCXMLDataGeneratorTool"/>
- <Tool
- Name="VCManagedWrapperGeneratorTool"/>
- <Tool
- Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
- </Configuration>
- <Configuration
- Name="Release|Win32"
- OutputDirectory="Release"
- IntermediateDirectory="Release"
- ConfigurationType="4"
- CharacterSet="2">
- <Tool
- Name="VCCLCompilerTool"
- PreprocessorDefinitions="WIN32;NDEBUG;_LIB"
- RuntimeLibrary="4"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="TRUE"
- DebugInformationFormat="3"/>
- <Tool
- Name="VCCustomBuildTool"/>
- <Tool
- Name="VCLibrarianTool"
- OutputFile="$(OutDir)/CIDL.lib"/>
- <Tool
- Name="VCMIDLTool"/>
- <Tool
- Name="VCPostBuildEventTool"/>
- <Tool
- Name="VCPreBuildEventTool"/>
- <Tool
- Name="VCPreLinkEventTool"/>
- <Tool
- Name="VCResourceCompilerTool"/>
- <Tool
- Name="VCWebServiceProxyGeneratorTool"/>
- <Tool
- Name="VCXMLDataGeneratorTool"/>
- <Tool
- Name="VCManagedWrapperGeneratorTool"/>
- <Tool
- Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
- </Configuration>
- </Configurations>
- <References>
- </References>
- <Files>
- <Filter
- Name="Source Files"
- Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx"
- UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}">
- <File
- RelativePath=".\CIDL_SyntaxTree.cpp">
- </File>
- <File
- RelativePath=".\CIDL_Traversal.cpp">
- </File>
- </Filter>
- <Filter
- Name="Header Files"
- Filter="h;hpp;hxx;hm;inl;inc;xsd"
- UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}">
- <File
- RelativePath=".\CIDL_LexicalAnalyzer.hpp">
- </File>
- <File
- RelativePath=".\CIDL_Parser.hpp">
- </File>
- <File
- RelativePath=".\CIDL_SemanticAction.hpp">
- </File>
- <File
- RelativePath=".\CIDL_SemanticActionImpl.hpp">
- </File>
- <File
- RelativePath=".\CIDL_SyntaxTree.hpp">
- </File>
- <File
- RelativePath=".\CIDL_SyntaxTreeFwd.hpp">
- </File>
- <File
- RelativePath=".\CIDL_Traversal.hpp">
- </File>
- <File
- RelativePath=".\MSVC_Pragmas.hpp">
- </File>
- </Filter>
- <Filter
- Name="Resource Files"
- Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx"
- UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}">
- </Filter>
- <File
- RelativePath=".\ReadMe.txt">
- </File>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>
diff --git a/TAO/CIAO/CCF/CCF/CIDL/CIDL_LexicalAnalyzer.hpp b/TAO/CIAO/CCF/CCF/CIDL/CIDL_LexicalAnalyzer.hpp
deleted file mode 100644
index 9d2570d9c84..00000000000
--- a/TAO/CIAO/CCF/CCF/CIDL/CIDL_LexicalAnalyzer.hpp
+++ /dev/null
@@ -1,57 +0,0 @@
-// $Id$
-#ifndef CCF_CIDL_LEXICAL_ANALYZER_HPP
-#define CCF_CIDL_LEXICAL_ANALYZER_HPP
-
-#include "MSVC_Pragmas.hpp"
-
-#include "CCF/IDL3/IDL3_LexicalAnalyzer.hpp"
-
-#include <string>
-
-namespace CIDL
-{
- class LexicalAnalyzer : public virtual IDL3::LexicalAnalyzer
- {
- public:
- virtual
- ~LexicalAnalyzer () throw () {}
-
- public:
-
- // Keywords (alphabetic order).
-
- KeywordPtr composition;
- KeywordPtr entity;
- KeywordPtr executor;
- KeywordPtr implements;
- KeywordPtr process;
- KeywordPtr service;
- KeywordPtr session;
-
-
-
- LexicalAnalyzer (CCF::TokenStream<char>& is)
- : IDL2::LexicalAnalyzer (is),
- IDL3::LexicalAnalyzer (is),
-
- composition (new Keyword),
- entity (new Keyword),
- executor (new Keyword),
- implements (new Keyword),
- process (new Keyword),
- service (new Keyword),
- session (new Keyword)
- {
-
- keyword_table_["composition"] = composition;
- keyword_table_["entity" ] = entity;
- keyword_table_["executor" ] = executor;
- keyword_table_["implements" ] = implements;
- keyword_table_["process" ] = process;
- keyword_table_["service" ] = service;
- keyword_table_["session" ] = session;
- }
- };
-}
-
-#endif // CCF_CIDL_LEXICAL_ANALYZER_HPP
diff --git a/TAO/CIAO/CCF/CCF/CIDL/CIDL_Parser.hpp b/TAO/CIAO/CCF/CCF/CIDL/CIDL_Parser.hpp
deleted file mode 100644
index cd1bee26496..00000000000
--- a/TAO/CIAO/CCF/CCF/CIDL/CIDL_Parser.hpp
+++ /dev/null
@@ -1,202 +0,0 @@
-// $Id$
-#ifndef CCF_CIDL_PARSER_HPP
-#define CCF_CIDL_PARSER_HPP
-
-#include "MSVC_Pragmas.hpp"
-
-#include "CCF/IDL3/IDL3_Parser.hpp"
-#include "CCF/CIDL/CIDL_LexicalAnalyzer.hpp"
-#include "CCF/CIDL/CIDL_SemanticAction.hpp"
-
-namespace CIDL
-{
- class Parser : public virtual IDL3::Parser
- {
- public:
- virtual
- ~Parser () throw () {}
-
- protected:
-
- //
- // Semanic action types
- //
- typedef
- SemanticAction::Composition
- Composition;
-
- typedef
- SemanticAction::HomeExecutor
- HomeExecutor;
-
- protected:
- LexicalAnalyzer const& lexer_;
- SemanticActionFactory& actions_;
-
- //
- // Primitives (alphabetic order).
- //
-
- KeywordParser COMPOSITION;
- KeywordParser ENTITY;
- KeywordParser EXECUTOR;
- KeywordParser IMPLEMENTS;
- KeywordParser PROCESS;
- KeywordParser SERVICE;
- KeywordParser SESSION;
-
- //
- // Language
- //
-
- Rule extension;
-
- // Composition
- Rule composition_decl;
- Rule composition_header;
- Rule composition_category;
-
- // Home executor
- Rule home_executor_decl;
- Rule home_executor_header;
- Rule home_executor_body;
- Rule home_executor_home_impl_decl;
- Rule home_executor_executor_decl;
-
- public:
-
- Parser (LexicalAnalyzer const& l, SemanticActionFactory& f)
- : IDL2::Parser (l, f),
- IDL3::Parser (l, f),
- lexer_ (l),
- actions_ (f),
-
- COMPOSITION (l.composition),
- ENTITY (l.entity),
- EXECUTOR (l.executor),
- IMPLEMENTS (l.implements),
- PROCESS (l.process),
- SERVICE (l.service),
- SESSION (l.session),
-
- act_composition_begin (this, &Parser::act_composition_begin_core),
- act_composition_open_scope (f.composition (), &Scope::open_scope),
- act_composition_close_scope (f.composition (), &Scope::close_scope),
- act_composition_end (f.composition (), &Composition::end),
-
- act_home_executor_begin (f.home_executor (),
- &HomeExecutor::begin),
- act_home_executor_open_scope (f.home_executor (),
- &Scope::open_scope),
- act_home_executor_implements (f.home_executor (),
- &HomeExecutor::implements),
- act_home_executor_manages (f.home_executor (),
- &HomeExecutor::manages),
- act_home_executor_close_scope (f.home_executor (),
- &Scope::open_scope),
- act_home_executor_end (f.home_executor (),
- &HomeExecutor::end)
-
- {
- IDL3::Parser::extension =
- composition_decl
- | extension
- ;
-
- //
- // Composition
- //
- composition_decl =
- composition_header
- >> LBRACE[act_composition_open_scope]
- >> home_executor_decl
- >> RBRACE[act_composition_close_scope]
- >> SEMI[act_composition_end]
- ;
-
- composition_header =
- COMPOSITION
- >> (composition_category >> simple_identifier)[act_composition_begin]
- ;
-
- composition_category =
- ENTITY
- | PROCESS
- | SERVICE
- | SESSION
- ;
-
- //
- // Home executor
- //
- home_executor_decl =
- home_executor_header
- >> LBRACE[act_home_executor_open_scope]
- >> home_executor_home_impl_decl
- >> home_executor_executor_decl
- >> RBRACE[act_home_executor_close_scope]
- >> SEMI[act_home_executor_end]
- ;
-
- home_executor_header =
- HOME
- >> EXECUTOR
- >> simple_identifier[act_home_executor_begin]
- ;
-
- home_executor_home_impl_decl =
- IMPLEMENTS
- >> identifier[act_home_executor_implements]
- >> SEMI
- ;
-
- home_executor_executor_decl =
- MANAGES
- >> simple_identifier[act_home_executor_manages]
- >> SEMI
- ;
- }
-
- protected:
- void
- act_composition_begin_core (Iterator begin, Iterator end) const
- {
- Composition::Category::Value c;
-
- if(identical (lexer_.entity, *begin))
- {
- c = Composition::Category::ENTITY;
- }
- else if (identical (lexer_.process, *begin))
- {
- c = Composition::Category::PROCESS;
- }
- else if (identical (lexer_.service, *begin))
- {
- c = Composition::Category::SERVICE;
- }
- else
- {
- c = Composition::Category::SESSION;
- }
-
- begin++;
-
- actions_.composition ().begin (typical<SimpleIdentifierPtr>(*begin), c);
- }
-
- ActionExecutor<Parser> act_composition_begin;
- ScopeAction act_composition_open_scope;
- ScopeAction act_composition_close_scope;
- NoArgAction<Composition> act_composition_end;
-
- OneArgAction<SimpleIdentifierPtr, HomeExecutor> act_home_executor_begin;
- ScopeAction act_home_executor_open_scope;
- OneArgAction<IdentifierPtr, HomeExecutor> act_home_executor_implements;
- OneArgAction<SimpleIdentifierPtr, HomeExecutor> act_home_executor_manages;
- ScopeAction act_home_executor_close_scope;
- NoArgAction<HomeExecutor> act_home_executor_end;
- };
-}
-
-#endif // CCF_CIDL_PARSER_HPP
diff --git a/TAO/CIAO/CCF/CCF/CIDL/CIDL_SemanticAction.hpp b/TAO/CIAO/CCF/CCF/CIDL/CIDL_SemanticAction.hpp
deleted file mode 100644
index 714a6fa2722..00000000000
--- a/TAO/CIAO/CCF/CCF/CIDL/CIDL_SemanticAction.hpp
+++ /dev/null
@@ -1,74 +0,0 @@
-// $Id$
-#ifndef CCF_CIDL_SEMANTIC_ACTION_HPP
-#define CCF_CIDL_SEMANTIC_ACTION_HPP
-
-#include "MSVC_Pragmas.hpp"
-
-#include "CCF/IDL3/IDL3_SemanticAction.hpp"
-
-namespace CIDL
-{
- namespace SemanticAction
- {
- using namespace IDL3::SemanticAction;
-
- class Composition : public virtual Scope
- {
- public:
- struct Category
- {
- enum Value
- {
- ENTITY,
- PROCESS,
- SERVICE,
- SESSION
- };
-
- friend std::ostream&
- operator<< (std::ostream& o, Value v)
- {
- if (v == ENTITY) o << "entity";
- else if (v == PROCESS) o << "process";
- else if (v == SERVICE) o << "service";
- else o << "session";
- return o;
- }
- };
-
- virtual void
- begin (SimpleIdentifierPtr const& id, Category::Value category) = 0;
-
- virtual void
- end () = 0;
- };
-
- class HomeExecutor : public virtual Scope
- {
- public:
- virtual void
- begin (SimpleIdentifierPtr const& id) = 0;
-
- virtual void
- implements (IdentifierPtr const& id) = 0;
-
- virtual void
- manages (SimpleIdentifierPtr const& id) = 0;
-
- virtual void
- end () = 0;
- };
- }
-
- class SemanticActionFactory : public virtual IDL3::SemanticActionFactory
- {
- public:
- virtual SemanticAction::Composition&
- composition () = 0;
-
- virtual SemanticAction::HomeExecutor&
- home_executor () = 0;
- };
-}
-
-#endif // CCF_CIDL_SEMANTIC_ACTION_HPP
diff --git a/TAO/CIAO/CCF/CCF/CIDL/CIDL_SemanticActionImpl.hpp b/TAO/CIAO/CCF/CCF/CIDL/CIDL_SemanticActionImpl.hpp
deleted file mode 100644
index 17a809784a7..00000000000
--- a/TAO/CIAO/CCF/CCF/CIDL/CIDL_SemanticActionImpl.hpp
+++ /dev/null
@@ -1,251 +0,0 @@
-// $Id$
-#ifndef CCF_CIDL_SEMANTIC_ACTION_IMPL_HPP
-#define CCF_CIDL_SEMANTIC_ACTION_IMPL_HPP
-
-#include "MSVC_Pragmas.hpp"
-
-#include "CCF/CIDL/CIDL_SyntaxTree.hpp"
-#include "CCF/CIDL/CIDL_SemanticAction.hpp"
-#include "CCF/IDL3/IDL3_SemanticActionImpl.hpp"
-
-namespace CIDL
-{
- namespace SemanticAction
- {
- namespace Impl
- {
- using IDL2::SemanticAction::Impl::ScopeBase;
-
- class Composition : public virtual SemanticAction::Composition,
- public virtual ScopeBase<SyntaxTree::CompositionPtr>
- {
- public:
- virtual
- ~Composition () throw () {}
-
- Composition (SyntaxTree::ScopePtr& scope)
- : ScopeBase<SyntaxTree::CompositionPtr> (scope)
- {
- }
-
- virtual void
- begin (SimpleIdentifierPtr const& id, Category::Value c)
- {
- cerr << "composition " << c << " " << id << endl;
-
- SyntaxTree::SimpleName name (id->value ());
-
- SyntaxTree::Composition::Category::Value category =
- SyntaxTree::Composition::Category::SESSION;
-
- if (c == Category::ENTITY)
- {
- category = SyntaxTree::Composition::Category::ENTITY;
- }
- else if (c == Category::PROCESS)
- {
- category = SyntaxTree::Composition::Category::PROCESS;
- }
- else if (c == Category::SERVICE)
- {
- category = SyntaxTree::Composition::Category::SERVICE;
- }
-
- SyntaxTree::CompositionPtr cp (
- new SyntaxTree::Composition (name, category, scope_));
-
- scope_->insert (cp);
- push (cp);
- }
-
- virtual void
- open_scope ()
- {
- scope_ = top ();
- }
-
- virtual void
- close_scope ()
- {
- scope_ = scope_->scope ();
- }
-
- virtual void
- end ()
- {
- pop ();
- cerr << "end" << endl;
- }
- };
-
- class HomeExecutor :
- public virtual SemanticAction::HomeExecutor,
- public virtual ScopeBase<SyntaxTree::HomeExecutorPtr>
- {
- public:
- virtual
- ~HomeExecutor () throw () {}
-
- HomeExecutor (SyntaxTree::ScopePtr& scope)
- : ScopeBase<SyntaxTree::HomeExecutorPtr> (scope),
- name_ (""),
- implements_ (""),
- manages_ ("")
-
- {
- }
-
- virtual void
- begin (SimpleIdentifierPtr const& id)
- {
- cerr << "home executor " << id << endl;
- name_ = SyntaxTree::SimpleName (id->value ());
- }
-
- virtual void
- open_scope ()
- {
- // Note: nothing is expected to go to home executor scope
- // so watch for grammar changes.
- }
-
- virtual void
- implements (IdentifierPtr const& id)
- {
- cerr << "implements " << id << endl;
-
- using namespace SyntaxTree;
-
- Name name (id->value ());
-
- struct ImplementsPredicate :
- public DeclarationTable::ResolvePredicate
- {
- struct IncompatibleType :
- public DeclarationTable::ResolutionFailure
- {
- IncompatibleType (std::string const& t) : type (t) {}
- std::string type;
- };
-
- virtual bool
- test (DeclarationPtr const& d)
- throw (IncompatibleType)
- {
- std::string type = d->declaration_type ();
-
- if (type != "home") throw IncompatibleType (type);
-
- return strict_cast<TypeDecl> (d)->defined ();
- }
- } p;
-
- try
- {
- ScopedName sn = scope_->table ().resolve (
- name,
- scope_->name (),
- scope_->peek_order (),
- p);
-
- implements_ = sn;
- }
- catch (ImplementsPredicate::IncompatibleType const& e)
- {
- cerr << "error: invalid implements specification" << endl;
-
- cerr << "specifying " << e.type << " \'" << name
- << "\' in home executor implements clause is illegal"
- << endl;
- }
- catch (DeclarationTable::NameNotFound const&)
- {
- cerr << "error: invalid implements specification" << endl;
- cerr << "no home with name \'"
- << name << "\' visible from scope \'"
- << scope_->name () << "\'" << endl;
- }
- catch (DeclarationTable::PredicateNotMet const&)
- {
- cerr << "error: invalid implements specification" << endl;
- cerr << "no defined home with name \'"
- << name << "\' visible from scope \'"
- << scope_->name () << "\'" << endl;
- cerr << "implementing forward-declared home is illegal"
- << endl;
- }
-
- }
-
- virtual void
- manages (SimpleIdentifierPtr const& id)
- {
- cerr << "manages " << id << endl;
- manages_ = SyntaxTree::SimpleName (id->value ());
- }
-
- virtual void
- close_scope ()
- {
- // Note: nothing is expected to go to home executor scope
- // so watch for grammar changes.
- }
-
- virtual void
- end ()
- {
- cerr << "end" << endl;
-
- using namespace SyntaxTree;
-
- HomeExecutorPtr he (new SyntaxTree::HomeExecutor (
- name_,
- scope_,
- implements_,
- manages_));
- scope_->insert (he);
- }
- private:
- SyntaxTree::SimpleName name_;
- SyntaxTree::ScopedName implements_;
- SyntaxTree::SimpleName manages_;
- };
- }
- }
-
- //@@ Maybe I should bring this class back in to Impl namespace.
- class SemanticActionFactoryImpl :
- public virtual CIDL::SemanticActionFactory,
- public virtual IDL3::SemanticActionFactoryImpl
- {
- public:
- virtual
- ~SemanticActionFactoryImpl () throw () {}
-
- SemanticActionFactoryImpl (SyntaxTree::TranslationRegionPtr const& r)
- : IDL2::SemanticActionFactoryImpl (r),
- IDL3::SemanticActionFactoryImpl (r),
- composition_ (scope_),
- home_executor_ (scope_)
- {
- }
- public:
- virtual SemanticAction::Composition&
- composition ()
- {
- return composition_;
- }
-
- virtual SemanticAction::HomeExecutor&
- home_executor ()
- {
- return home_executor_;
- }
-
- private:
- SemanticAction::Impl::Composition composition_;
- SemanticAction::Impl::HomeExecutor home_executor_;
- };
-}
-
-#endif // CCF_CIDL_SEMANTIC_ACTION_IMPL_HPP
diff --git a/TAO/CIAO/CCF/CCF/CIDL/CIDL_SyntaxTree.cpp b/TAO/CIAO/CCF/CCF/CIDL/CIDL_SyntaxTree.cpp
deleted file mode 100644
index 577b426e73c..00000000000
--- a/TAO/CIAO/CCF/CCF/CIDL/CIDL_SyntaxTree.cpp
+++ /dev/null
@@ -1,61 +0,0 @@
-// $Id$
-#include "CIDL_Traversal.hpp"
-#include "CIDL_SyntaxTree.hpp"
-
-namespace CIDL
-{
- namespace SyntaxTree
- {
- using CCF::Traversal::try_visit;
-
- namespace
- {
- //@@ repetition of what's already in IDL2 & IDL3
- bool
- try_visit_scope (CCF::Traversal::Visitor* v,
- ScopePtr const& node)
- {
- return try_visit<Traversal::Scope> (
- &Traversal::Scope::visit_scope,
- v,
- node);
- }
- }
-
- //
- // Composition
- //
-
- void Composition::
- accept (CCF::Traversal::Visitor* v)
- {
- CompositionPtr self (ReferenceCounting::add_ref (this));
-
- if (!try_visit<Traversal::Composition> (
- &Traversal::Composition::visit_composition,
- v,
- self))
- {
- try_visit_scope (v, self);
- }
- }
-
- //
- // Home
- //
-
- void HomeExecutor::
- accept (CCF::Traversal::Visitor* v)
- {
- HomeExecutorPtr self (ReferenceCounting::add_ref (this));
-
- if (!try_visit<Traversal::HomeExecutor> (
- &Traversal::HomeExecutor::visit_home_executor,
- v,
- self))
- {
- try_visit_scope (v, self);
- }
- }
- }
-}
diff --git a/TAO/CIAO/CCF/CCF/CIDL/CIDL_SyntaxTree.hpp b/TAO/CIAO/CCF/CCF/CIDL/CIDL_SyntaxTree.hpp
deleted file mode 100644
index 6b1e9df4f66..00000000000
--- a/TAO/CIAO/CCF/CCF/CIDL/CIDL_SyntaxTree.hpp
+++ /dev/null
@@ -1,141 +0,0 @@
-// $Id$
-#ifndef CCF_CIDL_SYNTAX_TREE_HPP
-#define CCF_CIDL_SYNTAX_TREE_HPP
-
-#include "MSVC_Pragmas.hpp"
-
-#include "CCF/IDL3/IDL3_SyntaxTree.hpp"
-
-namespace CIDL
-{
- namespace SyntaxTree
- {
-
- // Import all nodes of IDL3
- using namespace IDL3::SyntaxTree;
-
-
- class Composition : public virtual Scope
- {
- public:
- struct Category
- {
- enum Value
- {
- ENTITY,
- PROCESS,
- SERVICE,
- SESSION
- };
-
- friend std::ostream&
- operator<< (std::ostream& o, Value v)
- {
- if (v == ENTITY) o << "entity";
- else if (v == PROCESS) o << "process";
- else if (v == SERVICE) o << "service";
- else o << "session";
- return o;
- }
- };
-
- public:
- virtual
- ~Composition () throw () {}
-
- Composition (SimpleName const& name,
- Category::Value category,
- ScopePtr const& scope)
- : Declaration (name, scope),
- Scope (name, scope),
- category_ (category)
- {
- }
-
- public:
- Category::Value
- category () const
- {
- return category_;
- }
-
- // Runtime declaration type information
- public:
- virtual std::string
- declaration_type ()
- {
- return "composition";
- }
-
- // Traversal
- public:
- virtual void
- accept (CCF::Traversal::Visitor* v);
-
- private:
- Category::Value category_;
- };
-
- typedef
- StrictPtr<Composition>
- CompositionPtr;
-
- typedef
- DeclarationOrderComparator<CompositionPtr>
- CompositionOrderComparator;
-
- class HomeExecutor : public virtual Scope
- {
- public:
- virtual
- ~HomeExecutor () throw () {}
-
- HomeExecutor (SimpleName const& name,
- ScopePtr const& scope,
- ScopedName implements,
- SimpleName manages)
- : Declaration (name, scope),
- Scope (name, scope),
- implements_ (scope->table (), implements),
- manages_ (manages)
- {
- }
-
- public:
- HomeDefPtr
- implements () const
- {
- return implements_.resolve ();
- }
-
- SimpleName
- manages () const
- {
- return manages_;
- }
-
- // Runtime declaration type information
- public:
- virtual std::string
- declaration_type ()
- {
- return "home executor";
- }
-
- // Traversal
- public:
- virtual void
- accept (CCF::Traversal::Visitor* v);
-
- private:
- HomeDefRef implements_;
- SimpleName manages_;
- };
-
- typedef
- StrictPtr<HomeExecutor>
- HomeExecutorPtr;
- }
-}
-
-#endif // CCF_CIDL_SYNTAX_TREE_HPP
diff --git a/TAO/CIAO/CCF/CCF/CIDL/CIDL_SyntaxTreeFwd.hpp b/TAO/CIAO/CCF/CCF/CIDL/CIDL_SyntaxTreeFwd.hpp
deleted file mode 100644
index 80229bb5722..00000000000
--- a/TAO/CIAO/CCF/CCF/CIDL/CIDL_SyntaxTreeFwd.hpp
+++ /dev/null
@@ -1,29 +0,0 @@
-// $Id$
-#ifndef CCF_CIDL_SYNTAX_TREE_FWD_HPP
-#define CCF_CIDL_SYNTAX_TREE_FWD_HPP
-
-#include "MSVC_Pragmas.hpp"
-
-#include "CCF/IDL3/IDL3_SyntaxTreeFwd.hpp"
-
-namespace CIDL
-{
- namespace SyntaxTree
- {
-
- // Import all nodes of IDL3
- using namespace IDL3::SyntaxTree;
-
- class Composition;
- typedef
- StrictPtr<Composition>
- CompositionPtr;
-
- class HomeExecutor;
- typedef
- StrictPtr<HomeExecutor>
- HomeExecutorPtr;
- }
-}
-
-#endif // CCF_CIDL_SYNTAX_TREE_FWD_HPP
diff --git a/TAO/CIAO/CCF/CCF/CIDL/CIDL_Traversal.cpp b/TAO/CIAO/CCF/CCF/CIDL/CIDL_Traversal.cpp
deleted file mode 100644
index 22c635605f0..00000000000
--- a/TAO/CIAO/CCF/CCF/CIDL/CIDL_Traversal.cpp
+++ /dev/null
@@ -1,79 +0,0 @@
-// $Id$
-#include "CIDL_Traversal.hpp"
-#include "CIDL_SyntaxTree.hpp"
-
-namespace CIDL
-{
- namespace Traversal
- {
- namespace
- {
- //@@ code duplication
- void
- iterate_scope (SyntaxTree::ScopePtr const& s,
- CCF::Traversal::Visitor* v)
- {
- for (SyntaxTree::Scope::Iterator i = s->begin (); i != s->end (); i++)
- {
- (*i)->accept (v);
- }
- }
- }
-
- //
- // Composition
- //
-
- void Composition::
- visit_composition (NodePtr const& c)
- {
- visit_composition_pre (c);
- visit_composition_scope (c);
- visit_composition_post (c);
- }
-
- void Composition::
- visit_composition_pre (NodePtr const&)
- {
- }
-
- void Composition::
- visit_composition_scope (NodePtr const& c)
- {
- iterate_scope (c, this);
- }
-
- void Composition::
- visit_composition_post (NodePtr const&)
- {
- }
-
- //
- // HomeExecutor
- //
-
- void HomeExecutor::
- visit_home_executor (NodePtr const& he)
- {
- visit_home_executor_pre (he);
- visit_home_executor_scope (he);
- visit_home_executor_post (he);
- }
-
- void HomeExecutor::
- visit_home_executor_pre (NodePtr const&)
- {
- }
-
- void HomeExecutor::
- visit_home_executor_scope (NodePtr const& he)
- {
- iterate_scope (he, this);
- }
-
- void HomeExecutor::
- visit_home_executor_post (NodePtr const&)
- {
- }
- }
-}
diff --git a/TAO/CIAO/CCF/CCF/CIDL/CIDL_Traversal.hpp b/TAO/CIAO/CCF/CCF/CIDL/CIDL_Traversal.hpp
deleted file mode 100644
index c562ecd4d42..00000000000
--- a/TAO/CIAO/CCF/CCF/CIDL/CIDL_Traversal.hpp
+++ /dev/null
@@ -1,50 +0,0 @@
-// $Id$
-#ifndef CCF_CIDL_TRAVERSAL_HPP
-#define CCF_CIDL_TRAVERSAL_HPP
-
-#include "MSVC_Pragmas.hpp"
-
-#include "CCF/IDL3/IDL3_Traversal.hpp"
-#include "CCF/CIDL/CIDL_SyntaxTreeFwd.hpp"
-
-namespace CIDL
-{
- namespace Traversal
- {
- // Import visitors from IDL3
- using namespace IDL3::Traversal;
-
- //
- // Composition
- //
- struct Composition : virtual CCF::Traversal::Visitor
- {
- typedef
- SyntaxTree::CompositionPtr
- NodePtr;
-
- virtual void visit_composition (NodePtr const& c);
- virtual void visit_composition_pre (NodePtr const& c);
- virtual void visit_composition_scope (NodePtr const& c);
- virtual void visit_composition_post (NodePtr const& c);
- };
-
- //
- // HomeExecutor
- //
- struct HomeExecutor : virtual CCF::Traversal::Visitor
- {
- typedef
- SyntaxTree::HomeExecutorPtr
- NodePtr;
-
- virtual void visit_home_executor (NodePtr const& he);
- virtual void visit_home_executor_pre (NodePtr const& he);
- virtual void visit_home_executor_scope (NodePtr const& he);
- virtual void visit_home_executor_post (NodePtr const& he);
-
- };
- }
-}
-
-#endif // CCF_CIDL_TRAVERSAL_HPP
diff --git a/TAO/CIAO/CCF/CCF/CIDL/MSVC_Pragmas.hpp b/TAO/CIAO/CCF/CCF/CIDL/MSVC_Pragmas.hpp
deleted file mode 100644
index 724b5b52646..00000000000
--- a/TAO/CIAO/CCF/CCF/CIDL/MSVC_Pragmas.hpp
+++ /dev/null
@@ -1,16 +0,0 @@
-// $Id$
-#ifndef MSVC_PRAGMAS_HPP
-#define MSVC_PRAGMAS_HPP
-
-
-// Various warnings that have to be disabled for MSVC.
-
-// 'this' : used in base member initializer list
-#pragma warning(disable:4355)
-// 'class1' : inherits 'class2::member' via dominance
-#pragma warning(disable:4250)
-// C++ Exception Specification ignored
-#pragma warning(disable:4290)
-
-
-#endif /* MSVC_PRAGMAS_HPP */ \ No newline at end of file
diff --git a/TAO/CIAO/CCF/CCF/CIDL/Makefile b/TAO/CIAO/CCF/CCF/CIDL/Makefile
deleted file mode 100644
index 8df971662da..00000000000
--- a/TAO/CIAO/CCF/CCF/CIDL/Makefile
+++ /dev/null
@@ -1,21 +0,0 @@
-# File : Makefile
-# Author : Boris Kolpackov <boris@kolpackov.net>
-# $Id$
-
-root = ../../External/Utility
-
-include $(root)/Config/Archive.pre.rules
-
-cxx_translation_units := CIDL.cpp \
- CIDL_SyntaxTree.cpp \
- CIDL_Traversal.cpp
-
-module_base := CIDL
-module_prefix :=
-module_suffix :=
-
-CXX_PREPROCESS_FLAGS += -I../.. \
- -I../../External/Utility \
- -I../../External/boost \
-
-include $(root)/Config/Archive.post.rules
diff --git a/TAO/CIAO/CCF/CCF/CodeGenerationKit/CodeGenerationKit.cpp b/TAO/CIAO/CCF/CCF/CodeGenerationKit/CodeGenerationKit.cpp
deleted file mode 100644
index cfa1da318d3..00000000000
--- a/TAO/CIAO/CCF/CCF/CodeGenerationKit/CodeGenerationKit.cpp
+++ /dev/null
@@ -1 +0,0 @@
-// $Id$
diff --git a/TAO/CIAO/CCF/CCF/CodeGenerationKit/CodeGenerationKit.vcproj b/TAO/CIAO/CCF/CCF/CodeGenerationKit/CodeGenerationKit.vcproj
deleted file mode 100644
index 857c5bfd741..00000000000
--- a/TAO/CIAO/CCF/CCF/CodeGenerationKit/CodeGenerationKit.vcproj
+++ /dev/null
@@ -1,150 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="7.10"
- Name="CodeGenerationKit"
- ProjectGUID="{93C22389-AD2D-45CD-98C6-D9C5D6679B09}"
- Keyword="Win32Proj">
- <Platforms>
- <Platform
- Name="Win32"/>
- </Platforms>
- <Configurations>
- <Configuration
- Name="Debug|Win32"
- OutputDirectory="$(ProjectDir)"
- IntermediateDirectory="Debug"
- ConfigurationType="4"
- CharacterSet="2">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories="../..;../../External/Utility"
- PreprocessorDefinitions="WIN32;_DEBUG;_LIB"
- MinimalRebuild="TRUE"
- BasicRuntimeChecks="3"
- RuntimeLibrary="5"
- ForceConformanceInForLoopScope="TRUE"
- RuntimeTypeInfo="TRUE"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="TRUE"
- DebugInformationFormat="4"/>
- <Tool
- Name="VCCustomBuildTool"/>
- <Tool
- Name="VCLibrarianTool"
- OutputFile="$(OutDir)/CodeGenerationKit.lib"/>
- <Tool
- Name="VCMIDLTool"/>
- <Tool
- Name="VCPostBuildEventTool"/>
- <Tool
- Name="VCPreBuildEventTool"/>
- <Tool
- Name="VCPreLinkEventTool"/>
- <Tool
- Name="VCResourceCompilerTool"/>
- <Tool
- Name="VCWebServiceProxyGeneratorTool"/>
- <Tool
- Name="VCXMLDataGeneratorTool"/>
- <Tool
- Name="VCManagedWrapperGeneratorTool"/>
- <Tool
- Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
- </Configuration>
- <Configuration
- Name="Release|Win32"
- OutputDirectory="Release"
- IntermediateDirectory="Release"
- ConfigurationType="4"
- CharacterSet="2">
- <Tool
- Name="VCCLCompilerTool"
- PreprocessorDefinitions="WIN32;NDEBUG;_LIB"
- RuntimeLibrary="4"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="TRUE"
- DebugInformationFormat="3"/>
- <Tool
- Name="VCCustomBuildTool"/>
- <Tool
- Name="VCLibrarianTool"
- OutputFile="$(OutDir)/CodeGenerationKit.lib"/>
- <Tool
- Name="VCMIDLTool"/>
- <Tool
- Name="VCPostBuildEventTool"/>
- <Tool
- Name="VCPreBuildEventTool"/>
- <Tool
- Name="VCPreLinkEventTool"/>
- <Tool
- Name="VCResourceCompilerTool"/>
- <Tool
- Name="VCWebServiceProxyGeneratorTool"/>
- <Tool
- Name="VCXMLDataGeneratorTool"/>
- <Tool
- Name="VCManagedWrapperGeneratorTool"/>
- <Tool
- Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
- </Configuration>
- </Configurations>
- <References>
- </References>
- <Files>
- <Filter
- Name="Source Files"
- Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx"
- UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}">
- <File
- RelativePath=".\CommandLine.cpp">
- </File>
- <File
- RelativePath=".\CommandLineGrammar.cpp">
- </File>
- <File
- RelativePath=".\CommandLineParser.cpp">
- </File>
- </Filter>
- <Filter
- Name="Header Files"
- Filter="h;hpp;hxx;hm;inl;inc;xsd"
- UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}">
- <File
- RelativePath=".\CommandLine.hpp">
- </File>
- <File
- RelativePath=".\CommandLineDescriptor.hpp">
- </File>
- <File
- RelativePath=".\CommandLineGrammar.hpp">
- </File>
- <File
- RelativePath=".\CommandLineParser.hpp">
- </File>
- <File
- RelativePath=".\IDLStream.hpp">
- </File>
- <File
- RelativePath=".\MSVC_Pragmas.hpp">
- </File>
- <File
- RelativePath=".\Regex.hpp">
- </File>
- </Filter>
- <Filter
- Name="Resource Files"
- Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx"
- UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}">
- </Filter>
- <File
- RelativePath=".\ReadMe.txt">
- </File>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>
diff --git a/TAO/CIAO/CCF/CCF/CodeGenerationKit/CommandLine.cpp b/TAO/CIAO/CCF/CCF/CodeGenerationKit/CommandLine.cpp
deleted file mode 100644
index f07dd8c10bc..00000000000
--- a/TAO/CIAO/CCF/CCF/CodeGenerationKit/CommandLine.cpp
+++ /dev/null
@@ -1,5 +0,0 @@
-// File : CommandLine.cpp
-// Author : Boris Kolpackov <boris@dre.vanderbilt.edu>
-// $Id$
-
-#include "CCF/CodeGenerationKit/CommandLine.hpp"
diff --git a/TAO/CIAO/CCF/CCF/CodeGenerationKit/CommandLine.hpp b/TAO/CIAO/CCF/CCF/CodeGenerationKit/CommandLine.hpp
deleted file mode 100644
index 94c05320287..00000000000
--- a/TAO/CIAO/CCF/CCF/CodeGenerationKit/CommandLine.hpp
+++ /dev/null
@@ -1,202 +0,0 @@
-// File : CommandLine.hpp
-// Author : Boris Kolpackov <boris@dre.vanderbilt.edu>
-// $Id$
-
-#ifndef COMMAND_LINE_H
-#define COMMAND_LINE_H
-
-#include "MSVC_Pragmas.hpp"
-
-#include <algorithm>
-#include <vector>
-#include <string>
-
-using namespace std;
-
-//@@ this stuff needs proper reimplementation
-
-class CommandLine
-{
-public:
-
- CommandLine () throw () : separator (false) {}
-
-
- // Option constrain checking
-public:
-
- bool
- require (std::string option) const throw ()
- {
- return std::find_if (options.begin (),
- options.end (),
- OptionNamePredicat (option)) != options.end ();
- }
-
- bool
- depends (std::string dependant,
- std::string principal) const throw ()
- {
- Options::const_iterator begin = options.begin ();
- Options::const_iterator end = options.end ();
-
- if (std::find_if (begin, end, OptionNamePredicat (dependant)) != end)
- {
- return std::find_if (begin, end, OptionNamePredicat (principal)) != end;
- }
- else
- {
- return true;
- }
- }
-
- bool
- inconsistent (std::string a,
- std::string b) const throw ()
- {
- Options::const_iterator begin = options.begin ();
- Options::const_iterator end = options.end ();
-
- if (std::find_if (begin, end, OptionNamePredicat (a)) != end)
- {
- return std::find_if (begin, end, OptionNamePredicat (b)) == end;
- }
- else
- {
- return true;
- }
- }
-
- std::string
- get_value (std::string name, std::string const& not_found_value) const
- {
- Options::const_iterator i = std::find_if (
- options.begin (),
- options.end (),
- OptionNamePredicat (name));
-
- if (i != options.end () && !(i->value_.empty ()))
- {
- return i->value_;
- }
- else
- {
- return not_found_value;
- }
- }
-
- std::string
- get_value (std::string name, char const* not_found_value) const
- {
- Options::const_iterator i = std::find_if (
- options.begin (),
- options.end (),
- OptionNamePredicat (name));
-
- if (i != options.end () && !(i->value_.empty ()))
- {
- return i->value_;
- }
- else
- {
- return std::string (not_found_value);
- }
- }
-
- bool
- get_value (std::string name, bool not_found_value) const
- {
- Options::const_iterator i = std::find_if (
- options.begin (),
- options.end (),
- OptionNamePredicat (name));
-
- if (i != options.end ())
- {
- return true;
- }
- else
- {
- return not_found_value;
- }
- }
-
- // Arguments
- //
- //
-
- typedef
- std::vector<std::string>
- Arguments;
-
- typedef
- Arguments::const_iterator
- ArgumentIterator;
-
- ArgumentIterator
- argument_begin () const
- {
- return arguments.begin ();
- }
-
-
- ArgumentIterator
- argument_end () const
- {
- return arguments.end ();
- }
-
-
-public:
-
- struct Option
- {
- enum OptionType
- {
- EQUATIONAL,
- COMPOSITE
- };
-
- Option (OptionType type,
- std::string const& name,
- std::string const& value) throw ()
- : type_ (type),
- name_ (name),
- value_ (value)
- {
- }
-
- OptionType type_;
- std::string name_;
- std::string value_;
- };
-
-
-
- struct OptionNamePredicat
- {
- OptionNamePredicat (std::string const& name)
- : name_ (name)
- {
- }
-
- bool operator ()(Option const& option) throw ()
- {
- return name_ == option.name_;
- }
-
- private:
- std::string const name_;
- };
-
- typedef std::vector<Option> Options;
- typedef std::vector<std::string> Arguments;
-
- std::string command;
- Options options;
- Arguments arguments;
-
- bool separator;
-};
-
-#endif // COMMAND_LINE_H
diff --git a/TAO/CIAO/CCF/CCF/CodeGenerationKit/CommandLineDescriptor.hpp b/TAO/CIAO/CCF/CCF/CodeGenerationKit/CommandLineDescriptor.hpp
deleted file mode 100644
index ac2d3ef6488..00000000000
--- a/TAO/CIAO/CCF/CCF/CodeGenerationKit/CommandLineDescriptor.hpp
+++ /dev/null
@@ -1,260 +0,0 @@
-// $Id$
-#ifndef COMMAND_LINE_DESCRIPTOR_H
-#define COMMAND_LINE_DESCRIPTOR_H
-
-#include <string>
-#include <vector>
-#include <ostream>
-
-//@@ temporary. should probably be changed to CommandLine
-namespace CL
-{
- class OptionDescription
- {
- public:
- OptionDescription (std::string name,
- std::string description,
- bool optional)
- : optional_ (optional),
- name_ (name),
- value_synopsis_ (),
- description_ (description)
- {
- }
-
-
- OptionDescription (std::string name,
- std::string value_synopsis,
- std::string description,
- bool optional)
- : optional_ (optional),
- name_ (name),
- value_synopsis_ (value_synopsis),
- description_ (description)
- {
- }
-
- public:
- bool
- optional () const
- {
- return optional_;
- }
-
- std::string
- name () const
- {
- return name_;
- }
-
- std::string
- value_synopsis () const
- {
- return value_synopsis_;
- }
-
- std::string
- description () const
- {
- return description_;
- }
-
-
- private:
- bool optional_;
- std::string name_;
- std::string value_synopsis_;
- std::string description_;
- };
-
-
- class Description
- {
- public:
- Description (std::string command)
- : command_ (command)
- {
- }
-
- private:
- typedef
- std::vector<OptionDescription>
- OptionDescriptionList;
-
- public:
-
- std::string
- command () const
- {
- return command_;
- }
-
-
- public:
- typedef
- OptionDescriptionList::const_iterator
- OptionIterator;
-
- OptionIterator
- begin_option () const
- {
- return options_.begin ();
- }
-
- OptionIterator
- end_option () const
- {
- return options_.end ();
- }
-
- void
- add_option (OptionDescription const& od)
- {
- options_.push_back (od);
- }
-
- private:
- typedef
- std::vector<std::string>
- ArgumentDescriptionList;
-
- public:
- typedef
- ArgumentDescriptionList::const_iterator
- ArgumentIterator;
-
- ArgumentIterator
- begin_argument () const
- {
- return arguments_.begin ();
- }
-
- ArgumentIterator
- end_argument () const
- {
- return arguments_.end ();
- }
-
- void
- add_argument (std::string arg)
- {
- arguments_.push_back (arg);
- }
-
- private:
-
- std::string command_;
- OptionDescriptionList options_;
- ArgumentDescriptionList arguments_;
- };
-
- inline void
- print_text (std::ostream& os, Description const& d)
- {
- os << d.command ();
-
- Description::OptionIterator ob = d.begin_option ();
- Description::OptionIterator oe = d.end_option ();
-
- if (ob != oe)
- {
- os << " { OPTIONS }";
- }
-
- Description::ArgumentIterator ab = d.begin_argument ();
- Description::ArgumentIterator ae = d.end_argument ();
-
- for (; ab != ae; ab++)
- {
- os << " <" << *ab << ">";
- }
-
- os << endl << endl;
-
- for (; ob != oe; ob++)
- {
- os << (ob->optional () ? "[--" : "--")
- << ob->name ()
- << (ob->value_synopsis ().empty () ? "" : " ")
- << ob->value_synopsis ()
- << (ob->optional () ? "]" : "")
- << endl;
-
- os << "\t\t" << ob->description () << endl;
- }
-
- }
-
-
- inline void
- print_html (std::ostream& os, Description const& d)
- {
- os << "<html>" << endl
- << "<body>" << endl
- << "<div align=\"center\">" << endl
- << "<table width=\"700\" border=\"0\" cellspacing=\"0\" "
- << "cellpadding=\"0\">" << endl
- << "<tr>" << endl
- << "<td>" << endl;
-
- os << "<p>" << endl
- << "<code>" << endl;
-
- os << d.command ();
-
- Description::OptionIterator ob = d.begin_option ();
- Description::OptionIterator oe = d.end_option ();
-
- if (ob != oe)
- {
- os << " { OPTIONS }";
- }
-
- Description::ArgumentIterator ab = d.begin_argument ();
- Description::ArgumentIterator ae = d.end_argument ();
-
- for (; ab != ae; ab++)
- {
- os << " &lt;" << *ab << "&gt;";
- }
-
- os << endl
- << "</code>" << endl
- << "</p>" << endl;
-
-
- os << "<dl>" << endl;
-
- for (; ob != oe; ob++)
- {
- os << "<dt>" << endl
- << "<code>" << endl
- << (ob->optional () ? "[--" : "--")
- << ob->name ()
- << (ob->value_synopsis ().empty () ? "" : " ")
- << ob->value_synopsis ()
- << (ob->optional () ? "]" : "") << endl
- << "</code>" << endl
- << "</dt>" << endl;
-
- os << "<dd>" << endl
- << "<p>" << endl
- << ob->description () << endl
- << "</p>" << endl
- << "</dd>" << endl;
- }
-
- os << "</dl>" << endl;
-
- os << "</td>" << endl
- << "</tr>" << endl
- << "</table>" << endl
- << "</div>" << endl
- << "</body>" << endl
- << "</html>" << endl;
-
- }
-}
-
-
-#endif // COMMAND_LINE_DESCRIPTOR_H
diff --git a/TAO/CIAO/CCF/CCF/CodeGenerationKit/CommandLineGrammar.cpp b/TAO/CIAO/CCF/CCF/CodeGenerationKit/CommandLineGrammar.cpp
deleted file mode 100644
index b14ef33fb1b..00000000000
--- a/TAO/CIAO/CCF/CCF/CodeGenerationKit/CommandLineGrammar.cpp
+++ /dev/null
@@ -1,5 +0,0 @@
-// File : CommandLineGrammar.cpp
-// Author : Boris Kolpackov <boris@dre.vanderbilt.edu>
-// $Id$
-
-#include "CCF/CodeGenerationKit/CommandLineGrammar.hpp"
diff --git a/TAO/CIAO/CCF/CCF/CodeGenerationKit/CommandLineGrammar.hpp b/TAO/CIAO/CCF/CCF/CodeGenerationKit/CommandLineGrammar.hpp
deleted file mode 100644
index 89f1ccb90e2..00000000000
--- a/TAO/CIAO/CCF/CCF/CodeGenerationKit/CommandLineGrammar.hpp
+++ /dev/null
@@ -1,361 +0,0 @@
-// File : CommandLineGrammar.hpp
-// Author : Boris Kolpackov <boris@dre.vanderbilt.edu>
-// $Id$
-
-#ifndef COMMAND_LINE_GRAMMAR_H
-#define COMMAND_LINE_GRAMMAR_H
-
-#include "MSVC_Pragmas.hpp"
-
-#include <vector>
-#include <string>
-
-#include <boost/spirit.hpp>
-
-#include "CCF/CodeGenerationKit/CommandLine.hpp"
-
-
-using namespace std;
-using namespace boost::spirit;
-
-template <typename S>
-struct string_directive : public unary<S, parser<string_directive<S> > >
-{
- typedef string_directive self_t;
-
- string_directive (S const& a)
- : unary<S, parser<string_directive<S> > > (a)
- {
- }
-
- template <typename ScannerT>
- typename parser_result<self_t, ScannerT>::type
- parse(ScannerT const& scan) const
- {
- typedef typename ScannerT::iterator_t Iterator;
- typedef typename ScannerT::value_t Value;
- typedef typename Value::const_iterator ValueIterator;
-
- Iterator save = scan.first;
-
- int len = 0;
-
- if (!scan.at_end())
- {
- // Now go one level deeper
-
- Value const& v = *scan;
-
- ValueIterator first = v.begin ();
- ValueIterator last = v.end ();
-
- scanner<ValueIterator, scanner_policies <> > sl_scan(first, last);
-
- match<nil_t> hit = this->subject ().parse(sl_scan);
-
- if (hit.length() == v.length ())
- {
- ++scan;
-
- return scan.create_match(1, nil_t(), save, scan.first);
- }
- else
- {
- return scan.no_match();
- }
- }
- else
- {
- return scan.no_match();
- }
- }
-};
-
-
-template <typename S>
-string_directive<S>
-string_d (parser<S> const& a)
-{
- return string_directive<S>(a.derived());
-}
-
-
-struct CLineGrammar : public grammar<CLineGrammar>
-{
- CommandLine& cl_;
-
- CLineGrammar (CommandLine& cl) throw () : cl_(cl) {}
-
-
- template <typename IteratorT, typename CodeT>
- struct SemanticAction
- {
- SemanticAction (CommandLine& cl) : cl_ (cl), code_ () {}
-
- void operator()(IteratorT first, IteratorT last) const
- {
- string str (first, last);
- code_.execute (cl_, str);
- }
-
- private:
- CommandLine& cl_;
- CodeT code_;
- };
-
-
- struct SetCommandName
- {
- void execute (CommandLine& cl, string const& s) const throw ()
- {
- cl.command = s;
- }
- };
-
-
- template <typename IteratorT>
- struct SetOptionName
- {
- SetOptionName (CommandLine& cl,
- CommandLine::Option::OptionType type)
- : cl_ (cl), type_ (type)
- {
- }
-
- void operator()(IteratorT first, IteratorT last) const
- {
- string s (first, last);
- cl_.options.push_back (CommandLine::Option(type_, s, ""));
- }
-
- private:
- CommandLine& cl_;
- CommandLine::Option::OptionType type_;
- };
-
-
- struct SetOptionValue
- {
- void execute (CommandLine& cl, string const& s) const throw ()
- {
- CommandLine::Options::reverse_iterator r = cl.options.rbegin ();
-
- if (r != cl.options.rend () && r->value_ == "")
- {
- r->value_ = s;
- }
- else
- {
- //@@
- //throw
- }
- }
- };
-
- struct SetArgument
- {
- void execute (CommandLine& cl, string const& s) const throw ()
- {
- cl.arguments.push_back (s);
- }
- };
-
- struct SetSeparator
- {
- void execute (CommandLine& cl, string const& s) const throw ()
- {
- cl.separator = true;
- }
- };
-
-
- template <typename ScannerT>
- struct definition
- {
- typedef typename ScannerT::value_t::const_iterator SLIterator;
- typedef scanner<SLIterator, scanner_policies <> > SLScanner;
-
- typedef rule<ScannerT> Rule;
- typedef rule<SLScanner> SLRule;
-
-
- Rule r_argument;
- Rule r_arg_list;
-
- Rule argument;
- Rule arg_list;
-
- SLRule option_prefix;
- SLRule e_name; // equational name, i.e. can meet '='
- SLRule c_name; // composite name, i.e. failes if meets '='
- SLRule e_value; // equational value, i.e. can contain leading '-'
- SLRule c_value; // composite value, i.e. cannot contain leading '-'
-
- Rule composite;
- Rule equational;
-
- Rule option_list;
- Rule option;
-
- SLRule command_name;
-
- Rule command_line;
-
- // Semantic actions
-
- typedef SemanticAction<SLIterator, SetCommandName> CommandNameHandler;
- typedef SetOptionName<SLIterator> OptionNameHandler;
- typedef SemanticAction<SLIterator, SetOptionValue> OptionValueHandler;
- typedef SemanticAction<SLIterator, SetArgument> ArgumentHandler;
- typedef SemanticAction<SLIterator, SetSeparator> SeperatorHandler;
-
- /*
-
- <epigraph>
-
- As many people naively believe command line is
- not a space separated array of words.
-
- -- unknown author.
- </epigraph>
-
-
-
- NOTE:
-
- (1) This grammar is space-sensitive.
-
- (2) Anychar is assumend not to clash with <argv-delim>. Instead
- <argv-delim> is assumed to be a next-dimension entitiy.
-
-
- <command-line> ::= <command-name>
- [
- [ <argv-delim> <option-list>]
- [
- <option-prefix> [<argv-delim> <arg-list>] |
- <argv-delim> <r-arg-list>
- ]
- ]
-
- <command-name> ::= anychar+
-
- <option-list> ::= <option> { <argv-delim> <option> }*
- <option> ::= <composite> | <equational>
- <composite> ::= <option-prefix> <name> [ <argv-delim><c-value> ]
- <equational> ::= <option-prefix> <name> '=' <e-value>
- <option-prefix> ::= '-' [ '-' ]
- <name> ::= {anychar - '='}+
- <c-value> ::= anychar+ - {<option-prefix> anychar*}
- <e-valie> ::= anychar+
-
- <arg-list> ::= <argument> { <arg-delim> <argument> }*
- <r-arg-list> ::= <r-argument> { <arg-delim> <argument> }*
-
- <argument> ::= anychar+
- <r-argument> ::= anychar+ - {<option-prefix> anychar*}
-
-
- */
-
-
- definition(CLineGrammar const& self)
- {
- command_line =
-
- string_d (command_name) >>
- !option_list >>
- !(
- (
- string_d
- (
- option_prefix[ SeperatorHandler (self.cl_) ]
- ) >> !arg_list
- ) | r_arg_list
- );
-
- // command name
-
- command_name = (+anychar_p)[CommandNameHandler (self.cl_)];
-
- // options
-
- option_list = *(option);
-
- option = composite | equational;
-
- composite =
-
- string_d
- (
- option_prefix >> c_name
-
- ) >> !string_d (c_value);
-
- equational = string_d (option_prefix >> e_name >> '=' >> e_value);
-
- option_prefix = lexeme_d[ch_p('-') >> !ch_p('-')];
-
- e_name =
-
- lexeme_d
- [
- (
- +(
- anychar_p - ('=' | space_p)
- )
-
- )[ OptionNameHandler (self.cl_, CommandLine::Option::EQUATIONAL) ]
- ];
-
- c_name =
-
- lexeme_d
- [
- (
- +(anychar_p - space_p) -
-
- (
- *(anychar_p - '=') >> '=' >> *anychar_p
- )
-
- )[ OptionNameHandler (self.cl_, CommandLine::Option::COMPOSITE) ]
- ];
-
- e_value = (+anychar_p)[ OptionValueHandler (self.cl_) ];
-
-
- c_value =
- (
- +anychar_p - ( option_prefix >> *anychar_p )
-
- )[ OptionValueHandler (self.cl_) ];
-
-
-
- // arguments
-
- arg_list = *(argument);
- r_arg_list = !(r_argument >> *argument);
-
- argument = string_d ((+anychar_p)[ ArgumentHandler (self.cl_) ]);
-
- r_argument = string_d
- (
- (
- +anychar_p - (option_prefix >> *anychar_p)
-
- )[ ArgumentHandler (self.cl_) ]
- );
-
- }
-
- rule<ScannerT> const& start() const
- {
- return command_line;
- }
- };
-};
-
-
-#endif // COMMAND_LINE_GRAMMAR_H
diff --git a/TAO/CIAO/CCF/CCF/CodeGenerationKit/CommandLineParser.cpp b/TAO/CIAO/CCF/CCF/CodeGenerationKit/CommandLineParser.cpp
deleted file mode 100644
index 0394f895669..00000000000
--- a/TAO/CIAO/CCF/CCF/CodeGenerationKit/CommandLineParser.cpp
+++ /dev/null
@@ -1,55 +0,0 @@
-// File : CommandLineParser.cpp
-// Author : Boris Kolpackov <boris@dre.vanderbilt.edu>
-// $Id$
-
-#include "CCF/CodeGenerationKit/CommandLineParser.hpp"
-#include "CCF/CodeGenerationKit/CommandLineGrammar.hpp"
-
-#include <iostream>
-
-using std::cerr;
-using std::endl;
-
-bool parse (int argc, char* argv[], CommandLine& cl) throw ()
-{
- typedef vector<string> Argv;
-
- Argv v;
-
- for (int i = 0; i < argc; i++)
- {
- v.push_back (argv[i]);
- }
-
- Argv::iterator first = v.begin ();
- Argv::iterator last = v.end ();
-
- scanner<Argv::iterator, scanner_policies <> > scan(first, last);
-
- CLineGrammar g (cl);
-
- match<nil_t> hit = g.parse(scan);
-
- bool result = hit.length() == v.size ();
-
- // some semantic analisys
- if (!cl.separator)
- {
- CommandLine::Options::reverse_iterator r = cl.options.rbegin ();
-
- if (r != cl.options.rend () &&
- r->value_ != "" &&
- r->type_ == CommandLine::Option::COMPOSITE)
- {
-
- cerr << "command line: assuming <" << r->value_
- << "> to be a value of option <" << r->name_
- << "> and not the first argument" << endl;
-
- cerr << "command line: write ... --" << r->name_ << " -- "
- << r->value_ << " ... to indicate otherwise" << endl;
- }
- }
-
- return result;
-}
diff --git a/TAO/CIAO/CCF/CCF/CodeGenerationKit/CommandLineParser.hpp b/TAO/CIAO/CCF/CCF/CodeGenerationKit/CommandLineParser.hpp
deleted file mode 100644
index 920722403b3..00000000000
--- a/TAO/CIAO/CCF/CCF/CodeGenerationKit/CommandLineParser.hpp
+++ /dev/null
@@ -1,14 +0,0 @@
-// File : CommandLineParser.hpp
-// Author : Boris Kolpackov <boris@dre.vanderbilt.edu>
-// $Id$
-
-#ifndef COMMAND_LINE_PARSER_H
-#define COMMAND_LINE_PARSER_H
-
-#include "MSVC_Pragmas.hpp"
-
-#include "CCF/CodeGenerationKit/CommandLine.hpp"
-
-bool parse (int argc, char* argv[], CommandLine& cl) throw ();
-
-#endif // COMMAND_LINE_PARSER_H
diff --git a/TAO/CIAO/CCF/CCF/CodeGenerationKit/IDLStream.hpp b/TAO/CIAO/CCF/CCF/CodeGenerationKit/IDLStream.hpp
deleted file mode 100644
index d5e8d897ded..00000000000
--- a/TAO/CIAO/CCF/CCF/CodeGenerationKit/IDLStream.hpp
+++ /dev/null
@@ -1,126 +0,0 @@
-// $Id$
-
-#include "MSVC_Pragmas.hpp"
-
-#include <streambuf>
-#include <iostream>
-
-//@@ would be nice to teach this beast to handle double newlines
-// the idea is to convert double newline into single newline when
-// the next character is '}'
-
-class IDLFormattingBuffer : public std::streambuf
-{
-public:
- IDLFormattingBuffer (std::streambuf* next)
- : after_nl_ (true),
- state_ (DECL_COMPLETE),
- indentation_ (0),
- next_ (next)
- {
- setbuf (0, 0);
- }
-
- std::streambuf*
- next () const
- {
- return next_;
- }
-
-
-
-protected:
-
- class Full {};
-
-protected:
-
- virtual int_type
- overflow (int_type c)
- {
- int_type result;
-
- try
- {
- bool defaulting = false;
- switch (c)
- {
- case '\n':
- {
- result = write (c);
- after_nl_ = true;
- break;
- }
- case '{':
- {
- output_indentation ();
- result = write (c);
- indentation_++;
- break;
- }
- case '}':
- {
- if (indentation_ > 0) indentation_--;
- output_indentation ();
- result = write (c);
- break;
- }
- default:
- {
- defaulting = true;
- break;
- }
- }
-
- if (defaulting)
- {
- output_indentation ();
- result = write (c);
- }
-
- }
- catch (Full const&)
- {
- result = traits_type::eof ();
- }
-
- return result;
- }
-
- void
- output_indentation () throw (Full)
- {
- if (after_nl_)
- {
- for (unsigned long i = 0; i < indentation_; i++)
- {
- write (' ');
- write (' ');
- }
- after_nl_ = false;
- }
- }
-
- int_type
- write (int_type c) throw (Full)
- {
- int_type result = next_->sputc (c);
-
- if (result == traits_type::eof ()) throw Full ();
-
- return result;
- }
-
-
-private:
-
- enum State
- {
- DECL_COMPLETE,
- };
-
- bool after_nl_;
- State state_;
- unsigned long indentation_;
- std::streambuf* next_;
-};
diff --git a/TAO/CIAO/CCF/CCF/CodeGenerationKit/MSVC_Pragmas.hpp b/TAO/CIAO/CCF/CCF/CodeGenerationKit/MSVC_Pragmas.hpp
deleted file mode 100644
index 724b5b52646..00000000000
--- a/TAO/CIAO/CCF/CCF/CodeGenerationKit/MSVC_Pragmas.hpp
+++ /dev/null
@@ -1,16 +0,0 @@
-// $Id$
-#ifndef MSVC_PRAGMAS_HPP
-#define MSVC_PRAGMAS_HPP
-
-
-// Various warnings that have to be disabled for MSVC.
-
-// 'this' : used in base member initializer list
-#pragma warning(disable:4355)
-// 'class1' : inherits 'class2::member' via dominance
-#pragma warning(disable:4250)
-// C++ Exception Specification ignored
-#pragma warning(disable:4290)
-
-
-#endif /* MSVC_PRAGMAS_HPP */ \ No newline at end of file
diff --git a/TAO/CIAO/CCF/CCF/CodeGenerationKit/Makefile b/TAO/CIAO/CCF/CCF/CodeGenerationKit/Makefile
deleted file mode 100644
index 697130f21e6..00000000000
--- a/TAO/CIAO/CCF/CCF/CodeGenerationKit/Makefile
+++ /dev/null
@@ -1,22 +0,0 @@
-# File : Makefile
-# Author : Boris Kolpackov <boris@kolpackov.net>
-# $Id$
-
-root = ../../External/Utility
-
-include $(root)/Config/Archive.pre.rules
-
-cxx_translation_units := CodeGenerationKit.cpp \
- CommandLine.cpp \
- CommandLineGrammar.cpp \
- CommandLineParser.cpp
-
-module_base := CodeGenerationKit
-module_prefix :=
-module_suffix :=
-
-CXX_PREPROCESS_FLAGS += -I../.. \
- -I../../External/Utility \
- -I../../External/boost \
-
-include $(root)/Config/Archive.post.rules
diff --git a/TAO/CIAO/CCF/CCF/CodeGenerationKit/Regex.hpp b/TAO/CIAO/CCF/CCF/CodeGenerationKit/Regex.hpp
deleted file mode 100644
index f9928441262..00000000000
--- a/TAO/CIAO/CCF/CCF/CodeGenerationKit/Regex.hpp
+++ /dev/null
@@ -1,42 +0,0 @@
-// file : CCF/CodeGenerationKit/Regex.hpp
-// author : Boris Kolpackov <boris@dre.vanderbilt.edu>
-// cvs-id : $Id$
-
-#ifndef CCF_RUNTIME_REGEX_HPP
-#define CCF_RUNTIME_REGEX_HPP
-
-#include "MSVC_Pragmas.hpp"
-
-#include <string>
-#include <boost/regex.hpp>
-
-namespace regex
-{
- using boost::regex;
- using boost::regex_merge;
-
- inline std::string
- perl_s (std::string src, std::string e)
- {
- char delimiter = '/';
-
- std::string::size_type first = e.find (delimiter);
- std::string::size_type middle = e.find (delimiter, first + 1);
- std::string::size_type last = e.find (delimiter, middle + 1);
-
- std::string pattern (e, first + 1, middle - first - 1);
- std::string format (e, middle + 1, last - middle - 1);
-
- //std::cout << pattern << " " << format << std::endl;
-
- regex expr (pattern);
-
- return regex_merge (
- src,
- expr,
- format,
- boost::match_default | boost::format_all );
- }
-}
-
-#endif // CCF_RUNTIME_REGEX_HPP
diff --git a/TAO/CIAO/CCF/CCF/CompilerElements/DiagnosticStream.cpp b/TAO/CIAO/CCF/CCF/CompilerElements/DiagnosticStream.cpp
deleted file mode 100644
index 9150c62350d..00000000000
--- a/TAO/CIAO/CCF/CCF/CompilerElements/DiagnosticStream.cpp
+++ /dev/null
@@ -1,47 +0,0 @@
-// file : CCF/Runtime/DiagnosticStream.cpp
-// author : Boris Kolpackov <boris@dre.vanderbilt.edu>
-// cvs-id : $Id$
-
-#include "CCF/Runtime/DiagnosticStream.hpp"
-
-#include <iostream>
-
-namespace CCF
-{
- namespace Runtime
- {
- namespace Diagnostic
- {
- Stream dout;
-
- //
- // class Message
- //
-
- Message::~Message () throw ()
- {
- }
-
- //
- // class Stream
- //
-
- Stream::Stream () throw ()
- {
- }
-
-
- Stream::~Stream () throw ()
- {
- }
-
- Stream&
- Stream:: operator << (Message const& msg)
- throw (ExH::System::Exception)
- {
- std::cerr << msg.text () << std::endl;
- return *this;
- }
- }
- }
-}
diff --git a/TAO/CIAO/CCF/CCF/CompilerElements/DiagnosticStream.hpp b/TAO/CIAO/CCF/CCF/CompilerElements/DiagnosticStream.hpp
deleted file mode 100644
index 6561095690c..00000000000
--- a/TAO/CIAO/CCF/CCF/CompilerElements/DiagnosticStream.hpp
+++ /dev/null
@@ -1,141 +0,0 @@
-// file : CCF/Runtime/DiagnosticStream.hpp
-// author : Boris Kolpackov <boris@dre.vanderbilt.edu>
-// cvs-id : $Id$
-
-#ifndef CCF_RUNTIME_DIAGNOSTIC_DIAGNOSTIC_STREAM_H
-#define CCF_RUNTIME_DIAGNOSTIC_DIAGNOSTIC_STREAM_H
-
-#include "MSVC_Pragmas.hpp"
-
-#include <string>
-#include <sstream>
-
-#include "CCF/CompilerElements/ExH.hpp"
-
-namespace CCF
-{
- namespace Runtime
- {
- namespace Diagnostic
- {
- class Message
- {
- public:
- virtual
- ~Message () throw ();
-
- virtual std::string
- text () const throw (ExH::System::Exception) = 0;
- };
-
- class Stream
- {
- public:
- Stream () throw ();
- virtual
- ~Stream () throw ();
-
- public:
- Stream& operator<< (Message const& msg)
- throw (ExH::System::Exception);
-
- private:
- // Copy semanic is not supported.
- Stream (Stream const&) throw ();
- Stream& operator= (Stream const&) throw ();
- };
-
- extern Stream dout;
-
- //
- // Concrete Message classes.
- //
-
- template <typename Category>
- class MessageImpl : public virtual Message,
- public virtual Category
- {
- public:
- MessageImpl (char const* subject, char const* message)
- throw (ExH::System::Exception)
- : subject_ (subject), message_ (message) {}
-
- MessageImpl (char const* subject, std::ostringstream const& message)
- throw (ExH::System::Exception)
- : subject_ (subject), message_ (message.str ()) {}
-
- virtual
- ~MessageImpl () throw () {}
-
- virtual std::string
- text () const throw (ExH::System::Exception)
- {
- std::string category = Category::name ();
-
- if (category.empty ())
- {
- return subject_ + ": " + message_;
- }
- else
- {
- return subject_ + ": " + category + ": " + message_;
- }
- }
-
- private:
- std::string subject_;
- std::string message_;
- };
-
- //
- // Error
- //
-
- struct ErrorCategory
- {
- virtual ~ErrorCategory () throw () {}
-
- std::string name () const throw (ExH::System::Exception)
- {
- return "error";
- }
- };
-
- typedef MessageImpl<ErrorCategory> Error;
-
- //
- // Warning
- //
-
- struct WarningCategory
- {
- virtual ~WarningCategory () throw () {}
-
- std::string name () const throw (ExH::System::Exception)
- {
- return "warning";
- }
- };
-
- typedef MessageImpl<WarningCategory> Warning;
-
- //
- // Information
- //
-
- struct InformationCategory
- {
- virtual ~InformationCategory () throw () {}
-
- std::string name () const throw (ExH::System::Exception)
- {
- return "";
- }
- };
-
- typedef MessageImpl<InformationCategory> Information;
- }
- }
-}
-
-#endif // CCF_RUNTIME_DIAGNOSTIC_DIAGNOSTIC_STREAM_H
diff --git a/TAO/CIAO/CCF/CCF/CompilerElements/ExH.hpp b/TAO/CIAO/CCF/CCF/CompilerElements/ExH.hpp
deleted file mode 100644
index 41f05a56f5b..00000000000
--- a/TAO/CIAO/CCF/CCF/CompilerElements/ExH.hpp
+++ /dev/null
@@ -1,14 +0,0 @@
-// file : CCF/CompilerElements/ExH.hpp
-// author : Boris Kolpackov <boris@dre.vanderbilt.edu>
-// cvs-id : $Id$
-
-#ifndef CCF_RUNTIME_EX_H_H
-#define CCF_RUNTIME_EX_H_H
-
-#include "MSVC_Pragmas.hpp"
-
-#include "Utility/ExH/ExH.hpp"
-
-namespace ExH = Utility::ExH;
-
-#endif // CCF_RUNTIME_EX_H_H
diff --git a/TAO/CIAO/CCF/CCF/CompilerElements/FileSystem.hpp b/TAO/CIAO/CCF/CCF/CompilerElements/FileSystem.hpp
deleted file mode 100644
index e42c7a3d213..00000000000
--- a/TAO/CIAO/CCF/CCF/CompilerElements/FileSystem.hpp
+++ /dev/null
@@ -1,17 +0,0 @@
-// file : CCF/CompilerElements/FileSystem.hpp
-// author : Boris Kolpackov <boris@dre.vanderbilt.edu>
-// cvs-id : $Id$
-
-#ifndef CCF_RUNTIME_FILE_SYSTEM_HPP
-#define CCF_RUNTIME_FILE_SYSTEM_HPP
-
-#include "MSVC_Pragmas.hpp"
-
-#include <boost/filesystem/path.hpp>
-#include <boost/filesystem/fstream.hpp>
-#include <boost/filesystem/exception.hpp>
-#include <boost/filesystem/operations.hpp>
-
-namespace fs = boost::filesystem;
-
-#endif // CCF_RUNTIME_FILE_SYSTEM_HPP
diff --git a/TAO/CIAO/CCF/CCF/CompilerElements/MSVC_Pragmas.hpp b/TAO/CIAO/CCF/CCF/CompilerElements/MSVC_Pragmas.hpp
deleted file mode 100644
index f51b92d747b..00000000000
--- a/TAO/CIAO/CCF/CCF/CompilerElements/MSVC_Pragmas.hpp
+++ /dev/null
@@ -1,15 +0,0 @@
-#ifndef MSVC_PRAGMAS_HPP
-#define MSVC_PRAGMAS_HPP
-
-
-// Various warnings that have to be disabled for MSVC.
-
-// 'this' : used in base member initializer list
-#pragma warning(disable:4355)
-// 'class1' : inherits 'class2::member' via dominance
-#pragma warning(disable:4250)
-// C++ Exception Specification ignored
-#pragma warning(disable:4290)
-
-
-#endif /* MSVC_PRAGMAS_HPP */ \ No newline at end of file
diff --git a/TAO/CIAO/CCF/CCF/CompilerElements/Parser.hpp b/TAO/CIAO/CCF/CCF/CompilerElements/Parser.hpp
deleted file mode 100644
index dd932937b3d..00000000000
--- a/TAO/CIAO/CCF/CCF/CompilerElements/Parser.hpp
+++ /dev/null
@@ -1,265 +0,0 @@
-#ifndef PARSER_HPP
-#define PARSER_HPP
-
-#include "MSVC_Pragmas.hpp"
-
-#include "CCF/CompilerElements/Token.hpp"
-
-#include <boost/spirit.hpp>
-
-namespace Details
-{
- using namespace boost::spirit;
-
- typedef
- TokenStream::iterator
- Iterator;
-
- typedef
- scanner<Iterator, scanner_policies<> >
- Scanner;
-
- typedef
- rule<Scanner>
- Rule;
-
-
- //-------------------------------------------------------------
-
- template <typename TypePtr>
- struct IdentityParser : public parser <IdentityParser<TypePtr> >
- {
- typedef
- IdentityParser
- self_t;
-
- IdentityParser (TypePtr const& t)
- : t_ (t)
- {
- }
-
- typename parser_result<self_t, Scanner>::type
- parse(Scanner const& scan) const
- {
- if (!scan.at_end())
- {
- TokenPtr t = *scan;
-
- if(identical (t_, t))
- {
- Iterator save(scan.first);
- ++scan;
- return scan.create_match(1, t, save, scan.first);
- }
- }
- return scan.no_match();
- }
-
- private:
- TypePtr t_;
- };
-
- typedef
- IdentityParser<KeywordPtr>
- KeywordParser;
-
- typedef
- IdentityParser<PunctuationPtr>
- PunctuationParser;
-
- //----------------------------------------------------------------
-
- template <typename TypePtr>
- struct TypeParser : public parser <TypeParser<TypePtr> >
- {
- typedef
- TypeParser
- self_t;
-
- typename parser_result<self_t, Scanner>::type
- parse(Scanner const& scan) const
- {
- if (!scan.at_end())
- {
- TokenPtr t = *scan;
-
- if(typical<TypePtr>(t) != 0)
- {
- Iterator save(scan.first);
- ++scan;
- return scan.create_match(1, t, save, scan.first);
- }
- }
- return scan.no_match();
- }
- };
-
- typedef
- TypeParser<IdentifierPtr>
- IdentifierParser;
-
- typedef
- TypeParser<SimpleIdentifierPtr>
- SimpleIdentifierParser;
-
- typedef
- TypeParser<ScopedIdentifierPtr>
- ScopedIdentifierParser;
-
- typedef
- TypeParser<StringLiteralPtr>
- StringLiteralParser;
-
- //---------------------------------------------------------------
-
- bool parse (Iterator const& first_,
- Iterator const& last,
- Rule const& rule)
- {
- Iterator first = first_;
- Scanner scan(first, last);
- match<nil_t> hit = rule.parse(scan);
-
- bool result = parse_info<Iterator>(
- first, hit, hit && (first == last), hit.length()).full;
-
- if (!result)
- {
- if (first != last)
- {
- std::cerr << (*first)->line ()
- << ": error: illegal syntactic construct" << std::endl;
- }
- else
- {
- //@@ what are the conditions when this happens?
- //@@ is I add EOS token to the grammar then I can avoid this?
- std::cerr << "error: illegal syntactic construct" << std::endl;
- }
-
- }
-
- return result;
- }
-}
-
-// Base class for CCF-compliant parser
-class Parser
-{
-protected:
-
- typedef
- Details::Iterator
- Iterator;
-
-protected:
-
- template <typename Obj>
- class ActionExecutor
- {
- public:
-
- typedef
- void (Obj::*SemanticAction)(Iterator, Iterator) const;
-
- ActionExecutor (Obj const* obj, SemanticAction action)
- : obj_ (obj), action_ (action)
- {
- }
-
- void operator () (Iterator begin, Iterator end) const
- {
- (obj_->*action_) (begin, end);
- }
-
- private:
- Obj const* obj_;
- SemanticAction action_;
- };
-
- template <typename Obj>
- class NoArgAction
- {
- public:
-
- typedef
- void (Obj::*Action)();
-
- NoArgAction (Obj& obj, Action action)
- : obj_ (obj), action_ (action)
- {
- }
-
- void operator () (Iterator, Iterator) const
- {
- (obj_.*action_) ();
- }
-
- private:
- Obj& obj_;
- Action action_;
- };
-
- template <typename TypePtr, typename Obj>
- class OneArgAction
- {
- public:
-
- typedef
- void (Obj::*Action)(TypePtr const&);
-
- OneArgAction (Obj& obj, Action action)
- : obj_ (obj), action_ (action)
- {
- }
-
- void operator () (Iterator begin, Iterator end) const
- {
- if (end - begin != 1 )
- {
- //@@ throw
- }
-
- //@@ error handling if typical fails
- (obj_.*action_) (typical<TypePtr> (*begin));
- }
-
- private:
- Obj& obj_;
- Action action_;
- };
-
-
- template <typename Arg1, typename Arg2, typename Obj>
- class TwoArgAction
- {
- public:
-
- typedef
- void (Obj::*Action)(Arg1 const&, Arg2 const&);
-
- TwoArgAction (Obj& obj, Action action)
- : obj_ (obj), action_ (action)
- {
- }
-
- void operator () (Iterator begin, Iterator end) const
- {
- if (end - begin != 2 )
- {
- //@@ throw
- }
-
- //@@ error handling if typical fails
- (obj_.*action_) (typical<Arg1> (*begin),
- typical<Arg2> (*(begin + 1)));
- }
-
- private:
- Obj& obj_;
- Action action_;
- };
-};
-
-
-#endif // PARSER_HPP
diff --git a/TAO/CIAO/CCF/CCF/CompilerElements/Preprocessor.hpp b/TAO/CIAO/CCF/CCF/CompilerElements/Preprocessor.hpp
deleted file mode 100644
index cefbed2da46..00000000000
--- a/TAO/CIAO/CCF/CCF/CompilerElements/Preprocessor.hpp
+++ /dev/null
@@ -1,303 +0,0 @@
-#ifndef CCF_PREPROCESSOR_HPP
-#define CCF_PREPROCESSOR_HPP
-
-#include "CCF/CompilerElements/TokenStream.hpp"
-
-namespace CCF
-{
- //@@ this code is experimental and needs cleaning
- class Preprocessor : public TokenStream<char>
- {
- public:
- virtual
- ~Preprocessor () {}
-
- Preprocessor (TokenStream<char>& is)
- : state (PREPROCESSING),
- loc_ ("C"),
- is_ (is)
- {
- }
-
- public:
- virtual int_type
- next ()
- {
- return out_get ();
- }
-
- private:
- int_type
- underflow ()
- {
- int_type i = in_get ();
-
- if (eos (i))
- {
- return i;
- }
-
- char_type c = to_char_type (i);
-
- //std::cerr << "next_i: c = " << c << std::endl;
-
- switch (c)
- {
- case '\\': return handle_escape ();
- case '\"':
- {
- if (state == STRING_LITERAL) state = PREPROCESSING;
- else if (state == PREPROCESSING) state = STRING_LITERAL;
- else
- {
- //@@error
- }
- break;
- }
- case '\'':
- {
- if (state == CHAR_LITERAL) state = PREPROCESSING;
- else if (state == PREPROCESSING) state = CHAR_LITERAL;
- else
- {
- //@@error
- }
- break;
- }
- case '#':
- {
- if (state != PREPROCESSING) break;
- return handle_preprocessor_token ();
- }
- }
-
- return i;
- }
-
- int_type
- handle_escape ()
- {
- int_type i = in_get ();
-
- if (eos (i))
- {
- //@@ error
- return i;
- }
-
- char_type c = to_char_type (i);
-
- //@@ '\n' won't work on MShit
- switch (c)
- {
- case '\n': return underflow (); //skip it
- default:
- {
- out_buffer_.push_back (i);
- return '\\';
- }
- }
- }
-
- void
- skip_white_space ()
- {
- while (true)
- {
- int_type i = in_get ();
- if (!eos (i))
- {
- char_type c = to_char_type (i);
- if (std::isspace (c, loc_) && c != '\n') continue;
- }
-
- in_put (i);
- break;
- }
- }
-
- int_type
- handle_preprocessor_token ()
- {
- //std::cerr << "handle_preprocessor_token" << std::endl;
-
- skip_white_space ();
-
- std::string lexeme;
-
- int_type i;
- char_type c;
-
- while (true)
- {
- i = in_get ();
-
- if (eos (i))
- {
- //@@ error
- return i;
- }
-
- c = to_char_type (i);
-
- if (std::isalnum (c, loc_))
- {
- lexeme += c;
- continue;
- }
- break;
- }
-
- if (lexeme == "include") return handle_preprocessor_include ();
- else
- {
- // skip till newline
- while (true)
- {
- if (c == '\n') break;
-
- i = in_get ();
-
- if (eos (i))
- {
- //@@ error
- return i;
- }
-
- c = to_char_type (i);
- }
- }
-
- return underflow ();
- }
-
-
- int_type
- handle_preprocessor_include ()
- {
- //out_put (std::string ("include"));
-
- skip_white_space ();
-
- std::string file;
-
- int_type i = in_get ();
-
- if (eos (i))
- {
- //@@ error
- return i;
- }
-
- char_type c = to_char_type (i);
-
- char_type finilizer;
-
- if (c == '\"') finilizer = c;
- else if (c == '<') finilizer = '>';
- else
- {
- //@@error
- }
-
- while (true)
- {
- i = in_get ();
-
- if (eos (i))
- {
- //@@ error
- return i;
- }
-
- c = to_char_type (i);
-
- if (c == finilizer) break;
-
- file += c;
- }
-
- //@@ it's probably a good idea to skip until the newline
- // and perhaps check that all the rest is whitespace.
-
- if (finilizer == '>') out_put (std::string("sinclude \""));
- else out_put (std::string("include \""));
-
- out_put (file);
- out_put ("\";");
-
- return out_get ();
- }
-
-
- private:
-
- // Buffer manipulation
-
- int_type
- in_get ()
- {
- if (in_buffer_.empty ())
- {
- return is_.next ();
- }
- else
- {
- int_type i = in_buffer_.front ();
- in_buffer_.pop_front ();
- return i;
- }
- }
-
- void
- in_put (int_type c)
- {
- in_buffer_.push_back (c);
- }
-
- int_type
- out_get ()
- {
- if (out_buffer_.empty ())
- {
- return underflow ();
- }
- else
- {
- int_type i = out_buffer_.front ();
- out_buffer_.pop_front ();
- return i;
- }
- }
-
- void
- out_put (std::string const& str)
- {
- for (std::string::const_iterator i = str.begin (); i != str.end (); i++)
- {
- out_buffer_.push_back (*i);
- }
- }
-
- void
- out_put (int_type c)
- {
- out_buffer_.push_back (c);
- }
-
- private:
- enum State
- {
- PREPROCESSING,
- STRING_LITERAL,
- CHAR_LITERAL
- } state;
-
- std::locale loc_;
- TokenStream<char>& is_;
- std::deque<int_type> in_buffer_;
- std::deque<int_type> out_buffer_;
- };
-}
-
-#endif //CCF_PREPROCESSOR_HPP
diff --git a/TAO/CIAO/CCF/CCF/CompilerElements/ReferenceCounting.hpp b/TAO/CIAO/CCF/CCF/CompilerElements/ReferenceCounting.hpp
deleted file mode 100644
index 231b3b1b51d..00000000000
--- a/TAO/CIAO/CCF/CCF/CompilerElements/ReferenceCounting.hpp
+++ /dev/null
@@ -1,14 +0,0 @@
-// file : CCF/CompilerElements/ReferenceCounting.hpp
-// author : Boris Kolpackov <boris@dre.vanderbilt.edu>
-// cvs-id : $Id$
-
-#ifndef CCF_RUNTIME_REFERENCE_COUNTING_H
-#define CCF_RUNTIME_REFERENCE_COUNTING_H
-
-#include "MSVC_Pragmas.hpp"
-
-#include "Utility/ReferenceCounting/ReferenceCounting.hpp"
-
-namespace ReferenceCounting = Utility::ReferenceCounting;
-
-#endif // CCF_RUNTIME_REFERENCE_COUNTING_H
diff --git a/TAO/CIAO/CCF/CCF/CompilerElements/SemanticAction.hpp b/TAO/CIAO/CCF/CCF/CompilerElements/SemanticAction.hpp
deleted file mode 100644
index 23448fe4c2a..00000000000
--- a/TAO/CIAO/CCF/CCF/CompilerElements/SemanticAction.hpp
+++ /dev/null
@@ -1,15 +0,0 @@
-#ifndef SEMANTIC_ACTION_HPP
-#define SEMANTIC_ACTION_HPP
-
-#include "MSVC_Pragmas.hpp"
-
-namespace SemanticAction
-{
- class Base
- {
- public:
- virtual ~Base () {};
- };
-}
-
-#endif // SEMANTIC_ACTION_HPP
diff --git a/TAO/CIAO/CCF/CCF/CompilerElements/Token.hpp b/TAO/CIAO/CCF/CCF/CompilerElements/Token.hpp
deleted file mode 100644
index cb172c8746b..00000000000
--- a/TAO/CIAO/CCF/CCF/CompilerElements/Token.hpp
+++ /dev/null
@@ -1,255 +0,0 @@
-#ifndef TOKEN_HPP
-#define TOKEN_HPP
-
-#include "MSVC_Pragmas.hpp"
-
-#include <vector>
-#include <string>
-//@@ it's a good idea to include ostream instead of iostream where I only
-// use ostreams
-#include <ostream>
-
-#include "CCF/CompilerElements/ReferenceCounting.hpp"
-
-//
-//
-//
-class Token : public ReferenceCounting::DefaultImpl <>
-{
-protected:
- Token (unsigned long line)
- : line_ (line)
- {
- }
-
-public:
- virtual ~Token () throw () {}
-
-public:
- unsigned long
- line () const
- {
- return line_;
- }
-
-private:
- unsigned long line_;
-};
-
-typedef
-ReferenceCounting::StrictPtr<Token>
-TokenPtr;
-
-typedef
-std::vector<TokenPtr>
-TokenStream;
-
-//
-//
-//
-class EndOfStream : public Token
-{
-public:
- EndOfStream ()
- : Token (0)
- {
- }
-
- virtual ~EndOfStream () throw () {}
-};
-
-typedef
-ReferenceCounting::StrictPtr<EndOfStream>
-EndOfStreamPtr;
-
-//
-//
-//
-class Keyword : public Token
-{
-public:
- Keyword ()
- : Token (0)
- {
- }
-
- virtual
- ~Keyword () throw () {}
-};
-
-typedef
-ReferenceCounting::StrictPtr<Keyword>
-KeywordPtr;
-
-
-
-//
-//
-//
-class Punctuation : public Token
-{
-public:
- Punctuation ()
- : Token (0)
- {
- }
-
- virtual
- ~Punctuation () throw () {}
-};
-
-typedef
-ReferenceCounting::StrictPtr<Punctuation>
-PunctuationPtr;
-
-
-//
-//
-//
-class Identifier : public Token
-{
-public:
- Identifier (std::string const& value, unsigned long line)
- : Token (line),
- value_ (value)
- {
- }
-
- virtual
- ~Identifier () throw () {}
-
- //@@ this mf should probably be called str () or something like this
- std::string
- value () const
- {
- return value_;
- }
-
-protected:
- std::string value_;
-};
-
-typedef
-ReferenceCounting::StrictPtr<Identifier>
-IdentifierPtr;
-
-inline std::ostream&
-operator<< (std::ostream& o, IdentifierPtr const& id)
-{
- if (id != 0) o << id->value ();
- return o;
-}
-
-//
-//
-//
-class SimpleIdentifier : public Identifier
-{
-public:
- SimpleIdentifier (std::string const& value, unsigned long line)
- : Identifier (value, line)
- {
- }
-
- virtual
- ~SimpleIdentifier () throw () {}
-};
-
-typedef
-ReferenceCounting::StrictPtr<SimpleIdentifier>
-SimpleIdentifierPtr;
-
-inline std::ostream&
-operator<< (std::ostream& o, SimpleIdentifierPtr const& id)
-{
- if (id != 0) o << id->value ();
- return o;
-}
-
-//
-//
-//
-class ScopedIdentifier : public Identifier
-{
-public:
- ScopedIdentifier (std::string const& value, unsigned long line)
- : Identifier (value, line)
- {
- }
-
- virtual
- ~ScopedIdentifier () throw () {}
-};
-
-typedef
-ReferenceCounting::StrictPtr<ScopedIdentifier>
-ScopedIdentifierPtr;
-
-inline std::ostream&
-operator<< (std::ostream& o, ScopedIdentifierPtr const& id)
-{
- if (id != 0) o << id->value ();
- return o;
-}
-
-//
-//
-//
-class StringLiteral : public Token
-{
-public:
- StringLiteral (std::string const& value, unsigned long line)
- : Token (line),
- value_ (value)
- {
- }
-
- virtual
- ~StringLiteral () throw () {}
-
- std::string
- value () const
- {
- return value_;
- }
-
-protected:
- std::string value_;
-};
-
-typedef
-ReferenceCounting::StrictPtr<StringLiteral>
-StringLiteralPtr;
-
-inline std::ostream&
-operator<< (std::ostream& o, StringLiteralPtr const& sl)
-{
- if (sl != 0) o << sl->value ();
- return o;
-}
-
-//@@ this is experimental code
-//
-//
-template <typename TypePtr>
-bool identical (TypePtr const& a, TokenPtr const& b)
-{
- typedef
- typename TypePtr::Type
- Type;
-
- Type* t = dynamic_cast<Type*>(b.in ());
- return (t != 0) && (t == a.in ());
-};
-
-template <typename TypePtr>
-TypePtr typical (TokenPtr a)
-{
- typedef
- typename TypePtr::Type
- Type;
-
- return TypePtr(add_ref(dynamic_cast<Type*>(a.in ())));
-};
-
-#endif // TOKEN_HPP
diff --git a/TAO/CIAO/CCF/CCF/CompilerElements/TokenStream.hpp b/TAO/CIAO/CCF/CCF/CompilerElements/TokenStream.hpp
deleted file mode 100644
index a157cfeb71b..00000000000
--- a/TAO/CIAO/CCF/CCF/CompilerElements/TokenStream.hpp
+++ /dev/null
@@ -1,65 +0,0 @@
-#ifndef TOKEN_STREAM_HPP
-#define TOKEN_STREAM_HPP
-
-#include <string>
-#include <istream>
-
-namespace CCF
-{
- template <typename Token>
- class TokenStream
- {
- public:
- virtual Token
- next () = 0;
- };
-
-
- template <>
- class TokenStream<char>
- {
- public:
- typedef std::char_traits<char> traits;
-
- typedef traits::int_type int_type;
- typedef traits::char_type char_type;
-
- public:
- virtual int_type
- next () = 0;
-
- char_type
- to_char_type (int_type i)
- {
- return traits::to_char_type (i);
- }
-
- bool
- eos (int_type i)
- {
- return i == traits::eof ();
- }
- };
-
- class InputStreamAdapter : public TokenStream<char>
- {
- public:
- InputStreamAdapter (std::istream& is)
- : is_ (is)
- {
- }
-
- public:
-
- virtual int_type
- next ()
- {
- return is_.get ();
- }
-
- private:
- std::istream& is_;
- };
-}
-
-#endif //TOKEN_STREAM_HPP
diff --git a/TAO/CIAO/CCF/CCF/CompilerElements/Traversal.hpp b/TAO/CIAO/CCF/CCF/CompilerElements/Traversal.hpp
deleted file mode 100644
index 86066ee7a63..00000000000
--- a/TAO/CIAO/CCF/CCF/CompilerElements/Traversal.hpp
+++ /dev/null
@@ -1,38 +0,0 @@
-#ifndef TRAVERSAL_HPP
-#define TRAVERSAL_HPP
-
-#include "MSVC_Pragmas.hpp"
-
-namespace CCF
-{
- namespace Traversal
- {
- struct Visitor
- {
- virtual
- ~Visitor () /*@@= 0*/ {}
- };
-
-
- template <typename VisitorType>
- bool
- try_visit (
- void (VisitorType::*visit_func)(typename VisitorType::NodePtr const&),
- Visitor* v,
- typename VisitorType::NodePtr const& n)
- {
- VisitorType* vt = dynamic_cast<VisitorType*> (v);
- if(vt != 0)
- {
- (vt->*visit_func)(n);
- return true;
- }
- else
- {
- return false;
- }
- }
- }
-}
-
-#endif // TRAVERSAL_HPP
diff --git a/TAO/CIAO/CCF/CCF/IDL2/IDL2.cpp b/TAO/CIAO/CCF/CCF/IDL2/IDL2.cpp
deleted file mode 100644
index cfa1da318d3..00000000000
--- a/TAO/CIAO/CCF/CCF/IDL2/IDL2.cpp
+++ /dev/null
@@ -1 +0,0 @@
-// $Id$
diff --git a/TAO/CIAO/CCF/CCF/IDL2/IDL2.vcproj b/TAO/CIAO/CCF/CCF/IDL2/IDL2.vcproj
deleted file mode 100644
index ea6de026267..00000000000
--- a/TAO/CIAO/CCF/CCF/IDL2/IDL2.vcproj
+++ /dev/null
@@ -1,159 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="7.10"
- Name="IDL2"
- ProjectGUID="{BC4A74B6-EBE7-486D-A537-B4217AE7304E}"
- Keyword="Win32Proj">
- <Platforms>
- <Platform
- Name="Win32"/>
- </Platforms>
- <Configurations>
- <Configuration
- Name="Debug|Win32"
- OutputDirectory="$(ProjectDir)"
- IntermediateDirectory="Debug"
- ConfigurationType="4"
- CharacterSet="2">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories="../..;../../External/Utility"
- PreprocessorDefinitions="WIN32;_DEBUG;_LIB"
- MinimalRebuild="TRUE"
- BasicRuntimeChecks="3"
- RuntimeLibrary="5"
- ForceConformanceInForLoopScope="TRUE"
- RuntimeTypeInfo="TRUE"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="TRUE"
- DebugInformationFormat="4"/>
- <Tool
- Name="VCCustomBuildTool"/>
- <Tool
- Name="VCLibrarianTool"
- OutputFile="$(OutDir)/IDL2.lib"/>
- <Tool
- Name="VCMIDLTool"/>
- <Tool
- Name="VCPostBuildEventTool"/>
- <Tool
- Name="VCPreBuildEventTool"/>
- <Tool
- Name="VCPreLinkEventTool"/>
- <Tool
- Name="VCResourceCompilerTool"/>
- <Tool
- Name="VCWebServiceProxyGeneratorTool"/>
- <Tool
- Name="VCXMLDataGeneratorTool"/>
- <Tool
- Name="VCManagedWrapperGeneratorTool"/>
- <Tool
- Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
- </Configuration>
- <Configuration
- Name="Release|Win32"
- OutputDirectory="Release"
- IntermediateDirectory="Release"
- ConfigurationType="4"
- CharacterSet="2">
- <Tool
- Name="VCCLCompilerTool"
- PreprocessorDefinitions="WIN32;NDEBUG;_LIB"
- RuntimeLibrary="4"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="TRUE"
- DebugInformationFormat="3"/>
- <Tool
- Name="VCCustomBuildTool"/>
- <Tool
- Name="VCLibrarianTool"
- OutputFile="$(OutDir)/IDL2.lib"/>
- <Tool
- Name="VCMIDLTool"/>
- <Tool
- Name="VCPostBuildEventTool"/>
- <Tool
- Name="VCPreBuildEventTool"/>
- <Tool
- Name="VCPreLinkEventTool"/>
- <Tool
- Name="VCResourceCompilerTool"/>
- <Tool
- Name="VCWebServiceProxyGeneratorTool"/>
- <Tool
- Name="VCXMLDataGeneratorTool"/>
- <Tool
- Name="VCManagedWrapperGeneratorTool"/>
- <Tool
- Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
- </Configuration>
- </Configurations>
- <References>
- </References>
- <Files>
- <Filter
- Name="Source Files"
- Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx"
- UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}">
- <File
- RelativePath=".\IDL2_LexicalAnalyzer.cpp">
- </File>
- <File
- RelativePath=".\IDL2_SyntaxTree.cpp">
- </File>
- <File
- RelativePath=".\IDL2_SyntaxTree_BuiltIn.cpp">
- </File>
- <File
- RelativePath=".\IDL2_Traversal.cpp">
- </File>
- </Filter>
- <Filter
- Name="Header Files"
- Filter="h;hpp;hxx;hm;inl;inc;xsd"
- UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}">
- <File
- RelativePath=".\IDL2_LexicalAnalyzer.hpp">
- </File>
- <File
- RelativePath=".\IDL2_Parser.hpp">
- </File>
- <File
- RelativePath=".\IDL2_SemanticAction.hpp">
- </File>
- <File
- RelativePath=".\IDL2_SemanticActionImpl.hpp">
- </File>
- <File
- RelativePath=".\IDL2_SyntaxTree.hpp">
- </File>
- <File
- RelativePath=".\IDL2_SyntaxTree_BuiltIn.hpp">
- </File>
- <File
- RelativePath=".\IDL2_SyntaxTree_Value.hpp">
- </File>
- <File
- RelativePath=".\IDL2_SyntaxTreeFwd.hpp">
- </File>
- <File
- RelativePath=".\IDL2_Traversal.hpp">
- </File>
- <File
- RelativePath=".\MSVC_Pragmas.hpp">
- </File>
- </Filter>
- <Filter
- Name="Resource Files"
- Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx"
- UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}">
- </Filter>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>
diff --git a/TAO/CIAO/CCF/CCF/IDL2/IDL2_LexicalAnalyzer.cpp b/TAO/CIAO/CCF/CCF/IDL2/IDL2_LexicalAnalyzer.cpp
deleted file mode 100644
index a3a028d2493..00000000000
--- a/TAO/CIAO/CCF/CCF/IDL2/IDL2_LexicalAnalyzer.cpp
+++ /dev/null
@@ -1,377 +0,0 @@
-// $Id$
-#include "IDL2_LexicalAnalyzer.hpp"
-
-#include <iostream>
-
-namespace IDL2
-{
- LexicalAnalyzer::
- LexicalAnalyzer (CCF::TokenStream<char>& is)
- : loc_ ("C"),
- is_ (is),
- after_nl (true),
- line_ (0),
-
- eos (new EndOfStream),
-
- abstract (new Keyword),
- attribute (new Keyword),
- factory (new Keyword),
- in (new Keyword),
- include (new Keyword),
- inout (new Keyword),
- interface (new Keyword),
- local (new Keyword),
- module (new Keyword),
- out (new Keyword),
- sinclude (new Keyword),
- supports (new Keyword),
-
- colon (new Punctuation),
- comma (new Punctuation),
- lbrace (new Punctuation),
- rbrace (new Punctuation),
- lparen (new Punctuation),
- rparen (new Punctuation),
- semi (new Punctuation)
- {
- keyword_table_["abstract" ] = abstract;
- keyword_table_["attribute"] = attribute;
- keyword_table_["factory" ] = factory;
- keyword_table_["in" ] = in;
- keyword_table_["include" ] = include;
- keyword_table_["inout" ] = inout;
- keyword_table_["interface"] = interface;
- keyword_table_["local" ] = local;
- keyword_table_["module" ] = module;
- keyword_table_["out" ] = out;
- keyword_table_["sinclude" ] = sinclude;
- keyword_table_["supports" ] = supports;
-
- punctuation_table_[":"] = colon;
- punctuation_table_[","] = comma;
- punctuation_table_["{"] = lbrace;
- punctuation_table_["}"] = rbrace;
- punctuation_table_["("] = lparen;
- punctuation_table_[")"] = rparen;
- punctuation_table_[";"] = semi;
- }
-
-
- LexicalAnalyzer::int_type LexicalAnalyzer::
- get ()
- {
- int_type i;
-
- if (buffer_.empty ())
- {
- i = is_.next ();
- }
- else
- {
- i = buffer_.front ();
- buffer_.pop_front ();
- }
-
- if (after_nl)
- {
- after_nl = false;
- line_++;
- }
-
- if (i == '\n')
- {
- after_nl = true;
- }
-
- return i;
- }
-
- LexicalAnalyzer::int_type LexicalAnalyzer::
- peek ()
- {
- int_type i;
-
- if (buffer_.empty ())
- {
- i = is_.next ();
- buffer_.push_back (i);
- }
- else
- {
- i = buffer_.front ();
- }
-
- return i;
- }
-
- LexicalAnalyzer::int_type LexicalAnalyzer::
- peek_more ()
- {
- int_type i;
-
- if (buffer_.size () < 2)
- {
- i = is_.next ();
- buffer_.push_back (i);
- }
- else
- {
- i = buffer_.at (1);
- }
-
- return i;
- }
-
- LexicalAnalyzer::char_type LexicalAnalyzer::
- to_char_type (int_type i)
- {
- return is_.to_char_type (i);
- }
-
-
- TokenPtr LexicalAnalyzer::
- next ()
- {
- while (true)
- {
- int_type i = get ();
-
- if (is_.eos(i)) return eos;
-
- char_type c = to_char_type (i);
-
- // Handling spaces
- if (std::isspace (c, loc_)) continue;
-
- // Handling C++ comments
- if (c == '/' && peek () == '/')
- {
- cxx_comment (c);
- continue;
- }
-
- // Handling C comments
- if (c == '/' && peek () == '*')
- {
- c_comment (c);
- continue;
- }
-
- if (std::isalpha (c, loc_) || c == '_' || (c == ':' && peek () == ':'))
- {
- return identifier (c);
- }
-
- TokenPtr token;
-
- if (string_literal (c, token)) return token;
-
- if (punctuation (c, token)) return token;
-
-
- std::cerr << line_ << ": error: unable to derive any token from \'"
- << c << "\'" << std::endl;
-
- //@@ I should return something special here.
- return eos;
- }
- }
-
- void LexicalAnalyzer::
- cxx_comment (char_type c)
- {
- while (c != '\n')
- {
- int_type i = get ();
-
- if (is_.eos (i))
- {
- std::cerr << "warning: no new line at the end of file" << std::endl;
- //@@ I wonder if it's ok to call get () again after getting eof.
- break;
- }
- c = to_char_type (i);
- }
- }
-
- void LexicalAnalyzer::
- c_comment (char_type c)
- {
- get (); // get '*'
-
- do
- {
- int_type i = get ();
-
- if (is_.eos (i))
- {
- std::cerr << "error: end of file before C-style comment finished"
- << std::endl;
- return;
-
- //@@ I wonder if it's ok to call get () again after getting eof.
- }
- c = to_char_type (i);
-
- //std::cerr << "lexer: c_comment: read character \'" << c << "\'"
- // << std::endl;
- }
- while (c != '*' || peek () != '/');
-
- //std::cerr << "lexer: c_comment: finished C-comment \'" << c
- // << "\',\'" << to_char_type (peek ())
- // << "\'" << std::endl;
-
- get (); // get '/'
- }
-
- TokenPtr LexicalAnalyzer::
- identifier (char_type c)
- {
- std::string lexeme;
-
- enum
- {
- SIMPLE,
- SCOPED,
- OTHER
- } type = SIMPLE;
-
- if (c == ':')
- {
- get ();
- lexeme = "::";
- type = SCOPED;
- }
- else
- {
- lexeme += c;
- }
-
- while (true)
- {
- int_type i = peek ();
-
- if (is_.eos (i))
- {
- std::cerr << "warning: no new line at the end of file" << std::endl;
- break;
- }
-
- c = to_char_type (i);
-
- //std::cerr << "lexer::identifier: peeking on \'" << c
- // << "\'; current lexeme \'" << lexeme << "\'"
- // << std::endl;
-
- if (std::isalnum (c, loc_) || c == '_')
- {
- get ();
- lexeme += c;
- continue;
- }
-
- if (c == ':' && peek_more () == ':')
- {
- get ();
- get ();
- lexeme += "::";
- if (type == SIMPLE) type = OTHER;
- continue;
- }
-
- break;
- }
-
- //std::cerr << "lexer: found identifier with lexeme \'"
- // << lexeme << "\'" << std::endl;
-
- switch (type)
- {
- case SIMPLE:
- {
- KeywordTable::const_iterator i = keyword_table_.find (lexeme);
-
- if (i == keyword_table_.end ())
- {
- return TokenPtr (new SimpleIdentifier (lexeme, line_));
- }
- else
- {
- return i->second;
- }
- }
- case SCOPED:
- {
- return TokenPtr (new ScopedIdentifier (lexeme, line_));
- }
- case OTHER:
- {
- return TokenPtr (new Identifier (lexeme, line_));
- }
- //@@ without this line GCC issues warning and MSVC issues error
- // Is it required by standard?
- default:
- {
- throw InternalError ();
- }
-
- }
- }
-
- bool LexicalAnalyzer::
- punctuation (char_type c, TokenPtr& token)
- {
- PunctuationTable::const_iterator i = punctuation_table_.begin ();
-
- while (true)
- {
- for (;i != punctuation_table_.end () && i->first[0] != c; i++);
-
- if (i == punctuation_table_.end ()) return false;
-
- // if it's a two-character punctuation
- if (i->first.size () == 2)
- {
- if (i->first[1] != peek ())
- {
- // move on to the next candidate
- i++;
- continue;
- }
- }
-
- token = i->second;
- return true;
- }
- }
-
- bool LexicalAnalyzer::
- string_literal (char_type c, TokenPtr& token)
- {
- if (c != '\"') return false;
-
- std::string lexeme;
-
- while (true)
- {
- int_type i = get ();
-
- if (is_.eos (i))
- {
- std::cerr << "warning: end of file while reading string literal"
- << std::endl;
- break;
- }
-
- c = to_char_type (i);
-
- if (c == '\"') break;
- else lexeme += c;
- }
-
- token = TokenPtr(new StringLiteral (lexeme, line_));
- return true;
- }
-}
diff --git a/TAO/CIAO/CCF/CCF/IDL2/IDL2_LexicalAnalyzer.hpp b/TAO/CIAO/CCF/CCF/IDL2/IDL2_LexicalAnalyzer.hpp
deleted file mode 100644
index 52d3bbfd7a3..00000000000
--- a/TAO/CIAO/CCF/CCF/IDL2/IDL2_LexicalAnalyzer.hpp
+++ /dev/null
@@ -1,129 +0,0 @@
-// $Id$
-#ifndef CCF_IDL2_LEXICAL_ANALYZER_HPP
-#define CCF_IDL2_LEXICAL_ANALYZER_HPP
-
-#include "MSVC_Pragmas.hpp"
-
-#include "CCF/CompilerElements/Token.hpp"
-#include "CCF/CompilerElements/TokenStream.hpp"
-
-#include <map>
-#include <deque>
-#include <locale>
-#include <cctype>
-#include <string>
-#include <istream>
-
-namespace IDL2
-{
- //@@ It seems to me that there should be a diagnistic information (file,
- // line, start_pos, end_pos) supplied with each token. (Thus lexer
- // will have to know about #include business. Or maybe not..?)
- //
- //@@ Would be nice to have a read-only symbol table (or at least keyword
- // table). This way it would be easier to extend language (which from
- // lexer's persective would ususally mean to add new keywords).
-
- class LexicalAnalyzer
- {
- //@@ fixme (should be at the end of class)
- protected:
-
- typedef CCF::TokenStream<char>::int_type int_type;
- typedef CCF::TokenStream<char>::char_type char_type;
- typedef CCF::TokenStream<char>::traits traits;
-
- typedef
- std::map<std::string, KeywordPtr>
- KeywordTable;
-
- typedef
- std::map<std::string, PunctuationPtr>
- PunctuationTable;
-
-
- std::locale loc_;
- KeywordTable keyword_table_;
- PunctuationTable punctuation_table_;
- CCF::TokenStream<char>& is_;
-
- // look ahead mechanism
- std::deque<int_type> buffer_;
-
- // line numbering mechanism
- bool after_nl;
- unsigned long line_;
-
-
- public:
- virtual
- ~LexicalAnalyzer () throw () {}
-
- public:
- class InternalError {};
-
- EndOfStreamPtr eos;
-
- // Keywords (alphabetic order)
-
- KeywordPtr abstract;
- KeywordPtr attribute;
- KeywordPtr factory;
- KeywordPtr in;
- KeywordPtr include;
- KeywordPtr inout;
- KeywordPtr interface;
- KeywordPtr local;
- KeywordPtr module;
- KeywordPtr out;
- KeywordPtr sinclude;
- KeywordPtr supports;
-
- // Punctuations (alphabetic group order)
-
- PunctuationPtr colon;
- PunctuationPtr comma;
- PunctuationPtr lbrace;
- PunctuationPtr rbrace;
- PunctuationPtr lparen;
- PunctuationPtr rparen;
- PunctuationPtr semi;
-
- public:
- LexicalAnalyzer (CCF::TokenStream<char>& is);
-
- virtual TokenPtr
- next ();
-
- protected:
-
- virtual int_type
- get ();
-
- virtual int_type
- peek ();
-
- virtual int_type
- peek_more ();
-
- char_type
- to_char_type (int_type i);
-
- virtual void
- cxx_comment (char_type c);
-
- virtual void
- c_comment (char_type c);
-
- virtual TokenPtr
- identifier (char_type c);
-
- virtual bool
- string_literal (char_type c, TokenPtr& token);
-
- virtual bool
- punctuation (char_type c, TokenPtr& token);
- };
-}
-
-#endif // CCF_IDL2_LEXICAL_ANALYZER_HPP
diff --git a/TAO/CIAO/CCF/CCF/IDL2/IDL2_Parser.hpp b/TAO/CIAO/CCF/CCF/IDL2/IDL2_Parser.hpp
deleted file mode 100644
index 1a258ca732a..00000000000
--- a/TAO/CIAO/CCF/CCF/IDL2/IDL2_Parser.hpp
+++ /dev/null
@@ -1,421 +0,0 @@
-// $Id$
-#ifndef CCF_IDL2_PARSER_HPP
-#define CCF_IDL2_PARSER_HPP
-
-#include "MSVC_Pragmas.hpp"
-
-#include "CCF/CompilerElements/Parser.hpp"
-#include "CCF/IDL2/IDL2_LexicalAnalyzer.hpp"
-#include "CCF/IDL2/IDL2_SemanticAction.hpp"
-
-//@@ tmp
-#include <iostream>
-using std::cerr;
-using std::endl;
-
-namespace IDL2
-{
- class Parser : public virtual ::Parser
- {
- public:
- virtual
- ~Parser () throw () {}
-
- protected:
- LexicalAnalyzer const& lexer_;
- SemanticActionFactory& actions_;
-
- protected:
-
- // @@ this stinks
- // Semanic action types
- //
-
- typedef
- SemanticAction::Include
- Include;
-
- typedef
- SemanticAction::Scope
- Scope;
-
- typedef
- SemanticAction::Module
- Module;
-
- typedef
- SemanticAction::Interface
- Interface;
-
- typedef
- SemanticAction::Attribute
- Attribute;
-
- typedef
- SemanticAction::Operation
- Operation;
-
- protected:
-
- //
- // Primitives
- //
- typedef
- Details::KeywordParser
- KeywordParser;
-
- typedef
- Details::PunctuationParser
- PunctuationParser;
-
- typedef
- Details::IdentifierParser
- IdentifierParser;
-
- typedef
- Details::SimpleIdentifierParser
- SimpleIdentifierParser;
-
- typedef
- Details::StringLiteralParser
- StringLiteralParser;
-
- // Keyword parsers (alphabetic order).
- KeywordParser ABSTRACT;
- KeywordParser ATTRIBUTE;
- KeywordParser FACTORY;
- KeywordParser IN;
- KeywordParser INCLUDE;
- KeywordParser INOUT;
- KeywordParser INTERFACE;
- KeywordParser LOCAL;
- KeywordParser MODULE;
- KeywordParser OUT;
- KeywordParser SINCLUDE;
- KeywordParser SUPPORTS;
-
- // Punctuation parsers (alphabetic group order).
- PunctuationParser COLON;
- PunctuationParser COMMA;
- PunctuationParser LBRACE;
- PunctuationParser RBRACE;
- PunctuationParser LPAREN;
- PunctuationParser RPAREN;
- PunctuationParser SEMI;
-
- IdentifierParser identifier;
- SimpleIdentifierParser simple_identifier;
- StringLiteralParser string_literal;
-
-
- //
- // Language
- //
-
- typedef
- Details::Rule
- Rule;
-
- Rule language;
- Rule import;
- Rule declaration;
- Rule extension;
-
- Rule include_decl;
- Rule system_include_decl;
-
- Rule module_decl;
-
- Rule interface_decl;
- Rule interface_header;
- Rule interface_inheritance_spec;
- Rule interface_body;
-
- Rule attribute_decl;
-
- Rule direction_specifier;
-
- Rule operation_decl;
- Rule operation_parameter_list;
- Rule operation_parameter;
-
- public:
- Parser (LexicalAnalyzer const& l, SemanticActionFactory& f)
- : lexer_ (l),
- actions_ (f),
-
- ABSTRACT (l.abstract),
- ATTRIBUTE (l.attribute),
- FACTORY (l.factory),
- IN (l.in),
- INCLUDE (l.include),
- INOUT (l.inout),
- INTERFACE (l.interface),
- LOCAL (l.local),
- MODULE (l.module),
- OUT (l.out),
- SINCLUDE (l.sinclude),
- SUPPORTS (l.supports),
-
- COLON (l.colon),
- COMMA (l.comma),
- LBRACE (l.lbrace),
- RBRACE (l.rbrace),
- LPAREN (l.lparen),
- RPAREN (l.rparen),
- SEMI (l.semi),
-
- act_include_begin (f.include (), &Include::begin),
- act_include_end (f.include (), &Include::end),
-
- act_module_begin (f.module (), &Module::begin),
- act_module_open_scope (f.module (), &Scope::open_scope),
- act_module_close_scope (f.module (), &Scope::close_scope),
- act_module_end (f.module (), &Module::end),
-
- act_interface_begin (this, &Parser::act_interface_begin_core),
- act_interface_inherits (f.interface (), &Interface::inherits),
- act_interface_open_scope (f.interface (), &Scope::open_scope),
- act_interface_close_scope (f.interface (), &Scope::close_scope),
- act_interface_end (f.interface (), &Interface::end),
-
- act_attribute_type (f.attribute (), &Attribute::type),
- act_attribute_name (f.attribute (), &Attribute::name),
-
- act_operation_begin (f.operation (), &Operation::begin),
- act_operation_parameter (this,
- &Parser::act_operation_parameter_core),
- act_operation_end (f.operation (), &Operation::end)
-
- {
- language = *import >> +declaration
- ;
-
- import =
- include_decl
- | system_include_decl
- ;
-
- include_decl =
- INCLUDE
- >> string_literal[act_include_begin]
- >> SEMI[act_include_end]
- ;
-
- system_include_decl =
- SINCLUDE
- >> string_literal
- >> SEMI[act_include_end]
- ;
-
- declaration =
- interface_decl
- | module_decl
- | extension
- ;
-
- module_decl =
- MODULE
- >> simple_identifier[act_module_begin]
- >> LBRACE[act_module_open_scope]
- >> +declaration
- >> RBRACE[act_module_close_scope]
- >> SEMI[act_module_end]
- ;
-
-
- //
- // interface
- //
- interface_decl =
- interface_header
- >>
- (
- SEMI[act_interface_end]
- |
- (
- !(COLON >> interface_inheritance_spec)
- >> LBRACE[act_interface_open_scope]
- >> interface_body
- >> RBRACE[act_interface_close_scope]
- >> SEMI[act_interface_end]
- )
- )
- ;
-
- interface_header =
- (
- !(LOCAL | ABSTRACT)
- >> INTERFACE
- >> simple_identifier
- )[act_interface_begin]
- ;
-
-
- interface_inheritance_spec =
- identifier[act_interface_inherits]
- >> *(COMMA >> identifier[act_interface_inherits])
- ;
-
- interface_body =
- *(
- attribute_decl
- | operation_decl
- )
- ;
-
- //
- // attribute
- //
- attribute_decl =
- ATTRIBUTE
- >> identifier[act_attribute_type]
- >> simple_identifier[act_attribute_name]
- >> SEMI
- ;
-
-
- //
- // direction specifier
- //
- direction_specifier =
- IN
- | OUT
- | INOUT
- ;
-
-
- //
- // operation
- //
- operation_decl =
- (identifier >> simple_identifier)[act_operation_begin]
- >> LPAREN
- >> operation_parameter_list
- >> RPAREN
- >> SEMI[act_operation_end]
- ;
-
- operation_parameter_list =
- *(
- operation_parameter
- >> *(COMMA >> operation_parameter)
- )
- ;
-
- operation_parameter =
- (
- direction_specifier
- >> identifier
- >> simple_identifier
- )[act_operation_parameter]
- ;
- }
-
- virtual Rule const&
- start() const
- {
- return language;
- }
-
- protected:
-
- //
- // Semantic actions
- //
-
- typedef
- NoArgAction<Scope>
- ScopeAction;
-
- //
- // Include
- //
- OneArgAction<StringLiteralPtr, Include> act_include_begin;
- NoArgAction<Include> act_include_end;
-
- //
- // Module
- //
-
- OneArgAction<SimpleIdentifierPtr, Module> act_module_begin;
- ScopeAction act_module_open_scope;
- ScopeAction act_module_close_scope;
- NoArgAction<Module> act_module_end;
-
- //
- // Interface
- //
- void
- act_interface_begin_core (Iterator begin, Iterator end) const
- {
- Interface::Qualifier::Value q = Interface::Qualifier::UNCONSTRAINED;
-
- if(end - begin == 3)
- {
- if(identical (lexer_.local, *begin))
- {
- q = Interface::Qualifier::LOCAL;
- }
- else
- {
- q = Interface::Qualifier::ABSTRACT;
- }
- begin++;
- }
-
- begin++;
-
- actions_.interface ().begin (q, typical<SimpleIdentifierPtr>(*begin));
- }
- ActionExecutor<Parser> act_interface_begin;
-
- OneArgAction<IdentifierPtr, Interface> act_interface_inherits;
-
- ScopeAction act_interface_open_scope;
- ScopeAction act_interface_close_scope;
-
- NoArgAction<Interface> act_interface_end;
-
- //
- // Attribute
- //
- OneArgAction<IdentifierPtr, Attribute> act_attribute_type;
- OneArgAction<SimpleIdentifierPtr, Attribute> act_attribute_name;
-
- //
- // Operation
- //
- TwoArgAction<IdentifierPtr,
- SimpleIdentifierPtr,
- Operation> act_operation_begin;
-
- void
- act_operation_parameter_core (Iterator begin, Iterator end) const
- {
- Operation::Direction::Value d = Operation::Direction::INOUT;
-
- if(identical (lexer_.in, *begin))
- {
- d = Operation::Direction::IN;
- }
- else if(identical (lexer_.out, *begin))
- {
- d = Operation::Direction::OUT;
- }
- begin++;
-
- actions_.operation ().parameter (
- d,
- typical<IdentifierPtr>(*begin),
- typical<SimpleIdentifierPtr>(*(begin + 1)));
- }
- ActionExecutor<Parser> act_operation_parameter;
-
- NoArgAction<Operation> act_operation_end;
-
-
- };
-}
-
-#endif // CCF_IDL2_PARSER_HPP
diff --git a/TAO/CIAO/CCF/CCF/IDL2/IDL2_SemanticAction.hpp b/TAO/CIAO/CCF/CCF/IDL2/IDL2_SemanticAction.hpp
deleted file mode 100644
index 3fb04f4c8dc..00000000000
--- a/TAO/CIAO/CCF/CCF/IDL2/IDL2_SemanticAction.hpp
+++ /dev/null
@@ -1,163 +0,0 @@
-// $Id$
-#ifndef CCF_IDL2_SEMANTIC_ACTION_HPP
-#define CCF_IDL2_SEMANTIC_ACTION_HPP
-
-#include "MSVC_Pragmas.hpp"
-
-#include "CCF/CompilerElements/Token.hpp"
-#include "CCF/CompilerElements/SemanticAction.hpp"
-
-namespace IDL2
-{
- namespace SemanticAction
- {
- using ::SemanticAction::Base;
-
- class Include : public virtual Base
- {
- public:
- virtual
- ~Include () throw () {}
-
- virtual void
- begin (StringLiteralPtr const& sl) = 0;
-
- virtual void
- end () = 0;
- };
-
- class Scope : public virtual Base
- {
- public:
- virtual
- ~Scope () throw () {}
-
- virtual void
- open_scope () = 0;
-
- virtual void
- close_scope () = 0;
- };
-
- class Module : public virtual Scope
- {
- public:
- virtual
- ~Module () throw () {}
-
- virtual void
- begin (SimpleIdentifierPtr const& id) = 0;
-
- virtual void
- end () = 0;
- };
-
- class Interface : public virtual Scope
- {
- public:
- virtual
- ~Interface () throw () {}
-
- struct Qualifier
- {
- enum Value
- {
- LOCAL,
- ABSTRACT,
- UNCONSTRAINED,
- };
-
- friend std::ostream&
- operator<< (std::ostream& o, Value d)
- {
- if (d == LOCAL) o << "local";
- else if (d == ABSTRACT) o << "abstract";
- else o << "unconstrained";
- return o;
- }
- };
-
- virtual void
- begin (Qualifier::Value qualifier, SimpleIdentifierPtr const& id) = 0;
-
- virtual void
- inherits (IdentifierPtr const& id) = 0;
-
- virtual void
- end () = 0;
- };
-
- class Attribute
- {
- public:
- virtual
- ~Attribute () throw () {}
-
- virtual void
- type (IdentifierPtr const& id) = 0;
-
- virtual void
- name (SimpleIdentifierPtr const& id) = 0;
- };
-
- class Operation
- {
- public:
-
- virtual void
- begin (IdentifierPtr const& type_id,
- SimpleIdentifierPtr const& name_id) = 0;
-
- struct Direction
- {
- enum Value
- {
- IN,
- OUT,
- INOUT
- };
-
- friend std::ostream&
- operator<< (std::ostream& o, Value d)
- {
- if (d == IN) o << "in";
- else if (d == OUT) o << "out";
- else o << "inout";
- return o;
- }
- };
-
- virtual void
- parameter (Direction::Value direction,
- IdentifierPtr const& type_id,
- SimpleIdentifierPtr const& name_id) = 0;
-
- virtual void
- end () = 0;
- };
- }
-
- class SemanticActionFactory
- {
- public:
- virtual
- ~SemanticActionFactory () throw () {}
-
- virtual SemanticAction::Include&
- include () = 0;
-
- virtual SemanticAction::Module&
- module () = 0;
-
- virtual SemanticAction::Interface&
- interface () = 0;
-
- virtual SemanticAction::Attribute&
- attribute () = 0;
-
- virtual SemanticAction::Operation&
- operation () = 0;
- };
-}
-
-#endif // CCF_IDL2_SEMANTIC_ACTION_HPP
diff --git a/TAO/CIAO/CCF/CCF/IDL2/IDL2_SemanticActionImpl.hpp b/TAO/CIAO/CCF/CCF/IDL2/IDL2_SemanticActionImpl.hpp
deleted file mode 100644
index 2169acbcddd..00000000000
--- a/TAO/CIAO/CCF/CCF/IDL2/IDL2_SemanticActionImpl.hpp
+++ /dev/null
@@ -1,742 +0,0 @@
-// $Id$
-#ifndef CCF_IDL2_SEMANTIC_ACTION_IMPL_HPP
-#define CCF_IDL2_SEMANTIC_ACTION_IMPL_HPP
-
-#include "MSVC_Pragmas.hpp"
-
-#include "CCF/IDL2/IDL2_SemanticAction.hpp"
-#include "CCF/IDL2/IDL2_SyntaxTree.hpp"
-#include "CCF/IDL2/IDL2_SyntaxTree_BuiltIn.hpp"
-
-#include <stack>
-
-// needed for include handling
-#include <fstream>
-
-//@@tmp
-#include <iostream>
-using std::cerr;
-using std::endl;
-
-namespace IDL2
-{
- namespace SemanticAction
- {
- namespace Impl
- {
-
- /*
- Design notes:
-
- (1) I am using stack-based approach to handle cases like this:
-
- struct A
- {
- struct B
- {
- struct C
- {
- ...
- } c;
- } b;
- };
-
- Even though you can't write the same let's say for interface
- I am still using stack approach for consistency and possible
- meta-coding.
-
- */
-
- using ReferenceCounting::strict_cast;
-
- //
- //
- //
- template <typename NodeTypePtr>
- class ScopeBase : public virtual SemanticAction::Scope
- {
- protected:
- virtual
- ~ScopeBase () throw () {}
-
- ScopeBase (SyntaxTree::ScopePtr& scope)
- : scope_ (scope)
- {
- }
-
- protected:
- void
- push (NodeTypePtr const& t)
- {
- stack_.push (t);
- }
-
- void
- pop ()
- {
- stack_.pop ();
- }
-
- NodeTypePtr&
- top ()
- {
- return stack_.top ();
- }
-
- protected:
- SyntaxTree::ScopePtr& scope_;
- std::stack<NodeTypePtr> stack_;
- };
-
-
- //
- //
- //
- class Include : public virtual SemanticAction::Include
- {
- public:
- virtual
- ~Include () throw () {}
-
- Include (SemanticActionFactory& action_factory,
- SyntaxTree::TranslationRegionPtr const& region,
- SyntaxTree::ScopePtr& scope)
- : action_factory_ (action_factory),
- scope_ (scope)
- {
- stack_.push (region);
- }
-
- virtual void
- begin (StringLiteralPtr const& sl)
- {
- cerr << "include \"" << sl << "\"" << endl;
-
- /*
- @@ this code is experimentla and temporarlily disabled
- using namespace SyntaxTree;
-
- std::ifstream ifs (sl->value ().c_str ());
- if (!ifs.is_open ())
- {
- cerr << "error: unable to open included file \'"
- << sl << "\'" << endl;
- }
-
- TranslationRegionPtr r (
- new TranslationRegion (sl->value (),
- stack_.top ()->table (),
- stack_.top ()->create_order ()));
-
- stack_.top ()->insert (r);
- stack_.push (r);
-
- scope_ = stack_.top ()->scope ();
-
- //@@ this code is highly experimental
- IDL2::LexicalAnalyzer lexer (ifs);
-
- TokenStream token_stream;
-
- //@@ bad token comparison
- for (TokenPtr token = lexer.next ();
- token.in () != lexer.eos.in ();
- token = lexer.next ())
- {
- token_stream.push_back (token);
- }
-
- if (token_stream.size () == 0)
- {
- // Empty file
- return;
- }
-
- IDL2::Parser parser (lexer, action_factory_);
-
- bool result = Details::parse (token_stream.begin (),
- token_stream.end (),
- parser.start ());
- */
- }
-
- virtual void
- end ()
- {
- cerr << "end" << endl;
-
- stack_.pop ();
- scope_ = stack_.top ()->scope ();
- }
-
- public:
- SemanticActionFactory& action_factory_;
- SyntaxTree::ScopePtr& scope_;
- std::stack<SyntaxTree::TranslationRegionPtr> stack_;
- };
-
- //
- //
- //
- class Module : public virtual SemanticAction::Module,
- public virtual ScopeBase<SyntaxTree::ModulePtr>
- {
- public:
- virtual
- ~Module () throw () {}
-
-
- Module (SyntaxTree::ScopePtr& scope)
- : ScopeBase<SyntaxTree::ModulePtr> (scope)
- {
- }
-
- virtual void
- begin (SimpleIdentifierPtr const& id)
- {
- cerr << "module " << id << endl;
-
- using namespace SyntaxTree;
-
- SimpleName name (id->value ());
-
- ModulePtr m (new SyntaxTree::Module (name, scope_));
-
- scope_->insert (m);
- push (m);
- }
-
- virtual void
- open_scope ()
- {
- scope_ = top ();
- }
-
- virtual void
- close_scope ()
- {
- scope_ = scope_->scope ();
- }
-
- virtual void
- end ()
- {
- pop ();
- cerr << "end" << endl;
- }
- };
-
-
- //
- //
- //
- class Interface : public virtual SemanticAction::Interface,
- public virtual ScopeBase<SyntaxTree::InterfaceDeclPtr>
- {
- public:
- virtual
- ~Interface () throw () {}
-
- Interface (SyntaxTree::ScopePtr& scope)
- : ScopeBase<SyntaxTree::InterfaceDeclPtr> (scope),
- name_ ("")
- {
- }
-
- virtual void
- begin (Qualifier::Value qualifier, SimpleIdentifierPtr const& id)
- {
- cerr << qualifier << " interface " << id << endl;
-
- qualifier_ = qualifier;
- name_ = SyntaxTree::SimpleName (id->value ());
- }
-
- virtual void
- inherits (IdentifierPtr const& id)
- {
- using namespace SyntaxTree;
-
- cerr << " inherits: " << id << endl;
-
- Name name (id->value ());
-
- struct InheritancePredicate :
- public DeclarationTable::ResolvePredicate
- {
- InheritancePredicate (Qualifier::Value q) : q_ (q) {}
-
- struct IncompatibleType :
- public DeclarationTable::ResolutionFailure
- {
- IncompatibleType (std::string const& t) : type (t) {}
- std::string type;
- };
-
- virtual bool
- test (DeclarationPtr const& d) throw (IncompatibleType)
- {
- std::string type = d->declaration_type ();
-
- bool passed = false;
-
- switch (q_)
- {
- case Qualifier::UNCONSTRAINED:
- {
- if (type == "unconstrained interface" ||
- type == "abstract interface") passed = true;
- break;
- }
- case Qualifier::LOCAL:
- {
- if (type == "unconstrained interface" ||
- type == "abstract interface" ||
- type == "local interface") passed = true;
- break;
- }
- case Qualifier::ABSTRACT:
- {
- if (type == "abstract interface") passed = true;
- break;
- }
- }
-
- if (!passed) throw IncompatibleType (type);
-
- return strict_cast<TypeDecl> (d)->defined ();
- }
-
- private:
- Qualifier::Value q_;
- } p (qualifier_);
-
- try
- {
- ScopedName sn = scope_->table ().resolve (
- name,
- scope_->name (),
- scope_->peek_order (),
- p);
-
- if (inherits_.insert (sn).second == false)
- {
- cerr << "error: invalid inheritance specification" << endl;
- cerr << "directly inheriting from interface \'"
- << sn << "\' more than once is illegal" << endl;
- }
- }
- catch (InheritancePredicate::IncompatibleType const& e)
- {
- cerr << "error: invalid inheritance specification" << endl;
-
- cerr << "inheritance of ";
-
- switch (qualifier_)
- {
- case Qualifier::UNCONSTRAINED:
- {
- cerr << "unconstrained ";
- break;
- }
- case Qualifier::LOCAL:
- {
- cerr << "local ";
- break;
- }
- case Qualifier::ABSTRACT:
- {
- cerr << "abstract ";
- break;
- }
- }
-
- cerr << "interface \'" << name_ <<"\' from "
- << e.type << " \'" << name << "\' is illegal" << endl;
- }
- catch (DeclarationTable::NameNotFound const&)
- {
- cerr << "error: invalid inheritance specification" << endl;
- cerr << "no interface with name \'"
- << name << "\' visible from scope \'"
- << scope_->name () << "\'" << endl;
- }
- catch (DeclarationTable::PredicateNotMet const&)
- {
- cerr << "error: invalid inheritance specification" << endl;
- cerr << "no defined interface with name \'"
- << name << "\' visible from scope \'"
- << scope_->name () << "\'" << endl;
- cerr << "inheritance from forward-declared interface is illegal"
- << endl;
- }
- }
-
- virtual void
- open_scope ()
- {
- using namespace SyntaxTree;
-
- InterfaceDefPtr def;
-
- switch (qualifier_)
- {
- case Qualifier::UNCONSTRAINED:
- {
- def = new UnconstrainedInterfaceDef (name_, scope_, inherits_);
- break;
- }
- case Qualifier::LOCAL:
- {
- def = new LocalInterfaceDef (name_, scope_, inherits_);
- break;
- }
- case Qualifier::ABSTRACT:
- {
- def = new AbstractInterfaceDef (name_, scope_, inherits_);
- break;
- }
- }
-
- scope_->insert (def);
- push (def);
- scope_ = def;
-
- name_ = SimpleName (""); //indicate that we are done
- inherits_.clear ();
- }
-
- virtual void
- close_scope ()
- {
- scope_ = scope_->scope ();
- }
-
- virtual void
- end ()
- {
- using namespace SyntaxTree;
-
- cerr << "end" << endl;
-
- if (name_ != SimpleName (""))
- {
- InterfaceDeclPtr decl;
-
- switch (qualifier_)
- {
- case Qualifier::UNCONSTRAINED:
- {
- decl = new UnconstrainedInterfaceForwardDecl (name_, scope_);
- break;
- }
- case Qualifier::LOCAL:
- {
- decl = new LocalInterfaceForwardDecl (name_, scope_);
- break;
- }
- case Qualifier::ABSTRACT:
- {
- decl = new AbstractInterfaceForwardDecl (name_, scope_);
- break;
- }
- }
-
- scope_->insert (decl);
- }
- else
- {
- pop ();
- }
- }
- private:
- Qualifier::Value qualifier_;
- SyntaxTree::SimpleName name_;
- SyntaxTree::ScopedNameSet inherits_;
- };
-
-
- class Attribute : public virtual SemanticAction::Attribute
- {
- public:
- virtual
- ~Attribute () throw () {}
-
- Attribute (SyntaxTree::ScopePtr& current)
- : scope_ (current),
- type_ ("")
- {
- }
-
- public:
- virtual void
- type (IdentifierPtr const& id)
- {
- cerr << "attribute " << id;
-
- using namespace SyntaxTree;
-
- Name name (id->value ());
-
- struct Predicate : public DeclarationTable::ResolvePredicate
- {
- virtual bool
- test (DeclarationPtr const& d) throw ()
- {
- //@@ need extension to declaration type system
- // e.g. something like this:
- // "long;built-in type def;type def;type decl;declaration"
- return strict_cast<TypeDecl> (d) != 0;
- }
- } p;
-
- try
- {
- ScopedName sn = scope_->table ().resolve (
- name,
- scope_->name (),
- scope_->peek_order (),
- p);
-
- type_ = sn;
- }
- catch (DeclarationTable::NameNotFound const&)
- {
- cerr << "error: invalid attribute declaration" << endl;
- cerr << "no type with name \'"
- << name << "\' visible from scope \'"
- << scope_->name () << "\'" << endl;
- }
- catch (DeclarationTable::PredicateNotMet const&)
- {
- cerr << "error: invalid attribute declaration" << endl;
- cerr << "declaration with name \'" << name
- << "\' visible from scope \'" << scope_->name ()
- << "\' is not a type declaration" << endl;
- cerr << "using non-type as an attribute type is illegal"
- << endl;
- }
-
- }
-
- virtual void
- name (SimpleIdentifierPtr const& id)
- {
- cerr << " " << id << endl;
-
- using namespace SyntaxTree;
- SimpleName name (id->value ());
-
- AttributeDeclPtr a (
- new SyntaxTree::AttributeDecl (name, type_, scope_));
-
- scope_->insert (a);
-
- type_ = ScopedName ("");
- }
-
- private:
- SyntaxTree::ScopePtr& scope_;
- SyntaxTree::ScopedName type_;
- };
-
-
- //
- //
- //
- class Operation : public virtual SemanticAction::Operation
- {
- public:
-
- virtual
- ~Operation () throw () {}
-
- Operation (SyntaxTree::ScopePtr& current)
- : scope_ (current)
- {
- }
-
- bool
- lookup_type (SyntaxTree::Name const& name,
- SyntaxTree::ScopedName& result)
- {
- using namespace SyntaxTree;
-
- struct Predicate : public DeclarationTable::ResolvePredicate
- {
- virtual bool
- test (DeclarationPtr const& d) throw ()
- {
- return strict_cast<TypeDecl> (d) != 0;
- }
- } p;
-
- try
- {
- result = scope_->table ().resolve (
- name,
- scope_->name (),
- scope_->peek_order (),
- p);
-
- return true;
- }
- catch (DeclarationTable::NameNotFound const&)
- {
- cerr << "error: invalid operation declaration" << endl;
- cerr << "no type with name \'"
- << name << "\' visible from scope \'"
- << scope_->name () << "\'" << endl;
- }
- catch (DeclarationTable::PredicateNotMet const&)
- {
- cerr << "error: invalid operation declaration" << endl;
- cerr << "declaration with name \'" << name
- << "\' visible from scope \'" << scope_->name ()
- << "\' is not a type declaration" << endl;
- cerr << "using non-type as operation parameter type "
- << " or return type is illegal"
- << endl;
- }
-
- return false;
- }
-
-
- virtual void
- begin (IdentifierPtr const& type_id,
- SimpleIdentifierPtr const& name_id)
- {
- cerr << "operation " << type_id << " " << name_id << endl;
-
- using namespace SyntaxTree;
-
- //@@ Why don't I have a default c-tor?
- ScopedName type_name ("");
-
- if (lookup_type (Name (type_id->value ()), type_name))
- {
- operation_ = OperationDeclPtr (
- new OperationDecl (SimpleName (name_id->value ()),
- type_name,
- scope_));
- }
- }
-
-
- virtual void
- parameter (Direction::Value direction,
- IdentifierPtr const& type_id,
- SimpleIdentifierPtr const& name_id)
- {
- cerr << "parameter "
- << direction << " " << type_id << " " << name_id << endl;
-
- using namespace SyntaxTree;
-
- ScopedName type_name ("");
-
- if (lookup_type (Name (type_id->value ()), type_name) &&
- operation_ != 0)
- {
- OperationParameter::Direction::Value d =
- OperationParameter::Direction::INOUT;
-
- if (direction == Direction::IN)
- {
- d = OperationParameter::Direction::IN;
- }
- else if (direction == Direction::OUT)
- {
- d = OperationParameter::Direction::OUT;
- }
-
- OperationParameterPtr p (
- new OperationParameter (d,
- type_name,
- SimpleName (name_id->value ()),
- scope_->table ()));
- operation_->insert (p);
- }
- }
-
- virtual void
- end ()
- {
- cerr << "end" << endl;
- if (operation_ != 0)
- {
- scope_->insert (operation_);
- operation_ = SyntaxTree::OperationDeclPtr ();
- }
- }
- private:
- SyntaxTree::ScopePtr& scope_;
- SyntaxTree::OperationDeclPtr operation_;
- };
- }
- }
-
- //
- //
- //
- class SemanticActionFactoryImpl : public virtual SemanticActionFactory
- {
- public:
- virtual
- ~SemanticActionFactoryImpl () throw () {}
-
- SemanticActionFactoryImpl (SyntaxTree::TranslationRegionPtr const& r)
- : scope_ (r->scope ()),
-
- include_ (*this, r, scope_),
- module_ (scope_),
- interface_ (scope_),
- attribute_ (scope_),
- operation_ (scope_)
- {
- }
-
- virtual SemanticAction::Include&
- include ()
- {
- return include_;
- }
-
- virtual SemanticAction::Module&
- module ()
- {
- return module_;
- }
-
- virtual SemanticAction::Interface&
- interface ()
- {
- return interface_;
- }
-
- virtual SemanticAction::Attribute&
- attribute ()
- {
- return attribute_;
- }
-
- virtual SemanticAction::Operation&
- operation ()
- {
- return operation_;
- }
-
- protected:
- SyntaxTree::ScopePtr scope_;
- SyntaxTree::TranslationRegionPtr region_;
-
- SemanticAction::Impl::Include include_;
- SemanticAction::Impl::Module module_;
- SemanticAction::Impl::Interface interface_;
- SemanticAction::Impl::Attribute attribute_;
- SemanticAction::Impl::Operation operation_;
- };
-}
-
-#endif // CCF_IDL2_SEMANTIC_ACTION_IMPL_HPP
diff --git a/TAO/CIAO/CCF/CCF/IDL2/IDL2_SyntaxTree.cpp b/TAO/CIAO/CCF/CCF/IDL2/IDL2_SyntaxTree.cpp
deleted file mode 100644
index 2292853d7da..00000000000
--- a/TAO/CIAO/CCF/CCF/IDL2/IDL2_SyntaxTree.cpp
+++ /dev/null
@@ -1,773 +0,0 @@
-// $Id$
-#include "IDL2_Traversal.hpp"
-#include "IDL2_SyntaxTree.hpp"
-
-//@@tmp
-#include <iostream>
-using std::cerr;
-using std::endl;
-
-namespace IDL2
-{
- namespace SyntaxTree
- {
- using ReferenceCounting::add_ref;
-
- using CCF::Traversal::try_visit;
-
- namespace
- {
- bool
- try_visit_scope (CCF::Traversal::Visitor* v,
- ScopePtr const& node)
- {
- return try_visit<Traversal::Scope> (&Traversal::Scope::visit_scope, v, node);
- }
-
- bool
- try_visit_type_decl (CCF::Traversal::Visitor* v,
- TypeDeclPtr const& node)
- {
- return try_visit<Traversal::TypeDecl> (&Traversal::TypeDecl::visit_type_decl, v, node);
- }
-
- bool
- try_visit_type_def (CCF::Traversal::Visitor* v,
- TypeDefPtr const& node)
- {
- return try_visit<Traversal::TypeDef> (&Traversal::TypeDef::visit_type_def, v, node);
- }
-
- bool
- try_visit_interface_decl (CCF::Traversal::Visitor* v,
- InterfaceDeclPtr const& node)
- {
- return try_visit<Traversal::InterfaceDecl> (&Traversal::InterfaceDecl::visit_interface_decl,
- v,
- node);
- }
-
- bool
- try_visit_interface_def (CCF::Traversal::Visitor* v,
- InterfaceDefPtr const& node)
- {
- return try_visit<Traversal::InterfaceDef> (
- &Traversal::InterfaceDef::visit_interface_def,
- v,
- node);
- }
-
- bool
- try_visit_abstract_interface_decl (
- CCF::Traversal::Visitor* v,
- AbstractInterfaceDeclPtr const& node)
- {
- return try_visit<Traversal::AbstractInterfaceDecl> (
- &Traversal::AbstractInterfaceDecl::visit_abstract_interface_decl,
- v,
- node);
- }
-
- bool
- try_visit_local_interface_decl (
- CCF::Traversal::Visitor* v,
- LocalInterfaceDeclPtr const& node)
- {
- return try_visit<Traversal::LocalInterfaceDecl> (
- &Traversal::LocalInterfaceDecl::visit_local_interface_decl,
- v,
- node);
- }
-
- bool
- try_visit_unconstrained_interface_decl (
- CCF::Traversal::Visitor* v,
- UnconstrainedInterfaceDeclPtr const& node)
- {
- return try_visit<Traversal::UnconstrainedInterfaceDecl> (
- &Traversal::UnconstrainedInterfaceDecl::
- visit_unconstrained_interface_decl,
- v,
- node);
- }
- }
-
- //
- // Comma
- //
- void Comma::
- accept (CCF::Traversal::Visitor* v)
- {
- CommaPtr self (ReferenceCounting::add_ref (this));
- try_visit<Traversal::Comma> (&Traversal::Comma::visit_comma, v, self);
- }
-
-
- //
- // Declaration
- //
- Declaration::
- Declaration (SimpleName const& name, ScopePtr const& scope)
- : order_ (scope->create_order ()),
- name_ (scope->name (), name),
- scope_ (scope->table (),
- scope->name (),
- scope->order ()) // Hint: scope->scope () may throw
- {
- }
-
- Declaration::
- Declaration (ScopedName const& name,
- Order const& order,
- DeclarationTable const& table)
- : order_ (order),
- name_ (name),
- scope_ (table) // this stuff is faked
- {
- }
-
- ScopedName Declaration::
- name () const
- {
- return name_;
- }
-
- Order Declaration::
- order () const
- {
- return order_;
- }
-
- ScopePtr Declaration::
- scope () const throw (NotInScope)
- {
- return scope_.resolve ();
- }
-
- //
- // DeclarationTable
- //
-
- void DeclarationTable::
- insert (DeclarationPtr d) throw (InvalidArgument,
- AlreadyExist,
- TypeMismatch)
- {
- if (d == 0) throw InvalidArgument ();
-
- IteratorPair pair = lookup (d->name ());
-
- if (pair.first != pair.second)
- {
- // I have some declarations with this name already
- if ((*pair.first)->declaration_type () != d->declaration_type ())
- {
- throw TypeMismatch ();
- }
- }
-
- std::pair<DeclarationSet::iterator, bool> result =
- decl_set_.insert (d);
-
- if (result.second == false) throw AlreadyExist ();
-
- try
- {
- if(name_decl_map_[d->name ()].insert (d).second == false)
- {
- throw AlreadyExist ();
- }
- }
- catch (...)
- {
- // Leaving table in consistent state
- decl_set_.erase (result.first);
- throw;
- }
- }
-
- DeclarationTable::IteratorPair DeclarationTable::
- lookup (ScopedName const& n) const
- {
- NameDeclarationMap::const_iterator i = name_decl_map_.find (n);
- if (i == name_decl_map_.end ())
- {
- return IteratorPair (decl_set_.end (), decl_set_.end ());
- }
- else
- {
- return IteratorPair (i->second.begin (), i->second.end ());
- }
- }
-
- DeclarationTable::Iterator DeclarationTable::
- begin () const
- {
- return decl_set_.begin ();
- }
-
- DeclarationTable::Iterator DeclarationTable::
- end () const
- {
- return decl_set_.end ();
- }
-
- ScopedName DeclarationTable::
- resolve (Name const& name,
- ScopedName const& from,
- Order const& before,
- ResolvePredicate& p) const throw (ResolutionFailure)
- {
- ScopedName result ("");
-
- // Check if name is already scoped
- try
- {
- result = ScopedName (name);
- }
- catch (ScopedName::InvalidArgument const&)
- {
- //seems not
- try
- {
- for (ScopedName base = from;;base = base.scope ())
- {
- result = ScopedName (base, name);
-
- //cerr << "*** resolve: considering: " << result << endl;
-
- IteratorPair pair = lookup (result);
-
- if (pair.first != pair.second)
- {
- // Found something. Now checking the order. Note that the
- // first element has the smallest order so it's sufficient
- // to check just the first element for now.
- if ((*pair.first)->order () < before)
- {
- break;
- }
- std::cerr << std::endl
- << "before condition failed : "
- << (*pair.first)->order () << " ("
- << (*pair.first)->name ()
- << ") expected to be before "
- << before << std::endl;
- }
- }
- }
- catch (ScopedName::AtRoot const&)
- {
- // didn't find anything
- throw NameNotFound ();
- }
- }
-
- // Now check predicat
- IteratorPair pair = lookup (result);
-
- if (pair.first == pair.second) throw NameNotFound ();
-
- for (;pair.first != pair.second; pair.first++)
- {
- // we should stay before
- if (!((*pair.first)->order () < before)) break;
-
- if (p.test (*pair.first)) return result;
- }
-
- throw PredicateNotMet ();
- }
-
- //
- // Scope
- //
-
- void Scope::
- insert (DeclarationPtr d) throw (InvalidArgument, AlreadyExist)
- {
- if (d == 0) throw InvalidArgument ();
-
- std::pair<DeclarationSet::iterator, bool> result =
- content_.insert (d);
-
- if (result.second == false) throw AlreadyExist ();
-
- try
- {
- try
- {
- table_.insert (d);
- }
- catch (...)
- {
- //Keep consistent state
- content_.erase (result.first);
- throw;
- }
- }
- catch (DeclarationTable::InvalidArgument const&)
- {
- throw InvalidArgument ();
- }
- catch (DeclarationTable::AlreadyExist const&)
- {
- throw AlreadyExist ();
- }
- }
-
- Scope::Iterator Scope::
- begin () const
- {
- return content_.begin ();
- }
-
- Scope::Iterator Scope::
- end () const
- {
- return content_.end ();
- }
-
- Order Scope::
- create_order ()
- {
- return Order (order (), next_order_++);
- }
-
- Order Scope::
- peek_order ()
- {
- return Order (order (), next_order_);
- }
-
- void Scope::
- accept (CCF::Traversal::Visitor* v)
- {
- ScopePtr self (ReferenceCounting::add_ref (this));
- try_visit_scope (v, self);
- }
-
- //
- // TypeDecl
- //
-
- void TypeDecl::
- accept (CCF::Traversal::Visitor* v)
- {
- TypeDeclPtr self (ReferenceCounting::add_ref (this));
- try_visit<Traversal::TypeDecl> (&Traversal::TypeDecl::visit_type_decl, v, self);
- }
-
-
- //
- // TypeDef
- //
-
- void TypeDef::
- accept (CCF::Traversal::Visitor* v)
- {
- TypeDefPtr self (ReferenceCounting::add_ref (this));
-
- if(!try_visit<Traversal::TypeDef> (
- &Traversal::TypeDef::visit_type_def,
- v,
- self))
- {
- TypeDecl::accept (v);
- }
- }
-
- //
- // InterfaceDecl
- //
-
- void InterfaceDecl::
- accept (CCF::Traversal::Visitor* v)
- {
- InterfaceDeclPtr self (ReferenceCounting::add_ref (this));
-
- if (!try_visit_interface_decl (v, self))
- {
- TypeDecl::accept (v);
- }
- }
-
- //
- // InterfaceDef
- //
-
- void InterfaceDef::
- accept (CCF::Traversal::Visitor* v)
- {
- InterfaceDefPtr self (ReferenceCounting::add_ref (this));
-
- if(!try_visit_interface_def (v, self))
- {
- InterfaceDecl::accept (v);
- Scope::accept (v);
- }
- }
-
-
- //
- // AbstractInterfaceDecl
- //
-
- void AbstractInterfaceDecl::
- accept (CCF::Traversal::Visitor* v)
- {
- AbstractInterfaceDeclPtr self (ReferenceCounting::add_ref (this));
-
- if (!try_visit_abstract_interface_decl (v, self))
- {
- InterfaceDecl::accept (v);
- }
- }
-
- //
- // AbstractInterfaceDef
- //
-
- void AbstractInterfaceDef::
- accept (CCF::Traversal::Visitor* v)
- {
- AbstractInterfaceDefPtr self (ReferenceCounting::add_ref (this));
-
- if(!try_visit<Traversal::AbstractInterfaceDef> (
- &Traversal::AbstractInterfaceDef::visit_abstract_interface_def,
- v,
- self))
- {
- AbstractInterfaceDecl::accept (v);
- InterfaceDef::accept (v);
- }
- }
-
- //
- // LocalInterfaceDecl
- //
-
- void LocalInterfaceDecl::
- accept (CCF::Traversal::Visitor* v)
- {
- LocalInterfaceDeclPtr self (ReferenceCounting::add_ref (this));
-
- if (!try_visit_local_interface_decl (v, self))
- {
- InterfaceDecl::accept (v);
- }
- }
-
-
- //
- // LocalInterfaceDef
- //
-
- void LocalInterfaceDef::
- accept (CCF::Traversal::Visitor* v)
- {
- LocalInterfaceDefPtr self (ReferenceCounting::add_ref (this));
-
- if(!try_visit<Traversal::LocalInterfaceDef> (
- &Traversal::LocalInterfaceDef::visit_local_interface_def,
- v,
- self))
- {
- bool b = try_visit_interface_def (v, self);
- bool a = try_visit_local_interface_decl (v, self);
-
- // if (a && b) || a
- if (a) return;
-
- if (b)
- {
- try_visit_type_def (v, self);
- try_visit_scope (v, self);
- }
- else
- {
- try_visit_scope (v, self);
- a = try_visit_type_def (v, self);
- b = try_visit_interface_decl (v, self);
-
- if (a || b) return;
-
- try_visit_type_decl (v, self);
- }
- }
- }
-
- //
- // UnconstrainedInterfaceDecl
- //
-
- void UnconstrainedInterfaceDecl::
- accept (CCF::Traversal::Visitor* v)
- {
- UnconstrainedInterfaceDeclPtr self (ReferenceCounting::add_ref (this));
-
- if (!try_visit_unconstrained_interface_decl (v, self))
- {
- InterfaceDecl::accept (v);
- }
- }
-
-
- //
- // UnconstrainedInterfaceDef
- //
-
- void UnconstrainedInterfaceDef::
- accept (CCF::Traversal::Visitor* v)
- {
- UnconstrainedInterfaceDefPtr self (ReferenceCounting::add_ref (this));
-
- if(!try_visit<Traversal::UnconstrainedInterfaceDef> (
- &Traversal::UnconstrainedInterfaceDef::
- visit_unconstrained_interface_def,
- v,
- self))
- {
- bool b = try_visit_interface_def (v, self);
- bool a = try_visit_unconstrained_interface_decl (v, self);
-
- // if (a && b) || a
- if (a) return;
-
- if (b)
- {
- try_visit_type_def (v, self);
- try_visit_scope (v, self);
- }
- else
- {
- try_visit_scope (v, self);
- a = try_visit_type_def (v, self);
- b = try_visit_interface_decl (v, self);
-
- if (a || b) return;
-
- try_visit_type_decl (v, self);
- }
- }
- }
-
- //
- // AttributeDecl
- //
-
- void AttributeDecl::
- accept (CCF::Traversal::Visitor* v)
- {
- AttributeDeclPtr self (ReferenceCounting::add_ref (this));
- try_visit<Traversal::AttributeDecl> (
- &Traversal::AttributeDecl::visit_attribute_decl,
- v,
- self);
- }
-
- //
- // OperationParameter
- //
- void OperationParameter::
- accept (CCF::Traversal::Visitor* v)
- {
- OperationParameterPtr self (ReferenceCounting::add_ref (this));
- try_visit<Traversal::OperationParameter> (&Traversal::OperationParameter::visit_operation_parameter,
- v,
- self);
- }
-
-
- //
- // OperationDecl
- //
- void OperationDecl::
- accept (CCF::Traversal::Visitor* v)
- {
- OperationDeclPtr self (ReferenceCounting::add_ref (this));
- try_visit<Traversal::OperationDecl> (
- &Traversal::OperationDecl::visit_operation_decl,
- v,
- self);
- }
-
-
- //
- // Module
- //
-
- void Module::
- accept (CCF::Traversal::Visitor* v)
- {
- ModulePtr self (ReferenceCounting::add_ref (this));
-
- if (!try_visit<Traversal::Module> (&Traversal::Module::visit_module,
- v,
- self))
- {
- Scope::accept (v);
- }
- }
-
- //
- // FileScope
- //
-
- FileScope::
- FileScope (DeclarationTable& table, Order const& order)
- : Declaration (ScopedName (""), order, table),
- Scope (table, ScopedName (""), order)
- {
- }
-
- void FileScope::
- accept (CCF::Traversal::Visitor* v)
- {
- FileScopePtr self (ReferenceCounting::add_ref (this));
-
- if (!try_visit<Traversal::FileScope> (
- &Traversal::FileScope::visit_file_scope,
- v,
- self))
- {
- Scope::accept (v);
- }
- }
-
- //
- // TranslationRegion
- //
-
- void TranslationRegion::
- insert (TranslationRegionPtr const& tr) throw (InvalidArgument)
- {
- if (tr == 0) throw InvalidArgument ();
-
- region_list_.push_back (tr);
- }
-
- TranslationRegion::Iterator TranslationRegion::
- begin () const
- {
- return region_list_.begin ();
- }
-
- TranslationRegion::Iterator TranslationRegion::
- end () const
- {
- return region_list_.end ();
- }
-
- void TranslationRegion::
- accept (CCF::Traversal::Visitor* v)
- {
- TranslationRegionPtr self (ReferenceCounting::add_ref (this));
-
- try_visit<Traversal::TranslationRegion> (
- &Traversal::TranslationRegion::visit_translation_region,
- v,
- self);
- }
-
- //
- // IncludeTranslationRegion
- //
-
- void IncludeTranslationRegion::
- accept (CCF::Traversal::Visitor* v)
- {
- IncludeTranslationRegionPtr self (ReferenceCounting::add_ref (this));
-
- if(!try_visit<Traversal::IncludeTranslationRegion>(
- &Traversal::IncludeTranslationRegion::
- visit_include_translation_region,
- v,
- self)) TranslationRegion::accept (v);
- }
-
- //
- // SysIncludeTranslationRegion
- //
-
- void SysIncludeTranslationRegion::
- accept (CCF::Traversal::Visitor* v)
- {
- SysIncludeTranslationRegionPtr self (ReferenceCounting::add_ref (this));
-
- if(!try_visit<Traversal::SysIncludeTranslationRegion>(
- &Traversal::SysIncludeTranslationRegion::
- visit_sys_include_translation_region,
- v,
- self)) TranslationRegion::accept (v);
- }
-
- //
- // ImpliedIncludeTranslationRegion
- //
-
- void ImpliedIncludeTranslationRegion::
- accept (CCF::Traversal::Visitor* v)
- {
- ImpliedIncludeTranslationRegionPtr self (
- ReferenceCounting::add_ref (this));
-
- if(!try_visit<Traversal::ImpliedIncludeTranslationRegion>(
- &Traversal::ImpliedIncludeTranslationRegion::
- visit_implied_include_translation_region,
- v,
- self)) TranslationRegion::accept (v);
- }
-
- //
- // PrincipalTranslationRegion
- //
-
- void PrincipalTranslationRegion::
- accept (CCF::Traversal::Visitor* v)
- {
- PrincipalTranslationRegionPtr self (ReferenceCounting::add_ref (this));
-
- if(!try_visit<Traversal::PrincipalTranslationRegion>(
- &Traversal::PrincipalTranslationRegion::
- visit_principal_translation_region,
- v,
- self)) TranslationRegion::accept (v);
- }
-
- //
- // TranslationUnit
- //
-
- void TranslationUnit::
- insert (TranslationRegionPtr const& tr) throw (InvalidArgument)
- {
- if (tr == 0) throw InvalidArgument ();
-
- region_list_.push_back (tr);
- }
-
- TranslationUnit::Iterator TranslationUnit::
- begin () const
- {
- return region_list_.begin ();
- }
-
- TranslationUnit::Iterator TranslationUnit::
- end () const
- {
- return region_list_.end ();
- }
-
- void TranslationUnit::
- accept (CCF::Traversal::Visitor* v)
- {
- TranslationUnitPtr self (ReferenceCounting::add_ref (this));
-
- try_visit<Traversal::TranslationUnit> (
- &Traversal::TranslationUnit::visit_translation_unit,
- v,
- self);
- }
- }
-}
diff --git a/TAO/CIAO/CCF/CCF/IDL2/IDL2_SyntaxTree.hpp b/TAO/CIAO/CCF/CCF/IDL2/IDL2_SyntaxTree.hpp
deleted file mode 100644
index e6e656591ce..00000000000
--- a/TAO/CIAO/CCF/CCF/IDL2/IDL2_SyntaxTree.hpp
+++ /dev/null
@@ -1,2059 +0,0 @@
-// $Id$
-#ifndef CCF_IDL2_SYNTAX_TREE_HPP
-#define CCF_IDL2_SYNTAX_TREE_HPP
-
-#include "MSVC_Pragmas.hpp"
-
-#include <vector>
-#include <map>
-#include <set>
-#include <string>
-
-#include <iostream>
-
-#include "CCF/CompilerElements/FileSystem.hpp"
-#include "CCF/CompilerElements/ReferenceCounting.hpp"
-
-#include "CCF/CompilerElements/Traversal.hpp"
-
-//@@ It doesn't seem that traversal mechanism has to be embeded
-// into SyntaxTree anymore.
-
-namespace IDL2
-{
- namespace SyntaxTree
- {
- using ReferenceCounting::StrictPtr;
- using ReferenceCounting::strict_cast;
-
-
- //
- // Can be scoped or simple.
- //
- class Name
- {
- public:
- explicit
- Name (std::string const& name)
- : name_ (name)
- {
- }
-
- bool
- operator< (Name const& other) const
- {
- return name_ < other.name_;
- }
-
- bool
- operator== (Name const& other) const
- {
- return name_ == other.name_;
- }
-
- bool
- operator!= (Name const& other) const
- {
- return name_ == other.name_;
- }
-
-
-
- protected:
- std::string name_;
-
- friend std::ostream&
- operator << (std::ostream& o, Name const& name)
- {
- return o << name.name_;
- }
-
- friend class ScopedName;
- };
-
-
- //
- //
- //
- class SimpleName : public Name
- {
- public:
- explicit
- SimpleName (std::string const& name)
- : Name (name)
- {
- //@@ need some checking
- }
-
- bool
- operator< (SimpleName const& other) const
- {
- return name_ < other.name_;
- }
-
- bool
- operator== (SimpleName const& other) const
- {
- return name_ == other.name_;
- }
-
- bool
- operator!= (SimpleName const& other) const
- {
- return name_ != other.name_;
- }
-
- private:
- std::string
- str () const
- {
- return name_;
- }
-
- friend SimpleName
- operator+ (SimpleName const& s1, std::string const& s2)
- {
- return SimpleName (s1.str () + s2);
- }
-
- friend SimpleName
- operator+ (std::string const& s1, SimpleName const& s2)
- {
- return SimpleName (s1 + s2.str ());
- }
- };
-
- //
- //
- //
- class ScopedName : public Name
- {
- public:
- class InconsistentState {};
- class InvalidArgument {};
-
- public:
- explicit
- ScopedName (std::string const& name) throw (InvalidArgument)
- : Name (name)
- {
- try
- {
- check_state ();
- }
- catch (InconsistentState const&)
- {
- throw InvalidArgument ();
- }
- }
-
- explicit
- ScopedName (Name const& name) throw (InvalidArgument)
- : Name (name)
- {
- try
- {
- check_state ();
- }
- catch (InconsistentState const&)
- {
- throw InvalidArgument ();
- }
- }
-
- ScopedName (ScopedName const& scope, Name const& name)
- throw (InvalidArgument)
- : Name (scope.name_ + "::" + name.name_)
- {
- try
- {
- check_state ();
- }
- catch (InconsistentState const&)
- {
- throw InvalidArgument ();
- }
- }
-
- bool
- operator< (ScopedName const& other) const
- {
- return name_ < other.name_;
- }
-
- bool
- operator== (ScopedName const& other) const
- {
- return name_ == other.name_;
- }
-
- bool
- operator!= (ScopedName const& other) const
- {
- return name_ != other.name_;
- }
-
- public:
- SimpleName
- simple () const
- {
- std::string::size_type pos = name_.rfind ("::");
- if (pos == std::string::npos)
- {
- if (name_.empty ()) return SimpleName(""); //file scope name
- else throw InconsistentState ();
- }
-
- return SimpleName(std::string (name_.begin () + pos + 2,
- name_.end ()));
- }
-
- class AtRoot {};
-
- ScopedName
- scope () const throw (AtRoot)
- {
- std::string::size_type pos = name_.rfind ("::");
- if (pos == std::string::npos)
- {
- throw AtRoot ();
- }
-
- return ScopedName(std::string (name_.begin (),
- name_.begin () + pos));
- }
-
- Name
- in_file_scope () const
- {
- return Name(std::string (name_.begin () + 2, name_.end ()));
- }
-
-
- private:
- void
- check_state () throw (InconsistentState)
- {
- if (name_.empty ()) return;
-
- if (name_.length () < 2) throw InconsistentState ();
-
- if (name_[0] != ':' || name_[1] != ':') throw InconsistentState ();
-
- //scan the string
- for (std::string::const_iterator i = name_.begin ();
- i != name_.end ();
- i++)
- {
- if (*i == ':')
- {
- if (i + 1 == name_.end () || *(i + 1) != ':')
- {
- throw InconsistentState ();
- }
- else
- {
- i++; //skip "::"
- }
- }
- }
- }
-
- };
-
- typedef
- std::vector<ScopedName>
- ScopedNameList;
-
- typedef
- std::set<ScopedName>
- ScopedNameSet;
-
- //
- //
- //
- class Order
- {
- public:
- Order (Order const& parent, unsigned long index)
- : list_ (parent.list_)
- {
- list_.push_back (index);
- }
-
- explicit
- Order (unsigned long index)
- : list_ (1, index)
- {
- }
-
- public:
- bool
- operator == (Order const& other) const
- {
- return list_ == other.list_;
- }
-
- bool
- operator != (Order const& other) const
- {
- return list_ != other.list_;
- }
-
- bool
- operator < (Order const& other) const
- {
- Iterator i = list_.begin ();
- Iterator j = other.list_.begin ();
- for (; i != list_.end () && j != other.list_.end (); i++, j++)
- {
- if (*i > *j)
- {
- return false;
- }
- else if (*i < *j)
- {
- return true;
- }
- }
-
- if (j != other.list_.end ())
- {
- // we are equal so far but other is longer which means it is after
- return true;
- }
- else
- {
- return false;
- }
- }
-
- bool
- suborder (Order const& subj) const
- {
- if (list_.size () >= subj.list_.size ()) return false;
-
- for (Iterator i = list_.begin (), j = subj.list_.begin ();
- i != list_.end ();
- i++, j++)
- {
- if (*i != *j) return false;
- }
-
- return true;
- }
-
-
- private:
- typedef
- std::vector<unsigned long>
- OrderList_;
-
- typedef
- OrderList_::const_iterator
- Iterator;
-
- OrderList_ list_;
-
- friend std::ostream&
- operator << (std::ostream& o, Order const& order)
- {
- for (Order::OrderList_::const_iterator i = order.list_.begin ();
- i != order.list_.end ();
- i++)
- {
- if (i != order.list_.begin ()) o << ':';
- o << *i;
- }
-
- return o;
- }
- };
-
-
- //
- //
- //
- class Node;
- typedef
- StrictPtr<Node>
- NodePtr;
-
- class Node : public virtual ReferenceCounting::DefaultImpl <>
- {
- protected:
- virtual
- ~Node () throw () {}
-
- // Dynamic typing
- public:
-
- template <typename Type>
- bool
- is_a ()
- {
- NodePtr self (ReferenceCounting::add_ref (this));
- return strict_cast<Type>(self) != 0;
- }
-
- template <typename Type>
- StrictPtr<Type>
- dynamic_type ()
- {
- NodePtr self (ReferenceCounting::add_ref (this));
- return strict_cast<Type>(self);
- }
-
- // Traversal
- public:
- virtual void
- accept (CCF::Traversal::Visitor* v) = 0;
- };
-
- //
- //
- //
- class Comma : public virtual Node
- {
- public:
- virtual
- ~Comma () throw () {}
-
- // Traversal
- public:
- virtual void
- accept (CCF::Traversal::Visitor* v);
- };
- typedef
- StrictPtr<Comma>
- CommaPtr;
-
-
- //
- // Contains scoped name & reference to DeclarationTable.
- // Purpose: provides controlled way of cyclic dependencies
- //
- // Issues:
- //
- // @@ There is a need for 'uninitialized' state of refernce.
- //
-
- class Declaration;
-
- typedef
- StrictPtr<Declaration>
- DeclarationPtr;
-
- class DeclarationTable;
-
- //@@ Better name for DeclarationRef:
- // - DeclarationLink
- //
- template <typename T, typename Ptr = StrictPtr<T> >
- class DeclarationRef
- {
- public:
- class NotInitialized {};
- class DeclarationNotFound {};
- class TypeMismatch {};
- class TableMismatch {};
-
-
- public:
-
- DeclarationRef (DeclarationPtr decl);
- DeclarationRef (DeclarationTable const& table, ScopedName const& name);
- DeclarationRef (DeclarationTable const& table,
- ScopedName const& name,
- Order const& order);
-
- //This c-tor construct an uninitialized reference.
- DeclarationRef (DeclarationTable const& table);
-
- // Note that you can only assign DeclarationRef's associated with
- // the same DeclarationTable.
- //
- DeclarationRef&
- operator= (DeclarationRef const& other) throw (TableMismatch)
- {
- if (&table_ != &(other.table_)) throw TableMismatch ();
-
- name_ = other.name_;
- order_ = other.order_;
- initialized_ = other.initialized_;
- with_order__ = other.with_order_;
-
- return *this;
- }
-
- operator bool () const
- {
- return initialized_;
- }
-
- // Returns first declaration that matches.
- Ptr
- resolve () const
- throw (NotInitialized, DeclarationNotFound, TypeMismatch);
-
- ScopedName
- name () const throw (NotInitialized)
- {
- if (!initialized_) throw NotInitialized ();
- return name_;
- }
-
- private:
- DeclarationTable const& table_;
- ScopedName name_;
- Order order_;
- bool initialized_;
- bool with_order_;
- };
-
-
- //
- // Declaration represents any IDL construct that has a scoped name
- //
-
- class Scope;
-
- typedef
- StrictPtr<Scope>
- ScopePtr;
-
- class Declaration : public virtual Node
- {
- protected:
- //@@ pure virtual d-tor with body doesn't work?
- virtual
- ~Declaration () throw () {}
-
- Declaration (SimpleName const& name, ScopePtr const& scope);
-
- // This c-tor is here for Declarations that are not in scope
- // e.g. FileScope
- Declaration (ScopedName const& name,
- Order const& order,
- DeclarationTable const& table);
-
- public:
-
- ScopedName
- name () const;
-
- Order
- order () const;
-
- class NotInScope {}; // don't cross the edge! ;-)
-
- virtual ScopePtr
- scope () const throw (NotInScope);
-
- // Runtime declaration type information. I could have used RTTI but
- // I will also need a human-readable representation (e.g.
- // "local interface" instead of "IDL2::SyntaxTree::LocalInterface")
- // for diagnistic.
- public:
- virtual std::string
- declaration_type ()
- {
- return "declaration";
- }
-
- private:
- Order order_;
- ScopedName name_;
- DeclarationRef<Scope> scope_;
- };
-
- typedef
- StrictPtr<Declaration>
- DeclarationPtr;
-
-
- //
- //
- //
- template <typename T = DeclarationPtr>
- struct DeclarationOrderComparator
- {
- bool operator () (T const& x, T const& y) const
- {
- return x->order () < y->order ();
- }
- };
-
- template <typename T = DeclarationPtr>
- struct DeclarationNameComparator
- {
- bool operator () (T const& x, T const& y) const
- {
- return x->name () < y->name ();
- }
- };
-
-
- //
- //
- //
- template <typename T = DeclarationRef<Declaration> >
- struct DeclarationRefOrderComparator
- {
- bool operator () (T const& x, T const& y) const
- {
- return x.resolve ()->order () < y.resolve ()->order ();
- }
- };
-
- template <typename T = DeclarationRef<Declaration> >
- struct DeclarationRefNameComparator
- {
- bool operator () (T const& x, T const& y) const
- {
- return x.resolve ()->name () < y.resolve ()->name ();
- }
- };
-
-
- //
- // Mapping of fq-name -> sequence<Declaration> and some other
- // useful stuff.
- //
- class DeclarationTable
- {
- private:
- typedef
- std::set<DeclarationPtr, DeclarationOrderComparator<> >
- DeclarationSet;
-
- typedef
- std::map<ScopedName, DeclarationSet>
- NameDeclarationMap;
-
- public:
-
- typedef
- DeclarationSet::const_iterator
- Iterator;
-
- typedef
- std::pair<Iterator, Iterator>
- IteratorPair;
-
- class InvalidArgument {};
- class AlreadyExist {};
-
- class TypeMismatch {};
-
- public:
- void
- insert (DeclarationPtr d) throw (InvalidArgument,
- AlreadyExist,
- TypeMismatch);
- Iterator
- begin () const;
-
- Iterator
- end () const;
-
- // Returns iterator pair. first points to the first element,
- // second points to the element after last.
- IteratorPair
- lookup (ScopedName const& n) const;
-
- bool
- exist (ScopedName const& n) const
- {
- IteratorPair pair = lookup (n);
- return pair.first != pair.second;
- }
-
-
- class DeclarationNotFound {};
-
- template <typename T>
- StrictPtr<T>
- lookup (ScopedName const& n) const
- throw (DeclarationNotFound, TypeMismatch);
-
- template <typename T>
- StrictPtr<T>
- lookup (ScopedName const& n, Order const& o) const
- throw (DeclarationNotFound, TypeMismatch);
-
- class ResolutionFailure {};
- class NameNotFound : public ResolutionFailure {};
- class PredicateNotMet : public ResolutionFailure {};
-
- struct ResolvePredicate
- {
- virtual bool
- test (DeclarationPtr const& d) throw (ResolutionFailure) = 0;
- };
-
- ScopedName
- resolve (Name const& name,
- ScopedName const& from,
- Order const& before,
- ResolvePredicate& p) const throw (ResolutionFailure);
-
- private:
- DeclarationSet decl_set_;
- NameDeclarationMap name_decl_map_;
- };
-
-
- // @@ scope is not a declaration?
- // Scope
- //
- class Scope : public virtual Declaration
- {
- private:
- //@@ same type as in DeclarationTable
- typedef
- std::set<DeclarationPtr, DeclarationOrderComparator<> >
- DeclarationSet;
-
- public:
- typedef
- DeclarationSet::const_iterator
- Iterator;
-
- class InvalidArgument {};
- class AlreadyExist {};
-
-
- protected:
- virtual
- ~Scope () throw () {}
-
- // This c-tor is here for Declarations that are not in scope
- // e.g. FileScope.
- Scope (DeclarationTable& table,
- ScopedName const& name,
- Order const& order)
- : Declaration (name, order, table),
- table_ (table),
- next_order_ (0) {}
-
- Scope (SimpleName const& name, ScopePtr const& scope)
- : Declaration (name, scope),
- table_ (scope->table ()),
- next_order_ (0)
- {
- }
-
- public:
-
- // Inject new Declaration into a scope. Relative position of a new
- // entity will be determined based on order (order..! order..!).
- void
- insert (DeclarationPtr d) throw (InvalidArgument, AlreadyExist);
-
- Iterator
- begin () const;
-
- Iterator
- end () const;
-
- Order
- create_order ();
-
- // Returns order that would be returned by next call to
- // create_order ().
- Order
- peek_order ();
-
-
- public:
-
- DeclarationTable const& table () const
- {
- return table_;
- }
-
- DeclarationTable& table ()
- {
- return table_;
- }
-
- // Runtime declaration type information
- public:
- virtual std::string
- declaration_type ()
- {
- return "scope";
- }
-
- // Traversal
- public:
- virtual void
- accept (CCF::Traversal::Visitor* v);
-
- private:
- DeclarationSet content_;
- DeclarationTable& table_;
- unsigned long next_order_;
- };
-
-
- //
- //
- //
- class TypeDecl : public virtual Declaration
- {
- protected:
- virtual
- ~TypeDecl () throw () {}
-
- TypeDecl (SimpleName const& name,
- ScopePtr const& scope)
- : Declaration (name, scope)
- {
- }
-
- // Type completeness
- public:
- virtual bool
- defined () const = 0;
-
- // Runtime declaration type information
- public:
- virtual std::string
- declaration_type ()
- {
- return "type";
- }
-
- // Traversal
- public:
- virtual void
- accept (CCF::Traversal::Visitor* v);
- };
-
- typedef
- StrictPtr<TypeDecl>
- TypeDeclPtr;
-
- typedef
- DeclarationRef<TypeDecl>
- TypeDeclRef;
-
- //
- //
- //
- class TypeForwardDecl : public virtual TypeDecl
- {
- protected:
- virtual
- ~TypeForwardDecl () throw () {}
-
- TypeForwardDecl (SimpleName const& name,
- ScopePtr const& scope)
- : Declaration (name, scope),
- TypeDecl (name, scope)
- {
- }
-
- // Type completeness
- public:
- virtual bool
- defined () const
- {
- return false;
- }
-
- // Runtime declaration type information
- public:
- virtual std::string
- declaration_type ()
- {
- return "type";
- }
- };
-
-
- //
- //
- //
- class TypeDef : public virtual TypeDecl
- {
- protected:
- virtual
- ~TypeDef () throw () {}
-
- TypeDef (SimpleName const& name,
- ScopePtr const& scope)
- : Declaration (name, scope),
- TypeDecl (name, scope)
- {
- }
-
- // Type completeness
- public:
- virtual bool
- defined () const
- {
- return true;
- }
-
- // Runtime declaration type information
- public:
- virtual std::string
- declaration_type ()
- {
- return "type";
- }
-
- // Traversal
- public:
- virtual void
- accept (CCF::Traversal::Visitor* v);
- };
-
- typedef
- StrictPtr<TypeDef>
- TypeDefPtr;
-
- typedef
- DeclarationRef<TypeDef>
- TypeDefRef;
-
-
- /*
- // Anonymous type
- class Anonymous : public virtual Type
- {
- };
-
- */
-
-
- //
- //
- //
- class InterfaceDecl : public virtual TypeDecl
- {
- public:
- virtual
- ~InterfaceDecl () throw () {}
-
- InterfaceDecl (SimpleName const& name,
- ScopePtr const& scope)
- : Declaration (name, scope),
- TypeDecl (name, scope)
- {
- }
-
- // Runtime declaration type information
- public:
- virtual std::string
- declaration_type ()
- {
- return "interface";
- }
-
-
- // Traversal
- public:
- virtual void
- accept (CCF::Traversal::Visitor* v);
- };
-
- typedef
- StrictPtr<InterfaceDecl>
- InterfaceDeclPtr;
-
- typedef
- DeclarationOrderComparator<InterfaceDeclPtr>
- InterfaceDeclOrderComparator;
-
- typedef
- std::set<InterfaceDeclPtr, InterfaceDeclOrderComparator>
- InterfaceDeclSet;
-
- typedef
- DeclarationRef<InterfaceDecl>
- InterfaceDeclRef;
-
- typedef
- DeclarationRefOrderComparator<InterfaceDeclRef>
- InterfaceDeclRefOrderComparator;
-
- typedef
- std::set<InterfaceDeclRef, InterfaceDeclRefOrderComparator>
- InterfaceDeclRefSet;
-
-
- //
- //
- //
- class InterfaceForwardDecl : public virtual InterfaceDecl,
- public virtual TypeForwardDecl
- {
- public:
- virtual
- ~InterfaceForwardDecl () throw () {}
-
- InterfaceForwardDecl (SimpleName const& name,
- ScopePtr const& scope)
- : Declaration (name, scope),
- TypeDecl (name, scope),
- InterfaceDecl (name, scope),
- TypeForwardDecl (name, scope)
- {
- }
-
- // Runtime declaration type information
- public:
- virtual std::string
- declaration_type ()
- {
- return "interface";
- }
- };
-
- //
- //
- //
- class InterfaceDef;
-
- typedef
- StrictPtr<InterfaceDef>
- InterfaceDefPtr;
-
- typedef
- DeclarationRef<InterfaceDef>
- InterfaceDefRef;
-
- typedef
- DeclarationRefNameComparator<InterfaceDefRef>
- InterfaceDefRefNameComparator;
-
- typedef
- std::set<InterfaceDefRef, InterfaceDefRefNameComparator>
- InterfaceDefRefSetName;
-
- class InterfaceDef : public virtual InterfaceDecl,
- public virtual TypeDef,
- public virtual Scope
- {
- public:
- virtual
- ~InterfaceDef () throw () {}
-
- class DuplicateName {};
-
- InterfaceDef (SimpleName const& name,
- ScopePtr const& scope,
- ScopedNameSet const& inherits) throw (DuplicateName)
- : Declaration (name, scope),
- TypeDecl (name, scope),
- InterfaceDecl (name, scope),
- TypeDef (name, scope),
- Scope (name, scope)
- {
- for (ScopedNameSet::const_iterator i = inherits.begin ();
- i != inherits.end ();
- i++)
- {
- if (!inherits_.insert (
- InterfaceDefRef (scope->table (), *i)).second)
- {
- //@@ this never happens
- throw DuplicateName ();
- }
- }
- }
-
- public:
- typedef
- InterfaceDefRefSetName::const_iterator
- Iterator;
-
- Iterator
- inherits_begin () const
- {
- return inherits_.begin ();
- }
-
- Iterator
- inherits_end () const
- {
- return inherits_.end ();
- }
-
- // Runtime declaration type information
- public:
- virtual std::string
- declaration_type ()
- {
- return "interface";
- }
-
- // Traversal
- public:
- virtual void
- accept (CCF::Traversal::Visitor* v);
-
- private:
- InterfaceDefRefSetName inherits_;
- };
-
- typedef
- DeclarationOrderComparator<InterfaceDefPtr>
- InterfaceDefOrderComparator;
-
- typedef
- std::set<InterfaceDefPtr, InterfaceDefOrderComparator>
- InterfaceDefSet;
-
- typedef
- DeclarationRefOrderComparator<InterfaceDefRef>
- InterfaceDefRefOrderComparator;
-
- typedef
- std::set<InterfaceDefRef, InterfaceDefRefOrderComparator>
- InterfaceDefRefSet;
-
-
- //
- //
- //
- class AbstractInterfaceDecl : public virtual InterfaceDecl
- {
- public:
- virtual
- ~AbstractInterfaceDecl () throw () {}
-
- // forward-declared unconstrained interface c-tor
- AbstractInterfaceDecl (SimpleName const& name,
- ScopePtr const& scope)
- : Declaration (name, scope),
- TypeDecl (name, scope),
- InterfaceDecl (name, scope)
- {
- }
-
- // Runtime declaration type information
- public:
- virtual std::string
- declaration_type ()
- {
- return "abstract interface";
- }
-
- // Traversal
- public:
- virtual void
- accept (CCF::Traversal::Visitor* v);
- };
-
-
- //
- //
- //
- class AbstractInterfaceForwardDecl : public virtual InterfaceForwardDecl,
- public virtual AbstractInterfaceDecl
- {
- public:
- virtual
- ~AbstractInterfaceForwardDecl () throw () {}
-
- // forward-declared unconstrained interface c-tor
- AbstractInterfaceForwardDecl (SimpleName const& name,
- ScopePtr const& scope)
- : Declaration (name, scope),
- TypeDecl (name, scope),
- InterfaceDecl (name, scope),
- TypeForwardDecl (name, scope),
- InterfaceForwardDecl (name, scope),
- AbstractInterfaceDecl (name, scope)
- {
- }
-
- // Runtime declaration type information
- public:
- virtual std::string
- declaration_type ()
- {
- return "abstract interface";
- }
- };
-
-
- //
- //
- //
- class AbstractInterfaceDef : public virtual AbstractInterfaceDecl,
- public virtual InterfaceDef
- {
- public:
- virtual
- ~AbstractInterfaceDef () throw () {}
-
- AbstractInterfaceDef (SimpleName const& name,
- ScopePtr const& scope,
- ScopedNameSet const& inherits)
- : Declaration (name, scope),
- TypeDecl (name, scope),
- InterfaceDecl (name, scope),
- AbstractInterfaceDecl (name, scope),
- TypeDef (name, scope),
- Scope (name, scope),
- InterfaceDef (name, scope, inherits)
- {
- }
-
- // Runtime declaration type information
- public:
- virtual std::string
- declaration_type ()
- {
- return "abstract interface";
- }
-
- // Traversal
- public:
- virtual void
- accept (CCF::Traversal::Visitor* v);
- };
-
- //
- //
- //
- class LocalInterfaceDecl : public virtual InterfaceDecl
- {
- public:
- virtual
- ~LocalInterfaceDecl () throw () {}
-
- LocalInterfaceDecl (SimpleName const& name,
- ScopePtr const& scope)
- : Declaration (name, scope),
- TypeDecl (name, scope),
- InterfaceDecl (name, scope)
- {
- }
-
- // Runtime declaration type information
- public:
- virtual std::string
- declaration_type ()
- {
- return "local interface";
- }
-
- // Traversal
- public:
- virtual void
- accept (CCF::Traversal::Visitor* v);
- };
-
-
- //
- //
- //
- class LocalInterfaceForwardDecl : public virtual InterfaceForwardDecl,
- public virtual LocalInterfaceDecl
- {
- public:
- virtual
- ~LocalInterfaceForwardDecl () throw () {}
-
- LocalInterfaceForwardDecl (SimpleName const& name,
- ScopePtr const& scope)
- : Declaration (name, scope),
- TypeDecl (name, scope),
- InterfaceDecl (name, scope),
- TypeForwardDecl (name, scope),
- InterfaceForwardDecl (name, scope),
- LocalInterfaceDecl (name, scope)
- {
- }
-
- // Runtime declaration type information
- public:
- virtual std::string
- declaration_type ()
- {
- return "local interface";
- }
- };
-
-
- //
- //
- //
- class LocalInterfaceDef : public virtual LocalInterfaceDecl,
- public virtual InterfaceDef
- {
- public:
- virtual
- ~LocalInterfaceDef () throw () {}
-
- LocalInterfaceDef (SimpleName const& name,
- ScopePtr const& scope,
- ScopedNameSet const& inherits)
- : Declaration (name, scope),
- TypeDecl (name, scope),
- InterfaceDecl (name, scope),
- LocalInterfaceDecl (name, scope),
- TypeDef (name, scope),
- Scope (name, scope),
- InterfaceDef (name, scope, inherits)
- {
- }
-
- // Runtime declaration type information
- public:
- virtual std::string
- declaration_type ()
- {
- return "local interface";
- }
-
- // Traversal
- public:
- virtual void
- accept (CCF::Traversal::Visitor* v);
- };
-
- typedef
- StrictPtr<LocalInterfaceDef>
- LocalInterfaceDefPtr;
-
-
- //
- //
- //
- class UnconstrainedInterfaceDecl : public virtual InterfaceDecl
- {
- public:
- virtual
- ~UnconstrainedInterfaceDecl () throw () {}
-
- UnconstrainedInterfaceDecl (SimpleName const& name,
- ScopePtr const& scope)
- : Declaration (name, scope),
- TypeDecl (name, scope),
- InterfaceDecl (name, scope)
- {
- }
-
- // Runtime declaration type information
- public:
- virtual std::string
- declaration_type ()
- {
- return "unconstrained interface";
- }
-
- // Traversal
- public:
- virtual void
- accept (CCF::Traversal::Visitor* v);
- };
-
- typedef
- StrictPtr<UnconstrainedInterfaceDecl>
- UnconstrainedInterfaceDeclPtr;
-
-
- typedef
- DeclarationOrderComparator<UnconstrainedInterfaceDeclPtr>
- UnconstrainedInterfaceDeclOrderComparator;
-
- typedef
- std::set<UnconstrainedInterfaceDeclPtr,
- UnconstrainedInterfaceDeclOrderComparator>
- UnconstrainedInterfaceDeclSet;
-
-
- //
- //
- //
- class UnconstrainedInterfaceForwardDecl :
- public virtual InterfaceForwardDecl,
- public virtual UnconstrainedInterfaceDecl
- {
- public:
- virtual
- ~UnconstrainedInterfaceForwardDecl () throw () {}
-
- UnconstrainedInterfaceForwardDecl (SimpleName const& name,
- ScopePtr const& scope)
- : Declaration (name, scope),
- TypeDecl (name, scope),
- InterfaceDecl (name, scope),
- TypeForwardDecl (name, scope),
- InterfaceForwardDecl (name, scope),
- UnconstrainedInterfaceDecl (name, scope)
- {
- }
-
- // Runtime declaration type information
- public:
- virtual std::string
- declaration_type ()
- {
- return "unconstrained interface";
- }
- };
-
- //
- //
- //
- class UnconstrainedInterfaceDef :
- public virtual UnconstrainedInterfaceDecl,
- public virtual InterfaceDef
- {
- public:
- virtual
- ~UnconstrainedInterfaceDef () throw () {}
-
- UnconstrainedInterfaceDef (SimpleName const& name,
- ScopePtr const& scope,
- ScopedNameSet const& inherits)
- : Declaration (name, scope),
- TypeDecl (name, scope),
- InterfaceDecl (name, scope),
- UnconstrainedInterfaceDecl (name, scope),
- TypeDef (name, scope),
- Scope (name, scope),
- InterfaceDef (name, scope, inherits)
- {
- }
-
- // Runtime declaration type information
- public:
- virtual std::string
- declaration_type ()
- {
- return "unconstrained interface";
- }
-
- // Traversal
- public:
- virtual void
- accept (CCF::Traversal::Visitor* v);
- };
-
- typedef
- StrictPtr<UnconstrainedInterfaceDef>
- UnconstrainedInterfaceDefPtr;
-
-
- typedef
- DeclarationOrderComparator<UnconstrainedInterfaceDefPtr>
- UnconstrainedInterfaceDefOrderComparator;
-
- typedef
- std::set<UnconstrainedInterfaceDefPtr,
- UnconstrainedInterfaceDefOrderComparator>
- UnconstrainedInterfaceDefSet;
-
-
- //
- //
- //
- class AttributeDecl : public virtual Declaration
- {
- public:
- virtual
- ~AttributeDecl () throw () {}
-
- AttributeDecl (SimpleName const& name,
- ScopedName const& type,
- ScopePtr const& scope)
- : Declaration (name, scope),
- type_ (scope->table (), type)
-
- {
- }
-
- public:
- TypeDeclPtr
- type ()
- {
- return type_.resolve ();
- }
-
-
- // Runtime declaration type information
- public:
- virtual std::string
- declaration_type ()
- {
- return "attribute";
- }
-
- // Traversal
- public:
- virtual void
- accept (CCF::Traversal::Visitor* v);
-
- private:
- TypeDeclRef type_;
- };
-
- typedef
- StrictPtr<AttributeDecl>
- AttributeDeclPtr;
-
- //
- //
- //
- class OperationParameter : public virtual Node
- {
- public:
- virtual
- ~OperationParameter () throw () {}
-
- struct Direction
- {
- enum Value
- {
- IN,
- OUT,
- INOUT
- };
-
- friend std::ostream&
- operator<< (std::ostream& o, Value d)
- {
- if (d == IN) o << "in";
- else if (d == OUT) o << "out";
- else o << "inout";
- return o;
- }
- };
-
- OperationParameter (Direction::Value direction,
- ScopedName type,
- SimpleName name,
- DeclarationTable const& table)
- : direction_ (direction),
- type_ (table, type),
- name_ (name)
- {
- }
-
- public:
- Direction::Value
- direction ()
- {
- return direction_;
- }
-
- TypeDeclPtr
- type ()
- {
- return type_.resolve ();
- }
-
- SimpleName
- name ()
- {
- return name_;
- }
-
- // Traversal
- public:
- virtual void
- accept (CCF::Traversal::Visitor* v);
-
- private:
- Direction::Value direction_;
- TypeDeclRef type_;
- SimpleName name_;
- };
-
- typedef
- StrictPtr<OperationParameter>
- OperationParameterPtr;
-
- //@@ Strip Ptr from *List, *Set, etc?
- typedef
- std::vector<OperationParameterPtr>
- OperationParameterList;
-
-
- //
- //
- //
- class OperationDecl : public virtual Declaration
- {
- public:
- virtual
- ~OperationDecl () throw () {}
-
- OperationDecl (SimpleName const& name,
- ScopedName const& type,
- ScopePtr const& scope)
- : Declaration (name, scope),
- type_ (scope->table (), type)
-
- {
- }
-
- public:
- TypeDeclPtr
- type ()
- {
- return type_.resolve ();
- }
-
- public:
- typedef
- OperationParameterList::const_iterator
- Iterator;
-
- void
- insert (OperationParameterPtr op)
- {
- //@@ would be nice to have some checking here
- // list should probably be a set(by name)
- parameter_list_.push_back (op);
- }
-
- //@@ It's probably a good idea to stript prefixes from
- // functions like inherits_begin, etc where there is
- // no ambiguity. Ambiguity can come from Scope member function.
- Iterator
- begin ()
- {
- return parameter_list_.begin ();
- }
-
- Iterator
- end ()
- {
- return parameter_list_.end ();
- }
-
- // Runtime declaration type information
- public:
- virtual std::string
- declaration_type ()
- {
- return "operation";
- }
-
- // Traversal
- public:
- virtual void
- accept (CCF::Traversal::Visitor* v);
-
- private:
- TypeDeclRef type_;
- OperationParameterList parameter_list_;
- };
-
- typedef
- StrictPtr<OperationDecl>
- OperationDeclPtr;
-
-
- //
- // Module
- //
- class Module : public virtual Scope
- {
- public:
- virtual
- ~Module () throw () {}
-
- Module (SimpleName const& name, ScopePtr const& scope)
- : Declaration (name, scope),
- Scope (name, scope)
- {
- }
-
- // Runtime declaration type information
- public:
- virtual std::string
- declaration_type ()
- {
- return "module";
- }
-
- // Traversal
- public:
- virtual void
- accept (CCF::Traversal::Visitor* v);
- };
- typedef
- StrictPtr<Module>
- ModulePtr;
-
- //
- //
- //
- class FileScope : public virtual Scope
- {
- public:
- virtual
- ~FileScope () throw () {}
-
- FileScope (DeclarationTable& table, Order const& order);
-
- virtual ScopePtr
- scope () const throw (NotInScope)
- {
- throw NotInScope ();
- }
-
- // Runtime declaration type information
- public:
- virtual std::string
- declaration_type ()
- {
- return "file scope";
- }
-
- // Traversal
- public:
- virtual void
- accept (CCF::Traversal::Visitor* v);
- };
-
- typedef
- StrictPtr<FileScope>
- FileScopePtr;
-
- typedef
- DeclarationOrderComparator<FileScopePtr>
- FileScopeOrderComparator;
-
- typedef
- std::set<FileScopePtr, FileScopeOrderComparator>
- FileScopeSet;
-
-
- //
- //
- //
- class TranslationRegion;
-
- typedef
- StrictPtr<TranslationRegion>
- TranslationRegionPtr;
-
- typedef
- std::vector<TranslationRegionPtr>
- TranslationRegionList;
-
- class TranslationRegion : public virtual Node
- {
- public:
- virtual
- ~TranslationRegion () throw () {}
-
- TranslationRegion (DeclarationTable& table,
- Order const& order)
- : order_ (order),
- table_ (table),
- next_order_ (0)
- {
- scope_ = FileScopePtr (new FileScope (table_, Order (order_, 1)));
-
- //@@ eh!
- table.insert (scope_);
- }
-
- public:
- DeclarationTable const&
- table () const
- {
- return table_;
- }
-
- DeclarationTable&
- table ()
- {
- return table_;
- }
-
- public:
- Order
- create_order ()
- {
- return Order (Order (order_, 0), next_order_++);
- }
-
- public:
- FileScopePtr
- scope ()
- {
- return scope_;
- }
-
- public:
- class InvalidArgument {};
-
- void
- insert (TranslationRegionPtr const& tr) throw (InvalidArgument);
-
- typedef
- TranslationRegionList::const_iterator
- Iterator;
-
- Iterator
- begin () const;
-
- Iterator
- end () const;
-
- private:
- Order order_;
- FileScopePtr scope_;
- DeclarationTable& table_;
- unsigned long next_order_;
- TranslationRegionList region_list_;
-
- // Traversal
- public:
- virtual void
- accept (CCF::Traversal::Visitor* v);
- };
-
-
- //
- //
- //
- class IncludeTranslationRegion : public virtual TranslationRegion
- {
- public:
- virtual
- ~IncludeTranslationRegion () throw () {}
-
- IncludeTranslationRegion (fs::path const& file_path,
- DeclarationTable& table,
- Order const& order)
- : TranslationRegion (table, order),
- file_path_ (file_path)
- {
- }
-
- public:
- fs::path file_path () const
- {
- return file_path_;
- }
-
- // Traversal
- public:
- virtual void
- accept (CCF::Traversal::Visitor* v);
-
- private:
- fs::path file_path_;
- };
- typedef
- StrictPtr<IncludeTranslationRegion>
- IncludeTranslationRegionPtr;
-
- //
- //
- //
- class SysIncludeTranslationRegion : public virtual TranslationRegion
- {
- public:
- virtual
- ~SysIncludeTranslationRegion () throw () {}
-
- SysIncludeTranslationRegion (fs::path const& file_path,
- DeclarationTable& table,
- Order const& order)
- : TranslationRegion (table, order),
- file_path_ (file_path)
- {
- }
-
- public:
- fs::path file_path () const
- {
- return file_path_;
- }
-
- // Traversal
- public:
- virtual void
- accept (CCF::Traversal::Visitor* v);
-
- private:
- fs::path file_path_;
- };
- typedef
- StrictPtr<SysIncludeTranslationRegion>
- SysIncludeTranslationRegionPtr;
-
- //
- //
- //
- class ImpliedIncludeTranslationRegion : public virtual TranslationRegion
- {
- public:
- virtual
- ~ImpliedIncludeTranslationRegion () throw () {}
-
- ImpliedIncludeTranslationRegion (fs::path const& file_path,
- DeclarationTable& table,
- Order const& order)
- : TranslationRegion (table, order),
- file_path_ (file_path)
- {
- }
-
- public:
- fs::path file_path () const
- {
- return file_path_;
- }
-
- // Traversal
- public:
- virtual void
- accept (CCF::Traversal::Visitor* v);
-
- private:
- fs::path file_path_;
- };
- typedef
- StrictPtr<ImpliedIncludeTranslationRegion>
- ImpliedIncludeTranslationRegionPtr;
-
-
- //
- //
- //
- class PrincipalTranslationRegion : public virtual TranslationRegion
- {
- public:
- virtual
- ~PrincipalTranslationRegion () throw () {}
-
- PrincipalTranslationRegion (fs::path const& file_path,
- DeclarationTable& table,
- Order const& order)
- : TranslationRegion (table, order),
- file_path_ (file_path)
- {
- }
-
- public:
- fs::path file_path () const
- {
- return file_path_;
- }
-
- // Traversal
- public:
- virtual void
- accept (CCF::Traversal::Visitor* v);
-
- private:
- fs::path file_path_;
- };
- typedef
- StrictPtr<PrincipalTranslationRegion>
- PrincipalTranslationRegionPtr;
-
-
- //@@ TranslationUnit should not contain FileScope or should it?
- //@@ Seems not
- //
- //
- class TranslationUnit : public virtual Node
- {
- public:
- virtual
- ~TranslationUnit () throw () {}
-
- TranslationUnit ()
- : order_ (0),
- next_order_ (0)
- {
- }
-
- public:
-
- DeclarationTable const&
- table () const
- {
- return table_;
- }
-
- DeclarationTable&
- table ()
- {
- return table_;
- }
-
- public:
- Order
- create_order ()
- {
- return Order (order_, next_order_++);
- }
-
- public:
- class InvalidArgument {};
-
- void
- insert (TranslationRegionPtr const& tr) throw (InvalidArgument);
-
- typedef
- TranslationRegionList::const_iterator
- Iterator;
-
- Iterator
- begin () const;
-
- Iterator
- end () const;
-
-
- class NotFound {};
-
- PrincipalTranslationRegionPtr
- principal_translation_region () const throw (NotFound)
- {
- for (Iterator i = begin (); i != end (); i++)
- {
- if ((*i)->is_a<PrincipalTranslationRegion> ())
- {
- return (*i)->dynamic_type<PrincipalTranslationRegion> ();
- }
- }
-
- throw NotFound ();
- }
-
- private:
- Order order_;
- DeclarationTable table_;
- unsigned long next_order_;
- TranslationRegionList region_list_;
-
- // Traversal
- public:
- virtual void
- accept (CCF::Traversal::Visitor* v);
- };
-
- typedef
- StrictPtr<TranslationUnit>
- TranslationUnitPtr;
- }
-}
-
-//@@ tmp
-#include "CCF/IDL2/IDL2_SyntaxTree_BuiltIn.hpp"
-#include "CCF/IDL2/IDL2_SyntaxTree_Value.hpp"
-
-#include "CCF/IDL2/IDL2_SyntaxTree.tpp"
-
-#endif // CCF_IDL2_SYNTAX_TREE_HPP
diff --git a/TAO/CIAO/CCF/CCF/IDL2/IDL2_SyntaxTree.tpp b/TAO/CIAO/CCF/CCF/IDL2/IDL2_SyntaxTree.tpp
deleted file mode 100644
index 1c1953b9649..00000000000
--- a/TAO/CIAO/CCF/CCF/IDL2/IDL2_SyntaxTree.tpp
+++ /dev/null
@@ -1,126 +0,0 @@
-namespace IDL2
-{
- namespace SyntaxTree
- {
-
- //
- // DeclarationRef
- //
- template <typename T, typename Ptr>
- DeclarationRef<T, Ptr>::
- DeclarationRef (DeclarationTable const& table, ScopedName const& name)
- : table_ (table),
- name_ (name),
- order_ (0),
- initialized_ (true),
- with_order_ (false)
- {
- }
-
- template <typename T, typename Ptr>
- DeclarationRef<T, Ptr>::
- DeclarationRef (DeclarationTable const& table,
- ScopedName const& name,
- Order const& order)
- : table_ (table),
- name_ (name),
- order_ (order),
- initialized_ (true),
- with_order_ (true)
- {
- }
-
- template <typename T, typename Ptr>
- DeclarationRef<T, Ptr>::
- DeclarationRef (DeclarationPtr decl)
- : table_ (decl->scope ()->table ()),
- name_ (decl->name ()),
- order_ (decl->order ()),
- initialized_ (true),
- with_order_ (true)
- {
- }
-
- template <typename T, typename Ptr>
- DeclarationRef<T, Ptr>::
- DeclarationRef (DeclarationTable const& table)
- : table_ (table),
- name_ (""),
- order_ (0),
- initialized_ (false),
- with_order_ (false)
- {
- }
-
- template <typename T, typename Ptr>
- Ptr DeclarationRef<T, Ptr>::
- resolve () const throw (NotInitialized, DeclarationNotFound, TypeMismatch)
- {
- if (!initialized_) throw NotInitialized ();
-
- try
- {
- //@@ gcc bug
- return with_order_
- ? table_.template lookup<T> (name_, order_)
- : table_.template lookup<T> (name_);
- }
- catch (DeclarationTable::TypeMismatch const&)
- {
- throw TypeMismatch ();
- }
- catch (DeclarationTable::DeclarationNotFound const&)
- {
- throw DeclarationNotFound ();
- }
- }
-
- //
- // DeclarationTable
- //
- template <typename T>
- StrictPtr<T> DeclarationTable::
- lookup (ScopedName const& n) const
- throw (DeclarationNotFound, TypeMismatch)
- {
- IteratorPair pair = lookup (n);
-
- if (pair.first == pair.second) throw DeclarationNotFound ();
-
- for (; pair.first != pair.second; pair.first++)
- {
- DeclarationPtr d = (*pair.first);
-
- //@@ gcc bug
- StrictPtr<T> p ((*pair.first)->template dynamic_type<T> ());
-
- if (p != 0) return p;
- }
-
- throw TypeMismatch ();
- }
-
-
- template <typename T>
- StrictPtr<T> DeclarationTable::
- lookup (ScopedName const& n, Order const& o) const
- throw (DeclarationNotFound, TypeMismatch)
- {
- IteratorPair pair = lookup (n);
-
- for (; pair.first != pair.second; pair.first++)
- {
- if ((*pair.first)->order () != o) continue;
-
- //@@ gcc bug
- StrictPtr<T> p ((*pair.first)->template dynamic_type<T> ());
-
- if (p != 0) return p;
-
- throw TypeMismatch ();
- }
-
- throw DeclarationNotFound ();
- }
- }
-}
diff --git a/TAO/CIAO/CCF/CCF/IDL2/IDL2_SyntaxTreeFwd.hpp b/TAO/CIAO/CCF/CCF/IDL2/IDL2_SyntaxTreeFwd.hpp
deleted file mode 100644
index 12b6a183516..00000000000
--- a/TAO/CIAO/CCF/CCF/IDL2/IDL2_SyntaxTreeFwd.hpp
+++ /dev/null
@@ -1,162 +0,0 @@
-// $Id$
-#ifndef CCF_IDL2_SYNTAX_TREE_FWD_HPP
-#define CCF_IDL2_SYNTAX_TREE_FWD_HPP
-
-#include "MSVC_Pragmas.hpp"
-
-#include "CCF/CompilerElements/ReferenceCounting.hpp"
-
-namespace IDL2
-{
- namespace SyntaxTree
- {
- using ReferenceCounting::StrictPtr;
-
- class Comma;
- typedef
- StrictPtr<Comma>
- CommaPtr;
-
- class Declaration;
- typedef
- StrictPtr<Declaration>
- DeclarationPtr;
-
- class TypeDecl;
- typedef
- StrictPtr<TypeDecl>
- TypeDeclPtr;
-
- class TypeDef;
- typedef
- StrictPtr<TypeDef>
- TypeDefPtr;
-
- class BuiltInTypeDef;
- typedef
- StrictPtr<BuiltInTypeDef>
- BuiltInTypeDefPtr;
-
- class Void;
- typedef
- StrictPtr<Void>
- VoidPtr;
-
- class Long;
- typedef
- StrictPtr<Long>
- LongPtr;
-
- class Boolean;
- typedef
- StrictPtr<Boolean>
- BooleanPtr;
-
- class String;
- typedef
- StrictPtr<String>
- StringPtr;
-
- class Scope;
- typedef
- StrictPtr<Scope>
- ScopePtr;
-
- class Module;
- typedef
- StrictPtr<Module>
- ModulePtr;
-
- class InterfaceDecl;
- typedef
- StrictPtr<InterfaceDecl>
- InterfaceDeclPtr;
-
- class InterfaceDef;
- typedef
- StrictPtr<InterfaceDef>
- InterfaceDefPtr;
-
- class AbstractInterfaceDecl;
- typedef
- StrictPtr<AbstractInterfaceDecl>
- AbstractInterfaceDeclPtr;
-
- class AbstractInterfaceDef;
- typedef
- StrictPtr<AbstractInterfaceDef>
- AbstractInterfaceDefPtr;
-
- class LocalInterfaceDecl;
- typedef
- StrictPtr<LocalInterfaceDecl>
- LocalInterfaceDeclPtr;
-
- class LocalInterfaceDef;
- typedef
- StrictPtr<LocalInterfaceDef>
- LocalInterfaceDefPtr;
-
- class UnconstrainedInterfaceDecl;
- typedef
- StrictPtr<UnconstrainedInterfaceDecl>
- UnconstrainedInterfaceDeclPtr;
-
- class UnconstrainedInterfaceDef;
- typedef
- StrictPtr<UnconstrainedInterfaceDef>
- UnconstrainedInterfaceDefPtr;
-
- class AttributeDecl;
- typedef
- StrictPtr<AttributeDecl>
- AttributeDeclPtr;
-
- class OperationParameter;
- typedef
- StrictPtr<OperationParameter>
- OperationParameterPtr;
-
- class OperationDecl;
- typedef
- StrictPtr<OperationDecl>
- OperationDeclPtr;
-
- class FileScope;
- typedef
- StrictPtr<FileScope>
- FileScopePtr;
-
- class TranslationRegion;
- typedef
- StrictPtr<TranslationRegion>
- TranslationRegionPtr;
-
- class IncludeTranslationRegion;
- typedef
- StrictPtr<IncludeTranslationRegion>
- IncludeTranslationRegionPtr;
-
- class SysIncludeTranslationRegion;
- typedef
- StrictPtr<SysIncludeTranslationRegion>
- SysIncludeTranslationRegionPtr;
-
- class ImpliedIncludeTranslationRegion;
- typedef
- StrictPtr<ImpliedIncludeTranslationRegion>
- ImpliedIncludeTranslationRegionPtr;
-
- class PrincipalTranslationRegion;
- typedef
- StrictPtr<PrincipalTranslationRegion>
- PrincipalTranslationRegionPtr;
-
- class TranslationUnit;
- typedef
- StrictPtr<TranslationUnit>
- TranslationUnitPtr;
- }
-}
-
-#endif // CCF_IDL2_SYNTAX_TREE_FWD_HPP
diff --git a/TAO/CIAO/CCF/CCF/IDL2/IDL2_SyntaxTree_BuiltIn.cpp b/TAO/CIAO/CCF/CCF/IDL2/IDL2_SyntaxTree_BuiltIn.cpp
deleted file mode 100644
index f1ea69edb59..00000000000
--- a/TAO/CIAO/CCF/CCF/IDL2/IDL2_SyntaxTree_BuiltIn.cpp
+++ /dev/null
@@ -1,99 +0,0 @@
-// $Id$
-#include "IDL2_SyntaxTree_BuiltIn.hpp"
-
-#include "IDL2_Traversal.hpp"
-
-namespace IDL2
-{
- namespace SyntaxTree
- {
- using ReferenceCounting::StrictPtr;
- using CCF::Traversal::try_visit;
-
- //
- // BuiltInTypeDef
- //
-
- void BuiltInTypeDef::
- accept (CCF::Traversal::Visitor* v)
- {
- BuiltInTypeDefPtr self (ReferenceCounting::add_ref (this));
-
- if(!try_visit<Traversal::BuiltInTypeDef> (&Traversal::BuiltInTypeDef::visit_built_in_type_def,
- v,
- self))
- {
- TypeDef::accept (v);
- }
- }
-
-
- //
- // Void
- //
-
- void Void::
- accept (CCF::Traversal::Visitor* v)
- {
- VoidPtr self (ReferenceCounting::add_ref (this));
-
- if(!try_visit<Traversal::Void> (&Traversal::Void::visit_void,
- v,
- self))
- {
- BuiltInTypeDef::accept (v);
- }
- }
-
- //
- // Long
- //
-
- void Long::
- accept (CCF::Traversal::Visitor* v)
- {
- LongPtr self (ReferenceCounting::add_ref (this));
-
- if(!try_visit<Traversal::Long> (&Traversal::Long::visit_long,
- v,
- self))
- {
- BuiltInTypeDef::accept (v);
- }
- }
-
- //
- // Boolean
- //
-
- void Boolean::
- accept (CCF::Traversal::Visitor* v)
- {
- BooleanPtr self (ReferenceCounting::add_ref (this));
-
- if(!try_visit<Traversal::Boolean> (&Traversal::Boolean::visit_boolean,
- v,
- self))
- {
- BuiltInTypeDef::accept (v);
- }
- }
-
- //
- // String
- //
-
- void String::
- accept (CCF::Traversal::Visitor* v)
- {
- StringPtr self (ReferenceCounting::add_ref (this));
-
- if(!try_visit<Traversal::String> (&Traversal::String::visit_string,
- v,
- self))
- {
- BuiltInTypeDef::accept (v);
- }
- }
- }
-}
diff --git a/TAO/CIAO/CCF/CCF/IDL2/IDL2_SyntaxTree_BuiltIn.hpp b/TAO/CIAO/CCF/CCF/IDL2/IDL2_SyntaxTree_BuiltIn.hpp
deleted file mode 100644
index 63ea6290a78..00000000000
--- a/TAO/CIAO/CCF/CCF/IDL2/IDL2_SyntaxTree_BuiltIn.hpp
+++ /dev/null
@@ -1,200 +0,0 @@
-// $Id$
-#ifndef CCF_IDL2_SYNTAX_TREE_BUILT_IN_HPP
-#define CCF_IDL2_SYNTAX_TREE_BUILT_IN_HPP
-
-#include "MSVC_Pragmas.hpp"
-
-#include "CCF/IDL2/IDL2_SyntaxTree.hpp"
-
-namespace IDL2
-{
- namespace SyntaxTree
- {
-
- //@@ I have a potential problem with two-word built-in types
- // e.g. unsigned long. Though I don't see anything bad in
- // allowing (internally) for names to contain spaces e.g.
- // '::unsigned long'. I will also have to teach LexicalAnalyzer
- // to parse this stuff properly.
- //
-
- //
- //
- //
- class BuiltInTypeDef : public virtual TypeDef
- {
- protected:
- virtual
- ~BuiltInTypeDef () throw () {}
-
- BuiltInTypeDef (SimpleName const& name,
- ScopePtr const& scope)
- : Declaration (name, scope),
- TypeDecl (name, scope),
- TypeDef (name, scope)
- {
- }
-
- // Runtime declaration type information
- public:
- virtual std::string
- declaration_type ()
- {
- return "built-in type";
- }
-
- // Traversal
- public:
- virtual void
- accept (CCF::Traversal::Visitor* v);
- };
-
- typedef
- StrictPtr<BuiltInTypeDef>
- BuiltInTypeDefPtr;
-
-
- //
- //
- //
- class Void : public virtual BuiltInTypeDef
- {
- public:
- virtual
- ~Void () throw () {}
-
- Void (ScopePtr const& scope)
- : Declaration (SimpleName ("void"), scope),
- TypeDecl (SimpleName ("void"), scope),
- TypeDef (SimpleName ("void"), scope),
- BuiltInTypeDef (SimpleName ("void"), scope)
- {
- }
-
- // Runtime declaration type information
- public:
- virtual std::string
- declaration_type ()
- {
- return "built-in type void";
- }
-
- // Traversal
- public:
- virtual void
- accept (CCF::Traversal::Visitor* v);
- };
-
- typedef
- StrictPtr<Void>
- VoidPtr;
-
- //
- //
- //
- class Long : public virtual BuiltInTypeDef
- {
- public:
- virtual
- ~Long () throw () {}
-
- Long (ScopePtr const& scope)
- : Declaration (SimpleName ("long"), scope),
- TypeDecl (SimpleName ("long"), scope),
- TypeDef (SimpleName ("long"), scope),
- BuiltInTypeDef (SimpleName ("long"), scope)
- {
- }
-
- // Runtime declaration type information
- public:
- virtual std::string
- declaration_type ()
- {
- return "built-in type long";
- }
-
- // Traversal
- public:
- virtual void
- accept (CCF::Traversal::Visitor* v);
- };
-
- typedef
- StrictPtr<Long>
- LongPtr;
-
- //
- //
- //
- class Boolean : public virtual BuiltInTypeDef
- {
- public:
- virtual
- ~Boolean () throw () {}
-
- Boolean (ScopePtr const& scope)
- : Declaration (SimpleName ("boolean"), scope),
- TypeDecl (SimpleName ("boolean"), scope),
- TypeDef (SimpleName ("boolean"), scope),
- BuiltInTypeDef (SimpleName ("boolean"), scope)
- {
- }
-
- // Runtime declaration type information
- public:
- virtual std::string
- declaration_type ()
- {
- return "built-in type boolean";
- }
-
- // Traversal
- public:
- virtual void
- accept (CCF::Traversal::Visitor* v);
- };
-
- typedef
- StrictPtr<Boolean>
- BooleanPtr;
-
-
- //
- //
- //
- class String : public virtual BuiltInTypeDef
- {
- public:
- virtual
- ~String () throw () {}
-
- String (ScopePtr const& scope)
- : Declaration (SimpleName ("string"), scope),
- TypeDecl (SimpleName ("string"), scope),
- TypeDef (SimpleName ("string"), scope),
- BuiltInTypeDef (SimpleName ("string"), scope)
- {
- }
-
- // Runtime declaration type information
- public:
- virtual std::string
- declaration_type ()
- {
- return "built-in type string";
- }
-
- // Traversal
- public:
- virtual void
- accept (CCF::Traversal::Visitor* v);
- };
-
- typedef
- StrictPtr<String>
- StringPtr;
- }
-}
-
-#endif // CCF_IDL2_SYNTAX_TREE_BUILT_IN_HPP
diff --git a/TAO/CIAO/CCF/CCF/IDL2/IDL2_SyntaxTree_Value.hpp b/TAO/CIAO/CCF/CCF/IDL2/IDL2_SyntaxTree_Value.hpp
deleted file mode 100644
index 1b8d4399fcd..00000000000
--- a/TAO/CIAO/CCF/CCF/IDL2/IDL2_SyntaxTree_Value.hpp
+++ /dev/null
@@ -1,190 +0,0 @@
-// $Id$
-#ifndef CCF_IDL2_SYNTAX_TREE_VALUE_HPP
-#define CCF_IDL2_SYNTAX_TREE_VALUE_HPP
-
-#include "MSVC_Pragmas.hpp"
-
-#include "CCF/IDL2/IDL2_SyntaxTree.hpp"
-
-namespace IDL2
-{
- namespace SyntaxTree
- {
- //
- //
- //
- class ValueDecl : public virtual TypeDecl
- {
- public:
- virtual
- ~ValueDecl () throw () {}
-
- ValueDecl (SimpleName const& name,
- ScopePtr const& scope)
- : Declaration (name, scope),
- TypeDecl (name, scope)
- {
- }
-
- // Runtime declaration type information
- public:
- virtual std::string
- declaration_type ()
- {
- return "value";
- }
-
-
- // Traversal
- public:
- virtual void
- accept (CCF::Traversal::Visitor* v)
- {
- }
-
- };
-
- typedef
- StrictPtr<ValueDecl>
- ValueDeclPtr;
-
- typedef
- DeclarationOrderComparator<ValueDeclPtr>
- ValueDeclOrderComparator;
-
- typedef
- std::set<ValueDeclPtr, ValueDeclOrderComparator>
- ValueDeclSet;
-
- typedef
- DeclarationRef<ValueDecl>
- ValueDeclRef;
-
- typedef
- DeclarationRefOrderComparator<ValueDeclRef>
- ValueDeclRefOrderComparator;
-
- typedef
- std::set<ValueDeclRef, ValueDeclRefOrderComparator>
- ValueDeclRefSet;
-
-
- //
- //
- //
- class ValueForwardDecl : public virtual ValueDecl,
- public virtual TypeForwardDecl
- {
- public:
- virtual
- ~ValueForwardDecl () throw () {}
-
- ValueForwardDecl (SimpleName const& name,
- ScopePtr const& scope)
- : Declaration (name, scope),
- TypeDecl (name, scope),
- ValueDecl (name, scope),
- TypeForwardDecl (name, scope)
- {
- }
-
- // Runtime declaration type information
- public:
- virtual std::string
- declaration_type ()
- {
- return "value";
- }
- };
-
- //
- //
- //
- class ValueDef;
-
- typedef
- StrictPtr<ValueDef>
- ValueDefPtr;
-
- typedef
- DeclarationRef<ValueDef>
- ValueDefRef;
-
- typedef
- DeclarationRefNameComparator<ValueDefRef>
- ValueDefRefNameComparator;
-
- typedef
- std::set<ValueDefRef, ValueDefRefNameComparator>
- ValueDefRefSetName;
-
- class ValueDef : public virtual ValueDecl,
- public virtual TypeDef,
- public virtual Scope
- {
- public:
- virtual
- ~ValueDef () throw () {}
-
- class DuplicateName {};
-
- ValueDef (SimpleName const& name,
- ScopePtr const& scope,
- ScopedNameSet const& inherits) throw (DuplicateName)
- : Declaration (name, scope),
- TypeDecl (name, scope),
- ValueDecl (name, scope),
- TypeDef (name, scope),
- Scope (name, scope)
- {
- for (ScopedNameSet::const_iterator i = inherits.begin ();
- i != inherits.end ();
- i++)
- {
- if (!inherits_.insert (ValueDefRef (scope->table (), *i)).second)
- {
- //@@ this never happens
- throw DuplicateName ();
- }
- }
- }
-
- // Runtime declaration type information
- public:
- virtual std::string
- declaration_type ()
- {
- return "value";
- }
-
- // Traversal
- public:
- virtual void
- accept (CCF::Traversal::Visitor* v)
- {
- }
-
-
- private:
- ValueDefRefSetName inherits_;
- };
-
- typedef
- DeclarationOrderComparator<ValueDefPtr>
- ValueDefOrderComparator;
-
- typedef
- std::set<ValueDefPtr, ValueDefOrderComparator>
- ValueDefSet;
-
- typedef
- DeclarationRefOrderComparator<ValueDefRef>
- ValueDefRefOrderComparator;
-
- typedef
- std::set<ValueDefRef, ValueDefRefOrderComparator>
- ValueDefRefSet;
- }
-}
-
-#endif // CCF_IDL2_SYNTAX_TREE_VALUE_HPP
diff --git a/TAO/CIAO/CCF/CCF/IDL2/IDL2_Traversal.cpp b/TAO/CIAO/CCF/CCF/IDL2/IDL2_Traversal.cpp
deleted file mode 100644
index 08bff63ed2d..00000000000
--- a/TAO/CIAO/CCF/CCF/IDL2/IDL2_Traversal.cpp
+++ /dev/null
@@ -1,608 +0,0 @@
-// $Id$
-#include "IDL2_Traversal.hpp"
-#include "IDL2_SyntaxTree.hpp"
-
-namespace IDL2
-{
- namespace Traversal
- {
- namespace
- {
- void
- iterate_scope (SyntaxTree::ScopePtr const& s,
- CCF::Traversal::Visitor* v)
- {
- for (SyntaxTree::Scope::Iterator i = s->begin (); i != s->end (); i++)
- {
- (*i)->accept (v);
- }
- }
- }
-
-
- //
- // Scope
- //
-
- void Scope::
- visit_scope (NodePtr const& s)
- {
- visit_scope_pre (s);
- visit_scope_scope (s);
- visit_scope_post (s);
- }
-
- void Scope::
- visit_scope_scope (NodePtr const& s)
- {
- iterate_scope (s, this);
- }
-
-
- //
- // Module
- //
-
- void Module::
- visit_module (NodePtr const& m)
- {
- visit_module_pre (m);
- visit_module_scope (m);
- visit_module_post (m);
- }
-
- void Module::
- visit_module_pre (NodePtr const& m)
- {
- }
-
- void Module::
- visit_module_scope (NodePtr const& m)
- {
- iterate_scope (m, this);
- }
-
- void Module::
- visit_module_post (NodePtr const& m)
- {
- }
-
- //
- // InterfaceDecl
- //
-
- void InterfaceDecl::
- visit_interface_decl (NodePtr const& i)
- {
- visit_interface_decl_pre (i);
- visit_interface_decl_post (i);
- }
-
- void InterfaceDecl::
- visit_interface_decl_pre (NodePtr const&)
- {
- }
-
- void InterfaceDecl::
- visit_interface_decl_post (NodePtr const&)
- {
- }
-
-
- //
- // InterfaceDef
- //
-
- void InterfaceDef::
- visit_interface_def (NodePtr const& i)
- {
- visit_interface_def_pre (i);
- visit_interface_def_scope (i);
- visit_interface_def_post (i);
- }
-
- void InterfaceDef::
- visit_interface_def_pre (NodePtr const&)
- {
- }
-
- void InterfaceDef::
- visit_interface_def_scope (NodePtr const& i)
- {
- iterate_scope (i, this);
- }
-
- void InterfaceDef::
- visit_interface_def_post (NodePtr const&)
- {
- }
-
- //
- // AbstractInterfaceDecl
- //
-
- void AbstractInterfaceDecl::
- visit_abstract_interface_decl (NodePtr const& i)
- {
- visit_abstract_interface_decl_pre (i);
- visit_abstract_interface_decl_post (i);
- }
-
- void AbstractInterfaceDecl::
- visit_abstract_interface_decl_pre (NodePtr const&)
- {
- }
-
- void AbstractInterfaceDecl::
- visit_abstract_interface_decl_post (NodePtr const&)
- {
- }
-
-
- //
- // AbstractInterfaceDef
- //
-
- void AbstractInterfaceDef::
- visit_abstract_interface_def (NodePtr const& i)
- {
- visit_abstract_interface_def_pre (i);
- visit_abstract_interface_def_scope (i);
- visit_abstract_interface_def_post (i);
- }
-
- void AbstractInterfaceDef::
- visit_abstract_interface_def_pre (NodePtr const&)
- {
- }
-
- void AbstractInterfaceDef::
- visit_abstract_interface_def_scope (NodePtr const& i)
- {
- iterate_scope (i, this);
- }
-
- void AbstractInterfaceDef::
- visit_abstract_interface_def_post (NodePtr const&)
- {
- }
-
- //
- // LocalInterfaceDecl
- //
-
- void LocalInterfaceDecl::
- visit_local_interface_decl (NodePtr const& i)
- {
- visit_local_interface_decl_pre (i);
- visit_local_interface_decl_post (i);
- }
-
- void LocalInterfaceDecl::
- visit_local_interface_decl_pre (NodePtr const&)
- {
- }
-
- void LocalInterfaceDecl::
- visit_local_interface_decl_post (NodePtr const&)
- {
- }
-
-
- //
- // LocalInterfaceDef
- //
-
- void LocalInterfaceDef::
- visit_local_interface_def (NodePtr const& i)
- {
- visit_local_interface_def_pre (i);
- visit_local_interface_def_scope (i);
- visit_local_interface_def_post (i);
- }
-
- void LocalInterfaceDef::
- visit_local_interface_def_pre (NodePtr const&)
- {
- }
-
- void LocalInterfaceDef::
- visit_local_interface_def_scope (NodePtr const& i)
- {
- iterate_scope (i, this);
- }
-
- void LocalInterfaceDef::
- visit_local_interface_def_post (NodePtr const&)
- {
- }
-
- //
- // UnconstrainedInterfaceDecl
- //
-
- void UnconstrainedInterfaceDecl::
- visit_unconstrained_interface_decl (NodePtr const& i)
- {
- visit_unconstrained_interface_decl_pre (i);
- visit_unconstrained_interface_decl_post (i);
- }
-
- void UnconstrainedInterfaceDecl::
- visit_unconstrained_interface_decl_pre (NodePtr const&)
- {
- }
-
- void UnconstrainedInterfaceDecl::
- visit_unconstrained_interface_decl_post (NodePtr const&)
- {
- }
-
-
- //
- // UnconstrainedInterfaceDef
- //
-
- void UnconstrainedInterfaceDef::
- visit_unconstrained_interface_def (NodePtr const& i)
- {
- visit_unconstrained_interface_def_pre (i);
- visit_unconstrained_interface_def_scope (i);
- visit_unconstrained_interface_def_post (i);
- }
-
- void UnconstrainedInterfaceDef::
- visit_unconstrained_interface_def_pre (NodePtr const&)
- {
- }
-
- void UnconstrainedInterfaceDef::
- visit_unconstrained_interface_def_scope (NodePtr const& i)
- {
- iterate_scope (i, this);
- }
-
- void UnconstrainedInterfaceDef::
- visit_unconstrained_interface_def_post (NodePtr const&)
- {
- }
-
- //
- //
- //
-
- void AttributeDecl::
- visit_attribute_decl (NodePtr const& n)
- {
- visit_attribute_pre (n);
-
- if (type_) n->type ()->accept (type_);
- else n->type ()->accept (this);
-
- visit_attribute_post (n);
- }
-
-
- void AttributeDecl::
- visit_attribute_pre (NodePtr const& n)
- {
- }
-
- void AttributeDecl::
- visit_attribute_post (NodePtr const& n)
- {
- }
-
-
- //
- // OperationParameter
- //
- void OperationParameter::
- visit_operation_parameter (NodePtr const& op)
- {
- visit_operation_parameter_pre (op);
-
- CCF::Traversal::Visitor* v = this;
-
- switch (op->direction ())
- {
- case SyntaxTree::OperationParameter::Direction::IN:
- {
- if (in_) v = in_;
- break;
- }
- case SyntaxTree::OperationParameter::Direction::OUT:
- {
- if (out_) v = out_;
- break;
- }
- case SyntaxTree::OperationParameter::Direction::INOUT:
- {
- if (inout_) v = inout_;
- break;
- }
- }
-
- op->type ()->accept (v);
-
- visit_operation_parameter_post (op);
- }
-
- //
- // OperationDecl
- //
-
- void OperationDecl::
- visit_operation_decl (NodePtr const& n)
- {
- visit_operation_decl_pre (n);
- visit_operation_decl_type (n);
- visit_operation_decl_name (n);
- visit_operation_decl_parameters (n);
- visit_operation_decl_post (n);
- }
-
- void OperationDecl::
- visit_operation_decl_pre (NodePtr const& n)
- {
- }
-
- void OperationDecl::
- visit_operation_decl_type (NodePtr const& n)
- {
- if (type_) n->type ()->accept (type_);
- else n->type ()->accept (this);
- }
-
- void OperationDecl::
- visit_operation_decl_name (NodePtr const& n)
- {
- }
-
- void OperationDecl::
- visit_operation_decl_parameters (NodePtr const& n)
- {
- for (SyntaxTree::OperationDecl::Iterator i = n->begin ();
- i != n->end ();
- i++)
- {
- (*i)->accept (this);
-
- if (i + 1 != n->end ())
- {
- //@@ could be OperationParameterComma
- SyntaxTree::CommaPtr c (new SyntaxTree::Comma);
- c->accept (this);
- }
- }
- }
-
- void OperationDecl::
- visit_operation_decl_post (NodePtr const& n)
- {
- }
-
- //
- // FileScope
- //
-
- void FileScope::
- visit_file_scope (NodePtr const& fs)
- {
- visit_file_scope_pre (fs);
- visit_file_scope_scope (fs);
- visit_file_scope_post (fs);
- }
-
- void FileScope::
- visit_file_scope_pre (NodePtr const& fs)
- {
- }
-
- void FileScope::
- visit_file_scope_scope (NodePtr const& fs)
- {
- iterate_scope (fs, this);
- }
-
- void FileScope::
- visit_file_scope_post (NodePtr const& fs)
- {
- }
-
- //
- // TranslationRegion
- //
-
- namespace
- {
- void
- iterate_translation_region (SyntaxTree::TranslationRegionPtr const& tr,
- CCF::Traversal::Visitor* v)
- {
- // visit nested translation regions
- for (SyntaxTree::TranslationRegion::Iterator i = tr->begin ();
- i != tr->end ();
- i++)
- {
- (*i)->accept (v);
- }
-
- // visit associated scope
- tr->scope ()->accept (v);
- }
- }
-
-
- void TranslationRegion::
- visit_translation_region (NodePtr const& n)
- {
- visit_translation_region_pre (n);
- visit_translation_region_content (n);
- visit_translation_region_post (n);
- }
-
- void TranslationRegion::
- visit_translation_region_pre (NodePtr const& n)
- {
- iterate_translation_region (n, this);
- }
-
- void TranslationRegion::
- visit_translation_region_content (NodePtr const& n)
- {
- }
-
- void TranslationRegion::
- visit_translation_region_post (NodePtr const& n)
- {
- }
-
- //
- // IncludeTranslationRegion
- //
-
- void IncludeTranslationRegion::
- visit_include_translation_region (NodePtr const& n)
- {
- visit_include_translation_region_pre (n);
- visit_include_translation_region_content (n);
- visit_include_translation_region_post (n);
- }
-
- void IncludeTranslationRegion::
- visit_include_translation_region_pre (NodePtr const& n)
- {
- iterate_translation_region (n, this);
- }
-
- void IncludeTranslationRegion::
- visit_include_translation_region_content (NodePtr const& n)
- {
- }
-
- void IncludeTranslationRegion::
- visit_include_translation_region_post (NodePtr const& n)
- {
- }
-
- //
- // SysIncludeTranslationRegion
- //
-
- void SysIncludeTranslationRegion::
- visit_sys_include_translation_region (NodePtr const& n)
- {
- visit_sys_include_translation_region_pre (n);
- visit_sys_include_translation_region_content (n);
- visit_sys_include_translation_region_post (n);
- }
-
- void SysIncludeTranslationRegion::
- visit_sys_include_translation_region_pre (NodePtr const& n)
- {
- iterate_translation_region (n, this);
- }
-
- void SysIncludeTranslationRegion::
- visit_sys_include_translation_region_content (NodePtr const& n)
- {
- }
-
- void SysIncludeTranslationRegion::
- visit_sys_include_translation_region_post (NodePtr const& n)
- {
- }
-
- //
- // ImpliedIncludeTranslationRegion
- //
-
- void ImpliedIncludeTranslationRegion::
- visit_implied_include_translation_region (NodePtr const& n)
- {
- visit_implied_include_translation_region_pre (n);
- visit_implied_include_translation_region_content (n);
- visit_implied_include_translation_region_post (n);
- }
-
- void ImpliedIncludeTranslationRegion::
- visit_implied_include_translation_region_pre (NodePtr const& n)
- {
- iterate_translation_region (n, this);
- }
-
- void ImpliedIncludeTranslationRegion::
- visit_implied_include_translation_region_content (NodePtr const& n)
- {
- }
-
- void ImpliedIncludeTranslationRegion::
- visit_implied_include_translation_region_post (NodePtr const& n)
- {
- }
-
-
- //
- // PrincipalTranslationRegion
- //
-
- void PrincipalTranslationRegion::
- visit_principal_translation_region (NodePtr const& n)
- {
- visit_principal_translation_region_pre (n);
- visit_principal_translation_region_content (n);
- visit_principal_translation_region_post (n);
- }
-
- void PrincipalTranslationRegion::
- visit_principal_translation_region_pre (NodePtr const& n)
- {
- iterate_translation_region (n, this);
- }
-
- void PrincipalTranslationRegion::
- visit_principal_translation_region_content (NodePtr const& n)
- {
- }
-
- void PrincipalTranslationRegion::
- visit_principal_translation_region_post (NodePtr const& n)
- {
- }
-
- //
- // TranslationUnit
- //
-
- void TranslationUnit::
- visit_translation_unit (NodePtr const& tu)
- {
- visit_translation_unit_pre (tu);
- visit_translation_unit_content (tu);
- visit_translation_unit_post (tu);
- }
-
- void TranslationUnit::
- visit_translation_unit_pre (NodePtr const& tu)
- {
- }
-
- void TranslationUnit::
- visit_translation_unit_content (NodePtr const& tu)
- {
- // Visit nested translation regions
- for (SyntaxTree::TranslationUnit::Iterator i = tu->begin ();
- i != tu->end ();
- i++)
- {
- (*i)->accept (this);
- }
- }
-
- void TranslationUnit::
- visit_translation_unit_post (NodePtr const& tu)
- {
- }
- }
-}
diff --git a/TAO/CIAO/CCF/CCF/IDL2/IDL2_Traversal.hpp b/TAO/CIAO/CCF/CCF/IDL2/IDL2_Traversal.hpp
deleted file mode 100644
index 741a937a2d3..00000000000
--- a/TAO/CIAO/CCF/CCF/IDL2/IDL2_Traversal.hpp
+++ /dev/null
@@ -1,519 +0,0 @@
-// $Id$
-#ifndef CCF_IDL2_TRAVERSAL_HPP
-#define CCF_IDL2_TRAVERSAL_HPP
-
-#include "MSVC_Pragmas.hpp"
-
-#include "CCF/CompilerElements/Traversal.hpp"
-#include "CCF/IDL2/IDL2_SyntaxTreeFwd.hpp"
-
-namespace IDL2
-{
- namespace Traversal
- {
- //
- //
- //
- struct Comma : virtual CCF::Traversal::Visitor
- {
- typedef
- SyntaxTree::CommaPtr
- NodePtr;
-
- virtual void visit_comma (NodePtr const& s)
- {
- }
- };
-
- //
- //
- //
- struct Declaration : virtual CCF::Traversal::Visitor
- {
- };
-
- //
- //
- //
- struct TypeDecl : virtual CCF::Traversal::Visitor
- {
- typedef
- SyntaxTree::TypeDeclPtr
- NodePtr;
-
- virtual void visit_type_decl (NodePtr const& n)
- {
- }
- };
-
- //
- //
- //
- struct TypeDef : virtual CCF::Traversal::Visitor
- {
- typedef
- SyntaxTree::TypeDefPtr
- NodePtr;
-
- virtual void visit_type_def (NodePtr const& n)
- {
- }
- };
-
- //
- //
- //
- struct BuiltInTypeDef : virtual CCF::Traversal::Visitor
- {
- typedef
- SyntaxTree::BuiltInTypeDefPtr
- NodePtr;
-
- virtual void visit_built_in_type_def (NodePtr const& n)
- {
- }
- };
-
-
- //
- //
- //
- struct Void : virtual CCF::Traversal::Visitor
- {
- typedef
- SyntaxTree::VoidPtr
- NodePtr;
-
- virtual void visit_void (NodePtr const& n)
- {
- }
- };
-
- //
- //
- //
- struct Long : virtual CCF::Traversal::Visitor
- {
- typedef
- SyntaxTree::LongPtr
- NodePtr;
-
- virtual void visit_long (NodePtr const& n)
- {
- }
- };
-
- //
- //
- //
- struct Boolean : virtual CCF::Traversal::Visitor
- {
- typedef
- SyntaxTree::BooleanPtr
- NodePtr;
-
- virtual void visit_boolean (NodePtr const& n)
- {
- }
- };
-
- //
- //
- //
- struct String : virtual CCF::Traversal::Visitor
- {
- typedef
- SyntaxTree::StringPtr
- NodePtr;
-
- virtual void visit_string (NodePtr const& n)
- {
- }
- };
-
- //
- //
- //
- struct Scope : virtual CCF::Traversal::Visitor
- {
- typedef
- SyntaxTree::ScopePtr
- NodePtr;
-
- // visit_scope () function will never be called because Scope is
- // an abstract syntax tree node. It is here for symmetry.
- virtual void visit_scope (NodePtr const& s);
- virtual void visit_scope_scope (NodePtr const& s);
- virtual void visit_scope_pre (NodePtr const& ) {}
- virtual void visit_scope_post (NodePtr const& ) {}
- };
-
- //
- //
- //
- struct Module : virtual CCF::Traversal::Visitor
- {
- typedef
- SyntaxTree::ModulePtr
- NodePtr;
-
- virtual void visit_module (NodePtr const& m);
- virtual void visit_module_pre (NodePtr const& m);
- virtual void visit_module_scope (NodePtr const& m);
- virtual void visit_module_post (NodePtr const& m);
- };
-
-
- //
- //
- //
- struct InterfaceDecl : virtual CCF::Traversal::Visitor
- {
- typedef
- SyntaxTree::InterfaceDeclPtr
- NodePtr;
-
- virtual void visit_interface_decl (NodePtr const& i);
- virtual void visit_interface_decl_pre (NodePtr const& i);
- virtual void visit_interface_decl_post (NodePtr const& i);
- };
-
-
- //
- //
- //
- struct InterfaceDef : virtual CCF::Traversal::Visitor
- {
- typedef
- SyntaxTree::InterfaceDefPtr
- NodePtr;
-
- virtual void visit_interface_def (NodePtr const& i);
- virtual void visit_interface_def_pre (NodePtr const& i);
- virtual void visit_interface_def_scope (NodePtr const& i);
- virtual void visit_interface_def_post (NodePtr const& i);
- };
-
-
- //
- //
- //
- struct AbstractInterfaceDecl : virtual CCF::Traversal::Visitor
- {
- typedef
- SyntaxTree::AbstractInterfaceDeclPtr
- NodePtr;
-
- virtual void visit_abstract_interface_decl (NodePtr const& i);
- virtual void visit_abstract_interface_decl_pre (NodePtr const& i);
- virtual void visit_abstract_interface_decl_post (NodePtr const& i);
- };
-
-
- //
- //
- //
- struct AbstractInterfaceDef : virtual CCF::Traversal::Visitor
- {
- typedef
- SyntaxTree::AbstractInterfaceDefPtr
- NodePtr;
-
- virtual void visit_abstract_interface_def (NodePtr const& i);
- virtual void visit_abstract_interface_def_pre (NodePtr const& i);
- virtual void visit_abstract_interface_def_scope (NodePtr const& i);
- virtual void visit_abstract_interface_def_post (NodePtr const& i);
- };
-
- //
- //
- //
- struct LocalInterfaceDecl : virtual CCF::Traversal::Visitor
- {
- typedef
- SyntaxTree::LocalInterfaceDeclPtr
- NodePtr;
-
- virtual void visit_local_interface_decl (NodePtr const& i);
- virtual void visit_local_interface_decl_pre (NodePtr const& i);
- virtual void visit_local_interface_decl_post (NodePtr const& i);
- };
-
-
- //
- //
- //
- struct LocalInterfaceDef : virtual CCF::Traversal::Visitor
- {
- typedef
- SyntaxTree::LocalInterfaceDefPtr
- NodePtr;
-
- virtual void visit_local_interface_def (NodePtr const& i);
- virtual void visit_local_interface_def_pre (NodePtr const& i);
- virtual void visit_local_interface_def_scope (NodePtr const& i);
- virtual void visit_local_interface_def_post (NodePtr const& i);
- };
-
-
- //
- //
- //
- struct UnconstrainedInterfaceDecl : virtual CCF::Traversal::Visitor
- {
- typedef
- SyntaxTree::UnconstrainedInterfaceDeclPtr
- NodePtr;
-
- virtual void visit_unconstrained_interface_decl (NodePtr const& i);
- virtual void visit_unconstrained_interface_decl_pre (NodePtr const& i);
- virtual void visit_unconstrained_interface_decl_post (NodePtr const& i);
- };
-
-
- //
- //
- //
- struct UnconstrainedInterfaceDef : virtual CCF::Traversal::Visitor
- {
- typedef
- SyntaxTree::UnconstrainedInterfaceDefPtr
- NodePtr;
-
- virtual void visit_unconstrained_interface_def (NodePtr const& i);
- virtual void visit_unconstrained_interface_def_pre (NodePtr const& i);
- virtual void visit_unconstrained_interface_def_scope (NodePtr const& i);
- virtual void visit_unconstrained_interface_def_post (NodePtr const& i);
- };
-
-
- //
- //
- //
- struct AttributeDecl : virtual CCF::Traversal::Visitor
- {
- typedef
- SyntaxTree::AttributeDeclPtr
- NodePtr;
-
- AttributeDecl (CCF::Traversal::Visitor* type = 0)
- : type_ (type)
- {
- }
-
- virtual void visit_attribute_decl (NodePtr const& n);
- virtual void visit_attribute_pre (NodePtr const& n);
- virtual void visit_attribute_post (NodePtr const& n);
-
- private:
- CCF::Traversal::Visitor* type_;
- };
-
- //
- //
- //
- struct OperationParameter : virtual CCF::Traversal::Visitor
- {
- typedef
- SyntaxTree::OperationParameterPtr
- NodePtr;
-
- OperationParameter (CCF::Traversal::Visitor* in,
- CCF::Traversal::Visitor* out,
- CCF::Traversal::Visitor* inout)
- : in_ (in), out_ (out), inout_ (inout)
- {
- }
-
- OperationParameter ()
- : in_ (0), out_ (0), inout_ (0)
- {
- }
-
-
- virtual void visit_operation_parameter (NodePtr const& op);
-
- virtual void visit_operation_parameter_pre (NodePtr const&)
- {
- }
-
- virtual void visit_operation_parameter_post (NodePtr const&)
- {
- }
-
- private:
- CCF::Traversal::Visitor* in_;
- CCF::Traversal::Visitor* out_;
- CCF::Traversal::Visitor* inout_;
- };
-
- //
- //
- //
- struct OperationDecl : virtual CCF::Traversal::Visitor
- {
- typedef
- SyntaxTree::OperationDeclPtr
- NodePtr;
-
- OperationDecl (CCF::Traversal::Visitor* type = 0)
- : type_ (type)
- {
- }
-
-
- virtual void visit_operation_decl (NodePtr const& n);
-
- virtual void visit_operation_decl_pre (NodePtr const& n);
- virtual void visit_operation_decl_type (NodePtr const& n);
- virtual void visit_operation_decl_name (NodePtr const& n);
- virtual void visit_operation_decl_parameters (NodePtr const& n);
- virtual void visit_operation_decl_post (NodePtr const& n);
-
- private:
- CCF::Traversal::Visitor* type_;
- };
-
-
-
- //
- //
- //
- struct FileScope : virtual CCF::Traversal::Visitor
- {
- typedef
- SyntaxTree::FileScopePtr
- NodePtr;
-
- virtual void visit_file_scope (NodePtr const& r);
- virtual void visit_file_scope_pre (NodePtr const& r);
- virtual void visit_file_scope_scope (NodePtr const& r);
- virtual void visit_file_scope_post (NodePtr const& r);
- };
-
- //
- //
- //
- struct TranslationRegion : virtual CCF::Traversal::Visitor
- {
- typedef
- SyntaxTree::TranslationRegionPtr
- NodePtr;
-
- virtual void visit_translation_region (NodePtr const& tr);
- virtual void visit_translation_region_pre (NodePtr const& tr);
- virtual void visit_translation_region_content (NodePtr const& tr);
- virtual void visit_translation_region_post (NodePtr const& tr);
- };
-
-
- //
- //
- //
- struct IncludeTranslationRegion : virtual CCF::Traversal::Visitor
- {
- typedef
- SyntaxTree::IncludeTranslationRegionPtr
- NodePtr;
-
- virtual void
- visit_include_translation_region (NodePtr const& n);
-
- virtual void
- visit_include_translation_region_pre (NodePtr const& n);
-
- virtual void
- visit_include_translation_region_content (NodePtr const& n);
-
- virtual void
- visit_include_translation_region_post (NodePtr const& n);
- };
-
-
- //
- //
- //
- struct SysIncludeTranslationRegion : virtual CCF::Traversal::Visitor
- {
- typedef
- SyntaxTree::SysIncludeTranslationRegionPtr
- NodePtr;
-
- virtual void
- visit_sys_include_translation_region (NodePtr const& n);
-
- virtual void
- visit_sys_include_translation_region_pre (NodePtr const& n);
-
- virtual void
- visit_sys_include_translation_region_content (NodePtr const& n);
-
- virtual void
- visit_sys_include_translation_region_post (NodePtr const& n);
- };
-
-
- //
- //
- //
- struct ImpliedIncludeTranslationRegion : virtual CCF::Traversal::Visitor
- {
- typedef
- SyntaxTree::ImpliedIncludeTranslationRegionPtr
- NodePtr;
-
- virtual void
- visit_implied_include_translation_region (NodePtr const& n);
-
- virtual void
- visit_implied_include_translation_region_pre (NodePtr const& n);
-
- virtual void
- visit_implied_include_translation_region_content (NodePtr const& n);
-
- virtual void
- visit_implied_include_translation_region_post (NodePtr const& n);
- };
-
-
- //
- //
- //
- struct PrincipalTranslationRegion : virtual CCF::Traversal::Visitor
- {
- typedef
- SyntaxTree::PrincipalTranslationRegionPtr
- NodePtr;
-
- virtual void
- visit_principal_translation_region (NodePtr const& n);
-
- virtual void
- visit_principal_translation_region_pre (NodePtr const& n);
-
- virtual void
- visit_principal_translation_region_content (NodePtr const& n);
-
- virtual void
- visit_principal_translation_region_post (NodePtr const& n);
- };
-
-
- //
- //
- //
- struct TranslationUnit : virtual CCF::Traversal::Visitor
- {
- typedef
- SyntaxTree::TranslationUnitPtr
- NodePtr;
-
- virtual void visit_translation_unit (NodePtr const& tu);
- virtual void visit_translation_unit_pre (NodePtr const& tu);
- virtual void visit_translation_unit_content (NodePtr const& tu);
- virtual void visit_translation_unit_post (NodePtr const& tu);
- };
- }
-}
-
-#endif // CCF_IDL2_TRAVERSAL_HPP
diff --git a/TAO/CIAO/CCF/CCF/IDL2/MSVC_Pragmas.hpp b/TAO/CIAO/CCF/CCF/IDL2/MSVC_Pragmas.hpp
deleted file mode 100644
index 724b5b52646..00000000000
--- a/TAO/CIAO/CCF/CCF/IDL2/MSVC_Pragmas.hpp
+++ /dev/null
@@ -1,16 +0,0 @@
-// $Id$
-#ifndef MSVC_PRAGMAS_HPP
-#define MSVC_PRAGMAS_HPP
-
-
-// Various warnings that have to be disabled for MSVC.
-
-// 'this' : used in base member initializer list
-#pragma warning(disable:4355)
-// 'class1' : inherits 'class2::member' via dominance
-#pragma warning(disable:4250)
-// C++ Exception Specification ignored
-#pragma warning(disable:4290)
-
-
-#endif /* MSVC_PRAGMAS_HPP */ \ No newline at end of file
diff --git a/TAO/CIAO/CCF/CCF/IDL2/Makefile b/TAO/CIAO/CCF/CCF/IDL2/Makefile
deleted file mode 100644
index 8783e8af049..00000000000
--- a/TAO/CIAO/CCF/CCF/IDL2/Makefile
+++ /dev/null
@@ -1,23 +0,0 @@
-# File : Makefile
-# Author : Boris Kolpackov <boris@kolpackov.net>
-# $Id$
-
-root = ../../External/Utility
-
-include $(root)/Config/Archive.pre.rules
-
-cxx_translation_units := IDL2.cpp \
- IDL2_LexicalAnalyzer.cpp \
- IDL2_SyntaxTree.cpp \
- IDL2_SyntaxTree_BuiltIn.cpp \
- IDL2_Traversal.cpp
-
-module_base := IDL2
-module_prefix :=
-module_suffix :=
-
-CXX_PREPROCESS_FLAGS += -I../.. \
- -I../../External/Utility \
- -I../../External/boost \
-
-include $(root)/Config/Archive.post.rules
diff --git a/TAO/CIAO/CCF/CCF/IDL3/IDL3.cpp b/TAO/CIAO/CCF/CCF/IDL3/IDL3.cpp
deleted file mode 100644
index cfa1da318d3..00000000000
--- a/TAO/CIAO/CCF/CCF/IDL3/IDL3.cpp
+++ /dev/null
@@ -1 +0,0 @@
-// $Id$
diff --git a/TAO/CIAO/CCF/CCF/IDL3/IDL3.vcproj b/TAO/CIAO/CCF/CCF/IDL3/IDL3.vcproj
deleted file mode 100644
index 43895adcdd2..00000000000
--- a/TAO/CIAO/CCF/CCF/IDL3/IDL3.vcproj
+++ /dev/null
@@ -1,156 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="7.10"
- Name="IDL3"
- ProjectGUID="{97D61986-05D8-4B2A-B8B2-5095E58909FE}"
- Keyword="Win32Proj">
- <Platforms>
- <Platform
- Name="Win32"/>
- </Platforms>
- <Configurations>
- <Configuration
- Name="Debug|Win32"
- OutputDirectory="$(ProjectDir)"
- IntermediateDirectory="Debug"
- ConfigurationType="4"
- CharacterSet="2">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories="../..;../../External/Utility"
- PreprocessorDefinitions="WIN32;_DEBUG;_LIB"
- MinimalRebuild="TRUE"
- BasicRuntimeChecks="3"
- RuntimeLibrary="5"
- ForceConformanceInForLoopScope="TRUE"
- RuntimeTypeInfo="TRUE"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="TRUE"
- DebugInformationFormat="4"/>
- <Tool
- Name="VCCustomBuildTool"/>
- <Tool
- Name="VCLibrarianTool"
- OutputFile="$(OutDir)/IDL3.lib"/>
- <Tool
- Name="VCMIDLTool"/>
- <Tool
- Name="VCPostBuildEventTool"/>
- <Tool
- Name="VCPreBuildEventTool"/>
- <Tool
- Name="VCPreLinkEventTool"/>
- <Tool
- Name="VCResourceCompilerTool"/>
- <Tool
- Name="VCWebServiceProxyGeneratorTool"/>
- <Tool
- Name="VCXMLDataGeneratorTool"/>
- <Tool
- Name="VCManagedWrapperGeneratorTool"/>
- <Tool
- Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
- </Configuration>
- <Configuration
- Name="Release|Win32"
- OutputDirectory="Release"
- IntermediateDirectory="Release"
- ConfigurationType="4"
- CharacterSet="2">
- <Tool
- Name="VCCLCompilerTool"
- PreprocessorDefinitions="WIN32;NDEBUG;_LIB"
- RuntimeLibrary="4"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="TRUE"
- DebugInformationFormat="3"/>
- <Tool
- Name="VCCustomBuildTool"/>
- <Tool
- Name="VCLibrarianTool"
- OutputFile="$(OutDir)/IDL3.lib"/>
- <Tool
- Name="VCMIDLTool"/>
- <Tool
- Name="VCPostBuildEventTool"/>
- <Tool
- Name="VCPreBuildEventTool"/>
- <Tool
- Name="VCPreLinkEventTool"/>
- <Tool
- Name="VCResourceCompilerTool"/>
- <Tool
- Name="VCWebServiceProxyGeneratorTool"/>
- <Tool
- Name="VCXMLDataGeneratorTool"/>
- <Tool
- Name="VCManagedWrapperGeneratorTool"/>
- <Tool
- Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
- </Configuration>
- </Configurations>
- <References>
- </References>
- <Files>
- <Filter
- Name="Source Files"
- Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx"
- UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}">
- <File
- RelativePath=".\IDL3_SyntaxTree.cpp">
- </File>
- <File
- RelativePath=".\IDL3_SyntaxTree_EventType.cpp">
- </File>
- <File
- RelativePath=".\IDL3_Traversal.cpp">
- </File>
- </Filter>
- <Filter
- Name="Header Files"
- Filter="h;hpp;hxx;hm;inl;inc;xsd"
- UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}">
- <File
- RelativePath=".\IDL3_LexicalAnalyzer.hpp">
- </File>
- <File
- RelativePath=".\IDL3_Parser.hpp">
- </File>
- <File
- RelativePath=".\IDL3_SemanticAction.hpp">
- </File>
- <File
- RelativePath=".\IDL3_SemanticActionImpl.hpp">
- </File>
- <File
- RelativePath=".\IDL3_SyntaxTree.hpp">
- </File>
- <File
- RelativePath=".\IDL3_SyntaxTree_EventType.hpp">
- </File>
- <File
- RelativePath=".\IDL3_SyntaxTreeFwd.hpp">
- </File>
- <File
- RelativePath=".\IDL3_Traversal.hpp">
- </File>
- <File
- RelativePath=".\MSVC_Pragmas.hpp">
- </File>
- </Filter>
- <Filter
- Name="Resource Files"
- Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx"
- UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}">
- </Filter>
- <File
- RelativePath=".\ReadMe.txt">
- </File>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>
diff --git a/TAO/CIAO/CCF/CCF/IDL3/IDL3_LexicalAnalyzer.hpp b/TAO/CIAO/CCF/CCF/IDL3/IDL3_LexicalAnalyzer.hpp
deleted file mode 100644
index 610e047f294..00000000000
--- a/TAO/CIAO/CCF/CCF/IDL3/IDL3_LexicalAnalyzer.hpp
+++ /dev/null
@@ -1,59 +0,0 @@
-// $Id$
-#ifndef CCF_IDL3_LEXICAL_ANALYZER_HPP
-#define CCF_IDL3_LEXICAL_ANALYZER_HPP
-
-#include "MSVC_Pragmas.hpp"
-
-#include "CCF/IDL2/IDL2_LexicalAnalyzer.hpp"
-
-#include <string>
-
-namespace IDL3
-{
- class LexicalAnalyzer : public virtual IDL2::LexicalAnalyzer
- {
- public:
- virtual
- ~LexicalAnalyzer () throw () {}
-
- public:
-
- // Keywords (alphabetic order).
-
- KeywordPtr component;
- KeywordPtr consumes;
- KeywordPtr emits;
- KeywordPtr eventtype;
- KeywordPtr home;
- KeywordPtr manages;
- KeywordPtr provides;
- KeywordPtr publishes;
- KeywordPtr uses;
-
- LexicalAnalyzer (CCF::TokenStream<char>& is)
- : IDL2::LexicalAnalyzer (is),
-
- component (new Keyword),
- consumes (new Keyword),
- emits (new Keyword),
- eventtype (new Keyword),
- home (new Keyword),
- manages (new Keyword),
- provides (new Keyword),
- publishes (new Keyword),
- uses (new Keyword)
- {
- keyword_table_["component"] = component;
- keyword_table_["consumes" ] = consumes;
- keyword_table_["emits" ] = emits;
- keyword_table_["eventtype"] = eventtype;
- keyword_table_["home" ] = home;
- keyword_table_["manages" ] = manages;
- keyword_table_["provides" ] = provides;
- keyword_table_["publishes"] = publishes;
- keyword_table_["uses" ] = uses;
- }
- };
-}
-
-#endif // CCF_IDL3_LEXICAL_ANALYZER_HPP
diff --git a/TAO/CIAO/CCF/CCF/IDL3/IDL3_Parser.hpp b/TAO/CIAO/CCF/CCF/IDL3/IDL3_Parser.hpp
deleted file mode 100644
index 97cade9dca1..00000000000
--- a/TAO/CIAO/CCF/CCF/IDL3/IDL3_Parser.hpp
+++ /dev/null
@@ -1,425 +0,0 @@
-// $Id$
-#ifndef CCF_IDL3_PARSER_HPP
-#define CCF_IDL3_PARSER_HPP
-
-
-#include "MSVC_Pragmas.hpp"
-
-#include "CCF/CompilerElements/Parser.hpp"
-#include "CCF/IDL2/IDL2_Parser.hpp"
-#include "CCF/IDL3/IDL3_LexicalAnalyzer.hpp"
-#include "CCF/IDL3/IDL3_SemanticAction.hpp"
-
-namespace IDL3
-{
- class Parser : public virtual IDL2::Parser
- {
- public:
- virtual
- ~Parser () throw () {}
-
- protected:
-
- //
- // Semanic action types
- //
- typedef
- SemanticAction::Component
- Component;
-
- typedef
- SemanticAction::Provides
- Provides;
-
- typedef
- SemanticAction::Uses
- Uses;
-
- typedef
- SemanticAction::Publishes
- Publishes;
-
- typedef
- SemanticAction::Emits
- Emits;
-
- typedef
- SemanticAction::Consumes
- Consumes;
-
- typedef
- SemanticAction::EventType
- EventType;
-
- typedef
- SemanticAction::Home
- Home;
-
- typedef
- SemanticAction::HomeFactory
- HomeFactory;
-
- //
- // Primitives (alphabetic order).
- //
- KeywordParser COMPONENT;
- KeywordParser CONSUMES;
- KeywordParser EMITS;
- KeywordParser EVENTTYPE;
- KeywordParser HOME;
- KeywordParser MANAGES;
- KeywordParser PROVIDES;
- KeywordParser PUBLISHES;
- KeywordParser USES;
-
-
- //
- // Language
- //
-
- Rule extension;
-
- // Component
- Rule component_decl;
- Rule component_header;
- Rule component_inheritance_spec;
- Rule component_support_spec;
- Rule component_body;
-
- // Component body elements
- Rule provides_decl;
- Rule uses_decl;
- Rule emits_decl;
- Rule publishes_decl;
- Rule consumes_decl;
-
- // Eventtype
- Rule eventtype_decl;
- Rule eventtype_header;
- Rule eventtype_inheritance_spec;
- Rule eventtype_body;
-
- // Home
- Rule home_decl;
- Rule home_header;
- Rule home_inheritance_spec;
- Rule home_support_spec;
- Rule home_manage_spec;
- Rule home_body;
-
- Rule home_factory_decl;
- Rule home_factory_parameter_list;
- Rule home_factory_parameter;
-
-
- public:
-
- Parser (LexicalAnalyzer const& l, SemanticActionFactory& f)
- : IDL2::Parser (l, f),
-
- COMPONENT (l.component),
- CONSUMES (l.consumes),
- EMITS (l.emits),
- EVENTTYPE (l.eventtype),
- HOME (l.home),
- MANAGES (l.manages),
- PROVIDES (l.provides),
- PUBLISHES (l.publishes),
- USES (l.uses),
-
- act_component_begin (f.component (), &Component::begin),
- act_component_inherits (f.component (), &Component::inherits),
- act_component_supports (f.component (), &Component::supports),
- act_component_open_scope (f.component (), &Component::open_scope),
- act_component_close_scope (f.component (), &Component::close_scope),
- act_component_end (f.component (), &Component::end),
-
- act_provides_type (f.provides (), &Provides::type),
- act_provides_name (f.provides (), &Provides::name),
-
- act_uses_type (f.uses (), &Uses::type),
- act_uses_name (f.uses (), &Uses::name),
-
- act_publishes_type (f.publishes (), &Publishes::type),
- act_publishes_name (f.publishes (), &Publishes::name),
-
- act_emits_type (f.emits (), &Emits::type),
- act_emits_name (f.emits (), &Emits::name),
-
- act_consumes_type (f.consumes (), &Consumes::type),
- act_consumes_name (f.consumes (), &Consumes::name),
-
- act_event_type_begin (f.event_type (), &EventType::begin),
- act_event_type_inherits (f.event_type (), &EventType::inherits),
- act_event_type_open_scope (f.event_type (), &EventType::open_scope),
- act_event_type_close_scope (f.event_type (), &EventType::close_scope),
- act_event_type_end (f.event_type (), &EventType::end),
-
- act_home_begin (f.home (), &Home::begin),
- act_home_inherits (f.home (), &Home::inherits),
- act_home_supports (f.home (), &Home::supports),
- act_home_manages (f.home (), &Home::manages),
- act_home_open_scope (f.home (), &Home::open_scope),
- act_home_close_scope (f.home (), &Home::close_scope),
- act_home_end (f.home (), &Home::end),
-
- act_home_factory_begin (f.home_factory (), &HomeFactory::begin),
- act_home_factory_parameter (f.home_factory (),
- &HomeFactory::parameter),
- act_home_factory_end (f.home_factory (), &HomeFactory::end)
-
- {
- IDL2::Parser::extension =
- component_decl
- | eventtype_decl
- | home_decl
- | extension
- ;
-
- //
- // Component
- //
- component_decl =
- component_header
- >>
- (
- SEMI[act_component_end]
- |
- (
- !(COLON >> component_inheritance_spec)
- >> !(SUPPORTS >> component_support_spec)
- >> LBRACE[act_component_open_scope]
- >> component_body
- >> RBRACE[act_component_close_scope]
- >> SEMI[act_component_end]
- )
- )
- ;
-
- component_header =
- COMPONENT
- >> simple_identifier[act_component_begin]
- ;
-
- component_inheritance_spec = identifier[act_component_inherits]
- ;
-
- component_support_spec =
- identifier[act_component_supports]
- >> *(COMMA >> identifier[act_component_supports])
- ;
-
- component_body =
- *( provides_decl
- | uses_decl
- | emits_decl
- | publishes_decl
- | consumes_decl
- | attribute_decl
- )
- ;
-
- //
- // Component body elements
- //
- provides_decl =
- PROVIDES
- >> identifier[act_provides_type]
- >> simple_identifier[act_provides_name]
- >> SEMI
- ;
-
- uses_decl =
- USES
- >> identifier[act_uses_type]
- >> simple_identifier[act_uses_name]
- >> SEMI
- ;
-
- emits_decl =
- EMITS
- >> identifier[act_emits_type]
- >> simple_identifier[act_emits_name]
- >> SEMI
- ;
-
- publishes_decl =
- PUBLISHES
- >> identifier[act_publishes_type]
- >> simple_identifier[act_publishes_name]
- >> SEMI
- ;
-
- consumes_decl =
- CONSUMES
- >> identifier[act_consumes_type]
- >> simple_identifier[act_consumes_name]
- >> SEMI
- ;
-
- //
- // Eventtype
- //
- eventtype_decl =
- eventtype_header
- >>
- (
- SEMI[act_event_type_end]
- |
- (
- !(COLON >> eventtype_inheritance_spec)
- >> LBRACE[act_event_type_open_scope]
-// >> eventtype_body
- >> RBRACE[act_event_type_close_scope]
- >> SEMI[act_event_type_end]
- )
- )
- ;
-
- eventtype_header =
- !(ABSTRACT)
- >> EVENTTYPE
- >> simple_identifier[act_event_type_begin]
- ;
-
- eventtype_inheritance_spec =
- identifier[act_event_type_inherits]
- >> *(COMMA >> identifier[act_event_type_inherits])
- ;
-
- //
- // Home
- //
- home_decl =
- home_header
- >> !(COLON >> home_inheritance_spec)
- >> !(SUPPORTS >> home_support_spec)
- >> MANAGES >> home_manage_spec
- >> LBRACE[act_home_open_scope]
- >> home_body
- >> RBRACE[act_home_close_scope]
- >> SEMI[act_home_end]
- ;
-
- home_header = HOME >> simple_identifier[act_home_begin]
- ;
-
- home_inheritance_spec = identifier[act_home_inherits]
- ;
-
- home_support_spec =
- identifier[act_home_supports]
- >> *(COMMA >> identifier[act_home_supports])
- ;
-
- home_manage_spec = identifier[act_home_manages]
- ;
-
- home_body =
- *(
- attribute_decl
- | operation_decl
- | home_factory_decl
- )
- ;
-
- //
- // Home factory
- //
- home_factory_decl =
- FACTORY
- >> simple_identifier[act_home_factory_begin]
- >> LPAREN
- >> home_factory_parameter_list
- >> RPAREN
- >> SEMI[act_home_factory_end]
- ;
-
- home_factory_parameter_list =
- *(
- home_factory_parameter
- >> *(COMMA >> home_factory_parameter)
- )
- ;
-
- home_factory_parameter =
- IN
- >> (identifier >> simple_identifier)[act_home_factory_parameter]
- ;
-
- }
-
- protected:
- //
- //
- //
- OneArgAction<SimpleIdentifierPtr, Component> act_component_begin;
- OneArgAction<IdentifierPtr, Component> act_component_inherits;
- OneArgAction<IdentifierPtr, Component> act_component_supports;
- ScopeAction act_component_open_scope;
- ScopeAction act_component_close_scope;
- NoArgAction<Component> act_component_end;
-
- //
- // Provides
- //
- OneArgAction<IdentifierPtr, Provides> act_provides_type;
- OneArgAction<SimpleIdentifierPtr, Provides> act_provides_name;
-
- //
- // Uses
- //
- OneArgAction<IdentifierPtr, Uses> act_uses_type;
- OneArgAction<SimpleIdentifierPtr, Uses> act_uses_name;
-
- //
- // Publishes
- //
- OneArgAction<IdentifierPtr, Publishes> act_publishes_type;
- OneArgAction<SimpleIdentifierPtr, Publishes> act_publishes_name;
-
- //
- // Emits
- //
- OneArgAction<IdentifierPtr, Emits> act_emits_type;
- OneArgAction<SimpleIdentifierPtr, Emits> act_emits_name;
-
- //
- // Consumes
- //
- OneArgAction<IdentifierPtr, Consumes> act_consumes_type;
- OneArgAction<SimpleIdentifierPtr, Consumes> act_consumes_name;
-
- //
- //
- //
- OneArgAction<SimpleIdentifierPtr, EventType> act_event_type_begin;
- OneArgAction<IdentifierPtr, EventType> act_event_type_inherits;
- ScopeAction act_event_type_open_scope;
- ScopeAction act_event_type_close_scope;
- NoArgAction<EventType> act_event_type_end;
-
- //
- //
- //
- OneArgAction<SimpleIdentifierPtr, Home> act_home_begin;
- OneArgAction<IdentifierPtr, Home> act_home_inherits;
- OneArgAction<IdentifierPtr, Home> act_home_supports;
- OneArgAction<IdentifierPtr, Home> act_home_manages;
- ScopeAction act_home_open_scope;
- ScopeAction act_home_close_scope;
- NoArgAction<Home> act_home_end;
-
- //
- // Home
- //
- OneArgAction<SimpleIdentifierPtr, HomeFactory> act_home_factory_begin;
- TwoArgAction<IdentifierPtr,
- SimpleIdentifierPtr,
- HomeFactory> act_home_factory_parameter;
- NoArgAction<HomeFactory> act_home_factory_end;
-
- };
-}
-
-#endif // CCF_IDL3_PARSER_HPP
diff --git a/TAO/CIAO/CCF/CCF/IDL3/IDL3_SemanticAction.hpp b/TAO/CIAO/CCF/CCF/IDL3/IDL3_SemanticAction.hpp
deleted file mode 100644
index 51f21d077e3..00000000000
--- a/TAO/CIAO/CCF/CCF/IDL3/IDL3_SemanticAction.hpp
+++ /dev/null
@@ -1,179 +0,0 @@
-// $Id$
-#ifndef CCF_IDL3_SEMANTIC_ACTION_HPP
-#define CCF_IDL3_SEMANTIC_ACTION_HPP
-
-#include "MSVC_Pragmas.hpp"
-
-#include "CCF/IDL2/IDL2_SemanticAction.hpp"
-
-namespace IDL3
-{
- namespace SemanticAction
- {
- using namespace IDL2::SemanticAction;
-
- class Component : public virtual Scope
- {
- public:
-
- virtual void
- begin (SimpleIdentifierPtr const& id) = 0;
-
- virtual void
- inherits (IdentifierPtr const& id) = 0;
-
- virtual void
- supports (IdentifierPtr const& id) = 0;
-
- virtual void
- end () = 0;
- };
-
- class Provides
- {
- public:
- virtual
- ~Provides () throw () {}
-
- virtual void
- type (IdentifierPtr const& id) = 0;
-
- virtual void
- name (SimpleIdentifierPtr const& id) = 0;
- };
-
- class Uses
- {
- public:
- virtual
- ~Uses () throw () {}
-
- virtual void
- type (IdentifierPtr const& id) = 0;
-
- virtual void
- name (SimpleIdentifierPtr const& id) = 0;
- };
-
- class Publishes
- {
- public:
- virtual
- ~Publishes () throw () {}
-
- virtual void
- type (IdentifierPtr const& id) = 0;
-
- virtual void
- name (SimpleIdentifierPtr const& id) = 0;
- };
-
- class Emits
- {
- public:
- virtual
- ~Emits () throw () {}
-
- virtual void
- type (IdentifierPtr const& id) = 0;
-
- virtual void
- name (SimpleIdentifierPtr const& id) = 0;
- };
-
- class Consumes
- {
- public:
- virtual
- ~Consumes () throw () {}
-
- virtual void
- type (IdentifierPtr const& id) = 0;
-
- virtual void
- name (SimpleIdentifierPtr const& id) = 0;
- };
-
- class EventType : public virtual Scope
- {
- public:
-
- virtual void
- begin (SimpleIdentifierPtr const& id) = 0;
-
- virtual void
- inherits (IdentifierPtr const& id) = 0;
-
- virtual void
- end () = 0;
- };
-
- class Home : public virtual Scope
- {
- public:
-
- virtual void
- begin (SimpleIdentifierPtr const& id) = 0;
-
- virtual void
- inherits (IdentifierPtr const& id) = 0;
-
- virtual void
- supports (IdentifierPtr const& id) = 0;
-
- virtual void
- manages (IdentifierPtr const& id) = 0;
-
- virtual void
- end () = 0;
- };
-
- class HomeFactory
- {
- public:
-
- virtual void
- begin (SimpleIdentifierPtr const& id) = 0;
-
- virtual void
- parameter (IdentifierPtr const& type,
- SimpleIdentifierPtr const& name) = 0;
-
- virtual void
- end () = 0;
- };
- }
-
- class SemanticActionFactory : public virtual IDL2::SemanticActionFactory
- {
- public:
- virtual SemanticAction::Component&
- component () = 0;
-
- virtual SemanticAction::Provides&
- provides () = 0;
-
- virtual SemanticAction::Uses&
- uses () = 0;
-
- virtual SemanticAction::Publishes&
- publishes () = 0;
-
- virtual SemanticAction::Emits&
- emits () = 0;
-
- virtual SemanticAction::Consumes&
- consumes () = 0;
-
- virtual SemanticAction::EventType&
- event_type () = 0;
-
- virtual SemanticAction::Home&
- home () = 0;
-
- virtual SemanticAction::HomeFactory&
- home_factory () = 0;
- };
-}
-
-#endif // CCF_IDL3_SEMANTIC_ACTION_HPP
diff --git a/TAO/CIAO/CCF/CCF/IDL3/IDL3_SemanticActionImpl.hpp b/TAO/CIAO/CCF/CCF/IDL3/IDL3_SemanticActionImpl.hpp
deleted file mode 100644
index 9cbf1c49c9b..00000000000
--- a/TAO/CIAO/CCF/CCF/IDL3/IDL3_SemanticActionImpl.hpp
+++ /dev/null
@@ -1,1365 +0,0 @@
-// $Id$
-#ifndef CCF_IDL3_SEMANTIC_ACTION_IMPL_HPP
-#define CCF_IDL3_SEMANTIC_ACTION_IMPL_HPP
-
-#include "MSVC_Pragmas.hpp"
-
-#include "CCF/IDL3/IDL3_SyntaxTree.hpp"
-#include "CCF/IDL3/IDL3_SyntaxTree_EventType.hpp"
-
-#include "CCF/IDL3/IDL3_SemanticAction.hpp"
-#include "CCF/IDL2/IDL2_SemanticActionImpl.hpp"
-
-//@@ needed for include handling
-#include "CCF/CompilerElements/TokenStream.hpp"
-#include "CCF/CompilerElements/Preprocessor.hpp"
-
-namespace IDL3
-{
- namespace SemanticAction
- {
- namespace Impl
- {
- using IDL2::SemanticAction::Impl::ScopeBase;
-
- // Note: overriding IDL2 include to allow inclusiion of IDL3 files
- //
- //
- class Include : public virtual SemanticAction::Include
- {
- public:
- virtual
- ~Include () throw () {}
-
- Include (SemanticActionFactory& action_factory,
- SyntaxTree::TranslationRegionPtr const& region,
- SyntaxTree::ScopePtr& scope)
- : action_factory_ (action_factory),
- scope_ (scope)
- {
- stack_.push (region);
- }
-
- virtual void
- begin (StringLiteralPtr const& sl)
- {
- cerr << "include \"" << sl << "\"" << endl;
-
- using namespace SyntaxTree;
-
- try
- {
- fs::path file_path (sl->value ());
-
- if(!include_file_set_.insert (file_path).second)
- {
- cerr << "warning: skipping already included file \'"
- << sl << "\'" << endl;
- return;
- }
-
- fs::ifstream ifs;
- ifs.exceptions (ios_base::badbit | ios_base::failbit);
- ifs.open (file_path, std::ios_base::in);
-
- //@@ for some reason ifs throws exception if I don't reset it to
- // original state. It probably has something to do with call to
- // get after eof.
- ifs.exceptions (ios_base::iostate (0));
-
- TranslationRegionPtr r (
- new IncludeTranslationRegion (file_path,
- stack_.top ()->table (),
- stack_.top ()->create_order ()));
-
- stack_.top ()->insert (r);
- stack_.push (r);
-
- cerr << "push file scope: old scope " << scope_->order ();
-
- scope_ = stack_.top ()->scope ();
-
- cerr << "; new scope " << scope_->order () << endl;
-
- //@@ this code is highly experimental
- CCF::InputStreamAdapter isa (ifs);
- CCF::Preprocessor pp (isa);
- IDL3::LexicalAnalyzer lexer (pp);
-
- TokenStream token_stream;
-
- //@@ bad token comparison
- for (TokenPtr token = lexer.next ();
- token.in () != lexer.eos.in ();
- token = lexer.next ())
- {
- token_stream.push_back (token);
- }
-
- if (token_stream.size () != 0)
- {
- IDL3::Parser parser (lexer, action_factory_);
-
- /*bool result = */Details::parse (token_stream.begin (),
- token_stream.end (),
- parser.start ());
- }
-
- cerr << "pop file scope: old scope " << scope_->order ();
-
- stack_.pop ();
- scope_ = stack_.top ()->scope ();
-
- cerr << "; new scope " << scope_->order () << endl;
- }
- catch (fs::filesystem_error const&)
- {
- cerr << sl << ": error: unable to open in read mode" << endl;
- }
- catch (ios_base::failure const&)
- {
- cerr << sl << ": error: unable to open in read mode" << endl;
- }
- }
-
- virtual void
- end ()
- {
- cerr << "end" << endl;
- }
-
- public:
- SemanticActionFactory& action_factory_;
- SyntaxTree::ScopePtr& scope_;
- std::stack<SyntaxTree::TranslationRegionPtr> stack_;
- struct FilePathComparator
- {
- bool operator () (fs::path const& x, fs::path const& y) const
- {
- return x.string () < y.string ();
- }
- };
-
- std::set<fs::path, FilePathComparator> include_file_set_;
- };
-
-
- //
- //
- //
- class Component : public virtual SemanticAction::Component,
- public virtual ScopeBase<SyntaxTree::ComponentDeclPtr>
- {
- public:
- virtual
- ~Component () throw () {}
-
-
- Component (SyntaxTree::ScopePtr& scope)
- : ScopeBase<SyntaxTree::ComponentDeclPtr> (scope),
- name_ (""),
- inherits_ ("")
- {
- }
-
- virtual void
- begin (SimpleIdentifierPtr const& id)
- {
- cerr << "component " << id << endl;
-
- name_ = SyntaxTree::SimpleName (id->value ());
- }
-
- virtual void
- inherits (IdentifierPtr const& id)
- {
- cerr << "inherits " << id << endl;
-
- using namespace SyntaxTree;
-
- Name name (id->value ());
-
- struct InheritancePredicate :
- public DeclarationTable::ResolvePredicate
- {
- struct IncompatibleType :
- public DeclarationTable::ResolutionFailure
- {
- IncompatibleType (std::string const& t) : type (t) {}
- std::string type;
- };
-
- virtual bool
- test (DeclarationPtr const& d)
- throw (IncompatibleType)
- {
- std::string type = d->declaration_type ();
-
- if (type != "component") throw IncompatibleType (type);
-
- return strict_cast<TypeDecl> (d)->defined ();
- }
- } p;
-
- try
- {
- ScopedName sn = scope_->table ().resolve (
- name,
- scope_->name (),
- scope_->peek_order (),
- p);
-
- inherits_ = sn;
- }
- catch (InheritancePredicate::IncompatibleType const& e)
- {
- cerr << "error: invalid inheritance specification" << endl;
-
- cerr << "inheritance of ";
- cerr << "component \'" << name_ <<"\' from "
- << e.type << " \'" << name << "\' is illegal" << endl;
- }
- catch (DeclarationTable::NameNotFound const&)
- {
- cerr << "error: invalid inheritance specification" << endl;
- cerr << "no component with name \'"
- << name << "\' visible from scope \'"
- << scope_->name () << "\'" << endl;
- }
- catch (DeclarationTable::PredicateNotMet const&)
- {
- cerr << "error: invalid inheritance specification" << endl;
- cerr << "no defined component with name \'"
- << name << "\' visible from scope \'"
- << scope_->name () << "\'" << endl;
- cerr << "inheritance from forward-declared component is illegal"
- << endl;
- }
- }
-
-
- virtual void
- supports (IdentifierPtr const& id)
- {
- cerr << "supports " << id << endl;
-
- using namespace SyntaxTree;
-
- Name name (id->value ());
-
- struct SupportsPredicate :
- public DeclarationTable::ResolvePredicate
- {
- struct IncompatibleType :
- public DeclarationTable::ResolutionFailure
- {
- IncompatibleType (std::string const& t) : type (t) {}
- std::string type;
- };
-
- virtual bool
- test (DeclarationPtr const& d)
- throw (IncompatibleType)
- {
- std::string type = d->declaration_type ();
-
- // Spec doesn't say anything about which interfaces
- // component can support.
- if (type != "unconstrained interface")
- throw IncompatibleType (type);
-
- return strict_cast<TypeDecl> (d)->defined ();
- }
- } p;
-
- try
- {
- ScopedName sn = scope_->table ().resolve (
- name,
- scope_->name (),
- scope_->peek_order (),
- p);
-
- if (supports_.insert (sn).second == false)
- {
- cerr << "error: invalid support specification" << endl;
- cerr << "directly supporting interface \'"
- << sn << "\' more than once is illegal" << endl;
- }
- }
- catch (SupportsPredicate::IncompatibleType const& e)
- {
- cerr << "error: invalid support specification" << endl;
-
- cerr << "specifying " << e.type << " \'" << name
- << "\' in component\'s support clause is illegal"
- << endl;
- }
- catch (DeclarationTable::NameNotFound const&)
- {
- cerr << "error: invalid support specification" << endl;
- cerr << "no interface with name \'"
- << name << "\' visible from scope \'"
- << scope_->name () << "\'" << endl;
- }
- catch (DeclarationTable::PredicateNotMet const&)
- {
- cerr << "error: invalid support specification" << endl;
- cerr << "no defined interface with name \'"
- << name << "\' visible from scope \'"
- << scope_->name () << "\'" << endl;
- cerr << "supporting forward-declared interface is illegal"
- << endl;
- }
- }
-
- virtual void
- open_scope ()
- {
- using namespace SyntaxTree;
-
- ComponentDefPtr def;
-
- if (inherits_ == ScopedName (""))
- {
- def = ComponentDefPtr (new ComponentDef (
- name_,
- scope_,
- supports_));
- }
- else
- {
- def = ComponentDefPtr (new ComponentDef (
- name_,
- scope_,
- inherits_,
- supports_));
- }
-
- scope_->insert (def);
- push (def);
- scope_ = def;
-
- name_ = SimpleName (""); //indicate that we are done
- inherits_ = ScopedName ("");
- supports_.clear ();
- }
-
- virtual void
- close_scope ()
- {
- scope_ = scope_->scope ();
- }
-
- virtual void
- end ()
- {
- cerr << "end" << endl;
-
- using namespace SyntaxTree;
-
- if (name_ != SimpleName (""))
- {
- ComponentDeclPtr decl (new ComponentForwardDecl (name_, scope_));
- scope_->insert (decl);
- }
- else
- {
- pop ();
- }
- }
- private:
- SyntaxTree::SimpleName name_;
- SyntaxTree::ScopedName inherits_;
- SyntaxTree::ScopedNameSet supports_;
- };
-
-
- class Provides : public virtual SemanticAction::Provides
- {
- public:
- virtual
- ~Provides () throw () {}
-
- Provides (SyntaxTree::ScopePtr& current)
- : scope_ (current),
- type_ ("")
- {
- }
-
- virtual void
- type (IdentifierPtr const& id)
- {
- cerr << "provides " << id;
-
- using namespace SyntaxTree;
-
- Name name (id->value ());
-
- struct Predicate : public DeclarationTable::ResolvePredicate
- {
- virtual bool
- test (DeclarationPtr const& d) throw ()
- {
- return strict_cast<InterfaceDecl> (d) != 0;
- }
- } p;
-
- try
- {
- ScopedName sn = scope_->table ().resolve (
- name,
- scope_->name (),
- scope_->peek_order (),
- p);
-
- type_ = sn;
- }
- catch (DeclarationTable::NameNotFound const&)
- {
- cerr << "error: invalid provides declaration" << endl;
- cerr << "no interface type with name \'"
- << name << "\' visible from scope \'"
- << scope_->name () << "\'" << endl;
- }
- catch (DeclarationTable::PredicateNotMet const&)
- {
- cerr << "error: invalid provides declaration" << endl;
- cerr << "declaration with name \'" << name
- << "\' visible from scope \'" << scope_->name ()
- << "\' is not an interface type declaration" << endl;
- cerr << "using non-<interface type> in provides "
- << "declaration is illegal" << endl;
- }
- }
-
- virtual void
- name (SimpleIdentifierPtr const& id)
- {
- cerr << " " << id << endl;
-
- using namespace SyntaxTree;
-
- SimpleName name (id->value ());
-
- DeclarationPtr d (
- new SyntaxTree::ProvidesDecl (name, type_, scope_));
-
- scope_->insert (d);
-
- type_ = ScopedName ("");
- }
-
- private:
- SyntaxTree::ScopePtr& scope_;
- SyntaxTree::ScopedName type_;
- };
-
- class Uses : public virtual SemanticAction::Uses
- {
- public:
- virtual
- ~Uses () throw () {}
-
- Uses (SyntaxTree::ScopePtr& current)
- : scope_ (current),
- type_ ("")
- {
- }
-
- virtual void
- type (IdentifierPtr const& id)
- {
- cerr << "uses " << id;
-
- using namespace SyntaxTree;
-
- Name name (id->value ());
-
- struct Predicate : public DeclarationTable::ResolvePredicate
- {
- virtual bool
- test (DeclarationPtr const& d) throw ()
- {
- return strict_cast<InterfaceDecl> (d) != 0;
- }
- } p;
-
- try
- {
- ScopedName sn = scope_->table ().resolve (
- name,
- scope_->name (),
- scope_->peek_order (),
- p);
-
- type_ = sn;
- }
- catch (DeclarationTable::NameNotFound const&)
- {
- cerr << "error: invalid uses declaration" << endl;
- cerr << "no interface type with name \'"
- << name << "\' visible from scope \'"
- << scope_->name () << "\'" << endl;
- }
- catch (DeclarationTable::PredicateNotMet const&)
- {
- cerr << "error: invalid uses declaration" << endl;
- cerr << "declaration with name \'" << name
- << "\' visible from scope \'" << scope_->name ()
- << "\' is not an interface type declaration" << endl;
- cerr << "using non-<interface type> in uses "
- << "declaration is illegal" << endl;
- }
- }
-
- virtual void
- name (SimpleIdentifierPtr const& id)
- {
- cerr << " " << id << endl;
-
- using namespace SyntaxTree;
-
- SimpleName name (id->value ());
-
- DeclarationPtr d (
- new SyntaxTree::UsesDecl (name, type_, scope_));
-
- scope_->insert (d);
-
- type_ = ScopedName ("");
- }
-
- private:
- SyntaxTree::ScopePtr& scope_;
- SyntaxTree::ScopedName type_;
- };
-
-
- class Publishes : public virtual SemanticAction::Publishes
- {
- public:
- virtual
- ~Publishes () throw () {}
-
- Publishes (SyntaxTree::ScopePtr& current)
- : scope_ (current),
- type_ ("")
- {
- }
-
- virtual void
- type (IdentifierPtr const& id)
- {
- cerr << "publishes " << id;
-
- using namespace SyntaxTree;
-
- Name name (id->value ());
-
- struct Predicate : public DeclarationTable::ResolvePredicate
- {
- virtual bool
- test (DeclarationPtr const& d) throw ()
- {
- return strict_cast<EventTypeDef> (d) != 0;
- }
- } p;
-
- try
- {
- ScopedName sn = scope_->table ().resolve (
- name,
- scope_->name (),
- scope_->peek_order (),
- p);
-
- type_ = sn;
- }
- catch (DeclarationTable::NameNotFound const&)
- {
- cerr << "error: invalid publishes declaration" << endl;
- cerr << "no event type with name \'"
- << name << "\' visible from scope \'"
- << scope_->name () << "\'" << endl;
- }
- catch (DeclarationTable::PredicateNotMet const&)
- {
- cerr << "error: invalid publishes declaration" << endl;
- cerr << "declaration with name \'" << name
- << "\' visible from scope \'" << scope_->name ()
- << "\' is not a defined event type" << endl;
- cerr << "using non-<defined event type> in publishes "
- << "declaration is illegal" << endl;
- }
- }
-
- virtual void
- name (SimpleIdentifierPtr const& id)
- {
- cerr << " " << id << endl;
-
- using namespace SyntaxTree;
-
- SimpleName name (id->value ());
-
- DeclarationPtr d (
- new SyntaxTree::PublishesDecl (name, type_, scope_));
-
- scope_->insert (d);
-
- type_ = ScopedName ("");
- }
-
- private:
- SyntaxTree::ScopePtr& scope_;
- SyntaxTree::ScopedName type_;
- };
-
- class Emits : public virtual SemanticAction::Emits
- {
- public:
- virtual
- ~Emits () throw () {}
-
- Emits (SyntaxTree::ScopePtr& current)
- : scope_ (current),
- type_ ("")
- {
- }
-
- virtual void
- type (IdentifierPtr const& id)
- {
- cerr << "emits " << id;
-
- using namespace SyntaxTree;
-
- Name name (id->value ());
-
- struct Predicate : public DeclarationTable::ResolvePredicate
- {
- virtual bool
- test (DeclarationPtr const& d) throw ()
- {
- return strict_cast<EventTypeDef> (d) != 0;
- }
- } p;
-
- try
- {
- ScopedName sn = scope_->table ().resolve (
- name,
- scope_->name (),
- scope_->peek_order (),
- p);
-
- type_ = sn;
- }
- catch (DeclarationTable::NameNotFound const&)
- {
- cerr << "error: invalid emits declaration" << endl;
- cerr << "no event type with name \'"
- << name << "\' visible from scope \'"
- << scope_->name () << "\'" << endl;
- }
- catch (DeclarationTable::PredicateNotMet const&)
- {
- cerr << "error: invalid emits declaration" << endl;
- cerr << "declaration with name \'" << name
- << "\' visible from scope \'" << scope_->name ()
- << "\' is not a defined event type" << endl;
- cerr << "using non-<defined event type> in emits "
- << "declaration is illegal" << endl;
- }
- }
-
- virtual void
- name (SimpleIdentifierPtr const& id)
- {
- cerr << " " << id << endl;
-
- using namespace SyntaxTree;
-
- SimpleName name (id->value ());
-
- DeclarationPtr d (
- new SyntaxTree::EmitsDecl (name, type_, scope_));
-
- scope_->insert (d);
-
- type_ = ScopedName ("");
- }
-
- private:
- SyntaxTree::ScopePtr& scope_;
- SyntaxTree::ScopedName type_;
- };
-
- class Consumes : public virtual SemanticAction::Consumes
- {
- public:
- virtual
- ~Consumes () throw () {}
-
- Consumes (SyntaxTree::ScopePtr& current)
- : scope_ (current),
- type_ ("")
- {
- }
-
- virtual void
- type (IdentifierPtr const& id)
- {
- cerr << "consumes " << id;
-
- using namespace SyntaxTree;
-
- Name name (id->value ());
-
- struct Predicate : public DeclarationTable::ResolvePredicate
- {
- virtual bool
- test (DeclarationPtr const& d) throw ()
- {
- return strict_cast<EventTypeDef> (d) != 0;
- }
- } p;
-
- try
- {
- ScopedName sn = scope_->table ().resolve (
- name,
- scope_->name (),
- scope_->peek_order (),
- p);
-
- type_ = sn;
- }
- catch (DeclarationTable::NameNotFound const&)
- {
- cerr << "error: invalid consumes declaration" << endl;
- cerr << "no event type with name \'"
- << name << "\' visible from scope \'"
- << scope_->name () << "\'" << endl;
- }
- catch (DeclarationTable::PredicateNotMet const&)
- {
- cerr << "error: invalid consumes declaration" << endl;
- cerr << "declaration with name \'" << name
- << "\' visible from scope \'" << scope_->name ()
- << "\' is not a defined event type" << endl;
- cerr << "using non-<defined event type> in consumes "
- << "declaration is illegal" << endl;
- }
- }
-
- virtual void
- name (SimpleIdentifierPtr const& id)
- {
- cerr << " " << id << endl;
-
- using namespace SyntaxTree;
-
- SimpleName name (id->value ());
-
- DeclarationPtr d (
- new SyntaxTree::ConsumesDecl (name, type_, scope_));
-
- scope_->insert (d);
-
- type_ = ScopedName ("");
- }
-
- private:
- SyntaxTree::ScopePtr& scope_;
- SyntaxTree::ScopedName type_;
- };
-
- //
- //
- //
- class EventType : public virtual SemanticAction::EventType,
- public virtual ScopeBase<SyntaxTree::EventTypeDeclPtr>
- {
- public:
- virtual
- ~EventType () throw () {}
-
- EventType (SyntaxTree::ScopePtr& scope)
- : ScopeBase<SyntaxTree::EventTypeDeclPtr> (scope),
- name_ ("")
- {
- }
-
- public:
-
- virtual void
- begin (SimpleIdentifierPtr const& id)
- {
- cerr << "eventtype " << id << endl;
- name_ = SyntaxTree::SimpleName (id->value ());
- }
-
- virtual void
- inherits (IdentifierPtr const& id)
- {
- cerr << "inherits " << id << endl;
- }
-
- virtual void
- open_scope ()
- {
- using namespace SyntaxTree;
-
- ConcreteEventTypeDefPtr et( new ConcreteEventTypeDef (
- name_,
- scope_,
- inherits_));
- scope_->insert (et);
- push (et);
- scope_ = et;
-
- name_ = SimpleName (""); //indicate that we are done
- inherits_.clear ();
- }
-
- virtual void
- close_scope ()
- {
- scope_ = scope_->scope ();
- }
-
- virtual void
- end ()
- {
- cerr << "end" << endl;
- pop ();
- }
-
- private:
- SyntaxTree::SimpleName name_;
- SyntaxTree::ScopedNameSet inherits_;
- };
-
-
- //
- //
- //
- class Home : public virtual SemanticAction::Home,
- public virtual ScopeBase<SyntaxTree::HomeDefPtr>
- {
- public:
- virtual
- ~Home () throw () {}
-
- Home (SyntaxTree::ScopePtr& scope)
- : ScopeBase<SyntaxTree::HomeDefPtr> (scope),
- name_ (""),
- inherits_ (""),
- manages_ ("")
-
- {
- }
-
- virtual void
- begin (SimpleIdentifierPtr const& id)
- {
- cerr << "home " << id << endl;
- name_ = SyntaxTree::SimpleName (id->value ());
- }
-
-
- virtual void
- inherits (IdentifierPtr const& id)
- {
- cerr << "inherits " << id << endl;
-
- using namespace SyntaxTree;
-
- Name name (id->value ());
-
- struct InheritancePredicate :
- public DeclarationTable::ResolvePredicate
- {
- struct IncompatibleType :
- public DeclarationTable::ResolutionFailure
- {
- IncompatibleType (std::string const& t) : type (t) {}
- std::string type;
- };
-
- virtual bool
- test (DeclarationPtr const& d)
- throw (IncompatibleType)
- {
- std::string type = d->declaration_type ();
-
- if (type != "home") throw IncompatibleType (type);
-
- // This is not really necessary since home cannot be
- // forward-declared (yet ;-).
- return strict_cast<TypeDecl> (d)->defined ();
- }
- } p;
-
- try
- {
- ScopedName sn = scope_->table ().resolve (
- name,
- scope_->name (),
- scope_->peek_order (),
- p);
-
- inherits_ = sn;
- }
- catch (InheritancePredicate::IncompatibleType const& e)
- {
- cerr << "error: invalid inheritance specification" << endl;
-
- cerr << "inheritance of ";
- cerr << "home \'" << name_ <<"\' from "
- << e.type << " \'" << name << "\' is illegal" << endl;
- }
- catch (DeclarationTable::NameNotFound const&)
- {
- cerr << "error: invalid inheritance specification" << endl;
- cerr << "no home with name \'"
- << name << "\' visible from scope \'"
- << scope_->name () << "\'" << endl;
- }
- catch (DeclarationTable::PredicateNotMet const&)
- {
- cerr << "error: invalid inheritance specification" << endl;
- cerr << "no defined home with name \'"
- << name << "\' visible from scope \'"
- << scope_->name () << "\'" << endl;
- cerr << "inheritance from forward-declared home is illegal"
- << endl;
- }
- }
-
-
- virtual void
- supports (IdentifierPtr const& id)
- {
- cerr << "supports " << id << endl;
-
- using namespace SyntaxTree;
-
- Name name (id->value ());
-
- struct SupportsPredicate :
- public DeclarationTable::ResolvePredicate
- {
- struct IncompatibleType :
- public DeclarationTable::ResolutionFailure
- {
- IncompatibleType (std::string const& t) : type (t) {}
- std::string type;
- };
-
- virtual bool
- test (DeclarationPtr const& d)
- throw (IncompatibleType)
- {
- std::string type = d->declaration_type ();
-
- // Spec doesn't say anything about which interfaces
- // component can support.
- if (type != "unconstrained interface")
- throw IncompatibleType (type);
-
- return strict_cast<TypeDecl> (d)->defined ();
- }
- } p;
-
- try
- {
- ScopedName sn = scope_->table ().resolve (
- name,
- scope_->name (),
- scope_->peek_order (),
- p);
-
- if (supports_.insert (sn).second == false)
- {
- cerr << "error: invalid support specification" << endl;
- cerr << "directly supporting interface \'"
- << sn << "\' more than once is illegal" << endl;
- }
- }
- catch (SupportsPredicate::IncompatibleType const& e)
- {
- cerr << "error: invalid support specification" << endl;
-
- cerr << "specifying " << e.type << " \'" << name
- << "\' in home\'s support clause is illegal"
- << endl;
- }
- catch (DeclarationTable::NameNotFound const&)
- {
- cerr << "error: invalid support specification" << endl;
- cerr << "no interface with name \'"
- << name << "\' visible from scope \'"
- << scope_->name () << "\'" << endl;
- }
- catch (DeclarationTable::PredicateNotMet const&)
- {
- cerr << "error: invalid support specification" << endl;
- cerr << "no defined interface with name \'"
- << name << "\' visible from scope \'"
- << scope_->name () << "\'" << endl;
- cerr << "supporting forward-declared interface is illegal"
- << endl;
- }
- }
-
-
- virtual void
- manages (IdentifierPtr const& id)
- {
- cerr << "manages " << id << endl;
-
- using namespace SyntaxTree;
-
- Name name (id->value ());
-
- struct ManagesPredicate :
- public DeclarationTable::ResolvePredicate
- {
- struct IncompatibleType :
- public DeclarationTable::ResolutionFailure
- {
- IncompatibleType (std::string const& t) : type (t) {}
- std::string type;
- };
-
- virtual bool
- test (DeclarationPtr const& d)
- throw (IncompatibleType)
- {
- std::string type = d->declaration_type ();
-
- if (type != "component") throw IncompatibleType (type);
-
- return strict_cast<TypeDecl> (d)->defined ();
- }
- } p;
-
- try
- {
- ScopedName sn = scope_->table ().resolve (
- name,
- scope_->name (),
- scope_->peek_order (),
- p);
-
- manages_ = sn;
- }
- catch (ManagesPredicate::IncompatibleType const& e)
- {
- cerr << "error: invalid manages specification" << endl;
-
- cerr << "specifying " << e.type << " \'" << name
- << "\' in home manages clause is illegal" << endl;
- }
- catch (DeclarationTable::NameNotFound const&)
- {
- cerr << "error: invalid manages specification" << endl;
- cerr << "no component with name \'"
- << name << "\' visible from scope \'"
- << scope_->name () << "\'" << endl;
- }
- catch (DeclarationTable::PredicateNotMet const&)
- {
- cerr << "error: invalid manages specification" << endl;
- cerr << "no defined component with name \'"
- << name << "\' visible from scope \'"
- << scope_->name () << "\'" << endl;
- cerr << "managing of forward-declared component is illegal"
- << endl;
- }
- }
-
- virtual void
- open_scope ()
- {
- using namespace SyntaxTree;
-
- HomeDefPtr def (new HomeDef (
- name_,
- scope_,
- inherits_,
- supports_,
- manages_));
-
- if (inherits_ == ScopedName (""))
- {
- def = HomeDefPtr (new HomeDef (
- name_,
- scope_,
- supports_,
- manages_));
- }
- else
- {
- def = HomeDefPtr (new HomeDef (
- name_,
- scope_,
- inherits_,
- supports_,
- manages_));
- }
-
-
- scope_->insert (def);
- push (def);
- scope_ = def;
-
- name_ = SimpleName (""); //indicate that we are done
- inherits_ = ScopedName ("");
- supports_.clear ();
- manages_ = ScopedName ("");
- }
-
- virtual void
- close_scope ()
- {
- scope_ = scope_->scope ();
- }
-
- virtual void
- end ()
- {
- cerr << "end" << endl;
-
- using namespace SyntaxTree;
-
- if (name_ != SimpleName (""))
- {
- // this is not supported by spec yet
- }
- else
- {
- pop ();
- }
- }
- private:
- SyntaxTree::SimpleName name_;
- SyntaxTree::ScopedName inherits_;
- SyntaxTree::ScopedNameSet supports_;
- SyntaxTree::ScopedName manages_;
- };
-
- //
- //
- //
- //@@ Name is inconsistent with HomeFactoryDecl
- class HomeFactory : public virtual SemanticAction::HomeFactory
- {
- public:
- virtual
- ~HomeFactory () throw ()
- {
- }
-
- HomeFactory (SyntaxTree::ScopePtr& current)
- : scope_ (current)
- {
- }
-
- virtual void
- begin (SimpleIdentifierPtr const& id)
- {
- cerr << "home factory " << id << endl;
-
- using namespace SyntaxTree;
-
- HomeDefPtr home (scope_->dynamic_type<HomeDef> ());
-
- if (home == 0)
- {
- //@@ internal compiler error
- }
-
- ComponentDefPtr component (home->manages ());
-
- home_factory_ = HomeFactoryDeclPtr (
- new HomeFactoryDecl (SimpleName (id->value ()),
- component->name (),
- scope_));
- }
-
- virtual void
- parameter (IdentifierPtr const& type_id,
- SimpleIdentifierPtr const& name_id)
- {
- cerr << "parameter " << type_id << " " << name_id << endl;
-
- using namespace IDL3::SyntaxTree;
-
- Name type_name (type_id->value ());
-
- struct Predicate : public DeclarationTable::ResolvePredicate
- {
- virtual bool
- test (DeclarationPtr const& d) throw ()
- {
- return strict_cast<TypeDecl> (d) != 0;
- }
- } p;
-
- try
- {
- ScopedName sn = scope_->table ().resolve (
- type_name,
- scope_->name (),
- scope_->peek_order (),
- p);
-
- HomeFactoryParameterPtr p (
- new HomeFactoryParameter (sn,
- SimpleName (name_id->value ()),
- scope_->table ()));
-
- home_factory_->insert (p);
- }
- catch (DeclarationTable::NameNotFound const&)
- {
- cerr << "error: invalid home factory declaration" << endl;
- cerr << "no type with name \'"
- << type_name << "\' visible from scope \'"
- << scope_->name () << "\'" << endl;
- }
- catch (DeclarationTable::PredicateNotMet const&)
- {
- cerr << "error: invalid home factory declaration" << endl;
- cerr << "declaration with name \'" << type_name
- << "\' visible from scope \'" << scope_->name ()
- << "\' is not a type declaration" << endl;
- cerr << "using non-type as home factory parameter type is illegal"
- << endl;
- }
- }
-
- virtual void
- end ()
- {
- cerr << "end" << endl;
- scope_->insert (home_factory_);
- home_factory_ = SyntaxTree::HomeFactoryDeclPtr ();
- }
- private:
- SyntaxTree::ScopePtr& scope_;
- SyntaxTree::HomeFactoryDeclPtr home_factory_;
- };
- }
- }
-
- class SemanticActionFactoryImpl :
- public virtual IDL3::SemanticActionFactory,
- public virtual IDL2::SemanticActionFactoryImpl
- {
- public:
- virtual
- ~SemanticActionFactoryImpl () throw () {}
-
- SemanticActionFactoryImpl (SyntaxTree::TranslationRegionPtr const& r)
- : IDL2::SemanticActionFactoryImpl (r),
-
- include_ (*this, r, scope_),
- component_ (scope_),
- provides_ (scope_),
- uses_ (scope_),
- publishes_ (scope_),
- emits_ (scope_),
- consumes_ (scope_),
- event_type_ (scope_),
- home_ (scope_),
- home_factory_ (scope_)
- {
-
- }
-
- public:
-
- virtual SemanticAction::Include&
- include ()
- {
- return include_;
- }
-
- virtual SemanticAction::Component&
- component ()
- {
- return component_;
- }
-
- virtual SemanticAction::Provides&
- provides ()
- {
- return provides_;
- }
-
- virtual SemanticAction::Uses&
- uses ()
- {
- return uses_;
- }
-
- virtual SemanticAction::Publishes&
- publishes ()
- {
- return publishes_;
- }
-
- virtual SemanticAction::Emits&
- emits ()
- {
- return emits_;
- }
-
- virtual SemanticAction::Consumes&
- consumes ()
- {
- return consumes_;
- }
-
-
- virtual SemanticAction::EventType&
- event_type ()
- {
- return event_type_;
- }
-
- virtual SemanticAction::Home&
- home ()
- {
- return home_;
- }
-
- virtual SemanticAction::HomeFactory&
- home_factory ()
- {
- return home_factory_;
- }
-
-
- private:
-
- SemanticAction::Impl::Include include_;
-
- SemanticAction::Impl::Component component_;
- SemanticAction::Impl::Provides provides_;
- SemanticAction::Impl::Uses uses_;
- SemanticAction::Impl::Publishes publishes_;
- SemanticAction::Impl::Emits emits_;
- SemanticAction::Impl::Consumes consumes_;
- SemanticAction::Impl::EventType event_type_;
- SemanticAction::Impl::Home home_;
- SemanticAction::Impl::HomeFactory home_factory_;
- };
-}
-
-#endif // CCF_IDL3_SEMANTIC_ACTION_IMPL_HPP
diff --git a/TAO/CIAO/CCF/CCF/IDL3/IDL3_SyntaxTree.cpp b/TAO/CIAO/CCF/CCF/IDL3/IDL3_SyntaxTree.cpp
deleted file mode 100644
index d8afe5f49e4..00000000000
--- a/TAO/CIAO/CCF/CCF/IDL3/IDL3_SyntaxTree.cpp
+++ /dev/null
@@ -1,186 +0,0 @@
-// $Id$
-#include "IDL3_Traversal.hpp"
-#include "IDL3_SyntaxTree.hpp"
-
-namespace IDL3
-{
- namespace SyntaxTree
- {
- using CCF::Traversal::try_visit;
-
- namespace
- {
- //@@ repetition of what's already in IDL2
- bool
- try_visit_scope (CCF::Traversal::Visitor* v,
- ScopePtr const& node)
- {
- return try_visit<Traversal::Scope> (
- &Traversal::Scope::visit_scope,
- v,
- node);
- }
-
- bool
- try_visit_component_decl (CCF::Traversal::Visitor* v,
- ComponentDeclPtr const& node)
- {
- return try_visit<Traversal::ComponentDecl> (
- &Traversal::ComponentDecl::visit_component_decl,
- v,
- node);
- }
- }
-
-
- //
- // ComponentDecl
- //
-
- void ComponentDecl::
- accept (CCF::Traversal::Visitor* v)
- {
- ComponentDeclPtr self (ReferenceCounting::add_ref (this));
-
- try_visit_component_decl (v, self);
- }
-
- //
- // ComponentForwardDecl
- //
-
- void ComponentForwardDecl::
- accept (CCF::Traversal::Visitor* v)
- {
- }
-
- //
- // ComponentDef
- //
-
- void ComponentDef::
- accept (CCF::Traversal::Visitor* v)
- {
- ComponentDefPtr self (ReferenceCounting::add_ref (this));
-
- if(!try_visit<Traversal::ComponentDef> (
- &Traversal::ComponentDef::visit_component_def,
- v,
- self))
- {
- try_visit_component_decl (v, self);
- try_visit_scope (v, self);
- }
- }
-
- //
- // ProvidesDecl
- //
-
- void ProvidesDecl::
- accept (CCF::Traversal::Visitor* v)
- {
- ProvidesDeclPtr self (ReferenceCounting::add_ref (this));
- try_visit<Traversal::ProvidesDecl> (
- &Traversal::ProvidesDecl::visit_provides_decl,
- v,
- self);
- }
-
- //
- // UsesDecl
- //
-
- void UsesDecl::
- accept (CCF::Traversal::Visitor* v)
- {
- UsesDeclPtr self (ReferenceCounting::add_ref (this));
- try_visit<Traversal::UsesDecl> (
- &Traversal::UsesDecl::visit_uses_decl,
- v,
- self);
- }
-
- //
- // PublishesDecl
- //
-
- void PublishesDecl::
- accept (CCF::Traversal::Visitor* v)
- {
- PublishesDeclPtr self (ReferenceCounting::add_ref (this));
- try_visit<Traversal::PublishesDecl> (
- &Traversal::PublishesDecl::visit_publishes_decl,
- v,
- self);
- }
-
- //
- // EmitsDecl
- //
-
- void EmitsDecl::
- accept (CCF::Traversal::Visitor* v)
- {
- EmitsDeclPtr self (ReferenceCounting::add_ref (this));
- try_visit<Traversal::EmitsDecl> (
- &Traversal::EmitsDecl::visit_emits_decl,
- v,
- self);
- }
-
- //
- // ConsumesDecl
- //
-
- void ConsumesDecl::
- accept (CCF::Traversal::Visitor* v)
- {
- ConsumesDeclPtr self (ReferenceCounting::add_ref (this));
- try_visit<Traversal::ConsumesDecl> (
- &Traversal::ConsumesDecl::visit_consumes_decl,
- v,
- self);
- }
-
-
- //
- // HomeDef
- //
-
- void HomeDef::
- accept (CCF::Traversal::Visitor* v)
- {
- HomeDefPtr self (ReferenceCounting::add_ref (this));
-
- if(!try_visit<Traversal::HomeDef> (
- &Traversal::HomeDef::visit_home_def,
- v,
- self))
- {
- try_visit_scope (v, self);
- }
- }
-
- //
- // HomeFactoryDecl
- //
-
- void HomeFactoryDecl::
- accept (CCF::Traversal::Visitor* v)
- {
- HomeFactoryDeclPtr self (ReferenceCounting::add_ref (this));
-
- if(!try_visit<Traversal::HomeFactoryDecl> (
- &Traversal::HomeFactoryDecl::visit_home_factory_decl,
- v,
- self))
- {
- try_visit<Traversal::OperationDecl> (
- &Traversal::OperationDecl::visit_operation_decl,
- v,
- self);
- }
- }
- }
-}
diff --git a/TAO/CIAO/CCF/CCF/IDL3/IDL3_SyntaxTree.hpp b/TAO/CIAO/CCF/CCF/IDL3/IDL3_SyntaxTree.hpp
deleted file mode 100644
index 2ea652787c5..00000000000
--- a/TAO/CIAO/CCF/CCF/IDL3/IDL3_SyntaxTree.hpp
+++ /dev/null
@@ -1,627 +0,0 @@
-// $Id$
-#ifndef CCF_IDL3_SYNTAX_TREE_HPP
-#define CCF_IDL3_SYNTAX_TREE_HPP
-
-#include "MSVC_Pragmas.hpp"
-
-#include "CCF/IDL2/IDL2_SyntaxTree.hpp"
-
-namespace IDL3
-{
- namespace SyntaxTree
- {
- // Import nodes from IDL2
- using namespace IDL2::SyntaxTree;
-
-
- //
- //
- //
- class ComponentDecl : public virtual TypeDecl
- {
- public:
- virtual
- ~ComponentDecl () throw () {}
-
- ComponentDecl (SimpleName const& name,
- ScopePtr const& scope)
- : Declaration (name, scope),
- TypeDecl (name, scope)
- {
- }
-
- // Runtime declaration type information
- public:
- virtual std::string
- declaration_type ()
- {
- return "component";
- }
-
-
- // Traversal
- public:
- virtual void
- accept (CCF::Traversal::Visitor* v);
- };
-
- typedef
- StrictPtr<ComponentDecl>
- ComponentDeclPtr;
-
- typedef
- DeclarationRef<ComponentDecl>
- ComponentDeclRef;
-
-
- //
- //
- //
- class ComponentForwardDecl : public virtual ComponentDecl,
- public virtual TypeForwardDecl
- {
- public:
- virtual
- ~ComponentForwardDecl () throw () {}
-
- ComponentForwardDecl (SimpleName const& name,
- ScopePtr const& scope)
- : Declaration (name, scope),
- TypeDecl (name, scope),
- ComponentDecl (name, scope),
- TypeForwardDecl (name, scope)
- {
- }
-
- // Runtime declaration type information
- public:
- virtual std::string
- declaration_type ()
- {
- return "component";
- }
-
-
- // Traversal
- public:
- virtual void
- accept (CCF::Traversal::Visitor* v);
- };
-
-
-
- //
- //
- //
- class ComponentDef;
-
- typedef
- StrictPtr<ComponentDef>
- ComponentDefPtr;
-
- typedef
- DeclarationRef<ComponentDef>
- ComponentDefRef;
-
- class ComponentDef : public virtual TypeDef,
- public virtual ComponentDecl,
- public virtual Scope
- {
- public:
- virtual
- ~ComponentDef () throw () {}
-
- class DuplicateName {};
-
- ComponentDef (SimpleName const& name,
- ScopePtr const& scope,
- ScopedName const& inherits,
- ScopedNameSet const& supports) throw (DuplicateName)
- : Declaration (name, scope),
- TypeDecl (name, scope),
- TypeDef (name, scope),
- ComponentDecl (name, scope),
- Scope (name, scope),
- inherits_ (scope->table (), inherits)
- {
- copy_supports_list (supports);
- }
-
- ComponentDef (SimpleName const& name,
- ScopePtr const& scope,
- ScopedNameSet const& supports) throw (DuplicateName)
- : Declaration (name, scope),
- TypeDecl (name, scope),
- TypeDef (name, scope),
- ComponentDecl (name, scope),
- Scope (name, scope),
- inherits_ (scope->table ())
- {
- copy_supports_list (supports);
- }
-
- private:
- void
- copy_supports_list (ScopedNameSet const& supports)
- {
- for (ScopedNameSet::const_iterator i = supports.begin ();
- i != supports.end ();
- i++)
- {
- if (!supports_.insert (
- InterfaceDefRef (scope ()->table (), *i)).second)
- {
- //@@ this never happens
- throw DuplicateName ();
- }
- }
- }
-
-
- public:
- ComponentDefRef
- inherits ()
- {
- return inherits_;
- }
-
-
- public:
-
- typedef
- InterfaceDefRefSetName::const_iterator
- Iterator;
-
- Iterator
- supports_begin () const
- {
- return supports_.begin ();
- }
-
- Iterator
- supports_end () const
- {
- return supports_.end ();
- }
-
- // Traversal
- public:
- virtual void
- accept (CCF::Traversal::Visitor* v);
-
- // Runtime declaration type information
- public:
- virtual std::string
- declaration_type ()
- {
- return "component";
- }
-
- private:
- ComponentDefRef inherits_;
- InterfaceDefRefSetName supports_;
- };
-
- typedef
- DeclarationOrderComparator<ComponentDefPtr>
- ComponentDefOrderComparator;
-
- typedef
- std::set<ComponentDefPtr, ComponentDefOrderComparator>
- ComponentDefSet;
-
- //
- //
- //
- class ProvidesDecl : public virtual Declaration
- {
- public:
- virtual
- ~ProvidesDecl () throw () {}
-
- ProvidesDecl (SimpleName const& name,
- ScopedName const& type,
- ScopePtr const& scope)
- : Declaration (name, scope),
- type_ (scope->table (), type)
- {
- }
-
- public:
- InterfaceDeclPtr
- type ()
- {
- return type_.resolve ();
- }
-
-
- // Runtime declaration type information
- public:
- virtual std::string
- declaration_type ()
- {
- return "provides";
- }
-
- // Traversal
- public:
- virtual void
- accept (CCF::Traversal::Visitor* v);
-
- private:
- InterfaceDeclRef type_;
- };
-
-
- //
- //
- //
- class UsesDecl : public virtual Declaration
- {
- public:
- virtual
- ~UsesDecl () throw () {}
-
- UsesDecl (SimpleName const& name,
- ScopedName const& type,
- ScopePtr const& scope)
- : Declaration (name, scope),
- type_ (scope->table (), type)
-
- {
- }
-
- public:
- TypeDeclPtr
- type ()
- {
- return type_.resolve ();
- }
-
-
- // Runtime declaration type information
- public:
- virtual std::string
- declaration_type ()
- {
- return "uses";
- }
-
- // Traversal
- public:
- virtual void
- accept (CCF::Traversal::Visitor* v);
-
- private:
- TypeDeclRef type_;
- };
-
-
- //
- //
- //
- class PublishesDecl : public virtual Declaration
- {
- public:
- virtual
- ~PublishesDecl () throw () {}
-
- PublishesDecl (SimpleName const& name,
- ScopedName const& type,
- ScopePtr const& scope)
- : Declaration (name, scope),
- type_ (scope->table (), type)
- {
- }
-
- public:
- TypeDeclPtr
- type ()
- {
- return type_.resolve ();
- }
-
-
- // Runtime declaration type information
- public:
- virtual std::string
- declaration_type ()
- {
- return "publishes";
- }
-
- // Traversal
- public:
- virtual void
- accept (CCF::Traversal::Visitor* v);
-
- private:
- TypeDeclRef type_;
- };
-
-
- //
- //
- //
- class EmitsDecl : public virtual Declaration
- {
- public:
- virtual
- ~EmitsDecl () throw () {}
-
- EmitsDecl (SimpleName const& name,
- ScopedName const& type,
- ScopePtr const& scope)
- : Declaration (name, scope),
- type_ (scope->table (), type)
- {
- }
-
- public:
- TypeDeclPtr
- type ()
- {
- return type_.resolve ();
- }
-
-
- // Runtime declaration type information
- public:
- virtual std::string
- declaration_type ()
- {
- return "emits";
- }
-
- // Traversal
- public:
- virtual void
- accept (CCF::Traversal::Visitor* v);
-
- private:
- TypeDeclRef type_;
- };
-
-
- //
- //
- //
- class ConsumesDecl : public virtual Declaration
- {
- public:
- virtual
- ~ConsumesDecl () throw () {}
-
- ConsumesDecl (SimpleName const& name,
- ScopedName const& type,
- ScopePtr const& scope)
- : Declaration (name, scope),
- type_ (scope->table (), type)
- {
- }
-
- public:
- TypeDeclPtr
- type ()
- {
- return type_.resolve ();
- }
-
-
- // Runtime declaration type information
- public:
- virtual std::string
- declaration_type ()
- {
- return "consumes";
- }
-
- // Traversal
- public:
- virtual void
- accept (CCF::Traversal::Visitor* v);
-
- private:
- TypeDeclRef type_;
- };
-
-
-
- // According to the spec Home cannot be forward-declared. Did they
- // goof again? - you would probably think...
- //
-
- class HomeDef;
-
- typedef
- StrictPtr<HomeDef>
- HomeDefPtr;
-
- typedef
- DeclarationRef<HomeDef>
- HomeDefRef;
-
- class HomeDef : public virtual TypeDef,
- public virtual Scope
- {
- public:
- virtual
- ~HomeDef () throw () {}
-
- class DuplicateName {};
-
- HomeDef (SimpleName const& name,
- ScopePtr const& scope,
- ScopedName const& inherits,
- ScopedNameSet const& supports,
- ScopedName const& manages) throw (DuplicateName)
-
- : Declaration (name, scope),
- TypeDecl (name, scope),
- TypeDef (name, scope),
- Scope (name, scope),
- inherits_ (scope->table (), inherits),
- manages_ (scope->table (), manages)
- {
- copy_supports_list (supports);
- }
-
- HomeDef (SimpleName const& name,
- ScopePtr const& scope,
- ScopedNameSet const& supports,
- ScopedName const& manages) throw (DuplicateName)
-
- : Declaration (name, scope),
- TypeDecl (name, scope),
- TypeDef (name, scope),
- Scope (name, scope),
- inherits_ (scope->table ()),
- manages_ (scope->table (), manages)
- {
- copy_supports_list (supports);
- }
-
- private:
- void
- copy_supports_list (ScopedNameSet const& supports)
- {
- for (ScopedNameSet::const_iterator i = supports.begin ();
- i != supports.end ();
- i++)
- {
- if (!supports_.insert (
- InterfaceDefRef (scope ()->table (), *i)).second)
- {
- //@@ this never happens
- throw DuplicateName ();
- }
- }
- }
-
- public:
- HomeDefRef
- inherits ()
- {
- return inherits_;
- }
-
- public:
- typedef
- InterfaceDefRefSetName::const_iterator
- Iterator;
-
- Iterator
- supports_begin ()
- {
- return supports_.begin ();
- }
-
- Iterator
- supports_end ()
- {
- return supports_.end ();
- }
-
- public:
- ComponentDefPtr
- manages () const
- {
- return manages_.resolve ();
- }
-
- // Runtime declaration type information
- public:
- virtual std::string
- declaration_type ()
- {
- return "home";
- }
-
- // Traversal
- public:
- virtual void
- accept (CCF::Traversal::Visitor* v);
-
- private:
- HomeDefRef inherits_;
- InterfaceDefRefSetName supports_;
- ComponentDefRef manages_;
- };
-
- typedef
- DeclarationOrderComparator<HomeDefPtr>
- HomeDefOrderComparator;
-
- typedef
- std::set<HomeDefPtr, HomeDefOrderComparator>
- HomeDefSet;
-
-
- //
- //
- //
- class HomeFactoryParameter : public virtual OperationParameter
- {
- public:
- virtual
- ~HomeFactoryParameter () throw ()
- {
- }
-
- HomeFactoryParameter (ScopedName type,
- SimpleName name,
- DeclarationTable const& table)
- : OperationParameter (Direction::IN, type, name, table)
- {
- }
- };
-
- typedef
- StrictPtr<HomeFactoryParameter>
- HomeFactoryParameterPtr;
-
- //
- //
- //
- class HomeFactoryDecl : public virtual OperationDecl
- {
- public:
- virtual
- ~HomeFactoryDecl () throw () {}
-
- HomeFactoryDecl (SimpleName const& name,
- ScopedName const& type,
- ScopePtr const& scope)
- : Declaration (name, scope),
- OperationDecl (name, type, scope)
- {
- }
-
- //@@ It would be nice to be able to kind of virtual override
- // type () mf from OperationDecl with covariant return type
- // technique.
-
-
- // Runtime declaration type information
- public:
- virtual std::string
- declaration_type ()
- {
- return "home factory";
- }
-
- // Traversal
- public:
- virtual void
- accept (CCF::Traversal::Visitor* v);
- };
- typedef
- StrictPtr<HomeFactoryDecl>
- HomeFactoryDeclPtr;
- }
-}
-
-//@@ tmp
-#include "CCF/IDL3/IDL3_SyntaxTree_EventType.hpp"
-
-#endif // CCF_IDL3_SYNTAX_TREE_HPP
diff --git a/TAO/CIAO/CCF/CCF/IDL3/IDL3_SyntaxTreeFwd.hpp b/TAO/CIAO/CCF/CCF/IDL3/IDL3_SyntaxTreeFwd.hpp
deleted file mode 100644
index d581ad0daa5..00000000000
--- a/TAO/CIAO/CCF/CCF/IDL3/IDL3_SyntaxTreeFwd.hpp
+++ /dev/null
@@ -1,69 +0,0 @@
-// $Id$
-#ifndef CCF_IDL3_SYNTAX_TREE_FWD_HPP
-#define CCF_IDL3_SYNTAX_TREE_FWD_HPP
-
-#include "MSVC_Pragmas.hpp"
-
-#include "CCF/IDL2/IDL2_SyntaxTreeFwd.hpp"
-
-namespace IDL3
-{
- namespace SyntaxTree
- {
- // Import all nodes of IDL2
- using namespace IDL2::SyntaxTree;
-
- class ComponentDecl;
- typedef
- StrictPtr<ComponentDecl>
- ComponentDeclPtr;
-
- class ComponentDef;
- typedef
- StrictPtr<ComponentDef>
- ComponentDefPtr;
-
- class ProvidesDecl;
- typedef
- StrictPtr<ProvidesDecl>
- ProvidesDeclPtr;
-
- class UsesDecl;
- typedef
- StrictPtr<UsesDecl>
- UsesDeclPtr;
-
- class PublishesDecl;
- typedef
- StrictPtr<PublishesDecl>
- PublishesDeclPtr;
-
- class EmitsDecl;
- typedef
- StrictPtr<EmitsDecl>
- EmitsDeclPtr;
-
- class ConsumesDecl;
- typedef
- StrictPtr<ConsumesDecl>
- ConsumesDeclPtr;
-
- class HomeDef;
- typedef
- StrictPtr<HomeDef>
- HomeDefPtr;
-
- class HomeFactoryDecl;
- typedef
- StrictPtr<HomeFactoryDecl>
- HomeFactoryDeclPtr;
-
- //@@ should it be here or in separate file?
- class ConcreteEventTypeDef;
- typedef
- StrictPtr<ConcreteEventTypeDef>
- ConcreteEventTypeDefPtr;
- }
-}
-
-#endif // CCF_IDL3_SYNTAX_TREE_FWD_HPP
diff --git a/TAO/CIAO/CCF/CCF/IDL3/IDL3_SyntaxTree_EventType.cpp b/TAO/CIAO/CCF/CCF/IDL3/IDL3_SyntaxTree_EventType.cpp
deleted file mode 100644
index bd8ad6e7186..00000000000
--- a/TAO/CIAO/CCF/CCF/IDL3/IDL3_SyntaxTree_EventType.cpp
+++ /dev/null
@@ -1,22 +0,0 @@
-// $Id$
-#include "IDL3_Traversal.hpp"
-#include "IDL3_SyntaxTree_EventType.hpp"
-
-namespace IDL3
-{
- namespace SyntaxTree
- {
- using CCF::Traversal::try_visit;
-
- void ConcreteEventTypeDef::
- accept (CCF::Traversal::Visitor* v)
- {
- ConcreteEventTypeDefPtr self (ReferenceCounting::add_ref (this));
-
- try_visit<Traversal::ConcreteEventTypeDef> (
- &Traversal::ConcreteEventTypeDef::visit_concrete_event_type_def,
- v,
- self);
- }
- }
-}
diff --git a/TAO/CIAO/CCF/CCF/IDL3/IDL3_SyntaxTree_EventType.hpp b/TAO/CIAO/CCF/CCF/IDL3/IDL3_SyntaxTree_EventType.hpp
deleted file mode 100644
index ff8004c7829..00000000000
--- a/TAO/CIAO/CCF/CCF/IDL3/IDL3_SyntaxTree_EventType.hpp
+++ /dev/null
@@ -1,215 +0,0 @@
-// $Id$
-#ifndef CCF_IDL3_SYNTAX_TREE_VALUE_HPP
-#define CCF_IDL3_SYNTAX_TREE_VALUE_HPP
-
-#include "MSVC_Pragmas.hpp"
-
-#include "CCF/IDL2/IDL2_SyntaxTree_Value.hpp"
-
-namespace IDL3
-{
- namespace SyntaxTree
- {
- // Import nodes from IDL2
- using namespace IDL2::SyntaxTree;
-
- //
- //
- //
- class EventTypeDecl : public virtual ValueDecl
- {
- public:
- virtual
- ~EventTypeDecl () throw () {}
-
- EventTypeDecl (SimpleName const& name,
- ScopePtr const& scope)
- : Declaration (name, scope),
- TypeDecl (name, scope),
- ValueDecl (name, scope)
- {
- }
-
- // Runtime declaration type information
- public:
- virtual std::string
- declaration_type ()
- {
- return "event type";
- }
-
- // Traversal
- public:
- virtual void
- accept (CCF::Traversal::Visitor* v)
- {
- }
-
- };
-
- typedef
- StrictPtr<EventTypeDecl>
- EventTypeDeclPtr;
-
-
- //
- //
- //
- class EventTypeForwardDecl : public virtual ValueForwardDecl,
- public virtual EventTypeDecl
- {
- public:
- virtual
- ~EventTypeForwardDecl () throw () {}
-
- EventTypeForwardDecl (SimpleName const& name,
- ScopePtr const& scope)
- : Declaration (name, scope),
- TypeDecl (name, scope),
- ValueDecl (name, scope),
- TypeForwardDecl (name, scope),
- ValueForwardDecl (name, scope),
- EventTypeDecl (name, scope)
- {
- }
-
- // Runtime declaration type information
- public:
- virtual std::string
- declaration_type ()
- {
- return "event type";
- }
- };
-
- //
- //
- //
- class EventTypeDef : public virtual EventTypeDecl,
- public virtual ValueDef
- {
- public:
- virtual
- ~EventTypeDef () throw () {}
-
- EventTypeDef (SimpleName const& name,
- ScopePtr const& scope,
- ScopedNameSet const& inherits)
- : Declaration (name, scope),
- TypeDecl (name, scope),
- ValueDecl (name, scope),
- EventTypeDecl (name, scope),
- TypeDef (name, scope),
- Scope (name, scope),
- ValueDef (name, scope, inherits)
- {
- }
-
- // Runtime declaration type information
- public:
- virtual std::string
- declaration_type ()
- {
- return "event type";
- }
-
- // Traversal
- public:
- virtual void
- accept (CCF::Traversal::Visitor* v)
- {
- }
-
- };
-
-
- //
- //
- //
- class ConcreteEventTypeDecl : public virtual EventTypeDecl
- {
- public:
- virtual
- ~ConcreteEventTypeDecl () throw () {}
-
- ConcreteEventTypeDecl (SimpleName const& name,
- ScopePtr const& scope)
- : Declaration (name, scope),
- TypeDecl (name, scope),
- ValueDecl (name, scope),
- EventTypeDecl (name, scope)
- {
- }
-
- // Runtime declaration type information
- public:
- virtual std::string
- declaration_type ()
- {
- return "concrete event type";
- }
-
- // Traversal
- public:
- virtual void
- accept (CCF::Traversal::Visitor* v)
- {
- }
-
- };
-
-
- //
- //
- //
- class ConcreteEventTypeDef : public virtual ConcreteEventTypeDecl,
- public virtual EventTypeDef
- {
- public:
- virtual
- ~ConcreteEventTypeDef () throw () {}
-
- ConcreteEventTypeDef (SimpleName const& name,
- ScopePtr const& scope,
- ScopedNameSet const& inherits)
- : Declaration (name, scope),
- TypeDecl (name, scope),
- ValueDecl (name, scope),
- EventTypeDecl (name, scope),
- ConcreteEventTypeDecl (name, scope),
- TypeDef (name, scope),
- Scope (name, scope),
- ValueDef (name, scope, inherits),
- EventTypeDef (name, scope, inherits)
- {
- }
-
- // Runtime declaration type information
- public:
- virtual std::string
- declaration_type ()
- {
- return "concrete event type";
- }
-
- // Traversal
- public:
- virtual void
- accept (CCF::Traversal::Visitor* v);
- };
-
- typedef
- StrictPtr<ConcreteEventTypeDef>
- ConcreteEventTypeDefPtr;
-
- typedef
- DeclarationOrderComparator<ConcreteEventTypeDefPtr>
- ConcreteEventTypeDefOrderComparator;
-
- typedef
- std::set<ConcreteEventTypeDefPtr, ConcreteEventTypeDefOrderComparator>
- ConcreteEventTypeDefSet;
- }
-}
-
-#endif // CCF_IDL3_SYNTAX_TREE_VALUE_HPP
diff --git a/TAO/CIAO/CCF/CCF/IDL3/IDL3_Traversal.cpp b/TAO/CIAO/CCF/CCF/IDL3/IDL3_Traversal.cpp
deleted file mode 100644
index a69e74b54ff..00000000000
--- a/TAO/CIAO/CCF/CCF/IDL3/IDL3_Traversal.cpp
+++ /dev/null
@@ -1,184 +0,0 @@
-// $Id$
-#include "IDL3_Traversal.hpp"
-
-#include "IDL3_SyntaxTree.hpp"
-#include "IDL3_SyntaxTree_EventType.hpp"
-
-namespace IDL3
-{
- namespace Traversal
- {
- namespace
- {
- //@@ code duplication
- void
- iterate_scope (SyntaxTree::ScopePtr const& s,
- CCF::Traversal::Visitor* v)
- {
- for (SyntaxTree::Scope::Iterator i = s->begin (); i != s->end (); i++)
- {
- (*i)->accept (v);
- }
- }
- }
-
- //
- // ComponentDecl
- //
-
- void ComponentDecl::
- visit_component_decl (NodePtr const& c)
- {
- visit_component_decl_pre (c);
- visit_component_decl_post (c);
- }
-
-
- void ComponentDecl::
- visit_component_decl_pre (NodePtr const&)
- {
- }
-
- void ComponentDecl::
- visit_component_decl_post (NodePtr const&)
- {
- }
-
- //
- // ComponentDef
- //
-
- void ComponentDef::
- visit_component_def (NodePtr const& c)
- {
- visit_component_def_pre (c);
- visit_component_def_scope (c);
- visit_component_def_post (c);
- }
-
-
- void ComponentDef::
- visit_component_def_pre (NodePtr const&)
- {
- }
-
- void ComponentDef::
- visit_component_def_scope (NodePtr const& c)
- {
- iterate_scope (c, this);
- }
-
- void ComponentDef::
- visit_component_def_post (NodePtr const&)
- {
- }
-
- //
- // HomeDef
- //
-
- void HomeDef::
- visit_home_def (NodePtr const& h)
- {
- visit_home_def_pre (h);
- visit_home_def_scope (h);
- visit_home_def_post (h);
- }
-
- void HomeDef::
- visit_home_def_pre (NodePtr const&)
- {
- }
-
- void HomeDef::
- visit_home_def_scope (NodePtr const& h)
- {
- iterate_scope (h, this);
- }
-
- void HomeDef::
- visit_home_def_post (NodePtr const&)
- {
- }
-
- //
- // HomeFactoryDecl
- //
- void HomeFactoryDecl::
- visit_home_factory_decl (NodePtr const& n)
- {
- visit_home_factory_decl_pre (n);
- visit_home_factory_decl_type (n);
- visit_home_factory_decl_name (n);
- visit_home_factory_decl_parameters (n);
- visit_home_factory_decl_post (n);
- }
-
- void HomeFactoryDecl::
- visit_home_factory_decl_pre (NodePtr const& n)
- {
- }
-
- void HomeFactoryDecl::
- visit_home_factory_decl_type (NodePtr const& n)
- {
- if (type_) n->type ()->accept (type_);
- else n->type ()->accept (this);
- }
-
- void HomeFactoryDecl::
- visit_home_factory_decl_name (NodePtr const& n)
- {
- }
-
- void HomeFactoryDecl::
- visit_home_factory_decl_parameters (NodePtr const& n)
- {
- for (SyntaxTree::HomeFactoryDecl::Iterator i = n->begin ();
- i != n->end ();
- i++)
- {
- (*i)->accept (this);
-
- if (i + 1 != n->end ())
- {
- //@@ could be HomeFactoryParameterComma
- SyntaxTree::CommaPtr c (new SyntaxTree::Comma);
- c->accept (this);
- }
- }
- }
-
- void HomeFactoryDecl::
- visit_home_factory_decl_post (NodePtr const& n)
- {
- }
-
- // ConcreteEventTypeDef
- //
- //
- void ConcreteEventTypeDef::
- visit_concrete_event_type_def (NodePtr const& et)
- {
- visit_concrete_event_type_def_pre (et);
- visit_concrete_event_type_def_scope (et);
- visit_concrete_event_type_def_post (et);
- }
-
- void ConcreteEventTypeDef::
- visit_concrete_event_type_def_pre (NodePtr const&)
- {
- }
-
- void ConcreteEventTypeDef::
- visit_concrete_event_type_def_scope (NodePtr const& et)
- {
- iterate_scope (et, this);
- }
-
- void ConcreteEventTypeDef::
- visit_concrete_event_type_def_post (NodePtr const&)
- {
- }
- }
-}
diff --git a/TAO/CIAO/CCF/CCF/IDL3/IDL3_Traversal.hpp b/TAO/CIAO/CCF/CCF/IDL3/IDL3_Traversal.hpp
deleted file mode 100644
index 0b4b53c5ed1..00000000000
--- a/TAO/CIAO/CCF/CCF/IDL3/IDL3_Traversal.hpp
+++ /dev/null
@@ -1,175 +0,0 @@
-// $Id$
-#ifndef CCF_IDL3_TRAVERSAL_HPP
-#define CCF_IDL3_TRAVERSAL_HPP
-
-#include "MSVC_Pragmas.hpp"
-
-#include "CCF/IDL2/IDL2_Traversal.hpp"
-#include "CCF/IDL3/IDL3_SyntaxTreeFwd.hpp"
-
-namespace IDL3
-{
- namespace Traversal
- {
- // Import visitors from IDL2
- using namespace IDL2::Traversal;
-
- //
- //
- //
- struct ComponentDecl : virtual CCF::Traversal::Visitor
- {
- typedef
- SyntaxTree::ComponentDeclPtr
- NodePtr;
-
- virtual void visit_component_decl (NodePtr const& c);
- virtual void visit_component_decl_pre (NodePtr const& c);
- virtual void visit_component_decl_post (NodePtr const& c);
- };
-
- //
- //
- //
- struct ComponentDef : virtual CCF::Traversal::Visitor
- {
- typedef
- SyntaxTree::ComponentDefPtr
- NodePtr;
-
- virtual void visit_component_def (NodePtr const& c);
- virtual void visit_component_def_pre (NodePtr const& c);
- virtual void visit_component_def_scope (NodePtr const& c);
- virtual void visit_component_def_post (NodePtr const& c);
- };
-
- //
- //
- //
- struct ProvidesDecl : virtual CCF::Traversal::Visitor
- {
- typedef
- SyntaxTree::ProvidesDeclPtr
- NodePtr;
-
- virtual void visit_provides_decl (NodePtr const& c)
- {
- }
- };
-
- //
- //
- //
- struct UsesDecl : virtual CCF::Traversal::Visitor
- {
- typedef
- SyntaxTree::UsesDeclPtr
- NodePtr;
-
- virtual void visit_uses_decl (NodePtr const& c)
- {
- }
- };
-
- //
- //
- //
- struct PublishesDecl : virtual CCF::Traversal::Visitor
- {
- typedef
- SyntaxTree::PublishesDeclPtr
- NodePtr;
-
- virtual void visit_publishes_decl (NodePtr const& c)
- {
- }
- };
-
- //
- //
- //
- struct EmitsDecl : virtual CCF::Traversal::Visitor
- {
- typedef
- SyntaxTree::EmitsDeclPtr
- NodePtr;
-
- virtual void visit_emits_decl (NodePtr const& c)
- {
- }
- };
-
- //
- //
- //
- struct ConsumesDecl : virtual CCF::Traversal::Visitor
- {
- typedef
- SyntaxTree::ConsumesDeclPtr
- NodePtr;
-
- virtual void visit_consumes_decl (NodePtr const& c)
- {
- }
- };
-
- //
- //
- //
- struct HomeDef : virtual CCF::Traversal::Visitor
- {
- typedef
- SyntaxTree::HomeDefPtr
- NodePtr;
-
- virtual void visit_home_def (NodePtr const& h);
- virtual void visit_home_def_pre (NodePtr const& h);
- virtual void visit_home_def_scope (NodePtr const& h);
- virtual void visit_home_def_post (NodePtr const& h);
-
- };
-
- //
- //
- //
- struct HomeFactoryDecl : virtual CCF::Traversal::Visitor
- {
- typedef
- SyntaxTree::HomeFactoryDeclPtr
- NodePtr;
-
- HomeFactoryDecl (CCF::Traversal::Visitor* type = 0)
- : type_ (type)
- {
- }
-
- virtual void visit_home_factory_decl (NodePtr const& n);
-
- virtual void visit_home_factory_decl_pre (NodePtr const& n);
- virtual void visit_home_factory_decl_type (NodePtr const& n);
- virtual void visit_home_factory_decl_name (NodePtr const& n);
- virtual void visit_home_factory_decl_parameters (NodePtr const& n);
- virtual void visit_home_factory_decl_post (NodePtr const& n);
-
- private:
- CCF::Traversal::Visitor* type_;
- };
-
- //
- //
- //
- struct ConcreteEventTypeDef : virtual CCF::Traversal::Visitor
- {
- typedef
- SyntaxTree::ConcreteEventTypeDefPtr
- NodePtr;
-
- virtual void visit_concrete_event_type_def (NodePtr const& et);
- virtual void visit_concrete_event_type_def_pre (NodePtr const& et);
- virtual void visit_concrete_event_type_def_scope (NodePtr const& et);
- virtual void visit_concrete_event_type_def_post (NodePtr const& et);
- };
- }
-}
-
-#endif // CCF_IDL3_TRAVERSAL_HPP
diff --git a/TAO/CIAO/CCF/CCF/IDL3/MSVC_Pragmas.hpp b/TAO/CIAO/CCF/CCF/IDL3/MSVC_Pragmas.hpp
deleted file mode 100644
index 724b5b52646..00000000000
--- a/TAO/CIAO/CCF/CCF/IDL3/MSVC_Pragmas.hpp
+++ /dev/null
@@ -1,16 +0,0 @@
-// $Id$
-#ifndef MSVC_PRAGMAS_HPP
-#define MSVC_PRAGMAS_HPP
-
-
-// Various warnings that have to be disabled for MSVC.
-
-// 'this' : used in base member initializer list
-#pragma warning(disable:4355)
-// 'class1' : inherits 'class2::member' via dominance
-#pragma warning(disable:4250)
-// C++ Exception Specification ignored
-#pragma warning(disable:4290)
-
-
-#endif /* MSVC_PRAGMAS_HPP */ \ No newline at end of file
diff --git a/TAO/CIAO/CCF/CCF/IDL3/Makefile b/TAO/CIAO/CCF/CCF/IDL3/Makefile
deleted file mode 100644
index 6222a052c9a..00000000000
--- a/TAO/CIAO/CCF/CCF/IDL3/Makefile
+++ /dev/null
@@ -1,22 +0,0 @@
-# File : Makefile
-# Author : Boris Kolpackov <boris@kolpackov.net>
-# $Id$
-
-root = ../../External/Utility
-
-include $(root)/Config/Archive.pre.rules
-
-cxx_translation_units := IDL3.cpp \
- IDL3_SyntaxTree.cpp \
- IDL3_SyntaxTree_EventType.cpp \
- IDL3_Traversal.cpp
-
-module_base := IDL3
-module_prefix :=
-module_suffix :=
-
-CXX_PREPROCESS_FLAGS += -I../.. \
- -I../../External/Utility \
- -I../../External/boost \
-
-include $(root)/Config/Archive.post.rules
diff --git a/TAO/CIAO/CCF/CCF/Makefile b/TAO/CIAO/CCF/CCF/Makefile
deleted file mode 100644
index d2fc5f62489..00000000000
--- a/TAO/CIAO/CCF/CCF/Makefile
+++ /dev/null
@@ -1,14 +0,0 @@
-# file : CCF/Makefile
-# author : Boris Kolpackov <boris@kolpackov.net>
-# copyright : Copyright (c) 2002-2003 Boris Kolpackov
-# license : http://kolpackov.net/license.html
-# cvs-id : $Id$
-
-root := ..
-
-include $(root)/External/Utility/Config/Recursion.pre.rules
-
-target_makefile_list :=
-target_directory_list := IDL2 IDL3 CIDL CodeGenerationKit
-
-include $(root)/External/Utility/Config/Recursion.post.rules
diff --git a/TAO/CIAO/CCF/DesignNotes b/TAO/CIAO/CCF/DesignNotes
deleted file mode 100644
index b01fd452762..00000000000
--- a/TAO/CIAO/CCF/DesignNotes
+++ /dev/null
@@ -1,457 +0,0 @@
-
-Intention of this file is to capture and document CIDL complier design
-ideas/decisions.
-
-Conceptual parts of CIDL compiler design
-----------------------------------------
-
-Option Parser Consists of option parser and option
- database.
-
-C Preprocessor Interfacing Represents mechanism of preprocessing
- cidl files.
-
-IDL Compiler Interfacing Represents mechanism of invoking IDL
- compiler.
-
-Scanner Scanner for preprocessed cidl file.
-
-Parser CIDL grammar parser. Consists of grammar
- and semantic rules.
-
-Syntax Tree Intermediate representation of cidl file.
- Consists of syntax tree nodes itself and
- perhaps symbol tables.
-
-Semantic Analyzer Traverses Syntax Tree and performs
- semantic analysis as well as some
- semantic expansions.
-
-
-Code Generation Stream Stream to output generated code to. Used
- by concrete Code Generators
-
-Code Generators
-{
-
- Executor Mapping Generator Generator for local executor mapping.
-
- Executor Implementation Generator Generator for partial implementation
- of local executor mapping.
-
- Skeleton Thunk Generator Generator for skeleton thunks i.e.
- code that implements skeleton and
- thunks user-defined functions to
- executor mapping.
-}
-
-Compiler driver Establishes order of execution of
- different components as part of
- compilation process.
-
-
-How everything works together
------------------------------
-
-(1) Compiler Driver executes Option Parser to populate Option Database
-
-(2) Compiler Driver executes C Preprocessor on a supplied cidl file
-
-(3) Compiler Driver executes Parser which uses Scanner to scan preprocessed
- cidl file and generates Syntax Tree by means of semantic rules.
-
-(4) At this point we have Syntax Tree corresponding to the original cidl
- file. Compiler Driver executes Executor Mapping Generator,
- Executor Implementation Generator and Skeleton Thunk Generator on
- Syntax Tree.
-
-
-
-General Design Ideas/Decision
--------------
-
-[IDEA]: There is an effort to use autoconf/automake in ACE/TAO. Maybe it's
- a good idea to start using it with CIDLC? There is one side advantage
- of this approach: if we decide to embed GCC CPP then we will have to
- use configure (or otherwise ACE-ify the code which doesn't sound like
- a right solution).
-
-[IDEA]: CIDLC is a prototype for a new IDLC, PSDLC and IfR model. Here are
- basic concepts:
-
- - use common IDL grammar, semantic rules and syntax tree nodes
- for IDLC, CIDLC, PSDLC and IfR. Possibly have several libraries
- for example ast_idl-2.so, ast_idl-3.so, scaner_idl-2.so
- scaner_idl-3.so, parser_idl-2.so, parser_idl-3.so. Dependency
- graph would look like this:
-
-
- ast_idl-2.so scanner_idl-2.so
- | |
- |---------------------------------|
- | | |
- | | |
- | parser_idl-2.so |
- | | |
- ast_idl-3.so | scanner_idl-3.so
- | | |
- | | |
- | | |
- ---------parser_idl-3.so---------
-
- Same idea applies for CIDL and PSDL.
-
-
- - use the same internal representation (syntax tree) in all
- compilers and IfR. This way at some stage if we will need
- to make one of the compilers IfR-integrated (import keyword?)
- then it will be a much easier task than it's now. This internal
- representation may also be usable in typecodes
-
- @@ boris: not clear to me.
-
- @@ jeff: A typecode is like a piece of the Syntax Tree with these
- exceptions -
-
- (1) There is no typecode for an IDL module.
-
- (2) Typecodes for interfaces and valuetypes lack some of the
- information in the corresponding Syntax Tree nodes.
-
- With these exceptions in mind, a typecode can be composed and
- traversed in the same manner as a Syntax Tree, perhaps with
- different classes than used to compose the ST itself.
-
- @@ boris: Ok, let me see if I got it right. So when typecode
- is kept in parsed state (as opposite to binary) (btw, when
- does it happen?) it makes sense to apply the same techniques
- (if in fact not the same ST nodes and traversal mechs) as
- for XIDL compilation.
-
-[IDEA]: We should be consistent with the way external compilers that we call
- report errors. For now those are CPP and IDLC.
-
-Option Parser
--------------
-
-[IDEA]: Use Spirit parser framework to generate option parser.
-
-[IDEA]: Option Database is probably a singleton.
-
- @@ jeff: This is a good idea, especially when passing some of the
- options to a preprocessor or spawned IDL compier. But I think we
- will still need 'state' classes for the front and back ends (to
- hold values set by command line options and default values) so
- we can keep them decoupled).
-
-
- @@ boris: I understand what you mean. Though I think we will be
- able to do with one 'runtime database'. Each 'compiler module'
- will be able to populate its 'namespace' with (1) default
- values, (2) with module-specific options and (3) arbitrary
- runtime information. I will present prototopy design shortly.
-
-
-[IDEA]: It seems we will have to execute at least two external programs
- as part of CIDLC execution: CPP and IDLC. Why wouldn't we follow
- GCC specs model (gcc -dumpspecs). Here are candidates to be put into
- specs:
-
- - default CPP name and options
- - default IDLC name and options
- - default file extensions and formats for different mappings
- - other ideas?
-
-[IDEA]: Provide short and long option names (e.g. -o and --output-dir)
- for every option (maybe except -I, -D, etc).
-
-
-C Preprocessor Interfacing
---------------------------
-
-[IDEA]: Embed/require GCC CPP
-
-[IDEA]: We need a new model of handling includes in CIDLC (as well as IDLC).
- Right now I'm mentally testing a new model (thanks to Carlos for the
- comments). Soon I will put the description here.
-
-[IDEA]: We cannot move cidl file being preprocessed to for example /tmp
- as it's currently the case with IDLC.
-
-[IDEA]: Can we use pipes (ACE Pipes) portably to avoid temporary files?
- (Kitty, you had some ideas about that?)
-
-
-
-IDL Compiler Interfacing
-------------------------
-
-[IDEA]: Same as for CPP: Can we use pipes?
-
- @@ jeff: check with Nanbor on this. I think there may be CCM/CIAO
- use cases where we need the intermediate IDL file.
-
-[IDEA]: Will need a mechanism to pass options to IDLC from CIDLC command
- line (would be nice to have this ability for CPP as well).
- Something like -x in xterm? Better ideas?
-
-
-
-Scanner
-------
-
-[IDEA]: Use Spirit framework to construct scanner. The resulting sequence
- can be sequence of objects? BTW, Spirit parser expects a "forward
- iterator"-based scanner. So this basically mean that we may have to
- keep the whole sequence in memory. BTW, this is another good reason
- to have scanner: if we manage to make scanner a predictable parser
- (i.e. no backtracking) then we don't have to keep the whole
- preprocessed cidl file in memory.
-
-
-
-Parser
-------
-
-[IDEA]: Use Spirit framework to construct parser.
-
-[IDEA]: Define IDL grammar as a number of grammar capsules. This way it's
- much easier to reuse/inherit even dynamically. Need to elaborate
- this idea.
-
-[IDEA]: Use functors as semantic actions. This way we can specify (via
- functor's data member) on which Syntax Tree they are working.
- Bad side: semantic rules are defined during grammar construction.
- However we can use a modification of the factory method pattern.
- Better ideas?
-
- @@ jeff: I think ST node creation with a factory
- is a good idea - another ST implementation could be plugged in,
- as long as it uses a factory with the same method names.
-
- @@ boris: Right. In fact it's our 'improved' way of handling 'BE'
- usecases.
-
-
-
-Syntax Tree
------------
-
-[IDEA]: Use interface repository model as a base for Syntax Tree hierarchy.
-
-[IDEA]: Currently (in IDLC) symbol lookup is accomplished by AST navigation,
- and is probably the biggest single bottleneck in performance. Perhaps
- a separate symbol table would be preferable. Also, lookups could be
- specialized, e.g., for declaration, for references, and perhaps a
- third type for argument-related lookups.
-
-[NOTE]: If we are to implement symbol tables then we need to think how we
- are going to inherit (extend) this tables.
-
-[NOTE]: Inheritance/supports graphs: these graphs need to be traversed at
- several points in the back end. Currently they are rebuilt for each
- use, using an n-squared algorithm. We could at least build them only
- once for each interface/valuetype, perhaps even with a better
- algorithm. It could be integrated into inheritance/supports error
- checking at node creation time, which also be streamlined.
-
- @@ boris: Well, I think we should design our Syntax Tree so that
- every interface/valuetype has a list (flat?) of interfaces it
- inherits from/supports.
-
-[IDEA]: We will probably want to use factories to instantiate Syntax Tree
- Nodes (STN). This will allow a concrete code generators to alter (i.e.
- inherit off and extend) vanilla STNs (i.e. alternative to BE nodes
- in current IDLC design).
-
-
-Common Syntax Tree traversal Design Ideas/Decision
---------------------------------------------------
-
-[IDEA] If we specify Syntax Tree traversal facility then we will be able
- to specify (or even plug dynamically) Syntax Tree traversal agents
- that may not only generate something but also annotate or modify
- Syntax Tree. We are already using this technique for a number of
- features (e.g. AMI, IDL3 extension, what else?) but all these agents
- are hardwired inside TAO IDLC. If we have this facility then we will
- be able to produce modular and highly extensible design. Notes:
-
- - Some traversal agents can change Syntax Tree so that it will be
- unusable by some later traversal agents. So maybe the more
- generic approach would be to produce new Syntax Tree?
-
- @@ jeff: Yes, say for example that we were using a common ST
- representation for the IDL compiler and the IFR. We would not
- want to send the extra AMI nodes to the IFR so in that case
- simple modification of the ST might not be best.
-
-[IDEA] Need a generic name for "Syntax Tree Traversal Agents". What about
- "Syntax Tree Traverser"?
-
-
-Code Generation Stream
-----------------------
-
-[IDEA] Use language indentation engines for code generation (like a c-mode
- in emacs). The idea is that code like this
-
- out << "long foo (long arg0, " << endl
- << " long arg1) " << endl
- << "{ " << endl
- << " return arg0 + arg1; " << endl
- << "} " << endl;
-
- will result in a generated code like this:
-
- namespace N
- {
- ...
-
- long foo (long arg0,
- long arg1)
- {
- return arg0 + arg1;
- }
-
- ...
- }
-
- Note that no special actions were taken to ensure proper indentation.
- Instead the stream's indentation engine is responsible for that.
- The same mech can be used for different languages (e.g. XML).
-
-
-Code Generators
----------------
-
-[IDEA] It makes sense to establish a general concept of code generators.
- "Executor Mapping Generator", "Executor Implementation Generator"
- and "Skeleton Thunk Generator" would be a concrete code generators.
-
-[IDEA] Expression evaluation: currently the result (not the expression)
- is generated, which may not always be necessary.
-
- @@ boris: I would say may not always be correct
-
-
- However, for purposes of type coercion and other checking (such as
- for positive integer values in string, array and sequence bounds)
- evaluation must be done internally.
-
- @@ boris: note that evaluation is needed to only verify that things
- are correct. You don't have to (shouldn't?) substitute original
- (const) expression with what's been evaluated.
-
-
- @@ jeff: it may be necessary in some cases to append 'f' or 'U' to
- a generated number to avoid a C++ compiler warning.
-
- @@ boris: shouldn't this 'f' and 'U' be in IDL as well?
-
-[IDEA] I wonder if it's a good idea to use a separate pass over syntax tree
- for semantic checking (e.g. type coercion, positive values for
- sequence bounds).
-
- @@ jeff: This may hurt performance a little - more lookups - but it
- will improve error reporting.
-
- @@ boris: As we dicussed earlier this pass could be used to do
- 'semantic expansions' (e.g. calculate a flat list of interface's
- children, etc). Also I don't think we should worry about speed
- very much here (of course I don't say we have to be stupid ;-)
- In fact if we are trading better design vs faster compilation
- at this stage we should always go for better design.
-
-
-Executor Mapping Generator
---------------------------
-
-
-
-Executor Implementation Generator
---------------------------------
-
-[IDEA]: Translate CIDL composition to C++ namespace.
-
-
-
-Skeleton Thunk Generator
-------------------------
-
-
-
-
-Compiler driver
----------------
-
-
-
-Vault
------
-
-Some thoughts from Jeff that I are not directly related to CIDLC and are
-rather current IDLC design defects:
-
-* AMI/AMH implied IDL: more can be done in the BE preprocessing pass,
- hopefully eliminating a big chunk of the huge volume of AMI/AMH visitor
- code. The implied IDL generated for CCM types, for example, leaves almost
- nothing extra for the visitors to do.
-
-* Fwd decl redefinition: forward declaration nodes all initially contain a
- heap-allocated dummy full-definition member, later replaced by a copy
- of the full definition. This needs to be streamlined.
-
-* Memory leaks: inconsistent copying/passing policies make it almost
- impossible to eliminate the huge number of leaks. The front end will be
- more and more reused, and it may be desirable to make it executable as a
- function call, in which case it will important to eliminate the leaks.
- Perhaps copying of AST nodes can be eliminated with reference counting or
- just with careful management, similarly for string identifiers and literals.
- Destroy() methods have been put in all the node classes, and are called
- recursively from the AST root at destruction time, but they are far from
- doing a complete job.
-
-* Visitor instantiation: the huge visitor factory has already been much
- reduced, and the huge enum of context state values is being reduced.
- However there will still be an abundance of switch statements at nearly
- every instance of visitor creation at scope nesting. We could make better
- use of polymorphism to get rid of them.
-
-* Node narrowing: instead of the impenetrable macros we use now, we
- could either generate valuetype-like downcast methods for the (C)IDL
- types, or we could just use dynamic_cast.
-
-* Error reporting: making error messages more informative, and error recovery
- could both be a lot better, as they are in most other IDL compilers. If a
- recursive descent parser is used (such as Spirit), there is a simple
- generic algorithm for error recovery.
-
-
-* FE/BE node classes: if BE node classes are implemented at all, there should
- be a complete separation of concerns - BE node classes should contain only
- info related to code generation, and FE node classes should contain only
- info related to the AST representation. As the front end becomes more
- modular and reusable, this will become more and more necessary.
-
- @@ boris: It doesn't seem we will need two separate and parallel hierarhies.
-
-* Undefined fwd decls: now that we have dropped support for platforms without
- namespaces, the code generated for fwd declarations not defined in the same
- translation unit can be much improved, most likely by the elimination of
- generated flat-name global methods, and perhaps other improvements as well.
-
-* Strategized code generation: many places now have either lots of
- duplication, or an explosion of branching in a single visitor. Adding code
- generation for use cases incrementally may give us an opportunity to
- refactor and strategize it better.
-
-* Node generator: this class does nothing more than call 'new' and pass
- unchanged the arguments it gets to the appropriate constructor - it can be
- eliminated.
-
-* Virtual methods: there are many member functions in the IDL compiler that
- are needlessly virtual.
-
-* Misc. leveraging: redesign of mechanisms listed above can have an effect
- on other mechanisms, such as the handling of pragma prefix, typeprefix, and
- reopened modules.
diff --git a/TAO/CIAO/CCF/External/Utility/Config/Archive.gcc.post.rules b/TAO/CIAO/CCF/External/Utility/Config/Archive.gcc.post.rules
deleted file mode 100644
index b43e4d01363..00000000000
--- a/TAO/CIAO/CCF/External/Utility/Config/Archive.gcc.post.rules
+++ /dev/null
@@ -1,45 +0,0 @@
-# file : Config/Archive.gcc.post.rules
-# author : Boris Kolpackov <boris@kolpackov.net>
-# copyright : Copyright (c) 2002-2003 Boris Kolpackov
-# license : http://kolpackov.net/license.html
-
-
-#
-# Note: normally you wouldn't want to change anything below.
-#
-
-FULL_MODULE_PREFIX := $(MODULE_PREFIX)$(module_prefix)
-FULL_MODULE_SUFFIX := $(module_suffix)$(MODULE_SUFFIX)
-MODULE := $(FULL_MODULE_PREFIX)$(module_base)$(FULL_MODULE_SUFFIX)
-
-#
-# Pattern rules catalog.
-# {
-
-# Defined pattern rule to build .o from .cpp
-%.o : %.cpp
- $(CXX) $(CXX_PREPROCESS_FLAGS) $(CXX_COMPILE_FLAGS) -MD -MP -MT $(@:.o=.d) -MF $(@:.o=.d) -c $< -o $@
-
-# Defines pattern rule to build <module> from <module>.o
-$(MODULE_PREFIX)$(module_prefix)%$(module_suffix)$(MODULE_SUFFIX) : %.o
- $(AR) $(AR_FLAGS) $@ $^
-
-# }
-
-# Defines the rule to build module from tarnslated c++ translation units.
-$(MODULE) : $(cxx_translation_units:.cpp=.o)
-
-# Defines a phony target to clean all what's been generated
-.PHONY : clean
-clean :
- -rm -f $(cxx_translation_units:.cpp=.o)
- -rm -f $(cxx_translation_units:.cpp=.d)
- -rm -f $(MODULE)
- -rm -f *~
-
-# Include dependencies for c++ translation units.
--include $(cxx_translation_units:.cpp=.d)
-
-
-# The following catch-all rule will skip unknown targets
-%:: ;@:
diff --git a/TAO/CIAO/CCF/External/Utility/Config/Archive.gcc.pre.rules b/TAO/CIAO/CCF/External/Utility/Config/Archive.gcc.pre.rules
deleted file mode 100644
index 148f6bfbc8a..00000000000
--- a/TAO/CIAO/CCF/External/Utility/Config/Archive.gcc.pre.rules
+++ /dev/null
@@ -1,27 +0,0 @@
-# file : Config/Archive.gcc.pre.rules
-# author : Boris Kolpackov <boris@kolpackov.net>
-# copyright : Copyright (c) 2002-2003 Boris Kolpackov
-# license : http://kolpackov.net/license.html
-
-# Forces make to delete targets whos rebuild commands failed but
-# updated the target.
-.DELETE_ON_ERROR:
-
-# Empties the suffix list for which old-fassion implicit rules would
-# be used. The net effect is that all predefined implicit rules are
-# disabled now.
-.SUFFIXES:
-
-CXX ?= g++
-CXX_DEP ?= $(CXX) -M
-
-CXX_PREPROCESS_FLAGS :=
-CXX_COMPILE_FLAGS := -Wall
-CXX_LINK_FLAGS :=
-CXX_LINK_LIBS :=
-
-AR ?= ar
-AR_FLAGS := -rc
-
-MODULE_PREFIX := lib
-MODULE_SUFFIX := .a
diff --git a/TAO/CIAO/CCF/External/Utility/Config/Archive.post.rules b/TAO/CIAO/CCF/External/Utility/Config/Archive.post.rules
deleted file mode 100644
index 59aa7e59e91..00000000000
--- a/TAO/CIAO/CCF/External/Utility/Config/Archive.post.rules
+++ /dev/null
@@ -1,7 +0,0 @@
-# file : Config/Archive.post.rules
-# author : Boris Kolpackov <boris@kolpackov.net>
-# copyright : Copyright (c) 2002-2003 Boris Kolpackov
-# license : http://kolpackov.net/license.html
-
-include $(root)/Config/Archive.gcc.post.rules
-
diff --git a/TAO/CIAO/CCF/External/Utility/Config/Archive.pre.rules b/TAO/CIAO/CCF/External/Utility/Config/Archive.pre.rules
deleted file mode 100644
index 17004f6df75..00000000000
--- a/TAO/CIAO/CCF/External/Utility/Config/Archive.pre.rules
+++ /dev/null
@@ -1,7 +0,0 @@
-# file : Config/Archive.pre.rules
-# author : Boris Kolpackov <boris@kolpackov.net>
-# copyright : Copyright (c) 2002-2003 Boris Kolpackov
-# license : http://kolpackov.net/license.html
-
-include $(root)/Config/Archive.gcc.pre.rules
-
diff --git a/TAO/CIAO/CCF/External/Utility/Config/Documentation.post.rules b/TAO/CIAO/CCF/External/Utility/Config/Documentation.post.rules
deleted file mode 100644
index a4b69a2debe..00000000000
--- a/TAO/CIAO/CCF/External/Utility/Config/Documentation.post.rules
+++ /dev/null
@@ -1,35 +0,0 @@
-# file : Config/Documentation.post.rules
-# author : Boris Kolpackov <boris@kolpackov.net>
-# copyright : Copyright (c) 2002-2003 Boris Kolpackov
-# license : http://kolpackov.net/license.html
-
-#
-# Note: normally you wouldn't want to change anything below.
-#
-
-#
-# Pattern rules catalog.
-# {
-
-# Defined pattern rule to build .hpp.html from .hpp
-%.html : %
- $(DOC) $(DOC_FLAGS) -o $@ $<
-
-# }
-
-# The following rule will inhibit treatment of documentation as
-# default target.
-.PHONY : all
-all: ;@:
-
-.PHONY : documentation
-documentation : $(patsubst %,%.html,$(doc_translation_units))
-
-# Defines a phony target to clean all what's been generated
-.PHONY : clean
-clean :
- -rm -f $(patsubst %,%.html,$(doc_translation_units))
-
-# The following catch-all rule will skip unknown targets
-%:: ;@:
-
diff --git a/TAO/CIAO/CCF/External/Utility/Config/Documentation.pre.rules b/TAO/CIAO/CCF/External/Utility/Config/Documentation.pre.rules
deleted file mode 100644
index 6d89b37ffda..00000000000
--- a/TAO/CIAO/CCF/External/Utility/Config/Documentation.pre.rules
+++ /dev/null
@@ -1,17 +0,0 @@
-# file : Config/Documentation.pre.rules
-# author : Boris Kolpackov <boris@kolpackov.net>
-# copyright : Copyright (c) 2002-2003 Boris Kolpackov
-# license : http://kolpackov.net/license.html
-
-# Forces make to delete targets whos rebuild commands failed but
-# updated the target.
-.DELETE_ON_ERROR:
-
-# Empties the suffix list for which old-fassion implicit rules would
-# be used. The net effect is that all predefined implicit rules are
-# disabled now.
-.SUFFIXES:
-
-DOC ?= cpp_to_html
-CXX_FLAGS :=
-
diff --git a/TAO/CIAO/CCF/External/Utility/Config/Executable.gcc.post.rules b/TAO/CIAO/CCF/External/Utility/Config/Executable.gcc.post.rules
deleted file mode 100644
index 548b2737661..00000000000
--- a/TAO/CIAO/CCF/External/Utility/Config/Executable.gcc.post.rules
+++ /dev/null
@@ -1,49 +0,0 @@
-# file : Config/Executable.gcc.post.rules
-# author : Boris Kolpackov <boris@kolpackov.net>
-# copyright : Copyright (c) 2002-2003 Boris Kolpackov
-# license : http://kolpackov.net/license.html
-
-#
-# Note: normally you wouldn't want to change anything below.
-#
-
-FULL_MODULE_PREFIX := $(MODULE_PREFIX)$(module_prefix)
-FULL_MODULE_SUFFIX := $(module_suffix)$(MODULE_SUFFIX)
-MODULE := $(FULL_MODULE_PREFIX)$(module_base)$(FULL_MODULE_SUFFIX)
-
-#
-# Pattern rules catalog.
-# {
-
-# Defined pattern rule to build .o from .cpp
-%.o : %.cpp
- $(CXX) $(CXX_PREPROCESS_FLAGS) $(CXX_COMPILE_FLAGS) -MD -MP -MT $(@:.o=.d) -MF $(@:.o=.d) -c $< -o $@
-
-# Defines pattern rule to build <module> from <module>.o
-$(MODULE_PREFIX)$(module_prefix)%$(module_suffix)$(MODULE_SUFFIX) : %.o
- $(CXX) $(CXX_LINK_FLAGS) -o $@ $^ $(CXX_LINK_LIBS)
-
-# }
-
-# Defines the rule to build module from tarnslated c++ translation units.
-$(MODULE) : $(cxx_translation_units:.cpp=.o)
-
-# Defines a phony target to clean all what's been generated
-.PHONY : clean
-clean :
- -rm -f $(cxx_translation_units:.cpp=.o)
- -rm -f $(cxx_translation_units:.cpp=.d)
- -rm -f $(MODULE)
- -rm -f *~
-
-# Define a phony target to invoke the test driver.
-.PHONY : test
-test : $(MODULE)
- ./$(MODULE)
-
-# Include dependencies for c++ translation units.
--include $(cxx_translation_units:.cpp=.d)
-
-# The following catch-all rule will skip unknown targets
-%:: ;@:
-
diff --git a/TAO/CIAO/CCF/External/Utility/Config/Executable.gcc.pre.rules b/TAO/CIAO/CCF/External/Utility/Config/Executable.gcc.pre.rules
deleted file mode 100644
index 770e19f3dc9..00000000000
--- a/TAO/CIAO/CCF/External/Utility/Config/Executable.gcc.pre.rules
+++ /dev/null
@@ -1,25 +0,0 @@
-# file : Config/Executable.gcc.pre.rules
-# author : Boris Kolpackov <boris@kolpackov.net>
-# copyright : Copyright (c) 2002-2003 Boris Kolpackov
-# license : http://kolpackov.net/license.html
-
-# Forces make to delete targets whos rebuild commands failed but
-# updated the target.
-.DELETE_ON_ERROR:
-
-# Empties the suffix list for which old-fassion implicit rules would
-# be used. The net effect is that all predefined implicit rules are
-# disabled now.
-.SUFFIXES:
-
-CXX ?= g++
-
-CXX_PREPROCESS_FLAGS :=
-CXX_COMPILE_FLAGS := -Wall
-CXX_LINK_FLAGS :=
-CXX_LINK_LIBS :=
-
-
-MODULE_PREFIX :=
-MODULE_SUFFIX :=
-
diff --git a/TAO/CIAO/CCF/External/Utility/Config/Executable.generic.post.rules b/TAO/CIAO/CCF/External/Utility/Config/Executable.generic.post.rules
deleted file mode 100644
index b6947246499..00000000000
--- a/TAO/CIAO/CCF/External/Utility/Config/Executable.generic.post.rules
+++ /dev/null
@@ -1,57 +0,0 @@
-# file : Config/Executable.generic.post.rules
-# author : Boris Kolpackov <boris@kolpackov.net>
-# copyright : Copyright (c) 2002-2003 Boris Kolpackov
-# license : http://kolpackov.net/license.html
-
-#
-# Note: normally you wouldn't want to change anything below.
-#
-
-FULL_MODULE_PREFIX := $(MODULE_PREFIX)$(module_prefix)
-FULL_MODULE_SUFFIX := $(module_suffix)$(MODULE_SUFFIX)
-MODULE := $(FULL_MODULE_PREFIX)$(module_base)$(FULL_MODULE_SUFFIX)
-
-#
-# Pattern rules catalog.
-# {
-
-# Defines pattern rule to build .d from .cpp
-%.d: %.cpp
- set -e; $(CXX_DEP) $(CXX_PREPROCESS_FLAGS) $< \
- | sed 's/\($*\)\.o[ :]*/\1.o $@ : /g' > $@; \
- [ -s $@ ] || rm -f $@
-
-
-
-# Defined pattern rule to build .o from .cpp
-%.o : %.cpp
- $(CXX) $(CXX_PREPROCESS_FLAGS) $(CXX_COMPILE_FLAGS) -c $< -o $@
-
-# Defines pattern rule to build <module> from <module>.o
-$(MODULE_PREFIX)$(module_prefix)%$(module_suffix)$(MODULE_SUFFIX) : %.o
- $(CXX) $(CXX_LINK_FLAGS) -o $@ $^ $(CXX_LINK_LIBS)
-
-# }
-
-# Defines the rule to build module from tarnslated c++ translation units.
-$(MODULE) : $(cxx_translation_units:.cpp=.o)
-
-# Defines a phony target to clean all what's been generated
-.PHONY : clean
-clean :
- -rm -f $(cxx_translation_units:.cpp=.o)
- -rm -f $(cxx_translation_units:.cpp=.d)
- -rm -f $(MODULE)
- -rm -f *~
-
-# Define a phony target to invoke the test driver.
-.PHONY : test
-test : $(MODULE)
- ./$(MODULE)
-
-# Include dependencies for c++ translation units.
-# Optimization: if we are cleaning there is no reason to calculate
-# dependencies because they will be removed a second later.
-ifneq ($(MAKECMDGOALS),clean)
- include $(cxx_translation_units:.cpp=.d)
-endif
diff --git a/TAO/CIAO/CCF/External/Utility/Config/Executable.generic.pre.rules b/TAO/CIAO/CCF/External/Utility/Config/Executable.generic.pre.rules
deleted file mode 100644
index 13cb5cdeaf9..00000000000
--- a/TAO/CIAO/CCF/External/Utility/Config/Executable.generic.pre.rules
+++ /dev/null
@@ -1,25 +0,0 @@
-# file : Config/Executable.generic.pre.rules
-# author : Boris Kolpackov <boris@kolpackov.net>
-# copyright : Copyright (c) 2002-2003 Boris Kolpackov
-# license : http://kolpackov.net/license.html
-
-# Forces make to delete targets whos rebuild commands failed but
-# updated the target.
-.DELETE_ON_ERROR:
-
-# Empties the suffix list for which old-fassion implicit rules would
-# be used. The net effect is that all predefined implicit rules are
-# disabled now.
-.SUFFIXES:
-
-CXX ?= g++
-CXX_DEP ?= $(CXX) -M
-
-CXX_PREPROCESS_FLAGS :=
-CXX_COMPILE_FLAGS := -Wall
-CXX_LINK_FLAGS :=
-CXX_LINK_LIBS :=
-
-
-MODULE_PREFIX :=
-MODULE_SUFFIX :=
diff --git a/TAO/CIAO/CCF/External/Utility/Config/Executable.post.rules b/TAO/CIAO/CCF/External/Utility/Config/Executable.post.rules
deleted file mode 100644
index c1850c716ee..00000000000
--- a/TAO/CIAO/CCF/External/Utility/Config/Executable.post.rules
+++ /dev/null
@@ -1,7 +0,0 @@
-# file : Config/Executable.post.rules
-# author : Boris Kolpackov <boris@kolpackov.net>
-# copyright : Copyright (c) 2002-2003 Boris Kolpackov
-# license : http://kolpackov.net/license.html
-
-include $(root)/Config/Executable.gcc.post.rules
-
diff --git a/TAO/CIAO/CCF/External/Utility/Config/Executable.pre.rules b/TAO/CIAO/CCF/External/Utility/Config/Executable.pre.rules
deleted file mode 100644
index 999b6d2c26b..00000000000
--- a/TAO/CIAO/CCF/External/Utility/Config/Executable.pre.rules
+++ /dev/null
@@ -1,7 +0,0 @@
-# file : Config/Executable.pre.rules
-# author : Boris Kolpackov <boris@kolpackov.net>
-# copyright : Copyright (c) 2002-2003 Boris Kolpackov
-# license : http://kolpackov.net/license.html
-
-include $(root)/Config/Executable.gcc.pre.rules
-
diff --git a/TAO/CIAO/CCF/External/Utility/Config/Recursion.post.rules b/TAO/CIAO/CCF/External/Utility/Config/Recursion.post.rules
deleted file mode 100644
index 866ad7a0b64..00000000000
--- a/TAO/CIAO/CCF/External/Utility/Config/Recursion.post.rules
+++ /dev/null
@@ -1,29 +0,0 @@
-# file : Config/Recursion.post.rules
-# author : Boris Kolpackov <boris@kolpackov.net>
-# copyright : Copyright (c) 2002-2003 Boris Kolpackov
-# license : http://kolpackov.net/license.html
-
-.PHONY: $(target_directory_list) $(target_makefile_list)
-
-_submodules:: $(target_directory_list) $(target_makefile_list)
-
-$(target_directory_list):
- $(MAKE) -C $@ $(MAKECMDGOALS)
-
-$(target_makefile_list):
- $(MAKE) --no-print-directory -f $@ $(MAKECMDGOALS)
-
-# These rules keep make from trying to use the match-anything rule below to
-# rebuild the makefiles.
-#
-Makefile : ;
-%.mk :: ;
-%.rules :: ;
-
-
-# Anything we don't know how to build will use this rule. The command is a
-# do-nothing command, but the prerequisites ensure that the appropriate
-# recursive invocations of make will occur.
-#
-% :: $(target_directory_list) $(target_makefile_list) ;
-
diff --git a/TAO/CIAO/CCF/External/Utility/Config/Recursion.pre.rules b/TAO/CIAO/CCF/External/Utility/Config/Recursion.pre.rules
deleted file mode 100644
index 4beffdcb281..00000000000
--- a/TAO/CIAO/CCF/External/Utility/Config/Recursion.pre.rules
+++ /dev/null
@@ -1,11 +0,0 @@
-# file : Config/Recursion.pre.rules
-# author : Boris Kolpackov <boris@kolpackov.net>
-# copyright : Copyright (c) 2002-2003 Boris Kolpackov
-# license : http://kolpackov.net/license.html
-
-.SUFFIXES:
-
-.PHONY: _submodules
-
-_submodules::
-
diff --git a/TAO/CIAO/CCF/External/Utility/Config/Shared.gcc.post.rules b/TAO/CIAO/CCF/External/Utility/Config/Shared.gcc.post.rules
deleted file mode 100644
index e6a67627768..00000000000
--- a/TAO/CIAO/CCF/External/Utility/Config/Shared.gcc.post.rules
+++ /dev/null
@@ -1,45 +0,0 @@
-# file : Config/Shared.gcc.post.rules
-# author : Boris Kolpackov <boris@kolpackov.net>
-# copyright : Copyright (c) 2002-2003 Boris Kolpackov
-# license : http://kolpackov.net/license.html
-
-
-#
-# Note: normally you wouldn't want to change anything below.
-#
-
-FULL_MODULE_PREFIX := $(MODULE_PREFIX)$(module_prefix)
-FULL_MODULE_SUFFIX := $(module_suffix)$(MODULE_SUFFIX)
-MODULE := $(FULL_MODULE_PREFIX)$(module_base)$(FULL_MODULE_SUFFIX)
-
-#
-# Pattern rules catalog.
-# {
-
-# Defined pattern rule to build .o from .cpp
-%.o : %.cpp
- $(CXX) $(CXX_PREPROCESS_FLAGS) $(CXX_COMPILE_FLAGS) -MD -MP -MT $(@:.o=.d) -MF $(@:.o=.d) -c $< -o $@
-
-# Defines pattern rule to build <module> from <module>.o
-$(MODULE_PREFIX)$(module_prefix)%$(module_suffix)$(MODULE_SUFFIX) : %.o
- $(CXX) $(CXX_LINK_FLAGS) -o $@ $^ $(CXX_LINK_LIBS)
-
-# }
-
-# Defines the rule to build module from tarnslated c++ translation units.
-$(MODULE) : $(cxx_translation_units:.cpp=.o)
-
-# Defines a phony target to clean all what's been generated
-.PHONY : clean
-clean :
- -rm -f $(cxx_translation_units:.cpp=.o)
- -rm -f $(cxx_translation_units:.cpp=.d)
- -rm -f $(MODULE)
- -rm -f *~
-
-# Include dependencies for c++ translation units.
--include $(cxx_translation_units:.cpp=.d)
-
-
-# The following catch-all rule will skip unknown targets
-%:: ;@:
diff --git a/TAO/CIAO/CCF/External/Utility/Config/Shared.gcc.pre.rules b/TAO/CIAO/CCF/External/Utility/Config/Shared.gcc.pre.rules
deleted file mode 100644
index b8c83c14c23..00000000000
--- a/TAO/CIAO/CCF/External/Utility/Config/Shared.gcc.pre.rules
+++ /dev/null
@@ -1,25 +0,0 @@
-# file : Config/Shared.gcc.pre.rules
-# author : Boris Kolpackov <boris@kolpackov.net>
-# copyright : Copyright (c) 2002-2003 Boris Kolpackov
-# license : http://kolpackov.net/license.html
-
-# Forces make to delete targets whos rebuild commands failed but
-# updated the target.
-.DELETE_ON_ERROR:
-
-# Empties the suffix list for which old-fassion implicit rules would
-# be used. The net effect is that all predefined implicit rules are
-# disabled now.
-.SUFFIXES:
-
-CXX ?= g++
-CXX_DEP ?= $(CXX) -M
-
-CXX_PREPROCESS_FLAGS :=
-CXX_COMPILE_FLAGS := -fPIC -Wall
-CXX_LINK_FLAGS := -shared
-CXX_LINK_LIBS :=
-
-
-MODULE_PREFIX := lib
-MODULE_SUFFIX := .so
diff --git a/TAO/CIAO/CCF/External/Utility/Config/Shared.generic.post.rules b/TAO/CIAO/CCF/External/Utility/Config/Shared.generic.post.rules
deleted file mode 100644
index d21cd0e5840..00000000000
--- a/TAO/CIAO/CCF/External/Utility/Config/Shared.generic.post.rules
+++ /dev/null
@@ -1,53 +0,0 @@
-# file : Config/Shared.generic.post.rules
-# author : Boris Kolpackov <boris@kolpackov.net>
-# copyright : Copyright (c) 2002-2003 Boris Kolpackov
-# license : http://kolpackov.net/license.html
-
-
-#
-# Note: normally you wouldn't want to change anything below.
-#
-
-FULL_MODULE_PREFIX := $(MODULE_PREFIX)$(module_prefix)
-FULL_MODULE_SUFFIX := $(module_suffix)$(MODULE_SUFFIX)
-MODULE := $(FULL_MODULE_PREFIX)$(module_base)$(FULL_MODULE_SUFFIX)
-
-#
-# Pattern rules catalog.
-# {
-
-# Defines pattern rule to build .d from .cpp
-%.d: %.cpp
- set -e; $(CXX_DEP) $(CXX_PREPROCESS_FLAGS) $< \
- | sed 's/\($*\)\.o[ :]*/\1.o $@ : /g' > $@; \
- [ -s $@ ] || rm -f $@
-
-
-
-# Defined pattern rule to build .o from .cpp
-%.o : %.cpp
- $(CXX) $(CXX_PREPROCESS_FLAGS) $(CXX_COMPILE_FLAGS) -c $< -o $@
-
-# Defines pattern rule to build <module> from <module>.o
-$(MODULE_PREFIX)$(module_prefix)%$(module_suffix)$(MODULE_SUFFIX) : %.o
- $(CXX) $(CXX_LINK_FLAGS) -o $@ $^ $(CXX_LINK_LIBS)
-
-# }
-
-# Defines the rule to build module from tarnslated c++ translation units.
-$(MODULE) : $(cxx_translation_units:.cpp=.o)
-
-# Defines a phony target to clean all what's been generated
-.PHONY : clean
-clean :
- -rm -f $(cxx_translation_units:.cpp=.o)
- -rm -f $(cxx_translation_units:.cpp=.d)
- -rm -f $(MODULE)
- -rm -f *~
-
-# Include dependencies for c++ translation units.
-# Optimization: if we are cleaning there is no reason to calculate
-# dependencies because they will be removed a second later.
-ifneq ($(MAKECMDGOALS),clean)
- include $(cxx_translation_units:.cpp=.d)
-endif
diff --git a/TAO/CIAO/CCF/External/Utility/Config/Shared.generic.pre.rules b/TAO/CIAO/CCF/External/Utility/Config/Shared.generic.pre.rules
deleted file mode 100644
index 71fe4be0eb4..00000000000
--- a/TAO/CIAO/CCF/External/Utility/Config/Shared.generic.pre.rules
+++ /dev/null
@@ -1,25 +0,0 @@
-# file : Config/Shared.generic.pre.rules
-# author : Boris Kolpackov <boris@kolpackov.net>
-# copyright : Copyright (c) 2002-2003 Boris Kolpackov
-# license : http://kolpackov.net/license.html
-
-# Forces make to delete targets whos rebuild commands failed but
-# updated the target.
-.DELETE_ON_ERROR:
-
-# Empties the suffix list for which old-fassion implicit rules would
-# be used. The net effect is that all predefined implicit rules are
-# disabled now.
-.SUFFIXES:
-
-CXX ?= g++
-
-CXX_PREPROCESS_FLAGS :=
-CXX_COMPILE_FLAGS := -fPIC -Wall
-CXX_LINK_FLAGS := -shared
-CXX_LINK_LIBS :=
-
-
-MODULE_PREFIX := lib
-MODULE_SUFFIX := .so
-
diff --git a/TAO/CIAO/CCF/External/Utility/Config/Shared.post.rules b/TAO/CIAO/CCF/External/Utility/Config/Shared.post.rules
deleted file mode 100644
index 0e00b9333a6..00000000000
--- a/TAO/CIAO/CCF/External/Utility/Config/Shared.post.rules
+++ /dev/null
@@ -1,7 +0,0 @@
-# file : Config/Shared.post.rules
-# author : Boris Kolpackov <boris@kolpackov.net>
-# copyright : Copyright (c) 2002-2003 Boris Kolpackov
-# license : http://kolpackov.net/license.html
-
-include $(root)/Config/Shared.gcc.post.rules
-
diff --git a/TAO/CIAO/CCF/External/Utility/Config/Shared.pre.rules b/TAO/CIAO/CCF/External/Utility/Config/Shared.pre.rules
deleted file mode 100644
index 032730f684a..00000000000
--- a/TAO/CIAO/CCF/External/Utility/Config/Shared.pre.rules
+++ /dev/null
@@ -1,7 +0,0 @@
-# file : Config/Shared.pre.rules
-# author : Boris Kolpackov <boris@kolpackov.net>
-# copyright : Copyright (c) 2002-2003 Boris Kolpackov
-# license : http://kolpackov.net/license.html
-
-include $(root)/Config/Shared.gcc.pre.rules
-
diff --git a/TAO/CIAO/CCF/External/Utility/Config/Thoughts b/TAO/CIAO/CCF/External/Utility/Config/Thoughts
deleted file mode 100644
index ffdd383d5fd..00000000000
--- a/TAO/CIAO/CCF/External/Utility/Config/Thoughts
+++ /dev/null
@@ -1,54 +0,0 @@
-
-Makefile variable naming style.
-
-* Each target is usually invoking one or more commands of the following type:
-
- (1) translator which translates target's prerequsites to target(s)
-
- (2) arbitrary command which doesn't create target (aka PHONY targets)
-
-Examples of type (1) are:
-
- - translation of c++ source to object code
-
- - translation of object code to executable/shared
-
-Examples of type (2) are:
-
- - test: terget
-
- - clean: target
-
-
-Some properties of these types of targets:
-
- (1) - usually implemented as an implicit rule
-
- - sometimes the same program is used as two separate translators
- (e.g. CXX is used as a compiler and as a linker)
-
-
-
- (2) - seldom (never?) implemented as an implicit rule
-
-
-
-Approach #1
-
-For type (1) name is derived from the translator's name e.g.
-
-CXX_COMPILE_FLAGS
-CXX_PREPROCESS_FLAGS
-CXX_LINK_FLAGS
-CXX_LINK_LIBS
-
-CC_
-LD_
-
-
-For type (2) name is derived from the target's name e.g.
-
-TEST_FLAGS
-CLEAN_FLAGS
-INSTALL_FLAGS
-
diff --git a/TAO/CIAO/CCF/External/Utility/Documentation/Build.html b/TAO/CIAO/CCF/External/Utility/Documentation/Build.html
deleted file mode 100644
index 5fa22bece31..00000000000
--- a/TAO/CIAO/CCF/External/Utility/Documentation/Build.html
+++ /dev/null
@@ -1,99 +0,0 @@
-<!--
-$Id$
--->
-
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-
-<!--
-
-file : Documentation/Build.html
-author : Boris Kolpackov <boris@dre.vanderbilt.edu>
--->
-
-<html>
-
-<head>
-
- <title>Building CCF</title>
-
- <meta name="author" content="Boris Kolpackov"/>
- <meta name="keywords" content="build,compile,make,CCF,CORBA,compiler,framework,library"/>
- <meta name="description" content="CCF building instructions"/>
- <meta http-equiv="Content-Language" content="en"/>
-
- <style type="text/css">
- body {
- font-family : arial,sans-serif;
- font-size : 10pt;
- }
-
- h1 {
- font-size : 12pt;
- }
-
- </style>
-
-</head>
-
-<body>
-
-<div align="center">
-<table width="700" border="0" cellspacing="0" cellpadding="0">
-<tr>
-<td>
-
-<h1>Prerequisites</h1>
-
-<p>
-In order to build CCF you will need a standard-conformant C++ compiler.
-Currently you can expect CCF to compile fine with
-<a href="http://gcc.gnu.org">GCC</a> and having work-around
-patch<sup><a href="#sup-1">1</a></sup> applied with
-<a href="http://microsoft.com">MS VC7.1</a>.
-<p>
-
-<p>
-CCF uses a number of libraries from <a href="http://boost.org">boost</a>.
-So if you don't have it installed yet then you will need to
-<a href="http://boost.org/more/download.html">download and build boost</a>.
-In particular <code>boost::filesystem</code> and <code>boost::regex</code>
-are used by CCF and require building. So if you don't want to build what
-you don't need then you may just build those two libraries.
-</p>
-
-<p>
-If you are going to use a Makefile build then you will also need
-<a href="http://gnu.org/software/make">GNU make</a>.
-</p>
-
-<h1>Building with VC7.1</h1>
-<p>
-In order to build CCF with VC7.1 you will need to add boost include and
-library paths to your search path. After having that done you can open
-MSVC solution file in <code>CCF/CCF/</code> and proceed as usual.
-</p>
-
-<h1>Building with Makefiles</h1>
-<p>
-Before you run <code>make</code> you will need to create a soft link in
-<code>CCF/External/</code> with name <code>boost</code> to point to
-your boost directory. Also inside the boost distribution you will need
-to create directory <code>lib</code> and copy (or soft link)
-<code>libboost_filesystem.a</code> and <code>libboost_regex.a</code> into it.
-After having all this set you can run <code>make</code> in <code>CCF/</code>
-to build all libraries, tests and examples. By default compiler with name
-<code>g++</code> will be used. You can change this by setting environment
-variable <code>CXX</code> to whatever compiler you prefer.
-</p>
-
-<hr size="1" />
-<a name="sup-1">1.</a> If you got CCF as part of ACE+TAO source code then
-all compatibility patches are already applied.
-
-</td>
-</tr>
-</table>
-</div>
-</body>
-</html>
diff --git a/TAO/CIAO/CCF/External/Utility/Documentation/ExH/Example/Makefile b/TAO/CIAO/CCF/External/Utility/Documentation/ExH/Example/Makefile
deleted file mode 100644
index f76e88812ce..00000000000
--- a/TAO/CIAO/CCF/External/Utility/Documentation/ExH/Example/Makefile
+++ /dev/null
@@ -1,24 +0,0 @@
-# $Id$
-# file : Documentation/ExH/Example/Makefile
-# author : Boris Kolpackov <boris@kolpackov.net>
-# copyright : Copyright (c) 2002-2003 Boris Kolpackov
-# license : http://kolpackov.net/license.html
-
-root := ../../..
-
-include $(root)/Config/Documentation.pre.rules
-
-vpath %.cpp $(root)/Example/ExH/BadCast
-vpath %.cpp $(root)/Example/ExH/Compound
-vpath %.cpp $(root)/Example/ExH/HelloWorld
-vpath %.cpp $(root)/Example/ExH/LogicToSystem
-
-doc_translation_units := bad_cast.cpp \
- compound.cpp \
- hello_world.cpp \
- logic_to_system.cpp
-
-DOC_FLAGS := -css $(root)/Documentation/Style/CXX.css
-
-include $(root)/Config/Documentation.post.rules
-
diff --git a/TAO/CIAO/CCF/External/Utility/Documentation/ExH/Logic/Makefile b/TAO/CIAO/CCF/External/Utility/Documentation/ExH/Logic/Makefile
deleted file mode 100644
index 2d7a2213ae4..00000000000
--- a/TAO/CIAO/CCF/External/Utility/Documentation/ExH/Logic/Makefile
+++ /dev/null
@@ -1,18 +0,0 @@
-# $Id$
-# file : Documentation/ExH/Logic/Makefile
-# author : Boris Kolpackov <boris@kolpackov.net>
-# copyright : Copyright (c) 2002-2003 Boris Kolpackov
-# license : http://kolpackov.net/license.html
-
-root := ../../..
-
-include $(root)/Config/Documentation.pre.rules
-
-vpath %.hpp $(root)/Utility/ExH/Logic
-
-doc_translation_units := Exception.hpp DescriptiveException.hpp
-
-DOC_FLAGS := --strip-preprocessor -css $(root)/Documentation/Style/CXX.css
-
-include $(root)/Config/Documentation.post.rules
-
diff --git a/TAO/CIAO/CCF/External/Utility/Documentation/ExH/Makefile b/TAO/CIAO/CCF/External/Utility/Documentation/ExH/Makefile
deleted file mode 100644
index 6d84c4bee2b..00000000000
--- a/TAO/CIAO/CCF/External/Utility/Documentation/ExH/Makefile
+++ /dev/null
@@ -1,14 +0,0 @@
-# $Id$
-# file : Documentation/ExH/Makefile
-# author : Boris Kolpackov <boris@kolpackov.net>
-# copyright : Copyright (c) 2002-2003 Boris Kolpackov
-# license : http://kolpackov.net/license.html
-
-root := ../..
-
-include $(root)/Config/Recursion.pre.rules
-
-target_makefile_list := Makefile.documentation
-target_directory_list := Logic System Example
-
-include $(root)/Config/Recursion.post.rules
diff --git a/TAO/CIAO/CCF/External/Utility/Documentation/ExH/Makefile.documentation b/TAO/CIAO/CCF/External/Utility/Documentation/ExH/Makefile.documentation
deleted file mode 100644
index b9c4cf8845e..00000000000
--- a/TAO/CIAO/CCF/External/Utility/Documentation/ExH/Makefile.documentation
+++ /dev/null
@@ -1,18 +0,0 @@
-# $Id$
-# file : Documentation/ExH/Make.doc.mk
-# author : Boris Kolpackov <boris@kolpackov.net>
-# copyright : Copyright (c) 2002-2003 Boris Kolpackov
-# license : http://kolpackov.net/license.html
-
-root := ../..
-
-include $(root)/Config/Documentation.pre.rules
-
-vpath %.hpp $(root)/Utility/ExH
-
-doc_translation_units := Compound.hpp
-
-DOC_FLAGS := --strip-preprocessor -css $(root)/Documentation/Style/CXX.css
-
-include $(root)/Config/Documentation.post.rules
-
diff --git a/TAO/CIAO/CCF/External/Utility/Documentation/ExH/News.html b/TAO/CIAO/CCF/External/Utility/Documentation/ExH/News.html
deleted file mode 100644
index c2c6df5519e..00000000000
--- a/TAO/CIAO/CCF/External/Utility/Documentation/ExH/News.html
+++ /dev/null
@@ -1,60 +0,0 @@
-<!--
-// $Id$
--->
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-
-<!--
-
-file : Documentation/ExH/News.html
-author : Boris Kolpackov <boris@kolpackov.net>
-copyright : Copyright (c) 2003 Boris Kolpackov
-license : http://kolpackov.net/license.html
-
--->
-
-<html>
-
-<head>
-
- <title>ExH library news</title>
-
- <meta name="author" content="Boris Kolpackov"/>
- <meta name="copyright" content="&copy; 2001-2003 Boris Kolpackov"/>
- <meta name="keywords" content="news,C++,exception,handling,model"/>
- <meta name="description" content="ExH library news"/>
- <meta http-equiv="Content-Language" content="en"/>
-
- <style type="text/css">
- body {
- font-family : arial,sans-serif;
- font-size : 10pt;
- }
-
- h1 {
- font-size : 12pt;
- }
-
- </style>
-
-</head>
-
-<body>
-
-<div align="center">
-<table width="700" border="0" cellspacing="0" cellpadding="0">
-<tr>
-<td>
-
-<h1>1.1.0</h1>
-<ul>
- <li><p>New and complete test coverage</p></li>
-</ul>
-
-
-</td>
-</tr>
-</table>
-</div>
-</body>
-</html>
diff --git a/TAO/CIAO/CCF/External/Utility/Documentation/ExH/System/Makefile b/TAO/CIAO/CCF/External/Utility/Documentation/ExH/System/Makefile
deleted file mode 100644
index 0966c220c8f..00000000000
--- a/TAO/CIAO/CCF/External/Utility/Documentation/ExH/System/Makefile
+++ /dev/null
@@ -1,18 +0,0 @@
-# $Id$
-# file : Documentation/ExH/System/Makefile
-# author : Boris Kolpackov <boris@kolpackov.net>
-# copyright : Copyright (c) 2002-2003 Boris Kolpackov
-# license : http://kolpackov.net/license.html
-
-root := ../../..
-
-include $(root)/Config/Documentation.pre.rules
-
-vpath %.hpp $(root)/Utility/ExH/System
-
-doc_translation_units := Exception.hpp DescriptiveException.hpp
-
-DOC_FLAGS := --strip-preprocessor -css $(root)/Documentation/Style/CXX.css
-
-include $(root)/Config/Documentation.post.rules
-
diff --git a/TAO/CIAO/CCF/External/Utility/Documentation/ExH/index.html b/TAO/CIAO/CCF/External/Utility/Documentation/ExH/index.html
deleted file mode 100644
index 6ef8e522593..00000000000
--- a/TAO/CIAO/CCF/External/Utility/Documentation/ExH/index.html
+++ /dev/null
@@ -1,80 +0,0 @@
-<!--
-// $Id$
--->
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-
-<!--
-
-file : Documentation/ExH/index.html
-author : Boris Kolpackov <boris@kolpackov.net>
-copyright : Copyright (c) 2003 Boris Kolpackov
-license : http://kolpackov.net/license.html
-
--->
-
-<html>
-
-<head>
-
- <title>Utility::ExH</title>
-
- <meta name="author" content="Boris Kolpackov"/>
- <meta name="copyright" content="&copy; 2001-2003 Boris Kolpackov"/>
- <meta name="keywords" content="C++,utility,exception,handling,model,ExH"/>
- <meta name="description" content="Utility::ExH"/>
- <meta http-equiv="Content-Language" content="en"/>
-
- <style type="text/css">
- body {
- font-family : arial,sans-serif;
- font-size : 10pt;
- }
-
- h1 {
- font-size : 12pt;
- }
-
-</style>
-
-</head>
-
-<body>
-
-<div align="center">
-<table width="700" border="0" cellspacing="0" cellpadding="0">
-<tr>
-<td>
-
-
-<H1>Utility::ExH</H1>
-
-<p>
-Exception Handling library was designed to promote consistent usage of
-exceptions and exception handling mechanisms throughout the project.
-For a quick overview of the basic idea you may want to look at these
-examples:</p>
-
-<blockquote>
- <p><a href="Example/bad_cast.cpp.html">bad_cast.cpp</a></p>
- <p><a href="Example/compound.cpp.html">compound.cpp</a></p>
- <p><a href="Example/hello_world.cpp.html">hello_world.cpp</a></p>
- <p><a href="Example/logic_to_system.cpp.html">logic_to_system.cpp</a></p>
-</blockquote>
-
-<p>Here are the definitions of the main blocks of the model:</p>
-
-<blockquote>
- <p><a href="Compound.hpp.html">ExH::Compound</a></p>
- <p><a href="System/Exception.hpp.html">ExH::System::Exception</a></p>
- <p><a href="System/DescriptiveException.hpp.html">ExH::System::DescriptiveException</a></p>
- <p><a href="Logic/Exception.hpp.html">ExH::Logic::Exception</a></p>
- <p><a href="Logic/DescriptiveException.hpp.html">ExH::Logic::DescriptiveException</a></p>
-</blockquote>
-
-</td>
-</tr>
-</table>
-</div>
-</body>
-</html>
diff --git a/TAO/CIAO/CCF/External/Utility/Documentation/Makefile b/TAO/CIAO/CCF/External/Utility/Documentation/Makefile
deleted file mode 100644
index f37e9b02bc0..00000000000
--- a/TAO/CIAO/CCF/External/Utility/Documentation/Makefile
+++ /dev/null
@@ -1,14 +0,0 @@
-# $Id$
-# file : Documentation/Makefile
-# author : Boris Kolpackov <boris@kolpackov.net>
-# copyright : Copyright (c) 2002-2003 Boris Kolpackov
-# license : http://kolpackov.net/license.html
-
-root := ..
-
-include $(root)/Config/Recursion.pre.rules
-
-target_makefile_list :=
-target_directory_list := ExH ReferenceCounting Synch
-
-include $(root)/Config/Recursion.post.rules
diff --git a/TAO/CIAO/CCF/External/Utility/Documentation/News.html b/TAO/CIAO/CCF/External/Utility/Documentation/News.html
deleted file mode 100644
index 9c6cacdb2ce..00000000000
--- a/TAO/CIAO/CCF/External/Utility/Documentation/News.html
+++ /dev/null
@@ -1,69 +0,0 @@
-<!--
-// $Id$
--->
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-
-<!--
-
-file : Documentation/News.html
-author : Boris Kolpackov <boris@kolpackov.net>
-copyright : Copyright (c) 2003 Boris Kolpackov
-license : http://kolpackov.net/license.html
-
--->
-
-<html>
-
-<head>
-
- <title>Utility library news</title>
-
- <meta name="author" content="Boris Kolpackov"/>
- <meta name="copyright" content="&copy; 2001-2003 Boris Kolpackov"/>
- <meta name="keywords" content="news,C++,utility,exception,handling,model,reference,counting,thread,synchronization"/>
- <meta name="description" content="Utility library news"/>
- <meta http-equiv="Content-Language" content="en"/>
-
- <style type="text/css">
- body {
- font-family : arial,sans-serif;
- font-size : 10pt;
- }
-
- h1 {
- font-size : 12pt;
- }
-
- </style>
-
-</head>
-
-<body>
-
-<div align="center">
-<table width="700" border="0" cellspacing="0" cellpadding="0">
-<tr>
-<td>
-
-<p>Sub-library news:</p>
-
-<blockquote>
- <p><a href="ExH/News.html">Exception Handling Library News</a></p>
- <p><a href="ReferenceCounting/News.html">Reference Counting Library News</a></p>
- <p><a href="Synch/News.html">Synchronization Library News</a></p>
-</blockquote>
-
-<h1>1.1.0</h1>
-<ul>
- <li><p>New directory structure</p></li>
- <li><p>New dependency generation mechanism</p></li>
- <li><p>Automatic documentation generation (<code>make documentation</code>)</p></li>
-</ul>
-
-</td>
-</tr>
-</table>
-</div>
-</body>
-</html>
diff --git a/TAO/CIAO/CCF/External/Utility/Documentation/ReferenceCounting/Makefile b/TAO/CIAO/CCF/External/Utility/Documentation/ReferenceCounting/Makefile
deleted file mode 100644
index 347833799f5..00000000000
--- a/TAO/CIAO/CCF/External/Utility/Documentation/ReferenceCounting/Makefile
+++ /dev/null
@@ -1,20 +0,0 @@
-# $Id$
-# file : Documentation/ReferenceCounting/Make.doc.mk
-# author : Boris Kolpackov <boris@kolpackov.net>
-# copyright : Copyright (c) 2002-2003 Boris Kolpackov
-# license : http://kolpackov.net/license.html
-
-root := ../..
-
-include $(root)/Config/Documentation.pre.rules
-
-vpath %.hpp $(root)/Utility/ReferenceCounting
-
-doc_translation_units := DefaultImpl.hpp \
- Interface.hpp \
- SmartPtr.hpp \
- StrictPtr.hpp
-
-DOC_FLAGS := --strip-preprocessor -css $(root)/Documentation/Style/CXX.css
-
-include $(root)/Config/Documentation.post.rules
diff --git a/TAO/CIAO/CCF/External/Utility/Documentation/ReferenceCounting/News.html b/TAO/CIAO/CCF/External/Utility/Documentation/ReferenceCounting/News.html
deleted file mode 100644
index a4f84d17afb..00000000000
--- a/TAO/CIAO/CCF/External/Utility/Documentation/ReferenceCounting/News.html
+++ /dev/null
@@ -1,108 +0,0 @@
-<!--
-// $Id$
--->
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-
-<!--
-
-file : Documentation/ReferenceCounting/News.html
-author : Boris Kolpackov <boris@kolpackov.net>
-copyright : Copyright (c) 2003 Boris Kolpackov
-license : http://kolpackov.net/license.html
-
--->
-
-<html>
-
-<head>
-
- <title>ReferenceCounting library news</title>
-
- <meta name="author" content="Boris Kolpackov"/>
- <meta name="copyright" content="&copy; 2001-2003 Boris Kolpackov"/>
- <meta name="keywords" content="news,C++,reference,counting,smart,pointer"/>
- <meta name="description" content="ReferenceCounting library news"/>
- <meta http-equiv="Content-Language" content="en"/>
-
- <style type="text/css">
- body {
- font-family : arial,sans-serif;
- font-size : 10pt;
- }
-
- h1 {
- font-size : 12pt;
- }
-
- </style>
-
-</head>
-
-<body>
-
-<div align="center">
-<table width="700" border="0" cellspacing="0" cellpadding="0">
-<tr>
-<td>
-
-<h1>1.1.0</h1>
-<ul>
- <li><p>New and complete test coverage</p></li>
-
- <li><p>
- <code><a href="SmartPtr.hpp.html">Utility::ReferenceCounting::SmartPtr</a></code>:
- added
- <p><code>
- template&lt;typename Other&gt; SmartPtr (SmartPtr&lt;Other&gt; const&amp;)
- </code></p>
- and
- <p><code>
- template&lt;typename Other&gt; operator= (SmartPtr&lt;Other&gt; const&amp;)
- </code></p>
- </p></li>
-
- <li><p>
- <code><a href="SmartPtr.hpp.html">Utility::ReferenceCounting::SmartPtr</a></code>:
- added
- <p><code>
- typedef T Type;
- </code></p>
- to provide access to underlying type.
- </p></li>
-
- <li><p>
- <code><a href="index.html">Utility::ReferenceCounting</a></code>:
- added
- <p><code>
- template &lt;typename D, typename S&gt;
- D* smart_cast (SmartPtr&lt;S&gt; const&amp;)
- </code></p>
- to provide more convenient <code>dynamic_cast</code> functionality.
- </p></li>
-
- <li><p>
- <code><a href="index.html">Utility::ReferenceCounting</a></code>:
- added
- <p><code>
- template &lt;typename T&gt;
- SmartPtr&lt;T&gt; acquire (T*)
- </code></p>
- </p></li>
-
- <li><p>
- New
- <code><a href="StrictPtr.hpp.html">
- Utility::ReferenceCounting::StrictPtr
- </a></code> automatic pointer.
- </p></li>
-
-</ul>
-
-
-</td>
-</tr>
-</table>
-</div>
-</body>
-</html>
diff --git a/TAO/CIAO/CCF/External/Utility/Documentation/ReferenceCounting/index.html b/TAO/CIAO/CCF/External/Utility/Documentation/ReferenceCounting/index.html
deleted file mode 100644
index d2cbbb10dc0..00000000000
--- a/TAO/CIAO/CCF/External/Utility/Documentation/ReferenceCounting/index.html
+++ /dev/null
@@ -1,82 +0,0 @@
-<!--
-// $Id$
--->
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-
-<!--
-
-file : Documentation/ReferenceCounting/index.html
-author : Boris Kolpackov <boris@kolpackov.net>
-copyright : Copyright (c) 2003 Boris Kolpackov
-license : http://kolpackov.net/license.html
-
--->
-
-<html>
-
-<head>
-
- <title>Utility::ReferenceCounting</title>
-
- <meta name="author" content="Boris Kolpackov"/>
- <meta name="copyright" content="&copy; 2001-2003 Boris Kolpackov"/>
- <meta name="keywords" content="C++,utility,reference,counting"/>
- <meta name="description" content="Utility::ReferenceCounting"/>
- <meta http-equiv="Content-Language" content="en"/>
-
- <style type="text/css">
- body {
- font-family : arial,sans-serif;
- font-size : 10pt;
- }
-
- h1 {
- font-size : 12pt;
- }
-
- </style>
-
-</head>
-
-<body>
-
-<div align="center">
-<table width="700" border="0" cellspacing="0" cellpadding="0">
-<tr>
-<td>
-
-
-<H1>Utility::ReferenceCounting</H1>
-
-<p>ReferenceCounting library provides basic building blocks for
-reference-countable objects. Implementation is modelled after CORBA
-IDL-to-C++ mapping's reference-countable objects and significantly
-extended.
-
-<!--
-For a quick overview of the basic idea you
-may want to look at these examples:</p>
-
-<blockquote>
- <p><a href="Test/DefaultImpl/default_impl.cpp.html">default_impl.cpp</a></p>
- <p><a href="Test/SmartPtr/smart_ptr.cpp.html">smart_ptr.cpp</a></p>
-</blockquote>
--->
-
-<p>Here are the definitions of the key classes:</p>
-
-<blockquote>
- <p><a href="Interface.hpp.html">ReferenceCounting::Interface</a></p>
- <p><a href="DefaultImpl.hpp.html">ReferenceCounting::DefaultImpl</a></p>
- <p><a href="SmartPtr.hpp.html">ReferenceCounting::SmartPtr</a></p>
- <p><a href="StrictPtr.hpp.html">ReferenceCounting::StrictPtr</a></p>
-</blockquote>
-
-</td>
-</tr>
-</table>
-</div>
-</body>
-</html>
-
diff --git a/TAO/CIAO/CCF/External/Utility/Documentation/Style/CXX.css b/TAO/CIAO/CCF/External/Utility/Documentation/Style/CXX.css
deleted file mode 100644
index dc6b4835b64..00000000000
--- a/TAO/CIAO/CCF/External/Utility/Documentation/Style/CXX.css
+++ /dev/null
@@ -1,8 +0,0 @@
-pre { BORDER-RIGHT: gray 1pt solid; PADDING-RIGHT: 2pt; BORDER-TOP: gray 1pt solid; DISPLAY: block; PADDING-LEFT: 2pt; PADDING-BOTTOM: 2pt; MARGIN-LEFT: 32pt; BORDER-LEFT: gray 1pt solid; MARGIN-RIGHT: 32pt; PADDING-TOP: 2pt; BORDER-BOTTOM: gray 1pt solid; FONT-FAMILY: "Courier New", Courier, mono; background-color: #EEEEEE; font-size: small}
-.keyword { color: #000099}
-.identifier { }
-.comment { color: #990000}
-.special { color: #800040}
-.preprocessor { color: #006600}
-.string { color: #666666}
-.number { color: #666666}
diff --git a/TAO/CIAO/CCF/External/Utility/Documentation/Style/CXX_Blue.css b/TAO/CIAO/CCF/External/Utility/Documentation/Style/CXX_Blue.css
deleted file mode 100644
index 88dbe046bc7..00000000000
--- a/TAO/CIAO/CCF/External/Utility/Documentation/Style/CXX_Blue.css
+++ /dev/null
@@ -1,24 +0,0 @@
-pre {
- BORDER-RIGHT: gray 1pt solid;
- PADDING-RIGHT: 2pt;
- BORDER-TOP: gray 1pt solid;
- DISPLAY: block;
- PADDING-LEFT: 2pt;
- PADDING-BOTTOM: 2pt;
- MARGIN-LEFT: 32pt;
- BORDER-LEFT: gray 1pt solid;
- MARGIN-RIGHT: 32pt;
- PADDING-TOP: 2pt;
- BORDER-BOTTOM: gray 1pt solid;
- FONT-FAMILY: "Courier New", Courier, mono; background-color: #191970;
- font-size: small
-}
-
-.keyword { font-weight: bold; color: #afeeee}
-.identifier { color: #98fb98 }
-.comment { color: #add8e6}
-.special { color: #bebebe}
-.preprocessor { color: #7fffd4}
-.string { color: #87cefa}
-.number { color: #bebebe}
-.literal { color: #FF0000}
diff --git a/TAO/CIAO/CCF/External/Utility/Documentation/Synch/Makefile b/TAO/CIAO/CCF/External/Utility/Documentation/Synch/Makefile
deleted file mode 100644
index 63b5c86f113..00000000000
--- a/TAO/CIAO/CCF/External/Utility/Documentation/Synch/Makefile
+++ /dev/null
@@ -1,14 +0,0 @@
-# $Id$
-# file : Documentation/Synch/Makefile
-# author : Boris Kolpackov <boris@kolpackov.net>
-# copyright : Copyright (c) 2002-2003 Boris Kolpackov
-# license : http://kolpackov.net/license.html
-
-root := ../..
-
-include $(root)/Config/Recursion.pre.rules
-
-target_makefile_list :=
-target_directory_list := Policy
-
-include $(root)/Config/Recursion.post.rules
diff --git a/TAO/CIAO/CCF/External/Utility/Documentation/Synch/News.html b/TAO/CIAO/CCF/External/Utility/Documentation/Synch/News.html
deleted file mode 100644
index 7987453a31f..00000000000
--- a/TAO/CIAO/CCF/External/Utility/Documentation/Synch/News.html
+++ /dev/null
@@ -1,60 +0,0 @@
-<!--
-// $Id$
--->
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-
-<!--
-
-file : Documentation/Synch/News.html
-author : Boris Kolpackov <boris@kolpackov.net>
-copyright : Copyright (c) 2003 Boris Kolpackov
-license : http://kolpackov.net/license.html
-
--->
-
-<html>
-
-<head>
-
- <title>Synchronization library news</title>
-
- <meta name="author" content="Boris Kolpackov"/>
- <meta name="copyright" content="&copy; 2001-2003 Boris Kolpackov"/>
- <meta name="keywords" content="news,C++,synchronization,policy,thread"/>
- <meta name="description" content="Synchronization library news"/>
- <meta http-equiv="Content-Language" content="en"/>
-
- <style type="text/css">
- body {
- font-family : arial,sans-serif;
- font-size : 10pt;
- }
-
- h1 {
- font-size : 12pt;
- }
-
- </style>
-
-</head>
-
-<body>
-
-<div align="center">
-<table width="700" border="0" cellspacing="0" cellpadding="0">
-<tr>
-<td>
-
-<h1>1.1.0</h1>
-<ul>
- <li><p>New and complete test coverage</p></li>
-</ul>
-
-
-</td>
-</tr>
-</table>
-</div>
-</body>
-</html>
diff --git a/TAO/CIAO/CCF/External/Utility/Documentation/Synch/Policy/Makefile b/TAO/CIAO/CCF/External/Utility/Documentation/Synch/Policy/Makefile
deleted file mode 100644
index 419f63364e1..00000000000
--- a/TAO/CIAO/CCF/External/Utility/Documentation/Synch/Policy/Makefile
+++ /dev/null
@@ -1,18 +0,0 @@
-# $Id$
-# file : Documentation/Synch/Policy/Makefile
-# author : Boris Kolpackov <boris@kolpackov.net>
-# copyright : Copyright (c) 2002-2003 Boris Kolpackov
-# license : http://kolpackov.net/license.html
-
-root := ../../..
-
-include $(root)/Config/Documentation.pre.rules
-
-vpath %.hpp $(root)/Utility/Synch/Policy
-
-doc_translation_units := Null.hpp
-
-DOC_FLAGS := --strip-preprocessor -css $(root)/Documentation/Style/CXX.css
-
-include $(root)/Config/Documentation.post.rules
-
diff --git a/TAO/CIAO/CCF/External/Utility/Documentation/Synch/index.html b/TAO/CIAO/CCF/External/Utility/Documentation/Synch/index.html
deleted file mode 100644
index 87a7b9086fa..00000000000
--- a/TAO/CIAO/CCF/External/Utility/Documentation/Synch/index.html
+++ /dev/null
@@ -1,70 +0,0 @@
-<!--
-// $Id$
--->
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-
-<!--
-
-file : Documentation/Synch/index.html
-author : Boris Kolpackov <boris@kolpackov.net>
-copyright : Copyright (c) 2003 Boris Kolpackov
-license : http://kolpackov.net/license.html
-
--->
-
-<html>
-
-<head>
-
- <title>Utility::Synch</title>
-
- <meta name="author" content="Boris Kolpackov"/>
- <meta name="copyright" content="&copy; 2001-2003 Boris Kolpackov"/>
- <meta name="keywords" content="C++,utility,thread,synchronization,policy"/>
- <meta name="description" content="Utility::Synch"/>
- <meta http-equiv="Content-Language" content="en"/>
-
- <style type="text/css">
- body {
- font-family : arial,sans-serif;
- font-size : 10pt;
- }
-
- h1 {
- font-size : 12pt;
- }
-
-</style>
-
-</head>
-
-<body>
-
-<div align="center">
-<table width="700" border="0" cellspacing="0" cellpadding="0">
-<tr>
-<td>
-
-<H1>Utility::Synch</H1>
-
-<p>
-Synchronization library provides a compile-time policy-based configurable
-facility of selecting synchronization mechanisms. For now there is only
-no-op synchronization policy provided which is suitable only for
-single-threaded applications. However it shouldn't be difficult to porvide
-a wrapper policy for synchronization mechanisms used in a particular project.
-</p>
-
-<p>Here are the definitions of the key classes:</p>
-
-<blockquote>
- <p><a href="Policy/Null.hpp.html">Synch::Policy::Null</a></p>
-</blockquote>
-
-</td>
-</tr>
-</table>
-</div>
-</body>
-</html>
diff --git a/TAO/CIAO/CCF/External/Utility/Documentation/index.html b/TAO/CIAO/CCF/External/Utility/Documentation/index.html
deleted file mode 100644
index be5667c86f8..00000000000
--- a/TAO/CIAO/CCF/External/Utility/Documentation/index.html
+++ /dev/null
@@ -1,92 +0,0 @@
-<!--
-// $Id$
--->
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-
-<!--
-
-file : Documentation/index.html
-author : Boris Kolpackov <boris@kolpackov.net>
-copyright : Copyright (c) 2003 Boris Kolpackov
-license : http://kolpackov.net/license.html
-
--->
-
-<html>
-
-<head>
-
- <title>Utility library</title>
-
- <meta name="author" content="Boris Kolpackov"/>
- <meta name="copyright" content="&copy; 2001-2003 Boris Kolpackov"/>
- <meta name="keywords" content="C++,utility,exception,handling,model,reference,counting,thread,synchronization"/>
- <meta name="description" content="Utility library"/>
- <meta http-equiv="Content-Language" content="en"/>
-
- <style type="text/css">
- body {
- font-family : arial,sans-serif;
- font-size : 10pt;
- }
-
- h1 {
- font-size : 12pt;
- }
-
- </style>
-
-</head>
-
-<body>
-
-<div align="center">
-<table width="700" border="0" cellspacing="0" cellpadding="0">
-<tr>
-<td>
-
-<p>
-Utility library is a place for generic C++ facilities that I found useful
-in more than one project.
-
-Here you can download the
-<a href="http://kolpackov.net/projects/Utility/Download.html">
-latest version of the library</a>.
-
-Licensing information is provided as a separate page,
-<a href="http://kolpackov.net/license.html">license</a>.
-
-For updates check out <a href="News.html">news section</a>.</p>
-
-<H1>Supported Platforms</H1>
-
-<p>
-For the time being I test Utility library with at least GNU G++ on Linux and
-Compaq (Digital) C++ (-std strict_ansi) on Tru64 UNIX. It also should compile
-and work fine with any decent C++ compiler. Also note that I don't have any
-plans to bloat source code in attempt to support broken compilers.</p>
-
-<H1>How to Build</H1>
-
-<p>
-Utility library itself consists of header and inline files so you don't actually need
-to build anything to start using it. In order to build tests or examples
-you will need at least GNU make.</p>
-
-<H1>Content</H1>
-
-<p>Currently Utility library contains the following sub-libraries:</p>
-
-<blockquote>
- <p><a href="ExH/index.html">Exception Handling Library (Utility::ExH)</a></p>
- <p><a href="ReferenceCounting/index.html">Reference Counting Library (Utility::ReferenceCounting)</a></p>
- <p><a href="Synch/index.html">Synchronization Library (Utility::Synch)</a></p>
-</blockquote>
-
-</td>
-</tr>
-</table>
-</div>
-</body>
-</html>
diff --git a/TAO/CIAO/CCF/External/Utility/Makefile b/TAO/CIAO/CCF/External/Utility/Makefile
deleted file mode 100644
index 1254fd3477f..00000000000
--- a/TAO/CIAO/CCF/External/Utility/Makefile
+++ /dev/null
@@ -1,14 +0,0 @@
-# $Id$
-# file : Makefile
-# author : Boris Kolpackov <boris@kolpackov.net>
-# copyright : Copyright (c) 2002-2003 Boris Kolpackov
-# license : http://kolpackov.net/license.html
-
-root := .
-
-include $(root)/Config/Recursion.pre.rules
-
-target_makefile_list :=
-target_directory_list := Test Example Documentation
-
-include $(root)/Config/Recursion.post.rules
diff --git a/TAO/CIAO/CCF/External/Utility/Utility/ExH/Compound.hpp b/TAO/CIAO/CCF/External/Utility/Utility/ExH/Compound.hpp
deleted file mode 100644
index e0c2487274c..00000000000
--- a/TAO/CIAO/CCF/External/Utility/Utility/ExH/Compound.hpp
+++ /dev/null
@@ -1,42 +0,0 @@
-// file : Utility/ExH/Compound.hpp
-// author : Boris Kolpackov <boris@kolpackov.net>
-// copyright : Copyright (c) 2002-2003 Boris Kolpackov
-// license : http://kolpackov.net/license.html
-
-#ifndef UTILITY_EX_H_COMPOUND_HPP
-#define UTILITY_EX_H_COMPOUND_HPP
-
-namespace Utility
-{
- namespace ExH
- {
- template <typename Type, typename Base>
- class Compound : public virtual Base
- {
- public:
- explicit
- Compound (char const* description) throw ();
-
- template <typename T>
- explicit
- Compound (T const& description) throw ();
-
- Compound (Compound const& src) throw ();
-
- virtual
- ~Compound () throw ();
-
- public:
- Compound&
- operator= (Compound const& src) throw ();
-
- protected:
- Compound () throw ();
- };
- }
-}
-
-#include "Utility/ExH/Compound.tpp"
-
-#endif // UTILITY_EX_H_COMPOUND_HPP
-
diff --git a/TAO/CIAO/CCF/External/Utility/Utility/ExH/Compound.tpp b/TAO/CIAO/CCF/External/Utility/Utility/ExH/Compound.tpp
deleted file mode 100644
index 54122eba980..00000000000
--- a/TAO/CIAO/CCF/External/Utility/Utility/ExH/Compound.tpp
+++ /dev/null
@@ -1,57 +0,0 @@
-// file : Utility/ExH/Compound.tpp
-// author : Boris Kolpackov <boris@kolpackov.net>
-// copyright : Copyright (c) 2002-2003 Boris Kolpackov
-// license : http://kolpackov.net/license.html
-
-#include "Utility/ExH/Converter.hpp"
-
-namespace Utility
-{
- namespace ExH
- {
- // c-tor's & d-tor
- template <typename Type, typename Base>
- Compound<Type, Base>::
- Compound () throw ()
- {
- }
-
- template <typename Type, typename Base>
- Compound<Type, Base>::
- Compound (char const* description) throw ()
- {
- Base::init (description);
- }
-
- template <typename Type, typename Base>
- template <typename T>
- Compound<Type, Base>::
- Compound (T const& description) throw ()
- {
- Base::init (converter<T> (description));
- }
-
- template <typename Type, typename Base>
- Compound<Type, Base>::
- Compound (Compound const& src) throw ()
- {
- Base::init (src.what ());
- }
-
- template <typename Type, typename Base>
- Compound<Type, Base>::
- ~Compound () throw ()
- {
- }
-
- // operator=
-
- template <typename Type, typename Base>
- Compound<Type, Base>& Compound<Type, Base>::
- operator= (Compound const& src) throw ()
- {
- Base::init (src.what ());
- return *this;
- }
- }
-}
diff --git a/TAO/CIAO/CCF/External/Utility/Utility/ExH/Converter.hpp b/TAO/CIAO/CCF/External/Utility/Utility/ExH/Converter.hpp
deleted file mode 100644
index 399c5931fab..00000000000
--- a/TAO/CIAO/CCF/External/Utility/Utility/ExH/Converter.hpp
+++ /dev/null
@@ -1,22 +0,0 @@
-// file : Utility/ExH/Converter.hpp
-// author : Boris Kolpackov <boris@kolpackov.net>
-// copyright : Copyright (c) 2002-2003 Boris Kolpackov
-// license : http://kolpackov.net/license.html
-
-#ifndef UTILITY_EX_H_CONVERTER_HPP
-#define UTILITY_EX_H_CONVERTER_HPP
-
-namespace Utility
-{
- namespace ExH
- {
- template <typename T>
- char const*
- converter (T const& t) throw ();
- }
-}
-
-#include "Utility/ExH/Converter.tpp"
-
-#endif // UTILITY_EX_H_CONVERTER_HPP
-
diff --git a/TAO/CIAO/CCF/External/Utility/Utility/ExH/Converter.tpp b/TAO/CIAO/CCF/External/Utility/Utility/ExH/Converter.tpp
deleted file mode 100644
index 018776cad71..00000000000
--- a/TAO/CIAO/CCF/External/Utility/Utility/ExH/Converter.tpp
+++ /dev/null
@@ -1,19 +0,0 @@
-// file : Utility/ExH/Converter.tpp
-// author : Boris Kolpackov <boris@kolpackov.net>
-// copyright : Copyright (c) 2002-2003 Boris Kolpackov
-// license : http://kolpackov.net/license.html
-
-namespace Utility
-{
- namespace ExH
- {
- template <typename T>
- char const*
- converter (T const& t) throw ()
- {
- // Default implementation just assumes that implicit converion exist.
- return t;
- }
- }
-}
-
diff --git a/TAO/CIAO/CCF/External/Utility/Utility/ExH/ExH.hpp b/TAO/CIAO/CCF/External/Utility/Utility/ExH/ExH.hpp
deleted file mode 100644
index 8e41c822cab..00000000000
--- a/TAO/CIAO/CCF/External/Utility/Utility/ExH/ExH.hpp
+++ /dev/null
@@ -1,22 +0,0 @@
-// file : Utility/ExH/ExH.hpp
-// author : Boris Kolpackov <boris@kolpackov.net>
-// copyright : Copyright (c) 2003 Boris Kolpackov
-// license : http://kolpackov.net/license.html
-
-#ifndef UTILITY_EX_H_EX_H_HPP
-#define UTILITY_EX_H_EX_H_HPP
-
-#include "Utility/ExH/System/Exception.hpp"
-#include "Utility/ExH/System/DescriptiveException.hpp"
-
-#include "Utility/ExH/Logic/Exception.hpp"
-#include "Utility/ExH/Logic/DescriptiveException.hpp"
-
-#include "Utility/ExH/Compound.hpp"
-
-#include "Utility/ExH/Converter.hpp"
-#include "Utility/ExH/StringConverter.hpp"
-#include "Utility/ExH/StringStreamConverter.hpp"
-
-#endif // UTILITY_EX_H_EX_H_HPP
-
diff --git a/TAO/CIAO/CCF/External/Utility/Utility/ExH/Logic/DescriptiveException.hpp b/TAO/CIAO/CCF/External/Utility/Utility/ExH/Logic/DescriptiveException.hpp
deleted file mode 100644
index e7852690ebc..00000000000
--- a/TAO/CIAO/CCF/External/Utility/Utility/ExH/Logic/DescriptiveException.hpp
+++ /dev/null
@@ -1,60 +0,0 @@
-// file : Utility/ExH/Logic/DescriptiveException.hpp
-// author : Boris Kolpackov <boris@kolpackov.net>
-// copyright : Copyright (c) 2002-2003 Boris Kolpackov
-// license : http://kolpackov.net/license.html
-
-#ifndef UTILITY_EX_H_LOGIC_DESCRIPTIVE_EXCEPTION_HPP
-#define UTILITY_EX_H_LOGIC_DESCRIPTIVE_EXCEPTION_HPP
-
-#include <memory>
-#include <string>
-
-
-#include "Utility/ExH/Logic/Exception.hpp"
-
-namespace Utility
-{
- namespace ExH
- {
- namespace Logic
- {
- class DescriptiveException : public virtual Exception
- {
- public:
- explicit
- DescriptiveException (char const* description) throw ();
-
- template <typename T>
- explicit
- DescriptiveException (T const& description) throw ();
-
- DescriptiveException (DescriptiveException const& src) throw ();
-
- virtual
- ~DescriptiveException () throw ();
-
- DescriptiveException&
- operator= (DescriptiveException const& src) throw ();
-
- protected:
- DescriptiveException () throw ();
-
- void
- init (char const* description) throw ();
-
- public:
- virtual char const*
- what () const throw ();
-
- private:
- std::auto_ptr<std::string> description_;
- };
- }
- }
-}
-
-#include "Utility/ExH/Logic/DescriptiveException.ipp"
-
-#endif // UTILITY_EX_H_LOGIC_DESCRIPTIVE_EXCEPTION_HPP
-
-
diff --git a/TAO/CIAO/CCF/External/Utility/Utility/ExH/Logic/DescriptiveException.ipp b/TAO/CIAO/CCF/External/Utility/Utility/ExH/Logic/DescriptiveException.ipp
deleted file mode 100644
index 44cce34f59a..00000000000
--- a/TAO/CIAO/CCF/External/Utility/Utility/ExH/Logic/DescriptiveException.ipp
+++ /dev/null
@@ -1,101 +0,0 @@
-// file : Utility/ExH/Logic/DescriptiveException.ipp
-// author : Boris Kolpackov <boris@kolpackov.net>
-// copyright : Copyright (c) 2002-2003 Boris Kolpackov
-// license : http://kolpackov.net/license.html
-
-#include "Utility/ExH/Converter.hpp"
-
-namespace Utility
-{
- namespace ExH
- {
- namespace Logic
- {
- // c-tor's & d-tor
-
- inline DescriptiveException::
- DescriptiveException () throw ()
- {
- }
-
- inline DescriptiveException::
- DescriptiveException (char const* description) throw ()
- {
- init (description);
- }
-
- template <typename T>
- DescriptiveException::
- DescriptiveException (T const& description) throw ()
- {
- init (converter<T> (description));
- }
-
- inline DescriptiveException::
- DescriptiveException (DescriptiveException const& src) throw ()
- {
- init (src.what ());
- }
-
- inline DescriptiveException::
- ~DescriptiveException () throw ()
- {
- }
-
- inline DescriptiveException& DescriptiveException::
- operator= (DescriptiveException const& src) throw ()
- {
- init (src.what ());
- return *this;
- }
-
-
- // accessors / modifiers
-
- inline void
- DescriptiveException::init (char const* description) throw ()
- {
- try
- {
- if (description == 0 || description[0] == '\0')
- {
- description_.reset (0);
- }
- else
- {
- if (description_.get () != 0)
- {
- *description_ = description;
- }
- else
- {
- description_.reset (new std::string (description));
- }
- }
- }
- catch (...)
- {
- description_.reset (0);
- }
- }
-
- inline char const*
- DescriptiveException::what () const throw ()
- {
- try
- {
- if (description_.get () != 0)
- {
- return description_->c_str ();
- }
- }
- catch (...)
- {
- }
-
- return Exception::what ();
- }
- }
- }
-}
-
diff --git a/TAO/CIAO/CCF/External/Utility/Utility/ExH/Logic/Exception.hpp b/TAO/CIAO/CCF/External/Utility/Utility/ExH/Logic/Exception.hpp
deleted file mode 100644
index 711caea3587..00000000000
--- a/TAO/CIAO/CCF/External/Utility/Utility/ExH/Logic/Exception.hpp
+++ /dev/null
@@ -1,40 +0,0 @@
-// file : Utility/ExH/Logic/Exception.hpp
-// author : Boris Kolpackov <boris@kolpackov.net>
-// copyright : Copyright (c) 2002-2003 Boris Kolpackov
-// license : http://kolpackov.net/license.html
-
-#ifndef UTILITY_EX_H_LOGIC_EXCEPTION_HPP
-#define UTILITY_EX_H_LOGIC_EXCEPTION_HPP
-
-#include "Utility/ExH/System/Exception.hpp"
-
-namespace Utility
-{
- namespace ExH
- {
- namespace Logic
- {
-
- // Logic::Exception inherits from System::Exception for the
- // following reason. Semantically for some part of the
- // system particular instance of Logic::Exception may seem as
- // opaque System::Exception and the only way to handle it would
- // be to propagate it further. In other words Logic::Exception
- // can be seemlesly "converted" to System::Exception if there is
- // no part of the system interested in handling it.
- //
-
- class Exception : public virtual System::Exception
- {
- public:
- virtual
- ~Exception () throw ();
- };
- }
- }
-}
-
-#include "Utility/ExH/Logic/Exception.ipp"
-
-#endif // UTILITY_EX_H_LOGIC_EXCEPTION_HPP
-
diff --git a/TAO/CIAO/CCF/External/Utility/Utility/ExH/Logic/Exception.ipp b/TAO/CIAO/CCF/External/Utility/Utility/ExH/Logic/Exception.ipp
deleted file mode 100644
index 84fc99e8d2c..00000000000
--- a/TAO/CIAO/CCF/External/Utility/Utility/ExH/Logic/Exception.ipp
+++ /dev/null
@@ -1,19 +0,0 @@
-// file : Utility/ExH/Logic/Exception.ipp
-// author : Boris Kolpackov <boris@kolpackov.net>
-// copyright : Copyright (c) 2002-2003 Boris Kolpackov
-// license : http://kolpackov.net/license.html
-
-namespace Utility
-{
- namespace ExH
- {
- namespace Logic
- {
- inline Exception::
- ~Exception () throw ()
- {
- }
- }
- }
-}
-
diff --git a/TAO/CIAO/CCF/External/Utility/Utility/ExH/StringConverter.hpp b/TAO/CIAO/CCF/External/Utility/Utility/ExH/StringConverter.hpp
deleted file mode 100644
index 279ccbfaf60..00000000000
--- a/TAO/CIAO/CCF/External/Utility/Utility/ExH/StringConverter.hpp
+++ /dev/null
@@ -1,26 +0,0 @@
-// file : Utility/ExH/StringConverter.hpp
-// author : Boris Kolpackov <boris@kolpackov.net>
-// copyright : Copyright (c) 2002-2003 Boris Kolpackov
-// license : http://kolpackov.net/license.html
-
-#ifndef UTILITY_EX_H_STRING_CONVERTER_HPP
-#define UTILITY_EX_H_STRING_CONVERTER_HPP
-
-#include <string>
-
-#include "Utility/ExH/Converter.hpp"
-
-namespace Utility
-{
- namespace ExH
- {
- template <>
- char const*
- converter (std::string const& t) throw ();
- }
-}
-
-#include "Utility/ExH/StringConverter.ipp"
-
-#endif // UTILITY_EX_H_STRING_CONVERTER_HPP
-
diff --git a/TAO/CIAO/CCF/External/Utility/Utility/ExH/StringConverter.ipp b/TAO/CIAO/CCF/External/Utility/Utility/ExH/StringConverter.ipp
deleted file mode 100644
index 4703d47da17..00000000000
--- a/TAO/CIAO/CCF/External/Utility/Utility/ExH/StringConverter.ipp
+++ /dev/null
@@ -1,17 +0,0 @@
-// file : Utility/ExH/StringConverter.ipp
-// author : Boris Kolpackov <boris@kolpackov.net>
-// copyright : Copyright (c) 2002-2003 Boris Kolpackov
-// license : http://kolpackov.net/license.html
-
-namespace Utility
-{
- namespace ExH
- {
- template <>
- inline char const*
- converter (std::string const& t) throw ()
- {
- return t.c_str ();
- }
- }
-}
diff --git a/TAO/CIAO/CCF/External/Utility/Utility/ExH/StringStreamConverter.hpp b/TAO/CIAO/CCF/External/Utility/Utility/ExH/StringStreamConverter.hpp
deleted file mode 100644
index 8882bd69690..00000000000
--- a/TAO/CIAO/CCF/External/Utility/Utility/ExH/StringStreamConverter.hpp
+++ /dev/null
@@ -1,26 +0,0 @@
-// file : Utility/ExH/StringStreamConverter.hpp
-// author : Boris Kolpackov <boris@kolpackov.net>
-// copyright : Copyright (c) 2002-2003 Boris Kolpackov
-// license : http://kolpackov.net/license.html
-
-#ifndef UTILITY_EX_H_STRING_STREAM_CONVERTER_HPP
-#define UTILITY_EX_H_STRING_STREAM_CONVERTER_HPP
-
-#include <sstream>
-
-#include "Utility/ExH/Converter.hpp"
-
-namespace Utility
-{
- namespace ExH
- {
- template <>
- char const*
- converter (std::ostringstream const& t) throw ();
- }
-}
-
-#include "Utility/ExH/StringStreamConverter.ipp"
-
-#endif // UTILITY_EX_H_STRING_STREAM_CONVERTER_HPP
-
diff --git a/TAO/CIAO/CCF/External/Utility/Utility/ExH/StringStreamConverter.ipp b/TAO/CIAO/CCF/External/Utility/Utility/ExH/StringStreamConverter.ipp
deleted file mode 100644
index 9c1e7f14489..00000000000
--- a/TAO/CIAO/CCF/External/Utility/Utility/ExH/StringStreamConverter.ipp
+++ /dev/null
@@ -1,19 +0,0 @@
-// file : Utility/ExH/StringStreamConverter.ipp
-// author : Boris Kolpackov <boris@kolpackov.net>
-// copyright : Copyright (c) 2002-2003 Boris Kolpackov
-// license : http://kolpackov.net/license.html
-
-namespace Utility
-{
- namespace ExH
- {
- template <>
- inline char const*
- converter (std::ostringstream const& t) throw ()
- {
- return t.str ().c_str ();
- }
-
- }
-}
-
diff --git a/TAO/CIAO/CCF/External/Utility/Utility/ExH/System/DescriptiveException.hpp b/TAO/CIAO/CCF/External/Utility/Utility/ExH/System/DescriptiveException.hpp
deleted file mode 100644
index 0f58f10f30e..00000000000
--- a/TAO/CIAO/CCF/External/Utility/Utility/ExH/System/DescriptiveException.hpp
+++ /dev/null
@@ -1,58 +0,0 @@
-// file : Utility/ExH/System/DescriptiveException.hpp
-// author : Boris Kolpackov <boris@kolpackov.net>
-// copyright : Copyright (c) 2002-2003 Boris Kolpackov
-// license : http://kolpackov.net/license.html
-
-#ifndef UTILITY_EX_H_SYSTEM_DESCRIPTIVE_EXCEPTION_HPP
-#define UTILITY_EX_H_SYSTEM_DESCRIPTIVE_EXCEPTION_HPP
-
-#include "Utility/ExH/System/Exception.hpp"
-
-namespace Utility
-{
- namespace ExH
- {
- namespace System
- {
- class DescriptiveException : public virtual Exception
- {
- public:
- explicit
- DescriptiveException (char const* description) throw ();
-
- template <typename T>
- explicit
- DescriptiveException (T const& description) throw ();
-
- DescriptiveException (DescriptiveException const& src) throw ();
-
- virtual
- ~DescriptiveException () throw ();
-
- DescriptiveException&
- operator= (DescriptiveException const& src) throw ();
-
- protected:
- DescriptiveException () throw ();
-
- void
- init (char const* description) throw ();
-
- public:
- virtual char const*
- what () const throw ();
-
- private:
-
- static unsigned long const DESCRIPTION_SIZE = 256;
-
- char description_ [DESCRIPTION_SIZE];
- };
- }
- }
-}
-
-#include "Utility/ExH/System/DescriptiveException.ipp"
-
-#endif // UTILITY_EX_H_SYSTEM_DESCRIPTIVE_EXCEPTION_HPP
-
diff --git a/TAO/CIAO/CCF/External/Utility/Utility/ExH/System/DescriptiveException.ipp b/TAO/CIAO/CCF/External/Utility/Utility/ExH/System/DescriptiveException.ipp
deleted file mode 100644
index e35f5aaa60f..00000000000
--- a/TAO/CIAO/CCF/External/Utility/Utility/ExH/System/DescriptiveException.ipp
+++ /dev/null
@@ -1,87 +0,0 @@
-// file : Utility/ExH/System/DescriptiveException.ipp
-// author : Boris Kolpackov <boris@kolpackov.net>
-// copyright : Copyright (c) 2002-2003 Boris Kolpackov
-// license : http://kolpackov.net/license.html
-
-#include <cstring>
-
-#include "Utility/ExH/Converter.hpp"
-
-namespace Utility
-{
- namespace ExH
- {
- namespace System
- {
- // c-tor's & d-tor
-
- inline DescriptiveException::
- DescriptiveException () throw ()
- {
- description_[0] = '\0';
- }
-
- inline DescriptiveException::
- DescriptiveException (char const* description) throw ()
- {
- init (description);
- }
-
- template <typename T>
- inline DescriptiveException::
- DescriptiveException (T const& description) throw ()
- {
- init (converter<T> (description));
- }
-
- inline DescriptiveException::
- DescriptiveException (DescriptiveException const& src) throw ()
- {
- init (src.what ());
- }
-
- inline DescriptiveException::
- ~DescriptiveException () throw ()
- {
- }
-
- inline DescriptiveException& DescriptiveException::
- operator= (DescriptiveException const& src) throw ()
- {
- init (src.what ());
- return *this;
- }
-
-
- // accessors / modifiers
-
- inline void DescriptiveException::
- init (char const* description) throw ()
- {
- if (description != 0)
- {
- std::strncpy (description_, description, DESCRIPTION_SIZE - 1);
- description_[DESCRIPTION_SIZE - 1] = '\0';
- }
- else
- {
- description_[0] = '\0';
- }
- }
-
- inline char const* DescriptiveException::
- what () const throw ()
- {
- if (description_[0] != '\0')
- {
- return description_;
- }
- else
- {
- return Exception::what ();
- }
- }
- }
- }
-}
-
diff --git a/TAO/CIAO/CCF/External/Utility/Utility/ExH/System/Exception.hpp b/TAO/CIAO/CCF/External/Utility/Utility/ExH/System/Exception.hpp
deleted file mode 100644
index 4d074b66c23..00000000000
--- a/TAO/CIAO/CCF/External/Utility/Utility/ExH/System/Exception.hpp
+++ /dev/null
@@ -1,28 +0,0 @@
-// file : Utility/ExH/System/Exception.hpp
-// author : Boris Kolpackov <boris@kolpackov.net>
-// copyright : Copyright (c) 2002-2003 Boris Kolpackov
-// license : http://kolpackov.net/license.html
-
-#ifndef UTILITY_EX_H_SYSTEM_EXCEPTION_HPP
-#define UTILITY_EX_H_SYSTEM_EXCEPTION_HPP
-
-#include <exception>
-
-namespace Utility
-{
- namespace ExH
- {
- namespace System
- {
- // This is the only way to make predefined exceptions like
- // std::bad_alloc, etc to appear in the right place of the hierarchy.
- //
-
- typedef std::exception Exception;
- }
- }
-}
-
-#endif // UTILITY_EX_H_SYSTEM_EXCEPTION_HPP
-
-
diff --git a/TAO/CIAO/CCF/External/Utility/Utility/ReferenceCounting/DefaultImpl.hpp b/TAO/CIAO/CCF/External/Utility/Utility/ReferenceCounting/DefaultImpl.hpp
deleted file mode 100644
index 43277035329..00000000000
--- a/TAO/CIAO/CCF/External/Utility/Utility/ReferenceCounting/DefaultImpl.hpp
+++ /dev/null
@@ -1,95 +0,0 @@
-// file : Utility/ReferenceCounting/DefaultImpl.hpp
-// author : Boris Kolpackov <boris@kolpackov.net>
-// copyright : Copyright (c) 2002-2003 Boris Kolpackov
-// license : http://kolpackov.net/license.html
-
-#ifndef UTILITY_REFERENCE_COUNTING_DEFAULT_IMPL_HPP
-#define UTILITY_REFERENCE_COUNTING_DEFAULT_IMPL_HPP
-
-#include "Utility/ExH/Compound.hpp"
-#include "Utility/ExH/Logic/DescriptiveException.hpp"
-
-#include "Utility/Synch/Policy/Null.hpp"
-
-#include "Utility/ReferenceCounting/Interface.hpp"
-
-namespace Utility
-{
- namespace ReferenceCounting
- {
- // Default reference counter implementation with parameterised
- // synchronization policy. It is assumed that none of the SynchPolicy
- // types throw any logic exceptions. If in fact they do then these
- // exceptions won't be handled and will be automatically converted
- // to system exceptions.
-
- template <typename SynchPolicy = Utility::Synch::Policy::Null>
- class DefaultImpl : public virtual Interface
- {
- public:
- class InconsistentState_ {};
- typedef
- ExH::Compound<InconsistentState_, Exception>
- InconsistentState;
-
- public:
- DefaultImpl () throw (SystemException);
-
- virtual
- ~DefaultImpl () throw ();
-
- public:
- virtual void
- add_ref () const throw (Exception, SystemException);
-
- virtual void
- remove_ref () const throw ();
-
- virtual count_t
- refcount_value () const throw (Exception, SystemException);
-
- protected:
- virtual void
- add_ref_i () const throw (Exception, SystemException);
-
- virtual bool
- remove_ref_i () const throw (Exception, SystemException);
-
- virtual count_t
- refcount_value_i () const throw (Exception, SystemException);
-
- typename SynchPolicy::Mutex&
- lock_i () const throw ();
-
- protected:
- typedef
- typename SynchPolicy::Mutex
- Mutex_;
-
- typedef
- typename SynchPolicy::ReadGuard
- ReadGuard_;
-
- typedef
- typename SynchPolicy::WriteGuard
- WriteGuard_;
-
- protected:
- mutable count_t ref_count_;
-
- private:
- mutable Mutex_ lock_;
-
- private:
- // Copy semanic is not supported.
- DefaultImpl (DefaultImpl const&) throw ();
- DefaultImpl&
- operator= (DefaultImpl const&) throw ();
- };
- }
-}
-
-#include "Utility/ReferenceCounting/DefaultImpl.ipp"
-
-#endif // UTILITY_REFERENCE_COUNTING_DEFAULT_IMPL_HPP
-
diff --git a/TAO/CIAO/CCF/External/Utility/Utility/ReferenceCounting/DefaultImpl.ipp b/TAO/CIAO/CCF/External/Utility/Utility/ReferenceCounting/DefaultImpl.ipp
deleted file mode 100644
index e86fac128a0..00000000000
--- a/TAO/CIAO/CCF/External/Utility/Utility/ReferenceCounting/DefaultImpl.ipp
+++ /dev/null
@@ -1,104 +0,0 @@
-// file : Utility/ReferenceCounting/DefaultImpl.ipp
-// author : Boris Kolpackov <boris@kolpackov.net>
-// copyright : Copyright (c) 2002-2003 Boris Kolpackov
-// license : http://kolpackov.net/license.html
-
-namespace Utility
-{
- namespace ReferenceCounting
- {
- // c-tor & d-tor
-
- template <typename SynchPolicy>
- DefaultImpl<SynchPolicy>::
- DefaultImpl () throw (Interface::SystemException)
- : ref_count_ (1),
- lock_ ()
- {
- }
-
- template <typename SynchPolicy>
- DefaultImpl<SynchPolicy>::
- ~DefaultImpl () throw ()
- {
- }
-
- // add_ref, remove_ref and refcount_value member functions
-
- template <typename SynchPolicy>
- void DefaultImpl<SynchPolicy>::
- add_ref () const throw (Exception, SystemException)
- {
- WriteGuard_ guard (lock_);
- add_ref_i ();
- }
-
- template <typename SynchPolicy>
- void DefaultImpl<SynchPolicy>::
- remove_ref () const throw ()
- {
- bool destroy (false);
- try
- {
- WriteGuard_ guard (lock_);
- destroy = remove_ref_i ();
- }
- catch (...)
- {
- // there is nothing we can do
- }
-
- if (destroy) delete this;
- }
-
- template <typename SynchPolicy>
- Interface::count_t DefaultImpl<SynchPolicy>::
- refcount_value () const throw (Exception, SystemException)
- {
- ReadGuard_ guard (lock_);
- return refcount_value_i ();
- }
-
- // add_ref_i, remove_ref_i and refcount_value_i member functions
-
- template <typename SynchPolicy>
- void DefaultImpl<SynchPolicy>::
- add_ref_i () const throw (Exception, SystemException)
- {
- ref_count_++;
- }
-
- template <typename SynchPolicy>
- bool DefaultImpl<SynchPolicy>::
- remove_ref_i () const throw (Exception, SystemException)
- {
- bool destroy (false);
- if (ref_count_ > 0)
- {
- if (--ref_count_ == 0) destroy = true;
- }
- else
- {
- throw InconsistentState (
- "Utility::ReferenceCounting::DefaultImpl::_remove_ref_i: "
- "reference counter is zero.");
- }
- return destroy;
-
- }
-
- template <typename SynchPolicy>
- Interface::count_t DefaultImpl<SynchPolicy>::
- refcount_value_i () const throw (Exception, SystemException)
- {
- return ref_count_;
- }
-
- template <typename SynchPolicy>
- typename SynchPolicy::Mutex& DefaultImpl<SynchPolicy>::
- lock_i() const throw ()
- {
- return lock_;
- }
- }
-}
diff --git a/TAO/CIAO/CCF/External/Utility/Utility/ReferenceCounting/ExternalLockImpl.hpp b/TAO/CIAO/CCF/External/Utility/Utility/ReferenceCounting/ExternalLockImpl.hpp
deleted file mode 100644
index ba115aaeec1..00000000000
--- a/TAO/CIAO/CCF/External/Utility/Utility/ReferenceCounting/ExternalLockImpl.hpp
+++ /dev/null
@@ -1,59 +0,0 @@
-// file : Utility/ReferenceCounting/ExternalLockImpl.hpp
-// author : Boris Kolpackov <boris@kolpackov.net>
-// copyright : Copyright (c) 2002-2003 Boris Kolpackov
-// license : http://kolpackov.net/license.html
-
-#ifndef UTILITY_REFERENCE_COUNTING_EXTERNAL_LOCK_IMPL_HPP
-#define UTILITY_REFERENCE_COUNTING_EXTERNAL_LOCK_IMPL_HPP
-
-namespace Utility
-{
- namespace ReferenceCounting
- {
-
- /*
-
- Not ported yet.
-
- class ExternalLockRefCounter : public virtual Util::RefCountBase
- {
- public:
- ExternalLockRefCounter (ACE_Lock* lock = 0);
- virtual ~ExternalLockRefCounter ();
-
- void init (ACE_Lock* lock);
-
- public:
-
- virtual void _add_ref ();
- virtual void _remove_ref ();
- virtual unsigned long _refcount_value ();
-
- protected:
-
- virtual void _add_ref_i ();
- virtual bool _remove_ref_i ();
- virtual unsigned long _refcount_value_i ();
-
- ACE_Lock* lock_i ();
-
- private:
-
- typedef ACE_Guard <ACE_Lock> Guard_;
-
- ACE_Lock* lock_;
- unsigned long ref_count_;
-
- private:
- ExternalLockRefCounter (const ExternalLockRefCounter& );
- void operator= (const ExternalLockRefCounter& );
- };
-
- */
- }
-}
-
-#include "Utility/ReferenceCounting/ExternalLockImpl.ipp"
-
-#endif // UTILITY_REFERENCE_COUNTING_EXTERNAL_LOCK_IMPL_HPP
-
diff --git a/TAO/CIAO/CCF/External/Utility/Utility/ReferenceCounting/ExternalLockImpl.ipp b/TAO/CIAO/CCF/External/Utility/Utility/ReferenceCounting/ExternalLockImpl.ipp
deleted file mode 100644
index 46fde227919..00000000000
--- a/TAO/CIAO/CCF/External/Utility/Utility/ReferenceCounting/ExternalLockImpl.ipp
+++ /dev/null
@@ -1,121 +0,0 @@
-// file : Utility/ReferenceCounting/ExternalLockImpl.ipp
-// author : Boris Kolpackov <boris@kolpackov.net>
-// copyright : Copyright (c) 2002-2003 Boris Kolpackov
-// license : http://kolpackov.net/license.html
-
-namespace Utility
-{
- namespace ReferenceCounting
- {
- /*
- inline
- ExternalLockRefCounter::ExternalLockRefCounter (ACE_Lock* lock)
- : lock_ (lock),
- ref_count_ (1)
- {
- }
-
- inline
- void
- ExternalLockRefCounter::init (ACE_Lock* lock)
- {
- lock_ = lock;
- }
-
- inline
- ExternalLockRefCounter::~ExternalLockRefCounter ()
- {
- }
-
- inline
- ACE_Lock*
- ExternalLockRefCounter::lock_i ()
- {
- return lock_;
- }
-
- inline
- void
- ExternalLockRefCounter::_add_ref ()
- {
- if (lock_)
- {
- Guard_ guard (*lock_);
- _add_ref_i ();
- }
- else
- {
- _add_ref_i ();
- }
- }
-
- inline
- void
- ExternalLockRefCounter::_remove_ref ()
- {
- bool destroy = false;
- {
- if (lock_)
- {
- Guard_ guard (*lock_);
- destroy = _remove_ref_i ();
- }
- else
- {
- destroy = _remove_ref_i ();
- }
- }
- if (destroy) delete this;
- }
-
- inline
- unsigned long
- ExternalLockRefCounter::_refcount_value ()
- {
- if (lock_)
- {
- Guard_ guard (*lock_);
- return _refcount_value_i ();
- }
- else
- {
- return _refcount_value_i ();
- }
- }
-
- inline
- void
- ExternalLockRefCounter::_add_ref_i ()
- {
- ref_count_++;
- }
-
- inline
- bool
- ExternalLockRefCounter::_remove_ref_i ()
- {
- bool destroy = false;
- if (ref_count_ > 0)
- {
- if (--ref_count_ == 0) destroy = true;
- }
- else
- {
- ACE_ERROR ((LM_ERROR,
- "ExternalLockRefCounter::_remove_ref() "
- " _remove_ref() called while ref_coundt == 0\n"
- ));
- }
- return destroy;
- }
-
- inline
- unsigned long
- ExternalLockRefCounter::_refcount_value_i ()
- {
- return ref_count_;
- }
- */
- }
-}
-
diff --git a/TAO/CIAO/CCF/External/Utility/Utility/ReferenceCounting/Interface.hpp b/TAO/CIAO/CCF/External/Utility/Utility/ReferenceCounting/Interface.hpp
deleted file mode 100644
index 818b5f6413f..00000000000
--- a/TAO/CIAO/CCF/External/Utility/Utility/ReferenceCounting/Interface.hpp
+++ /dev/null
@@ -1,83 +0,0 @@
-// file : Utility/ReferenceCounting/Interface.hpp
-// author : Boris Kolpackov <boris@kolpackov.net>
-// copyright : Copyright (c) 2002-2003 Boris Kolpackov
-// license : http://kolpackov.net/license.html
-
-#ifndef UTILITY_REFERENCE_COUNTING_INTERFACE_HPP
-#define UTILITY_REFERENCE_COUNTING_INTERFACE_HPP
-
-#include "Utility/ExH/Compound.hpp"
-#include "Utility/ExH/System/Exception.hpp"
-#include "Utility/ExH/Logic/Exception.hpp"
-#include "Utility/ExH/Logic/DescriptiveException.hpp"
-
-namespace Utility
-{
- namespace ReferenceCounting
- {
- // Interface to a reference-countable object. Note that _remove_ref ()
- // member function has a no-throw semantic. Even though it can lead to
- // a diagnostic loss it was made no-throw because it has a destructor
- // semantic.
-
- class Interface
- {
- public:
- typedef
- unsigned long
- count_t;
-
- typedef
- ExH::System::Exception
- SystemException;
-
- class Exception_ {};
- typedef
- ExH::Compound<Exception_, ExH::Logic::DescriptiveException>
- Exception;
-
- public:
- virtual void
- add_ref () const throw (Exception, SystemException) = 0;
-
- virtual void
- remove_ref () const throw () = 0;
-
- virtual count_t
- refcount_value () const throw (Exception, SystemException) = 0;
-
- protected:
- Interface () throw ();
-
- virtual
- ~Interface () throw ();
-
- protected:
- virtual void
- add_ref_i () const throw (Exception, SystemException) = 0;
-
- virtual bool
- remove_ref_i () const throw (Exception, SystemException) = 0;
-
- virtual count_t
- refcount_value_i () const throw (Exception, SystemException) = 0;
-
- private:
- // Copy semanic is not supported.
- Interface (Interface const&) throw ();
- Interface&
- operator= (Interface const&) throw ();
- };
-
- template <typename Type>
- Type*
- add_ref (Type* ptr)
- throw (Interface::Exception, Interface::SystemException);
- }
-}
-
-#include "Utility/ReferenceCounting/Interface.tpp"
-#include "Utility/ReferenceCounting/Interface.ipp"
-
-#endif // UTILITY_REFERENCE_COUNTING_INTERFACE_HPP
-
diff --git a/TAO/CIAO/CCF/External/Utility/Utility/ReferenceCounting/Interface.ipp b/TAO/CIAO/CCF/External/Utility/Utility/ReferenceCounting/Interface.ipp
deleted file mode 100644
index 61801d218b6..00000000000
--- a/TAO/CIAO/CCF/External/Utility/Utility/ReferenceCounting/Interface.ipp
+++ /dev/null
@@ -1,21 +0,0 @@
-// file : Utility/ReferenceCounting/Interface.ipp
-// author : Boris Kolpackov <boris@kolpackov.net>
-// copyright : Copyright (c) 2002-2003 Boris Kolpackov
-// license : http://kolpackov.net/license.html
-
-namespace Utility
-{
- namespace ReferenceCounting
- {
- inline Interface::
- ~Interface () throw ()
- {
- }
-
- inline Interface::
- Interface () throw ()
- {
- }
- }
-}
-
diff --git a/TAO/CIAO/CCF/External/Utility/Utility/ReferenceCounting/Interface.tpp b/TAO/CIAO/CCF/External/Utility/Utility/ReferenceCounting/Interface.tpp
deleted file mode 100644
index e4cebab5aa0..00000000000
--- a/TAO/CIAO/CCF/External/Utility/Utility/ReferenceCounting/Interface.tpp
+++ /dev/null
@@ -1,19 +0,0 @@
-// file : Utility/ReferenceCounting/Interface.tpp
-// author : Boris Kolpackov <boris@kolpackov.net>
-// copyright : Copyright (c) 2002-2003 Boris Kolpackov
-// license : http://kolpackov.net/license.html
-
-namespace Utility
-{
- namespace ReferenceCounting
- {
- template <typename Type>
- inline Type*
- add_ref (Type* ptr)
- throw (Interface::Exception, Interface::SystemException)
- {
- if (ptr != 0) ptr->add_ref ();
- return ptr;
- }
- }
-}
diff --git a/TAO/CIAO/CCF/External/Utility/Utility/ReferenceCounting/ReferenceCounting.hpp b/TAO/CIAO/CCF/External/Utility/Utility/ReferenceCounting/ReferenceCounting.hpp
deleted file mode 100644
index e3929549768..00000000000
--- a/TAO/CIAO/CCF/External/Utility/Utility/ReferenceCounting/ReferenceCounting.hpp
+++ /dev/null
@@ -1,15 +0,0 @@
-// file : Utility/ReferenceCounting/ReferenceCounting.hpp
-// author : Boris Kolpackov <boris@kolpackov.net>
-// copyright : Copyright (c) 2003 Boris Kolpackov
-// license : http://kolpackov.net/license.html
-
-#ifndef UTILITY_REFERENCE_COUNTING_REFERENCE_COUNTING_HPP
-#define UTILITY_REFERENCE_COUNTING_REFERENCE_COUNTING_HPP
-
-#include "Utility/ReferenceCounting/Interface.hpp"
-#include "Utility/ReferenceCounting/DefaultImpl.hpp"
-#include "Utility/ReferenceCounting/SmartPtr.hpp"
-#include "Utility/ReferenceCounting/StrictPtr.hpp"
-
-#endif // UTILITY_REFERENCE_COUNTING_REFERENCE_COUNTING_HPP
-
diff --git a/TAO/CIAO/CCF/External/Utility/Utility/ReferenceCounting/SmartPtr.hpp b/TAO/CIAO/CCF/External/Utility/Utility/ReferenceCounting/SmartPtr.hpp
deleted file mode 100644
index 5b0aa13b513..00000000000
--- a/TAO/CIAO/CCF/External/Utility/Utility/ReferenceCounting/SmartPtr.hpp
+++ /dev/null
@@ -1,102 +0,0 @@
-// file : Utility/ReferenceCounting/SmartPtr.hpp
-// author : Boris Kolpackov <boris@kolpackov.net>
-// copyright : Copyright (c) 2002-2003 Boris Kolpackov
-// license : http://kolpackov.net/license.html
-
-#ifndef UTILITY_REFERENCE_COUNTING_SMART_PTR_HPP
-#define UTILITY_REFERENCE_COUNTING_SMART_PTR_HPP
-
-#include "Utility/ExH/Compound.hpp"
-#include "Utility/ExH/Logic/DescriptiveException.hpp"
-
-#include "Utility/ReferenceCounting/Interface.hpp"
-
-namespace Utility
-{
- namespace ReferenceCounting
- {
- template <typename T>
- class SmartPtr
- {
- public:
- typedef
- T
- Type;
-
- class NotInitialized_ {};
- typedef
- ExH::Compound<NotInitialized_, ExH::Logic::DescriptiveException>
- NotInitialized;
-
- public:
- // c-tor's
-
- SmartPtr () throw ();
- SmartPtr (Type* ptr) throw ();
- SmartPtr (SmartPtr<Type> const& s_ptr)
- throw (Interface::Exception, Interface::SystemException);
-
- template <typename Other>
- SmartPtr (SmartPtr<Other> const& s_ptr)
- throw (Interface::Exception, Interface::SystemException);
-
- // d-tor
-
- ~SmartPtr () throw ();
-
- // assignment & copy-assignment operators
-
- SmartPtr<Type>&
- operator= (Type* ptr) throw ();
-
- SmartPtr<Type>&
- operator= (SmartPtr<Type> const& s_ptr)
- throw (Interface::Exception, Interface::SystemException);
-
- template <typename Other>
- SmartPtr<Type>&
- operator= (SmartPtr<Other> const& s_ptr)
- throw (Interface::Exception, Interface::SystemException);
-
- //conversions
-
- operator Type* () const throw ();
-
- // accessors
-
- Type*
- operator-> () const throw (NotInitialized);
-
- Type*
- in () const throw ();
-
- Type*
- retn() throw ();
-
- private:
- Type* ptr_;
- };
-
- // Specialization of add_ref function for SmartPtr<T>
- template <typename T>
- T*
- add_ref (SmartPtr<T> const& ptr)
- throw (Interface::Exception, Interface::SystemException);
-
-
- // Dynamic type conversion function for SmartPtr's
- template <typename D, typename S>
- D*
- smart_cast (SmartPtr<S> const& s)
- throw (Interface::Exception, Interface::SystemException);
-
- // Acquisition function
- template <typename T>
- SmartPtr<T>
- acquire (T* ptr) throw (Interface::Exception, Interface::SystemException);
- }
-}
-
-#include "Utility/ReferenceCounting/SmartPtr.tpp"
-
-#endif // UTILITY_REFERENCE_COUNTING_SMART_PTR_HPP
diff --git a/TAO/CIAO/CCF/External/Utility/Utility/ReferenceCounting/SmartPtr.tpp b/TAO/CIAO/CCF/External/Utility/Utility/ReferenceCounting/SmartPtr.tpp
deleted file mode 100644
index 405fc1503f4..00000000000
--- a/TAO/CIAO/CCF/External/Utility/Utility/ReferenceCounting/SmartPtr.tpp
+++ /dev/null
@@ -1,169 +0,0 @@
-// file : Utility/ReferenceCounting/SmartPtr.tpp
-// author : Boris Kolpackov <boris@kolpackov.net>
-// copyright : Copyright (c) 2002-2003 Boris Kolpackov
-// license : http://kolpackov.net/license.html
-
-namespace Utility
-{
- namespace ReferenceCounting
- {
- // c-tor's & d-tor
-
- template <typename T>
- SmartPtr<T>::
- SmartPtr () throw ()
- : ptr_ (0)
- {
- }
-
- template <typename T>
- SmartPtr<T>::
- SmartPtr (Type* ptr) throw ()
- : ptr_ (ptr)
- {
- }
-
- template <typename T>
- SmartPtr<T>::
- SmartPtr (SmartPtr<Type> const& s_ptr)
- throw (Interface::Exception, Interface::SystemException)
- : ptr_ (add_ref (s_ptr.in ()))
- {
- }
-
- template <typename T>
- template <typename Other>
- SmartPtr<T>::
- SmartPtr (SmartPtr<Other> const& s_ptr)
- throw (Interface::Exception, Interface::SystemException)
- : ptr_ (add_ref (s_ptr.in ()))
- {
- }
-
-
- template <typename T>
- SmartPtr<T>::
- ~SmartPtr () throw ()
- {
- // This is an additional catch-all layer to protect from
- // non-conformant Type.
- try
- {
- if (ptr_ != 0) ptr_->remove_ref ();
- }
- catch (...)
- {
- }
- }
-
- // operator=
-
- template <typename T>
- SmartPtr<T>& SmartPtr<T>::
- operator= (Type* ptr) throw ()
- {
- if (ptr_ != 0) ptr_->remove_ref ();
- ptr_ = ptr;
- return *this;
- }
-
-
- template <typename T>
- SmartPtr<T>& SmartPtr<T>::
- operator= (SmartPtr<Type> const& s_ptr)
- throw (Interface::Exception, Interface::SystemException)
- {
- Type* old_ptr (ptr_);
- Type* new_ptr (add_ref (s_ptr.in ())); // this can throw
- if (old_ptr != 0) old_ptr->remove_ref ();
-
- ptr_ = new_ptr; // commit
-
- return *this;
- }
-
-
- template <typename T>
- template <typename Other>
- SmartPtr<T>& SmartPtr<T>::
- operator= (SmartPtr<Other> const& s_ptr)
- throw (Interface::Exception, Interface::SystemException)
- {
- Type* old_ptr (ptr_);
- Other* new_ptr (add_ref (s_ptr.in ())); // this can throw
- if (old_ptr != 0) old_ptr->remove_ref ();
-
- ptr_ = new_ptr; // commit
-
- return *this;
- }
-
- // conversions
-
- template <typename T>
- SmartPtr<T>::
- operator T* () const throw ()
- {
- return ptr_;
- }
-
-
- // accessors
-
- template <typename T>
- T* SmartPtr<T>::
- operator-> () const throw (NotInitialized)
- {
- if (ptr_ == 0)
- {
- throw NotInitialized(
- "Utility::ReferenceCounting::SmartPtr::operator-> : "
- "unable to dereference NULL pointer.");
- }
- return ptr_;
- }
-
- template <typename T>
- T* SmartPtr<T>::
- in () const throw ()
- {
- return ptr_;
- }
-
- template <typename T>
- T* SmartPtr<T>::
- retn() throw ()
- {
- Type* ret (ptr_);
- ptr_ = 0;
- return ret;
- }
-
- // Specialization of add_ref function for SmartPtr<T>
- template <typename T>
- T*
- add_ref (SmartPtr<T> const& ptr)
- throw (Interface::Exception, Interface::SystemException)
- {
- // delegate to generic implementation
- return add_ref (ptr.in ());
- }
-
- // Dynamic type conversion function for SmartPtr's
- template <typename D, typename S>
- D*
- smart_cast (SmartPtr<S> const& s)
- throw (Interface::Exception, Interface::SystemException)
- {
- return add_ref (dynamic_cast<D*>(s.in ()));
- }
-
- // Acquisition function
- template <typename T>
- SmartPtr<T>
- acquire (T* ptr) throw (Interface::Exception, Interface::SystemException)
- {
- return SmartPtr<T> (ptr);
- }
- }
-}
diff --git a/TAO/CIAO/CCF/External/Utility/Utility/ReferenceCounting/StrictPtr.hpp b/TAO/CIAO/CCF/External/Utility/Utility/ReferenceCounting/StrictPtr.hpp
deleted file mode 100644
index 9885e321de9..00000000000
--- a/TAO/CIAO/CCF/External/Utility/Utility/ReferenceCounting/StrictPtr.hpp
+++ /dev/null
@@ -1,107 +0,0 @@
-// file : Utility/ReferenceCounting/StrictPtr.hpp
-// author : Boris Kolpackov <boris@kolpackov.net>
-// copyright : Copyright (c) 2002-2003 Boris Kolpackov
-// license : http://kolpackov.net/license.html
-
-#ifndef UTILITY_REFERENCE_COUNTING_STRICT_PTR_HPP
-#define UTILITY_REFERENCE_COUNTING_STRICT_PTR_HPP
-
-#include "Utility/ExH/Compound.hpp"
-#include "Utility/ExH/Logic/DescriptiveException.hpp"
-
-#include "Utility/ReferenceCounting/Interface.hpp"
-
-namespace Utility
-{
- namespace ReferenceCounting
- {
- template <typename T>
- class StrictPtr
- {
- public:
- typedef
- T
- Type;
-
- class NotInitialized_ {};
- typedef
- ExH::Compound<NotInitialized_, ExH::Logic::DescriptiveException>
- NotInitialized;
-
- public:
- // c-tor's
-
- StrictPtr () throw ();
-
- explicit
- StrictPtr (Type* ptr) throw ();
-
- StrictPtr (StrictPtr<Type> const& s_ptr)
- throw (Interface::Exception, Interface::SystemException);
-
- template <typename Other>
- StrictPtr (StrictPtr<Other> const& s_ptr)
- throw (Interface::Exception, Interface::SystemException);
- // d-tor
-
- ~StrictPtr () throw ();
-
- // assignment & copy-assignment operators
-
- StrictPtr<Type>&
- operator= (Type* ptr) throw ();
-
- StrictPtr<Type>&
- operator= (StrictPtr<Type> const& s_ptr)
- throw (Interface::Exception, Interface::SystemException);
-
- template <typename Other>
- StrictPtr<Type>&
- operator= (StrictPtr<Other> const& s_ptr)
- throw (Interface::Exception, Interface::SystemException);
-
- // conversions
-
- // Note: implicit conversion (operator Type* ()) is not supported.
-
- // comparison
-
- bool
- operator== (Type* other) const throw ();
-
- bool
- operator!= (Type* other) const throw ();
-
- // accessors
-
- Type*
- operator-> () const throw (NotInitialized);
-
- Type*
- in () const throw ();
-
- Type*
- retn() throw ();
-
- private:
- Type* ptr_;
- };
-
- // Specialization of add_ref function for StrictPtr<T>
- template <typename T>
- T*
- add_ref (StrictPtr<T> const& ptr)
- throw (Interface::Exception, Interface::SystemException);
-
- // Dynamic type conversion function for StrictPtr's
- template <typename D, typename S>
- StrictPtr<D>
- strict_cast (StrictPtr<S> const& s)
- throw (Interface::Exception, Interface::SystemException);
- }
-}
-
-#include "Utility/ReferenceCounting/StrictPtr.tpp"
-
-#endif // UTILITY_REFERENCE_COUNTING_STRICT_PTR_HPP
-
diff --git a/TAO/CIAO/CCF/External/Utility/Utility/ReferenceCounting/StrictPtr.tpp b/TAO/CIAO/CCF/External/Utility/Utility/ReferenceCounting/StrictPtr.tpp
deleted file mode 100644
index 84d97fb6b30..00000000000
--- a/TAO/CIAO/CCF/External/Utility/Utility/ReferenceCounting/StrictPtr.tpp
+++ /dev/null
@@ -1,166 +0,0 @@
-// file : Utility/ReferenceCounting/StrictPtr.tpp
-// author : Boris Kolpackov <boris@kolpackov.net>
-// copyright : Copyright (c) 2002-2003 Boris Kolpackov
-// license : http://kolpackov.net/license.html
-
-namespace Utility
-{
- namespace ReferenceCounting
- {
- // c-tor's & d-tor
-
- template <typename T>
- StrictPtr<T>::
- StrictPtr () throw ()
- : ptr_ (0)
- {
- }
-
- template <typename T>
- StrictPtr<T>::
- StrictPtr (Type* ptr) throw ()
- : ptr_ (ptr)
- {
- }
-
- template <typename T>
- StrictPtr<T>::
- StrictPtr (StrictPtr<Type> const& s_ptr)
- throw (Interface::Exception, Interface::SystemException)
- : ptr_ (add_ref (s_ptr.in ()))
- {
- }
-
- template <typename T>
- template <typename Other>
- StrictPtr<T>::
- StrictPtr (StrictPtr<Other> const& s_ptr)
- throw (Interface::Exception, Interface::SystemException)
- : ptr_ (add_ref (s_ptr.in ()))
- {
- }
-
-
- template <typename T>
- StrictPtr<T>::
- ~StrictPtr () throw ()
- {
- // This is an additional catch-all layer to protect from
- // non-conformant Type.
- try
- {
- if (ptr_ != 0) ptr_->remove_ref ();
- }
- catch (...)
- {
- }
- }
-
- // operator=
-
- template <typename T>
- StrictPtr<T>&
- StrictPtr<T>::operator= (Type* ptr) throw ()
- {
- if (ptr_ != 0) ptr_->remove_ref ();
- ptr_ = ptr;
- return *this;
- }
-
- template <typename T>
- StrictPtr<T>& StrictPtr<T>::
- operator= (StrictPtr<Type> const& s_ptr)
- throw (Interface::Exception, Interface::SystemException)
- {
- Type* old_ptr (ptr_);
- Type* new_ptr (add_ref (s_ptr.in ())); // this can throw
- if (old_ptr != 0) old_ptr->remove_ref ();
-
- ptr_ = new_ptr; // commit
-
- return *this;
- }
-
-
- template <typename T>
- template <typename Other>
- StrictPtr<T>& StrictPtr<T>::
- operator= (StrictPtr<Other> const& s_ptr)
- throw (Interface::Exception, Interface::SystemException)
- {
- Type* old_ptr (ptr_);
- Other* new_ptr (add_ref (s_ptr.in ())); // this can throw
- if (old_ptr != 0) old_ptr->remove_ref ();
-
- ptr_ = new_ptr; // commit
-
- return *this;
- }
-
- // comparison
-
- template <typename T>
- bool StrictPtr<T>::
- operator== (Type* other) const throw ()
- {
- return ptr_ == other;
- }
-
- template <typename T>
- bool StrictPtr<T>::
- operator!= (Type* other) const throw ()
- {
- return ptr_ != other;
- }
-
- // accessors
-
- template <typename T>
- T* StrictPtr<T>::
- operator-> () const throw (NotInitialized)
- {
- if (ptr_ == 0)
- {
- throw NotInitialized(
- "Utility::ReferenceCounting::StrictPtr::operator-> : "
- "unable to dereference NULL pointer.");
- }
- return ptr_;
- }
-
- template <typename T>
- T* StrictPtr<T>::
- in () const throw ()
- {
- return ptr_;
- }
-
- template <typename T>
- T* StrictPtr<T>::
- retn() throw ()
- {
- Type* ret (ptr_);
- ptr_ = 0;
- return ret;
- }
-
- // Specialization of add_ref function for StrictPtr<T>
- template <typename T>
- T*
- add_ref (StrictPtr<T> const& ptr)
- throw (Interface::Exception, Interface::SystemException)
- {
- // delegate to generic implementation
- return add_ref (ptr.in ());
- }
-
- // Dynamic type conversion function for StrictPtr's
- template <typename D, typename S>
- StrictPtr<D>
- strict_cast (StrictPtr<S> const& s)
- throw (Interface::Exception, Interface::SystemException)
- {
- return StrictPtr<D>(add_ref (dynamic_cast<D*>(s.in ())));
- }
- }
-}
diff --git a/TAO/CIAO/CCF/External/Utility/Utility/Synch/Policy/Null.hpp b/TAO/CIAO/CCF/External/Utility/Utility/Synch/Policy/Null.hpp
deleted file mode 100644
index d7a26e81089..00000000000
--- a/TAO/CIAO/CCF/External/Utility/Utility/Synch/Policy/Null.hpp
+++ /dev/null
@@ -1,53 +0,0 @@
-// file : Utility/Synch/Policy/Null.hpp
-// author : Boris Kolpackov <boris@kolpackov.net>
-// copyright : Copyright (c) 2002-2003 Boris Kolpackov
-// license : http://kolpackov.net/license.html
-
-#ifndef UTILITY_SYNCH_POLICY_NULL_HPP
-#define UTILITY_SYNCH_POLICY_NULL_HPP
-
-namespace Utility
-{
- namespace Synch
- {
- namespace Policy
- {
-
- class NullMutex
- {
- };
-
- class NullGuard
- {
- public:
- explicit
- NullGuard (NullMutex&) throw ();
-
- private:
- NullGuard (NullGuard const&) throw ();
-
- NullGuard&
- operator= (NullGuard const&) throw ();
- };
-
- struct Null
- {
- typedef
- NullMutex
- Mutex;
-
- typedef
- NullGuard
- ReadGuard;
-
- typedef
- NullGuard
- WriteGuard;
- };
- }
- }
-}
-
-#include "Utility/Synch/Policy/Null.ipp"
-
-#endif // UTILITY_SYNCH_POLICY_NULL_HPP
diff --git a/TAO/CIAO/CCF/External/Utility/Utility/Synch/Policy/Null.ipp b/TAO/CIAO/CCF/External/Utility/Utility/Synch/Policy/Null.ipp
deleted file mode 100644
index 55c254bafc0..00000000000
--- a/TAO/CIAO/CCF/External/Utility/Utility/Synch/Policy/Null.ipp
+++ /dev/null
@@ -1,19 +0,0 @@
-// file : Utility/Synch/Policy/Null.ipp
-// author : Boris Kolpackov <boris@kolpackov.net>
-// copyright : Copyright (c) 2002-2003 Boris Kolpackov
-// license : http://kolpackov.net/license.html
-
-namespace Utility
-{
- namespace Synch
- {
- namespace Policy
- {
- inline NullGuard::
- NullGuard (NullMutex&) throw ()
- {
- }
- }
- }
-}
-
diff --git a/TAO/CIAO/CCF/External/Utility/Version b/TAO/CIAO/CCF/External/Utility/Version
deleted file mode 100644
index 9084fa2f716..00000000000
--- a/TAO/CIAO/CCF/External/Utility/Version
+++ /dev/null
@@ -1 +0,0 @@
-1.1.0
diff --git a/TAO/CIAO/CCF/Makefile b/TAO/CIAO/CCF/Makefile
deleted file mode 100644
index 91de9e1a44b..00000000000
--- a/TAO/CIAO/CCF/Makefile
+++ /dev/null
@@ -1,14 +0,0 @@
-# file : Makefile
-# author : Boris Kolpackov <boris@kolpackov.net>
-# copyright : Copyright (c) 2002-2003 Boris Kolpackov
-# license : http://kolpackov.net/license.html
-# cvs-id : $Id$
-
-root := .
-
-include $(root)/External/Utility/Config/Recursion.pre.rules
-
-target_makefile_list :=
-target_directory_list := CCF
-
-include $(root)/External/Utility/Config/Recursion.post.rules
diff --git a/TAO/CIAO/CCF/Version b/TAO/CIAO/CCF/Version
deleted file mode 100644
index 7bcd0e3612d..00000000000
--- a/TAO/CIAO/CCF/Version
+++ /dev/null
@@ -1 +0,0 @@
-0.0.2 \ No newline at end of file
diff --git a/TAO/CIAO/CIDLC/CIDLC.sln b/TAO/CIAO/CIDLC/CIDLC.sln
deleted file mode 100644
index 24dee7c9742..00000000000
--- a/TAO/CIAO/CIDLC/CIDLC.sln
+++ /dev/null
@@ -1,21 +0,0 @@
-Microsoft Visual Studio Solution File, Format Version 8.00
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "CIDLC", "CIDLC.vcproj", "{2AA9F186-AEB2-4B78-9783-322182479BBB}"
- ProjectSection(ProjectDependencies) = postProject
- EndProjectSection
-EndProject
-Global
- GlobalSection(SolutionConfiguration) = preSolution
- Debug = Debug
- Release = Release
- EndGlobalSection
- GlobalSection(ProjectConfiguration) = postSolution
- {2AA9F186-AEB2-4B78-9783-322182479BBB}.Debug.ActiveCfg = Debug|Win32
- {2AA9F186-AEB2-4B78-9783-322182479BBB}.Debug.Build.0 = Debug|Win32
- {2AA9F186-AEB2-4B78-9783-322182479BBB}.Release.ActiveCfg = Release|Win32
- {2AA9F186-AEB2-4B78-9783-322182479BBB}.Release.Build.0 = Release|Win32
- EndGlobalSection
- GlobalSection(ExtensibilityGlobals) = postSolution
- EndGlobalSection
- GlobalSection(ExtensibilityAddIns) = postSolution
- EndGlobalSection
-EndGlobal
diff --git a/TAO/CIAO/CIDLC/CIDLC.vcproj b/TAO/CIAO/CIDLC/CIDLC.vcproj
deleted file mode 100644
index b9c55d46c5e..00000000000
--- a/TAO/CIAO/CIDLC/CIDLC.vcproj
+++ /dev/null
@@ -1,164 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="7.10"
- Name="CIDLC"
- ProjectGUID="{2AA9F186-AEB2-4B78-9783-322182479BBB}"
- Keyword="Win32Proj">
- <Platforms>
- <Platform
- Name="Win32"/>
- </Platforms>
- <Configurations>
- <Configuration
- Name="Debug|Win32"
- OutputDirectory="$(ProjectDir)"
- IntermediateDirectory="Debug"
- ConfigurationType="1"
- CharacterSet="2">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories="../CCF;../CCF/External/Utility"
- PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
- MinimalRebuild="TRUE"
- BasicRuntimeChecks="3"
- RuntimeLibrary="5"
- ForceConformanceInForLoopScope="TRUE"
- RuntimeTypeInfo="TRUE"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="TRUE"
- DebugInformationFormat="4"/>
- <Tool
- Name="VCCustomBuildTool"/>
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="IDL2.lib IDL3.lib CIDL.lib CodeGenerationKit.lib libboost_regex_debug.lib libboost_filesystem_debug.lib"
- OutputFile="$(CIAO_ROOT)\bin\cidlc.exe"
- LinkIncremental="2"
- AdditionalLibraryDirectories="../CCF/CCF/IDL2;../CCF/CCF/IDL3;../CCF/CCF/CIDL;../CCF/CCF/CodeGenerationKit"
- GenerateDebugInformation="TRUE"
- ProgramDatabaseFile="$(OutDir)/CIDLC.pdb"
- SubSystem="1"
- TargetMachine="1"/>
- <Tool
- Name="VCMIDLTool"/>
- <Tool
- Name="VCPostBuildEventTool"/>
- <Tool
- Name="VCPreBuildEventTool"/>
- <Tool
- Name="VCPreLinkEventTool"/>
- <Tool
- Name="VCResourceCompilerTool"/>
- <Tool
- Name="VCWebServiceProxyGeneratorTool"/>
- <Tool
- Name="VCXMLDataGeneratorTool"/>
- <Tool
- Name="VCWebDeploymentTool"/>
- <Tool
- Name="VCManagedWrapperGeneratorTool"/>
- <Tool
- Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
- </Configuration>
- <Configuration
- Name="Release|Win32"
- OutputDirectory="Release"
- IntermediateDirectory="Release"
- ConfigurationType="1"
- CharacterSet="2">
- <Tool
- Name="VCCLCompilerTool"
- PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
- RuntimeLibrary="4"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="TRUE"
- DebugInformationFormat="3"/>
- <Tool
- Name="VCCustomBuildTool"/>
- <Tool
- Name="VCLinkerTool"
- OutputFile="$(OutDir)/CIDLC.exe"
- LinkIncremental="1"
- GenerateDebugInformation="TRUE"
- SubSystem="1"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- TargetMachine="1"/>
- <Tool
- Name="VCMIDLTool"/>
- <Tool
- Name="VCPostBuildEventTool"/>
- <Tool
- Name="VCPreBuildEventTool"/>
- <Tool
- Name="VCPreLinkEventTool"/>
- <Tool
- Name="VCResourceCompilerTool"/>
- <Tool
- Name="VCWebServiceProxyGeneratorTool"/>
- <Tool
- Name="VCXMLDataGeneratorTool"/>
- <Tool
- Name="VCWebDeploymentTool"/>
- <Tool
- Name="VCManagedWrapperGeneratorTool"/>
- <Tool
- Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
- </Configuration>
- </Configurations>
- <References>
- </References>
- <Files>
- <Filter
- Name="Source Files"
- Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx"
- UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}">
- <File
- RelativePath=".\cidlc.cpp">
- </File>
- <File
- RelativePath=".\ExecutorMappingGenerator.cpp">
- </File>
- <File
- RelativePath=".\ServantGenerator.cpp">
- </File>
- <File
- RelativePath=".\ServantHeaderGenerator.cpp">
- </File>
- <File
- RelativePath=".\ServantSourceGenerator.cpp">
- </File>
- </Filter>
- <Filter
- Name="Header Files"
- Filter="h;hpp;hxx;hm;inl;inc;xsd"
- UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}">
- <File
- RelativePath=".\ExecutorMappingGenerator.hpp">
- </File>
- <File
- RelativePath=".\Literals.hpp">
- </File>
- <File
- RelativePath=".\ServantGenerator.hpp">
- </File>
- <File
- RelativePath=".\ServantHeaderGenerator.hpp">
- </File>
- <File
- RelativePath=".\ServantSourceGenerator.hpp">
- </File>
- </Filter>
- <Filter
- Name="Resource Files"
- Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx"
- UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}">
- </Filter>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>
diff --git a/TAO/CIAO/CIDLC/ExecutorMappingGenerator.cpp b/TAO/CIAO/CIDLC/ExecutorMappingGenerator.cpp
deleted file mode 100644
index 90ca844f722..00000000000
--- a/TAO/CIAO/CIDLC/ExecutorMappingGenerator.cpp
+++ /dev/null
@@ -1,1066 +0,0 @@
-// $Id$
-#include "ExecutorMappingGenerator.hpp"
-
-#include <map>
-#include <ostream>
-#include <fstream>
-
-#include "CCF/CIDL/CIDL_SyntaxTree.hpp"
-#include "CCF/CIDL/CIDL_Traversal.hpp"
-
-#include "CCF/CodeGenerationKit/Regex.hpp"
-#include "CCF/CodeGenerationKit/IDLStream.hpp"
-
-using std::cout;
-using std::endl;
-using std::string;
-using std::make_pair;
-
-using namespace CIDL;
-using namespace CIDL::SyntaxTree;
-
-namespace
-{
- typedef
- std::map <CompositionPtr, ComponentDefPtr, CompositionOrderComparator>
- CompositionMap;
-
- // ProvidesCollector collects interfaces that appear in provides
- // declaration of a component in question. Used as a building block
- // by Collector.
- //
- class ProvidesCollector : public virtual Traversal::ComponentDef,
- public virtual Traversal::ProvidesDecl
- {
- public:
- ProvidesCollector(UnconstrainedInterfaceDeclSet& interface_set)
- : interface_set_ (interface_set)
- {
- }
-
- virtual void
- visit_provides_decl (ProvidesDeclPtr const& p)
- {
- //@@ CCM issue: interface should be defined at this point
- // and this should be ensured during semantic
- // checking.
-
- UnconstrainedInterfaceDeclPtr decl (
- p->type ()->dynamic_type<UnconstrainedInterfaceDecl> ());
-
- // We are only interested in unconstrained interfaces.
- if (decl != 0)
- {
- ScopedName orig (decl->name ());
- ScopedName mapping (orig.scope (), "CCM_" + orig.simple ());
-
- // Check if mapping has already been provided.
- //@@ bad code: i->scope ()->table ()
- if (!decl->scope ()->table ().exist (mapping))
- {
- // Add to the list if it's not already there.
- interface_set_.insert (decl);
- }
- }
- }
-
- private:
- UnconstrainedInterfaceDeclSet& interface_set_;
- };
-
-
- // Collector populates lists of declarations for which local facet
- // executor mapping should be provided.
- //
- class Collector : public virtual Traversal::TranslationUnit,
- public virtual Traversal::PrincipalTranslationRegion,
- public virtual Traversal::FileScope,
- public virtual Traversal::Module,
- public virtual Traversal::Composition,
- public virtual Traversal::HomeExecutor,
- public virtual Traversal::ConcreteEventTypeDef
- {
- public:
- Collector (UnconstrainedInterfaceDeclSet& interface_set,
- ComponentDefSet& component_set,
- ConcreteEventTypeDefSet& event_type_set,
- HomeDefSet& home_set,
- CompositionMap& composition_map)
- : home_set_ (home_set),
- component_set_ (component_set),
- event_type_set_ (event_type_set),
- composition_map_ (composition_map),
- provides_collector_ (interface_set)
- {
- }
-
- virtual void
- visit_home_executor (HomeExecutorPtr const& he)
- {
- CompositionPtr composition (
- he->scope ()->dynamic_type<SyntaxTree::Composition> ());
-
- HomeDefPtr home (he->implements ());
-
- ComponentDefPtr component (home->manages ());
-
- composition_map_.insert (make_pair (composition, component));
-
- add_home (home);
- add_component (component);
- }
-
- virtual void
- visit_concrete_event_type_def (ConcreteEventTypeDefPtr const& et)
- {
- /*
- @@ CCM issue: spec says that I need to ganarate this but nobody
- knows why.
- event_type_set_.insert (et);
- */
- }
-
- private:
- void
- add_home (HomeDefPtr const& h)
- {
- ScopedName n (h->name ());
-
- ScopedName main (n.scope (), "CCM_" + n.simple ());
- ScopedName expl (n.scope (), "CCM_" + n.simple () + "Explicit");
- ScopedName impl (n.scope (), "CCM_" + n.simple () + "Implicit");
-
- // Check if mapping has already been provided.
- if (h->table ().exist (main) ||
- h->table ().exist (expl) ||
- h->table ().exist (impl)) return;
-
- if(home_set_.insert (h).second)
- {
- // Note that I don't go after components that home manages
- // because it will be handled by component inheritance tree.
- //
- if (h->inherits ()) add_home (h->inherits ().resolve ());
- }
- }
-
- void
- add_component (ComponentDefPtr const& component)
- {
- ScopedName n (component->name ());
-
- ScopedName monolith (n.scope (), "CCM_" + n.simple ());
- ScopedName context (n.scope (), "CCM_" + n.simple () + "_Context");
-
- // Check if mapping has already been provided.
- if (component->table ().exist (context) ||
- component->table ().exist (monolith)) return;
-
- if(component_set_.insert (component).second)
- {
- component->accept (&provides_collector_);
-
- if (component->inherits ())
- {
- add_component (component->inherits ().resolve ());
- }
- }
- }
-
- private:
- HomeDefSet& home_set_;
- ComponentDefSet& component_set_;
- ConcreteEventTypeDefSet& event_type_set_;
- CompositionMap& composition_map_;
-
- ProvidesCollector provides_collector_;
- };
-
- //
- //
- //
- class ForcedCollector : public virtual Traversal::TranslationUnit,
- public virtual Traversal::PrincipalTranslationRegion,
- public virtual Traversal::FileScope,
- public virtual Traversal::Module,
- public virtual Traversal::ComponentDef,
- public virtual Traversal::HomeDef,
- public virtual Traversal::UnconstrainedInterfaceDef
- {
- public:
- ForcedCollector (UnconstrainedInterfaceDeclSet& interface_set,
- ComponentDefSet& component_set,
- ConcreteEventTypeDefSet& event_type_set,
- HomeDefSet& home_set,
- CompositionMap& composition_map)
- : home_set_ (home_set),
- component_set_ (component_set),
- event_type_set_ (event_type_set),
- composition_map_ (composition_map),
- interface_set_ (interface_set)
- {
- }
-
- virtual void
- visit_component_def (ComponentDefPtr const& c)
- {
- add_component (c);
- }
-
- virtual void
- visit_home_def (HomeDefPtr const& h)
- {
- add_home (h);
- }
-
- virtual void
- visit_unconstrained_interface_def (UnconstrainedInterfaceDefPtr const& i)
- {
- ScopedName orig (i->name ());
- ScopedName mapping (orig.scope (), "CCM_" + orig.simple ());
-
- // Check if mapping has already been provided.
- if (i->table ().exist (mapping)) return;
-
- // Add to the list if it's not already there.
- interface_set_.insert (i);
- }
-
- virtual void
- visit_concrete_event_type_def (ConcreteEventTypeDefPtr const& et)
- {
- /*
- @@ CCM issue: spec says that I need to ganarate this but nobody
- knows why.
- event_type_set_.insert (et);
- */
- }
-
- private:
- void
- add_home (HomeDefPtr const& h)
- {
- ScopedName n (h->name ());
-
- ScopedName main (n.scope (), "CCM_" + n.simple ());
- ScopedName expl (n.scope (), "CCM_" + n.simple () + "Explicit");
- ScopedName impl (n.scope (), "CCM_" + n.simple () + "Implicit");
-
- // Check if mapping has already been provided.
- if (h->table ().exist (main) ||
- h->table ().exist (expl) ||
- h->table ().exist (impl)) return;
-
- if(home_set_.insert (h).second)
- {
- // Note that I don't go after components that home manages
- // because it will be handled by component inheritance tree.
- //
- if (h->inherits ()) add_home (h->inherits ().resolve ());
- }
- }
-
- void
- add_component (ComponentDefPtr const& component)
- {
- ScopedName n (component->name ());
-
- ScopedName monolith (n.scope (), "CCM_" + n.simple ());
- ScopedName context (n.scope (), "CCM_" + n.simple () + "_Context");
-
- // Check if mapping has already been provided.
- if (component->table ().exist (context) ||
- component->table ().exist (monolith)) return;
-
- if(component_set_.insert (component).second)
- {
- if (component->inherits ())
- {
- add_component (component->inherits ().resolve ());
- }
- }
- }
-
- private:
- HomeDefSet& home_set_;
- ComponentDefSet& component_set_;
- ConcreteEventTypeDefSet& event_type_set_;
- CompositionMap& composition_map_;
- UnconstrainedInterfaceDeclSet& interface_set_;
- };
-
-
- //
- //
- //
- class TypeNameEmitter : public virtual Traversal::BuiltInTypeDef,
- public virtual Traversal::TypeDecl
- {
- public:
- TypeNameEmitter (std::ostream& os_)
- : os (os_)
- {
- }
-
- virtual void
- visit_built_in_type_def (BuiltInTypeDefPtr const& t)
- {
- os << t->name ().simple ();
- }
-
- virtual void
- visit_type_decl (TypeDeclPtr const& t)
- {
- os << t->name ();
- }
-
- private:
- std::ostream& os;
- };
-
-
- // MonolithEmitter generates what spec calls 'Monolithic Component
- // Executor'.
- //
- class MonolithEmitter : public virtual Traversal::ComponentDef,
- public virtual Traversal::AttributeDecl,
- public virtual Traversal::ProvidesDecl,
- public virtual Traversal::ConsumesDecl
- {
- public:
- MonolithEmitter (std::ostream& os_,
- ComponentDefSet const& component_set,
- CCF::Traversal::Visitor* type_name_emitter)
- : AttributeDecl (type_name_emitter),
- os (os_),
- component_set_ (component_set)
- {
- }
-
- virtual void
- visit_component_def (ComponentDefPtr const& c)
- {
- if (component_set_.find (c) != component_set_.end ())
- {
- Traversal::ComponentDef::visit_component_def (c);
- }
- }
-
- virtual void
- visit_component_def_pre (ComponentDefPtr const& c)
- {
- os << "local interface CCM_" << c->name ().simple () << " : ";
-
- ComponentDefRef cr = c->inherits ();
-
- if (cr)
- {
- os << cr.name ().scope () << "::CCM_" << cr.name ().simple ();
- }
- else
- {
- os << "::Components::EnterpriseComponent";
- }
-
- for (SyntaxTree::ComponentDef::Iterator i = c->supports_begin ();
- i != c->supports_end ();
- i++)
- {
- os << ", " << i->name ();
- }
-
- os << endl
- << "{" << endl;
- }
-
- virtual void
- visit_attribute_pre (AttributeDeclPtr const& a)
- {
- os << "attribute ";
- }
-
- virtual void
- visit_attribute_post (AttributeDeclPtr const& a)
- {
- os << " " << a->name ().simple () << ";" << endl;
- }
-
- virtual void
- visit_provides_decl (ProvidesDeclPtr const& p)
- {
- ScopedName n = p->type ()->name ();
-
- os << n.scope () << "::CCM_" << n.simple ()
- << " get_" << p->name ().simple () << " ();" << endl;
- }
-
- virtual void
- visit_consumes_decl (ConsumesDeclPtr const& p)
- {
- os << "void push_" << p->name ().simple ()
- << " (in " << p->type()->name () << " ev);" << endl;
- }
-
- virtual void
- visit_component_def_post (ComponentDefPtr const& c)
- {
- os << "};" << endl
- << endl;
- }
-
- private:
- std::ostream& os;
- ComponentDefSet const& component_set_;
- };
-
- // ContextEmitter generates component context interface.
- //
- //
- class ContextEmitter : public virtual Traversal::ComponentDef,
- public virtual Traversal::UsesDecl,
- public virtual Traversal::PublishesDecl,
- public virtual Traversal::EmitsDecl
- {
- public:
- ContextEmitter (std::ostream& os_,
- ComponentDefSet const& component_set)
- : os (os_),
- component_set_ (component_set)
- {
- }
-
- virtual void
- visit_component_def (ComponentDefPtr const& c)
- {
- if (component_set_.find (c) != component_set_.end ())
- {
- Traversal::ComponentDef::visit_component_def (c);
- }
- }
-
-
- virtual void
- visit_component_def_pre (ComponentDefPtr const& c)
- {
- os << "local interface "
- << "CCM_" << c->name ().simple () << "_Context "
- << " : ";
-
- ComponentDefRef cr = c->inherits ();
-
- if (cr)
- {
- ScopedName name (cr.name ());
- os << name.scope () << "::CCM_" << name.simple () << "_Context";
- }
- else
- {
- os << "::Components::SessionContext";
- }
-
- os << endl
- << "{" << endl;
- }
-
- virtual void
- visit_uses_decl (UsesDeclPtr const& d)
- {
- os << d->type ()->name ()
- << " get_connection_" << d->name ().simple ()
- << " ();" << endl;
- }
-
- virtual void
- visit_publishes_decl (PublishesDeclPtr const& d)
- {
- os << "void push_" << d->name ().simple ()
- << " (in " << d->type ()->name () << " ev);" << endl;
- }
-
- virtual void
- visit_emits_decl (EmitsDeclPtr const& d)
- {
- os << "void push_" << d->name ().simple ()
- << " (in " << d->type ()->name () << " ev);" << endl;
- }
-
- virtual void
- visit_component_def_post (ComponentDefPtr const& c)
- {
- os << "};" << endl
- << endl;
- }
-
- private:
- std::ostream& os;
- ComponentDefSet const& component_set_;
- };
-
- // HomeExplicitEmitter generates home explicit interface
- //
- //
- class HomeExplicitEmitter : public virtual Traversal::OperationParameter,
- public virtual Traversal::Comma,
- public virtual Traversal::HomeFactoryDecl,
- public virtual Traversal::OperationDecl,
- public virtual Traversal::AttributeDecl,
- public virtual Traversal::HomeDef
- {
- public:
- HomeExplicitEmitter (std::ostream& os_,
- CCF::Traversal::Visitor* type_name_emitter)
- : OperationParameter (type_name_emitter,
- type_name_emitter,
- type_name_emitter),
-
- OperationDecl (type_name_emitter),
- AttributeDecl (type_name_emitter),
- os (os_)
- {
- }
-
- virtual void
- visit_home_def_pre (HomeDefPtr const& h)
- {
- os << "local interface "
- << "CCM_" << h->name ().simple () << "Explicit"
- << " : ";
-
- HomeDefRef hr = h->inherits ();
-
- if (hr)
- {
- ScopedName name (hr.name ());
- os << name.scope () << "::CCM_" << name.simple () << "Explicit";
- }
- else
- {
- os << "::Components::HomeExecutorBase";
- }
-
- for (SyntaxTree::HomeDef::Iterator i = h->supports_begin ();
- i != h->supports_end ();
- i++)
- {
- os << ", " << i->name ();
- }
-
- os << endl
- << "{" << endl;
-
- }
-
- //
- // OperationParameter
- //
-
- virtual void
- visit_operation_parameter_post (OperationParameterPtr const& op)
- {
- os << " " << op->name ();
- }
-
- virtual void
- visit_comma (CommaPtr const& s)
- {
- os << ", ";
- }
-
- //
- // HomeFactory
- //
-
- virtual void
- visit_home_factory_decl_type (HomeFactoryDeclPtr const& d)
- {
- os << "::Components::EnterpriseComponent ";
- }
-
- virtual void
- visit_home_factory_decl_name (HomeFactoryDeclPtr const& d)
- {
- os << d->name ().simple () << " (";
- }
-
- virtual void
- visit_home_factory_decl_post (HomeFactoryDeclPtr const& d)
- {
- os << ");" << endl;
- }
-
- //
- // Operation
- //
-
- virtual void
- visit_operation_decl_name (OperationDeclPtr const& d)
- {
- os << " " << d->name ().simple () << " (";
- }
-
- virtual void
- visit_operation_parameter_pre (OperationParameterPtr const& op)
- {
- os << op->direction () << " ";
- }
-
- virtual void
- visit_operation_decl_post (OperationDeclPtr const& d)
- {
- os << ");" << endl;
- }
-
- //
- // Attribute
- //
-
- virtual void
- visit_attribute_pre (AttributeDeclPtr const& a)
- {
- os << "attribute ";
- }
-
- virtual void
- visit_attribute_post (AttributeDeclPtr const& a)
- {
- os << " " << a->name ().simple () << ";" << endl;
- }
-
- virtual void
- visit_home_def_post (HomeDefPtr const& h)
- {
- os << "};" << endl
- << endl;
- }
-
- private:
- std::ostream& os;
- };
-
- // HomeImplicitEmitter generates home implicit interface
- //
- //
- class HomeImplicitEmitter : public virtual Traversal::HomeDef
- {
- public:
- HomeImplicitEmitter (std::ostream& os_) : os (os_) {}
-
- virtual void
- visit_home_def_pre (HomeDefPtr const& h)
- {
- os << "local interface "
- << "CCM_" << h->name ().simple () << "Implicit" << endl
- << "{" << endl
- << "::Components::EnterpriseComponent "
- << "create () raises (::Components::CCMException);"
- << endl;
-
- }
-
- virtual void
- visit_home_def_post (HomeDefPtr const& h)
- {
- os << "};" << endl
- << endl;
- }
-
- private:
- std::ostream& os;
- };
-
- // HomeMainEmitter generates home main interface
- //
- //
- class HomeMainEmitter : public virtual Traversal::HomeDef
- {
- public:
- HomeMainEmitter (std::ostream& os_) : os (os_) {}
-
- virtual void
- visit_home_def_pre (HomeDefPtr const& h)
- {
- SimpleName name = h->name ().simple ();
-
- os << "local interface "
- << "CCM_" << name
- << " : "
- << "CCM_" << name << "Explicit, "
- << "CCM_" << name << "Implicit" << endl
- << "{" << endl;
- }
-
- virtual void
- visit_home_def_post (HomeDefPtr const& h)
- {
- os << "};" << endl
- << endl;
- }
-
- private:
- std::ostream& os;
- };
-
- class IncludeEmitter :
- public virtual Traversal::TranslationUnit,
- public virtual Traversal::ImpliedIncludeTranslationRegion,
- public virtual Traversal::PrincipalTranslationRegion,
- public virtual Traversal::IncludeTranslationRegion,
- public virtual Traversal::SysIncludeTranslationRegion
- {
- public:
- IncludeEmitter (std::ostream& os_) : os (os_) {}
-
- virtual void
- visit_implied_include_translation_region (
- ImpliedIncludeTranslationRegionPtr const& r)
- {
- os << "#include <" << r->file_path ().string () << ">" << endl;
- }
-
- virtual void
- visit_include_translation_region (IncludeTranslationRegionPtr const& r)
- {
- os << "#include \"" << r->file_path ().string () << "\"" << endl;
- }
-
- virtual void
- visit_sys_include_translation_region (
- SysIncludeTranslationRegionPtr const& r)
- {
- os << "#include <" << r->file_path ().string () << ">" << endl;
- }
- private:
- std::ostream& os;
- };
-
-
- // Emitter generates local executor mapping for declarations collected
- // by Collector. Note that the original structire of modules is preserved.
- //
- class Emitter : public virtual Traversal::TranslationUnit,
- public virtual Traversal::TranslationRegion,
- public virtual Traversal::FileScope,
- public virtual Traversal::Module,
- public virtual Traversal::UnconstrainedInterfaceDecl,
- public virtual Traversal::ConcreteEventTypeDef,
- public virtual Traversal::ComponentDef,
- public virtual Traversal::HomeDef,
- public virtual Traversal::Composition
- {
- public:
- Emitter (std::ostream& os_,
- UnconstrainedInterfaceDeclSet const& interface_set,
- ComponentDefSet const& component_set,
- ConcreteEventTypeDefSet const& event_type_set,
- HomeDefSet const& home_set,
- CompositionMap const& composition_map)
- : os(os_),
- home_set_ (home_set),
- component_set_ (component_set),
- event_type_set_ (event_type_set),
- interface_set_ (interface_set),
- composition_map_ (composition_map),
-
- type_name_emitter_ (os_),
-
- context_emitter_ (os, component_set),
- include_emitter_ (os),
- monolith_emitter_ (os, component_set, &type_name_emitter_),
- home_main_emitter_ (os),
- home_explicit_emitter_ (os, &type_name_emitter_),
- home_implicit_emitter_ (os)
- {
- }
-
- bool
- contains_element (ModulePtr const& m) const
- {
- for (UnconstrainedInterfaceDeclSet::const_iterator i =
- interface_set_.begin ();
- i != interface_set_.end ();
- i++)
- {
- if (m->order ().suborder ((*i)->order ())) return true;
- }
-
- for (ComponentDefSet::const_iterator i = component_set_.begin ();
- i != component_set_.end ();
- i++)
- {
- if (m->order ().suborder ((*i)->order ())) return true;
- }
-
- for (ConcreteEventTypeDefSet::const_iterator i =
- event_type_set_.begin ();
- i != event_type_set_.end ();
- i++)
- {
- if (m->order ().suborder ((*i)->order ())) return true;
- }
-
- for (HomeDefSet::const_iterator i = home_set_.begin ();
- i != home_set_.end ();
- i++)
- {
- if (m->order ().suborder ((*i)->order ())) return true;
- }
-
- for (CompositionMap::const_iterator i = composition_map_.begin ();
- i != composition_map_.end ();
- i++)
- {
- if (m->order ().suborder (i->first->order ())) return true;
- }
-
- return false;
- }
-
- virtual void
- visit_translation_unit_pre (TranslationUnitPtr const& u)
- {
- u->accept(&include_emitter_);
- os << endl;
- }
-
- virtual void
- visit_module_pre (ModulePtr const& m)
- {
- if (contains_element (m))
- {
- os << "module " << m->name ().simple () << endl
- << "{" << endl;
- }
- }
-
- virtual void
- visit_module_post (ModulePtr const& m)
- {
- if (contains_element (m))
- {
- os << "};" << endl
- << endl;
- }
- }
-
- virtual void
- visit_unconstrained_interface_decl_pre (
- UnconstrainedInterfaceDeclPtr const& i)
- {
- if (interface_set_.find (i) != interface_set_.end ())
- {
- os << "local interface CCM_" << i->name ().simple ()
- << " : " << i->name ().simple () << endl
- << "{" << endl
- << "};" << endl
- << endl;
- }
- }
-
- virtual void
- visit_concrete_event_type_def_pre (ConcreteEventTypeDefPtr const& et)
- {
- /*
- @@ CCM issue: spec says that I need to ganarate this but nobody
- knows why.
-
- os << "local interface "
- << "CCM_" << et->name ().simple () << "Consumer" << endl
- << "{" << endl
- << "void push (in " << et->name ().simple () << " ev);" << endl
- << "};" << endl
- << endl;
- */
- }
-
- virtual void
- visit_component_def (ComponentDefPtr const& c)
- {
- c->accept (&monolith_emitter_);
- c->accept (&context_emitter_);
- }
-
- virtual void
- visit_home_def (HomeDefPtr const& h)
- {
- if (home_set_.find (h) != home_set_.end ())
- {
- h->accept (&home_explicit_emitter_);
- h->accept (&home_implicit_emitter_);
- h->accept (&home_main_emitter_);
- }
- }
-
- virtual void
- visit_composition (CompositionPtr const& c)
- {
- if (composition_map_.find (c) != composition_map_.end ())
- {
- Traversal::Composition::visit_composition (c);
- }
- }
-
- virtual void
- visit_composition_pre (CompositionPtr const& c)
- {
- ComponentDefPtr component (composition_map_.find (c)->second);
- SyntaxTree::Composition::Category::Value category = c->category ();
-
- os << "module " << c->name ().simple () << endl
- << "{" << endl;
-
- os << "local interface _Context : "
- << component->name ().scope () << "::CCM_"
- << component->name ().simple () << "_Context, ";
-
- if (category == SyntaxTree::Composition::Category::ENTITY)
- {
- os << "::Components::EntityContext" << endl;
- }
- else
- {
- os << "::Components::SessionContext" << endl;
- }
-
- os << "{" << endl
- << "};" << endl
- << endl;
- }
-
-
- virtual void
- visit_composition_post (CompositionPtr const& c)
- {
- os << "};" << endl
- << endl;
- }
-
-
- private:
-
- std::ostream& os;
-
- HomeDefSet const& home_set_;
- ComponentDefSet const& component_set_;
- ConcreteEventTypeDefSet const& event_type_set_;
- UnconstrainedInterfaceDeclSet const& interface_set_;
- CompositionMap const& composition_map_;
-
- TypeNameEmitter type_name_emitter_;
-
- ContextEmitter context_emitter_;
- IncludeEmitter include_emitter_;
- MonolithEmitter monolith_emitter_;
- HomeMainEmitter home_main_emitter_;
- HomeExplicitEmitter home_explicit_emitter_;
- HomeImplicitEmitter home_implicit_emitter_;
- };
-}
-
-void ExecutorMappingGenerator::
-options (CL::Description& d)
-{
- d.add_option (CL::OptionDescription (
- "lem-file-suffix",
- "suffix",
- "Use provided suffix instead of default \'_exec\' "
- "when constructing name of local executor mapping file.",
- true));
-
- d.add_option (CL::OptionDescription (
- "lem-file-regex",
- "regex",
- "Use provided regular expression when constructing "
- "name of local executor mapping file.",
- true));
-
- d.add_option (CL::OptionDescription (
- "lem-force-all",
- "Force generation of local executor mapping for all IDL "
- "types including those not used (directly or inderectly) "
- "by compositions. This option is useful for generating a "
- "common portion of local executor mapping used by more "
- "than one component or composition.",
- true));
-}
-
-
-void ExecutorMappingGenerator::
-generate (CommandLine const& cl,
- TranslationUnitPtr const& u)
-{
- fs::path file_path = u->principal_translation_region ()->file_path ();
-
- fs::ofstream ofs;
-
- if (!file_path.empty ())
- {
- string file_name = file_path.leaf ();
-
- string suffix = cl.get_value ("lem-file-suffix", "_exec.idl");
- string expr = cl.get_value (
- "lem-file-regex",
- "/^(.*?)(\\.(idl|cidl))?$/$1" + suffix + "/");
-
- string lem_file_name = regex::perl_s (file_name, expr);
-
- fs::path lem_file_path (lem_file_name);
-
- ofs.open (lem_file_path, std::ios_base::out);
-
- if (!ofs.is_open ())
- {
- cerr << lem_file_name << ": error: unable to open in write mode"
- << endl;
- return;
- }
- }
-
- std::ostream& os =
- ofs.is_open ()
- ? static_cast<std::ostream&> (ofs)
- : static_cast<std::ostream&> (std::cout);
-
- //@@ need to apply RAII here
-
- // Set auto-indentation for os
- IDLFormattingBuffer ifb (os.rdbuf ());
- os.rdbuf (&ifb);
-
- HomeDefSet home_set;
- ComponentDefSet component_set;
- CompositionMap composition_map;
- ConcreteEventTypeDefSet event_type_set;
- UnconstrainedInterfaceDeclSet interface_set;
-
- if (cl.get_value ("lem-force-all", false))
- {
- ForcedCollector collector (interface_set,
- component_set,
- event_type_set,
- home_set,
- composition_map);
- u->accept (&collector);
- }
- else
- {
- Collector collector (interface_set,
- component_set,
- event_type_set,
- home_set,
- composition_map);
- u->accept (&collector);
- }
-
- {
- Emitter emitter (os,
- interface_set,
- component_set,
- event_type_set,
- home_set,
- composition_map);
- u->accept (&emitter);
- }
-
- // Reset auto-indentation for os
- os.rdbuf (ifb.next ());
-}
diff --git a/TAO/CIAO/CIDLC/ExecutorMappingGenerator.hpp b/TAO/CIAO/CIDLC/ExecutorMappingGenerator.hpp
deleted file mode 100644
index 61ad1749a29..00000000000
--- a/TAO/CIAO/CIDLC/ExecutorMappingGenerator.hpp
+++ /dev/null
@@ -1,22 +0,0 @@
-// $Id$
-#ifndef EXECUTOR_MAPPING_GENERATOR_HPP
-#define EXECUTOR_MAPPING_GENERATOR_HPP
-
-#include "CCF/CodeGenerationKit/CommandLine.hpp"
-#include "CCF/CodeGenerationKit/CommandLineDescriptor.hpp"
-
-#include "CCF/CIDL/CIDL_SyntaxTreeFwd.hpp"
-
-class ExecutorMappingGenerator
-{
-public:
-
- void
- options (CL::Description& d);
-
- void
- generate (CommandLine const& cl,
- CIDL::SyntaxTree::TranslationUnitPtr const&);
-};
-
-#endif // EXECUTOR_MAPPING_GENERATOR_HPP
diff --git a/TAO/CIAO/CIDLC/Literals.hpp b/TAO/CIAO/CIDLC/Literals.hpp
deleted file mode 100644
index 2e612e6fa0d..00000000000
--- a/TAO/CIAO/CIDLC/Literals.hpp
+++ /dev/null
@@ -1,92 +0,0 @@
-// $Id$
-namespace StringLiterals
-{
- static const char COPYRIGHT[] =
- "// $I" "d$\n"
- "//\n"
- "// **** Code generated by the ****\n"
- "// **** Component Integrated ACE ORB (CIAO) CIDL Compiler ****\n"
- "// CIAO has been developed by:\n"
- "// Center for Distributed Object Computing\n"
- "// Washington University\n"
- "// St. Louis, MO\n"
- "// USA\n"
- "// http://www.cs.wustl.edu/~schmidt/doc-center.html\n"
- "// CIDL Compiler has been developed by:\n"
- "// Institute for Software Integrated Systems\n"
- "// Vanderbilt University\n"
- "// Nashville, TN\n"
- "// USA\n"
- "// http://www.isis.vanderbilt.edu/\n"
- "//\n"
- "// Information about CIAO is available at:\n"
- "// http://www.cs.wustl.edu/~nanbor/projects/CIAO-src/docs/index.html";
-
- static const char *STRS[] =
- {
- // ACE Environment portability macros.
- "ACE_ENV_ARG_DECL_WITH_DEFAULTS", // ENV_HDR
- "ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS", // ENV_SNGL_HDR
- "ACE_ENV_ARG_DECL", // ENV_SRC
- "ACE_ENV_SINGLE_ARG_DECL", // ENV_SNGL_SRC
- "ACE_ENV_ARG_PARAMETER", // ENV_ARG
- "ACE_ENV_SINGLE_ARG_PARAMETER", // ENV_SNGL_ARG
-
- // Common CORBA and all Components exceptions.
- "ACE_THROW_SPEC ((CORBA::SystemException))", // EXCP_SNGL
- "ACE_THROW_SPEC ((", // EXCP_START
- "::CORBA::SystemException", // EXCP_SYS
- "::Components::IllegalState", // EXCP_IS
- "::Components::AlreadyConnected", // EXCP_AC
- "::Components::InvalidConnection", // EXCP_IC
- "::Components::NoConnection", // EXCP_NC
- "::Components::ExceededConnectionLimit", // EXCP_ECL
- "::Components::InvalidName", // EXCP_IN
- "::Components::RemoveFailure", // EXCP_RF
- "::Components::NoKeyAvailable", // EXCP_NKA
- "::Components::InvalidConfiguration", // EXCP_ICF
- "::Components::CookieRequired", // EXCP_CR
- "::Components::BadEventType", // EXCP_BET
-
- // Commonly used Components module members.
- "::Components::Cookie", // COMP_CK
- "::Components::NameList &names", // COMP_NAMES
- "::Components::EventConsumerBase", // COMP_ECB
-
- // This could change - don't want it scattered all over.
- "namespace CIAO_GLUE", // GLUE_NS
-
- // Commonly used base class.
- "public virtual PortableServer::RefCountServantBase" // INH_RCSB
- };
-
- // Index into the strings above.
- enum
- {
- ENV_HDR = 0,
- ENV_SNGL_HDR,
- ENV_SRC,
- ENV_SNGL_SRC,
- ENV_ARG,
- ENV_SNGL_ARG,
- EXCP_SNGL,
- EXCP_START,
- EXCP_SYS,
- EXCP_IS,
- EXCP_AC,
- EXCP_IC,
- EXCP_NC,
- EXCP_ECL,
- EXCP_IN,
- EXCP_RF,
- EXCP_NKA,
- EXCP_ICF,
- EXCP_CR,
- EXCP_BET,
- COMP_CK,
- COMP_NAMES,
- COMP_ECB,
- GLUE_NS,
- INH_RCSB
- };
-}
diff --git a/TAO/CIAO/CIDLC/Makefile b/TAO/CIAO/CIDLC/Makefile
deleted file mode 100644
index 1bcda7c4228..00000000000
--- a/TAO/CIAO/CIDLC/Makefile
+++ /dev/null
@@ -1,33 +0,0 @@
-# File : Makefile
-# Author : Boris Kolpackov <boris@kolpackov.net>
-# $Id$
-
-root = CCF/External/Utility
-
-include $(root)/Config/Executable.pre.rules
-
-cxx_translation_units := ExecutorMappingGenerator.cpp \
- ServantGenerator.cpp \
- ServantHeaderGenerator.cpp \
- ServantSourceGenerator.cpp \
- cidlc.cpp
-
-module_base := cidlc
-module_prefix :=
-module_suffix :=
-
-CXX_PREPROCESS_FLAGS += -ICCF -ICCF/External/Utility -ICCF/External/boost
-
-CXX_LINK_LIBS += -LCCF/CCF/IDL2 \
- -lIDL2 \
- -LCCF/CCF/IDL3 \
- -lIDL3 \
- -LCCF/CCF/CIDL \
- -lCIDL \
- -LCCF/CCF/CodeGenerationKit \
- -lCodeGenerationKit \
- -LCCF/External/boost/lib \
- -lboost_regex \
- -lboost_filesystem
-
-include $(root)/Config/Executable.post.rules
diff --git a/TAO/CIAO/CIDLC/README b/TAO/CIAO/CIDLC/README
deleted file mode 100644
index a19f1b94b2f..00000000000
--- a/TAO/CIAO/CIDLC/README
+++ /dev/null
@@ -1,49 +0,0 @@
-
-The C++ source files in this directory are compiled into the
-code generators and driver for the CIAO CIDL compiler.
-
-The CIDL compiler's front end is built from files in the
-$CIAO_ROOT/CCF directory.
-
-The CIAO CIDL compiler uses the Boost library, which may be
-downloaded from:
-
-http://www.boost.org
-
-See documentation files in CIAO_ROOT/CCF/External/Utility/Documentation
-for more information on installation, supported platforms, design, etc.
-
-Binary executables for the CIDL compiler are available at
-
-http://www.dre.vanderbilt.edu/CIAO/CIDL.html
-
-Versions are available at the above site for Linux and Windows.
-
-
--jeff
-
------------------------------------------------------------------
-Naming Convention.
-
-The CIAO's CIDL compiler directory was called CIDLC which stands for
-CIDL Compiler (like CC stands for C Compiler, etc). This directory
-wasn't called CCIDLC (CIAO's CIDL Compiler) or CIAO_CIDLC because
-that would incure needless tautology since the directory structure
-(.../CIAO/tools/CIDLC) already implies that it's CIAO's CIDC.
-
-Now about CIDLC executable name. The logical name of the excutable
-implied by directory name (CIDLC) would be cidlc (like cc for
-C Compiler). However there was a concern originally expressed by
-Nanbor that cidlc is too generic name and when installed for
-example as /usr/bin/cidlc would loose it's CIAO's context.
-
-At the same time recommended by FHS (Filesystem Hierarchy Standard)
-package installation location is /opt/<package>. Thus if installation
-directory would be for instance /opt/CIAO then naming CIDLC executable
-ciao_cidlc would create needless tautology (i.e./opt/CIAO/bin/ciao_cidlc).
-Though in my opinion there is nothing bad in having generic name like
-cidlc (user always can execute cidlc --version) and as suggested by FHS
-installations like /usr/bin/ciao_cidl are non-conformant the decision was
-made to call CIAO's CIDLC execuatable ciao_cidlc.
-
--boris
diff --git a/TAO/CIAO/CIDLC/ServantGenerator.cpp b/TAO/CIAO/CIDLC/ServantGenerator.cpp
deleted file mode 100644
index d3660db7385..00000000000
--- a/TAO/CIAO/CIDLC/ServantGenerator.cpp
+++ /dev/null
@@ -1,205 +0,0 @@
-// $Id$
-#include "ServantGenerator.hpp"
-#include "ServantHeaderGenerator.hpp"
-#include "ServantSourceGenerator.hpp"
-
-#include "CCF/CodeGenerationKit/Regex.hpp"
-#include "CCF/CodeGenerationKit/IDLStream.hpp"
-
-ProvidesCollector::ProvidesCollector (
- UnconstrainedInterfaceDefSet& interface_set)
- : interface_set_ (interface_set)
-{
-}
-
-void
-ProvidesCollector::visit_provides_decl (ProvidesDeclPtr const& p)
-{
- //@@ CCM issue: interface should be defined at this point
- UnconstrainedInterfaceDefPtr def (
- p->type ()->dynamic_type<SyntaxTree::UnconstrainedInterfaceDef> ());
-
- if (def != 0)
- {
- // Add to the list if it's not already there.
- interface_set_.insert (def);
- }
-}
-
-Collector::Collector (UnconstrainedInterfaceDefSet& interface_set,
- ComponentDefSet& component_set,
- HomeDefSet& home_set)
- : component_set_ (component_set),
- home_set_ (home_set),
- provides_collector_ (interface_set)
-{
-}
-
-void
-Collector::visit_home_executor (HomeExecutorPtr const& he)
-{
- HomeDefPtr h = he->implements ();
- ComponentDefPtr c = h->manages ();
-
- //@@unsupported: need to handle inherited components as well
- component_set_.insert (c);
- home_set_.insert (h);
-
- c->accept (&provides_collector_);
-}
-
-namespace
-{
- // On some platforms toupper can be something else than a
- // function.
- int
- upcase (int c)
- {
- return toupper (c);
- }
-}
-
-ServantGenerator::ServantGenerator (CommandLine const& cl)
- : cl_ (cl),
- file_name_ (""),
- export_macro_ ("")
-{
-}
-
-void
-ServantGenerator::generate (CIDL::SyntaxTree::TranslationUnitPtr const& u)
-{
- ComponentDefSet component_set_;
- HomeDefSet home_set_;
- UnconstrainedInterfaceDefSet interface_set;
-
- {
- Collector collector (interface_set,
- component_set_,
- home_set_);
- u->accept (&collector);
- }
-
- compute_export_macro (u->principal_translation_region ()->file_path ());
-
- {
- fs::ofstream hdr_ofs;
- ostream& hdr_os = configure_stream ("hdr-file-suffix",
- "_svnt.h",
- "hdr-file-regex",
- hdr_ofs);
-
- // Set auto-indentation for os
- IDLFormattingBuffer ifb (hdr_os.rdbuf ());
- hdr_os.rdbuf (&ifb);
-
- {
- ServantHeaderEmitter hdr_emitter (hdr_os,
- cl_,
- export_macro_,
- interface_set,
- component_set_,
- home_set_);
- u->accept (&hdr_emitter);
- }
-
- {
- ServantHeaderFinalizingEmitter hdr_finalizer (hdr_os,
- cl_,
- export_macro_);
- u->accept (&hdr_finalizer);
- }
- }
-
- {
- fs::ofstream src_ofs;
- ostream& src_os = configure_stream ("src-file-suffix",
- "_svnt.cpp",
- "src-file-regex",
- src_ofs);
-
- // Set auto-indentation for os
- IDLFormattingBuffer ifb (src_os.rdbuf ());
- src_os.rdbuf (&ifb);
-
- {
- ServantSourceEmitter src_emitter (src_os,
- cl_,
- interface_set,
- component_set_,
- home_set_);
- u->accept (&src_emitter);
- }
-
- {
- ServantSourceFinalizingEmitter src_finalizer (src_os,
- export_macro_);
- u->accept (&src_finalizer);
- }
- }
-}
-
-void
-ServantGenerator::compute_export_macro (const fs::path& file_path)
-{
- if (!file_path.empty ())
- {
- file_name_ = file_path.leaf ();
- }
-
- export_macro_ = cl_.get_value ("export-macro", "");
-
- if (export_macro_.empty () && !file_name_.empty ())
- {
- // Modify a copy of the filename string.
- export_macro_ = file_name_;
-
- // Convert filename string to upper case.
- transform (export_macro_.begin (),
- export_macro_.end (),
- export_macro_.begin (),
- upcase);
-
- // Replace the suffix.
- export_macro_ =
- regex::perl_s (export_macro_,
- "/^(.*?)(\\.(IDL|CIDL))?$/$1_SVNT_Export/");
-
- // Replace any remaining '.' in the string with '_'.
- export_macro_ = regex::perl_s (export_macro_,
- "/\\./_/");
- }
-}
-
-ostream&
-ServantGenerator::configure_stream (string const& suffix_option,
- string const& default_suffix,
- string const& regex_option,
- fs::ofstream& ofs)
-{
- if (! file_name_.empty ())
- {
- string file_suffix = cl_.get_value (suffix_option,
- default_suffix);
- string file_expr =
- cl_.get_value (regex_option,
- "/^(.*?)(\\.(idl|cidl))?$/$1" + file_suffix + "/");
-
- string file_name = regex::perl_s (file_name_, file_expr);
-
- fs::path file_path (file_name);
-
- ofs.open (file_path, std::ios_base::out);
-
- if (!ofs.is_open ())
- {
- cerr << file_name
- << ": error: unable to open file in write mode"
- << endl;
- }
- }
-
- return ofs.is_open ()
- ? static_cast<ostream&> (ofs)
- : static_cast<ostream&> (cout);
-}
diff --git a/TAO/CIAO/CIDLC/ServantGenerator.hpp b/TAO/CIAO/CIDLC/ServantGenerator.hpp
deleted file mode 100644
index 79ef0a0eab0..00000000000
--- a/TAO/CIAO/CIDLC/ServantGenerator.hpp
+++ /dev/null
@@ -1,81 +0,0 @@
-// $Id$
-#ifndef SERVANT_GENERATOR_HPP
-#define SERVANT_GENERATOR_HPP
-
-#include "CCF/CodeGenerationKit/CommandLine.hpp"
-
-#include "CCF/CIDL/CIDL_SyntaxTree.hpp"
-#include "CCF/CIDL/CIDL_Traversal.hpp"
-
-using namespace std;
-
-using namespace CIDL;
-using namespace CIDL::SyntaxTree;
-
-// ProvidesCollector collects interfaces that appear in provides
-// declaration of a component in question. Used as a building block
-// by Collector.
-//
-class ProvidesCollector : public virtual Traversal::ComponentDef,
- public virtual Traversal::ProvidesDecl
-{
-public:
- ProvidesCollector (UnconstrainedInterfaceDefSet& interface_set);
-
- virtual void
- visit_provides_decl (ProvidesDeclPtr const& p);
-
-private:
- UnconstrainedInterfaceDefSet& interface_set_;
-};
-
-// Collector populates lists of declarations for which local facet
-// executor mapping should be provided.
-//
-class Collector : public virtual Traversal::TranslationUnit,
- public virtual Traversal::TranslationRegion,
- public virtual Traversal::FileScope,
- public virtual Traversal::Module,
- public virtual Traversal::Composition,
- public virtual Traversal::HomeExecutor
-{
-public:
- Collector (UnconstrainedInterfaceDefSet& interface_set,
- ComponentDefSet& component_set,
- HomeDefSet& home_set);
-
- virtual void
- visit_home_executor (HomeExecutorPtr const& he);
-
-private:
- ComponentDefSet& component_set_;
- HomeDefSet& home_set_;
-
- ProvidesCollector provides_collector_;
-};
-
-class ServantGenerator
-{
-public:
- ServantGenerator (CommandLine const& cl);
-
- void
- generate (TranslationUnitPtr const& u);
-
-private:
- void
- compute_export_macro (const fs::path& file_path);
-
- ostream&
- configure_stream (string const& suffix_option,
- string const& default_suffix,
- string const& regex_option,
- fs::ofstream& ofs);
-
-private:
- CommandLine const& cl_;
- string file_name_;
- string export_macro_;
-};
-
-#endif // SERVANT_GENERATOR_HPP
diff --git a/TAO/CIAO/CIDLC/ServantHeaderGenerator.cpp b/TAO/CIAO/CIDLC/ServantHeaderGenerator.cpp
deleted file mode 100644
index f89a85ece29..00000000000
--- a/TAO/CIAO/CIDLC/ServantHeaderGenerator.cpp
+++ /dev/null
@@ -1,1733 +0,0 @@
-// $Id$
-#include "ServantHeaderGenerator.hpp"
-
-#include "Literals.hpp"
-
-#include "CCF/CodeGenerationKit/Regex.hpp"
-#include "CCF/CodeGenerationKit/IDLStream.hpp"
-
-#include <cctype>
-#include <algorithm>
-#include <ostream>
-
-using namespace StringLiterals;
-
-namespace
-{
- // Generates the name of an operation's return type.
- //
- //
- class ReturnTypeNameEmitter : public HeaderEmitterBase,
- public virtual Traversal::Void,
- public virtual Traversal::Boolean,
- public virtual Traversal::Long,
- public virtual Traversal::String,
- public virtual Traversal::LocalInterfaceDecl
- {
- public:
- ReturnTypeNameEmitter (ostream& os_)
- : HeaderEmitterBase (os_)
- {
- }
-
- virtual void
- visit_void (VoidPtr const&)
- {
- os << "void";
- }
-
- virtual void
- visit_boolean (BooleanPtr const&)
- {
- os << "::CORBA::Boolean";
- }
-
- virtual void
- visit_long (LongPtr const&)
- {
- os << "::CORBA::Long";
- }
-
- virtual void
- visit_string (StringPtr const&)
- {
- os << "char *";
- }
-
- virtual void
- visit_local_interface_decl (LocalInterfaceDeclPtr const& i)
- {
- os << i->name () << "_ptr";
- }
- };
-
- // Generates the typename of an IN argument.
- //
- //
- class INArgTypeNameEmitter : public HeaderEmitterBase,
- public virtual Traversal::Boolean,
- public virtual Traversal::Long,
- public virtual Traversal::String
- {
- public:
- INArgTypeNameEmitter (ostream& os_)
- : HeaderEmitterBase (os_)
- {
- }
-
- virtual void
- visit_boolean (BooleanPtr const&)
- {
- os << "::CORBA::Boolean";
- }
-
- virtual void
- visit_long (LongPtr const&)
- {
- os << "::CORBA::Long";
- }
-
- virtual void
- visit_string (StringPtr const&)
- {
- os << "const char *";
- }
- };
-
- // Generates the typename of an OUT argument.
- //
- //
- class OUTArgTypeNameEmitter : public HeaderEmitterBase,
- public virtual Traversal::Boolean,
- public virtual Traversal::Long,
- public virtual Traversal::String
- {
- public:
- OUTArgTypeNameEmitter (ostream& os_)
- : HeaderEmitterBase (os_)
- {
- }
-
- virtual void
- visit_boolean (BooleanPtr const&)
- {
- os << "::CORBA::Boolean_out";
- }
-
- virtual void
- visit_long (LongPtr const&)
- {
- os << "::CORBA::Long_out";
- }
-
- virtual void
- visit_string (StringPtr const&)
- {
- os << "::CORBA::String_out";
- }
- };
-
- // Generates the typename of an INOUT argument.
- //
- //
- class INOUTArgTypeNameEmitter : public HeaderEmitterBase,
- public virtual Traversal::Boolean,
- public virtual Traversal::Long,
- public virtual Traversal::String
- {
- public:
- INOUTArgTypeNameEmitter (ostream& os_)
- : HeaderEmitterBase (os_)
- {
- }
-
- virtual void
- visit_boolean (BooleanPtr const&)
- {
- os << "::CORBA::Boolean &";
- }
-
- virtual void
- visit_long (LongPtr const&)
- {
- os << "::CORBA::Long &";
- }
-
- virtual void
- visit_string (StringPtr const&)
- {
- os << "char *&";
- }
- };
-
- // Generates parts of the accessor operation for an attribute.
- //
- //
- class GetAttributeEmitter : public HeaderEmitterBase,
- public virtual Traversal::AttributeDecl,
- public virtual Traversal::ComponentDef
- {
- public:
- GetAttributeEmitter (ostream& os_,
- ReturnTypeNameEmitter* return_type_name_emitter)
- : HeaderEmitterBase (os_),
- AttributeDecl (return_type_name_emitter)
- {
- }
-
- virtual void
- visit_attribute_pre (AttributeDeclPtr const&)
- {
- os << "virtual ";
- }
-
- virtual void
- visit_attribute_post (AttributeDeclPtr const& a)
- {
- os << endl
- << a->name ().simple () << " (" << endl
- << STRS[ENV_SNGL_HDR] << ")" << endl
- << STRS[EXCP_SNGL] << ";" << endl << endl;
- }
- };
-
- // Generates parts of the mutator operation for an attribute.
- //
- //
- class SetAttributeEmitter : public HeaderEmitterBase,
- public virtual Traversal::AttributeDecl
- {
- public:
- SetAttributeEmitter (ostream& os_,
- ReturnTypeNameEmitter* return_type_name_emitter)
- : HeaderEmitterBase (os_),
- AttributeDecl (return_type_name_emitter)
- {
- }
-
- virtual void
- visit_attribute_pre (AttributeDeclPtr const& a)
- {
- os << "virtual void " << endl
- << a->name ().simple () << " (" << endl;
- }
-
- virtual void
- visit_attribute_post (AttributeDeclPtr const&)
- {
- os << endl
- << STRS[ENV_HDR] << ")" << endl
- << STRS[EXCP_SNGL] << ";" << endl << endl;
- }
- };
-
- //
- //
- //
- class OperationEmitter : public HeaderEmitterBase,
- public virtual Traversal::OperationParameter,
- public virtual Traversal::Comma,
- public virtual Traversal::UnconstrainedInterfaceDef,
- public virtual Traversal::OperationDecl
- {
- public:
- OperationEmitter (ostream& os_,
- ReturnTypeNameEmitter* return_type_name_emitter,
- INArgTypeNameEmitter* inarg_type_name_emitter_,
- OUTArgTypeNameEmitter* outarg_type_name_emitter_,
- INOUTArgTypeNameEmitter* inoutarg_type_name_emitter_)
- : HeaderEmitterBase (os_),
- OperationParameter (inarg_type_name_emitter_,
- outarg_type_name_emitter_,
- inoutarg_type_name_emitter_),
- OperationDecl (return_type_name_emitter)
- {
- }
-
- virtual void
- visit_operation_decl_pre (OperationDeclPtr const&)
- {
- os << "virtual ";
- }
-
- virtual void
- visit_operation_decl_name (OperationDeclPtr const& d)
- {
- os << endl << d->name ().simple () << " (";
- }
-
- virtual void
- visit_operation_parameter_pre (OperationParameterPtr const&)
- {
- os << endl;
- }
-
- virtual void
- visit_operation_parameter_post (OperationParameterPtr const& op)
- {
- os << " " << op->name ();
- }
-
- virtual void
- visit_comma (CommaPtr const&)
- {
- os << ",";
- }
-
- virtual void
- visit_operation_decl_post (OperationDeclPtr const& d)
- {
- // @@@ (JP) Need to process exception list.
- os << endl
- << (d->begin () == d->end () ? STRS[ENV_SNGL_HDR] : STRS[ENV_HDR])
- << ")" << endl
- << STRS[EXCP_SNGL] << ";" << endl << endl;
- }
- };
-
- // Generates the operation associated with a home factory declaration.
- //
- //
- class FactoryEmitter : public HeaderEmitterBase,
- public virtual Traversal::HomeFactoryDecl,
- public virtual Traversal::OperationParameter,
- public virtual Traversal::Comma
- {
- public:
- FactoryEmitter (ostream& os_,
- INArgTypeNameEmitter* inarg_type_name_emitter_)
- : HeaderEmitterBase (os_),
- OperationParameter (inarg_type_name_emitter_,
- inarg_type_name_emitter_,
- inarg_type_name_emitter_)
- {
- }
-
- virtual void
- visit_home_factory_decl_pre (HomeFactoryDeclPtr const&)
- {
- os << "virtual ";
- }
-
- virtual void
- visit_home_factory_decl_type (HomeFactoryDeclPtr const& f)
- {
- HomeDefPtr def (f->scope ()->dynamic_type<SyntaxTree::HomeDef> ());
- os << def->manages ()->name () << "_ptr";
- }
-
- virtual void
- visit_home_factory_decl_name (HomeFactoryDeclPtr const& f)
- {
- os << endl
- << f->name ().simple () << " (";
- }
-
- virtual void
- visit_operation_parameter_pre (OperationParameterPtr const&)
- {
- os << endl;
- }
-
- virtual void
- visit_operation_parameter_post (OperationParameterPtr const& op)
- {
- os << " " << op->name ();
- }
-
- virtual void
- visit_comma (CommaPtr const&)
- {
- os << ",";
- }
-
- virtual void
- visit_home_factory_decl_post (HomeFactoryDeclPtr const& f)
- {
- // @@@ (JP) Need to process exception list.
- os << (f->begin () == f->end () ? STRS[ENV_SNGL_HDR] : STRS[ENV_HDR])
- << ")" << endl
- << STRS[EXCP_SNGL] << ";" << endl << endl;
- }
- };
-
- //
- // FacetEmitter generates a facet servant class declaration.
- //
- class FacetEmitter : public HeaderEmitterBase,
- public virtual Traversal::UnconstrainedInterfaceDef,
- public virtual Traversal::OperationDecl,
- public virtual Traversal::AttributeDecl
- {
- private:
- string export_macro_;
-
- ReturnTypeNameEmitter return_type_name_emitter_;
- INArgTypeNameEmitter inarg_type_name_emitter_;
- OUTArgTypeNameEmitter outarg_type_name_emitter_;
- INOUTArgTypeNameEmitter inoutarg_type_name_emitter_;
-
- OperationEmitter operation_emitter_;
-
- public:
- FacetEmitter (ostream& os_,
- string export_macro)
- : HeaderEmitterBase (os_),
- export_macro_ (export_macro),
- return_type_name_emitter_ (os_),
- inarg_type_name_emitter_ (os_),
- outarg_type_name_emitter_ (os_),
- inoutarg_type_name_emitter_ (os_),
- operation_emitter_ (os_,
- &return_type_name_emitter_,
- &inarg_type_name_emitter_,
- &outarg_type_name_emitter_,
- &inoutarg_type_name_emitter_)
- {
- }
-
- virtual void
- visit_unconstrained_interface_def_pre (
- UnconstrainedInterfaceDefPtr const& i)
- {
- // If we are at file scope, we create a namespace anyway.
- if (i->scope ()->dynamic_type<IDL2::SyntaxTree::FileScope> () != 0)
- {
- os << STRS[GLUE_NS] << endl
- << "{" << endl;
- }
-
- // @@@ (JP) Need export macro and prefixable scoped name.
- os << "class " << export_macro_ << " " << i->name ().simple ()
- << "_Servant" << endl
- << ": public virtual POA_" << i->name ().in_file_scope ()
- << "," << endl
- << STRS[INH_RCSB]
- << endl
- << "{" << endl
- << "public:" << endl;
-
- os << i->name ().simple () << "_Servant (" << endl
- << i->name ().scope () << "::CCM_" << i->name ().simple ()
- << "_ptr executor," << endl
- << "::Components::CCMContext_ptr ctx);" << endl << endl;
-
- os << "virtual ~" << i->name ().simple () << "_Servant (void);"
- << endl << endl;
- }
-
- virtual void
- visit_operation_decl (OperationDeclPtr const& d)
- {
- d->accept (&operation_emitter_);
- }
-
- virtual void
- visit_attribute_decl (AttributeDeclPtr const&)
- {
- // TODO
- }
-
- virtual void
- visit_unconstrained_interface_def_post (
- UnconstrainedInterfaceDefPtr const& i)
- {
- os << "// Get component implementation." << endl
- << "virtual CORBA::Object_ptr" << endl
- << "_get_component (" << endl
- << STRS[ENV_SNGL_HDR] << ")" << endl
- << STRS[EXCP_SNGL] << ";"
- << endl << endl;
-
- os << "protected:" << endl
- << "// Facet executor." << endl
- << i->name ().scope () << "::CCM_" << i->name ().simple ()
- << "_var executor_;" << endl << endl;
-
- os << "// Context object." << endl
- << "::Components::CCMContext_var ctx_;" << endl
- << "};" << endl;
-
- // Close the CIAO_GLUE namespace, if we opened one.
- if (i->scope ()->dynamic_type<IDL2::SyntaxTree::FileScope> () != 0)
- {
- os << "}" << endl;
- }
-
- os << endl;
- }
- };
-
- //
- // Generates public part of component context interface declaration.
- //
- class ContextPublicEmitter : public HeaderEmitterBase,
- public virtual Traversal::ComponentDef,
- public virtual Traversal::UsesDecl,
- public virtual Traversal::PublishesDecl,
- public virtual Traversal::EmitsDecl
- {
- private:
- string export_macro_;
-
- public:
- ContextPublicEmitter (ostream& os_,
- string export_macro)
- : HeaderEmitterBase (os_),
- export_macro_ (export_macro)
- {
- }
-
- virtual void
- visit_component_def_pre (ComponentDefPtr const& c)
- {
- // If we are at file scope, we create a namespace anyway.
- if (c->scope ()->dynamic_type<IDL2::SyntaxTree::FileScope> () != 0)
- {
- os << STRS[GLUE_NS] << endl
- << "{" << endl;
- }
-
- // @@@ (JP) Need export macro.
- os << "class " << export_macro_ << " " << c->name ().simple ()
- << "_Context" << endl
- << ": public virtual " << c->name ().scope () << "::CCM_"
- << c->name ().simple () << "_Context,"
- << endl
- << "public virtual TAO_Local_RefCounted_Object"
- << endl
- << "{" << endl
- << "public:" << endl;
-
- os << "// We will allow the servant glue code we generate to "
- << "access our state." << endl
- << "friend class " << c->name ().simple () << "_Servant;"
- << endl << endl;
-
- os << c->name ().simple () << "_Context (" << endl
- << "::Components::CCMHome_ptr home," << endl
- << "::CIAO::Session_Container *c," << endl
- << c->name ().simple () << "_Servant *sv);" << endl << endl;
-
- os << "virtual ~" << c->name ().simple () << "_Context (void);"
- << endl << endl;
-
- os << "// Operations from ::Components::CCMContext." << endl << endl;
-
- os << "virtual ::Components::Principal_ptr" << endl
- << "get_caller_principal (" << endl
- << STRS[ENV_SNGL_HDR] << ")" << endl
- << STRS[EXCP_SNGL] << ";" << endl << endl;
-
- os << "virtual ::Components::CCMHome_ptr" << endl
- << "get_CCM_home (" << endl
- << STRS[ENV_SNGL_HDR] << ")" << endl
- << STRS[EXCP_SNGL] << ";" << endl << endl;
-
- os << "virtual CORBA::Boolean" << endl
- << "get_rollback_only (" << endl
- << STRS[ENV_SNGL_HDR] << ")" << endl
- << STRS[EXCP_START] << endl
- << STRS[EXCP_SYS] << "," << endl
- << STRS[EXCP_IS] << "));" << endl << endl;
-
- os << "virtual ::Components::Transaction::UserTransaction_ptr" << endl
- << "get_user_transaction (" << endl
- << STRS[ENV_SNGL_HDR] << ")" << endl
- << STRS[EXCP_START] << endl
- << STRS[EXCP_SYS] << "," << endl
- << STRS[EXCP_IS] << "));" << endl << endl;
-
- os << "virtual CORBA::Boolean" << endl
- << "is_caller_in_role (" << endl
- << "const char *role" << endl
- << STRS[ENV_HDR] << ")" << endl
- << STRS[EXCP_SNGL] << ";" << endl << endl;
-
- os << "virtual void" << endl
- << "set_rollback_only (" << endl
- << STRS[ENV_SNGL_HDR] << ")" << endl
- << STRS[EXCP_START] << endl
- << STRS[EXCP_SYS] << "," << endl
- << STRS[EXCP_IS] << "));" << endl << endl;
-
- os << "// Operations from ::Components::SessionContext interface."
- << endl << endl;
-
- os << "virtual CORBA::Object_ptr" << endl
- << "get_CCM_object (" << endl
- << STRS[ENV_SNGL_HDR] << ")" << endl
- << STRS[EXCP_START] << endl
- << STRS[EXCP_SYS] << "," << endl
- << STRS[EXCP_IS] << "));" << endl << endl;
-
- os << "// Operations for " << c->name ().simple () << " receptacles"
- << " and event sources," << endl
- << "// defined in " << c->name ().scope () << "::CCM_"
- << c->name ().simple () << "_Context."
- << endl << endl;
- }
-
- virtual void
- visit_uses_decl (UsesDeclPtr const& d)
- {
- // @@@ (JP) Need to handle multiple connections.
- os << "virtual " << d->type ()->name () << "_ptr" << endl
- << "get_connection_" << d->name ().simple ()
- << " (" << endl
- << STRS[ENV_SNGL_HDR] << ")" << endl
- << STRS[EXCP_SNGL] << ";" << endl << endl;
- }
-
- virtual void
- visit_publishes_decl (PublishesDeclPtr const& d)
- {
- os << "virtual void" << endl
- << "push_" << d->name ().simple ()
- << " (" << endl
- << d->type ()->name () << " *ev" << endl
- << STRS[ENV_HDR] << ")" << endl
- << STRS[EXCP_SNGL] << ";" << endl << endl;
- }
-
- virtual void
- visit_emits_decl (EmitsDeclPtr const& d)
- {
- os << "virtual void" << endl
- << "push_" << d->name ().simple ()
- << " (" << endl
- << d->type ()->name () << " *ev" << endl
- << STRS[ENV_HDR] << ")" << endl
- << STRS[EXCP_SNGL] << ";" << endl << endl;
- }
- };
-
- //
- // Generates protected methods of component context interface declaration.
- //
- class ContextProtectedMethodEmitter
- : public HeaderEmitterBase,
- public virtual Traversal::ComponentDef,
- public virtual Traversal::UsesDecl,
- public virtual Traversal::PublishesDecl,
- public virtual Traversal::EmitsDecl
- {
- public:
- ContextProtectedMethodEmitter (ostream& os_)
- : HeaderEmitterBase (os_)
- {
- }
-
- virtual void
- visit_component_def_pre (ComponentDefPtr const& c)
- {
- os << "protected:" << endl
- << "// Methods that manage this component's connections"
- << " and consumers." << endl << endl;
- }
-
- virtual void
- visit_uses_decl (UsesDeclPtr const& d)
- {
- // @@@ (JP) Need to handle multiple connections.
- os << "virtual void" << endl
- << "connect_" << d->name ().simple () << " (" << endl
- << d->type ()->name () << "_ptr" << endl
- << STRS[ENV_HDR] << ")" << endl
- << STRS[EXCP_START] << endl
- << STRS[EXCP_SYS] << "," << endl
- << STRS[EXCP_AC] << "," << endl
- << STRS[EXCP_IC] << "));" << endl << endl;
-
- os << "virtual " << d->type ()->name () << "_ptr" << endl
- << "disconnect_" << d->name ().simple () << " (" << endl
- << STRS[ENV_SNGL_HDR] << ")" << endl
- << STRS[EXCP_START] << endl
- << STRS[EXCP_SYS] << "," << endl
- << STRS[EXCP_NC] << "));" << endl << endl;
- }
-
- virtual void
- visit_emits_decl (EmitsDeclPtr const& d)
- {
- os << "virtual void" << endl
- << "connect_" << d->name ().simple () << " (" << endl
- << d->type ()->name () << "Consumer_ptr c" << endl
- << STRS[ENV_HDR] << ")" << endl
- << STRS[EXCP_SNGL] << ";" << endl << endl;
-
- os << "virtual " << d->type ()->name () << "_ptr" << endl
- << "disconnect_" << d->name ().simple () << " (" << endl
- << STRS[ENV_SNGL_HDR] << ")" << endl
- << STRS[EXCP_START] << endl
- << STRS[EXCP_SYS] << "," << endl
- << STRS[EXCP_NC] << "));" << endl << endl;
- }
-
- virtual void
- visit_publishes_decl (PublishesDeclPtr const& p)
- {
- os << "virtual " << STRS[COMP_CK] << " *" << endl
- << "subscribe_" << p->name ().simple () << " (" << endl
- << p->type ()->name () << "Consumer_ptr c" << endl
- << STRS[ENV_HDR] << ")" << endl
- << STRS[EXCP_START] << endl
- << STRS[EXCP_SYS] << "," << endl
- << STRS[EXCP_ECL] << "));" << endl << endl;
-
- os << "virtual " << p->type ()->name () << "Consumer_ptr" << endl
- << "unsubscribe_" << p->name ().simple () << " (" << endl
- << STRS[COMP_CK] << " *ck" << endl
- << STRS[ENV_HDR] << ")" << endl
- << STRS[EXCP_START] << endl
- << STRS[EXCP_SYS] << "," << endl
- << STRS[EXCP_IC] << "));" << endl << endl;
- }
- };
-
- //
- // Generates protected members of component context interface declaration.
- //
- class ContextProtectedMemberEmitter
- : public HeaderEmitterBase,
- public virtual Traversal::ComponentDef,
- public virtual Traversal::UsesDecl,
- public virtual Traversal::PublishesDecl,
- public virtual Traversal::EmitsDecl
- {
- public:
- ContextProtectedMemberEmitter (ostream& os_)
- : HeaderEmitterBase (os_)
- {
- }
-
- virtual void
- visit_component_def_pre (ComponentDefPtr const& c)
- {
- os << "protected:" << endl;
- }
-
- virtual void
- visit_uses_decl (UsesDeclPtr const& d)
- {
- // @@@ (JP) Need to handle multiple connections.
- os << "// Simplex " << d->name ().simple () << " connection." << endl
- << d->type ()->name () << "_var" << endl
- << "ciao_uses_" << d->name ().simple () << "_;" << endl << endl;
- }
-
- virtual void
- visit_emits_decl (EmitsDeclPtr const& d)
- {
- os << d->type ()->name () << "Consumer_var" << endl
- << "ciao_emits_" << d->name ().simple () << "_consumer_;"
- << endl << endl;
- }
-
- virtual void
- visit_publishes_decl (PublishesDeclPtr const& p)
- {
- os << "ACE_Active_Map_Manager<" << endl
- << p->type ()->name () << "Consumer_var>" << endl
- << "ciao_publishes_" << p->name ().simple () << "_map_;"
- << endl << endl;
- }
-
- virtual void
- visit_component_def_post (ComponentDefPtr const& c)
- {
- os << "::Components::CCMHome_var" << endl
- << "home_;" << endl << endl;
-
- os << "::CIAO::Session_Container *" << endl
- << "container_;" << endl << endl;
-
- os << c->name ().simple () << "_Servant *" << endl
- << "servant_;" << endl << endl;
-
- os << c->name () << "_var" << endl
- << "component_;" << endl;
-
- os << "};" << endl;
-
- // Close the CIAO_GLUE namespace, if we opened one.
- if (c->scope ()->dynamic_type<IDL2::SyntaxTree::FileScope> () != 0)
- {
- os << "}" << endl;
- }
-
- os << endl;
- }
- };
-
- //
- // Generates public part of component servant interface declaration.
- //
- class ServantPublicEmitter : public HeaderEmitterBase,
- public virtual Traversal::ComponentDef,
- public virtual Traversal::ProvidesDecl,
- public virtual Traversal::UsesDecl,
- public virtual Traversal::PublishesDecl,
- public virtual Traversal::ConsumesDecl,
- public virtual Traversal::EmitsDecl,
- public virtual Traversal::AttributeDecl
-
- {
- private:
- string export_macro_;
-
- ReturnTypeNameEmitter return_type_name_emitter_;
- INArgTypeNameEmitter inarg_type_name_emitter_;
- OUTArgTypeNameEmitter outarg_type_name_emitter_;
- INOUTArgTypeNameEmitter inoutarg_type_name_emitter_;
-
- GetAttributeEmitter get_attribute_emitter_;
- SetAttributeEmitter set_attribute_emitter_;
- OperationEmitter operation_emitter_;
-
- public:
- ServantPublicEmitter (ostream& os_,
- string export_macro)
- : HeaderEmitterBase (os_),
- export_macro_ (export_macro),
- return_type_name_emitter_ (os_),
- inarg_type_name_emitter_ (os_),
- outarg_type_name_emitter_ (os_),
- inoutarg_type_name_emitter_ (os_),
- get_attribute_emitter_ (os_,
- &return_type_name_emitter_),
- set_attribute_emitter_ (os_,
- &return_type_name_emitter_),
- operation_emitter_ (os_,
- &return_type_name_emitter_,
- &inarg_type_name_emitter_,
- &outarg_type_name_emitter_,
- &inoutarg_type_name_emitter_)
- {
- }
-
- virtual void
- visit_component_def_pre (ComponentDefPtr const& c)
- {
- // If we are at file scope, we create a namespace anyway.
- if (c->scope ()->dynamic_type<IDL2::SyntaxTree::FileScope> () != 0)
- {
- os << STRS[GLUE_NS] << endl
- << "{" << endl;
- }
-
- // @@@ (JP) Need export macro and prefixable scoped name.
- os << "class " << export_macro_ << " " << c->name ().simple ()
- << "_Servant" << endl
- << ": public virtual POA_" << c->name ().in_file_scope ()
- << "," << endl
- << STRS[INH_RCSB] << endl
- << "{" << endl
- << "public:" << endl;
-
- os << c->name ().simple () << "_Servant (" << endl
- << c->name ().scope () << "::CCM_" << c->name ().simple ()
- << "_ptr executor," << endl
- << "::Components::CCMHome_ptr home," << endl
- << "::CIAO::Session_Container *c);" << endl << endl;
-
- os << "virtual ~" << c->name ().simple () << "_Servant (void);"
- << endl << endl;
-
- // @@@ (JP) Must include ancestors' supported interfaces as well.
- for (SyntaxTree::ComponentDef::Iterator i = c->supports_begin ();
- i != c->supports_end ();
- i++)
- {
- i->resolve ()->accept (&operation_emitter_);
- }
- }
-
- virtual void
- visit_attribute_decl (AttributeDeclPtr const& a)
- {
- a->accept (&get_attribute_emitter_);
- a->accept (&set_attribute_emitter_);
- }
-
- virtual void
- visit_provides_decl (ProvidesDeclPtr const& p)
- {
- os << "virtual " << p->type ()->name () << "_ptr" << endl
- << "provide_" << p->name ().simple () << " (" << endl
- << STRS[ENV_SNGL_HDR] << ")" << endl
- << STRS[EXCP_SNGL] << ";" << endl << endl;
- }
-
- virtual void
- visit_uses_decl (UsesDeclPtr const& p)
- {
- // @@@ (JP) Need to handle multiple connections.
- os << "virtual void" << endl
- << "connect_" << p->name ().simple () << " (" << endl
- << p->type ()->name () << "_ptr c" << endl
- << STRS[ENV_HDR] << ")" << endl
- << STRS[EXCP_START] << endl
- << STRS[EXCP_SYS] << "," << endl
- << STRS[EXCP_AC] << "," << endl
- << STRS[EXCP_IC] << "));" << endl << endl;
-
- os << "virtual " << p->type ()->name () << "_ptr" << endl
- << "disconnect_" << p->name ().simple () << " (" << endl
- << STRS[ENV_SNGL_HDR] << ")" << endl
- << STRS[EXCP_SNGL] << ";" << endl << endl;
-
- os << "virtual " << p->type ()->name () << "_ptr" << endl
- << "get_connection_" << p->name ().simple () << " (" << endl
- << STRS[ENV_SNGL_HDR] << ")" << endl
- << STRS[EXCP_SNGL] << ";" << endl << endl;
- }
-
- virtual void
- visit_consumes_decl (ConsumesDeclPtr const& c)
- {
- // @@@ (JP) Need export macro.
- os << "// Servant class for the " << c->name ().simple ()
- << " consumer." << endl
- << "class " << export_macro_ << " "
- << c->type ()->name ().simple () << "Consumer_"
- << c->name ().simple () << "_Servant" << endl
- << ": public virtual POA_" << c->type ()->name ().in_file_scope ()
- << "Consumer," << endl
- << STRS[INH_RCSB]
- << endl
- << "{" << endl
- << "public:" << endl;
-
- os << c->type ()->name ().simple () << "Consumer_" << c->name ().simple ()
- << "_Servant (" << endl
- << c->scope ()->name ().scope () << "::CCM_"
- << c->scope ()->name ().simple () << "_ptr executor,"
- << endl
- << c->scope ()->name ().scope () << "::CCM_"
- << c->scope ()->name ().simple ()
- << "_Context_ptr c);" << endl << endl;
-
- os << "virtual ~" << c->type ()->name ().simple () << "Consumer_"
- << c->name ().simple () << "_Servant (void);" << endl << endl;
-
- // @@@ (JP) May need to generate this for the eventtype's ancestors
- // as well (the spec is vague on this point). If so, we need the
- // CIDL compiler to support valuetype/eventtype inheritance.
- os << "virtual void" << endl
- << "push_" << c->type ()->name ().simple () << " (" << endl
- << c->type ()->name () << " *evt" << endl
- << STRS[ENV_HDR] << ")" << endl
- << STRS[EXCP_SNGL] << ";" << endl << endl;
-
- os << "// Inherited from " << STRS[COMP_ECB] << "." << endl
- << "virtual void" << endl
- << "push_event (::Components::EventBase *ev" << endl
- << STRS[ENV_HDR] << ")" << endl
- << STRS[EXCP_START] << endl
- << STRS[EXCP_SYS] << "," << endl
- << STRS[EXCP_BET] << "));" << endl << endl;
-
- os << "// Get component implementation." << endl
- << "virtual CORBA::Object_ptr" << endl
- << "_get_component (" << endl
- << STRS[ENV_SNGL_HDR] << ")" << endl
- << STRS[EXCP_SNGL] << ";" << endl << endl;
-
- os << "protected:" << endl
- << c->scope ()->name ().scope () << "::CCM_"
- << c->scope ()->name ().simple ()
- << "_var" << endl
- << "executor_;" << endl << endl;
-
- os << c->scope ()->name ().scope () << "::CCM_"
- << c->scope ()->name ().simple ()
- << "_Context_var" << endl
- << "ctx_;" << endl;
-
- os << "};" << endl << endl;
-
- os << "virtual " << c->type ()->name () << "Consumer_ptr" << endl
- << "get_consumer_" << c->name ().simple () << " (" << endl
- << STRS[ENV_SNGL_HDR] << ")" << endl
- << STRS[EXCP_SNGL] << ";" << endl << endl;
- }
-
- virtual void
- visit_emits_decl (EmitsDeclPtr const& e)
- {
- os << "virtual void" << endl
- << "connect_" << e->name ().simple () << " (" << endl
- << e->type ()->name () << "Consumer_ptr c" << endl
- << STRS[ENV_HDR] << ")" << endl
- << STRS[EXCP_START] << endl
- << STRS[EXCP_SYS] << "," << endl
- << STRS[EXCP_AC] << "));" << endl << endl;
-
- os << "virtual " << e->type ()->name () << "Consumer_ptr" << endl
- << "disconnect_" << e->name ().simple () << " (" << endl
- << STRS[ENV_SNGL_HDR] << ")" << endl
- << STRS[EXCP_START] << endl
- << STRS[EXCP_SYS] << "," << endl
- << STRS[EXCP_NC] << "));" << endl << endl;
- }
-
- virtual void
- visit_publishes_decl (PublishesDeclPtr const& p)
- {
- os << "virtual " << STRS[COMP_CK] << " *" << endl
- << "subscribe_" << p->name ().simple () << " (" << endl
- << p->type ()->name () << "Consumer_ptr c" << endl
- << STRS[ENV_HDR] << ")" << endl
- << STRS[EXCP_START] << endl
- << STRS[EXCP_SYS] << "," << endl
- << STRS[EXCP_ECL] << "));" << endl << endl;
-
- os << "virtual " << p->type ()->name () << "Consumer_ptr" << endl
- << "unsubscribe_" << p->name ().simple () << " (" << endl
- << STRS[COMP_CK] << " *ck" << endl
- << STRS[ENV_HDR] << ")" << endl
- << STRS[EXCP_START] << endl
- << STRS[EXCP_SYS] << "," << endl
- << STRS[EXCP_IC] << "));" << endl << endl;
- }
-
- virtual void
- visit_component_def_post (ComponentDefPtr const& c)
- {
- os << "// Operations for Navigation interface." << endl << endl;
-
- os << "virtual CORBA::Object_ptr" << endl
- << "provide_facet (" << endl
- << "const char *name" << endl
- << STRS[ENV_HDR] << ")" << endl
- << STRS[EXCP_START] << endl
- << STRS[EXCP_SYS] << "," << endl
- << STRS[EXCP_IN] << "));" << endl << endl;
-
- os << "virtual ::Components::FacetDescriptions *" << endl
- << "get_all_facets (" << endl
- << STRS[ENV_SNGL_HDR] << ")" << endl
- << STRS[EXCP_SNGL] << ";" << endl << endl;
-
- os << "virtual ::Components::FacetDescriptions *" << endl
- << "get_named_facets (" << endl
- << "const " << STRS[COMP_NAMES] << endl
- << STRS[ENV_HDR] << ")" << endl
- << STRS[EXCP_START] << endl
- << STRS[EXCP_SYS] << "," << endl
- << STRS[EXCP_IN] << "));" << endl << endl;
-
- os << "virtual CORBA::Boolean" << endl
- << "same_component (" << endl
- << "CORBA::Object_ptr object_ref" << endl
- << STRS[ENV_HDR] << ")" << endl
- << STRS[EXCP_SNGL] << ";" << endl << endl;
-
- os << "// Operations for Receptacles interface." << endl << endl;
-
- os << "virtual " << STRS[COMP_CK] << " *" << endl
- << "connect (" << endl
- << "const char *name," << endl
- << "CORBA::Object_ptr connection" << endl
- << STRS[ENV_HDR] << ")" << endl
- << STRS[EXCP_START] << endl
- << STRS[EXCP_SYS] << "," << endl
- << STRS[EXCP_IN] << "," << endl
- << STRS[EXCP_IC] << "," << endl
- << STRS[EXCP_AC] << "," << endl
- << STRS[EXCP_ECL] << "));" << endl << endl;
-
- os << "virtual CORBA::Object_ptr" << endl
- << "disconnect (" << endl
- << "const char *name," << endl
- << STRS[COMP_CK] << " *ck" << endl
- << STRS[ENV_HDR] << ")" << endl
- << STRS[EXCP_START] << endl
- << STRS[EXCP_SYS] << "," << endl
- << STRS[EXCP_IN] << "," << endl
- << STRS[EXCP_IC] << "," << endl
- << STRS[EXCP_CR] << "," << endl
- << STRS[EXCP_NC] << "));" << endl << endl;
-
- os << "virtual ::Components::ConnectionDescriptions *" << endl
- << "get_connections (" << endl
- << "const char *name" << endl
- << STRS[ENV_HDR] << ")" << endl
- << STRS[EXCP_START] << endl
- << STRS[EXCP_SYS] << "," << endl
- << STRS[EXCP_IN] << "));" << endl << endl;
-
- os << "virtual ::Components::ReceptacleDescriptions *" << endl
- << "get_all_receptacles (" << endl
- << STRS[ENV_SNGL_HDR] << ")" << endl
- << STRS[EXCP_SNGL] << ";" << endl << endl;
-
- os << "virtual ::Components::ReceptacleDescriptions *" << endl
- << "get_named_receptacles (" << endl
- << "const " << STRS[COMP_NAMES] << endl
- << STRS[ENV_HDR] << ")" << endl
- << STRS[EXCP_START] << endl
- << STRS[EXCP_SYS] << "," << endl
- << STRS[EXCP_IN] << "));" << endl << endl;
-
- os << "// Operations for Events interface." << endl << endl;
-
- os << "virtual " << STRS[COMP_ECB] << "_ptr" << endl
- << "get_consumer (" << endl
- << "const char *sink_name" << endl
- << STRS[ENV_HDR] << ")" << endl
- << STRS[EXCP_START] << endl
- << STRS[EXCP_SYS] << "," << endl
- << STRS[EXCP_IN] << "));" << endl << endl;
-
- os << "virtual " << STRS[COMP_CK] << " *" << endl
- << "subscribe (" << endl
- << "const char *publisher_name," << endl
- << STRS[COMP_ECB] << "_ptr subscriber" << endl
- << STRS[ENV_HDR] << ")" << endl
- << STRS[EXCP_START] << endl
- << STRS[EXCP_SYS] << "," << endl
- << STRS[EXCP_IN] << "," << endl
- << STRS[EXCP_IC] << "," << endl
- << STRS[EXCP_ECL] << "));" << endl << endl;
-
- os << "virtual " << STRS[COMP_ECB] << "_ptr" << endl
- << "unsubscribe (" << endl
- << "const char *publisher_name," << endl
- << STRS[COMP_CK] << " *ck" << endl
- << STRS[ENV_HDR] << ")" << endl
- << STRS[EXCP_START] << endl
- << STRS[EXCP_SYS] << "," << endl
- << STRS[EXCP_IN] << "," << endl
- << STRS[EXCP_IC] << "));" << endl << endl;
-
- os << "virtual void" << endl
- << "connect_consumer (" << endl
- << "const char *emitter_name," << endl
- << STRS[COMP_ECB] << "_ptr consumer" << endl
- << STRS[ENV_HDR] << ")" << endl
- << STRS[EXCP_START] << endl
- << STRS[EXCP_SYS] << "," << endl
- << STRS[EXCP_IN] << "," << endl
- << STRS[EXCP_AC] << "," << endl
- << STRS[EXCP_IC] << "));" << endl << endl;
-
- os << "virtual " << STRS[COMP_ECB] << "_ptr" << endl
- << "disconnect_consumer (" << endl
- << "const char *source_name" << endl
- << STRS[ENV_HDR] << ")" << endl
- << STRS[EXCP_START] << endl
- << STRS[EXCP_SYS] << "," << endl
- << STRS[EXCP_IN] << "," << endl
- << STRS[EXCP_NC] << "));" << endl << endl;
-
- os << "virtual ::Components::ConsumerDescriptions *" << endl
- << "get_all_consumers (" << endl
- << STRS[ENV_SNGL_HDR] << ")" << endl
- << STRS[EXCP_SNGL] << ";" << endl << endl;
-
- os << "virtual ::Components::ConsumerDescriptions *" << endl
- << "get_named_consumers (" << endl
- << "const " << STRS[COMP_NAMES] << endl
- << STRS[ENV_HDR] << ")" << endl
- << STRS[EXCP_START] << endl
- << STRS[EXCP_SYS] << "," << endl
- << STRS[EXCP_IN] << "));" << endl << endl;
-
- os << "virtual ::Components::EmitterDescriptions *" << endl
- << "get_all_emitters (" << endl
- << STRS[ENV_SNGL_HDR] << ")" << endl
- << STRS[EXCP_SNGL] << ";" << endl << endl;
-
- os << "virtual ::Components::EmitterDescriptions *" << endl
- << "get_named_emitters(" << endl
- << "const " << STRS[COMP_NAMES] << endl
- << STRS[ENV_HDR] << ")" << endl
- << STRS[EXCP_START] << endl
- << STRS[EXCP_SYS] << "," << endl
- << STRS[EXCP_IN] << "));" << endl << endl;
-
- os << "virtual ::Components::PublisherDescriptions *" << endl
- << "get_all_publishers (" << endl
- << STRS[ENV_SNGL_HDR] << ")" << endl
- << STRS[EXCP_SNGL] << ";" << endl << endl;
-
- os << "virtual ::Components::PublisherDescriptions *" << endl
- << "get_named_publishers(" << endl
- << "const " << STRS[COMP_NAMES] << endl
- << STRS[ENV_HDR] << ")" << endl
- << STRS[EXCP_START] << endl
- << STRS[EXCP_SYS] << "," << endl
- << STRS[EXCP_IN] << "));" << endl << endl;
-
- os << "// Operations for CCMObject interface." << endl << endl;
-
- os << "virtual CORBA::IRObject_ptr" << endl
- << "get_component_def (" << endl
- << STRS[ENV_SNGL_HDR] << ")" << endl
- << STRS[EXCP_SNGL] << ";" << endl << endl;
-
- os << "virtual ::Components::CCMHome_ptr" << endl
- << "get_ccm_home (" << endl
- << STRS[ENV_SNGL_HDR] << ")" << endl
- << STRS[EXCP_SNGL] << ";" << endl << endl;
-
- os << "virtual ::Components::PrimaryKeyBase *" << endl
- << "get_primary_key (" << endl
- << STRS[ENV_SNGL_HDR] << ")" << endl
- << STRS[EXCP_START] << endl
- << STRS[EXCP_SYS] << "," << endl
- << STRS[EXCP_NKA] << "));" << endl << endl;
-
- os << "virtual void" << endl
- << "configuration_complete (" << endl
- << STRS[ENV_SNGL_HDR] << ")" << endl
- << STRS[EXCP_START] << endl
- << STRS[EXCP_SYS] << "," << endl
- << STRS[EXCP_ICF] << "));" << endl << endl;
-
- os << "virtual void" << endl
- << "remove (" << endl
- << STRS[ENV_SNGL_HDR] << ")" << endl
- << STRS[EXCP_START] << endl
- << STRS[EXCP_SYS] << "," << endl
- << STRS[EXCP_RF] << "));" << endl << endl;
-
- os << "virtual ::Components::ComponentPortDescription *" << endl
- << "get_all_ports(" << endl
- << STRS[ENV_SNGL_HDR] << ")" << endl
- << STRS[EXCP_SNGL] << ";" << endl << endl;
-
- os << "// Get component implementation." << endl
- << "virtual CORBA::Object_ptr" << endl
- << "_get_component (" << endl
- << STRS[ENV_SNGL_HDR] << ")" << endl
- << STRS[EXCP_SNGL] << ";" << endl << endl;
-
- os << "// CIAO-specific operations." << endl << endl;
-
- os << "void" << endl
- << "_ciao_activate (" << endl
- << STRS[ENV_SNGL_HDR] << ")" << endl
- << STRS[EXCP_SNGL] << ";" << endl << endl;
-
- os << "void" << endl
- << "_ciao_passivate (" << endl
- << STRS[ENV_SNGL_HDR] << ")" << endl
- << STRS[EXCP_SNGL] << ";" << endl << endl;
- }
- };
-
- //
- // Generates public part of component servant interface declaration.
- //
- class ServantProtectedEmitter : public HeaderEmitterBase,
- public virtual Traversal::ComponentDef,
- public virtual Traversal::ProvidesDecl,
- public virtual Traversal::ConsumesDecl
- {
- public:
- ServantProtectedEmitter (ostream& os_)
- : HeaderEmitterBase (os_)
- {
- }
-
- virtual void
- visit_component_def_pre (ComponentDefPtr const& c)
- {
- os << "protected:" << endl
- << c->name ().scope () << "::CCM_" << c->name ().simple ()
- << "_var" << endl
- << "executor_;" << endl << endl;
-
- os << c->name ().simple () << "_Context *" << endl
- << "context_;" << endl << endl;
-
- os << "::CIAO::Session_Container *" << endl
- << "container_;" << endl << endl;
- }
-
- virtual void
- visit_provides_decl (ProvidesDeclPtr const& p)
- {
- os << p->type ()->name () << "_var" << endl
- << "provide_" << p->name ().simple () << "_;" << endl << endl;
- }
-
- virtual void
- visit_consumes_decl (ConsumesDeclPtr const& c)
- {
- os << c->type ()->name () << "Consumer_var" << endl
- << "consumes_" << c->name ().simple () << "_;" << endl << endl;
- }
-
- virtual void
- visit_component_def_post (ComponentDefPtr const& c)
- {
- os << "};" << endl;
-
- // Close the CIAO_GLUE namespace, if we opened one.
- if (c->scope ()->dynamic_type<IDL2::SyntaxTree::FileScope> () != 0)
- {
- os << "}" << endl;
- }
-
- os << endl;
- }
- };
-
- //
- // Generates the component home servant interface.
- //
- class HomeEmitter : public HeaderEmitterBase,
- public virtual Traversal::OperationParameter,
- public virtual Traversal::Comma,
- public virtual Traversal::HomeDef,
- public virtual Traversal::OperationDecl,
- public virtual Traversal::AttributeDecl,
- public virtual Traversal::HomeFactoryDecl
- {
- private:
- string export_macro_;
-
- ReturnTypeNameEmitter return_type_name_emitter_;
- INArgTypeNameEmitter inarg_type_name_emitter_;
- OUTArgTypeNameEmitter outarg_type_name_emitter_;
- INOUTArgTypeNameEmitter inoutarg_type_name_emitter_;
-
- OperationEmitter operation_emitter_;
- FactoryEmitter factory_emitter_;
-
- public:
- HomeEmitter (ostream& os_,
- string export_macro)
- : HeaderEmitterBase (os_),
- export_macro_ (export_macro),
- return_type_name_emitter_ (os_),
- inarg_type_name_emitter_ (os_),
- outarg_type_name_emitter_ (os_),
- inoutarg_type_name_emitter_ (os_),
- operation_emitter_ (os_,
- &return_type_name_emitter_,
- &inarg_type_name_emitter_,
- &outarg_type_name_emitter_,
- &inoutarg_type_name_emitter_),
- factory_emitter_ (os_,
- &inarg_type_name_emitter_)
- {
- }
-
- virtual void
- visit_home_def_pre (HomeDefPtr const& h)
- {
- // If we are at file scope, we create a namespace anyway.
- if (h->scope ()->dynamic_type<IDL2::SyntaxTree::FileScope> () != 0)
- {
- os << STRS[GLUE_NS] << endl
- << "{" << endl;
- }
-
- // @@@ (JP) Need export macro and prefixable scoped name.
- os << "class " << export_macro_ << " " << h->name ().simple ()
- << "_Servant" << endl
- << ": public virtual POA_" << h->name ().in_file_scope ()
- << "," << endl
- << STRS[INH_RCSB] << endl
- << "{" << endl
- << "public:" << endl;
-
- os << h->name ().simple () << "_Servant (" << endl
- << h->name ().scope () << "::CCM_" << h->name ().simple ()
- << "_ptr exe," << endl
- << "::CIAO::Session_Container *c);" << endl << endl;
-
- os << "virtual ~" << h->name ().simple () << "_Servant (void);"
- << endl << endl;
-
- os << "// Home factory and other operations." << endl << endl;
- }
-
- virtual void
- visit_operation_decl (OperationDeclPtr const& d)
- {
- d->accept (&operation_emitter_);
- }
-
- virtual void
- visit_home_factory_decl (HomeFactoryDeclPtr const& f)
- {
- f->accept (&factory_emitter_);
- }
-
- virtual void
- visit_attribute_decl (AttributeDeclPtr const& a)
- {
- // TODO
- }
-
- virtual void
- visit_home_def_post (HomeDefPtr const& h)
- {
- // @@@ (JP) Need primary key support.
- os << "// Operations for keyless home interface." << endl << endl;
-
- os << "virtual ::Components::CCMObject_ptr" << endl
- << "create_component (" << endl
- << STRS[ENV_SNGL_HDR] << ")" << endl
- << STRS[EXCP_START] << endl
- << STRS[EXCP_SYS] << "," << endl
- << "::Components::CreateFailure));" << endl << endl;
-
- os << "// Operations for implicit home interface." << endl << endl;
-
- os << "virtual " << h->manages ()->name () << "_ptr" << endl
- << "create (" << endl
- << STRS[ENV_SNGL_HDR] << ")" << endl
- << STRS[EXCP_START] << endl
- << STRS[EXCP_SYS] << "," << endl
- << "::Components::CreateFailure));" << endl << endl;
-
- os << "// Operations for CCMHome interface." << endl << endl;
-
- os << "virtual ::CORBA::IRObject_ptr" << endl
- << "get_component_def (" << endl
- << STRS[ENV_SNGL_HDR] << ")" << endl
- << STRS[EXCP_SNGL] << ";" << endl << endl;
-
- os << "virtual ::CORBA::IRObject_ptr" << endl
- << "get_home_def (" << endl
- << STRS[ENV_SNGL_HDR] << ")" << endl
- << STRS[EXCP_SNGL] << ";" << endl << endl;
-
- os << "virtual void" << endl
- << "remove_component (" << endl
- << "::Components::CCMObject_ptr comp" << endl
- << STRS[ENV_HDR] << ")" << endl
- << STRS[EXCP_START] << endl
- << STRS[EXCP_SYS] << "," << endl
- << STRS[EXCP_RF] << "));" << endl << endl;
-
- os << "// Supported operations." << endl << endl;
-
- // @@@ (JP) Must include ancestors' supported interfaces as well.
- for (SyntaxTree::HomeDef::Iterator i = h->supports_begin ();
- i != h->supports_end ();
- i++)
- {
- i->resolve ()->accept (&operation_emitter_);
- }
-
- os << "protected:" << endl
- << "// CIAO-specific operations." << endl << endl;
-
- os << h->manages ()->name () << "_ptr" << endl
- << "_ciao_activate_component (" << endl
- << h->manages ()->name ().scope () << "::CCM_"
- << h->manages ()->name ().simple () << "_ptr exe" << endl
- << STRS[ENV_HDR] << ")" << endl
- << STRS[EXCP_SNGL] << ";" << endl << endl;
-
- os << "void" << endl
- << "_ciao_passivate_component (" << endl
- << h->manages ()->name () << "_ptr comp" << endl
- << STRS[ENV_SNGL_HDR] << ")" << endl
- << STRS[EXCP_SNGL] << ";" << endl << endl;
-
- os << "protected:" << endl;
-
- os << h->name ().scope () << "::CCM_"
- << h->name ().simple () << "_var" << endl
- << "executor_;" << endl << endl;
-
- os << "::CIAO::Session_Container *" << endl
- << "container_;" << endl << endl;
-
- os << "ACE_Hash_Map_Manager_Ex<" << endl
- << "PortableServer::ObjectId," << endl
- << h->manages ()->name ().simple () << "_Servant *," << endl
- << "TAO_ObjectId_Hash," << endl
- << "ACE_Equal_To<PortableServer::ObjectId>," << endl
- << "ACE_SYNCH_MUTEX>" << endl
- << "component_map_;" << endl;
-
- os << "};" << endl << endl;
-
- os << "extern \"C\" " << export_macro_ << " ::PortableServer::Servant"
- << endl
- << "create" << h->name ().simple () << "_Servant (" << endl
- << "::Components::HomeExecutorBase_ptr p," << endl
- << "CIAO::Session_Container *c" << endl
- << STRS[ENV_HDR] << ");" << endl;
-
- // Close the CIAO_GLUE namespace, if we opened one.
- if (h->scope ()->dynamic_type<IDL2::SyntaxTree::FileScope> () != 0)
- {
- os << "}" << endl;
- }
-
- os << endl;
- }
- };
-}
-
-HeaderEmitterBase::HeaderEmitterBase (ostream& os_)
- : os (os_)
-{
-}
-
-// ===========================================================
-
-ServantHeaderEmitter::ServantHeaderEmitter (
- ostream& os_,
- CommandLine const& cl,
- string export_macro,
- UnconstrainedInterfaceDefSet const& interface_set,
- ComponentDefSet const& component_set,
- HomeDefSet const& home_set)
- : HeaderEmitterBase (os_),
- cl_ (cl),
- export_macro_ (export_macro),
- component_set_ (component_set),
- home_set_ (home_set),
- interface_set_ (interface_set)
- {
- }
-
-bool
-ServantHeaderEmitter::contains_element (ModulePtr const& m) const
-{
- for (UnconstrainedInterfaceDefSet::const_iterator i =
- interface_set_.begin ();
- i != interface_set_.end ();
- i++)
- {
- if (m->order ().suborder ((*i)->order ())) return true;
- }
-
- for (ComponentDefSet::const_iterator i = component_set_.begin ();
- i != component_set_.end ();
- i++)
- {
- if (m->order ().suborder ((*i)->order ())) return true;
- }
-
- for (HomeDefSet::const_iterator i = home_set_.begin ();
- i != home_set_.end ();
- i++)
- {
- if (m->order ().suborder ((*i)->order ())) return true;
- }
-
- return false;
-}
-
-namespace
-{
- // On some platforms toupper can be something else than a
- // function.
- int
- upcase (int c)
- {
- return std::toupper (c);
- }
-}
-
-void
-ServantHeaderEmitter::visit_translation_unit_pre (
- TranslationUnitPtr const& u)
-{
- os << COPYRIGHT << endl << endl;
-
- fs::path file_path = u->principal_translation_region ()->file_path ();
- string file_name ("");
-
- if (!file_path.empty ())
- {
- file_name = file_path.leaf ();
- }
-
- string uc_file_name = file_name;
-
- std::transform (uc_file_name.begin (),
- uc_file_name.end (),
- uc_file_name.begin (),
- upcase);
-
- string uc_file_suffix = cl_.get_value ("hdr-file-suffix",
- "_svnt.h");
-
- std::transform (uc_file_suffix.begin (),
- uc_file_suffix.end (),
- uc_file_suffix.begin (),
- upcase);
-
- string guard =
- "CIAO_GLUE_SESSION_"
- + regex::perl_s (uc_file_name,
- "/^(.*?)(\\.(IDL|CIDL))?$/$1" + uc_file_suffix + "/");
-
- // Replace any remaining '.' with '_'.
- guard = regex::perl_s (guard, "/\\./_/");
-
- os << "#ifndef " << guard << endl
- << "#define " << guard << endl
- << "#include \"ace/pre.h\"" << endl << endl;
-
- string export_include = cl_.get_value ("export-include", "");
-
- if (!export_include.empty ())
- {
- os << "#include \"" << export_include << "\"" << endl << endl;
- }
-
- // Get the suffix for the executor IDL file and strip off the
- // trailing .idl.
- // @@@ (JP) I guess it's a safe assumption that the tail of the
- // suffix will be .idl.
- string suffix = cl_.get_value ("lem-file-suffix", "_exec.idl");
- suffix = regex::perl_s (suffix,
- "/^(.*?)(\\.idl)?$/$1/");
-
- // @@@ (JP) No way of knowing if the IDL compiler had command line
- // option(s) to change C.h and/or S.h. We could add command line options
- // to the CIDL compiler for them, but the user will have to make sure
- // they are in synch with the IDL compiler's options.
- os << "#include \""
- << regex::perl_s (file_name,
- "/^(.*?)(\\.(idl|cidl))?$/$1S.h/")
- << "\""
- << endl
- << "#include \""
- << regex::perl_s (file_name,
- "/^(.*?)(\\.(idl|cidl))?$/$1" + suffix + "C.h/")
- << "\""
- << endl << endl;
-
- os << "#include \"ciao/Container_Base.h\"" << endl
- << "#include \"tao/LocalObject.h\"" << endl
- << "#include \"tao/PortableServer/Key_Adapters.h\"" << endl
- << "#include \"ace/Active_Map_Manager_T.h\"" << endl << endl;
-
- os << "#if !defined (ACE_LACKS_PRAGMA_ONCE)" << endl
- << "# pragma once" << endl
- << "#endif /* ACE_LACKS_PRAGMA_ONCE */" << endl << endl;
-}
-
-void
-ServantHeaderEmitter::visit_module_pre (ModulePtr const& m)
-{
- if (contains_element (m))
- {
- os << STRS[GLUE_NS] << "_" << m->name ().simple () << endl
- << "{" << endl;
- }
-}
-
-void
-ServantHeaderEmitter::visit_unconstrained_interface_def (
- UnconstrainedInterfaceDefPtr const& i)
-{
- if (interface_set_.find (i) != interface_set_.end ())
- {
- FacetEmitter facet_emitter (os, export_macro_);
- i->accept (&facet_emitter);
- }
-}
-
-void
-ServantHeaderEmitter::visit_component_def (ComponentDefPtr const& c)
-{
- {
- ContextPublicEmitter context_public_emitter (os, export_macro_);
- c->accept (&context_public_emitter);
- }
-
- {
- ContextProtectedMethodEmitter context_protected_method_emitter (os);
- c->accept (&context_protected_method_emitter);
- }
-
- {
- ContextProtectedMemberEmitter context_protected_member_emitter (os);
- c->accept (&context_protected_member_emitter);
- }
-
- {
- ServantPublicEmitter servant_public_emitter (os, export_macro_);
- c->accept (&servant_public_emitter);
- }
-
- {
- ServantProtectedEmitter servant_protected_emitter (os);
- c->accept (&servant_protected_emitter);
- }
-}
-
-void
-ServantHeaderEmitter::visit_home_def (HomeDefPtr const& h)
-{
- HomeEmitter home_emitter (os, export_macro_);
- h->accept (&home_emitter);
-}
-
-void
-ServantHeaderEmitter::visit_module_post (ModulePtr const& m)
-{
- if (contains_element (m))
- {
- os << "}" << endl << endl;
- }
-}
-
-// ==============================================================
-
-ServantHeaderFinalizingEmitter::ServantHeaderFinalizingEmitter (
- ostream& os_,
- CommandLine const& cl,
- string export_macro)
- : HeaderEmitterBase (os_),
- cl_ (cl),
- export_macro_ (export_macro)
-{
-}
-
-void
-ServantHeaderFinalizingEmitter::visit_home_def (HomeDefPtr const& h)
-{
-}
-
-void
-ServantHeaderFinalizingEmitter::visit_translation_unit_post (
- TranslationUnitPtr const& u)
-{
- fs::path file_path = u->principal_translation_region ()->file_path ();
-
- if (file_path.empty ()) return;
-
- string uc_file_name = file_path.leaf ();
-
- std::transform (uc_file_name.begin (),
- uc_file_name.end (),
- uc_file_name.begin (),
- upcase);
-
- string uc_file_suffix = cl_.get_value ("hdr-file-suffix",
- "_svnt.h");
-
- std::transform (uc_file_suffix.begin (),
- uc_file_suffix.end (),
- uc_file_suffix.begin (),
- upcase);
-
- string guard =
- "CIAO_GLUE_SESSION_"
- + regex::perl_s (uc_file_name,
- "/^(.*?)(\\.(IDL|CIDL))?$/$1" + uc_file_suffix + "/");
-
- guard = regex::perl_s (guard, "/\\./_/");
-
- os << "#include \"ace/post.h\"" << endl
- << "#endif /* " << guard << " */"
- << endl << endl;
-}
diff --git a/TAO/CIAO/CIDLC/ServantHeaderGenerator.hpp b/TAO/CIAO/CIDLC/ServantHeaderGenerator.hpp
deleted file mode 100644
index 7be488ba818..00000000000
--- a/TAO/CIAO/CIDLC/ServantHeaderGenerator.hpp
+++ /dev/null
@@ -1,104 +0,0 @@
-// $Id$
-#ifndef SERVANT_HEADER_GENERATOR_HPP
-#define SERVANT_HEADER_GENERATOR_HPP
-
-#include "CCF/CodeGenerationKit/CommandLine.hpp"
-
-
-#include "CCF/CIDL/CIDL_SyntaxTree.hpp"
-#include "CCF/CIDL/CIDL_Traversal.hpp"
-
-using std::ostream;
-
-using namespace CIDL;
-using namespace CIDL::SyntaxTree;
-
-// HeaderEmitterBase is a base class that holds the ostream member
-// common to every other class in this file.
-//
-class HeaderEmitterBase
-{
-protected:
- HeaderEmitterBase (ostream&);
-
- ostream& os;
-};
-
-// Emitter generates the servant source mapping for declarations collected
-// by Collector. Note that the original structure of modules is preserved.
-//
-class ServantHeaderEmitter
- : public HeaderEmitterBase,
- public virtual Traversal::TranslationUnit,
- public virtual Traversal::TranslationRegion,
- public virtual Traversal::FileScope,
- public virtual Traversal::Module,
- public virtual Traversal::UnconstrainedInterfaceDef,
- public virtual Traversal::ConcreteEventTypeDef,
- public virtual Traversal::ComponentDef,
- public virtual Traversal::HomeDef
-{
-public:
- ServantHeaderEmitter (ostream& os_,
- CommandLine const& cl,
- string export_macro,
- UnconstrainedInterfaceDefSet const& interface_set,
- ComponentDefSet const& component_set,
- HomeDefSet const& home_set);
-
- bool
- contains_element (ModulePtr const& m) const;
-
- virtual void
- visit_translation_unit_pre (TranslationUnitPtr const& u);
-
- virtual void
- visit_module_pre (ModulePtr const& m);
-
- virtual void
- visit_unconstrained_interface_def (
- UnconstrainedInterfaceDefPtr const& i);
-
- virtual void
- visit_component_def (ComponentDefPtr const& c);
-
- virtual void
- visit_home_def (HomeDefPtr const& h);
-
- virtual void
- visit_module_post (ModulePtr const& m);
-
-private:
- CommandLine const& cl_;
- string export_macro_;
-
- ComponentDefSet const& component_set_;
- HomeDefSet const& home_set_;
- UnconstrainedInterfaceDefSet const& interface_set_;
-};
-
-class ServantHeaderFinalizingEmitter
- : public HeaderEmitterBase,
- public virtual Traversal::TranslationUnit,
- public virtual Traversal::TranslationRegion,
- public virtual Traversal::FileScope,
- public virtual Traversal::Module,
- public virtual Traversal::HomeDef
-{
-public:
- ServantHeaderFinalizingEmitter (ostream& os_,
- CommandLine const& cl,
- string export_macro);
-
- virtual void
- visit_home_def (HomeDefPtr const& h);
-
- virtual void
- visit_translation_unit_post (TranslationUnitPtr const& u);
-
-private:
- CommandLine const& cl_;
- string export_macro_;
-};
-
-#endif // SERVANT_HEADER_GENERATOR_HPP
diff --git a/TAO/CIAO/CIDLC/ServantSourceGenerator.cpp b/TAO/CIAO/CIDLC/ServantSourceGenerator.cpp
deleted file mode 100644
index 04b091a46fd..00000000000
--- a/TAO/CIAO/CIDLC/ServantSourceGenerator.cpp
+++ /dev/null
@@ -1,2525 +0,0 @@
-// $Id$
-#include "ServantSourceGenerator.hpp"
-
-#include "CCF/CIDL/CIDL_SyntaxTree.hpp"
-#include "CCF/CIDL/CIDL_Traversal.hpp"
-
-#include "CCF/CodeGenerationKit/Regex.hpp"
-#include "CCF/CodeGenerationKit/IDLStream.hpp"
-
-#include "Literals.hpp"
-
-#include <ostream>
-
-using namespace CIDL;
-using namespace CIDL::SyntaxTree;
-using namespace StringLiterals;
-
-namespace
-{
- // Generates the name of an operation's return type.
- //
- //
- class ReturnTypeNameEmitter : public SourceEmitterBase,
- public virtual Traversal::Void,
- public virtual Traversal::Boolean,
- public virtual Traversal::Long,
- public virtual Traversal::String,
- public virtual Traversal::LocalInterfaceDecl
- {
- public:
- ReturnTypeNameEmitter (ostream& os_)
- : SourceEmitterBase (os_)
- {
- }
-
- virtual void
- visit_void (VoidPtr const&)
- {
- os << "void";
- }
-
- virtual void
- visit_boolean (BooleanPtr const&)
- {
- os << "::CORBA::Boolean";
- }
-
- virtual void
- visit_long (LongPtr const&)
- {
- os << "::CORBA::Long";
- }
-
- virtual void
- visit_string (StringPtr const&)
- {
- os << "char *";
- }
-
- virtual void
- visit_local_interface_decl (LocalInterfaceDeclPtr const& i)
- {
- os << i->name () << "_ptr";
- }
- };
-
- // Generates the typename of an IN argument.
- //
- //
- class INArgTypeNameEmitter : public SourceEmitterBase,
- public virtual Traversal::Boolean,
- public virtual Traversal::Long,
- public virtual Traversal::String
- {
- public:
- INArgTypeNameEmitter (ostream& os_)
- : SourceEmitterBase (os_)
- {
- }
-
- virtual void
- visit_boolean (BooleanPtr const&)
- {
- os << "::CORBA::Boolean";
- }
-
- virtual void
- visit_long (LongPtr const&)
- {
- os << "::CORBA::Long";
- }
-
- virtual void
- visit_string (StringPtr const&)
- {
- os << "const char *";
- }
- };
-
- // Generates the typename of an OUT argument.
- //
- //
- class OUTArgTypeNameEmitter : public SourceEmitterBase,
- public virtual Traversal::Boolean,
- public virtual Traversal::Long,
- public virtual Traversal::String
- {
- public:
- OUTArgTypeNameEmitter (ostream& os_)
- : SourceEmitterBase (os_)
- {
- }
-
- virtual void
- visit_boolean (BooleanPtr const&)
- {
- os << "::CORBA::Boolean_out";
- }
-
- virtual void
- visit_long (LongPtr const&)
- {
- os << "::CORBA::Long_out";
- }
-
- virtual void
- visit_string (StringPtr const&)
- {
- os << "::CORBA::String_out";
- }
- };
-
- // Generates the typename of an INOUT argument.
- //
- //
- class INOUTArgTypeNameEmitter : public SourceEmitterBase,
- public virtual Traversal::Boolean,
- public virtual Traversal::Long,
- public virtual Traversal::String
- {
- public:
- INOUTArgTypeNameEmitter (ostream& os_)
- : SourceEmitterBase (os_)
- {
- }
-
- virtual void
- visit_boolean (BooleanPtr const&)
- {
- os << "::CORBA::Boolean &";
- }
-
- virtual void
- visit_long (LongPtr const&)
- {
- os << "::CORBA::Long &";
- }
-
- virtual void
- visit_string (StringPtr const&)
- {
- os << "char *&";
- }
- };
-
- // Generates an argument's identifier.
- //
- //
- class ArgNameEmitter : public SourceEmitterBase,
- public virtual Traversal::TypeDecl
- {
- public:
- ArgNameEmitter (ostream& os_)
- : SourceEmitterBase (os_)
- {
- }
-
- virtual void
- visit_operation_parameter_pre (OperationParameterPtr const&)
- {
- os << endl;
- }
-
- virtual void
- visit_operation_parameter_post (OperationParameterPtr const& op)
- {
- os << " " << op->name ();
- }
-
- virtual void
- visit_comma (CommaPtr const&)
- {
- os << ",";
- }
- };
-
- // Generates an attribute's accessor operation.
- //
- //
- class GetAttributeEmitter : public SourceEmitterBase,
- public virtual Traversal::AttributeDecl,
- public virtual Traversal::ComponentDef
- {
- public:
- GetAttributeEmitter (ostream& os_,
- ReturnTypeNameEmitter* return_type_name_emitter)
- : SourceEmitterBase (os_),
- AttributeDecl (return_type_name_emitter)
- {
- }
-
- virtual void
- visit_attribute_post (AttributeDeclPtr const& a)
- {
- os << endl
- << a->name ().scope ().simple ()
- << "_Servant::" << a->name ().simple () << " (" << endl
- << STRS[ENV_SNGL_SRC] << ")" << endl
- << STRS[EXCP_SNGL] << endl
- << "{" << endl
- << "return this->executor_->" << a->name ().simple ()
- << " (" << endl
- << STRS[ENV_SNGL_ARG] << ");" << endl
- << "}" << endl << endl;
- }
- };
-
- // Generates an attribute's mutator operation.
- //
- //
- class SetAttributeEmitter : public SourceEmitterBase,
- public virtual Traversal::AttributeDecl
- {
- public:
- SetAttributeEmitter (ostream& os_,
- ReturnTypeNameEmitter* return_type_name_emitter)
- : SourceEmitterBase (os_),
- AttributeDecl (return_type_name_emitter)
- {
- }
-
- virtual void
- visit_attribute_pre (AttributeDeclPtr const& a)
- {
- os << "void " << endl
- << a->name ().scope ().simple ()
- << "_Servant::" << a->name ().simple () << " (" << endl;
- }
-
- virtual void
- visit_attribute_post (AttributeDeclPtr const& a)
- {
- os << " val" << endl
- << STRS[ENV_SRC] << ")" << endl
- << STRS[EXCP_SNGL] << endl
- << "{" << endl
- << "this->executor_->" << a->name ().simple () << " (" << endl
- << "val" << endl
- << STRS[ENV_ARG] << ");" << endl
- << "}" << endl << endl;
- }
- };
-
- // Generates the statement that delegates the operation
- // to the executor.
- //
- class OperationExecEmitter : public SourceEmitterBase,
- public virtual Traversal::OperationParameter,
- public virtual Traversal::Comma,
- public virtual Traversal::OperationDecl
- {
- public:
- OperationExecEmitter (ostream& os_,
- ArgNameEmitter* arg_name_emitter_)
- : SourceEmitterBase (os_),
- OperationParameter (arg_name_emitter_,
- arg_name_emitter_,
- arg_name_emitter_)
- {
- }
-
- virtual void
- visit_operation_parameter_pre (OperationParameterPtr const&)
- {
- os << endl;
- }
-
- virtual void
- visit_operation_parameter_post (OperationParameterPtr const& op)
- {
- os << op->name ();
- }
-
- virtual void
- visit_comma (CommaPtr const&)
- {
- os << ",";
- }
- };
-
- // Generates an operation definition.
- //
- //
- class OperationEmitter : public SourceEmitterBase,
- public virtual Traversal::OperationParameter,
- public virtual Traversal::Comma,
- public virtual Traversal::UnconstrainedInterfaceDef,
- public virtual Traversal::OperationDecl
- {
- public:
- OperationEmitter (ostream& os_,
- ReturnTypeNameEmitter* return_type_name_emitter,
- INArgTypeNameEmitter* inarg_type_name_emitter_,
- OUTArgTypeNameEmitter* outarg_type_name_emitter_,
- INOUTArgTypeNameEmitter* inoutarg_type_name_emitter_)
- : SourceEmitterBase (os_),
- OperationParameter (inarg_type_name_emitter_,
- outarg_type_name_emitter_,
- inoutarg_type_name_emitter_),
- OperationDecl (return_type_name_emitter)
- {
- }
-
- virtual void
- visit_operation_decl_name (OperationDeclPtr const& d)
- {
- os << endl
- << d->name ().scope ().simple () << "_Servant::"
- << d->name ().simple () << " (";
- }
-
- virtual void
- visit_operation_parameter_pre (OperationParameterPtr const&)
- {
- os << endl;
- }
-
- virtual void
- visit_operation_parameter_post (OperationParameterPtr const& op)
- {
- os << " " << op->name ();
- }
-
- virtual void
- visit_comma (CommaPtr const&)
- {
- os << ",";
- }
-
- virtual void
- visit_operation_decl_post (OperationDeclPtr const& d)
- {
- bool void_return_type =
- (d->type ()->dynamic_type<IDL2::SyntaxTree::Void> () != 0);
-
- // @@@ (JP) Must add support for user exceptions.
- os << endl
- << (d->begin () == d->end () ? STRS[ENV_SNGL_SRC] : STRS[ENV_SRC])
- << ")" << endl
- << STRS[EXCP_SNGL] << endl
- << "{" << endl
- << (void_return_type ? "" : "return ")
- << "this->executor_->" << d->name ().simple () << " (";
-
- ArgNameEmitter arg_name_emitter (os);
- OperationExecEmitter operation_exec_emitter (os,
- &arg_name_emitter);
- d->accept (&operation_exec_emitter);
-
- os << endl
- << (d->begin () == d->end () ? STRS[ENV_SNGL_ARG] : STRS[ENV_ARG])
- << ");" << endl
- << "}" << endl << endl;
- }
- };
-
- // Generates the operation associated with a home factory definition.
- //
- //
- class FactoryEmitter : public SourceEmitterBase,
- public virtual Traversal::HomeFactoryDecl,
- public virtual Traversal::OperationParameter,
- public virtual Traversal::Comma
- {
- public:
- FactoryEmitter (ostream& os_,
- INArgTypeNameEmitter* inarg_type_name_emitter_)
- : SourceEmitterBase (os_),
- OperationParameter (inarg_type_name_emitter_,
- inarg_type_name_emitter_,
- inarg_type_name_emitter_)
- {
- }
-
- virtual void
- visit_home_factory_decl_type (HomeFactoryDeclPtr const& f)
- {
- HomeDefPtr def (f->scope ()->dynamic_type<SyntaxTree::HomeDef> ());
- os << def->manages ()->name () << "_ptr";
- }
-
- virtual void
- visit_home_factory_decl_name (HomeFactoryDeclPtr const& f)
- {
- os << endl
- << f->name ().scope ().simple () << "_Servant::"
- << f->name ().simple () << " (";
- }
-
- virtual void
- visit_operation_parameter_pre (OperationParameterPtr const&)
- {
- os << endl;
- }
-
- virtual void
- visit_operation_parameter_post (OperationParameterPtr const& op)
- {
- os << " " << op->name ();
- }
-
- virtual void
- visit_comma (CommaPtr const&)
- {
- os << ",";
- }
-
- virtual void
- visit_home_factory_decl_post (HomeFactoryDeclPtr const& f)
- {
- os << endl
- << (f->begin () == f->end () ? STRS[ENV_SNGL_SRC] : STRS[ENV_SRC])
- << ")" << endl
- << STRS[EXCP_SNGL] << endl
- << "{" << endl
- << "::Components::EnterpriseComponent_var _ciao_ec =" << endl
- << "this->executor_->" << f->name ().simple () << " (";
-
- ArgNameEmitter arg_name_emitter (os);
- OperationExecEmitter operation_exec_emitter (os,
- &arg_name_emitter);
- f->accept (&operation_exec_emitter);
-
- // If this cast is 0, a syntax error has slipped through.
- HomeDefPtr def (f->scope ()->dynamic_type<SyntaxTree::HomeDef> ());
- ScopedName retval = def->manages ()->name ();
-
- os << endl
- << (f->begin () == f->end () ? STRS[ENV_SNGL_ARG] : STRS[ENV_ARG])
- << ");" << endl
- << "ACE_CHECK_RETURN (" << retval << "::_nil ());"
- << endl << endl
- << retval.scope () << "::CCM_" << retval.simple ()
- << "_var _ciao_comp =" << endl
- << retval.scope () << "::CCM_" << retval.simple ()
- << "::_narrow (" << endl
- << "_ciao_ec.in ()" << endl
- << STRS[ENV_ARG] << ");" << endl << endl
- << "return this->_ciao_activate_component (" << endl
- << "_ciao_comp.in ()" << endl
- << STRS[ENV_ARG] << ");" << endl
- << "}" << endl << endl;
- }
- };
-
- // Generates an operation of a supported interface.
- //
- //
- class SupportedOperationEmitter : public virtual OperationEmitter,
- public virtual Traversal::OperationParameter,
- public virtual Traversal::OperationDecl
- {
- private:
- SimpleName context_;
-
- public:
- SupportedOperationEmitter (ostream& os_,
- ReturnTypeNameEmitter* return_type_name_emitter,
- INArgTypeNameEmitter* inarg_type_name_emitter_,
- OUTArgTypeNameEmitter* outarg_type_name_emitter_,
- INOUTArgTypeNameEmitter* inoutarg_type_name_emitter_,
- SimpleName context)
- : OperationEmitter (os_,
- return_type_name_emitter,
- inarg_type_name_emitter_,
- outarg_type_name_emitter_,
- inoutarg_type_name_emitter_),
- OperationParameter (inarg_type_name_emitter_,
- outarg_type_name_emitter_,
- inoutarg_type_name_emitter_),
- OperationDecl (return_type_name_emitter),
- context_ (context)
- {
- }
-
- virtual void
- visit_operation_decl_name (OperationDeclPtr const& d)
- {
- os << endl
- << context_ << "_Servant::"
- << d->name ().simple () << " (";
- }
- };
-
- // Generates an IF statement that compares the publisher name
- // argument with an item from an iterator, and calls the
- // appropriate subscribe operation upon success.
- class SubscribeEmitter : public SourceEmitterBase,
- public virtual Traversal::ComponentDef,
- public virtual Traversal::PublishesDecl
- {
- public:
- SubscribeEmitter (ostream& os_)
- : SourceEmitterBase (os_)
- {
- }
-
- virtual void
- visit_publishes_decl (PublishesDeclPtr const& p)
- {
- os << "if (ACE_OS::strcmp (publisher_name, \""
- << p->name ().simple () << "\") == 0)" << endl
- << "{" << endl
- << p->type ()->name () << "Consumer_var _ciao_consumer =" << endl
- << p->type ()->name () << "Consumer::_narrow (" << endl
- << "subscribe" << endl
- << STRS[ENV_ARG] << ");" << endl
- << "ACE_CHECK_RETURN (0);" << endl << endl
- << "if (::CORBA::is_nil (_ciao_consumer.in ()))" << endl
- << "{" << endl
- << "ACE_THROW_RETURN (" << STRS[EXCP_IC] << " (), 0);"
- << endl
- << "}" << endl << endl
- << "return this->subscribe_" << p->name ().simple ()
- << " (" << endl
- << "_ciao_consumer.in ()" << endl
- << STRS[ENV_ARG] << ");" << endl
- << "}" << endl << endl;
- }
- };
-
- // Generates an IF statement that compares the publisher name
- // argument with an item from an iterator, and calls the
- // appropriate unsubscribe operation upon success.
- class UnsubscribeEmitter : public SourceEmitterBase,
- public virtual Traversal::ComponentDef,
- public virtual Traversal::PublishesDecl
- {
- public:
- UnsubscribeEmitter (ostream& os_)
- : SourceEmitterBase (os_)
- {
- }
-
- virtual void
- visit_publishes_decl (PublishesDeclPtr const& p)
- {
- os << "if (ACE_OS::strcmp (publisher_name, \""
- << p->name ().simple () << "\") == 0)" << endl
- << "{" << endl
- << "return this->unsubscribe_" << p->name ().simple ()
- << " (" << endl
- << "ck" << endl
- << STRS[ENV_ARG] << ");" << endl
- << "}" << endl << endl;
- }
- };
-
- // Generates an IF statement that compares the receptacle name
- // argument with an item from an iterator, and calls the
- // appropriate connect operation upon success.
- class ConnectEmitter : public SourceEmitterBase,
- public virtual Traversal::ComponentDef,
- public virtual Traversal::UsesDecl
- {
- public:
- ConnectEmitter (ostream& os_)
- : SourceEmitterBase (os_)
- {
- }
-
- virtual void
- visit_uses_decl (UsesDeclPtr const& u)
- {
- os << "if (ACE_OS::strcmp (name, \""
- << u->name ().simple () << "\") == 0)" << endl
- << "{" << endl
- << u->type ()->name () << "_var _ciao_conn =" << endl
- << u->type ()->name () << "::_narrow (" << endl
- << "connection" << endl
- << STRS[ENV_ARG] << ");" << endl
- << "ACE_CHECK_RETURN (0);" << endl << endl
- << "if (::CORBA::is_nil (_ciao_conn.in ()))" << endl
- << "{" << endl
- << "ACE_THROW_RETURN (" << STRS[EXCP_IC] << " (), 0);"
- << endl
- << "}" << endl << endl
- << "// Simplex connect." << endl
- << "this->connect_" << u->name ().simple () << " (" << endl
- << "_ciao_conn.in ()" << endl
- << STRS[ENV_ARG] << ");" << endl << endl
- << "return 0;" << endl
- << "}" << endl << endl;
- }
- };
-
- // Generates an IF statement that compares the receptacle name
- // argument with an item from an iterator, and calls the
- // appropriate disconnect operation upon success.
- class DisconnectEmitter : public SourceEmitterBase,
- public virtual Traversal::ComponentDef,
- public virtual Traversal::UsesDecl
- {
- public:
- DisconnectEmitter (ostream& os_)
- : SourceEmitterBase (os_)
- {
- }
-
- virtual void
- visit_uses_decl (UsesDeclPtr const& u)
- {
- os << "if (ACE_OS::strcmp (name, \""
- << u->name ().simple () << "\") == 0)" << endl
- << "{" << endl
- << "// Simplex disconnect." << endl
- << "return this->disconnect_" << u->name ().simple ()
- << " (" << STRS[ENV_SNGL_ARG] << ");" << endl
- << "}" << endl << endl;
- }
- };
-
- // Generates an IF statement that compares the consumer name
- // argument with an item from an iterator, and calls the
- // appropriate get_consumer operation upon success.
- class GetConsumerEmitter : public SourceEmitterBase,
- public virtual Traversal::ComponentDef,
- public virtual Traversal::ConsumesDecl
- {
- public:
- GetConsumerEmitter (ostream& os_)
- : SourceEmitterBase (os_)
- {
- }
-
- virtual void
- visit_consumes_decl (ConsumesDeclPtr const& c)
- {
- os << "if (ACE_OS::strcmp (sink_name, \""
- << c->name ().simple () << "\") == 0)" << endl
- << "{" << endl
- << "return this->get_consumer_" << c->name ().simple ()
- << " (" << STRS[ENV_SNGL_ARG] << ");" << endl
- << "}" << endl << endl;
- }
- };
-
- // Generates an IF statement that compares the facet name
- // argument with an item from an iterator, and calls the
- // appropriate provide operation upon success.
- class ProvidesFacetEmitter : public SourceEmitterBase,
- public virtual Traversal::ComponentDef,
- public virtual Traversal::ProvidesDecl
- {
- public:
- ProvidesFacetEmitter (ostream& os_)
- : SourceEmitterBase (os_)
- {
- }
-
- virtual void
- visit_provides_decl (ProvidesDeclPtr const& p)
- {
- os << "if (ACE_OS::strcmp (name, \""
- << p->name ().simple () << "\") == 0)" << endl
- << "{" << endl
- << "return this->provide_" << p->name ().simple ()
- << " (" << STRS[ENV_SNGL_ARG] << ");" << endl
- << "}" << endl << endl;
- }
- };
-
- //
- // FacetEmitter generates facet servant class definitions.
- //
- class FacetEmitter : public SourceEmitterBase,
- public virtual Traversal::UnconstrainedInterfaceDef,
- public virtual Traversal::OperationDecl,
- public virtual Traversal::AttributeDecl
- {
- private:
- ReturnTypeNameEmitter return_type_name_emitter_;
- INArgTypeNameEmitter inarg_type_name_emitter_;
- INOUTArgTypeNameEmitter inoutarg_type_name_emitter_;
- OUTArgTypeNameEmitter outarg_type_name_emitter_;
-
- OperationEmitter operation_emitter_;
-
- public:
- FacetEmitter (ostream& os_)
- : SourceEmitterBase (os_),
- return_type_name_emitter_ (os_),
- inarg_type_name_emitter_ (os_),
- inoutarg_type_name_emitter_ (os_),
- outarg_type_name_emitter_ (os_),
- operation_emitter_ (os_,
- &return_type_name_emitter_,
- &inarg_type_name_emitter_,
- &outarg_type_name_emitter_,
- &inoutarg_type_name_emitter_)
- {
- }
-
- virtual void
- visit_unconstrained_interface_def_pre (
- UnconstrainedInterfaceDefPtr const& i)
- {
- // If we are at file scope, we create a namespace anyway.
- if (i->scope ()->dynamic_type<IDL2::SyntaxTree::FileScope> () != 0)
- {
- os << STRS[GLUE_NS] << endl
- << "{" << endl;
- }
-
- os << i->name ().simple () << "_Servant::" << i->name ().simple ()
- << "_Servant (" << endl
- << i->name ().scope () << "::CCM_" << i->name ().simple ()
- << "_ptr executor," << endl
- << "::Components::CCMContext_ptr c)" << endl
- << ": executor_ (" << i->name ().scope () << "::CCM_"
- << i->name ().simple () << "::_duplicate (executor))," << endl
- << "ctx_ (::Components::CCMContext::_duplicate (c))" << endl
- << "{" << endl
- << "}" << endl << endl;
-
- os << i->name ().simple () << "_Servant::~" << i->name ().simple ()
- << "_Servant (void)" << endl
- << "{" << endl
- << "}" << endl << endl;
- }
-
- virtual void
- visit_operation_decl (OperationDeclPtr const& d)
- {
- d->accept (&operation_emitter_);
- }
-
- virtual void
- visit_attribute_decl (AttributeDeclPtr const& a)
- {
- // TODO
- }
-
- virtual void
- visit_unconstrained_interface_def_post (
- UnconstrainedInterfaceDefPtr const& i)
- {
- os << "CORBA::Object_ptr" << endl
- << i->name ().simple () << "_Servant::_get_component (" << endl
- << STRS[ENV_SNGL_SRC] << ")" << endl
- << "ACE_THROW_SPEC ((CORBA::SystemException))" << endl
- << "{" << endl
- << "::Components::SessionContext_var sc =" << endl
- << "::Components::SessionContext::_narrow (" << endl
- << "this->ctx_.in ()" << endl
- << STRS[ENV_ARG] << ");" << endl
- << "ACE_CHECK_RETURN (CORBA::Object::_nil ());" << endl << endl
- << "if (! CORBA::is_nil (sc.in ()))" << endl
- << "{" << endl
- << "return sc->get_CCM_object (" << endl
- << STRS[ENV_SNGL_ARG] << ");" << endl
- << "}" << endl << endl
- << "::Components::EntityContext_var ec =" << endl
- << "::Components::EntityContext::_narrow (" << endl
- << "this->ctx_.in ()" << endl
- << STRS[ENV_ARG] << ");" << endl
- << "ACE_CHECK_RETURN (CORBA::Object::_nil ());" << endl << endl
- << "if (! CORBA::is_nil (ec.in ()))" << endl
- << "{" << endl
- << "return ec->get_CCM_object (" << endl
- << STRS[ENV_SNGL_ARG] << ");" << endl
- << "}" << endl << endl
- << "ACE_THROW_RETURN (CORBA::INTERNAL (), 0);" << endl
- << "}" << endl;
-
- // Close the CIAO_GLUE namespace, if we opened one.
- if (i->scope ()->dynamic_type<IDL2::SyntaxTree::FileScope> () != 0)
- {
- os << "}" << endl;
- }
-
- os << endl;
- }
- };
-
- //
- // Generates component context interface definitions.
- //
- class ContextEmitter : public SourceEmitterBase,
- public virtual Traversal::ComponentDef,
- public virtual Traversal::UsesDecl,
- public virtual Traversal::PublishesDecl,
- public virtual Traversal::EmitsDecl
- {
- public:
- ContextEmitter (ostream& os_)
- : SourceEmitterBase (os_)
- {
- }
-
- virtual void
- visit_component_def_pre (ComponentDefPtr const& c)
- {
- // If we are at file scope, we create a namespace anyway.
- if (c->scope ()->dynamic_type<IDL2::SyntaxTree::FileScope> () != 0)
- {
- os << "namespace CIAO_GLUE" << endl
- << "{" << endl;
- }
-
- os << c->name ().simple () << "_Context::"
- << c->name ().simple () << "_Context (" << endl
- << "::Components::CCMHome_ptr home," << endl
- << "::CIAO::Session_Container *c," << endl
- << c->name ().simple () << "_Servant *sv)" << endl
- << ": home_ (::Components::CCMHome::_duplicate (home))," << endl
- << "container_ (c)," << endl
- << "servant_ (sv)" << endl
- << "{" << endl
- << "}" << endl << endl;
-
- os << c->name ().simple () << "_Context::~"
- << c->name ().simple () << "_Context (void)" << endl
- << "{" << endl
- << "}" << endl << endl;
-
- os << "// Operations from ::Components::CCMContext." << endl << endl;
-
- os << "::Components::Principal_ptr" << endl
- << c->name ().simple () << "_Context::"
- << "get_caller_principal (" << endl
- << STRS[ENV_SNGL_SRC] << ")" << endl
- << STRS[EXCP_SNGL] << endl
- << "{" << endl
- << "ACE_THROW_RETURN (" << endl
- << "::CORBA::NO_IMPLEMENT ()," << endl
- << "::Components::Principal::_nil ());" << endl
- << "}" << endl << endl;
-
- os << "::Components::CCMHome_ptr" << endl
- << c->name ().simple () << "_Context::"
- << "get_CCM_home (" << endl
- << STRS[ENV_SNGL_SRC] << ")" << endl
- << STRS[EXCP_SNGL] << endl
- << "{" << endl
- << "return ::Components::CCMHome::_duplicate (this->home_.in ());"
- << endl
- << "}" << endl << endl;
-
- os << "CORBA::Boolean" << endl
- << c->name ().simple () << "_Context::"
- << "get_rollback_only (" << endl
- << STRS[ENV_SNGL_SRC] << ")" << endl
- << STRS[EXCP_START] << endl
- << STRS[EXCP_SYS] << "," << endl
- << STRS[EXCP_IS] << "))" << endl
- << "{" << endl
- << "ACE_THROW_RETURN (CORBA::NO_IMPLEMENT (), 0);" << endl
- << "}" << endl << endl;
-
- os << "::Components::Transaction::UserTransaction_ptr" << endl
- << c->name ().simple () << "_Context::"
- << "get_user_transaction (" << endl
- << STRS[ENV_SNGL_SRC] << ")" << endl
- << STRS[EXCP_START] << endl
- << STRS[EXCP_SYS] << "," << endl
- << STRS[EXCP_IS] << "))" << endl
- << "{" << endl
- << "ACE_THROW_RETURN (" << endl
- << "::CORBA::NO_IMPLEMENT ()," << endl
- << "::Components::Transaction::UserTransaction::_nil ());" << endl
- << "}" << endl << endl;
-
- os << "CORBA::Boolean" << endl
- << c->name ().simple () << "_Context::"
- << "is_caller_in_role (" << endl
- << "const char *role" << endl
- << STRS[ENV_SRC] << ")" << endl
- << STRS[EXCP_SNGL] << endl
- << "{" << endl
- << "ACE_UNUSED_ARG (role);" << endl
- << "ACE_THROW_RETURN (CORBA::NO_IMPLEMENT (), 0);" << endl
- << "}" << endl << endl;
-
- os << "void" << endl
- << c->name ().simple () << "_Context::"
- << "set_rollback_only (" << endl
- << STRS[ENV_SNGL_SRC] << ")" << endl
- << STRS[EXCP_START] << endl
- << STRS[EXCP_SYS] << "," << endl
- << STRS[EXCP_IS] << "))" << endl
- << "{" << endl
- << "ACE_THROW (CORBA::NO_IMPLEMENT ());" << endl
- << "}" << endl << endl;
-
- os << "// Operations from ::Components::SessionContext interface."
- << endl << endl;
-
- os << "CORBA::Object_ptr" << endl
- << c->name ().simple () << "_Context::"
- << "get_CCM_object (" << endl
- << STRS[ENV_SNGL_SRC] << ")" << endl
- << STRS[EXCP_START] << endl
- << STRS[EXCP_SYS] << "," << endl
- << STRS[EXCP_IS] << "))" << endl
- << "{" << endl
- << "if (CORBA::is_nil (this->component_.in ()))" << endl
- << "{" << endl
- << "CORBA::Object_var obj =" << endl
- << "this->container_->get_objref (" << endl
- << "this->servant_" << endl
- << STRS[ENV_ARG] << ");" << endl
- << "ACE_CHECK_RETURN (CORBA::Object::_nil ());" << endl << endl
- << "this->component_ =" << endl
- << c->name () << "::_narrow (" << endl
- << "obj.in ()" << endl
- << STRS[ENV_ARG] << ");" << endl
- << "ACE_CHECK_RETURN (CORBA::Object::_nil ());" << endl << endl
- << "if (CORBA::is_nil (this->component_.in ()))" << endl
- << "{" << endl
- << "ACE_THROW_RETURN (" << endl
- << "::CORBA::INTERNAL ()," << endl
- << "::CORBA::Object::_nil ());" << endl
- << "}" << endl
- << "}" << endl << endl
- << "return " << c->name () << "::_duplicate (" << endl
- << "this->component_.in ());" << endl
- << "}" << endl << endl;
-
- os << "// Operations for " << c->name ().simple () << " receptacles"
- << " and event sources," << endl
- << "// defined in " << c->name ().scope () << "::CCM_"
- << c->name ().simple () << "_Context."
- << endl << endl;
- }
-
- virtual void
- visit_uses_decl (UsesDeclPtr const& d)
- {
- os << d->type ()->name () << "_ptr" << endl
- << d->scope ()->name ().simple () << "_Context::get_connection_"
- << d->name ().simple ()
- << " (" << endl
- << STRS[ENV_SNGL_SRC] << ")" << endl
- << STRS[EXCP_SNGL] << endl
- << "{" << endl
- << "return " << d->type ()->name () << "::_duplicate (" << endl
- << "this->ciao_uses_" << d->name ().simple ()
- << "_.in ());" << endl
- << "}" << endl << endl;
-
- os << "void" << endl
- << d->scope ()->name ().simple () << "_Context::connect_"
- << d->name ().simple () << " (" << endl
- << d->type ()->name () << "_ptr c" << endl
- << STRS[ENV_SRC] << ")" << endl
- << STRS[EXCP_START] << endl
- << STRS[EXCP_SYS] << "," << endl
- << STRS[EXCP_AC] << "," << endl
- << STRS[EXCP_IC] << "))" << endl
- << "{" << endl
- << "if (! CORBA::is_nil (this->ciao_uses_"
- << d->name ().simple () << "_.in ()))" << endl
- << "{" << endl
- << "ACE_THROW (" << STRS[EXCP_AC] << " ());" << endl
- << "}" << endl << endl
- << "if (CORBA::is_nil (c))" << endl
- << "{" << endl
- << "ACE_THROW (" << STRS[EXCP_IC] << " ());" << endl
- << "}" << endl << endl
- << "this->ciao_uses_" << d->name ().simple () << "_ =" << endl
- << d->type ()-> name () << "::_duplicate (c);" << endl
- << "}" << endl << endl;
-
- os << d->type ()->name () << "_ptr" << endl
- << d->scope ()->name ().simple () << "_Context::disconnect_"
- << d->name ().simple () << " (" << endl
- << STRS[ENV_SNGL_SRC] << ")" << endl
- << STRS[EXCP_START] << endl
- << STRS[EXCP_SYS] << "," << endl
- << STRS[EXCP_NC] << "))" << endl
- << "{" << endl
- << "if (CORBA::is_nil (this->ciao_uses_"
- << d->name ().simple () << "_.in ()))" << endl
- << "{" << endl
- << "ACE_THROW_RETURN (" << endl
- << STRS[EXCP_NC] << " ()," << endl
- << d->type ()->name () << "::_nil ());" << endl
- << "}" << endl << endl
- << "return this->ciao_uses_" << d->name ().simple ()
- << "_._retn ();" << endl
- << "}" << endl << endl;
- }
-
- virtual void
- visit_publishes_decl (PublishesDeclPtr const& d)
- {
- os << "void" << endl
- << d->scope ()->name ().simple () << "_Context::push_"
- << d->name ().simple () << " (" << endl
- << d->type ()->name () << " *ev" << endl
- << STRS[ENV_SRC] << ")" << endl
- << STRS[EXCP_SNGL] << endl
- << "{" << endl
- << "ACE_Active_Map_Manager<" << d->type ()->name ()
- << "Consumer_var>::iterator end =" << endl
- << "this->ciao_publishes_" << d->name ().simple ()
- << "_map_.end ();" << endl << endl
- << "for (ACE_Active_Map_Manager<" << d->type ()->name ()
- << "Consumer_var>::iterator iter =" << endl
- << "this->ciao_publishes_" << d->name ().simple ()
- << "_map_.begin ();" << endl
- << "iter != end;" << endl
- << "++iter)" << endl
- << "{" << endl
- << "ACE_Active_Map_Manager<" << d->type ()->name ()
- << "Consumer_var>::ENTRY &entry = *iter;" << endl
- << d->type ()->name () << "Consumer_var c =" << endl
- << d->type ()->name () << "Consumer::_narrow (" << endl
- << "entry.int_id_.in ()" << endl
- << STRS[ENV_ARG] << ");" << endl
- << "ACE_CHECK;" << endl << endl
- << "entry.int_id_->push_" << d->type ()->name ().simple ()
- << " (" << endl
- << "ev" << endl
- << STRS[ENV_ARG] << ");" << endl
- << "ACE_CHECK;" << endl
- << "}" << endl
- << "}" << endl << endl;
-
- os << STRS[COMP_CK] << " *" << endl
- << d->scope ()->name ().simple () << "_Context::subscribe_"
- << d->name ().simple () << " (" << endl
- << d->type ()->name () << "Consumer_ptr c" << endl
- << STRS[ENV_SRC] << ")" << endl
- << STRS[EXCP_START] << endl
- << STRS[EXCP_SYS] << "," << endl
- << STRS[EXCP_ECL] << "))" << endl
- << "{" << endl
- << "if (CORBA::is_nil (c))" << endl
- << "{" << endl
- << "ACE_THROW_RETURN (CORBA::BAD_PARAM (), 0);" << endl
- << "}" << endl << endl
- << d->type ()->name () << "Consumer_var sub =" << endl
- << d->type ()->name () << "Consumer::_duplicate (c);"
- << endl << endl
- << "ACE_Active_Map_Manager_Key key;" << endl
- << "this->ciao_publishes_" << d->name ().simple ()
- << "_map_.bind (sub.in (), key);" << endl << endl
- << "sub._retn ();" << endl << endl
- << STRS[COMP_CK] << "_var retv = "
- << "new ::CIAO::Map_Key_Cookie (key);"
- << endl
- << "return retv._retn ();" << endl
- << "}" << endl << endl;
-
- os << d->type ()->name () << "Consumer_ptr" << endl
- << d->scope ()->name ().simple () << "_Context::unsubscribe_"
- << d->name ().simple () << " (" << endl
- << STRS[COMP_CK] << " *ck" << endl
- << STRS[ENV_SRC] << ")" << endl
- << STRS[EXCP_START] << endl
- << STRS[EXCP_SYS] << "," << endl
- << STRS[EXCP_IC] << "))" << endl
- << "{" << endl
- << d->type ()->name () << "Consumer_var retv;" << endl
- << "ACE_Active_Map_Manager_Key key;" << endl << endl
- << "if (ck == 0 || ::CIAO::Map_Key_Cookie::extract (ck, key) == -1)"
- << endl
- << "{" << endl
- << "ACE_THROW_RETURN (" << endl
- << STRS[EXCP_IC] << " ()," << endl
- << d->type ()->name () << "Consumer::_nil ());" << endl
- << "}" << endl << endl
- << "if (this->ciao_publishes_" << d->name ().simple ()
- << "_map_.unbind (key, retv) != 0)" << endl
- << "{" << endl
- << "ACE_THROW_RETURN (" << endl
- << STRS[EXCP_IC] << " ()," << endl
- << d->type ()->name () << "Consumer::_nil ());" << endl
- << "}" << endl << endl
- << "return retv._retn ();" << endl
- << "}" << endl << endl;
- }
-
- virtual void
- visit_emits_decl (EmitsDeclPtr const& d)
- {
- os << "void" << endl
- << d->scope ()->name ().simple () << "_Context::push_"
- << d->name ().simple () << " (" << endl
- << d->type ()->name () << " *ev" << endl
- << STRS[ENV_SRC] << ")" << endl
- << STRS[EXCP_SNGL] << endl
- << "{" << endl
- << "this->ciao_emits_" << d->name ().simple ()
- << "_consumer_->push_" << d->name ().simple () << " (" << endl
- << "ev" << endl
- << STRS[ENV_ARG] << ");" << endl
- << "}" << endl
- << "}" << endl << endl;
-
- os << "void" << endl
- << d->scope ()->name ().simple () << "_Context::connect_"
- << d->name ().simple () << " (" << endl
- << d->type ()-> name () << "Consumer_ptr c" << endl
- << STRS[ENV_SRC] << ")" << endl
- << STRS[EXCP_START] << endl
- << STRS[EXCP_SYS] << "," << endl
- << STRS[EXCP_AC] << "))" << endl
- << "{" << endl
- << "if (CORBA::is_nil (c))" << endl
- << "{" << endl
- << "ACE_THROW (CORBA::BAD_PARAM ());" << endl
- << "}" << endl << endl
- << "if (! CORBA::is_nil (this->ciao_emits_" << d->name ().simple ()
- << "_consumer_.in ()))" << endl
- << "{" << endl
- << "ACE_THROW (" << STRS[EXCP_AC] << " ());" << endl
- << "}" << endl << endl
- << "this->ciao_emits_" << d->name ().simple ()
- << "_consumer_ = c;" << endl
- << "}" << endl << endl;
-
- os << d->type ()->name () << "Consumer_ptr" << endl
- << d->scope ()->name ().simple () << "_Context::disconnect_"
- << d->name ().simple () << " (" << endl
- << STRS[ENV_SNGL_SRC] << ")" << endl
- << STRS[EXCP_START] << endl
- << STRS[EXCP_SYS] << "," << endl
- << STRS[EXCP_NC] << "))" << endl
- << "{" << endl
- << "if (CORBA::is_nil (this->ciao_emits_" << d->name ().simple ()
- << "_consumer_.in ()))" << endl
- << "{" << endl
- << "ACE_THROW_RETURN (" << endl
- << STRS[EXCP_NC] << " ()," << endl
- << d->type ()->name () << "Consumer::_nil ());" << endl
- << "}" << endl << endl
- << "return this->ciao_emits_" << d->name ().simple ()
- << "_consumer_._retn ();" << endl
- << "}" << endl << endl;
- }
-
- virtual void
- visit_component_def_post (ComponentDefPtr const& c)
- {
- // Close the CIAO_GLUE namespace, if we opened one.
- if (c->scope ()->dynamic_type<IDL2::SyntaxTree::FileScope> () != 0)
- {
- os << "}" << endl;
- }
-
- os << endl;
- }
- };
-
- //
- // Generates component servant interface definitions.
- //
- class ServantEmitter : public SourceEmitterBase,
- public virtual Traversal::ComponentDef,
- public virtual Traversal::ProvidesDecl,
- public virtual Traversal::UsesDecl,
- public virtual Traversal::PublishesDecl,
- public virtual Traversal::ConsumesDecl,
- public virtual Traversal::EmitsDecl,
- public virtual Traversal::AttributeDecl
- {
- private:
- ReturnTypeNameEmitter return_type_name_emitter_;
- INArgTypeNameEmitter inarg_type_name_emitter_;
- INOUTArgTypeNameEmitter inoutarg_type_name_emitter_;
- OUTArgTypeNameEmitter outarg_type_name_emitter_;
-
- OperationEmitter operation_emitter_;
- GetAttributeEmitter get_attribute_emitter_;
- SetAttributeEmitter set_attribute_emitter_;
-
- public:
- ServantEmitter (ostream& os_)
- : SourceEmitterBase (os_),
- return_type_name_emitter_ (os_),
- inarg_type_name_emitter_ (os_),
- inoutarg_type_name_emitter_ (os_),
- outarg_type_name_emitter_ (os_),
- operation_emitter_ (os_,
- &return_type_name_emitter_,
- &inarg_type_name_emitter_,
- &outarg_type_name_emitter_,
- &inoutarg_type_name_emitter_),
- get_attribute_emitter_ (os_,
- &return_type_name_emitter_),
- set_attribute_emitter_ (os_,
- &return_type_name_emitter_)
- {
- }
-
- virtual void
- visit_component_def_pre (ComponentDefPtr const& c)
- {
- // If we are at file scope, we create a namespace anyway.
- if (c->scope ()->dynamic_type<IDL2::SyntaxTree::FileScope> () != 0)
- {
- os << "namespace CIAO_GLUE" << endl
- << "{" << endl;
- }
-
- os << c->name ().simple () << "_Servant::"
- << c->name ().simple () << "_Servant (" << endl
- << c->name ().scope () << "::CCM_" << c->name ().simple ()
- << "_ptr exe," << endl
- << "::Components::CCMHome_ptr h," << endl
- << "::CIAO::Session_Container *c)" << endl
- << ": executor_ (" << c->name ().scope () << "::CCM_"
- << c->name ().simple () << "::_duplicate (exe))," << endl
- << "container_ (c)" << endl
- << "{" << endl
- << "this->context_ = "
- << "new " << c->name ().simple () << "_Context (h, c, this);"
- << endl << endl
- << "ACE_TRY_NEW_ENV" << endl
- << "{" << endl
- << "::Components::SessionComponent_var scom =" << endl
- << "::Components::SessionComponent::_narrow (" << endl
- << "exe" << endl
- << STRS[ENV_ARG] << ");" << endl
- << "ACE_TRY_CHECK;" << endl << endl
- << "if (! ::CORBA::is_nil (scom.in ()))" << endl
- << "{" << endl
- << "scom->set_session_context (" << endl
- << "this->context_" << endl
- << STRS[ENV_ARG] << ");" << endl
- << "}" << endl
- << "}" << endl
- << "ACE_CATCHANY" << endl
- << "{" << endl
- << "}" << endl
- << "ACE_ENDTRY;" << endl
- << "}" << endl << endl;
-
- os << c->name ().simple () << "_Servant::~"
- << c->name ().simple () << "_Servant (void)" << endl
- << "{" << endl
- << "ACE_TRY_NEW_ENV" << endl
- << "{" << endl
- << "::Components::SessionComponent_var scom =" << endl
- << "::Components::SessionComponent::_narrow (" << endl
- << "this->executor_.in ()" << endl
- << STRS[ENV_ARG] << ");" << endl
- << "ACE_TRY_CHECK;" << endl << endl
- << "if (! ::CORBA::is_nil (scom.in ()))" << endl
- << "{" << endl
- << "scom->ccm_remove (" << STRS[ENV_SNGL_ARG] << ");" << endl
- << "}" << endl
- << "}" << endl
- << "ACE_CATCHANY" << endl
- << "{" << endl
- << "}" << endl
- << "ACE_ENDTRY;" << endl << endl
- << "this->context_->_remove_ref ();" << endl
- << "}" << endl << endl;
- }
-
- virtual void
- visit_attribute_decl (AttributeDeclPtr const& a)
- {
- a->accept (&get_attribute_emitter_);
- a->accept (&set_attribute_emitter_);
- }
-
- virtual void
- visit_provides_decl (ProvidesDeclPtr const& p)
- {
- os << p->type ()->name () << "_ptr" << endl
- << p->scope ()->name ().simple ()
- << "_Servant::provide_" << p->name ().simple () << " (" << endl
- << STRS[ENV_SNGL_ARG] << ")" << endl
- << STRS[EXCP_SNGL] << endl
- << "{" << endl
- << "if (::CORBA::is_nil (this->provide_"
- << p->name ().simple () << "_.in ()))" << endl
- << "{" << endl
- << p->name ().scope ().scope () << "::CCM_"
- << p->type ()->name ().simple ()
- << "_var fexe =" << endl
- << "this->executor_->get_" << p->name ().simple ()
- << " (" << STRS[ENV_SNGL_ARG] << ");" << endl
- << "ACE_CHECK_RETURN (" << p->type ()->name () << "::_nil ());"
- << endl << endl
- << "if (::CORBA::is_nil (fexe.in ()))" << endl
- << "{" << endl
- << "ACE_THROW_RETURN (" << endl
- << "::CORBA::INTERNAL ()," << endl
- << p->type ()->name () << "::_nil ());" << endl
- << "}" << endl << endl
- << p->type ()->name ().simple () << "_Servant *svt =" << endl
- << "new " << p->type ()->name ().simple () << "_Servant (" << endl
- << "fexe.in ()," << endl
- << "this->context_);" << endl
- << "PortableServer::ServantBase_var safe_servant (svt);"
- << endl << endl
- << "::CORBA::Object_var obj =" << endl
- << "this->container_->install_servant (" << endl
- << "svt" << endl
- << STRS[ENV_ARG] << ");" << endl
- << "ACE_CHECK_RETURN (" << p->type ()->name () << "::_nil ());"
- << endl << endl
- << p->type ()->name () << "_var fo =" << endl
- << p->type ()->name () << "::_narrow (" << endl
- << "obj.in ()" << endl
- << STRS[ENV_ARG] << ");" << endl
- << "ACE_CHECK_RETURN (" << p->type ()->name () << "::_nil ());"
- << endl << endl
- << "this->provide_" << p->name ().simple () << "_ = fo;" << endl
- << "}" << endl << endl
- << "return " << p->type ()->name ()
- << "::_duplicate (this->provide_"
- << p->name ().simple () << "_.in ());" << endl
- << "}" << endl << endl;
- }
-
- virtual void
- visit_uses_decl (UsesDeclPtr const& p)
- {
- os << "void" << endl
- << p->scope ()->name ().simple () << "_Servant::connect_"
- << p->name ().simple () << " (" << endl
- << p->type ()->name () << "_ptr c" << endl
- << STRS[ENV_SRC] << ")" << endl
- << STRS[EXCP_START] << endl
- << STRS[EXCP_SYS] << "," << endl
- << STRS[EXCP_AC] << "," << endl
- << STRS[EXCP_IC] << "))" << endl
- << "{" << endl
- << "this->context_->connect_" << p->name ().simple () << " ("
- << endl
- << "c" << endl
- << STRS[ENV_ARG] << ");" << endl
- << "}" << endl << endl;
-
- os << p->type ()->name () << "_ptr" << endl
- << p->scope ()->name ().simple () << "_Servant::disconnect_"
- << p->name ().simple () << " (" << endl
- << STRS[ENV_SNGL_SRC] << ")" << endl
- << STRS[EXCP_START] << endl
- << STRS[EXCP_SYS] << "," << endl
- << STRS[EXCP_NC] << "))" << endl
- << "{" << endl
- << "return this->context_->disconnect_" << p->name ().simple ()
- << " (" << endl
- << STRS[ENV_SNGL_ARG] << ");" << endl
- << "}" << endl << endl;
-
- os << p->type ()->name () << "_ptr" << endl
- << p->scope ()->name ().simple ()
- << "_Servant::get_connection_" << p->name ().simple ()
- << " (" << endl
- << STRS[ENV_SNGL_SRC] << ")" << endl
- << STRS[EXCP_SNGL] << endl
- << "{" << endl
- << "return this->context_->get_connection_"
- << p->name ().simple () << " (" << endl
- << STRS[ENV_SNGL_ARG] << ");" << endl
- << "}" << endl << endl;
- }
-
- virtual void
- visit_consumes_decl (ConsumesDeclPtr const& c)
- {
- os << c->scope ()-> name ().simple () << "_Servant::"
- << c->type ()->name ().simple ()
- << "Consumer_" << c->name ().simple ()
- << "_Servant::" << c->type ()->name ().simple ()
- << "Consumer_" << c->name ().simple ()
- << "_Servant (" << endl
- << c->scope ()->name ().scope () << "::CCM_"
- << c->scope ()->name ().simple () << "_ptr executor,"
- << endl
- << c->scope ()->name ().scope () << "::CCM_"
- << c->scope ()->name ().simple ()
- << "_Context_ptr c)" << endl
- << ": executor_ (" << c->scope ()->name ().scope ()
- << "::CCM_" << c->scope ()->name ().simple ()
- << "::_duplicate (executor))," << endl
- << "ctx_ (" << c->scope ()->name ().scope ()
- << "::CCM_" << c->scope ()->name ().simple ()
- << "_Context::_duplicate (c))" << endl
- << "{" << endl
- << "}" << endl << endl;
-
- os << c->scope ()-> name ().simple () << "_Servant::"
- << c->type ()->name ().simple ()
- << "Consumer_" << c->name ().simple ()
- << "_Servant::~" << c->type ()->name ().simple ()
- << "Consumer_" << c->name ().simple ()
- << "_Servant (void)" << endl
- << "{" << endl
- << "}" << endl << endl;
-
- os << "CORBA::Object_ptr" << endl
- << c->scope ()-> name ().simple () << "_Servant::"
- << c->type ()->name ().simple ()
- << "Consumer_" << c->name ().simple ()
- << "_Servant::_get_component (" << endl
- << STRS[ENV_SNGL_SRC] << ")" << endl
- << STRS[EXCP_SNGL] << endl
- << "{" << endl
- << "return this->ctx_->get_CCM_object "
- << "(" << STRS[ENV_SNGL_ARG] << ");" << endl
- << "}" << endl << endl;
-
- os << "void" << endl
- << c->scope ()-> name ().simple () << "_Servant::"
- << c->type ()->name ().simple ()
- << "Consumer_" << c->name ().simple ()
- << "_Servant::push_" << c->type ()->name ().simple ()
- << " (" << endl
- << c->type ()->name () << " *evt" << endl
- << STRS[ENV_SRC] << ")" << endl
- << STRS[EXCP_SNGL] << endl
- << "{" << endl
- << "this->executor_->push_" << c->name ().simple ()
- << " (" << endl
- << "evt" << endl
- << STRS[ENV_ARG] << ");" << endl
- << "}" << endl << endl;
-
- os << "// Inherited from " << STRS[COMP_ECB] << "." << endl
- << "void" << endl
- << c->scope ()-> name ().simple () << "_Servant::"
- << c->type ()->name ().simple ()
- << "Consumer_" << c->name ().simple ()
- << "_Servant::push_event (" << endl
- << "::Components::EventBase *ev" << endl
- << STRS[ENV_SRC] << ")" << endl
- << STRS[EXCP_START] << endl
- << STRS[EXCP_SYS] << "," << endl
- << STRS[EXCP_BET] << "))" << endl
- << "{" << endl
- << c->type ()->name () << "_var ev_type =" << endl
- << c->type ()->name () << "::_downcast (ev);" << endl << endl
- << "if (ev_type != 0)" << endl
- << "{" << endl
- << "this->push_" << c->type ()->name ().simple () << " (" << endl
- << "ev_type.in ()" << endl
- << STRS[ENV_SNGL_ARG] << ");" << endl << endl
- << "return;" << endl
- << "}" << endl << endl
- << "ACE_THROW (" << STRS[EXCP_BET] << " ());" << endl
- << "}" << endl << endl;
-
- os << c->type ()->name () << "Consumer_ptr" << endl
- << c->scope ()-> name ().simple () << "_Servant::"
- << "get_consumer_" << c->name ().simple () << " (" << endl
- << STRS[ENV_SNGL_SRC] << ")" << endl
- << STRS[EXCP_SNGL] << endl
- << "{" << endl
- << "if (CORBA::is_nil (this->consumes_" << c->name ().simple ()
- << "_.in ()))" << endl
- << "{" << endl
- << c->scope ()-> name ().simple () << "_Servant::"
- << c->type ()->name ().simple ()
- << "Consumer_" << c->name ().simple ()
- << "_Servant *svt =" << endl
- << "new " << c->scope ()-> name ().simple () << "_Servant::"
- << c->type ()->name ().simple ()
- << "Consumer_" << c->name ().simple ()
- << "_Servant (" << endl
- << "this->executor_.in ()," << endl
- << "this->context_);" << endl
- << "PortableServer::ServantBase_var safe_servant (svt);"
- << endl << endl
- << "CORBA::Object_var obj =" << endl
- << "this->container_->install_servant (" << endl
- << "svt" << endl
- << STRS[ENV_ARG] << ");" << endl
- << "ACE_CHECK_RETURN ("
- << c->type ()->name () << "Consumer::_nil ());" << endl << endl
- << c->type ()->name () << "Consumer_var eco =" << endl
- << c->type ()->name () << "Consumer::_narrow (" << endl
- << "obj.in ()" << endl
- << STRS[ENV_ARG] << ");" << endl
- << "ACE_CHECK_RETURN ("
- << c->type ()->name () << "Consumer::_nil ());" << endl << endl
- << "this->consumes_" << c->name ().simple () << "_ = eco;" << endl
- << "}" << endl << endl
- << "return " << c->type ()->name ()
- << "Consumer::_duplicate (this->consumes_" << c->name ().simple ()
- << "_.in ());" << endl
- << "}" << endl << endl;
- }
-
- virtual void
- visit_emits_decl (EmitsDeclPtr const& e)
- {
- os << "void" << endl
- << e->scope ()->name ().simple () << "_Servant::connect_"
- << e->name ().simple () << " (" << endl
- << e->type ()->name () << "Consumer_ptr c" << endl
- << STRS[ENV_SRC] << ")" << endl
- << STRS[EXCP_START] << endl
- << STRS[EXCP_SYS] << "," << endl
- << STRS[EXCP_AC] << "))" << endl
- << "{" << endl
- << "this->context_->connect_" << e->name ().simple ()
- << " (" << endl
- << "c" << endl
- << STRS[ENV_ARG] << ");" << endl
- << "}" << endl << endl;
-
- os << e->type ()->name () << "Consumer_ptr" << endl
- << e->scope ()->name ().simple () << "_Servant::disconnect_"
- << e->name ().simple () << " (" << endl
- << STRS[ENV_SNGL_SRC] << ")" << endl
- << STRS[EXCP_START] << endl
- << STRS[EXCP_SYS] << "," << endl
- << STRS[EXCP_NC] << "))" << endl
- << "{" << endl
- << "return this->context_->disconnect_"
- << e->name ().simple () << " (" << endl
- << STRS[ENV_SNGL_ARG] << ");" << endl
- << "}" << endl << endl;
- }
-
- virtual void
- visit_publishes_decl (PublishesDeclPtr const& p)
- {
- os << STRS[COMP_CK] << " *" << endl
- << p->scope ()->name ().simple ()
- << "_Servant::subscribe_" << p->name ().simple () << " (" << endl
- << p->type ()->name () << "Consumer_ptr c" << endl
- << STRS[ENV_SRC] << ")" << endl
- << STRS[EXCP_START] << endl
- << STRS[EXCP_SYS] << "," << endl
- << STRS[EXCP_ECL] << "))" << endl
- << "{" << endl
- << "return this->context_->subscribe_" << p->name ().simple ()
- << " (" << endl
- << "c" << endl
- << STRS[ENV_ARG] << ");" << endl
- << "}" << endl << endl;
-
- os << p->type ()->name () << "Consumer_ptr" << endl
- << p->scope ()->name ().simple ()
- << "_Servant::unsubscribe_" << p->name ().simple () << " (" << endl
- << STRS[COMP_CK] << " *ck" << endl
- << STRS[ENV_SRC] << ")" << endl
- << STRS[EXCP_START] << endl
- << STRS[EXCP_SYS] << "," << endl
- << STRS[EXCP_IC] << "))" << endl
- << "{" << endl
- << "return this->context_->unsubscribe_"
- << p->name ().simple () << " (" << endl
- << "ck" << endl
- << STRS[ENV_ARG] << ");" << endl
- << "}" << endl << endl;
- }
-
- virtual void
- visit_component_def_post (ComponentDefPtr const& c)
- {
- os << "// Operations for Navigation interface." << endl << endl;
-
- os << "CORBA::Object_ptr" << endl
- << c->name ().simple () << "_Servant::provide_facet (" << endl
- << "const char *name" << endl
- << STRS[ENV_SRC] << ")" << endl
- << STRS[EXCP_START] << endl
- << STRS[EXCP_SYS] << "," << endl
- << STRS[EXCP_IN] << "))" << endl
- << "{" << endl
- << "if (name == 0)" << endl
- << "{" << endl
- << "ACE_THROW_RETURN (" << endl
- << "::CORBA::BAD_PARAM ()," << endl
- << "::CORBA::Object::_nil ());" << endl
- << "}" << endl << endl;
-
- ProvidesFacetEmitter provides_facet_emitter (os);
- c->accept (&provides_facet_emitter);
-
- os << "ACE_THROW_RETURN (" << endl
- << STRS[EXCP_IN] << " ()," << endl
- << "::CORBA::Object::_nil ());" << endl
- << "}" << endl << endl;
-
- os << "::Components::FacetDescriptions *" << endl
- << c->name ().simple () << "_Servant::get_all_facets (" << endl
- << STRS[ENV_SNGL_SRC] << ")" << endl
- << STRS[EXCP_SNGL] << endl
- << "{" << endl
- << "ACE_THROW_RETURN (::CORBA::NO_IMPLEMENT (), 0);" << endl
- << "}" << endl << endl;
-
- os << "::Components::FacetDescriptions *" << endl
- << c->name ().simple () << "_Servant::get_named_facets (" << endl
- << "const " << STRS[COMP_NAMES] << endl
- << STRS[ENV_SRC] << ")" << endl
- << STRS[EXCP_START] << endl
- << STRS[EXCP_SYS] << "," << endl
- << STRS[EXCP_IN] << "))" << endl
- << "{" << endl
- << "ACE_THROW_RETURN (::CORBA::NO_IMPLEMENT (), 0);" << endl
- << "}" << endl << endl;
-
- os << "CORBA::Boolean" << endl
- << c->name ().simple () << "_Servant::same_component (" << endl
- << "CORBA::Object_ptr object_ref" << endl
- << STRS[ENV_SRC] << ")" << endl
- << STRS[EXCP_SNGL] << endl
- << "{" << endl
- << "if (::CORBA::is_nil (object_ref))" << endl
- << "{" << endl
- << "ACE_THROW_RETURN (::CORBA::BAD_PARAM (), 0);" << endl
- << "}" << endl << endl
- << "::CORBA::Object_var the_other =" << endl
- << "object_ref->_get_component (" << STRS[ENV_SNGL_ARG] << ");"
- << endl
- << "ACE_CHECK_RETURN (0);" << endl << endl
- << "::CORBA::Object_var me =" << endl
- << "this->context_->get_CCM_object (" << STRS[ENV_SNGL_ARG] << ");"
- << endl
- << "ACE_CHECK_RETURN (0);" << endl << endl
- << "return me->_is_equivalent (" << endl
- << "the_other.in ()" << endl
- << STRS[ENV_ARG] << ");" << endl
- << "}" << endl << endl;
-
- os << "// Operations for Receptacles interface." << endl << endl;
-
- os << STRS[COMP_CK] << " *" << endl
- << c->name ().simple () << "_Servant::connect (" << endl
- << "const char *name," << endl
- << "::CORBA::Object_ptr connection" << endl
- << STRS[ENV_SRC] << ")" << endl
- << STRS[EXCP_START] << endl
- << STRS[EXCP_SYS] << "," << endl
- << STRS[EXCP_IN] << "," << endl
- << STRS[EXCP_IC] << "," << endl
- << STRS[EXCP_AC] << "," << endl
- << STRS[EXCP_ECL] << "))" << endl
- << "{" << endl
- << "if (name == 0)" << endl
- << "{" << endl
- << "ACE_THROW_RETURN (" << STRS[EXCP_IN] << " (), 0);" << endl
- << "}" << endl << endl;
-
- ConnectEmitter connect_emitter (os);
- c->accept (&connect_emitter);
-
- os << "ACE_THROW_RETURN (" << STRS[EXCP_IN] << " (), 0);" << endl
- << "}" << endl << endl;
-
- os << "CORBA::Object_ptr" << endl
- << c->name ().simple () << "_Servant::disconnect (" << endl
- << "const char *name," << endl
- << STRS[COMP_CK] << " *ck" << endl
- << STRS[ENV_SRC] << ")" << endl
- << STRS[EXCP_START] << endl
- << STRS[EXCP_SYS] << "," << endl
- << STRS[EXCP_IN] << "," << endl
- << STRS[EXCP_IC] << "," << endl
- << STRS[EXCP_CR] << "," << endl
- << STRS[EXCP_NC] << "))" << endl
- << "{" << endl
- << "if (name == 0)" << endl
- << "{" << endl
- << "ACE_THROW_RETURN (" << endl
- << STRS[EXCP_IN] << " ()," << endl
- << "::CORBA::Object::_nil ());" << endl
- << "}" << endl << endl;
-
- DisconnectEmitter disconnect_emitter (os);
- c->accept (&disconnect_emitter);
-
- os << "ACE_THROW_RETURN (" << endl
- << STRS[EXCP_IN] << " ()," << endl
- << "::CORBA::Object::_nil ());" << endl
- << "}" << endl << endl;
-
- os << "::Components::ConnectionDescriptions *" << endl
- << c->name ().simple () << "_Servant::get_connections ("
- << endl
- << "const char *name" << endl
- << STRS[ENV_SRC] << ")" << endl
- << STRS[EXCP_START] << endl
- << STRS[EXCP_SYS] << "," << endl
- << STRS[EXCP_IN] << "))" << endl
- << "{" << endl
- << "ACE_THROW_RETURN (::CORBA::NO_IMPLEMENT (), 0);" << endl
- << "}" << endl << endl;
-
- os << "::Components::ReceptacleDescriptions *" << endl
- << c->name ().simple () << "_Servant::get_all_receptacles ("
- << endl
- << STRS[ENV_SNGL_SRC] << ")" << endl
- << STRS[EXCP_SNGL] << endl
- << "{" << endl
- << "ACE_THROW_RETURN (::CORBA::NO_IMPLEMENT (), 0);" << endl
- << "}" << endl << endl;
-
- os << "::Components::ReceptacleDescriptions *" << endl
- << c->name ().simple () << "_Servant::get_named_receptacles ("
- << endl
- << "const " << STRS[COMP_NAMES] << endl
- << STRS[ENV_SRC] << ")" << endl
- << STRS[EXCP_START] << endl
- << STRS[EXCP_SYS] << "," << endl
- << STRS[EXCP_IN] << "))" << endl
- << "{" << endl
- << "ACE_THROW_RETURN (::CORBA::NO_IMPLEMENT (), 0);" << endl
- << "}" << endl << endl;
-
- os << "// Operations for Events interface." << endl << endl;
-
- os << STRS[COMP_ECB] << "_ptr" << endl
- << c->name ().simple () << "_Servant::get_consumer (" << endl
- << "const char *sink_name" << endl
- << STRS[ENV_SRC] << ")" << endl
- << STRS[EXCP_START] << endl
- << STRS[EXCP_SYS] << "," << endl
- << STRS[EXCP_IN] << "))" << endl
- << "{" << endl
- << "if (sink_name == 0)" << endl
- << "{" << endl
- << "ACE_THROW_RETURN (" << endl
- << STRS[EXCP_IN] << " ()," << endl
- << STRS[COMP_ECB] << "::_nil ());" << endl
- << "}" << endl << endl;
-
- GetConsumerEmitter get_consumer_emitter (os);
- c->accept (&get_consumer_emitter);
-
- os << "ACE_THROW_RETURN (" << endl
- << STRS[EXCP_IN] << " ()," << endl
- << STRS[COMP_ECB] << "::_nil ());" << endl
- << "}" << endl << endl;
-
- os << STRS[COMP_CK] << " *" << endl
- << c->name ().simple () << "_Servant::subscribe (" << endl
- << "const char *publisher_name," << endl
- << STRS[COMP_ECB] << "_ptr subscribe" << endl
- << STRS[ENV_SRC] << ")" << endl
- << STRS[EXCP_START] << endl
- << STRS[EXCP_SYS] << "," << endl
- << STRS[EXCP_IN] << "," << endl
- << STRS[EXCP_IC] << "," << endl
- << STRS[EXCP_ECL] << "))" << endl
- << "{" << endl
- << "if (publisher_name == 0)" << endl
- << "{" << endl
- << "ACE_THROW_RETURN (" << STRS[EXCP_IN] << " (), 0);"
- << endl
- << "}" << endl << endl;
-
- SubscribeEmitter subscribe_emitter (os);
- c->accept (&subscribe_emitter);
-
- os << "ACE_THROW_RETURN (" << STRS[EXCP_IN] << " (), 0);" << endl
- << "}" << endl << endl;
-
- os << STRS[COMP_ECB] << "_ptr" << endl
- << c->name ().simple () << "_Servant::unsubscribe ("
- << endl
- << "const char *publisher_name," << endl
- << STRS[COMP_CK] << " *ck" << endl
- << STRS[ENV_SRC] << ")" << endl
- << STRS[EXCP_START] << endl
- << STRS[EXCP_SYS] << "," << endl
- << STRS[EXCP_IN] << "," << endl
- << STRS[EXCP_IC] << "))" << endl
- << "{" << endl
- << "if (publisher_name == 0)" << endl
- << "{" << endl
- << "ACE_THROW_RETURN (" << endl
- << STRS[EXCP_IN] << " ()," << endl
- << STRS[COMP_ECB] << "::_nil ());" << endl
- << "}" << endl << endl;
-
- UnsubscribeEmitter unsubscribe_emitter (os);
- c->accept (&unsubscribe_emitter);
-
- os << "ACE_THROW_RETURN (" << endl
- << STRS[EXCP_IN] << " ()," << endl
- << STRS[COMP_ECB] << "::_nil ());" << endl
- << "}" << endl << endl;
-
- os << "void" << endl
- << c->name ().simple () << "_Servant::connect_consumer ("
- << endl
- << "const char *emitter_name," << endl
- << STRS[COMP_ECB] << "_ptr consumer" << endl
- << STRS[ENV_SRC] << ")" << endl
- << STRS[EXCP_START] << endl
- << STRS[EXCP_SYS] << "," << endl
- << STRS[EXCP_IN] << "," << endl
- << STRS[EXCP_AC] << "," << endl
- << STRS[EXCP_IC] << "))" << endl
- << "{" << endl
- << "ACE_THROW (::CORBA::NO_IMPLEMENT ());" << endl
- << "}" << endl << endl;
-
- os << STRS[COMP_ECB] << "_ptr" << endl
- << c->name ().simple () << "_Servant::disconnect_consumer ("
- << endl
- << "const char *source_name" << endl
- << STRS[ENV_SRC] << ")" << endl
- << STRS[EXCP_START] << endl
- << STRS[EXCP_SYS] << "," << endl
- << STRS[EXCP_IN] << "," << endl
- << STRS[EXCP_NC] << "))" << endl
- << "{" << endl
- << "ACE_THROW_RETURN (::CORBA::NO_IMPLEMENT (), 0);" << endl
- << "}" << endl << endl;
-
- os << "::Components::ConsumerDescriptions *" << endl
- << c->name ().simple () << "_Servant::get_all_consumers ("
- << endl
- << STRS[ENV_SNGL_SRC] << ")" << endl
- << STRS[EXCP_SNGL] << endl
- << "{" << endl
- << "ACE_THROW_RETURN (::CORBA::NO_IMPLEMENT (), 0);" << endl
- << "}" << endl << endl;
-
- os << "::Components::ConsumerDescriptions *" << endl
- << c->name ().simple () << "_Servant::get_named_consumers ("
- << endl
- << "const " << STRS[COMP_NAMES] << endl
- << STRS[ENV_SRC] << ")" << endl
- << STRS[EXCP_START] << endl
- << STRS[EXCP_SYS] << "," << endl
- << STRS[EXCP_IN] << "))" << endl
- << "{" << endl
- << "ACE_THROW_RETURN (::CORBA::NO_IMPLEMENT (), 0);" << endl
- << "}" << endl << endl;
-
- os << "::Components::EmitterDescriptions *" << endl
- << c->name ().simple () << "_Servant::get_all_emitters ("
- << endl
- << STRS[ENV_SNGL_SRC] << ")" << endl
- << STRS[EXCP_SNGL] << endl
- << "{" << endl
- << "ACE_THROW_RETURN (::CORBA::NO_IMPLEMENT (), 0);" << endl
- << "}" << endl << endl;
-
- os << "::Components::EmitterDescriptions *" << endl
- << c->name ().simple () << "_Servant::get_named_emitters ("
- << endl
- << "const " << STRS[COMP_NAMES] << endl
- << STRS[ENV_SRC] << ")" << endl
- << STRS[EXCP_START] << endl
- << STRS[EXCP_SYS] << "," << endl
- << STRS[EXCP_IN] << "))" << endl
- << "{" << endl
- << "ACE_THROW_RETURN (::CORBA::NO_IMPLEMENT (), 0);" << endl
- << "}" << endl << endl;
-
- os << "::Components::PublisherDescriptions *" << endl
- << c->name ().simple () << "_Servant::get_all_publishers ("
- << endl
- << STRS[ENV_SNGL_SRC] << ")" << endl
- << STRS[EXCP_SNGL] << endl
- << "{" << endl
- << "ACE_THROW_RETURN (::CORBA::NO_IMPLEMENT (), 0);" << endl
- << "}" << endl << endl;
-
- os << "::Components::PublisherDescriptions *" << endl
- << c->name ().simple () << "_Servant::get_named_publishers ("
- << endl
- << "const " << STRS[COMP_NAMES] << endl
- << STRS[ENV_SRC] << ")" << endl
- << STRS[EXCP_START] << endl
- << STRS[EXCP_SYS] << "," << endl
- << STRS[EXCP_IN] << "))" << endl
- << "{" << endl
- << "ACE_THROW_RETURN (::CORBA::NO_IMPLEMENT (), 0);" << endl
- << "}" << endl << endl;
-
- os << "// Operations for CCMObject interface." << endl << endl;
-
- os << "CORBA::IRObject_ptr" << endl
- << c->name ().simple () << "_Servant::get_component_def (" << endl
- << STRS[ENV_SNGL_SRC] << ")" << endl
- << STRS[EXCP_SNGL] << endl
- << "{" << endl
- << "ACE_THROW_RETURN (" << endl
- << "::CORBA::NO_IMPLEMENT ()," << endl
- << "::CORBA::IRObject::_nil ());" << endl
- << "}" << endl << endl;
-
- os << "::Components::CCMHome_ptr" << endl
- << c->name ().simple () << "_Servant::get_ccm_home (" << endl
- << STRS[ENV_SNGL_SRC] << ")" << endl
- << STRS[EXCP_SNGL] << endl
- << "{" << endl
- << "return this->context_->get_CCM_home "
- << "(ACE_ENV_SINGLE_ARG_PARAMETER);" << endl
- << "}" << endl << endl;
-
- os << "::Components::PrimaryKeyBase *" << endl
- << c->name ().simple () << "_Servant::get_primary_key (" << endl
- << STRS[ENV_SNGL_SRC] << ")" << endl
- << STRS[EXCP_START] << endl
- << STRS[EXCP_SYS] << "," << endl
- << STRS[EXCP_NKA] << "))" << endl
- << "{" << endl
- << "ACE_THROW_RETURN (" << STRS[EXCP_NKA] << " (), 0);" << endl
- << "}" << endl << endl;
-
- os << "void" << endl
- << c->name ().simple ()
- << "_Servant::configuration_complete (" << endl
- << STRS[ENV_SNGL_SRC] << ")" << endl
- << STRS[EXCP_START] << endl
- << STRS[EXCP_SYS] << "," << endl
- << STRS[EXCP_ICF] << "))" << endl
- << "{" << endl
- << "// CIAO to-do" << endl
- << "}" << endl << endl;
-
- os << "void" << endl
- << c->name ().simple () << "_Servant::remove (" << endl
- << STRS[ENV_SNGL_SRC] << ")" << endl
- << STRS[EXCP_START] << endl
- << STRS[EXCP_SYS] << "," << endl
- << STRS[EXCP_RF] << "))" << endl
- << "{" << endl
- << "// CIAO to-do" << endl
- << "}" << endl << endl;
-
- os << "::Components::ComponentPortDescription *" << endl
- << c->name ().simple () << "_Servant::get_all_ports (" << endl
- << STRS[ENV_SNGL_SRC] << ")" << endl
- << STRS[EXCP_SNGL] << endl
- << "{" << endl
- << "::Components::ComponentPortDescription_var retv =" << endl
- << "new OBV_Components::ComponentPortDescription;" << endl << endl
- << "::Components::FacetDescriptions_var facets_desc =" << endl
- << "this->get_all_facets (" << STRS[ENV_SNGL_ARG] << ");" << endl
- << "ACE_CHECK_RETURN (0);" << endl << endl
- << "::Components::ReceptacleDescriptions_var receptacle_desc ="
- << endl
- << "this->get_all_receptacles (" << STRS[ENV_SNGL_ARG] << ");"
- << endl
- << "ACE_CHECK_RETURN (0);" << endl << endl
- << "::Components::ConsumerDescriptions_var consumer_desc =" << endl
- << "this->get_all_consumers (" << STRS[ENV_SNGL_ARG] << ");"
- << endl
- << "ACE_CHECK_RETURN (0);" << endl << endl
- << "::Components::EmitterDescriptions_var emitter_desc =" << endl
- << "this->get_all_emitters (" << STRS[ENV_SNGL_ARG] << ");" << endl
- << "ACE_CHECK_RETURN (0);" << endl << endl
- << "::Components::PublisherDescriptions_var publisher_desc ="
- << endl
- << "this->get_all_publishers (" << STRS[ENV_SNGL_ARG] << ");"
- << endl
- << "ACE_CHECK_RETURN (0);" << endl << endl
- << "retv->facets (facets_desc.in ());" << endl
- << "retv->receptacles (receptacle_desc.in ());" << endl
- << "retv->consumers (consumer_desc.in ());" << endl
- << "retv->emitters (emitter_desc.in ());" << endl
- << "retv->publishers (publisher_desc.in ());" << endl << endl
- << "return retv._retn ();" << endl
- << "}" << endl << endl;
-
- os << "CORBA::Object_ptr" << endl
- << c->name ().simple () << "_Servant::_get_component (" << endl
- << STRS[ENV_SNGL_SRC] << ")" << endl
- << STRS[EXCP_SNGL] << endl
- << "{" << endl
- << "::Components::SessionContext_var sc =" << endl
- << "::Components::SessionContext::_narrow (" << endl
- << "this->context_" << endl
- << STRS[ENV_ARG] << ");" << endl
- << "ACE_CHECK_RETURN (::CORBA::Object::_nil ());" << endl << endl
- << "if (! ::CORBA::is_nil (sc.in ()))" << endl
- << "{" << endl
- << "return sc->get_CCM_object (" << STRS[ENV_SNGL_ARG] << ");"
- << endl
- << "}" << endl << endl
- << "::Components::EntityContext_var ec =" << endl
- << "::Components::EntityContext::_narrow (" << endl
- << "this->context_" << endl
- << STRS[ENV_ARG] << ");" << endl
- << "ACE_CHECK_RETURN (::CORBA::Object::_nil ());" << endl << endl
- << "if (! ::CORBA::is_nil (ec.in ()))" << endl
- << "{" << endl
- << "return ec->get_CCM_object (" << STRS[ENV_SNGL_ARG] << ");"
- << endl
- << "}" << endl << endl
- << "ACE_THROW_RETURN (" << endl
- << "::CORBA::INTERNAL ()," << endl
- << "::CORBA::Object::_nil ());" << endl
- << "}" << endl << endl;
-
- os << "// CIAO-specific operations." << endl << endl;
-
- os << "void" << endl
- << c->name ().simple () << "_Servant::_ciao_activate (" << endl
- << STRS[ENV_SNGL_SRC] << ")" << endl
- << STRS[EXCP_SNGL] << endl
- << "{" << endl
- << "::Components::SessionComponent_var temp =" << endl
- << "::Components::SessionComponent::_narrow (" << endl
- << "this->executor_.in ()" << endl
- << STRS[ENV_ARG] << ");" << endl
- << "ACE_CHECK;" << endl << endl
- << "if (! ::CORBA::is_nil (temp.in ()))" << endl
- << "{" << endl
- << "temp->ccm_activate (" << STRS[ENV_SNGL_ARG] << ");" << endl
- << "}" << endl
- << "}" << endl << endl;
-
- os << "void" << endl
- << c->name ().simple () << "_Servant::_ciao_passivate (" << endl
- << STRS[ENV_SNGL_SRC] << ")" << endl
- << STRS[EXCP_SNGL] << endl
- << "{" << endl
- << "::Components::SessionComponent_var temp =" << endl
- << "::Components::SessionComponent::_narrow (" << endl
- << "this->executor_.in ()" << endl
- << STRS[ENV_ARG] << ");" << endl
- << "ACE_CHECK;" << endl << endl
- << "if (! ::CORBA::is_nil (temp.in ()))" << endl
- << "{" << endl
- << "temp->ccm_passivate (" << STRS[ENV_SNGL_ARG] << ");" << endl
- << "}" << endl
- << "}" << endl << endl;
-
- os << "// Supported operations." << endl << endl;
-
- SupportedOperationEmitter supported_operation_emitter (
- os,
- &return_type_name_emitter_,
- &inarg_type_name_emitter_,
- &outarg_type_name_emitter_,
- &inoutarg_type_name_emitter_,
- c->name ().simple ());
-
- // @@@ (JP) Must include ancestors' supported interfaces as well.
- for (SyntaxTree::ComponentDef::Iterator i = c->supports_begin ();
- i != c->supports_end ();
- i++)
- {
- i->resolve ()->accept (&supported_operation_emitter);
- }
-
- // Close the CIAO_GLUE namespace, if we opened one.
- if (c->scope ()->dynamic_type<IDL2::SyntaxTree::FileScope> () != 0)
- {
- os << "}" << endl;
- }
-
- os << endl;
- }
- };
-
- //
- // Generates the component home servant interface.
- //
- class HomeEmitter : public SourceEmitterBase,
- public virtual Traversal::HomeDef,
- public virtual Traversal::OperationDecl,
- public virtual Traversal::AttributeDecl,
- public virtual Traversal::HomeFactoryDecl
- {
- private:
- ReturnTypeNameEmitter return_type_name_emitter_;
- INArgTypeNameEmitter inarg_type_name_emitter_;
- INOUTArgTypeNameEmitter inoutarg_type_name_emitter_;
- OUTArgTypeNameEmitter outarg_type_name_emitter_;
-
- OperationEmitter operation_emitter_;
- FactoryEmitter factory_emitter_;
-
- public:
- HomeEmitter (ostream& os_)
- : SourceEmitterBase (os_),
- return_type_name_emitter_ (os_),
- inarg_type_name_emitter_ (os_),
- inoutarg_type_name_emitter_ (os_),
- outarg_type_name_emitter_ (os_),
- operation_emitter_ (os_,
- &return_type_name_emitter_,
- &inarg_type_name_emitter_,
- &outarg_type_name_emitter_,
- &inoutarg_type_name_emitter_),
- factory_emitter_ (os_,
- &inarg_type_name_emitter_)
- {
- }
-
- virtual void
- visit_home_def_pre (HomeDefPtr const& h)
- {
- // If we are at file scope, we create a namespace anyway.
- if (h->scope ()->dynamic_type<IDL2::SyntaxTree::FileScope> () != 0)
- {
- os << STRS[GLUE_NS] << endl
- << "{" << endl;
- }
-
- os << h->name ().simple () << "_Servant::"
- << h->name ().simple () << "_Servant (" << endl
- << h->name ().scope () << "::CCM_" << h->name ().simple ()
- << "_ptr exe," << endl
- << "::CIAO::Session_Container *c)" << endl
- << ": executor_ (" << h->name ().scope () << "::CCM_"
- << h->name ().simple () << "::_duplicate (exe))," << endl
- << "container_ (c)" << endl
- << "{" << endl
- << "}" << endl << endl;
-
- os << h->name ().simple () << "_Servant::~"
- << h->name ().simple () << "_Servant (void)" << endl
- << "{" << endl
- << "}" << endl << endl;
- }
-
- virtual void
- visit_operation_decl (OperationDeclPtr const& d)
- {
- os << "// Home factory and other operations." << endl << endl;
-
- d->accept (&operation_emitter_);
- }
-
- virtual void
- visit_home_factory_decl (HomeFactoryDeclPtr const& f)
- {
- f->accept (&factory_emitter_);
- }
-
- virtual void
- visit_attribute_decl (AttributeDeclPtr const& a)
- {
- // TODO
- }
-
- virtual void
- visit_home_def_post (HomeDefPtr const& h)
- {
-
- os << "// Operations for keyless home interface." << endl << endl;
-
- os << "::Components::CCMObject_ptr" << endl
- << h->name ().simple () << "_Servant::create_component (" << endl
- << STRS[ENV_SNGL_SRC] << ")" << endl
- << STRS[EXCP_START] << endl
- << STRS[EXCP_SYS] << "," << endl
- << "::Components::CreateFailure))" << endl
- << "{" << endl
- << "return this->create (" << STRS[ENV_SNGL_ARG] << ");" << endl
- << "}" << endl << endl;
-
- os << "// Operations for implicit home interface." << endl << endl;
-
- os << h->manages ()->name () << "_ptr" << endl
- << h->name ().simple () << "_Servant::create (" << endl
- << STRS[ENV_SNGL_SRC] << ")" << endl
- << STRS[EXCP_START] << endl
- << STRS[EXCP_SYS] << "," << endl
- << "::Components::CreateFailure))" << endl
- << "{" << endl
- << "if (this->executor_.in () == 0)" << endl
- << "{" << endl
- << "ACE_THROW_RETURN (" << endl
- << "::CORBA::INTERNAL ()," << endl
- << h->manages ()->name () << "::_nil ());" << endl
- << "}" << endl << endl
- << "Components::EnterpriseComponent_var _ciao_ec =" << endl
- << "this->executor_->create (" << STRS[ENV_SNGL_ARG] << ");"
- << endl
- << "ACE_CHECK_RETURN (" << h->manages ()->name ()
- << "::_nil ());" << endl << endl
- << h->manages ()->name ().scope () << "::CCM_"
- << h->manages ()->name ().simple () << "_var _ciao_comp =" << endl
- << h->manages ()->name ().scope () << "::CCM_"
- << h->manages ()->name ().simple () << "::_narrow (" << endl
- << "_ciao_ec.in ()" << endl
- << STRS[ENV_ARG] << ");" << endl
- << "ACE_CHECK_RETURN (" << h->manages ()->name ()
- << "::_nil ());" << endl << endl
- << "return this->_ciao_activate_component (" << endl
- << "_ciao_comp.in ()" << endl
- << STRS[ENV_ARG] << ");" << endl
- << "}" << endl << endl;
-
- os << "// Operations for CCMHome interface." << endl << endl;
-
- os << "::CORBA::IRObject_ptr" << endl
- << h->name ().simple () << "_Servant::get_component_def (" << endl
- << STRS[ENV_SNGL_SRC] << ")" << endl
- << STRS[EXCP_SNGL] << endl
- << "{" << endl
- << "ACE_THROW_RETURN (" << endl
- << "::CORBA::NO_IMPLEMENT ()," << endl
- << "::CORBA::IRObject::_nil ());" << endl
- << "}" << endl << endl;
-
- os << "::CORBA::IRObject_ptr" << endl
- << h->name ().simple () << "_Servant::get_home_def (" << endl
- << STRS[ENV_SNGL_SRC] << ")" << endl
- << STRS[EXCP_SNGL] << endl
- << "{" << endl
- << "ACE_THROW_RETURN (" << endl
- << "::CORBA::NO_IMPLEMENT ()," << endl
- << "::CORBA::IRObject::_nil ());" << endl
- << "}" << endl << endl;
-
- os << "void" << endl
- << h->name ().simple () << "_Servant::remove_component (" << endl
- << "::Components::CCMObject_ptr comp" << endl
- << STRS[ENV_SRC] << ")" << endl
- << STRS[EXCP_START] << endl
- << STRS[EXCP_SYS] << "," << endl
- << STRS[EXCP_RF] << "))" << endl
- << "{" << endl
- << h->manages ()->name () << "_var _ciao_comp =" << endl
- << h->manages ()->name () << "::_narrow (" << endl
- << "comp" << endl
- << STRS[ENV_ARG] << ");" << endl
- << "ACE_CHECK;" << endl << endl
- << "if (CORBA::is_nil (_ciao_comp.in ()))" << endl
- << "{" << endl
- << "ACE_THROW (CORBA::INTERNAL ());" << endl
- << "}" << endl << endl
- << "_ciao_comp->remove (" << STRS[ENV_ARG] << ");" << endl
- << "ACE_CHECK;" << endl << endl
- << "this->_ciao_passivate_component (" << endl
- << "_ciao_comp.in ()" << endl
- << STRS[ENV_ARG] << ");" << endl
- << "}" << endl << endl;
-
- os << "// CIAO-specific operations." << endl << endl;
-
- os << h->manages ()->name () << "_ptr" << endl
- << h->name ().simple ()
- << "_Servant::_ciao_activate_component (" << endl
- << h->manages ()->name ().scope () << "::CCM_"
- << h->manages ()->name ().simple () << "_ptr exe" << endl
- << STRS[ENV_SRC] << ")" << endl
- << STRS[EXCP_SNGL] << endl
- << "{" << endl
- << "::CORBA::Object_var hobj =" << endl
- << "this->container_->get_objref (" << endl
- << "this" << endl
- << STRS[ENV_ARG] << ");" << endl
- << "ACE_CHECK_RETURN (" << h->manages ()->name () << "::_nil ());"
- << endl << endl
- << "::Components::CCMHome_var home =" << endl
- << "::Components::CCMHome::_narrow (" << endl
- << "hobj" << endl
- << STRS[ENV_ARG] << ");" << endl
- << "ACE_CHECK_RETURN (" << h->manages ()->name () << "::_nil ());"
- << endl << endl
- << h->manages ()->name ().simple () << "_Servant *svt =" << endl
- << "new " << h->manages ()->name ().simple () << "_Servant ("
- << endl
- << "exe," << endl
- << "home.in ()," << endl
- << "this->container_);" << endl << endl
- << "PortableServer::ServantBase_var safe (svt);" << endl
- << "PortableServer::ObjectId_var oid;" << endl << endl
- << "CORBA::Object_var objref =" << endl
- << "this->container_->install_component (" << endl
- << "svt," << endl
- << "oid.out ()" << endl
- << STRS[ENV_ARG] << ");" << endl
- << "ACE_CHECK_RETURN (" << h->manages ()->name () << "::_nil ());"
- << endl << endl
- << "svt->_ciao_activate (" << STRS[ENV_SNGL_ARG] << ");" << endl
- << "ACE_CHECK_RETURN (" << h->manages ()->name () << "::_nil ());"
- << endl << endl
- << h->manages ()->name () << "_var ho =" << endl
- << h->manages ()->name () << "::_narrow (" << endl
- << "objref.in ()" << endl
- << STRS[ENV_ARG] << ");" << endl
- << "ACE_CHECK_RETURN (" << h->manages ()->name () << "::_nil ());"
- << endl << endl
- << "if (this->component_map_.bind (oid.in (), svt) == 0)" << endl
- << "{" << endl
- << "safe._retn ();" << endl
- << "}" << endl << endl
- << "return ho._retn ();" << endl
- << "}" << endl << endl;
-
- os << "void" << endl
- << h->name ().simple ()
- << "_Servant::_ciao_passivate_component (" << endl
- << h->manages ()->name () << "_ptr comp" << endl
- << STRS[ENV_SNGL_SRC] << ")" << endl
- << STRS[EXCP_SNGL] << endl
- << "{" << endl
- << "PortableServer::ObjectId_var oid;" << endl << endl
- << "this->container_->uninstall_component (" << endl
- << "comp," << endl
- << "oid.out ()" << endl
- << STRS[ENV_ARG] << ");" << endl
- << "ACE_CHECK;" << endl << endl
- << h->manages ()->name ().simple () << "_Servant *servant = 0;"
- << endl << endl
- << "if (this->component_map_.unbind (oid.in (), servant) == 0)"
- << endl
- << "{" << endl
- << "PortableServer::ServantBase_var safe (servant);" << endl
- << "servant->_ciao_passivate (" << STRS[ENV_SNGL_ARG] << ");"
- << endl
- << "ACE_CHECK;" << endl
- << "}" << endl
- << "}" << endl << endl;
-
- os << "// Supported operations." << endl << endl;
-
- SupportedOperationEmitter supported_operation_emitter (
- os,
- &return_type_name_emitter_,
- &inarg_type_name_emitter_,
- &outarg_type_name_emitter_,
- &inoutarg_type_name_emitter_,
- h->name ().simple ());
-
- // @@@ (JP) Must include ancestors' supported interfaces as well.
- for (SyntaxTree::HomeDef::Iterator i = h->supports_begin ();
- i != h->supports_end ();
- i++)
- {
- i->resolve ()->accept (&supported_operation_emitter);
- }
-
- // Close the CIAO_GLUE namespace, if we opened one.
- if (h->scope ()->dynamic_type<IDL2::SyntaxTree::FileScope> () != 0)
- {
- os << "}" << endl;
- }
-
- os << endl;
- }
- };
-}
-
-SourceEmitterBase::SourceEmitterBase (ostream& os_)
- : os (os_)
-{
-}
-
-// ===========================================================
-
-ServantSourceEmitter::ServantSourceEmitter (
- ostream& os_,
- CommandLine const& cl,
- UnconstrainedInterfaceDefSet const& interface_set,
- ComponentDefSet const& component_set,
- HomeDefSet const& home_set)
- : SourceEmitterBase (os_),
- cl_ (cl),
- component_set_ (component_set),
- home_set_ (home_set),
- interface_set_ (interface_set)
-{
-}
-
-bool
-ServantSourceEmitter::contains_element (ModulePtr const& m) const
-{
- for (UnconstrainedInterfaceDefSet::const_iterator i =
- interface_set_.begin ();
- i != interface_set_.end ();
- i++)
- {
- if (m->order ().suborder ((*i)->order ())) return true;
- }
-
- for (ComponentDefSet::const_iterator i = component_set_.begin ();
- i != component_set_.end ();
- i++)
- {
- if (m->order ().suborder ((*i)->order ())) return true;
- }
-
- for (HomeDefSet::const_iterator i = home_set_.begin ();
- i != home_set_.end ();
- i++)
- {
- if (m->order ().suborder ((*i)->order ())) return true;
- }
-
- return false;
-}
-
-void
-ServantSourceEmitter::visit_translation_unit_pre (TranslationUnitPtr const& u)
-{
- os << COPYRIGHT << endl << endl;
-
- fs::path file_path = u->principal_translation_region ()->file_path ();
- string file_name ("");
-
- if (! file_path.empty ())
- {
- file_name = file_path.leaf ();
- }
-
- string file_suffix = cl_.get_value ("hdr-file-suffix",
- "_svnt.h");
-
- file_name = regex::perl_s (file_name,
- "/^(.*?)(\\.(idl|cidl))?$/$1"
- + file_suffix
- + "/");
-
- os << "#include \"" << file_name << "\"" << endl
- << "#include \"Cookies.h\"" << endl << endl;
-}
-
-void
-ServantSourceEmitter::visit_module_pre (ModulePtr const& m)
-{
- if (contains_element (m))
- {
- os << STRS[GLUE_NS] << "_" << m->name ().simple () << endl
- << "{" << endl;
- }
-}
-
-void
-ServantSourceEmitter::visit_unconstrained_interface_def (
- UnconstrainedInterfaceDefPtr const& i)
-{
- if (interface_set_.find (i) != interface_set_.end ())
- {
- FacetEmitter facet_emitter (os);
- i->accept (&facet_emitter);
- }
-}
-
-void
-ServantSourceEmitter::visit_component_def (ComponentDefPtr const& c)
-{
- {
- ContextEmitter context_emitter (os);
- c->accept (&context_emitter);
- }
-
- {
- ServantEmitter servant_emitter (os);
- c->accept (&servant_emitter);
- }
-}
-
-void
-ServantSourceEmitter::visit_home_def (HomeDefPtr const& h)
-{
- HomeEmitter home_emitter (os);
- h->accept (&home_emitter);
-}
-
-void
-ServantSourceEmitter::visit_module_post (ModulePtr const& m)
-{
- if (contains_element (m))
- {
- os << "}" << endl << endl;
- }
-}
-
-// ===========================================================
-
-ServantSourceFinalizingEmitter::ServantSourceFinalizingEmitter (
- ostream& os_,
- string export_macro)
- : SourceEmitterBase (os_),
- export_macro_ (export_macro)
-{
-}
-
-void
-ServantSourceFinalizingEmitter::visit_home_def (HomeDefPtr const& h)
-{
- bool global =
- (h->scope ()->dynamic_type<IDL2::SyntaxTree::FileScope> () != 0);
-
- os << "extern \"C\" " << export_macro_ << " ::PortableServer::Servant"
- << endl
- << "create" << h->name ().simple () << "_Servant (" << endl
- << "::Components::HomeExecutorBase_ptr p," << endl
- << "CIAO::Session_Container *c" << endl
- << STRS[ENV_SRC] << ")" << endl
- << "{" << endl
- << "if (p == 0)" << endl
- << "{" << endl
- << "return 0;" << endl
- << "}" << endl << endl
- << h->name ().scope () << "::CCM_"
- << h->name ().simple () << "_var x =" << endl
- << h->name ().scope () << "::CCM_" << h->name ().simple ()
- << "::_narrow (" << endl
- << "p" << endl
- << STRS[ENV_ARG] << ");" << endl
- << "ACE_CHECK_RETURN (0);" << endl << endl
- << "if (::CORBA::is_nil (x.in ()))" << endl
- << "{" << endl
- << "return 0;" << endl
- << "}" << endl << endl
- << "return new" << endl
- << "::CIAO_GLUE";
-
- if (!global) os << "_" << h->name ().scope ().simple ();
-
- os << "::" << h->name ().simple () << "_Servant (" << endl
- << "x.in ()," << endl
- << "c);" << endl
- << "}" << endl << endl;
-}
diff --git a/TAO/CIAO/CIDLC/ServantSourceGenerator.hpp b/TAO/CIAO/CIDLC/ServantSourceGenerator.hpp
deleted file mode 100644
index 6d7635f5594..00000000000
--- a/TAO/CIAO/CIDLC/ServantSourceGenerator.hpp
+++ /dev/null
@@ -1,96 +0,0 @@
-// $Id$
-#ifndef SERVANT_SOURCE_GENERATOR_HPP
-#define SERVANT_SOURCE_GENERATOR_HPP
-
-#include "CCF/CodeGenerationKit/CommandLine.hpp"
-
-#include "CCF/CIDL/CIDL_SyntaxTree.hpp"
-#include "CCF/CIDL/CIDL_Traversal.hpp"
-
-using std::ostream;
-
-using namespace CIDL;
-using namespace CIDL::SyntaxTree;
-
-// SourceEmitterBase is a base class that holds the ostream member
-// common to every other class in this file.
-//
-class SourceEmitterBase
-{
-protected:
- SourceEmitterBase (ostream&);
-
- ostream& os;
-};
-
-// Emitter generates the servant source mapping for declarations collected
-// by Collector. Note that the original structure of modules is preserved.
-//
-class ServantSourceEmitter
- : public SourceEmitterBase,
- public virtual Traversal::TranslationUnit,
- public virtual Traversal::TranslationRegion,
- public virtual Traversal::FileScope,
- public virtual Traversal::Module,
- public virtual Traversal::UnconstrainedInterfaceDef,
- public virtual Traversal::ConcreteEventTypeDef,
- public virtual Traversal::ComponentDef,
- public virtual Traversal::HomeDef
-{
-public:
- ServantSourceEmitter (ostream& os_,
- CommandLine const& cl,
- UnconstrainedInterfaceDefSet const& interface_set,
- ComponentDefSet const& component_set,
- HomeDefSet const& home_set);
-
- bool
- contains_element (ModulePtr const& m) const;
-
- virtual void
- visit_translation_unit_pre (TranslationUnitPtr const&);
-
- virtual void
- visit_module_pre (ModulePtr const& m);
-
- virtual void
- visit_unconstrained_interface_def (
- UnconstrainedInterfaceDefPtr const& i);
-
- virtual void
- visit_component_def (ComponentDefPtr const& c);
-
- virtual void
- visit_home_def (HomeDefPtr const& h);
-
- virtual void
- visit_module_post (ModulePtr const& m);
-
-private:
- CommandLine const& cl_;
-
- ComponentDefSet const& component_set_;
- HomeDefSet const& home_set_;
- UnconstrainedInterfaceDefSet const& interface_set_;
-};
-
-class ServantSourceFinalizingEmitter
- : public SourceEmitterBase,
- public virtual Traversal::TranslationUnit,
- public virtual Traversal::TranslationRegion,
- public virtual Traversal::FileScope,
- public virtual Traversal::Module,
- public virtual Traversal::HomeDef
-{
-public:
- ServantSourceFinalizingEmitter (ostream& os_,
- string export_macro);
-
- virtual void
- visit_home_def (HomeDefPtr const& h);
-
-private:
- string export_macro_;
-};
-
-#endif // SERVANT_SOURCE_GENERATOR_HPP
diff --git a/TAO/CIAO/CIDLC/Version b/TAO/CIAO/CIDLC/Version
deleted file mode 100644
index 99d85ecdbb7..00000000000
--- a/TAO/CIAO/CIDLC/Version
+++ /dev/null
@@ -1 +0,0 @@
-0.0.6 \ No newline at end of file
diff --git a/TAO/CIAO/CIDLC/cidlc.cpp b/TAO/CIAO/CIDLC/cidlc.cpp
deleted file mode 100644
index a0ca2a61b58..00000000000
--- a/TAO/CIAO/CIDLC/cidlc.cpp
+++ /dev/null
@@ -1,231 +0,0 @@
-// $Id$
-#include "CCF/CompilerElements/FileSystem.hpp"
-
-#include "CCF/CodeGenerationKit/CommandLine.hpp"
-#include "CCF/CodeGenerationKit/CommandLineParser.hpp"
-#include "CCF/CodeGenerationKit/CommandLineDescriptor.hpp"
-
-#include "CCF/CIDL/CIDL_LexicalAnalyzer.hpp"
-#include "CCF/CIDL/CIDL_Parser.hpp"
-#include "CCF/CIDL/CIDL_SyntaxTree.hpp"
-#include "CCF/CIDL/CIDL_SemanticActionImpl.hpp"
-
-#include "ExecutorMappingGenerator.hpp"
-#include "ServantGenerator.hpp"
-
-#include "CCF/CompilerElements/TokenStream.hpp"
-#include "CCF/CompilerElements/Preprocessor.hpp"
-
-#include <iostream>
-
-using std::cerr;
-using std::endl;
-
-int main (int argc, char* argv[])
-{
- using namespace IDL2::SyntaxTree;
-
- try
- {
- // Parsing command line options and arguments
- //
- //
- CommandLine cl;
-
- if (!parse (argc, argv, cl))
- {
- cerr << "command line syntax error" << endl;
- cerr << "try " << argv[0] << " --help for usage information" << endl;
- return -1;
- }
-
- ExecutorMappingGenerator lem_gen;
-
- if (cl.get_value ("help", false) || cl.get_value ("help-html", false))
- {
- CL::Description d (argv[0]);
-
- lem_gen.options (d);
-
- d.add_option (CL::OptionDescription (
- "preprocess-only",
- "Run preprocessor only and output result to stdout.",
- true));
-
- d.add_option (CL::OptionDescription (
- "help",
- "Display usage information and exit.",
- true));
-
- d.add_option (CL::OptionDescription (
- "help-html",
- "Dump usage information in html format and exit.",
- true));
-
- d.add_argument ("cidl file");
-
- if (cl.get_value ("help-html", false)) CL::print_html (cerr, d);
- else CL::print_text (cerr, d);
-
- return 0;
- }
-
-
- fs::ifstream ifs;
- ifs.exceptions (ios_base::badbit | ios_base::failbit);
-
- fs::path file_path;
-
- CommandLine::ArgumentIterator i = cl.argument_begin ();
-
- if (i != cl.argument_end ())
- {
- try
- {
- file_path = fs::path (*i, fs::native);
- ifs.open (file_path, std::ios_base::out);
- }
- catch (fs::filesystem_error const&)
- {
- cerr << *i << ": error: unable to open in read mode" << endl;
- return -1;
- }
- catch (ios_base::failure const&)
- {
- cerr << *i << ": error: unable to open in read mode" << endl;
- return -1;
- }
- }
-
- //@@ for some reason ifs throws exception if I don't reset it to
- // original state. It probably has something to do with call to
- // get after eof.
- ifs.exceptions (ios_base::iostate (0));
-
- std::istream& is = ifs.is_open ()
- ? static_cast<std::istream&> (ifs)
- : static_cast<std::istream&> (std::cin);
-
- CCF::InputStreamAdapter isa (is);
- CCF::Preprocessor pp (isa);
-
- if (cl.get_value ("preprocess-only", false))
- {
- while (true)
- {
- CCF::Preprocessor::int_type i = pp.next ();
-
- if (pp.eos (i)) break;
-
- CCF::Preprocessor::char_type c = pp.to_char_type (i);
-
- std::cout << c ;
- }
- return 0;
- }
-
-
- CIDL::LexicalAnalyzer lexer (pp);
- TokenStream token_stream;
-
- //@@ bad token comparison
- for (TokenPtr token = lexer.next ();
- token.in () != lexer.eos.in ();
- token = lexer.next ())
- {
- token_stream.push_back (token);
- }
-
- if (token_stream.size () == 0)
- {
- cerr << "no tokens produced so nothing to parse" << endl;
- return 0;
- }
-
- TranslationUnitPtr unit (new TranslationUnit);
-
- //-----------------------------------------------------------------
- //@@ exeprimental code
-
- //Create .builtin region
- {
- TranslationRegionPtr builtin (
- new TranslationRegion (unit->table (),
- unit->create_order ()));
- unit->insert (builtin);
-
- // Inject built-in types into the file scope of this
- // translation region
-
- ScopePtr s = builtin->scope ();
-
- // Note: I know what I am doing here (and if you don't then
- // read MExC++#17 again).
-
- s->insert (BuiltInTypeDefPtr (new Void (s)));
- s->insert (BuiltInTypeDefPtr (new Long (s)));
- s->insert (BuiltInTypeDefPtr (new Boolean (s)));
- s->insert (BuiltInTypeDefPtr (new String (s)));
- }
-
- //@@ This should be in IDL3 or even CIDL part I just need
- // a mechanism to create them in proper order.
- {
- TranslationRegionPtr builtin (
- new ImpliedIncludeTranslationRegion (fs::path ("Components.idl"),
- unit->table (),
- unit->create_order ()));
- unit->insert (builtin);
-
- ScopePtr fs = builtin->scope ();
- ModulePtr m (new SyntaxTree::Module (SimpleName("Components"), fs));
- fs->insert (m);
-
- LocalInterfaceDefPtr i (
- new LocalInterfaceDef (SimpleName ("EnterpriseComponent"),
- m,
- ScopedNameSet ()));
-
- m->insert (i);
- }
-
- TranslationRegionPtr tr (
- new PrincipalTranslationRegion (file_path,
- unit->table (),
- unit->create_order ()));
- unit->insert (tr);
-
- CIDL::SemanticActionFactoryImpl action_factory (tr);
-
- //-----------------------------------------------------------------
-
- CIDL::Parser parser (lexer, action_factory);
-
- bool result = Details::parse (token_stream.begin (),
- token_stream.end (),
- parser.start ());
-
- if (!result) return -1;
-
- // Generate executor mapping
-
- {
- lem_gen.generate (cl, unit);
- }
-
- // Generate servant code
- {
- ServantGenerator gen (cl);
- gen.generate (unit);
- }
-
- }
- catch (Declaration::NotInScope const&)
- {
- cerr << "exception: " << "Declaration::NotInScope" << endl;
- }
- catch (...)
- {
- cerr << "exception: " << "unknow" << endl;
- }
-}
diff --git a/TAO/CIAO/CIDLC/parser_examples/README b/TAO/CIAO/CIDLC/parser_examples/README
deleted file mode 100644
index df0a141b2cc..00000000000
--- a/TAO/CIAO/CIDLC/parser_examples/README
+++ /dev/null
@@ -1,70 +0,0 @@
-// $Id$
-
- Parser Examples
-
-This directory contains examples of a (C)IDL parser hierarchy using Spirit. Each
-example (IDL2, IDL3 and CIDL) is in its own directory and has its own test file.
-The Spirit files (these examples were compiled using Spirit 1.6.0) should be
-unpacked so the directory spirit-1.6.0 is in the CIDLC directory. The builds
-include too many files from Spirit to check them into the respository individually,
-at least right now, but it is easy enough to download Spirit and unpack it. It
-can be obtained at
-
-http://spirit.sourceforge.net/
-
-Spirit 1.6.0 can be downloaded along with the necessary parts of Boost 1.30.0.
-
-All I have at the moment are MSVC 7.1 solution and project files. Makefiles will
-be forthcoming, or interested parties can contribute them ;-).
-
-*****************************************************************
-
-To use mwc, make sure you have the environment variable
-
- SPIRIT_DIR
-
-defined to point to the location where Spirit library is available,
-and generate using one of the following:
-
-MSVC6: mwc -type vc6
-MSVC7: mwc -type vc7
-UNIX: mwc
-
-*****************************************************************
-
-
-Uncommenting
-
-#define SPIRIT_DEBUG
-
-at the top of any driver file and recompiling will cause debug info to be
-generated as the test file is parsed.
-
-Each grammar file embeds the one it is a superset of. Some rules are overridden
-in the superset grammar as necessary. As Boris suggests, we could create members
-in superset grammars that are assigned references to rules from subset grammars,
-thus enabling us to eliminate constructs like
-
-idl3.idl2.*
-
-and so forth, although I think it may be informative sometimes to see at a
-glance which grammar a rule originates from. It will also be possible to
-compile each grammar into a DLL, but so much of the code is template-based that
-I'm not sure it will be worth it. I welcome suggestions and opinions about these
-issues.
-
-The CIDL grammar is incomplete, including only the rules underneath
-'composition'. We are using at present a much smaller subset than that, but it
-was convenient to implement composition's subrules down to the terminals.
-
-The IDL2 grammar header file contains a simple utility parse() method derived
-from the Spirit C grammar example. There is also a simple grammar for skipping
-whitespace and comments, as well as #line and #pragma directives. All of these
-features will need to be made more industrial-strength, and of course there
-are many additional features that will need to be added - #includes,
-error processing, etc. etc.
-
-
-Jeff Parsons
-
-4/8/03 \ No newline at end of file
diff --git a/TAO/CIAO/CIDLC/parser_examples/cidl/cidl.cpp b/TAO/CIAO/CIDLC/parser_examples/cidl/cidl.cpp
deleted file mode 100644
index 128ce40bd23..00000000000
--- a/TAO/CIAO/CIDLC/parser_examples/cidl/cidl.cpp
+++ /dev/null
@@ -1,29 +0,0 @@
-// $Id$
-
-#if defined(_DEBUG)
-//#define SPIRIT_DEBUG
-#endif // defined(_DEBUG)
-
-#include "cidl_grammar.h"
-
-int
-main (int argc, char* argv[])
-{
-// Start grammar definition
- cerr << "CIDL Grammar checker implemented with Spirit ..." << endl;
-
-// main driver code
-cidl_grammar g;
-
- if (2 == argc)
- {
- parse (g,
- argv[1]);
- }
- else
- {
- cerr << "No filename given" << endl;
- }
-
- return 0;
-}
diff --git a/TAO/CIAO/CIDLC/parser_examples/cidl/cidl.mpc b/TAO/CIAO/CIDLC/parser_examples/cidl/cidl.mpc
deleted file mode 100644
index 6fbaaf8337d..00000000000
--- a/TAO/CIAO/CIDLC/parser_examples/cidl/cidl.mpc
+++ /dev/null
@@ -1,11 +0,0 @@
-project(cidl) : aceexe {
- exename = cidl
- includes += .. $(SPIRIT_DIR) $(SPIRIT_DIR)/miniboost
- Source_Files {
- cidl.cpp
- cidl_grammar.cpp
- }
- Header_Files {
- cidl_grammar.h
- }
-} \ No newline at end of file
diff --git a/TAO/CIAO/CIDLC/parser_examples/cidl/cidl.vcproj b/TAO/CIAO/CIDLC/parser_examples/cidl/cidl.vcproj
deleted file mode 100644
index 6f76134b619..00000000000
--- a/TAO/CIAO/CIDLC/parser_examples/cidl/cidl.vcproj
+++ /dev/null
@@ -1,145 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="7.10"
- Name="cidl"
- ProjectGUID="{8059742C-5DA9-4318-8D04-7938CBB0D538}"
- Keyword="Win32Proj">
- <Platforms>
- <Platform
- Name="Win32"/>
- </Platforms>
- <Configurations>
- <Configuration
- Name="Debug|Win32"
- OutputDirectory="Debug"
- IntermediateDirectory="Debug"
- ConfigurationType="1"
- CharacterSet="2">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories="..,$(SPIRIT_DIR),$(SPIRIT_DIR)\miniboost"
- PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
- MinimalRebuild="TRUE"
- BasicRuntimeChecks="0"
- RuntimeLibrary="3"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="FALSE"
- DebugInformationFormat="3"/>
- <Tool
- Name="VCCustomBuildTool"/>
- <Tool
- Name="VCLinkerTool"
- OutputFile="$(OutDir)/cidl.exe"
- LinkIncremental="2"
- GenerateDebugInformation="TRUE"
- ProgramDatabaseFile="$(OutDir)/cidl.pdb"
- SubSystem="1"
- TargetMachine="1"/>
- <Tool
- Name="VCMIDLTool"/>
- <Tool
- Name="VCPostBuildEventTool"/>
- <Tool
- Name="VCPreBuildEventTool"/>
- <Tool
- Name="VCPreLinkEventTool"/>
- <Tool
- Name="VCResourceCompilerTool"/>
- <Tool
- Name="VCWebServiceProxyGeneratorTool"/>
- <Tool
- Name="VCXMLDataGeneratorTool"/>
- <Tool
- Name="VCWebDeploymentTool"/>
- <Tool
- Name="VCManagedWrapperGeneratorTool"/>
- <Tool
- Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
- </Configuration>
- <Configuration
- Name="Release|Win32"
- OutputDirectory="Release"
- IntermediateDirectory="Release"
- ConfigurationType="1"
- CharacterSet="2">
- <Tool
- Name="VCCLCompilerTool"
- PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
- RuntimeLibrary="4"
- UsePrecompiledHeader="3"
- WarningLevel="3"
- Detect64BitPortabilityProblems="TRUE"
- DebugInformationFormat="3"/>
- <Tool
- Name="VCCustomBuildTool"/>
- <Tool
- Name="VCLinkerTool"
- OutputFile="$(OutDir)/cidl.exe"
- LinkIncremental="1"
- GenerateDebugInformation="TRUE"
- SubSystem="1"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- TargetMachine="1"/>
- <Tool
- Name="VCMIDLTool"/>
- <Tool
- Name="VCPostBuildEventTool"/>
- <Tool
- Name="VCPreBuildEventTool"/>
- <Tool
- Name="VCPreLinkEventTool"/>
- <Tool
- Name="VCResourceCompilerTool"/>
- <Tool
- Name="VCWebServiceProxyGeneratorTool"/>
- <Tool
- Name="VCXMLDataGeneratorTool"/>
- <Tool
- Name="VCWebDeploymentTool"/>
- <Tool
- Name="VCManagedWrapperGeneratorTool"/>
- <Tool
- Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
- </Configuration>
- </Configurations>
- <References>
- </References>
- <Files>
- <Filter
- Name="Source Files"
- Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx"
- UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}">
- <File
- RelativePath=".\cidl.cpp">
- </File>
- <File
- RelativePath=".\cidl_grammar.cpp">
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="TRUE">
- <Tool
- Name="VCCLCompilerTool"/>
- </FileConfiguration>
- </File>
- </Filter>
- <Filter
- Name="Header Files"
- Filter="h;hpp;hxx;hm;inl;inc;xsd"
- UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}">
- <File
- RelativePath=".\cidl_grammar.h">
- </File>
- </Filter>
- <Filter
- Name="Resource Files"
- Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx"
- UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}">
- </Filter>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>
diff --git a/TAO/CIAO/CIDLC/parser_examples/cidl/cidl_grammar.cpp b/TAO/CIAO/CIDLC/parser_examples/cidl/cidl_grammar.cpp
deleted file mode 100644
index ce3a5ac1b40..00000000000
--- a/TAO/CIAO/CIDLC/parser_examples/cidl/cidl_grammar.cpp
+++ /dev/null
@@ -1,309 +0,0 @@
-// $Id$
-
-#include "idl3/idl3_grammar.cpp"
-
-#ifndef CIDL_GRAMMAR_C
-#define CIDL_GRAMMAR_C
-
-template<typename ScannerT>
-rule<ScannerT> const &
-cidl_grammar::definition<ScannerT>::start (void) const
-{
- return specification;
-}
-
-template<typename ScannerT>
-cidl_grammar::definition<ScannerT>::definition (
- cidl_grammar const & self
- )
- : idl3 (self.idl3_g),
- DOT ('.')
-{
- keywords =
- "composition", "entity", "process", "service", "session",
- "catalog", "executor", "implements", "bindsTo", "storedOn",
- "segment", "facet", "delegatesTo", "storage", "storagehome",
- "proxy";
-
- CIDL_COMPOSITION = strlit<>("composition");
- CIDL_ENTITY = strlit<>("entity");
- CIDL_PROCESS = strlit<>("process");
- CIDL_SERVICE = strlit<>("service");
- CIDL_SESSION = strlit<>("session");
- CIDL_CATALOG = strlit<>("catalog");
- CIDL_EXECUTOR = strlit<>("executor");
- CIDL_IMPLEMENTS = strlit<>("implements");
- CIDL_BINDS_TO = strlit<>("bindsTo");
- CIDL_STORED_ON = strlit<>("storedOn");
- CIDL_SEGMENT = strlit<>("segment");
- CIDL_FACET = strlit<>("facet");
- CIDL_DELEGATES_TO = strlit<>("delegatesTo");
- CIDL_STORAGE = strlit<>("storage");
- CIDL_STORAGEHOME = strlit<>("storagehome");
- CIDL_PROXY = strlit<>("proxy");
-
- idl3.idl2.IDENTIFIER =
- lexeme_d
- [
- ((alpha_p | '_') >> *(alnum_p | '_'))
- - (idl3.idl2.keywords >> anychar_p - (alnum_p | '_'))
- - (idl3.keywords >> anychar_p - (alnum_p | '_'))
- - (this->keywords >> anychar_p - (alnum_p | '_'))
- ]
- ;
-
- BOOST_SPIRIT_DEBUG_RULE (CIDL_COMPOSITION);
- BOOST_SPIRIT_DEBUG_RULE (CIDL_ENTITY);
- BOOST_SPIRIT_DEBUG_RULE (CIDL_PROCESS);
- BOOST_SPIRIT_DEBUG_RULE (CIDL_SERVICE);
- BOOST_SPIRIT_DEBUG_RULE (CIDL_SESSION);
- BOOST_SPIRIT_DEBUG_RULE (CIDL_CATALOG);
- BOOST_SPIRIT_DEBUG_RULE (CIDL_EXECUTOR);
- BOOST_SPIRIT_DEBUG_RULE (CIDL_IMPLEMENTS);
- BOOST_SPIRIT_DEBUG_RULE (CIDL_BINDS_TO);
- BOOST_SPIRIT_DEBUG_RULE (CIDL_STORED_ON);
- BOOST_SPIRIT_DEBUG_RULE (CIDL_SEGMENT);
- BOOST_SPIRIT_DEBUG_RULE (CIDL_FACET);
- BOOST_SPIRIT_DEBUG_RULE (CIDL_DELEGATES_TO);
- BOOST_SPIRIT_DEBUG_RULE (CIDL_STORAGE);
- BOOST_SPIRIT_DEBUG_RULE (CIDL_STORAGEHOME);
- BOOST_SPIRIT_DEBUG_RULE (CIDL_PROXY);
-
- BOOST_SPIRIT_DEBUG_RULE (specification);
- BOOST_SPIRIT_DEBUG_RULE (composition);
- BOOST_SPIRIT_DEBUG_RULE (category);
- BOOST_SPIRIT_DEBUG_RULE (composition_body);
- BOOST_SPIRIT_DEBUG_RULE (catalog_use_dcl);
- BOOST_SPIRIT_DEBUG_RULE (home_executor_def);
- BOOST_SPIRIT_DEBUG_RULE (proxy_home_def);
- BOOST_SPIRIT_DEBUG_RULE (catalog_dcl);
- BOOST_SPIRIT_DEBUG_RULE (catalog_type_spec);
- BOOST_SPIRIT_DEBUG_RULE (catalog_label);
- BOOST_SPIRIT_DEBUG_RULE (home_executor_body);
- BOOST_SPIRIT_DEBUG_RULE (home_impl_dcl);
- BOOST_SPIRIT_DEBUG_RULE (abstract_storage_home_binding);
- BOOST_SPIRIT_DEBUG_RULE (stored_on_dcl);
- BOOST_SPIRIT_DEBUG_RULE (executor_def);
- BOOST_SPIRIT_DEBUG_RULE (abstract_storage_home_delegation_spec);
- BOOST_SPIRIT_DEBUG_RULE (executor_delegation_spec);
- BOOST_SPIRIT_DEBUG_RULE (absract_spec);
- BOOST_SPIRIT_DEBUG_RULE (home_type_name);
- BOOST_SPIRIT_DEBUG_RULE (abstract_storage_home_name);
- BOOST_SPIRIT_DEBUG_RULE (abstract_storage_hom_label);
- BOOST_SPIRIT_DEBUG_RULE (executor_body);
- BOOST_SPIRIT_DEBUG_RULE (executor_member);
- BOOST_SPIRIT_DEBUG_RULE (segment_def);
- BOOST_SPIRIT_DEBUG_RULE (feature_delegation_spec);
- BOOST_SPIRIT_DEBUG_RULE (segment_member);
- BOOST_SPIRIT_DEBUG_RULE (segment_persistence_dcl);
- BOOST_SPIRIT_DEBUG_RULE (facet_dcl);
- BOOST_SPIRIT_DEBUG_RULE (feature_delegation_list);
- BOOST_SPIRIT_DEBUG_RULE (feature_delegation);
- BOOST_SPIRIT_DEBUG_RULE (feature_name);
- BOOST_SPIRIT_DEBUG_RULE (storage_member_name);
- BOOST_SPIRIT_DEBUG_RULE (delegation_list);
- BOOST_SPIRIT_DEBUG_RULE (delegation);
- BOOST_SPIRIT_DEBUG_RULE (operation_name);
- BOOST_SPIRIT_DEBUG_RULE (operation_list);
- BOOST_SPIRIT_DEBUG_RULE (proxy_home_member);
- BOOST_SPIRIT_DEBUG_RULE (home_delegation_spec);
-
- specification
- = *idl3.import >> +idl3.idl2.declaration
- ;
-
- idl3.idl2.declaration
- = idl3.idl2.type_dcl >> idl3.idl2.SEMI
- | idl3.idl2.const_dcl >> idl3.idl2.SEMI
- | idl3.idl2.except_dcl >> idl3.idl2.SEMI
- | idl3.idl2.interface >> idl3.idl2.SEMI
- | idl3.idl2.module >> idl3.idl2.SEMI
- | idl3.idl2.value >> idl3.idl2.SEMI
- | idl3.type_id_dcl >> idl3.idl2.SEMI
- | idl3.type_prefix_dcl >> idl3.idl2.SEMI
- | idl3.event >> idl3.idl2.SEMI
- | idl3.component >> idl3.idl2.SEMI
- | idl3.home_dcl >> idl3.idl2.SEMI
- | composition >> idl3.idl2.SEMI
- ;
-
- composition
- = CIDL_COMPOSITION >> category >> idl3.idl2.IDENTIFIER
- >> idl3.idl2.LBRACE >> composition_body >> idl3.idl2.RBRACE
- ;
-
- category
- = CIDL_ENTITY
- | CIDL_PROCESS
- | CIDL_SERVICE
- | CIDL_SESSION
- ;
-
- composition_body
- = !catalog_use_dcl >> home_executor_def >> !proxy_home_def
- ;
-
- catalog_use_dcl
- = idl3.IDL_USES >> CIDL_CATALOG >> idl3.idl2.LBRACE
- >> +catalog_dcl >> idl3.idl2.RBRACE >> idl3.idl2.SEMI
- ;
-
- catalog_dcl
- = catalog_type_spec >> catalog_label
- ;
-
- catalog_type_spec
- = idl3.idl2.scoped_name
- ;
-
- catalog_label
- = idl3.idl2.IDENTIFIER
- ;
-
- home_executor_def
- = idl3.IDL_HOME >> CIDL_EXECUTOR >> idl3.idl2.IDENTIFIER
- >> idl3.idl2.LBRACE >> home_executor_body
- >> idl3.idl2.RBRACE >> idl3.idl2.SEMI
- ;
-
- home_executor_body
- = home_impl_dcl >> !abstract_storage_home_binding
- >> !stored_on_dcl >> executor_def
- >> !abstract_storage_home_delegation_spec
- >> !executor_delegation_spec >> !abstract_spec
- ;
-
- home_impl_dcl
- = CIDL_IMPLEMENTS >> home_type_name >> idl3.idl2.SEMI
- ;
-
- home_type_name
- = idl3.idl2.scoped_name
- ;
-
- abstract_storage_home_binding
- = CIDL_BINDS_TO >> abstract_storage_home_name
- >> idl3.idl2.SEMI
- ;
-
- abstract_storage_home_name
- = catalog_label >> DOT >> abstract_storage_home_label
- ;
-
- abstract_storage_home_label
- = idl3.idl2.IDENTIFIER
- ;
-
- home_persistence_dcl
- = CIDL_STORED_ON >> abstract_storage_home_name
- >> idl3.idl2.SEMI
- ;
-
- executor_def
- = idl3.IDL_MANAGES >> idl3.idl2.IDENTIFIER
- >> !executor_body >> idl3.idl2.SEMI
- ;
-
- executor_body
- = idl3.idl2.LBRACE >> +executor_member >> idl3.idl2.RBRACE
- ;
-
- executor_member
- = segment_def
- | feature_delegation_spec
- ;
-
- segment_def
- = CIDL_SEGMENT >> idl3.idl2.IDENTIFIER >> idl3.idl2.LBRACE
- >> +segment_member >> idl3.idl2.RBRACE
- ;
-
- segment_member
- = segment_persistence_dcl >> idl3.idl2.SEMI
- | facet_dcl >> idl3.idl2.SEMI
- ;
-
- segment_persistence_dcl
- = CIDL_STORED_ON >> abstract_storage_home_name
- >> idl3.idl2.SEMI
- ;
-
- facet_dcl
- = idl3.IDL_PROVIDES >> CIDL_FACET >> idl3.idl2.IDENTIFIER
- >> *(idl3.idl2.COMMA >> idl3.idl2.IDENTIFIER)
- ;
-
- feature_delegation_spec
- = CIDL_DELEGATES_TO >> CIDL_STORAGE
- >> feature_delegation_list
- ;
-
- feature_delegation_list
- = idl3.idl2.LPAREN >> feature_delegation
- >> *(idl3.idl2.COMMA >> feature_delegation)
- >> idl3.idl2.RPAREN
- ;
-
- feature_delegation
- = feature_name >> idl3.idl2.COLON >> storage_member_name
- ;
-
- feature_name
- = idl3.idl2.IDENTIFIER
- ;
-
- storage_member_name
- = idl3.idl2.IDENTIFIER
- ;
-
- abstract_storage_home_delegation_spec
- = CIDL_DELEGATES_TO >> idl3.idl2.IDL_ABSTRACT
- >> CIDL_STORAGEHOME >> delegation_list >> idl3.idl2.SEMI
- ;
-
- executor_delegation_spec
- = CIDL_DELEGATES_TO >> CIDL_EXECUTOR >> delegation_list
- >> idl3.idl2.SEMI
- ;
-
- delegation_list
- = idl3.idl2.LPAREN >> delegation
- >> *(idl3.idl2.COMMA >> delegation) >> idl3.idl2.RPAREN
- ;
-
- delegation
- = operation_name >> !(idl3.idl2.COLON >> operation_name)
- ;
-
- operation_name
- = idl3.idl2.IDENTIFIER
- ;
-
- abstract_spec
- = idl3.idl2.IDL_ABSTRACT >> operation_list
- >> idl3.idl2.SEMI
- ;
-
- operation_list
- = idl3.idl2.LPAREN >> operation_name
- >> *(idl3.idl2.COMMA >> operation_name)
- >> idl3.idl2.RPAREN
- ;
-
- proxy_home_def
- = CIDL_PROXY >> idl3.IDL_HOME >> idl3.idl2.IDENTIFIER
- >> idl3.idl2.LBRACE >> +proxy_home_member
- >> idl3.idl2.RBRACE >> idl3.idl2.SEMI
- ;
-
- proxy_home_member
- = home_delegation_spec >> idl3.idl2.SEMI
- | abstract_spec
- ;
-
- home_delegation_spec
- = CIDL_DELEGATES_TO >> idl3.IDL_HOME >> delegation_list
- ;
-}
-
-#endif /* CIDL_GRAMMAR_C */
diff --git a/TAO/CIAO/CIDLC/parser_examples/cidl/cidl_grammar.h b/TAO/CIAO/CIDLC/parser_examples/cidl/cidl_grammar.h
deleted file mode 100644
index 7f7ba05d63c..00000000000
--- a/TAO/CIAO/CIDLC/parser_examples/cidl/cidl_grammar.h
+++ /dev/null
@@ -1,54 +0,0 @@
-// $Id$
-//
-// IDL3 Grammar checker implemented with Spirit (http://spirit.sourceforge.net/)
-//
-#ifndef CIDL_GRAMMAR_H
-#define CIDL_GRAMMAR_H
-
-#include "idl3/idl3_grammar.h"
-
-struct cidl_grammar : public grammar<cidl_grammar>
-{
- idl3_grammar idl3_g;
-
- template <typename ScannerT>
- struct definition
- {
- definition (cidl_grammar const & self);
- rule<ScannerT> const & start (void) const;
-
- idl3_grammar::definition<ScannerT> idl3;
-
- symbols<> keywords;
-
- chlit<>
- DOT;
-
- rule<ScannerT>
- CIDL_COMPOSITION, CIDL_ENTITY, CIDL_PROCESS, CIDL_SERVICE,
- CIDL_SESSION, CIDL_CATALOG, CIDL_EXECUTOR, CIDL_IMPLEMENTS,
- CIDL_BINDS_TO, CIDL_STORED_ON, CIDL_SEGMENT, CIDL_FACET,
- CIDL_DELEGATES_TO, CIDL_STORAGE, CIDL_STORAGEHOME, CIDL_PROXY;
-
- rule<ScannerT>
- specification, composition, category, composition_body,
- catalog_use_dcl, home_executor_def, proxy_home_def,
- catalog_dcl, catalog_type_spec, catalog_label,
- home_executor_body, home_impl_dcl, abstract_storage_home_binding,
- stored_on_dcl, executor_def, home_persistence_dcl,
- abstract_storage_home_delegation_spec, executor_delegation_spec,
- abstract_spec, home_type_name, abstract_storage_home_name,
- abstract_storage_home_label, executor_body, executor_member,
- segment_def, feature_delegation_spec, segment_member,
- segment_persistence_dcl, facet_dcl, feature_delegation_list,
- feature_delegation, feature_name, storage_member_name,
- delegation_list, delegation, operation_name, operation_list,
- proxy_home_member, home_delegation_spec;
- };
-};
-
-#include "cidl_grammar.cpp"
-
-#endif /* CIDL_GRAMMAR_H */
-
-
diff --git a/TAO/CIAO/CIDLC/parser_examples/cidl/hello.cidl b/TAO/CIAO/CIDLC/parser_examples/cidl/hello.cidl
deleted file mode 100644
index 6366067f450..00000000000
--- a/TAO/CIAO/CIDLC/parser_examples/cidl/hello.cidl
+++ /dev/null
@@ -1,17 +0,0 @@
-// $Id$ -*- IDL -*-
-
-// Component implementation definition of hello.idl.
-// Since we currently don't have a CCIDL (CIAO CIDL) compiler available,
-// we need to generate the servant implementation manually.
-
-import HelloWorld; // Do we need this?
-import HelloHome; // This should import all related defitions.
-
-composition session hello_example
-{
- home executor HelloHome_Exec
- {
- implements HelloHome; // This implies that HelloWorld_Exec
- manages HelloWorld_Exec; // implements HellowWorld.
- };
-};
diff --git a/TAO/CIAO/CIDLC/parser_examples/idl2/idl2.cpp b/TAO/CIAO/CIDLC/parser_examples/idl2/idl2.cpp
deleted file mode 100644
index 43471c7358b..00000000000
--- a/TAO/CIAO/CIDLC/parser_examples/idl2/idl2.cpp
+++ /dev/null
@@ -1,27 +0,0 @@
-// $Id$
-
-#if defined(_DEBUG)
-//#define SPIRIT_DEBUG
-#endif // defined(_DEBUG)
-
-#include "idl2_grammar.h"
-
-int
-main (int argc, char* argv[])
-{
- cerr << "IDL2 Grammar checker implemented with Spirit ..." << endl;
-
-idl2_grammar g;
-
- if (2 == argc)
- {
- parse (g,
- argv[1]);
- }
- else
- {
- cerr << "No filename given" << endl;
- }
-
- return 0;
-}
diff --git a/TAO/CIAO/CIDLC/parser_examples/idl2/idl2.mpc b/TAO/CIAO/CIDLC/parser_examples/idl2/idl2.mpc
deleted file mode 100644
index 4a2d79b80cb..00000000000
--- a/TAO/CIAO/CIDLC/parser_examples/idl2/idl2.mpc
+++ /dev/null
@@ -1,11 +0,0 @@
-project(idl2) : aceexe {
- exename = idl2
- includes += .. $(SPIRIT_DIR) $(SPIRIT_DIR)/miniboost
- Source_Files {
- idl2.cpp
- idl2_grammar.cpp
- }
- Header_Files {
- idl2_grammar.h
- }
-} \ No newline at end of file
diff --git a/TAO/CIAO/CIDLC/parser_examples/idl2/idl2.vcproj b/TAO/CIAO/CIDLC/parser_examples/idl2/idl2.vcproj
deleted file mode 100644
index 4316ab47a21..00000000000
--- a/TAO/CIAO/CIDLC/parser_examples/idl2/idl2.vcproj
+++ /dev/null
@@ -1,152 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="7.10"
- Name="idl2"
- ProjectGUID="{81B2195C-C013-4A95-BA25-65C50E4D584A}"
- Keyword="Win32Proj">
- <Platforms>
- <Platform
- Name="Win32"/>
- </Platforms>
- <Configurations>
- <Configuration
- Name="Debug|Win32"
- OutputDirectory="$(SolutionDir)$(ConfigurationName)"
- IntermediateDirectory="Debug"
- ConfigurationType="1"
- CharacterSet="2">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories="..,$(SPIRIT_DIR),$(SPIRIT_DIR)\miniboost"
- PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
- MinimalRebuild="TRUE"
- BasicRuntimeChecks="0"
- RuntimeLibrary="3"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="FALSE"
- DebugInformationFormat="4"/>
- <Tool
- Name="VCCustomBuildTool"/>
- <Tool
- Name="VCLinkerTool"
- OutputFile="$(OutDir)/idl2.exe"
- LinkIncremental="2"
- GenerateDebugInformation="TRUE"
- ProgramDatabaseFile="$(OutDir)/idl2.pdb"
- SubSystem="1"
- TargetMachine="1"/>
- <Tool
- Name="VCMIDLTool"/>
- <Tool
- Name="VCPostBuildEventTool"/>
- <Tool
- Name="VCPreBuildEventTool"/>
- <Tool
- Name="VCPreLinkEventTool"/>
- <Tool
- Name="VCResourceCompilerTool"/>
- <Tool
- Name="VCWebServiceProxyGeneratorTool"/>
- <Tool
- Name="VCXMLDataGeneratorTool"/>
- <Tool
- Name="VCWebDeploymentTool"/>
- <Tool
- Name="VCManagedWrapperGeneratorTool"/>
- <Tool
- Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
- </Configuration>
- <Configuration
- Name="Release|Win32"
- OutputDirectory="Release"
- IntermediateDirectory="Release"
- ConfigurationType="1"
- CharacterSet="2">
- <Tool
- Name="VCCLCompilerTool"
- PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
- RuntimeLibrary="4"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="TRUE"
- DebugInformationFormat="3"/>
- <Tool
- Name="VCCustomBuildTool"/>
- <Tool
- Name="VCLinkerTool"
- OutputFile="$(OutDir)/c.exe"
- LinkIncremental="1"
- GenerateDebugInformation="TRUE"
- SubSystem="1"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- TargetMachine="1"/>
- <Tool
- Name="VCMIDLTool"/>
- <Tool
- Name="VCPostBuildEventTool"/>
- <Tool
- Name="VCPreBuildEventTool"/>
- <Tool
- Name="VCPreLinkEventTool"/>
- <Tool
- Name="VCResourceCompilerTool"/>
- <Tool
- Name="VCWebServiceProxyGeneratorTool"/>
- <Tool
- Name="VCXMLDataGeneratorTool"/>
- <Tool
- Name="VCWebDeploymentTool"/>
- <Tool
- Name="VCManagedWrapperGeneratorTool"/>
- <Tool
- Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
- </Configuration>
- </Configurations>
- <References>
- </References>
- <Files>
- <Filter
- Name="Source Files"
- Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx"
- UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}">
- <File
- RelativePath=".\idl2.cpp">
- <FileConfiguration
- Name="Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- RuntimeLibrary="5"/>
- </FileConfiguration>
- </File>
- <File
- RelativePath=".\idl2_grammar.cpp">
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="TRUE">
- <Tool
- Name="VCCLCompilerTool"
- RuntimeLibrary="5"/>
- </FileConfiguration>
- </File>
- </Filter>
- <Filter
- Name="Header Files"
- Filter="h;hpp;hxx;hm;inl;inc;xsd"
- UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}">
- <File
- RelativePath=".\idl2_grammar.h">
- </File>
- </Filter>
- <Filter
- Name="Resource Files"
- Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx"
- UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}">
- </Filter>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>
diff --git a/TAO/CIAO/CIDLC/parser_examples/idl2/idl2_grammar.cpp b/TAO/CIAO/CIDLC/parser_examples/idl2/idl2_grammar.cpp
deleted file mode 100644
index e7a81cbecbc..00000000000
--- a/TAO/CIAO/CIDLC/parser_examples/idl2/idl2_grammar.cpp
+++ /dev/null
@@ -1,973 +0,0 @@
-// $Id$
-
-#ifndef IDL2_GRAMMAR_C
-#define IDL2_GRAMMAR_C
-
-#include "idl2_grammar.h"
-
-template<typename ScannerT>
-rule<ScannerT> const &
-skip_grammar::definition<ScannerT>::start (void) const
-{
- return this->skip;
-}
-
-template<typename ScannerT>
-skip_grammar::definition<ScannerT>::definition (
- skip_grammar const & /* self */
- )
-{
- this->skip =
- space_p // Skip whitespace
- | "//" >> *(anychar_p - eol_p) >> eol_p
-// | "//" >> *(anychar_p - '\n') >> !eol_p // C++ comment
-// | comment_p("//") >> !end_p // Not on MSVC 7.1
- | comment_p("/*", "*/") // C comment
- | comment_p("#line") // TODO
- | comment_p("#pragma")
- ;
-}
-
-// ============================================================
-
-template<typename ScannerT>
-rule<ScannerT> const &
-idl2_grammar::definition<ScannerT>::start (void) const
-{
- return specification;
-}
-
-template<typename ScannerT>
-idl2_grammar::definition<ScannerT>::definition (
- idl2_grammar const & /* self */
- )
- : LSHIFT("<<"), RSHIFT(">>"), SCOPE("::"),
- SEMI(';'), COMMA(','), COLON(':'), ASSIGN('='),
- MINUS('-'), PLUS('+'), MULT('*'), DIV('/'), MOD('%'),
- AND('&'), NOT('~'), OR('|'), XOR('^'),
- LPAREN('('), RPAREN(')'), LANGLE('<'), RANGLE('>'),
- LBRACK('['), RBRACK(']'), LBRACE('{'), RBRACE('}')
-{
- // IDL2 keywords.
- keywords =
- "abstract", "any", "attribute", "boolean", "case",
- "char", "const", "context", "custom", "default",
- "double", "enum", "exception", "factory", "FALSE",
- "fixed", "float", "in", "inout", "interface",
- "local", "long", "module", "native", "Object",
- "octet", "oneway", "out", "private", "public",
- "raises", "readonly", "short", "sequence", "string",
- "struct", "supports", "switch", "TRUE", "truncatable",
- "typedef", "union", "unsigned", "ValueBase",
- "valuetype", "void", "wchar", "wstring";
-
- // IDL2 tokens.
- IDL_ABSTRACT = strlit<>("abstract");
- IDL_ANY = strlit<>("any");
- IDL_ATTRIBUTE = strlit<>("attribute");
- IDL_BOOLEAN = strlit<>("boolean");
- IDL_CASE = strlit<>("case");
- IDL_CHAR = strlit<>("char");
- IDL_CONST = strlit<>("const");
- IDL_CONTEXT = strlit<>("context");
- IDL_CUSTOM = strlit<>("custom");
- IDL_DEFAULT = strlit<>("default");
- IDL_DOUBLE = strlit<>("double");
- IDL_ENUM = strlit<>("enum");
- IDL_EXCEPTION = strlit<>("exception");
- IDL_FACTORY = strlit<>("factory");
- IDL_FALSE = strlit<>("FALSE");
- IDL_FIXED = strlit<>("fixed");
- IDL_FLOAT = strlit<>("float");
- IDL_IN = strlit<>("in");
- IDL_INOUT = strlit<>("inout");
- IDL_INTERFACE = strlit<>("interface");
- IDL_LOCAL = strlit<>("local");
- IDL_LONG = strlit<>("long");
- IDL_MODULE = strlit<>("module");
- IDL_NATIVE = strlit<>("native");
- IDL_OBJECT = strlit<>("Object");
- IDL_OCTET = strlit<>("octet");
- IDL_ONEWAY = strlit<>("oneway");
- IDL_OUT = strlit<>("out");
- IDL_PRIVATE = strlit<>("private");
- IDL_PUBLIC = strlit<>("public");
- IDL_RAISES = strlit<>("raises");
- IDL_READONLY = strlit<>("readonly");
- IDL_SHORT = strlit<>("short");
- IDL_SEQUENCE = strlit<>("sequence");
- IDL_STRING = strlit<>("string");
- IDL_STRUCT = strlit<>("struct");
- IDL_SUPPORTS = strlit<>("supports");
- IDL_SWITCH = strlit<>("switch");
- IDL_TRUE = strlit<>("TRUE");
- IDL_TRUNCATABLE = strlit<>("truncatable");
- IDL_TYPEDEF = strlit<>("typedef");
- IDL_UNION = strlit<>("union");
- IDL_UNSIGNED = strlit<>("unsigned");
- IDL_VALUEBASE = strlit<>("ValueBase");
- IDL_VALUETYPE = strlit<>("valuetype");
- IDL_VOID = strlit<>("void");
- IDL_WCHAR = strlit<>("wchar");
- IDL_WSTRING = strlit<>("wstring");
-
- // IDL2 identifiers.
- IDENTIFIER =
- lexeme_d
- [
- ((alpha_p | '_') >> *(alnum_p | '_'))
- - (keywords >> anychar_p - (alnum_p | '_'))
- ]
- ;
-
- // Character literals.
- CHARACTER_LITERAL =
- anychar_p
- ;
-
- // Wide character literals.
- WIDE_CHARACTER_LITERAL =
- lexeme_d
- [
- chlit<>('L') >> anychar_p
- ]
- ;
-
- // String literals.
- STRING_LITERAL_PART =
- lexeme_d
- [
- chlit<>('\"') >>
- *(strlit<>("\"\"") | anychar_p - chlit<>('\"')) >>
- chlit<>('\"')
- ]
- ;
-
- STRING_LITERAL = +STRING_LITERAL_PART;
-
- // Wide string literals.
- WIDE_STRING_LITERAL_PART =
- chlit<>('L') >> STRING_LITERAL_PART
- ;
-
- WIDE_STRING_LITERAL = +WIDE_STRING_LITERAL_PART;
-
- // Integer literals.
- INTEGER_LITERAL_HEX =
- lexeme_d
- [
- chlit<>('0')
- >> nocase_d[chlit<>('x')]
- >> +xdigit_p
- >> !nocase_d[chlit<>('l') | chlit<>('u')]
- ]
- ;
-
- INTEGER_LITERAL_OCT =
- lexeme_d
- [
- chlit<>('0')
- >> +range<>('0', '7')
- >> !nocase_d[chlit<>('l') | chlit<>('u')]
- ]
- ;
-
- INTEGER_LITERAL_DEC =
- lexeme_d
- [
- +digit_p
- >> !nocase_d[chlit<>('l') | chlit<>('u')]
- ]
- ;
-
- INTEGER_LITERAL =
- INTEGER_LITERAL_HEX
- | INTEGER_LITERAL_OCT
- | INTEGER_LITERAL_DEC
- ;
-
- // Floating point literals.
- // 12345[eE][+-]?123[lLfF]?
- FLOATING_PT_LITERAL_1 =
- lexeme_d
- [
- +digit_p
- >> (chlit<>('e') | chlit<>('E'))
- >> !(chlit<>('+') | chlit<>('-'))
- >> +digit_p
- >> !nocase_d[chlit<>('l') | chlit<>('f')]
- ]
- ;
-
- // .123([eE][+-]?123)?[lLfF]?
- FLOATING_PT_LITERAL_2 =
- lexeme_d
- [
- chlit<>('.')
- >> +digit_p
- >> !(
- (chlit<>('e') | chlit<>('E'))
- >> !(chlit<>('+') | chlit<>('-'))
- >> +digit_p
- )
- >> !nocase_d[chlit<>('l') | chlit<>('f')]
- ]
- ;
-
- // 12345.(123)?([eE][+-]?123)?[lLfF]?
- FLOATING_PT_LITERAL_3 =
- lexeme_d
- [
- +digit_p
- >> chlit<>('.')
- >> *digit_p
- >> !(
- (chlit<>('e') | chlit<>('E'))
- >> !(chlit<>('+') | chlit<>('-'))
- >> +digit_p
- )
- >> !nocase_d[chlit<>('l') | chlit<>('f')]
- ]
- ;
-
- FLOATING_PT_LITERAL =
- FLOATING_PT_LITERAL_1
- | FLOATING_PT_LITERAL_2
- | FLOATING_PT_LITERAL_3
- ;
-
- // Boolean literals.
- BOOLEAN_LITERAL =
- IDL_TRUE
- | IDL_FALSE
- ;
-
- // Debug support for terminals.
- BOOST_SPIRIT_DEBUG_RULE (IDL_ABSTRACT);
- BOOST_SPIRIT_DEBUG_RULE (IDL_ANY);
- BOOST_SPIRIT_DEBUG_RULE (IDL_ATTRIBUTE);
- BOOST_SPIRIT_DEBUG_RULE (IDL_BOOLEAN);
- BOOST_SPIRIT_DEBUG_RULE (IDL_CASE);
- BOOST_SPIRIT_DEBUG_RULE (IDL_CHAR);
- BOOST_SPIRIT_DEBUG_RULE (IDL_CONST);
- BOOST_SPIRIT_DEBUG_RULE (IDL_CONTEXT);
- BOOST_SPIRIT_DEBUG_RULE (IDL_CUSTOM);
- BOOST_SPIRIT_DEBUG_RULE (IDL_DEFAULT);
- BOOST_SPIRIT_DEBUG_RULE (IDL_DOUBLE);
- BOOST_SPIRIT_DEBUG_RULE (IDL_ENUM);
- BOOST_SPIRIT_DEBUG_RULE (IDL_EXCEPTION);
- BOOST_SPIRIT_DEBUG_RULE (IDL_FACTORY);
- BOOST_SPIRIT_DEBUG_RULE (IDL_FALSE);
- BOOST_SPIRIT_DEBUG_RULE (IDL_FIXED);
- BOOST_SPIRIT_DEBUG_RULE (IDL_FLOAT);
- BOOST_SPIRIT_DEBUG_RULE (IDL_IN);
- BOOST_SPIRIT_DEBUG_RULE (IDL_INOUT);
- BOOST_SPIRIT_DEBUG_RULE (IDL_INTERFACE);
- BOOST_SPIRIT_DEBUG_RULE (IDL_LOCAL);
- BOOST_SPIRIT_DEBUG_RULE (IDL_LONG);
- BOOST_SPIRIT_DEBUG_RULE (IDL_MODULE);
- BOOST_SPIRIT_DEBUG_RULE (IDL_NATIVE);
- BOOST_SPIRIT_DEBUG_RULE (IDL_OBJECT);
- BOOST_SPIRIT_DEBUG_RULE (IDL_OCTET);
- BOOST_SPIRIT_DEBUG_RULE (IDL_ONEWAY);
- BOOST_SPIRIT_DEBUG_RULE (IDL_OUT);
- BOOST_SPIRIT_DEBUG_RULE (IDL_PRIVATE);
- BOOST_SPIRIT_DEBUG_RULE (IDL_PUBLIC);
- BOOST_SPIRIT_DEBUG_RULE (IDL_RAISES);
- BOOST_SPIRIT_DEBUG_RULE (IDL_READONLY);
- BOOST_SPIRIT_DEBUG_RULE (IDL_SHORT);
- BOOST_SPIRIT_DEBUG_RULE (IDL_SEQUENCE);
- BOOST_SPIRIT_DEBUG_RULE (IDL_STRING);
- BOOST_SPIRIT_DEBUG_RULE (IDL_STRUCT);
- BOOST_SPIRIT_DEBUG_RULE (IDL_SWITCH);
- BOOST_SPIRIT_DEBUG_RULE (IDL_TRUE);
- BOOST_SPIRIT_DEBUG_RULE (IDL_TRUNCATABLE);
- BOOST_SPIRIT_DEBUG_RULE (IDL_TYPEDEF);
- BOOST_SPIRIT_DEBUG_RULE (IDL_UNION);
- BOOST_SPIRIT_DEBUG_RULE (IDL_UNSIGNED);
- BOOST_SPIRIT_DEBUG_RULE (IDL_VALUEBASE);
- BOOST_SPIRIT_DEBUG_RULE (IDL_VALUETYPE);
- BOOST_SPIRIT_DEBUG_RULE (IDL_VOID);
- BOOST_SPIRIT_DEBUG_RULE (IDL_WCHAR);
- BOOST_SPIRIT_DEBUG_RULE (IDL_WSTRING);
- BOOST_SPIRIT_DEBUG_RULE (IDENTIFIER);
- BOOST_SPIRIT_DEBUG_RULE (STRING_LITERAL);
- BOOST_SPIRIT_DEBUG_RULE (WIDE_STRING_LITERAL);
- BOOST_SPIRIT_DEBUG_RULE (CHARACTER_LITERAL);
- BOOST_SPIRIT_DEBUG_RULE (WIDE_CHARACTER_LITERAL);
- BOOST_SPIRIT_DEBUG_RULE (INTEGER_LITERAL_HEX);
- BOOST_SPIRIT_DEBUG_RULE (INTEGER_LITERAL_OCT);
- BOOST_SPIRIT_DEBUG_RULE (INTEGER_LITERAL_DEC);
- BOOST_SPIRIT_DEBUG_RULE (INTEGER_LITERAL);
- BOOST_SPIRIT_DEBUG_RULE (FLOATING_PT_LITERAL_1);
- BOOST_SPIRIT_DEBUG_RULE (FLOATING_PT_LITERAL_2);
- BOOST_SPIRIT_DEBUG_RULE (FLOATING_PT_LITERAL_3);
- BOOST_SPIRIT_DEBUG_RULE (FLOATING_PT_LITERAL);
- BOOST_SPIRIT_DEBUG_RULE (BOOLEAN_LITERAL);
-
- // Debug support for non-terminals.
- BOOST_SPIRIT_DEBUG_RULE (specification);
- BOOST_SPIRIT_DEBUG_RULE (declaration);
- BOOST_SPIRIT_DEBUG_RULE (type_dcl);
- BOOST_SPIRIT_DEBUG_RULE (module);
- BOOST_SPIRIT_DEBUG_RULE (const_type);
- BOOST_SPIRIT_DEBUG_RULE (integer_type);
- BOOST_SPIRIT_DEBUG_RULE (signed_int);
- BOOST_SPIRIT_DEBUG_RULE (unsigned_int);
- BOOST_SPIRIT_DEBUG_RULE (signed_short_int);
- BOOST_SPIRIT_DEBUG_RULE (signed_long_int);
- BOOST_SPIRIT_DEBUG_RULE (signed_longlong_int);
- BOOST_SPIRIT_DEBUG_RULE (unsigned_short_int);
- BOOST_SPIRIT_DEBUG_RULE (unsigned_long_int);
- BOOST_SPIRIT_DEBUG_RULE (unsigned_longlong_int);
- BOOST_SPIRIT_DEBUG_RULE (char_type);
- BOOST_SPIRIT_DEBUG_RULE (wide_char_type);
- BOOST_SPIRIT_DEBUG_RULE (boolean_type);
- BOOST_SPIRIT_DEBUG_RULE (floating_pt_type);
- BOOST_SPIRIT_DEBUG_RULE (string_type);
- BOOST_SPIRIT_DEBUG_RULE (wide_string_type);
- BOOST_SPIRIT_DEBUG_RULE (fixed_pt_const_type);
- BOOST_SPIRIT_DEBUG_RULE (scoped_name);
- BOOST_SPIRIT_DEBUG_RULE (scoped_name_helper);
- BOOST_SPIRIT_DEBUG_RULE (octet_type);
- BOOST_SPIRIT_DEBUG_RULE (const_exp);
- BOOST_SPIRIT_DEBUG_RULE (or_expr);
- BOOST_SPIRIT_DEBUG_RULE (xor_expr);
- BOOST_SPIRIT_DEBUG_RULE (and_expr);
- BOOST_SPIRIT_DEBUG_RULE (shift_expr);
- BOOST_SPIRIT_DEBUG_RULE (add_expr);
- BOOST_SPIRIT_DEBUG_RULE (mult_expr);
- BOOST_SPIRIT_DEBUG_RULE (unary_expr);
- BOOST_SPIRIT_DEBUG_RULE (unary_operator);
- BOOST_SPIRIT_DEBUG_RULE (primary_expr);
- BOOST_SPIRIT_DEBUG_RULE (literal);
- BOOST_SPIRIT_DEBUG_RULE (positive_int_const);
- BOOST_SPIRIT_DEBUG_RULE (type_declarator);
- BOOST_SPIRIT_DEBUG_RULE (struct_type);
- BOOST_SPIRIT_DEBUG_RULE (union_type);
- BOOST_SPIRIT_DEBUG_RULE (enum_type);
- BOOST_SPIRIT_DEBUG_RULE (simple_declarator);
- BOOST_SPIRIT_DEBUG_RULE (constr_forward_decl);
- BOOST_SPIRIT_DEBUG_RULE (type_spec);
- BOOST_SPIRIT_DEBUG_RULE (declarators);
- BOOST_SPIRIT_DEBUG_RULE (simple_type_spec);
- BOOST_SPIRIT_DEBUG_RULE (constr_type_spec);
- BOOST_SPIRIT_DEBUG_RULE (base_type_spec);
- BOOST_SPIRIT_DEBUG_RULE (template_type_spec);
- BOOST_SPIRIT_DEBUG_RULE (any_type);
- BOOST_SPIRIT_DEBUG_RULE (object_type);
- BOOST_SPIRIT_DEBUG_RULE (value_base_type);
- BOOST_SPIRIT_DEBUG_RULE (fixed_pt_type);
- BOOST_SPIRIT_DEBUG_RULE (sequence_type);
- BOOST_SPIRIT_DEBUG_RULE (declarator);
- BOOST_SPIRIT_DEBUG_RULE (complex_declarator);
- BOOST_SPIRIT_DEBUG_RULE (array_declarator);
- BOOST_SPIRIT_DEBUG_RULE (member_list);
- BOOST_SPIRIT_DEBUG_RULE (member);
- BOOST_SPIRIT_DEBUG_RULE (switch_type_spec);
- BOOST_SPIRIT_DEBUG_RULE (switch_body);
- BOOST_SPIRIT_DEBUG_RULE (case_decl);
- BOOST_SPIRIT_DEBUG_RULE (case_label);
- BOOST_SPIRIT_DEBUG_RULE (element_spec);
- BOOST_SPIRIT_DEBUG_RULE (enumerator);
- BOOST_SPIRIT_DEBUG_RULE (fixed_array_size);
- BOOST_SPIRIT_DEBUG_RULE (const_exp_helper);
- BOOST_SPIRIT_DEBUG_RULE (or_expr_helper);
- BOOST_SPIRIT_DEBUG_RULE (xor_expr_helper);
- BOOST_SPIRIT_DEBUG_RULE (and_expr_helper);
- BOOST_SPIRIT_DEBUG_RULE (shift_expr_helper);
- BOOST_SPIRIT_DEBUG_RULE (add_expr_helper);
- BOOST_SPIRIT_DEBUG_RULE (mult_expr_helper);
- BOOST_SPIRIT_DEBUG_RULE (except_dcl);
- BOOST_SPIRIT_DEBUG_RULE (interface);
- BOOST_SPIRIT_DEBUG_RULE (interface_dcl);
- BOOST_SPIRIT_DEBUG_RULE (forward_dcl);
- BOOST_SPIRIT_DEBUG_RULE (interface_header);
- BOOST_SPIRIT_DEBUG_RULE (interface_body);
- BOOST_SPIRIT_DEBUG_RULE (interface_name);
- BOOST_SPIRIT_DEBUG_RULE (interface_inheritance_spec);
- BOOST_SPIRIT_DEBUG_RULE (export);
- BOOST_SPIRIT_DEBUG_RULE (attr_dcl);
- BOOST_SPIRIT_DEBUG_RULE (op_dcl);
- BOOST_SPIRIT_DEBUG_RULE (param_type_spec);
- BOOST_SPIRIT_DEBUG_RULE (op_attribute);
- BOOST_SPIRIT_DEBUG_RULE (op_type_spec);
- BOOST_SPIRIT_DEBUG_RULE (parameter_dcls);
- BOOST_SPIRIT_DEBUG_RULE (raises_expr);
- BOOST_SPIRIT_DEBUG_RULE (context_expr);
- BOOST_SPIRIT_DEBUG_RULE (param_dcl);
- BOOST_SPIRIT_DEBUG_RULE (param_attribute);
- BOOST_SPIRIT_DEBUG_RULE (value);
- BOOST_SPIRIT_DEBUG_RULE (value_dcl);
- BOOST_SPIRIT_DEBUG_RULE (value_abs_dcl);
- BOOST_SPIRIT_DEBUG_RULE (value_box_dcl);
- BOOST_SPIRIT_DEBUG_RULE (value_forward_dcl);
- BOOST_SPIRIT_DEBUG_RULE (value_inheritance_spec);
- BOOST_SPIRIT_DEBUG_RULE (value_name);
- BOOST_SPIRIT_DEBUG_RULE (value_header);
- BOOST_SPIRIT_DEBUG_RULE (value_element);
- BOOST_SPIRIT_DEBUG_RULE (state_member);
- BOOST_SPIRIT_DEBUG_RULE (init_dcl);
- BOOST_SPIRIT_DEBUG_RULE (init_param_decls);
- BOOST_SPIRIT_DEBUG_RULE (init_param_decl);
- BOOST_SPIRIT_DEBUG_RULE (init_param_attribute);
-
- // Rules.
-
- // Parser start symbol.
- specification
- = +declaration
- ;
-
- declaration
- = type_dcl >> SEMI
- | const_dcl >> SEMI
- | except_dcl >> SEMI
- | interface >> SEMI
- | module >> SEMI
- | value >> SEMI
- ;
-
- module
- = IDL_MODULE >> IDENTIFIER
- >> LBRACE >> +declaration >> RBRACE
- ;
-
- interface
- = longest_d
- [
- interface_dcl
- | forward_dcl
- ]
- ;
-
- interface_dcl
- = interface_header >> LBRACE >> interface_body >> RBRACE
- ;
-
- forward_dcl
- = !(IDL_ABSTRACT | IDL_LOCAL) >> IDL_INTERFACE >> IDENTIFIER
- ;
-
- interface_header
- = !(IDL_ABSTRACT | IDL_LOCAL)
- >> IDL_INTERFACE >> IDENTIFIER
- >> !interface_inheritance_spec
- ;
-
- interface_body
- = *export
- ;
-
- export
- = type_dcl >> SEMI
- | const_dcl >> SEMI
- | except_dcl >> SEMI
- | attr_dcl >> SEMI
- | op_dcl >> SEMI
- ;
-
- interface_inheritance_spec
- = COLON >> interface_name >> *(COMMA >> interface_name)
- ;
-
- interface_name
- = scoped_name
- ;
-
- scoped_name
- = !SCOPE >> IDENTIFIER >> scoped_name_helper
- ;
-
- scoped_name_helper
- = SCOPE >> IDENTIFIER >> scoped_name_helper
- | epsilon_p
- ;
-
- value
- = longest_d
- [
- value_dcl
- | value_abs_dcl
- | value_box_dcl
- | value_forward_dcl
- ]
- ;
-
- value_forward_dcl
- = !IDL_ABSTRACT >> IDL_VALUETYPE >> IDENTIFIER
- ;
-
- value_box_dcl
- = IDL_VALUETYPE >> IDENTIFIER >> type_spec
- ;
-
- value_abs_dcl
- = IDL_ABSTRACT >> IDL_VALUETYPE >> IDENTIFIER
- >> !value_inheritance_spec >> LBRACE
- >> *export >> RBRACE
- ;
-
- value_dcl
- = value_header >> LBRACE >> *value_element >> RBRACE
- ;
-
- value_header
- = !IDL_CUSTOM >> IDL_VALUETYPE >> IDENTIFIER
- >> !value_inheritance_spec
- ;
-
- value_inheritance_spec
- = !(COLON >> !IDL_TRUNCATABLE >> value_name
- >> *(COMMA >> value_name))
- >> !(IDL_SUPPORTS >> interface_name
- >> *(COMMA >> interface_name ))
- ;
-
- value_name
- = scoped_name
- ;
-
- value_element
- = export
- | state_member
- | init_dcl
- ;
-
- state_member
- = (IDL_PUBLIC | IDL_PRIVATE)
- >> type_spec >> declarators >> SEMI
- ;
-
- init_dcl
- = IDL_FACTORY >> IDENTIFIER >> LPAREN
- >> !init_param_decls >> RPAREN >> SEMI
- ;
-
- init_param_decls
- = init_param_decl >> *(COMMA >> init_param_decl)
- ;
-
- init_param_decl
- = init_param_attribute >> param_type_spec >> simple_declarator
- ;
-
- init_param_attribute
- = IDL_IN
- ;
-
- const_dcl
- = IDL_CONST >> const_type
- >> IDENTIFIER >> ASSIGN >> const_exp
- ;
-
- const_type
- = integer_type
- | char_type
- | wide_char_type
- | boolean_type
- | floating_pt_type
- | string_type
- | wide_string_type
- | fixed_pt_const_type
- | scoped_name
- | octet_type
- ;
-
- const_exp
- = or_expr
- ;
-
- or_expr
- = xor_expr >> or_expr_helper
- ;
-
- or_expr_helper
- = OR >> xor_expr
- | epsilon_p
- ;
-
- xor_expr
- = and_expr >> xor_expr_helper
- ;
-
- xor_expr_helper
- = XOR >> xor_expr
- | epsilon_p
- ;
-
- and_expr
- = shift_expr >> and_expr_helper
- ;
-
- and_expr_helper
- = AND >> and_expr
- | epsilon_p
- ;
-
- shift_expr
- = add_expr >> shift_expr_helper
- ;
-
- shift_expr_helper
- = LSHIFT >> shift_expr
- | RSHIFT >> shift_expr
- | epsilon_p
- ;
-
- add_expr
- = mult_expr >> add_expr_helper
- ;
-
- add_expr_helper
- = PLUS >> add_expr
- | MINUS >> add_expr
- | epsilon_p
- ;
-
- mult_expr
- = unary_expr >> mult_expr_helper
- ;
-
- mult_expr_helper
- = MULT >> mult_expr
- | DIV >> mult_expr
- | MOD >> mult_expr
- | epsilon_p
- ;
-
- unary_expr
- = !unary_operator >> primary_expr
- ;
-
- unary_operator
- = PLUS
- | MINUS
- | NOT
- ;
-
- primary_expr
- = longest_d
- [
- scoped_name
- | literal
- | LPAREN >> const_exp >> RPAREN
- ]
- ;
-
- literal
- = longest_d
- [
- INTEGER_LITERAL
- | STRING_LITERAL
- | WIDE_STRING_LITERAL
- | CHARACTER_LITERAL
- | WIDE_CHARACTER_LITERAL
-// | FIXED_PT_LITERAL
- | FLOATING_PT_LITERAL
- | BOOLEAN_LITERAL
- ]
- ;
-
- positive_int_const
- = const_exp
- ;
-
- type_dcl
- = IDL_TYPEDEF >> type_declarator
- | struct_type
- | union_type
- | enum_type
- | IDL_NATIVE >> simple_declarator
- | constr_forward_decl
- ;
-
- type_declarator
- = type_spec >> declarators
- ;
-
- type_spec
- = simple_type_spec
- | constr_type_spec
- ;
-
- simple_type_spec
- = base_type_spec
- | template_type_spec
- | scoped_name
- ;
-
- base_type_spec
- = floating_pt_type
- | integer_type
- | char_type
- | wide_char_type
- | boolean_type
- | octet_type
- | any_type
- | object_type
- | value_base_type
- ;
-
- template_type_spec
- = sequence_type
- | string_type
- | wide_string_type
- | fixed_pt_type
- ;
-
- constr_type_spec
- = struct_type
- | union_type
- | enum_type
- ;
-
- declarators
- = declarator >> *(COMMA >> declarator)
- ;
-
- declarator
- = longest_d
- [
- simple_declarator
- | complex_declarator
- ]
- ;
-
- complex_declarator
- = array_declarator
- ;
-
- simple_declarator
- = IDENTIFIER
- ;
-
-
- floating_pt_type
- = IDL_FLOAT
- | IDL_DOUBLE
- | IDL_LONG >> IDL_DOUBLE
- ;
-
- integer_type
- = signed_int
- | unsigned_int
- ;
-
- signed_int
- = longest_d
- [
- signed_short_int
- | signed_long_int
- | signed_longlong_int
- ]
- ;
-
- unsigned_int
- = longest_d
- [
- unsigned_short_int
- | unsigned_long_int
- | unsigned_longlong_int
- ]
- ;
-
- signed_short_int
- = IDL_SHORT
- ;
-
- signed_long_int
- = IDL_LONG
- ;
-
- signed_longlong_int
- = IDL_LONG >> IDL_LONG
- ;
-
- unsigned_short_int
- = IDL_UNSIGNED >> IDL_SHORT
- ;
-
- unsigned_long_int
- = IDL_UNSIGNED >> IDL_LONG
- ;
-
- unsigned_longlong_int
- = IDL_UNSIGNED >> IDL_LONG >> IDL_LONG
- ;
-
- char_type
- = IDL_CHAR
- ;
-
- wide_char_type
- = IDL_WCHAR
- ;
-
- boolean_type
- = IDL_BOOLEAN
- ;
-
- octet_type
- = IDL_OCTET
- ;
-
- any_type
- = IDL_ANY
- ;
-
- object_type
- = IDL_OBJECT
- ;
-
- struct_type
- = IDL_STRUCT >> IDENTIFIER
- >> LBRACE >> member_list >> RBRACE
- ;
-
- member_list
- = +member
- ;
-
- member
- = type_spec >> declarators >> SEMI
- ;
-
- union_type
- = IDL_UNION >> IDENTIFIER >> IDL_SWITCH
- >> LPAREN >> switch_type_spec >> RPAREN
- >> LBRACE >> switch_body >> RBRACE
- ;
-
- switch_type_spec
- = integer_type
- | char_type
- | boolean_type
- | enum_type
- | scoped_name
- ;
-
- switch_body
- = +case_decl
- ;
-
- case_decl
- = +case_label >> element_spec >> SEMI
- ;
-
- case_label
- = IDL_CASE >> const_exp >> COLON
- | IDL_DEFAULT >> COLON
- ;
-
- element_spec
- = type_spec >> declarator
- ;
-
- enum_type
- = IDL_ENUM >> IDENTIFIER
- >> LBRACE >> enumerator
- >> *(COMMA >> enumerator) >> RBRACE
- ;
-
- enumerator
- = IDENTIFIER
- ;
-
- sequence_type
- = IDL_SEQUENCE >> LANGLE >> simple_type_spec
- >> !(COMMA >> positive_int_const) >> RANGLE
- ;
-
- string_type
- = IDL_STRING >> !(LANGLE >> positive_int_const >> RANGLE)
- ;
-
- wide_string_type
- = IDL_WSTRING
- ;
-
- array_declarator
- = IDENTIFIER >> +fixed_array_size
- ;
-
- fixed_array_size
- = LBRACK >> positive_int_const >> RBRACK
- ;
-
- attr_dcl
- = !IDL_READONLY >> IDL_ATTRIBUTE >> param_type_spec
- >> simple_declarator >> *(COMMA >> simple_declarator)
- ;
-
- except_dcl
- = IDL_EXCEPTION >> IDENTIFIER
- >> LBRACE >> *member >> RBRACE
- ;
-
- op_dcl
- = !op_attribute >> op_type_spec >> IDENTIFIER
- >> parameter_dcls >> !raises_expr >> !context_expr
- ;
-
- op_attribute
- = IDL_ONEWAY
- ;
-
- op_type_spec
- = param_type_spec
- | IDL_VOID
- ;
-
- parameter_dcls
- = LPAREN >> !(param_dcl >> *(COMMA >> param_dcl)) >> RPAREN
- ;
-
- param_dcl
- = param_attribute >> param_type_spec >> simple_declarator
- ;
-
- param_attribute
- = longest_d
- [
- IDL_IN
- | IDL_INOUT
- ]
- | IDL_OUT
- ;
-
- raises_expr
- = IDL_RAISES >> LPAREN >> scoped_name
- >> *(COMMA >> scoped_name)
- >> RPAREN
- ;
-
- context_expr
- = IDL_CONTEXT >> LPAREN >> STRING_LITERAL
- >> *(COMMA >> STRING_LITERAL)
- >> RPAREN
- ;
-
- param_type_spec
- = base_type_spec
- | string_type
- | wide_string_type
- | scoped_name
- ;
-
- fixed_pt_type
- = IDL_FIXED >> LANGLE
- >> positive_int_const >> COMMA >> positive_int_const
- >> RANGLE
- ;
-
- fixed_pt_const_type
- = IDL_FIXED
- ;
-
- value_base_type
- = IDL_VALUEBASE
- ;
-}
-
-#endif /* IDL2_GRAMMAR_C */
diff --git a/TAO/CIAO/CIDLC/parser_examples/idl2/idl2_grammar.h b/TAO/CIAO/CIDLC/parser_examples/idl2/idl2_grammar.h
deleted file mode 100644
index d7d7832f10d..00000000000
--- a/TAO/CIAO/CIDLC/parser_examples/idl2/idl2_grammar.h
+++ /dev/null
@@ -1,166 +0,0 @@
-// $Id$
-//
-// IDL2 Grammar checker implemented with Spirit (http://spirit.sourceforge.net/)
-//
-#ifndef IDL2_GRAMMAR_H
-#define IDL2_GRAMMAR_H
-
-#include <iostream>
-#include <fstream>
-#include <vector>
-
-// This is caused by using 'this' in a base member initialization.
-#pragma warning (disable: 4355)
-
-#include <boost/spirit/core.hpp>
-#include <boost/spirit/utility.hpp>
-#include <boost/spirit/symbols.hpp>
-
-using namespace boost::spirit;
-using namespace std;
-
-// Global parsing utility function.
-template<typename GrammarT>
-void
-parse (GrammarT const & g,
- char const * filename)
-{
- ifstream in (filename);
-
- if (!in)
- {
- cerr << "Could not open input file: " << filename << endl;
- return;
- }
-
- // Turn off white space skipping on the stream.
- in.unsetf (ios::skipws);
-
- vector<char> vec;
- std::copy (istream_iterator<char> (in),
- istream_iterator<char> (),
- std::back_inserter(vec));
-
- vector<char>::const_iterator start = vec.begin ();
- vector<char>::const_iterator end = vec.end ();
-
- skip_grammar skip;
-
- parse_info<vector<char>::const_iterator> result = parse (start,
- end,
- g,
- skip);
-
- if (result.full)
- {
- cerr << filename << " Parses OK" << endl;
- }
- else
- {
- cerr << filename << " Fails Parsing" << endl;
-
- for (int i = 0; i < 50; i++)
- {
- if (result.stop == end)
- {
- break;
- }
-
- cerr << *result.stop++;
- }
-
- cerr << endl;
- }
-}
-
-// We use this to skip whitespace, comments, and whatever else.
-struct skip_grammar : public grammar<skip_grammar>
-{
- template <typename ScannerT>
- struct definition
- {
- definition (skip_grammar const & self);
- rule<ScannerT> const & start (void) const;
-
- rule<ScannerT> skip;
- };
-};
-
-struct idl2_grammar : public grammar<idl2_grammar>
-{
- template <typename ScannerT>
- struct definition
- {
- definition (idl2_grammar const & /* self */);
- rule<ScannerT> const & start (void) const;
-
- // Keyword table.
- symbols<> keywords;
-
- // Non-alphanumeric terminals.
- strlit<>
- LSHIFT, RSHIFT, SCOPE;
- chlit<>
- SEMI, COMMA, COLON, ASSIGN, MINUS, PLUS, MULT, DIV, MOD,
- AND, NOT, OR, XOR, LPAREN, RPAREN, LANGLE, RANGLE,
- LBRACK, RBRACK, LBRACE, RBRACE;
-
- // IDL2 keywords.
- rule<ScannerT>
- IDL_ABSTRACT, IDL_ANY, IDL_ATTRIBUTE, IDL_BOOLEAN,
- IDL_CASE, IDL_CHAR, IDL_CONST, IDL_CONTEXT, IDL_CUSTOM,
- IDL_DEFAULT, IDL_DOUBLE, IDL_ENUM, IDL_EXCEPTION,
- IDL_FACTORY, IDL_FALSE, IDL_FIXED, IDL_FLOAT,
- IDL_IN, IDL_INOUT, IDL_INTERFACE, IDL_LOCAL, IDL_LONG,
- IDL_MODULE, IDL_NATIVE, IDL_OBJECT, IDL_OCTET,
- IDL_ONEWAY, IDL_OUT, IDL_PRIVATE, IDL_PUBLIC,
- IDL_RAISES, IDL_READONLY, IDL_SHORT, IDL_SEQUENCE,
- IDL_STRING, IDL_STRUCT, IDL_SUPPORTS, IDL_SWITCH,
- IDL_TRUE, IDL_TRUNCATABLE, IDL_TYPEDEF, IDL_UNION,
- IDL_UNSIGNED, IDL_VALUEBASE, IDL_VALUETYPE, IDL_VOID,
- IDL_WCHAR, IDL_WSTRING;
-
- // Identifier and literals.
- rule<ScannerT>
- IDENTIFIER,
- CHARACTER_LITERAL, WIDE_CHARACTER_LITERAL, STRING_LITERAL_PART,
- STRING_LITERAL, WIDE_STRING_LITERAL_PART, WIDE_STRING_LITERAL,
- INTEGER_LITERAL_HEX, INTEGER_LITERAL_OCT, INTEGER_LITERAL_DEC,
- INTEGER_LITERAL, FLOATING_PT_LITERAL_1, FLOATING_PT_LITERAL_2,
- FLOATING_PT_LITERAL_3, FLOATING_PT_LITERAL, BOOLEAN_LITERAL;
-
- // IDL2 non-terminals.
- rule<ScannerT>
- specification, declaration, const_dcl, module, const_type, type_dcl,
- integer_type, signed_int, unsigned_int, signed_short_int,
- signed_long_int, signed_longlong_int, unsigned_short_int,
- unsigned_long_int, unsigned_longlong_int,
- char_type, wide_char_type, boolean_type, floating_pt_type,
- string_type, wide_string_type, fixed_pt_const_type, scoped_name,
- scoped_name_helper, octet_type, const_exp, or_expr, xor_expr,
- and_expr, shift_expr, add_expr, mult_expr, unary_expr,
- unary_operator, primary_expr, literal, fixed_pt_literal,
- positive_int_const, type_declarator, struct_type, union_type,
- enum_type, simple_declarator, constr_forward_decl, type_spec,
- declarators, simple_type_spec, constr_type_spec, base_type_spec,
- template_type_spec, any_type, object_type, value_base_type,
- fixed_pt_type, sequence_type, declarator, complex_declarator,
- array_declarator, member_list, member, switch_type_spec,
- switch_body, case_decl, case_label, element_spec, enumerator,
- fixed_array_size, const_exp_helper, or_expr_helper,
- xor_expr_helper, and_expr_helper, shift_expr_helper, add_expr_helper,
- mult_expr_helper, except_dcl, interface, interface_dcl,
- forward_dcl, interface_header, interface_body, interface_name,
- interface_inheritance_spec, export, attr_dcl, op_dcl,
- param_type_spec, op_attribute, op_type_spec, parameter_dcls,
- raises_expr, context_expr, param_dcl, param_attribute, value,
- value_dcl, value_abs_dcl, value_box_dcl, value_forward_dcl,
- value_inheritance_spec, value_name, value_header, value_element,
- state_member, init_dcl, init_param_decls, init_param_decl,
- init_param_attribute;
- };
-};
-
-#include "idl2_grammar.cpp"
-
-#endif /* IDL2_GRAMMAR_H */
diff --git a/TAO/CIAO/CIDLC/parser_examples/idl2/test_idl2.idl b/TAO/CIAO/CIDLC/parser_examples/idl2/test_idl2.idl
deleted file mode 100644
index 6d49f808cb4..00000000000
--- a/TAO/CIAO/CIDLC/parser_examples/idl2/test_idl2.idl
+++ /dev/null
@@ -1,103 +0,0 @@
-// $Id$ -*- IDL -*-
-
-module outer
-{
- const string<34> hello = "Goodbye";
- const long foolong = -321;
-
- module inner
- {
- typedef unsigned long long fooulonglong;
- typedef fooulonglong tdef2;
- typedef sequence<tdef2> tdef2seq;
- typedef long foolongarray[(3 * (-3 + 9 - 1) / 3 % 2) << 1];
-
- struct foostruct
- {
- short shmem;
- any anymem;
- Object objmem;
- sequence<string<12>, 25> seqmem;
- inner::tdef2 tdef2mem[6][5][3];
- };
-
- enum fooenum
- {
- ONE,
- TWO
- };
-
- union foounion switch (fooenum)
- {
- case TWO:
- case ONE: long lmem;
- default: string strmem;
- };
-
- native foonative;
- const double foodouble = 321.1416E-12f;
-
- exception fooemptyexcept {};
- exception fooexcept
- {
- string message;
- };
-
- abstract interface foofwd;
- abstract interface foofwd {};
- local interface foofulliface : fooemptyiface, foofwd
- {
- const short shconst = 5;
- typedef foofwd footdef;
- struct ifacestruct {string str;};
- exception ifaceexcept {};
- attribute long attr;
- readonly attribute foounion foounionattr;
- void emptyop ();
- fooenum fullop (in string strinarg,
- in foofwd inobjarg,
- inout foounion inoutarg,
- out foostruct outarg)
- raises (::outer::inner::fooexcept,
- fooemptyexcept)
- context ("fee", "fi", "fo", "fum");
- oneway void onewayop (in inner::foonative inarg);
- };
-
- abstract valuetype absval {};
- valuetype vfwd;
- valuetype vfwd
- {
- const short vshconst = 5;
- typedef foofwd vfootdef;
- struct valstruct {string str;};
- exception valexcept {};
- attribute long vattr;
- readonly attribute foounion vfoounionattr;
- void vemptyop ();
- fooenum fullop (in string strinarg,
- in foofwd inobjarg,
- inout foounion inoutarg,
- out foostruct outarg)
- raises (::outer::inner::fooexcept,
- fooemptyexcept)
- context ("fee", "fi", "fo", "fum");
- };
-
- valuetype child : vfwd, absval
- {
- };
-
- valuetype supporter supports fooemptyiface, foofwd
- {
- };
-
- custom valuetype child_supporter : vfwd, absval supports foofwd
- {
- private foostruct foostructmember;
- public long longmember;
- public outer::inner::vfwd valmember;
- factory cs_factory (in long longarg, in string stringarg);
- };
- };
-};
diff --git a/TAO/CIAO/CIDLC/parser_examples/idl3/idl3.cpp b/TAO/CIAO/CIDLC/parser_examples/idl3/idl3.cpp
deleted file mode 100644
index fb9f58de958..00000000000
--- a/TAO/CIAO/CIDLC/parser_examples/idl3/idl3.cpp
+++ /dev/null
@@ -1,29 +0,0 @@
-// $Id$
-
-#if defined(_DEBUG)
-//#define SPIRIT_DEBUG
-#endif // defined(_DEBUG)
-
-#include "idl3_grammar.h"
-
-int
-main (int argc, char* argv[])
-{
-// Start grammar definition
- cerr << "IDL3 Grammar checker implemented with Spirit ..." << endl;
-
-// main driver code
-idl3_grammar g;
-
- if (2 == argc)
- {
- parse (g,
- argv[1]);
- }
- else
- {
- cerr << "No filename given" << endl;
- }
-
- return 0;
-}
diff --git a/TAO/CIAO/CIDLC/parser_examples/idl3/idl3.mpc b/TAO/CIAO/CIDLC/parser_examples/idl3/idl3.mpc
deleted file mode 100644
index 73f2c2f4d8f..00000000000
--- a/TAO/CIAO/CIDLC/parser_examples/idl3/idl3.mpc
+++ /dev/null
@@ -1,11 +0,0 @@
-project(idl3) : aceexe {
- exename = idl3
- includes += .. $(SPIRIT_DIR) $(SPIRIT_DIR)/miniboost
- Source_Files {
- idl3.cpp
- idl3_grammar.cpp
- }
- Header_Files {
- idl3_grammar.h
- }
-} \ No newline at end of file
diff --git a/TAO/CIAO/CIDLC/parser_examples/idl3/idl3.vcproj b/TAO/CIAO/CIDLC/parser_examples/idl3/idl3.vcproj
deleted file mode 100644
index 7c201828ee3..00000000000
--- a/TAO/CIAO/CIDLC/parser_examples/idl3/idl3.vcproj
+++ /dev/null
@@ -1,153 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="7.10"
- Name="idl3"
- ProjectGUID="{5F3379E4-2944-4FEE-A04A-CD04C3B66401}"
- RootNamespace="idl3"
- Keyword="ManagedCProj">
- <Platforms>
- <Platform
- Name="Win32"/>
- </Platforms>
- <Configurations>
- <Configuration
- Name="Debug|Win32"
- OutputDirectory="$(SolutionDir)$(ConfigurationName)"
- IntermediateDirectory="$(ConfigurationName)"
- ConfigurationType="1"
- CharacterSet="2"
- ManagedExtensions="TRUE">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories="..,$(SPIRIT_DIR),$(SPIRIT_DIR)\miniboost"
- PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
- MinimalRebuild="FALSE"
- BasicRuntimeChecks="0"
- RuntimeLibrary="1"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- DebugInformationFormat="3"/>
- <Tool
- Name="VCCustomBuildTool"/>
- <Tool
- Name="VCLinkerTool"
- OutputFile="$(OutDir)\idl3.exe"
- LinkIncremental="2"
- GenerateDebugInformation="TRUE"
- AssemblyDebug="1"
- ProgramDatabaseFile="$(OutDir)/idl3.pdb"
- SubSystem="1"/>
- <Tool
- Name="VCMIDLTool"/>
- <Tool
- Name="VCPostBuildEventTool"/>
- <Tool
- Name="VCPreBuildEventTool"/>
- <Tool
- Name="VCPreLinkEventTool"/>
- <Tool
- Name="VCResourceCompilerTool"/>
- <Tool
- Name="VCWebServiceProxyGeneratorTool"/>
- <Tool
- Name="VCXMLDataGeneratorTool"/>
- <Tool
- Name="VCWebDeploymentTool"/>
- <Tool
- Name="VCManagedWrapperGeneratorTool"/>
- <Tool
- Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
- </Configuration>
- <Configuration
- Name="Release|Win32"
- OutputDirectory="$(SolutionDir)$(ConfigurationName)"
- IntermediateDirectory="$(ConfigurationName)"
- ConfigurationType="1"
- CharacterSet="2"
- ManagedExtensions="TRUE">
- <Tool
- Name="VCCLCompilerTool"
- PreprocessorDefinitions="WIN32;NDEBUG"
- MinimalRebuild="FALSE"
- RuntimeLibrary="0"
- UsePrecompiledHeader="3"
- WarningLevel="3"
- DebugInformationFormat="3"/>
- <Tool
- Name="VCCustomBuildTool"/>
- <Tool
- Name="VCLinkerTool"
- OutputFile="$(OutDir)\$(ProjectName).exe"
- LinkIncremental="1"
- GenerateDebugInformation="TRUE"/>
- <Tool
- Name="VCMIDLTool"/>
- <Tool
- Name="VCPostBuildEventTool"/>
- <Tool
- Name="VCPreBuildEventTool"/>
- <Tool
- Name="VCPreLinkEventTool"/>
- <Tool
- Name="VCResourceCompilerTool"/>
- <Tool
- Name="VCWebServiceProxyGeneratorTool"/>
- <Tool
- Name="VCXMLDataGeneratorTool"/>
- <Tool
- Name="VCWebDeploymentTool"/>
- <Tool
- Name="VCManagedWrapperGeneratorTool"/>
- <Tool
- Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
- </Configuration>
- </Configurations>
- <References>
- </References>
- <Files>
- <Filter
- Name="Source Files"
- Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx"
- UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}">
- <File
- RelativePath=".\idl3.cpp">
- <FileConfiguration
- Name="Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- MinimalRebuild="TRUE"
- BasicRuntimeChecks="3"
- RuntimeLibrary="5"
- DebugInformationFormat="4"
- CompileAsManaged="0"/>
- </FileConfiguration>
- </File>
- <File
- RelativePath=".\idl3_grammar.cpp">
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="TRUE">
- <Tool
- Name="VCCLCompilerTool"/>
- </FileConfiguration>
- </File>
- </Filter>
- <Filter
- Name="Header Files"
- Filter="h;hpp;hxx;hm;inl;inc;xsd"
- UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}">
- <File
- RelativePath=".\idl3_grammar.h">
- </File>
- </Filter>
- <Filter
- Name="Resource Files"
- Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx"
- UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}">
- </Filter>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>
diff --git a/TAO/CIAO/CIDLC/parser_examples/idl3/idl3_grammar.cpp b/TAO/CIAO/CIDLC/parser_examples/idl3/idl3_grammar.cpp
deleted file mode 100644
index 2aafc491ce4..00000000000
--- a/TAO/CIAO/CIDLC/parser_examples/idl3/idl3_grammar.cpp
+++ /dev/null
@@ -1,349 +0,0 @@
-// $Id$
-
-#include "idl3_grammar.h"
-
-#ifndef IDL3_GRAMMAR_C
-#define IDL3_GRAMMAR_C
-
-template<typename ScannerT>
-rule<ScannerT> const &
-idl3_grammar::definition<ScannerT>::start (void) const
-{
- return specification;
-}
-
-template<typename ScannerT>
-idl3_grammar::definition<ScannerT>::definition (
- idl3_grammar const & self
- )
- : idl2 (self.idl2_g)
-{
- keywords =
- "import", "typeid", "typeprefix", "getraises", "setraises",
- "component", "provides", "uses", "multiple", "emits",
- "publishes", "consumes", "home", "manages", "primarykey",
- "finder", "eventtype";
-
- IDL_IMPORT = strlit<>("import");
- IDL_TYPEID = strlit<>("typeid");
- IDL_TYPEPREFIX = strlit<>("typeprefix");
- IDL_GETRAISES = strlit<>("getraises");
- IDL_SETRAISES = strlit<>("setraises");
- IDL_COMPONENT = strlit<>("component");
- IDL_PROVIDES = strlit<>("provides");
- IDL_USES = strlit<>("uses");
- IDL_MULTIPLE = strlit<>("multiple");
- IDL_EMITS = strlit<>("emits");
- IDL_PUBLISHES = strlit<>("publishes");
- IDL_CONSUMES = strlit<>("consumes");
- IDL_HOME = strlit<>("home");
- IDL_MANAGES = strlit<>("manages");
- IDL_PRIMARYKEY = strlit<>("primarykey");
- IDL_FINDER = strlit<>("finder");
- IDL_EVENTTYPE = strlit<>("eventtype");
-
- idl2.IDENTIFIER =
- lexeme_d
- [
- ((alpha_p | '_') >> *(alnum_p | '_'))
- - (idl2.keywords >> anychar_p - (alnum_p | '_'))
- - (this->keywords >> anychar_p - (alnum_p | '_'))
- ]
- ;
-
- BOOST_SPIRIT_DEBUG_RULE (IDL_IMPORT);
- BOOST_SPIRIT_DEBUG_RULE (IDL_TYPEID);
- BOOST_SPIRIT_DEBUG_RULE (IDL_TYPEPREFIX);
- BOOST_SPIRIT_DEBUG_RULE (IDL_GETRAISES);
- BOOST_SPIRIT_DEBUG_RULE (IDL_SETRAISES);
- BOOST_SPIRIT_DEBUG_RULE (IDL_COMPONENT);
- BOOST_SPIRIT_DEBUG_RULE (IDL_PROVIDES);
- BOOST_SPIRIT_DEBUG_RULE (IDL_USES);
- BOOST_SPIRIT_DEBUG_RULE (IDL_MULTIPLE);
- BOOST_SPIRIT_DEBUG_RULE (IDL_EMITS);
- BOOST_SPIRIT_DEBUG_RULE (IDL_PUBLISHES);
- BOOST_SPIRIT_DEBUG_RULE (IDL_CONSUMES);
- BOOST_SPIRIT_DEBUG_RULE (IDL_HOME);
- BOOST_SPIRIT_DEBUG_RULE (IDL_MANAGES);
- BOOST_SPIRIT_DEBUG_RULE (IDL_PRIMARYKEY);
- BOOST_SPIRIT_DEBUG_RULE (IDL_FINDER);
- BOOST_SPIRIT_DEBUG_RULE (IDL_EVENTTYPE);
-
- BOOST_SPIRIT_DEBUG_RULE (specification);
- BOOST_SPIRIT_DEBUG_RULE (import);
- BOOST_SPIRIT_DEBUG_RULE (imported_scope);
- BOOST_SPIRIT_DEBUG_RULE (type_id_dcl);
- BOOST_SPIRIT_DEBUG_RULE (type_prefix_dcl);
- BOOST_SPIRIT_DEBUG_RULE (readonly_attr_spec);
- BOOST_SPIRIT_DEBUG_RULE (attr_spec);
- BOOST_SPIRIT_DEBUG_RULE (readonly_attr_declarator);
- BOOST_SPIRIT_DEBUG_RULE (attr_declarator);
- BOOST_SPIRIT_DEBUG_RULE (attr_raises_expr);
- BOOST_SPIRIT_DEBUG_RULE (get_excep_expr);
- BOOST_SPIRIT_DEBUG_RULE (set_excep_expr);
- BOOST_SPIRIT_DEBUG_RULE (exception_list);
- BOOST_SPIRIT_DEBUG_RULE (component);
- BOOST_SPIRIT_DEBUG_RULE (component_dcl);
- BOOST_SPIRIT_DEBUG_RULE (component_forward_dcl);
- BOOST_SPIRIT_DEBUG_RULE (component_header);
- BOOST_SPIRIT_DEBUG_RULE (component_body);
- BOOST_SPIRIT_DEBUG_RULE (component_inheritance_spec);
- BOOST_SPIRIT_DEBUG_RULE (component_export);
- BOOST_SPIRIT_DEBUG_RULE (supported_interface_spec);
- BOOST_SPIRIT_DEBUG_RULE (component_export);
- BOOST_SPIRIT_DEBUG_RULE (provides_dcl);
- BOOST_SPIRIT_DEBUG_RULE (uses_dcl);
- BOOST_SPIRIT_DEBUG_RULE (emits_dcl);
- BOOST_SPIRIT_DEBUG_RULE (publishes_dcl);
- BOOST_SPIRIT_DEBUG_RULE (consumes_dcl);
- BOOST_SPIRIT_DEBUG_RULE (interface_type);
- BOOST_SPIRIT_DEBUG_RULE (home_dcl);
- BOOST_SPIRIT_DEBUG_RULE (home_header);
- BOOST_SPIRIT_DEBUG_RULE (home_body);
- BOOST_SPIRIT_DEBUG_RULE (home_inheritance_spec);
- BOOST_SPIRIT_DEBUG_RULE (home_export);
- BOOST_SPIRIT_DEBUG_RULE (primary_key_spec);
- BOOST_SPIRIT_DEBUG_RULE (factory_dcl);
- BOOST_SPIRIT_DEBUG_RULE (finder_dcl);
- BOOST_SPIRIT_DEBUG_RULE (event);
- BOOST_SPIRIT_DEBUG_RULE (event_dcl);
- BOOST_SPIRIT_DEBUG_RULE (event_abs_dcl);
- BOOST_SPIRIT_DEBUG_RULE (event_forward_dcl);
- BOOST_SPIRIT_DEBUG_RULE (event_header);
-
- specification
- = *import >> +idl2.declaration
- ;
-
- idl2.declaration
- = idl2.type_dcl >> idl2.SEMI
- | idl2.const_dcl >> idl2.SEMI
- | idl2.except_dcl >> idl2.SEMI
- | idl2.interface >> idl2.SEMI
- | idl2.module >> idl2.SEMI
- | idl2.value >> idl2.SEMI
- | type_id_dcl >> idl2.SEMI
- | type_prefix_dcl >> idl2.SEMI
- | event >> idl2.SEMI
- | component >> idl2.SEMI
- | home_dcl >> idl2.SEMI
- ;
-
- idl2.export
- = idl2.type_dcl >> idl2.SEMI
- | idl2.const_dcl >> idl2.SEMI
- | idl2.except_dcl >> idl2.SEMI
- | idl2.attr_dcl >> idl2.SEMI
- | idl2.op_dcl >> idl2.SEMI
- | type_id_dcl >> idl2.SEMI
- | type_prefix_dcl >> idl2.SEMI
- ;
-
- idl2.init_dcl
- = idl2.IDL_FACTORY >> idl2.IDENTIFIER >> idl2.LPAREN
- >> !idl2.init_param_decls >> idl2.RPAREN
- >> !idl2.raises_expr >> idl2.SEMI
- ;
-
- idl2.attr_dcl
- = readonly_attr_spec
- | attr_spec
- ;
-
- import
- = IDL_IMPORT >> imported_scope >> idl2.SEMI
- ;
-
- imported_scope
- = idl2.scoped_name
- | idl2.STRING_LITERAL
- ;
-
- type_id_dcl
- = IDL_TYPEID >> idl2.scoped_name >> idl2.STRING_LITERAL
- ;
-
- type_prefix_dcl
- = IDL_TYPEPREFIX >> idl2.scoped_name >> idl2.STRING_LITERAL
- ;
-
- readonly_attr_spec
- = idl2.IDL_READONLY >> idl2.IDL_ATTRIBUTE
- >> idl2.param_type_spec
- >> readonly_attr_declarator
- ;
-
- readonly_attr_declarator
- = idl2.simple_declarator >> idl2.raises_expr
- | idl2.simple_declarator
- >> *(idl2.COMMA >> idl2.simple_declarator)
- ;
-
- attr_spec
- = idl2.IDL_ATTRIBUTE >> idl2.param_type_spec
- >> attr_declarator
- ;
-
- attr_declarator
- = idl2.simple_declarator >> attr_raises_expr
- | idl2.simple_declarator
- >> *(idl2.COMMA >> idl2.simple_declarator)
- ;
-
- attr_raises_expr
- = get_excep_expr >> !set_excep_expr
- | set_excep_expr
- ;
-
- get_excep_expr
- = IDL_GETRAISES >> exception_list
- ;
-
- set_excep_expr
- = IDL_SETRAISES >> exception_list
- ;
-
- exception_list
- = idl2.LPAREN >> idl2.scoped_name
- >> *(idl2.COMMA >> idl2.scoped_name) >> idl2.RPAREN
- ;
-
- component
- = component_dcl
- | component_forward_dcl
- ;
-
- component_forward_dcl
- = IDL_COMPONENT >> idl2.IDENTIFIER
- ;
-
- component_dcl
- = component_header >> idl2.LBRACE
- >> component_body >> idl2.RBRACE
- ;
-
- component_header
- = IDL_COMPONENT >> idl2.IDENTIFIER
- >> !component_inheritance_spec
- >> !supported_interface_spec
- ;
-
- supported_interface_spec
- = idl2.IDL_SUPPORTS >> idl2.scoped_name
- >> *(idl2.COMMA >> idl2.scoped_name)
- ;
-
- component_inheritance_spec
- = idl2.COLON >> idl2.scoped_name
- ;
-
- component_body
- = *component_export
- ;
-
- component_export
- = provides_dcl >> idl2.SEMI
- | uses_dcl >> idl2.SEMI
- | emits_dcl >> idl2.SEMI
- | publishes_dcl >> idl2.SEMI
- | consumes_dcl >> idl2.SEMI
- | idl2.attr_dcl >> idl2.SEMI
- ;
-
- provides_dcl
- = IDL_PROVIDES >> interface_type >> idl2.IDENTIFIER
- ;
-
- interface_type
- = idl2.scoped_name
- | idl2.IDL_OBJECT
- ;
-
- uses_dcl
- = IDL_USES >> !IDL_MULTIPLE
- >> interface_type >> idl2.IDENTIFIER
- ;
-
- emits_dcl
- = IDL_EMITS >> idl2.scoped_name >> idl2.IDENTIFIER
- ;
-
- publishes_dcl
- = IDL_PUBLISHES >> idl2.scoped_name >> idl2.IDENTIFIER
- ;
-
- consumes_dcl
- = IDL_CONSUMES >> idl2.scoped_name >> idl2.IDENTIFIER
- ;
-
- home_dcl
- = home_header >> home_body
- ;
-
- home_header
- = IDL_HOME >> idl2.IDENTIFIER
- >> !home_inheritance_spec
- >> !supported_interface_spec
- >> IDL_MANAGES >> idl2.scoped_name
- >> !primary_key_spec
- ;
-
- home_inheritance_spec
- = idl2.COLON >> idl2.scoped_name
- ;
-
- primary_key_spec
- = IDL_PRIMARYKEY >> idl2.scoped_name
- ;
-
- home_body
- = idl2.LBRACE >> *home_export >> idl2.RBRACE
- ;
-
- home_export
- = idl2.export
- | factory_dcl >> idl2.SEMI
- | finder_dcl >> idl2.SEMI
- ;
-
- factory_dcl
- = idl2.IDL_FACTORY >> idl2.IDENTIFIER >> idl2.LPAREN
- >> !idl2.init_param_decls >>idl2.RPAREN
- >> !idl2.raises_expr
- ;
-
- finder_dcl
- = IDL_FINDER >> idl2.IDENTIFIER >> idl2.LPAREN
- >> !idl2.init_param_decls >>idl2.RPAREN
- >> !idl2.raises_expr
- ;
-
- event
- = event_dcl
- | event_abs_dcl
- | event_forward_dcl
- ;
-
- event_forward_dcl
- = !idl2.IDL_ABSTRACT >> IDL_EVENTTYPE >> idl2.IDENTIFIER
- ;
-
- event_abs_dcl
- = !idl2.IDL_ABSTRACT >> IDL_EVENTTYPE >> idl2.IDENTIFIER
- >> !idl2.value_inheritance_spec >> idl2.LBRACE
- >> *idl2.export >> idl2.RBRACE
- ;
-
- event_dcl
- = event_header >> idl2.LBRACE >> *idl2.value_element
- >> idl2.RBRACE
- ;
-
- event_header
- = !idl2.IDL_CUSTOM >> IDL_EVENTTYPE >> idl2.IDENTIFIER
- >> !idl2.value_inheritance_spec
- ;
-}
-
-#endif /* IDL3_GRAMMAR_C */
-
diff --git a/TAO/CIAO/CIDLC/parser_examples/idl3/idl3_grammar.h b/TAO/CIAO/CIDLC/parser_examples/idl3/idl3_grammar.h
deleted file mode 100644
index 5473f470bc2..00000000000
--- a/TAO/CIAO/CIDLC/parser_examples/idl3/idl3_grammar.h
+++ /dev/null
@@ -1,51 +0,0 @@
-// $Id$
-//
-// IDL3 Grammar checker implemented with Spirit (http://spirit.sourceforge.net/)
-//
-#ifndef IDL3_GRAMMAR_H
-#define IDL3_GRAMMAR_H
-
-#include "idl2/idl2_grammar.h"
-
-struct idl3_grammar : public grammar<idl3_grammar>
-{
- idl2_grammar idl2_g;
-
- template <typename ScannerT>
- struct definition
- {
- definition (idl3_grammar const & self);
- rule<ScannerT> const & start (void) const;
-
- idl2_grammar::definition<ScannerT> idl2;
-
- symbols<> keywords;
-
- rule<ScannerT>
- IDL_IMPORT, IDL_TYPEID, IDL_TYPEPREFIX, IDL_GETRAISES,
- IDL_SETRAISES, IDL_COMPONENT, IDL_PROVIDES, IDL_USES,
- IDL_MULTIPLE, IDL_EMITS, IDL_PUBLISHES, IDL_CONSUMES,
- IDL_HOME, IDL_MANAGES, IDL_PRIMARYKEY, IDL_FINDER,
- IDL_EVENTTYPE;
-
- rule<ScannerT>
- specification,
- import, imported_scope, type_id_dcl, type_prefix_dcl,
- readonly_attr_spec, attr_spec, readonly_attr_declarator,
- attr_declarator, attr_raises_expr, get_excep_expr,
- set_excep_expr, exception_list, component, component_dcl,
- component_forward_dcl, component_header, component_body,
- component_inheritance_spec, component_export,
- supported_interface_spec, provides_dcl, uses_dcl, emits_dcl,
- publishes_dcl, consumes_dcl, interface_type, home_dcl,
- home_header, home_body, home_inheritance_spec, home_export,
- primary_key_spec, factory_dcl, finder_dcl, event, event_dcl,
- event_abs_dcl, event_forward_dcl, event_header;
-
- };
-};
-
-#include "idl3_grammar.cpp"
-
-#endif /* IDL3_GRAMMAR_H */
-
diff --git a/TAO/CIAO/CIDLC/parser_examples/idl3/test_idl3.idl b/TAO/CIAO/CIDLC/parser_examples/idl3/test_idl3.idl
deleted file mode 100644
index a2d3a3d4bd6..00000000000
--- a/TAO/CIAO/CIDLC/parser_examples/idl3/test_idl3.idl
+++ /dev/null
@@ -1,73 +0,0 @@
-// $Id$ -*- IDL -*-
-
-import "groovy.idl";
-import skaboodliator::bingabay;
-
-module mod
-{
- interface dummy {};
-
- interface foo
- {
- exception dingdong {};
- exception ramalama {};
- readonly attribute long foo_attr, foo_attr2;
- readonly attribute mod::foo self_attr raises (dingdong);
- attribute string get_str getraises (ramalama, dingdong);
- attribute string set_str setraises (ramalama, dingdong);
- attribute long bb getraises (dingdong, ramalama)
- setraises (ramalama);
- typeid dingdong "THE:witch/is:dead";
- };
-
- valuetype val
- {
- factory f () raises (dingdong, ramalama);
- private string pstr;
- };
-
- abstract eventtype efwd;
- abstract eventtype efwd supports foo
- {
- attribute string pstr;
- };
-
- custom eventtype cust
- {
- public string pstr;
- factory f () raises (dingdong, ramalama);
- };
-
- eventtype empty_ev : cust, efwd supports foo, dummy
- {
- };
-
- component bar;
- component emptybar supports foo
- {
- };
-
- component fullbar : emptybar
- {
- attribute val cc getraises (dingdong, ramalama)
- setraises (ramalama, dingdong);
- provides pfoo foo;
- uses ufoo foo;
- uses multiple umfoo foo;
- emits emitter efwd;
- publishes pcust cust;
- consumes cempty empty_ev;
- };
-
- home fullhome manages fullbar
- {
- void op ();
- factory finit (in string strarg, in wstring wstrarg)
- raises (dingdong);
- finder flookup () raises (ramalama, dingdong);
- };
-
- typeid foo "ABRA:cadabra/hocus/pocus:1.234";
-};
-
-typeprefix mod "dre.vanderbilt.edu";
diff --git a/TAO/CIAO/CIDLC/parser_examples/parser_examples.sln b/TAO/CIAO/CIDLC/parser_examples/parser_examples.sln
deleted file mode 100644
index 51237fdef2e..00000000000
--- a/TAO/CIAO/CIDLC/parser_examples/parser_examples.sln
+++ /dev/null
@@ -1,37 +0,0 @@
-Microsoft Visual Studio Solution File, Format Version 8.00
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "idl2", "idl2\idl2.vcproj", "{81B2195C-C013-4A95-BA25-65C50E4D584A}"
- ProjectSection(ProjectDependencies) = postProject
- EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "idl3", "idl3\idl3.vcproj", "{5F3379E4-2944-4FEE-A04A-CD04C3B66401}"
- ProjectSection(ProjectDependencies) = postProject
- EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "cidl", "cidl\cidl.vcproj", "{8059742C-5DA9-4318-8D04-7938CBB0D538}"
- ProjectSection(ProjectDependencies) = postProject
- EndProjectSection
-EndProject
-Global
- GlobalSection(SolutionConfiguration) = preSolution
- Debug = Debug
- Release = Release
- EndGlobalSection
- GlobalSection(ProjectConfiguration) = postSolution
- {81B2195C-C013-4A95-BA25-65C50E4D584A}.Debug.ActiveCfg = Debug|Win32
- {81B2195C-C013-4A95-BA25-65C50E4D584A}.Debug.Build.0 = Debug|Win32
- {81B2195C-C013-4A95-BA25-65C50E4D584A}.Release.ActiveCfg = Release|Win32
- {81B2195C-C013-4A95-BA25-65C50E4D584A}.Release.Build.0 = Release|Win32
- {5F3379E4-2944-4FEE-A04A-CD04C3B66401}.Debug.ActiveCfg = Debug|Win32
- {5F3379E4-2944-4FEE-A04A-CD04C3B66401}.Debug.Build.0 = Debug|Win32
- {5F3379E4-2944-4FEE-A04A-CD04C3B66401}.Release.ActiveCfg = Release|Win32
- {5F3379E4-2944-4FEE-A04A-CD04C3B66401}.Release.Build.0 = Release|Win32
- {8059742C-5DA9-4318-8D04-7938CBB0D538}.Debug.ActiveCfg = Debug|Win32
- {8059742C-5DA9-4318-8D04-7938CBB0D538}.Debug.Build.0 = Debug|Win32
- {8059742C-5DA9-4318-8D04-7938CBB0D538}.Release.ActiveCfg = Release|Win32
- {8059742C-5DA9-4318-8D04-7938CBB0D538}.Release.Build.0 = Release|Win32
- EndGlobalSection
- GlobalSection(ExtensibilityGlobals) = postSolution
- EndGlobalSection
- GlobalSection(ExtensibilityAddIns) = postSolution
- EndGlobalSection
-EndGlobal
diff --git a/TAO/CIAO/ChangeLog b/TAO/CIAO/ChangeLog
deleted file mode 100644
index 6c59bf93465..00000000000
--- a/TAO/CIAO/ChangeLog
+++ /dev/null
@@ -1,2731 +0,0 @@
-Tue Jun 3 01:26:04 2003 Jeff Parsons <j.parsons@vanderbilt.edu>
-
- * examples/OEP/BasicSP/BasicSP.dsw:
- * examples/OEP/BasicSP/BasicSP_stub.dsp:
- * examples/OEP/BasicSP/BasicSP_svnt.dsp:
- * examples/OEP/BasicSP/BMClosedED/BMClosedED_stub.dsp:
- * examples/OEP/BasicSP/BMDisplay/BMDisplay_stub.dsp:
- * examples/OEP/BasicSP/EC/EC_stub.dsp:
- * examples/OEP/Display/HUDisplay_stub.dsp:
- * examples/OEP/Display/HUDisplay_svnt.dsp:
-
- Updated settings in these files.
-
- * examples/OEP/BasicSP/NOTE.txt:
-
- Fixed typos.
-
- * examples/OEP/BasicSP/descriptors/daemon.ior:
-
- Removed this file from the repository - it's just a temporary.
-
-Mon Jun 02 23:36:29 2003 Nanbor Wang <nanbor@cs.wustl.edu>
-
- * exampels/OEP/Display/NavDisplayGUI_exec/NavDisplayGUI_exec.dsp:
- Regenerated and hand modified the project file.
-
-Mon Jun 2 22:45:05 2003 Jeff Parsons <j.parsons@vanderbilt.edu>
-
- * ciao/ComponentsC.h:
- * ciao/ComponentsS.h:
-
- Contains the *C.h and *S.h corresponding to the include in Components.idl.
-
-Mon Jun 02 12:47:50 2003 Nanbor Wang <nanbor@cs.wustl.edu>
-
- * README: Revised the root readme file.
-
-Mon Jun 2 12:42:10 2003 Jeff Parsons <j.parsons@vanderbilt.edu>
-
- * CCF/External/Utility/Documentation/Build.html:
-
- New file containing build information for the CIDL compiler.
-
- * CIDLC/README:
-
- Updated file to point to the new file above and other
- documentation files in that same directory.
-
-Mon Jun 2 02:00:04 2003 Jeff Parsons <j.parsons@vanderbilt.edu>
-
- * examples/OEP/BasicSP/BasicSP.dsw:
- * examples/OEP/BasicSP/BasicSP_stub.dsp:
- * examples/OEP/BasicSP/BasicSP_svnt.dsp:
- * examples/OEP/BasicSP/BMClosedED/BMClosedED_exec.dsp:
- * examples/OEP/BasicSP/BMClosedED/BMClosedED_stub.dsp:
- * examples/OEP/BasicSP/BMClosedED/BMClosedED_svnt.dsp:
- * examples/OEP/BasicSP/BMDevice/BMDevice_exec.dsp:
- * examples/OEP/BasicSP/BMDevice/BMDevice_stub.dsp:
- * examples/OEP/BasicSP/BMDevice/BMDevice_svnt.dsp:
- * examples/OEP/BasicSP/BMDisplay/BMDisplay_exec.dsp:
- * examples/OEP/BasicSP/BMDisplay/BMDisplay_stub.dsp:
- * examples/OEP/BasicSP/BMDisplay/BMDisplay_svnt.dsp:
- * examples/OEP/BasicSP/EC/EC_client.dsp:
- * examples/OEP/BasicSP/EC/EC_exec.dsp:
- * examples/OEP/BasicSP/EC/EC_stub.dsp:
- * examples/OEP/BasicSP/EC/EC_svnt.dsp:
- * examples/OEP/BasicSP/EC/controller.dsp:
- * examples/OEP/Display/Display.dsw:
- * examples/OEP/Display/HUDisplay_stub.dsp:
- * examples/OEP/Display/HUDisplay_svnt.dsp:
- * examples/OEP/Display/GPS/GPS_exec.dsp:
- * examples/OEP/Display/GPS/GPS_stub.dsp:
- * examples/OEP/Display/GPS/GPS_svnt.dsp:
- * examples/OEP/Display/GPS/GPS_tracing_exec.dsp:
- * examples/OEP/Display/NavDisplay/NavDisplay_exec.dsp:
- * examples/OEP/Display/NavDisplay/NavDisplay_stub.dsp:
- * examples/OEP/Display/NavDisplay/NavDisplay_svnt.dsp:
- * examples/OEP/Display/NavDisplayGUI_exec/NavDisplayGUI_exec.dsp:
- * examples/OEP/Display/NavDisplayGUI_exec/README
- * examples/OEP/Display/RateGen/RateGen_client.dsp:
- * examples/OEP/Display/RateGen/RateGen_exec.dsp:
- * examples/OEP/Display/RateGen/RateGen_stub.dsp:
- * examples/OEP/Display/RateGen/RateGen_svnt.dsp:
- * examples/OEP/Display/RateGen/controller.dsp:
-
- Fixed project and workspace settings for the generated
- version of the HUDisplay and BasicSP examples.
-
-Sun Jun 1 23:00:53 2003 Balachandran Natarajan <bala@dre.vanderbilt.edu>
-
- * Makefile: Added the path to the RELEASE_FILES
-
-Sun Jun 1 19:07:49 2003 Jeff Parsons <j.parsons@vanderbilt.edu>
-
- * CIDLC/README:
- * examples/OEP?BasicSP/README:
- * examples/OEP/Display/README:
-
- Updated these files with info about the URL for downloading
- CIDL compiler binaries.
-
-Sun Jun 1 14:30:53 2003 Jeff Parsons <j.parsons@vanderbilt.edu>
-
- * docs/releasenotes.html:
- * docs/todo.html:
-
- Added items related to the CIDL compiler.
-
-Sat May 31 10:54:11 2003 Balachandran Natarajan <bala@dre.vanderbilt.edu>
-
- * Makefile: We dont have any special files like INSTALL that needs
- specila attention during the release.
-
-Fri May 30 19:33:36 2003 Jeff Parsons <j.parsons@vanderbilt.edu>
-
- * CCF/DesignNotes:
- * CCF/Makefile:
- * CCF/Version:
- * CCF/CCF/CCF.sln:
- * CCF/CCF/Makefile:
- * CCF/CCF/CIDL/CIDL.cpp:
- * CCF/CCF/CIDL/CIDL.vcproj:
- * CCF/CCF/CIDL/CIDL_LexicalAnalyzer.hpp:
- * CCF/CCF/CIDL/CIDL_Parser.hpp:
- * CCF/CCF/CIDL/CIDL_SemanticAction.hpp:
- * CCF/CCF/CIDL/CIDL_SemanticActionImpl.hpp:
- * CCF/CCF/CIDL/CIDL_SyntaxTree.cpp:
- * CCF/CCF/CIDL/CIDL_SyntaxTree.hpp:
- * CCF/CCF/CIDL/CIDL_SyntaxTreeFwd.hpp:
- * CCF/CCF/CIDL/CIDL_Traversal.cpp:
- * CCF/CCF/CIDL/CIDL_Traversal.hpp:
- * CCF/CCF/CIDL/MSVC_Pragmas.hpp:
- * CCF/CCF/CIDL/Makefile:
- * CCF/CCF/CodeGenerationKit/CodeGenerationKit.cpp:
- * CCF/CCF/CodeGenerationKit/CodeGenerationKit.vcproj:
- * CCF/CCF/CodeGenerationKit/CommandLine.cpp:
- * CCF/CCF/CodeGenerationKit/CommandLine.hpp:
- * CCF/CCF/CodeGenerationKit/CommandLineDescriptor.hpp:
- * CCF/CCF/CodeGenerationKit/CommandLineGrammar.cpp:
- * CCF/CCF/CodeGenerationKit/CommandLineGrammar.hpp:
- * CCF/CCF/CodeGenerationKit/CommandLineParser.cpp:
- * CCF/CCF/CodeGenerationKit/CommandLineParser.hpp:
- * CCF/CCF/CodeGenerationKit/IDLStream.hpp:
- * CCF/CCF/CodeGenerationKit/MSVC_Pragmas.hpp:
- * CCF/CCF/CodeGenerationKit/Makefile:
- * CCF/CCF/CodeGenerationKit/Regex.hpp:
- * CCF/CCF/CompilerElements/DiagnosticStream.cpp:
- * CCF/CCF/CompilerElements/DiagnosticStream.hpp:
- * CCF/CCF/CompilerElements/ExH.hpp:
- * CCF/CCF/CompilerElements/FileSystem.hpp:
- * CCF/CCF/CompilerElements/MSVC_Pragmas.hpp:
- * CCF/CCF/CompilerElements/Parser.hpp:
- * CCF/CCF/CompilerElements/Preprocessor.hpp:
- * CCF/CCF/CompilerElements/ReferenceCounting.hpp:
- * CCF/CCF/CompilerElements/SemanticAction.hpp:
- * CCF/CCF/CompilerElements/Token.hpp:
- * CCF/CCF/CompilerElements/TokenStream.hpp:
- * CCF/CCF/CompilerElements/Traversal.hpp:
- * CCF/CCF/IDL2/IDL2.cpp:
- * CCF/CCF/IDL2/IDL2.vcproj:
- * CCF/CCF/IDL2/IDL2_LexicalAnalyzer.cpp:
- * CCF/CCF/IDL2/IDL2_LexicalAnalyzer.hpp:
- * CCF/CCF/IDL2/IDL2_Parser.hpp:
- * CCF/CCF/IDL2/IDL2_SemanticAction.hpp:
- * CCF/CCF/IDL2/IDL2_SemanticActionImpl.hpp:
- * CCF/CCF/IDL2/IDL2_SyntaxTree.cpp:
- * CCF/CCF/IDL2/IDL2_SyntaxTree.hpp:
- * CCF/CCF/IDL2/IDL2_SyntaxTree.tpp:
- * CCF/CCF/IDL2/IDL2_SyntaxTreeFwd.hpp:
- * CCF/CCF/IDL2/IDL2_SyntaxTree_BuiltIn.cpp:
- * CCF/CCF/IDL2/IDL2_SyntaxTree_BuiltIn.hpp:
- * CCF/CCF/IDL2/IDL2_SyntaxTree_Value.hpp:
- * CCF/CCF/IDL2/IDL2_Traversal.cpp:
- * CCF/CCF/IDL2/IDL2_Traversal.hpp:
- * CCF/CCF/IDL2/MSVC_Pragmas.hpp:
- * CCF/CCF/IDL2/Makefile:
- * CCF/CCF/IDL3/IDL3.cpp:
- * CCF/CCF/IDL3/IDL3.vcproj:
- * CCF/CCF/IDL3/IDL3_LexicalAnalyzer.hpp:
- * CCF/CCF/IDL3/IDL3_Parser.hpp:
- * CCF/CCF/IDL3/IDL3_SemanticAction.hpp:
- * CCF/CCF/IDL3/IDL3_SemanticActionImpl.hpp:
- * CCF/CCF/IDL3/IDL3_SyntaxTree.cpp:
- * CCF/CCF/IDL3/IDL3_SyntaxTree.hpp:
- * CCF/CCF/IDL3/IDL3_SyntaxTreeFwd.hpp:
- * CCF/CCF/IDL3/IDL3_SyntaxTree_EventType.cpp:
- * CCF/CCF/IDL3/IDL3_SyntaxTree_EventType.hpp:
- * CCF/CCF/IDL3/IDL3_Traversal.cpp:
- * CCF/CCF/IDL3/IDL3_Traversal.hpp:
- * CCF/CCF/IDL3/MSVC_Pragmas.hpp:
- * CCF/CCF/IDL3/Makefile:
- * CCF/External/Utility/Makefile:
- * CCF/External/Utility/Version:
- * CCF/External/Utility/Config/Archive.gcc.post.rules:
- * CCF/External/Utility/Config/Archive.gcc.pre.rules:
- * CCF/External/Utility/Config/Archive.post.rules:
- * CCF/External/Utility/Config/Archive.pre.rules:
- * CCF/External/Utility/Config/Documentation.post.rules:
- * CCF/External/Utility/Config/Documentation.pre.rules:
- * CCF/External/Utility/Config/Executable.gcc.post.rules:
- * CCF/External/Utility/Config/Executable.gcc.pre.rules:
- * CCF/External/Utility/Config/Executable.generic.post.rules:
- * CCF/External/Utility/Config/Executable.generic.pre.rules:
- * CCF/External/Utility/Config/Executable.post.rules:
- * CCF/External/Utility/Config/Executable.pre.rules:
- * CCF/External/Utility/Config/Recursion.post.rules:
- * CCF/External/Utility/Config/Recursion.pre.rules:
- * CCF/External/Utility/Config/Shared.gcc.post.rules:
- * CCF/External/Utility/Config/Shared.gcc.pre.rules:
- * CCF/External/Utility/Config/Shared.generic.post.rules:
- * CCF/External/Utility/Config/Shared.generic.pre.rules:
- * CCF/External/Utility/Config/Shared.post.rules:
- * CCF/External/Utility/Config/Shared.pre.rules:
- * CCF/External/Utility/Config/Thoughts:
- * CCF/External/Utility/Documentation/Makefile:
- * CCF/External/Utility/Documentation/News.html:
- * CCF/External/Utility/Documentation/index.html:
- * CCF/External/Utility/Documentation/ExH/Makefile:
- * CCF/External/Utility/Documentation/ExH/Makefile.documentation:
- * CCF/External/Utility/Documentation/ExH/News.html:
- * CCF/External/Utility/Documentation/ExH/index.html:
- * CCF/External/Utility/Documentation/ExH/Example/Makefile:
- * CCF/External/Utility/Documentation/ExH/Logic/Makefile:
- * CCF/External/Utility/Documentation/ExH/System/Makefile:
- * CCF/External/Utility/Documentation/ReferenceCounting/Makefile:
- * CCF/External/Utility/Documentation/ReferenceCounting/News.html:
- * CCF/External/Utility/Documentation/ReferenceCounting/index.html:
- * CCF/External/Utility/Documentation/Style/CXX.css:
- * CCF/External/Utility/Documentation/Style/CXX_Blue.css:
- * CCF/External/Utility/Documentation/Synch/Makefile:
- * CCF/External/Utility/Documentation/Synch/News.html:
- * CCF/External/Utility/Documentation/Synch/index.html:
- * CCF/External/Utility/Documentation/Synch/Policy/Makefile:
- * CCF/External/Utility/Utility/ExH/Compound.hpp:
- * CCF/External/Utility/Utility/ExH/Compound.tpp:
- * CCF/External/Utility/Utility/ExH/Converter.hpp:
- * CCF/External/Utility/Utility/ExH/Converter.tpp:
- * CCF/External/Utility/Utility/ExH/ExH.hpp:
- * CCF/External/Utility/Utility/ExH/StringConverter.hpp:
- * CCF/External/Utility/Utility/ExH/StringConverter.ipp:
- * CCF/External/Utility/Utility/ExH/StringStreamConverter.hpp:
- * CCF/External/Utility/Utility/ExH/StringStreamConverter.ipp:
- * CCF/External/Utility/Utility/ExH/Logic/DescriptiveException.hpp:
- * CCF/External/Utility/Utility/ExH/Logic/DescriptiveException.ipp:
- * CCF/External/Utility/Utility/ExH/Logic/Exception.hpp:
- * CCF/External/Utility/Utility/ExH/Logic/Exception.ipp:
- * CCF/External/Utility/Utility/ExH/System/DescriptiveException.hpp:
- * CCF/External/Utility/Utility/ExH/System/DescriptiveException.ipp:
- * CCF/External/Utility/Utility/ExH/System/Exception.hpp:
- * CCF/External/Utility/Utility/ReferenceCounting/DefaultImpl.hpp:
- * CCF/External/Utility/Utility/ReferenceCounting/DefaultImpl.ipp:
- * CCF/External/Utility/Utility/ReferenceCounting/ExternalLockImpl.hpp:
- * CCF/External/Utility/Utility/ReferenceCounting/ExternalLockImpl.ipp:
- * CCF/External/Utility/Utility/ReferenceCounting/Interface.hpp:
- * CCF/External/Utility/Utility/ReferenceCounting/Interface.ipp:
- * CCF/External/Utility/Utility/ReferenceCounting/Interface.tpp:
- * CCF/External/Utility/Utility/ReferenceCounting/ReferenceCounting.hpp:
- * CCF/External/Utility/Utility/ReferenceCounting/SmartPtr.hpp:
- * CCF/External/Utility/Utility/ReferenceCounting/SmartPtr.tpp:
- * CCF/External/Utility/Utility/ReferenceCounting/StrictPtr.hpp:
- * CCF/External/Utility/Utility/ReferenceCounting/StrictPtr.tpp:
- * CCF/External/Utility/Utility/Synch/Policy/Null.hpp:
- * CCF/External/Utility/Utility/Synch/Policy/Null.ipp:
- * CIDLC/CIDLC.sln:
- * CIDLC/CIDLC.vcproj:
- * CIDLC/ExecutorMapp:ingGenerator.cpp:
- * CIDLC/ExecutorMapp:ingGenerator.hpp:
- * CIDLC/Literals.hpp:
- * CIDLC/Makefile:
- * CIDLC/ServantGenerator.cpp:
- * CIDLC/ServantGenerator.hpp:
- * CIDLC/ServantHeaderGenerator.cpp:
- * CIDLC/ServantHeaderGenerator.hpp:
- * CIDLC/ServantSourceGenerator.cpp:
- * CIDLC/ServantSourceGenerator.hpp:
- * CIDLC/Version:
- * CIDLC/cidlc.cpp:
-
- Source code, documentation and build files for the
- CIDL compiler.
-
-Fri May 30 18:18:25 2003 Jeff Parsons <j.parsons@vanderbilt.edu>
-
- * CIDLC/*:
-
- Removed all files in this directory from the repository except
- DesignNotes, which will reappear in a new directory along with
- other CIDL compiler checkins. The parser examples that were
- in this directory are no longer useful or up to date. Soon
- parts of the CIDL compiler will be checked into this directory.
-
- * README:
-
- New file.
-
-Fri May 30 17:41:05 2003 Jeff Parsons <j.parsons@vanderbilt.edu>
-
- * examples/OEP/BasicSP/BMClosedED/BMClosedED_svnt.dsp:
- * examples/OEP/BasicSP/BMDevice/BMDevice_svnt.dsp:
- * examples/OEP/BasicSP/BMDisplay/BMDisplay_svnt.dsp:
- * examples/OEP/BasicSP/EC/EC_svnt.dsp:
- * examples/OEP/Display/GPS/GPS_svnt.dsp:
- * examples/OEP/Display/NavDisplay/NavDisplay_svnt.dsp:
- * examples/OEP/Display/RateGen/RateGen_svnt.dsp:
-
- Changed the location of the CIDL compiler executable to
- CIAO_ROOT/bin for the MSVC projects.
-
- * examples/OEP/Display/NavDisplay/NavDisplay_svnt.cpp:
- * examples/OEP/Display/NavDisplay/NavDisplay_svnt.h:
-
- Removed these file from the repository - they are generated
- and shouldn't have been checked in.
-
-Fri May 30 15:25:29 2003 Jeff Parsons <j.parsons@vanderbilt.edu>
-
- * examples/OEP/Display/Configuration-0.png:
- * examples/OEP/Display/Display.dsw:
- * examples/OEP/Display/HUDisplay.idl:
- * examples/OEP/Display/HUDisplay.mpc:
- * examples/OEP/Display/HUDisplay_stub.dsp:
- * examples/OEP/Display/HUDisplay_stub_export.h:
- * examples/OEP/Display/HUDisplay_svnt.dsp:
- * examples/OEP/Display/HUDisplay_svnt_export.h:
- * examples/OEP/Display/NOTE:
- * examples/OEP/Display/README:
- * examples/OEP/Display/cleanup_mpcfiles.cmd:
- * examples/OEP/Display/GPS/GPS.cidl:
- * examples/OEP/Display/GPS/GPS.idl:
- * examples/OEP/Display/GPS/GPSEI.idl:
- * examples/OEP/Display/GPS/GPS_exec.cpp:
- * examples/OEP/Display/GPS/GPS_exec.dsp:
- * examples/OEP/Display/GPS/GPS_exec.h:
- * examples/OEP/Display/GPS/GPS_exec_export.h:
- * examples/OEP/Display/GPS/GPS_stub.dsp:
- * examples/OEP/Display/GPS/GPS_stub_export.h:
- * examples/OEP/Display/GPS/GPS_svnt.dsp:
- * examples/OEP/Display/GPS/GPS_svnt_export.h:
- * examples/OEP/Display/GPS/GPS_tracing_exec.cpp:
- * examples/OEP/Display/GPS/GPS_tracing_exec.dsp:
- * examples/OEP/Display/GPS/GPS_tracing_exec.h:
- * examples/OEP/Display/GPS/config:
- * examples/OEP/Display/NavDisplay/NavDisplay.cidl:
- * examples/OEP/Display/NavDisplay/NavDisplay.idl:
- * examples/OEP/Display/NavDisplay/NavDisplayEI.idl:
- * examples/OEP/Display/NavDisplay/NavDisplay_exec.cpp:
- * examples/OEP/Display/NavDisplay/NavDisplay_exec.dsp:
- * examples/OEP/Display/NavDisplay/NavDisplay_exec.h:
- * examples/OEP/Display/NavDisplay/NavDisplay_exec_export.h:
- * examples/OEP/Display/NavDisplay/NavDisplay_stub.dsp:
- * examples/OEP/Display/NavDisplay/NavDisplay_stub_export.h:
- * examples/OEP/Display/NavDisplay/NavDisplay_svnt.cpp:
- * examples/OEP/Display/NavDisplay/NavDisplay_svnt.dsp:
- * examples/OEP/Display/NavDisplay/NavDisplay_svnt.h:
- * examples/OEP/Display/NavDisplay/NavDisplay_svnt_export.h:
- * examples/OEP/Display/NavDisplay/config:
- * examples/OEP/Display/NavDisplay/run_test.pl:
- * examples/OEP/Display/NavDisplayGUI_exec/AddNavUnitCmd.cpp:
- * examples/OEP/Display/NavDisplayGUI_exec/AddNavUnitCmd.h:
- * examples/OEP/Display/NavDisplayGUI_exec/Command.h:
- * examples/OEP/Display/NavDisplayGUI_exec/DetailView.cpp:
- * examples/OEP/Display/NavDisplayGUI_exec/DetailView.h:
- * examples/OEP/Display/NavDisplayGUI_exec/MapView.cpp:
- * examples/OEP/Display/NavDisplayGUI_exec/MapView.h:
- * examples/OEP/Display/NavDisplayGUI_exec/NavDisplayGUI_exec.cpp:
- * examples/OEP/Display/NavDisplayGUI_exec/NavDisplayGUI_exec.dsp:
- * examples/OEP/Display/NavDisplayGUI_exec/NavDisplayGUI_exec.h:
- * examples/OEP/Display/NavDisplayGUI_exec/NavUnit.cpp:
- * examples/OEP/Display/NavDisplayGUI_exec/NavUnit.h:
- * examples/OEP/Display/NavDisplayGUI_exec/NodeItem.cpp:
- * examples/OEP/Display/NavDisplayGUI_exec/NodeItem.h:
- * examples/OEP/Display/NavDisplayGUI_exec/QuitCmd.cpp:
- * examples/OEP/Display/NavDisplayGUI_exec/QuitCmd.h:
- * examples/OEP/Display/NavDisplayGUI_exec/README:
- * examples/OEP/Display/NavDisplayGUI_exec/RootPanel.cpp:
- * examples/OEP/Display/NavDisplayGUI_exec/RootPanel.h:
- * examples/OEP/Display/NavDisplayGUI_exec/UpdatePositionCmd.cpp:
- * examples/OEP/Display/NavDisplayGUI_exec/UpdatePositionCmd.h:
- * examples/OEP/Display/NavDisplayGUI_exec/Worker.cpp:
- * examples/OEP/Display/NavDisplayGUI_exec/Worker.h:
- * examples/OEP/Display/NavDisplayGUI_exec/trolltech.gif:
- * examples/OEP/Display/NavDisplayGUI_exec/worldmap1.gif:
- * examples/OEP/Display/NavDisplayGUI_exec/worldmap1.xpm:
- * examples/OEP/Display/RateGen/RateGen.cidl:
- * examples/OEP/Display/RateGen/RateGen.idl:
- * examples/OEP/Display/RateGen/RateGenEI.idl:
- * examples/OEP/Display/RateGen/RateGen_client.dsp:
- * examples/OEP/Display/RateGen/RateGen_exec.cpp:
- * examples/OEP/Display/RateGen/RateGen_exec.dsp:
- * examples/OEP/Display/RateGen/RateGen_exec.h:
- * examples/OEP/Display/RateGen/RateGen_exec_export.h:
- * examples/OEP/Display/RateGen/RateGen_stub.dsp:
- * examples/OEP/Display/RateGen/RateGen_stub_export.h:
- * examples/OEP/Display/RateGen/RateGen_svnt.dsp:
- * examples/OEP/Display/RateGen/RateGen_svnt_export.h:
- * examples/OEP/Display/RateGen/client.cpp:
- * examples/OEP/Display/RateGen/config:
- * examples/OEP/Display/RateGen/controller.cpp:
- * examples/OEP/Display/RateGen/controller.dsp:
- * examples/OEP/Display/RateGen/run_test.pl:
- * examples/OEP/Display/descriptors/CIAO_Installation_Data.ini:
- * examples/OEP/Display/descriptors/DuelDisplay.cad:
- * examples/OEP/Display/descriptors/GPS.csd:
- * examples/OEP/Display/descriptors/GPS.ssd:
- * examples/OEP/Display/descriptors/GPS_tracing.csd:
- * examples/OEP/Display/descriptors/HUDisplay.cad:
- * examples/OEP/Display/descriptors/HUDisplayGUI.cad:
- * examples/OEP/Display/descriptors/NOTE.txt:
- * examples/OEP/Display/descriptors/NavDisplay.csd:
- * examples/OEP/Display/descriptors/NavDisplay.ssd:
- * examples/OEP/Display/descriptors/NavDisplayGUI.csd:
- * examples/OEP/Display/descriptors/RateGen.csd:
- * examples/OEP/Display/descriptors/RateGen.ssd:
- * examples/OEP/Display/descriptors/RemoteDisplay.cad:
- * examples/OEP/Display/descriptors/RemoteDisplayGUI.cad:
- * examples/OEP/Display/descriptors/test.dat:
-
- New example, same as the one in examples/handcrafted/Display,
- but using CIDL compiler generated code.
-
-Fri May 30 14:27:55 2003 Balachandran Natarajan <bala@dre.vanderbilt.edu>
-
- * PROBLEM-REPORT-FORM (Subject): Fixed a typo.
-
-Fri May 30 14:15:45 2003 Balachandran Natarajan <bala@dre.vanderbilt.edu>
-
- * VERSION:
- * PROBLEM-REPORT-FORM (Subject): Files needed for the release.
-
-Fri May 30 14:11:11 2003 Balachandran Natarajan <bala@dre.vanderbilt.edu>
-
- * ciao/Version.h: Changed the version info to be 0.3.1 instead of
- 0.1.1. We want it to go the way ACE+TAO go.
-
-Fri May 30 13:57:26 2003 Balachandran Natarajan <bala@dre.vanderbilt.edu>
-
- * Makefile: A new top level Makefile which will have the needed
- information for the release.
-
-Fri May 30 12:29:37 2003 Jeff Parsons <j.parsons@vanderbilt.edu>
-
- * examples/OEP/BasicSP/BasicSP.dsw:
- * examples/OEP/BasicSP/BasicSP.idl:
- * examples/OEP/BasicSP/BasicSP.mpc:
- * examples/OEP/BasicSP/BasicSP_stub.dsp:
- * examples/OEP/BasicSP/BasicSP_stub_export.h:
- * examples/OEP/BasicSP/BasicSP_svnt.dsp:
- * examples/OEP/BasicSP/BasicSP_svnt_export.h:
- * examples/OEP/BasicSP/NOTE.txt:
- * examples/OEP/BasicSP/README:
- * examples/OEP/BasicSP/BMClosedED/BMClosedED.cidl:
- * examples/OEP/BasicSP/BMClosedED/BMClosedED.idl:
- * examples/OEP/BasicSP/BMClosedED/BMClosedEDEI.idl:
- * examples/OEP/BasicSP/BMClosedED/BMClosedED_exec.cpp:
- * examples/OEP/BasicSP/BMClosedED/BMClosedED_exec.dsp:
- * examples/OEP/BasicSP/BMClosedED/BMClosedED_exec.h:
- * examples/OEP/BasicSP/BMClosedED/BMClosedED_exec_export.h:
- * examples/OEP/BasicSP/BMClosedED/BMClosedED_stub.dsp:
- * examples/OEP/BasicSP/BMClosedED/BMClosedED_stub_export.h:
- * examples/OEP/BasicSP/BMClosedED/BMClosedED_svnt.dsp:
- * examples/OEP/BasicSP/BMClosedED/BMClosedED_svnt_export.h:
- * examples/OEP/BasicSP/BMClosedED/config:
- * examples/OEP/BasicSP/BMDevice/BMDevice.cidl:
- * examples/OEP/BasicSP/BMDevice/BMDevice.idl:
- * examples/OEP/BasicSP/BMDevice/BMDeviceEI.idl:
- * examples/OEP/BasicSP/BMDevice/BMDevice_exec.cpp:
- * examples/OEP/BasicSP/BMDevice/BMDevice_exec.dsp:
- * examples/OEP/BasicSP/BMDevice/BMDevice_exec.h:
- * examples/OEP/BasicSP/BMDevice/BMDevice_exec_export.h:
- * examples/OEP/BasicSP/BMDevice/BMDevice_stub.dsp:
- * examples/OEP/BasicSP/BMDevice/BMDevice_stub_export.h:
- * examples/OEP/BasicSP/BMDevice/BMDevice_svnt.dsp:
- * examples/OEP/BasicSP/BMDevice/BMDevice_svnt_export.h:
- * examples/OEP/BasicSP/BMDevice/config:
- * examples/OEP/BasicSP/BMDisplay/BMDisplay.cidl:
- * examples/OEP/BasicSP/BMDisplay/BMDisplay.idl:
- * examples/OEP/BasicSP/BMDisplay/BMDisplayEI.idl:
- * examples/OEP/BasicSP/BMDisplay/BMDisplay_exec.cpp:
- * examples/OEP/BasicSP/BMDisplay/BMDisplay_exec.dsp:
- * examples/OEP/BasicSP/BMDisplay/BMDisplay_exec.h:
- * examples/OEP/BasicSP/BMDisplay/BMDisplay_exec_export.h:
- * examples/OEP/BasicSP/BMDisplay/BMDisplay_stub.dsp:
- * examples/OEP/BasicSP/BMDisplay/BMDisplay_stub_export.h:
- * examples/OEP/BasicSP/BMDisplay/BMDisplay_svnt.dsp:
- * examples/OEP/BasicSP/BMDisplay/BMDisplay_svnt_export.h:
- * examples/OEP/BasicSP/BMDisplay/config:
- * examples/OEP/BasicSP/EC/EC.cidl:
- * examples/OEP/BasicSP/EC/EC.idl:
- * examples/OEP/BasicSP/EC/ECEI.idl:
- * examples/OEP/BasicSP/EC/EC_client.dsp:
- * examples/OEP/BasicSP/EC/EC_exec.cpp:
- * examples/OEP/BasicSP/EC/EC_exec.dsp:
- * examples/OEP/BasicSP/EC/EC_exec.h:
- * examples/OEP/BasicSP/EC/EC_exec_export.h:
- * examples/OEP/BasicSP/EC/EC_stub.dsp:
- * examples/OEP/BasicSP/EC/EC_stub_export.h:
- * examples/OEP/BasicSP/EC/EC_svnt.dsp:
- * examples/OEP/BasicSP/EC/EC_svnt_export.h:
- * examples/OEP/BasicSP/EC/README:
- * examples/OEP/BasicSP/EC/client.cpp:
- * examples/OEP/BasicSP/EC/config:
- * examples/OEP/BasicSP/EC/controller.cpp:
- * examples/OEP/BasicSP/EC/controller.dsp:
- * examples/OEP/BasicSP/descriptors/BMClosedED.csd:
- * examples/OEP/BasicSP/descriptors/BMClosedED.ssd:
- * examples/OEP/BasicSP/descriptors/BMDevice.csd:
- * examples/OEP/BasicSP/descriptors/BMDevice.ssd:
- * examples/OEP/BasicSP/descriptors/BMDisplay.csd:
- * examples/OEP/BasicSP/descriptors/BMDisplay.ssd:
- * examples/OEP/BasicSP/descriptors/BasicSP.cad:
- * examples/OEP/BasicSP/descriptors/CIAO_Installation_Data.ini:
- * examples/OEP/BasicSP/descriptors/EC.csd:
- * examples/OEP/BasicSP/descriptors/EC.ssd:
- * examples/OEP/BasicSP/descriptors/daemon.ior:
- * examples/OEP/BasicSP/descriptors/ec.ior:
- * examples/OEP/BasicSP/descriptors/test.dat:
-
- New example, same as the one in examples/handcrafted/BasicSP,
- but using CIDL compiler generated code.
-
-Thu May 29 22:25:09 2003 Krishnakumar B <kitty@spam.invalid.domain>
-
- * docs/XML/componentassembly.dtd:
-
- Fixed an error in the DTD.
-
- * examples/handcrafted/BasicSP/descriptors/BMClosedED.csd:
- * examples/handcrafted/BasicSP/descriptors/BMClosedED.ssd:
- * examples/handcrafted/BasicSP/descriptors/BMDevice.csd:
- * examples/handcrafted/BasicSP/descriptors/BMDevice.ssd:
- * examples/handcrafted/BasicSP/descriptors/BMDisplay.csd:
- * examples/handcrafted/BasicSP/descriptors/BMDisplay.ssd:
- * examples/handcrafted/BasicSP/descriptors/BasicSP.cad:
- * examples/handcrafted/BasicSP/descriptors/EC.csd:
- * examples/handcrafted/BasicSP/descriptors/EC.ssd:
- * examples/handcrafted/Display/descriptors/DuelDisplay.cad:
- * examples/handcrafted/Display/descriptors/GPS.csd:
- * examples/handcrafted/Display/descriptors/GPS.ssd:
- * examples/handcrafted/Display/descriptors/GPS_tracing.csd:
- * examples/handcrafted/Display/descriptors/HUDisplay.cad:
- * examples/handcrafted/Display/descriptors/HUDisplayGUI.cad:
- * examples/handcrafted/Display/descriptors/NavDisplay.csd:
- * examples/handcrafted/Display/descriptors/NavDisplay.ssd:
- * examples/handcrafted/Display/descriptors/NavDisplayGUI.csd:
- * examples/handcrafted/Display/descriptors/RateGen.csd:
- * examples/handcrafted/Display/descriptors/RateGen.ssd:
- * examples/handcrafted/Display/descriptors/RemoteDisplay.cad:
- * examples/handcrafted/Display/descriptors/RemoteDisplayGUI.cad:
- * examples/handcrafted/Hello/hello.csd:
- * examples/handcrafted/Hello/hello.ssd:
-
- Modified the files to point to the correct DTDs. Also added a
- note to make sure that noone changes the path to the DTD by
- mistake.
-
- * tools/XML_Helpers/svc.conf.xml:
-
- Fixed some errors in the file to allow parsing with the new
- parser.
-
-
-Tue May 27 18:23:53 2003 Jeff Parsons <j.parsons@vanderbilt.edu>
-
- * examples/handcrafted/BasicSP/BMClosedED/BMClosedED.cidl:
- * examples/handcrafted/BasicSP/BMDevice/BMDevice.cidl:
- * examples/handcrafted/BasicSP/BMDisplay/BMDisplay.cidl:
- * examples/handcrafted/BasicSP/EC/EC.cidl:
-
- New CIDL files added to the appropriate directory of the
- BasicSP example.
-
-Tue May 27 17:44:36 2003 Jeff Parsons <j.parsons@vanderbilt.edu>
-
- * ciao/Components.idl:
-
- New file that matches the name of the #included IDL file generated
- by the CIDL compiler executor mapping. For now, this file just
- includes CCM_Container.idl.
-
-Tue May 27 09:57:24 2003 Nanbor Wang <nanbor@cs.wustl.edu>
-
- * examples/handcrafted/Display/NavDisplayGUI_exec/moc_DetailView.cpp:
- * examples/handcrafted/Display/NavDisplayGUI_exec/moc_MapView.cpp:
- * examples/handcrafted/Display/NavDisplayGUI_exec/moc_NodeItem.cpp:
- * examples/handcrafted/Display/NavDisplayGUI_exec/moc_RootPanel.cpp:
- Removed these Qt generated files. Andrey fixed the mpc file for
- this component so they will be generated on the fly.
-
-Mon May 26 21:34:48 2003 Nanbor Wang <nanbor@cs.wustl.edu>
-
- * tools/Simple_Component_Server/Simple_Component_Server.cpp:
- Change the IOR output logic to write the component IOR if one is
- instatiated with the -c flag instead of the home IOR (when the
- -c flag is not specified.)
-
- * tools/Simple_Component_Server/README: Updated documentation for
- simple component server.
-
-Mon May 26 21:13:10 2003 Nanbor Wang <nanbor@cs.wustl.edu>
-
- * tools/Simple_Component_Server/Simple_Server.idl:
- Changed to include "ciao/CCM_Component.idl". Subdir name to is
- now required.
-
- * examples/handcrafted/Display/NavDisplayGUI_exec/NavDisplayEIC.cpp:
- Removed. This file should be generated from the IDL file.
-
- * examples/handcrafted/Display/NavDisplayGUI_exec/NavDisplayEIC.mpc:
- Added NavDisplayEIC.cpp into source file list. Also documented
- the necessary changes to generated win32 makefiles/projects for
- compiling this component on win32.
-
- * examples/handcrafted/Hello/run_test.pl: Added the use of the new
- PerlACE::Process::Normalize_Executable_Name so we can test this
- stuff with release builds.
-
-Fri May 23 22:17:36 2003 Balachandran Natarajan <bala@dre.vanderbilt.edu>
-
- * examples/handcrafted/BasicSP/BMClosedED/BMClosedEDE.idl:
- * examples/handcrafted/BasicSP/BMClosedED/BMClosedEDEI.idl:
- * examples/handcrafted/BasicSP/BMDevice/BMDevice_svnt.cpp:Fixed
- fuzz errors.
-
-Sat May 17 16:29:35 2003 Balachandran Natarajan <bala@dre.vanderbilt.edu>
-
- * examples/handcrafted/BasicSP/descriptors/test.dat
- * examples/handcrafted/BasicSP/BMClosedED/BMClosedED_exec.cpp
- * examples/handcrafted/BasicSP/BMDevice/BMDevice_exec.cpp
- * examples/handcrafted/BasicSP/BMDevice/BMDevice_exec.h
- * examples/handcrafted/BasicSP/BMDisplay/BMDisplay_exec.cpp
- * examples/handcrafted/BasicSP/EC/EC_exec.cpp
- * examples/handcrafted/BasicSP/EC/EC_svnt.cpp
- * examples/handcrafted/BasicSP/EC/controller.cpp: Now the demo
- works! Fixed a few problems and made debug statements to be more
- meaningful. Now that teh CIDL compiler is also ready, we are
- ready to storm KSU :-)
-
-Sat May 17 12:40:44 2003 Nanbor Wang <nanbor@cs.wustl.edu>
-
- * examples/handcrafted/BasicSP/BMDevice/BMDevice_svnt.cpp
- (provide_facet): Added the implementation to resolve "data_read"
- facet name.
-
-Sat May 17 12:19:17 2003 Balachandran Natarajan <bala@dre.vanderbilt.edu>
-
- * examples/handcrafted/BasicSP/descriptors/BasicSP.cad: Fixed yet
- another typo. Thanks to Nanbor for pointing it out.
-
-Sat May 17 12:07:47 2003 Balachandran Natarajan <bala@dre.vanderbilt.edu>
-
- * examples/handcrafted/BasicSP/descriptors/BasicSP.cad: Fixed a
- typo. Thanks to Nanbor for pointing it out.
-
- * examples/handcrafted/BasicSP/BasicSP.idl: Added ciao/ to the
- CM_Container.idl
-
-Sat May 17 11:18:22 2003 Balachandran Natarajan <bala@dre.vanderbilt.edu>
-
- * examples/handcrafted/BasicSP/*/config: Config files for
- testing.
-
-Sat May 17 11:05:40 2003 Nanbor Wang <nanbor@cs.wustl.edu>
-
- * examples/handcrafted/BasicSP/BasicSP.idl: Changed to include
- "CCM_Components.idl" directly instead of
- "ciao/CCM_Components.idl".
-
- * examples/handcrafted/BasicSP/BasicSP.mpc: Removed BasicSPC.cpp
- from the svnt library source file list since we are linking with
- BasicSP stub library already. Removed BasicSPES.cpp from the
- source file list also because it's basically empty.
-
- * examples/handcrafted/BasicSP/BMDevice/BMDevice.mpc: The stub and
- svnt libraries should depends on BasicSP_stub library instead of
- themselves.
-
- * examples/handcrafted/BasicSP/BMDevice/BMDevice_exec.h: Fixed
- incorrect usage of extern "C" and export macro.
-
- * examples/handcrafted/BasicSP/BMDevice/BMDevice_svnt.h: Changed
- the use of BMDEVICE_STUB_Export macro to BMDEVICE_SVNT_Export.
-
- * examples/handcrafted/BasicSP/EC/EC_svnt.cpp: The start ()
- operation should not return anything.
-
-Fri May 16 18:11:42 2003 Balachandran Natarajan <bala@dre.vanderbilt.edu>
-
- * examples/handcrafted/BasicSP/BMDisplay/BMDisplay.idl (BasicSP):
- * examples/handcrafted/BasicSP/BasicSP.mpc:
- * examples/handcrafted/BasicSP/BMDevice/BMDevice.mpc:
- * examples/handcrafted/BasicSP/BMDevice/BMDevice_exec.cpp:
- * examples/handcrafted/BasicSP/BMDevice/BMDevice_exec.h:
- * examples/handcrafted/BasicSP/EC/EC.idl:
- * examples/handcrafted/BasicSP/EC/ECE.idl:
- * examples/handcrafted/BasicSP/EC/EC_exec.cpp:
- * examples/handcrafted/BasicSP/EC/EC_svnt.cpp:
- * examples/handcrafted/BasicSP/EC/EC_svnt.h:
- * examples/handcrafted/BasicSP/EC/client.cpp:
- * examples/handcrafted/BasicSP/EC/controller.cpp:
- * examples/handcrafted/BasicSP/descriptors/BMClosedED.csd:
- * examples/handcrafted/BasicSP/descriptors/BMClosedED.ssd:
- * examples/handcrafted/BasicSP/descriptors/BMDevice.csd:
- * examples/handcrafted/BasicSP/descriptors/BMDevice.ssd:
- * examples/handcrafted/BasicSP/descriptors/BMDisplay.csd:
- * examples/handcrafted/BasicSP/descriptors/BMDisplay.ssd:
- * examples/handcrafted/BasicSP/descriptors/BasicSP.cad:
- * examples/handcrafted/BasicSP/descriptors/CIAO_Installation_Data.ini:
- * examples/handcrafted/BasicSP/descriptors/EC.csd:
- * examples/handcrafted/BasicSP/descriptors/EC.ssd: Some more files
- for the BasicSP example.
-
-Wed May 14 17:02:29 2003 Balachandran Natarajan <bala@dre.vanderbilt.edu>
-
- * examples/handcrafted/BasicSP/EC/EC.idl:
- * examples/handcrafted/BasicSP/EC/EC.mpc:
- * examples/handcrafted/BasicSP/EC/ECE.idl:
- * examples/handcrafted/BasicSP/EC/ECEI.idl:
- * examples/handcrafted/BasicSP/EC/EC_exec.cpp:
- * examples/handcrafted/BasicSP/EC/EC_exec.h:
- * examples/handcrafted/BasicSP/EC/EC_exec_export.h:
- * examples/handcrafted/BasicSP/EC/EC_stub_export.h:
- * examples/handcrafted/BasicSP/EC/EC_svnt.cpp:
- * examples/handcrafted/BasicSP/EC/EC_svnt.h:
- * examples/handcrafted/BasicSP/EC/EC_svnt_export.h:
- * examples/handcrafted/BasicSP/EC/client.cpp:
- * examples/handcrafted/BasicSP/EC/controller.cpp: Implementation
- for the EC component.
-
-Wed May 14 15:50:12 2003 Balachandran Natarajan <bala@dre.vanderbilt.edu>
-
- * examples/handcrafted/BasicSP/BMClosedED/BMClosedED.idl:
- * examples/handcrafted/BasicSP/BMClosedED/BMClosedED.mpc:
- * examples/handcrafted/BasicSP/BMClosedED/BMClosedEDE.idl:
- * examples/handcrafted/BasicSP/BMClosedED/BMClosedEDEI.idl:
- * examples/handcrafted/BasicSP/BMClosedED/BMClosedED_exec.cpp:
- * examples/handcrafted/BasicSP/BMClosedED/BMClosedED_exec.h:
- * examples/handcrafted/BasicSP/BMClosedED/BMClosedED_exec_export.h:
- * examples/handcrafted/BasicSP/BMClosedED/BMClosedED_stub_export.h:
- * examples/handcrafted/BasicSP/BMClosedED/BMClosedED_svnt.cpp:
- * examples/handcrafted/BasicSP/BMClosedED/BMClosedED_svnt.h:
- * examples/handcrafted/BasicSP/BMClosedED/BMClosedED_svnt_export.h:
- * examples/handcrafted/BasicSP/EC/EC.idl: Implementation for the
- BMClosedED component.
-
-
-Tue May 13 23:26:18 2003 Balachandran Natarajan <bala@dre.vanderbilt.edu>
-
- * examples/handcrafted/BasicSP/BasicSP_svnt.cpp:
- * examples/handcrafted/BasicSP/BasicSP_svnt.h:
- * examples/handcrafted/BasicSP/BMDevice/BMDevice.idl:
- * examples/handcrafted/BasicSP/BMDevice/BMDevice.mpc:
- * examples/handcrafted/BasicSP/BMDevice/BMDeviceE.idl:
- * examples/handcrafted/BasicSP/BMDevice/BMDeviceEI.idl:
- * examples/handcrafted/BasicSP/BMDevice/BMDevice_exec.cpp:
- * examples/handcrafted/BasicSP/BMDevice/BMDevice_exec.h:
- * examples/handcrafted/BasicSP/BMDevice/BMDevice_svnt.cpp:
- * examples/handcrafted/BasicSP/BMDevice/BMDevice_svnt.h:
- * examples/handcrafted/BasicSP/BMDisplay/BMDisplay.idl:
- * examples/handcrafted/BasicSP/BMDisplay/BMDisplay.mpc:
- * examples/handcrafted/BasicSP/BMDisplay/BMDisplayE.idl:
- * examples/handcrafted/BasicSP/BMDisplay/BMDisplayEI.idl:
- * examples/handcrafted/BasicSP/BMDisplay/BMDisplay_exec.cpp:
- * examples/handcrafted/BasicSP/BMDisplay/BMDisplay_exec.h:
- * examples/handcrafted/BasicSP/BMDisplay/BMDisplay_exec_export.h:
- * examples/handcrafted/BasicSP/BMDisplay/BMDisplay_stub_export.h:
- * examples/handcrafted/BasicSP/BMDisplay/BMDisplay_svnt.cpp:
- * examples/handcrafted/BasicSP/BMDisplay/BMDisplay_svnt.h:
- * examples/handcrafted/BasicSP/BMDisplay/BMDisplay_svnt_export.h:
- * examples/handcrafted/BasicSP/EC/EC.idl: Hand code the BMDevice
- and BMDisplay component in the Boeing OEP scenario.
-
-Mon May 12 16:53:33 2003 Balachandran Natarajan <bala@dre.vanderbilt.edu>
-
- * examples/handcrafted/BasicSP/BasicSP.idl:
- * examples/handcrafted/BasicSP/BMDevice/BMDevice.idl:
- * examples/handcrafted/BasicSP/BMDevice/BMDeviceE.idl:
- * examples/handcrafted/BasicSP/BMDevice/BMDeviceEI.idl:
- * examples/handcrafted/BasicSP/BMDevice/BMDevice.mpc
- * examples/handcrafted/BasicSP/BMDevice/BMDevice_exec_export.h:
- * examples/handcrafted/BasicSP/BMDevice/BMDevice_stub_export.h:
- * examples/handcrafted/BasicSP/BMDevice/BMDevice_svnt_export.h:
-
- Some standard files for thr BMDevice component
-
-Mon May 12 14:48:12 2003 Nanbor Wang <nanbor@cs.wustl.edu>
-
- * examples/handcrafted/Hello/run_simple_test.pl:
- * examples/handcrafted/Hello/simple_client.cpp:
- * examples/handcrafted/Hello/hello.mpc: Added a test client
- program and perl script to test the HelloWorld component using
- Simple_Component_Server.
-
-Mon May 12 14:00:57 2003 Balachandran Natarajan <bala@dre.vanderbilt.edu>
-
- * examples/handcrafted/BasicSP/BasicSP.idl
- * examples/handcrafted/BasicSP/BasicSP.mpc
- * examples/handcrafted/BasicSP/BasicSPE.idl
- * examples/handcrafted/BasicSP/BasicSP_stub_export.h
- * examples/handcrafted/BasicSP/BasicSP_svnt_export.h
- * examples/handcrafted/BasicSP/README
- * examples/handcrafted/BasicSP/BMClosedED/BMClosedED.idl
- * examples/handcrafted/BasicSP/BMDevice/BMDevice.idl
- * examples/handcrafted/BasicSP/BMDisplay/BMDisplay.idl
- * examples/handcrafted/BasicSP/EC/EC.idl
- * examples/handcrafted/BasicSP/EC/README
-
- A framework on which the new BasicSP would be developed.
-
-Mon May 12 13:34:16 2003 Nanbor Wang <nanbor@cs.wustl.edu>
-
- * README: Updated the list of TAO librearies CIAO depends on.
-
- * tools/Assembly_Deployer/Assembly_Service_Impl.h: Fixed
- mismatched comments. :)
-
- * tools/Simple_Component_Server/Simple_Component_Server.cpp:
- * tools/Simple_Component_Server/Simple_Component_Server.mpc:
- * tools/Simple_Component_Server/Simple_Server.idl:
- * tools/Simple_Component_Server/Simple_Server_Stub_Export.h:
- * tools/Simple_Component_Server/Simple_Server_i.cpp:
- * tools/Simple_Component_Server/Simple_Server_i.h:
- * tools/Simple_Component_Server/sample_client.cpp: Revamped the
- simple_component_server to make debugging a single component
- implementation a more direct process. There's also a
- sample_client that can be used as a blueprint to interfact with
- the simple component server.
-
-Fri May 09 12:51:03 2003 Nanbor Wang <nanbor@cs.wustl.edu>
-
- * README: Updated the list of libraries that CIAO depends on,
- based on the recent subsetting effort in TAO.
-
- * ciao/CCM_Core.mpc: Fixed several problems.
-
-Fri May 9 10:57:14 2003 Balachandran Natarajan <bala@dre.vanderbilt.edu>
-
- * ciao/Component_Base.idl: Removed references to the Notification
- services. They are not needed with 1.1.
-
-Fri May 9 10:54:47 2003 Balachandran Natarajan <bala@dre.vanderbilt.edu>
-
- * ciao/Container_Impl.cpp: Used .inout () while doing a deep copy
- so that the right operator= on TAO_Unbounded_Sequence is
- invoked without any warning in g++.
-
-Wed May 7 17:24:46 2003 Balachandran Natarajan <bala@dre.vanderbilt.edu>
-
- * examples/handcrafted/Display/RateGen/RateGen.mpc: Added new
- libraries and paths to them. This was forced due to the recent
- subestting in TAO.
-
-Wed May 7 17:09:45 2003 Balachandran Natarajan <bala@dre.vanderbilt.edu>
-
- * ciao/ComponentServer_Impl.cpp (configuration): Used .inout ()
- while doing a deep copy so that the right operator= on
- TAO_Unbounded_Sequence is invoked without any warning in g++.
-
-Wed May 7 16:41:42 2003 Balachandran Natarajan <bala@dre.vanderbilt.edu>
-
- * ciao/ComponentServer_Impl.cpp (remove_container): Fixed warnings
- with g++ builds.
-
-Wed May 7 16:36:15 2003 Balachandran Natarajan <bala@dre.vanderbilt.edu>
-
- * ciao/CCM_Core.mpc: Added missing libraries that were essential
- due to the subsetting effort.
-
-Wed May 7 16:22:59 2003 Balachandran Natarajan <bala@dre.vanderbilt.edu>
-
- * ciao/Container_Base.cpp: Fixed warnings with gcc.
-
-Tue May 6 12:47:26 2003 Ossama Othman <ossama@dre.vanderbilt.edu>
-
- * examples/handcrafted/Display/NavDisplayGUI_exec/NavDisplayEIC.cpp:
-
- Changed all uses of ptr_arith_t to ptrdiff_t. Addresses 64 bit
- platform issues. Thanks to Steve Huston <shuston@riverace.com>
- for suggesting this change.
-
-Wed Apr 30 13:29:46 2003 Simon McQueen <sm@prismtechnologies.com>
-
- * tests/temp/assembly/assembly.dsw:
- * tests/temp/assembly/client.dsp:
- * tests/temp/assembly/server.dsp:
-
- Files removed to prevent errors in the msvc 6 builds.
-
-Tue Apr 29 16:53:17 2003 Nanbor Wang <nanbor@cs.wustl.edu>
-
- * README: Added XML_Helpers to the list of "tools" that need to
- build to run CIAO. Thanks to Diego Sevilla Ruiz
- <dsevilla@ditec.um.es> for pointing this out.
-
-Tue Apr 29 16:38:18 2003 Simon McQueen <sm@prismtechnologies.com>
-
- * tests/temp/assembly/client.dsp:
- * tests/temp/assembly/client.dsp:
- Fixed build VCpp6 Release error.
-
-Mon Apr 28 21:43:01 2003 Nanbor Wang <nanbor@cs.wustl.edu>
-
- * examples/handcrafted/Display/RateGen/RateGen.mpc: Added missing
- library path dependencies. I'm not sure what has changed
- because they used to work just fine. :)
-
-Mon Apr 28 21:33:19 2003 Nanbor Wang <nanbor@cs.wustl.edu>
-
- * docs/templates/CIAO_Glue_Session_Template.cpp:
- * docs/templates/CIAO_Glue_Session_Template.h:
- * docs/templates/CIAO_Glue_Session_Template.inl:
- * examples/handcrafted/Display/GPS/GPS_svnt.cpp:
- * examples/handcrafted/Display/GPS/GPS_svnt.h:
- * examples/handcrafted/Display/GPS/GPS_svnt.inl:
- * examples/handcrafted/Display/NavDisplay/NavDisplay_svnt.cpp:
- * examples/handcrafted/Display/NavDisplay/NavDisplay_svnt.h:
- * examples/handcrafted/Display/RateGen/RateGen_svnt.cpp:
- * examples/handcrafted/Display/RateGen/RateGen_svnt.h:
- * examples/handcrafted/Display/RateGen/RateGen_svnt.inl: Fixed
- more misuses of "valuetype_ptr" bug. Thanks to Tao Lu
- <tao.lu@vanderbilt.edu> for reporting them.
-
-Mon Apr 28 20:50:09 2003 Nanbor Wang <nanbor@cs.wustl.edu>
-
- * docs/templates/CIAO_Glue_Session_Template.cpp:
- * docs/templates/CIAO_Glue_Session_Template.h:
- * docs/templates/CIAO_Glue_Session_Template.inl:
- * examples/handcrafted/Display/GPS/GPS_exec.cpp:
- * examples/handcrafted/Display/GPS/GPS_exec.h:
- * examples/handcrafted/Display/GPS/GPS_svnt.cpp:
- * examples/handcrafted/Display/GPS/GPS_svnt.h:
- * examples/handcrafted/Display/GPS/GPS_tracing_exec.cpp:
- * examples/handcrafted/Display/GPS/GPS_tracing_exec.h:
- * examples/handcrafted/Display/NavDisplay/NavDisplay_exec.cpp:
- * examples/handcrafted/Display/NavDisplay/NavDisplay_exec.h:
- * examples/handcrafted/Display/NavDisplay/NavDisplay_svnt.h:
- * examples/handcrafted/Display/NavDisplay/NavDisplay_svnt.inl:
- * examples/handcrafted/Display/NavDisplayGUI_exec/NavDisplayGUI_exec.cpp:
- * examples/handcrafted/Display/NavDisplayGUI_exec/NavDisplayGUI_exec.h:
- * examples/handcrafted/Display/RateGen/RateGen_svnt.cpp:
- * examples/handcrafted/Display/RateGen/RateGen_svnt.h:
- * tools/Assembly_Deployer/Assembly_Visitors.cpp:
- * tools/ComponentServer/ComponentServer_test_client.cpp:
- * tools/Daemon/Softpkg_Commands.cpp:
- * tools/ServerActivator/ServerActivator_test_client.cpp: Changed
- all "[event]_ptr ev" and "[key]_ptr k" to "[event] *ev" and
- "[key] *k". They all map to valuetypes and, according to the
- spec, there should not be _ptr typedef defined. TAO_IDL
- recently removed the incorrect typedef so we need to remove
- their useage. Thanks to Jeff Parsons for pointing this out.
-
- * ciao/CCMCore.dsw:
- * ciao/CIAO_Client.dsp:
- * ciao/CIAO_Container.dsp:
- * ciao/CIAO_Server.dsp:
- * examples/handcrafted/Hello/client.dsp:
- * examples/handcrafted/Hello/hello.dsw:
- * examples/handcrafted/Hello/hello_executors.dsp:
- * examples/handcrafted/Hello/hello_servants.dsp:
- * examples/handcrafted/Hello/hello_stub.dsp:
- * tools/ComponentServer/ComponentServer.dsp:
- * tools/ComponentServer/ComponentServer.dsw:
- * tools/ComponentServer/ComponentServer_test_client.dsp:
- * tools/ServerActivator/ServerActivator.dsp:
- * tools/ServerActivator/ServerActivator.dsw:
- * tools/ServerActivator/ServerActivator_test_client.dsp:
- * tools/Simple_Component_Server/Simple_Component_Server.dsw:
- * tools/Simple_Component_Server/Simple_Component_Server.dsp:
- Removed all vc6 dsp files. They confused the msvc nightly build
- script. The script doesn't seem to parse the mpc generated dsp
- files correctly and their build order are all messed up.
- Besides, we only maintain mpc files in CIAO now.
-
-Mon Apr 28 19:39:00 2003 Nanbor Wang <nanbor@cs.wustl.edu>
-
- * README: Added the root README file to provide some instructions
- on how to play with CIAO. Thanks to Diego Sevilla Ruiz
- <dsevilla@ditec.um.es> for motivating me to update the old
- README file and add it into the repo.
-
-Mon Apr 28 16:49:39 2003 Nanbor Wang <nanbor@cs.wustl.edu>
-
- * tools/ComponentServer/ComponentServer.cpp (main): Fixed a gcc
- compilation error. Thanks to Tao Lu <tao.lu@dre.vanderbilt.edu>
- for reporting this.
-
-Fri Apr 25 10:39:26 2003 Nanbor Wang <nanbor@cs.wustl.edu>
-
- * examples/handcrafted/Display/NavDisplayGUI_exec/worldmap1.xpm:
- * examples/handcrafted/Display/NavDisplayGUI_exec/MapView.cpp:
- Andrey changed the implementation of MapView to embedded the
- world map in the DLL as I was having some difficulty loading the
- gif file at runtime. Thanks to Andrey Nechypurenko for fixing
- it and sending us the patch.
-
-Tue Apr 22 23:07:06 2003 Nanbor Wang <nanbor@cs.wustl.edu>
-
- * examples/handcrafted/Display/RateGen/RateGen.cidl: Added this
- cidl example.
-
- * ciao/Client_init.h:
- * ciao/Cookies.h:
- * ciao/Server_init.h:
- * examples/handcrafted/Display/NavDisplay/NavDisplay.idl:
- * examples/handcrafted/Display/NavDisplay/NavDisplayE.idl:
- * examples/handcrafted/Display/NavDisplay/NavDisplay_svnt.h:
- * examples/handcrafted/Display/NavDisplayGUI_exec/NavDisplayGUI_exec.h:
- * tools/Daemon/CIAO_Daemon.cpp:
- * tools/Daemon/Daemon.idl:
- * tools/ServerActivator/ServerActivator.cpp:
- * tools/Simple_Component_Server/Simple_Component_Server.cpp:
- * tools/XML_Helpers/Assembly_Handlers.h:
- * tools/XML_Helpers/Assembly_Spec.h:
- * tools/XML_Helpers/Softpkg_Handlers.h:
- * tools/XML_Helpers/XML_Utils.h: Fixed fuzz errors.
-
- * examples/handcrafted/Display/RateGen/RateGen_comp.idl: Removed
- this unused file.
-
-Mon Apr 21 15:36:06 2003 Nanbor Wang <nanbor@cs.wustl.edu>
-
- * *: Merged with main trunk.
-
-Wed Apr 16 22:56:32 2003 Nanbor Wang <nanbor@cs.wustl.edu>
-
- The followings are fixes to make CIAO to compile and work on
- Linux.
-
- * bin/generate_component_mpc.pl:
- * examples/handcrafted/Display/HUDisplay.mpc:
- * examples/handcrafted/Display/GPS/GPS.mpc:
- * examples/handcrafted/Display/NavDisplay/NavDisplay.mpc:
- * examples/handcrafted/Display/NavDisplayGUI_exec/NavDisplayGUI.mpc:
- * examples/handcrafted/Display/RateGen/RateGen.mpc:
- * examples/handcrafted/Hello/hello.mpc:
- * tools/Assembly_Deployer/Assembly_Deployer.mpc: Reordered the
- source file listing so that IDL files will always be compiled
- before other files to avoid non-existing generated file
- problem. Also added missing library dependencies to some MPC
- files.
-
- * examples/handcrafted/Display/HUDisplay_svnt.cpp:
- * examples/handcrafted/Display/HUDisplay_svnt.inl:
- * examples/handcrafted/Display/GPS/GPSE.idl:
- * examples/handcrafted/Display/GPS/GPS_exec.cpp:
- * examples/handcrafted/Display/GPS/GPS_exec.h:
- * examples/handcrafted/Display/GPS/GPS_svnt.cpp:
- * examples/handcrafted/Display/GPS/GPS_tracing_exec.cpp:
- * examples/handcrafted/Display/GPS/GPS_tracing_exec.h:
- * examples/handcrafted/Display/NavDisplay/NavDisplay_exec.cpp:
- * examples/handcrafted/Display/NavDisplay/NavDisplay_exec.h:
- * examples/handcrafted/Display/NavDisplay/NavDisplay_svnt.cpp:
- * examples/handcrafted/Display/NavDisplayGUI_exec/NavDisplayGUI_exec.cpp:
- * examples/handcrafted/Display/NavDisplayGUI_exec/NavDisplayGUI_exec.h:
- * examples/handcrafted/Display/RateGen/RateGenE.idl:
- * examples/handcrafted/Display/RateGen/RateGen_exec.cpp:
- * examples/handcrafted/Display/RateGen/RateGen_exec.h:
- * examples/handcrafted/Display/RateGen/RateGen_svnt.cpp:
- * examples/handcrafted/Display/RateGen/client.cpp:
- * examples/handcrafted/Display/RateGen/controller.cpp:
- * examples/handcrafted/Hello/client.cpp:
- * examples/handcrafted/Hello/helloE.idl:
- * examples/handcrafted/Hello/hello_servants.cpp:
- * tools/Assembly_Deployer/Assembly_Impl.cpp:
- * tools/Assembly_Deployer/Assembly_Manager.cpp:
- * tools/Assembly_Deployer/Assembly_Visitors.h:
- * tools/Assembly_Deployer/Assembly_Visitors.inl:
- * tools/ComponentServer/ComponentServer.cpp:
- * tools/ComponentServer/ComponentServer_test_client.cpp:
- * tools/Daemon/controller_i.cpp:
- * tools/Daemon/controller_i.h:
- * tools/ServerActivator/ServerActivator_test_client.cpp:
- * tools/XML_Helpers/Assembly_Handlers.cpp:
- * tools/XML_Helpers/Assembly_Spec.cpp:
- * tools/XML_Helpers/Assembly_Spec.inl:
- * tools/XML_Helpers/Cascadable_DocHandler.cpp:
- * tools/XML_Helpers/Softpkg_Handlers.cpp: Fixed compilation errors
- and warnings. They include
-
- Using a _var in places where a _ptr is expected.
-
- Incorrect Capitalization of file names.
-
- Unused variables warnings.
-
- Exception throw specification mis-matches.
-
- * docs/templates/CIAO_Glue_Session_Template.cpp: Propagated
- previous fixes into the tempate code.
-
- * ciao/Container_Base.cpp: Removed a redundant ACE_INLINE decl.
-
-Tue Apr 15 17:07:52 2003 Nanbor Wang <nanbor@cs.wustl.edu>
-
- * tools/XML_Helpers/Assembly_Spec.h:
- * tools/XML_Helpers/Softpkg_Handlers.h:
- * tools/XML_Helpers/XMLHelpers.mpc:
- * tools/XML_Helpers/XML_Utils.h:
- * tools/XML_Helpers/XML_Helpers_Export.h: Refactored these files
- to make them into a library.
-
- * tools/XML_Helpers/XML_Helpers.dsw:
- * tools/XML_Helpers/Helper_Test.dsp:
- * tools/Daemon/CIAO_Daemon.dsp:
- * tools/Daemon/Daemon.dsw:
- * tools/Daemon/DaemonController.dsp: Removed these project files
- and depend solely on MPC generated files.
-
- * tools/Assembly_Deployer/Assembly_Deployer.mpc:
- * tools/Daemon/Daemon.mpc: Updated MPC files to link with the new
- XML_Helpers library.
-
-Tue Apr 15 11:07:36 2003 Nanbor Wang <nanbor@cs.wustl.edu>
-
- * ciao/Daemon.idl:
- * ciao/Daemon_Impl.h:
- * ciao/Daemon_Impl.inl:
- * ciao/Daemon_Impl.cpp:
- * tools/Daemon/Daemon.idl:
- * tools/Daemon/Daemon_Impl.h:
- * tools/Daemon/Daemon_Impl.inl:
- * tools/Daemon/Daemon_Impl.cpp:
- * ciao/CCM_Core.mpc:
- * ciao/CIAO_Server.dsp:
- * tools/Daemon/CIAO_Daemon.dsp:
- * tools/Daemon/Daemon.mpc:
- * tools/Daemon/DaemonController.dsp: Moved Daemon idl file and
- implementations out of CIAO_Server library into Daemon
- implemenation.
-
- Removed HomeRegistrar related files from the projects of the
- CIAO_Server library. They need to be moved a a proper place in
- the near future.
-
- * docs/todo.html: Document other refactoring needed in the
- CCM_Core libraries.
-
-Mon Apr 14 17:06:37 2003 Nanbor Wang <nanbor@cs.wustl.edu>
-
- * examples/handcrafted/Display/HUDisplay_svnt.cpp:
- * examples/handcrafted/Display/HUDisplay_svnt.h:
- * examples/handcrafted/Display/GPS/GPS_exec.cpp:
- * examples/handcrafted/Display/GPS/GPS_exec.h:
- * examples/handcrafted/Display/GPS/GPS_svnt.cpp:
- * examples/handcrafted/Display/GPS/GPS_svnt.h:
- * examples/handcrafted/Display/GPS/GPS_tracing_exec.cpp:
- * examples/handcrafted/Display/GPS/GPS_tracing_exec.h:
- * examples/handcrafted/Display/NavDisplay/NavDisplay_exec.cpp:
- * examples/handcrafted/Display/RateGen/RateGen_exec.cpp:
- * examples/handcrafted/Display/RateGen/RateGen_exec.h:
- * examples/handcrafted/Display/RateGen/client.cpp:
- * examples/handcrafted/Display/RateGen/controller.cpp:
- * examples/handcrafted/Display/RateGen/run_test.pl:
- * examples/handcrafted/Display/descriptors/NOTE.txt: Updated
- docuemntation. Changed to inherit Pulse_Handler from
- ACE_Task_Base. Reworked controller.cpp so that it won't look
- like the process that actually generates the events.
-
-Mon Apr 14 14:57:51 2003 Nanbor Wang <nanbor@cs.wustl.edu>
-
- * examples/handcrafted/Display/RateGen/controller.cpp: Changed to
- perform only one action in each exection of this program. I.e.,
- it either switch on or off the RateGen component and exit
- immediately. This is to avoid the mis-conception that the
- controller actually generates the Rate.
-
-Sat Apr 12 12:36:08 2003 Nanbor Wang <nanbor@cs.wustl.edu>
-
- * CIDLC/parser_examples/cidl/cidl.vcproj:
- * CIDLC/parser_examples/idl2/idl2.vcproj:
- * CIDLC/parser_examples/idl3/idl3.vcproj: Changed the extra
- include paths from:
-
- ..,../spirit-1.3.0,../spirit-1.3.0/miniboost
-
- to:
-
- ..,$(SPIRIT_DIR),$(SPIRIT_DIR)/miniboost
-
- to be consistent with the MPC files and to decouple Spirit from
- CIAO's directory strucutre.
-
-Sat Apr 12 10:48:13 2003 Nanbor Wang <nanbor@cs.wustl.edu>
-
- * docs/templates/CIAO_Glue_Session_Template.cpp:
- * docs/templates/CIAO_Glue_Session_Template.inl: Incorporated
- changes for fixing gcc compilation warnings.
-
- * tools/Assembly_Deployer/Assembly_Manager.cpp:
- * tools/ComponentServer/ComponentServer.cpp:
- * tools/ComponentServer/ComponentServer_test_client.cpp:
- * tools/Daemon/CIAO_Daemon.cpp:
- * tools/Simple_Component_Server/Simple_Component_Server.cpp: Added
- misiing newlines in usage messages.
-
-Sat Apr 12 01:25:35 2003 Nanbor Wang <nanbor@cs.wustl.edu>
-
- * CIDLC/parser_examples/README:
- * CIDLC/parser_examples/cidl/cidl.mpc:
- * CIDLC/parser_examples/idl2/idl2.mpc:
- * CIDLC/parser_examples/idl3/idl3.mpc: Added new MPC files to take
- advantage of MPC/MWC tool. Updated the README to provide some
- minimal instructions.
-
-Tue Apr 8 23:10:43 2003 Jeff Parsons <j.parsons@vanderbilt.edu>
-
- * CIDLC/parser_examples/README:
- * CIDLC/parser_examples/parser_examples.sln:
- * CIDLC/parser_examples/cidl/cidl.cpp:
- * CIDLC/parser_examples/cidl/cidl.vcproj:
- * CIDLC/parser_examples/cidl/cidl_grammar.cpp:
- * CIDLC/parser_examples/cidl/cidl_grammar.h:
- * CIDLC/parser_examples/cidl/hello.cidl:
- * CIDLC/parser_examples/idl2/idl2.cpp:
- * CIDLC/parser_examples/idl2/idl2.vcproj:
- * CIDLC/parser_examples/idl2/idl2_grammar.cpp:
- * CIDLC/parser_examples/idl2/idl2_grammar.h:
- * CIDLC/parser_examples/idl2/test_idl2.idl:
- * CIDLC/parser_examples/idl3/idl3.cpp:
- * CIDLC/parser_examples/idl3/idl3.vcproj:
- * CIDLC/parser_examples/idl3/idl3_grammar.cpp:
- * CIDLC/parser_examples/idl3/idl3_grammar.h:
- * CIDLC/parser_examples/idl3/test_idl3.idl:
-
- Added parser examples (IDL2, IDL3, and CIDL) using the Spirit
- parser.
-
-Tue Apr 08 19:42:16 2003 Nanbor Wang <nanbor@cs.wustl.edu>
-
- * examples/handcrafted/Display/GPS/GPS_tracing_exec.h: Fixed
- a class name mismatch.
-
-Mon Apr 07 21:20:37 2003 Nanbor Wang <nanbor@cs.wustl.edu>
-
- * ciao/ServerActivator_Impl.cpp: Fixed a couple of compilation
- warnings with gcc.
-
- * ciao/CIAO_Client.dsp:
- * ciao/CIAO_Container.dsp:
- * ciao/CIAO_Server.dsp: Turned on RTTI to sync up with the new Any
- implementation.
-
- * ciao/CIAO_common.h:
- * ciao/Cookies.cpp: Fixed the use of old CORBA_* types. They are
- no longer available in the newer version of ACE/TAO.
-
-Sun Apr 06 20:36:39 2003 Nanbor Wang <nanbor@cs.wustl.edu>
-
- * examples/handcrafted/Display/CIAO_Installation_Data.ini:
- * examples/handcrafted/Display/HUDisplay.cad:
- * examples/handcrafted/Display/GPS/GPS.csd:
- * examples/handcrafted/Display/GPS/GPS.ssd:
- * examples/handcrafted/Display/NavDisplay/NavDisplay.csd:
- * examples/handcrafted/Display/NavDisplay/NavDisplay.ssd:
- * examples/handcrafted/Display/NavDisplayGUI_exec/NavDisplayGUI.csd:
- * examples/handcrafted/Display/NavDisplayGUI_exec/NavDisplayGUI.ssd:
- * examples/handcrafted/Display/RateGen/RateGen.csd:
- * examples/handcrafted/Display/RateGen/RateGen.ssd: Removed these
- files as they have already been moved to the
- examples/handcrafted/Display/descriptors/ subdirectory.
-
- * examples/handcrafted/Display/NOTE: Updated obsolete notes.
-
- Thanks to Andrey Nechypurenko
- <Andrey.Nechypurenko@mchp.siemens.de> for the following
- changes. He reported, motivated or sent patches for them.
-
- * examples/handcrafted/Display/descriptors/NOTE.txt: Fixed several
- typos.
-
- * examples/handcrafted/Display/descriptors/DuelDisplay.cad:
- * examples/handcrafted/Display/descriptors/GPS_tracing.csd:
- * examples/handcrafted/Display/descriptors/HUDisplayGUI.cad:
- * examples/handcrafted/Display/descriptors/RemoteDisplayGUI.cad:
- Updated these assembly descriptors to use the new GPS component
- that emulate a trace (instead of the random coordinates).
-
- * examples/handcrafted/Display/NavDisplay/client.cpp:
- * examples/handcrafted/Display/NavDisplayGUI_exec/run_test.pl:
- Removed these testing artifacts because NavDisplay component
- requires other component to function properly.
-
- * tools/XML_Helpers/Assembly_Spec.inl: Fixed VC7.1 compilation
- error.
-
- * examples/handcrafted/Display/GPS/GPS.mpc:
- * examples/handcrafted/Display/GPS/GPS_tracing_exec.cpp:
- * examples/handcrafted/Display/GPS/GPS_tracing_exec.h: Added a
- new implementation for the GPS component. This implementation
- simulates coordinates of a trace instead of some random
- positions.
-
- * examples/handcrafted/Display/NavDisplay/NavDisplay.mpc:
- * examples/handcrafted/Display/NavDisplayGUI_exec/DetailView.cpp:
- * examples/handcrafted/Display/NavDisplayGUI_exec/MapView.cpp:
- * examples/handcrafted/Display/NavDisplayGUI_exec/NavDisplayGUI_exec.cpp:
- * examples/handcrafted/Display/NavDisplayGUI_exec/NavDisplayGUI_exec.h:
- Please find in attachment slightly modified version of
- NavDisplayGUI. I have modified it slightly mainly in order to
- let the GUI component to find background and animation images
- either based on ACE_ROOT or using ../NavDisplayGUI_exec/.
-
- * examples/handcrafted/Display/NavDisplayGUI_exec/README: Removed
- the mentioning of run_test.pl. It's no longer valid.
-
-Sat Apr 05 20:08:27 2003 Nanbor Wang <nanbor@cs.wustl.edu>
-
- * ciao/CCM_Deployment.idl:
- * ciao/Component_Base.idl:
- The operation Components::Deployment::Assembly::build can throw
- CreateFailure exception. It was missing in the IDL files.
-
- * ciao/Server_init.cpp:
- Register OBV factory for CIAO::Cookie also.
-
- * docs/templates/CIAO_Glue_Session_Template.cpp:
- Made sure we duplicate the object reference before adding them
- to subscriber/connection active maps.
-
- * examples/handcrafted/Display/HUDisplay.idl:
- * examples/handcrafted/Display/HUDisplay.mpc:
- * examples/handcrafted/Display/HUDisplay_svnt.h:
- * examples/handcrafted/Display/HUDisplay_svnt.inl:
- * examples/handcrafted/Display/GPS/GPS_exec.cpp:
- * examples/handcrafted/Display/GPS/GPS_exec.h:
- * examples/handcrafted/Display/GPS/GPS_svnt.cpp:
- * examples/handcrafted/Display/NavDisplay/NavDisplay_exec.cpp:
- * examples/handcrafted/Display/NavDisplayGUI_exec/NavDisplayGUI_exec.cpp:
- * examples/handcrafted/Display/RateGen/RateGen.mpc:
- * examples/handcrafted/Display/RateGen/RateGen_svnt.cpp:
- Updated the example to support 2-dimentional position interface.
- Also fixed the reference counting problem in the servant glue
- code.
-
-
- * examples/handcrafted/Display/RateGen/controller.cpp:
- Added a new
-
- * examples/handcrafted/Display/descriptors/HUDisplay.cad:
- * examples/handcrafted/Display/descriptors/HUDisplayGUI.cad:
- * examples/handcrafted/Display/descriptors/RemoteDisplay.cad:
- * examples/handcrafted/Display/descriptors/RemoteDisplayGUI.cad:
- Added variety of different composition example. See NOTE.txt
- under the same directory for more information.
-
- * examples/handcrafted/Display/descriptors/test.dat:
- Added a "Remote" entry so showcase how to deploy a system across
- several machines.
-
- * tools/Assembly_Deployer/Assembly_Deployer.cpp:
- * tools/Assembly_Deployer/Assembly_Deployer.mpc:
- * tools/Assembly_Deployer/Assembly_Impl.cpp:
- * tools/Assembly_Deployer/Assembly_Impl.h:
- * tools/Assembly_Deployer/Assembly_Manager.cpp:
- * tools/Assembly_Deployer/Assembly_Visitors.h:
- Added support for establishing connections according to
- Assembly_Spec.
-
- * tools/Assembly_Deployer/Assembly_Service.idl:
- * tools/Assembly_Deployer/Assembly_Service_Impl.cpp:
- * tools/Assembly_Deployer/Assembly_Service_Impl.h:
- Added a simple interface in an attempt to solve the unreliable
- shutdown problem.
-
- * tools/XML_Helpers/Assembly_Handlers.cpp:
- * tools/XML_Helpers/Assembly_Handlers.h:
- * tools/XML_Helpers/Assembly_Handlers.inl:
- * tools/XML_Helpers/Assembly_Spec.cpp:
- * tools/XML_Helpers/Assembly_Spec.h:
- Fixed "connectevent" parsing. I had the "source" and
- "destination" interface reversed.
-
-Fri Apr 04 22:40:11 2003 Nanbor Wang <nanbor@cs.wustl.edu>
-
- * examples/handcrafted/Display/descriptors/*: Moved all XML
- descriptors and deployment configuration into this newly created
- subdirectory to simply procedures to test this example.
-
- * examples/handcrafted/Display/NavDisplay/NavDisplay_exec.cpp:
- Changed to thow a BAD_INV_ORDER exception is the receptacle is
- not connected instead of a MSVC structural exception.
-
- * tools/Daemon/Daemon.mpc:
- * tools/Daemon/DaemonController.dsp:
- * tools/XML_Helpers/Assembly_Handlers.cpp:
- * tools/XML_Helpers/Assembly_Spec.cpp:
- * tools/XML_Helpers/Assembly_Spec.h:
- * tools/XML_Helpers/Assembly_Spec.inl:
- * tools/Assembly_Deployer/Assembly_Deployer.cpp:
- * tools/Assembly_Deployer/Assembly_Deployer.mpc:
- * tools/Assembly_Deployer/Assembly_Impl.cpp:
- * tools/Assembly_Deployer/Assembly_Impl.h:
- * tools/Assembly_Deployer/Assembly_Impl.inl:
- * tools/Assembly_Deployer/Assembly_Manager.cpp:
- * tools/Assembly_Deployer/Assembly_Visitors.h:
- * tools/Assembly_Deployer/Assembly_Visitors.inl:
- * tools/Assembly_Deployer/Deployment_Configuration.cpp:
- * tools/Assembly_Deployer/Deployment_Configuration.h:
- * tools/Assembly_Deployer/Deployment_Configuration.inl: Added more
- support for component installation when building an Assembly.
-
-Thu Apr 03 15:08:20 2003 Nanbor Wang <nanbor@cs.wustl.edu>
-
- * ciao/Assembly_Impl.*:
- * tools/Assembly_Deployer/Assembly_Impl.*: Moved the Assembly
- implementaiton files to the tools/Assembly_Deployer/ directory.
-
- * ciao/CCM_Core.mpc:
- * ciao/CIAO_Server.dsp: Removed Assembly_Impl.*.
-
-Thu Apr 03 13:11:49 2003 Nanbor Wang <nanbor@cs.wustl.edu>
-
- * tools/XML_Helpers/Assembly_Spec.h:
- * tools/XML_Helpers/Assembly_Handlers.h:
- * tools/XML_Helpers/Assembly_Handlers.cpp: Added support for parsing
- component and home registering info. Otherwise, it'd be hard to
- use a composed application.
-
-Wed Apr 02 17:08:00 2003 Nanbor Wang <nanbor@cs.wustl.edu>
-
- * tools/XML_Helpers/Assembly_Handlers.cpp:
- * tools/XML_Helpers/Assembly_Handlers.h:
- * tools/XML_Helpers/Assembly_Handlers.inl:
- * tools/XML_Helpers/Assembly_Spec.cpp:
- * tools/XML_Helpers/Assembly_Spec.h:
- * tools/XML_Helpers/Assembly_Spec.inl:
- * tools/XML_Helpers/Helper_Test.dsp: Added implementations for
- handling componentassembly XML documents and building the
- assembly specification information. These handlers currently
- process only "crucial" information needed to get a system up and
- running, i.e., they do not yet extract all types of information
- in a componentassembly document.
-
- Also important is that all XML handlers in CIAO assume all XML
- documents they process are valid and well-formed. ACEXML
- currently does not validate XML document yet. Therefore, you
- need to validate the XML documents using other XML parser (such
- as msxml) shall CIAO's assembly parsing behave strangely as the
- handlers assume a validator has already taken up most of the
- checking responsibility.
-
- * tools/XML_Helpers/Softpkg_Handlers.cpp:
- * tools/XML_Helpers/Softpkg_Handlers.h:
- * tools/XML_Helpers/Softpkg_Handlers.inl:
- * tools/XML_Helpers/XML_Utils.cpp:
- * tools/XML_Helpers/XML_Utils.h: Added a new
- parse_componentassembly utility function and moved some of the
- helper functions out of Softpkg_Handlers.
-
- * tools/XML_Helpers/main.cpp:
-
- * bin/generate_component_mpc.pl: Added dependent library to the
- list of libraries client program links to.
-
- * docs/XML/componentassembly.dtd: Fixed a typo in DTD definition.
-
- * examples/handcrafted/Display/HUDisplay.cad: Added a
-
- * examples/handcrafted/Display/NavDisplay/NavDisplay.mpc:
- * examples/handcrafted/Display/NavDisplay/client.cpp:
- * examples/handcrafted/Display/NavDisplay/run_test.pl: Added a
- client program to test the component.
-
- * examples/handcrafted/Display/NavDisplayGUI_exec/AddNavUnitCmd.cpp:
- * examples/handcrafted/Display/NavDisplayGUI_exec/AddNavUnitCmd.h:
- * examples/handcrafted/Display/NavDisplayGUI_exec/Command.h:
- * examples/handcrafted/Display/NavDisplayGUI_exec/DetailView.cpp:
- * examples/handcrafted/Display/NavDisplayGUI_exec/DetailView.h:
- * examples/handcrafted/Display/NavDisplayGUI_exec/MapView.cpp:
- * examples/handcrafted/Display/NavDisplayGUI_exec/MapView.h:
- * examples/handcrafted/Display/NavDisplayGUI_exec/NavDisplayEIC.cpp:
- * examples/handcrafted/Display/NavDisplayGUI_exec/NavDisplayGUI.csd:
- * examples/handcrafted/Display/NavDisplayGUI_exec/NavDisplayGUI.mpc:
- * examples/handcrafted/Display/NavDisplayGUI_exec/NavDisplayGUI.ssd:
- * examples/handcrafted/Display/NavDisplayGUI_exec/NavDisplayGUI_exec.cpp:
- * examples/handcrafted/Display/NavDisplayGUI_exec/NavDisplayGUI_exec.h:
- * examples/handcrafted/Display/NavDisplayGUI_exec/NavUnit.cpp:
- * examples/handcrafted/Display/NavDisplayGUI_exec/NavUnit.h:
- * examples/handcrafted/Display/NavDisplayGUI_exec/NodeItem.cpp:
- * examples/handcrafted/Display/NavDisplayGUI_exec/NodeItem.h:
- * examples/handcrafted/Display/NavDisplayGUI_exec/QuitCmd.cpp:
- * examples/handcrafted/Display/NavDisplayGUI_exec/QuitCmd.h:
- * examples/handcrafted/Display/NavDisplayGUI_exec/README:
- * examples/handcrafted/Display/NavDisplayGUI_exec/RootPanel.cpp:
- * examples/handcrafted/Display/NavDisplayGUI_exec/RootPanel.h:
- * examples/handcrafted/Display/NavDisplayGUI_exec/UpdatePositionCmd.cpp:
- * examples/handcrafted/Display/NavDisplayGUI_exec/UpdatePositionCmd.h:
- * examples/handcrafted/Display/NavDisplayGUI_exec/Worker.cpp:
- * examples/handcrafted/Display/NavDisplayGUI_exec/Worker.h:
- * examples/handcrafted/Display/NavDisplayGUI_exec/moc_DetailView.cpp:
- * examples/handcrafted/Display/NavDisplayGUI_exec/moc_MapView.cpp:
- * examples/handcrafted/Display/NavDisplayGUI_exec/moc_NodeItem.cpp:
- * examples/handcrafted/Display/NavDisplayGUI_exec/moc_RootPanel.cpp:
- * examples/handcrafted/Display/NavDisplayGUI_exec/run_test.pl:
- * examples/handcrafted/Display/NavDisplayGUI_exec/trolltech.gif:
- * examples/handcrafted/Display/NavDisplayGUI_exec/worldmap1.gif:
- Added a Qt GUI based component to showcase how we can
- reconfigure a system using different component easily. Thanks
- to Andrey Nechypurenko <andreynech@mchp.siemens.com> for
- contributing the implementation.
-
- * examples/handcrafted/Display/CIAO_Installation_Data.ini: Added
- deployment information for the new GUI NavDisplay component
- implementation.
-
- * examples/handcrafted/Hello/client.dsp:
- * examples/handcrafted/Hello/hello_executors.dsp:
- * examples/handcrafted/Hello/hello_servants.dsp:
- * examples/handcrafted/Hello/hello_stub.dsp: Hmm, I probably
- checked in the MPC/MWC generated project accidentally. :)
-
-Mon Mar 24 16:17:21 2003 Nanbor Wang <nanbor@cs.wustl.edu>
-
- * examples/handcrafted/Display/GPS/GPS_svnt.cpp:
- * examples/handcrafted/Display/NavDisplay/NavDisplay_svnt.cpp:
- Added implementation for servant factory methods. Thanks to
- Andrey Nechypurenko <andreynech@yahoo.com> for reporting this.
-
-Fri Mar 21 15:51:57 2003 Nanbor Wang <nanbor@cs.wustl.edu>
-
- * docs/new_components.html: Revised naming convention for
- user-defined component executor impl IDL.
-
- * bin/generate_component_mpc.pl: Added an option for adding
- user-defined component executor impl IDL automatically,
- according the the naming convention. Fixed the dependencies to
- "dependent" libraries.
-
- * examples/handcrafted/Display/RateGen/RateGen.csd:
- * examples/handcrafted/Display/RateGen/RateGen.ssd: Simplified the
- XML descriptors.
-
- * examples/handcrafted/Display/RateGen/RateGen.mpc:
- * examples/handcrafted/Display/RateGen/RateGenEI.idl:
- * examples/handcrafted/Display/RateGen/RateGen_exec.h: Fixed
- dependencies and naming convention.
-
- * examples/handcrafted/Display/GPS/GPS.csd:
- * examples/handcrafted/Display/GPS/GPS.mpc:
- * examples/handcrafted/Display/GPS/GPS.ssd:
- * examples/handcrafted/Display/GPS/GPSEI.idl:
- * examples/handcrafted/Display/GPS/GPS_exec.cpp:
- * examples/handcrafted/Display/GPS/GPS_exec.h:
-
- * examples/handcrafted/Display/NavDisplay/NavDisplay.csd:
- * examples/handcrafted/Display/NavDisplay/NavDisplay.mpc:
- * examples/handcrafted/Display/NavDisplay/NavDisplay.ssd:
- * examples/handcrafted/Display/NavDisplay/NavDisplayEI.idl:
- * examples/handcrafted/Display/NavDisplay/NavDisplay_exec.cpp:
- * examples/handcrafted/Display/NavDisplay/NavDisplay_exec.h:
-
- * examples/handcrafted/Display/CIAO_Installation_Data.ini: Added
- component implementaions for GPS and NavDisplay.
-
-Thu Mar 20 21:50:07 2003 Nanbor Wang <nanbor@cs.wustl.edu>
-
- * ciao/ComponentInstallation_Impl.cpp: Added a more comprehensive
- error printout.
-
- * docs/index.html: Fixed a broken link.
-
- * docs/templates/CIAO_Glue_Session_Template.cpp:
- * docs/templates/CIAO_Glue_Session_Template.h: Added the servant
- factory entry point function that I missed.
-
- * examples/handcrafted/Display/RateGen/RateGen_svnt.cpp:
- * examples/handcrafted/Display/RateGen/RateGen_svnt.h: Fixed up
- the servant DLL entry point.
-
- * examples/handcrafted/Display/RateGen/RateGen.mpc:
- * examples/handcrafted/Display/RateGen/RateGen_comp.idl:
- * examples/handcrafted/Display/RateGen/RateGen_exec.cpp:
- * examples/handcrafted/Display/RateGen/RateGen_exec.h: Added the
- actual implementation for component executor.
-
- * examples/handcrafted/Display/CIAO_Installation_Data.ini: Added
- this deployment datafile. This file will contain information
- describing all the components used in this example.
-
- * examples/handcrafted/Display/RateGen/RateGen.csd:
- * examples/handcrafted/Display/RateGen/RateGen.ssd: Added XML
- component descriptors.
-
- * examples/handcrafted/Display/RateGen/client.cpp: Added a test
- client program.
-
- * examples/handcrafted/Display/RateGen/run_test.pl: Added a test
- script to test out this single component.
-
- * tools/ComponentServer/ComponentServer_test_client.cpp: Changed
- the client program to debug RateGen component. We need to make
- this test client more robust so we can use it to debug different
- component implementations more easily.
-
-Tue Mar 18 16:36:07 2003 Nanbor Wang <nanbor@cs.wustl.edu>
-
- * bin/generate_component_mpc.pl:
- * examples/handcrafted/Display/HUDisplay.mpc:
- * examples/handcrafted/Display/GPS/GPS.mpc:
- * examples/handcrafted/Display/NavDisplay/NavDisplay.mpc:
- * examples/handcrafted/Display/RateGen/RateGen.mpc: Updated the
- script and regenerated mpc file to record the original options
- used to generate the MPC files.
-
- * examples/handcrafted/Display/NOTE: Added more info on how to
- generate Makefiles/Projects for this example.
-
- * examples/handcrafted/Display/RateGen/RateGen.idl: Fixed a typo.
-
- * examples/handcrafted/Display/RateGen/RateGen_Impl.idl:
- * examples/handcrafted/Display/RateGen/RateGen_exec.cpp:
- * examples/handcrafted/Display/RateGen/RateGen_exec.h: Added the
- actual component and home implementations. This particular
- component implementation shows how to suppoort SessionComponent
- interface in a component implementation (you will need to do
- that for any non-trivial component implementations that require
- to access component-specific context.)
-
-Tue Mar 18 12:03:29 2003 Nanbor Wang <nanbor@cs.wustl.edu>
-
- * examples/handcrafted/Hello/hello_servants.cpp:
- * examples/handcrafted/Hello/hello_servants.h: Renamed various
- "_ciao_deactivate*" operations to "ciao_passivate*" to be more
- consistent with the CC* opertions.
-
- * docs/templates/CIAO_Glue_Session_Template.cpp:
- * docs/templates/CIAO_Glue_Session_Template.h:
- * docs/templates/CIAO_Glue_Session_Template.inl:
- * examples/handcrafted/Display/GPS/GPS_svnt.cpp:
- * examples/handcrafted/Display/GPS/GPS_svnt.h:
- * examples/handcrafted/Display/GPS/GPS_svnt.inl:
- * examples/handcrafted/Display/NavDisplay/NavDisplay_svnt.cpp:
- * examples/handcrafted/Display/NavDisplay/NavDisplay_svnt.h:
- * examples/handcrafted/Display/NavDisplay/NavDisplay_svnt.inl:
- * examples/handcrafted/Display/RateGen/RateGen_svnt.cpp:
- * examples/handcrafted/Display/RateGen/RateGen_svnt.h:
- * examples/handcrafted/Display/RateGen/RateGen_svnt.inl:
- Propagated the SessionComponent opertion support to CIDL
- templates and the multiple component example "generated" files.
-
-Mon Mar 17 23:10:47 2003 Nanbor Wang <nanbor@cs.wustl.edu>
-
- * ciao/Container_Base.cpp:
- * ciao/Container_Base.h:
- * examples/handcrafted/Hello/hello_servants.cpp:
- * examples/handcrafted/Hello/hello_servants.h: Added support for
- SessionComponent specific operations,
- ccm_{activate,passivate,remove}. These changes still need to be
- propagated to the CIDL templates.
-
- We also need to review how Deployment::Container and CCMHome
- manage the lifecyles of homes, components, and facet servants.
-
-Sun Mar 16 21:57:10 2003 Nanbor Wang <nanbor@cs.wustl.edu>
-
- * docs/templates/CIAO_Glue_Session_Template.h:
- * docs/templates/CIAO_Glue_Session_Template.inl:
- * examples/handcrafted/Display/GPS/GPS_svnt.h:
- * examples/handcrafted/Display/GPS/GPS_svnt.inl:
- * examples/handcrafted/Display/NavDisplay/NavDisplay_svnt.h:
- * examples/handcrafted/Display/NavDisplay/NavDisplay_svnt.inl:
- * examples/handcrafted/Display/RateGen/RateGen_svnt.cpp:
- * examples/handcrafted/Display/RateGen/RateGen_svnt.h:
- * examples/handcrafted/Display/RateGen/RateGen_svnt.inl: Added
- code to support SessionComponent::set_session_context operation
- and make sure the Context objects also inherit from
- TAO_Local_RefCounted_Object.
-
- * examples/handcrafted/Hello/helloE.idl:
- * examples/handcrafted/Hello/hello_executors.h:
- * examples/handcrafted/Hello/hello_servants.cpp:
- * examples/handcrafted/Hello/hello_servants.h: Changed to implement
- component specific context as a SessionContext, plus the
- aforementioned changes.
-
-Sun Mar 16 11:43:20 2003 Nanbor Wang <nanbor@cs.wustl.edu>
-
- * docs/ConfigValues.html:
- * docs/index.html: Updated the main document entry page. It is
- grossly outdated.
-
- * tools/ComponentServer/ComponentServer.mpc:
- * tools/Daemon/Daemon.mpc:
- * tools/ServerActivator/ServerActivator.mpc:
- * tools/XML_Helpers/XMLHelpers.mpc: Added more mpc files.
-
-Sat Mar 15 11:43:34 2003 Nanbor Wang <nanbor@cs.wustl.edu>
-
- * ciao/Makefile:
- * ciao/Makefile.client:
- * ciao/Makefile.container:
- * ciao/Makefile.server: Removed Makefiles. I depend on MPC files
- exclusively at the moment.
-
- * ciao/Assembly_Impl.cpp:
- * ciao/Assembly_Impl.h:
- * ciao/CCM_Core.mpc:
- * ciao/Container_Base.cpp:
- * ciao/Container_Base.h:
- * ciao/Container_Impl.h:
- * ciao/Daemon_Impl.h:
- * ciao/Object_Set_T.cpp:
- * ciao/ServerActivator_Impl.h: Fixed Linux build errors. Some
- warnings are not fixed due to incomplete implementations and I
- want to make sure they got addressed in some future point.
-
-Fri Mar 14 23:19:52 2003 Nanbor Wang <nanbor@cs.wustl.edu>
-
- * ciao/CCM_Core.mpc: Updated the core MPC file to reflect recent
- added files.
-
-Fri Mar 14 16:08:22 2003 Nanbor Wang <nanbor@cs.wustl.edu>
-
- * docs/todo.html: Recorded a compilation error in the generated
- code that I commented out for later "study."
-
- * examples/handcrafted/Display/NavDisplay/NavDisplay.idl: Fixed a
- typo.
-
- * examples/handcrafted/Display/NavDisplay/NavDisplayE.idl:
- * examples/handcrafted/Display/NavDisplay/NavDisplay_svnt.cpp:
- * examples/handcrafted/Display/NavDisplay/NavDisplay_svnt.h:
- * examples/handcrafted/Display/NavDisplay/NavDisplay_svnt.inl:
- Added new "generated" code.
-
- * docs/templates/CIAO_Glue_Session_Template.cpp:
- * docs/templates/CIAO_Glue_Session_Template.h:
- * docs/templates/CIAO_Glue_Session_Template.inl:
- * docs/templates/Executor.idl: Updated templates based on the code
- they generated.
-
-Thu Mar 13 20:11:49 2003 Nanbor Wang <nanbor@cs.wustl.edu>
-
- * examples/handcrafted/Display/NavDisplay/NavDisplay.idl:
- * examples/handcrafted/Display/GPS/GPS.idl:
- * examples/handcrafted/Display/Configuration-0.png: Updated the
- port names so they make more sense in the context. Thanks to
- Dave Sharp and Wendy Rolls for the suggestions.
-
- * examples/handcrafted/Display/RateGen/RateGen_svnt.h: Added the
- missing factory entry point for the servant home.
-
- * examples/handcrafted/Display/GPS/GPSE.idl:
- * examples/handcrafted/Display/GPS/GPS_svnt.cpp:
- * examples/handcrafted/Display/GPS/GPS_svnt.h:
- * examples/handcrafted/Display/GPS/GPS_svnt.inl: Added new
- "generated" code.
-
- * docs/templates/CIAO_Glue_Session_Template.cpp:
- * docs/templates/CIAO_Glue_Session_Template.h:
- * docs/templates/CIAO_Glue_Session_Template.inl:
- * docs/templates/Executor.idl: Updated templates based on the code
- they generated (manually. Did I mention how much fun it was to
- generate code manually?)
-
-Wed Mar 12 23:29:27 2003 Nanbor Wang <nanbor@cs.wustl.edu>
-
- * bin/generate_component_mpc.pl: Fixed an incomplete library
- expansion and added a flag to specify library path
- dependencies.
-
- * docs/releasenotes.html: Updated the status of single component
- deployment capability. I forgot to do that when it was done.
-
- * examples/handcrafted/Display/NOTE: Added directions on how to
- generate various mpc files.
-
- * examples/handcrafted/Display/GPS/GPS.mpc:
- * examples/handcrafted/Display/NavDisplay/NavDisplay.mpc:
- * examples/handcrafted/Display/RateGen/RateGen.mpc: Regenerated
- MPC files to fix incomplete dependent library names and to add
- library path dependencies.
-
- * examples/handcrafted/Display/HUDisplay.idl:
- * examples/handcrafted/Display/RateGen/RateGen.idl:
- * examples/handcrafted/Display/HUDisplayE.idl:
- * examples/handcrafted/Display/RateGen/RateGenE.idl: Moved the
- opmode interface definition from RateGen.idl back to
- HUDisplay.idl. This interface is a supported interface of
- RateGen but it should be viewed as a shared interface.
-
- * examples/handcrafted/Display/RateGen/RateGen_svnt.cpp:
- * examples/handcrafted/Display/RateGen/RateGen_svnt.h:
- * examples/handcrafted/Display/RateGen/RateGen_svnt.inl: Added
- more handcrafted servant glue code for RateGen component.
-
- * docs/templates/CIAO_Glue_Session_Template.cpp:
- * docs/templates/CIAO_Glue_Session_Template.h:
- * docs/templates/CIAO_Glue_Session_Template.inl:
- * docs/templates/Executor.idl: Updated and fixed CIDL template
- code based on results from using these templates manually.
-
-Wed Mar 12 00:03:56 2003 Nanbor Wang <nanbor@cs.wustl.edu>
-
- * examples/handcrafted/Display/HUDisplay_svnt.h:
- * examples/handcrafted/Display/HUDisplay_svnt.cpp: Added forgotten
- _get_component implementation.
-
-Tue Mar 11 22:47:06 2003 Nanbor Wang <nanbor@cs.wustl.edu>
-
- * examples/handcrafted/Display/HUDisplayE.idl: Removed redundant
- operations that have already been defined in the facet interface.
-
- * examples/handcrafted/Display/HUDisplay_svnt.cpp:
- * examples/handcrafted/Display/HUDisplay_svnt.h:
- * examples/handcrafted/Display/HUDisplay_svnt.inl: Added hand
- generated code based on the glue code template in
-
- docs/templates/
-
- * docs/templates/CIAO_Glue_Session_Template.cpp:
- * docs/templates/CIAO_Glue_Session_Template.h:
- * docs/templates/CIAO_Glue_Session_Template.inl: Updated template
- code based on results from hand generated code.
-
-Tue Mar 11 15:18:52 2003 Nanbor Wang <nanbor@cs.wustl.edu>
-
- * bin/generate_component_mpc.pl: Added this new to auto-generate
- the mpc files for a single component implementation. The mpc
- file generated by the script should work for most simple
- component implementation, without modification and can serve as
- a template for more complicated ones. This script also
- generates hints that can be fed back to a shell to create the
- necessary export definition files.
-
- * docs/todo.html: Added improvement items that can be done for
- generate_component_mpc.pl.
-
- * bin/gen_export_files.cmd: Removed. The new
- generate_component_mpc script provides more accurate hints on
- how to create export files.
-
-
- Renamed and reorganized all files in the following
- multi-component example according to the guideline I set in
- docs/new_component.html.
-
- * examples/handcrafted/Display/Display.mpc:
- * examples/handcrafted/Display/HUD_skel_export.h:
- * examples/handcrafted/Display/HUD_stub_export.h:
- * examples/handcrafted/Display/GPS/GPS_skel_export.h:
- * examples/handcrafted/Display/NavDisplay/NavDisplay_skel_export.h:
- * examples/handcrafted/Display/RateGen/RateGen_skel_export.h:
- Removed.
-
- * examples/handcrafted/Display/HUDisplay.mpc:
- * examples/handcrafted/Display/HUDisplay_stub_export.h:
- * examples/handcrafted/Display/HUDisplay_svnt_export.h:
- * examples/handcrafted/Display/GPS/GPS_exec_export.h:
- * examples/handcrafted/Display/GPS/GPS_svnt_export.h:
- * examples/handcrafted/Display/NavDisplay/NavDisplay_exec_export.h:
- * examples/handcrafted/Display/NavDisplay/NavDisplay_svnt_export.h:
- * examples/handcrafted/Display/RateGen/RateGen_exec_export.h:
- * examples/handcrafted/Display/RateGen/RateGen_svnt_export.h:
- Modified.
-
- * examples/handcrafted/Display/HUDisplay.idl:
- * examples/handcrafted/Display/HUDisplayE.idl:
- * examples/handcrafted/Display/GPS/GPS.mpc:
- * examples/handcrafted/Display/GPS/GPS_stub_export.h:
- * examples/handcrafted/Display/NavDisplay/NavDisplay.mpc:
- * examples/handcrafted/Display/NavDisplay/NavDisplay_stub_export.h:
- * examples/handcrafted/Display/RateGen/RateGen.idl:
- * examples/handcrafted/Display/RateGen/RateGen.mpc:
- * examples/handcrafted/Display/RateGen/RateGen_stub_export.h:
- Added.
-
-Tue Mar 11 11:41:39 2003 Nanbor Wang <nanbor@cs.wustl.edu>
-
- * bin/generate_component_mpc.pl: Added a MPC file generater perl
- script for creating new MPC definitions for single component
- implementations.
-
-Sun Mar 09 14:38:59 2003 Nanbor Wang <nanbor@cs.wustl.edu>
-
- * docs/new_components.html: Added this new document to describe
- files involved in creating a new components.
-
- * docs/com-impl.html: Added a link to the new component
- implementation. document
-
- * docs/imgs/File-Gen-Existing.png:
- * docs/imgs/File-Gen-Future.png:
- * docs/imgs/File_Generation_Flow.vsd: Updated the tools/files
- collaboration diagram to reflect the latest plan.
-
- * examples/handcrafted/Hello/hello.mpc: Updated the MPC file to
- make sure it works properly. We need to figure out a way to
- auto-generate a template of this file.
-
-Thu Mar 06 20:29:42 2003 Nanbor Wang <nanbor@cs.wustl.edu>
-
- The following changes integrate the XML parsing of softpkg
- descriptors with the daemon management framework so we can now
- instantiate and test a single component implementation using
- its softpkg descriptor.
-
- * ciao/ComponentServer_Impl.cpp:
- * ciao/ComponentServer_Impl.h:
- * ciao/ComponentServer_Impl.inl: Added a cached
- ComponentInstallation reference so we can pass it to the
- containers this ComponentServer creates.
-
- * ciao/Container_Impl.cpp:
- * ciao/Container_Impl.h: Added an extra argument in init for
- taking in the ComponentInstallation reference. Also modified
- the install_home related mechanisms to use ComponentInstallation
- interface to acquire the actual implementation "locations".
-
- * tools/ServerActivator/ServerActivator_test_client.cpp:
- * tools/ComponentServer/ComponentServer_test_client.cpp: Changed
- to use UUID.
-
- * tools/XML_Helpers/Cascadable_DocHandler.h: Removed a redundant
- export decl.
-
- * tools/Daemon/DaemonController.dsp: Added files from the
- XML_Helpers directories for the added XML handling capability.
-
- * tools/Daemon/CIAO_Daemon.cpp:
- * tools/Daemon/Softpkg_Commands.cpp:
- * tools/Daemon/Softpkg_Commands.h: Added new commands to start and
- terminate ComponentServer for running one component home.
-
- * examples/handcrafted/Hello/CIAO_Installation_Data.ini:
- * examples/handcrafted/Hello/client.cpp:
- * examples/handcrafted/Hello/hello.ssd:
- * examples/handcrafted/Hello/run_test.pl: Changed and set up the
- test to start up a ComponentServer via Daemon.
-
-Wed Mar 05 21:43:44 2003 Nanbor Wang <nanbor@cs.wustl.edu>
-
- Moved all Daemon controller related classes into CIAO::Daemon_i
- namespace.
-
- * tools/Daemon/Softpkg_Commands.cpp:
- * tools/Daemon/Softpkg_Commands.h:
- * tools/Daemon/Softpkg_Commands.inl: Added two new "start_home"
- and "end_home" command for starting up and shutting down a
- ComponentServer for a single component home. Still need
- implementation.
-
- * tools/Daemon/DaemonController.cpp:
- * tools/Daemon/DaemonController.dsp:
-
- * tools/Daemon/controller_i.cpp:
- * tools/Daemon/controller_i.h:
- * tools/Daemon/controller_i.inl:
- * tools/Daemon/Daemon_Commands.cpp:
- * tools/Daemon/Daemon_Commands.h:
- * tools/Daemon/Daemon_Commands.inl: Moved most of the Daemon
- controlling commands into this file.
-
-Tue Mar 04 20:40:21 2003 Nanbor Wang <nanbor@cs.wustl.edu>
-
- * examples/handcrafted/Display/RateGen/RateGenE.idl: Fixed a typo.
- Thanks to Jeff Gray <gray@cis.uab.edu> for pointing it out.
-
-Thu Feb 27 22:15:48 2003 Nanbor Wang <nanbor@cs.wustl.edu>
-
- * ciao/ComponentServer_Impl.h: Fixed a cut-n-paste error in a comment.
-
- * ciao/ServerActivator_Impl.cpp:
- * ciao/ServerActivator_Impl.h: Changed to cache an IOR to
- the ComponentInstallation interface and pass the IOR with
- -ORBInitRef option to the ComponentServer. We will need it when
- installing a component home in the container.
-
- * examples/handcrafted/Hello/hello_servants.cpp:
- * examples/handcrafted/Hello/hello_servants.h: Removed inheriting
- the component specific context from the SessionContext local
- interface. This component example should be run as Service
- component, not Session component.
-
- * tools/ServerActivator/README:
- * tools/Daemon/CIAO_Daemon.cpp:
- * tools/ServerActivator/ServerActivator.cpp: Changed to propagate
- the ComponentInstallation somehow.
-
- * tools/ServerActivator/ServerActivator_test_client.cpp: Removed a
- redundant $Id$ tag.
-
-Sat Feb 22 23:45:52 2003 Nanbor Wang <nanbor@cs.wustl.edu>
-
- * docs/releasenotes.html:
- * docs/todo.html: Updated information regarding different
- component deployment schemes.
-
- * examples/handcrafted/Hello/hello.csd:
- * examples/handcrafted/Hello/hello.ssd: Fixed syntax errors.
-
- * tools/XML_Helpers/Softpkg_Handlers.cpp:
- * tools/XML_Helpers/Softpkg_Handlers.h:
- * tools/XML_Helpers/Softpkg_Handlers.inl:
- * tools/XML_Helpers/XML_Utils.cpp:
- * tools/XML_Helpers/XML_Utils.h:
- * tools/XML_Helpers/XML_Utils.inl: Added these new file to extract
- necessary information to install the component specified in a
- .csd (component softpkg descriptor) file. The
- Softpkg_Handlers.* contain the XML Handler(s) for parsing the
- csd document and XML_Utils.* contain the file Assembly tools can
- use to extract the needed info. Notice that the XML handler
- currently don't do a lot of validation.
-
- * tools/XML_Helpers/Cascadable_DocHandler.cpp:
- * tools/XML_Helpers/Cascadable_DocHandler.h:
- * tools/XML_Helpers/Cascadable_DocHandler.i: Added error handling
- functions and allows it to accept a Locator from the parser to
- show error location.
-
- * tools/XML_Helpers/Svcconf.dsp:
- * tools/XML_Helpers/Svcconf.dsw: Renamed these files to the
- following:
-
- * tools/XML_Helpers/XMLHelpers.dsp:
- * tools/XML_Helpers/Helper_Test.dsw:
- * tools/XML_Helpers/main.cpp: Added new files into the project
- file and changed the project and workspace name.
-
-
-Thu Feb 20 22:15:08 2003 Nanbor Wang <nanbor@cs.wustl.edu>
-
- Manually generated the following XML descriptors. These are the
- minimum to install a component. Currently, I just get the UUID
- using win32's UUIDGEN or GUIDGEN.
-
- * examples/handcrafted/Hello/hello.csd: Component softpkg descriptor.
-
- * examples/handcrafted/Hello/hello.ssd: CIAO's servant softpkg
- descriptor.
-
- * examples/handcrafted/Hello/hello.ccd: CORBA component descriptor.
-
-Wed Feb 19 13:30:19 2003 Boris Kolpackov <boris@isis-server.isis.vanderbilt.edu>
-
- * CIDLC/DesignNotes: Reorganized stuff a bit again and added some
- comments on Jeff's comments.
-
-Mon Feb 17 17:47:55 2003 Boris Kolpackov <boris@isis-server.isis.vanderbilt.edu>
-
- * CIDLC/DesignNotes: Reorganized stuff a bit and added some new
- ideas/notes.
-
-Sun Feb 16 21:30:42 2003 Nanbor Wang <nanbor@cs.wustl.edu>
-
- * docs/releasenotes.html: Updated release info with the following.
-
- * ciao/ComponentInstallation_Impl.cpp:
- * ciao/ComponentInstallation_Impl.h: Fixed a problem of empty
- persistent backing store file. I need to store the
- configuration data under a subsection (as oppose to the root
- section.)
-
- * ciao/CIAO_Server.dsp:
- * ciao/Daemon.idl:
- * ciao/Daemon_Impl.cpp:
- * ciao/Daemon_Impl.h:
- * ciao/Daemon_Impl.inl: Added a generic server process control
- interface that provides operations to query available service
- interfaces and to shutdown the server process.
-
- * tools/Daemon/CIAO_Daemon.cpp:
- * tools/Daemon/CIAO_Daemon.dsp:
- * tools/Daemon/CIAO_Installation_Data.ini:
- * tools/Daemon/Daemon.dsw:
- * tools/Daemon/README:
- * tools/Daemon/DaemonController.cpp:
- * tools/Daemon/DaemonController.dsp:
- * tools/Daemon/controller_i.cpp:
- * tools/Daemon/controller_i.h:
- * tools/Daemon/controller_i.inl: Added new per-host CIAO_Daemon
- implementaion which offer both ComponentInstallation interface
- which manages the local component implementation cache, and
- ServerActivator interface which the Assembly framework interacts
- with to spawn new ComponentServer processes. See the README
- file in this directory and releasenotes.html for more details.
-
- There's also a DaemonController tool which provides a command
- line interface to control the daemon process and to interact
- with ComponentInstallation and ServerActivation interfaces.
-
-Sat Feb 15 22:54:11 2003 Nanbor Wang <nanbor@cs.wustl.edu>
-
- * ciao/CIAO_Server.dsp:
- * ciao/ComponentInstallation_Impl.cpp:
- * ciao/ComponentInstallation_Impl.h:
- * ciao/ComponentInstallation_Impl.inl: Filled in the
- implementation for ComponentInstallation interface. We
- currently only provide a naive implemntation for this
- interface. It currently manages the pathnames to various
- component implementations so a Container can fetch a
- implementation from its UUID.
-
- * examples/handcrafted/Hello/hello_servants.dsp: Added CIAO_server
- to the list of link libraries. I need to move the base
- container implementation from the CIAO_Server library to
- CIAO_Container library.
-
-Fri Feb 14 23:15:39 2003 Nanbor Wang <nanbor@cs.wustl.edu>
-
- * docs/todo.html: Added info on why the Assembly tools should
- be responsible of the act of home registration.
-
- * ciao/Container_Impl.cpp:
- * ciao/ServerActivator_Impl.cpp:
- * ciao/ComponentServer_Impl.cpp: Changed the use of ACE_NEW_RETURN
- to ACE_NEW_THROW_EX.
-
- * ciao/ComponentServer_Impl.h: Cosmetic changes.
-
- * examples/handcrafted/Hello/hello_servants.cpp:
- * examples/handcrafted/Hello/hello_servants.h: Fixed <unsubscribe>
- signature based on RTF 1.1.
-
- * tools/ComponentServer/ComponentServer.cpp: Added comments
- explaining why we are not init'ing the component server right
- now.
-
- * tools/ServerActivator/README:
- * examples/handcrafted/Hello/client.cpp:
- * tools/ServerActivator/ServerActivator_test_client.cpp: Forced in
- hack to test out installing the HelloWorldHome using the new
- ServerActivator -> ComponentServer -> Container interfaces.
-
- * tools/Simple_Component_Server/Simple_Component_Server.cpp: Fix
-
-Fri Feb 14 17:10:50 2003 Nanbor Wang <nanbor@cs.wustl.edu>
-
- * docs/ConfigValues.html: Updated more supported ConfigValues types.
-
- * docs/releasenotes.html:
- * docs/todo.html:
-
- * ciao/Client_init.cpp:
- * ciao/Server_init.cpp:
- * ciao/Client_init.h:
- * ciao/Server_init.h: Removed "ciao/" from the include paths. We
- now always include ciao core files as they are specified in the
- include path directly.
-
- * ciao/CIAO_Server.dsp:
- * ciao/CIAO_Servers.idl:
- * ciao/ComponentServer_Impl.cpp:
- * ciao/ComponentServer_Impl.h:
- * ciao/ComponentServer_Impl.inl:
- * ciao/Container_Base.cpp:
- * ciao/Container_Base.h:
- * ciao/Container_Impl.cpp:
- * ciao/Container_Impl.h:
- * ciao/Container_Impl.inl:
- * ciao/Object_Set_T.cpp:
- * ciao/Object_Set_T.h:
- * ciao/Object_Set_T.inl:
- * ciao/ServerActivator_Impl.cpp:
- * ciao/ServerActivator_Impl.h:
- * ciao/ServerActivator_Impl.inl: Filled in more implementations.
-
- * tools/ServerActivator/README:
- * tools/ServerActivator/ServerActivator.cpp:
- * tools/ServerActivator/ServerActivator.dsp:
- * tools/ServerActivator/ServerActivator.dsw:
- * tools/ServerActivator/ServerActivator_test_client.cpp:
- * tools/ServerActivator/ServerActivator_test_client.dsp: Added a
- ServerActivator implementation.
-
- * tools/ComponentServer/ComponentServer.cpp:
- * tools/ComponentServer/ComponentServer.dsp:
- * tools/ComponentServer/ComponentServer.dsw:
- * tools/ComponentServer/ComponentServer_test_client.cpp:
- * tools/ComponentServer/ComponentServer_test_client.dsp:
- * tools/ComponentServer/README: Added a more comprehensive
- ComponentServer implementation.
-
-Sun Feb 09 20:39:05 2003 Nanbor Wang <nanbor@cs.wustl.edu>
-
- * docs/todo.html: Added more todo items as we go along. :)
-
- * ciao/Component_Base.idl:
- * ciao/CCM_Deployment.idl: Changed the create method in
- ::Components::Deployment::AssemblyFactory to create_assembly per
- CCM RTF 1.1.
-
- * ciao/Assembly_Impl.cpp:
- * ciao/Assembly_Impl.h:
- * ciao/Assembly_Impl.inl: CCM RTF 1.1 changes. Also added other
- test code in the file and explained how to create an Assembly
- object.
-
- * ciao/CIAO_Core.mpc:
- * ciao/CIAO_Client.dsp:
- * ciao/CIAO_Server.dsp:
- * ciao/CIAO_Value.idl: Added a CIAO internal cookie valuetype so
- we can downcast the incoming ::Components::Cookie back to CIAO's
- internal implementation type CIAO::Cookie easily. The original
- "brute force cast" didn't work and CIAO::Cookie also provides a
- way to fish out the internal octetseq we need internally.
-
- * ciao/Cookies.cpp:
- * ciao/Cookies.h:
- * ciao/Cookies.inl: Changed to inherit the internal cookie
- implementation from OBV_CIAO::Cookie instead of
- OBV_Components::Cookie. Also changed the extract method to be
- static.
-
- * ciao/Client_init.cpp: Added a new valuefactory to create
- ::Components::Cookie valuetype when receiving CIAO::Cookie from
- the server. This should really be handled by supporting
- truncatable valuetype in TAO.
-
- * docs/templates/CIAO_Glue_Session_Template.inl: Applied some of
- the bug fixes from using Active Map and Cookie. These template
- files need to be reviewed further.
-
- * tests/temp/README:
- * tests/temp/assembly/README:
- * tests/temp/assembly/assembly.dsw:
- * tests/temp/assembly/client.cpp:
- * tests/temp/assembly/client.dsp:
- * tests/temp/assembly/control.idl:
- * tests/temp/assembly/control.mpc:
- * tests/temp/assembly/run_test.pl:
- * tests/temp/assembly/server.cpp:
- * tests/temp/assembly/server.dsp: Added this test to make sure the
- demonstrate how to use AssemblyFactory and Assembly interface,
- and the Assembly's are being managed properly. More
- importantly, I used this test to make sure the internal
- implementation for Cookie and Active_Object_Map are working
- correctly.
-
- * tools/XML_Helpers/Svcconf.dsp:
- * tools/XML_Helpers/Svcconf.dsw:
- * tools/XML_Helpers/Svcconf_Handler.cpp:
- * tools/XML_Helpers/Svcconf_Handler.h:
- * tools/XML_Helpers/Svcconf_Handler.i:
- * tools/XML_Helpers/main.cpp:
- * tools/XML_Helpers/svc.conf.xml: Added an example to demonstrate
- how to write a subclass of Cascadable_DocHandler and how to use
- the Skip_DocHandler. Just so I won't forget how to use them.
-
-Sat Feb 08 20:45:20 2003 Nanbor Wang <nanbor@cs.wustl.edu>
-
- * ciao/*: WiP intermediate checkins.
-
- * ciao/Object_Set_T.h:
- * ciao/Object_Set_T.cpp (object_in_set): Added a new method to
- check if an object is already in the set or not.
-
-Fri Feb 07 23:35:35 2003 Nanbor Wang <nanbor@cs.wustl.edu>
-
- * ciao/Object_Set_T.h:
- * ciao/Object_Set_T.i:
- * ciao/Object_Set_T.cpp: Added a naive implementation of an object
- reference set. It is naive because it simply keeps object
- references in an objref_var array without checking for
- duplication. More importantly, it takes O(n) to to look for an
- object reference and return it. What we really need is a
- thread-safe hash_set<> like class here. Since this is mostly
- used only during setup/assemble time for a CIAO application,
- i.e., not on critical path, this class serves as a place holder
- for later, more efficient implementation.
-
- This new class is needed to support ServerActivator,
- ComponentServer, and Container interface in
- Components::Deployment module.
-
- * docs/ConfigVAlues.html: Added this new document page to record
- what configuration values can be used to initialize
- ComponentServer's and Container's.
-
- * docs/todo.html: Documented more future todo tasks and ideas.
-
-Tue Feb 04 23:10:56 2003 Nanbor Wang <nanbor@cs.wustl.edu>
-
- * docs/todo.html: Added a new item descirbing things that need to
- be done for component/home configuration using CCM's XML
- property files.
-
- * tools/XML_Helpers/Handler-Interaction.png:
- * tools/XML_Helpers/Handler-Interaction.vsd:
- * tools/XML_Helpers/README: Files that document how to use
- Cascadable_DocHandler and interactions among handlers of
- different layers.
-
- * tools/XML_Helpers/Cascadable_DocHandler.cpp:
- * tools/XML_Helpers/Cascadable_DocHandler.h:
- * tools/XML_Helpers/Cascadable_DocHandler.i: A
- ACEXML_DefaultHandler subclass which can be easily cascaded
- together to handle hierarchical XML document structure. There
- is also a Skip_DocHandler class which subclasses from
- Cascadable_DocHandler and can be used to skip over some certain
- XML tags completely. These helper classes should probably be
- collected under ACEXML in the future.
-
-Sun Feb 02 21:05:39 2003 Nanbor Wang <nanbor@cs.wustl.edu>
-
- * ciao/Cookies.cpp (insert): Fixed a warning.
-
- * ciao/CCM_Base.idl: Changed to include <orb.idl> instead of <corba.pidl>.
-
- * ciao/CCM_Event.idl: Fixed a typo I put in last.
-
-Sun Feb 02 15:23:26 2003 Nanbor Wang <nanbor@cs.wustl.edu>
-
- * docs/XML/componentassembly.dtd:
- * docs/XML/corbacomponent.dtd:
- * docs/XML/properties.dtd:
- * docs/XML/softpkg.dtd: Updated these files with the ones from my
- web page. They are now in-sync with the latest RTF.
-
-Wed Jan 29 13:27:01 2003 Jeff Parsons <j.parsons@vanderbilt.edu>
-
- * CIDLC/DesignNotes:
-
- Added a list of items from the IDL compiler that need redesign and
- can perhaps be done incrementally in the CIDL compiler, and
- eventually integrated back into the IDL compiler.
-
-Wed Jan 22 16:05:18 2003 Boris S Kolpackov <boris@isis-server.isis.vanderbilt.edu>
-
- * CIDLC/DesignNotes: added some more ideas.
-
-Wed Jan 22 13:54:12 2003 Boris S Kolpackov <boris@isis-server.isis.vanderbilt.edu>
-
- * CIDLC/DesignNotes: added this file to capture and document CIDL
- complier design ideas/decisions.
-
-Tue Jan 21 16:20:44 2003 Boris S Kolpackov <boris@isis-server.isis.vanderbilt.edu>
-
- * tools/CIDLC:
- * CIDLC: moved CIDLC directory one level up.
-
-Mon Jan 13 15:23:09 2003 Nanbor Wang <nanbor@cs.wustl.edu>
-
- * docs/templates/Executor.idl: Added meta-code for user-defined
- oeprations, factory operations, and finder operations.
-
- * docs/templates/CIAO_Glue_Session_Template.cpp:
- * docs/templates/CIAO_Glue_Session_Template.h:
- * docs/templates/CIAO_Glue_Session_Template.inl: Filled in the
- rest of the CIDL generated Servant Glue code templates.
-
-Mon Jan 13 11:18:37 2003 Nanbor Wang <nanbor@cs.wustl.edu>
-
- * ciao/Component_Base.idl:
- * ciao/CCM_Base.idl: Based on Components 1.1 RTF
- Events::unsubscribe operations now return the unsubscribed
- consumber object reference instead of void.
-
- * docs/templates/CIAO_Glue_Session_Template.cpp:
- * docs/templates/CIAO_Glue_Session_Template.h:
- * docs/templates/CIAO_Glue_Session_Template.inl: Filled in most of
- the operations for component servant. Only opeations left
- unimplemented include Events::get_*_publishers which I will
- implement in the *_Context class later.
-
- There are several other oeprations that throw NO_IMPLEMENT
- exception or are no-op currently. Missing them probably is okay
- for now. Next up, Home Servant template.
-
-Mon Jan 13 00:27:03 2003 Nanbor Wang <nanbor@cs.wustl.edu>
-
- * docs/templates/CIAO_Glue_Session_Template.cpp:
- * docs/templates/CIAO_Glue_Session_Template.h:
- * docs/templates/CIAO_Glue_Session_Template.inl: Filled in a great
- more generated code. This is almost done, finally.
-
- * docs/templates/CIAO_Glue_Session_Template.cpp:
- * docs/templates/CIAO_Glue_Session_Template.h:
- * docs/templates/CIAO_Glue_Session_Template.inl:
- * docs/templates/Executor.idl: Changed to lead template comments
- with '##' instead of # to diffentiate them from preprocessor
- directives that we should generate.
-
- * ciao/HomeRegistrar_i.inl:
- * ciao/HomeRegistrar_i.cpp: Fixed incorrect uses of exception macros.
-
- * ciao/Cookies.h:
- * ciao/Cookies.cpp: Added a new insert method which "encode" an
- Active_Objref_Map key into the Cookie.
-
- * ciao/Container_Base.inl:
- * ciao/Container_Base.cpp:
- * ciao/Container_Base.h: Added a new get_objref method which
- basically allow us to get the component reference using POA's
- servant_to_reference operation. Added a new inline file and
- fixed some incorrect uses of exception macros.
-
- * ciao/Component_Base.idl:
- * ciao/CCM_Base.idl: Based on Components 1.1 RTF
- Receptacles::disconnect operations now return the disconnected
- object reference instead of void.
-
-Fri Jan 10 12:03:00 2003 Boris S Kolpackov <boris@isis-server.isis.vanderbilt.edu>
-
- * tools/CCIDL:
- * tools/CIDLC:
- * tools/CIDLC/README: Renamed CCIDL to CIDLC. Added some
- explanations about naming convention choosen for CIDL compiler.
-
-Thu Jan 09 00:57:37 2003 Nanbor Wang <nanbor@cs.wustl.edu>
-
- * docs/templates/cidl_template.cidl: Added an example CIDL file.
-
- * docs/templates/CIAO_Glue_Session_Template.h:
- * docs/templates/CIAO_Glue_Session_Template.inl:
- * docs/templates/CIAO_Glue_Session_Template.cpp: Added more
- implementation code.
-
-Wed Jan 08 16:48:28 2003 Nanbor Wang <nanbor@cs.wustl.edu>
-
- * docs/templates/CIAO_Glue_Session_Template.h: Added the complete
- list of operations that needs to be supported. Next up, the
- implementation templates.
-
- * ciao/Active_Objref_Map.cpp:
- * ciao/Active_Objref_Map.h: Defined a typedef called
- CIAO::Active_Objref_Map for managing CORBA::Object_var's using
- the ACE_Active_Map_Manager and instantiate the template.
-
- * ciao/Cookies.cpp:
- * ciao/Cookies.h: Added insertion/extraction of
- ACE_Active_Map_Manager_Key operations.
-
-Tue Jan 07 23:28:28 2003 Nanbor Wang <nanbor@cs.wustl.edu>
-
- * ciao/CIAO_common.h: Added a new file to collect common CIAO
- macros.
-
- * ciao/CIAO_Component_i.cpp:
- * ciao/CIAO_Component_i.h: Removed.
- * ciao/Client_init.cpp:
- * ciao/Client_init.h: The old CIAO_client_init in
- CIAO_Component_i is now called Client_init under CIAO namespace.
- This function initlializes the value factories for client side ORB.
-
- * ciao/Server_init.cpp:
- * ciao/Server_init.h: Added new function Server_init under CIAO
- namespace to initialize server side value factories for server
- side ORB.
-
- * ciao/Cookies.cpp:
- * ciao/Cookies.h:
- * ciao/Cookies.inl: Added server-side implementation of
- Components::Cookie called CIAO::Map_Key_Cookie. This
- implementation is only used within the containers (i.e., server
- side). Client doesn't need to know how to interpret a Cookie.
-
- * ciao/Container_Base.h:
- * ciao/HomeRegistrar_i.h: Fixed various ACE-guideline conformity
- problems.
-
- * ciao/CCM_Core.mpc:
- * ciao/CIAO_Client.dsp:
- * ciao/CIAO_Container.dsp:
- * ciao/CIAO_Server.dsp:
- * ciao/Makefile.client:
- * ciao/Makefile.container:
- * ciao/Makefile.server: Updated various makefiles/projects.
-
-Tue Jan 07 07:48:02 2003 Nanbor Wang <nanbor@cs.wustl.edu>
-
- * ciao/Container_Base.cpp (install_servant): Changed to decrease
- the refcount of servant by one to make sure servants get
- "released" properly.
-
-Fri Jan 03 11:27:12 2003 Nanbor Wang <nanbor@cs.wustl.edu>
-
- * docs/templates/Executor.idl: This pseudo-meta IDL template file
- summarizes the standard executor mapping and serves as a
- template for CCIDL compiler.
-
-Sun Dec 22 23:12:49 2002 Nanbor Wang <nanbor@cs.wustl.edu>
-
- * examples/handcrafted/Display/RateGen/RateGen.idl:
- * examples/handcrafted/Display/GPS/GPS.idl:
- * examples/handcrafted/Display/NavDisplay/NavDisplay.idl:
- * examples/handcrafted/Display/HUDisplay.idl:
- * examples/handcrafted/Display/Display.mpc: Added more files for
- this multi-component example.
-
- The followings should go to the ChangeLog under $(ACE_ROOT)
-
- * bin/MakeProjectCreator/configs/ciao_client.mpc:
- * bin/MakeProjectCreator/configs/ciao_component.mpc:
- * bin/MakeProjectCreator/configs/ciao_server.mpc: Added libpaths
- defintions.
-
-Sat Dec 21 15:09:55 2002 Nanbor Wang <nanbor@cs.wustl.edu>
-
- * tools/Simple_Component_Server/Simple_Component_Server.dsp:
- * examples/handcrafted/Hello/run_test.pl: Changed to generate
- Simple_Component_Server executable in the project directory.
-
- * examples/handcrafted/Hello/hello.mpc:
- * ciao/CCM_Core.mpc:
- * tools/Simple_Component_Server/Simple_Component_Server.mpc:
- Created MPC specifications.
-
- The followings should go to the ChangeLog under $(ACE_ROOT)
-
- * bin/MakeProjectCreator/configs/ciao_client.mpc:
- * bin/MakeProjectCreator/configs/ciao_component.mpc:
- * bin/MakeProjectCreator/configs/ciao_server.mpc: Created MPC
- templates for CIAO client, component implmentation, and server
- tools.
-
-Fri Dec 20 23:09:53 2002 Nanbor Wang <nanbor@cs.wustl.edu>
-
- * ciao/Makefile.server: Added HomeRegistrar.idl and
- HomeRegistrar_i to the makefile.
-
- * tools/Simple_Component_Server/Makefile: Added a new makefile.
-
-Fri Dec 20 20:32:53 2002 Nanbor Wang <nanbor@cs.wustl.edu>
-
- * ciao/CCM_Component.idl:
- * ciao/CCM_Container.idl:
- * ciao/Container_Base.cpp:
- * ciao/Makefile.client:
- * ciao/Makefile.container:
- * ciao/Makefile.server: Fixed compilation erros and Makefiles on
- Linux.
-
-Thu Dec 19 20:44:39 2002 Nanbor Wang <nanbor@cs.wustl.edu>
-
- * examples/handcrafted/Display/README:
- * examples/handcrafted/Display/Configuration-0.png: Added new
- files explaining the purpose of the the new example and what it
- will do.
-
-Wed Dec 18 20:37:06 2002 Nanbor Wang <nanbor@cs.wustl.edu>
-
- * examples/handcrafted/Hello/run_test.pl: Added a script to
- automate running this stuff.
-
- * examples/handcrafted/Hello/README: Replaced the reference to
- CIAO_single_com_server to Simple_Component_Server.
-
-Tue Dec 17 23:30:59 2002 Nanbor Wang <nanbor@cs.wustl.edu>
-
- * tools/CIAO_single_com_server/*:
- * tools/Simple_Component_Server/*: Changed the name of the simple
- server from CIAO_single_com_server to Simple_Component_Server.
- The original name didn't make too much sense at all.
-
-Tue Dec 17 22:49:32 2002 Nanbor Wang <nanbor@cs.wustl.edu>
-
- * ciao/CIAO_Server.dsp:
- * ciao/HomeRegistrar.idl:
- * ciao/HomeRegistrar_i.{h,inl,cpp}: Added a NameService based
- HomeFinder extension. This interface defines the registration
- operation, which is not defined in the CCM specification. This
- is part of the CIAO_Server library.
-
- * tools/CIAO_single_com_server/CIAO_single_com_server.cpp: Changed
- to register installed components with the HomeRegistrar instead
- of dumping the IOR into a file. The only thing that gets dumped
- into a file now is the IOR for the HomeFinder interface which
- HomeRegistrar inherits.
-
- * examples/handecrafted/Hello/README: Added information on the
- procedures one should follow to run this test.
-
- * examples/handcrafted/Hello/config: Updated the component server
- config file to include the repo ids and canonical name for the
- home.
-
- * examples/handcrafted/Hello/client.dsp:
- * examples/handcrafted/Hello/client.cpp: Changed to use acquire
- the home object reference thru the HomeFinder interface, instead
- of passing it in explicitly.
-
- * examples/handcrafted/Hello/hello.dsw:
- * examples/handcrafted/Hello/server.cpp:
- * examples/handcrafted/Hello/server.dsp: Removed server from the
- workspace. As we now have a true component server, we no longer
- need a server process for this example.
-
-
-Mon Dec 16 10:56:46 2002 Nanbor Wang <nanbor@cs.wustl.edu>
-
- * tools/CIAO_single_com_server/CIAO_single_com_server.cpp: Fixed
- command line argument parsing problem. We now process the
- command line argument for ORB correctly.
-
-Sun Dec 15 23:54:16 2002 Nanbor Wang <nanbor@cs.wustl.edu>
-
- * tools/CIAO_single_com_server/*: Added a new prototype component
- server. We can now run session components on a generic server
- using a proprietary config file for component installation.
-
- * ciao/Container_Base.{h,cpp}: Fixed incorrect usage of ACE_DLL
- where executor and servant Dlls got unloaded prematurely.
-
-Wed Dec 11 14:39:08 2002 Nanbor Wang <nanbor@cs.wustl.edu>
-
- A lot have changed since last ChangeLog entry. Most of the
- changes are intermediate so I didn't even try to record them.
-
- * ciao/CCMCore.dsw:
- * ciao/CIAO_Container.dsp:
- * ciao/CIAO_Server.dsp: Moved Container_Base.* from CIAO_Container
- library to CIAO_Server library. These classes in Container_Base
- are really run-time container management interfaces than
- container interfaces themselves.
-
- * ciao/Container_Base.cpp:
- * ciao/Container_Base.h: Added _ciao_install_home which enable
- installing a component home from relevant DLL named and entry
- points. We are not managing the lifecycle of DLL objects in the
- implementation yet (we just never unlink DLL. :) This will have
- to be changed in the future.
-
- * examples/handcrafted/Hello/hello_servants.cpp:
- * examples/handcrafted/Hello/hello_servants.h: Added an entry
- point "create_HelloWorld_Servant" so we can use the glue code
- with the new "generic server."
-
- * examples/handcrafted/Hello/server.cpp:
- * examples/handcrafted/Hello/server.dsp: Reworked the server
- implementation so that it is no longer tied to a specific
- component implementation. I.e., we can use the same server to
- host any *one* component now.
-
- * examples/handcrafted/Hello/client.dsp: Added a missing link
- directory.
-
-Tue Nov 05 23:42:04 2002 Nanbor Wang <nanbor@cs.wustl.edu>
-
- * CCMCore.dsp:
- * CIAO_BaseC.cpp:
- * CIAO_BaseC.h:
- * CIAO_BaseC.i:
- * CIAO_ComponentC.cpp:
- * CIAO_ComponentC.h:
- * CIAO_ComponentC.i:
- * CIAO_ContainerC.cpp:
- * CIAO_ContainerC.h:
- * CIAO_ContainerC.i:
- * CIAO_Container_ExC.cpp:
- * CIAO_Container_ExC.h:
- * CIAO_Container_ExC.i:
- * CIAO_DeploymentC.cpp:
- * CIAO_DeploymentC.h:
- * CIAO_DeploymentC.i:
- * CIAO_EventC.cpp:
- * CIAO_EventC.h:
- * CIAO_EventC.i:
- * CIAO_TransactionC.cpp:
- * CIAO_TransactionC.h:
- * CIAO_TransactionC.i:
- * Component_BaseC.cpp:
- * Component_BaseC.h:
- * Component_BaseC.i:
- * Component_BaseS.cpp:
- * Component_BaseS.h:
- * Component_BaseS.i:
- * Component_BaseS_T.cpp:
- * Component_BaseS_T.h:
- * Component_BaseS_T.i:
- * CosPersistentStateC.cpp:
- * CosPersistentStateC.h:
- * CosPersistentStateC.i:
- * CosPersistentStateS.cpp:
- * CosPersistentStateS.h:
- * CosPersistentStateS.i:
- * CosPersistentStateS_T.cpp:
- * CosPersistentStateS_T.h:
- * CosPersistentStateS_T.i: Removed generated files.
-
- * CCMCore.dsw:
- * CIAO_CLIENT_Export.h:
- * CIAO_Client.dsp:
- * CIAO_Component.pidl:
- * CIAO_Container.dsp:
- * CIAO_Container_Export.h:
- * CIAO_SERVER_Export.h:
- * CIAO_Server.dsp:
- * README: Split up the CCM Core library into 3 libraries for clients,
- component implementations, and component servers.
-
-Thu Sep 26 15:20:13 2002 Nanbor Wang <nanbor@cs.wustl.edu>
-
- * ciao/CCMCore.dsp:
- * ciao/CIAO_Base.pidl:
- * ciao/CIAO_BaseC.cpp:
- * ciao/CIAO_BaseC.h:
- * ciao/CIAO_BaseC.i:
- * ciao/CIAO_Component.pidl:
- * ciao/CIAO_ComponentC.cpp:
- * ciao/CIAO_ComponentC.h:
- * ciao/CIAO_ComponentC.i:
- * ciao/CIAO_Container.pidl:
- * ciao/CIAO_ContainerC.cpp:
- * ciao/CIAO_ContainerC.h:
- * ciao/CIAO_ContainerC.i:
- * ciao/CIAO_Container_Ex.pidl:
- * ciao/CIAO_Container_ExC.cpp:
- * ciao/CIAO_Container_ExC.h:
- * ciao/CIAO_Container_ExC.i:
- * ciao/CIAO_Deployment.pidl:
- * ciao/CIAO_DeploymentC.cpp:
- * ciao/CIAO_DeploymentC.h:
- * ciao/CIAO_DeploymentC.i:
- * ciao/CIAO_Event.pidl:
- * ciao/CIAO_EventC.cpp:
- * ciao/CIAO_EventC.h:
- * ciao/CIAO_EventC.i:
- * ciao/CIAO_Transaction.pidl:
- * ciao/CIAO_TransactionC.cpp:
- * ciao/CIAO_TransactionC.h:
- * ciao/CIAO_TransactionC.i: Changed to split the component idl
- file into severl smaller idl files.
-
- * ciao/Makefile: An empty place holder for now.
-
- * ciao/Version.h:
- * ciao/ciao.rc: Added version information files.
-
-Thu Jul 18 22:14:59 2002 Nanbor Wang <nanbor@cs.wustl.edu>
-
- * examples/handcrafted/Philosophers/Philosophers.idl (Example):
-
-Mon Jun 17 17:35:31 2002 Nanbor Wang <nanbor@cs.wustl.edu>
-
- * docs/index.html:
- * docs/imgs/CCM.vsd:
- * docs/imgs/basic-container.png:
- * docs/imgs/component-basic.png:
- * docs/imgs/deployment.png:
- * docs/imgs/extended-container.png:
- * docs/imgs/home-config.png: Added CIAO documentation.
diff --git a/TAO/CIAO/Makefile b/TAO/CIAO/Makefile
deleted file mode 100644
index e33632d40bf..00000000000
--- a/TAO/CIAO/Makefile
+++ /dev/null
@@ -1,94 +0,0 @@
-#----------------------------------------------------------------------------
-# $Id$
-#
-# Top-level Makefile for the CIAO
-#----------------------------------------------------------------------------
-
-#### The "release" targets can be used to create the ACE+TAO+CIAO kit. By
-#### default, it creates a new beta release. To create a new minor or
-#### major release, add "REL=minor" or "REL=major", respectively, to
-#### the make invocation.
-####
-#### To see what make release would do without actually doing it, add
-#### "CHECK=-n" to the invocation.
-
-#----------------------------------------------------------------------------
-# Local macros
-#----------------------------------------------------------------------------
-
-INFO = VERSION
-
-DIRS = CIDLC \
- bin \
- ciao \
- docs \
- examples \
- tests \
- tools
-
-CLONE = Makefile \
- CIDLC \
- bin \
- ciao \
- docs \
- examples \
- tests \
- tools
-
-#----------------------------------------------------------------------------
-# Include macros and targets
-#----------------------------------------------------------------------------
-
-include $(ACE_ROOT)/include/makeinclude/wrapper_macros.GNU
-include $(ACE_ROOT)/include/makeinclude/macros.GNU
-include $(ACE_ROOT)/include/makeinclude/rules.common.GNU
-include $(ACE_ROOT)/include/makeinclude/rules.nested.GNU
-include $(ACE_ROOT)/include/makeinclude/rules.nolocal.GNU
-
-CONTROLLED_FILES = CIAO
-
-RELEASE_FILES = $(addprefix ACE_wrappers/TAO/,$(CONTROLLED_FILES))
-
-.PHONY: release tag
-
-REL = beta
-CHECK =
-APPLY_NEW_TAG = tag
-
-#### The call to make_release below doesn't actually create the kit.
-release: $(APPLY_NEW_TAG)
- @cd $(ACE_ROOT) && $(MAKE) -s releaseciao
-
-tag:
- @$(ACE_ROOT)/bin/make_release $(CHECK) -k ciao -v $(REL) -u
-
-.PHONY: show_controlled_files show_release_files show_release_lib_files
-
-show_controlled_files:
- @echo $(CONTROLLED_FILES)
-
-show_release_files:
- @echo $(RELEASE_FILES)
-
-show_release_lib_files:
- @echo ""
-
-show_release_tag_files:
- @echo ""
-
-
-# For the following to work you need to compile the
-# $(ACE_ROOT)/bin/clone.cpp file and install it in your ~/bin
-# directory (or some place similar).
-
-.PHONY: clone reverseclean
-
-clone:
- @for dir in $(CLONE) ;\
- do \
- (clone -s $(ACE_ROOT)/$$dir $$dir) \
- done
-
-reverseclean:
- @$(ACE_ROOT)/bin/reverse_clean $(DIRS)
-
diff --git a/TAO/CIAO/PROBLEM-REPORT-FORM b/TAO/CIAO/PROBLEM-REPORT-FORM
deleted file mode 100644
index b86777c93f6..00000000000
--- a/TAO/CIAO/PROBLEM-REPORT-FORM
+++ /dev/null
@@ -1,72 +0,0 @@
-[Please use the form below to submit bug reports, problem
- reports, etc., to the CIAO developers and interested users.
- Send to ciao-users@cs.wustl.edu. Please send it as plain
- ASCII text, _not_ uuencoded or as an attachment.
-
- We prefer that all bug reports be submitted through our bug tracking
- system. See $ACE_ROOT/docs/usage-bugzilla.html for more information
- about how to do this. If you are unsure as to whether your problem
- is a real bug or not then please submit your question to the mailing
- list using the following form. Not using the problem report form
- will make it harder or impossible to identify the problem, and in
- many cases we will be unable to help at all. Also please try to
- browse bugzilla and the ChangeLog files to find out if your problem
- has been solved in a more recent version of CIAO.
-
- To ensure that you see responses, please try to subscribe to the
- ciao-users mail list, by sending email with contents "subscribe
- ciao-users" to majordomo@cs.wustl.edu.
-
- Replace/remove all the explanatory text in brackets before mailing.
-
- Please send this form as ASCII text only. Do _not_ send it as an
- attachment, or as tar'ed, compressed and/or uuencoded text. And
- limit line lengths to less than 80 characters.
-
- PLEASE make your Subject: line as descriptive as possible.
- Subjects like "CIAO bug" or "bug report" are not helpful!
- Also, do _not_ include the word "help" in the Subject!]
-
-8<----------8<----------8<----------8<----------8<----------8<----------8<----
-
-To: ciao-users@cs.wustl.edu
-Subject: [area]: [synopsis]
-
- CIAO VERSION: 0.3.1
- TAO VERSION : 1.3.1
- ACE VERSION : 5.3.1
-
- HOST MACHINE and OPERATING SYSTEM:
- If on Windows based OS's, which version of WINSOCK do you
- use?:
-
- TARGET MACHINE and OPERATING SYSTEM, if different from HOST:
- COMPILER NAME AND VERSION (AND PATCHLEVEL):
-
- AREA/CLASS/EXAMPLE AFFECTED:
-[What example failed? What module failed to compile?]
-
- DOES THE PROBLEM AFFECT:
- COMPILATION?
- If so, what do your $ACE_ROOT/ace/config.h and
- $ACE_ROOT/include/makeinclude/platform_macros.GNU contain?
- LINKING?
- On Unix systems, did you run make realclean first?
- EXECUTION?
- OTHER (please specify)?
-[Please indicate whether ACE/TAO/CIAO, your application, or both are affected.]
-
- SYNOPSIS:
-[Brief description of the problem]
-
- DESCRIPTION:
-[Detailed description of problem. Don't just say "<blah>
-doesn't work, here's a fix," explain what your program does
-to get to the <blah> state. ]
-
- REPEAT BY:
-[What you did to get the error; include test program or session
-transcript if at all possible. ]
-
- SAMPLE FIX/WORKAROUND:
-[If available ]
diff --git a/TAO/CIAO/README b/TAO/CIAO/README
deleted file mode 100644
index 1ef194107fb..00000000000
--- a/TAO/CIAO/README
+++ /dev/null
@@ -1,119 +0,0 @@
-
-BUILDING CIAO
-========================
-
-* Supported platform:
-
- We have tried CIAO examples on Win32 using MSVC 6.0 and above and on
- Linux.
-
-* Documentation:
-
- Various documents are available under $(CIAO_ROOT)/docs/
- Commments and suggestions for improving these documents are
- extremely welcome.
-
-* Preparation - Compiling ACE and TAO:
-
- CIAO depends on many CORBA features to function properly so you need
- to compile them first. Here is a non-exhaustive list:
-
- ACEXML_Parser,
-
- Valuetype
- IORInterceptor
- ObjRefTemplate
- Security
- PortableServer
- IFR_Client
-
-and also the libraries they depends on.
-
- - On Linux, try defining these in the platform_macros.GNU
-
- exceptions=1
- interface_repo=1
- ssl=1
-
-* Compiling CIAO core libraries and tools:
-
- Assuming CIAO_ROOT = ACE_wrappers/TAO/CIAO/
-
- Compile the following directories:
-
-
- $CIAO_ROOT/ciao/
-
- $CIAO_ROOT/tools/XML_Helpers
- $CIAO_ROOT/tools/ComponentServer
- $CIAO_ROOT/tools/ServerActivator
- $CIAO_ROOT/tools/Assembly_Deployer
- $CIAO_ROOT/tools/Daemon
-
- You need to creating the Makefile of your choice..
- For example, for unix makefile:
-
- $ cd $CIAO_ROOT/ciao/
- $ $(ACE_ROOT)/bin/mwc.pl
- $ make
-
- To regenerate VC6 dsp files, do:
-
- > cd $CIAO_ROOT/ciao/
- > $(ACE_ROOT)/bin/mwc.pl -type vc6
-
- Likewise, to regenerate VC7.1.NET project files, do:
-
- > cd $CIAO_ROOT/ciao
- > $(ACE_ROOT)/bin/mwc.pl -type vc71
-
-* Now you can play with the examples:
-
- - $CIAO_ROOT/examples/handcrafted/Hello
-
- This is a single component example. Check out run_test.pl to see
- how you can instantiate a single component using CIAO.
-
- - $CIAO_ROOT/examples/OEP/Display
-
- This is a multiple-component example. RateGen component
- subdirectory contains a run_test.pl that you can use to
- instantiate a component instance, like you would do with the
- Hello example. The other components require collaboration with
- other components and I don't have client programs to test them
- out individually.
-
- This example also lets you compose all the components into a
- distributed application using the Assembly_Deployer. Change
- directory to
-
- $CIAO_ROOT/examples/OEP/Display/descriptors
-
- and take a look at the file: NOTE.txt. This file describes the
- steps to compose the application using various different
- configurations and composition specs.
-
- - $CIAO_ROOT/examples/OEP/BasicSP
-
- This is a new multi-component example. It has the similar
- struture as the Dsiplay example above.
-
-
-* If you can not find the
- Makefiles for unix platform you are using, you can use mwc to create
- them. For examples, to compile the multi-component example, use the
- following:
-
- $ cd $CIAO_ROOT/examples/handcrafted/Display
- $ $(ACE_ROOT)/bin/mwc.pl
- $ make
-
- To regenerate VC6 dsp files, do:
-
- > cd $CIAO_ROOT/examples/handcrafted/Display
- > $(ACE_ROOT)/bin/mwc.pl -type vc6
-
- Likewise, to regenerate VC7.NET project files, do:
-
- > cd $CIAO_ROOT/examples/handcrafted/Display
- > $(ACE_ROOT)/bin/mwc.pl -type vc7
diff --git a/TAO/CIAO/VERSION b/TAO/CIAO/VERSION
deleted file mode 100644
index b4a3aadb952..00000000000
--- a/TAO/CIAO/VERSION
+++ /dev/null
@@ -1,11 +0,0 @@
-This is CIAO version 0.3.1, released Wed Feb 19 12:52:06 2003.
-
-If you have any problems with or questions about TAO, please send
-e-mail to the CIAO mailing list (ciao-users@cs.wustl.edu), using the
-form found in the file CIAO/PROBLEM-REPORT-FORM. To ensure that you
-see responses, please do one of the following:
-
- 1) Subscribe to the ace-users mail list, by sending email with
- contents "subscribe tao-users" to majordomo@cs.wustl.edu.
-
- 2) Or, monitor the comp.soft-sys.ace newsgroup for responses.
diff --git a/TAO/CIAO/bin/generate_component_mpc.pl b/TAO/CIAO/bin/generate_component_mpc.pl
deleted file mode 100755
index be6e7b25cff..00000000000
--- a/TAO/CIAO/bin/generate_component_mpc.pl
+++ /dev/null
@@ -1,169 +0,0 @@
-eval '(exit $?0)' && eval 'exec perl -S $0 ${1+"$@"}'
- & eval 'exec perl -S $0 $argv:q'
- if 0;
-
-# $Id$
-# Create a MPC file content for a single component implementation.
-
-use Getopt::Std;
-
-##############################################################################
-# Grab the options
-
-$flags = join (" ", @ARGV);
-
-if (!getopts ('dcnip:l:h') || $opt_h) {
- print "generate_component_mpc.pl [-d] [-h] component_name\n";
- print "\n";
- print " -d Turn on debug mode\n";
- print " -p Dependent component name\n";
- print " -l Dependent component path\n";
- print " -i Use an executor definition IDL file\n";
- print " -n Supress component make/project\n";
- print " -c Create a client makefile\n";
- print "\n";
- print "generate_component_mpc creates and save a minimum mpc file\n";
- print "called $com_name.mpc that is needed for a single component implementation\n";
- exit (1);
-}
-
-if (defined $opt_d) {
- print "Debugging Turned on\n";
-
- if (defined $opt_f) {
- print "Dependency to $opt_f\n";
- }
-}
-
-
-if ($#ARGV < 0) {
- print STDERR "No component_name specified, use -h for help\n";
- exit (1);
-}
-
-$com_name = shift @ARGV;
-$UCOM_NAME = uc $com_name;
-
-##############################################################################
-# Prologue
-
-if (defined $opt_p) {
- $stub_depend = "depends += $opt_p".'_stub';
- $svnt_depend = "$opt_p".'_svnt';
- $lib_depend = "$opt_p".'_stub '."$opt_p".'_svnt';
- $client_depend = "$com_name".'_stub '."$opt_p"."_stub";
-}
-else {
- $client_depend = "$com_name".'_stub';
-}
-
-if (defined $opt_l) {
- $lib_paths = "libpaths += $opt_l";
-}
-
-if (defined $opt_c) {
- $client_def =
-'
-project ('."$com_name".'_client) : ciao_client {
- exename = client
- depends += '."$client_depend
- $lib_paths".'
-
- IDL_Files {
- }
-
- Source_Files {
- client.cpp
- }
-}
-';
-}
-
-if (defined $opt_i) {
- $exec_impl_idl = "$com_name".'EI.idl';
- $exec_impl_cpp = "$com_name".'EIC.cpp';
-}
-
-
-if (! defined $opt_n) {
- $component_def =
-'
-project('."$com_name".'_exec) : ciao_server {
- depends += '."$com_name".'_svnt
- sharedname = '."$com_name".'_exec
- libs += '."$com_name".'_stub '."$com_name".'_svnt'." $lib_depend
- $lib_paths".'
- idlflags += -Wb,export_macro='."$UCOM_NAME".'_EXEC_Export -Wb,export_include='."$com_name".'_exec_export.h
- dllflags = '."$UCOM_NAME".'_EXEC_BUILD_DLL
-
- IDL_Files {'."
- $exec_impl_idl".'
- }
-
- Source_Files {'."
- $exec_impl_cpp
- $com_name".'_exec.cpp
- }
-}
-';
-}
-
-$mpc_template = '// $Id$
-// This file is generated with "'."generate_component_mpc.pl $flags".'"
-
-project('."$com_name".'_stub): ciao_client {'."
- $stub_depend".'
- sharedname = '."$com_name".'_stub
- idlflags += -Wb,stub_export_macro='."$UCOM_NAME".'_STUB_Export -Wb,stub_export_include='."$com_name".'_stub_export.h -Wb,skel_export_macro='."$UCOM_NAME".'_SVNT_Export -Wb,skel_export_include='."$com_name".'_svnt_export.h
- dllflags = '."$UCOM_NAME".'_STUB_BUILD_DLL
-
- IDL_Files {
- '."$com_name".'.idl
- }
-
- Source_Files {
- '."$com_name".'C.cpp
- }
-}
-
-project('."$com_name".'_svnt) : ciao_server {
- depends += '."$svnt_depend $com_name".'_stub
- sharedname = '."$com_name".'_svnt
- libs += '."$com_name".'_stub'." $lib_depend
- $lib_paths".'
- idlflags += -Wb,export_macro='."$UCOM_NAME".'_SVNT_Export -Wb,export_include='."$com_name".'_svnt_export.h
- dllflags = '."$UCOM_NAME".'_SVNT_BUILD_DLL
-
- IDL_Files {
- '."$com_name".'E.idl
- }
-
- Source_Files {
- '."$com_name".'EC.cpp
- '."$com_name".'S.cpp
- '."$com_name".'_svnt.cpp
- }
-}
-'."
-$component_def
-
-$client_def
-";
-
-##############################################################################
-# Static Stuff
-
-##############################################################################
-# Print the stuff out
-
-
-# MPC files
-open (MPCFILE, ">", "$com_name".".mpc");
-print MPCFILE $mpc_template;
-
-print "Run the following command also:\n\n";
-print "\tgenerate_export_file.pl $UCOM_NAME".'_STUB > '."$com_name".'_stub_export.h'."\n";
-print "\tgenerate_export_file.pl $UCOM_NAME".'_SVNT > '."$com_name".'_svnt_export.h'."\n";
-if (! defined $opt_n) {
- print "\tgenerate_export_file.pl $UCOM_NAME".'_EXEC > '."$com_name".'_exec_export.h'."\n";
-}
diff --git a/TAO/CIAO/ciao/Active_Objref_Map.cpp b/TAO/CIAO/ciao/Active_Objref_Map.cpp
deleted file mode 100644
index 00558f8f796..00000000000
--- a/TAO/CIAO/ciao/Active_Objref_Map.cpp
+++ /dev/null
@@ -1,11 +0,0 @@
-// $Id$
-
-#include "ciao/Active_Objref_Map.h"
-
-
-
-#if defined (ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION)
-template class ACE_Active_Map_Manager<CORBA::Object_var>;
-#elif defined (ACE_HAS_TEMPLATE_INSTANTIATION_PRAGMA)
-#pragma instantiate ACE_Active_Map_Manager<CORBA::Object_var>;
-#endif /* ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION */
diff --git a/TAO/CIAO/ciao/Active_Objref_Map.h b/TAO/CIAO/ciao/Active_Objref_Map.h
deleted file mode 100644
index 9bdf7fdffc3..00000000000
--- a/TAO/CIAO/ciao/Active_Objref_Map.h
+++ /dev/null
@@ -1,35 +0,0 @@
-// $Id$
-
-/**
- * @file Active_Objref_Map.h
- *
- * A CIAO implementation of object reference map which enables
- * fast insertion/deletion/indexing of object reference thru
- * map-generated keys.
- *
- * @sa ACE_Active_Map_Manager
- *
- * @author Nanbor Wang <nanbor@cs.wustl.edu>
- */
-
-#ifndef CIAO_ACTIVE_OBJREF_MAP_H
-#define CIAO_ACTIVE_OBJREF_MAP_H
-#include "ace/pre.h"
-
-#include "ace/Active_Map_manager_T.h"
-#include "ciao/CIAO_Container_Export.h"
-#include "tao/corbafwd.h"
-
-#if !defined (ACE_LACKS_PRAGMA_ONCE)
-# pragma once
-#endif /* ACE_LACKS_PRAGMA_ONCE */
-
-namespace CIAO
-{
- typedef ACE_Active_Map_Manager<CORBA::Object_var> Active_Objref_Map;
-
- CIAO_CONTAINER_SINGLETON_DECLARATION (ACE_Active_Map_Manager<CORBA::Object_var>);
-}
-
-#include "ace/post.h"
-#endif /* CIAO_ACTIVE_OBJREF_MAP_H */
diff --git a/TAO/CIAO/ciao/CCM_Base.idl b/TAO/CIAO/ciao/CCM_Base.idl
deleted file mode 100644
index e49d135152b..00000000000
--- a/TAO/CIAO/ciao/CCM_Base.idl
+++ /dev/null
@@ -1,144 +0,0 @@
-// $Id$
-
-/**
- * @@ Compile this file with:
- *
- * tao_idl -Gv -I W:/ACE_wrappers/TAO -I W:/ACE_wrappers/TAO/orbsvcs/orbsvcs Component_Base.idl
- * tao_idl -Gv -I ../.. -I ../../orbsvcs/orbsvcs \
- * -Wb,export_macro=CIAO_Export \
- * -Wb,export_include=CIAO_export.h \
- * -Wb,pre_include="ace/pre.h" \
- * -Wb,post_include="ace/post.h" \
- * CCM_Base.idl
- */
-
-//#define CIAO_HAS_IMPORT_KEYWORD
-
-#if defined (CIAO_HAS_IMPORT_KEYWORD)
-import ::CORBA;
-#else
-#include <orb.idl>
-#endif /* CIAO_HAS_IMPORT_KEYWORD */
-
-#if !defined (CCM_BASE_IDL)
-#define CCM_BASE_IDL
-
-module Components
-{
- /**
- * @@ Commented out temporarily for lack of typePrefix support.
- */
- typeprefix Components "omg.org";
-
- typedef string FeatureName;
- typedef sequence<FeatureName> NameList;
-
- valuetype Cookie
- {
- private CORBA::OctetSeq cookieValue;
- };
-
- valuetype PortDescription
- {
- public FeatureName Name;
- public CORBA::RepositoryId type_id;
- };
-
- valuetype FacetDescription : PortDescription
- {
- public Object facet_ref;
- };
-
- typedef sequence<FacetDescription> FacetDescriptions;
-
- typedef unsigned long FailureReason;
-
- exception InvalidName {};
- exception InvalidConnection {};
- exception ExceededConnectionLimit {};
- exception AlreadyConnected {};
- exception NoConnection {};
- exception CookieRequired {};
- exception CreateFailure {
- FailureReason reason;
- };
- exception FinderFailure
- {
- FailureReason reason;
- };
- exception RemoveFailure
- {
- FailureReason reason;
- };
- exception DuplicateKeyValue {};
- exception InvalidKey {};
- exception UnknownKeyValue {};
- exception NoKeyAvailable {};
- exception BadEventType
- {
- CORBA::RepositoryId expected_event_type;
- };
- exception HomeNotFound {};
- exception WrongComponentType {};
-
- typedef FailureReason InvalidConfigurationReason;
- const InvalidConfigurationReason UnknownConfigValueName = 0;
- const InvalidConfigurationReason InvalidConfigValueType = 1;
- const InvalidConfigurationReason ConfigValueRequired = 2;
- const InvalidConfigurationReason ConfigValueNotExpected = 3;
- exception InvalidConfiguration
- {
- InvalidConfigurationReason reason;
- FeatureName name;
- };
- exception IllegalState {};
-
- interface Navigation
- {
- Object provide_facet (in FeatureName name)
- raises (InvalidName);
- FacetDescriptions get_all_facets();
- FacetDescriptions get_named_facets (in NameList names)
- raises (InvalidName);
- boolean same_component (in Object object_ref);
- };
-
- valuetype ConnectionDescription
- {
- public Cookie ck;
- public Object objref;
- };
- typedef sequence<ConnectionDescription> ConnectionDescriptions;
-
- valuetype ReceptacleDescription : PortDescription
- {
- public boolean is_multiple;
- public ConnectionDescriptions connections;
- };
- typedef sequence<ReceptacleDescription> ReceptacleDescriptions;
-
- interface Receptacles
- {
- Cookie connect (in FeatureName name, in Object connection )
- raises (InvalidName,
- InvalidConnection,
- AlreadyConnected,
- ExceededConnectionLimit);
-
- // @@ Changed to return the previously connected object reference -- basef on RTF 1.1.
- Object disconnect (in FeatureName name, in Cookie ck)
- raises (InvalidName,
- InvalidConnection,
- CookieRequired,
- NoConnection);
-
- ConnectionDescriptions get_connections (in FeatureName name)
- raises (InvalidName);
-
- ReceptacleDescriptions get_all_receptacles ();
-
- ReceptacleDescriptions get_named_receptacles (in NameList names)
- raises (InvalidName);
- };
-};
-#endif /* CCM_BASE_IDL */
diff --git a/TAO/CIAO/ciao/CCM_Component.idl b/TAO/CIAO/ciao/CCM_Component.idl
deleted file mode 100644
index a1547d815e4..00000000000
--- a/TAO/CIAO/ciao/CCM_Component.idl
+++ /dev/null
@@ -1,117 +0,0 @@
-// $Id$
-
-/**
- * @@ Compile this file with:
- *
- * tao_idl -Gv -I ../.. -I ../../orbsvcs/orbsvcs \
- * -Wb,export_macro=CIAO_Export \
- * -Wb,export_include=CIAO_export.h \
- * -Wb,pre_include="ace/pre.h" \
- * -Wb,post_include="ace/post.h" \
- * CCM_Component.idl
- */
-
-#if !defined (CCM_COMPONENT_IDL)
-#define CCM_COMPONENT_IDL
-
-#include "CCM_Event.idl"
-#include "tao/IFR_Client/IFR_Base.pidl"
-
-module Components
-{
- abstract valuetype PrimaryKeyBase {};
-
- interface CCMObject; //forward reference
-
- interface CCMHome
- {
- CORBA::IRObject get_component_def ();
- CORBA::IRObject get_home_def ();
- void remove_component ( in CCMObject comp)
- raises (RemoveFailure);
- };
- typedef sequence<CCMHome> CCMHomes;
-
- interface KeylessCCMHome
- {
- CCMObject create_component()
- raises (CreateFailure);
- };
-
- interface HomeFinder
- {
- CCMHome find_home_by_component_type (in CORBA::RepositoryId comp_repid)
- raises (HomeNotFound);
-
- CCMHome find_home_by_home_type (in CORBA::RepositoryId home_repid)
- raises (HomeNotFound);
-
- CCMHome find_home_by_name (in string home_name)
- raises (HomeNotFound);
- };
-
- interface Configurator
- {
- void configure (in CCMObject comp)
- raises (WrongComponentType);
- };
-
- valuetype ConfigValue
- {
- public FeatureName name;
- public any value;
- };
-
- typedef sequence<ConfigValue> ConfigValues;
-
- interface StandardConfigurator : Configurator
- {
- void set_configuration (in ConfigValues descr);
- };
-
- interface HomeConfiguration : CCMHome
- {
- void set_configurator (in Configurator cfg);
- void set_configuration_values (in ConfigValues config);
- void complete_component_configuration (in boolean b);
- void disable_home_configuration();
- };
-
- valuetype ComponentPortDescription
- {
- public FacetDescriptions facets;
- public ReceptacleDescriptions receptacles;
- public ConsumerDescriptions consumers;
- public EmitterDescriptions emitters;
- public PublisherDescriptions publishers;
- };
-
- interface CCMObject : Navigation, Receptacles, Events
- {
- CORBA::IRObject get_component_def ( );
- CCMHome get_ccm_home( );
- PrimaryKeyBase get_primary_key( )
- raises (NoKeyAvailable);
- void configuration_complete( )
- raises (InvalidConfiguration);
- void remove()
- raises (RemoveFailure);
- ComponentPortDescription get_all_ports ();
- };
-
- // @@ Enumeration and DefaultEnumeration are only for EJB to CCM
- // mapping? At any rate, we should be able to skip them for now.
- abstract valuetype Enumeration
- {
- boolean has_more_elements();
- CCMObject next_element();
- };
-
- typedef sequence<CCMObject> CCMObjectSeq;
-
- valuetype DefaultEnumeration : Enumeration
- {
- private CCMObjectSeq objects;
- };
-};
-#endif /* CCM_COMPONENT_IDL */
diff --git a/TAO/CIAO/ciao/CCM_Container.idl b/TAO/CIAO/ciao/CCM_Container.idl
deleted file mode 100644
index accd0402e81..00000000000
--- a/TAO/CIAO/ciao/CCM_Container.idl
+++ /dev/null
@@ -1,138 +0,0 @@
-// $Id$
-
-/**
- * @@ Compile this file with:
- *
- * tao_idl -Gv -I ../.. -I ../../orbsvcs/orbsvcs \
- * -Wb,export_macro=CIAO_Export \
- * -Wb,export_include=CIAO_export.h \
- * -Wb,pre_include="ace/pre.h" \
- * -Wb,post_include="ace/post.h" \
- * CCM_Container.idl
- */
-
-//#define CIAO_HAS_IMPORT_KEYWORD
-
-#if !defined (CCM_CONTAINER_IDL)
-#define CCM_CONTAINER_IDL
-
-#include "CCM_Component.idl"
-#include "SecurityLevel2.idl"
-#include "CCM_Transaction.idl"
-
-// *************** Basic Container interfaces ***************
-
-module Components
-{
- typeprefix Components "omg.org";
-
- typedef SecurityLevel2::Credentials Principal;
-
- local interface CCMContext
- {
- Principal get_caller_principal();
-
- CCMHome get_CCM_home();
-
- boolean get_rollback_only()
- raises (IllegalState);
-
- Transaction::UserTransaction get_user_transaction()
- raises (IllegalState);
-
- boolean is_caller_in_role (in string role);
-
- void set_rollback_only()
- raises (IllegalState);
- };
-
- enum CCMExceptionReason
- {
- SYSTEM_ERROR,
- CREATE_ERROR,
- REMOVE_ERROR,
- DUPLICATE_KEY,
- FIND_ERROR,
- OBJECT_NOT_FOUND,
- NO_SUCH_ENTITY
- };
-
- exception CCMException
- {
- CCMExceptionReason reason;
- };
-
- local interface EnterpriseComponent {};
-
- local interface SessionContext : CCMContext
- {
- Object get_CCM_object()
- raises (IllegalState);
- };
-
- local interface SessionComponent : EnterpriseComponent
- {
- void set_session_context ( in SessionContext ctx)
- raises (CCMException);
-
- void ccm_activate()
- raises (CCMException);
-
- void ccm_passivate()
- raises (CCMException);
-
- void ccm_remove ()
- raises (CCMException);
- };
-
- local interface SessionSynchronization
- {
- void after_begin ()
- raises (CCMException);
-
- void before_completion ()
- raises (CCMException);
-
- void after_completion (in boolean committed)
- raises (CCMException);
- };
-
- local interface EntityContext : CCMContext
- {
- Object get_CCM_object ()
- raises (IllegalState);
-
- PrimaryKeyBase get_primary_key ()
- raises (IllegalState);
- };
-
- local interface EntityComponent : EnterpriseComponent
- {
- void set_entity_context (in EntityContext ctx)
- raises (CCMException);
-
- void unset_entity_context ()
- raises (CCMException);
-
- void ccm_activate ()
- raises (CCMException);
-
- void ccm_load ()
- raises (CCMException);
-
- void ccm_store ()
- raises (CCMException);
-
- void ccm_passivate ()
- raises (CCMException);
-
- void ccm_remove ()
- raises (CCMException);
- };
-
-
- local interface HomeExecutorBase
- {
- };
-};
-#endif /* CCM_CONTAINER_IDL */
diff --git a/TAO/CIAO/ciao/CCM_Container_Ex.idl b/TAO/CIAO/ciao/CCM_Container_Ex.idl
deleted file mode 100644
index 0aeb481807d..00000000000
--- a/TAO/CIAO/ciao/CCM_Container_Ex.idl
+++ /dev/null
@@ -1,183 +0,0 @@
-// $Id$
-
-/**
- * @@ Compile this file with:
- *
- * tao_idl -Gv -I ../.. -I ../../orbsvcs/orbsvcs \
- * -Wb,export_macro=CIAO_Export \
- * -Wb,export_include=CIAO_export.h \
- * -Wb,pre_include="ace/pre.h" \
- * -Wb,post_include="ace/post.h" \
- * CCM_Container_Ex.idl
- */
-
-//#define CIAO_HAS_IMPORT_KEYWORD
-
-#if !defined (CCM_CONTAINER_EX_IDL)
-#define CCM_CONTAINER_EX_IDL
-
-#include "CCM_Container.idl"
-#include <CosPersistentState.idl>
-
-// *************** Extended Container Interfaces ***************
-
-module Components
-{
- typeprefix Components "omg.org";
-
- enum BadComponentReferenceReason
- {
- NON_LOCAL_REFERENCE,
- NON_COMPONENT_REFERENCE,
- WRONG_CONTAINER
- };
-
- typedef CosPersistentState::CatalogBase CatalogBase;
- typedef CosPersistentState::_TypeId _TypeId;
-
- typedef short SegmentId;
- const SegmentId COMPONENT_SEGMENT = 0;
-
- typedef short FacetId;
- const FacetId COMPONENT_FACET = 0;
-
- typedef sequence<octet> IdData;
- typedef CosPersistentState::Pid PersistentId;
-
- typedef short StateIdType;
- const StateIdType PERSISTENT_ID = 0;
-
- exception BadComponentReference
- {
- BadComponentReferenceReason reason;
- };
- exception PolicyMismatch {};
- exception PersistenceNotAvailable {};
- exception UnknownActualHome {};
- exception ProxyHomeNotSupported {};
- exception InvalidStateIdData {};
-
- local interface HomeRegistration
- {
- void register_home (in CCMHome home_ref,
- in string home_name);
-
- void unregister_home (in CCMHome home_ref);
- };
-
- local interface CCM2Context : CCMContext
- {
- HomeRegistration get_home_registration ();
-
- void req_passivate ()
- raises (PolicyMismatch);
-
- CatalogBase get_persistence (in _TypeId catalog_type_id)
- raises (PersistenceNotAvailable);
- };
-
- local interface ProxyHomeRegistration : HomeRegistration
- {
- void register_proxy_home (in CCMHome rhome,
- in CCMHome ahome)
- raises (UnknownActualHome,
- ProxyHomeNotSupported);
- };
-
- local interface Session2Context : SessionContext, CCM2Context
- {
- Object create_ref (in CORBA::RepositoryId repid);
-
- Object create_ref_from_oid (in CORBA::OctetSeq oid,
- in CORBA::RepositoryId repid);
-
- CORBA::OctetSeq get_oid_from_ref (in Object objref)
- raises (IllegalState,
- BadComponentReference);
- };
-
- abstract valuetype StateIdValue
- {
- StateIdType get_sid_type();
- IdData get_sid_data();
- };
-
- local interface StateIdFactory
- {
- StateIdValue create (in IdData data)
- raises (InvalidStateIdData);
- };
-
- valuetype PersistentIdValue : StateIdValue
- {
- private PersistentId pid;
-
- PersistentId get_pid();
- factory init (in PersistentId pid);
- };
-
- valuetype SegmentDescr
- {
- private StateIdValue sid;
- private SegmentId seg;
-
- StateIdValue get_sid();
- SegmentId get_seg_id();
- factory init (in StateIdValue sid,
- in SegmentId seg);
- };
-
- typedef sequence<SegmentDescr> SegmentDescrSeq;
-
- local interface ComponentId
- {
- FacetId get_target_facet();
-
- SegmentId get_target_segment();
-
- StateIdValue get_target_state_id (in StateIdFactory sid_factory)
- raises (InvalidStateIdData);
-
- StateIdValue get_segment_state_id (in SegmentId seg,
- in StateIdFactory sid_factory)
- raises (InvalidStateIdData);
-
- ComponentId create_with_new_target (in FacetId new_target_facet,
- in SegmentId new_target_segment);
-
- SegmentDescrSeq get_segment_descrs (in StateIdFactory sid_factory)
- raises (InvalidStateIdData);
- };
-
- local interface Entity2Context : EntityContext, CCM2Context
- {
- ComponentId get_component_id ()
- raises (IllegalState);
-
- ComponentId create_component_id (in FacetId target_facet,
- in SegmentId target_segment,
- in SegmentDescrSeq seq_descrs);
-
- ComponentId create_monolithic_component_id (in FacetId target_facet,
- in StateIdValue sid);
-
- Object create_ref_from_cid (in CORBA::RepositoryId repid,
- in ComponentId cid);
-
- ComponentId get_cid_from_ref (in Object objref)
- raises (BadComponentReference);
- };
-
- local interface ExecutorLocator : EnterpriseComponent
- {
- Object obtain_executor (in string name)
- raises (CCMException);
-
- void release_executor (in Object exc)
- raises (CCMException);
-
- void configuration_complete()
- raises (InvalidConfiguration);
- };
-};
-#endif /* CCM_CONTAINER_EX_IDL */
diff --git a/TAO/CIAO/ciao/CCM_Core.mpc b/TAO/CIAO/ciao/CCM_Core.mpc
deleted file mode 100644
index e9fc227a679..00000000000
--- a/TAO/CIAO/ciao/CCM_Core.mpc
+++ /dev/null
@@ -1,84 +0,0 @@
-project (CIAO_Client) : taolib_with_idl {
- depends += IFR_Client
- sharedname = CIAO_Client
- libs += TAO TAO_IFR_Client TAO_Valuetype
- idlflags += -I $(TAO_ROOT) -Wb,stub_export_include=CIAO_Client_Export.h -Wb,stub_export_macro=CIAO_CLIENT_Export -Wb,skel_export_include=CIAO_Container_Export.h -Wb,skel_export_macro=CIAO_CONTAINER_Export -Wb,pre_include="ace/pre.h" -Wb,post_include="ace/post.h"
- dllflags = CIAO_CLIENT_BUILD_DLL
- libpaths += $(TAO_ROOT)/tao/IFR_Client $(TAO_ROOT)/tao/Valuetype
-
- IDL_Files {
- CCM_Base.idl
- CCM_Event.idl
- CCM_Component.idl
- CIAO_Value.idl
- }
-
- Source_Files {
- CCM_BaseC.cpp
- CCM_EventC.cpp
- CCM_ComponentC.cpp
- CIAO_ValueC.cpp
- Client_init.cpp
- }
-}
-
-project (CIAO_Container) : taolib_with_idl {
- depends += CIAO_Client PortableServer Security
- sharedname = CIAO_Container
- libs += TAO TAO_PortableServer TAO_IORInterceptor TAO_ObjRefTemplate TAO_Valuetype TAO_IFR_Client TAO_Security CIAO_Client
- idlflags += -I $(TAO_ROOT) -I $(TAO_ROOT)/orbsvcs/orbsvcs -Wb,export_include=CIAO_Container_Export.h -Wb,export_macro=CIAO_CONTAINER_Export -Wb,pre_include="ace/pre.h" -Wb,post_include="ace/post.h"
- dllflags = CIAO_CONTAINER_BUILD_DLL
- includes += $(TAO_ROOT)/orbsvcs/orbsvcs
- libpaths += $(TAO_ROOT)/tao/PortableServer $(TAO_ROOT)/tao/IORInterceptor $(TAO_ROOT)/tao/ObjRefTemplate $(TAO_ROOT)/tao/IFR_Client $(TAO_ROOT)/tao/Valuetype $(TAO_ROOT)/orbsvcs/orbsvcs
-
- IDL_Files {
- CCM_Transaction.idl
- CosPersistentState.idl
- CCM_Container.idl
- CCM_Container_Ex.idl
- }
-
- Source_Files {
- CCM_TransactionC.cpp
- CosPersistentStateC.cpp
- CCM_ContainerC.cpp
- CCM_Container_ExC.cpp
- CCM_BaseS.cpp
- CCM_EventS.cpp
- CCM_ComponentS.cpp
- Cookies.cpp
- }
-}
-
-project (CIAO_Server) :taolib_with_idl {
- depends += CIAO_Container
- sharedname = CIAO_Server
- libs += TAO TAO_PortableServer TAO_IORInterceptor TAO_ObjRefTemplate TAO_Valuetype TAO_IFR_Client TAO_Security CIAO_Client
- idlflags += -I$(TAO_ROOT) -I$(TAO_ROOT)/orbsvcs/orbsvcs -Wb,export_include=CIAO_Server_Export.h -Wb,export_macro=CIAO_SERVER_Export -Wb,pre_include="ace/pre.h" -Wb,post_include="ace/post.h"
-
- dllflags = CIAO_SERVER_BUILD_DLL
- includes += $(TAO_ROOT)/orbsvcs/orbsvcs
- libpaths += $(TAO_ROOT)/tao/PortableServer $(TAO_ROOT)/tao/IORInterceptor $(TAO_ROOT)/tao/ObjRefTemplate $(TAO_ROOT)/tao/IFR_Client $(TAO_ROOT)/tao/Valuetype $(TAO_ROOT)/orbsvcs/orbsvcs
-
- IDL_Files {
- CCM_Deployment.idl
- CIAO_Servers.idl
-// HomeRegistrar.idl
- }
-
- Source_Files {
- CCM_DeploymentC.cpp
- CCM_DeploymentS.cpp
- CIAO_ServersC.cpp
- CIAO_ServersS.cpp
-// HomeRegistrarC.cpp
-// HomeRegistrarS.cpp
- ComponentInstallation_Impl.cpp
- ComponentServer_Impl.cpp
- Container_Base.cpp
- Container_Impl.cpp
-// HomeRegistrar_i.cpp
- Server_init.cpp
- ServerActivator_Impl.cpp
- }
-}
diff --git a/TAO/CIAO/ciao/CCM_Deployment.idl b/TAO/CIAO/ciao/CCM_Deployment.idl
deleted file mode 100644
index 441466de3e5..00000000000
--- a/TAO/CIAO/ciao/CCM_Deployment.idl
+++ /dev/null
@@ -1,155 +0,0 @@
-// $Id$
-
-/**
- * @@ Compile this file with:
- *
- * tao_idl -Gv -I ../.. -I ../../orbsvcs/orbsvcs \
- * -Wb,export_macro=CIAO_Export \
- * -Wb,export_include=CIAO_export.h \
- * -Wb,pre_include="ace/pre.h" \
- * -Wb,post_include="ace/post.h" \
- * CCM_Deployment.idl
- */
-
-//#define CIAO_HAS_IMPORT_KEYWORD
-
-#if !defined (CCM_DEPLOYMENT_IDL)
-#define CCM_DEPLOYMENT_IDL
-
-#include "CCM_Component.idl"
-
-// *************** Packaging and Deployment ***************
-
-module Components
-{
- typeprefix Components "omg.org";
-
- module Deployment
- {
- typedef string UUID;
- typedef string Location;
-
- enum AssemblyState
- {
- INACTIVE,
- INSERVICE
- };
-
- exception UnknownImplId {};
- exception InvalidLocation {};
- exception InstallationFailure
- {
- FailureReason reason;
- };
- exception InvalidAssembly {};
-
- interface ComponentInstallation
- {
- void install(in UUID implUUID,
- in Location component_loc)
- raises (InvalidLocation,
- InstallationFailure);
-
- void replace(in UUID implUUID,
- in Location component_loc)
- raises (InvalidLocation,
- InstallationFailure);
-
- void remove(in UUID implUUID)
- raises (UnknownImplId,
- RemoveFailure);
-
- Location get_implementation (in UUID implUUID)
- raises (UnknownImplId,
- InstallationFailure);
- };
-
- interface Assembly
- {
- void build()
- raises (CreateFailure);
-
- void tear_down()
- raises (RemoveFailure);
-
- AssemblyState get_state();
- };
-
- interface AssemblyFactory
- {
- Cookie create_assembly (in Location assembly_loc)
- raises (InvalidLocation,
- CreateFailure);
-
- Assembly lookup(in Cookie c)
- raises (InvalidAssembly);
-
- void destroy(in Cookie c)
- raises (InvalidAssembly,
- RemoveFailure);
- };
-
- interface ComponentServer; // Forward decl.
- typedef sequence<ComponentServer> ComponentServers;
-
- interface ServerActivator
- {
- ComponentServer create_component_server (in ConfigValues config)
- raises (CreateFailure,
- InvalidConfiguration);
-
- void remove_component_server (in ComponentServer server)
- raises (RemoveFailure);
-
- ComponentServers get_component_servers ();
- };
-
- interface Container; // Forward decl.
- typedef sequence<Container> Containers;
-
- interface ComponentServer
- {
- readonly attribute ConfigValues configuration;
-
- ServerActivator get_server_activator ();
- Container create_container (in ConfigValues config)
- raises (CreateFailure,
- InvalidConfiguration);
-
- void remove_container (in Container cref)
- raises (RemoveFailure);
-
- Containers get_containers ();
-
- void remove ()
- raises (RemoveFailure);
- };
-
- exception ImplEntryPointNotFound {};
-
- interface Container
- {
- readonly attribute ConfigValues configuration;
-
- ComponentServer get_component_server ();
-
- CCMHome install_home (in UUID id,
- in string entrypt,
- in ConfigValues config)
- raises (UnknownImplId,
- ImplEntryPointNotFound,
- InstallationFailure,
- InvalidConfiguration);
-
- void remove_home (in CCMHome href)
- raises (RemoveFailure);
-
- CCMHomes get_homes ();
- void remove ()
- raises (RemoveFailure);
-
- };
-
- };
-};
-#endif /* CCM_DEPLOYMENT_IDL */
diff --git a/TAO/CIAO/ciao/CCM_Event.idl b/TAO/CIAO/ciao/CCM_Event.idl
deleted file mode 100644
index 7773eedd186..00000000000
--- a/TAO/CIAO/ciao/CCM_Event.idl
+++ /dev/null
@@ -1,100 +0,0 @@
-// $Id$
-
-/**
- * @@ Compile this file with:
- *
- * tao_idl -Gv -I ../.. -I ../../orbsvcs/orbsvcs \
- * -Wb,export_macro=CIAO_Export \
- * -Wb,export_include=CIAO_export.h \
- * -Wb,pre_include="ace/pre.h" \
- * -Wb,post_include="ace/post.h" \
- * CCM_Event.idl
- */
-
-//#define CIAO_HAS_IMPORT_KEYWORD
-
-#if !defined (CCM_EVENT_IDL)
-#define CCM_EVENT_IDL
-
-#include "CCM_Base.idl"
-
-module Components
-{
- typeprefix Components "omg.org";
-
- abstract valuetype EventBase {};
-
- interface EventConsumerBase
- {
- void push_event (in EventBase evt) raises (BadEventType);
- };
-
- valuetype ConsumerDescription : PortDescription
- {
- public EventConsumerBase consumer;
- };
- typedef sequence<ConsumerDescription> ConsumerDescriptions;
-
- valuetype EmitterDescription : PortDescription
- {
- public EventConsumerBase consumer;
- };
- typedef sequence<EmitterDescription> EmitterDescriptions;
-
- valuetype SubscriberDescription
- {
- public Cookie ck;
- public EventConsumerBase consumer;
- };
- typedef sequence<SubscriberDescription> SubscriberDescriptions;
-
- valuetype PublisherDescription : PortDescription
- {
- public SubscriberDescriptions consumer;
- };
- typedef sequence<PublisherDescription> PublisherDescriptions;
-
- interface Events
- {
- EventConsumerBase get_consumer (in FeatureName sink_name)
- raises (InvalidName);
-
- Cookie subscribe (in FeatureName publisher_name,
- in EventConsumerBase subscriber)
- raises (InvalidName,
- AlreadyConnected,
- InvalidConnection,
- ExceededConnectionLimit);
-
- EventConsumerBase unsubscribe (in FeatureName publisher_name,
- in Cookie ck)
- raises (InvalidName,
- InvalidConnection);
-
- void connect_consumer (in FeatureName emitter_name,
- in EventConsumerBase consumer)
- raises (InvalidName,
- AlreadyConnected,
- InvalidConnection);
-
- EventConsumerBase disconnect_consumer (in FeatureName source_name)
- raises (InvalidName,
- NoConnection);
-
- ConsumerDescriptions get_all_consumers ();
-
- ConsumerDescriptions get_named_consumers (in NameList names)
- raises (InvalidName);
-
- EmitterDescriptions get_all_emitters ();
-
- EmitterDescriptions get_named_emitters (in NameList names)
- raises (InvalidName);
-
- PublisherDescriptions get_all_publishers ();
-
- PublisherDescriptions get_named_publishers (in NameList names)
- raises (InvalidName);
- };
-};
-#endif /* CCM_EVENT_IDL */
diff --git a/TAO/CIAO/ciao/CCM_Transaction.idl b/TAO/CIAO/ciao/CCM_Transaction.idl
deleted file mode 100644
index c0c8cdc2c1d..00000000000
--- a/TAO/CIAO/ciao/CCM_Transaction.idl
+++ /dev/null
@@ -1,89 +0,0 @@
-// $Id$
-
-/**
- * @@ Compile this file with:
- *
- * tao_idl -Gv -I ../.. -I ../../orbsvcs/orbsvcs \
- * -Wb,export_macro=CIAO_Export \
- * -Wb,export_include=CIAO_export.h \
- * -Wb,pre_include="ace/pre.h" \
- * -Wb,post_include="ace/post.h" \
- * CCM_Transaction.idl
- */
-
-//#define CIAO_HAS_IMPORT_KEYWORD
-
-#if !defined (CCM_TRANSACTION_IDL)
-#define CCM_TRANSACTION_IDL
-
-module Components
-{
- typeprefix Components "omg.org";
-
- // @@ Components::Transaction is still there.
- module Transaction
- {
-
- typedef sequence<octet> TranToken;
-
- exception NoTransaction {};
- exception NotSupported {};
- exception SystemError {};
- exception RollbackError {};
- exception HeuristicMixed {};
- exception HeuristicRollback {};
- exception Security {};
- exception InvalidToken {};
-
- enum Status
- {
- ACTIVE,
- MARKED_ROLLBACK,
- PREPARED,
- COMMITTED,
- ROLLED_BACK,
- NO_TRANSACTION,
- PREPARING,
- COMMITTING,
- ROLLING_BACK
- };
-
- local interface UserTransaction {
- void begin ()
- raises (NotSupported,
- SystemError);
-
- void commit ()
- raises (RollbackError,
- NoTransaction,
- HeuristicMixed,
- HeuristicRollback,
- Security,
- SystemError);
-
- void rollback ()
- raises (NoTransaction,
- Security,
- SystemError);
-
- void set_rollback_only ()
- raises (NoTransaction,
- SystemError);
-
- Status get_status()
- raises (SystemError);
-
- void set_timeout (in long to)
- raises (SystemError);
-
- TranToken suspend ()
- raises (NoTransaction,
- SystemError);
-
- void resume (in TranToken txtoken)
- raises (InvalidToken,
- SystemError);
- };
- };
-};
-#endif /* CCM_TRANSACTION_IDL */
diff --git a/TAO/CIAO/ciao/CIAO_Client_Export.h b/TAO/CIAO/ciao/CIAO_Client_Export.h
deleted file mode 100644
index a566e94b0c2..00000000000
--- a/TAO/CIAO/ciao/CIAO_Client_Export.h
+++ /dev/null
@@ -1,50 +0,0 @@
-
-// -*- C++ -*-
-// $Id$
-// Definition for Win32 Export directives.
-// This file is generated automatically by generate_export_file.pl CIAO_CLIENT
-// ------------------------------
-#ifndef CIAO_CLIENT_EXPORT_H
-#define CIAO_CLIENT_EXPORT_H
-
-#include "ace/config-all.h"
-
-#if !defined (CIAO_CLIENT_HAS_DLL)
-# define CIAO_CLIENT_HAS_DLL 1
-#endif /* ! CIAO_CLIENT_HAS_DLL */
-
-#if defined (CIAO_CLIENT_HAS_DLL) && (CIAO_CLIENT_HAS_DLL == 1)
-# if defined (CIAO_CLIENT_BUILD_DLL)
-# define CIAO_CLIENT_Export ACE_Proper_Export_Flag
-# define CIAO_CLIENT_SINGLETON_DECLARATION(T) ACE_EXPORT_SINGLETON_DECLARATION (T)
-# define CIAO_CLIENT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_EXPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
-# else /* CIAO_CLIENT_BUILD_DLL */
-# define CIAO_CLIENT_Export ACE_Proper_Import_Flag
-# define CIAO_CLIENT_SINGLETON_DECLARATION(T) ACE_IMPORT_SINGLETON_DECLARATION (T)
-# define CIAO_CLIENT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_IMPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
-# endif /* CIAO_CLIENT_BUILD_DLL */
-#else /* CIAO_CLIENT_HAS_DLL == 1 */
-# define CIAO_CLIENT_Export
-# define CIAO_CLIENT_SINGLETON_DECLARATION(T)
-# define CIAO_CLIENT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
-#endif /* CIAO_CLIENT_HAS_DLL == 1 */
-
-// Set CIAO_CLIENT_NTRACE = 0 to turn on library specific tracing even if
-// tracing is turned off for ACE.
-#if !defined (CIAO_CLIENT_NTRACE)
-# if (ACE_NTRACE == 1)
-# define CIAO_CLIENT_NTRACE 1
-# else /* (ACE_NTRACE == 1) */
-# define CIAO_CLIENT_NTRACE 0
-# endif /* (ACE_NTRACE == 1) */
-#endif /* !CIAO_CLIENT_NTRACE */
-
-#if (CIAO_CLIENT_NTRACE == 1)
-# define CIAO_CLIENT_TRACE(X)
-#else /* (CIAO_CLIENT_NTRACE == 1) */
-# define CIAO_CLIENT_TRACE(X) ACE_TRACE_IMPL(X)
-#endif /* (CIAO_CLIENT_NTRACE == 1) */
-
-#endif /* CIAO_CLIENT_EXPORT_H */
-
-// End of auto generated file.
diff --git a/TAO/CIAO/ciao/CIAO_Container_Export.h b/TAO/CIAO/ciao/CIAO_Container_Export.h
deleted file mode 100644
index 74ba838721d..00000000000
--- a/TAO/CIAO/ciao/CIAO_Container_Export.h
+++ /dev/null
@@ -1,50 +0,0 @@
-
-// -*- C++ -*-
-// $Id$
-// Definition for Win32 Export directives.
-// This file is generated automatically by generate_export_file.pl CIAO_CONTAINER
-// ------------------------------
-#ifndef CIAO_CONTAINER_EXPORT_H
-#define CIAO_CONTAINER_EXPORT_H
-
-#include "ace/config-all.h"
-
-#if !defined (CIAO_CONTAINER_HAS_DLL)
-# define CIAO_CONTAINER_HAS_DLL 1
-#endif /* ! CIAO_CONTAINER_HAS_DLL */
-
-#if defined (CIAO_CONTAINER_HAS_DLL) && (CIAO_CONTAINER_HAS_DLL == 1)
-# if defined (CIAO_CONTAINER_BUILD_DLL)
-# define CIAO_CONTAINER_Export ACE_Proper_Export_Flag
-# define CIAO_CONTAINER_SINGLETON_DECLARATION(T) ACE_EXPORT_SINGLETON_DECLARATION (T)
-# define CIAO_CONTAINER_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_EXPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
-# else /* CIAO_CONTAINER_BUILD_DLL */
-# define CIAO_CONTAINER_Export ACE_Proper_Import_Flag
-# define CIAO_CONTAINER_SINGLETON_DECLARATION(T) ACE_IMPORT_SINGLETON_DECLARATION (T)
-# define CIAO_CONTAINER_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_IMPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
-# endif /* CIAO_CONTAINER_BUILD_DLL */
-#else /* CIAO_CONTAINER_HAS_DLL == 1 */
-# define CIAO_CONTAINER_Export
-# define CIAO_CONTAINER_SINGLETON_DECLARATION(T)
-# define CIAO_CONTAINER_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
-#endif /* CIAO_CONTAINER_HAS_DLL == 1 */
-
-// Set CIAO_CONTAINER_NTRACE = 0 to turn on library specific tracing even if
-// tracing is turned off for ACE.
-#if !defined (CIAO_CONTAINER_NTRACE)
-# if (ACE_NTRACE == 1)
-# define CIAO_CONTAINER_NTRACE 1
-# else /* (ACE_NTRACE == 1) */
-# define CIAO_CONTAINER_NTRACE 0
-# endif /* (ACE_NTRACE == 1) */
-#endif /* !CIAO_CONTAINER_NTRACE */
-
-#if (CIAO_CONTAINER_NTRACE == 1)
-# define CIAO_CONTAINER_TRACE(X)
-#else /* (CIAO_CONTAINER_NTRACE == 1) */
-# define CIAO_CONTAINER_TRACE(X) ACE_TRACE_IMPL(X)
-#endif /* (CIAO_CONTAINER_NTRACE == 1) */
-
-#endif /* CIAO_CONTAINER_EXPORT_H */
-
-// End of auto generated file.
diff --git a/TAO/CIAO/ciao/CIAO_Export.h b/TAO/CIAO/ciao/CIAO_Export.h
deleted file mode 100644
index 5ed6f44bb9c..00000000000
--- a/TAO/CIAO/ciao/CIAO_Export.h
+++ /dev/null
@@ -1,50 +0,0 @@
-
-// -*- C++ -*-
-// $Id$
-// Definition for Win32 Export directives.
-// This file is generated automatically by generate_export_file.pl CIAO
-// ------------------------------
-#ifndef CIAO_EXPORT_H
-#define CIAO_EXPORT_H
-
-#include "ace/config-all.h"
-
-#if !defined (CIAO_HAS_DLL)
-# define CIAO_HAS_DLL 1
-#endif /* ! CIAO_HAS_DLL */
-
-#if defined (CIAO_HAS_DLL) && (CIAO_HAS_DLL == 1)
-# if defined (CIAO_BUILD_DLL)
-# define CIAO_Export ACE_Proper_Export_Flag
-# define CIAO_SINGLETON_DECLARATION(T) ACE_EXPORT_SINGLETON_DECLARATION (T)
-# define CIAO_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_EXPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
-# else /* CIAO_BUILD_DLL */
-# define CIAO_Export ACE_Proper_Import_Flag
-# define CIAO_SINGLETON_DECLARATION(T) ACE_IMPORT_SINGLETON_DECLARATION (T)
-# define CIAO_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_IMPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
-# endif /* CIAO_BUILD_DLL */
-#else /* CIAO_HAS_DLL == 1 */
-# define CIAO_Export
-# define CIAO_SINGLETON_DECLARATION(T)
-# define CIAO_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
-#endif /* CIAO_HAS_DLL == 1 */
-
-// Set CIAO_NTRACE = 0 to turn on library specific tracing even if
-// tracing is turned off for ACE.
-#if !defined (CIAO_NTRACE)
-# if (ACE_NTRACE == 1)
-# define CIAO_NTRACE 1
-# else /* (ACE_NTRACE == 1) */
-# define CIAO_NTRACE 0
-# endif /* (ACE_NTRACE == 1) */
-#endif /* !CIAO_NTRACE */
-
-#if (CIAO_NTRACE == 1)
-# define CIAO_TRACE(X)
-#else /* (CIAO_NTRACE == 1) */
-# define CIAO_TRACE(X) ACE_TRACE_IMPL(X)
-#endif /* (CIAO_NTRACE == 1) */
-
-#endif /* CIAO_EXPORT_H */
-
-// End of auto generated file.
diff --git a/TAO/CIAO/ciao/CIAO_Server_Export.h b/TAO/CIAO/ciao/CIAO_Server_Export.h
deleted file mode 100644
index 2f0145331e9..00000000000
--- a/TAO/CIAO/ciao/CIAO_Server_Export.h
+++ /dev/null
@@ -1,50 +0,0 @@
-
-// -*- C++ -*-
-// $Id$
-// Definition for Win32 Export directives.
-// This file is generated automatically by generate_export_file.pl CIAO_SERVER
-// ------------------------------
-#ifndef CIAO_SERVER_EXPORT_H
-#define CIAO_SERVER_EXPORT_H
-
-#include "ace/config-all.h"
-
-#if !defined (CIAO_SERVER_HAS_DLL)
-# define CIAO_SERVER_HAS_DLL 1
-#endif /* ! CIAO_SERVER_HAS_DLL */
-
-#if defined (CIAO_SERVER_HAS_DLL) && (CIAO_SERVER_HAS_DLL == 1)
-# if defined (CIAO_SERVER_BUILD_DLL)
-# define CIAO_SERVER_Export ACE_Proper_Export_Flag
-# define CIAO_SERVER_SINGLETON_DECLARATION(T) ACE_EXPORT_SINGLETON_DECLARATION (T)
-# define CIAO_SERVER_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_EXPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
-# else /* CIAO_SERVER_BUILD_DLL */
-# define CIAO_SERVER_Export ACE_Proper_Import_Flag
-# define CIAO_SERVER_SINGLETON_DECLARATION(T) ACE_IMPORT_SINGLETON_DECLARATION (T)
-# define CIAO_SERVER_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_IMPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
-# endif /* CIAO_SERVER_BUILD_DLL */
-#else /* CIAO_SERVER_HAS_DLL == 1 */
-# define CIAO_SERVER_Export
-# define CIAO_SERVER_SINGLETON_DECLARATION(T)
-# define CIAO_SERVER_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
-#endif /* CIAO_SERVER_HAS_DLL == 1 */
-
-// Set CIAO_SERVER_NTRACE = 0 to turn on library specific tracing even if
-// tracing is turned off for ACE.
-#if !defined (CIAO_SERVER_NTRACE)
-# if (ACE_NTRACE == 1)
-# define CIAO_SERVER_NTRACE 1
-# else /* (ACE_NTRACE == 1) */
-# define CIAO_SERVER_NTRACE 0
-# endif /* (ACE_NTRACE == 1) */
-#endif /* !CIAO_SERVER_NTRACE */
-
-#if (CIAO_SERVER_NTRACE == 1)
-# define CIAO_SERVER_TRACE(X)
-#else /* (CIAO_SERVER_NTRACE == 1) */
-# define CIAO_SERVER_TRACE(X) ACE_TRACE_IMPL(X)
-#endif /* (CIAO_SERVER_NTRACE == 1) */
-
-#endif /* CIAO_SERVER_EXPORT_H */
-
-// End of auto generated file.
diff --git a/TAO/CIAO/ciao/CIAO_Servers.idl b/TAO/CIAO/ciao/CIAO_Servers.idl
deleted file mode 100644
index 19180649f38..00000000000
--- a/TAO/CIAO/ciao/CIAO_Servers.idl
+++ /dev/null
@@ -1,19 +0,0 @@
-// $Id$
-
-/**
- * @file CIAO_Servers.idl
- *
- * @brief Some CIAO helper interfaces for implementing various server
- * tools.
- */
-
-#include "CCM_Deployment.idl"
-
-module CIAO
-{
- interface Activator_Callback
- {
- ::Components::Deployment::ServerActivator
- register_component_server (in ::Components::Deployment::ComponentServer svr);
- };
-};
diff --git a/TAO/CIAO/ciao/CIAO_Value.idl b/TAO/CIAO/ciao/CIAO_Value.idl
deleted file mode 100644
index 41f27ae2cf3..00000000000
--- a/TAO/CIAO/ciao/CIAO_Value.idl
+++ /dev/null
@@ -1,17 +0,0 @@
-// $Id$
-
-/**
- * @file CIAO_Value.idl
- *
- * @brief Some CIAO valuetype extension for internal use.
- */
-
-#include "CCM_Base.idl"
-
-module CIAO
-{
- valuetype Cookie : ::Components::Cookie
- {
- CORBA::OctetSeq get_cookie ();
- };
-};
diff --git a/TAO/CIAO/ciao/CIAO_common.h b/TAO/CIAO/ciao/CIAO_common.h
deleted file mode 100644
index 9a187410d1c..00000000000
--- a/TAO/CIAO/ciao/CIAO_common.h
+++ /dev/null
@@ -1,31 +0,0 @@
-// $Id$
-
-/**
- * @file CIAO_common.h
- *
- * This file collects common CIAO macro definitions.
- *
- * @author Nanbor Wang <nanbor@cs.wustl.edu>
- */
-
-#ifndef CIAO_COMMON_H
-#define CIAO_COMMON_H
-#include "ace/pre.h"
-
-#include "ace/config-all.h"
-
-#if !defined ACE_LACKS_PRAGMA_ONCE
-#pragma once
-#endif /* ! ACE_LACKS_PRAGMA_ONCE */
-
-#define CIAO_REGISTER_VALUE_FACTORY(ORB,FACTORY,VALUETYPE) {\
- CORBA::ValueFactory factory = new FACTORY; \
- CORBA::ValueFactory prev_factory = \
- ORB->register_value_factory \
- (VALUETYPE::_tao_obv_static_repository_id (), \
- factory); \
- if (prev_factory) prev_factory->_remove_ref (); \
- factory->_remove_ref (); }
-
-#include "ace/post.h"
-#endif /* CIAO_COMMON_H */
diff --git a/TAO/CIAO/ciao/Client_init.cpp b/TAO/CIAO/ciao/Client_init.cpp
deleted file mode 100644
index b11d6b96dde..00000000000
--- a/TAO/CIAO/ciao/Client_init.cpp
+++ /dev/null
@@ -1,36 +0,0 @@
-// $Id$
-
-#include "Client_init.h"
-#include "CIAO_common.h"
-#include "CCM_ComponentC.h"
-#include "CIAO_ValueC.h"
-
-int
-CIAO::Client_init (CORBA::ORB_ptr o)
-{
- CIAO_REGISTER_VALUE_FACTORY (o, Components::Cookie_init,
- Components::Cookie);
- CIAO_REGISTER_VALUE_FACTORY (o, Components::Cookie_init,
- CIAO::Cookie);
- CIAO_REGISTER_VALUE_FACTORY (o, Components::PortDescription_init,
- Components::PortDescription);
- CIAO_REGISTER_VALUE_FACTORY (o, Components::FacetDescription_init,
- Components::FacetDescription);
- CIAO_REGISTER_VALUE_FACTORY (o, Components::ConnectionDescription_init,
- Components::ConnectionDescription);
- CIAO_REGISTER_VALUE_FACTORY (o, Components::ReceptacleDescription_init,
- Components::ReceptacleDescription);
- CIAO_REGISTER_VALUE_FACTORY (o, Components::ConsumerDescription_init,
- Components::ConsumerDescription);
- CIAO_REGISTER_VALUE_FACTORY (o, Components::EmitterDescription_init,
- Components::EmitterDescription);
- CIAO_REGISTER_VALUE_FACTORY (o, Components::SubscriberDescription_init,
- Components::SubscriberDescription);
- CIAO_REGISTER_VALUE_FACTORY (o, Components::PublisherDescription_init,
- Components::PublisherDescription);
- CIAO_REGISTER_VALUE_FACTORY (o, Components::ConfigValue_init,
- Components::ConfigValue);
- CIAO_REGISTER_VALUE_FACTORY (o, Components::ComponentPortDescription_init,
- Components::ComponentPortDescription);
- return 0;
-}
diff --git a/TAO/CIAO/ciao/Client_init.h b/TAO/CIAO/ciao/Client_init.h
deleted file mode 100644
index e8cbbce6f97..00000000000
--- a/TAO/CIAO/ciao/Client_init.h
+++ /dev/null
@@ -1,35 +0,0 @@
-// $Id$
-
-/**
- * @file Client_init.h
- *
- * Initializing CIAO client side ORB, if they need to.
- *
- * @author Nanbor Wang <nanbor@cs.wustl.edu>
- */
-
-#ifndef CIAO_CLIENT_INIT_H
-#define CIAO_CLIENT_INIT_H
-#include "ace/pre.h"
-
-#include "tao/corbafwd.h"
-#include "CIAO_Client_Export.h"
-
-#if !defined ACE_LACKS_PRAGMA_ONCE
-#pragma once
-#endif /* ! ACE_LACKS_PRAGMA_ONCE */
-
-namespace CIAO
-{
- /**
- * The initialize routine for any clients that need to access
- * component. This routine now simply registers various valuetype
- * factories defined in CIAO_Component.pidl. Currently, this method
- * should be call right after ORB initialization but we should try
- * to register these stuff automatically.
- */
- CIAO_CLIENT_Export int Client_init (CORBA::ORB_ptr o);
-}
-
-#include "ace/post.h"
-#endif /* CIAO_CLIENT_INIT_H */
diff --git a/TAO/CIAO/ciao/ComponentInstallation_Impl.cpp b/TAO/CIAO/ciao/ComponentInstallation_Impl.cpp
deleted file mode 100644
index 4c8c601316d..00000000000
--- a/TAO/CIAO/ciao/ComponentInstallation_Impl.cpp
+++ /dev/null
@@ -1,191 +0,0 @@
-// $Id$
-
-#include "ComponentInstallation_Impl.h"
-#include "ace/Configuration_Import_Export.h"
-
-#if !defined (__ACE_INLINE__)
-# include "ComponentInstallation_Impl.inl"
-#endif /* __ACE_INLINE__ */
-
-CIAO::ComponentInstallation_Impl::~ComponentInstallation_Impl ()
-{
- this->fini ();
-}
-
-PortableServer::POA_ptr
-CIAO::ComponentInstallation_Impl::_default_POA (void)
-{
- return PortableServer::POA::_duplicate (this->poa_.in ());
-}
-
-int
-CIAO::ComponentInstallation_Impl::init (const char *fname,
- const char *section
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- if (fname == 0)
- ACE_THROW_RETURN (CORBA::INTERNAL (), -1);
- else
- this->filename_ = CORBA::string_dup (fname);
-
- if (section == 0)
- section = "ComponentInstallation";
- this->section_name_ = CORBA::string_dup (section);
-
- ACE_Configuration_Heap *tmp = 0;
- ACE_NEW_THROW_EX (tmp,
- ACE_Configuration_Heap (),
- CORBA::INTERNAL ());
- ACE_CHECK_RETURN (-1);
-
- auto_ptr<ACE_Configuration_Heap> config (tmp);
-
- if (config->open () != 0)
- {
- ACE_DEBUG ((LM_ERROR, "Unable to initilize installation datafile\n"));
- ACE_THROW_RETURN (CORBA::INTERNAL (), -1);
- }
-
- ACE_Ini_ImpExp import (*config);
-
- if (import.import_config (fname) != 0)
- ACE_THROW_RETURN (CORBA::INTERNAL (), -1);
-
- this->installation_ = config.release ();
-
- return 0;
-}
-
-int
-CIAO::ComponentInstallation_Impl::fini ()
-{
- if (this->installation_ != 0)
- {
- // @ back up the installation and destroy the
- ACE_Ini_ImpExp exp (*this->installation_);
-
- if (exp.export_config (this->filename_.in ()) != 0)
- ACE_DEBUG ((LM_DEBUG,
- "CIAO::ComponentInstallation Failed to store the installation information to file: %s\n",
- this->filename_.in ()));
- delete this->installation_;
- this->installation_ = 0;
- }
- return 0;
-}
-
-void
-CIAO::ComponentInstallation_Impl::install (const char * implUUID,
- const char * component_loc
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::Deployment::InvalidLocation,
- Components::Deployment::InstallationFailure))
-{
- // Only use the root section for now.
- const ACE_Configuration_Section_Key &root_section
- = this->installation_->root_section ();
- ACE_Configuration::VALUETYPE type;
-
- ACE_Configuration_Section_Key section;
- this->installation_->open_section (root_section,
- this->section_name_.in (),
- 1,
- section);
-
- // Check if implUUID has already been installed.
- if (this->installation_->find_value (section,
- implUUID,
- type) == 0)
- ACE_THROW (Components::Deployment::InstallationFailure ());
-
- // @@ We may need to do some extra work to provide a more
- // comprehensive component installation facility.
-
- ACE_TString value (component_loc, 0, 0);
- if (this->installation_->set_string_value (section,
- implUUID,
- value) != 0)
- ACE_THROW (Components::Deployment::InstallationFailure ());
-}
-
-void
-CIAO::ComponentInstallation_Impl::replace (const char * implUUID,
- const char * component_loc
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::Deployment::InvalidLocation,
- Components::Deployment::InstallationFailure))
-{
- // Only use the root section for now.
- const ACE_Configuration_Section_Key &root_section
- = this->installation_->root_section ();
-
- ACE_Configuration_Section_Key section;
- this->installation_->open_section (root_section,
- this->section_name_.in (),
- 1,
- section);
-
- // @@ We may need to do some extra work to provide a more
- // comprehensive component installation facility.
-
- ACE_TString value (component_loc, 0, 0);
- if (this->installation_->set_string_value (section,
- implUUID,
- value) != 0)
- ACE_THROW (Components::Deployment::InstallationFailure ());
-}
-
-void
-CIAO::ComponentInstallation_Impl::remove (const char * implUUID
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::Deployment::UnknownImplId,
- Components::RemoveFailure))
-{
- if (implUUID == 0)
- ACE_THROW (Components::Deployment::UnknownImplId ());
-
- // Only use the root section for now.
- const ACE_Configuration_Section_Key &root_section
- = this->installation_->root_section ();
-
- ACE_Configuration_Section_Key section;
- this->installation_->open_section (root_section,
- this->section_name_.in (),
- 1,
- section);
-
- if (this->installation_->remove_value (section,
- implUUID) != 0)
- // This should very well be UnknownImplId instead.
- ACE_THROW (Components::RemoveFailure ());
-}
-
-char *
-CIAO::ComponentInstallation_Impl::get_implementation (const char * implUUID
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::Deployment::UnknownImplId,
- Components::Deployment::InstallationFailure))
-{
- const ACE_Configuration_Section_Key &root_section
- = this->installation_->root_section ();
- ACE_TString retstr;
-
- ACE_Configuration_Section_Key section;
- this->installation_->open_section (root_section,
- this->section_name_.in (),
- 1,
- section);
-
- // Check if implUUID has already been installed.
- if (this->installation_->get_string_value (section,
- implUUID,
- retstr) != 0)
- ACE_THROW (Components::Deployment::UnknownImplId ());
-
- return CORBA::string_dup (retstr.fast_rep ());
-}
diff --git a/TAO/CIAO/ciao/ComponentInstallation_Impl.h b/TAO/CIAO/ciao/ComponentInstallation_Impl.h
deleted file mode 100644
index 3990aa715f4..00000000000
--- a/TAO/CIAO/ciao/ComponentInstallation_Impl.h
+++ /dev/null
@@ -1,117 +0,0 @@
-// -*- C++ -*-
-
-//=============================================================================
-/**
- * @file ComponentInstallation_Impl.h
- *
- * $Id$
- *
- * This file contains implementation for the servant of
- * Components::Deployment::ComponentInstallation interface.
- *
- * @author Nanbor Wang <nanbor@cs.wustl.edu>
- */
-//=============================================================================
-
-
-#ifndef CIAO_COMPONENTINSTALLATION_IMPL_H
-#define CIAO_COMPONENTINSTALLATION_IMPL_H
-#include "ace/pre.h"
-
-#include "CCM_DeploymentS.h"
-#include "ace/Configuration.h"
-
-#if !defined (ACE_LACKS_PRAGMA_ONCE)
-# pragma once
-#endif /* ACE_LACKS_PRAGMA_ONCE */
-
-
-namespace CIAO
-{
- /**
- * @class ComponentInstallation_Impl
- *
- * @brief Servant implementation for Components::Deployment::ComponentInstallation
- *
- * This class implements the Components::Deployment::ComponentInstallation
- * interface as defined by the CCM spcification. As the interface
- * implies, this is actually part of the deployment interface and is
- * used to manage the lifecycle of containers running on the server.
- */
- class CIAO_SERVER_Export ComponentInstallation_Impl
- : public virtual POA_Components::Deployment::ComponentInstallation,
- public virtual PortableServer::RefCountServantBase
- {
- public:
- /// Constructor
- ComponentInstallation_Impl (CORBA::ORB_ptr o,
- PortableServer::POA_ptr p);
-
- /// Destructor
- virtual ~ComponentInstallation_Impl (void);
-
- /// Get the containing POA. This operation does *not*
- /// increase the reference count of the POA.
- virtual PortableServer::POA_ptr _default_POA (void);
-
- /// Initialize the ComponentInstallation.
- int init (const char *fname,
- const char *section
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- /// Initialize the ComponentInstallation.
- int fini ();
-
- /// Components::Deployment::ComponentInstallation defined attributes/operations.
-
- virtual void install (const char * implUUID,
- const char * component_loc
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::Deployment::InvalidLocation,
- Components::Deployment::InstallationFailure));
-
- virtual void replace (const char * implUUID,
- const char * component_loc
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::Deployment::InvalidLocation,
- Components::Deployment::InstallationFailure));
-
- virtual void remove (const char * implUUID
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::Deployment::UnknownImplId,
- Components::RemoveFailure));
-
- virtual char * get_implementation (const char * implUUID
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::Deployment::UnknownImplId,
- Components::Deployment::InstallationFailure));
-
- protected:
- /// Keep a pointer to the managing ORB serving this servant.
- CORBA::ORB_var orb_;
-
- /// Keep a pointer to the managing POA.
- PortableServer::POA_var poa_;
-
- /// Persistent store filename for storing the configuration info.
- CORBA::String_var filename_;
-
- /// Section name in Configuration
- CORBA::String_var section_name_;
-
- /// Mapping and persistent
- ACE_Configuration *installation_;
- };
-}
-
-#if defined (__ACE_INLINE__)
-# include "ComponentInstallation_Impl.inl"
-#endif /* __ACE_INLINE__ */
-
-#include "ace/post.h"
-#endif /* CIAO_COMPONENTINSTALLATION_IMPL_H */
diff --git a/TAO/CIAO/ciao/ComponentInstallation_Impl.inl b/TAO/CIAO/ciao/ComponentInstallation_Impl.inl
deleted file mode 100644
index 856817bf70c..00000000000
--- a/TAO/CIAO/ciao/ComponentInstallation_Impl.inl
+++ /dev/null
@@ -1,11 +0,0 @@
-/* -*- C++ -*- */
-// $Id$
-
-ACE_INLINE
-CIAO::ComponentInstallation_Impl::ComponentInstallation_Impl (CORBA::ORB_ptr o,
- PortableServer::POA_ptr p)
- : orb_ (CORBA::ORB::_duplicate (o)),
- poa_ (PortableServer::POA::_duplicate (p)),
- installation_ (0)
-{
-}
diff --git a/TAO/CIAO/ciao/ComponentServer_Impl.cpp b/TAO/CIAO/ciao/ComponentServer_Impl.cpp
deleted file mode 100644
index b2bf2ae25a0..00000000000
--- a/TAO/CIAO/ciao/ComponentServer_Impl.cpp
+++ /dev/null
@@ -1,182 +0,0 @@
-// $Id$
-
-#include "ComponentServer_Impl.h"
-#include "Container_Impl.h"
-
-#if !defined (__ACE_INLINE__)
-# include "ComponentServer_Impl.inl"
-#endif /* __ACE_INLINE__ */
-
-CIAO::ComponentServer_Impl::~ComponentServer_Impl ()
-{
- // @@ remove all Containers?
-}
-
-PortableServer::POA_ptr
-CIAO::ComponentServer_Impl::_default_POA (void)
-{
- return PortableServer::POA::_duplicate (this->poa_.in ());
-}
-
-int
-CIAO::ComponentServer_Impl::init (::Components::ConfigValues &options
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- // @@ Initialize ComponentServer and create the internal container
- // implementation that actually interacts with installed
- // homes/components.
-
- ACE_NEW_THROW_EX (this->config_,
- ::Components::ConfigValues (),
- CORBA::INTERNAL ());
- ACE_CHECK_RETURN (-1);
-
- *this->config_ = options;
-
- // We will probably need two ORBs in this process. One for the
- // deployment framework, and one for the actual components.
- return 0;
-}
-
-::Components::ConfigValues *
-CIAO::ComponentServer_Impl::configuration (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- Components::ConfigValues *retval;
-
- ACE_NEW_THROW_EX (retval,
- Components::ConfigValues (),
- CORBA::INTERNAL ());
- ACE_CHECK_RETURN (0);
-
- *retval = this->config_.inout ();
-
- return retval;
-}
-
-::Components::Deployment::ServerActivator_ptr
-CIAO::ComponentServer_Impl::get_server_activator (ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- return Components::Deployment::ServerActivator::_duplicate (this->activator_.in ());
-}
-
-::Components::Deployment::Container_ptr
-CIAO::ComponentServer_Impl::create_container (const Components::ConfigValues & config
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::CreateFailure,
- Components::InvalidConfiguration))
-{
- CIAO::Container_Impl *container_servant = 0;
-
- ACE_NEW_THROW_EX (container_servant,
- CIAO::Container_Impl (this->orb_.in (),
- this->poa_.in (),
- this->get_objref ()),
- CORBA::INTERNAL ());
- ACE_CHECK_RETURN (0);
-
- PortableServer::ServantBase_var safe_servant (container_servant);
- container_servant->init (config,
- this->get_component_installation ()
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (0);
-
- PortableServer::ObjectId_var oid
- = this->poa_->activate_object (container_servant
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (0);
-
- CORBA::Object_var obj
- = this->poa_->id_to_reference (oid.in ()
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (0);
-
- Components::Deployment::Container_var ci
- = Components::Deployment::Container::_narrow (obj.in ()
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (0);
-
- // Cached the objref in its servant.
- container_servant->set_objref (ci.in () ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (0);
-
- {
- ACE_GUARD_RETURN (TAO_SYNCH_MUTEX, ace_mon, this->lock_, 0);
-
- this->container_set_.add (ci.in ());
- }
-
- return ci._retn ();
-}
-
-void
-CIAO::ComponentServer_Impl::remove_container (Components::Deployment::Container_ptr cref
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::RemoveFailure))
-{
- ACE_GUARD (TAO_SYNCH_MUTEX, ace_mon, this->lock_);
-
- if (this->container_set_.object_in_set (cref) == 0)
- ACE_THROW (Components::RemoveFailure());
-
- cref->remove (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_CHECK;
-
- // @@ Deactivate object.
- PortableServer::ObjectId_var oid
- = this->poa_->reference_to_id (cref
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK;
-
- this->poa_->deactivate_object (oid.in ()
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK;
-
- // Should we remove the server still, even if the previous call failed.
-
- if (this->container_set_.remove (cref) == -1)
- ACE_THROW (::Components::RemoveFailure ());
-}
-
-Components::Deployment::Containers *
-CIAO::ComponentServer_Impl::get_containers (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- ACE_GUARD_RETURN (TAO_SYNCH_MUTEX, ace_mon, this->lock_, 0);
-
- Components::Deployment::Containers_var retval;
-
- ACE_NEW_THROW_EX (retval.out (),
- Components::Deployment::Containers (),
- CORBA::INTERNAL ());
- ACE_CHECK_RETURN (0);
-
- CORBA::ULong len = this->container_set_.size ();
- retval->length (len); // resize
-
-#if 0
- // TAO is broken here. Both <replace>, <get_buffer> and friends are missing.
- this->container_set_.copy (len, retval->get_buffer (0));
-#else
- for (CORBA::ULong i = 0; i < len; ++i)
- {
- retval[i] = this->container_set_.at (i);
- }
-#endif
-
- return retval._retn ();
-}
-
-void
-CIAO::ComponentServer_Impl::remove (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::RemoveFailure))
-{
- // @@ Need to remove all containers/homes/components.
-
- this->orb_->shutdown (ACE_ENV_ARG_PARAMETER);
-}
diff --git a/TAO/CIAO/ciao/ComponentServer_Impl.h b/TAO/CIAO/ciao/ComponentServer_Impl.h
deleted file mode 100644
index 93d36f89b82..00000000000
--- a/TAO/CIAO/ciao/ComponentServer_Impl.h
+++ /dev/null
@@ -1,142 +0,0 @@
-// -*- C++ -*-
-
-//=============================================================================
-/**
- * @file ComponentServer_Impl.h
- *
- * $Id$
- *
- * This file contains implementation for the servant of
- * Components::Deployment::ComponentServer interface.
- *
- * @author Nanbor Wang <nanbor@cs.wustl.edu>
- */
-//=============================================================================
-
-
-#ifndef CIAO_COMPONENTSERVER_IMPL_H
-#define CIAO_COMPONENTSERVER_IMPL_H
-#include "ace/pre.h"
-
-#include "ace/config-all.h"
-
-#if !defined (ACE_LACKS_PRAGMA_ONCE)
-# pragma once
-#endif /* ACE_LACKS_PRAGMA_ONCE */
-
-#include "CCM_DeploymentS.h"
-#include "Object_Set_T.h"
-
-namespace CIAO
-{
- /**
- * @class ComponentServer_Impl
- *
- * @brief Servant implementation for Components::Deployment::ComponentServer
- *
- * This class implements the Components::Deployment::ComponentServer
- * interface as defined by the CCM spcification. As the interface
- * implies, this is actually part of the deployment interface and is
- * used to manage the lifecycle of containers running on the server.
- */
- class CIAO_SERVER_Export ComponentServer_Impl
- : public virtual POA_Components::Deployment::ComponentServer,
- public virtual PortableServer::RefCountServantBase
- {
- public:
- /// Constructor
- ComponentServer_Impl (CORBA::ORB_ptr o,
- PortableServer::POA_ptr p);
-
- /// Destructor
- virtual ~ComponentServer_Impl (void);
-
- /// Get the containing POA. This operation does *not*
- /// increase the reference count of the POA.
- virtual PortableServer::POA_ptr _default_POA (void);
-
- /// Initialize the ComponentServer with a name.
- int init (::Components::ConfigValues &options
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- /// Components::Deployment::ComponentServer defined attributes/operations.
-
- virtual ::Components::ConfigValues *
- configuration (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- virtual ::Components::Deployment::ServerActivator_ptr
- get_server_activator (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- virtual ::Components::Deployment::Container_ptr
- create_container (const Components::ConfigValues & config
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::CreateFailure,
- Components::InvalidConfiguration));
-
- virtual void remove_container (Components::Deployment::Container_ptr cref
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::RemoveFailure));
-
- virtual ::Components::Deployment::Containers *
- get_containers (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- virtual void remove (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::RemoveFailure));
-
- // ------------ CIAO Internal operations -------------
- /// Set the cached object reference
- void set_objref (Components::Deployment::ServerActivator_ptr act,
- Components::Deployment::ComponentServer_ptr cs = 0
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- /// Return the cached object reference of this ComponentServer object.
- /// This operation does *NOT* increase the reference count.
- Components::Deployment::ComponentServer_ptr
- get_objref (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS);
-
- /// Get the cached ComponentInstallation object reference.
- /// This operation does *NOT* increase the reference count.
- Components::Deployment::ComponentInstallation_ptr
- get_component_installation (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS);
-
-protected:
- /// Keep a pointer to the managing ORB serving this servant.
- CORBA::ORB_var orb_;
-
- /// Keep a pointer to the managing POA.
- PortableServer::POA_var poa_;
-
- /// Cached ConfigValues.
- Components::ConfigValues_var config_;
-
- /// And a reference to the ServerActivator that created us.
- Components::Deployment::ServerActivator_var activator_;
-
- /// Cache the object reference to ourselves.
- Components::Deployment::ComponentServer_var objref_;
-
- /// And a reference to the ServerActivator that created us.
- Components::Deployment::ComponentInstallation_var installation_;
-
- /// Synchronize access to the object set.
- TAO_SYNCH_MUTEX lock_;
-
- /// Keep a list of managed Container objects.
- Object_Set<Components::Deployment::Container, ::Components::Deployment::Container_var> container_set_;
- };
-}
-
-#if defined (__ACE_INLINE__)
-# include "ComponentServer_Impl.inl"
-#endif /* __ACE_INLINE__ */
-
-#include "ace/post.h"
-#endif /* CIAO_COMPONENTSERVER_IMPL_H */
diff --git a/TAO/CIAO/ciao/ComponentServer_Impl.inl b/TAO/CIAO/ciao/ComponentServer_Impl.inl
deleted file mode 100644
index 01c3dc84711..00000000000
--- a/TAO/CIAO/ciao/ComponentServer_Impl.inl
+++ /dev/null
@@ -1,58 +0,0 @@
-/* -*- C++ -*- */
-// $Id$
-
-ACE_INLINE
-CIAO::ComponentServer_Impl::ComponentServer_Impl (CORBA::ORB_ptr o,
- PortableServer::POA_ptr p)
- : orb_ (CORBA::ORB::_duplicate (o)),
- poa_ (PortableServer::POA::_duplicate (p))
-{
-}
-
-ACE_INLINE void
-CIAO::ComponentServer_Impl::set_objref (Components::Deployment::ServerActivator_ptr act,
- Components::Deployment::ComponentServer_ptr cs
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- if (!CORBA::is_nil (this->activator_.in ()) || !CORBA::is_nil (this->objref_.in ()))
- ACE_THROW (CORBA::BAD_INV_ORDER ());
-
- this->activator_ = Components::Deployment::ServerActivator::_duplicate (act);
- this->objref_ = Components::Deployment::ComponentServer::_duplicate (cs);
-}
-
-ACE_INLINE Components::Deployment::ComponentServer_ptr
-CIAO::ComponentServer_Impl::get_objref (ACE_ENV_SINGLE_ARG_DECL)
-{
- if (CORBA::is_nil (this->objref_.in ()))
- {
- this->objref_ = this->_this (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_CHECK_RETURN (0);
- }
-
- return this->objref_.in ();
-}
-
-ACE_INLINE Components::Deployment::ComponentInstallation_ptr
-CIAO::ComponentServer_Impl::get_component_installation (ACE_ENV_SINGLE_ARG_DECL)
-{
- if (CORBA::is_nil (this->installation_.in ()))
- {
- ACE_GUARD_RETURN (TAO_SYNCH_MUTEX, ace_mon, this->lock_, 0);
-
- CORBA::Object_var tmp = this->orb_->resolve_initial_references ("ComponentInstallation"
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (0);
-
- this->installation_ =
- Components::Deployment::ComponentInstallation::_narrow (tmp.in ()
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (0);
-
- if (CORBA::is_nil (this->installation_.in ()))
- ACE_THROW_RETURN (CORBA::INTERNAL (), 0);
- }
-
- return this->installation_.in ();
-}
diff --git a/TAO/CIAO/ciao/Component_Base.idl b/TAO/CIAO/ciao/Component_Base.idl
deleted file mode 100644
index 9d1485650a5..00000000000
--- a/TAO/CIAO/ciao/Component_Base.idl
+++ /dev/null
@@ -1,788 +0,0 @@
-// $Id$
-
-/**
- * @@ Compile this file with:
- *
- * tao_idl -Gv -I W:/ACE_wrappers/TAO -I W:/ACE_wrappers/TAO/orbsvcs/orbsvcs Component_Base.idl
- *
- * This file has been split into
- * CIAO_Base.pidl
- * CIAO_Event.pidl
- * CIAO_Component.pidl
- * CIAO_Transaction.pidl
- * CIAO_Container.pidl
- * CIAO_Container_Ex.pidl
- * CIAO_Deployment.pidl
- */
-
-// import ::CORBA
-// import ::SecurityLevel2
-// import ::CosPersistentState
-// import ::PortableServer
-// import ::CosNotification
-// import ::CosNotifyChannelAdmin
-
-#include <SecurityLevel2.idl>
-#include <CosPersistentState.idl>
-#include <tao/IFR_Client/Interface.pidl>
-// #include <CosNotification.idl>
-// #include <CosNotifyChannelAdmin.idl>
-
-/**
- * Temporarily fix for lacking of typePrefix keyword.
- * Search for the word "typePrefix" when tao_idl starts
- * supporting the keyword.
- */
-#pragma prefix "omg.org"
-
-module Components {
-
- /**
- * @@ Commented out temporarily for lack of typePrefix support.
- */
- // typePrefix Components "omg.org"
- typedef string FeatureName;
- typedef sequence<FeatureName> NameList;
-
- valuetype Cookie
- {
- private CORBA::OctetSeq cookieValue;
- };
-
- valuetype PortDescription
- {
- public FeatureName Name;
- public CORBA::RepositoryId type_id;
- };
-
- valuetype FacetDescription : PortDescription
- {
- public Object facet_ref;
- };
-
- typedef sequence<FacetDescription> FacetDescriptions;
-
- typedef unsigned long FailureReason;
-
- exception InvalidName {};
- exception InvalidConnection {};
- exception ExceededConnectionLimit {};
- exception AlreadyConnected {};
- exception NoConnection {};
- exception CookieRequired {};
- exception CreateFailure {
- FailureReason reason;
- };
- exception FinderFailure
- {
- FailureReason reason;
- };
- exception RemoveFailure
- {
- FailureReason reason;
- };
- exception DuplicateKeyValue {};
- exception InvalidKey {};
- exception UnknownKeyValue {};
- exception NoKeyAvailable {};
- exception BadEventType
- {
- CORBA::RepositoryId expected_event_type;
- };
- exception HomeNotFound {};
- exception WrongComponentType {};
-
- typedef FailureReason InvalidConfigurationReason;
- const InvalidConfigurationReason UnknownConfigValueName = 0;
- const InvalidConfigurationReason InvalidConfigValueType = 1;
- const InvalidConfigurationReason ConfigValueRequired = 2;
- const InvalidConfigurationReason ConfigValueNotExpected = 3;
- exception InvalidConfiguration
- {
- InvalidConfigurationReason reason;
- FeatureName name;
- };
- exception IllegalState {};
-
- interface Navigation
- {
- Object provide_facet (in FeatureName name)
- raises (InvalidName);
- FacetDescriptions get_all_facets();
- FacetDescriptions get_named_facets (in NameList names)
- raises (InvalidName);
- boolean same_component (in Object object_ref);
- };
-
- valuetype ConnectionDescription
- {
- public Cookie ck;
- public Object objref;
- };
- typedef sequence<ConnectionDescription> ConnectionDescriptions;
-
- valuetype ReceptacleDescription : PortDescription
- {
- public boolean is_multiple;
- public ConnectionDescriptions connections;
- };
- typedef sequence<ReceptacleDescription> ReceptacleDescriptions;
-
- interface Receptacles
- {
- Cookie connect (in FeatureName name, in Object connection )
- raises (InvalidName,
- InvalidConnection,
- AlreadyConnected,
- ExceededConnectionLimit);
-
- // @@ Changed to return the previously connected object reference -- basef on RTF 1.1.
- Object disconnect (in FeatureName name, in Cookie ck)
- raises (InvalidName,
- InvalidConnection,
- CookieRequired,
- NoConnection);
-
- ConnectionDescriptions get_connections (in FeatureName name)
- raises (InvalidName);
-
- ReceptacleDescriptions get_all_receptacles ();
-
- ReceptacleDescriptions get_named_receptacles (in NameList names)
- raises (InvalidName);
- };
-
- abstract valuetype EventBase {};
-
- interface EventConsumerBase
- {
- void push_event (in EventBase evt) raises (BadEventType);
- };
-
- valuetype ConsumerDescription : PortDescription
- {
- public EventConsumerBase consumer;
- };
- typedef sequence<ConsumerDescription> ConsumerDescriptions;
-
- valuetype EmitterDescription : PortDescription
- {
- public EventConsumerBase consumer;
- };
- typedef sequence<EmitterDescription> EmitterDescriptions;
-
- valuetype SubscriberDescription
- {
- public Cookie ck;
- public EventConsumerBase consumer;
- };
- typedef sequence<SubscriberDescription> SubscriberDescriptions;
-
- valuetype PublisherDescription : PortDescription
- {
- public SubscriberDescriptions consumer;
- };
- typedef sequence<PublisherDescription> PublisherDescriptions;
-
- interface Events
- {
- EventConsumerBase get_consumer (in FeatureName sink_name)
- raises (InvalidName);
-
- Cookie subscribe (in FeatureName publisher_name,
- in EventConsumerBase subscriber)
- raises (InvalidName,
- AlreadyConnected,
- InvalidConnection,
- ExceededConnectionLimit);
-
- EventConsumerBase unsubscribe (in FeatureName publisher_name,
- in Cookie ck)
- raises (InvalidName,
- InvalidConnection);
-
- void connect_consumer (in FeatureName emitter_name,
- in EventConsumerBase consumer)
- raises (InvalidName,
- AlreadyConnected,
- InvalidConnection);
-
- EventConsumerBase disconnect_consumer (in FeatureName source_name)
- raises (InvalidName,
- NoConnection);
-
- ConsumerDescriptions get_all_consumers ();
-
- ConsumerDescriptions get_named_consumers (in NameList names)
- raises (InvalidName);
-
- EmitterDescriptions get_all_emitters ();
-
- EmitterDescriptions get_named_emitters (in NameList names)
- raises (InvalidName);
-
- PublisherDescriptions get_all_publishers ();
-
- PublisherDescriptions get_named_publishers (in NameList names)
- raises (InvalidName);
- };
-
- abstract valuetype PrimaryKeyBase {};
-
- interface CCMObject; //forward reference
-
- interface CCMHome
- {
- CORBA::IRObject get_component_def ();
- CORBA::IRObject get_home_def ();
- void remove_component ( in CCMObject comp)
- raises (RemoveFailure);
- };
- typedef sequence<CCMHome> CCMHomes;
-
- interface KeylessCCMHome
- {
- CCMObject create_component()
- raises (CreateFailure);
- };
-
- interface HomeFinder
- {
- CCMHome find_home_by_component_type (in CORBA::RepositoryId comp_repid)
- raises (HomeNotFound);
-
- CCMHome find_home_by_home_type (in CORBA::RepositoryId home_repid)
- raises (HomeNotFound);
-
- CCMHome find_home_by_name (in string home_name)
- raises (HomeNotFound);
- };
-
- interface Configurator
- {
- void configure (in CCMObject comp)
- raises (WrongComponentType);
- };
-
- valuetype ConfigValue
- {
- public FeatureName name;
- public any value;
- };
-
- typedef sequence<ConfigValue> ConfigValues;
-
- interface StandardConfigurator : Configurator
- {
- void set_configuration (in ConfigValues descr);
- };
-
- interface HomeConfiguration : CCMHome
- {
- void set_configurator (in Configurator cfg);
- void set_configuration_values (in ConfigValues config);
- void complete_component_configuration (in boolean b);
- void disable_home_configuration();
- };
-
- valuetype ComponentPortDescription
- {
- public FacetDescriptions facets;
- public ReceptacleDescriptions receptacles;
- public ConsumerDescriptions consumers;
- public EmitterDescriptions emitters;
- public PublisherDescriptions publishers;
- };
-
- interface CCMObject : Navigation, Receptacles, Events
- {
- CORBA::IRObject get_component_def ( );
- CCMHome get_ccm_home( );
- PrimaryKeyBase get_primary_key( )
- raises (NoKeyAvailable);
- void configuration_complete( )
- raises (InvalidConfiguration);
- void remove()
- raises (RemoveFailure);
- ComponentPortDescription get_all_ports ();
- };
-
-
- // @@ Enumeration and DefaultEnumeration are only for EJB to CCM
- // mapping? At any rate, we should be able to skip them for now.
- abstract valuetype Enumeration
- {
- boolean has_more_elements();
- CCMObject next_element();
- };
-
- typedef sequence<CCMObject> CCMObjectSeq;
-
- valuetype DefaultEnumeration : Enumeration
- {
- private CCMObjectSeq objects;
- };
-
- // @@ Components::Transaction is still there.
- module Transaction
- {
-
- typedef sequence<octet> TranToken;
-
- exception NoTransaction {};
- exception NotSupported {};
- exception SystemError {};
- exception RollbackError {};
- exception HeuristicMixed {};
- exception HeuristicRollback {};
- exception Security {};
- exception InvalidToken {};
-
- enum Status
- {
- ACTIVE,
- MARKED_ROLLBACK,
- PREPARED,
- COMMITTED,
- ROLLED_BACK,
- NO_TRANSACTION,
- PREPARING,
- COMMITTING,
- ROLLING_BACK
- };
-
- local interface UserTransaction {
- void begin ()
- raises (NotSupported,
- SystemError);
-
- void commit ()
- raises (RollbackError,
- NoTransaction,
- HeuristicMixed,
- HeuristicRollback,
- Security,
- SystemError);
-
- void rollback ()
- raises (NoTransaction,
- Security,
- SystemError);
-
- void set_rollback_only ()
- raises (NoTransaction,
- SystemError);
-
- Status get_status()
- raises (SystemError);
-
- void set_timeout (in long to)
- raises (SystemError);
-
- TranToken suspend ()
- raises (NoTransaction,
- SystemError);
-
- void resume (in TranToken txtoken)
- raises (InvalidToken,
- SystemError);
- };
- };
-
- // *************** Basic Container interfaces ***************
-
- typedef SecurityLevel2::Credentials Principal;
-
- local interface CCMContext
- {
- Principal get_caller_principal();
-
- CCMHome get_CCM_home();
-
- boolean get_rollback_only()
- raises (IllegalState);
-
- Transaction::UserTransaction get_user_transaction()
- raises (IllegalState);
-
- boolean is_caller_in_role (in string role);
-
- void set_rollback_only()
- raises (IllegalState);
- };
-
- enum CCMExceptionReason
- {
- SYSTEM_ERROR,
- CREATE_ERROR,
- REMOVE_ERROR,
- DUPLICATE_KEY,
- FIND_ERROR,
- OBJECT_NOT_FOUND,
- NO_SUCH_ENTITY
- };
-
- exception CCMException
- {
- CCMExceptionReason reason;
- };
-
- local interface EnterpriseComponent {};
-
- local interface SessionContext : CCMContext
- {
- Object get_CCM_object()
- raises (IllegalState);
- };
-
- local interface SessionComponent : EnterpriseComponent
- {
- void set_session_context ( in SessionContext ctx)
- raises (CCMException);
-
- void ccm_activate()
- raises (CCMException);
-
- void ccm_passivate()
- raises (CCMException);
-
- void ccm_remove ()
- raises (CCMException);
- };
-
- local interface SessionSynchronization
- {
- void after_begin ()
- raises (CCMException);
-
- void before_completion ()
- raises (CCMException);
-
- void after_completion (in boolean committed)
- raises (CCMException);
- };
-
- local interface EntityContext : CCMContext
- {
- Object get_CCM_object ()
- raises (IllegalState);
-
- PrimaryKeyBase get_primary_key ()
- raises (IllegalState);
- };
-
- local interface EntityComponent : EnterpriseComponent
- {
- void set_entity_context (in EntityContext ctx)
- raises (CCMException);
-
- void unset_entity_context ()
- raises (CCMException);
-
- void ccm_activate ()
- raises (CCMException);
-
- void ccm_load ()
- raises (CCMException);
-
- void ccm_store ()
- raises (CCMException);
-
- void ccm_passivate ()
- raises (CCMException);
-
- void ccm_remove ()
- raises (CCMException);
- };
-
- // *************** Extended Container Interfaces ***************
-
- enum BadComponentReferenceReason
- {
- NON_LOCAL_REFERENCE,
- NON_COMPONENT_REFERENCE,
- WRONG_CONTAINER
- };
-
- typedef CosPersistentState::CatalogBase CatalogBase;
- typedef CosPersistentState::_TypeId _TypeId;
-
- typedef short SegmentId;
- const SegmentId COMPONENT_SEGMENT = 0;
-
- typedef short FacetId;
- const FacetId COMPONENT_FACET = 0;
-
- typedef sequence<octet> IdData;
- typedef CosPersistentState::Pid PersistentId;
-
- typedef short StateIdType;
- const StateIdType PERSISTENT_ID = 0;
-
- exception BadComponentReference
- {
- BadComponentReferenceReason reason;
- };
- exception PolicyMismatch {};
- exception PersistenceNotAvailable {};
- exception UnknownActualHome {};
- exception ProxyHomeNotSupported {};
- exception InvalidStateIdData {};
-
- local interface HomeRegistration
- {
- void register_home (in CCMHome home_ref,
- in string home_name);
-
- void unregister_home (in CCMHome home_ref);
- };
-
- local interface CCM2Context : CCMContext
- {
- HomeRegistration get_home_registration ();
-
- void req_passivate ()
- raises (PolicyMismatch);
-
- CatalogBase get_persistence (in _TypeId catalog_type_id)
- raises (PersistenceNotAvailable);
- };
-
- local interface ProxyHomeRegistration : HomeRegistration
- {
- void register_proxy_home (in CCMHome rhome,
- in CCMHome ahome)
- raises (UnknownActualHome,
- ProxyHomeNotSupported);
- };
-
- local interface Session2Context : SessionContext, CCM2Context
- {
- Object create_ref (in CORBA::RepositoryId repid);
-
- Object create_ref_from_oid (in CORBA::OctetSeq oid,
- in CORBA::RepositoryId repid);
-
- CORBA::OctetSeq get_oid_from_ref (in Object objref)
- raises (IllegalState,
- BadComponentReference);
- };
-
- abstract valuetype StateIdValue
- {
- StateIdType get_sid_type();
- IdData get_sid_data();
- };
-
- local interface StateIdFactory
- {
- StateIdValue create (in IdData data)
- raises (InvalidStateIdData);
- };
-
- valuetype PersistentIdValue : StateIdValue
- {
- private PersistentId pid;
-
- PersistentId get_pid();
- factory init (in PersistentId pid);
- };
-
- valuetype SegmentDescr
- {
- private StateIdValue sid;
- private SegmentId seg;
-
- StateIdValue get_sid();
- SegmentId get_seg_id();
- factory init (in StateIdValue sid,
- in SegmentId seg);
- };
-
- typedef sequence<SegmentDescr> SegmentDescrSeq;
-
- local interface ComponentId
- {
- FacetId get_target_facet();
-
- SegmentId get_target_segment();
-
- StateIdValue get_target_state_id (in StateIdFactory sid_factory)
- raises (InvalidStateIdData);
-
- StateIdValue get_segment_state_id (in SegmentId seg,
- in StateIdFactory sid_factory)
- raises (InvalidStateIdData);
-
- ComponentId create_with_new_target (in FacetId new_target_facet,
- in SegmentId new_target_segment);
-
- SegmentDescrSeq get_segment_descrs (in StateIdFactory sid_factory)
- raises (InvalidStateIdData);
- };
-
- local interface Entity2Context : EntityContext, CCM2Context
- {
- ComponentId get_component_id ()
- raises (IllegalState);
-
- ComponentId create_component_id (in FacetId target_facet,
- in SegmentId target_segment,
- in SegmentDescrSeq seq_descrs);
-
- ComponentId create_monolithic_component_id (in FacetId target_facet,
- in StateIdValue sid);
-
- Object create_ref_from_cid (in CORBA::RepositoryId repid,
- in ComponentId cid);
-
- ComponentId get_cid_from_ref (in Object objref)
- raises (BadComponentReference);
- };
-
- local interface ExecutorLocator : EnterpriseComponent
- {
- Object obtain_executor (in string name)
- raises (CCMException);
-
- void release_executor (in Object exc)
- raises (CCMException);
-
- void configuration_complete()
- raises (InvalidConfiguration);
- };
-
- local interface HomeExecutorBase
- {
- };
-
- // *************** Packaging and Deployment ***************
-
- module Deployment
- {
- typedef string UUID;
- typedef string Location;
-
- enum AssemblyState
- {
- INACTIVE,
- INSERVICE
- };
-
- exception UnknownImplId {};
- exception InvalidLocation {};
- exception InstallationFailure
- {
- FailureReason reason;
- };
- exception InvalidAssembly {};
-
- interface ComponentInstallation
- {
- void install(in UUID implUUID,
- in Location component_loc)
- raises (InvalidLocation,
- InstallationFailure);
-
- void replace(in UUID implUUID,
- in Location component_loc)
- raises (InvalidLocation,
- InstallationFailure);
-
- void remove(in UUID implUUID)
- raises (UnknownImplId,
- RemoveFailure);
-
- Location get_implementation (in UUID implUUID)
- raises (UnknownImplId,
- InstallationFailure);
- };
-
- interface Assembly
- {
- void build()
- raises (CreateFailure);
-
- void tear_down()
- raises (RemoveFailure);
-
- AssemblyState get_state();
- };
-
- interface AssemblyFactory
- {
- Cookie create_assembly(in Location assembly_loc)
- raises (InvalidLocation,
- CreateFailure);
-
- Assembly lookup(in Cookie c)
- raises (InvalidAssembly);
-
- void destroy(in Cookie c)
- raises (InvalidAssembly,
- RemoveFailure);
- };
-
- interface ComponentServer; // Forward decl.
- typedef sequence<ComponentServer> ComponentServers;
-
- interface ServerActivator
- {
- ComponentServer create_component_server (in ConfigValues config)
- raises (CreateFailure,
- InvalidConfiguration);
-
- void remove_component_server (in ComponentServer server)
- raises (RemoveFailure);
-
- ComponentServers get_component_servers ();
- };
-
- interface Container; // Forward decl.
- typedef sequence<Container> Containers;
-
- interface ComponentServer
- {
- readonly attribute ConfigValues configuration;
-
- ServerActivator get_server_activator ();
- Container create_container (in ConfigValues config)
- raises (CreateFailure,
- InvalidConfiguration);
-
- void remove_container (in Container cref)
- raises (RemoveFailure);
-
- Containers get_containers ();
-
- void remove ()
- raises (RemoveFailure);
- };
-
- exception ImplEntryPointNotFound {};
-
- interface Container
- {
- readonly attribute ConfigValues configuration;
-
- ComponentServer get_component_server ();
-
- CCMHome install_home (in UUID id,
- in string entrypt,
- in ConfigValues config)
- raises (UnknownImplId,
- ImplEntryPointNotFound,
- InstallationFailure,
- InvalidConfiguration);
-
- void remove_home (in CCMHome href)
- raises (RemoveFailure);
-
- CCMHomes get_homes ();
- void remove ()
- raises (RemoveFailure);
-
- };
-
- };
-};
diff --git a/TAO/CIAO/ciao/Components.idl b/TAO/CIAO/ciao/Components.idl
deleted file mode 100644
index 3846f59685b..00000000000
--- a/TAO/CIAO/ciao/Components.idl
+++ /dev/null
@@ -1,15 +0,0 @@
-// $Id$
-
-/**
- * @@ This file is included in the generated executor
- * mapping IDL file, and for now just includes
- * CCM_Container.idl.
- */
-
-#if !defined (CIAO_COMPONENTS_IDL)
-#define CIAO_COMPONENTS_IDL
-
-#include "CCM_Container.idl"
-
-#endif /* CIAO_COMPONENTS_IDL */
-
diff --git a/TAO/CIAO/ciao/ComponentsC.h b/TAO/CIAO/ciao/ComponentsC.h
deleted file mode 100644
index f5c971f5f52..00000000000
--- a/TAO/CIAO/ciao/ComponentsC.h
+++ /dev/null
@@ -1,92 +0,0 @@
-// -*- C++ -*-
-//
-// $Id$
-
-// **** Code generated by the The ACE ORB (TAO) IDL Compiler ****
-// TAO and the TAO IDL Compiler have been developed by:
-// Center for Distributed Object Computing
-// Washington University
-// St. Louis, MO
-// USA
-// http://www.cs.wustl.edu/~schmidt/doc-center.html
-// and
-// Distributed Object Computing Laboratory
-// University of California at Irvine
-// Irvine, CA
-// USA
-// http://doc.ece.uci.edu/
-// and
-// Institute for Software Integrated Systems
-// Vanderbilt University
-// Nashville, TN
-// USA
-// http://www.isis.vanderbilt.edu/
-//
-// Information about TAO is available at:
-// http://www.cs.wustl.edu/~schmidt/TAO.html
-
-// TAO_IDL - Generated from
-// W:\ACE_wrappers\TAO\TAO_IDL\be\be_codegen.cpp:151
-
-#ifndef _TAO_IDL_COMPONENTSC_H_
-#define _TAO_IDL_COMPONENTSC_H_
-
-
-#include "tao/corba.h"
-
-#if !defined (ACE_LACKS_PRAGMA_ONCE)
-# pragma once
-#endif /* ACE_LACKS_PRAGMA_ONCE */
-
-#include "tao/Valuetype/AbstractBase.h"
-#include "tao/Valuetype/ValueBase.h"
-#include "tao/Valuetype/Value_VarOut_T.h"
-#include "tao/Valuetype/Valuetype_Adapter_Impl.h"
-#include "tao/Valuetype/ValueFactory.h"
-#include "tao/Valuetype/Sequence_T.h"
-
-#include "CCM_ContainerC.h"
-
-#if defined (TAO_EXPORT_MACRO)
-#undef TAO_EXPORT_MACRO
-#endif
-#define TAO_EXPORT_MACRO
-
-#if defined (TAO_EXPORT_NESTED_CLASSES)
-# if defined (TAO_EXPORT_NESTED_MACRO)
-# undef TAO_EXPORT_NESTED_MACRO
-# endif /* defined (TAO_EXPORT_NESTED_MACRO) */
-# define TAO_EXPORT_NESTED_MACRO
-#endif /* TAO_EXPORT_NESTED_CLASSES */
-
-#if defined(_MSC_VER)
-#if (_MSC_VER >= 1200)
-#pragma warning(push)
-#endif /* _MSC_VER >= 1200 */
-#pragma warning(disable:4250)
-#endif /* _MSC_VER */
-
-#if defined (__BORLANDC__)
-#pragma option push -w-rvl -w-rch -w-ccc -w-inl
-#endif /* __BORLANDC__ */
-
-// TAO_IDL - Generated from
-// W:\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_root/cdr_op.cpp:48
-
-#ifndef __ACE_INLINE__
-
-// TAO_IDL - Generated from
-// W:\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_root/cdr_op.cpp:64
-
-#endif /* __ACE_INLINE__ */
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-#pragma warning(pop)
-#endif /* _MSC_VER */
-
-#if defined (__BORLANDC__)
-#pragma option pop
-#endif /* __BORLANDC__ */
-
-#endif /* ifndef */
-
diff --git a/TAO/CIAO/ciao/ComponentsS.h b/TAO/CIAO/ciao/ComponentsS.h
deleted file mode 100644
index afb82e9cb34..00000000000
--- a/TAO/CIAO/ciao/ComponentsS.h
+++ /dev/null
@@ -1,67 +0,0 @@
-// -*- C++ -*-
-//
-// $Id$
-
-// **** Code generated by the The ACE ORB (TAO) IDL Compiler ****
-// TAO and the TAO IDL Compiler have been developed by:
-// Center for Distributed Object Computing
-// Washington University
-// St. Louis, MO
-// USA
-// http://www.cs.wustl.edu/~schmidt/doc-center.html
-// and
-// Distributed Object Computing Laboratory
-// University of California at Irvine
-// Irvine, CA
-// USA
-// http://doc.ece.uci.edu/
-// and
-// Institute for Software Integrated Systems
-// Vanderbilt University
-// Nashville, TN
-// USA
-// http://www.isis.vanderbilt.edu/
-//
-// Information about TAO is available at:
-// http://www.cs.wustl.edu/~schmidt/TAO.html
-
-// TAO_IDL - Generated from
-// W:\ACE_wrappers\TAO\TAO_IDL\be\be_codegen.cpp:487
-
-#ifndef _TAO_IDL_COMPONENTSS_H_
-#define _TAO_IDL_COMPONENTSS_H_
-
-
-#include "CCM_ContainerS.h"
-#include "ComponentsC.h"
-
-#if !defined (ACE_LACKS_PRAGMA_ONCE)
-# pragma once
-#endif /* ACE_LACKS_PRAGMA_ONCE */
-
-#include "tao/PortableServer/PortableServer.h"
-#include "tao/PortableServer/Servant_Base.h"
-#include "tao/PortableServer/Collocated_Object.h"
-#include "tao/PortableServer/ThruPOA_Object_Proxy_Impl.h"
-#include "tao/PortableServer/Direct_Object_Proxy_Impl.h"
-
-#if defined(_MSC_VER)
-#if (_MSC_VER >= 1200)
-#pragma warning(push)
-#endif /* _MSC_VER >= 1200 */
-#pragma warning(disable:4250)
-#endif /* _MSC_VER */
-
-#if defined (__BORLANDC__)
-#pragma option push -w-rvl -w-rch -w-ccc -w-inl
-#endif /* __BORLANDC__ */
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-#pragma warning(pop)
-#endif /* _MSC_VER */
-
-#if defined (__BORLANDC__)
-#pragma option pop
-#endif /* __BORLANDC__ */
-
-#endif /* ifndef */
diff --git a/TAO/CIAO/ciao/Container_Base.cpp b/TAO/CIAO/ciao/Container_Base.cpp
deleted file mode 100644
index 841a13a8f2a..00000000000
--- a/TAO/CIAO/ciao/Container_Base.cpp
+++ /dev/null
@@ -1,246 +0,0 @@
-// $Id$
-
-#include "Container_Base.h"
-#include "ace/DLL.h"
-
-#if !defined (__ACE_INLINE__)
-# include "Container_Base.inl"
-#endif /* __ACE_INLINE__ */
-
-////////////////////////////////////////////////////////////////
-
-CIAO::Container::Container (CORBA::ORB_ptr o)
- : orb_ (CORBA::ORB::_duplicate (o))
-{
-}
-
-CIAO::Container::~Container ()
-{
-}
-
-PortableServer::POA_ptr
-CIAO::Container::the_POA (void)
-{
- return this->poa_.in ();
-}
-
-///////////////////////////////////////////////////////////////
-
-ACE_Atomic_Op <ACE_Thread_Mutex, long>
-CIAO::Session_Container::serial_number_ (0);
-
-CIAO::Session_Container::Session_Container (CORBA::ORB_ptr o)
- : Container (o),
- number_ (0)
-{
-}
-
-CIAO::Session_Container::~Session_Container ()
-{
-}
-
-int
-CIAO::Session_Container::init (const char *name
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- char buffer[MAXPATHLEN];
-
- if (name == 0)
- {
- this->number_ = ++CIAO::Session_Container::serial_number_;
- ACE_OS::sprintf (buffer, "CIAO::Session_Container-%ld",
- this->number_);
- name = buffer;
- }
-
- CORBA::Object_var poa_object =
- this->orb_->resolve_initial_references("RootPOA" ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (-1);
-
- if (CORBA::is_nil (poa_object.in ()))
- ACE_ERROR_RETURN ((LM_ERROR,
- " (%P|%t) Unable to initialize the POA.\n"),
- -1);
-
- PortableServer::POA_var root_poa =
- PortableServer::POA::_narrow (poa_object.in () ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (-1);
-
- // Set up proper poa policies here. Default policies seems to be
- // fine for session container.
- CORBA::PolicyList policies (0);
-
- this->poa_ = root_poa->create_POA (name,
- PortableServer::POAManager::_nil (),
- policies
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (-1);
-
- PortableServer::POAManager_var poa_manager =
- this->poa_->the_POAManager (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_CHECK_RETURN (-1);
-
- poa_manager->activate (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_CHECK_RETURN (-1);
-
- return 0;
-}
-
-CORBA::Object_ptr
-CIAO::Session_Container::install_servant (PortableServer::Servant p
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- PortableServer::ObjectId_var oid
- = this->poa_->activate_object (p
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (0);
-
- CORBA::Object_var objref
- = this->poa_->id_to_reference (oid.in ()
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (0);
-
- return objref._retn ();
-}
-
-CORBA::Object_ptr
-CIAO::Session_Container::install_component (PortableServer::Servant p,
- PortableServer::ObjectId_out oid
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- PortableServer::ObjectId_var id
- = this->poa_->activate_object (p
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (0);
-
- CORBA::Object_var objref
- = this->poa_->id_to_reference (id.in ()
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (0);
-
- oid = id._retn ();
-
- return objref._retn ();
-}
-
-Components::CCMHome_ptr
-CIAO::Session_Container::ciao_install_home (const char *exe_dll_name,
- const char *exe_entrypt,
- const char *sv_dll_name,
- const char *sv_entrypt
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::Deployment::UnknownImplId,
- Components::Deployment::ImplEntryPointNotFound,
- Components::Deployment::InstallationFailure))
-{
- ACE_DLL executor_dll, servant_dll;
-
- if (exe_dll_name == 0 || sv_dll_name == 0)
- ACE_THROW_RETURN (Components::Deployment::UnknownImplId (), 0);
-
- if (executor_dll.open (exe_dll_name,
- ACE_DEFAULT_SHLIB_MODE,
- 0) != 0)
- ACE_THROW_RETURN (Components::Deployment::UnknownImplId (), 0);
-
- if (servant_dll.open (sv_dll_name,
- ACE_DEFAULT_SHLIB_MODE,
- 0) != 0)
- {
- executor_dll.close ();
- ACE_THROW_RETURN (Components::Deployment::UnknownImplId (), 0);
- }
-
- if (exe_entrypt == 0 || sv_entrypt == 0)
- ACE_THROW_RETURN (Components::Deployment::ImplEntryPointNotFound (), 0);
-
- HomeFactory hcreator = (HomeFactory) executor_dll.symbol (exe_entrypt);
- ServantFactory screator = (ServantFactory) servant_dll.symbol (sv_entrypt);
-
- if (hcreator == 0 || screator == 0)
- ACE_THROW_RETURN (Components::Deployment::ImplEntryPointNotFound (), 0);
-
- Components::HomeExecutorBase_var home_executor = hcreator ();
- if (CORBA::is_nil (home_executor.in ()))
- ACE_THROW_RETURN (Components::Deployment::InstallationFailure (), 0);
-
- PortableServer::Servant home_servant = screator (home_executor.in (),
- this
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (0);
-
- if (home_servant == 0)
- ACE_THROW_RETURN (Components::Deployment::InstallationFailure (), 0);
-
- PortableServer::ServantBase_var safe (home_servant);
-
- CORBA::Object_var objref = this->install_servant (home_servant
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (0);
-
- Components::CCMHome_var homeref = Components::CCMHome::_narrow (objref.in ()
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (0);
-
- return homeref._retn ();
-
-}
-
-void
-CIAO::Session_Container::ciao_uninstall_home (Components::CCMHome_ptr homeref
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- this->uninstall (homeref
- ACE_ENV_ARG_PARAMETER);
-}
-
-void
-CIAO::Session_Container::uninstall (CORBA::Object_ptr objref
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- PortableServer::ObjectId_var oid
- = this->poa_->reference_to_id (objref
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK;
-
- this->poa_->deactivate_object (oid.in ()
- ACE_ENV_ARG_PARAMETER);
-}
-
-void
-CIAO::Session_Container::uninstall (PortableServer::Servant svt
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- PortableServer::ObjectId_var oid
- = this->poa_->servant_to_id (svt
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK;
-
- this->poa_->deactivate_object (oid.in ()
- ACE_ENV_ARG_PARAMETER);
-}
-
-void
-CIAO::Session_Container::uninstall_component (CORBA::Object_ptr objref,
- PortableServer::ObjectId_out oid
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- PortableServer::ObjectId_var id
- = this->poa_->reference_to_id (objref
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK;
-
- this->poa_->deactivate_object (id.in ()
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK;
-
- oid = id._retn ();
-}
diff --git a/TAO/CIAO/ciao/Container_Base.h b/TAO/CIAO/ciao/Container_Base.h
deleted file mode 100644
index 105b5677534..00000000000
--- a/TAO/CIAO/ciao/Container_Base.h
+++ /dev/null
@@ -1,169 +0,0 @@
-// -*- C++ -*-
-
-//=============================================================================
-/**
- * @file Container_Base.h
- *
- * $Id$
- *
- * Header file for CIAO's container implementations
- *
- * @author Nanbor Wang <nanbor@cs.wustl.edu>
- */
-//=============================================================================
-
-
-#ifndef CIAO_CONTAINER_BASE_H
-#define CIAO_CONTAINER_BASE_H
-#include "ace/pre.h"
-
-#include "tao/ORB.h"
-#include "tao/PortableServer/PortableServer.h"
-#include "tao/PortableServer/Servant_Base.h"
-#include "CCM_ContainerC.h"
-#include "CCM_DeploymentC.h"
-
-#if !defined (ACE_LACKS_PRAGMA_ONCE)
-# pragma once
-#endif /* ACE_LACKS_PRAGMA_ONCE */
-
-namespace CIAO
-{
- /**
- * @class Container
- *
- * @brief Common container interface definition.
- *
- * Perhaps we can use local interface to define these interfaces as
- * we will also get reference counting automatically.
- */
- class CIAO_SERVER_Export Container
- {
- public:
- Container (CORBA::ORB_ptr o);
-
- virtual ~Container (void) = 0;
-
- /// Get the containing POA. This operation does *NOT*
- /// increase the reference count of the POA.
- virtual PortableServer::POA_ptr the_POA (void);
-
- /// Initialize the container with a name.
- virtual int init (const char *name = 0
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException)) = 0;
-
- /// Install a new home
- virtual Components::CCMHome_ptr ciao_install_home
- (const char *exe_dll_name,
- const char *exe_entrypt,
- const char *sv_dll_name,
- const char *sv_entrypt
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::Deployment::UnknownImplId,
- Components::Deployment::ImplEntryPointNotFound,
- Components::Deployment::InstallationFailure)) = 0;
-
- // Uninstall a servant for component or home.
- virtual void ciao_uninstall_home (Components::CCMHome_ptr homeref
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException)) = 0;
-
- protected:
- CORBA::ORB_var orb_;
-
- PortableServer::POA_var poa_;
- };
-
- class CIAO_SERVER_Export Session_Container : public Container
- {
- public:
- Session_Container (CORBA::ORB_ptr o);
-
- virtual ~Session_Container (void);
-
- /// Initialize the container with a name.
- virtual int init (const char *name = 0
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- /**
- * @brief Simply installing a home executor into the component.
- *
- * This operation install a home executor into the component. It
- * requires the name of the DLLs to executor and the servant glue
- * code, and the entry points to the respective DLLs. Currently,
- * we don't try to manage the lifetime of DLL objects, but we
- * should at some later point.
- *
- * @retval Home objref of the installed home.
- */
- virtual Components::CCMHome_ptr ciao_install_home
- (const char *exe_dll_name,
- const char *exe_entrypt,
- const char *sv_dll_name,
- const char *sv_entrypt
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::Deployment::UnknownImplId,
- Components::Deployment::ImplEntryPointNotFound,
- Components::Deployment::InstallationFailure));
-
- // Uninstall a servant for component or home.
- virtual void ciao_uninstall_home (Components::CCMHome_ptr homeref
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- // Install a servant for component or home.
- CORBA::Object_ptr install_servant (PortableServer::Servant p
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- // Install a component servant.
- CORBA::Object_ptr install_component (PortableServer::Servant p,
- PortableServer::ObjectId_out oid
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
-
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- // Get an object reference to a component or home from the servant.
- CORBA::Object_ptr get_objref (PortableServer::Servant p
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- // Uninstall a servant for component or home.
- void uninstall (CORBA::Object_ptr objref
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- // Uninstall a servant for component or home.
- void uninstall (PortableServer::Servant svt
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- // Uninstall a servant for component or home.
- void uninstall_component (CORBA::Object_ptr objref,
- PortableServer::ObjectId_out oid
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- protected:
- long number_;
-
- static ACE_Atomic_Op <ACE_Thread_Mutex, long> serial_number_;
- };
-
- typedef ::Components::HomeExecutorBase_ptr (*HomeFactory) (void);
- typedef ::PortableServer::Servant (*ServantFactory)
- (::Components::HomeExecutorBase_ptr p,
- ::CIAO::Session_Container *c
- ACE_ENV_ARG_DECL_WITH_DEFAULTS);
-}
-
-#if defined (__ACE_INLINE__)
-# include "Container_Base.inl"
-#endif /* __ACE_INLINE__ */
-
-#include "ace/post.h"
-#endif /* CIAO_CONTAINER_BASE_H */
diff --git a/TAO/CIAO/ciao/Container_Base.inl b/TAO/CIAO/ciao/Container_Base.inl
deleted file mode 100644
index f829fa65218..00000000000
--- a/TAO/CIAO/ciao/Container_Base.inl
+++ /dev/null
@@ -1,10 +0,0 @@
-// $Id$ -*- C++ -*-
-
-ACE_INLINE CORBA::Object_ptr
-CIAO::Session_Container::get_objref (PortableServer::Servant p
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- return this->the_POA ()->servant_to_reference (p
- ACE_ENV_ARG_PARAMETER);
-}
diff --git a/TAO/CIAO/ciao/Container_Base.pidl b/TAO/CIAO/ciao/Container_Base.pidl
deleted file mode 100644
index e698ea66b45..00000000000
--- a/TAO/CIAO/ciao/Container_Base.pidl
+++ /dev/null
@@ -1,33 +0,0 @@
-// $Id$
-
-/**
- * CIAO's internal container interface definitions.
- */
-
-//#define CIAO_HAS_IMPORT_KEYWORD
-
-#if !defined (CONTAINER_BASE_PIDL)
-#define CONTAINER_BASE_PIDL
-
-#include "CIAO_Component.pidl"
-#include <SecurityLevel2.idl>
-#include "CIAO_Transaction.pidl"
-
-// *************** Basic Container interfaces ***************
-
-module CIAO
-{
- typeprefix Components "wustl.edu";
-
- local interface Container
- {
- // Return the POA
- PortableServer::POA the_POA ();
- };
-
- local interface SessionContainer
- {
-
- };
-};
-#endif /* CONTAINER_BASE_PIDL */
diff --git a/TAO/CIAO/ciao/Container_Impl.cpp b/TAO/CIAO/ciao/Container_Impl.cpp
deleted file mode 100644
index 94b4526bc92..00000000000
--- a/TAO/CIAO/ciao/Container_Impl.cpp
+++ /dev/null
@@ -1,251 +0,0 @@
-// $Id$
-#include "Container_Impl.h"
-
-#if !defined (__ACE_INLINE__)
-# include "Container_Impl.inl"
-#endif /* __ACE_INLINE__ */
-
-CIAO::Container_Impl::~Container_Impl ()
-{
- // @@ remove all home?
-}
-
-PortableServer::POA_ptr
-CIAO::Container_Impl::_default_POA (void)
-{
- return PortableServer::POA::_duplicate (this->poa_.in ());
-}
-
-int
-CIAO::Container_Impl::init (const ::Components::ConfigValues &options,
- Components::Deployment::ComponentInstallation_ptr inst
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- ACE_NEW_THROW_EX (this->config_,
- Components::ConfigValues (),
- CORBA::INTERNAL ());
- ACE_CHECK_RETURN (-1);
-
- *this->config_ = options;
- this->installation_ =
- Components::Deployment::ComponentInstallation::_duplicate (inst);
-
- // @@ Initialize container and create the internal container
- // implementation that actually interacts with installed
- // homes/components.
-
- // @@ We will need a container factory here later on when we support
- // more kinds of container implementations.
-
- // @@ Fish out the ComponentServer object reference from <options>.
-
- ACE_NEW_THROW_EX (this->container_,
- CIAO::Session_Container (this->orb_.in ()),
- CORBA::INTERNAL ());
- ACE_CHECK_RETURN (-1);
-
- return this->container_->init (ACE_ENV_SINGLE_ARG_PARAMETER);
-}
-
-::Components::ConfigValues *
-CIAO::Container_Impl::configuration (ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- Components::ConfigValues *retval;
-
- ACE_NEW_THROW_EX (retval,
- Components::ConfigValues (),
- CORBA::INTERNAL ());
- ACE_CHECK_RETURN (0);
-
- *retval = this->config_.inout ();
-
- return retval;
-}
-
-::Components::Deployment::ComponentServer_ptr
-CIAO::Container_Impl::get_component_server (ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- return Components::Deployment::ComponentServer::_duplicate (this->comserv_.in ());
-}
-
-::Components::CCMHome_ptr
-CIAO::Container_Impl::install_home (const char * id,
- const char * entrypt,
- const Components::ConfigValues & config
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::Deployment::UnknownImplId,
- Components::Deployment::ImplEntryPointNotFound,
- Components::Deployment::InstallationFailure,
- Components::InvalidConfiguration))
-{
- // use id to locate the softpkg from the ComponentInstallation interface.
- // depending on where we want to parse the softpkg descriptor, we
- // can either use the <entrypt> directly (if we parse the softpkg in
- // Assembly), simply verify that is correct, or even discard this
- // value.
-
- // @@ Here we need to resolve paths to both component executors and
- // component servants (that matches the container type) for the
- // executor and their entry points before we can install the home.
- struct home_installation_info config_info;
- this->parse_config_values (id,
- config,
- config_info
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (0);
-
- Components::CCMHome_var newhome
- = this->container_->ciao_install_home
- (config_info.executor_dll_.in (),
- entrypt,
- config_info.servant_dll_.in (),
- config_info.servant_entrypt_.in ()
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (0);
-
- {
- ACE_GUARD_RETURN (TAO_SYNCH_MUTEX, ace_mon, this->lock_, 0);
-
- this->home_set_.add (newhome.in ());
- }
- return newhome._retn ();
-}
-
-void
-CIAO::Container_Impl::remove_home (Components::CCMHome_ptr href
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::RemoveFailure))
-{
- ACE_GUARD (TAO_SYNCH_MUTEX, ace_mon, this->lock_);
-
- if (this->home_set_.object_in_set (href) == 0)
- ACE_THROW (CORBA::BAD_PARAM ());
-
- // @@ Finalizing home... how? Removing all the components, but how?
- // It looks like the component home will also need to keep a record
- // of all the components it creates.
-
- this->container_->ciao_uninstall_home (href
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK;
-
- // @@ Still need to remove the home if the previous operation fails?
- if (this->home_set_.remove (href) == -1)
- ACE_THROW (::Components::RemoveFailure ());
-}
-
-::Components::CCMHomes *
-CIAO::Container_Impl::get_homes (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- ACE_GUARD_RETURN (TAO_SYNCH_MUTEX, ace_mon, this->lock_, 0);
-
- Components::CCMHomes_var retval;
-
- ACE_NEW_THROW_EX (retval.out (),
- Components::CCMHomes (),
- CORBA::INTERNAL ());
- ACE_CHECK_RETURN (0);
-
- CORBA::ULong len = this->home_set_.size ();
- retval->length (len); // resize
-
-#if 0
- // TAO is broken here. Both <replace>, <get_buffer> and friends are missing.
- this->home_set_.copy (len, retval->get_buffer (0));
-#else
- for (CORBA::ULong i = 0; i < len; ++i)
- {
- retval[i] = this->home_set_.at (i);
- }
-#endif
-
- return retval._retn ();
-}
-
-void
-CIAO::Container_Impl::remove (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::RemoveFailure))
-{
- // @@ Need to remove all CCMHome
-
- // ACE_THROW (CORBA::NO_IMPLEMENT ());
-
- ACE_DEBUG ((LM_DEBUG, "CIAO::Container_Impl::remove\n"));
-}
-
-void
-CIAO::Container_Impl::parse_config_values (const char *id,
- const Components::ConfigValues &options,
- struct home_installation_info &component_install_info
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::Deployment::UnknownImplId,
- Components::Deployment::ImplEntryPointNotFound,
- Components::InvalidConfiguration))
-{
- CORBA::String_var servant_uuid;
-
- for (CORBA::ULong i = 0; i < options.length (); ++i)
- {
- CORBA::String_var *info;
- const char *str_in = 0;
-
- // @@ The following code need cleaning up.
- if (ACE_OS::strcmp (options[i]->name (), "CIAO-servant-UUID") == 0)
- info = &servant_uuid;
- else if (ACE_OS::strcmp (options[i]->name (), "CIAO-servant-entrypt") == 0)
- info = &component_install_info.servant_entrypt_;
- else
- {
- Components::InvalidConfiguration exc;
- exc.name = CORBA::string_dup (options[i]->name ());
- exc.reason = Components::UnknownConfigValueName;
- ACE_THROW (exc);
- }
-
- if (options[i]->value () >>= str_in)
- {
- *info = CORBA::string_dup (str_in);
-#if 0
- ACE_DEBUG ((LM_DEBUG, "*parse_config_values got (%s) = %s\n",
- options[i]->name (),
- str_in));
-#endif /* 0 */
- }
- else
- {
- Components::InvalidConfiguration exc;
- exc.name = CORBA::string_dup (options[i]->name ());
- exc.reason = Components::InvalidConfigValueType;
- ACE_THROW (exc);
- }
- }
-
- component_install_info.executor_dll_ =
- this->installation_->get_implementation (id
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK;
-
- component_install_info.servant_dll_ =
- this->installation_->get_implementation (servant_uuid.in ()
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK;
-
- if (component_install_info.executor_dll_.in () == 0 ||
- component_install_info.servant_dll_.in () == 0 ||
- component_install_info.servant_entrypt_.in () == 0)
- {
- Components::InvalidConfiguration exc;
- // The following should really be the exact missing configvalue name:
- exc.name = CORBA::string_dup ("home_installation_info");
- exc.reason = Components::ConfigValueRequired;
- ACE_THROW (exc);
- }
-}
diff --git a/TAO/CIAO/ciao/Container_Impl.h b/TAO/CIAO/ciao/Container_Impl.h
deleted file mode 100644
index 3d984be2836..00000000000
--- a/TAO/CIAO/ciao/Container_Impl.h
+++ /dev/null
@@ -1,161 +0,0 @@
-// -*- C++ -*-
-
-//=============================================================================
-/**
- * @file Container_Impl.h
- *
- * $Id$
- *
- * This file contains implementation for the servant of
- * Components::Deployment::Container interface.
- *
- * @author Nanbor Wang <nanbor@cs.wustl.edu>
- */
-//=============================================================================
-
-
-#ifndef CIAO_CONTAINER_IMPL_H
-#define CIAO_CONTAINER_IMPL_H
-#include "ace/pre.h"
-
-#include "ace/config-all.h"
-
-#if !defined (ACE_LACKS_PRAGMA_ONCE)
-# pragma once
-#endif /* ACE_LACKS_PRAGMA_ONCE */
-
-#include "CCM_DeploymentS.h"
-#include "Container_Base.h"
-#include "Object_Set_T.h"
-
-namespace CIAO
-{
-
- struct home_installation_info
- {
- CORBA::String_var executor_dll_;
- CORBA::String_var servant_dll_;
- CORBA::String_var servant_entrypt_;
- };
-
- /**
- * @class Container_Impl
- *
- * @brief Servant implementation for Components::Deployment::Container
- *
- * This class implements the Components::Deployment::Container
- * interface as defined by the CCM spcification. As the interface
- * implies, this is actually part of the deployment interface and is
- * used to manage the lifecycle of the installed components and
- * homes.
- */
- class CIAO_SERVER_Export Container_Impl
- : public virtual POA_Components::Deployment::Container,
- public virtual PortableServer::RefCountServantBase
- {
- public:
- /// Constructor
- Container_Impl (CORBA::ORB_ptr o,
- PortableServer::POA_ptr p,
- Components::Deployment::ComponentServer_ptr server);
-
- /// Destructor
- virtual ~Container_Impl (void);
-
- /// Get the containing POA. This operation does *not*
- /// increase the reference count of the POA.
- virtual PortableServer::POA_ptr _default_POA (void);
-
- /// Initialize the container with a name.
- int init (const Components::ConfigValues &options,
- Components::Deployment::ComponentInstallation_ptr installation
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- /// Components::Deployment::Container defined attributes/operations.
-
- virtual ::Components::ConfigValues * configuration (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- virtual ::Components::Deployment::ComponentServer_ptr get_component_server (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- virtual ::Components::CCMHome_ptr install_home (const char * id,
- const char * entrypt,
- const Components::ConfigValues & config
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::Deployment::UnknownImplId,
- Components::Deployment::ImplEntryPointNotFound,
- Components::Deployment::InstallationFailure,
- Components::InvalidConfiguration));
-
- virtual void remove_home (Components::CCMHome_ptr href
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::RemoveFailure));
-
- virtual ::Components::CCMHomes * get_homes (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- virtual void remove (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::RemoveFailure));
-
- // ------------------- CIAO Internal Operations ------------------------
- /// Set the cached object reference.
- void set_objref (Components::Deployment::Container_ptr o
- ACE_ENV_ARG_DECL_WITH_DEFAULTS);
-
- /// Get the cached object reference. This operation will invoke
- /// _this if there's no cached reference available. Notice that
- /// this method does *NOT* increase the reference count of the
- /// cached reference.
- Components::Deployment::Container_ptr get_objref (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS);
-
-protected:
- /// parse ConfigValues
- void parse_config_values (const char *exe_id,
- const Components::ConfigValues &options,
- struct home_installation_info &component_install_info
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::Deployment::UnknownImplId,
- Components::Deployment::ImplEntryPointNotFound,
- Components::InvalidConfiguration));
-
- /// Keep a pointer to the managing ORB serving this servant.
- CORBA::ORB_var orb_;
-
- /// Keep a pointer to the managing POA.
- PortableServer::POA_var poa_;
-
- /// Internal container implementation.
- CIAO::Container *container_;
-
- /// Cached ConfigValues.
- Components::ConfigValues_var config_;
-
- /// Cached Container reference (of ourselves.)
- Components::Deployment::Container_var objref_;
-
- /// Cached ComponentServer.
- Components::Deployment::ComponentServer_var comserv_;
-
- /// And a reference to the ServerActivator that created us.
- Components::Deployment::ComponentInstallation_var installation_;
-
- /// Synchronize access to the object set.
- TAO_SYNCH_MUTEX lock_;
-
- /// Keep a list of managed CCMHome.
- Object_Set<Components::CCMHome, Components::CCMHome_var> home_set_;
- };
-}
-
-#if defined (__ACE_INLINE__)
-# include "Container_Impl.inl"
-#endif /* __ACE_INLINE__ */
-
-#include "ace/post.h"
-#endif /* CIAO_CONTAINER_IMPL_H */
diff --git a/TAO/CIAO/ciao/Container_Impl.inl b/TAO/CIAO/ciao/Container_Impl.inl
deleted file mode 100644
index 004ad4d9876..00000000000
--- a/TAO/CIAO/ciao/Container_Impl.inl
+++ /dev/null
@@ -1,33 +0,0 @@
-/* -*- C++ -*- */
-// $Id$
-
-ACE_INLINE
-CIAO::Container_Impl::Container_Impl (CORBA::ORB_ptr o,
- PortableServer::POA_ptr p,
- Components::Deployment::ComponentServer_ptr s)
- : orb_ (CORBA::ORB::_duplicate (o)),
- poa_ (PortableServer::POA::_duplicate (p)),
- comserv_ (Components::Deployment::ComponentServer::_duplicate (s))
-{
-}
-
-ACE_INLINE void
-CIAO::Container_Impl::set_objref (Components::Deployment::Container_ptr o
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
-{
- if (!CORBA::is_nil (this->objref_.in ()))
- ACE_THROW (CORBA::BAD_INV_ORDER ());
-
- this->objref_ = Components::Deployment::Container::_duplicate (o);
-}
-
-ACE_INLINE Components::Deployment::Container_ptr
-CIAO::Container_Impl::get_objref (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
-{
- if (CORBA::is_nil (this->objref_.in ()))
- {
- this->objref_ = this->_this (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_CHECK_RETURN (0);
- }
- return this->objref_.in ();
-}
diff --git a/TAO/CIAO/ciao/Cookies.cpp b/TAO/CIAO/ciao/Cookies.cpp
deleted file mode 100644
index 2673151b5cc..00000000000
--- a/TAO/CIAO/ciao/Cookies.cpp
+++ /dev/null
@@ -1,64 +0,0 @@
-// $Id$
-
-#include "Cookies.h"
-
-#if !defined (__ACE_INLINE__)
-#include "Cookies.inl"
-#endif /* !defined INLINE */
-
-
-/// Initialize a @c Cookie with an @c ACE_Active_Map_Manager_Key
-CIAO::Map_Key_Cookie::Map_Key_Cookie (const ACE_Active_Map_Manager_Key &key)
-{
- this->cookieValue ().length (ACE_Active_Map_Manager_Key::size ());
- key.encode (this->cookieValue ().get_buffer (0));
-}
-
-// CIAO::Map_Key_Cookie::Map_Key_Cookie (const ::OBV_Components::Cookie &ck)
-// {
-// this->cookieValue (ACE_reinterpret_cast (CIAO::Map_Key_Cookie, ck).cookieValue ());
-// }
-
-int
-CIAO::Map_Key_Cookie::insert (ACE_Active_Map_Manager_Key &key)
-{
- this->cookieValue ().length (ACE_Active_Map_Manager_Key::size ());
- key.encode (this->cookieValue ().get_buffer (0));
- return 0;
-}
-
-int
-CIAO::Map_Key_Cookie::extract (::Components::Cookie *ck,
- ACE_Active_Map_Manager_Key &key)
-{
- CIAO::Cookie *c = CIAO::Cookie::_downcast (ck);
-
- if (c == 0)
- return -1;
-
- ::CORBA::OctetSeq *x = c->get_cookie ();
-
- if (x->length () != ACE_Active_Map_Manager_Key::size ())
- return -1;
- key.decode (x->get_buffer ());
- return 0;
-}
-
-
-CORBA::ValueBase *
-CIAO::Map_Key_Cookie_init::create_for_unmarshal (void)
-{
- CORBA::ValueBase *ret_val = 0;
- ACE_NEW_RETURN (
- ret_val,
- CIAO::Map_Key_Cookie,
- 0
- );
- return ret_val;
-}
-
-::CORBA::OctetSeq *
-CIAO::Map_Key_Cookie::get_cookie (ACE_ENV_SINGLE_ARG_DECL)
-{
- return &this->cookieValue ();
-}
diff --git a/TAO/CIAO/ciao/Cookies.h b/TAO/CIAO/ciao/Cookies.h
deleted file mode 100644
index ad2163f0388..00000000000
--- a/TAO/CIAO/ciao/Cookies.h
+++ /dev/null
@@ -1,76 +0,0 @@
-// $Id$
-
-/**
- * @file Cookies.h
- *
- * A CIAO implementation of Cookie valuetype.
- *
- * @author Nanbor Wang <nanbor@cs.wustl.edu>
- */
-
-#ifndef CIAO_COOKIES_H
-#define CIAO_COOKIES_H
-#include "ace/pre.h"
-
-#include "CCM_BaseC.h"
-#include "CIAO_Container_Export.h"
-#include "CIAO_ValueC.h"
-#include "ace/Active_Map_Manager.h"
-
-#if !defined (ACE_LACKS_PRAGMA_ONCE)
-# pragma once
-#endif /* ACE_LACKS_PRAGMA_ONCE */
-
-namespace CIAO
-{
- /**
- * @class Map_Key_Cookie
- *
- * @brief A CIAO internal Cookie valuetype implementation.
- */
- class CIAO_CONTAINER_Export Map_Key_Cookie
- : public virtual OBV_CIAO::Cookie
- {
- public:
- /// Default constructor.
- Map_Key_Cookie ();
-
- /// Initialize a @c Cookie with an @c ACE_Active_Map_Manager_Key
- Map_Key_Cookie (const ACE_Active_Map_Manager_Key &key);
-
- virtual ::CORBA::OctetSeq * get_cookie (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS);
-
- /// Initialize a @c Cookie with an @c ACE_Active_Map_Manager_Key
- /// This contructor make a copy of the Cookie. Perhaps we can somehow
- /// avoid this?
- //Map_Key_Cookie (const ::OBV_Components::Cookie &ck);
-
- /// Destroy the @c Cookie
- ~Map_Key_Cookie (void);
-
- /// Insert the @c ACE_Active_Map_Manager_Key
- int insert (ACE_Active_Map_Manager_Key &key);
-
- /// Extract the @c ACE_Active_Map_Manager_Key
- static int extract (::Components::Cookie *c,
- ACE_Active_Map_Manager_Key &key);
-
- protected:
- };
-
- class CIAO_CONTAINER_Export Map_Key_Cookie_init : public virtual ::Components::Cookie_init
- {
- public:
- Map_Key_Cookie_init (void);
- virtual ~Map_Key_Cookie_init (void);
-
- virtual CORBA::ValueBase *create_for_unmarshal (void);
- };
-}
-
-#if defined (__ACE_INLINE__)
-#include "Cookies.inl"
-#endif /* !defined INLINE */
-
-#include "ace/post.h"
-#endif /* CIAO_COOKIES_H */
diff --git a/TAO/CIAO/ciao/Cookies.inl b/TAO/CIAO/ciao/Cookies.inl
deleted file mode 100644
index 7983a3b8553..00000000000
--- a/TAO/CIAO/ciao/Cookies.inl
+++ /dev/null
@@ -1,22 +0,0 @@
-/* -*- C++ -*- */
-// $Id$
-
-ACE_INLINE
-CIAO::Map_Key_Cookie::Map_Key_Cookie ()
-{
-}
-
-ACE_INLINE
-CIAO::Map_Key_Cookie::~Map_Key_Cookie ()
-{
-}
-
-ACE_INLINE
-CIAO::Map_Key_Cookie_init::Map_Key_Cookie_init ()
-{
-}
-
-ACE_INLINE
-CIAO::Map_Key_Cookie_init::~Map_Key_Cookie_init ()
-{
-}
diff --git a/TAO/CIAO/ciao/CosPersistentState.idl b/TAO/CIAO/ciao/CosPersistentState.idl
deleted file mode 100644
index 64f127539e2..00000000000
--- a/TAO/CIAO/ciao/CosPersistentState.idl
+++ /dev/null
@@ -1,23 +0,0 @@
-// $Id$
-
-/**
- * @@ This is just a temporary file. Since TAO does not have
- * CosPersistentState at all, we use this file to define
- * types necessary to get ComponentBase.idl to compile.
- *
- * Compile with
- * tao_idl -Gv CosPersistentState.idl
- */
-
-#if !defined (CIAO_COSPERSISTENTSTATE_PIDL)
-#define CIAO_COSPERSISTENTSTATE_PIDL
-
-module CosPersistentState {
- local interface CatalogBase
- {
- };
-
- typedef sequence<octet> _TypeId;
- typedef string Pid;
-};
-#endif /* CIAO_COSPERSISTENTSTATE_PIDL */
diff --git a/TAO/CIAO/ciao/HomeRegistrar.idl b/TAO/CIAO/ciao/HomeRegistrar.idl
deleted file mode 100644
index 42176c1d571..00000000000
--- a/TAO/CIAO/ciao/HomeRegistrar.idl
+++ /dev/null
@@ -1,38 +0,0 @@
-// $Id$
-
-/**
- * @file HomeRegistrar.idl
- *
- * This file define the interface supported by CIAO's HomeFinder
- * service. It is basically an extension of Components::HomeFinder
- * interface by supporting CIAO specific home
- */
-
-#include "CCM_Component.idl"
-
-module CIAO
-{
- exception AlreadyBound
- {
- // Equivalent to CosNaming::NamingContext::AlreadyBound exception.
- };
-
- exception InvalidName
- {
- // Equivalent to CosNaming::NamingContext::InvalidName exception.
- };
-
- exception HomeRegisterFailure
- {
- // Equivalent to CosNaming::NamingContext::InvalidName exception.
- };
-
- interface HomeRegistrar : Components::HomeFinder
- {
- void register_home (in CORBA::RepositoryId home_repo_id,
- in CORBA::RepositoryId comp_repo_id,
- in string home_name,
- in Object objref)
- raises (AlreadyBound, InvalidName, HomeRegisterFailure);
- };
-};
diff --git a/TAO/CIAO/ciao/HomeRegistrar_i.cpp b/TAO/CIAO/ciao/HomeRegistrar_i.cpp
deleted file mode 100644
index 5fb7b3f0a0c..00000000000
--- a/TAO/CIAO/ciao/HomeRegistrar_i.cpp
+++ /dev/null
@@ -1,98 +0,0 @@
-// $Id$
-
-#include "HomeRegistrar_i.h"
-
-#if !defined (__ACE_INLINE__)
-#include "HomeRegistrar_i.inl"
-#endif /* !defined INLINE */
-
-CIAO::HomeRegistrar_Impl::HomeRegistrar_Impl (CosNaming::NamingContext_ptr ns)
- : ns_ (CosNaming::NamingContext::_duplicate (ns))
-{
-}
-
-CIAO::HomeRegistrar_Impl::~HomeRegistrar_Impl ()
-{
-}
-
-::Components::CCMHome_ptr
-CIAO::HomeRegistrar_Impl::find_home_impl (const char *name
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::HomeNotFound))
-{
- Components::CCMHome_var ahome;
-
- ACE_TRY
- {
- CosNaming::Name aname;
- aname.length (1);
- aname[0].id = CORBA::string_dup (name);
-
- CORBA::Object_var obj = this->ns_->resolve (aname
- ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- ahome = Components::CCMHome::_narrow (obj.in ()
- ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
- }
- ACE_CATCHANY
- {
- ACE_TRY_THROW (Components::HomeNotFound ());
- }
- ACE_ENDTRY;
- ACE_CHECK_RETURN (0);
-
- if (CORBA::is_nil (ahome.in ()))
- ACE_THROW_RETURN (Components::HomeNotFound (), 0);
- return ahome._retn ();
-}
-
-void
-CIAO::HomeRegistrar_Impl::register_home (const char * home_repo_id,
- const char * comp_repo_id,
- const char * home_name,
- CORBA::Object_ptr objref
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- CIAO::AlreadyBound,
- CIAO::InvalidName,
- CIAO::HomeRegisterFailure))
-{
- if (CORBA::is_nil (objref))
- ACE_THROW (CORBA::BAD_PARAM ());
-
- ACE_TRY
- {
- CosNaming::Name aname;
- aname.length (1);
- aname[0].id = CORBA::string_dup (home_repo_id);
-
- this->ns_->bind (aname, objref ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- aname[0].id = CORBA::string_dup (comp_repo_id);
-
- this->ns_->bind (aname, objref ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- aname[0].id = CORBA::string_dup (home_name);
-
- this->ns_->bind (aname, objref ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
- }
- ACE_CATCH (CosNaming::NamingContext::AlreadyBound, ex)
- {
- ACE_TRY_THROW (CIAO::AlreadyBound ());
- }
- ACE_CATCH (CosNaming::NamingContext::InvalidName, ex)
- {
- ACE_TRY_THROW (CIAO::InvalidName ());
- }
- ACE_CATCHANY
- {
- ACE_TRY_THROW (CIAO::HomeRegisterFailure ());
- }
- ACE_ENDTRY;
-}
diff --git a/TAO/CIAO/ciao/HomeRegistrar_i.h b/TAO/CIAO/ciao/HomeRegistrar_i.h
deleted file mode 100644
index 34a47ed89da..00000000000
--- a/TAO/CIAO/ciao/HomeRegistrar_i.h
+++ /dev/null
@@ -1,82 +0,0 @@
-// $Id$
-
-/**
- * @file HomeRegistrar_i.h
- *
- * A CIAO HomeFinder implementation that also support CIAO's home
- * registration operation.
- *
- * @sa HomeRegistrar.idl
- *
- * @author Nanbor Wang <nanbor@cs.wustl.edu>
- */
-
-#ifndef CIAO_HOMEREGISTRAR_I_H
-#define CIAO_HOMEREGISTRAR_I_H
-#include "ace/pre.h"
-
-#include "HomeRegistrarS.h"
-#include <CosNamingC.h>
-
-#if !defined (ACE_LACKS_PRAGMA_ONCE)
-# pragma once
-#endif /* ACE_LACKS_PRAGMA_ONCE */
-
-namespace CIAO
-{
- class CIAO_SERVER_Export HomeRegistrar_Impl
- : public virtual POA_CIAO::HomeRegistrar,
- public virtual PortableServer::RefCountServantBase
- {
- public:
- /**
- * @brief We require a NamingContext to hold the names.
- */
- HomeRegistrar_Impl (CosNaming::NamingContext_ptr ns);
-
- /**
- * @brief Default destructor.
- */
- ~HomeRegistrar_Impl ();
-
- virtual ::Components::CCMHome_ptr find_home_by_component_type (const char * comp_repid
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::HomeNotFound));
-
- virtual ::Components::CCMHome_ptr find_home_by_home_type (const char * home_repid
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::HomeNotFound));
-
- virtual ::Components::CCMHome_ptr find_home_by_name (const char * home_name
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::HomeNotFound));
-
- virtual void register_home (const char * home_repo_id,
- const char * comp_repo_id,
- const char * home_name,
- CORBA::Object_ptr objref
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- CIAO::AlreadyBound,
- CIAO::InvalidName,
- CIAO::HomeRegisterFailure));
-
- Components::CCMHome_ptr find_home_impl (const char *name
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::HomeNotFound));
-
- protected:
- CosNaming::NamingContext_var ns_;
- };
-}
-
-#if defined (__ACE_INLINE__)
-#include "HomeRegistrar_i.inl"
-#endif /* !defined INLINE */
-
-#include "ace/post.h"
-#endif /* CIAO_HOMEREGISTRAR_I_H */
diff --git a/TAO/CIAO/ciao/HomeRegistrar_i.inl b/TAO/CIAO/ciao/HomeRegistrar_i.inl
deleted file mode 100644
index 94b373d29e9..00000000000
--- a/TAO/CIAO/ciao/HomeRegistrar_i.inl
+++ /dev/null
@@ -1,31 +0,0 @@
-// $Id$
-
-::Components::CCMHome_ptr
-CIAO::HomeRegistrar_Impl::find_home_by_component_type (const char * comp_repid
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::HomeNotFound))
-{
- return this->find_home_impl (comp_repid
- ACE_ENV_ARG_PARAMETER);
-}
-
-::Components::CCMHome_ptr
-CIAO::HomeRegistrar_Impl::find_home_by_home_type (const char * home_repid
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::HomeNotFound))
-{
- return this->find_home_impl (home_repid
- ACE_ENV_ARG_PARAMETER);
-}
-
-::Components::CCMHome_ptr
-CIAO::HomeRegistrar_Impl::find_home_by_name (const char * home_name
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::HomeNotFound))
-{
- return this->find_home_impl (home_name
- ACE_ENV_ARG_PARAMETER);
-}
diff --git a/TAO/CIAO/ciao/Object_Set_T.cpp b/TAO/CIAO/ciao/Object_Set_T.cpp
deleted file mode 100644
index 043f2f0e9f0..00000000000
--- a/TAO/CIAO/ciao/Object_Set_T.cpp
+++ /dev/null
@@ -1,123 +0,0 @@
-// $Id$
-
-#ifndef CIAO_OBJECT_SET_T_C
-#define CIAO_OBJECT_SET_T_C
-
-#include "Object_Set_T.h"
-
-#if !defined (ACE_LACKS_PRAGMA_ONCE)
-# pragma once
-#endif /* ACE_LACKS_PRAGMA_ONCE */
-
-#if !defined (__ACE_INLINE__)
-#include "Object_Set_T.inl"
-#endif /* __ACE_INLINE__ */
-
-ACE_RCSID(ciao, Object_Set_T, "$Id$")
-
-template <class T, class T_var>
-CIAO::Object_Set<T, T_var>::Object_Set (CORBA::ULong init_capacity,
- CORBA::ULong step)
- : capacity_ (init_capacity),
- size_ (0),
- step_ (step)
-{
- this->buffer_ = new T_var [this->capacity_];
-}
-
-template <class T, class T_var>
-CIAO::Object_Set<T, T_var>::~Object_Set ()
-{
- delete[] this->buffer_;
-}
-
-template <class T, class T_var> void
-CIAO::Object_Set<T, T_var>::release ()
-{
- CORBA::ULong i = 0;
-
- for (; i < this->size_; ++i)
- {
- this->buffer_[i] = T::_nil ();
- }
-}
-
-template <class T, class T_var> CORBA::Long
-CIAO::Object_Set<T, T_var>::add (T *objref)
-{
- if (this->size_ == this->capacity_)
- this->grow ();
-
- this->buffer_[this->size_] = T::_duplicate (objref);
- return this->size_++;
-}
-
-template<class T, class T_var> CORBA::Long
-CIAO::Object_Set<T, T_var>::remove (T *objref)
-{
- if (CORBA::is_nil (objref))
- return -1;
-
- CORBA::ULong i = 0;
-
- for (; i < this->size_; ++i)
- if (objref->_is_equivalent (this->buffer_[i].in ())) // _is_equivalent could be unreliable?
- {
- --this->size_;
- if (i != this->size_)
- this->buffer_[i] = this->buffer_[this->size_];
-
- this->buffer_[this->size_] = T::_nil ();
- return 0;
- }
- return -1; // not found.
-}
-
-template <class T, class T_var> void
-CIAO::Object_Set<T, T_var>::grow (void)
-{
- this->capacity_ += this->step_;
-
- T_var *newbuf = new T_var [this->capacity_];
-
- CORBA::ULong i = 0;
- for (; i < this->size_; ++i)
- newbuf[i] = this->buffer_[i]; // this will hijack the object ownership
-
- delete[] this->buffer_;
-
- this->buffer_ = newbuf;
-}
-
-template <class T, class T_var> CORBA::ULong
-CIAO::Object_Set<T, T_var>::copy (CORBA::ULong len,
- T **buf)
-{
- if (buf == 0)
- return 0;
-
- if (len > this->size_)
- len = this->size_;
-
- CORBA::ULong i = 0;
- for (; i < len; ++i)
- buf[i] = T::_duplicate (this->buffer_[i].in ());
-
- return len;
-}
-
-template <class T, class T_var> int
-CIAO::Object_Set<T, T_var>::object_in_set (T *objref)
-{
- if (CORBA::is_nil (objref)) // Don't count nil objref
- return 0;
-
- CORBA::ULong i = 0;
-
- for (; i < this->size_; ++i)
- if (objref->_is_equivalent (this->buffer_[i].in ())) // _is_equivalent could be unreliable?
- return -1;
-
- return 0;
-}
-#endif /* CIAO_OBJECT_SET_T_C */
diff --git a/TAO/CIAO/ciao/Object_Set_T.h b/TAO/CIAO/ciao/Object_Set_T.h
deleted file mode 100644
index 3240758fe7b..00000000000
--- a/TAO/CIAO/ciao/Object_Set_T.h
+++ /dev/null
@@ -1,127 +0,0 @@
-// $Id$
-
-/**
- * @file Object_Set_T.h
- *
- * Helper template classes for maintaining and managing object
- * reference sets.
- *
- * @author Nanbor Wang <nanbor@cs.wustl.edu>
- */
-
-#ifndef CIAO_OBJECT_SET_T_H
-#define CIAO_OBJECT_SET_T_H
-#include "ace/pre.h"
-
-#include "tao/corbafwd.h"
-
-#if !defined (ACE_LACKS_PRAGMA_ONCE)
-# pragma once
-#endif /* ACE_LACKS_PRAGMA_ONCE */
-
-namespace CIAO
-{
- /**
- * @class Object_Set
- *
- * @brief A helper template class for maintaining and managing a set
- * of object reference.
- *
- * This class provides a naive implementation of an object reference
- * set. It is naive because it simply keeps object references in an
- * objref_var array without checking for duplication. More
- * importantly, it takes O(n) to to look for an object reference and
- * return it. What we really need is a thread-safe hash_set<> like
- * class here. Since this is mostly used only during setup/assemble
- * time for a CIAO application, i.e., not on critical path, this
- * class serves as a place holder for later, more efficient
- * implementation.
- */
- template <class T, class T_var>
- class Object_Set
- {
- public:
- /**
- * Default contructor that also allows initializing the initial
- * capacity of the set and the increment step.
- */
- Object_Set (CORBA::ULong init_capacity = 10,
- CORBA::ULong step = 10);
-
- /// Default destructor.
- ~Object_Set (void);
-
- /// Adding a new object reference to the set. Return -1 if error
- /// occurred.
- CORBA::Long add (T *objref);
-
- /// Removing an object from the set. Return -1 if error occurred.
- CORBA::Long remove (T *objref);
-
- /// Access the underlying T_var array directly. This is added to
- /// get around a bug in TAO's sequence of object C++ mapping.
- T_var &at (CORBA::ULong index);
-
- /**
- * Get a copy of the object reference set into the incoming array
- * @c buffer with capacity of @c size. @c buffer is usually
- * allocated using a sequence's @c allocbuf method. Notice that
- * caller is responsible to release the object references in
- * buffer.
- *
- * @retval actual number of objrefs copied into @c buffer.
- */
- CORBA::ULong copy (CORBA::ULong size,
- T **buffer);
-
- /**
- * Check if an object is in the set. Return 0 if false.
- */
- int object_in_set (T *objref);
-
- /// Query the current size the set contains.
- CORBA::ULong size (void) const;
-
- /// Query the current capacity the set.
- CORBA::ULong capacity (void) const;
-
- /**
- * Release all object references.
- */
- void release (void);
-
- protected:
- /// Grow the internal array holding the object references.
- void grow (void);
-
- /// Pointer to the dynamically allocated buffer that holds the
- /// object references.
- T_var *buffer_;
-
- /// Maximun capacity of this->buffer_;
- CORBA::ULong capacity_;
-
- /// Current size in the set.
- CORBA::ULong size_;
-
- /// How many more slots to add each time we expand the capacity of
- /// this set.
- CORBA::ULong step_;
- };
-
-}
-
-#if defined (__ACE_INLINE__)
-#include "Object_Set_T.inl"
-#endif /* !defined INLINE */
-
-#if defined (ACE_TEMPLATES_REQUIRE_SOURCE)
-#include "Object_Set_T.cpp"
-#endif /* ACE_TEMPLATES_REQUIRE_SOURCE */
-
-#if defined (ACE_TEMPLATES_REQUIRE_PRAGMA)
-#pragma implementation ("Object_Set_T.cpp")
-#endif /* ACE_TEMPLATES_REQUIRE_PRAGMA */
-
-#include "ace/post.h"
-#endif /* CIAO_OBJECT_SET_T_H */
diff --git a/TAO/CIAO/ciao/Object_Set_T.inl b/TAO/CIAO/ciao/Object_Set_T.inl
deleted file mode 100644
index cd9b8e1ab45..00000000000
--- a/TAO/CIAO/ciao/Object_Set_T.inl
+++ /dev/null
@@ -1,20 +0,0 @@
-/* -*- C++ -*- */
-// $Id$
-
-template <class T, class T_var> ACE_INLINE CORBA::ULong
-CIAO::Object_Set<T, T_var>::size (void) const
-{
- return this->size_;
-}
-
-template <class T, class T_var> ACE_INLINE CORBA::ULong
-CIAO::Object_Set<T, T_var>::capacity (void) const
-{
- return this->capacity_;
-}
-
-template <class T, class T_var> ACE_INLINE T_var &
-CIAO::Object_Set<T, T_var>::at (CORBA::ULong index)
-{
- return this->buffer_[index];
-}
diff --git a/TAO/CIAO/ciao/README b/TAO/CIAO/ciao/README
deleted file mode 100644
index b806bbc084c..00000000000
--- a/TAO/CIAO/ciao/README
+++ /dev/null
@@ -1,13 +0,0 @@
-$Id$
-
-This directory contains the Core CCM IDL defintions which get split
-into different libraries.
-
-1. CIAO - CIAO CCM client-side interface library. Component-aware clients
- need to link to this library.
-
-2. CIAO_Container - CIAO CCM container interface definitions. This library
- is needed by all compoment implementation.
-
-3. CIAO_Server - CIAO CCM interface definitions for component servers and
- deployment framework.
diff --git a/TAO/CIAO/ciao/ServerActivator_Impl.cpp b/TAO/CIAO/ciao/ServerActivator_Impl.cpp
deleted file mode 100644
index f1ff497b4db..00000000000
--- a/TAO/CIAO/ciao/ServerActivator_Impl.cpp
+++ /dev/null
@@ -1,260 +0,0 @@
-// $Id$
-
-#include "ServerActivator_Impl.h"
-#include "ace/Process.h"
-
-#if !defined (__ACE_INLINE__)
-# include "ServerActivator_Impl.inl"
-#endif /* __ACE_INLINE__ */
-
-CIAO::Activator_Callback_Impl::~Activator_Callback_Impl ()
-{
-}
-
-PortableServer::POA_ptr
-CIAO::Activator_Callback_Impl::_default_POA (void)
-{
- return PortableServer::POA::_duplicate (this->poa_.in ());
-}
-
-::Components::Deployment::ServerActivator_ptr
-CIAO::Activator_Callback_Impl::register_component_server (::Components::Deployment::ComponentServer_ptr svr)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- this->server_ = ::Components::Deployment::ComponentServer::_duplicate (svr);
- return ::Components::Deployment::ServerActivator::_duplicate (this->activator_);
-}
-
-::Components::Deployment::ComponentServer_ptr
-CIAO::Activator_Callback_Impl::get_server_ref (void)
-{
- // Relinquish the ownership of the server reference. This method
- // should only be called from the ServerActivator.
- return this->server_._retn ();
-}
-
-CIAO::ServerActivator_Impl::~ServerActivator_Impl ()
-{
- // @@ remove all ComponentServer's?
-}
-
-PortableServer::POA_ptr
-CIAO::ServerActivator_Impl::_default_POA (void)
-{
- return PortableServer::POA::_duplicate (this->poa_.in ());
-}
-
-int
-CIAO::ServerActivator_Impl::init (const char *server_location,
- CORBA::ULong spawn_delay,
- const char *installation_ior
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- ACE_UNUSED_ARG (spawn_delay); // @@ We need to use this argumetn
- // later to determine is a
- // ComponentServer has been spawned
- // successfully.
-
- if (server_location == 0)
- ACE_THROW_RETURN (CORBA::BAD_PARAM (), -1);
-
- if (spawn_delay_ == 0)
- ACE_THROW_RETURN (CORBA::BAD_PARAM (), -1);
-
- this->server_path_ = CORBA::string_dup (server_location);
-
- this->installation_ior_ = CORBA::string_dup (installation_ior);
-
- PortableServer::POAManager_var mgr
- = this->poa_->the_POAManager (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_CHECK_RETURN (-1);
-
- CORBA::PolicyList policies (0);
-
- // Create a separate POA for callback objects.
- this->callback_poa_ =
- this->poa_->create_POA ("callback_poa",
- mgr.in (),
- policies
- ACE_ENV_ARG_PARAMETER);
-
- ACE_CHECK_RETURN (-1);
-
- // Activate the ServerActivator Object.
- PortableServer::ObjectId_var oid
- = this->poa_->activate_object (this
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (-1);
-
- CORBA::Object_var obj = this->poa_->id_to_reference (oid.in ()
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (-1);
-
- // And cache the object reference.
- this->objref_ = ::Components::Deployment::ServerActivator::_narrow (obj.in ()
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (-1);
-
- this->ior_ = this->orb_->object_to_string (this->objref_.in ()
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (-1);
-
- return 0;
-}
-
-::Components::Deployment::ComponentServer_ptr
-CIAO::ServerActivator_Impl::create_component_server (const Components::ConfigValues & config
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::CreateFailure,
- Components::InvalidConfiguration))
-{
- ACE_UNUSED_ARG (config); // This will be used later.
-
- ACE_DEBUG ((LM_DEBUG, "CIAO::ServerActivator_Impl::create_component_server\n"));
-
- ::Components::Deployment::ComponentServer_var retval;
-
- // @@ Need to figure out a way to pass the config data over to the
- // ComponentServer. One option will be to convert it (again) into
- // an XML document and psss it along in the command line.
-
- // @@ Create a new callback servant.
- CIAO::Activator_Callback_Impl *callback_servant = 0;
- ACE_NEW_THROW_EX (callback_servant,
- CIAO::Activator_Callback_Impl (this->orb_.in (),
- this->callback_poa_.in (),
- this->objref_.in ()),
- CORBA::INTERNAL ());
- ACE_CHECK_RETURN (0);
-
- PortableServer::ServantBase_var servant_var (callback_servant);
- PortableServer::ObjectId_var cb_id
- = this->callback_poa_->activate_object (callback_servant
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (0);
-
- ACE_Process component_server;
- ACE_Process_Options options;
-
- ACE_TRY
- {
- CORBA::Object_var cb_obj =
- this->callback_poa_->id_to_reference (cb_id.in ()
- ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- CIAO::Activator_Callback_var cb =
- CIAO::Activator_Callback::_narrow (cb_obj.in ()
- ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- CORBA::String_var cb_ior =
- this->orb_->object_to_string (cb.in ()
- ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- // spawn the new ComponentServer.
- options.command_line ("%s -k %s -ORBInitRef ComponentInstallation=%s",
- this->server_path_.in (),
- cb_ior.in (),
- this->installation_ior_.in ());
- options.avoid_zombies (1);
-
- if (component_server.spawn (options) == -1)
- ACE_TRY_THROW (::Components::CreateFailure ());
-
- // wait for server to pass back its object reference. with a timeout value.
- // using perform_work and stuff.
-
- int looping = 1;
-
- ACE_Time_Value timeout (this->spawn_delay_, 0);
-
- while (looping)
- {
- this->orb_->perform_work (timeout
- ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- retval = callback_servant->get_server_ref ();
-
- if (timeout == ACE_Time_Value::zero || !CORBA::is_nil (retval.in ()))
- looping = 0;
- }
-
- if (CORBA::is_nil (retval.in ()))
- ACE_TRY_THROW (::Components::CreateFailure ());
-
- {
- ACE_GUARD_RETURN (TAO_SYNCH_MUTEX, ace_mon, this->lock_, 0);
-
- // Add the server reference to this->cs_set_;
- this->cs_set_.add (retval.in ());
- }
- }
- ACE_CATCHANY
- {
- this->callback_poa_->deactivate_object (cb_id.in ());
- ACE_TRY_CHECK;
-
- ACE_RE_THROW;
- }
- ACE_ENDTRY;
- ACE_CHECK_RETURN (0);
-
- this->callback_poa_->deactivate_object (cb_id.in ());
- ACE_CHECK_RETURN (0);
-
- return retval._retn ();
-}
-
-void
-CIAO::ServerActivator_Impl::remove_component_server (Components::Deployment::ComponentServer_ptr server
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::RemoveFailure))
-{
- ACE_GUARD (TAO_SYNCH_MUTEX, ace_mon, this->lock_);
-
- if (this->cs_set_.object_in_set (server) == 0)
- ACE_THROW (::Components::RemoveFailure ());
-
- server->remove (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_CHECK;
-
- // Should we remove the server still even if the previous call failed.
-
- if (this->cs_set_.remove (server) == -1)
- ACE_THROW (::Components::RemoveFailure ());
-}
-
-::Components::Deployment::ComponentServers *
-CIAO::ServerActivator_Impl::get_component_servers (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- ACE_GUARD_RETURN (TAO_SYNCH_MUTEX, ace_mon, this->lock_, 0);
-
- Components::Deployment::ComponentServers_var retval;
-
- ACE_NEW_THROW_EX (retval.out (),
- Components::Deployment::ComponentServers (),
- CORBA::INTERNAL ());
- ACE_CHECK_RETURN (0);
-
- CORBA::ULong len = this->cs_set_.size ();
- retval->length (len); // resize
-
-#if 0
- // TAO is broken here. Both <replace>, <get_buffer> and friends are missing.
- this->cs_set_.copy (len, retval->get_buffer (0));
-#else
- for (CORBA::ULong i = 0; i < len; ++i)
- {
- retval[i] = this->cs_set_.at (i);
- }
-#endif
-
- return retval._retn ();
-}
diff --git a/TAO/CIAO/ciao/ServerActivator_Impl.h b/TAO/CIAO/ciao/ServerActivator_Impl.h
deleted file mode 100644
index cdc2abc5ffe..00000000000
--- a/TAO/CIAO/ciao/ServerActivator_Impl.h
+++ /dev/null
@@ -1,182 +0,0 @@
-// -*- C++ -*-
-
-//=============================================================================
-/**
- * @file ServerActivator_Impl.h
- *
- * $Id$
- *
- * This file contains implementation for the servant of
- * Components::Deployment::ServerActivator interface.
- *
- * @author Nanbor Wang <nanbor@cs.wustl.edu>
- */
-//=============================================================================
-
-
-#ifndef CIAO_SERVERACTIVATOR_IMPL_H
-#define CIAO_SERVERACTIVATOR_IMPL_H
-#include "ace/pre.h"
-
-#include "ace/config-all.h"
-
-#if !defined (ACE_LACKS_PRAGMA_ONCE)
-# pragma once
-#endif /* ACE_LACKS_PRAGMA_ONCE */
-
-#include "CCM_DeploymentS.h"
-#include "CIAO_ServersS.h"
-#include "Object_Set_T.h"
-
-namespace CIAO
-{
- /**
- * @class Activator_Callback
- *
- * @brief A call back interface for ComponentServer.
- *
- * Notice that this implementation is *NOT* thread-safe.
- */
- class CIAO_SERVER_Export Activator_Callback_Impl
- : public virtual POA_CIAO::Activator_Callback,
- public virtual PortableServer::RefCountServantBase
- {
- public:
- friend class ServerActivator_Impl;
-
- /// Constructor.
- Activator_Callback_Impl (CORBA::ORB_ptr o,
- PortableServer::POA_ptr p,
- ::Components::Deployment::ServerActivator_ptr s);
-
- /// Destructor.
- ~Activator_Callback_Impl ();
-
- /// Get the containing POA. This operation does *not*
- /// increase the reference count of the POA.
- virtual PortableServer::POA_ptr _default_POA (void);
-
- /// Record the ComponentServer reference returned by the newly
- /// spawned ComponentServer and give it back a reference to ServerActivator.
- ::Components::Deployment::ServerActivator_ptr
- register_component_server (::Components::Deployment::ComponentServer_ptr svr)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- protected:
- ::Components::Deployment::ComponentServer_ptr get_server_ref (void);
-
- CORBA::ORB_var orb_;
-
- PortableServer::POA_var poa_;
-
- /// This servant only lives as long as a call to the
- /// create_component_server method in ServerActivator, so there's
- /// no need to duplicate the object reference here.
- ::Components::Deployment::ServerActivator_ptr activator_;
-
- ::Components::Deployment::ComponentServer_var server_;
- };
-
- /**
- * @class ServerActivator_Impl
- *
- * @brief Servant implementation for Components::Deployment::ServerActivator
- *
- * This class implements the Components::Deployment::ServerActivator
- * interface as defined by the CCM spcification. As the interface
- * implies, this is actually part of the deployment interface and is
- * used to manage the lifecycle of containers running on the server.
- */
- class CIAO_SERVER_Export ServerActivator_Impl
- : public virtual POA_Components::Deployment::ServerActivator,
- public virtual PortableServer::RefCountServantBase
- {
- public:
- /// Constructor
- ServerActivator_Impl (CORBA::ORB_ptr o,
- PortableServer::POA_ptr p);
-
- /// Destructor
- virtual ~ServerActivator_Impl (void);
-
- /// Get the containing POA. This operation does *not*
- /// increase the reference count of the POA.
- virtual PortableServer::POA_ptr _default_POA (void);
-
- /// Initialize the ServerActivator. The currently implementation
- /// of ServerActivator can only activate CIAO's own
- /// ComponentServer processes. You should specify the location
- /// (pathname) of the ComponentServer and the delay
- /// ServerActivator should wait (in second) for ComponentServer to
- /// call back.
- int init (const char *server_location,
- CORBA::ULong delay,
- const char *installation_ior
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- /// Components::Deployment::ServerActivator defined attributes/operations.
-
- virtual ::Components::Deployment::ComponentServer_ptr
- create_component_server (const Components::ConfigValues & config
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::CreateFailure,
- Components::InvalidConfiguration));
-
- virtual void remove_component_server (Components::Deployment::ComponentServer_ptr server
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::RemoveFailure));
-
- virtual ::Components::Deployment::ComponentServers *
- get_component_servers (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- /// Return the cached ServerActivator object reference. Do not
- /// release this object reference, or put it into an var.
- ::Components::Deployment::ServerActivator_ptr
- _ciao_get_objref (void);
-
- const char *_ciao_get_ior (void);
-
- protected:
- /// location of the ComponentServer.
- CORBA::String_var server_path_;
-
- /// Keep a pointer to the managing ORB serving this servant.
- CORBA::ORB_var orb_;
-
- /// Keep a pointer to the managing POA.
- PortableServer::POA_var poa_;
-
- /// Child poa that uses active object map.
- PortableServer::POA_var callback_poa_;
-
- /// Cached the IOR string to ComponentInstallation Interface
- CORBA::String_var installation_ior_;
-
- /// Specify the time in second ServerActivator will wait for a
- /// child ComponentServer to callback. Default is 5 second.
- CORBA::ULong spawn_delay_;
-
- /// Cache a object reference to this servant.
- ::Components::Deployment::ServerActivator_var objref_;
-
- /// Cache the ior of the previous reference
- CORBA::String_var ior_;
-
- /// Synchronize access to the object set.
- TAO_SYNCH_MUTEX lock_;
-
- /// Keep a list of managed ComponentServer objects.
- Object_Set<Components::Deployment::ComponentServer, Components::Deployment::ComponentServer_var> cs_set_;
- };
-}
-
-#if defined (__ACE_INLINE__)
-# include "ServerActivator_Impl.inl"
-#endif /* __ACE_INLINE__ */
-
-#include "ace/post.h"
-#endif /* CIAO_SERVERACTIVATOR_IMPL_H */
diff --git a/TAO/CIAO/ciao/ServerActivator_Impl.inl b/TAO/CIAO/ciao/ServerActivator_Impl.inl
deleted file mode 100644
index 919f5bbab58..00000000000
--- a/TAO/CIAO/ciao/ServerActivator_Impl.inl
+++ /dev/null
@@ -1,33 +0,0 @@
-/* -*- C++ -*- */
-// $Id$
-
-ACE_INLINE
-CIAO::Activator_Callback_Impl::Activator_Callback_Impl (CORBA::ORB_ptr o,
- PortableServer::POA_ptr p,
- ::Components::Deployment::ServerActivator_ptr s)
- : orb_ (CORBA::ORB::_duplicate (o)),
- poa_ (PortableServer::POA::_duplicate (p)),
- activator_ (s)
-{
-}
-
-ACE_INLINE
-CIAO::ServerActivator_Impl::ServerActivator_Impl (CORBA::ORB_ptr o,
- PortableServer::POA_ptr p)
- : orb_ (CORBA::ORB::_duplicate (o)),
- poa_ (PortableServer::POA::_duplicate (p)),
- spawn_delay_ (5)
-{
-}
-
-ACE_INLINE ::Components::Deployment::ServerActivator_ptr
-CIAO::ServerActivator_Impl::_ciao_get_objref ()
-{
- return this->objref_.in ();
-}
-
-ACE_INLINE const char *
-CIAO::ServerActivator_Impl::_ciao_get_ior ()
-{
- return this->ior_.in ();
-}
diff --git a/TAO/CIAO/ciao/Server_init.cpp b/TAO/CIAO/ciao/Server_init.cpp
deleted file mode 100644
index da2c4a27096..00000000000
--- a/TAO/CIAO/ciao/Server_init.cpp
+++ /dev/null
@@ -1,36 +0,0 @@
-// $Id$
-
-#include "Server_init.h"
-#include "CIAO_common.h"
-#include "CCM_ComponentC.h"
-#include "Cookies.h"
-
-int
-CIAO::Server_init (CORBA::ORB_ptr o)
-{
- CIAO_REGISTER_VALUE_FACTORY (o, CIAO::Map_Key_Cookie_init,
- Components::Cookie);
- CIAO_REGISTER_VALUE_FACTORY (o, CIAO::Map_Key_Cookie_init,
- CIAO::Cookie);
- CIAO_REGISTER_VALUE_FACTORY (o, Components::PortDescription_init,
- Components::PortDescription);
- CIAO_REGISTER_VALUE_FACTORY (o, Components::FacetDescription_init,
- Components::FacetDescription);
- CIAO_REGISTER_VALUE_FACTORY (o, Components::ConnectionDescription_init,
- Components::ConnectionDescription);
- CIAO_REGISTER_VALUE_FACTORY (o, Components::ReceptacleDescription_init,
- Components::ReceptacleDescription);
- CIAO_REGISTER_VALUE_FACTORY (o, Components::ConsumerDescription_init,
- Components::ConsumerDescription);
- CIAO_REGISTER_VALUE_FACTORY (o, Components::EmitterDescription_init,
- Components::EmitterDescription);
- CIAO_REGISTER_VALUE_FACTORY (o, Components::SubscriberDescription_init,
- Components::SubscriberDescription);
- CIAO_REGISTER_VALUE_FACTORY (o, Components::PublisherDescription_init,
- Components::PublisherDescription);
- CIAO_REGISTER_VALUE_FACTORY (o, Components::ConfigValue_init,
- Components::ConfigValue);
- CIAO_REGISTER_VALUE_FACTORY (o, Components::ComponentPortDescription_init,
- Components::ComponentPortDescription);
- return 0;
-}
diff --git a/TAO/CIAO/ciao/Server_init.h b/TAO/CIAO/ciao/Server_init.h
deleted file mode 100644
index 641a9bffd29..00000000000
--- a/TAO/CIAO/ciao/Server_init.h
+++ /dev/null
@@ -1,35 +0,0 @@
-// $Id$
-
-/**
- * @file Server_init.h
- *
- * Initializing CIAO Server side ORB, if they need to.
- *
- * @author Nanbor Wang <nanbor@cs.wustl.edu>
- */
-
-#ifndef CIAO_SERVER_INIT_H
-#define CIAO_SERVER_INIT_H
-#include "ace/pre.h"
-
-#include "tao/corbafwd.h"
-#include "CIAO_Server_Export.h"
-
-#if !defined ACE_LACKS_PRAGMA_ONCE
-#pragma once
-#endif /* ! ACE_LACKS_PRAGMA_ONCE */
-
-namespace CIAO
-{
- /**
- * The initialize routine for any server that need to access
- * component. This routine now simply registers various valuetype
- * factories defined in CIAO_Component.pidl. Currently, this method
- * should be call right after ORB initialization but we should try
- * to register these stuff automatically.
- */
- CIAO_SERVER_Export int Server_init (CORBA::ORB_ptr o);
-}
-
-#include "ace/post.h"
-#endif /* CIAO_SERVER_INIT_H */
diff --git a/TAO/CIAO/ciao/Version.h b/TAO/CIAO/ciao/Version.h
deleted file mode 100644
index 5056a299d51..00000000000
--- a/TAO/CIAO/ciao/Version.h
+++ /dev/null
@@ -1,7 +0,0 @@
-// $Id$
-// This is an automatically generated file.
-
-#define CIAO_MAJOR_VERSION 0
-#define CIAO_MINOR_VERSION 3
-#define CIAO_BETA_VERSION 1
-#define CIAO_VERSION "0.3.1"
diff --git a/TAO/CIAO/ciao/ciao.rc b/TAO/CIAO/ciao/ciao.rc
deleted file mode 100644
index 2faa5f7ae8a..00000000000
--- a/TAO/CIAO/ciao/ciao.rc
+++ /dev/null
@@ -1,30 +0,0 @@
-#include "Version.h"
-
-1 VERSIONINFO
- FILEVERSION CIAO_MAJOR_VERSION,CIAO_MINOR_VERSION,CIAO_BETA_VERSION,0
- PRODUCTVERSION CIAO_MAJOR_VERSION,CIAO_MINOR_VERSION,CIAO_BETA_VERSION,0
- FILEFLAGSMASK 0x3fL
- FILEFLAGS 0x0L
- FILEOS 0x4L
- FILETYPE 0x1L
- FILESUBTYPE 0x0L
-BEGIN
- BLOCK "StringFileInfo"
- BEGIN
- BLOCK "040904B0"
- BEGIN
- VALUE "FileDescription", "CIAO\0"
- VALUE "FileVersion", CIAO_VERSION "\0"
- VALUE "InternalName", "CIAODLL\0"
- VALUE "LegalCopyright", "\0"
- VALUE "LegalTrademarks", "\0"
- VALUE "OriginalFilename", "CIAO.DLL\0"
- VALUE "ProductName", "CIAO\0"
- VALUE "ProductVersion", CIAO_VERSION "\0"
- END
- END
- BLOCK "VarFileInfo"
- BEGIN
- VALUE "Translation", 0x409, 1200
- END
-END
diff --git a/TAO/CIAO/ciao/ciaofwd.h b/TAO/CIAO/ciao/ciaofwd.h
deleted file mode 100644
index d4dce9a996e..00000000000
--- a/TAO/CIAO/ciao/ciaofwd.h
+++ /dev/null
@@ -1,33 +0,0 @@
-
-// -*- C++ -*-
-
-//=============================================================================
-/**
- * @file ciaofwd.h
- *
- * $Id$
- *
- * Forward declare the basic types used in the CCM implementation to
- * reduce interdependency. Regular users of CIAO should only include
- * ciao/ciao.h.
- *
- * @author Nanbor Wang
- */
-//=============================================================================
-
-
-#ifndef CIAO_CIAOFWD_H
-#define CIAO_CIAOFWD_H
-
-#include "ace/pre.h"
-#include "CIAO_Export.h"
-#include "tao/corba.h"
-
-namespace Components
-{
-
-
-};
-
-#include "ace/post.h"
-#endif /* CIAO_CIAOFWD_H */
diff --git a/TAO/CIAO/ciao/diffs/Component_BaseC.cpp.diff b/TAO/CIAO/ciao/diffs/Component_BaseC.cpp.diff
deleted file mode 100644
index f8b8534d1d2..00000000000
--- a/TAO/CIAO/ciao/diffs/Component_BaseC.cpp.diff
+++ /dev/null
@@ -1,57 +0,0 @@
-*** Component_BaseC.cpp Sun Jun 30 16:16:30 2002
---- Component_BaseC.cpp.mod Sun Jun 30 16:15:32 2002
-***************
-*** 50826,50849 ****
-
- // accessor to set the member
- void
-! OBV_Components::ConfigValue::value (CORBA::Any val) // set
- {
-! ACE_NEW (
-! this->_pd_value,
-! CORBA::Any (val)
-! );
- }
- // retrieve the member
-! const CORBA::Any
- OBV_Components::ConfigValue::value (void) const
- {
-! return *this->_pd_value;
- }
- // retrieve the member
-! CORBA::Any
- OBV_Components::ConfigValue::value (void)
- {
-! return *this->_pd_value;
- }
-
- CORBA::Boolean
---- 50826,50846 ----
-
- // accessor to set the member
- void
-! OBV_Components::ConfigValue::value (CORBA::Any &val) // set
- {
-! this->_pd_value = val;
- }
- // retrieve the member
-! const CORBA::Any &
- OBV_Components::ConfigValue::value (void) const
- {
-! return this->_pd_value;
- }
- // retrieve the member
-! CORBA::Any &
- OBV_Components::ConfigValue::value (void)
- {
-! return this->_pd_value;
- }
-
- CORBA::Boolean
-***************
-*** 65403,65406 ****
- ACE_ENDTRY;
- return 0;
- }
--
---- 65400,65402 ----
diff --git a/TAO/CIAO/ciao/diffs/Component_BaseC.h.diff b/TAO/CIAO/ciao/diffs/Component_BaseC.h.diff
deleted file mode 100644
index 03cc45483fc..00000000000
--- a/TAO/CIAO/ciao/diffs/Component_BaseC.h.diff
+++ /dev/null
@@ -1,65 +0,0 @@
-*** Component_BaseC.h Sun Jun 30 16:16:30 2002
---- Component_BaseC.h.mod Sun Jun 30 16:15:02 2002
-***************
-*** 30,36 ****
-
- #include "SecurityLevel2C.h"
- #include "CosPersistentStateC.h"
-! #include "tao/IFR_Client/InterfaceC.h"
- #include "CosNotificationC.h"
- #include "CosNotifyChannelAdminC.h"
-
---- 30,36 ----
-
- #include "SecurityLevel2C.h"
- #include "CosPersistentStateC.h"
-! #include "tao/IFR_Client/IFR_BaseC.h"
- #include "CosNotificationC.h"
- #include "CosNotifyChannelAdminC.h"
-
-***************
-*** 6905,6914 ****
- virtual void name (const CORBA::String_var&) = 0; // set
- virtual const char *name (void) const = 0; // get method
-
-! virtual void value (CORBA::Any) = 0; // set
-! virtual const CORBA::Any value (void) const = 0; // get method
-
-! virtual CORBA::Any value (void) = 0; // get method
-
-
- protected:
---- 6905,6914 ----
- virtual void name (const CORBA::String_var&) = 0; // set
- virtual const char *name (void) const = 0; // get method
-
-! virtual void value (CORBA::Any&) = 0; // set
-! virtual const CORBA::Any &value (void) const = 0; // get method
-
-! virtual CORBA::Any &value (void) = 0; // get method
-
-
- protected:
-***************
-*** 16348,16357 ****
- virtual void name (const CORBA::String_var&); // set
- virtual const char *name (void) const; // get method
-
-! virtual void value (CORBA::Any); // set
-! virtual const CORBA::Any value (void) const; // get method
-
-! virtual CORBA::Any value (void); // get method
-
-
- protected:
---- 16348,16357 ----
- virtual void name (const CORBA::String_var&); // set
- virtual const char *name (void) const; // get method
-
-! virtual void value (CORBA::Any&); // set
-! virtual const CORBA::Any &value (void) const; // get method
-
-! virtual CORBA::Any &value (void); // get method
-
-
- protected:
diff --git a/TAO/CIAO/ciao/diffs/Component_BaseS.h.diff b/TAO/CIAO/ciao/diffs/Component_BaseS.h.diff
deleted file mode 100644
index bb1a3d4a4c5..00000000000
--- a/TAO/CIAO/ciao/diffs/Component_BaseS.h.diff
+++ /dev/null
@@ -1,12 +0,0 @@
-*** Component_BaseS.h Sat Jun 29 22:56:16 2002
---- Component_BaseS.h.mod Sat Jun 29 22:49:14 2002
-***************
-*** 24,30 ****
-
- #include "SecurityLevel2S.h"
- #include "CosPersistentStateS.h"
-- #include "tao/IFR_Client/InterfaceS.h"
- #include "CosNotificationS.h"
- #include "CosNotifyChannelAdminS.h"
- #include "Component_BaseC.h"
---- 24,29 ----
diff --git a/TAO/CIAO/docs/ConfigValues.html b/TAO/CIAO/docs/ConfigValues.html
deleted file mode 100644
index 5a45cfe5366..00000000000
--- a/TAO/CIAO/docs/ConfigValues.html
+++ /dev/null
@@ -1,195 +0,0 @@
-<!-- $Id$ -->
-<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
-<html> <head>
-<title>ConfigValues Index</title>
-</head>
-
-<body>
-
-<h1>Index of ConfigValues</h1>
-
-<font size="+1" color="red">This page is currently a placeholder for
-all the configuration values we will support when creating various CCM
-deployment mechanisms, such as ComponentServers and Containers. The
-ConfigValues listed here are currently only partially supported in
-CIAO. </font>
-
-<h2>ComponentServer</h2>
-The <code>ConfigValues</code> for a <code>ComponentServer</code> are
-passed in via <code>ServerActivator::create_component_server</code>
-operation. CIAO accepts the following feature names:<p>
-
-<table border="3" spacing="2" cellpadding="3">
- <tr>
- <th>FeatureName</th>
- <th>type</th>
- <th>Requirement</th>
- <th>Remarks</th>
- </tr>
- <tr>
- <td>CIAO-RTORB</td>
- <td>boolean</td>
- <td>
- Optional
- </td>
- <td>
- Designate whether the component server requires a RT-ORB or
- not. By default, a component server uses a non-RT ORB.
- </td>
- </tr>
- <tr>
- <td>CIAO-ORB[option]</td>
- <td>string</td>
- <td>
- Optional
- </td>
- <td>
- Specify an ORB option that you want to pass to the
- ComponentServer ORB.
- </td>
- </tr>
-</table>
-
-<h2>Container</h2>
-The <code>ConfigValues</code> for a <code>Container</code> are
-passed in via <code>ComponentServer::create_container</code>
-operation. CIAO accepts the following feature names:<p>
-
-<table border="3" spacing="2" cellpadding="3">
- <tr>
- <th>FeatureName</th>
- <th>type</th>
- <th>Requirement</th>
- <th>Remarks</th>
- </tr>
- <tr>
- <td>
- CIAO-Container-Type
- </td>
- <td>
- <code>string</code>
- </td>
- <td>
- Required
- </td>
- <td>
- Possible value: <code>session</code>, <code>rt-session</code>,
- <code>unclassified</code>, <code>rt-unclassified</code>.
- </td>
- </tr>
-
- <tr>
- <td>
- CIAO-POAPolicies
- </td>
- <td>
- <code>CORBA::PolicyList</code>
- </td>
- <td>
- Optional
- </td>
- <td>
- Must not conflict with CIAO-Container-Type setting.
- (Certain containers assume several POA policies.)
- </td>
- </tr>
-
- <tr>
- <td>
- CIAO-RTPOAPolicies
- </td>
- <td>
- <code>CORBA::PolicyList</code>
- </td>
- <td>
- Optional
- </td>
- <td>
- Must not conflict with both container and regular POA
- policies.
- </td>
- </tr>
-</table>
-
-
-<h2>CCMHome</h2>
-The <code>ConfigValues</code> for a <code>CCMHome</code> are
-passed in via <code>Container::install_home</code>
-operation. CIAO accepts the following feature names:<p>
-
-<table border="3" spacing="2" cellpadding="3">
- <tr>
- <th>FeatureName</th>
- <th>type</th>
- <th>Requirement</th>
- <th>Remarks</th>
- </tr>
- <tr>
- <td>CIAO-executor-path</td>
- <td><code>string</code></td>
- <td>
- REQUIRED
- </td>
- <td>
- This string value specifies the location of the executor DLL.
- In the future, we should use UUIDs to identify the component
- executors and query the ComponentInstallation interface for
- the actual location of the DLL.
- </td>
- </tr>
- <tr>
- <td>CIAO-executor-entrypt</td>
- <td><code>string</code></td>
- <td>
- REQUIRED
- </td>
- <td>
- This string value specifies the entry point of the executor
- DLL. It points to a factory function for the component executor.
- </td>
- </tr>
- <tr>
- <td>CIAO-servant-path</td>
- <td><code>string</code></td>
- <td>
- REQUIRED
- </td>
- <td>
- This string value specifies the location of the servant DLL.
- In the future, we should use UUIDs to identify the component
- servants and query the ComponentInstallation interface for
- the actual location of the DLL. <p>
-
- Servant are part of the Container framework and we can use
- type checking to ensure servant and container match with each
- other.
- </td>
- </tr>
- <tr>
- <td>CIAO-executor-entrypt</td>
- <td><code>string</code></td>
- <td>
- REQUIRED
- </td>
- <td>
- This string value specifies the entry point of the servant
- DLL. It points to a factory function for the compnent servant.
- </td>
- </tr>
-</table>
-
-<!--
- <tr>
- <td>
- a
- </td>
- <td>
- b
- </td>
- <td>
- c
- </td>
- </tr>
--->
-<!--#include virtual="/~nanbor/signature.html" -->
-</body> </html>
diff --git a/TAO/CIAO/docs/XML/componentassembly.dtd b/TAO/CIAO/docs/XML/componentassembly.dtd
deleted file mode 100644
index dbdf917d44b..00000000000
--- a/TAO/CIAO/docs/XML/componentassembly.dtd
+++ /dev/null
@@ -1,367 +0,0 @@
-<!-- DTD for Component Assembly Descriptor. The root element
- is <componentassembly>. Elements are listed
- alphabetically.
- -->
-
-<!-- Simple xml link attributes based on W3C WD-xlink-19980303.
- May change slightly when XLL is finalized.
- -->
-<!ENTITY % simple-link-attributes "
- xml:link CDATA #FIXED 'SIMPLE'
- href CDATA #REQUIRED
-" >
-
-<!-- If file not available locally, then download via codebase link -->
-<!ELEMENT codebase EMPTY >
-<!ATTLIST codebase
- filename CDATA #IMPLIED
- %simple-link-attributes; >
-
-<!ELEMENT componentassembly
- ( description?
- , componentfiles
- , partitioning
- , connections?
- , extension*
- ) >
-<!ATTLIST componentassembly
- id ID #REQUIRED
- derivedfrom CDATA #IMPLIED >
-
-<!ELEMENT componentfile
- ( fileinarchive
- | codebase
- | link
- ) >
-<!ATTLIST componentfile
- id ID #REQUIRED
- type CDATA #IMPLIED >
-
-<!ELEMENT componentfileref EMPTY >
-<!ATTLIST componentfileref
- idref CDATA #REQUIRED >
-
-<!ELEMENT componentfiles
- ( componentfile+
- ) >
-
-<!ELEMENT componentimplref EMPTY >
-<!ATTLIST componentimplref
- idref CDATA #REQUIRED >
-
-<!ELEMENT componentinstantiation
- ( usagename?
- , componentproperties?
- , registercomponent*
- , extension*
- ) >
-<!ATTLIST componentinstantiation
- id ID #REQUIRED >
-
-<!ELEMENT componentinstantiationref EMPTY >
-<!ATTLIST componentinstantiationref
- idref CDATA #REQUIRED >
-
-<!ELEMENT componentproperties
- ( fileinarchive
- | codebase
- ) >
-
-<!ELEMENT componentsupportedinterface
- ( componentinstantiationref
- | findby
- )>
-
-<!ELEMENT connectevent
- ( ( consumesport
- | existinginterface
- )
- , ( emitsport
- | publishesport
- )
- ) >
-<!ATTLIST connectevent
- id ID #IMPLIED >
-
-<!ELEMENT connecthomes
- ( proxyhome
- , destinationhome
- ) >
-<!ATTLIST connecthomes
- id ID #IMPLIED >
-
-<!ELEMENT connectinterface
- ( usesport
- , ( providesport
- | componentsupportedinterface
- | existinginterface
- | homeinterface
- )
- ) >
-<!ATTLIST connectinterface
- id ID #IMPLIED >
-
-<!ELEMENT connections
- ( connectinterface
- | connectevent
- | connecthomes
- | extension
- )* >
-
-<!ELEMENT consumesidentifier ( #PCDATA ) >
-
-<!ELEMENT consumesport
- ( consumesidentifier
- , ( componentinstantiationref
- | findby
- )
- )>
-
-<!ELEMENT description ( #PCDATA ) >
-
-<!ELEMENT destination ( #PCDATA ) >
-
-<!ELEMENT destinationhome
- ( homeplacementref
- | findby
- ) >
-
-<!ELEMENT emitsidentifier ( #PCDATA ) >
-
-<!ELEMENT emitsport
- ( emitsidentifier
- , ( componentinstantiationref
- | findby
- )
- )>
-
-<!ELEMENT executableplacement
- ( usagename?
- , componentfileref
- , componentimplref?
- , invocation?
- , destination?
- , extension*
- ) >
-<!ATTLIST executableplacement
- id ID #REQUIRED
- cardinality CDATA "1" >
-
-<!ELEMENT existinginterface
- ( findby )>
-
-<!-- The "extension" element is used for vendor-specific extensions -->
-<!ELEMENT extension (#PCDATA) >
-<!ATTLIST extension
- class CDATA #REQUIRED
- origin CDATA #REQUIRED
- id ID #IMPLIED
- extra CDATA #IMPLIED
- html-form CDATA #IMPLIED >
-
-<!-- The "fileinarchive" element is used to specify a file in the archive.
- If the file is independent of an archive then link is used to point to
- the archive in which the file may be found.
- -->
-<!ELEMENT fileinarchive
- ( link? ) >
-<!ATTLIST fileinarchive
- name CDATA #REQUIRED >
-
-<!ELEMENT findby
- ( namingservice
- | stringifiedobjectref
- | traderquery
- | homefinder
- | extension
- ) >
-
-<!ELEMENT homefinder EMPTY >
-<!ATTLIST homefinder
- name CDATA #REQUIRED >
-
-<!ELEMENT homeinterface
- ( homeplacementref
- | findby
- )>
-
-<!ELEMENT homeplacement
- ( usagename?
- , componentfileref
- , componentimplref?
- , homeproperties?
- , componentproperties?
- , registerwithhomefinder*
- , registerwithnaming*
- , registerwithtrader*
- , componentinstantiation*
- , destination?
- , extension*
- ) >
-<!ATTLIST homeplacement
- id ID #REQUIRED
- cardinality CDATA "1" >
-
-<!ELEMENT homeplacementref EMPTY >
-<!ATTLIST homeplacementref
- idref CDATA #REQUIRED >
-
-<!ELEMENT homeproperties
- ( fileinarchive
- | codebase
- ) >
-
-<!ELEMENT hostcollocation
- ( usagename?
- , impltype?
- , ( homeplacement
- | executableplacement
- | processcollocation
- | extension
- )+
- , destination?
- ) >
-<!ATTLIST hostcollocation
- id ID #IMPLIED
- cardinality CDATA "1" >
-
-<!ELEMENT impltype EMPTY >
-<!ATTLIST impltype
- language CDATA #REQUIRED
- version CDATA #IMPLIED >
-
-<!ELEMENT invocation EMPTY >
-<!ATTLIST invocation
- args CDATA #REQUIRED >
-
-<!ELEMENT link ( #PCDATA ) >
-<!ATTLIST link
- %simple-link-attributes; >
-
-<!ELEMENT namingservice EMPTY >
-<!ATTLIST namingservice
- name CDATA #REQUIRED >
-
-<!ELEMENT partitioning
- ( homeplacement
- | executableplacement
- | processcollocation
- | hostcollocation
- | extension
- )* >
-
-<!ELEMENT processcollocation
- ( usagename?
- , impltype?
- , ( homeplacement
- | extension
- )+
- , destination?
- ) >
-<!ATTLIST processcollocation
- id ID #IMPLIED
- cardinality CDATA "1" >
-
-<!ELEMENT providesidentifier ( #PCDATA ) >
-
-<!ELEMENT providesport
- ( providesidentifier
- , ( componentinstantiationref
- | findby
- )
- ) >
-
-<!ELEMENT proxyhome
- ( homeplacementref
- | findby
- ) >
-
-<!ELEMENT publishesidentifier ( #PCDATA ) >
-
-<!ELEMENT publishesport
- ( publishesidentifier
- , ( componentinstantiationref
- | findby
- )
- ) >
-
-<!ELEMENT registercomponent
- ( ( providesidentifier
- | consumesidentifier
- )?
- , ( registerwithnaming
- | registerwithtrader
- )+
- ) >
-
-<!ELEMENT registerwithhomefinder EMPTY >
-<!ATTLIST registerwithhomefinder
- name CDATA #REQUIRED >
-
-<!ELEMENT registerwithnaming EMPTY >
-<!ATTLIST registerwithnaming
- name CDATA #IMPLIED >
-
-<!ELEMENT registerwithtrader
- ( traderexport ) >
-<!ATTLIST registerwithtrader
- tradername CDATA #IMPLIED >
-
-<!-- DEVNOTE: is tradername necessary? -->
-<!-- DEVNOTE: Should trader properties be specified in component file?
- And in assembly file? -->
-
-<!ELEMENT stringifiedobjectref ( #PCDATA ) >
-
-<!ELEMENT traderconstraint ( #PCDATA ) >
-
-<!ELEMENT traderexport
- ( traderservicetypename
- , traderproperties
- ) >
-
-<!ELEMENT traderpolicy
- ( traderpolicyname
- , traderpolicyvalue
- ) >
-
-<!ELEMENT traderpolicyname ( #PCDATA ) >
-
-<!ELEMENT traderpolicyvalue ( #PCDATA ) >
-
-<!ELEMENT traderpreference ( #PCDATA ) >
-
-<!ELEMENT traderproperties
- ( traderproperty+ ) >
-
-<!ELEMENT traderproperty
- ( traderpropertyname
- , traderpropertyvalue
- ) >
-
-<!ELEMENT traderpropertyname ( #PCDATA ) >
-
-<!ELEMENT traderpropertyvalue ( #PCDATA ) >
-
-<!ELEMENT traderquery
- ( traderservicetypename
- , traderconstraint
- , traderpreference?
- , traderpolicy*
- , traderspecifiedprop*
- ) >
-
-<!ELEMENT traderservicetypename ( #PCDATA ) >
-
-<!ELEMENT traderspecifiedprop ( #PCDATA ) >
-
-<!ELEMENT usagename ( #PCDATA ) >
-
-<!ELEMENT usesidentifier ( #PCDATA ) >
-
-<!ELEMENT usesport
- ( usesidentifier
- , ( componentinstantiationref
- | findby
- )
- ) >
diff --git a/TAO/CIAO/docs/XML/corbacomponent.dtd b/TAO/CIAO/docs/XML/corbacomponent.dtd
deleted file mode 100644
index fd5ec98f377..00000000000
--- a/TAO/CIAO/docs/XML/corbacomponent.dtd
+++ /dev/null
@@ -1,316 +0,0 @@
-<!-- DTD for CORBA Component Descriptor. The root element is
- <corbacomponent>. Elements are listed alphabetically.
--->
-
-<!-- Simple xml link attributes based on W3C WD-xlink-19980303.
- May change when XLL is finalized. -->
-
-<!ENTITY % simple-link-attributes "
- xml:link CDATA #FIXED 'SIMPLE'
- href CDATA #REQUIRED
-">
-
-<!ELEMENT accessmode EMPTY>
-<!ATTLIST accessmode
- mode (READ_ONLY|READ_WRITE) #REQUIRED >
-
-<!ELEMENT componentfeatures
- ( inheritscomponent?
- , supportsinterface*
- , ports
- , operationpolicies?
- , extension*
- ) >
-<!ATTLIST componentfeatures
- name CDATA #REQUIRED
- repid CDATA #REQUIRED >
-
-<!ELEMENT componentkind
- ( service
- | session
- | process
- | entity
- | unclassified
- ) >
-
-<!ELEMENT componentproperties
- ( fileinarchive
- ) >
-
-<!ELEMENT componentrepid EMPTY >
-<!ATTLIST componentrepid
- repid CDATA #IMPLIED >
-
-<!ELEMENT containermanagedpersistence
- ( storagehome
- , pssimplementation?
- , accessmode
- , psstransaction
- , params?
- ) >
-
-<!ELEMENT configurationcomplete EMPTY >
-<!ATTLIST configurationcomplete
- set ( true | false ) #REQUIRED >
-
-<!ELEMENT consumes
- ( eventpolicy
- , extension* ) >
-<!ATTLIST consumes
- consumesname CDATA #REQUIRED
- eventtype CDATA #REQUIRED >
-
-<!ELEMENT corbacomponent
- ( corbaversion
- , cormponentrepid
- , homerepid
- , componentkind
- , interop?
- , transaction?
- , security?
- , threading
- , configurationcomplete
- , extendedpoapolicy*
- , repository?
- , segment*
- , componentproperties?
- , homeproperties?
- , homefeatures+
- , componentfeatures+
- , interface*
- , extension*
- ) >
-
-<!ELEMENT corbaversion (#PCDATA) >
-
-<!ELEMENT description ( #PCDATA ) >
-
-<!ELEMENT emits
- ( eventpolicy
- , extension* ) >
-<!ATTLIST emits
- emitsname CDATA #REQUIRED
- eventtype CDATA #REQUIRED >
-
-<!ELEMENT entity
- ( servant ) >
-
-<!ELEMENT eventpolicy EMPTY>
-<!ATTLIST eventpolicy
- policy ( normal | default | transaction ) #IMPLIED>
-
-<!ELEMENT extendedpoapolicy EMPTY>
-<!ATTLIST extendedpoapolicy
- name CDATA #REQUIRED
- value CDATA #REQUIRED >
-
-<!-- The "extension" element is used for vendor-specific extensions -->
-<!ELEMENT extension (#PCDATA) >
-<!ATTLIST extension
- class CDATA #REQUIRED
- origin CDATA #REQUIRED
- id ID #IMPLIED
- extra CDATA #IMPLIED
- html-form CDATA #IMPLIED >
-
-<!-- The "fileinarchive" element is used to specify a file in the
- archive. If the file is in another archive then link is used to
- point to the archive in which the file may be found.
- -->
-<!ELEMENT fileinarchive
- ( link? ) >
-<!ATTLIST fileinarchive
- name CDATA #REQUIRED >
-
-<!ELEMENT homefeatures
- ( inheritshome?
- , operationpolicies?
- , extension* ) >
-<!ATTLIST homefeatures
- name CDATA #REQUIRED
- repid CDATA #REQUIRED >
-
-<!ELEMENT homeproperties
- ( fileinarchive
- ) >
-
-<!ELEMENT homerepid EMPTY >
-<!ATTLIST homerepid
- repid CDATA #IMPLIED >
-
-<!ELEMENT inheritscomponent EMPTY>
-<!ATTLIST inheritscomponent
- repid CDATA #REQUIRED>
-
-<!ELEMENT inheritshome EMPTY>
-<!ATTLIST inheritshome
- repid CDATA #REQUIRED>
-
-<!ELEMENT inheritsinterface EMPTY>
-<!ATTLIST inheritsinterface
- repid CDATA #REQUIRED>
-
-<!ELEMENT ins EMPTY>
-<!ATTLIST ins
- name CDATA #REQUIRED >
-
-<!ELEMENT interface
- ( inheritsinterface*
- , operationpolicies? ) >
-<!ATTLIST interface
- name CDATA #REQUIRED
- repid CDATA #REQUIRED >
-
-<!ELEMENT interop EMPTY>
-<!ATTLIST interop
- type CDATA #REQUIRED
- direction ( hasview | isview ) #REQUIRED
- descriptor CDATA #REQUIRED >
-
-<!ELEMENT link ( #PCDATA ) >
-<!ATTLIST link
- %simple-link-attributes; >
-
-<!ELEMENT objref EMPTY>
-<!ATTLIST objref
- string CDATA #REQUIRED >
-
-<!ELEMENT operation
- ( transaction?
- , requiredrights? ) >
-<!ATTLIST operation
- name CDATA #REQUIRED >
-
-<!-- an operation name of "*" specifies all operations in the current
-scope -->
-<!ELEMENT operationpolicies
- ( operation+ ) >
-
-<!ELEMENT param EMPTY >
-<!ATTLIST param
- name CDATA #REQUIRED
- value CDATA #REQUIRED >
-
-<!ELEMENT params (param+) >
-
-<!ELEMENT poapolicies EMPTY>
-<!ATTLIST poapolicies
- thread (ORB_CTRL_MODEL | SINGLE_THREAD_SAFE ) #REQUIRED
- lifespan (TRANSIENT | PERSISTENT ) #REQUIRED
- iduniqueness (UNIQUE_ID | MULTIPLE_ID) #REQUIRED
- idassignment (USER_ID | SYSTEM_ID) #REQUIRED
- servantretention (RETAIN | NON_RETAIN) #REQUIRED
- requestprocessing (USE_ACTIVE_OBJECT_MAP_ONLY
- |USE_DEFAULT_SERVANT
- |USE_SERVANT_MANAGER) #REQUIRED
- implicitactivation (IMPLICIT_ACTIVATION
- |NON_IMPLICIT_ACTIVATION) #REQUIRED >
-
-<!ELEMENT ports
- ( uses
- | provides
- | emits
- | publishes
- | consumes
- )* >
-
-<!ELEMENT process
- ( servant ) >
-
-<!ELEMENT provides
- ( operationpolicies?
- , extension* ) >
-<!ATTLIST provides
- providesname CDATA #REQUIRED
- repid CDATA #REQUIRED
- facettag CDATA #REQUIRED >
-
-<!ELEMENT pssimplementation EMPTY>
-<!ATTLIST pssimplementation
- id CDATA #REQUIRED >
-
-<!ELEMENT psstransaction (psstransactionisolationlevel?) >
-<!ATTLIST psstransaction
- policy (TRANSACTIONAL|NON_TRANSACTIONAL) #REQUIRED >
-
-<!ELEMENT psstransactionisolationlevel EMPTY>
-<!ATTLIST psstransactionisolationlevel
- level (READ_UNCOMMITTED|READ_COMMITTED|REPEATABLE_READ|SERIALIZABLE)
- #REQUIRED >
-
-<!ELEMENT publishes
- ( eventpolicy
- , extension* ) >
-<!ATTLIST publishes
- publishesname CDATA #REQUIRED
- eventtype CDATA #REQUIRED >
-
-<!ELEMENT repository
- ( ins
- | objref
- | link
- ) >
-<!ATTLIST repository
- type CDATA #IMPLIED >
-
-<!ELEMENT requiredrights
- ( right* ) >
-
-<!ELEMENT right
- ( description? ) >
-<!ATTLIST right
- name CDATA #REQUIRED >
-
-<!ELEMENT security
- ( requiredrights? ) >
-<!ATTLIST security
- rightsfamily CDATA #REQUIRED
- rightscombinator (secallrights | secanyrights) #REQUIRED >
-
-<!ELEMENT segment
- ( segmentmember+
- , containermanagedpersistence?
- , extension*
- ) >
-<!ATTLIST segment
- name CDATA #REQUIRED
- segmenttag CDATA #REQUIRED >
-
-<!ELEMENT segmentmember EMPTY>
-<!ATTLIST segmentmember
- facettag CDATA #REQUIRED >
-
-<!ELEMENT servant EMPTY >
-<!ATTLIST servant
- lifetime (component|method|transaction|container) #REQUIRED >
-
-<!ELEMENT service EMPTY >
-
-<!ELEMENT session
- ( servant ) >
-
-<!ELEMENT storagehome EMPTY>
-<!ATTLIST storagehome
- id CDATA #REQUIRED >
-
-<!ELEMENT supportsinterface
- ( operationpolicies?
- , extension* ) >
-<!ATTLIST supportsinterface
- repid CDATA #REQUIRED >
-
-<!ELEMENT threading EMPTY>
-<!ATTLIST threading
- policy ( serialize | multithread ) #REQUIRED >
-
-<!ELEMENT transaction EMPTY >
-<!ATTLIST transaction
- use (self-managed|not-supported|required|supports|requiresnew|
- mandatory|never) #REQUIRED >
-<!ELEMENT unclassified
- ( poapolicies ) >
-
-<!ELEMENT uses ( extension* ) >
-<!ATTLIST uses
- usesname CDATA #REQUIRED
- repid CDATA #REQUIRED >
diff --git a/TAO/CIAO/docs/XML/properties.dtd b/TAO/CIAO/docs/XML/properties.dtd
deleted file mode 100644
index adfe8699fb7..00000000000
--- a/TAO/CIAO/docs/XML/properties.dtd
+++ /dev/null
@@ -1,87 +0,0 @@
-<!-- DTD for CORBA Component property file. The root element
- is <properties>. Elements are listed alphabetically.
--->
-
-<!ELEMENT choice ( #PCDATA ) >
-
-<!ELEMENT choices ( choice | range )+ ) >
-
-<!ELEMENT defaultvalue ( #PCDATA ) >
-
-<!ELEMENT description ( #PCDATA ) >
-
-<!ELEMENT value ( #PCDATA ) >
-
-<!ELEMENT properties
- ( description?
- , ( simple
- | sequence
- | struct
- | valuetype
- )*
- ) >
-
-<!ELEMENT range (value, value) >
-
-<!ELEMENT simple
- ( description?
- , value
- , choices?
- , defaultvalue?
- ) >
-<!ATTLIST simple
- name CDATA #IMPLIED
- type ( boolean
- | char
- | double
- | float
- | short
- | long
- | objref
- | octet
- | string
- | ulong
- | ushort
- | longlong
- | ulonglong
- | wchar
- | wstring
- | fixed
- ) #REQUIRED >
-
-<!ELEMENT sequence
- ( description?
- , ( simple*
- | struct*
- | sequence*
- | valuetype*
- )
- ) >
-<!ATTLIST sequence
- name CDATA #IMPLIED
- type CDATA #REQUIRED >
-
-<!ELEMENT struct
- ( description?
- , ( simple
- | sequence
- | struct
- | valuetype
- )*
- ) >
-<!ATTLIST struct
- name CDATA #IMPLIED
- type CDATA #REQUIRED >
-
-<!ELEMENT valuetype
- ( description?
- , ( simple
- | sequence
- | struct
- | valuetype
- )*
- ) >
-<!ATTLIST valuetype
- name CDATA #IMPLIED
- type CDATA #REQUIRED
- primarykey (true | false) "false" >
diff --git a/TAO/CIAO/docs/XML/softpkg.dtd b/TAO/CIAO/docs/XML/softpkg.dtd
deleted file mode 100644
index ee87b811cc6..00000000000
--- a/TAO/CIAO/docs/XML/softpkg.dtd
+++ /dev/null
@@ -1,220 +0,0 @@
-<!-- DTD for softpkg. Used to describe CORBA Component
- implementations. The root element is <softpkg>.
- Elements are listed alphabetically.
- -->
-<!-- Revision $Id$ -->
-<!-- Simple xml link attributes based on W3C WD-xlink-19980303.
- May change when XLL is finalized. -->
-
-<!ENTITY % simple-link-attributes "
- xml:link CDATA #FIXED 'SIMPLE'
- href CDATA #REQUIRED
-">
-
-<!ELEMENT author
- ( name
- | company
- | webpage
- )* >
-
-<!ELEMENT code
- ( ( codebase
- | fileinarchive
- | link
- )
- , entrypoint?
- , usage?
- ) >
-<!ATTLIST code
- type CDATA #IMPLIED >
-
-<!-- If file not available locally, then download via codebase link -->
-<!ELEMENT codebase EMPTY >
-<!ATTLIST codebase
- filename CDATA #IMPLIED
- %simple-link-attributes; >
-
-<!ELEMENT compiler EMPTY >
-<!ATTLIST compiler
- name CDATA #REQUIRED
- version CDATA #IMPLIED >
-
-<!ELEMENT company ( #PCDATA ) >
-
-<!ELEMENT dependency
- ( softpkgref
- | codebase
- | fileinarchive
- | localfile
- | name
- | valuetypefactory
- ) >
-<!ATTLIST dependency
- type CDATA #IMPLIED
- action (assert | install) "assert">
-
-<!ELEMENT description ( #PCDATA ) >
-
-<!ELEMENT descriptor
- ( link
- | fileinarchive
- ) >
-<!ATTLIST descriptor
- type CDATA #IMPLIED>
-
-<!ELEMENT entrypoint ( #PCDATA) >
-
-<!-- The "extension" element is used for vendor-specific extensions -->
-<!ELEMENT extension (#PCDATA) >
-<!ATTLIST extension
- class CDATA #REQUIRED
- origin CDATA #REQUIRED
- id ID #IMPLIED
- extra CDATA #IMPLIED
- html-form CDATA #IMPLIED >
-
-<!-- The "fileinarchive" element is used to specify a file in the archive.
- If the file is in another archive then link is used to point to
- the archive in which the file may be found.
- -->
-<!ELEMENT fileinarchive
- ( link? ) >
-<!ATTLIST fileinarchive
- name CDATA #REQUIRED >
-
-<!ELEMENT idl
- ( link
- | fileinarchive
- | repository
- ) >
-<!ATTLIST idl
- id CDATA #REQUIRED
- homeid CDATA #REQUIRED >
-
-<!ELEMENT implementation
- ( description
- | code
- | compiler
- | dependency
- | descriptor
- | extension
- | programminglanguage
- | humanlanguage
- | os
- | propertyfile
- | processor
- | runtime
- )* >
-<!ATTLIST implementation
- id ID #IMPLIED
- variation CDATA #IMPLIED >
-
-<!ELEMENT implref EMPTY >
-<!ATTLIST implref
- idref CDATA #REQUIRED >
-
-<!ELEMENT ins EMPTY >
-<!ATTLIST inc
- name CDATA #REQUIRED >
-
-<!ELEMENT humanlanguage EMPTY >
-<!ATTLIST humanlanguage
- name CDATA #REQUIRED >
-
-<!ELEMENT license ( #PCDATA ) >
-<!ATTLIST license
- %simple-link-attributes; >
-
-<!ELEMENT link ( #PCDATA ) >
-<!ATTLIST link
- %simple-link-attributes; >
-
-<!-- A file that should be available in the local environment -->
-<!ELEMENT localfile EMPTY >
-<!ATTLIST localfile
- name CDATA #REQUIRED >
-
-<!ELEMENT name ( #PCDATA ) >
-
-<!ELEMENT objref EMPTY >
-<!ATTLIST objref
- string CDATA #REQUIRED >
-
-<!ELEMENT os EMPTY >
-<!ATTLIST os
- name CDATA #REQUIRED
- version CDATA #IMPLIED>
-
-<!ELEMENT pkgtype ( #PCDATA ) >
-<!ATTLIST pkgtype
- version CDATA #IMPLIED >
-
-<!ELEMENT processor EMPTY >
-<!ATTLIST processor
- name CDATA #REQUIRED >
-
-<!ELEMENT programminglanguage EMPTY>
-<!ATTLIST programminglanguage
- name CDATA #REQUIRED
- version CDATA #IMPLIED >
-
-<!ELEMENT propertyfile
- ( fileinarchive
- | link) >
-<!ATTLIST propertyfile
- type CDATA #IMPLIED >
-
-<!ELEMENT repository
- ( ins
- | objref
- | link
- ) >
-<!ATTLIST repository
- type CDATA #IMPLIED >
-
-<!ELEMENT runtime EMPTY >
-<!ATTLIST runtime
- name CDATA #REQUIRED
- version CDATA #IMPLIED>
-
-<!ELEMENT softpkg
- ( title
- | pkgtype
- | author
- | description?
- | license
- | idl
- | propertyfile
- | dependency
- | descriptor
- | implementation
- | extension
- )* >
-<!ATTLIST softpkg
- name ID #REQUIRED
- version CDATA #IMPLIED >
-
-<!ELEMENT softpkgref
- ( ( fileinarchive
- | link
- )
- , implref?
- ) >
-
-<!ELEMENT title ( #PCDATA ) >
-
-<!ELEMENT usage ( #PCDATA ) >
-
-<!ELEMENT valuetypefactory
- ( codebase
- | fileinarchive
- | link
- ) >
-<!ATTLIST valuetypefactory
- repid CDATA #REQUIRED
- valueentrypoint CDATA #IMPLIED
- factoryentrypoint CDATA #IMPLIED >
-
-<!ELEMENT webpage ( #PCDATA ) >
-<!ATTLIST webpage
- %simple-link-attributes; >
diff --git a/TAO/CIAO/docs/com-impl.html b/TAO/CIAO/docs/com-impl.html
deleted file mode 100644
index d2c4a4bb5dc..00000000000
--- a/TAO/CIAO/docs/com-impl.html
+++ /dev/null
@@ -1,60 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
-<!-- $Id$ -->
-<html> <head>
-<title>Implementing a CCM Component</title>
-</head>
-
-<body>
-<h1>Implementing a CCM Component</h1>
-
-This document explains how to implement a single component. At this
-moment, CIAO lacks a CIDL compiler, and we depends on manually
-generating the servant glue code for containers and local executor
-interface. Check out this <a href="new_component.html">page</a> to
-find how all files are generate4d in CIAO.
-The following figure shows how this is done:<p>
-
-
-<img src="imgs/File-Gen-Existing.png"><p>
-
-And when we have a working CIDL (or, CCIDL "CIAO's Component
-Implementation Definition Language") compiler, the file will be
-generated using a CIDL file (which is rather simple.) This figure
-depicts the "Right Way" [TM] this should be done:<p>
-
-<img src="imgs/File-Gen-Future.png"><p>
-
-Checkout a <a href="../tools/CCIDL/README">list of things to do</a> for implementing CIDL compiler.<p>
-
-I think it is debatable whether we should merge the "Servant DLL" and
-"Component Implementation DLL" into one DLL. Me think not. My
-approach, however, creates some complication on requireing a mechanism
-to locate the servant code (and DLL) from component implementation.
-
-
-<h2>Libraries Dependencies</h2> Implementing a component creates 3
-DLL's as shown in the above figure. Both "Servant DLL" and "Component
-Implementation DLL" depend on the "Client DLL". "Servant DLL" and
-"Component Implementation DLL" are not mutually dependent, however.
-All the generated DLLs depends on other TAO and CIAO common
-libraries. Here's a break down of which libraries depends on which
-other libraries:
-
-<ul>
- <li><b>Client DLL</b>: ace.lib tao.lib TAO_IFR_Client.lib
- CIAO_Clientd.lib
- <li><b>Servant DLL</b>: ace.lib tao.lib <b>Client DLL</b>
- TAO_IFR_Client.lib TAO_PortableServer.lib TAO_Security.lib
- CIAO_Container.lib CIAO_Client.lib
- <li><b>Component Implementation DLL</b>: ace.lib tao.lib
- <b>Client DLL</b> TAO_IFR_Client.lib TAO_Security.lib
- CIAO_Container.lib
-</ul>
-
- <!--#include virtual="/~nanbor/signature.html" -->
-<!-- <hr> -->
-<!-- <\!-- hhmts start -\-> -->
-<!-- Last modified: Tue Dec 10 22:41:50 Central Standard Time 2002 -->
-<!-- <\!-- hhmts end -\-> -->
-<!-- <address>Nanbor Wang &lt;nanbor@cs.wustl.edu&gt;</address> -->
-</body> </html>
diff --git a/TAO/CIAO/docs/imgs/CCM-v5.vsd b/TAO/CIAO/docs/imgs/CCM-v5.vsd
deleted file mode 100644
index 7f4d7539050..00000000000
--- a/TAO/CIAO/docs/imgs/CCM-v5.vsd
+++ /dev/null
Binary files differ
diff --git a/TAO/CIAO/docs/imgs/CCM.vsd b/TAO/CIAO/docs/imgs/CCM.vsd
deleted file mode 100644
index 7d5b7fef162..00000000000
--- a/TAO/CIAO/docs/imgs/CCM.vsd
+++ /dev/null
Binary files differ
diff --git a/TAO/CIAO/docs/imgs/File-Gen-Existing.png b/TAO/CIAO/docs/imgs/File-Gen-Existing.png
deleted file mode 100644
index 8deb5d32fd3..00000000000
--- a/TAO/CIAO/docs/imgs/File-Gen-Existing.png
+++ /dev/null
Binary files differ
diff --git a/TAO/CIAO/docs/imgs/File-Gen-Future.png b/TAO/CIAO/docs/imgs/File-Gen-Future.png
deleted file mode 100644
index 1daef691bdf..00000000000
--- a/TAO/CIAO/docs/imgs/File-Gen-Future.png
+++ /dev/null
Binary files differ
diff --git a/TAO/CIAO/docs/imgs/File_Generation_Flow.vsd b/TAO/CIAO/docs/imgs/File_Generation_Flow.vsd
deleted file mode 100644
index ef6332d49ac..00000000000
--- a/TAO/CIAO/docs/imgs/File_Generation_Flow.vsd
+++ /dev/null
Binary files differ
diff --git a/TAO/CIAO/docs/imgs/IDL-CIDL-classes.vsd b/TAO/CIAO/docs/imgs/IDL-CIDL-classes.vsd
deleted file mode 100644
index 0986aa78d70..00000000000
--- a/TAO/CIAO/docs/imgs/IDL-CIDL-classes.vsd
+++ /dev/null
Binary files differ
diff --git a/TAO/CIAO/docs/imgs/basic-container.png b/TAO/CIAO/docs/imgs/basic-container.png
deleted file mode 100644
index 9df767b45a2..00000000000
--- a/TAO/CIAO/docs/imgs/basic-container.png
+++ /dev/null
Binary files differ
diff --git a/TAO/CIAO/docs/imgs/component-basic.png b/TAO/CIAO/docs/imgs/component-basic.png
deleted file mode 100644
index 6461538c85d..00000000000
--- a/TAO/CIAO/docs/imgs/component-basic.png
+++ /dev/null
Binary files differ
diff --git a/TAO/CIAO/docs/imgs/deployment.png b/TAO/CIAO/docs/imgs/deployment.png
deleted file mode 100644
index 4cd8c6be646..00000000000
--- a/TAO/CIAO/docs/imgs/deployment.png
+++ /dev/null
Binary files differ
diff --git a/TAO/CIAO/docs/imgs/extended-container.png b/TAO/CIAO/docs/imgs/extended-container.png
deleted file mode 100644
index 39977e6eb83..00000000000
--- a/TAO/CIAO/docs/imgs/extended-container.png
+++ /dev/null
Binary files differ
diff --git a/TAO/CIAO/docs/imgs/home-config.png b/TAO/CIAO/docs/imgs/home-config.png
deleted file mode 100644
index aebf5e62751..00000000000
--- a/TAO/CIAO/docs/imgs/home-config.png
+++ /dev/null
Binary files differ
diff --git a/TAO/CIAO/docs/index.html b/TAO/CIAO/docs/index.html
deleted file mode 100644
index 4a6171ffd63..00000000000
--- a/TAO/CIAO/docs/index.html
+++ /dev/null
@@ -1,75 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
-<!-- $Id$ -->
-<html> <head>
-<title>CIAO - Component-Integrated ACE ORB</title>
-</head>
-
-<body>
-<h1>CIAO - Component-Integrated ACE ORB</h1>
-
-<h2>Introduction</h2>
-CIAO is TAO's implementation of <a
-href="http://cgi.omg.org/cgi-bin/doc?formal/02-06-65"> CORBA Component
-Model (CCM)</a> specially optimized for distributed real-time embedded
-(DRE) systems.
-
-This page contains links to other documents and
-resources for using <i>CIAO</i>.
-
-<h2>The CIAO Project</h2>
-<ul>
- <li>The main
- <a href="http://www.cs.wustl.edu/~nanbor/projects/CIAO/">
- CIAO project page</a>.<p>
-
- <li>Project <a href="releasenotes.html">Status (aka. Release
- Notes.)</a><p>
-
- <li>This <a href="new_components.html">page on implementing new
- component</a> explains all the user-defined and tool-generated
- files when implementing a component.<p>
-
- <li>A <a href="todo.html">list of things</a> that we know need to be
- done. :) <p>
-
- <li>The <a href="ConfigValues.html">Configuration Name/Value
- lists</a> lists all the configuration values that CIAO will pass
- into vaious CCM mechanisms. The information shown in this page
- is not visible to CIAO end-users, which include modeling tool
- developers. The information that matters for most users is how
- these configurations are represented in various XML
- descriptors and CIDL specifications.<p>
-</ul>
-
-<h2>CCM-defined Interface Diagrams</h2>
-
-Here is a set of UML diagrams that we use to figure out the
-relationship among all the different interfaces in CCM. You can
-browse the related part from the following list:
-
-<UL>
- <li><a href="imgs/component-basic.png"> Basic component interfaces
- </a></li>
- <li><a href="imgs/home-config.png"> Home and configuration interfaces
- </a></li>
- <li><a href="imgs/basic-container.png"> Basic container interfaces
- </a></li>
- <li><a href="imgs/extended-container.png"> Extended container
- interfaces </a></li>
- <li><a href="img/deployment.png"> Deployment and installation
- interfaces </a></li>
-</UL>
-All these diagrams are generating from the <a href="imgs/CCM.vsd">CCM.vsd
-Visio file</a> (The same file in Visio V.5 format is <a href="imgs/CCM-v5.vsd">here</a>.)
-
-
-<!--#include virtual="/~nanbor/signature.html" -->
-<!-- <hr> -->
-<!-- <\!-- hhmts start -\-> -->
-<!-- Last modified: Mon Nov 04 07:55:22 Central Standard Time 2002 -->
-<!-- <\!-- hhmts end -\-> -->
-<!-- <address>Nanbor Wang &lt;nanbor@cs.wustl.edu&gt;</address> -->
-</body> </html>
-
-<!-- LocalWords: CCM UML vsd Visio
- -->
diff --git a/TAO/CIAO/docs/new_components.html b/TAO/CIAO/docs/new_components.html
deleted file mode 100644
index db10fca2103..00000000000
--- a/TAO/CIAO/docs/new_components.html
+++ /dev/null
@@ -1,129 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
-<!-- $Id$ -->
-<html> <head>
-<title>Procedures to prepare a new component implementation</title>
-</head>
-
-<body>
-<h1>Preparing a new component implementation</h1>
-
-I am documenting the steps required to prepare a component implementation.
-Personally, I prefer to set up a directory to contain only <b>one</b>
-component implementation. I believe the procedures outlined below
-will work if you have multiple component implementation in the same
-IDL files. The purpose of this document is to record the procedures
-and steps on how these files relate to each others and how they come
-about during the development process.<p>
-
-Assuming we need to create a new component called
-<code><b>Orc</b></code>. Below is the list of files you'll need to
-deal with. Our goal is to greatly reduce the number of files you need
-to deal with manually...
-
-<ol>
- <li><font color="red"><code><b>Orc</b>.idl</code></font> - This is
- the IDL file that contains the component and component home
- definitions.<p>
-
- As you will eventually create 3 DLLs (or shared objects), you
- will also need 3 sets of different export macros files as
- following.<p>
-
- <li><code><b>Orc</b>_stub_export.h</code> - This file is generated
- using the following command:<p>
-
- <code>generate_export_file.pl <b>ORC</b>_STUB &gt; <b>Orc</b>_stub_export.h</code><p>
-
- This file makes macros like <code><b>ORC</b>_STUB_Export</code>
- and friends available. They are usually controlled by
- <code><b>ORC</b>_STUB_BUILD_DLL</code><p>
-
- <li><code><b>Orc</b>_svnt_export.h</code> - This file is generated
- using the following command:<p>
-
- <code>generate_export_file.pl <b>ORC</b>_SVNT &gt; <b>Orc</b>_svnt_export.h</code><p>
-
- This file makes macros like <code><b>ORC</b>_SVNT_Export</code>
- and friends available. They are usually controlled by
- <code><b>ORC</b>_SVNT_BUILD_DLL</code><p>
-
- <li><code><b>Orc</b>_exec_export.h</code> - This file is generated
- using the following command:<p>
-
- <code>generate_export_file.pl <b>ORC</b>_EXEC &gt; <b>Orc</b>_exec_export.h</code><p>
-
- This file makes macros like <code><b>ORC</b>_EXEC_Export</code>
- and friends available. They are usually controlled by
- <code><b>ORC</b>_EXEC_BUILD_DLL</code><p>
-
- <li><code><b>Orc</b>E.idl</code> - Component Executor equivalent
- interface definitions. This file should be generated
- automatically by the CIDL compiler as illustrated in this
- <a href="com-impl.html">file</a> but we currently are still
- working on the implementation of the CIDL compiler. Therefore,
- you still need to create this file manually.<p>
-
- <li><font color="red"><code><b>Orc</b>EI.idl</code></font> -
- Optional Component Executor implementation interface
- definitions. Often time, when you implement a non-trivial
- monolithic component implementation, you are required to define
- the monolithic local executor interface which often inherits
- from the component monolithic executor interface and all the
- provided interfaces. The actually executor implementation will
- inherit from this user defined interface instead of the default
- executor mapping defined in <code><b>Orc</b>E.idl</code>. You
- will need to do the same when you wish to support non-vanilla
- component interface, such as
- <code>Components::SessionComponent</code>, and/or
- <code>Components::SessionSynchronization</code>.<p>
-
- Ideally, it would be perfect if we can auto-generate this
- optional IDL file using CIDL compiler. However, I'm not sure
- the plan CIDL language contains enough information that's
- required to generate this file.<p>
-
- <li><font color="red"><code><b>Orc</b>_exec.*</code></font> - These
- are files containing the actually component implementation that
- you have to write manually. It, however, depends on the
- equivalent executor IDL definition (that will be) generated by
- the CIDL files.<p>
-
- <li><code><b>Orb</b>_svnt.*</code> - These are files containing the
- servant glue code that bridge a container to the component
- executor that you implement. Like the component executor
- mapping IDL file, these files should be generated by the CIDL
- compiler but are currently generated manually.<p>
-
- <li><code><b>Orc</b>.csd</code> - Component Softpkg Descriptor. We
- need some kind of tool to generate this file automatically. It
- is currently being generated manually, however.<p>
-
-
- <li><code><b>Orc</b>.ssd</code> - Servant Softpkg Descriptor. This
- is a CIAO extension descriptor file which uses the same softpkg
- DTD as described in CCM spec. CIAO requires this file because
- CIAO separates the executors into a completely separate DLL.
- Like <code><b>Orc</b>.csd</code>, this file should be generated
- automatically through some tool, but it is currently manually
- crafted.<p>
-
- <li><code><b>Orc</b>.ccd</code> - CORBA Component Descriptor. This
- file is currently being generated manually thou a template
- should really be generated by CIAO's CIDL compiler.<p>
-
- <li><font color="red"><code><b>Orc</b>.mpc</code></font> - Makefile
- Project Creator definition file. There is a perl script to
- generate a minimal MPC definition at
- <code>$(CIAO_ROOT)/bin/generate_component_mpc.pl</code> so
- people can use it to implement the simplest component
- implementation outlined in this file.<p>
-
-</ol>
-
-
-<hr>
-<address></address>
-<!-- hhmts start -->
-Last modified: Fri Mar 21 16:06:48 Central Standard Time 2003
-<!-- hhmts end -->
-</body> </html>
diff --git a/TAO/CIAO/docs/releasenotes.html b/TAO/CIAO/docs/releasenotes.html
deleted file mode 100644
index 04c2012aa55..00000000000
--- a/TAO/CIAO/docs/releasenotes.html
+++ /dev/null
@@ -1,361 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
-<!-- $Id$ -->
-<html> <head>
-<title>CIAO Release Information and TODOs</title>
-</head>
-
-<body>
-<h1>CIAO Release Information and TODOs</h1>
-
-<ul>
- <li><a href="#status">Current Status</a>
- <li><a href="#outlook">Project Outlook</a>
- <li>Short-term <a href="todo.html">to-do list</a></p>
-</ul>
-
-<hr>
-<h2>Current Status</h2><a name="status">
-
-<ol>
- <li><h3>Latest News</h3>
- <ul>
- <li>Mon Jun 2 2003 - The first Alpha release of CIAO will be
- available with TAO.<p>
-
- <li>Thu Apr 16 2003 - The HUDisplay example now also works on
- Linux platforms and allows you to remotely setup an
- application. <p>
-
- <li>Sat Apr 5 2003 - Added the support for connection
- establishment and finished the multiple-component
- <a href="../examples/handcrafted/Display/"> HUDisplay
- example</a>. Check out the <a
- href="../examples/handcrafted/Display/descriptors/NOTE.txt">
- note </a> to see how to play with it. You need to
- have <a href="http://www.trolltech.com/">Qt</a> library
- available if you want to play with the GUI based
- component. If you don't, no worries. You can still play
- with the non-GUI configurations.<p>
-
- <li>Thu Apr 3 2003 - Added the XML documents handlers for
- componentassembly. They build the assembly specification
- that the assembly mechanisms use to compose an
- application. As with handlers for parsing softpkg
- documents, these handlers do not have robust error
- handling capability as they assume a validator in ACEXML
- parser handles the validity of documents already (which
- isn't the case for the time being.)<p>
-
- <li>Fri Mar 21 2003 - Finished the component implementations
- for the multi-component example. Next up, assembling
- mechanism. <p>
-
- <li>Thu Mar 6 2003 - The HelloWorld now uses the new command
- Daemon control options to read in the component softpkg
- descriptor, spawn a ComponentServer, and instantiate the
- component. See the <code>
- <a href="../examples/handcrafted/Hello/run_test.pl">
- run_test.pl</a></code> for more details on how this can be
- done. <p>
-
- <li>Sun Feb 16 2003 - A new implementation for the per-host
- daemon process is now availabe under <code>
- $(CIAO_ROOT)/tools/Daemon/</code>. This application
- includes both <code> ComponentInstallation</code> and
- <code>ServerActivator</code> interfaces. It also comes
- with a command line utility program to interact with the
- daemon process. Please see its <a
- href="../tools/Daemon/README">README</a> file for more
- information.<p>
-
- Implementation for <code>ComponentInstallation</code>
- interface uses ACE_Configuration to maintain persistency
- of component intallation data. <p>
-
- <li>Fri Feb 14 2003 - We now have most of the assembly and
- deployment framewok processes available. Next up,
- implementing the XML
- handlers that actually parses component assemblies and
- assembles an application.<p>
-
- <li>Sun Feb 9 2003 - Started implementing the Deployment and
- Assembly framework a week ago. So far, the object
- management mechanisms for AssemblyFactory and Assembly is
- done, but I still need to fill in the meat where we build an
- Assembly by parsing the Assembly descriptor. I'm going to
- move on to finish the implementations for the rest of the
- Deployment and Assembly interfaces in the next few days.<p>
-
- <b>It looks like we will have to go straight to our
- planned 0.2 release as our first publically available
- CIAO. </b><p>
-
- <li>Mon Jan 13 2003 - Finished the first round effort to
- create a meta-code to describe how the CIDL compiler
- should generated the container specific glue code. These
- templates are available <a href="templates/">here</a>.
- These templates can also be used to help handcrafting the
- examples I'm working on.<p>
-
- <li>Mon Jan 6 2003 - Both Jeff and Boris are working on the
- CIDL compiler implementation.<p>
-
- <li>Tue Dec 24 2002 - Started working a multi-component
- handcrafted example in <a
- href="../examples/handcrafted/Display/">examples/handcrafted/Display/</a><p>
-
- <li>Sat Dec 21 2002 - Added *nix Makefiles, MPC specifications
- and created MPC templates for CIAO clients, component
- implementations, and server tools.<p>
-
- <li>Wed Dec 18 2002 - A perl script fits beautifully with the
- HelloWorld example.<p>
-
- <li>Dec 17 2002 - A NameService based HomeFinder
- implementation -- CIAO::HomeRegistrar -- is now
- available. The simple component server in CIAO now use
- the support the HomeFinder interface so we can install as
- many components in the component server as possible.<p>
-
- <li>Dec 15 2002 - Generic component server that can host
- multiple components with a proprietary config file. More
- information can be found <a
- href="../tools/Simple_Component_Server/README"> here </a>
- Next up, a trivial HomeFinder interface that can
- simply forward requests to a Naming Service.<p>
-
- <li>Dec 11 2002 - The server implementation in the HelloWorld
- example is now a generic one-component server. It can be
- modified easily to host any *one* component easily.<p>
-
- <li>Dec 10 2002 - <a href="com-impl.html">This document</a>
- captures how to "handcraft" a component and how this all
- will be automated in the future.<p>
-
- <li>Nov 22 2002 - Completed the first handcrafted example
- <a href="../examples/handcrafted/Hello/README">HelloWorld</a>
- component implementation. CIAO now also include a
- minimally functioning session container implementation.<p>
- </ul>
-
- <li> <h3>Status of individual modules</h3>
-<table valign="top" border="1" width="90%">
- <th> Modules </th>
- <th> Status </th>
-
- <tr>
- <td>CCM Core</td>
- <td>We are currently working on a prototype that enables remote
- component installation using the CCM
- <code>ComponentInstallation</code> interface, a component
- server implementation. Since we
- still don't have a CIDL implementation, we will also write up
- an example to show how the code should be generated in both
- CCIDL compiler and provide example component
- implementations.
-
- There exists 3 libraries in CCM Core.
- <ol>
- <li><b>CIAO_Client</b>: contains the client side stubs for
- CCMObject. All client programs that use CCMObject must
- link to this library.
- <li><b>CIAO_Container</b>: contains the interface
- definitions and CIAO's container implementation. All
- component implementations must link to this library.
- <li><b>CIAO_Server</b>: contains the stubs to access
- deployment framework. We'll need to use this to
- implement the deployment mechanism.
- </ol>
- </td>
- </tr>
-
- <tr>
- <td>TAO_IDL</td>
- <td>TAO_IDL has been extended to handle and generate all the
- component related keywords but <code>import</code>. We are
- currently using the generated mapping, in combination to
- manually simulation of CIDL generated code to implement CCM
- component.
- TAO_IDL Check out <a
- href="http://cvs.doc.wustl.edu/ace-latest.cgi/ACE_wrappers/TAO/docs/releasenotes/index.html#idl"> TAO IDL compiler</a> for more details.
- </td>
- </tr>
-
- <tr>
- <td>CIDL (Component Implementation Defintion Language) Compiler</td>
- <td>
- An implementation that supports a subset of CIDL appropriate for
- DRE systems has been implemented.
- We do not have immediate plans to integrate
- Persistence State Service into the CIAO CIDL compiler. At present
- we support only a simple construct like the following:
-<pre>
- module component_composite_name {
- composition service component_home_executor {
- implements component_home;
- manages component_executor;
- };
- };
-</pre>
- The compiler generates operation implementations
- inherited from following interfaces:
- <ul>
- <li><code>Navigation</code>
- <li><code>Receptacle</code>
- <li><code>Event</code>
- <li><code>CCMObject</code>
- <li>Component specific context
- <li>Executor
- </ul>
-
- </td>
- </tr>
-</table><p>
-
-<li><b>TAO Modules required by CIAO:</b> We currently don't have a
- target set up in TAO's make system to build CIAO required module
- only, so you need to do this yourself. (BTW, we only support the
- use of dynamic linked libraries, at least for now.) Here is a list
- of necessary TAO modules in order of dependencies:
-
- <ol>
- <li>TAO Main library.
- <li>PortableServer
- <li>orbsvcs/orbsvcs/Security
- <li>IFR_Client
- </ol><p>
-
-</ol>
-
-<hr>
-<a name="outlook">
-<h2>Project Outlook</h2>
-This to-do list is currently arranged in chronological order,
-<i>i.e.</i>, we group features that are expected to be available in
-certain release together. All interfaces and types are under
-<CODE>Components</code> module namespace if not specified explicitly.
-
-<ul>
- <li><b>CIAO 0.1 alpha release</b> - (post TAO 1.3, Dec. 2002)
- <UL>
- <li>Default implementation of <code>
- <ul>
- <li>Navigations
- <li>Receptacles
- <li>Events
- </ul>
- </code>
- interfaces and their supporting data types that
- <code>CCMObject</code> interface requires. These
- interfaces are defined in <code>
- <a href="../ciao/CIAO_Base.pidl">CIAO_Base.pidl</a></code>
- and <code><a
- href="../ciao/CIAO_Event.pidl">CIAO_Event.pidl</a></code>.
- <li>Default implementation of <code>
- <ul>
- <li>CCMObject
- <li>CCMHome
- <li>KeylessCCMHome
- </ul>
- </code> and their supporting data types as defined in part
- of the <code><a href="../ciao/CIAO_Component.pidl">
- CIAO_Component.pidl </a></code>.
- <li>Partial support for basic container/callback interfaces: <code>
- <ul>
- <li>CCMContext, SessionContext
- <li>EnterpriseComponent, SessionComponent
- </ul>
- </code>
- <li>Extension to CORBA Core
- <ul>
- <li><code>CORBA::LocalObject</code> interface has been
- added a long time ago.
- <li><code>get_component()</code> method in
- <code>CORBA::{Object|LocalObject}</code>
- interfaces.
- </ul>
- <li><code>HomeExecutorBase</code> interface
- <li>Support (hand crafted) monolithic executor implementation
- <li>Extension to IDL compiler and Typecode factory. IDL
- compiler shall recognize all CCM keyword extensions but not
- necessarily generate code for these added keywords.
- <li>Adaptive configuration of Notification Service/Event Channels
- <li>Partial implementation of <code>Deployment</code> module.
- <!-- support some descriptors -->
- </UL>
- AT this stage, we only implement "enough" CCM defined interface
- capability to allow manual implementation of components and a
- simple framework that offer some remote installation/composition
- capability. This will help design how CCIDL generated code
- should look like.
-
- <p>
-
- <LI><b>CIAO 0.2 beta release</b> - (TAO 1.3.X, Apr. 2003)
- <ul>
- <li>Support for various RT and QoS Policies
- <li>Support for policy-based adaptation mechanism
- <li><code>HomeFinder</code> interface
- <li><code>HomeRegistration</code> interface
- <li>Configuration interfaces <code>
- <ul>
- <li>Configurator
- <li>StandardConfigurator
- <li>HomeConfiguration
- </ul>
- </code>
- <li>Other basic container programming interfaces <code>
- <ul>
- <li>EntityContext
- <li>EntityComponent
- </ul>
- </code>
- <li>Extension to Interface Repository.
- <li>IDL should generate correct client/server side mapping for
- component extension
- <li>CCIDL implementation that generates skeleton implementation for
- <ul>
- <li><code>Navigations</code>, <code>Receptacles</code>,
- and <code>Events</code> interfaces of a components
- <li>component executor and home_executor templates for
- monolithic component implementation
- <li>What else???
- </ul>
- <li>Complete <code>Deployment</code> implementation, assuming
- the revised deployment specification will be available
- <!-- Support more descriptors -->
- </ul>
-
- <p>
-
- <li><b>CIAO 1.0</b> - (TAO 1.4, Oct. 2003)
- <ul>
- <li>Interface <code>SessionSynchronization</code> and other
- interfaces in <code>Transaction</code> module, assuming
- time permitting and
- <a href="http://xots.sourceforge.net/"> XOTS </a> will be
- available in April 2003 timeframe
- <li>PSS functionality?
- <li><code>CCM2Context, Session2Context, Entity2Context</code>
- and <code>
- <li>Support for <code>ExecutorLocator</code> based component
- implementation
- <li><code>ProxyHomeRegistration</code> interface
- <!-- support complete descriptors -->
- </ul>
-
- <p>
-
-</ul>
-
- <!--#include virtual="/~nanbor/signature.html" -->
-<!-- <hr> -->
-<!-- <address></address> -->
-<!-- <\!-- hhmts start -\-> -->
-<!-- Last modified: Sun Jun 1 23:20:37 Central Standard Time 2003 -->
-<!-- <\!-- hhmts end -\-> -->
-<!-- <address>Nanbor Wang &lt;nanbor@cs.wustl.edu&gt;</address> -->
-</body> </html>
-
-<!-- LocalWords: TODOs CCM IDL CCIDL CIDL backend idl
- -->
diff --git a/TAO/CIAO/docs/templates/CIAO_Glue_Session_Template.cpp b/TAO/CIAO/docs/templates/CIAO_Glue_Session_Template.cpp
deleted file mode 100644
index 4320b5a3177..00000000000
--- a/TAO/CIAO/docs/templates/CIAO_Glue_Session_Template.cpp
+++ /dev/null
@@ -1,1218 +0,0 @@
-// $Id$
-
-// The generated filename for files using this template shoule be
-// [idl-basename]GS.cpp GS --> GlueSession
-
-// @@ Notice: [ciao module name] can expand to either CIAO_GLUE or
-// CIAO_GLUE_[module name] as defined in the header file.
-
-/// @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
-/// @@@ Notice that all component and interface names need to be
-/// fully qualified as we are creating a new namespace for the CIAO's
-/// container glue code.
-/// @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
-
-#include "[idl-basename]_svnt.h"
-#include "Cookies.h"
-
-#if !defined (__ACE_INLINE__)
-# include "[idl-basename]_svnt.inl"
-#endif /* __ACE_INLINE__ */
-
-//////////////////////////////////////////////////////////////////
-// Facet Glue Code implementation
-// @@ We are assuming that these facets are declared under the same
-// module as the component (thus, we are placing this glue code
-// here under the same namespace. If they are not, we will
-// either be generating them in separate namespaces, or include
-// some other CIDL generated files to get the glue code
-// implementation.
-//////////////////////////////////////////////////////////////////
-
-##foreach [facet type] in (all facet interface types in the original IDL)
-
-// get_component implementation.
-CORBA::Object_ptr
-[ciao module name]::[facet type]_Servant::_get_component (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- ::Components::SessionContext_var sc =
- ::Components::SessionContext::_narrow (this->ctx_.in ());
-
- if (! CORBA::is_nil(sc.in ()))
- return sc->get_CCM_object (ACE_ENV_SINGLE_ARG_PARAMETER);
-
- ::Components::EntityContext_var ec =
- ::Components::EntityContext::_narrow (this->ctx_.in ());
-
- if (! CORBA::is_nil(ec.in ()))
- return ec->get_CCM_object (ACE_ENV_SINGLE_ARG_PARAMETER);
-
- ACE_THROW_RETURN (CORBA::INTERNAL (), 0);
-}
-
-##end foreach [facet type]
-
-
-
-//////////////////////////////////////////////////////////////////
-// Component specific context implementation
-//////////////////////////////////////////////////////////////////
-
-##foreach [receptacle name] with [uses type] in (list of all 'uses' interfaces) generate:
-## if ([receptacle name] is a multiplex ('uses multiple') receptacle)
- // [receptacle name]Connections typedef'ed as a sequence of
- // struct [receptacle name]Connection.
-[receptacle name]Connections *
-[ciao module name]::[component name]_Context::get_connections_[receptacle name] (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- // @@ Strategized locking here.
-
- [receptacle name]Connections_var retv =
- new [receptacle name]Connections (this->ciao_muses_[receptacle name]_.current_size ());
-
- CORBA::ULong i = 0;
- ACE_Active_Map_Manager<[uses type]_var>::iterator
- end = this->ciso_muses_[receptacle name]_.end ();
- for (ACE_Active_Map_Manager<[uses type]_var>::iterator
- iter = this->ciso_muses_[receptacle name]_.begin ();
- iter != end;
- ++iter)
- {
- ACE_Active_Map_Manager<[uses type]_var>::ENTRY &entry = *iter;
- retv[i]->objref = [uses type]::_narrow (entry.int_id_.in ());
- retv[i]->ck = new CIAO::Map_Key_Cookie (entry.ext_id_);
- ++i;
- }
-
- return retv._retn ();
-}
-## endif [receptacle name]
-##end foreach [receptacle name] with [uses type]
-
-##foreach [event name] with [eventtype] in (list of all event sources) generate:
-void
-[ciao module name]::[component name]_Context::push_[event name] ([eventtype] *ev
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
-## if [event name] belongs to an 'emits' port
- this->ciao_emits_[event name]_consumer_->push_[event name] (ev
- ACE_ENV_ARG_PARAMETER);
-## else [event name] belongs to a 'publishes' port
- ACE_Active_Map_Manager<[eventtype]Consumer_var>::iterator
- end = this->ciao_publishes_[event name]_map_.end ();
- for (ACE_Active_Map_Manager<[eventtype]Consumer_var>::iterator
- iter = this->ciao_publishes_[event name]_map_.begin ();
- iter != end;
- ++iter)
- {
- ACE_Active_Map_Manager<[eventtype]Consumer_var>::ENTRY &entry = *iter;
- [eventtype]Consumer_var c
- = [eventtype]Consumer::_narrow (entry.int_id_.in ());
- c->push_[eventtype] (ev
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK;
- }
-## endif [event name]
-}
-
-##end foreach [event name] with [eventtype]
-
-
-// Operations for publishes interfaces.
-##foreach [publish name] with [eventtype] in (list of all publishers) generate:
-::Components::Cookie *
-[ciao module name]::[component name]_Context::subscribe_[publish name] ([eventtype]Consumer_ptr c
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- ::Components::ExceededConnectionLimit))
-{
- if (CORBA::is_nil (c))
- ACE_THROW_RETURN (CORBA::BAD_PARAM (), 0);
-
- [eventtype]Consumer_var sub
- = [eventtype]Consumer::_duplicate (c);
-
- ACE_Active_Map_Manager_Key key;
- this->ciao_publishes_[publish name]_map_.bind (sub.in (),
- key);
-
- sub._retn (); // Release ownership to map.
-
- ::Components::Cookie_var retv = new CIAO::Map_Key_Cookie (key);
- return retv._retn ();
-}
-
-[eventtype]Consumer_ptr
-[ciao module name]::[component name]_Context::unsubscribe_[publish name] (::Components::Cookie *ck
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- ::Components::InvalidConnection))
-{
- [eventtype]Consumer_var retv;
-
- ACE_Active_Map_Manager_Key key;
- if (ck == 0 ||
- CIAO::Map_Key_Cookie::extract (ck, key) == -1)
- ACE_THROW_RETURN (::Components::InvalidConnection (), 0);
-
- if (this->ciao_publishes_[publish name]_map_.unbind (key,
- retv) != 0)
- ACE_THROW_RETURN (::Components::InvalidConnection (), 0);
-
- return retv._retn ();
-}
-
-##end foreach [publish name] with [eventtype]
-
-##foreach [receptacle name] with [uses type] in (list of all 'uses' interfaces) generate:
-
-## if [receptacle name] is a simplex receptacle ('uses')
-
-[uses type]_ptr
-[ciao module name]::[component name]_Context::get_connection_[receptacle name] (ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- return [uses type]::_duplicate (this->ciao_uses_[receptacle name]_.in ());
-}
-
-// Simplex [receptacle name] connection management operations
-void
-[ciao module name]::[component name]_Context::connect_[receptacle name] ([uses type]_ptr c
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- ::Components::AlreadyConnected,
- ::Components::InvalidConnection))
-{
- if (! CORBA::is_nil (this->ciao_uses_[receptacle name]_.in ()))
- ACE_THROW (::Components::AlreadyConnected ());
-
- if (CORBA::is_nil (c))
- ACE_THROW (::Components::InvalidConnection ());
-
- // When do we throw InvalidConnection exception?
- this->ciao_uses_[receptacle name]_ = [uses type]::_duplicate (c);
-}
-
-[uses type]_ptr
-[ciao module name]::[component name]_Context::disconnect_[receptacle name] (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- ::Components::NoConnection))
-{
- if (CORBA::is_nil (this->ciao_uses_[receptacle name]_.in ()))
- ACE_THROW (::Components::NoConnection ());
-
- return this->ciao_uses_[receptacle name]_._retn ();
-}
-
-## else ([receptacle name] is a multiplex ('uses multiple') receptacle)
-// Multiplex [receptacle name] connection management operations
-::Components::Cookie *
-[ciao module name]::[component name]_Context::connect_[receptacle name] ([uses type]_ptr c
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- ::Components::ExceedConnectionLimit,
- ::Components::InvalidConnection))
-{
- if (CORBA::is_nil (c))
- ACE_THROW_RETURN (::Components::InvalidConnection (), 0);
-
- [uses type]_var conn
- = [uses type]::_duplicate (c);
-
- ACE_Active_Map_Manager_Key key;
- this->ciao_muses_[receptacle name]_.bind (conn.in (),
- key);
-
- conn._retn (); // Releases ownership to the map.
-
- ::Components::Cookie_var retv = new CIAO::Map_Key_Cookie (key);
- return retv._retn ();
-}
-
-[uses type]_ptr
-[ciao module name]::[component name]_Context::disconnect_[receptacle name] (::Components::Cookie *ck
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- ::Components::InvalidConnection))
-{
- [uses type]_var retv;
-
- ACE_Active_Map_Manager_Key key;
- if (ck == 0 ||
- CIAO::Map_Key_Cookie::extract (ck, key) == -1)
- ACE_THROW_RETURN (::Components::InvalidConnection (), 0);
-
- if (this->ciao_muses_[receptacle name]_.unbind (key,
- retv) != 0)
- ACE_THROW_RETURN (::Components::InvalidConnection (), 0);
-
- return retv._retn ();
-}
-
-## endif [receptacle name]
-##end foreach [receptacle name] with [uses type]
-
-// Operations for ::Components::SessionContext interface
-CORBA::Object_ptr
-[ciao module name]::[component name]_Context::get_CCM_object (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::IllegalState))
-{
- // @@ How do I check for IllegalState here? When it's not in a
- // callback operation...
- // ACE_THROW_RETURN (::Components::IllegalState (), 0);
-
- if (CORBA::is_nil (this->component_.in ()))
- {
- CORBA::Object_var obj = this->container_->get_objref (this->servant_
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (0);
-
- this->component_ = [component name]::_narrow (obj.in ()
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (0);
-
- if (CORBA::is_nil (this->component_.in ()))
- ACE_THROW_RETURN (CORBA::INTERNAL (), 0); // This should not happen...
- }
- return [component name]::_duplicate (this->component_.in ());
-}
-
-//////////////////////////////////////////////////////////////////
-// Component Servant Glue code implementation
-//////////////////////////////////////////////////////////////////
-
-[ciao module name]::[component name]_Servant::[component name]_Servant (CCM_[component name]_ptr exe,
- ::Components::CCMHome_ptr h,
- ::CIAO::Session_Container *c)
- : executor_ (CCM_[component name]::_duplicate (exe)),
- container_ (c)
-{
- this->context_ = new [ciao module name]::[component name]_Context (h, c, this);
-
- ACE_TRY_NEW_ENV
- {
- Components::SessionComponent_var scom =
- Components::SessionComponent::_narrow (exe
- ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- if (! CORBA::is_nil (scom.in ()))
- scom->set_session_context (this->context_
- ACE_ENV_ARG_PARAMETER);
- }
- ACE_CATCHANY
- {
- // @@ Ignore any exceptions? What happens if
- // set_session_context throws an CCMException?
- }
- ACE_ENDTRY;
-}
-
-[ciao module name]::[component name]_Servant::~[component name]_Servant (void)
-{
- ACE_TRY_NEW_ENV
- {
- Components::SessionComponent_var scom =
- Components::SessionComponent::_narrow (this->executor_.in ()
- ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- if (! CORBA::is_nil (scom.in ()))
- scom->ccm_remove (ACE_ENV_SINGLE_ARG_PARAMETER);
- }
- ACE_CATCHANY
- {
- // @@ Ignore any exceptions? What happens if
- // set_session_context throws an CCMException?
- }
- ACE_ENDTRY;
- this->context_->_remove_ref ();
-}
-
-// Operations for provides interfaces.
-##foreach [facet name] with [facet type] in (list of all provided interfaces) generate:
-
-[facet type]_ptr
-[ciao module name]::[component name]_Servant::provide_[facet name] (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- if (CORBA::is_nil (this->provide_[facet name]_.in ()))
- {
- CCM_[facet type]_var fexe = this->executor_->get_[facet name] (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_CHECK_RETURN (0);
-
- if (CORBA::is_nil (fexe.in ()))
- ACE_THROW_RETURN (CORBA::INTERNAL (), 0);
-
- [ciao module name]::[facet type]_Servant *svt =
- new [ciao module name]::[facet type]_Servant (fexe.in (),
- this->context_);
- PortableServer::ServantBase_var safe_servant (svt);
-
- CORBA::Object_var obj = this->container_->install_servant (svt
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (0);
-
- [facet type]_var fo = [facet type]::_narrow (obj.in ()
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (0);
-
- this->provide_[facet name]_ = fo;
- }
-
- return [facet type]::_duplicate (this->provide_[facet name]_.in ());
-}
-##end foreach [facet name] with [facet type]
-
-// Operations for consumers interfaces.
-##foreach [consumer name] with [eventtype] in (list of all consumers) generate:
-
-// EventConsumer Glue Code implementation
-
-// Inherit from ::Compopnents::EventBConsumerBase
-void
-[ciao module name]::[component name]_Servant::[eventtype]Consumer_[consumer name]_Servant::push_event (EventBase *ev
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- ::Components::BadEventType))
-{
- [eventtype]_var ev_type = [eventtype]::_downcast (ev);
- if (ev_type != 0)
- {
- this->push_[eventtype] (ev_type.in ()
- ACE_ENV_ARG_PARAMETER);
- return;
- }
-
- // @@ This include the case when we receive a parent eventtype of [eventtype]
-
- ACE_THROW (::Components::BadEventType ());
-}
-
-// get_component implementation.
-[eventtype]Consumer_ptr
-[ciao module name]::[component name]_Servant::get_consumer_[consumer name] (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- if (CORBA::is_nil (this->consumes_[consumer name]_.in ()))
- {
- [ciao module name]::[component name]_Servant::[eventtype]Consumer_[consumer name]_Servant *svt =
- new [ciao module name]::[component name]_Servant::[eventtype]Consumer_[consumer name]_Servant (this->executor_.in (),
- this->context_);
- PortableServer::ServantBase_var safe_servant (svt);
-
- CORBA::Object_var obj = this->container_->install_servant (svt
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (0);
-
- [eventtype]Consumer_var eco = [eventtype]Consumer::_narrow (obj.in ()
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (0);
-
- this->consumes_[consumer name]_ = eco;
- }
-
- return [eventtype]Consumer::_duplicate (this->consumes_[consumer name]_.in ());
-}
-
-##end foreach [consumer name] with [eventtype]
-
-// Operations for Navigation interface
-CORBA::Object_ptr
-[ciao module name]::[component name]_Servant::provide_facet (const char * name
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException ,
- Components::InvalidName))
-{
- if (name == 0)
- ACE_THROW_RETURN (CORBA::BAD_PARAM (), 0);
-
- // We simply iterate thru all the facets this component provides
- // now. We can also use a hash map along with perfect hashing
- // (i.e., gperf) if we need faster performance since all the provided
- // interfaces are static to a component definition.
-
-##foreach [facet name] with [facet type] in (list of all provided interfaces) generate:
- if (ACE_OS_String::strcmp (name, "[facet name]") == 0)
- return this->provide_[facet name] (ACE_ENV_SINGLE_ARG_PARAMETER);
-##end foreach [facet name] with [facet type]
-
- ACE_THROW_RETURN (::Components::InvalidName (), 0);
-}
-
-::Components::FacetDescriptions *
-[ciao module name]::[component name]_Servant::get_all_facets (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- ::Components::FacetDescriptions_var collection
- = new ::Components::FacetDescriptions (#99); // #99 = number of all provided
- // facets including those inherited
- // from parent component(s).
- collection->length (#99);
-
- ::Components::FacetDescription_var x;
- CORBA::ULong i = 0;
-
-##foreach [facet name] with [facet type] in (list of all provided interfaces) generate:
-
- x = new ::OBV_Components::FacetDescription;
-
- x->Name ((const char *)"[facet name]");
- x->type_id ((const char *) "[facet type's repo id]"); //
- x->facet_ref (this->provide_[facet name] (ACE_ENV_SINGLE_ARG_PARAMETER));
-
- collection[i] = x._retn ();
- ++i;
-##end foreach [facet name] with [facet type]
-
- return collection._retn ();
-
-}
-
-::Components::FacetDescriptions *
-[ciao module name]::[component name]_Servant::get_named_facets (const Components::NameList & names
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::InvalidName))
-{
- ::Components::FacetDescriptions_var collection
- = new ::Components::FacetDescriptions (names.length ());
- collection->length (names.length ());
-
- ::Components::FacetDescription_var x;
- CORBA::ULong i = 0;
- for (; i < names.length (); ++i)
- {
- x = new ::OBV_Components::FacetDescription;
-
- // We probably need a more efficient way, e.g., a hash map, to handle all these.
-##foreach [facet name] with [facet type] in (list of all provided interfaces) generate:
- (else) if (ACE_OS_String::strcmp (names[i].in (), "[facet name]") == 0)
- {
- x->Name ((const char *)"[facet name]");
- x->type_id ((const char *) "[facet type's repo id]"); //
- x->facet_ref (this->provide_[facet name] (ACE_ENV_SINGLE_ARG_PARAMETER));
-
- }
-##end foreach [facet name] with [facet type]
- else
- ACE_THROW_RETURN (::Components::InvalidName (), 0);
-
- collection[i] = x._retn ();
- }
- return collection._retn ();
-}
-
-CORBA::Boolean
-[ciao module name]::[component name]_Servant::same_component (CORBA::Object_ptr object_ref
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- if (CORBA::is_nil (object_ref))
- ACE_THROW_RETURN (CORBA::BAD_PARAM (), 0);
-
- CORBA::Object_var the_other = object_ref->_get_component (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_CHECK_RETURN (0);
-
- CORBA::Object_var me = this->context_->get_CCM_object (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_CHECK_RETURN (0);
-
- return me->_is_equivalent (object_ref
- ACE_ENV_ARG_PARAMETER);
-}
-
-// Operations for Receptacles interface
-::Components::Cookie *
-[ciao module name]::[component name]_Servant::connect (const char * name,
- CORBA::Object_ptr connection
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::InvalidName,
- Components::InvalidConnection,
- Components::AlreadyConnected,
- Components::ExceededConnectionLimit))
-{
- // @@ We can omit this if clause if there's no receptacle in this component.
- if (name == 0)
- ACE_THROW_RETURN (Components::InvalidName (), 0);
-
-##foreach [receptacle name] with [uses type] in (list of all 'uses' interfaces) generate:
- if (ACE_OS_String::strcmp (name, "[receptacle name]") == 0)
- {
- [uses type]_var _ciao_conn =
- [uses type]::_narrow (connection
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (0);
-
- if (CORBA::is_nil (_ciao_conn.in ()))
- ACE_THROW_RETURN (::Components::InvalidConnection (), 0);
-
-## if [receptacle name] is a simplex receptacle ('uses')
- this->connect_[receptacle name] (_caio_conn.in ()
- ACE_ENV_ARG_PARAMETER);
- return 0;
-## else ([receptacle name] is a multiplex ('uses multiple') receptacle)
- return this->connect_[receptacle name] (_ciao_conn.in ()
- ACE_ENV_ARG_PARAMETER);
-## endif [receptacle name]
- }
-##end foreach [receptacle name] with [uses type]
-
- ACE_THROW_RETURN (Components::InvalidName (), 0);
-}
-
-/*
-##foreach [receptacle name] with [uses type] in (list of all 'uses' interfaces) generate:
-## if [receptacle name] is a simplex receptacle ('uses')
-## else ([receptacle name] is a multiplex ('uses multiple') receptacle)
-## endif [receptacle name]
-##end foreach [receptacle name] with [uses type]
-*/
-
-CORBA::Object_ptr
-[ciao module name]::[component name]_Servant::disconnect (const char * name,
- Components::Cookie *ck
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::InvalidName,
- Components::InvalidConnection,
- Components::CookieRequired,
- Components::NoConnection))
-{
- // @@ We can omit this if clause if there's no receptacle in this component.
- if (name == 0)
- ACE_THROW_RETURN (Components::InvalidName (), 0);
-
-##foreach [receptacle name] with [uses type] in (list of all 'uses' interfaces) generate:
- if (ACE_OS_String::strcmp (name, "[receptacle name]") == 0)
-## if [receptacle name] is a simplex receptacle ('uses')
- return this->disconnect_[receptacle name] (ACE_ENV_SINGLE_ARG_PARAMETER);
-## else ([receptacle name] is a multiplex ('uses multiple') receptacle)
- return this->connect_[receptacle name] (ck
- ACE_ENV_ARG_PARAMETER);
-## endif [receptacle name]
-##end foreach [receptacle name] with [uses type]
-
- ACE_THROW_RETURN (Components::InvalidName (), 0);
-}
-
-::Components::ConnectionDescriptions *
-[ciao module name]::[component name]_Servant::get_connections (const char * name
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::InvalidName))
-{
- // @@ We can omit this if clause if there's no receptacle in this component.
- if (name == 0)
- ACE_THROW_RETURN (Components::InvalidName (), 0);
-
-##foreach [receptacle name] with [uses type] in (list of all 'uses' interfaces) generate:
- if (ACE_OS_String::strcmp (name, "[receptacle name]") == 0)
- {
-## if [receptacle name] is a simplex receptacle ('uses')
- ::Components::ConnectionDescriptions_var retv =
- new ::Components::ConnectionDescriptions (1);
- retv->length (1);
-
- retv[0] = new OBV_Components::ConnectionDescription;
- retv[0]->ck = 0;
- retv[0]->objref = this->get_connection_[receptacle name] (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_CHECK_RETURN (0);
-
- return retv._retn ();
-## else ([receptacle name] is a multiplex ('uses multiple') receptacle)
- // @@ Return type does not match here. We can not return directly.
- return this->get_connections_[receptacle name] (ACE_ENV_SINGLE_ARG_PARAMETER);
-## endif [receptacle name]
- }
-##end foreach [receptacle name] with [uses type]
-
- ACE_THROW_RETURN (Components::InvalidName (), 0);
-}
-
-::Components::ReceptacleDescriptions *
-[ciao module name]::[component name]_Servant::get_all_receptacles (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- ::Components::ReceptacleDescriptions_var retv =
- new ::Components::ReceptacleDescriptions (#99); // #99 is number of receptacles
- // this component has.
- retv->length (#99);
- CORBA::ULong i = 0;
-
-##foreach [receptacle name] with [uses type] in (list of all 'uses' interfaces) generate:
- retv[i] = new OBV_Components::ReceptacleDescription;
-
- retv[i]->Name ((const char *) "[receptacle name]");
- retv[i]->type_id ((const char *) "[uses type repo id]");
-## if [receptacle name] is a simplex receptacle ('uses')
- retv[i]->is_multiple (0);
-## else ([receptacle name] is a multiplex ('uses multiple') receptacle)
- retv[i]->is_multiple (1);
-## endif [receptacle name]
- retv[i]->connections (*this->get_connections ("[receptacle name]"
- ACE_ENV_ARG_PARAMETER));
- ++i;
-##end foreach [receptacle name] with [uses type]
-
- return retv._retn ();
-}
-
-::Components::ReceptacleDescriptions *
-[ciao module name]::[component name]_Servant::get_named_receptacles (const Components::NameList & names
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::InvalidName))
-{
- ::Components::ReceptacleDescriptions_var retv =
- new ::Components::ReceptacleDescriptions (names.length ());
- retv->length (names.length ());
-
- CORBA::ULong i = 0;
- for (; i < names.length (); ++i)
- {
- retv[i] = new ::OBV_Components::ReceptacleDescription;
-##foreach [receptacle name] with [uses type] in (list of all 'uses' interfaces) generate:
- (else) if (ACE_OS_String::strcmp (names[i].in (), "[receptacle name]") == 0)
- {
- retv[i]->Name ((const char *) "[receptacle name]");
- retv[i]->type_id ((const char *) "[uses type repo id]");
-## if [receptacle name] is a simplex receptacle ('uses')
- retv[i]->is_multiple (0);
-## else ([receptacle name] is a multiplex ('uses multiple') receptacle)
- retv[i]->is_multiple (1);
-## endif [receptacle name]
- retv[i]->connections (*this->get_connections ("[receptacle name]"
- ACE_ENV_ARG_PARAMETER));
- }
-##end foreach [receptacle name] with [uses type]
- else
- ACE_THROW_RETURN (::Components::InvalidName (), 0);
- }
- return retv._retn ();
-}
-
-// Operations for Events interface
-::Components::EventConsumerBase_ptr
-[ciao module name]::[component name]_Servant::get_consumer (const char * sink_name
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::InvalidName))
-{
- // @@ We can omit this if clause if there's no event sinks in this component.
- if (sink_name == 0)
- ACE_THROW_RETURN (Components::InvalidName (), 0);
-
-##foreach [consumer name] with [eventtype] in (list of all consumers) generate:
- if (ACE_OS_String::strcmp (sink_name, "[consumer name]") == 0)
- return this->get_consumer_[consumer name] (ACE_ENV_SINGLE_ARG_PARAMETER);
-##end foreach [consumer name] with [eventtype]
- ACE_THROW_RETURN (Components::InvalidName (), 0);
-}
-
-::Components::Cookie *
-[ciao module name]::[component name]_Servant::subscribe (const char * publisher_name,
- Components::EventConsumerBase_ptr subscriber
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::InvalidName,
- Components::InvalidConnection,
- Components::ExceededConnectionLimit))
-{
- // @@ We can omit this if clause if there's no publisher in this component.
- if (publisher_name == 0)
- ACE_THROW_RETURN (Components::InvalidName (), 0);
-
-##foreach [publish name] with [eventtype] in (list of all publishers) generate:
- if (ACE_OS_String::strcmp (publisher_name, "[publish name]") == 0)
- {
- [eventtype]Consumer_var _ciao_consumer =
- [eventtype]Consumer::_narrow (subscriber
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (0);
-
- if (CORBA::is_nil (_ciao_consumer.in ()))
- ACE_THROW_RETURN (Components::InvalidConnection (), 0);
-
- return this->subscribe_[publish name] (_ciao_consumer.in ()
- ACE_ENV_ARG_PARAMETER);
- }
-##end foreach [publish name] with [eventtype]
-
- ACE_THROW_RETURN (Components::InvalidName (), 0);
-}
-
-::Components::EventConsumerBase_ptr
-[ciao module name]::[component name]_Servant::unsubscribe (const char * publisher_name,
- Components::Cookie *ck
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::InvalidName,
- Components::InvalidConnection))
-{
- // @@ We can omit this if clause if there's no publisher in this component.
- if (publisher_name == 0)
- ACE_THROW_RETURN (Components::InvalidName (), 0);
-
-##foreach [publish name] with [eventtype] in (list of all publishers) generate:
- if (ACE_OS_String::strcmp (publisher_name, "[publish name]") == 0)
- {
- return this->unsubscribe_[publish name] (ck
- ACE_ENV_ARG_PARAMETER);
- }
-##end foreach [publish name] with [eventtype]
-
- ACE_THROW_RETURN (Components::InvalidName (), 0);
-}
-
-void
-[ciao module name]::[component name]_Servant::connect_consumer (const char * emitter_name,
- Components::EventConsumerBase_ptr consumer
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::InvalidName,
- Components::AlreadyConnected,
- Components::InvalidConnection))
-{
- // @@ We can omit this if clause if there's no emitter in this component.
- if (emitter_name == 0)
- ACE_THROW (Components::InvalidName ());
-
-##foreach [emit name] with [eventtype] in (list of all emitters) generate:
- if (ACE_OS_String::strcmp (emitter_name, "[emit name]") == 0)
- {
- [eventtype]Consumer_var _ciao_consumer =
- [eventtype]Consumer::_narrow (consumer
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK;
-
- if (CORBA::is_nil (_ciao_consumer.in ()))
- ACE_THROW (Components::InvalidConnection);
-
- this->connect_[emit name] (_ciao_consumer.in ()
- ACE_ENV_ARG_PARAMETER);
- return;
- }
-##end foreach [emit name] with [eventtype]
-
- ACE_THROW (Components::InvalidName ());
-}
-
-::Components::EventConsumerBase_ptr
-[ciao module name]::[component name]_Servant::disconnect_consumer (const char * source_name
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::InvalidName,
- Components::NoConnection))
-{
- // @@ We can omit this if clause if there's no emitter in this component.
- if (source_name == 0)
- ACE_THROW_RETURN (Components::InvalidName (), 0);
-
-##foreach [emit name] with [eventtype] in (list of all emitters) generate:
- if (ACE_OS_String::strcmp (source_name, "[emit name]") == 0)
- {
- return this->disconnect_[emit name] (ACE_ENV_SINGLE_ARG_PARAMETER);
- }
-##end foreach [emit name] with [eventtype]
-
- ACE_THROW_RETURN (Components::InvalidName (), 0);
-}
-
-::Components::ConsumerDescriptions *
-[ciao module name]::[component name]_Servant::get_all_consumers (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- ::Components::ConsumerDescriptions_var retv =
- new ::Components::ConsumerDescriptions (#99); // #99 is the number of consumers
- // this component has.
- retv->length (#99);
-
- CORBA::ULong i = 0;
-##foreach [consumer name] with [eventtype] in (list of all consumers) generate:
- retv[i] = new OBV_Components::ConsumerDescription;
- retv[i]->Name ("[consumer name]");
- retv[i]->type_id ("[eventtype]Consumer repo id");
- [eventtype]Consumer_var c
- = this->get_consumer_[consumer name] (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_CHECK_RETURN (0);
-
- retv[i]->consumer (c.in ());
-
- i++;
-##end foreach [consumer name] with [eventtype]
-
- return retv._retn ();
-}
-
-::Components::ConsumerDescriptions *
-[ciao module name]::[component name]_Servant::get_named_consumers (const Components::NameList & names
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::InvalidName))
-{
- ::Components::ConsumerDescriptions_var retv =
- new ::Components::ConsumerDescriptions (names.length ());
- retv->length (names.length ());
-
- CORBA::ULong i = 0;
- for (; i < names.length (); ++i)
- {
- retv[i] = new OBV_Components::ConsumerDescription;
-
-##foreach [consumer name] with [eventtype] in (list of all consumers) generate:
- (else) if (ACE_OS_String::strcmp (names[i].in (), "[consumer name]") == 0)
- {
- retv[i]->Name ("[consumer name]");
- retv[i]->type_id ("[eventtype]Consumer repo id");
- [eventtype]Consumer_var c =
- this->get_consumer_[consumer name] (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_CHECK_RETURN (0);
-
- retv[i]->consumer (c.in ());
- }
-##end foreach [consumer name] with [eventtype]
- else
- ACE_THROW_RETURN (::Components::InvalidName (), 0);
- }
- return retv._retn ();
-}
-
-::Components::EmitterDescriptions *
-[ciao module name]::[component name]_Servant::get_all_emitters (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- ::Components::EmitterDescriptions_var retv =
- new ::Components::EmitterDescriptions (#99); // #99 is the number of emitters
- // this component has.
- retv->length (#99);
-
- CORBA::ULong i = 0;
-##foreach [emit name] with [eventtype] in (list of all emitters) generate:
- retv[i] = new OBV_Components::EmitterDescription;
- retv[i]->Name ("[emit name]");
- retv[i]->type_id ("[eventtype]Consumer repo id");
- retv[i]->consumer ([eventtype]Consumer::_duplicate (this->context_->ciao_emits_[emit name]_consumer_));
-
- i++;
-##end foreach [emitter name] with [eventtype]
-
- return retv._retn ();
-}
-
-::Components::EmitterDescriptions *
-[ciao module name]::[component name]_Servant::get_named_emitters (const Components::NameList & names
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::InvalidName))
-{
- ::Components::EmitterDescriptions_var retv =
- new ::Components::EmitterDescriptions (names.length ());
- retv->length (names.length ());
-
- CORBA::ULong i = 0;
- for (; i < names.length (); ++i)
- {
- retv[i] = new OBV_Components::EmitterDescription;
-
-##foreach [emit name] with [eventtype] in (list of all emitters) generate:
- (else) if (ACE_OS_String::strcmp (names[i].in (), "[emit name]") == 0)
- {
- retv[i]->Name ("[emit name]");
- retv[i]->type_id ("[eventtype]Consumer repo id");
- retv[i]->consumer ([eventtype]Consumer::_duplicate (this->context_->ciao_emits_[emit name]_consumer_.in ()));
- }
-##end foreach [consumer name] with [eventtype]
- else
- ACE_THROW_RETURN (::Components::InvalidName (), 0);
- }
- return retv._retn ();
-}
-
-::Components::PublisherDescriptions *
-[ciao module name]::[component name]_Servant::get_all_publishers (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- // @@ to-do
-
- // Need to add interfaces in the Context class to gather the information.
- // Or we can just relay it to the Context object.
- ACE_THROW_RETURN (CORBA::NO_IMPLEMENT (), 0);
-}
-
-::Components::PublisherDescriptions *
-[ciao module name]::[component name]_Servant::get_named_publishers (const Components::NameList & names
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::InvalidName))
-{
- // @@ to-do
-
- // Need to add interfaces in the Context class to gather the information.
- // Or we can just relay it to the Context object.
- ACE_THROW_RETURN (CORBA::NO_IMPLEMENT (), 0);
-}
-
-// Operations for CCMObject interface
-::CORBA::IRObject_ptr
-[ciao module name]::[component name]_Servant::get_component_def (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- // @@ to-do: Connect to an IfR?
- ACE_THROW_RETURN (CORBA::NO_IMPLEMENT (), 0);
-}
-
-::Components::CCMHome_ptr
-[ciao module name]::[component name]_Servant::get_ccm_home (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- return this->context_->get_CCM_home (ACE_ENV_SINGLE_ARG_PARAMETER);
-}
-
-::Components::PrimaryKeyBase *
-[ciao module name]::[component name]_Servant::get_primary_key (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::NoKeyAvailable))
-{
- // This is a keyless component.
- ACE_THROW_RETURN (::Components::NoKeyAvailable (), 0);
-}
-
-void
-[ciao module name]::[component name]_Servant::configuration_complete (ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::InvalidConfiguration))
-{
- // @@ to-do
- // No-op. Don't know how to pass this info to monolithic executor.
-}
-
-void
-[ciao module name]::[component name]_Servant::remove (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::RemoveFailure))
-{
- // @@ to-do
- // Need to figure out what to do here. E.g., tear down the all the connections
- // this component has?
-}
-
-::Components::ComponentPortDescription *
-[ciao module name]::[component name]_Servant::get_all_ports (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- ::Components::ComponentPortDescription_var retv =
- new OBV_Components::ComponentPortDescription;
-
- ::Components::FacetDescriptions_var facets_desc
- = this->get_all_facets (ACE_ENV_SINGLE_ARG_PARAMETER);
- ::Components::ReceptacleDescriptions_var receptacle_desc
- = get_all_receptacles (ACE_ENV_SINGLE_ARG_PARAMETER);
- ::Components::ConsumerDescriptions_var consumer_desc
- = this->get_all_consumers (ACE_ENV_SINGLE_ARG_PARAMETER);
- ::Components::EmitterDescriptions_var emitter_desc
- = this->get_all_emitters (ACE_ENV_SINGLE_ARG_PARAMETER);
- ::Components::PublisherDescriptions_var publisher_desc
- = this->get_all_publishers (ACE_ENV_SINGLE_ARG_PARAMETER);
-
- retv->facets (facets_desc.in());
- retv->receptacles (receptacle_desc.in());
- retv->consumers (consumer_desc.in());
- retv->emitters (emitter_desc.in());
- retv->publishers (publisher_desc.in());
-
- return retv._retn();
-}
-
-// get_component implementation.
-CORBA::Object_ptr
-[ciao module name]::[component name]_Servant::_get_component (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- ::Components::SessionContext_var sc =
- ::Components::SessionContext::_narrow (this->context_);
-
- if (! CORBA::is_nil(sc.in ()))
- return sc->get_CCM_object (ACE_ENV_SINGLE_ARG_PARAMETER);
-
- // @@ Do we need to try the following case here? We are afterall implementing
- // a session component here.
- ::Components::EntityContext_var ec =
- ::Components::EntityContext::_narrow (this->context_);
-
- if (! CORBA::is_nil(ec.in ()))
- return ec->get_CCM_object (ACE_ENV_SINGLE_ARG_PARAMETER);
-
- ACE_THROW_RETURN (CORBA::INTERNAL (), 0);
-}
-
-void
-[ciao module name]::[component name]_Servant::_ciao_activate (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- ::Components::SessionComponent_var temp =
- ::Components::SessionComponent::_narrow (this->executor_.in ()
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK;
-
- if (! CORBA::is_nil (temp.in ()))
- temp->ccm_activate (ACE_ENV_SINGLE_ARG_PARAMETER);
-}
-
-void
-[ciao module name]::[component name]_Servant::_ciao_passivate (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- ::Components::SessionComponent_var temp =
- ::Components::SessionComponent::_narrow (this->executor_.in ()
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK;
-
- if (! CORBA::is_nil (temp.in ()))
- temp->ccm_passivate (ACE_ENV_SINGLE_ARG_PARAMETER);
-}
-
-//////////////////////////////////////////////////////////////////
-// Component Home Glue code implementation
-//////////////////////////////////////////////////////////////////
-
-[component name]_ptr
-[ciao module name]::[home name]_Servant::_ciao_activate_component (CCM_[component name]_ptr exe
- ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- CORBA::Object_var hobj
- = this->container_->get_objref (this
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (0);
-
- ::Components::CCMHome_var home
- = ::Components::CCMHome::_narrow (hobj.in ()
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (0);
-
- [ciao module name]::[component name]_Servant *svt =
- new [ciao module name]::[component name]_Servant (exe,
- home.in (),
- this->container_);
- PortableServer::ServantBase_var safe (svt);
- PortableServer::ObjectId_var oid;
-
- CORBA::Object_var objref
- = this->container_->install_component (svt,
- oid.out ()
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (0);
-
- svt->_ciao_activate (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_CHECK_RETURN (0);
-
- [component name]_var ho
- = [component name]::_narrow (objref.in ()
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (0);
-
- if (this->component_map_.bind (oid.in (), svt) == 0)
- {
- // @@ what should happen if bind fail?
- safe._retn ();
- }
- return ho._retn ();
-}
-
-void
-[ciao module name]::[home name]_Servant::_ciao_passivate_component ([component name]_ptr comp
- ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- PortableServer::ObjectId_var oid;
-
- this->container_->uninstall_component (comp,
- oid.out ()
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK;
-
- [ciao module name]::[component name]_Servant *servant = 0;
- if (this->component_map_.unbind (oid.in (), servant) == 0)
- {
- PortableServer::ServantBase_var safe (servant);
- servant->_ciao_passivate (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_CHECK;
- }
- // What happen if unbind failed?
-
-}
-
-// Operations for Implicit Home interface
-[component name]_ptr
-[ciao module name]::[home name]_Servant::create (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::CreateFailure))
-{
- if (this->executor_.in () == 0)
- ACE_THROW_RETURN (CORBA::INTERNAL (), 0);
-
- Components::EnterpriseComponent_var _ciao_ec =
- this->executor_->create (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_CHECK_RETURN (0);
-
- CCM_[component name]_var _ciao_comp
- = CCM_[component name]::_narrow (_ciao_ec.in ()
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (0);
-
- return this->_ciao_activate_component (_ciao_comp.in ()
- ACE_ENV_ARG_PARAMETER);
-}
-
-// Operations for CCMHome interface
-void
-[ciao module name]::[home name]_Servant::remove_component (Components::CCMObject_ptr comp
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::RemoveFailure))
-{
- [component name]_var _ciao_comp
- = [component name]::_narrow (comp
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK;
-
- if (CORBA::is_nil (_ciao_comp.in ()))
- ACE_THROW (CORBA::INTERNAL ()); // What is the right exception to throw here?
-
- // @@ It seems to me that we need to make sure this is a component
- // generated by this home before calling remove on this component.
- _ciao_comp->remove (ACE_ENV_ARG_PARAMETER);
- ACE_CHECK;
-
-
- // Removing the object reference? get the servant from the POA with
- // the objref, and call remove() on the component, deactivate the
- // component, and then remove-ref the servant?
- this->_ciao_passivate_component (_ciao_comp.in ()
- ACE_ENV_ARG_PARAMETER);
-}
-
-extern "C" [SERVANT]_Export ::PortableServer::Servant
-create[home name]_Servant (::Components::HomeExecutorBase_ptr p,
- CIAO::Session_Container *c
- ACE_ENV_ARG_DECL);
-{
- if (p == 0)
- return 0;
-
- CCM_[home name]_var x
- = CCM_[home name]::_narrow (p
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (0);
-
- if (CORBA::is_nil (x.in ()))
- return 0;
-
- return new [ciao module name]::[home name]_Servant (x.in (),
- c);
-}
diff --git a/TAO/CIAO/docs/templates/CIAO_Glue_Session_Template.h b/TAO/CIAO/docs/templates/CIAO_Glue_Session_Template.h
deleted file mode 100644
index 3fd1da1f03a..00000000000
--- a/TAO/CIAO/docs/templates/CIAO_Glue_Session_Template.h
+++ /dev/null
@@ -1,737 +0,0 @@
-// $Id$
-
-// ===========================================================
-//
-// @file CIAO_Glue_Session_Template.h
-//
-// This is a pseudo-meta generic servant implementations template
-// for CIAO's CIDL compiler. It demonstrates how a servant
-// implementation for a session component should look like.
-//
-// The generated filename for files using this template shoule be
-// [idl-basename]_svnt.h
-//
-// @author Nanbor Wang <nanbor@cs.wustl.edu>
-//
-// ===========================================================
-
-#ifndef CIAO_GLUE_SESSION_[idl-basename]_SVNT_H
-#define CIAO_GLUE_SESSION_[idl-basename]_SVNT_H
-#include "ace/pre.h"
-
-#include "[idl-name]S.h" // Source in the skeletons for component
- // client-view equivalent interfaces
-#include "[idl-name]EC.h" // Source in the executor mapping
- // that component implementations use
-#include "ciao/Container_Base.h" //Source in the container interface definitions
-#include "tao/LocalObject.h"
-#include "tao/PortableServer/Key_Adapters.h"
-#include "ace/Active_Map_Manager_T.h"
-
-#if !defined (ACE_LACKS_PRAGMA_ONCE)
-# pragma once
-#endif /* ACE_LACKS_PRAGMA_ONCE */
-
-/// @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
-/// @@@ Notice that all component and interface names need to be
-/// fully qualified as we are creating a new namespace for the CIAO's
-/// container glue code.
-/// @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
-
-##if component is defined withing a [module name]
-namespace CIAO_GLUE_[module_name]
-##else
-namespace CIAO_GLUE
-##endif
-{
-
- //////////////////////////////////////////////////////////////////
- // Facet Glue Code implementation
- // @@ We are assuming that these facets are declared under the same
- // module as the component (thus, we are placing this glue code
- // here under the same namespace. If they are not, we will
- // either be generating them in separate namespaces, or include
- // some other CIDL generated files to get the glue code
- // implementation.
-
-##foreach [facet type] in (all facet interface types in the original IDL)
- class [SERVANT]_Export [facet type]_Servant :
- : public virtual POA_[facet type], // full skeleton name here
- public virtual PortableServer::RefCountServantBase
- {
- public:
- // Constructor and destructor.
- [facet type]_Servant (CCM_[facet type]_ptr executor,
- ::Components::CCMContext_ptr ctx);
- ~[facet tyep]_Servant ();
-
-## foreach [operation] in (all facet operations)
- // Generate operation decls.
-## end foreach [operation]
-
- // get_component implementation.
- virtual CORBA::Object_ptr
- _get_component (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- protected:
- // Facet executor.
- CCM_[facet type]_var executor_;
-
- // Context object.
- ::Components::CCMContext_var ctx_;
- };
-##end foreach [facet type]
-
-
- //////////////////////////////////////////////////////////////////
- // Component specific context implementation
- class [SERVANT]_Export [component name]_Context :
- public virtual CCM_[component name]_Context,
- public virtual TAO_Local_RefCounted_Object
- {
- public:
- // We will allow the the servant glue code we generate to access
- // our states.
- friend class [component name]_Servant;
-
- // Ctor.
- [component name]_Context (::Components::CCMHome_ptr home,
- ::CIAO::Session_Container *c,
- [component name]_Servant *sv);
-
- // Dtor.
- virtual ~[component name]_Context ();
-
- // Operations for [component name] event source, and
- // receptacles defined in CCM_[component name]_Context.
-
-##foreach [receptacle name] with [uses type] in (list of all 'uses' interfaces) generate:
-## if [receptacle name] is a simplex receptacle ('uses')
- [uses type]_ptr
- get_connection_[receptacle name] (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException));
-## else ([receptacle name] is a multiplex ('uses multiple') receptacle)
- // [receptacle name]Connections typedef'ed as a sequence of
- // struct [receptacle name]Connection.
- [receptacle name]Connections *
- get_connections_[receptacle name] (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS);
- ACE_THROW_SPEC ((CORBA::SystemException));
-## endif [receptacle name]
-##end foreach [receptacle name] with [uses type]
-
-##foreach [event name] with [eventtype] in (list of all event sources) generate:
- void push_[event name] ([eventtype] *ev
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException));
-##end foreach [event name] with [eventtype]
-
- // Operations for ::Components::CCMContext
- virtual ::Components::Principal_ptr
- get_caller_principal (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- virtual ::Components::CCMHome_ptr
- get_CCM_home (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- virtual CORBA::Boolean
- get_rollback_only (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::IllegalState));
-
- virtual ::Components::Transaction::UserTransaction_ptr
- get_user_transaction (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::IllegalState));
-
- virtual CORBA::Boolean
- is_caller_in_role (const char * role
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- virtual void
- set_rollback_only (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::IllegalState));
-
- // Operations for ::Components::SessionContext interface
- virtual CORBA::Object_ptr
- get_CCM_object (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::IllegalState));
- protected:
- // We need to generate, in protected section, stuff that manage
- // connections and consumers of this component.
-
-##foreach [receptacle name] with [uses type] in (list of all 'uses' interfaces) generate:
-## if [receptacle name] is a simplex receptacle ('uses')
- // Simplex [receptacle name] connection management operations
- void
- connect_[receptacle name] ([uses type]_ptr c
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- ::Components::AlreadyConnected,
- ::Components::InvalidConnection));
-
- [uses type]_ptr
- disconnect_[receptacle name] (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- ::Components::NoConnection));
-
- // Simplex [receptacle name] connection
- [uses type]_var ciao_uses_[receptacle name]_;
-
-## else ([receptacle name] is a multiplex ('uses multiple') receptacle)
- // Multiplex [receptacle name] connection management operations
- ::Components::Cookie *
- connect_[receptacle name] ([uses type]_ptr c
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- ::Components::ExceedConnectionLimit,
- ::Components::InvalidConnection));
-
- [uses type]_ptr
- disconnect_[receptacle name] (::Components::Cookie *ck
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- ::Components::InvalidConnection));
-
- // Multiplex [receptacle name] connections
-
- ACE_Active_Map_Manager<[uses type]_var> ciao_muses_[receptacle name]_;
-## endif [receptacle name]
-##end foreach [receptacle name] with [uses type]
-
- // Operations for emits interfaces.
-##foreach [emit name] with [eventtype] in (list of all emitters) generate:
- void
- connect_[emit name] ([eventtype]Consumer_ptr c
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- ::Components::AlreadyConnected));
-
- [eventtype]Consumer_ptr
- disconnect_[emit name] (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- ::Components::NoConnection));
-
- [eventtype]Consumer_var ciao_emits_[emit name]_consumer_;
-##end foreach [emit name] with [eventtype]
-
- // Operations for publishes interfaces.
-##foreach [publish name] with [eventtype] in (list of all publishers) generate:
- ::Components::Cookie *
- subscribe_[publish name] ([eventtype]Consumer_ptr c
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- ::Components::ExceededConnectionLimit));
-
- [eventtype]Consumer_ptr
- unsubscribe_[publish name] (::Components::Cookie *ck
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- ::Components::InvalidConnection));
-
- ACE_Active_Map_Manager<[eventtype]Consumer_var> ciao_publishes_[publish name]_map_;
-##end foreach [publish name] with [eventtype]
-
- protected:
- /// Cached component home reference.
- ::Components::CCMHome_var home_;
-
- /// session container
- ::CIAO::Session_Container *container_;
-
- /// Reference back to owner.
- [component name]_Servant *servant_;
-
- /// @@ Cached component reference.
- [component name]_var component_;
-
- };
-
- //////////////////////////////////////////////////////////////////
- // Component Servant Glue code implementation
- class [SERVANT]_Export [component name]_Servant
- : public virtual POA_[component name], // full skeleton name here
- public virtual PortableServer::RefCountServantBase
- {
- public:
- // Ctor.
- [component name]_Servant (CCM_[component name]_ptr executor,
- ::Components::CCMHome_ptr home,
- ::CIAO::Session_Container *c);
-
- // Dtor.
- ~[component name]_Servant (void);
-
-##foreach [operation] in all supported interfaces of own component and all inherited components and attribute accessors/mutators
-
- // Generate the [operation] here.
-
-##end
-
- // Operations for provides interfaces.
-##foreach [facet name] with [facet type] in (list of all provided interfaces) generate:
- virtual [facet type]_ptr
- provide_[facet name] (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException));
-##end foreach [facet name] with [facet type]
-
- // Operations for receptacles interfaces.
-
-##foreach [receptacle name] with [uses type] in (list of all 'uses' interfaces) generate:
-## if [receptacle name] is a simplex receptacle ('uses')
- // Simplex [receptacle name] connection management operations
- virtual void
- connect_[receptacle name] ([uses type]_ptr c
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- ::Components::AlreadyConnected,
- ::Components::InvalidConnection));
-
- virtual [uses type]_ptr
- disconnect_[receptacle name] (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- ::Components::NoConnection));
-
- virtual [uses type]_ptr
- get_connection_[receptacle name] (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException));
-## else ([receptacle name] is a multiplex ('uses multiple') receptacle)
- // Multiplex [receptacle name] connection management operations
- virtual ::Components::Cookie *
- connect_[receptacle name] ([uses type]_ptr c
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- ::Components::ExceedConnectionLimit,
- ::Components::InvalidConnection));
-
- virtual [uses type]_ptr
- disconnect_[receptacle name] (::Components::Cookie *ck
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- ::Components::InvalidConnection));
-
- virtual [receptacle name]Connections *
- get_connections_[receptacle name] (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException));
-## endif [receptacle name]
-##end foreach [receptacle name] with [uses type]
-
- // Operations for consumers interfaces.
-##foreach [consumer name] with [eventtype] in (list of all consumers) generate:
-
- // First we need to generate the event sink specific servant
- class [SERVANT]_Export [eventtype]Consumer_[consumer name]_Servant
- : public virtual POA_[eventtype]Consumer, // full skeleton name here
- public virtual PortableServer::RefCountServantBase
- {
- public:
- // Constructor and destructor.
- [event type]Consumer_[consumer name]_Servant (CCM_[component name]_ptr executor,
- CCM_[component name]_Context_ptr c);
-
- ~[event type]Consumer_[consumer name]_Servant ();
-
-## foreach [type] in ([eventtype] and all its parent eventtype, if any)
- virtual void push_[type] ([type] *evt
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException));
-## end [type]
-
- // Inherit from ::Compopnents::EventConsumerBase
- virtual void push_event (::Components::EventBase *ev
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- ::Components::BadEventType));
-
- // get_component implementation.
- virtual CORBA::Object_ptr
- _get_component (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- protected:
- // Executor
- CCM_[component name]_var executor_;
-
- // Context object.
- CCM_[component name]_Context_var ctx_;
- };
-
- virtual [eventtype]Consumer_ptr
- get_consumer_[consumer name] (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException));
-##end foreach [consumer name] with [eventtype]
-
- // Operations for emits interfaces.
-##foreach [emit name] with [eventtype] in (list of all emitters) generate:
- virtual void
- connect_[emit name] ([eventtype]Consumer_ptr c
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException
- ::Components::AlreadyConnected));
-
- virtual [eventtype]Consumer_ptr
- disconnect_[emit name] (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- ::Components::NoConnection));
-##end foreach [emit name] with [eventtype]
-
- // Operations for publishes interfaces.
-##foreach [publish name] with [eventtype] in (list of all publishers) generate:
- virtual ::Components::Cookie *
- subscribe_[publish name] ([eventtype]Consumer_ptr c
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- ::Components::ExceededConnectionLimit));
-
- virtual [eventtype]Consumer_ptr
- unsubscribe_[publish name] (::Components::Cookie *ck
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- ::Components::InvalidConnection));
-##end foreach [publish name] with [eventtype]
-
- // Operations for Navigation interface
- virtual CORBA::Object_ptr
- provide_facet (const char * name
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException ,
- Components::InvalidName)) ;
-
- virtual ::Components::FacetDescriptions *
- get_all_facets (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- virtual ::Components::FacetDescriptions *
- get_named_facets (const Components::NameList & names
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException ,
- Components::InvalidName));
-
- virtual CORBA::Boolean
- same_component (CORBA::Object_ptr object_ref
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- // Operations for Receptacles interface
- virtual ::Components::Cookie *
- connect (const char * name,
- CORBA::Object_ptr connection
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::InvalidName,
- Components::InvalidConnection,
- Components::AlreadyConnected,
- Components::ExceededConnectionLimit));
-
- virtual CORBA::Object_ptr
- disconnect (const char * name,
- Components::Cookie *ck
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::InvalidName,
- Components::InvalidConnection,
- Components::CookieRequired,
- Components::NoConnection));
-
- virtual ::Components::ConnectionDescriptions *
- get_connections (const char * name
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::InvalidName));
-
- virtual ::Components::ReceptacleDescriptions *
- get_all_receptacles (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- virtual ::Components::ReceptacleDescriptions *
- get_named_receptacles (const Components::NameList & names
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::InvalidName));
-
- // Operations for Events interface
- virtual ::Components::EventConsumerBase_ptr
- get_consumer (const char * sink_name
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::InvalidName));
-
- virtual ::Components::Cookie *
- subscribe (const char * publisher_name,
- Components::EventConsumerBase_ptr subscriber
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::InvalidName,
- Components::InvalidConnection,
- Components::ExceededConnectionLimit));
-
- virtual ::Components::EventConsumerBase_ptr
- unsubscribe (const char * publisher_name,
- Components::Cookie *ck
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::InvalidName,
- Components::InvalidConnection));
-
- virtual void
- connect_consumer (const char * emitter_name,
- Components::EventConsumerBase_ptr consumer
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::InvalidName,
- Components::AlreadyConnected,
- Components::InvalidConnection));
-
- virtual ::Components::EventConsumerBase_ptr
- disconnect_consumer (const char * source_name
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::InvalidName,
- Components::NoConnection));
-
- virtual ::Components::ConsumerDescriptions *
- get_all_consumers (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- virtual ::Components::ConsumerDescriptions *
- get_named_consumers (const Components::NameList & names
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::InvalidName));
-
- virtual ::Components::EmitterDescriptions *
- get_all_emitters (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- virtual ::Components::EmitterDescriptions *
- get_named_emitters (const Components::NameList & names
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::InvalidName));
-
- virtual ::Components::PublisherDescriptions *
- get_all_publishers (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- virtual ::Components::PublisherDescriptions *
- get_named_publishers (const Components::NameList & names
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::InvalidName));
-
- // Operations for CCMObject interface
- virtual ::CORBA::IRObject_ptr
- get_component_def (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- virtual ::Components::CCMHome_ptr
- get_ccm_home (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- virtual ::Components::PrimaryKeyBase *
- get_primary_key (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::NoKeyAvailable));
-
- virtual void
- configuration_complete (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::InvalidConfiguration));
-
- virtual void
- remove (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::RemoveFailure));
-
- virtual ::Components::ComponentPortDescription *
- get_all_ports (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- // get_component implementation.
- virtual CORBA::Object_ptr
- _get_component (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- // CIAO specific operations.
-
- // Activate the object in the container_
- void
- _ciao_activate (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- void
- _ciao_passivate (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- protected:
- // My Executor.
- CCM_[component name]_var executor_;
-
- // My Run-time Context.
- [component name]_Context *context_;
-
- // Managing container.
- ::CIAO::Session_Container *container_;
-
- // Cached provided interfaces.
-##foreach [facet name] with [facet type] in (list of all provided interfaces) generate:
- [facet type]_var provide_[facet name]_;
-##end foreach [facet name] with [facet type]
-
-##foreach [consumer name] with [eventtype] in (list of all consumers) generate:
- [eventtype]Consumer_var consumes_[consumer name]_;
-##end foreach [consumer name] with [eventtype]
-
- };
-
-
- //////////////////////////////////////////////////////////////////
- // Component Home Glue code implementation
-
- // Foreach component home
- class [SERVANT]_Export [home name]_Servant :
- public virtual POA_[home name], // full skeleton name here
- public virtual PortableServer::RefCountServantBase
- {
- public:
- // Ctor.
- [home name]_Servant (CCM_[home name]_ptr exe,
- CIAO::Session_Container *c);
-
- // Dtor.
- ~[home name]_Servant (void);
-
- // User defined and inherited operations
-##foreach [operation] in (all explicit operations in [home basename] including its parents)
-
- // The operation decl here.
-
-## end foreach opeartion
-
- // Factory operations
-##foreach [factory name] in (all factory operations in [home basename] including its parents)
- // for factory operations inherit from parent home(s), they should return
- // the corresponding component types their homes manage
- virtual [component name]_ptr
- [factory name] (.... ACE_ENV_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- ::Components::CreateFailure,
- ....));
-##end foreach [factory name]
-
- // Finder operations
-##foreach [finder name] in (all finder operations in [home basename] including its parents)
- // for finder operations inherit from parent home(s), they should return
- // the corresponding component types their homes manage
- virtual [component name]_ptr
- [finder name] (.... ACE_ENV_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::FinderFailure,
- ....));
-##end foreach [finder name]
-
-## if [home name] is a keyless home
-
- // Operations for KeylessHome interface
- virtual ::Components::CCMObject_ptr
- create_component (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::CreateFailure));
-
-## else [home basename] is keyed home with [key type]
-
- // We do not support key'ed home at the moment but we might
- // as well generate the mapping.
- virtual [component name]_ptr create ([key type] *key
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- ::Components::CreationFailure,
- ::Components::DuplicateKeyValue,
- ::Components::InvalidKey));
-
- virtual [component name]_ptr
- find_by_primary_key ([key type] *key
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- ::Components::FinderFailure,
- ::Components::UnknownKeyValue,
- ::Components::InvalidKey));
-
- virtual void remove ([key type] *key
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- ::Components::RemoveFailure,
- ::Components::UnknownKeyValue,
- ::Components::InvalidKey));
-
- virtual [key type] *
- get_primary_key ([component name]_ptr comp
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
-## endif (keyed or keyless home)
-
- // Operations for Implicit Home interface
- virtual [component name]_ptr
- create (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::CreateFailure));
-
- // Operations for CCMHome interface
- virtual ::CORBA::IRObject_ptr
- get_component_def (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- virtual ::CORBA::IRObject_ptr
- get_home_def (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- virtual void remove_component (Components::CCMObject_ptr comp
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::RemoveFailure));
-
- protected:
- // Helper method for factory operations.
- [component name]_ptr
- _ciao_activate_component (CCM_[component name]_ptr exe
- ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- void
- _ciao_passivate_component ([component name]_ptr comp
- ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- // My Executor.
- CCM_[home name]_var executor_;
-
- // My Container
- CIAO::Session_Container *container_;
-
- // Components this home manages.
- ACE_Hash_Map_Manager_Ex <PortableServer::ObjectId,
- [component name]_Servant*,
- TAO_ObjectId_Hash,
- ACE_Equal_To<PortableServer::ObjectId>,
- ACE_SYNCH_MUTEX> component_map_;
- };
-
-}
-
-extern "C" [SERVANT]_Export ::PortableServer::Servant
-create[home name]_Servant (::Components::HomeExecutorBase_ptr p,
- CIAO::Session_Container *c
- ACE_ENV_ARG_DECL_WITH_DEFAULTS);
-
-#if defined (__ACE_INLINE__)
-# include "[idl-name]_svnt.inl"
-#endif /* __ACE_INLINE__ */
-
-
-#include "ace/post.h"
-#endif /* CIAO_GLUE_SESSION_[idl-basename]_SVNT_H */
diff --git a/TAO/CIAO/docs/templates/CIAO_Glue_Session_Template.inl b/TAO/CIAO/docs/templates/CIAO_Glue_Session_Template.inl
deleted file mode 100644
index 8b02307bc85..00000000000
--- a/TAO/CIAO/docs/templates/CIAO_Glue_Session_Template.inl
+++ /dev/null
@@ -1,494 +0,0 @@
-// $Id$ -*- C++ -*-
-
-// The generated filename for files using this template shoule be
-// [idl-basename]GS.i GS --> GlueSession
-
-// @@ Notice: [ciao module name] can expand to either CIAO_GLUE or
-// CIAO_GLUE_[module name] as defined in the header file.
-
-/// @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
-/// @@@ Notice that all component and interface names need to be
-/// fully qualified as we are creating a new namespace for the CIAO's
-/// container glue code.
-/// @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
-
-//////////////////////////////////////////////////////////////////
-// Facet Glue Code implementation
-// @@ We are assuming that these facets are declared under the same
-// module as the component (thus, we are placing this glue code
-// here under the same namespace. If they are not, we will
-// either be generating them in separate namespaces, or include
-// some other CIDL generated files to get the glue code
-// implementation.
-//////////////////////////////////////////////////////////////////
-
-##foreach [facet type] in (all facet interface types in the original IDL)
-// Constructor and destructor.
-ACE_INLINE
-[ciao module name]::[facet type]_Servant::[facet type]_Servant (CCM_[facet type]_ptr executor,
- ::Components::CCMContext_ptr c)
- : executor_ (CCM_[facet type]::_duplicate (executor)),
- ctx_ (Components::CCMContext::_duplicate (c))
-{
-}
-
-ACE_INLINE
-[ciao module name]::[facet type]_Servant::~[facet tyep]_Servant ()
-{
-}
-
-
-## foreach [operation] in (all facet operations)
-
-// This is only a guideline... we always relay the operation to underlying
-// executor.
-
-ACE_INLINE [operation return_type]
-[ciao module name]::[facet type]_Servant::[operation] ([operation args])
-{
- // Simply relay to executor. May not need to return the result...
- return this->executor_->operation ([operation args]);
-}
-## end foreach [operation]
-
-##end foreach [facet type]
-
-
-//////////////////////////////////////////////////////////////////
-// Component specific context implementation
-//////////////////////////////////////////////////////////////////
-
-ACE_INLINE
-[ciao module name]::[component name]_Context::[component name]_Context (::Components::CCMHome_ptr home,
- ::CIAO::Session_Container *c,
- [ciao module name]::[component name]_Servant *sv)
- : home_ (::Components::CCMHome::_duplicate (home)),
- container_ (c),
- servant_ (sv)
-{
-
-}
-
-ACE_INLINE
-[ciao module name]::[component name]_Context::~[component name]_Context ()
-{
-}
-
-// Operations for emits interfaces.
-##foreach [emit name] with [eventtype] in (list of all emitters) generate:
-
-ACE_INLINE void
-[ciao module name]::[component name]_Context::connect_[emit name] ([eventtype]Consumer_ptr c
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- ::Components::AlreadyConnected))
-{
- if (CORBA::is_nil (c))
- ACE_THROW (CORBA::BAD_PARAM ());
-
- if (! CORBA::is_nil (this->ciao_emits_[emit name]_consumer_.in ()))
- ACE_THROW (::Components::AlreadyConnected ());
-
- this->ciao_emits_[emit name]_consumer_ = c;
-}
-
-ACE_INLINE [eventtype]Consumer_ptr
-[ciao module name]::[component name]_Context::disconnect_[emit name] (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- ::Components::NoConnection))
-{
- if (CORBA::is_nil (this->ciao_emits_[emit name]_consumer_.in ()))
- ACE_THROW (::Components::NoConnection ());
-
- return this->ciao_emits_[emit name]_consumer_._retn ();
-}
-
-##end foreach [emit name] with [eventtype]
-
-// Operations for ::Components::CCMContext
-ACE_INLINE ::Components::Principal_ptr
-[ciao module name]::[component name]_Context::get_caller_principal (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- // @@ We don't support Security in CIAO yet.
- ACE_THROW_RETURN (CORBA::NO_IMPLEMENT (), 0);
-}
-
-ACE_INLINE ::Components::CCMHome_ptr
-[ciao module name]::[component name]_Context::get_CCM_home (ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- return ::Components::CCMHome::_duplicate (this->home_.in ());
-}
-
-ACE_INLINE CORBA::Boolean
-[ciao module name]::[component name]_Context::get_rollback_only (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::IllegalState))
-{
- // @@ We don't support Transaction in CIAO yet.
- ACE_THROW_RETURN (CORBA::NO_IMPLEMENT (), 0);
-}
-
-ACE_INLINE ::Components::Transaction::UserTransaction_ptr
-[ciao module name]::[component name]_Context::get_user_transaction (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::IllegalState))
-{
- // @@ We don't support Transaction in CIAO yet.
- ACE_THROW_RETURN (CORBA::NO_IMPLEMENT (), 0);
-}
-
-ACE_INLINE CORBA::Boolean
-[ciao module name]::[component name]_Context::is_caller_in_role (const char * role
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- ACE_UNUSED_ARG (role);
-
- // @@ We don't support Transaction in CIAO yet.
- ACE_THROW_RETURN (CORBA::NO_IMPLEMENT (), 0);
-}
-
-ACE_INLINE void
-[ciao module name]::[component name]_Context::set_rollback_only (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::IllegalState))
-{
- // @@ We don't support Transaction in CIAO yet.
- ACE_THROW (CORBA::NO_IMPLEMENT ());
-}
-
-//////////////////////////////////////////////////////////////////
-// Component Servant Glue code implementation
-//////////////////////////////////////////////////////////////////
-
-##foreach [operation] in all supported interfaces of own component and all inherited components and attribute accessors/mutators
-
-// This is only a guideline... we always relay the operation to underlying
-// executor.
-
-ACE_INLINE [operation return_type]
-[ciao module name]::[component name]_Servant::[operation] ([operation args])
-{
- // Simply relay to executor. May not need to return the result...
- return this->executor_->operation ([operation args]);
-}
-
-##end
-
-##foreach [receptacle name] with [uses type] in (list of all 'uses' interfaces) generate:
-## if [receptacle name] is a simplex receptacle ('uses')
-// Simplex [receptacle name] connection management operations
-ACE_INLINE void
-[ciao module name]::[component name]_Servant::connect_[receptacle name] ([uses type]_ptr c
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- ::Components::AlreadyConnected,
- ::Components::InvalidConnection))
-{
- this->context_->connect_[receptacle name] (c
- ACE_ENV_ARG_PARAMETER);
-}
-
-ACE_INLINE [uses type]_ptr
-[ciao module name]::[component name]_Servant::disconnect_[receptacle name] (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- ::Components::NoConnection))
-{
- return this->context_->disconnect_[receptacle name] (ACE_ENV_SINGLE_ARG_PARAMETER);
-}
-
-ACE_INLINE [uses type]_ptr
-[ciao module name]::[component name]_Servant::get_connection_[receptacle name] (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- return this->context_->get_connection_[receptacle name] (ACE_ENV_SINGLE_ARG_PARAMETER);
-}
-## else ([receptacle name] is a multiplex ('uses multiple') receptacle)
-
-// Multiplex [receptacle name] connection management operations
-ACE_INLINE ::Components::Cookie *
-[ciao module name]::[component name]_Servant::connect_[receptacle name] ([uses type]_ptr c
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- ::Components::ExceedConnectionLimit,
- ::Components::InvalidConnection))
-{
- return this->context_->connect_[receptacle name] (c
- ACE_ENV_ARG_PARAMETER);
-}
-
-ACE_INLINE [uses type]_ptr
-[ciao module name]::[component name]_Servant::disconnect_[receptacle name] (::Components::Cookie *ck
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- ::Components::InvalidConnection))
-{
- return this->context_->disconnect_[receptacle name] (ck
- ACE_ENV_ARG_PARAMETER);
-}
-
-ACE_INLINE [receptacle name]Connections *
-[ciao module name]::[component name]_Servant::get_connections_[receptacle name] (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- return this->context_->get_connections_[receptacle name] (ACE_ENV_SINGLE_ARG_PARAMETER);
-}
-
-## endif [receptacle name]
-##end foreach [receptacle name] with [uses type]
-
-//////////////////////////////////////////////////////////////////
-// EventConsumer Glue Code implementation
-// @@ We are assuming that these consumers are declared under the same
-// module as the component (thus, we are placing this glue code
-// here under the same namespace. If they are not, we will
-// either be generating them in separate namespaces, or include
-// some other CIDL generated files to get the glue code
-// implementation.
-//////////////////////////////////////////////////////////////////
-
-##foreach [consumer name] with [eventtype] in (list of all consumers) generate:
-
-// Constructor and destructor.
-ACE_INLINE
-[ciao module name]::[component name]_Servant::[eventtype]Consumer_[consumer name]_Servant::[eventtype]Consumer_[consumer name]_Servant
- (CCM_[component name]_ptr executor,
- CCM_[component name]_Context_ptr c)
- : executor_ (CCM_[component name]::_duplicate (executor)),
- ctx_ (CCM_[component name]_Context::_duplicate (c))
-{
-}
-
-ACE_INLINE
-[ciao module name]::[component name]_Servant::[eventtype]Consumer_[consumer name]_Servant::~[eventtype]Consumer_[consumer name]_Servant ()
-{
-}
-
-ACE_INLINE CORBA::Object_ptr
-[ciao module name]::[component name]_Servant::[eventtype]Consumer_[consumer name]_Servant::_get_component (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- return this->ctx_->get_CCM_object (ACE_ENV_SINGLE_ARG_PARAMETER);
-}
-
-ACE_INLINE void
-[ciao module name]::[component name]_Servant::[eventtype]Consumer_[consumer name]_Servant::push_[eventtype]
- ([eventtype] *evt
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- this->executor_->push_[consumer name] (evt
- ACE_ENV_ARG_PARAMETER);
-}
-
-## foreach [type] in (all parents of eventtype, if any, not including EventConsumerBase)
-ACE_INLINE void
-[ciao module name]::[component name]_Servant::[eventtype]Consumer_[consumer name]_Servant::push_[type]
- ([type] *evt
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- // @@ Problem, there's no way to handle this case.
-
- // this->executor_->push_[consumer name] (evt ACE_ENV_ARG);
- ACE_THROW (::CORBA::BAD_PARAM ());
-}
-## end [type]
-
-##end foreach [consumer name]
-
-// Operations for emits interfaces.
-##foreach [emit name] with [eventtype] in (list of all emitters) generate:
-ACE_INLINE void
-[ciao module name]::[component name]_Servant::connect_[emit name] ([eventtype]Consumer_ptr c
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException
- ::Components::AlreadyConnected))
-{
- this->context_->connect_[emit name] (c
- ACE_ENV_ARG_PARAMETER);
-}
-
-ACE_INLINE [eventtype]Consumer_ptr
-[ciao module name]::[component name]_Servant::disconnect_[emit name] (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- ::Components::NoConnection))
-{
- return this->context_->disconnect_[emit name] (ACE_ENV_SINGLE_ARG_PARAMETER);
-}
-##end foreach [emit name] with [eventtype]
-
-// Operations for publishes interfaces.
-##foreach [publish name] with [eventtype] in (list of all publishers) generate:
-ACE_INLINE ::Components::Cookie *
-[ciao module name]::[component name]_Servant::subscribe_[publish name] ([eventtype]Consumer_ptr c
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- ::Components::ExceededConnectionLimit))
-{
- return this->context_->subscribe_[publish name] (c
- ACE_ENV_ARG_PARAMETER);
-}
-
-ACE_INLINE [eventtype]Consumer_ptr
-[ciao module name]::[component name]_Servant::unsubscribe_[publish name] (::Components::Cookie *ck
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- ::Components::InvalidConnection))
-{
- return this->context_->unsubscribe_[publish name] (ck
- ACE_ENV_ARG_PARAMETER);
-}
-##end foreach [publish name] with [eventtype]
-
-//////////////////////////////////////////////////////////////////
-// Component Home Glue code implementation
-//////////////////////////////////////////////////////////////////
-
-ACE_INLINE
-[ciao module name]::[home name]_Servant::[home name]_Servant (CCM_[home name]_ptr exe,
- CIAO::Session_Container *c)
- : executor_ (CCM_[home name]::_duplicate (exe)),
- container_ (c)
-{
-}
-
-ACE_INLINE
-[ciao module name]::[home name]_Servant::~[home name]_Servant (void)
-{
-}
-
-##foreach [operation] in (all explicit operations in [home basename] including its parents)
-
-// The operation impl here. This can simply be relayed to the underlying executor...
-
-## end foreach opeartion
-
-##foreach [factory name] in (all factory operations in [home basename] including its parents)
-// for factory operations inherit from parent home(s), they should return
-// the corresponding component types their homes manage
-ACE_INLINE [component name]_ptr
-[ciao module name]::[home name]_Servant::[factory name] (.... ACE_ENV_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- ::Components::CreateFailure,
- ....))
-{
- Components::EnterpriseComponent_var _ciao_ec =
- this->executor_->[factory name] (.... ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (0);
-
- CCM_[component name]_var _ciao_comp
- = CCM_[component name]::_narrow (_ciao_ec.in ()
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (0);
-
- return this->_ciao_activate_component (_ciao_comp.in ()
- ACE_ENV_ARG_PARAMETER);
-}
-##end foreach [factory name]
-
-##foreach [finder name] in (all finder operations in [home basename] including its parents)
-// for finder operations inherit from parent home(s), they should return
-// the corresponding component types their homes manage
-ACE_INLINE [component name]_ptr
-[ciao module name]::[home name]_Servant::[finder name] (.... ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::FinderFailure,
- ....))
-{
- Components::EnterpriseComponent_var com =
- this->executor_->[finder name] (.... ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (0);
-
- // Do we create a new object reference referring to the same object,
- // or do we try to create a different objref referring to the same object?
- return this->_ciao_create_helper (com
- ACE_ENV_ARG_PARAMETER);
-}
-##end foreach [finder name]
-
-## if [home name] is a keyless home
-
-// Operations for KeylessHome interface
-ACE_INLINE ::Components::CCMObject_ptr
-[ciao module name]::[home name]_Servant::create_component (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::CreateFailure))
-{
- // Simply forward to the create method.
- return this->create (ACE_ENV_SINGLE_ARG_PARAMETER);
-}
-
-## else [home basename] is keyed home with [key type]
-
-// We do not support key'ed home at the moment but we might
-// as well generate the mapping.
-ACE_INLINE [component name]_ptr
-[ciao module name]::[home name]_Servant::create ([key type] *key)
- ACE_THROW_SPEC ((CORBA::SystemException,
- ::Components::CreationFailure,
- ::Components::DuplicateKeyValue,
- ::Components::InvalidKey))
-{
- // @@ TO-DO when we suppor keyed home.
-
- ACE_THROW_RETURN (CORBA::NO_IMPLEMENT (), 0);
-}
-
-ACE_INLINE [component name]_ptr
-[ciao module name]::[home name]_Servant::find_by_primary_key ([key type] *key)
- ACE_THROW_SPEC ((CORBA::SystemException,
- ::Components::FinderFailure,
- ::Components::UnknownKeyValue,
- ::Components::InvalidKey))
-{
- // @@ TO-DO when we suppor keyed home.
-
- ACE_THROW_RETURN (CORBA::NO_IMPLEMENT (), 0);
-}
-
-
-ACE_INLINE void
-[ciao module name]::[home name]_Servant::remove ([key type] *key)
- ACE_THROW_SPEC ((CORBA::SystemException,
- ::Components::RemoveFailure,
- ::Components::UnknownKeyValue,
- ::Components::InvalidKey))
-{
- // @@ TO-DO when we suppor keyed home.
-
- ACE_THROW (CORBA::NO_IMPLEMENT ());
-}
-
-ACE_INLINE [key type] *
-[ciao module name]::[home name]_Servant::get_primary_key ([component name]_ptr comp)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- // @@ TO-DO when we suppor keyed home.
-
- ACE_THROW_RETURN (CORBA::NO_IMPLEMENT (), 0);
-}
-
-## endif (keyed or keyless home)
-
-
-// Operations for CCMHome interface
-ACE_INLINE ::CORBA::IRObject_ptr
-[ciao module name]::[home name]_Servant::get_component_def (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- // @@ TO-DO. Contact IfR?
-
- ACE_THROW_RETURN (CORBA::NO_IMPLEMENT (), 0);
-}
-
-ACE_INLINE CORBA::IRObject_ptr
-[ciao module name]::[home name]_Servant::get_home_def (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- // @@ TO-DO. Contact IfR?
-
- ACE_THROW_RETURN (CORBA::NO_IMPLEMENT (), 0);
-}
diff --git a/TAO/CIAO/docs/templates/Executor.idl b/TAO/CIAO/docs/templates/Executor.idl
deleted file mode 100644
index 259bffac0df..00000000000
--- a/TAO/CIAO/docs/templates/Executor.idl
+++ /dev/null
@@ -1,246 +0,0 @@
-// $Id$
-
-// ===========================================================
-//
-// @file Executor.idl
-//
-// The purpose of this IDL file is to serve as a template for the CIDL
-// generated equivalent executor file. The CIDL will generate this
-// file directly which, in turn, gets compiled by the TAO IDL compiler
-// to generate the C++ mappings for the stuff defined in this file
-// into a set of [idl-name]EC.{h,inl,cpp} files.
-//
-// This intermediate step is necessary because component implemenetors
-// will need to extend these executor definitions (thru inheritance)
-// to implemenet more complex executor implementations, such as those
-// that support session component interface. (This is necessary to
-// properly support C++ mapping for features such as interface
-// narrowing.)
-//
-// What are missing in the template for executor mappings are the
-// exception specifications for most operations.
-//
-// @author Nanbor Wang <nanbor@cs.wustl.edu>
-//
-// ===========================================================
-
-#ifndef [component_idl]E_IDL
-#define [component_idl]E_IDL
-
-#include "CCM_Container.idl" // Found in $(CIAO_ROOT)/ciao
- // For various definitions of container
- // internal/callback interfaces
-#include "[component_idl].idl" // Original component IDL definition
-// @@ We may need to include other *E.idl here.... Can't figure out
-// if we can do this automagically or not.
-
-##if there are module definitions, preserve them all
-module [module_name] {
-##endif
-
-////////////////////////////////////////////////////////////////////
-//// * Iterate thru all supported interface types
-//// It's possible that we need to put some of the common supported
-//// interface definitions into a separate compilation unit. How do we
-//// specify that in CCIDL? I haven't figured that out. Perhaps
-//// allowing CCIDL to compile files that contain no component
-//// definition?
-##foreach [interface_type] in (types of all supported interface) generate:
-
- local interface CCM_[interface_type] : [interface_type]
- {
- };
-
-##end foreach [interface_type]
-
-////////////////////////////////////////////////////////////////////
-//// * Iterate thru all facet ('provides' interface) interface types
-//// It's possible that we need to put some of the common facet
-//// definitions into a separate compilation unit. How do we
-//// specify that in CCIDL? I haven't figured that out. Perhaps
-//// allowing CCIDL to compile files that contain no component
-//// definition?
-##foreach [facet_interface_type] in (types of all facets) generate:
-
- local interface CCM_[facet_interface_type] : [facet_interface_type]
- {
- };
-
-##end foreach [facet_interface_type]
-
-////////////////////////////////////////////////////////////////////
-//// * Iterate thru all event ('emits', "publishes', or 'consumes') types
-//// It's possible that we need to put some of the EventConsumer
-//// definitions into a separate compilation unit. Like in the case
-//// of facets interface mappings, how do we
-//// specify that in CCIDL? I haven't figured that out. Perhaps
-//// allowing CCIDL to compile files that contain no component
-//// definition?
-
-##foreach [eventtype] in (all eventtypes) generate:
-
- local interface CCM_[eventtype]Consumer
- {
- void push (in [eventtype] ev);
- };
-
-##end foreach [eventtype]
-
-
-////////////////////////////////////////////////////////////////////
-//// * Iterate thru all component definitions in the IDL files.
-//// Notice that there's no distinction between entity and session
-//// components in executor mappings.
-
-##foreach [component basename] in (all component definitions) generate:
-
- // Component Main Executor Interface. We currently do not
- // support Executor-based implementation.
-
- local interface CCM_[component basename]_Executor
- :
-## if [component basename] inherits from [parent component name]
- CCM_[parent component name]_Executor
-## else
- ::Components::EnterpriseComponent
-## endif
-## foreach [interface name] in (all component supported interfaces) generate:
- , [interface name]
-## end foreach [interface name]
-
- {
-## foreach [attribute definition] in (attributes defined in [component basename]) generate:
- [attribute definition];
-## end foreach [attribute definition]
-
- };
-
- // Monolithic component executor.
- // For implementing monolithic component call back interface.
-
- local interface CCM_[component basename]
- :
-## if [component basename] inherits from [parent component name]
- CCM_[parent component name]
-## else
- ::Components::EnterpriseComponent
-## endif
-## foreach [interface name] in (all component supported interfaces) generate:
- , [interface name]
-## end foreach [interface name]
-
- {
-## foreach [attribute definition] in (attributes defined in [component basename]) generate:
- [attribute definition];
-## end foreach [attribute definition]
-
-## foreach [facet name] with [facet type] in (list of all provided interfaces) generate:
- CCM_[facet type] get_[facet name] ();
-## end foreach [facet name] with [facet type]
-
-## foreach [event name] with [eventtype] in (list of all event sinks) generate:
- void push_[event name] (in [eventtype] ev);
-## end foreach [event name] with [eventtype]
-
- };
-
- /**
- * Component Context Interface
- *
- * Notice that we are taking a shortcut here to inherit the
- * component-specific context from SessionContext directly instead
- * of CCMContext.
- */
- local interface CCM_[component basename]_Context
- :
-## if [component basename] inherits from [parent component name]
- CCM_[parent component name]_Context
-## else
- ::Components::SessionContext
-## endif
- {
-
-## foreach [receptacle name] with [uses type] in (list of all 'uses' interfaces) generate:
-## if [receptacle name] is a simplex receptacle ('uses')
- [uses type] get_connection_[receptacle name] ();
-## else ([receptacle name] is a multiplex ('uses multiple') receptacle)
- // [receptacle name]Connections typedef'ed as a sequence of
- // struct [receptacle name]Connection.
- [receptacle name]Connections get_connections_[receptacle name] ();
-## endif [receptacle name]
-## end foreach [receptacle name] with [uses type]
-
-## foreach [event name] with [eventtype] in (list of all event sources) generate:
- void push_[event name] (in [eventtype] ev);
-## end foreach [event name] with [eventtype]
-
- };
-
-##end foreach [component basename]
-
-
-////////////////////////////////////////////////////////////////////
-//// * Iterate thru all home definitions in the IDL files.
-
-##foreach [home basename] in (all home definitions) generate:
-
- local interface CCM_[home basename]Explicit
- :
-## if [home basename] inherits from [parent home name]
- CCM_[parent home name]Explicit
-## else
- ::Components::HomeExecutorBase
-## endif
-## foreach [interface name] in (all home supported interfaces) generate:
- , [interface name]
-## end foreach [interface name]
- {
-##foreach [operation] in (all explicit operations defined in [home basename])
-
- // The operation decl here.
-
-## end foreach opeartion
-
-##foreach [factory name] in (all factory operations defined in [home basename])
- ::Components::EnterpriseComponent [factory name] (....)
- raise (Components::CreateFailure, ....);
-##end foreach [factory name]
-
-##foreach [finder name] in (all finder operations defined in [home basename])
- ::Components::EnterpriseComponent [finder name] (....)
- raise (Components::FinderFailure, ....);
-##end foreach [finder name]
- };
-
- local interface CCM_[home basename]Implicit
- {
-## if [home basename] is a keyless home
- ::Components::EnterpriseComponent create ()
- raises (::Components::CCMException);
-## else [home basename] is key'ed home with [key type]
- // We do not support key'ed home at the moment but we might
- // as well generate the mapping.
- ::Components::EnterpriseComponent create (in [key type] key)
- raises (::Components::CCMException);
-
- ::Components::EnterpriseComponent find_by_primary_key (in [key type] key)
- raises (::Components::CCMException);
-
- void remove (in [key type] key)
- raises (::Components::CCMException);
-## endif (key'ed or keyless home)
- };
-
- local interface CCM_[home basename]
- : CCM_[home basename]Explicit,
- CCM_[home basename]Implicit
- {
- };
-
-##end foreach [home basename]
-
-##if there are module definitions, preserve them all
-};
-##endif
-
-#endif /* [component_idl]E_IDL */
diff --git a/TAO/CIAO/docs/templates/cidl_template.cidl b/TAO/CIAO/docs/templates/cidl_template.cidl
deleted file mode 100644
index 3d359708f32..00000000000
--- a/TAO/CIAO/docs/templates/cidl_template.cidl
+++ /dev/null
@@ -1,31 +0,0 @@
-// $Id$ -*- C++ -*-
-
-/**
- * @file cidl_template.cidl
- *
- * This file show an example cidl file.
- */
-
-// @@ We do not support import (yet).
-//import [component module];
-
-// [idl-basename] contains the IDL3 definitions for component(s) and
-// home(s) and the interfaces that they need.
-
-#include "[idl-basename].idl"
-
-// We only support a simple session implementation definition, for
-// now. @@ What is the relation of various names here and the
-// generated names we used in the glue code?
-composition session [composition name]
-{
- home executor [home executor name]
- {
- implement [home name];
- manages [component executor name];
- };
-};
-
-
-// @@ We should also generate somet sort of implementaion template for
-// users. E.g., a set of [idl-basename]_impl.* and the MPC files(?).
diff --git a/TAO/CIAO/examples/OEP/BasicSP/BMClosedED/BMClosedED.cidl b/TAO/CIAO/examples/OEP/BasicSP/BMClosedED/BMClosedED.cidl
deleted file mode 100644
index c241c806a34..00000000000
--- a/TAO/CIAO/examples/OEP/BasicSP/BMClosedED/BMClosedED.cidl
+++ /dev/null
@@ -1,19 +0,0 @@
-//$Id$
-
-#ifndef BMCLOSEDED_CIDL
-#define BMCLOSEDED_CIDL
-
-#include "BMClosedED.idl"
-
-composition session BMClosedED_Impl
-{
- home executor BMClosedEDHome_Exec
- {
- implements BasicSP::BMClosedEDHome;
- manages BMClosedED_Exec;
- };
-};
-
-#endif /* BMCLOSEDED_CIDL */
-
-
diff --git a/TAO/CIAO/examples/OEP/BasicSP/BMClosedED/BMClosedED.idl b/TAO/CIAO/examples/OEP/BasicSP/BMClosedED/BMClosedED.idl
deleted file mode 100644
index 2fe200151fe..00000000000
--- a/TAO/CIAO/examples/OEP/BasicSP/BMClosedED/BMClosedED.idl
+++ /dev/null
@@ -1,17 +0,0 @@
-//$Id$
-#include "../BasicSP.idl"
-
-module BasicSP
-{
- component BMClosedED
- {
- provides ReadData dataout;
- uses ReadData datain;
- publishes DataAvailable out_avail;
- consumes DataAvailable in_avail;
- };
-
- home BMClosedEDHome manages BMClosedED
- {
- };
-};
diff --git a/TAO/CIAO/examples/OEP/BasicSP/BMClosedED/BMClosedEDEI.idl b/TAO/CIAO/examples/OEP/BasicSP/BMClosedED/BMClosedEDEI.idl
deleted file mode 100644
index a95918e6595..00000000000
--- a/TAO/CIAO/examples/OEP/BasicSP/BMClosedED/BMClosedEDEI.idl
+++ /dev/null
@@ -1,33 +0,0 @@
-// $Id$
-
-/**
- * @file BMClosedEDEI.idl
- *
- * Definition of the GPS component implementation.
- *
- * @author Nanbor Wang <nanbor@cs.wustl.edu>
- */
-
-#ifndef CIAO_BMCLOSEDEDI_IDL
-#define CIAO_BMCLOSEDEDI_IDL
-
-#include "BMClosedEDE.idl"
-
-module BasicSP
-{
- /**
- * @interface BMClosedED_Exec
- *
- * The actually GPS executor inherits from both CCM_GPS and
- * CCM_position interfaces as a monolithic implementation.
- */
- local interface BMClosedED_Exec :
- CCM_BMClosedED,
- CCM_ReadData,
- Components::SessionComponent
- {
- };
-
-};
-
-#endif /* CIAO_BMCLOSEDEDI_IDL*/
diff --git a/TAO/CIAO/examples/OEP/BasicSP/BMClosedED/BMClosedED_exec.cpp b/TAO/CIAO/examples/OEP/BasicSP/BMClosedED/BMClosedED_exec.cpp
deleted file mode 100644
index ac80e1b9fb1..00000000000
--- a/TAO/CIAO/examples/OEP/BasicSP/BMClosedED/BMClosedED_exec.cpp
+++ /dev/null
@@ -1,149 +0,0 @@
-// $Id$
-
-#include "BMClosedED_exec.h"
-
-#define DISPLACEMENT 256
-
-/// Default constructor.
-MyImpl::BMClosedED_exec_i::BMClosedED_exec_i ()
-{
-}
-
-/// Default destructor.
-MyImpl::BMClosedED_exec_i::~BMClosedED_exec_i ()
-{
-}
-
-// Operations from HUDisplay::BMClosedED
-
-BasicSP::CCM_ReadData_ptr
-MyImpl::BMClosedED_exec_i::get_dataout (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- return BasicSP::CCM_ReadData::_duplicate (this);
-}
-
-void
-MyImpl::BMClosedED_exec_i::push_in_avail (BasicSP::DataAvailable *
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
-
- ACE_DEBUG ((LM_DEBUG,
- "BMClosedED - Doing computations \n"));
-
- ACE_DEBUG ((LM_DEBUG,
- "BMClosedED - Doing data fetch \n"));
-
- // Refresh position
- BasicSP::ReadData_var dat
- = this->context_->get_connection_datain (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_CHECK;
-
- if (CORBA::is_nil (dat.in ()))
- {
- ACE_THROW (CORBA::BAD_INV_ORDER ());
- }
-
- char *str =
- dat->get_data (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_CHECK;
-
- ACE_DEBUG ((LM_DEBUG,
- "BMClosedED - Display data is [%s] \n",
- str));
-
- if (ACE_OS::strcmp (str, "BM DEVICE DATA") == 0)
- {
- this->str_ = CORBA::string_dup ("BM CLOSED ED DATA");
- }
-
- // Notify others
- BasicSP::DataAvailable_var event =
- new OBV_BasicSP::DataAvailable;
-
- this->context_->push_out_avail (event
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK;
-}
-
-// Operations from HUDisplay::position
-
-char *
-MyImpl::BMClosedED_exec_i::get_data (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- return this->str_.inout ();
-}
-
-// Operations from Components::SessionComponent
-void
-MyImpl::BMClosedED_exec_i::set_session_context (Components::SessionContext_ptr ctx
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::CCMException))
-{
- ACE_DEBUG ((LM_DEBUG, "MyImpl::BMClosedED_exec_i::set_session_context\n"));
-
- this->context_ =
- BasicSP::CCM_BMClosedED_Context::_narrow (ctx
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK;
-
- if (CORBA::is_nil (this->context_.in ()))
- ACE_THROW (CORBA::INTERNAL ());
- // Urm, we actually discard exceptions thown from this operation.
-}
-
-void
-MyImpl::BMClosedED_exec_i::ccm_activate (ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::CCMException))
-{
- ACE_DEBUG ((LM_DEBUG, "MyImpl::BMClosedED_exec_i::ccm_activate\n"));
-}
-
-void
-MyImpl::BMClosedED_exec_i::ccm_passivate (ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::CCMException))
-{
- ACE_DEBUG ((LM_DEBUG, "MyImpl::BMClosedED_exec_i::ccm_passivate\n"));
-}
-
-void
-MyImpl::BMClosedED_exec_i::ccm_remove (ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::CCMException))
-{
- ACE_DEBUG ((LM_DEBUG, "MyImpl::BMClosedED_exec_i::ccm_remove\n"));
-}
-
-/// Default ctor.
-MyImpl::BMClosedEDHome_exec_i::BMClosedEDHome_exec_i ()
-{
-}
-
-/// Default dtor.
-MyImpl::BMClosedEDHome_exec_i::~BMClosedEDHome_exec_i ()
-{
-}
-
-// Explicit home operations.
-
-// Implicit home operations.
-
-::Components::EnterpriseComponent_ptr
-MyImpl::BMClosedEDHome_exec_i::create (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::CCMException))
-{
- return new MyImpl::BMClosedED_exec_i;
-}
-
-
-extern "C" BMCLOSEDED_EXEC_Export ::Components::HomeExecutorBase_ptr
-createBMClosedEDHome_Impl (void)
-{
- return new MyImpl::BMClosedEDHome_exec_i;
-}
diff --git a/TAO/CIAO/examples/OEP/BasicSP/BMClosedED/BMClosedED_exec.dsp b/TAO/CIAO/examples/OEP/BasicSP/BMClosedED/BMClosedED_exec.dsp
deleted file mode 100644
index e29b8f3dd6e..00000000000
--- a/TAO/CIAO/examples/OEP/BasicSP/BMClosedED/BMClosedED_exec.dsp
+++ /dev/null
@@ -1,146 +0,0 @@
-# Microsoft Developer Studio Project File - Name="BMClosedED_exec DLL" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 6.00
-# ** DO NOT EDIT **
-
-# TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102
-
-CFG=BMClosedED_exec DLL - Win32 Debug
-!MESSAGE This is not a valid makefile. To build this project using NMAKE,
-!MESSAGE use the Export Makefile command and run
-!MESSAGE
-!MESSAGE NMAKE /f "BMClosedED_exec.mak".
-!MESSAGE
-!MESSAGE You can specify a configuration when running NMAKE
-!MESSAGE by defining the macro CFG on the command line. For example:
-!MESSAGE
-!MESSAGE NMAKE /f "BMClosedED_exec.mak" CFG="BMClosedED_exec DLL - Win32 Debug"
-!MESSAGE
-!MESSAGE Possible choices for configuration are:
-!MESSAGE
-!MESSAGE "BMClosedED_exec DLL - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library")
-!MESSAGE "BMClosedED_exec DLL - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library")
-!MESSAGE
-
-# Begin Project
-# PROP AllowPerConfigDependencies 0
-# PROP Scc_ProjName ""
-# PROP Scc_LocalPath ""
-CPP=cl.exe
-MTL=midl.exe
-RSC=rc.exe
-
-!IF "$(CFG)" == "BMClosedED_exec DLL - Win32 Release"
-
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "."
-# PROP Intermediate_Dir "Release\BMClosedED_exec"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD CPP /nologo /MD /W3 /GR /GX /Zi /O2 /I "..\..\..\..\..\orbsvcs\orbsvcs" /I "..\..\..\.." /I "..\..\..\..\ciao" /I "..\..\..\..\.." /I "..\..\..\..\..\tao" /I "..\..\..\..\..\.." /D NDEBUG=1 /D WIN32=1 /D _WINDOWS=1 /D BMCLOSEDED_EXEC_BUILD_DLL=1 /FD /c
-# SUBTRACT CPP /YX
-# ADD BASE RSC /l 0x409
-# ADD RSC /l 0x409 /i "..\..\..\..\..\orbsvcs\orbsvcs" /i "..\..\..\.." /i "..\..\..\..\ciao" /i "..\..\..\..\.." /i "..\..\..\..\..\tao" /i "..\..\..\..\..\.." /d NDEBUG=1
-BSC32=bscmake.exe
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 /machine:IX86
-# ADD LINK32 BMClosedED_stub.lib BMClosedED_svnt.lib BasicSP_stub.lib BasicSP_svnt.lib CIAO_Server.lib TAO_PortableServer.lib TAO_IORInterceptor.lib TAO_ObjRefTemplate.lib TAO_Security.lib CIAO_Container.lib TAO.lib TAO_IFR_Client.lib TAO_Valuetype.lib CIAO_Client.lib ACE.lib /nologo /subsystem:windows /dll /pdb:"..\..\..\..\..\..\bin\BMClosedED_exec.pdb" /machine:I386 /out:"..\..\..\..\..\..\bin\BMClosedED_exec.dll" /libpath:".." /libpath:"..\..\..\..\..\tao\PortableServer" /libpath:"..\..\..\..\..\tao\IORInterceptor" /libpath:"..\..\..\..\..\tao\ObjRefTemplate" /libpath:"..\..\..\..\..\orbsvcs\orbsvcs" /libpath:"..\..\..\..\..\tao\IFR_Client" /libpath:"..\..\..\..\..\tao\Valuetype" /libpath:"..\..\..\..\ciao" /libpath:"..\..\..\..\..\tao" /libpath:"..\..\..\..\..\..\ace" /version:1.3.1
-# SUBTRACT LINK32 /pdb:none
-
-!ELSEIF "$(CFG)" == "BMClosedED_exec DLL - Win32 Debug"
-
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "."
-# PROP Intermediate_Dir "Debug\BMClosedED_exec"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD CPP /nologo /MDd /W3 /Gm /GR /GX /Zi /Od /Gy /I "..\..\..\..\..\orbsvcs\orbsvcs" /I "..\..\..\.." /I "..\..\..\..\ciao" /I "..\..\..\..\.." /I "..\..\..\..\..\tao" /I "..\..\..\..\..\.." /D _DEBUG=1 /D WIN32=1 /D _WINDOWS=1 /D BMCLOSEDED_EXEC_BUILD_DLL=1 /FD /c
-# SUBTRACT CPP /Fr /YX
-# ADD BASE RSC /l 0x409
-# ADD RSC /l 0x409 /i "..\..\..\..\..\orbsvcs\orbsvcs" /i "..\..\..\.." /i "..\..\..\..\ciao" /i "..\..\..\..\.." /i "..\..\..\..\..\tao" /i "..\..\..\..\..\.." /d _DEBUG=1
-BSC32=bscmake.exe
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 /machine:IX86
-# ADD LINK32 BMClosedED_stubd.lib BMClosedED_svntd.lib BasicSP_stubd.lib BasicSP_svntd.lib CIAO_Serverd.lib TAO_PortableServerd.lib TAO_IORInterceptord.lib TAO_ObjRefTemplated.lib TAO_Securityd.lib CIAO_Containerd.lib TAOd.lib TAO_IFR_Clientd.lib TAO_Valuetyped.lib CIAO_Clientd.lib ACEd.lib /nologo /subsystem:windows /dll /incremental:no /pdb:"..\..\..\..\..\..\bin\BMClosedED_execd.pdb" /debug /machine:I386 /out:"..\..\..\..\..\..\bin\BMClosedED_execd.dll" /libpath:".." /libpath:"..\..\..\..\..\tao\PortableServer" /libpath:"..\..\..\..\..\tao\IORInterceptor" /libpath:"..\..\..\..\..\tao\ObjRefTemplate" /libpath:"..\..\..\..\..\orbsvcs\orbsvcs" /libpath:"..\..\..\..\..\tao\IFR_Client" /libpath:"..\..\..\..\..\tao\Valuetype" /libpath:"..\..\..\..\ciao" /libpath:"..\..\..\..\..\tao" /libpath:"..\..\..\..\..\..\ace" /version:1.3.1
-# SUBTRACT LINK32 /pdb:none
-
-!ENDIF
-
-# Begin Target
-
-# Name "BMClosedED_exec DLL - Win32 Release"
-# Name "BMClosedED_exec DLL - Win32 Debug"
-# Begin Group "Source Files"
-
-# PROP Default_Filter "cpp;cxx;c"
-# Begin Source File
-
-SOURCE=.\BMClosedED_exec.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\BMClosedEDEIC.cpp
-# End Source File
-# End Group
-# Begin Group "Header Files"
-
-# PROP Default_Filter "h;hpp;hxx;hh"
-# Begin Source File
-
-SOURCE=.\BMClosedED_exec.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\BMClosedEDEIC.h
-# End Source File
-# End Group
-# Begin Group "Inline Files"
-
-# PROP Default_Filter "i;inl"
-# Begin Source File
-
-SOURCE=.\BMClosedEDEIC.i
-# End Source File
-# End Group
-# Begin Group "IDL Files"
-
-# PROP Default_Filter "idl"
-# Begin Source File
-
-SOURCE=.\BMClosedEDEI.idl
-
-!IF "$(CFG)" == "BMClosedED_exec DLL - Win32 Release"
-
-# PROP Ignore_Default_Tool 1
-USERDEP__BMCLO="..\..\..\..\..\..\bin\tao_idl.exe"
-# Begin Custom Build - Invoking TAO IDL Compiler on $(InputPath)
-InputPath=.\BMClosedEDEI.idl
-InputName=BMClosedEDEI
-
-"$(InputName)C.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- ..\..\..\..\..\..\bin\tao_idl -o . -Wb,export_macro=BMCLOSEDED_EXEC_Export -Wb,export_include=BMClosedED_exec_export.h -I..\..\..\..\.. -I..\..\..\..\..\CIAO\ciao -Wb,pre_include="ace\pre.h" -Wb,post_include="ace\post.h" -I ..\..\..\.. -I ..\..\..\..\.. -I ..\..\..\..\..\orbsvcs\orbsvcs -Ge 1 -Sc $(InputPath)
-
-# End Custom Build
-
-!ELSEIF "$(CFG)" == "BMClosedED_exec DLL - Win32 Debug"
-
-# PROP Ignore_Default_Tool 1
-USERDEP__BMCLO="..\..\..\..\..\..\bin\tao_idl.exe"
-# Begin Custom Build - Invoking TAO IDL Compiler on $(InputPath)
-InputPath=.\BMClosedEDEI.idl
-InputName=BMClosedEDEI
-
-"$(InputName)C.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- ..\..\..\..\..\..\bin\tao_idl -o . -Wb,export_macro=BMCLOSEDED_EXEC_Export -Wb,export_include=BMClosedED_exec_export.h -I..\..\..\..\.. -I..\..\..\..\..\CIAO\ciao -Wb,pre_include="ace\pre.h" -Wb,post_include="ace\post.h" -I ..\..\..\.. -I ..\..\..\..\.. -I ..\..\..\..\..\orbsvcs\orbsvcs -Ge 1 -Sc $(InputPath)
-
-# End Custom Build
-
-!ENDIF
-
-# End Source File
-# End Group
-# End Target
-# End Project
diff --git a/TAO/CIAO/examples/OEP/BasicSP/BMClosedED/BMClosedED_exec.h b/TAO/CIAO/examples/OEP/BasicSP/BMClosedED/BMClosedED_exec.h
deleted file mode 100644
index 870ca679dfe..00000000000
--- a/TAO/CIAO/examples/OEP/BasicSP/BMClosedED/BMClosedED_exec.h
+++ /dev/null
@@ -1,119 +0,0 @@
-// $Id$
-
-//================================================================
-/**
- * @file BMClosedED_exec.h
- *
- * @author Balachandran Natarajan <bala@dre.vanderbilt.edu>
- */
-//================================================================
-
-#ifndef CIAO_BMCLOSED_EXEC_H
-#define CIAO_BMCLOSED_EXEC_H
-
-#include "BMClosedEDEIC.h"
-#include "tao/LocalObject.h"
-
-// The namespace name for the actual implementation classes doesn't
-// really matter. Since there may be several different
-// implementations for a component, they can very well be in different
-// namespaces.
-namespace MyImpl
-{
- /**
- * @class BMClosedED_exec_i
- *
- * An example RateGen executor implementation class.
- */
- class BMCLOSEDED_EXEC_Export BMClosedED_exec_i :
- public virtual BasicSP::BMClosedED_Exec,
- // CIAO container implementation depends on correct reference
- // counting of local interfaces, so we take a short cut to
- public virtual TAO_Local_RefCounted_Object
- {
- public:
- /// Default constructor.
- BMClosedED_exec_i (void);
-
- /// Default destructor.
- ~BMClosedED_exec_i (void);
-
- // Operations from HUDisplay::BMClosedED
-
- virtual BasicSP::CCM_ReadData_ptr
- get_dataout (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- virtual void
- push_in_avail (BasicSP::DataAvailable *ev
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- // Operations from HUDisplay::position
- virtual char *
- get_data (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- // Operations from Components::SessionComponent
-
- virtual void
- set_session_context (Components::SessionContext_ptr ctx
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::CCMException));
-
- virtual void
- ccm_activate (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::CCMException));
-
- virtual void
- ccm_passivate (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::CCMException));
-
- virtual void
- ccm_remove (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::CCMException));
- protected:
- CORBA::String_var str_;
-
- /// Copmponent specific context
- BasicSP::CCM_BMClosedED_Context_var context_;
- };
-
- /**
- * @class BMClosedEDHome_exec_i
- *
- * BMClosedED home executor implementation class.
- */
- class BMCLOSEDED_EXEC_Export BMClosedEDHome_exec_i :
- public virtual BasicSP::CCM_BMClosedEDHome,
- public virtual TAO_Local_RefCounted_Object
- {
- public:
- /// Default ctor.
- BMClosedEDHome_exec_i ();
-
- /// Default dtor.
- ~BMClosedEDHome_exec_i ();
-
- // Explicit home operations.
-
- // Implicit home operations.
-
- virtual ::Components::EnterpriseComponent_ptr
- create (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::CCMException));
- };
-
-}
-
-// Executor DLL entry point. CIAO's deployment and assembly framework
-// invokes this function on the resulting DLL to get the home executor.
-extern "C" BMCLOSEDED_EXEC_Export ::Components::HomeExecutorBase_ptr
-createBMClosedEDHome_Impl (void);
-
-#endif /* CIAO_BMCLOSED_EXEC_H*/
diff --git a/TAO/CIAO/examples/OEP/BasicSP/BMClosedED/BMClosedED_exec_export.h b/TAO/CIAO/examples/OEP/BasicSP/BMClosedED/BMClosedED_exec_export.h
deleted file mode 100644
index b2d7ae01e02..00000000000
--- a/TAO/CIAO/examples/OEP/BasicSP/BMClosedED/BMClosedED_exec_export.h
+++ /dev/null
@@ -1,50 +0,0 @@
-
-// -*- C++ -*-
-// $Id$
-// Definition for Win32 Export directives.
-// This file is generated automatically by generate_export_file.pl BMCLOSEDED_EXEC
-// ------------------------------
-#ifndef BMCLOSEDED_EXEC_EXPORT_H
-#define BMCLOSEDED_EXEC_EXPORT_H
-
-#include "ace/config-all.h"
-
-#if !defined (BMCLOSEDED_EXEC_HAS_DLL)
-# define BMCLOSEDED_EXEC_HAS_DLL 1
-#endif /* ! BMCLOSEDED_EXEC_HAS_DLL */
-
-#if defined (BMCLOSEDED_EXEC_HAS_DLL) && (BMCLOSEDED_EXEC_HAS_DLL == 1)
-# if defined (BMCLOSEDED_EXEC_BUILD_DLL)
-# define BMCLOSEDED_EXEC_Export ACE_Proper_Export_Flag
-# define BMCLOSEDED_EXEC_SINGLETON_DECLARATION(T) ACE_EXPORT_SINGLETON_DECLARATION (T)
-# define BMCLOSEDED_EXEC_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_EXPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
-# else /* BMCLOSEDED_EXEC_BUILD_DLL */
-# define BMCLOSEDED_EXEC_Export ACE_Proper_Import_Flag
-# define BMCLOSEDED_EXEC_SINGLETON_DECLARATION(T) ACE_IMPORT_SINGLETON_DECLARATION (T)
-# define BMCLOSEDED_EXEC_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_IMPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
-# endif /* BMCLOSEDED_EXEC_BUILD_DLL */
-#else /* BMCLOSEDED_EXEC_HAS_DLL == 1 */
-# define BMCLOSEDED_EXEC_Export
-# define BMCLOSEDED_EXEC_SINGLETON_DECLARATION(T)
-# define BMCLOSEDED_EXEC_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
-#endif /* BMCLOSEDED_EXEC_HAS_DLL == 1 */
-
-// Set BMCLOSEDED_EXEC_NTRACE = 0 to turn on library specific tracing even if
-// tracing is turned off for ACE.
-#if !defined (BMCLOSEDED_EXEC_NTRACE)
-# if (ACE_NTRACE == 1)
-# define BMCLOSEDED_EXEC_NTRACE 1
-# else /* (ACE_NTRACE == 1) */
-# define BMCLOSEDED_EXEC_NTRACE 0
-# endif /* (ACE_NTRACE == 1) */
-#endif /* !BMCLOSEDED_EXEC_NTRACE */
-
-#if (BMCLOSEDED_EXEC_NTRACE == 1)
-# define BMCLOSEDED_EXEC_TRACE(X)
-#else /* (BMCLOSEDED_EXEC_NTRACE == 1) */
-# define BMCLOSEDED_EXEC_TRACE(X) ACE_TRACE_IMPL(X)
-#endif /* (BMCLOSEDED_EXEC_NTRACE == 1) */
-
-#endif /* BMCLOSEDED_EXEC_EXPORT_H */
-
-// End of auto generated file.
diff --git a/TAO/CIAO/examples/OEP/BasicSP/BMClosedED/BMClosedED_stub.dsp b/TAO/CIAO/examples/OEP/BasicSP/BMClosedED/BMClosedED_stub.dsp
deleted file mode 100644
index 164db157fe1..00000000000
--- a/TAO/CIAO/examples/OEP/BasicSP/BMClosedED/BMClosedED_stub.dsp
+++ /dev/null
@@ -1,138 +0,0 @@
-# Microsoft Developer Studio Project File - Name="BMClosedED_stub DLL" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 6.00
-# ** DO NOT EDIT **
-
-# TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102
-
-CFG=BMClosedED_stub DLL - Win32 Debug
-!MESSAGE This is not a valid makefile. To build this project using NMAKE,
-!MESSAGE use the Export Makefile command and run
-!MESSAGE
-!MESSAGE NMAKE /f "BMClosedED_stub.mak".
-!MESSAGE
-!MESSAGE You can specify a configuration when running NMAKE
-!MESSAGE by defining the macro CFG on the command line. For example:
-!MESSAGE
-!MESSAGE NMAKE /f "BMClosedED_stub.mak" CFG="BMClosedED_stub DLL - Win32 Debug"
-!MESSAGE
-!MESSAGE Possible choices for configuration are:
-!MESSAGE
-!MESSAGE "BMClosedED_stub DLL - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library")
-!MESSAGE "BMClosedED_stub DLL - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library")
-!MESSAGE
-
-# Begin Project
-# PROP AllowPerConfigDependencies 0
-# PROP Scc_ProjName ""
-# PROP Scc_LocalPath ""
-CPP=cl.exe
-MTL=midl.exe
-RSC=rc.exe
-
-!IF "$(CFG)" == "BMClosedED_stub DLL - Win32 Release"
-
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "."
-# PROP Intermediate_Dir "Release\BMClosedED_stub"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD CPP /nologo /MD /W3 /GR /GX /Zi /O2 /I "..\..\..\..\..\orbsvcs\orbsvcs" /I "..\..\..\.." /I "..\..\..\..\ciao" /I "..\..\..\..\.." /I "..\..\..\..\..\tao" /I "..\..\..\..\..\.." /D NDEBUG=1 /D WIN32=1 /D _WINDOWS=1 /D BMCLOSEDED_STUB_BUILD_DLL=1 /FD /c
-# SUBTRACT CPP /YX
-# ADD BASE RSC /l 0x409
-# ADD RSC /l 0x409 /i "..\..\..\.." /i "..\..\..\..\ciao" /i "..\..\..\..\.." /i "..\..\..\..\..\tao" /i "..\..\..\..\..\.." /d NDEBUG=1
-BSC32=bscmake.exe
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 /machine:IX86
-# ADD LINK32 BasicSP_stub.lib TAO.lib TAO_Security.lib TAO_IFR_Client.lib TAO_Valuetype.lib CIAO_Client.lib ACE.lib /nologo /subsystem:windows /dll /pdb:"..\..\..\..\..\..\bin\BMClosedED_stub.pdb" /machine:I386 /out:"..\..\..\..\..\..\bin\BMClosedED_stub.dll" /libpath:".." /libpath:"..\..\..\..\..\orbsvcs\orbsvcs" /libpath:"..\..\..\..\..\tao\IFR_Client" /libpath:"..\..\..\..\..\tao\Valuetype" /libpath:"..\..\..\..\ciao" /libpath:"..\..\..\..\..\tao" /libpath:"..\..\..\..\..\..\ace" /version:1.3.1
-# SUBTRACT LINK32 /pdb:none
-
-!ELSEIF "$(CFG)" == "BMClosedED_stub DLL - Win32 Debug"
-
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "."
-# PROP Intermediate_Dir "Debug\BMClosedED_stub"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD CPP /nologo /MDd /W3 /Gm /GR /GX /Zi /Od /Gy /I "..\..\..\..\..\orbsvcs\orbsvcs" /I "..\..\..\.." /I "..\..\..\..\ciao" /I "..\..\..\..\.." /I "..\..\..\..\..\tao" /I "..\..\..\..\..\.." /D _DEBUG=1 /D WIN32=1 /D _WINDOWS=1 /D BMCLOSEDED_STUB_BUILD_DLL=1 /FD /c
-# SUBTRACT CPP /Fr /YX
-# ADD BASE RSC /l 0x409
-# ADD RSC /l 0x409 /i "..\..\..\.." /i "..\..\..\..\ciao" /i "..\..\..\..\.." /i "..\..\..\..\..\tao" /i "..\..\..\..\..\.." /d _DEBUG=1
-BSC32=bscmake.exe
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 /machine:IX86
-# ADD LINK32 BasicSP_stubd.lib TAOd.lib TAO_Securityd.lib TAO_IFR_Clientd.lib TAO_Valuetyped.lib CIAO_Clientd.lib ACEd.lib /nologo /subsystem:windows /dll /incremental:no /pdb:"..\..\..\..\..\..\bin\BMClosedED_stubd.pdb" /debug /machine:I386 /out:"..\..\..\..\..\..\bin\BMClosedED_stubd.dll" /libpath:".." /libpath:"..\..\..\..\..\orbsvcs\orbsvcs" /libpath:"..\..\..\..\..\tao\IFR_Client" /libpath:"..\..\..\..\..\tao\Valuetype" /libpath:"..\..\..\..\ciao" /libpath:"..\..\..\..\..\tao" /libpath:"..\..\..\..\..\..\ace" /version:1.3.1
-# SUBTRACT LINK32 /pdb:none
-
-!ENDIF
-
-# Begin Target
-
-# Name "BMClosedED_stub DLL - Win32 Release"
-# Name "BMClosedED_stub DLL - Win32 Debug"
-# Begin Group "Source Files"
-
-# PROP Default_Filter "cpp;cxx;c"
-# Begin Source File
-
-SOURCE=.\BMClosedEDC.cpp
-# End Source File
-# End Group
-# Begin Group "Header Files"
-
-# PROP Default_Filter "h;hpp;hxx;hh"
-# Begin Source File
-
-SOURCE=.\BMClosedEDC.h
-# End Source File
-# End Group
-# Begin Group "Inline Files"
-
-# PROP Default_Filter "i;inl"
-# Begin Source File
-
-SOURCE=.\BMClosedEDC.i
-# End Source File
-# End Group
-# Begin Group "IDL Files"
-
-# PROP Default_Filter "idl"
-# Begin Source File
-
-SOURCE=.\BMClosedED.idl
-
-!IF "$(CFG)" == "BMClosedED_stub DLL - Win32 Release"
-
-# PROP Ignore_Default_Tool 1
-USERDEP__BMCLO="..\..\..\..\..\..\bin\tao_idl.exe"
-# Begin Custom Build - Invoking TAOI IDL Compiler on $(InputPath)
-InputPath=.\BMClosedED.idl
-InputName=BMClosedED
-
-"$(InputName)C.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- ..\..\..\..\..\..\bin\tao_idl -o . -Wb,stub_export_macro=BMCLOSEDED_STUB_Export -Wb,stub_export_include=BMClosedED_stub_export.h -Wb,skel_export_macro=BMCLOSEDED_SVNT_Export -Wb,skel_export_include=BMClosedED_svnt_export.h -Wb,pre_include="ace\pre.h" -Wb,post_include="ace\post.h" -I ..\..\..\.. -I ..\..\..\..\ciao -I ..\..\..\..\.. -I ..\..\..\..\..\orbsvcs\orbsvcs -Ge 1 -Sc $(InputPath)
-
-# End Custom Build
-
-!ELSEIF "$(CFG)" == "BMClosedED_stub DLL - Win32 Debug"
-
-# PROP Ignore_Default_Tool 1
-USERDEP__BMCLO="..\..\..\..\..\..\bin\tao_idl.exe"
-# Begin Custom Build - Invoking TAOI IDL Compiler on $(InputPath)
-InputPath=.\BMClosedED.idl
-InputName=BMClosedED
-
-"$(InputName)C.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- ..\..\..\..\..\..\bin\tao_idl -o . -Wb,stub_export_macro=BMCLOSEDED_STUB_Export -Wb,stub_export_include=BMClosedED_stub_export.h -Wb,skel_export_macro=BMCLOSEDED_SVNT_Export -Wb,skel_export_include=BMClosedED_svnt_export.h -Wb,pre_include="ace\pre.h" -Wb,post_include="ace\post.h" -I ..\..\..\.. -I ..\..\..\..\ciao -I ..\..\..\..\.. -I ..\..\..\..\..\orbsvcs\orbsvcs -Ge 1 -Sc $(InputPath)
-
-# End Custom Build
-
-!ENDIF
-
-# End Source File
-# End Group
-# End Target
-# End Project
diff --git a/TAO/CIAO/examples/OEP/BasicSP/BMClosedED/BMClosedED_stub_export.h b/TAO/CIAO/examples/OEP/BasicSP/BMClosedED/BMClosedED_stub_export.h
deleted file mode 100644
index a2511681640..00000000000
--- a/TAO/CIAO/examples/OEP/BasicSP/BMClosedED/BMClosedED_stub_export.h
+++ /dev/null
@@ -1,50 +0,0 @@
-
-// -*- C++ -*-
-// $Id$
-// Definition for Win32 Export directives.
-// This file is generated automatically by generate_export_file.pl BMCLOSEDED_STUB
-// ------------------------------
-#ifndef BMCLOSEDED_STUB_EXPORT_H
-#define BMCLOSEDED_STUB_EXPORT_H
-
-#include "ace/config-all.h"
-
-#if !defined (BMCLOSEDED_STUB_HAS_DLL)
-# define BMCLOSEDED_STUB_HAS_DLL 1
-#endif /* ! BMCLOSEDED_STUB_HAS_DLL */
-
-#if defined (BMCLOSEDED_STUB_HAS_DLL) && (BMCLOSEDED_STUB_HAS_DLL == 1)
-# if defined (BMCLOSEDED_STUB_BUILD_DLL)
-# define BMCLOSEDED_STUB_Export ACE_Proper_Export_Flag
-# define BMCLOSEDED_STUB_SINGLETON_DECLARATION(T) ACE_EXPORT_SINGLETON_DECLARATION (T)
-# define BMCLOSEDED_STUB_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_EXPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
-# else /* BMCLOSEDED_STUB_BUILD_DLL */
-# define BMCLOSEDED_STUB_Export ACE_Proper_Import_Flag
-# define BMCLOSEDED_STUB_SINGLETON_DECLARATION(T) ACE_IMPORT_SINGLETON_DECLARATION (T)
-# define BMCLOSEDED_STUB_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_IMPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
-# endif /* BMCLOSEDED_STUB_BUILD_DLL */
-#else /* BMCLOSEDED_STUB_HAS_DLL == 1 */
-# define BMCLOSEDED_STUB_Export
-# define BMCLOSEDED_STUB_SINGLETON_DECLARATION(T)
-# define BMCLOSEDED_STUB_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
-#endif /* BMCLOSEDED_STUB_HAS_DLL == 1 */
-
-// Set BMCLOSEDED_STUB_NTRACE = 0 to turn on library specific tracing even if
-// tracing is turned off for ACE.
-#if !defined (BMCLOSEDED_STUB_NTRACE)
-# if (ACE_NTRACE == 1)
-# define BMCLOSEDED_STUB_NTRACE 1
-# else /* (ACE_NTRACE == 1) */
-# define BMCLOSEDED_STUB_NTRACE 0
-# endif /* (ACE_NTRACE == 1) */
-#endif /* !BMCLOSEDED_STUB_NTRACE */
-
-#if (BMCLOSEDED_STUB_NTRACE == 1)
-# define BMCLOSEDED_STUB_TRACE(X)
-#else /* (BMCLOSEDED_STUB_NTRACE == 1) */
-# define BMCLOSEDED_STUB_TRACE(X) ACE_TRACE_IMPL(X)
-#endif /* (BMCLOSEDED_STUB_NTRACE == 1) */
-
-#endif /* BMCLOSEDED_STUB_EXPORT_H */
-
-// End of auto generated file.
diff --git a/TAO/CIAO/examples/OEP/BasicSP/BMClosedED/BMClosedED_svnt.dsp b/TAO/CIAO/examples/OEP/BasicSP/BMClosedED/BMClosedED_svnt.dsp
deleted file mode 100644
index 998657fa307..00000000000
--- a/TAO/CIAO/examples/OEP/BasicSP/BMClosedED/BMClosedED_svnt.dsp
+++ /dev/null
@@ -1,205 +0,0 @@
-# Microsoft Developer Studio Project File - Name="BMClosedED_svnt DLL" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 6.00
-# ** DO NOT EDIT **
-
-# TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102
-
-CFG=BMClosedED_svnt DLL - Win32 Debug
-!MESSAGE This is not a valid makefile. To build this project using NMAKE,
-!MESSAGE use the Export Makefile command and run
-!MESSAGE
-!MESSAGE NMAKE /f "BMClosedED_svnt.mak".
-!MESSAGE
-!MESSAGE You can specify a configuration when running NMAKE
-!MESSAGE by defining the macro CFG on the command line. For example:
-!MESSAGE
-!MESSAGE NMAKE /f "BMClosedED_svnt.mak" CFG="BMClosedED_svnt DLL - Win32 Debug"
-!MESSAGE
-!MESSAGE Possible choices for configuration are:
-!MESSAGE
-!MESSAGE "BMClosedED_svnt DLL - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library")
-!MESSAGE "BMClosedED_svnt DLL - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library")
-!MESSAGE
-
-# Begin Project
-# PROP AllowPerConfigDependencies 0
-# PROP Scc_ProjName ""
-# PROP Scc_LocalPath ""
-CPP=cl.exe
-MTL=midl.exe
-RSC=rc.exe
-
-!IF "$(CFG)" == "BMClosedED_svnt DLL - Win32 Release"
-
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "."
-# PROP Intermediate_Dir "Release\BMClosedED_svnt"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD CPP /nologo /MD /W3 /GR /GX /Zi /O2 /I "..\..\..\..\..\orbsvcs\orbsvcs" /I "..\..\..\.." /I "..\..\..\..\ciao" /I "..\..\..\..\.." /I "..\..\..\..\..\tao" /I "..\..\..\..\..\.." /D NDEBUG=1 /D WIN32=1 /D _WINDOWS=1 /D BMCLOSEDED_SVNT_BUILD_DLL=1 /FD /c
-# SUBTRACT CPP /YX
-# ADD BASE RSC /l 0x409
-# ADD RSC /l 0x409 /i "..\..\..\..\..\orbsvcs\orbsvcs" /i "..\..\..\.." /i "..\..\..\..\ciao" /i "..\..\..\..\.." /i "..\..\..\..\..\tao" /i "..\..\..\..\..\.." /d NDEBUG=1
-BSC32=bscmake.exe
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 /machine:IX86
-# ADD LINK32 BMClosedED_stub.lib BasicSP_stub.lib BasicSP_svnt.lib CIAO_Server.lib TAO_PortableServer.lib TAO_IORInterceptor.lib TAO_ObjRefTemplate.lib TAO_Security.lib CIAO_Container.lib TAO.lib TAO_IFR_Client.lib TAO_Valuetype.lib CIAO_Client.lib ACE.lib /nologo /subsystem:windows /dll /pdb:"..\..\..\..\..\..\bin\BMClosedED_svnt.pdb" /machine:I386 /out:"..\..\..\..\..\..\bin\BMClosedED_svnt.dll" /libpath:".." /libpath:"..\..\..\..\..\tao\PortableServer" /libpath:"..\..\..\..\..\tao\IORInterceptor" /libpath:"..\..\..\..\..\tao\ObjRefTemplate" /libpath:"..\..\..\..\..\orbsvcs\orbsvcs" /libpath:"..\..\..\..\..\tao\IFR_Client" /libpath:"..\..\..\..\..\tao\Valuetype" /libpath:"..\..\..\..\ciao" /libpath:"..\..\..\..\..\tao" /libpath:"..\..\..\..\..\..\ace" /version:1.3.1
-# SUBTRACT LINK32 /pdb:none
-
-!ELSEIF "$(CFG)" == "BMClosedED_svnt DLL - Win32 Debug"
-
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "."
-# PROP Intermediate_Dir "Debug\BMClosedED_svnt"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD CPP /nologo /MDd /W3 /Gm /GR /GX /Zi /Od /Gy /I "..\..\..\..\..\orbsvcs\orbsvcs" /I "..\..\..\.." /I "..\..\..\..\ciao" /I "..\..\..\..\.." /I "..\..\..\..\..\tao" /I "..\..\..\..\..\.." /D _DEBUG=1 /D WIN32=1 /D _WINDOWS=1 /D BMCLOSEDED_SVNT_BUILD_DLL=1 /FD /c
-# SUBTRACT CPP /Fr /YX
-# ADD BASE RSC /l 0x409
-# ADD RSC /l 0x409 /i "..\..\..\..\..\orbsvcs\orbsvcs" /i "..\..\..\.." /i "..\..\..\..\ciao" /i "..\..\..\..\.." /i "..\..\..\..\..\tao" /i "..\..\..\..\..\.." /d _DEBUG=1
-BSC32=bscmake.exe
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 /machine:IX86
-# ADD LINK32 BMClosedED_stubd.lib BasicSP_stubd.lib BasicSP_svntd.lib CIAO_Serverd.lib TAO_PortableServerd.lib TAO_IORInterceptord.lib TAO_ObjRefTemplated.lib TAO_Securityd.lib CIAO_Containerd.lib TAOd.lib TAO_IFR_Clientd.lib TAO_Valuetyped.lib CIAO_Clientd.lib ACEd.lib /nologo /subsystem:windows /dll /incremental:no /pdb:"..\..\..\..\..\..\bin\BMClosedED_svntd.pdb" /debug /machine:I386 /out:"..\..\..\..\..\..\bin\BMClosedED_svntd.dll" /libpath:".." /libpath:"..\..\..\..\..\tao\PortableServer" /libpath:"..\..\..\..\..\tao\IORInterceptor" /libpath:"..\..\..\..\..\tao\ObjRefTemplate" /libpath:"..\..\..\..\..\orbsvcs\orbsvcs" /libpath:"..\..\..\..\..\tao\IFR_Client" /libpath:"..\..\..\..\..\tao\Valuetype" /libpath:"..\..\..\..\ciao" /libpath:"..\..\..\..\..\tao" /libpath:"..\..\..\..\..\..\ace" /version:1.3.1
-# SUBTRACT LINK32 /pdb:none
-
-!ENDIF
-
-# Begin Target
-
-# Name "BMClosedED_svnt DLL - Win32 Release"
-# Name "BMClosedED_svnt DLL - Win32 Debug"
-# Begin Group "Source Files"
-
-# PROP Default_Filter "cpp;cxx;c"
-# Begin Source File
-
-SOURCE=.\BMClosedED_svnt.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\BMClosedEDEC.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\BMClosedEDS.cpp
-# End Source File
-# End Group
-# Begin Group "Header Files"
-
-# PROP Default_Filter "h;hpp;hxx;hh"
-# Begin Source File
-
-SOURCE=.\BMClosedED_svnt.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\BMClosedEDEC.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\BMClosedEDS.h
-# End Source File
-# End Group
-# Begin Group "Inline Files"
-
-# PROP Default_Filter "i;inl"
-# Begin Source File
-
-SOURCE=.\BMClosedEDEC.i
-# End Source File
-# Begin Source File
-
-SOURCE=.\BMClosedEDS.i
-# End Source File
-# End Group
-# Begin Group "IDL Files"
-
-# PROP Default_Filter "idl"
-# Begin Source File
-
-SOURCE=.\BMClosedED.cidl
-
-!IF "$(CFG)" == "BMClosedED_svnt DLL - Win32 Release"
-
-USERDEP__BMCLO="..\..\..\..\..\..\bin\cidlc.exe"
-# Begin Custom Build - Invoking CIAO CIDL Compiler on $(InputPath)
-InputPath=.\BMClosedED.cidl
-InputName=BMClosedED
-
-BuildCmds= \
- ..\..\..\..\bin\cidlc --lem-file-suffix "E.idl" -- $(InputName).cidl
-
-"$(InputName)E.idl" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-
-"$(InputName)_svnt.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-
-"$(InputName)_svnt.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-# End Custom Build
-
-!ELSEIF "$(CFG)" == "BMClosedED_svnt DLL - Win32 Debug"
-
-USERDEP__BMCLO="..\..\..\..\..\..\bin\cidlc.exe"
-# Begin Custom Build - Invoking CIAO CIDL Compiler on $(InputPath)
-InputPath=.\BMClosedED.cidl
-InputName=BMClosedED
-
-BuildCmds= \
- ..\..\..\..\bin\cidlc --lem-file-suffix "E.idl" -- $(InputName).cidl
-
-"$(InputName)E.idl" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-
-"$(InputName)_svnt.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-
-"$(InputName)_svnt.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-# End Custom Build
-
-!ENDIF
-
-# End Source File
-# Begin Source File
-
-SOURCE=.\BMClosedEDE.idl
-
-!IF "$(CFG)" == "BMClosedED_svnt DLL - Win32 Release"
-
-# PROP Ignore_Default_Tool 1
-USERDEP__BMCLOS="..\..\..\..\..\..\bin\tao_idl.exe"
-# Begin Custom Build - Invoking TAO IDL Compiler on $(InputPath)
-InputPath=.\BMClosedEDE.idl
-InputName=BMClosedEDE
-
-"$(InputName)C.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- ..\..\..\..\..\..\bin\tao_idl -o . -Wb,export_macro=BMCLOSEDED_SVNT_Export -Wb,export_include=BMClosedED_svnt_export.h -I..\..\..\..\.. -I..\..\..\..\..\CIAO\ciao -Wb,pre_include="ace\pre.h" -Wb,post_include="ace\post.h" -I ..\..\..\.. -I ..\..\..\..\.. -I ..\..\..\..\..\orbsvcs\orbsvcs -Ge 1 -Sc $(InputPath)
-
-# End Custom Build
-
-!ELSEIF "$(CFG)" == "BMClosedED_svnt DLL - Win32 Debug"
-
-# PROP Ignore_Default_Tool 1
-USERDEP__BMCLOS="..\..\..\..\..\..\bin\tao_idl.exe"
-# Begin Custom Build - Invoking TAO IDL Compiler on $(InputPath)
-InputPath=.\BMClosedEDE.idl
-InputName=BMClosedEDE
-
-"$(InputName)C.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- ..\..\..\..\..\..\bin\tao_idl -o . -Wb,export_macro=BMCLOSEDED_SVNT_Export -Wb,export_include=BMClosedED_svnt_export.h -I..\..\..\..\.. -I..\..\..\..\..\CIAO\ciao -Wb,pre_include="ace\pre.h" -Wb,post_include="ace\post.h" -I ..\..\..\.. -I ..\..\..\..\.. -I ..\..\..\..\..\orbsvcs\orbsvcs -Ge 1 -Sc $(InputPath)
-
-# End Custom Build
-
-!ENDIF
-
-# End Source File
-# End Group
-# End Target
-# End Project
diff --git a/TAO/CIAO/examples/OEP/BasicSP/BMClosedED/BMClosedED_svnt_export.h b/TAO/CIAO/examples/OEP/BasicSP/BMClosedED/BMClosedED_svnt_export.h
deleted file mode 100644
index bcabbe1023e..00000000000
--- a/TAO/CIAO/examples/OEP/BasicSP/BMClosedED/BMClosedED_svnt_export.h
+++ /dev/null
@@ -1,50 +0,0 @@
-
-// -*- C++ -*-
-// $Id$
-// Definition for Win32 Export directives.
-// This file is generated automatically by generate_export_file.pl BMCLOSEDED_SVNT
-// ------------------------------
-#ifndef BMCLOSEDED_SVNT_EXPORT_H
-#define BMCLOSEDED_SVNT_EXPORT_H
-
-#include "ace/config-all.h"
-
-#if !defined (BMCLOSEDED_SVNT_HAS_DLL)
-# define BMCLOSEDED_SVNT_HAS_DLL 1
-#endif /* ! BMCLOSEDED_SVNT_HAS_DLL */
-
-#if defined (BMCLOSEDED_SVNT_HAS_DLL) && (BMCLOSEDED_SVNT_HAS_DLL == 1)
-# if defined (BMCLOSEDED_SVNT_BUILD_DLL)
-# define BMCLOSEDED_SVNT_Export ACE_Proper_Export_Flag
-# define BMCLOSEDED_SVNT_SINGLETON_DECLARATION(T) ACE_EXPORT_SINGLETON_DECLARATION (T)
-# define BMCLOSEDED_SVNT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_EXPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
-# else /* BMCLOSEDED_SVNT_BUILD_DLL */
-# define BMCLOSEDED_SVNT_Export ACE_Proper_Import_Flag
-# define BMCLOSEDED_SVNT_SINGLETON_DECLARATION(T) ACE_IMPORT_SINGLETON_DECLARATION (T)
-# define BMCLOSEDED_SVNT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_IMPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
-# endif /* BMCLOSEDED_SVNT_BUILD_DLL */
-#else /* BMCLOSEDED_SVNT_HAS_DLL == 1 */
-# define BMCLOSEDED_SVNT_Export
-# define BMCLOSEDED_SVNT_SINGLETON_DECLARATION(T)
-# define BMCLOSEDED_SVNT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
-#endif /* BMCLOSEDED_SVNT_HAS_DLL == 1 */
-
-// Set BMCLOSEDED_SVNT_NTRACE = 0 to turn on library specific tracing even if
-// tracing is turned off for ACE.
-#if !defined (BMCLOSEDED_SVNT_NTRACE)
-# if (ACE_NTRACE == 1)
-# define BMCLOSEDED_SVNT_NTRACE 1
-# else /* (ACE_NTRACE == 1) */
-# define BMCLOSEDED_SVNT_NTRACE 0
-# endif /* (ACE_NTRACE == 1) */
-#endif /* !BMCLOSEDED_SVNT_NTRACE */
-
-#if (BMCLOSEDED_SVNT_NTRACE == 1)
-# define BMCLOSEDED_SVNT_TRACE(X)
-#else /* (BMCLOSEDED_SVNT_NTRACE == 1) */
-# define BMCLOSEDED_SVNT_TRACE(X) ACE_TRACE_IMPL(X)
-#endif /* (BMCLOSEDED_SVNT_NTRACE == 1) */
-
-#endif /* BMCLOSEDED_SVNT_EXPORT_H */
-
-// End of auto generated file.
diff --git a/TAO/CIAO/examples/OEP/BasicSP/BMClosedED/config b/TAO/CIAO/examples/OEP/BasicSP/BMClosedED/config
deleted file mode 100644
index a122025755d..00000000000
--- a/TAO/CIAO/examples/OEP/BasicSP/BMClosedED/config
+++ /dev/null
@@ -1 +0,0 @@
-BMClosedED_exec|createBMClosedEDHome_Impl|BMClosedED_svnt|createBMClosedEDHome_Servant
diff --git a/TAO/CIAO/examples/OEP/BasicSP/BMDevice/BMDevice.cidl b/TAO/CIAO/examples/OEP/BasicSP/BMDevice/BMDevice.cidl
deleted file mode 100644
index 30026cf8c13..00000000000
--- a/TAO/CIAO/examples/OEP/BasicSP/BMDevice/BMDevice.cidl
+++ /dev/null
@@ -1,19 +0,0 @@
-//$Id$
-
-#ifndef BMDEVICE_CIDL
-#define BMDEVICE_CIDL
-
-#include "BMDevice.idl"
-
-composition session BMDevice_Impl
-{
- home executor BMDeviceHome_Exec
- {
- implements BasicSP::BMDeviceHome;
- manages BMDevice_Exec;
- };
-};
-
-#endif /* BMDEVICE_CIDL */
-
-
diff --git a/TAO/CIAO/examples/OEP/BasicSP/BMDevice/BMDevice.idl b/TAO/CIAO/examples/OEP/BasicSP/BMDevice/BMDevice.idl
deleted file mode 100644
index 86477c12f8b..00000000000
--- a/TAO/CIAO/examples/OEP/BasicSP/BMDevice/BMDevice.idl
+++ /dev/null
@@ -1,30 +0,0 @@
-//$Id$
-//=============================================================================
-/**
- * @file BMDevice.idl
- *
- * Definition of the BMDevice component
- *
- * @author Balachandran Natarajan <bala@dre.vanderbilt.edu>
- */
-//=============================================================================
-#ifndef CIAO_BMDEVICE_IDL
-#define CIAO_BMDEVICE_IDL
-
-#include "../BasicSP.idl"
-
-module BasicSP
-{
- component BMDevice
- {
- provides ReadData data_read;
- publishes DataAvailable data_available;
- consumes TimeOut timeout;
- };
-
- home BMDeviceHome manages BMDevice
- {
- };
-};
-
-#endif /*CIAO_BMDEVICE_IDL */
diff --git a/TAO/CIAO/examples/OEP/BasicSP/BMDevice/BMDeviceEI.idl b/TAO/CIAO/examples/OEP/BasicSP/BMDevice/BMDeviceEI.idl
deleted file mode 100644
index 18a4ad9eaa4..00000000000
--- a/TAO/CIAO/examples/OEP/BasicSP/BMDevice/BMDeviceEI.idl
+++ /dev/null
@@ -1,30 +0,0 @@
-// $Id$
-//=============================================================================
-/**
- * @file BMDeviceEI.idl
- *
- * Definition of the BMDevice component implementation.
- *
- * @author Nanbor Wang <nanbor@cs.wustl.edu>
- */
-//=============================================================================
-#ifndef CIAO_BMDEVICEEI_IDL
-#define CIAO_BMDEVICEEI_IDL
-
-#include "BMDeviceE.idl"
-
-module BasicSP
-{
- /**
- * @interface BMDevice_Exec
- */
- local interface BMDevice_Exec :
- CCM_BMDevice,
- CCM_ReadData,
- Components::SessionComponent
- {
- };
-
-};
-
-#endif /* CIAO_BMDEVICEEI_IDL */
diff --git a/TAO/CIAO/examples/OEP/BasicSP/BMDevice/BMDevice_exec.cpp b/TAO/CIAO/examples/OEP/BasicSP/BMDevice/BMDevice_exec.cpp
deleted file mode 100644
index 77b66a9cb11..00000000000
--- a/TAO/CIAO/examples/OEP/BasicSP/BMDevice/BMDevice_exec.cpp
+++ /dev/null
@@ -1,125 +0,0 @@
-// $Id$
-
-#include "BMDevice_exec.h"
-
-#define DISPLACEMENT 256
-
-/// Default constructor.
-MyImpl::BMDevice_exec_i::BMDevice_exec_i (void)
- : str_ ("BM DEVICE DATA")
-{
-
-}
-
-/// Default destructor.
-MyImpl::BMDevice_exec_i::~BMDevice_exec_i ()
-{
-}
-
-BasicSP::CCM_ReadData_ptr
-MyImpl::BMDevice_exec_i::get_data_read (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- return BasicSP::CCM_ReadData::_duplicate (this);
-}
-
-void
-MyImpl::BMDevice_exec_i::push_timeout (BasicSP::TimeOut *
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- // Nitify others
- BasicSP::DataAvailable_var event = new OBV_BasicSP::DataAvailable;
-
- ACE_DEBUG ((LM_DEBUG,
- "BMDevice, received a timeout from EC \n"));
-
- this->context_->push_data_available (event
- ACE_ENV_ARG_PARAMETER);
-}
-
-char *
-MyImpl::BMDevice_exec_i::data_read (ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- return this->str_;
-}
-
-char *
-MyImpl::BMDevice_exec_i::get_data (ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- return this->data_read (ACE_ENV_SINGLE_ARG_PARAMETER);
-}
-
-// Operations from Components::SessionComponent
-void
-MyImpl::BMDevice_exec_i::set_session_context (Components::SessionContext_ptr ctx
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::CCMException))
-{
- ACE_DEBUG ((LM_DEBUG, "MyImpl::BMDevice_exec_i::set_session_context\n"));
-
- this->context_ =
- BasicSP::CCM_BMDevice_Context::_narrow (ctx
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK;
-
- if (CORBA::is_nil (this->context_.in ()))
- ACE_THROW (CORBA::INTERNAL ());
- // Urm, we actually discard exceptions thown from this operation.
-}
-
-void
-MyImpl::BMDevice_exec_i::ccm_activate (ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::CCMException))
-{
- ACE_DEBUG ((LM_DEBUG, "MyImpl::BMDevice_exec_i::ccm_activate\n"));
-}
-
-void
-MyImpl::BMDevice_exec_i::ccm_passivate (ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::CCMException))
-{
- ACE_DEBUG ((LM_DEBUG, "MyImpl::BMDevice_exec_i::ccm_passivate\n"));
-}
-
-void
-MyImpl::BMDevice_exec_i::ccm_remove (ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::CCMException))
-{
- ACE_DEBUG ((LM_DEBUG, "MyImpl::BMDevice_exec_i::ccm_remove\n"));
-}
-
-/// Default ctor.
-MyImpl::BMDeviceHome_exec_i::BMDeviceHome_exec_i ()
-{
-}
-
-/// Default dtor.
-MyImpl::BMDeviceHome_exec_i::~BMDeviceHome_exec_i ()
-{
-}
-
-// Explicit home operations.
-
-// Implicit home operations.
-
-::Components::EnterpriseComponent_ptr
-MyImpl::BMDeviceHome_exec_i::create (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::CCMException))
-{
- return new MyImpl::BMDevice_exec_i;
-}
-
-
-extern "C" BMDEVICE_EXEC_Export ::Components::HomeExecutorBase_ptr
-createBMDeviceHome_Impl (void)
-{
- return new MyImpl::BMDeviceHome_exec_i;
-}
diff --git a/TAO/CIAO/examples/OEP/BasicSP/BMDevice/BMDevice_exec.dsp b/TAO/CIAO/examples/OEP/BasicSP/BMDevice/BMDevice_exec.dsp
deleted file mode 100644
index 6035bdab37f..00000000000
--- a/TAO/CIAO/examples/OEP/BasicSP/BMDevice/BMDevice_exec.dsp
+++ /dev/null
@@ -1,158 +0,0 @@
-# Microsoft Developer Studio Project File - Name="BMDevice_exec DLL" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 6.00
-# ** DO NOT EDIT **
-
-# TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102
-
-CFG=BMDevice_exec DLL - Win32 Debug
-!MESSAGE This is not a valid makefile. To build this project using NMAKE,
-!MESSAGE use the Export Makefile command and run
-!MESSAGE
-!MESSAGE NMAKE /f "BMDevice_exec.mak".
-!MESSAGE
-!MESSAGE You can specify a configuration when running NMAKE
-!MESSAGE by defining the macro CFG on the command line. For example:
-!MESSAGE
-!MESSAGE NMAKE /f "BMDevice_exec.mak" CFG="BMDevice_exec DLL - Win32 Debug"
-!MESSAGE
-!MESSAGE Possible choices for configuration are:
-!MESSAGE
-!MESSAGE "BMDevice_exec DLL - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library")
-!MESSAGE "BMDevice_exec DLL - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library")
-!MESSAGE
-
-# Begin Project
-# PROP AllowPerConfigDependencies 0
-# PROP Scc_ProjName ""
-# PROP Scc_LocalPath ""
-CPP=cl.exe
-MTL=midl.exe
-RSC=rc.exe
-
-!IF "$(CFG)" == "BMDevice_exec DLL - Win32 Release"
-
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "."
-# PROP Intermediate_Dir "Release\BMDevice_exec"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD CPP /nologo /MD /W3 /GR /GX /Zi /O2 /I "..\..\..\..\..\orbsvcs\orbsvcs" /I "..\..\..\.." /I "..\..\..\..\ciao" /I "..\..\..\..\.." /I "..\..\..\..\..\tao" /I "..\..\..\..\..\.." /D NDEBUG=1 /D WIN32=1 /D _WINDOWS=1 /D BMDEVICE_EXEC_BUILD_DLL=1 /FD /c
-# SUBTRACT CPP /YX
-# ADD BASE RSC /l 0x409
-# ADD RSC /l 0x409 /i "..\..\..\..\..\orbsvcs\orbsvcs" /i "..\..\..\.." /i "..\..\..\..\ciao" /i "..\..\..\..\.." /i "..\..\..\..\..\tao" /i "..\..\..\..\..\.." /d NDEBUG=1
-BSC32=bscmake.exe
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 /machine:IX86
-# ADD LINK32 advapi32.lib user32.lib BMDevice_stub.lib BMDevice_svnt.lib BasicSP_stub.lib BasicSP_svnt.lib CIAO_Server.lib TAO_PortableServer.lib TAO_IORInterceptor.lib TAO_ObjRefTemplate.lib TAO_Security.lib CIAO_Container.lib TAO.lib TAO_IFR_Client.lib TAO_Valuetype.lib CIAO_Client.lib ACE.lib /nologo /subsystem:windows /dll /pdb:"..\..\..\..\..\..\bin\BMDevice_exec.pdb" /machine:I386 /out:"..\..\..\..\..\..\bin\BMDevice_exec.dll" /libpath:".." /libpath:"..\..\..\..\..\tao\PortableServer" /libpath:"..\..\..\..\..\tao\IORInterceptor" /libpath:"..\..\..\..\..\tao\ObjRefTemplate" /libpath:"..\..\..\..\..\orbsvcs\orbsvcs" /libpath:"..\..\..\..\..\tao\IFR_Client" /libpath:"..\..\..\..\..\tao\Valuetype" /libpath:"..\..\..\..\ciao" /libpath:"..\..\..\..\..\tao" /libpath:"..\..\..\..\..\..\ace" /version:1.3.1
-# SUBTRACT LINK32 /pdb:none
-
-!ELSEIF "$(CFG)" == "BMDevice_exec DLL - Win32 Debug"
-
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "."
-# PROP Intermediate_Dir "Debug\BMDevice_exec"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD CPP /nologo /MDd /W3 /Gm /GR /GX /Zi /Od /Gy /I "..\..\..\..\..\orbsvcs\orbsvcs" /I "..\..\..\.." /I "..\..\..\..\ciao" /I "..\..\..\..\.." /I "..\..\..\..\..\tao" /I "..\..\..\..\..\.." /D _DEBUG=1 /D WIN32=1 /D _WINDOWS=1 /D BMDEVICE_EXEC_BUILD_DLL=1 /FD /c
-# SUBTRACT CPP /Fr /YX
-# ADD BASE RSC /l 0x409
-# ADD RSC /l 0x409 /i "..\..\..\..\..\orbsvcs\orbsvcs" /i "..\..\..\.." /i "..\..\..\..\ciao" /i "..\..\..\..\.." /i "..\..\..\..\..\tao" /i "..\..\..\..\..\.." /d _DEBUG=1
-BSC32=bscmake.exe
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 /machine:IX86
-# ADD LINK32 advapi32.lib user32.lib BMDevice_stubd.lib BMDevice_svntd.lib BasicSP_stubd.lib BasicSP_svntd.lib CIAO_Serverd.lib TAO_PortableServerd.lib TAO_IORInterceptord.lib TAO_ObjRefTemplated.lib TAO_Securityd.lib CIAO_Containerd.lib TAOd.lib TAO_IFR_Clientd.lib TAO_Valuetyped.lib CIAO_Clientd.lib ACEd.lib /nologo /subsystem:windows /dll /incremental:no /pdb:"..\..\..\..\..\..\bin\BMDevice_execd.pdb" /debug /machine:I386 /out:"..\..\..\..\..\..\bin\BMDevice_execd.dll" /libpath:".." /libpath:"..\..\..\..\..\tao\PortableServer" /libpath:"..\..\..\..\..\tao\IORInterceptor" /libpath:"..\..\..\..\..\tao\ObjRefTemplate" /libpath:"..\..\..\..\..\orbsvcs\orbsvcs" /libpath:"..\..\..\..\..\tao\IFR_Client" /libpath:"..\..\..\..\..\tao\Valuetype" /libpath:"..\..\..\..\ciao" /libpath:"..\..\..\..\..\tao" /libpath:"..\..\..\..\..\..\ace" /version:1.3.1
-# SUBTRACT LINK32 /pdb:none
-
-!ENDIF
-
-# Begin Target
-
-# Name "BMDevice_exec DLL - Win32 Release"
-# Name "BMDevice_exec DLL - Win32 Debug"
-# Begin Group "Source Files"
-
-# PROP Default_Filter "cpp;cxx;c"
-# Begin Source File
-
-SOURCE=.\BMDevice_exec.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\BMDeviceEIC.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\BMDeviceES.cpp
-# End Source File
-# End Group
-# Begin Group "Header Files"
-
-# PROP Default_Filter "h;hpp;hxx;hh"
-# Begin Source File
-
-SOURCE=.\BMDevice_exec.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\BMDeviceEIC.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\BMDeviceES.h
-# End Source File
-# End Group
-# Begin Group "Inline Files"
-
-# PROP Default_Filter "i;inl"
-# Begin Source File
-
-SOURCE=.\BMDeviceEIC.i
-# End Source File
-# Begin Source File
-
-SOURCE=.\BMDeviceS.i
-# End Source File
-# End Group
-# Begin Group "IDL Files"
-
-# PROP Default_Filter "idl"
-# Begin Source File
-
-SOURCE=.\BMDeviceEI.idl
-
-!IF "$(CFG)" == "BMDevice_exec DLL - Win32 Release"
-
-# PROP Ignore_Default_Tool 1
-USERDEP__BMDEV="..\..\..\..\..\..\bin\tao_idl.exe"
-# Begin Custom Build - Invoking TAO IDL Compiler on $(InputPath)
-InputPath=.\BMDeviceEI.idl
-InputName=BMDeviceEI
-
-"$(InputName)C.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- ..\..\..\..\..\..\bin\tao_idl -o . -Wb,export_macro=BMDEVICE_EXEC_Export -Wb,export_include=BMDevice_exec_export.h -I..\..\..\..\.. -I..\..\..\..\..\CIAO\ciao -Wb,pre_include="ace\pre.h" -Wb,post_include="ace\post.h" -I ..\..\..\.. -I ..\..\..\..\.. -I ..\..\..\..\..\orbsvcs\orbsvcs -Ge 1 -Sc $(InputPath)
-
-# End Custom Build
-
-!ELSEIF "$(CFG)" == "BMDevice_exec DLL - Win32 Debug"
-
-# PROP Ignore_Default_Tool 1
-USERDEP__BMDEV="..\..\..\..\..\..\bin\tao_idl.exe"
-# Begin Custom Build - Invoking TAO IDL Compiler on $(InputPath)
-InputPath=.\BMDeviceEI.idl
-InputName=BMDeviceEI
-
-"$(InputName)C.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- ..\..\..\..\..\..\bin\tao_idl -o . -Wb,export_macro=BMDEVICE_EXEC_Export -Wb,export_include=BMDevice_exec_export.h -I..\..\..\..\.. -I..\..\..\..\..\CIAO\ciao -Wb,pre_include="ace\pre.h" -Wb,post_include="ace\post.h" -I ..\..\..\.. -I ..\..\..\..\.. -I ..\..\..\..\..\orbsvcs\orbsvcs -Ge 1 -Sc $(InputPath)
-
-# End Custom Build
-
-!ENDIF
-
-# End Source File
-# End Group
-# End Target
-# End Project
diff --git a/TAO/CIAO/examples/OEP/BasicSP/BMDevice/BMDevice_exec.h b/TAO/CIAO/examples/OEP/BasicSP/BMDevice/BMDevice_exec.h
deleted file mode 100644
index d65cbca8b9b..00000000000
--- a/TAO/CIAO/examples/OEP/BasicSP/BMDevice/BMDevice_exec.h
+++ /dev/null
@@ -1,122 +0,0 @@
-// $Id$
-
-// ================================================================
-/**
- * @file BMDevice_exec.h
- *
- * Header file for the actual BMDevice and BMDeviceHome component
- * implementations. These classes are the implementations of local
- * interfaces defined in BMDeviceEI.idl.
- *
- * @author Balachandran Natarajan <bala@dre.vanderbilt.edu>
- */
-// ================================================================
-
-#ifndef CIAO_BMDEVICE_EXEC_H
-#define CIAO_BMDEVICE_EXEC_H
-
-#include "BMDeviceEIC.h"
-#include "tao/LocalObject.h"
-
-namespace MyImpl
-{
- /**
- * @class BMDEVICE_exec_i
- *
- * An example RateGen executor implementation class.
- */
- class BMDEVICE_EXEC_Export BMDevice_exec_i :
- public virtual BasicSP::BMDevice_Exec,
- public virtual TAO_Local_RefCounted_Object
- {
- public:
- /// Default constructor.
- BMDevice_exec_i ();
-
- /// Default destructor.
- ~BMDevice_exec_i ();
-
- // Operations from BasicSP::BMDevice
-
- virtual BasicSP::CCM_ReadData_ptr
- get_data_read (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- virtual void
- push_timeout (BasicSP::TimeOut *ev
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- // Operations from BasicSP::position
-
- virtual char *
- data_read (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- virtual char *
- get_data (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- // Operations from Components::SessionComponent
-
- virtual void
- set_session_context (Components::SessionContext_ptr ctx
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::CCMException));
-
- virtual void
- ccm_activate (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::CCMException));
-
- virtual void
- ccm_passivate (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::CCMException));
-
- virtual void
- ccm_remove (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::CCMException));
- protected:
- char *str_;
-
- /// Copmponent specific context
- BasicSP::CCM_BMDevice_Context_var context_;
- };
-
- /**
- * @class BMDeviceHome_exec_i
- *
- * BMDevice home executor implementation class.
- */
- class BMDEVICE_EXEC_Export BMDeviceHome_exec_i :
- public virtual BasicSP::CCM_BMDeviceHome,
- public virtual TAO_Local_RefCounted_Object
- {
- public:
- /// Default ctor.
- BMDeviceHome_exec_i ();
-
- /// Default dtor.
- ~BMDeviceHome_exec_i ();
-
- // Explicit home operations.
-
- // Implicit home operations.
-
- virtual ::Components::EnterpriseComponent_ptr
- create (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::CCMException));
- };
-
-}
-
-// Executor DLL entry point. CIAO's deployment and assembly framework
-// invokes this function on the resulting DLL to get the home executor.
-extern "C" BMDEVICE_EXEC_Export ::Components::HomeExecutorBase_ptr
-createBMDeviceHome_Impl (void);
-
-#endif /* CIAO_BMDEVICE_EXEC_H*/
diff --git a/TAO/CIAO/examples/OEP/BasicSP/BMDevice/BMDevice_exec_export.h b/TAO/CIAO/examples/OEP/BasicSP/BMDevice/BMDevice_exec_export.h
deleted file mode 100644
index 0aa2a34ba17..00000000000
--- a/TAO/CIAO/examples/OEP/BasicSP/BMDevice/BMDevice_exec_export.h
+++ /dev/null
@@ -1,50 +0,0 @@
-
-// -*- C++ -*-
-// $Id$
-// Definition for Win32 Export directives.
-// This file is generated automatically by generate_export_file.pl BMDEVICE_EXEC
-// ------------------------------
-#ifndef BMDEVICE_EXEC_EXPORT_H
-#define BMDEVICE_EXEC_EXPORT_H
-
-#include "ace/config-all.h"
-
-#if !defined (BMDEVICE_EXEC_HAS_DLL)
-# define BMDEVICE_EXEC_HAS_DLL 1
-#endif /* ! BMDEVICE_EXEC_HAS_DLL */
-
-#if defined (BMDEVICE_EXEC_HAS_DLL) && (BMDEVICE_EXEC_HAS_DLL == 1)
-# if defined (BMDEVICE_EXEC_BUILD_DLL)
-# define BMDEVICE_EXEC_Export ACE_Proper_Export_Flag
-# define BMDEVICE_EXEC_SINGLETON_DECLARATION(T) ACE_EXPORT_SINGLETON_DECLARATION (T)
-# define BMDEVICE_EXEC_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_EXPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
-# else /* BMDEVICE_EXEC_BUILD_DLL */
-# define BMDEVICE_EXEC_Export ACE_Proper_Import_Flag
-# define BMDEVICE_EXEC_SINGLETON_DECLARATION(T) ACE_IMPORT_SINGLETON_DECLARATION (T)
-# define BMDEVICE_EXEC_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_IMPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
-# endif /* BMDEVICE_EXEC_BUILD_DLL */
-#else /* BMDEVICE_EXEC_HAS_DLL == 1 */
-# define BMDEVICE_EXEC_Export
-# define BMDEVICE_EXEC_SINGLETON_DECLARATION(T)
-# define BMDEVICE_EXEC_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
-#endif /* BMDEVICE_EXEC_HAS_DLL == 1 */
-
-// Set BMDEVICE_EXEC_NTRACE = 0 to turn on library specific tracing even if
-// tracing is turned off for ACE.
-#if !defined (BMDEVICE_EXEC_NTRACE)
-# if (ACE_NTRACE == 1)
-# define BMDEVICE_EXEC_NTRACE 1
-# else /* (ACE_NTRACE == 1) */
-# define BMDEVICE_EXEC_NTRACE 0
-# endif /* (ACE_NTRACE == 1) */
-#endif /* !BMDEVICE_EXEC_NTRACE */
-
-#if (BMDEVICE_EXEC_NTRACE == 1)
-# define BMDEVICE_EXEC_TRACE(X)
-#else /* (BMDEVICE_EXEC_NTRACE == 1) */
-# define BMDEVICE_EXEC_TRACE(X) ACE_TRACE_IMPL(X)
-#endif /* (BMDEVICE_EXEC_NTRACE == 1) */
-
-#endif /* BMDEVICE_EXEC_EXPORT_H */
-
-// End of auto generated file.
diff --git a/TAO/CIAO/examples/OEP/BasicSP/BMDevice/BMDevice_stub.dsp b/TAO/CIAO/examples/OEP/BasicSP/BMDevice/BMDevice_stub.dsp
deleted file mode 100644
index bb99d3f33e5..00000000000
--- a/TAO/CIAO/examples/OEP/BasicSP/BMDevice/BMDevice_stub.dsp
+++ /dev/null
@@ -1,170 +0,0 @@
-# Microsoft Developer Studio Project File - Name="BMDevice_stub DLL" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 6.00
-# ** DO NOT EDIT **
-
-# TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102
-
-CFG=BMDevice_stub DLL - Win32 Debug
-!MESSAGE This is not a valid makefile. To build this project using NMAKE,
-!MESSAGE use the Export Makefile command and run
-!MESSAGE
-!MESSAGE NMAKE /f "BMDevice_stub.mak".
-!MESSAGE
-!MESSAGE You can specify a configuration when running NMAKE
-!MESSAGE by defining the macro CFG on the command line. For example:
-!MESSAGE
-!MESSAGE NMAKE /f "BMDevice_stub.mak" CFG="BMDevice_stub DLL - Win32 Debug"
-!MESSAGE
-!MESSAGE Possible choices for configuration are:
-!MESSAGE
-!MESSAGE "BMDevice_stub DLL - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library")
-!MESSAGE "BMDevice_stub DLL - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library")
-!MESSAGE
-
-# Begin Project
-# PROP AllowPerConfigDependencies 0
-# PROP Scc_ProjName ""
-# PROP Scc_LocalPath ""
-CPP=cl.exe
-MTL=midl.exe
-RSC=rc.exe
-
-!IF "$(CFG)" == "BMDevice_stub DLL - Win32 Release"
-
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "."
-# PROP Intermediate_Dir "Release\BMDevice_stub"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD CPP /nologo /MD /W3 /GR /GX /Zi /O2 /I "..\..\..\..\..\orbsvcs\orbsvcs" /I "..\..\..\.." /I "..\..\..\..\ciao" /I "..\..\..\..\.." /I "..\..\..\..\..\tao" /I "..\..\..\..\..\.." /D NDEBUG=1 /D WIN32=1 /D _WINDOWS=1 /D BMDEVICE_STUB_BUILD_DLL=1 /FD /c
-# SUBTRACT CPP /YX
-# ADD BASE RSC /l 0x409
-# ADD RSC /l 0x409 /i "..\..\..\.." /i "..\..\..\..\ciao" /i "..\..\..\..\.." /i "..\..\..\..\..\tao" /i "..\..\..\..\..\.." /d NDEBUG=1
-BSC32=bscmake.exe
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 /machine:IX86
-# ADD LINK32 BasicSP_stub.lib TAO.lib TAO_Security.lib TAO_IFR_Client.lib TAO_Valuetype.lib CIAO_Client.lib ACE.lib /nologo /subsystem:windows /dll /pdb:"..\..\..\..\..\..\bin\BMDevice_stub.pdb" /machine:I386 /out:"..\..\..\..\..\..\bin\BMDevice_stub.dll" /libpath:"..\..\..\..\..\orbsvcs\orbsvcs" /libpath:".." /libpath:"..\..\..\..\..\tao\IFR_Client" /libpath:"..\..\..\..\..\tao\Valuetype" /libpath:"..\..\..\..\ciao" /libpath:"..\..\..\..\..\tao" /libpath:"..\..\..\..\..\..\ace" /version:1.3.1
-# SUBTRACT LINK32 /pdb:none
-
-!ELSEIF "$(CFG)" == "BMDevice_stub DLL - Win32 Debug"
-
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "."
-# PROP Intermediate_Dir "Debug\BMDevice_stub"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD CPP /nologo /MDd /W3 /Gm /GR /GX /Zi /Od /Gy /I "..\..\..\..\..\orbsvcs\orbsvcs" /I "..\..\..\.." /I "..\..\..\..\ciao" /I "..\..\..\..\.." /I "..\..\..\..\..\tao" /I "..\..\..\..\..\.." /D _DEBUG=1 /D WIN32=1 /D _WINDOWS=1 /D BMDEVICE_STUB_BUILD_DLL=1 /FD /c
-# SUBTRACT CPP /Fr /YX
-# ADD BASE RSC /l 0x409
-# ADD RSC /l 0x409 /i "..\..\..\.." /i "..\..\..\..\ciao" /i "..\..\..\..\.." /i "..\..\..\..\..\tao" /i "..\..\..\..\..\.." /d _DEBUG=1
-BSC32=bscmake.exe
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 /machine:IX86
-# ADD LINK32 BasicSP_stubd.lib TAOd.lib TAO_Securityd.lib TAO_IFR_Clientd.lib TAO_Valuetyped.lib CIAO_Clientd.lib ACEd.lib /nologo /subsystem:windows /dll /incremental:no /pdb:"..\..\..\..\..\..\bin\BMDevice_stubd.pdb" /debug /machine:I386 /out:"..\..\..\..\..\..\bin\BMDevice_stubd.dll" /libpath:"..\..\..\..\..\orbsvcs\orbsvcs" /libpath:".." /libpath:"..\..\..\..\..\tao\IFR_Client" /libpath:"..\..\..\..\..\tao\Valuetype" /libpath:"..\..\..\..\ciao" /libpath:"..\..\..\..\..\tao" /libpath:"..\..\..\..\..\..\ace" /version:1.3.1
-# SUBTRACT LINK32 /pdb:none
-
-!ENDIF
-
-# Begin Target
-
-# Name "BMDevice_stub DLL - Win32 Release"
-# Name "BMDevice_stub DLL - Win32 Debug"
-# Begin Group "Source Files"
-
-# PROP Default_Filter "cpp;cxx;c"
-# Begin Source File
-
-SOURCE=.\BMDeviceC.cpp
-# End Source File
-# End Group
-# Begin Group "Header Files"
-
-# PROP Default_Filter "h;hpp;hxx;hh"
-# Begin Source File
-
-SOURCE=.\BMDeviceC.h
-# End Source File
-# End Group
-# Begin Group "Inline Files"
-
-# PROP Default_Filter "i;inl"
-# Begin Source File
-
-SOURCE=.\BMDeviceC.i
-# End Source File
-# End Group
-# Begin Group "IDL Files"
-
-# PROP Default_Filter "idl"
-# Begin Source File
-
-SOURCE=.\BMDevice.idl
-
-!IF "$(CFG)" == "BMDevice_stub DLL - Win32 Release"
-
-# PROP Ignore_Default_Tool 1
-# Begin Custom Build - Invoking IDL Compiler on $(InputPath)
-InputPath=.\BMDevice.idl
-InputName=BMDevice
-
-BuildCmds= \
- ..\..\..\..\..\..\bin\tao_idl -o . -Wb,stub_export_macro=BMDEVICE_STUB_Export -Wb,stub_export_include=BMDevice_stub_export.h -Wb,skel_export_macro=BMDEVICE_SVNT_Export -Wb,skel_export_include=BMDevice_svnt_export.h -Wb,pre_include="ace\pre.h" -Wb,post_include="ace\post.h" -I ..\..\..\.. -I ..\..\..\..\.. -I ..\..\..\..\ciao -I ..\..\..\..\..\orbsvcs\orbsvcs -Ge 1 -Sc $(InputPath)
-
-".\$(InputName)C.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-
-".\$(InputName)C.i" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-
-".\$(InputName)C.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-
-".\$(InputName)S.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-
-".\$(InputName)S.i" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-
-".\$(InputName)S.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-# End Custom Build
-
-!ELSEIF "$(CFG)" == "BMDevice_stub DLL - Win32 Debug"
-
-# PROP Ignore_Default_Tool 1
-# Begin Custom Build - Invoking IDL Compiler on $(InputPath)
-InputPath=.\BMDevice.idl
-InputName=BMDevice
-
-BuildCmds= \
- ..\..\..\..\..\..\bin\tao_idl -o . -Wb,stub_export_macro=BMDEVICE_STUB_Export -Wb,stub_export_include=BMDevice_stub_export.h -Wb,skel_export_macro=BMDEVICE_SVNT_Export -Wb,skel_export_include=BMDevice_svnt_export.h -Wb,pre_include="ace\pre.h" -Wb,post_include="ace\post.h" -I ..\..\..\.. -I ..\..\..\..\ciao -I ..\..\..\..\.. -I ..\..\..\..\..\orbsvcs\orbsvcs -Ge 1 -Sc $(InputPath)
-
-".\$(InputName)C.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-
-".\$(InputName)C.i" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-
-".\$(InputName)C.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-
-".\$(InputName)S.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-
-".\$(InputName)S.i" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-
-".\$(InputName)S.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-# End Custom Build
-
-!ENDIF
-
-# End Source File
-# End Group
-# End Target
-# End Project
diff --git a/TAO/CIAO/examples/OEP/BasicSP/BMDevice/BMDevice_stub_export.h b/TAO/CIAO/examples/OEP/BasicSP/BMDevice/BMDevice_stub_export.h
deleted file mode 100644
index b0f1a552d4b..00000000000
--- a/TAO/CIAO/examples/OEP/BasicSP/BMDevice/BMDevice_stub_export.h
+++ /dev/null
@@ -1,50 +0,0 @@
-
-// -*- C++ -*-
-// $Id$
-// Definition for Win32 Export directives.
-// This file is generated automatically by generate_export_file.pl BMDEVICE_STUB
-// ------------------------------
-#ifndef BMDEVICE_STUB_EXPORT_H
-#define BMDEVICE_STUB_EXPORT_H
-
-#include "ace/config-all.h"
-
-#if !defined (BMDEVICE_STUB_HAS_DLL)
-# define BMDEVICE_STUB_HAS_DLL 1
-#endif /* ! BMDEVICE_STUB_HAS_DLL */
-
-#if defined (BMDEVICE_STUB_HAS_DLL) && (BMDEVICE_STUB_HAS_DLL == 1)
-# if defined (BMDEVICE_STUB_BUILD_DLL)
-# define BMDEVICE_STUB_Export ACE_Proper_Export_Flag
-# define BMDEVICE_STUB_SINGLETON_DECLARATION(T) ACE_EXPORT_SINGLETON_DECLARATION (T)
-# define BMDEVICE_STUB_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_EXPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
-# else /* BMDEVICE_STUB_BUILD_DLL */
-# define BMDEVICE_STUB_Export ACE_Proper_Import_Flag
-# define BMDEVICE_STUB_SINGLETON_DECLARATION(T) ACE_IMPORT_SINGLETON_DECLARATION (T)
-# define BMDEVICE_STUB_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_IMPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
-# endif /* BMDEVICE_STUB_BUILD_DLL */
-#else /* BMDEVICE_STUB_HAS_DLL == 1 */
-# define BMDEVICE_STUB_Export
-# define BMDEVICE_STUB_SINGLETON_DECLARATION(T)
-# define BMDEVICE_STUB_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
-#endif /* BMDEVICE_STUB_HAS_DLL == 1 */
-
-// Set BMDEVICE_STUB_NTRACE = 0 to turn on library specific tracing even if
-// tracing is turned off for ACE.
-#if !defined (BMDEVICE_STUB_NTRACE)
-# if (ACE_NTRACE == 1)
-# define BMDEVICE_STUB_NTRACE 1
-# else /* (ACE_NTRACE == 1) */
-# define BMDEVICE_STUB_NTRACE 0
-# endif /* (ACE_NTRACE == 1) */
-#endif /* !BMDEVICE_STUB_NTRACE */
-
-#if (BMDEVICE_STUB_NTRACE == 1)
-# define BMDEVICE_STUB_TRACE(X)
-#else /* (BMDEVICE_STUB_NTRACE == 1) */
-# define BMDEVICE_STUB_TRACE(X) ACE_TRACE_IMPL(X)
-#endif /* (BMDEVICE_STUB_NTRACE == 1) */
-
-#endif /* BMDEVICE_STUB_EXPORT_H */
-
-// End of auto generated file.
diff --git a/TAO/CIAO/examples/OEP/BasicSP/BMDevice/BMDevice_svnt.dsp b/TAO/CIAO/examples/OEP/BasicSP/BMDevice/BMDevice_svnt.dsp
deleted file mode 100644
index 4a8e73cbc0e..00000000000
--- a/TAO/CIAO/examples/OEP/BasicSP/BMDevice/BMDevice_svnt.dsp
+++ /dev/null
@@ -1,239 +0,0 @@
-# Microsoft Developer Studio Project File - Name="BMDevice_svnt DLL" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 6.00
-# ** DO NOT EDIT **
-
-# TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102
-
-CFG=BMDevice_svnt DLL - Win32 Debug
-!MESSAGE This is not a valid makefile. To build this project using NMAKE,
-!MESSAGE use the Export Makefile command and run
-!MESSAGE
-!MESSAGE NMAKE /f "BMDevice_svnt.mak".
-!MESSAGE
-!MESSAGE You can specify a configuration when running NMAKE
-!MESSAGE by defining the macro CFG on the command line. For example:
-!MESSAGE
-!MESSAGE NMAKE /f "BMDevice_svnt.mak" CFG="BMDevice_svnt DLL - Win32 Debug"
-!MESSAGE
-!MESSAGE Possible choices for configuration are:
-!MESSAGE
-!MESSAGE "BMDevice_svnt DLL - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library")
-!MESSAGE "BMDevice_svnt DLL - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library")
-!MESSAGE
-
-# Begin Project
-# PROP AllowPerConfigDependencies 0
-# PROP Scc_ProjName ""
-# PROP Scc_LocalPath ""
-CPP=cl.exe
-MTL=midl.exe
-RSC=rc.exe
-
-!IF "$(CFG)" == "BMDevice_svnt DLL - Win32 Release"
-
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "."
-# PROP Intermediate_Dir "Release\BMDevice_svnt"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD CPP /nologo /MD /W3 /GR /GX /Zi /O2 /I "..\..\..\..\..\orbsvcs\orbsvcs" /I "..\..\..\.." /I "..\..\..\..\ciao" /I "..\..\..\..\.." /I "..\..\..\..\..\tao" /I "..\..\..\..\..\.." /D NDEBUG=1 /D WIN32=1 /D _WINDOWS=1 /D BMDEVICE_SVNT_BUILD_DLL=1 /FD /c
-# SUBTRACT CPP /YX
-# ADD BASE RSC /l 0x409
-# ADD RSC /l 0x409 /i "..\..\..\..\..\orbsvcs\orbsvcs" /i "..\..\..\.." /i "..\..\..\..\ciao" /i "..\..\..\..\.." /i "..\..\..\..\..\tao" /i "..\..\..\..\..\.." /d NDEBUG=1
-BSC32=bscmake.exe
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 /machine:IX86
-# ADD LINK32 BMDevice_stub.lib BasicSP_stub.lib BasicSP_svnt.lib CIAO_Server.lib TAO_PortableServer.lib TAO_IORInterceptor.lib TAO_ObjRefTemplate.lib TAO_Security.lib CIAO_Container.lib TAO.lib TAO_IFR_Client.lib TAO_Valuetype.lib CIAO_Client.lib ACE.lib /nologo /subsystem:windows /dll /pdb:"..\..\..\..\..\..\bin\BMDevice_svnt.pdb" /machine:I386 /out:"..\..\..\..\..\..\bin\BMDevice_svnt.dll" /libpath:".." /libpath:"..\..\..\..\..\tao\PortableServer" /libpath:"..\..\..\..\..\tao\IORInterceptor" /libpath:"..\..\..\..\..\tao\ObjRefTemplate" /libpath:"..\..\..\..\..\orbsvcs\orbsvcs" /libpath:"..\..\..\..\..\tao\IFR_Client" /libpath:"..\..\..\..\..\tao\Valuetype" /libpath:"..\..\..\..\ciao" /libpath:"..\..\..\..\..\tao" /libpath:"..\..\..\..\..\..\ace" /version:1.3.1
-# SUBTRACT LINK32 /pdb:none
-
-!ELSEIF "$(CFG)" == "BMDevice_svnt DLL - Win32 Debug"
-
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "."
-# PROP Intermediate_Dir "Debug\BMDevice_svnt"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD CPP /nologo /MDd /W3 /Gm /GR /GX /Zi /Od /Gy /I "..\..\..\..\..\orbsvcs\orbsvcs" /I "..\..\..\.." /I "..\..\..\..\ciao" /I "..\..\..\..\.." /I "..\..\..\..\..\tao" /I "..\..\..\..\..\.." /D _DEBUG=1 /D WIN32=1 /D _WINDOWS=1 /D BMDEVICE_SVNT_BUILD_DLL=1 /FD /c
-# SUBTRACT CPP /Fr /YX
-# ADD BASE RSC /l 0x409
-# ADD RSC /l 0x409 /i "..\..\..\..\..\orbsvcs\orbsvcs" /i "..\..\..\.." /i "..\..\..\..\ciao" /i "..\..\..\..\.." /i "..\..\..\..\..\tao" /i "..\..\..\..\..\.." /d _DEBUG=1
-BSC32=bscmake.exe
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 /machine:IX86
-# ADD LINK32 advapi32.lib user32.lib BMDevice_stubd.lib BasicSP_stubd.lib BasicSP_svntd.lib CIAO_Serverd.lib TAO_PortableServerd.lib TAO_IORInterceptord.lib TAO_ObjRefTemplated.lib TAO_Securityd.lib CIAO_Containerd.lib TAOd.lib TAO_IFR_Clientd.lib TAO_Valuetyped.lib CIAO_Clientd.lib ACEd.lib /nologo /subsystem:windows /dll /incremental:no /pdb:"..\..\..\..\..\..\bin\BMDevice_svntd.pdb" /debug /machine:I386 /out:"..\..\..\..\..\..\bin\BMDevice_svntd.dll" /libpath:".." /libpath:"..\..\..\..\..\tao\PortableServer" /libpath:"..\..\..\..\..\tao\IORInterceptor" /libpath:"..\..\..\..\..\tao\ObjRefTemplate" /libpath:"..\..\..\..\..\orbsvcs\orbsvcs" /libpath:"..\..\..\..\..\tao\IFR_Client" /libpath:"..\..\..\..\..\tao\Valuetype" /libpath:"..\..\..\..\ciao" /libpath:"..\..\..\..\..\tao" /libpath:"..\..\..\..\..\..\ace" /version:1.3.1
-# SUBTRACT LINK32 /pdb:none
-
-!ENDIF
-
-# Begin Target
-
-# Name "BMDevice_svnt DLL - Win32 Release"
-# Name "BMDevice_svnt DLL - Win32 Debug"
-# Begin Group "Source Files"
-
-# PROP Default_Filter "cpp;cxx;c"
-# Begin Source File
-
-SOURCE=.\BMDevice_svnt.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\BMDeviceEC.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\BMDeviceS.cpp
-# End Source File
-# End Group
-# Begin Group "Header Files"
-
-# PROP Default_Filter "h;hpp;hxx;hh"
-# Begin Source File
-
-SOURCE=.\BMDevice_svnt.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\BMDeviceEC.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\BMDeviceS.h
-# End Source File
-# End Group
-# Begin Group "Inline Files"
-
-# PROP Default_Filter "i;inl"
-# Begin Source File
-
-SOURCE=.\BMDeviceEC.i
-# End Source File
-# Begin Source File
-
-SOURCE=.\BMDeviceS.i
-# End Source File
-# End Group
-# Begin Group "IDL Files"
-
-# PROP Default_Filter "idl"
-# Begin Source File
-
-SOURCE=.\BMDevice.cidl
-
-!IF "$(CFG)" == "BMDevice_svnt DLL - Win32 Release"
-
-# PROP Ignore_Default_Tool 1
-USERDEP__BMDEV="..\..\..\..\..\..\bin\cidlc.exe"
-# Begin Custom Build - Invoking CIAO CIDL Compiler on $(InputPath)
-InputPath=.\BMDevice.cidl
-InputName=BMDevice
-
-BuildCmds= \
- ..\..\..\..\bin\cidlc --lem-file-suffix "E.idl" -- $(InputName).cidl
-
-"$(InputName)E.idl" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-
-"$(InputName)_svnt.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-
-"$(InputName)_svnt.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-# End Custom Build
-
-!ELSEIF "$(CFG)" == "BMDevice_svnt DLL - Win32 Debug"
-
-# PROP Ignore_Default_Tool 1
-USERDEP__BMDEV="..\..\..\..\..\..\bin\cidlc.exe"
-# Begin Custom Build - Invoking CIAO CIDL Compiler on $(InputPath)
-InputPath=.\BMDevice.cidl
-InputName=BMDevice
-
-BuildCmds= \
- ..\..\..\..\bin\cidlc --lem-file-suffix "E.idl" -- $(InputName).cidl
-
-"$(InputName)E.idl" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-
-"$(InputName)_svnt.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-
-"$(InputName)_svnt.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-# End Custom Build
-
-!ENDIF
-
-# End Source File
-# Begin Source File
-
-SOURCE=.\BMDeviceE.idl
-
-!IF "$(CFG)" == "BMDevice_svnt DLL - Win32 Release"
-
-# PROP Ignore_Default_Tool 1
-# Begin Custom Build - Invoking IDL Compiler on $(InputPath)
-InputPath=.\BMDeviceE.idl
-InputName=BMDeviceE
-
-BuildCmds= \
- ..\..\..\..\..\..\bin\tao_idl -o . -Wb,export_macro=BMDEVICE_SVNT_Export -Wb,export_include=BMDevice_svnt_export.h -I..\..\..\..\.. -I..\..\..\..\..\CIAO\ciao -Wb,pre_include="ace\pre.h" -Wb,post_include="ace\post.h" -I ..\..\..\.. -I ..\..\..\..\.. -I ..\..\..\..\..\orbsvcs\orbsvcs -Ge 1 -Sc $(InputPath)
-
-".\$(InputName)C.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-
-".\$(InputName)C.i" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-
-".\$(InputName)C.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-
-".\$(InputName)S.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-
-".\$(InputName)S.i" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-
-".\$(InputName)S.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-# End Custom Build
-
-!ELSEIF "$(CFG)" == "BMDevice_svnt DLL - Win32 Debug"
-
-# PROP Ignore_Default_Tool 1
-# Begin Custom Build - Invoking IDL Compiler on $(InputPath)
-InputPath=.\BMDeviceE.idl
-InputName=BMDeviceE
-
-BuildCmds= \
- ..\..\..\..\..\..\bin\tao_idl -o . -Wb,export_macro=BMDEVICE_SVNT_Export -Wb,export_include=BMDevice_svnt_export.h -I..\..\..\..\.. -I..\..\..\..\..\CIAO\ciao -Wb,pre_include="ace\pre.h" -Wb,post_include="ace\post.h" -I ..\..\..\.. -I ..\..\..\..\.. -I ..\..\..\..\..\orbsvcs\orbsvcs -Ge 1 -Sc $(InputPath)
-
-".\$(InputName)C.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-
-".\$(InputName)C.i" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-
-".\$(InputName)C.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-
-".\$(InputName)S.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-
-".\$(InputName)S.i" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-
-".\$(InputName)S.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-# End Custom Build
-
-!ENDIF
-
-# End Source File
-# End Group
-# End Target
-# End Project
diff --git a/TAO/CIAO/examples/OEP/BasicSP/BMDevice/BMDevice_svnt_export.h b/TAO/CIAO/examples/OEP/BasicSP/BMDevice/BMDevice_svnt_export.h
deleted file mode 100644
index 653db47fefb..00000000000
--- a/TAO/CIAO/examples/OEP/BasicSP/BMDevice/BMDevice_svnt_export.h
+++ /dev/null
@@ -1,50 +0,0 @@
-
-// -*- C++ -*-
-// $Id$
-// Definition for Win32 Export directives.
-// This file is generated automatically by generate_export_file.pl BMDEVICE_SVNT
-// ------------------------------
-#ifndef BMDEVICE_SVNT_EXPORT_H
-#define BMDEVICE_SVNT_EXPORT_H
-
-#include "ace/config-all.h"
-
-#if !defined (BMDEVICE_SVNT_HAS_DLL)
-# define BMDEVICE_SVNT_HAS_DLL 1
-#endif /* ! BMDEVICE_SVNT_HAS_DLL */
-
-#if defined (BMDEVICE_SVNT_HAS_DLL) && (BMDEVICE_SVNT_HAS_DLL == 1)
-# if defined (BMDEVICE_SVNT_BUILD_DLL)
-# define BMDEVICE_SVNT_Export ACE_Proper_Export_Flag
-# define BMDEVICE_SVNT_SINGLETON_DECLARATION(T) ACE_EXPORT_SINGLETON_DECLARATION (T)
-# define BMDEVICE_SVNT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_EXPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
-# else /* BMDEVICE_SVNT_BUILD_DLL */
-# define BMDEVICE_SVNT_Export ACE_Proper_Import_Flag
-# define BMDEVICE_SVNT_SINGLETON_DECLARATION(T) ACE_IMPORT_SINGLETON_DECLARATION (T)
-# define BMDEVICE_SVNT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_IMPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
-# endif /* BMDEVICE_SVNT_BUILD_DLL */
-#else /* BMDEVICE_SVNT_HAS_DLL == 1 */
-# define BMDEVICE_SVNT_Export
-# define BMDEVICE_SVNT_SINGLETON_DECLARATION(T)
-# define BMDEVICE_SVNT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
-#endif /* BMDEVICE_SVNT_HAS_DLL == 1 */
-
-// Set BMDEVICE_SVNT_NTRACE = 0 to turn on library specific tracing even if
-// tracing is turned off for ACE.
-#if !defined (BMDEVICE_SVNT_NTRACE)
-# if (ACE_NTRACE == 1)
-# define BMDEVICE_SVNT_NTRACE 1
-# else /* (ACE_NTRACE == 1) */
-# define BMDEVICE_SVNT_NTRACE 0
-# endif /* (ACE_NTRACE == 1) */
-#endif /* !BMDEVICE_SVNT_NTRACE */
-
-#if (BMDEVICE_SVNT_NTRACE == 1)
-# define BMDEVICE_SVNT_TRACE(X)
-#else /* (BMDEVICE_SVNT_NTRACE == 1) */
-# define BMDEVICE_SVNT_TRACE(X) ACE_TRACE_IMPL(X)
-#endif /* (BMDEVICE_SVNT_NTRACE == 1) */
-
-#endif /* BMDEVICE_SVNT_EXPORT_H */
-
-// End of auto generated file.
diff --git a/TAO/CIAO/examples/OEP/BasicSP/BMDevice/config b/TAO/CIAO/examples/OEP/BasicSP/BMDevice/config
deleted file mode 100644
index 5798aa88e24..00000000000
--- a/TAO/CIAO/examples/OEP/BasicSP/BMDevice/config
+++ /dev/null
@@ -1 +0,0 @@
-BMDevice_exec|createBMDeviceHome_Impl|BMDevice_svnt|createBMDeviceHome_Servant
diff --git a/TAO/CIAO/examples/OEP/BasicSP/BMDisplay/BMDisplay.cidl b/TAO/CIAO/examples/OEP/BasicSP/BMDisplay/BMDisplay.cidl
deleted file mode 100644
index 4342aa753c8..00000000000
--- a/TAO/CIAO/examples/OEP/BasicSP/BMDisplay/BMDisplay.cidl
+++ /dev/null
@@ -1,18 +0,0 @@
-//$Id$
-
-#ifndef BMDISPLAY_CIDL
-#define BMDISPLAY_CIDL
-
-#include "BMDisplay.idl"
-
-composition session BMDisplay_Impl
-{
- home executor BMDisplayHome_Exec
- {
- implements BasicSP::BMDisplayHome;
- manages BMDisplay_Exec;
- };
-};
-
-#endif /* BMDISPLAY_CIDL */
-
diff --git a/TAO/CIAO/examples/OEP/BasicSP/BMDisplay/BMDisplay.idl b/TAO/CIAO/examples/OEP/BasicSP/BMDisplay/BMDisplay.idl
deleted file mode 100644
index cbeed950b07..00000000000
--- a/TAO/CIAO/examples/OEP/BasicSP/BMDisplay/BMDisplay.idl
+++ /dev/null
@@ -1,15 +0,0 @@
-//$Id$
-#include "../BasicSP.idl"
-
-module BasicSP
-{
- component BMDisplay
- {
- consumes DataAvailable data_ready;
- uses ReadData comp_data;
- };
-
- home BMDisplayHome manages BMDisplay
- {
- };
-};
diff --git a/TAO/CIAO/examples/OEP/BasicSP/BMDisplay/BMDisplayEI.idl b/TAO/CIAO/examples/OEP/BasicSP/BMDisplay/BMDisplayEI.idl
deleted file mode 100644
index 8a218debab1..00000000000
--- a/TAO/CIAO/examples/OEP/BasicSP/BMDisplay/BMDisplayEI.idl
+++ /dev/null
@@ -1,33 +0,0 @@
-// $Id$
-//===========================================================
-/**
- * @file BMDisplayEI.idl
- *
- * Definition of the BMDisplay (navigation display) component
- * implementation.
- *
- * @author Balachandran Natarajan <bala@dre.vanderbilt.edu>
- */
-//===========================================================
-#ifndef CIAO_BMDISPLAYEI_IDL
-#define CIAO_BMDISPLAYEI_IDL
-
-#include "BMDisplayE.idl"
-
-module BasicSP
-{
- /**
- * @interface BMDisplay_Exec
- *
- * The actually BMDisplay executor inherits from both CCM_BMDisplay
- * and session_component interfaces as a monolithic implementation.
- */
- local interface BMDisplay_Exec :
- CCM_BMDisplay,
- Components::SessionComponent
- {
- };
-
-};
-
-#endif /* CIAO_BMDISPLAYEI_IDL */
diff --git a/TAO/CIAO/examples/OEP/BasicSP/BMDisplay/BMDisplay_exec.cpp b/TAO/CIAO/examples/OEP/BasicSP/BMDisplay/BMDisplay_exec.cpp
deleted file mode 100644
index f7ac0de4c4a..00000000000
--- a/TAO/CIAO/examples/OEP/BasicSP/BMDisplay/BMDisplay_exec.cpp
+++ /dev/null
@@ -1,135 +0,0 @@
-// $Id$
-
-#include "CIAO_common.h"
-#include "BMDisplay_exec.h"
-
-/// Default constructor.
-MyImpl::BMDisplay_exec_impl::BMDisplay_exec_impl ()
-{
-}
-
-/// Default destructor.
-MyImpl::BMDisplay_exec_impl::~BMDisplay_exec_impl ()
-{
-}
-
-// Operations from BasicSP::BMDisplay
-
-void
-MyImpl::BMDisplay_exec_impl::push_data_ready (
- BasicSP::DataAvailable *ev
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- ACE_UNUSED_ARG (ev);
-
- ACE_DEBUG ((LM_DEBUG,
- "BMDisplay - Doing computations \n"));
-
- ACE_DEBUG ((LM_DEBUG,
- "BMDisplay - Doing data fetch \n"));
-
- // Refresh position
- BasicSP::ReadData_var dat
- = this->context_->get_connection_comp_data (ACE_ENV_ARG_PARAMETER);
- ACE_CHECK;
-
- if (CORBA::is_nil (dat.in ()))
- ACE_THROW (CORBA::BAD_INV_ORDER ());
-
- char *str =
- dat->get_data (ACE_ENV_ARG_PARAMETER);
- ACE_CHECK;
-
- ACE_DEBUG ((LM_DEBUG,
- "BMDisplay - Display data is [%s] \n",
- str));
-
-}
-
-// Operations from Components::SessionComponent
-void
-MyImpl::BMDisplay_exec_impl::set_session_context (Components::SessionContext_ptr ctx
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::CCMException))
-{
- ACE_DEBUG ((LM_DEBUG, "MyImpl::BMDisplay_exec_impl::set_session_context\n"));
-
- this->context_ =
- BasicSP::CCM_BMDisplay_Context::_narrow (ctx
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK;
-
- if (CORBA::is_nil (this->context_.in ()))
- ACE_THROW (CORBA::INTERNAL ());
- // Urm, we actually discard exceptions thown from this operation.
-}
-
-void
-MyImpl::BMDisplay_exec_impl::ccm_activate (ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::CCMException))
-{
- ACE_DEBUG ((LM_DEBUG, "MyImpl::BMDisplay_exec_impl::ccm_activate\n"));
-
- // @@ This hack work around a missing feature in CIAO's assembly
- // mechanism where a Softpkg descriptor can specify it's dependency
- // to a valuetype factory and instruct the deployment framework to
- // initialize and register the corresponding valuefactory in the
- // component server. Here, we are registering the valuefactory
- // explicitly to work around this problem.
-
- char *argv[1] = { "BMDisplay_exec"};
-
- int argc = sizeof(argv)/sizeof(argv[0]);
- CORBA::ORB_var orb = CORBA::ORB_init(argc, argv ACE_ENV_ARG_PARAMETER);
-
- CIAO_REGISTER_VALUE_FACTORY (orb.in(), BasicSP::DataAvailable_init,
- BasicSP::DataAvailable);
-}
-
-void
-MyImpl::BMDisplay_exec_impl::ccm_passivate (ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::CCMException))
-{
- ACE_DEBUG ((LM_DEBUG, "MyImpl::BMDisplay_exec_impl::ccm_passivate\n"));
-}
-
-void
-MyImpl::BMDisplay_exec_impl::ccm_remove (ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::CCMException))
-{
- ACE_DEBUG ((LM_DEBUG, "MyImpl::BMDisplay_exec_impl::ccm_remove\n"));
-}
-
-/// Default ctor.
-MyImpl::BMDisplayHome_exec_impl::BMDisplayHome_exec_impl ()
-{
-}
-
-/// Default dtor.
-MyImpl::BMDisplayHome_exec_impl::~BMDisplayHome_exec_impl ()
-{
-}
-
-// Explicit home operations.
-
-// Implicit home operations.
-
-::Components::EnterpriseComponent_ptr
-MyImpl::BMDisplayHome_exec_impl::create (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::CCMException))
-{
- return new MyImpl::BMDisplay_exec_impl;
-}
-
-
-extern "C" BMDISPLAY_EXEC_Export ::Components::HomeExecutorBase_ptr
-createBMDisplayHome_Impl (void)
-{
- return new MyImpl::BMDisplayHome_exec_impl;
-}
diff --git a/TAO/CIAO/examples/OEP/BasicSP/BMDisplay/BMDisplay_exec.dsp b/TAO/CIAO/examples/OEP/BasicSP/BMDisplay/BMDisplay_exec.dsp
deleted file mode 100644
index 67023308608..00000000000
--- a/TAO/CIAO/examples/OEP/BasicSP/BMDisplay/BMDisplay_exec.dsp
+++ /dev/null
@@ -1,146 +0,0 @@
-# Microsoft Developer Studio Project File - Name="BMDisplay_exec DLL" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 6.00
-# ** DO NOT EDIT **
-
-# TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102
-
-CFG=BMDisplay_exec DLL - Win32 Debug
-!MESSAGE This is not a valid makefile. To build this project using NMAKE,
-!MESSAGE use the Export Makefile command and run
-!MESSAGE
-!MESSAGE NMAKE /f "BMDisplay_exec.mak".
-!MESSAGE
-!MESSAGE You can specify a configuration when running NMAKE
-!MESSAGE by defining the macro CFG on the command line. For example:
-!MESSAGE
-!MESSAGE NMAKE /f "BMDisplay_exec.mak" CFG="BMDisplay_exec DLL - Win32 Debug"
-!MESSAGE
-!MESSAGE Possible choices for configuration are:
-!MESSAGE
-!MESSAGE "BMDisplay_exec DLL - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library")
-!MESSAGE "BMDisplay_exec DLL - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library")
-!MESSAGE
-
-# Begin Project
-# PROP AllowPerConfigDependencies 0
-# PROP Scc_ProjName ""
-# PROP Scc_LocalPath ""
-CPP=cl.exe
-MTL=midl.exe
-RSC=rc.exe
-
-!IF "$(CFG)" == "BMDisplay_exec DLL - Win32 Release"
-
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "."
-# PROP Intermediate_Dir "Release\BMDisplay_exec"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD CPP /nologo /MD /W3 /GR /GX /Zi /O2 /I "..\..\..\..\..\orbsvcs\orbsvcs" /I "..\..\..\.." /I "..\..\..\..\ciao" /I "..\..\..\..\.." /I "..\..\..\..\..\tao" /I "..\..\..\..\..\.." /D NDEBUG=1 /D WIN32=1 /D _WINDOWS=1 /D BMDISPLAY_EXEC_BUILD_DLL=1 /FD /c
-# SUBTRACT CPP /YX
-# ADD BASE RSC /l 0x409
-# ADD RSC /l 0x409 /i "..\..\..\..\..\orbsvcs\orbsvcs" /i "..\..\..\.." /i "..\..\..\..\ciao" /i "..\..\..\..\.." /i "..\..\..\..\..\tao" /i "..\..\..\..\..\.." /d NDEBUG=1
-BSC32=bscmake.exe
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 /machine:IX86
-# ADD LINK32 advapi32.lib user32.lib BMDisplay_stub.lib BMDisplay_svnt.lib BasicSP_stub.lib BasicSP_svnt.lib CIAO_Server.lib TAO_PortableServer.lib TAO_IORInterceptor.lib TAO_ObjRefTemplate.lib TAO_Security.lib CIAO_Container.lib TAO.lib TAO_IFR_Client.lib TAO_Valuetype.lib CIAO_Client.lib ACE.lib /nologo /subsystem:windows /dll /pdb:"..\..\..\..\..\..\bin\BMDisplay_exec.pdb" /machine:I386 /out:"..\..\..\..\..\..\bin\BMDisplay_exec.dll" /libpath:".." /libpath:"..\..\..\..\..\tao\PortableServer" /libpath:"..\..\..\..\..\tao\IORInterceptor" /libpath:"..\..\..\..\..\tao\ObjRefTemplate" /libpath:"..\..\..\..\..\orbsvcs\orbsvcs" /libpath:"..\..\..\..\..\tao\IFR_Client" /libpath:"..\..\..\..\..\tao\Valuetype" /libpath:"..\..\..\..\ciao" /libpath:"..\..\..\..\..\tao" /libpath:"..\..\..\..\..\..\ace" /version:1.3.1
-# SUBTRACT LINK32 /pdb:none
-
-!ELSEIF "$(CFG)" == "BMDisplay_exec DLL - Win32 Debug"
-
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "."
-# PROP Intermediate_Dir "Debug\BMDisplay_exec"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD CPP /nologo /MDd /W3 /Gm /GR /GX /Zi /Od /Gy /I "..\..\..\..\..\orbsvcs\orbsvcs" /I "..\..\..\.." /I "..\..\..\..\ciao" /I "..\..\..\..\.." /I "..\..\..\..\..\tao" /I "..\..\..\..\..\.." /D _DEBUG=1 /D WIN32=1 /D _WINDOWS=1 /D BMDISPLAY_EXEC_BUILD_DLL=1 /FD /c
-# SUBTRACT CPP /Fr /YX
-# ADD BASE RSC /l 0x409
-# ADD RSC /l 0x409 /i "..\..\..\..\..\orbsvcs\orbsvcs" /i "..\..\..\.." /i "..\..\..\..\ciao" /i "..\..\..\..\.." /i "..\..\..\..\..\tao" /i "..\..\..\..\..\.." /d _DEBUG=1
-BSC32=bscmake.exe
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 /machine:IX86
-# ADD LINK32 advapi32.lib user32.lib BMDisplay_stubd.lib BMDisplay_svntd.lib BasicSP_stubd.lib BasicSP_svntd.lib CIAO_Serverd.lib TAO_PortableServerd.lib TAO_IORInterceptord.lib TAO_ObjRefTemplated.lib TAO_Securityd.lib CIAO_Containerd.lib TAOd.lib TAO_IFR_Clientd.lib TAO_Valuetyped.lib CIAO_Clientd.lib ACEd.lib /nologo /subsystem:windows /dll /incremental:no /pdb:"..\..\..\..\..\..\bin\BMDisplay_execd.pdb" /debug /machine:I386 /out:"..\..\..\..\..\..\bin\BMDisplay_execd.dll" /libpath:".." /libpath:"..\..\..\..\..\tao\PortableServer" /libpath:"..\..\..\..\..\tao\IORInterceptor" /libpath:"..\..\..\..\..\tao\ObjRefTemplate" /libpath:"..\..\..\..\..\orbsvcs\orbsvcs" /libpath:"..\..\..\..\..\tao\IFR_Client" /libpath:"..\..\..\..\..\tao\Valuetype" /libpath:"..\..\..\..\ciao" /libpath:"..\..\..\..\..\tao" /libpath:"..\..\..\..\..\..\ace" /version:1.3.1
-# SUBTRACT LINK32 /pdb:none
-
-!ENDIF
-
-# Begin Target
-
-# Name "BMDisplay_exec DLL - Win32 Release"
-# Name "BMDisplay_exec DLL - Win32 Debug"
-# Begin Group "Source Files"
-
-# PROP Default_Filter "cpp;cxx;c"
-# Begin Source File
-
-SOURCE=.\BMDisplay_exec.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\BMDisplayEIC.cpp
-# End Source File
-# End Group
-# Begin Group "Header Files"
-
-# PROP Default_Filter "h;hpp;hxx;hh"
-# Begin Source File
-
-SOURCE=.\BMDisplay_exec.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\BMDisplayEIC.h
-# End Source File
-# End Group
-# Begin Group "Inline Files"
-
-# PROP Default_Filter "i;inl"
-# Begin Source File
-
-SOURCE=.\BMDisplayEIC.i
-# End Source File
-# End Group
-# Begin Group "IDL Files"
-
-# PROP Default_Filter "idl"
-# Begin Source File
-
-SOURCE=.\BMDisplayEI.idl
-
-!IF "$(CFG)" == "BMDisplay_exec DLL - Win32 Release"
-
-# PROP Ignore_Default_Tool 1
-USERDEP__BMDIS="..\..\..\..\..\..\bin\tao_idl.exe"
-# Begin Custom Build - Invoking TAO IDL Compiler on $(InputPath)
-InputPath=.\BMDisplayEI.idl
-InputName=BMDisplayEI
-
-"$(InputName)C.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- ..\..\..\..\..\..\bin\tao_idl -o . -Wb,export_macro=BMDISPLAY_EXEC_Export -Wb,export_include=BMDisplay_exec_export.h -I..\..\..\..\.. -I..\..\..\..\..\CIAO\ciao -Wb,pre_include="ace\pre.h" -Wb,post_include="ace\post.h" -I ..\..\..\.. -I ..\..\..\..\.. -I ..\..\..\..\..\orbsvcs\orbsvcs -Ge 1 -Sc $(InputPath)
-
-# End Custom Build
-
-!ELSEIF "$(CFG)" == "BMDisplay_exec DLL - Win32 Debug"
-
-# PROP Ignore_Default_Tool 1
-USERDEP__BMDIS="..\..\..\..\..\..\bin\tao_idl.exe"
-# Begin Custom Build - Invoking TAO IDL Compiler on $(InputPath)
-InputPath=.\BMDisplayEI.idl
-InputName=BMDisplayEI
-
-"$(InputName)C.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- ..\..\..\..\..\..\bin\tao_idl -o . -Wb,export_macro=BMDISPLAY_EXEC_Export -Wb,export_include=BMDisplay_exec_export.h -I..\..\..\..\.. -I..\..\..\..\..\CIAO\ciao -Wb,pre_include="ace\pre.h" -Wb,post_include="ace\post.h" -I ..\..\..\.. -I ..\..\..\..\.. -I ..\..\..\..\..\orbsvcs\orbsvcs -Ge 1 -Sc $(InputPath)
-
-# End Custom Build
-
-!ENDIF
-
-# End Source File
-# End Group
-# End Target
-# End Project
diff --git a/TAO/CIAO/examples/OEP/BasicSP/BMDisplay/BMDisplay_exec.h b/TAO/CIAO/examples/OEP/BasicSP/BMDisplay/BMDisplay_exec.h
deleted file mode 100644
index 25c5c4f3488..00000000000
--- a/TAO/CIAO/examples/OEP/BasicSP/BMDisplay/BMDisplay_exec.h
+++ /dev/null
@@ -1,102 +0,0 @@
-// $Id$
-
-//==============================================================
-/**
- * @file BMDisplay_exec.h
- *
- * Header file for the actual BMDisplay and BMDisplayHome component
- * implementations.
- *
- * @author Balachandran Natarajan <bala@dre.vanderbilt.edu>
- */
-//==============================================================
-#ifndef CIAO_BMDISPLAY_EXEC_H
-#define CIAO_BMDISPLAY_EXEC_H
-
-#include "BMDisplayEIC.h"
-#include "tao/LocalObject.h"
-
-namespace MyImpl
-{
- /**
- * @class BMDisplay_exec_impl
- *
- * RateGen executor implementation class.
- */
- class BMDISPLAY_EXEC_Export BMDisplay_exec_impl :
- public virtual BasicSP::BMDisplay_Exec,
- public virtual TAO_Local_RefCounted_Object
- {
- public:
- /// Default constructor.
- BMDisplay_exec_impl ();
-
- /// Default destructor.
- ~BMDisplay_exec_impl ();
-
- // Operations from BasicSP::BMDisplay
-
- virtual void
- push_data_ready (BasicSP::DataAvailable *ev
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- // Operations from Components::SessionComponent
-
- virtual void
- set_session_context (Components::SessionContext_ptr ctx
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::CCMException));
-
- virtual void
- ccm_activate (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::CCMException));
-
- virtual void
- ccm_passivate (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::CCMException));
-
- virtual void
- ccm_remove (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::CCMException));
- protected:
- /// Copmponent specific context
- BasicSP::CCM_BMDisplay_Context_var context_;
- };
-
- /**
- * @class BMDisplayHome_exec_impl
- *
- * BMDisplay home executor implementation class.
- */
- class BMDISPLAY_EXEC_Export BMDisplayHome_exec_impl :
- public virtual BasicSP::CCM_BMDisplayHome,
- public virtual TAO_Local_RefCounted_Object
- {
- public:
- /// Default ctor.
- BMDisplayHome_exec_impl ();
-
- /// Default dtor.
- ~BMDisplayHome_exec_impl ();
-
- // Explicit home operations.
-
- // Implicit home operations.
-
- virtual ::Components::EnterpriseComponent_ptr
- create (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::CCMException));
- };
-
-}
-
-extern "C" BMDISPLAY_EXEC_Export ::Components::HomeExecutorBase_ptr
-createBMDisplayHome_Impl (void);
-
-#endif /* BMDISPLAY_EXEC_H */
diff --git a/TAO/CIAO/examples/OEP/BasicSP/BMDisplay/BMDisplay_exec_export.h b/TAO/CIAO/examples/OEP/BasicSP/BMDisplay/BMDisplay_exec_export.h
deleted file mode 100644
index 1f684e4e2c0..00000000000
--- a/TAO/CIAO/examples/OEP/BasicSP/BMDisplay/BMDisplay_exec_export.h
+++ /dev/null
@@ -1,50 +0,0 @@
-
-// -*- C++ -*-
-// $Id$
-// Definition for Win32 Export directives.
-// This file is generated automatically by generate_export_file.pl BMDISPLAY_EXEC
-// ------------------------------
-#ifndef BMDISPLAY_EXEC_EXPORT_H
-#define BMDISPLAY_EXEC_EXPORT_H
-
-#include "ace/config-all.h"
-
-#if !defined (BMDISPLAY_EXEC_HAS_DLL)
-# define BMDISPLAY_EXEC_HAS_DLL 1
-#endif /* ! BMDISPLAY_EXEC_HAS_DLL */
-
-#if defined (BMDISPLAY_EXEC_HAS_DLL) && (BMDISPLAY_EXEC_HAS_DLL == 1)
-# if defined (BMDISPLAY_EXEC_BUILD_DLL)
-# define BMDISPLAY_EXEC_Export ACE_Proper_Export_Flag
-# define BMDISPLAY_EXEC_SINGLETON_DECLARATION(T) ACE_EXPORT_SINGLETON_DECLARATION (T)
-# define BMDISPLAY_EXEC_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_EXPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
-# else /* BMDISPLAY_EXEC_BUILD_DLL */
-# define BMDISPLAY_EXEC_Export ACE_Proper_Import_Flag
-# define BMDISPLAY_EXEC_SINGLETON_DECLARATION(T) ACE_IMPORT_SINGLETON_DECLARATION (T)
-# define BMDISPLAY_EXEC_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_IMPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
-# endif /* BMDISPLAY_EXEC_BUILD_DLL */
-#else /* BMDISPLAY_EXEC_HAS_DLL == 1 */
-# define BMDISPLAY_EXEC_Export
-# define BMDISPLAY_EXEC_SINGLETON_DECLARATION(T)
-# define BMDISPLAY_EXEC_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
-#endif /* BMDISPLAY_EXEC_HAS_DLL == 1 */
-
-// Set BMDISPLAY_EXEC_NTRACE = 0 to turn on library specific tracing even if
-// tracing is turned off for ACE.
-#if !defined (BMDISPLAY_EXEC_NTRACE)
-# if (ACE_NTRACE == 1)
-# define BMDISPLAY_EXEC_NTRACE 1
-# else /* (ACE_NTRACE == 1) */
-# define BMDISPLAY_EXEC_NTRACE 0
-# endif /* (ACE_NTRACE == 1) */
-#endif /* !BMDISPLAY_EXEC_NTRACE */
-
-#if (BMDISPLAY_EXEC_NTRACE == 1)
-# define BMDISPLAY_EXEC_TRACE(X)
-#else /* (BMDISPLAY_EXEC_NTRACE == 1) */
-# define BMDISPLAY_EXEC_TRACE(X) ACE_TRACE_IMPL(X)
-#endif /* (BMDISPLAY_EXEC_NTRACE == 1) */
-
-#endif /* BMDISPLAY_EXEC_EXPORT_H */
-
-// End of auto generated file.
diff --git a/TAO/CIAO/examples/OEP/BasicSP/BMDisplay/BMDisplay_stub.dsp b/TAO/CIAO/examples/OEP/BasicSP/BMDisplay/BMDisplay_stub.dsp
deleted file mode 100644
index cfd8868f33c..00000000000
--- a/TAO/CIAO/examples/OEP/BasicSP/BMDisplay/BMDisplay_stub.dsp
+++ /dev/null
@@ -1,138 +0,0 @@
-# Microsoft Developer Studio Project File - Name="BMDisplay_stub DLL" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 6.00
-# ** DO NOT EDIT **
-
-# TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102
-
-CFG=BMDisplay_stub DLL - Win32 Debug
-!MESSAGE This is not a valid makefile. To build this project using NMAKE,
-!MESSAGE use the Export Makefile command and run
-!MESSAGE
-!MESSAGE NMAKE /f "BMDisplay_stub.mak".
-!MESSAGE
-!MESSAGE You can specify a configuration when running NMAKE
-!MESSAGE by defining the macro CFG on the command line. For example:
-!MESSAGE
-!MESSAGE NMAKE /f "BMDisplay_stub.mak" CFG="BMDisplay_stub DLL - Win32 Debug"
-!MESSAGE
-!MESSAGE Possible choices for configuration are:
-!MESSAGE
-!MESSAGE "BMDisplay_stub DLL - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library")
-!MESSAGE "BMDisplay_stub DLL - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library")
-!MESSAGE
-
-# Begin Project
-# PROP AllowPerConfigDependencies 0
-# PROP Scc_ProjName ""
-# PROP Scc_LocalPath ""
-CPP=cl.exe
-MTL=midl.exe
-RSC=rc.exe
-
-!IF "$(CFG)" == "BMDisplay_stub DLL - Win32 Release"
-
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "."
-# PROP Intermediate_Dir "Release\BMDisplay_stub"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD CPP /nologo /MD /W3 /GR /GX /Zi /O2 /I "..\..\..\..\..\orbsvcs\orbsvcs" /I "..\..\..\.." /I "..\..\..\..\ciao" /I "..\..\..\..\.." /I "..\..\..\..\..\tao" /I "..\..\..\..\..\.." /D NDEBUG=1 /D WIN32=1 /D _WINDOWS=1 /D BMDISPLAY_STUB_BUILD_DLL=1 /FD /c
-# SUBTRACT CPP /YX
-# ADD BASE RSC /l 0x409
-# ADD RSC /l 0x409 /i "..\..\..\.." /i "..\..\..\..\ciao" /i "..\..\..\..\.." /i "..\..\..\..\..\tao" /i "..\..\..\..\..\.." /d NDEBUG=1
-BSC32=bscmake.exe
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 /machine:IX86
-# ADD LINK32 BasicSP_stub.lib TAO.lib TAO_Security.lib TAO_IFR_Client.lib TAO_Valuetype.lib CIAO_Client.lib ACE.lib /nologo /subsystem:windows /dll /pdb:"..\..\..\..\..\..\bin\BMDisplay_stub.pdb" /machine:I386 /out:"..\..\..\..\..\..\bin\BMDisplay_stub.dll" /libpath:".." /libpath:"..\..\..\..\..\orbsvcs\orbsvcs" /libpath:"..\..\..\..\..\tao\IFR_Client" /libpath:"..\..\..\..\..\tao\Valuetype" /libpath:"..\..\..\..\ciao" /libpath:"..\..\..\..\..\tao" /libpath:"..\..\..\..\..\..\ace" /version:1.3.1
-# SUBTRACT LINK32 /pdb:none
-
-!ELSEIF "$(CFG)" == "BMDisplay_stub DLL - Win32 Debug"
-
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "."
-# PROP Intermediate_Dir "Debug\BMDisplay_stub"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD CPP /nologo /MDd /W3 /Gm /GR /GX /Zi /Od /Gy /I "..\..\..\..\..\orbsvcs\orbsvcs" /I "..\..\..\.." /I "..\..\..\..\ciao" /I "..\..\..\..\.." /I "..\..\..\..\..\tao" /I "..\..\..\..\..\.." /D _DEBUG=1 /D WIN32=1 /D _WINDOWS=1 /D BMDISPLAY_STUB_BUILD_DLL=1 /FD /c
-# SUBTRACT CPP /Fr /YX
-# ADD BASE RSC /l 0x409
-# ADD RSC /l 0x409 /i "..\..\..\.." /i "..\..\..\..\ciao" /i "..\..\..\..\.." /i "..\..\..\..\..\tao" /i "..\..\..\..\..\.." /d _DEBUG=1
-BSC32=bscmake.exe
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 /machine:IX86
-# ADD LINK32 BasicSP_stubd.lib TAOd.lib TAO_Securityd.lib TAO_IFR_Clientd.lib TAO_Valuetyped.lib CIAO_Clientd.lib ACEd.lib /nologo /subsystem:windows /dll /incremental:no /pdb:"..\..\..\..\..\..\bin\BMDisplay_stubd.pdb" /debug /machine:I386 /out:"..\..\..\..\..\..\bin\BMDisplay_stubd.dll" /libpath:".." /libpath:"..\..\..\..\..\orbsvcs\orbsvcs" /libpath:"..\..\..\..\..\tao\IFR_Client" /libpath:"..\..\..\..\..\tao\Valuetype" /libpath:"..\..\..\..\ciao" /libpath:"..\..\..\..\..\tao" /libpath:"..\..\..\..\..\..\ace" /version:1.3.1
-# SUBTRACT LINK32 /pdb:none
-
-!ENDIF
-
-# Begin Target
-
-# Name "BMDisplay_stub DLL - Win32 Release"
-# Name "BMDisplay_stub DLL - Win32 Debug"
-# Begin Group "Source Files"
-
-# PROP Default_Filter "cpp;cxx;c"
-# Begin Source File
-
-SOURCE=.\BMDisplayC.cpp
-# End Source File
-# End Group
-# Begin Group "Header Files"
-
-# PROP Default_Filter "h;hpp;hxx;hh"
-# Begin Source File
-
-SOURCE=.\BMDisplayC.h
-# End Source File
-# End Group
-# Begin Group "Inline Files"
-
-# PROP Default_Filter "i;inl"
-# Begin Source File
-
-SOURCE=.\BMDisplayC.i
-# End Source File
-# End Group
-# Begin Group "IDL Files"
-
-# PROP Default_Filter "idl"
-# Begin Source File
-
-SOURCE=.\BMDisplay.idl
-
-!IF "$(CFG)" == "BMDisplay_stub DLL - Win32 Release"
-
-# PROP Ignore_Default_Tool 1
-USERDEP__BMDIS="..\..\..\..\..\..\bin\tao_idl.exe"
-# Begin Custom Build - Invoking TAO IDL Compiler on $(InputPath)
-InputPath=.\BMDisplay.idl
-InputName=BMDisplay
-
-"$(InputName)C.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- ..\..\..\..\..\..\bin\tao_idl -o . -Wb,stub_export_macro=BMDISPLAY_STUB_Export -Wb,stub_export_include=BMDisplay_stub_export.h -Wb,skel_export_macro=BMDISPLAY_SVNT_Export -Wb,skel_export_include=BMDisplay_svnt_export.h -Wb,pre_include="ace\pre.h" -Wb,post_include="ace\post.h" -I ..\..\..\.. -I ..\..\..\..\.. -I ..\..\..\..\ciao -I ..\..\..\..\..\orbsvcs\orbsvcs -Ge 1 -Sc $(InputPath)
-
-# End Custom Build
-
-!ELSEIF "$(CFG)" == "BMDisplay_stub DLL - Win32 Debug"
-
-# PROP Ignore_Default_Tool 1
-USERDEP__BMDIS="..\..\..\..\..\..\bin\tao_idl.exe"
-# Begin Custom Build - Invoking TAO IDL Compiler on $(InputPath)
-InputPath=.\BMDisplay.idl
-InputName=BMDisplay
-
-"$(InputName)C.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- ..\..\..\..\..\..\bin\tao_idl -o . -Wb,stub_export_macro=BMDISPLAY_STUB_Export -Wb,stub_export_include=BMDisplay_stub_export.h -Wb,skel_export_macro=BMDISPLAY_SVNT_Export -Wb,skel_export_include=BMDisplay_svnt_export.h -Wb,pre_include="ace\pre.h" -Wb,post_include="ace\post.h" -I ..\..\..\.. -I ..\..\..\..\.. -I ..\..\..\..\ciao -I ..\..\..\..\..\orbsvcs\orbsvcs -Ge 1 -Sc $(InputPath)
-
-# End Custom Build
-
-!ENDIF
-
-# End Source File
-# End Group
-# End Target
-# End Project
diff --git a/TAO/CIAO/examples/OEP/BasicSP/BMDisplay/BMDisplay_stub_export.h b/TAO/CIAO/examples/OEP/BasicSP/BMDisplay/BMDisplay_stub_export.h
deleted file mode 100644
index 399dbb7425d..00000000000
--- a/TAO/CIAO/examples/OEP/BasicSP/BMDisplay/BMDisplay_stub_export.h
+++ /dev/null
@@ -1,50 +0,0 @@
-
-// -*- C++ -*-
-// $Id$
-// Definition for Win32 Export directives.
-// This file is generated automatically by generate_export_file.pl BMDISPLAY_STUB
-// ------------------------------
-#ifndef BMDISPLAY_STUB_EXPORT_H
-#define BMDISPLAY_STUB_EXPORT_H
-
-#include "ace/config-all.h"
-
-#if !defined (BMDISPLAY_STUB_HAS_DLL)
-# define BMDISPLAY_STUB_HAS_DLL 1
-#endif /* ! BMDISPLAY_STUB_HAS_DLL */
-
-#if defined (BMDISPLAY_STUB_HAS_DLL) && (BMDISPLAY_STUB_HAS_DLL == 1)
-# if defined (BMDISPLAY_STUB_BUILD_DLL)
-# define BMDISPLAY_STUB_Export ACE_Proper_Export_Flag
-# define BMDISPLAY_STUB_SINGLETON_DECLARATION(T) ACE_EXPORT_SINGLETON_DECLARATION (T)
-# define BMDISPLAY_STUB_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_EXPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
-# else /* BMDISPLAY_STUB_BUILD_DLL */
-# define BMDISPLAY_STUB_Export ACE_Proper_Import_Flag
-# define BMDISPLAY_STUB_SINGLETON_DECLARATION(T) ACE_IMPORT_SINGLETON_DECLARATION (T)
-# define BMDISPLAY_STUB_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_IMPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
-# endif /* BMDISPLAY_STUB_BUILD_DLL */
-#else /* BMDISPLAY_STUB_HAS_DLL == 1 */
-# define BMDISPLAY_STUB_Export
-# define BMDISPLAY_STUB_SINGLETON_DECLARATION(T)
-# define BMDISPLAY_STUB_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
-#endif /* BMDISPLAY_STUB_HAS_DLL == 1 */
-
-// Set BMDISPLAY_STUB_NTRACE = 0 to turn on library specific tracing even if
-// tracing is turned off for ACE.
-#if !defined (BMDISPLAY_STUB_NTRACE)
-# if (ACE_NTRACE == 1)
-# define BMDISPLAY_STUB_NTRACE 1
-# else /* (ACE_NTRACE == 1) */
-# define BMDISPLAY_STUB_NTRACE 0
-# endif /* (ACE_NTRACE == 1) */
-#endif /* !BMDISPLAY_STUB_NTRACE */
-
-#if (BMDISPLAY_STUB_NTRACE == 1)
-# define BMDISPLAY_STUB_TRACE(X)
-#else /* (BMDISPLAY_STUB_NTRACE == 1) */
-# define BMDISPLAY_STUB_TRACE(X) ACE_TRACE_IMPL(X)
-#endif /* (BMDISPLAY_STUB_NTRACE == 1) */
-
-#endif /* BMDISPLAY_STUB_EXPORT_H */
-
-// End of auto generated file.
diff --git a/TAO/CIAO/examples/OEP/BasicSP/BMDisplay/BMDisplay_svnt.dsp b/TAO/CIAO/examples/OEP/BasicSP/BMDisplay/BMDisplay_svnt.dsp
deleted file mode 100644
index ab57da10d31..00000000000
--- a/TAO/CIAO/examples/OEP/BasicSP/BMDisplay/BMDisplay_svnt.dsp
+++ /dev/null
@@ -1,237 +0,0 @@
-# Microsoft Developer Studio Project File - Name="BMDisplay_svnt DLL" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 6.00
-# ** DO NOT EDIT **
-
-# TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102
-
-CFG=BMDisplay_svnt DLL - Win32 Debug
-!MESSAGE This is not a valid makefile. To build this project using NMAKE,
-!MESSAGE use the Export Makefile command and run
-!MESSAGE
-!MESSAGE NMAKE /f "BMDisplay_svnt.mak".
-!MESSAGE
-!MESSAGE You can specify a configuration when running NMAKE
-!MESSAGE by defining the macro CFG on the command line. For example:
-!MESSAGE
-!MESSAGE NMAKE /f "BMDisplay_svnt.mak" CFG="BMDisplay_svnt DLL - Win32 Debug"
-!MESSAGE
-!MESSAGE Possible choices for configuration are:
-!MESSAGE
-!MESSAGE "BMDisplay_svnt DLL - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library")
-!MESSAGE "BMDisplay_svnt DLL - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library")
-!MESSAGE
-
-# Begin Project
-# PROP AllowPerConfigDependencies 0
-# PROP Scc_ProjName ""
-# PROP Scc_LocalPath ""
-CPP=cl.exe
-MTL=midl.exe
-RSC=rc.exe
-
-!IF "$(CFG)" == "BMDisplay_svnt DLL - Win32 Release"
-
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "."
-# PROP Intermediate_Dir "Release\BMDisplay_svnt"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD CPP /nologo /MD /W3 /GR /GX /Zi /O2 /I "..\..\..\..\..\orbsvcs\orbsvcs" /I "..\..\..\.." /I "..\..\..\..\ciao" /I "..\..\..\..\.." /I "..\..\..\..\..\tao" /I "..\..\..\..\..\.." /D NDEBUG=1 /D WIN32=1 /D _WINDOWS=1 /D BMDISPLAY_SVNT_BUILD_DLL=1 /FD /c
-# SUBTRACT CPP /YX
-# ADD BASE RSC /l 0x409
-# ADD RSC /l 0x409 /i "..\..\..\..\..\orbsvcs\orbsvcs" /i "..\..\..\.." /i "..\..\..\..\ciao" /i "..\..\..\..\.." /i "..\..\..\..\..\tao" /i "..\..\..\..\..\.." /d NDEBUG=1
-BSC32=bscmake.exe
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 /machine:IX86
-# ADD LINK32 BMDisplay_stub.lib BasicSP_stub.lib BasicSP_svnt.lib CIAO_Server.lib TAO_PortableServer.lib TAO_IORInterceptor.lib TAO_ObjRefTemplate.lib TAO_Security.lib CIAO_Container.lib TAO.lib TAO_IFR_Client.lib TAO_Valuetype.lib CIAO_Client.lib ACE.lib /nologo /subsystem:windows /dll /pdb:"..\..\..\..\..\..\bin\BMDisplay_svnt.pdb" /machine:I386 /out:"..\..\..\..\..\..\bin\BMDisplay_svnt.dll" /libpath:".." /libpath:"..\..\..\..\..\tao\PortableServer" /libpath:"..\..\..\..\..\tao\IORInterceptor" /libpath:"..\..\..\..\..\tao\ObjRefTemplate" /libpath:"..\..\..\..\..\orbsvcs\orbsvcs" /libpath:"..\..\..\..\..\tao\IFR_Client" /libpath:"..\..\..\..\..\tao\Valuetype" /libpath:"..\..\..\..\ciao" /libpath:"..\..\..\..\..\tao" /libpath:"..\..\..\..\..\..\ace" /version:1.3.1
-# SUBTRACT LINK32 /pdb:none
-
-!ELSEIF "$(CFG)" == "BMDisplay_svnt DLL - Win32 Debug"
-
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "."
-# PROP Intermediate_Dir "Debug\BMDisplay_svnt"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD CPP /nologo /MDd /W3 /Gm /GR /GX /Zi /Od /Gy /I "..\..\..\..\..\orbsvcs\orbsvcs" /I "..\..\..\.." /I "..\..\..\..\ciao" /I "..\..\..\..\.." /I "..\..\..\..\..\tao" /I "..\..\..\..\..\.." /D _DEBUG=1 /D WIN32=1 /D _WINDOWS=1 /D BMDISPLAY_SVNT_BUILD_DLL=1 /FD /c
-# SUBTRACT CPP /Fr /YX
-# ADD BASE RSC /l 0x409
-# ADD RSC /l 0x409 /i "..\..\..\..\..\orbsvcs\orbsvcs" /i "..\..\..\.." /i "..\..\..\..\ciao" /i "..\..\..\..\.." /i "..\..\..\..\..\tao" /i "..\..\..\..\..\.." /d _DEBUG=1
-BSC32=bscmake.exe
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 /machine:IX86
-# ADD LINK32 advapi32.lib user32.lib BMDisplay_stubd.lib BasicSP_stubd.lib BasicSP_svntd.lib CIAO_Serverd.lib TAO_PortableServerd.lib TAO_IORInterceptord.lib TAO_ObjRefTemplated.lib TAO_Securityd.lib CIAO_Containerd.lib TAOd.lib TAO_IFR_Clientd.lib TAO_Valuetyped.lib CIAO_Clientd.lib ACEd.lib /nologo /subsystem:windows /dll /incremental:no /pdb:"..\..\..\..\..\..\bin\BMDisplay_svntd.pdb" /debug /machine:I386 /out:"..\..\..\..\..\..\bin\BMDisplay_svntd.dll" /libpath:".." /libpath:"..\..\..\..\..\tao\PortableServer" /libpath:"..\..\..\..\..\tao\IORInterceptor" /libpath:"..\..\..\..\..\tao\ObjRefTemplate" /libpath:"..\..\..\..\..\orbsvcs\orbsvcs" /libpath:"..\..\..\..\..\tao\IFR_Client" /libpath:"..\..\..\..\..\tao\Valuetype" /libpath:"..\..\..\..\ciao" /libpath:"..\..\..\..\..\tao" /libpath:"..\..\..\..\..\..\ace" /version:1.3.1
-# SUBTRACT LINK32 /pdb:none
-
-!ENDIF
-
-# Begin Target
-
-# Name "BMDisplay_svnt DLL - Win32 Release"
-# Name "BMDisplay_svnt DLL - Win32 Debug"
-# Begin Group "Source Files"
-
-# PROP Default_Filter "cpp;cxx;c"
-# Begin Source File
-
-SOURCE=.\BMDisplay_svnt.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\BMDisplayEC.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\BMDisplayS.cpp
-# End Source File
-# End Group
-# Begin Group "Header Files"
-
-# PROP Default_Filter "h;hpp;hxx;hh"
-# Begin Source File
-
-SOURCE=.\BMDisplay_svnt.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\BMDisplayEC.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\BMDisplayS.h
-# End Source File
-# End Group
-# Begin Group "Inline Files"
-
-# PROP Default_Filter "i;inl"
-# Begin Source File
-
-SOURCE=.\BMDisplayEC.i
-# End Source File
-# Begin Source File
-
-SOURCE=.\BMDisplayS.i
-# End Source File
-# End Group
-# Begin Group "IDL Files"
-
-# PROP Default_Filter "idl"
-# Begin Source File
-
-SOURCE=.\BMDisplay.cidl
-
-!IF "$(CFG)" == "BMDisplay_svnt DLL - Win32 Release"
-
-USERDEP__BMDIS="..\..\..\..\..\..\bin\cidlc.exe"
-# Begin Custom Build - Invoking CIAO CIDL Compiler on $(InputPath)
-InputPath=.\BMDisplay.cidl
-InputName=BMDisplay
-
-BuildCmds= \
- ..\..\..\..\bin\cidlc --lem-file-suffix "E.idl" -- $(InputName).cidl
-
-"$(InputName)E.idl" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-
-"$(InputName)_svnt.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-
-"$(InputName)_svnt.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-# End Custom Build
-
-!ELSEIF "$(CFG)" == "BMDisplay_svnt DLL - Win32 Debug"
-
-USERDEP__BMDIS="..\..\..\..\..\..\bin\cidlc.exe"
-# Begin Custom Build - Invoking CIAO CIDL Compiler on $(InputPath)
-InputPath=.\BMDisplay.cidl
-InputName=BMDisplay
-
-BuildCmds= \
- ..\..\..\..\bin\cidlc --lem-file-suffix "E.idl" -- $(InputName).cidl
-
-"$(InputName)E.idl" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-
-"$(InputName)_svnt.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-
-"$(InputName)_svnt.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-# End Custom Build
-
-!ENDIF
-
-# End Source File
-# Begin Source File
-
-SOURCE=.\BMDisplayE.idl
-
-!IF "$(CFG)" == "BMDisplay_svnt DLL - Win32 Release"
-
-# PROP Ignore_Default_Tool 1
-# Begin Custom Build - Invoking IDL Compiler on $(InputPath)
-InputPath=.\BMDisplayE.idl
-InputName=BMDisplayE
-
-BuildCmds= \
- ..\..\..\..\..\..\bin\tao_idl -o . -Wb,export_macro=BMDISPLAY_SVNT_Export -Wb,export_include=BMDisplay_svnt_export.h -I..\..\..\..\.. -I..\..\..\..\..\CIAO\ciao -Wb,pre_include="ace\pre.h" -Wb,post_include="ace\post.h" -I ..\..\..\.. -I ..\..\..\..\.. -I ..\..\..\..\..\orbsvcs\orbsvcs -Ge 1 -Sc $(InputPath)
-
-".\$(InputName)C.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-
-".\$(InputName)C.i" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-
-".\$(InputName)C.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-
-".\$(InputName)S.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-
-".\$(InputName)S.i" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-
-".\$(InputName)S.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-# End Custom Build
-
-!ELSEIF "$(CFG)" == "BMDisplay_svnt DLL - Win32 Debug"
-
-# PROP Ignore_Default_Tool 1
-# Begin Custom Build - Invoking IDL Compiler on $(InputPath)
-InputPath=.\BMDisplayE.idl
-InputName=BMDisplayE
-
-BuildCmds= \
- ..\..\..\..\..\..\bin\tao_idl -o . -Wb,export_macro=BMDISPLAY_SVNT_Export -Wb,export_include=BMDisplay_svnt_export.h -I..\..\..\..\.. -I..\..\..\..\..\CIAO\ciao -Wb,pre_include="ace\pre.h" -Wb,post_include="ace\post.h" -I ..\..\..\.. -I ..\..\..\..\.. -I ..\..\..\..\..\orbsvcs\orbsvcs -Ge 1 -Sc $(InputPath)
-
-".\$(InputName)C.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-
-".\$(InputName)C.i" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-
-".\$(InputName)C.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-
-".\$(InputName)S.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-
-".\$(InputName)S.i" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-
-".\$(InputName)S.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-# End Custom Build
-
-!ENDIF
-
-# End Source File
-# End Group
-# End Target
-# End Project
diff --git a/TAO/CIAO/examples/OEP/BasicSP/BMDisplay/BMDisplay_svnt_export.h b/TAO/CIAO/examples/OEP/BasicSP/BMDisplay/BMDisplay_svnt_export.h
deleted file mode 100644
index 2392da154d7..00000000000
--- a/TAO/CIAO/examples/OEP/BasicSP/BMDisplay/BMDisplay_svnt_export.h
+++ /dev/null
@@ -1,50 +0,0 @@
-
-// -*- C++ -*-
-// $Id$
-// Definition for Win32 Export directives.
-// This file is generated automatically by generate_export_file.pl BMDISPLAY_SVNT
-// ------------------------------
-#ifndef BMDISPLAY_SVNT_EXPORT_H
-#define BMDISPLAY_SVNT_EXPORT_H
-
-#include "ace/config-all.h"
-
-#if !defined (BMDISPLAY_SVNT_HAS_DLL)
-# define BMDISPLAY_SVNT_HAS_DLL 1
-#endif /* ! BMDISPLAY_SVNT_HAS_DLL */
-
-#if defined (BMDISPLAY_SVNT_HAS_DLL) && (BMDISPLAY_SVNT_HAS_DLL == 1)
-# if defined (BMDISPLAY_SVNT_BUILD_DLL)
-# define BMDISPLAY_SVNT_Export ACE_Proper_Export_Flag
-# define BMDISPLAY_SVNT_SINGLETON_DECLARATION(T) ACE_EXPORT_SINGLETON_DECLARATION (T)
-# define BMDISPLAY_SVNT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_EXPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
-# else /* BMDISPLAY_SVNT_BUILD_DLL */
-# define BMDISPLAY_SVNT_Export ACE_Proper_Import_Flag
-# define BMDISPLAY_SVNT_SINGLETON_DECLARATION(T) ACE_IMPORT_SINGLETON_DECLARATION (T)
-# define BMDISPLAY_SVNT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_IMPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
-# endif /* BMDISPLAY_SVNT_BUILD_DLL */
-#else /* BMDISPLAY_SVNT_HAS_DLL == 1 */
-# define BMDISPLAY_SVNT_Export
-# define BMDISPLAY_SVNT_SINGLETON_DECLARATION(T)
-# define BMDISPLAY_SVNT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
-#endif /* BMDISPLAY_SVNT_HAS_DLL == 1 */
-
-// Set BMDISPLAY_SVNT_NTRACE = 0 to turn on library specific tracing even if
-// tracing is turned off for ACE.
-#if !defined (BMDISPLAY_SVNT_NTRACE)
-# if (ACE_NTRACE == 1)
-# define BMDISPLAY_SVNT_NTRACE 1
-# else /* (ACE_NTRACE == 1) */
-# define BMDISPLAY_SVNT_NTRACE 0
-# endif /* (ACE_NTRACE == 1) */
-#endif /* !BMDISPLAY_SVNT_NTRACE */
-
-#if (BMDISPLAY_SVNT_NTRACE == 1)
-# define BMDISPLAY_SVNT_TRACE(X)
-#else /* (BMDISPLAY_SVNT_NTRACE == 1) */
-# define BMDISPLAY_SVNT_TRACE(X) ACE_TRACE_IMPL(X)
-#endif /* (BMDISPLAY_SVNT_NTRACE == 1) */
-
-#endif /* BMDISPLAY_SVNT_EXPORT_H */
-
-// End of auto generated file.
diff --git a/TAO/CIAO/examples/OEP/BasicSP/BMDisplay/config b/TAO/CIAO/examples/OEP/BasicSP/BMDisplay/config
deleted file mode 100644
index 6d9a49031b1..00000000000
--- a/TAO/CIAO/examples/OEP/BasicSP/BMDisplay/config
+++ /dev/null
@@ -1 +0,0 @@
-BMDisplay_exec|createBMDisplayHome_Impl|BMDisplay_svnt|createBMDisplayHome_Servant
diff --git a/TAO/CIAO/examples/OEP/BasicSP/BasicSP.dsw b/TAO/CIAO/examples/OEP/BasicSP/BasicSP.dsw
deleted file mode 100644
index 2be589e25ab..00000000000
--- a/TAO/CIAO/examples/OEP/BasicSP/BasicSP.dsw
+++ /dev/null
@@ -1,251 +0,0 @@
-Microsoft Developer Studio Workspace File, Format Version 6.00
-# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
-
-###############################################################################
-
-Project: "BMClosedED_exec DLL"=.\BMClosedED\BMClosedED_exec.dsp - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
- Begin Project Dependency
- Project_Dep_Name BMClosedED_svnt DLL
- End Project Dependency
-}}}
-
-###############################################################################
-
-Project: "BMClosedED_stub DLL"=.\BMClosedED\BMClosedED_stub.dsp - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
-}}}
-
-###############################################################################
-
-Project: "BMClosedED_svnt DLL"=.\BMClosedED\BMClosedED_svnt.dsp - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
- Begin Project Dependency
- Project_Dep_Name BMClosedED_stub DLL
- End Project Dependency
- Begin Project Dependency
- Project_Dep_Name BasicSP_svnt DLL
- End Project Dependency
-}}}
-
-###############################################################################
-
-Project: "BMDevice_exec DLL"=.\BMDevice\BMDevice_exec.dsp - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
- Begin Project Dependency
- Project_Dep_Name BMDevice_svnt DLL
- End Project Dependency
-}}}
-
-###############################################################################
-
-Project: "BMDevice_stub DLL"=.\BMDevice\BMDevice_stub.dsp - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
-}}}
-
-###############################################################################
-
-Project: "BMDevice_svnt DLL"=.\BMDevice\BMDevice_svnt.dsp - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
- Begin Project Dependency
- Project_Dep_Name BMDevice_stub DLL
- End Project Dependency
- Begin Project Dependency
- Project_Dep_Name BasicSP_svnt DLL
- End Project Dependency
-}}}
-
-###############################################################################
-
-Project: "BMDisplay_exec DLL"=.\BMDisplay\BMDisplay_exec.dsp - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
- Begin Project Dependency
- Project_Dep_Name BMDisplay_svnt DLL
- End Project Dependency
-}}}
-
-###############################################################################
-
-Project: "BMDisplay_stub DLL"=.\BMDisplay\BMDisplay_stub.dsp - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
-}}}
-
-###############################################################################
-
-Project: "BMDisplay_svnt DLL"=.\BMDisplay\BMDisplay_svnt.dsp - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
- Begin Project Dependency
- Project_Dep_Name BMDisplay_stub DLL
- End Project Dependency
- Begin Project Dependency
- Project_Dep_Name BasicSP_svnt DLL
- End Project Dependency
-}}}
-
-###############################################################################
-
-Project: "BasicSP_stub DLL"=.\BasicSP_stub.dsp - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
-}}}
-
-###############################################################################
-
-Project: "BasicSP_svnt DLL"=.\BasicSP_svnt.dsp - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
-}}}
-
-###############################################################################
-
-Project: "EC_client EXE"=.\EC\EC_client.dsp - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
- Begin Project Dependency
- Project_Dep_Name EC_exec DLL
- End Project Dependency
-}}}
-
-###############################################################################
-
-Project: "EC_exec DLL"=.\EC\EC_exec.dsp - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
- Begin Project Dependency
- Project_Dep_Name EC_svnt DLL
- End Project Dependency
-}}}
-
-###############################################################################
-
-Project: "EC_stub DLL"=.\EC\EC_stub.dsp - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
-}}}
-
-###############################################################################
-
-Project: "EC_svnt DLL"=.\EC\EC_svnt.dsp - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
- Begin Project Dependency
- Project_Dep_Name EC_stub DLL
- End Project Dependency
- Begin Project Dependency
- Project_Dep_Name BasicSP_svnt DLL
- End Project Dependency
-}}}
-
-###############################################################################
-
-Project: "controller EXE"=.\EC\controller.dsp - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
- Begin Project Dependency
- Project_Dep_Name EC_exec DLL
- End Project Dependency
-}}}
-
-###############################################################################
-
-Global:
-
-Package=<5>
-{{{
-}}}
-
-Package=<3>
-{{{
-}}}
-
-###############################################################################
-
diff --git a/TAO/CIAO/examples/OEP/BasicSP/BasicSP.idl b/TAO/CIAO/examples/OEP/BasicSP/BasicSP.idl
deleted file mode 100644
index e8e0bf2ae2a..00000000000
--- a/TAO/CIAO/examples/OEP/BasicSP/BasicSP.idl
+++ /dev/null
@@ -1,47 +0,0 @@
-// $Id$
-//=============================================================================
-/**
- * @file BasicSP.idl
- *
- * Definition of events, and common interfaces used in the BasicSP module.
- *
- * @author Balachandran Natarajan <bala@dre.vanderbilt.edu>
- */
-//=============================================================================
-
-#ifndef CIAO_BASIC_SP_IDL
-#define CIAO_BASIC_SP_IDL
-
-#include <Components.idl>
-
-// @@NOTE: Do we need a pragma prefix. Anyway its broken now in TAO..
-// #pragma prefix ""
-
-module BasicSP
-{
-
- /**
- * @NOTE: Not sure whether this is a good abstraction. Just copying
- * the stuff from Cadena folks.
- */
- /**
- * @interface ReadData
- *
- */
-
- interface ReadData {
- string get_data ();
- };
-
- /**
- * @eventtype Events that represent timeouts
- */
- eventtype TimeOut {};
-
- /**
- * @eventtype Events that represent data availability
- */
- eventtype DataAvailable {};
-};
-
-#endif /*CIAO_BASIC_SP_IDL*/
diff --git a/TAO/CIAO/examples/OEP/BasicSP/BasicSP.mpc b/TAO/CIAO/examples/OEP/BasicSP/BasicSP.mpc
deleted file mode 100644
index f47269d0cdd..00000000000
--- a/TAO/CIAO/examples/OEP/BasicSP/BasicSP.mpc
+++ /dev/null
@@ -1,29 +0,0 @@
-// $Id$
-// This file is generated with "generate_component_mpc.pl -n HUDisplay"
-
-project(BasicSP_stub): ciao_client {
-
- sharedname = BasicSP_stub
- idlflags += -Wb,stub_export_macro=BASICSP_STUB_Export -Wb,stub_export_include=BasicSP_stub_export.h -Wb,skel_export_macro=BASICSP_SVNT_Export -Wb,skel_export_include=BasicSP_svnt_export.h
- dllflags = BASICSP_STUB_BUILD_DLL
-
- IDL_Files {
- BasicSP.idl
- }
-
- Source_Files {
- BasicSPC.cpp
- }
-}
-
-project(BasicSP_svnt) : ciao_server {
- depends += BasicSP_stub
- sharedname = BasicSP_svnt
- libs += BasicSP_stub
-
- dllflags = BASICSP_SVNT_BUILD_DLL
-
- Source_Files {
- BasicSPS.cpp
- }
-}
diff --git a/TAO/CIAO/examples/OEP/BasicSP/BasicSP_stub.dsp b/TAO/CIAO/examples/OEP/BasicSP/BasicSP_stub.dsp
deleted file mode 100644
index feaec07dd5d..00000000000
--- a/TAO/CIAO/examples/OEP/BasicSP/BasicSP_stub.dsp
+++ /dev/null
@@ -1,150 +0,0 @@
-# Microsoft Developer Studio Project File - Name="BasicSP_stub DLL" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 6.00
-# ** DO NOT EDIT **
-
-# TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102
-
-CFG=BasicSP_stub DLL - Win32 Debug
-!MESSAGE This is not a valid makefile. To build this project using NMAKE,
-!MESSAGE use the Export Makefile command and run
-!MESSAGE
-!MESSAGE NMAKE /f "BasicSP_stub.mak".
-!MESSAGE
-!MESSAGE You can specify a configuration when running NMAKE
-!MESSAGE by defining the macro CFG on the command line. For example:
-!MESSAGE
-!MESSAGE NMAKE /f "BasicSP_stub.mak" CFG="BasicSP_stub DLL - Win32 Debug"
-!MESSAGE
-!MESSAGE Possible choices for configuration are:
-!MESSAGE
-!MESSAGE "BasicSP_stub DLL - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library")
-!MESSAGE "BasicSP_stub DLL - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library")
-!MESSAGE
-
-# Begin Project
-# PROP AllowPerConfigDependencies 0
-# PROP Scc_ProjName ""
-# PROP Scc_LocalPath ""
-CPP=cl.exe
-MTL=midl.exe
-RSC=rc.exe
-
-!IF "$(CFG)" == "BasicSP_stub DLL - Win32 Release"
-
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "."
-# PROP Intermediate_Dir "Release\BasicSP_stub"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD CPP /nologo /MD /W3 /GR /GX /Zi /O2 /I "$(CIAO_ROOT)" /I "$(CIAO_ROOT)\ciao" /I "$(TAO_ROOT)" /I "$(TAO_ROOT)\tao" /I "..\..\..\..\.." /D NDEBUG=1 /D WIN32=1 /D _WINDOWS=1 /D BASICSP_STUB_BUILD_DLL=1 /FD /c
-# SUBTRACT CPP /YX
-# ADD BASE RSC /l 0x409
-# ADD RSC /l 0x409 /i "$(CIAO_ROOT)" /i "$(CIAO_ROOT)\ciao" /i "$(TAO_ROOT)" /i "$(TAO_ROOT)\tao" /i "..\..\..\..\.." /d NDEBUG=1
-BSC32=bscmake.exe
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 /machine:IX86
-# ADD LINK32 TAO.lib TAO_Security.lib TAO_IFR_Client.lib TAO_Valuetype.lib CIAO_Client.lib ACE.lib /nologo /subsystem:windows /dll /pdb:"..\..\..\..\..\bin\BasicSP_stub.pdb" /machine:I386 /out:"..\..\..\..\..\bin\BasicSP_stub.dll" /libpath:"$(TAO_ROOT)\orbsvcs\orbsvcs" /libpath:"$(TAO_ROOT)\tao\IFR_Client" /libpath:"$(TAO_ROOT)\tao\Valuetype" /libpath:"$(CIAO_ROOT)\ciao" /libpath:"$(TAO_ROOT)\tao" /libpath:"..\..\..\..\..\ace" /version:1.3.1
-# SUBTRACT LINK32 /pdb:none
-
-!ELSEIF "$(CFG)" == "BasicSP_stub DLL - Win32 Debug"
-
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "."
-# PROP Intermediate_Dir "Debug\BasicSP_stub"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD CPP /nologo /MDd /W3 /Gm /GR /GX /Zi /Od /Gy /I "$(CIAO_ROOT)" /I "$(CIAO_ROOT)\ciao" /I "$(TAO_ROOT)" /I "$(TAO_ROOT)\orbsvcs\orbsvcs" /I "$(TAO_ROOT)\tao" /I "..\..\..\..\.." /D _DEBUG=1 /D WIN32=1 /D _WINDOWS=1 /D BASICSP_STUB_BUILD_DLL=1 /FD /c
-# SUBTRACT CPP /Fr /YX
-# ADD BASE RSC /l 0x409
-# ADD RSC /l 0x409 /i "$(CIAO_ROOT)" /i "$(CIAO_ROOT)\ciao" /i "$(TAO_ROOT)" /i "$(TAO_ROOT)\tao" /i "..\..\..\..\.." /d _DEBUG=1
-BSC32=bscmake.exe
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 /machine:IX86
-# ADD LINK32 TAOd.lib TAO_Securityd.lib TAO_IFR_Clientd.lib TAO_Valuetyped.lib CIAO_Clientd.lib ACEd.lib /nologo /subsystem:windows /dll /incremental:no /pdb:"..\..\..\..\..\bin\BasicSP_stubd.pdb" /debug /machine:I386 /out:"..\..\..\..\..\bin\BasicSP_stubd.dll" /libpath:"$(TAO_ROOT)\orbsvcs\orbsvcs" /libpath:"$(TAO_ROOT)\tao\IFR_Client" /libpath:"$(TAO_ROOT)\tao\Valuetype" /libpath:"$(CIAO_ROOT)\ciao" /libpath:"$(TAO_ROOT)\tao" /libpath:"..\..\..\..\..\ace" /version:1.3.1
-# SUBTRACT LINK32 /pdb:none
-
-!ENDIF
-
-# Begin Target
-
-# Name "BasicSP_stub DLL - Win32 Release"
-# Name "BasicSP_stub DLL - Win32 Debug"
-# Begin Group "Source Files"
-
-# PROP Default_Filter "cpp;cxx;c"
-# Begin Source File
-
-SOURCE=.\BasicSPC.cpp
-# End Source File
-# End Group
-# Begin Group "Header Files"
-
-# PROP Default_Filter "h;hpp;hxx;hh"
-# Begin Source File
-
-SOURCE=.\BasicSPC.h
-# End Source File
-# End Group
-# Begin Group "Inline Files"
-
-# PROP Default_Filter "i;inl"
-# Begin Source File
-
-SOURCE=.\BasicSPC.i
-# End Source File
-# End Group
-# Begin Group "Documentation"
-
-# PROP Default_Filter ""
-# Begin Source File
-
-SOURCE=.\NOTE.txt
-# End Source File
-# Begin Source File
-
-SOURCE=.\README
-# End Source File
-# End Group
-# Begin Group "IDL Files"
-
-# PROP Default_Filter "idl"
-# Begin Source File
-
-SOURCE=.\BasicSP.idl
-
-!IF "$(CFG)" == "BasicSP_stub DLL - Win32 Release"
-
-# PROP Ignore_Default_Tool 1
-USERDEP__BASIC="..\..\..\..\..\bin\tao_idl.exe"
-# Begin Custom Build - Invoking TAO IDL Compiler on $(InputPath)
-InputPath=.\BasicSP.idl
-InputName=BasicSP
-
-"$(InputName)C.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- ..\..\..\..\..\bin\tao_idl -o . -Wb,stub_export_macro=BASICSP_STUB_Export -Wb,stub_export_include=BasicSP_stub_export.h -Wb,skel_export_macro=BASICSP_SVNT_Export -Wb,skel_export_include=BasicSP_svnt_export.h -Wb,pre_include="ace\pre.h" -Wb,post_include="ace\post.h" -I $(CIAO_ROOT) -I $(TAO_ROOT) -I $(TAO_ROOT)\orbsvcs\orbsvcs -Ge 1 -Sc $(InputPath)
-
-# End Custom Build
-
-!ELSEIF "$(CFG)" == "BasicSP_stub DLL - Win32 Debug"
-
-# PROP Ignore_Default_Tool 1
-USERDEP__BASIC="..\..\..\..\..\bin\tao_idl.exe"
-# Begin Custom Build - Invoking TAO IDL Compiler on $(InputPath)
-InputPath=.\BasicSP.idl
-InputName=BasicSP
-
-"$(InputName)C.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- ..\..\..\..\..\bin\tao_idl -o . -Wb,stub_export_macro=BASICSP_STUB_Export -Wb,stub_export_include=BasicSP_stub_export.h -Wb,skel_export_macro=BASICSP_SVNT_Export -Wb,skel_export_include=BasicSP_svnt_export.h -Wb,pre_include="ace\pre.h" -Wb,post_include="ace\post.h" -I $(CIAO_ROOT) -I $(TAO_ROOT) -I $(TAO_ROOT)\orbsvcs\orbsvcs -Ge 1 -Sc $(InputPath)
-
-# End Custom Build
-
-!ENDIF
-
-# End Source File
-# End Group
-# End Target
-# End Project
diff --git a/TAO/CIAO/examples/OEP/BasicSP/BasicSP_stub_export.h b/TAO/CIAO/examples/OEP/BasicSP/BasicSP_stub_export.h
deleted file mode 100644
index 1ae476b4082..00000000000
--- a/TAO/CIAO/examples/OEP/BasicSP/BasicSP_stub_export.h
+++ /dev/null
@@ -1,50 +0,0 @@
-
-// -*- C++ -*-
-// $Id$
-// Definition for Win32 Export directives.
-// This file is generated automatically by generate_export_file.pl BASICSP_STUB
-// ------------------------------
-#ifndef BASICSP_STUB_EXPORT_H
-#define BASICSP_STUB_EXPORT_H
-
-#include "ace/config-all.h"
-
-#if !defined (BASICSP_STUB_HAS_DLL)
-# define BASICSP_STUB_HAS_DLL 1
-#endif /* ! BASICSP_STUB_HAS_DLL */
-
-#if defined (BASICSP_STUB_HAS_DLL) && (BASICSP_STUB_HAS_DLL == 1)
-# if defined (BASICSP_STUB_BUILD_DLL)
-# define BASICSP_STUB_Export ACE_Proper_Export_Flag
-# define BASICSP_STUB_SINGLETON_DECLARATION(T) ACE_EXPORT_SINGLETON_DECLARATION (T)
-# define BASICSP_STUB_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_EXPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
-# else /* BASICSP_STUB_BUILD_DLL */
-# define BASICSP_STUB_Export ACE_Proper_Import_Flag
-# define BASICSP_STUB_SINGLETON_DECLARATION(T) ACE_IMPORT_SINGLETON_DECLARATION (T)
-# define BASICSP_STUB_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_IMPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
-# endif /* BASICSP_STUB_BUILD_DLL */
-#else /* BASICSP_STUB_HAS_DLL == 1 */
-# define BASICSP_STUB_Export
-# define BASICSP_STUB_SINGLETON_DECLARATION(T)
-# define BASICSP_STUB_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
-#endif /* BASICSP_STUB_HAS_DLL == 1 */
-
-// Set BASICSP_STUB_NTRACE = 0 to turn on library specific tracing even if
-// tracing is turned off for ACE.
-#if !defined (BASICSP_STUB_NTRACE)
-# if (ACE_NTRACE == 1)
-# define BASICSP_STUB_NTRACE 1
-# else /* (ACE_NTRACE == 1) */
-# define BASICSP_STUB_NTRACE 0
-# endif /* (ACE_NTRACE == 1) */
-#endif /* !BASICSP_STUB_NTRACE */
-
-#if (BASICSP_STUB_NTRACE == 1)
-# define BASICSP_STUB_TRACE(X)
-#else /* (BASICSP_STUB_NTRACE == 1) */
-# define BASICSP_STUB_TRACE(X) ACE_TRACE_IMPL(X)
-#endif /* (BASICSP_STUB_NTRACE == 1) */
-
-#endif /* BASICSP_STUB_EXPORT_H */
-
-// End of auto generated file.
diff --git a/TAO/CIAO/examples/OEP/BasicSP/BasicSP_svnt.dsp b/TAO/CIAO/examples/OEP/BasicSP/BasicSP_svnt.dsp
deleted file mode 100644
index c589a16f23a..00000000000
--- a/TAO/CIAO/examples/OEP/BasicSP/BasicSP_svnt.dsp
+++ /dev/null
@@ -1,180 +0,0 @@
-# Microsoft Developer Studio Project File - Name="BasicSP_svnt DLL" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 6.00
-# ** DO NOT EDIT **
-
-# TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102
-
-CFG=BasicSP_svnt DLL - Win32 Debug
-!MESSAGE This is not a valid makefile. To build this project using NMAKE,
-!MESSAGE run the tool that generated this project file and specify the
-!MESSAGE nmake output type. You can then use the following command:
-!MESSAGE
-!MESSAGE NMAKE /f "BasicSP_svnt.mak".
-!MESSAGE
-!MESSAGE You can specify a configuration when running NMAKE
-!MESSAGE by defining the macro CFG on the command line. For example:
-!MESSAGE
-!MESSAGE NMAKE /f "BasicSP_svnt.mak" CFG="BasicSP_svnt DLL - Win32 Debug"
-!MESSAGE
-!MESSAGE Possible choices for configuration are:
-!MESSAGE
-!MESSAGE "BasicSP_svnt DLL - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library")
-!MESSAGE "BasicSP_svnt DLL - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library")
-!MESSAGE
-
-# Begin Project
-# PROP AllowPerConfigDependencies 0
-# PROP Scc_ProjName ""
-# PROP Scc_LocalPath ""
-CPP=cl.exe
-RSC=rc.exe
-
-!IF "$(CFG)" == "BasicSP_svnt DLL - Win32 Release"
-
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "."
-# PROP Intermediate_Dir "Release\BasicSP_svnt"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD CPP /nologo /W3 /GX /O2 /MD /Zi /GR /I "$(TAO_ROOT)\orbsvcs\orbsvcs" /I "$(CIAO_ROOT)" /I "$(CIAO_ROOT)\ciao" /I "$(TAO_ROOT)" /I "$(TAO_ROOT)\tao" /I "..\..\..\..\.." /D NDEBUG=1 /D WIN32=1 /D _WINDOWS=1 /D BASICSP_SVNT_BUILD_DLL=1 /FD /c
-# SUBTRACT CPP /YX
-# ADD RSC /l 0x409 /d NDEBUG=1 /i "$(TAO_ROOT)\orbsvcs\orbsvcs" /i "$(CIAO_ROOT)" /i "$(CIAO_ROOT)\ciao" /i "$(TAO_ROOT)" /i "$(TAO_ROOT)\tao" /i "..\..\..\..\.."
-BSC32=bscmake.exe
-# ADD BSC32 /nologo /o".\BasicSP_svnt.bsc"
-LINK32=link.exe
-# ADD LINK32 advapi32.lib user32.lib /INCREMENTAL:NO BasicSP_stub.lib CIAO_Server.lib TAO_PortableServer.lib TAO_IORInterceptor.lib TAO_ObjRefTemplate.lib TAO_Security.lib CIAO_Container.lib TAO.lib TAO_IFR_Client.lib TAO_Valuetype.lib CIAO_Client.lib ACE.lib /libpath:"$(TAO_ROOT)\tao\PortableServer" /libpath:"$(TAO_ROOT)\tao\IORInterceptor" /libpath:"$(TAO_ROOT)\tao\ObjRefTemplate" /libpath:"$(TAO_ROOT)\orbsvcs\orbsvcs" /libpath:"$(TAO_ROOT)\tao\IFR_Client" /libpath:"$(TAO_ROOT)\tao\Valuetype" /libpath:"$(CIAO_ROOT)\ciao" /libpath:"$(TAO_ROOT)\tao" /libpath:"..\..\..\..\..\ace" /nologo /version:1.3.1 /subsystem:windows /pdb:"..\..\..\..\..\bin\BasicSP_svnt.pdb" /dll /machine:I386 /out:"..\..\..\..\..\bin\BasicSP_svnt.dll"
-
-!ELSEIF "$(CFG)" == "BasicSP_svnt DLL - Win32 Debug"
-
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "."
-# PROP Intermediate_Dir "Debug\BasicSP_svnt"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD CPP /nologo /W3 /Gm /GX /Zi /Od /MDd /GR /Gy /I "$(TAO_ROOT)\orbsvcs\orbsvcs" /I "$(CIAO_ROOT)" /I "$(CIAO_ROOT)\ciao" /I "$(TAO_ROOT)" /I "$(TAO_ROOT)\tao" /I "..\..\..\..\.." /D _DEBUG=1 /D WIN32=1 /D _WINDOWS=1 /D BASICSP_SVNT_BUILD_DLL=1 /FD /c
-# SUBTRACT CPP /Fr /YX
-# ADD RSC /l 0x409 /d _DEBUG=1 /i "$(TAO_ROOT)\orbsvcs\orbsvcs" /i "$(CIAO_ROOT)" /i "$(CIAO_ROOT)\ciao" /i "$(TAO_ROOT)" /i "$(TAO_ROOT)\tao" /i "..\..\..\..\.."
-BSC32=bscmake.exe
-# ADD BSC32 /nologo /o".\BasicSP_svnt.bsc"
-LINK32=link.exe
-# ADD LINK32 advapi32.lib user32.lib /INCREMENTAL:NO BasicSP_stubd.lib CIAO_Serverd.lib TAO_PortableServerd.lib TAO_IORInterceptord.lib TAO_ObjRefTemplated.lib TAO_Securityd.lib CIAO_Containerd.lib TAOd.lib TAO_IFR_Clientd.lib TAO_Valuetyped.lib CIAO_Clientd.lib ACEd.lib /libpath:"$(TAO_ROOT)\tao\PortableServer" /libpath:"$(TAO_ROOT)\tao\IORInterceptor" /libpath:"$(TAO_ROOT)\tao\ObjRefTemplate" /libpath:"$(TAO_ROOT)\orbsvcs\orbsvcs" /libpath:"$(TAO_ROOT)\tao\IFR_Client" /libpath:"$(TAO_ROOT)\tao\Valuetype" /libpath:"$(CIAO_ROOT)\ciao" /libpath:"$(TAO_ROOT)\tao" /libpath:"..\..\..\..\..\ace" /nologo /version:1.3.1 /subsystem:windows /pdb:"..\..\..\..\..\bin\BasicSP_svntd.pdb" /dll /debug /machine:I386 /out:"..\..\..\..\..\bin\BasicSP_svntd.dll"
-
-!ENDIF
-
-# Begin Target
-
-# Name "BasicSP_svnt DLL - Win32 Release"
-# Name "BasicSP_svnt DLL - Win32 Debug"
-# Begin Group "Source Files"
-
-# PROP Default_Filter "cpp;cxx;c"
-# Begin Source File
-
-SOURCE=.\BasicSPS.cpp
-# End Source File
-# End Group
-# Begin Group "Header Files"
-
-# PROP Default_Filter "h;hpp;hxx;hh"
-# Begin Source File
-
-SOURCE=.\BasicSPS.h
-# End Source File
-# End Group
-# Begin Group "Inline Files"
-
-# PROP Default_Filter "i;inl"
-# Begin Source File
-
-SOURCE=.\BasicSPS.i
-# End Source File
-# End Group
-# Begin Group "Documentation"
-
-# PROP Default_Filter ""
-# Begin Source File
-
-SOURCE=.\NOTE.txt
-# End Source File
-# Begin Source File
-
-SOURCE=.\README
-# End Source File
-# End Group
-# Begin Group "IDL Files"
-
-# PROP Default_Filter "idl"
-# Begin Source File
-
-SOURCE=.\BasicSP.idl
-
-!IF "$(CFG)" == "BasicSP_svnt DLL - Win32 Release"
-
-# PROP Ignore_Default_Tool 1
-# Begin Custom Build - Invoking IDL Compiler on $(InputPath)
-InputPath=.\BasicSP.idl
-InputName=BasicSP
-InputDir=.
-
-BuildCmds= \
- ..\..\..\..\..\bin\tao_idl -o . -I$(TAO_ROOT) -I$(TAO_ROOT)\CIAO\ciao -Wb,pre_include="ace\pre.h" -Wb,post_include="ace\post.h" -I $(CIAO_ROOT) -I $(TAO_ROOT) -I $(TAO_ROOT)\orbsvcs\orbsvcs -Ge 1 -Sc $(InputPath)
-
-".\$(InputName)C.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-
-".\$(InputName)C.i" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-
-".\$(InputName)C.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-
-".\$(InputName)S.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-
-".\$(InputName)S.i" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-
-".\$(InputName)S.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-
-# End Custom Build
-
-!ELSEIF "$(CFG)" == "BasicSP_svnt DLL - Win32 Debug"
-
-# PROP Ignore_Default_Tool 1
-# Begin Custom Build - Invoking IDL Compiler on $(InputPath)
-InputPath=.\BasicSP.idl
-InputName=BasicSP
-InputDir=.
-
-BuildCmds= \
- ..\..\..\..\..\bin\tao_idl -o . -I$(TAO_ROOT) -I$(TAO_ROOT)\CIAO\ciao -Wb,pre_include="ace\pre.h" -Wb,post_include="ace\post.h" -I $(CIAO_ROOT) -I $(TAO_ROOT) -I $(TAO_ROOT)\orbsvcs\orbsvcs -Ge 1 -Sc $(InputPath)
-
-".\$(InputName)C.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-
-".\$(InputName)C.i" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-
-".\$(InputName)C.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-
-".\$(InputName)S.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-
-".\$(InputName)S.i" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-
-".\$(InputName)S.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-
-# End Custom Build
-
-!ENDIF
-
-# End Source File
-# End Group
-# End Target
-# End Project
diff --git a/TAO/CIAO/examples/OEP/BasicSP/BasicSP_svnt_export.h b/TAO/CIAO/examples/OEP/BasicSP/BasicSP_svnt_export.h
deleted file mode 100644
index 23c48f384d7..00000000000
--- a/TAO/CIAO/examples/OEP/BasicSP/BasicSP_svnt_export.h
+++ /dev/null
@@ -1,50 +0,0 @@
-
-// -*- C++ -*-
-// $Id$
-// Definition for Win32 Export directives.
-// This file is generated automatically by generate_export_file.pl BASICSP_SVNT
-// ------------------------------
-#ifndef BASICSP_SVNT_EXPORT_H
-#define BASICSP_SVNT_EXPORT_H
-
-#include "ace/config-all.h"
-
-#if !defined (BASICSP_SVNT_HAS_DLL)
-# define BASICSP_SVNT_HAS_DLL 1
-#endif /* ! BASICSP_SVNT_HAS_DLL */
-
-#if defined (BASICSP_SVNT_HAS_DLL) && (BASICSP_SVNT_HAS_DLL == 1)
-# if defined (BASICSP_SVNT_BUILD_DLL)
-# define BASICSP_SVNT_Export ACE_Proper_Export_Flag
-# define BASICSP_SVNT_SINGLETON_DECLARATION(T) ACE_EXPORT_SINGLETON_DECLARATION (T)
-# define BASICSP_SVNT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_EXPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
-# else /* BASICSP_SVNT_BUILD_DLL */
-# define BASICSP_SVNT_Export ACE_Proper_Import_Flag
-# define BASICSP_SVNT_SINGLETON_DECLARATION(T) ACE_IMPORT_SINGLETON_DECLARATION (T)
-# define BASICSP_SVNT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_IMPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
-# endif /* BASICSP_SVNT_BUILD_DLL */
-#else /* BASICSP_SVNT_HAS_DLL == 1 */
-# define BASICSP_SVNT_Export
-# define BASICSP_SVNT_SINGLETON_DECLARATION(T)
-# define BASICSP_SVNT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
-#endif /* BASICSP_SVNT_HAS_DLL == 1 */
-
-// Set BASICSP_SVNT_NTRACE = 0 to turn on library specific tracing even if
-// tracing is turned off for ACE.
-#if !defined (BASICSP_SVNT_NTRACE)
-# if (ACE_NTRACE == 1)
-# define BASICSP_SVNT_NTRACE 1
-# else /* (ACE_NTRACE == 1) */
-# define BASICSP_SVNT_NTRACE 0
-# endif /* (ACE_NTRACE == 1) */
-#endif /* !BASICSP_SVNT_NTRACE */
-
-#if (BASICSP_SVNT_NTRACE == 1)
-# define BASICSP_SVNT_TRACE(X)
-#else /* (BASICSP_SVNT_NTRACE == 1) */
-# define BASICSP_SVNT_TRACE(X) ACE_TRACE_IMPL(X)
-#endif /* (BASICSP_SVNT_NTRACE == 1) */
-
-#endif /* BASICSP_SVNT_EXPORT_H */
-
-// End of auto generated file.
diff --git a/TAO/CIAO/examples/OEP/BasicSP/EC/EC.cidl b/TAO/CIAO/examples/OEP/BasicSP/EC/EC.cidl
deleted file mode 100644
index 8e9ff0d5575..00000000000
--- a/TAO/CIAO/examples/OEP/BasicSP/EC/EC.cidl
+++ /dev/null
@@ -1,21 +0,0 @@
-//$Id$
-
-#ifndef EC_CIDL
-#define EC_CIDL
-
-#include "EC.idl"
-
-composition session EC_Impl
-{
- home executor ECHome_Exec
- {
- implements BasicSP::ECHome;
- manages EC_Exec;
- };
-};
-
-#endif /* EC_CIDL */
-
-
-
-
diff --git a/TAO/CIAO/examples/OEP/BasicSP/EC/EC.idl b/TAO/CIAO/examples/OEP/BasicSP/EC/EC.idl
deleted file mode 100644
index 50ad25afd7f..00000000000
--- a/TAO/CIAO/examples/OEP/BasicSP/EC/EC.idl
+++ /dev/null
@@ -1,41 +0,0 @@
-// $Id$
-//=============================================================================
-/**
- * @file EC.idl
- *
- * Definition of events, and common interfaces used in the BasicSP module.
- *
- * @author Balachandran Natarajan <bala@dre.vanderbilt.edu>
- */
-//=============================================================================
-
-#ifndef CIAO_EC_IDL
-#define CIAO_EC_IDL
-
-#include "../BasicSP.idl"
-
-module BasicSP
-{
- interface trigger
- {
- void start ();
- void stop ();
- };
- component EC supports trigger
- {
- publishes TimeOut timeout;
-
- /// The attribute can be configured via the home or the
- /// component property file.
- attribute long hertz;
-
- };
-
- home ECHome manages EC
- {
- // Explicit operations
- factory new_EC (in long hertz);
- };
-};
-
-#endif /* CIAO_EC_IDL*/
diff --git a/TAO/CIAO/examples/OEP/BasicSP/EC/ECEI.idl b/TAO/CIAO/examples/OEP/BasicSP/EC/ECEI.idl
deleted file mode 100644
index 9b48d5c74dd..00000000000
--- a/TAO/CIAO/examples/OEP/BasicSP/EC/ECEI.idl
+++ /dev/null
@@ -1,32 +0,0 @@
-// $Id$
-
-//=============================================================================
-/**
- * @file ECEI.idl
- *
- *
- * @author Balachandran Natarajan <bala@dre.vanderbilt.edu>
- */
-//=============================================================================
-#ifndef CIAO_ECEI_IDL
-#define CIAO_ECEI_IDL
-
-#include "ECE.idl"
-
-module BasicSP
-{
- /**
- * @interface EC_Exec
- *
- * The actually EC executor need to support
- * Components::SessionComponent interface. Therefore, we need to
- * define the component executor interface explicitly here.
- */
- local interface EC_Exec : CCM_EC,
- Components::SessionComponent
- {
- };
-
-};
-
-#endif /* RATEGENEI_IDL */
diff --git a/TAO/CIAO/examples/OEP/BasicSP/EC/EC_client.dsp b/TAO/CIAO/examples/OEP/BasicSP/EC/EC_client.dsp
deleted file mode 100644
index a4769a94dd7..00000000000
--- a/TAO/CIAO/examples/OEP/BasicSP/EC/EC_client.dsp
+++ /dev/null
@@ -1,166 +0,0 @@
-# Microsoft Developer Studio Project File - Name="EC_client EXE" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 6.00
-# ** DO NOT EDIT **
-
-# TARGTYPE "Win32 (x86) Console Application" 0x0103
-
-CFG=EC_client EXE - Win32 Debug
-!MESSAGE This is not a valid makefile. To build this project using NMAKE,
-!MESSAGE use the Export Makefile command and run
-!MESSAGE
-!MESSAGE NMAKE /f "EC_client.mak".
-!MESSAGE
-!MESSAGE You can specify a configuration when running NMAKE
-!MESSAGE by defining the macro CFG on the command line. For example:
-!MESSAGE
-!MESSAGE NMAKE /f "EC_client.mak" CFG="EC_client EXE - Win32 Debug"
-!MESSAGE
-!MESSAGE Possible choices for configuration are:
-!MESSAGE
-!MESSAGE "EC_client EXE - Win32 Release" (based on "Win32 (x86) Console Application")
-!MESSAGE "EC_client EXE - Win32 Debug" (based on "Win32 (x86) Console Application")
-!MESSAGE
-
-# Begin Project
-# PROP AllowPerConfigDependencies 0
-# PROP Scc_ProjName ""
-# PROP Scc_LocalPath ""
-CPP=cl.exe
-RSC=rc.exe
-
-!IF "$(CFG)" == "EC_client EXE - Win32 Release"
-
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "Release"
-# PROP Intermediate_Dir "Release\EC_client"
-# PROP Target_Dir ""
-# ADD CPP /nologo /MD /W3 /GR /GX /O2 /I "..\..\..\..\..\orbsvcs\orbsvcs" /I "..\..\..\.." /I "..\..\..\..\ciao" /I "..\..\..\..\.." /I "..\..\..\..\..\tao" /I "..\..\..\..\..\.." /D NDEBUG=1 /D WIN32=1 /D _CONSOLE=1 /FD /c
-# SUBTRACT CPP /YX
-# ADD BASE RSC /l 0x409
-# ADD RSC /l 0x409 /i "..\..\..\.." /i "..\..\..\..\ciao" /i "..\..\..\..\.." /i "..\..\..\..\..\tao" /i "..\..\..\..\..\.." /d NDEBUG=1
-BSC32=bscmake.exe
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 /machine:IX86
-# ADD LINK32 EC_stub.lib BasicSP_stub.lib TAO.lib TAO_Security.lib TAO_IFR_Client.lib TAO_Valuetype.lib CIAO_Client.lib ACE.lib /nologo /subsystem:console /machine:I386 /out:"Release\client.exe" /libpath:"..\..\..\..\..\orbsvcs\orbsvcs" /libpath:".." /libpath:"..\..\..\..\..\tao\IFR_Client" /libpath:"..\..\..\..\..\tao\Valuetype" /libpath:"..\..\..\..\ciao" /libpath:"..\..\..\..\..\tao" /libpath:"..\..\..\..\..\..\ace" /version:1.3.1
-# SUBTRACT LINK32 /pdb:none
-
-!ELSEIF "$(CFG)" == "EC_client EXE - Win32 Debug"
-
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "."
-# PROP Intermediate_Dir "Debug\EC_client"
-# PROP Target_Dir ""
-# ADD CPP /nologo /MDd /W3 /Gm /GR /GX /Zi /Od /Gy /I "..\..\..\..\..\orbsvcs\orbsvcs" /I "..\..\..\.." /I "..\..\..\..\ciao" /I "..\..\..\..\.." /I "..\..\..\..\..\tao" /I "..\..\..\..\..\.." /D _DEBUG=1 /D WIN32=1 /D _CONSOLE=1 /FD /c
-# SUBTRACT CPP /YX
-# ADD BASE RSC /l 0x409
-# ADD RSC /l 0x409 /i "..\..\..\.." /i "..\..\..\..\ciao" /i "..\..\..\..\.." /i "..\..\..\..\..\tao" /i "..\..\..\..\..\.." /d _DEBUG=1
-BSC32=bscmake.exe
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 /machine:IX86
-# ADD LINK32 EC_stubd.lib BasicSP_stubd.lib TAO_Securityd.lib TAOd.lib TAO_IFR_Clientd.lib TAO_Valuetyped.lib CIAO_Clientd.lib ACEd.lib /nologo /subsystem:console /incremental:no /debug /machine:I386 /out:".\client.exe" /libpath:"..\..\..\..\..\orbsvcs\orbsvcs" /libpath:".." /libpath:"..\..\..\..\..\tao\IFR_Client" /libpath:"..\..\..\..\..\tao\Valuetype" /libpath:"..\..\..\..\ciao" /libpath:"..\..\..\..\..\tao" /libpath:"..\..\..\..\..\..\ace" /version:1.3.1
-# SUBTRACT LINK32 /pdb:none
-
-!ENDIF
-
-# Begin Target
-
-# Name "EC_client EXE - Win32 Release"
-# Name "EC_client EXE - Win32 Debug"
-# Begin Group "Source Files"
-
-# PROP Default_Filter "cpp;cxx;c"
-# Begin Source File
-
-SOURCE=.\client.cpp
-# End Source File
-# End Group
-# Begin Group "Header Files"
-
-# PROP Default_Filter "h;hpp;hxx;hh"
-# Begin Source File
-
-SOURCE=.\EC_exec.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\EC_exec_export.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\EC_stub_export.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\EC_svnt.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\EC_svnt_export.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\ECC.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\ECEC.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\ECEIC.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\ECEIS.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\ECES.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\ECS.h
-# End Source File
-# End Group
-# Begin Group "Inline Files"
-
-# PROP Default_Filter "i;inl"
-# Begin Source File
-
-SOURCE=.\ECC.i
-# End Source File
-# Begin Source File
-
-SOURCE=.\ECEC.i
-# End Source File
-# Begin Source File
-
-SOURCE=.\ECEIC.i
-# End Source File
-# Begin Source File
-
-SOURCE=.\ECEIS.i
-# End Source File
-# Begin Source File
-
-SOURCE=.\ECES.i
-# End Source File
-# Begin Source File
-
-SOURCE=.\ECS.i
-# End Source File
-# End Group
-# Begin Group "Documentation"
-
-# PROP Default_Filter ""
-# Begin Source File
-
-SOURCE=.\README
-# End Source File
-# End Group
-# End Target
-# End Project
diff --git a/TAO/CIAO/examples/OEP/BasicSP/EC/EC_exec.cpp b/TAO/CIAO/examples/OEP/BasicSP/EC/EC_exec.cpp
deleted file mode 100644
index 8897776433d..00000000000
--- a/TAO/CIAO/examples/OEP/BasicSP/EC/EC_exec.cpp
+++ /dev/null
@@ -1,279 +0,0 @@
-// $Id$
-
-#include "EC_exec.h"
-#include "ace/Timer_Queue.h"
-#include "ace/Reactor.h"
-
-//=================================================================
-
-MyImpl::timeout_Handler::timeout_Handler (MyImpl::EC_exec_i *cb)
- : active_ (0),
- done_ (0),
- tid_ (0),
- pulse_callback_ (cb)
-{
- // Nothing
- this->reactor (new ACE_Reactor);
-}
-
-MyImpl::timeout_Handler::~timeout_Handler ()
-{
- delete this->reactor ();
- this->reactor (0);
-}
-
-int
-MyImpl::timeout_Handler::open ()
-{
- return this->activate ();
-}
-
-int
-MyImpl::timeout_Handler::close ()
-{
- this->done_ = 1;
- this->reactor ()->notify ();
-
- ACE_DEBUG ((LM_DEBUG, "Waiting\n"));
- return this->wait ();
-}
-
-int
-MyImpl::timeout_Handler::start (CORBA::Long hertz)
-{
- if (hertz == 0 || this->active_ != 0) // Not valid
- return -1;
-
- long usec = 1000000 / hertz;
-
- this->tid_ = this->reactor ()->schedule_timer (this,
- 0,
- ACE_Time_Value (0, usec),
- ACE_Time_Value (0, usec));
-
- this->active_ = 1;
- return 0;
-}
-
-int
-MyImpl::timeout_Handler::stop (void)
-{
- if (this->active_ == 0) // Not valid.
- return -1;
-
- this->reactor ()->cancel_timer (this);
-
- this->active_ = 0;
- return 0;
-}
-
-int
-MyImpl::timeout_Handler::active (void)
-{
- return this->active_;
-}
-
-int
-MyImpl::timeout_Handler::handle_close (ACE_HANDLE handle,
- ACE_Reactor_Mask close_mask)
-{
- ACE_DEBUG ((LM_DEBUG,
- ACE_TEXT ("[%x] handle = %d, close_mask = %d\n"),
- this,
- handle,
- close_mask));
-
- return 0;
-}
-
-int
-MyImpl::timeout_Handler::handle_timeout (const ACE_Time_Value &,
- const void *)
-{
- this->pulse_callback_->pulse ();
-
-// ACE_DEBUG ((LM_DEBUG,
-// ACE_TEXT ("[%x] with count #%05d timed out at %d.%d!\n"),
-// this,
-// tv.sec (),
-// tv.usec ()));
-
- return 0;
-}
-
-int
-MyImpl::timeout_Handler::svc (void)
-{
- this->reactor ()->owner (ACE_OS::thr_self ());
-
- while (!this->done_)
- this->reactor ()->handle_events ();
-
- return 0;
-}
-
-//=================================================================
-
-MyImpl::EC_exec_i::EC_exec_i ()
- : hertz_ (0),
- pulser_ (this)
-{
-
-}
-
-MyImpl::EC_exec_i::EC_exec_i (CORBA::Long hz)
- : hertz_ (hz),
- pulser_ (this)
-{
-}
-
-MyImpl::EC_exec_i::~EC_exec_i ()
-{
-}
-
-CORBA::Long
-MyImpl::EC_exec_i::hertz (ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- return this->hertz_;
-}
-
-void
-MyImpl::EC_exec_i::hertz (CORBA::Long hertz
- ACE_ENV_ARG_DECL_NOT_USED)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- this->hertz_ = hertz;
-}
-
-// Operations from supported interface(s)
-
-void
-MyImpl::EC_exec_i::start (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- if (this->hertz_ == 0 || this->pulser_.active())
- ACE_THROW (CORBA::BAD_INV_ORDER ());
-
- // @@ Start the rate generator
- this->pulser_.start (this->hertz_);
-}
-
-void
-MyImpl::EC_exec_i::stop (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- if (! this->pulser_.active ())
- ACE_THROW (CORBA::BAD_INV_ORDER ());
-
- // @@ stop the rate generator
- this->pulser_.stop ();
-}
-
-CORBA::Boolean
-MyImpl::EC_exec_i::active (ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- return this->pulser_.active ();
-}
-
-// Operations from Components::SessionComponent
-
-void
-MyImpl::EC_exec_i::set_session_context (Components::SessionContext_ptr ctx
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::CCMException))
-{
- ACE_DEBUG ((LM_DEBUG, "MyImpl::EC_exec_i::set_session_context\n"));
-
- this->context_ =
- BasicSP::CCM_EC_Context::_narrow (ctx
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK;
-
- if (CORBA::is_nil (this->context_.in ()))
- ACE_THROW (CORBA::INTERNAL ());
- // Urm, we actually discard exceptions thown from this operation.
-
-}
-
-void
-MyImpl::EC_exec_i::ccm_activate (ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::CCMException))
-{
- ACE_DEBUG ((LM_DEBUG, "MyImpl::EC_exec_i::ccm_activate\n"));
-
- this->pulser_.open ();
-}
-
-void
-MyImpl::EC_exec_i::ccm_passivate (ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::CCMException))
-{
- ACE_DEBUG ((LM_DEBUG, "MyImpl::EC_exec_i::ccm_passivate\n"));
- this->pulser_.close ();
-}
-
-void
-MyImpl::EC_exec_i::ccm_remove (ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::CCMException))
-{
- ACE_DEBUG ((LM_DEBUG, "MyImpl::EC_exec_i::ccm_remove\n"));
-}
-
-void
-MyImpl::EC_exec_i::pulse (void)
-{
- ACE_TRY_NEW_ENV
- {
- ACE_DEBUG ((LM_DEBUG,
- ACE_TEXT ("Pushing BasicSP::TimeOut event!\n")));
-
- BasicSP::TimeOut_var ev = new OBV_BasicSP::TimeOut ();
-
- this->context_->push_timeout (ev.in ()
- ACE_ENV_ARG_PARAMETER);
- }
- ACE_CATCHANY
- {
- // @@ do nothing?
- }
- ACE_ENDTRY;
-
-}
-
-MyImpl::ECHome_exec_i::ECHome_exec_i ()
-{
-}
-
-MyImpl::ECHome_exec_i::~ECHome_exec_i ()
-{
-}
-
-::Components::EnterpriseComponent_ptr
-MyImpl::ECHome_exec_i::new_EC (CORBA::Long hertz
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::CCMException))
-{
- return new MyImpl::EC_exec_i (hertz);
-}
-
-::Components::EnterpriseComponent_ptr
-MyImpl::ECHome_exec_i::create (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::CCMException))
-{
- return new MyImpl::EC_exec_i ();
-}
-
-
-extern "C" EC_EXEC_Export ::Components::HomeExecutorBase_ptr
-createECHome_Impl (void)
-{
- return new MyImpl::ECHome_exec_i ();
-}
diff --git a/TAO/CIAO/examples/OEP/BasicSP/EC/EC_exec.dsp b/TAO/CIAO/examples/OEP/BasicSP/EC/EC_exec.dsp
deleted file mode 100644
index f9379903393..00000000000
--- a/TAO/CIAO/examples/OEP/BasicSP/EC/EC_exec.dsp
+++ /dev/null
@@ -1,186 +0,0 @@
-# Microsoft Developer Studio Project File - Name="EC_exec DLL" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 6.00
-# ** DO NOT EDIT **
-
-# TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102
-
-CFG=EC_exec DLL - Win32 Debug
-!MESSAGE This is not a valid makefile. To build this project using NMAKE,
-!MESSAGE use the Export Makefile command and run
-!MESSAGE
-!MESSAGE NMAKE /f "EC_exec.mak".
-!MESSAGE
-!MESSAGE You can specify a configuration when running NMAKE
-!MESSAGE by defining the macro CFG on the command line. For example:
-!MESSAGE
-!MESSAGE NMAKE /f "EC_exec.mak" CFG="EC_exec DLL - Win32 Debug"
-!MESSAGE
-!MESSAGE Possible choices for configuration are:
-!MESSAGE
-!MESSAGE "EC_exec DLL - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library")
-!MESSAGE "EC_exec DLL - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library")
-!MESSAGE
-
-# Begin Project
-# PROP AllowPerConfigDependencies 0
-# PROP Scc_ProjName ""
-# PROP Scc_LocalPath ""
-CPP=cl.exe
-MTL=midl.exe
-RSC=rc.exe
-
-!IF "$(CFG)" == "EC_exec DLL - Win32 Release"
-
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "."
-# PROP Intermediate_Dir "Release\EC_exec"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD CPP /nologo /MD /W3 /GR /GX /Zi /O2 /I "..\..\..\..\..\orbsvcs\orbsvcs" /I "..\..\..\.." /I "..\..\..\..\ciao" /I "..\..\..\..\.." /I "..\..\..\..\..\tao" /I "..\..\..\..\..\.." /D NDEBUG=1 /D WIN32=1 /D _WINDOWS=1 /D EC_EXEC_BUILD_DLL=1 /FD /c
-# SUBTRACT CPP /YX
-# ADD BASE RSC /l 0x409
-# ADD RSC /l 0x409 /i "..\..\..\..\..\orbsvcs\orbsvcs" /i "..\..\..\.." /i "..\..\..\..\ciao" /i "..\..\..\..\.." /i "..\..\..\..\..\tao" /i "..\..\..\..\..\.." /d NDEBUG=1
-BSC32=bscmake.exe
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 /machine:IX86
-# ADD LINK32 advapi32.lib user32.lib EC_stub.lib BasicSP_stub.lib EC_svnt.lib CIAO_Server.lib TAO_PortableServer.lib TAO_IORInterceptor.lib TAO_ObjRefTemplate.lib TAO_Security.lib CIAO_Container.lib TAO.lib TAO_IFR_Client.lib TAO_Valuetype.lib CIAO_Client.lib ACE.lib /nologo /subsystem:windows /dll /pdb:"..\..\..\..\..\..\bin\EC_exec.pdb" /machine:I386 /out:"..\..\..\..\..\..\bin\EC_exec.dll" /libpath:".." /libpath:"..\..\..\..\..\tao\PortableServer" /libpath:"..\..\..\..\..\tao\IORInterceptor" /libpath:"..\..\..\..\..\tao\ObjRefTemplate" /libpath:"..\..\..\..\..\orbsvcs\orbsvcs" /libpath:"..\..\..\..\..\tao\IFR_Client" /libpath:"..\..\..\..\..\tao\Valuetype" /libpath:"..\..\..\..\ciao" /libpath:"..\..\..\..\..\tao" /libpath:"..\..\..\..\..\..\ace" /version:1.3.1
-# SUBTRACT LINK32 /pdb:none
-
-!ELSEIF "$(CFG)" == "EC_exec DLL - Win32 Debug"
-
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "."
-# PROP Intermediate_Dir "Debug\EC_exec"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD CPP /nologo /MDd /W3 /Gm /GR /GX /Zi /Od /Gy /I "..\..\..\..\..\orbsvcs\orbsvcs" /I "..\..\..\.." /I "..\..\..\..\ciao" /I "..\..\..\..\.." /I "..\..\..\..\..\tao" /I "..\..\..\..\..\.." /D _DEBUG=1 /D WIN32=1 /D _WINDOWS=1 /D EC_EXEC_BUILD_DLL=1 /FD /c
-# SUBTRACT CPP /Fr /YX
-# ADD BASE RSC /l 0x409
-# ADD RSC /l 0x409 /i "..\..\..\..\..\orbsvcs\orbsvcs" /i "..\..\..\.." /i "..\..\..\..\ciao" /i "..\..\..\..\.." /i "..\..\..\..\..\tao" /i "..\..\..\..\..\.." /d _DEBUG=1
-BSC32=bscmake.exe
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 /machine:IX86
-# ADD LINK32 advapi32.lib user32.lib EC_stubd.lib BasicSP_stubd.lib EC_svntd.lib CIAO_Serverd.lib TAO_PortableServerd.lib TAO_IORInterceptord.lib TAO_ObjRefTemplated.lib TAO_Securityd.lib CIAO_Containerd.lib TAOd.lib TAO_IFR_Clientd.lib TAO_Valuetyped.lib CIAO_Clientd.lib ACEd.lib /nologo /subsystem:windows /dll /incremental:no /pdb:"..\..\..\..\..\..\bin\EC_execd.pdb" /debug /machine:I386 /out:"..\..\..\..\..\..\bin\EC_execd.dll" /libpath:".." /libpath:"..\..\..\..\..\tao\PortableServer" /libpath:"..\..\..\..\..\tao\IORInterceptor" /libpath:"..\..\..\..\..\tao\ObjRefTemplate" /libpath:"..\..\..\..\..\orbsvcs\orbsvcs" /libpath:"..\..\..\..\..\tao\IFR_Client" /libpath:"..\..\..\..\..\tao\Valuetype" /libpath:"..\..\..\..\ciao" /libpath:"..\..\..\..\..\tao" /libpath:"..\..\..\..\..\..\ace" /version:1.3.1
-# SUBTRACT LINK32 /pdb:none
-
-!ENDIF
-
-# Begin Target
-
-# Name "EC_exec DLL - Win32 Release"
-# Name "EC_exec DLL - Win32 Debug"
-# Begin Group "Source Files"
-
-# PROP Default_Filter "cpp;cxx;c"
-# Begin Source File
-
-SOURCE=.\EC_exec.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\ECEIC.cpp
-# End Source File
-# End Group
-# Begin Group "Header Files"
-
-# PROP Default_Filter "h;hpp;hxx;hh"
-# Begin Source File
-
-SOURCE=.\EC_exec.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\ECEIC.h
-# End Source File
-# End Group
-# Begin Group "Inline Files"
-
-# PROP Default_Filter "i;inl"
-# Begin Source File
-
-SOURCE=.\ECEIC.i
-# End Source File
-# End Group
-# Begin Group "Documentation"
-
-# PROP Default_Filter ""
-# Begin Source File
-
-SOURCE=.\README
-# End Source File
-# End Group
-# Begin Group "IDL Files"
-
-# PROP Default_Filter "idl"
-# Begin Source File
-
-SOURCE=.\ECEI.idl
-
-!IF "$(CFG)" == "EC_exec DLL - Win32 Release"
-
-# PROP Ignore_Default_Tool 1
-# Begin Custom Build - Invoking IDL Compiler on $(InputPath)
-InputPath=.\ECEI.idl
-InputName=ECEI
-
-BuildCmds= \
- ..\..\..\..\..\..\bin\tao_idl -o . -Wb,export_macro=EC_EXEC_Export -Wb,export_include=EC_exec_export.h -I..\..\..\..\.. -I..\..\..\..\..\CIAO\ciao -Wb,pre_include="ace\pre.h" -Wb,post_include="ace\post.h" -I ..\..\..\.. -I ..\..\..\..\.. -I ..\..\..\..\..\orbsvcs\orbsvcs -Ge 1 -Sc $(InputPath)
-
-".\$(InputName)C.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-
-".\$(InputName)C.i" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-
-".\$(InputName)C.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-
-".\$(InputName)S.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-
-".\$(InputName)S.i" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-
-".\$(InputName)S.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-# End Custom Build
-
-!ELSEIF "$(CFG)" == "EC_exec DLL - Win32 Debug"
-
-# PROP Ignore_Default_Tool 1
-# Begin Custom Build - Invoking IDL Compiler on $(InputPath)
-InputPath=.\ECEI.idl
-InputName=ECEI
-
-BuildCmds= \
- ..\..\..\..\..\..\bin\tao_idl -o . -Wb,export_macro=EC_EXEC_Export -Wb,export_include=EC_exec_export.h -I..\..\..\..\.. -I..\..\..\..\..\CIAO\ciao -Wb,pre_include="ace\pre.h" -Wb,post_include="ace\post.h" -I ..\..\..\.. -I ..\..\..\..\.. -I ..\..\..\..\..\orbsvcs\orbsvcs -Ge 1 -Sc $(InputPath)
-
-".\$(InputName)C.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-
-".\$(InputName)C.i" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-
-".\$(InputName)C.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-
-".\$(InputName)S.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-
-".\$(InputName)S.i" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-
-".\$(InputName)S.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-# End Custom Build
-
-!ENDIF
-
-# End Source File
-# End Group
-# End Target
-# End Project
diff --git a/TAO/CIAO/examples/OEP/BasicSP/EC/EC_exec.h b/TAO/CIAO/examples/OEP/BasicSP/EC/EC_exec.h
deleted file mode 100644
index 457ec447e68..00000000000
--- a/TAO/CIAO/examples/OEP/BasicSP/EC/EC_exec.h
+++ /dev/null
@@ -1,182 +0,0 @@
-// $Id$
-
-//============================================================
-/**
- * @file EC_exec.h
- *
- * Header file for the actualy EC and ECHome component
- * implementation.
- *
- * @author Balachandran Natarajan <bala@dre.vanderbilt.edu>
- */
-//============================================================
-
-#ifndef EC_EXEC_H
-#define EC_EXEC_H
-
-#include "ECEIC.h"
-#include "tao/LocalObject.h"
-#include "ace/Thread_Manager.h"
-#include "ace/Task.h"
-
-namespace MyImpl
-{
- // Forward decl.
- class EC_exec_i;
-
- /**
- * @brief Active pulse generater
- */
- class timeout_Handler : public ACE_Task_Base
- {
- public:
- // Default constructor
- timeout_Handler (EC_exec_i *cb);
- ~timeout_Handler ();
-
- int open (void);
-
- int close (void);
-
- int start (CORBA::Long hertz);
-
- int stop (void);
-
- int active (void);
-
- // Handle the timeout.
- virtual int handle_timeout (const ACE_Time_Value &tv,
- const void *arg);
-
- // Called when <Time_Handler> is removed.
- virtual int handle_close (ACE_HANDLE handle,
- ACE_Reactor_Mask close_mask);
-
- virtual int svc (void);
-
- private:
- /// Tracking whether we are actively generating pulse or not.
- long active_;
-
- /// Flag to indicate completion of this active object.
- int done_;
-
- /// The timer id we are waiting.
- int tid_;
-
- EC_exec_i *pulse_callback_;
-
- ACE_Thread_Manager thr_mgr_;
- };
-
- /**
- * @class EC_exec_i
- *
- * EC executor implementation class.
- */
- class EC_EXEC_Export EC_exec_i :
- public virtual BasicSP::EC_Exec,
- public virtual TAO_Local_RefCounted_Object
- {
- public:
- /// Default constructor.
- EC_exec_i ();
-
- /// Initialize with a default frequency.
- EC_exec_i (CORBA::Long hz);
-
- /// Default destructor.
- ~EC_exec_i ();
-
- // Attribute operations.
-
- virtual CORBA::Long hertz (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- virtual void hertz (CORBA::Long hertz
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- // Operations from supported interface(s)
-
- virtual void start (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- virtual void stop (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- virtual CORBA::Boolean active (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- // Operations from Components::SessionComponent
-
- virtual void set_session_context (Components::SessionContext_ptr ctx
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::CCMException));
-
- virtual void ccm_activate (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::CCMException));
-
- virtual void ccm_passivate (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::CCMException));
-
- virtual void ccm_remove (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::CCMException));
-
- /// Helper function to be called back by timeout_Handler
- void pulse (void);
-
- protected:
- /// Frequency
- CORBA::Long hertz_;
-
- /// Copmponent specific context
- BasicSP::CCM_EC_Context_var context_;
-
- /// An active object that actually trigger the generation of
- /// periodic events.
- timeout_Handler pulser_;
- };
-
- /**
- * @class ECHome_exec_i
- *
- * EC home executor implementation class.
- */
- class EC_EXEC_Export ECHome_exec_i :
- public virtual BasicSP::CCM_ECHome,
- public virtual TAO_Local_RefCounted_Object
- {
- public:
- /// Default ctor.
- ECHome_exec_i ();
-
- /// Default dtor.
- ~ECHome_exec_i ();
-
- // Explicit home operations.
-
- virtual ::Components::EnterpriseComponent_ptr
- new_EC (CORBA::Long hertz
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::CCMException));
-
- // Implicit home operations.
-
- virtual ::Components::EnterpriseComponent_ptr
- create (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::CCMException));
- };
-
-}
-
-extern "C" EC_EXEC_Export ::Components::HomeExecutorBase_ptr
-createECHome_Impl (void);
-
-#endif /* CIAO_ECGEN_EXEC_H */
diff --git a/TAO/CIAO/examples/OEP/BasicSP/EC/EC_exec_export.h b/TAO/CIAO/examples/OEP/BasicSP/EC/EC_exec_export.h
deleted file mode 100644
index c979debf129..00000000000
--- a/TAO/CIAO/examples/OEP/BasicSP/EC/EC_exec_export.h
+++ /dev/null
@@ -1,50 +0,0 @@
-
-// -*- C++ -*-
-// $Id$
-// Definition for Win32 Export directives.
-// This file is generated automatically by generate_export_file.pl EC_EXEC
-// ------------------------------
-#ifndef EC_EXEC_EXPORT_H
-#define EC_EXEC_EXPORT_H
-
-#include "ace/config-all.h"
-
-#if !defined (EC_EXEC_HAS_DLL)
-# define EC_EXEC_HAS_DLL 1
-#endif /* ! EC_EXEC_HAS_DLL */
-
-#if defined (EC_EXEC_HAS_DLL) && (EC_EXEC_HAS_DLL == 1)
-# if defined (EC_EXEC_BUILD_DLL)
-# define EC_EXEC_Export ACE_Proper_Export_Flag
-# define EC_EXEC_SINGLETON_DECLARATION(T) ACE_EXPORT_SINGLETON_DECLARATION (T)
-# define EC_EXEC_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_EXPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
-# else /* EC_EXEC_BUILD_DLL */
-# define EC_EXEC_Export ACE_Proper_Import_Flag
-# define EC_EXEC_SINGLETON_DECLARATION(T) ACE_IMPORT_SINGLETON_DECLARATION (T)
-# define EC_EXEC_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_IMPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
-# endif /* EC_EXEC_BUILD_DLL */
-#else /* EC_EXEC_HAS_DLL == 1 */
-# define EC_EXEC_Export
-# define EC_EXEC_SINGLETON_DECLARATION(T)
-# define EC_EXEC_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
-#endif /* EC_EXEC_HAS_DLL == 1 */
-
-// Set EC_EXEC_NTRACE = 0 to turn on library specific tracing even if
-// tracing is turned off for ACE.
-#if !defined (EC_EXEC_NTRACE)
-# if (ACE_NTRACE == 1)
-# define EC_EXEC_NTRACE 1
-# else /* (ACE_NTRACE == 1) */
-# define EC_EXEC_NTRACE 0
-# endif /* (ACE_NTRACE == 1) */
-#endif /* !EC_EXEC_NTRACE */
-
-#if (EC_EXEC_NTRACE == 1)
-# define EC_EXEC_TRACE(X)
-#else /* (EC_EXEC_NTRACE == 1) */
-# define EC_EXEC_TRACE(X) ACE_TRACE_IMPL(X)
-#endif /* (EC_EXEC_NTRACE == 1) */
-
-#endif /* EC_EXEC_EXPORT_H */
-
-// End of auto generated file.
diff --git a/TAO/CIAO/examples/OEP/BasicSP/EC/EC_stub.dsp b/TAO/CIAO/examples/OEP/BasicSP/EC/EC_stub.dsp
deleted file mode 100644
index 55e62b5cefd..00000000000
--- a/TAO/CIAO/examples/OEP/BasicSP/EC/EC_stub.dsp
+++ /dev/null
@@ -1,178 +0,0 @@
-# Microsoft Developer Studio Project File - Name="EC_stub DLL" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 6.00
-# ** DO NOT EDIT **
-
-# TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102
-
-CFG=EC_stub DLL - Win32 Debug
-!MESSAGE This is not a valid makefile. To build this project using NMAKE,
-!MESSAGE use the Export Makefile command and run
-!MESSAGE
-!MESSAGE NMAKE /f "EC_stub.mak".
-!MESSAGE
-!MESSAGE You can specify a configuration when running NMAKE
-!MESSAGE by defining the macro CFG on the command line. For example:
-!MESSAGE
-!MESSAGE NMAKE /f "EC_stub.mak" CFG="EC_stub DLL - Win32 Debug"
-!MESSAGE
-!MESSAGE Possible choices for configuration are:
-!MESSAGE
-!MESSAGE "EC_stub DLL - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library")
-!MESSAGE "EC_stub DLL - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library")
-!MESSAGE
-
-# Begin Project
-# PROP AllowPerConfigDependencies 0
-# PROP Scc_ProjName ""
-# PROP Scc_LocalPath ""
-CPP=cl.exe
-MTL=midl.exe
-RSC=rc.exe
-
-!IF "$(CFG)" == "EC_stub DLL - Win32 Release"
-
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "."
-# PROP Intermediate_Dir "Release\EC_stub"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD CPP /nologo /MD /W3 /GR /GX /Zi /O2 /I "..\..\..\..\..\orbsvcs\orbsvcs" /I "..\..\..\.." /I "..\..\..\..\ciao" /I "..\..\..\..\.." /I "..\..\..\..\..\tao" /I "..\..\..\..\..\.." /D NDEBUG=1 /D WIN32=1 /D _WINDOWS=1 /D EC_STUB_BUILD_DLL=1 /FD /c
-# SUBTRACT CPP /YX
-# ADD BASE RSC /l 0x409
-# ADD RSC /l 0x409 /i "..\..\..\.." /i "..\..\..\..\ciao" /i "..\..\..\..\.." /i "..\..\..\..\..\tao" /i "..\..\..\..\..\.." /d NDEBUG=1
-BSC32=bscmake.exe
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 /machine:IX86
-# ADD LINK32 BasicSP_stub.lib TAO.lib TAO_Security.lib TAO_IFR_Client.lib TAO_Valuetype.lib CIAO_Client.lib ACE.lib /nologo /subsystem:windows /dll /pdb:"..\..\..\..\..\..\bin\EC_stub.pdb" /machine:I386 /out:"..\..\..\..\..\..\bin\EC_stub.dll" /libpath:".." /libpath:"..\..\..\..\..\orbsvcs\orbsvcs" /libpath:"..\..\..\..\..\tao\IFR_Client" /libpath:"..\..\..\..\..\tao\Valuetype" /libpath:"..\..\..\..\ciao" /libpath:"..\..\..\..\..\tao" /libpath:"..\..\..\..\..\..\ace" /version:1.3.1
-# SUBTRACT LINK32 /pdb:none
-
-!ELSEIF "$(CFG)" == "EC_stub DLL - Win32 Debug"
-
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "."
-# PROP Intermediate_Dir "Debug\EC_stub"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD CPP /nologo /MDd /W3 /Gm /GR /GX /Zi /Od /Gy /I "..\..\..\..\..\orbsvcs\orbsvcs" /I "..\..\..\.." /I "..\..\..\..\ciao" /I "..\..\..\..\.." /I "..\..\..\..\..\tao" /I "..\..\..\..\..\.." /D _DEBUG=1 /D WIN32=1 /D _WINDOWS=1 /D EC_STUB_BUILD_DLL=1 /FD /c
-# SUBTRACT CPP /Fr /YX
-# ADD BASE RSC /l 0x409
-# ADD RSC /l 0x409 /i "..\..\..\.." /i "..\..\..\..\ciao" /i "..\..\..\..\.." /i "..\..\..\..\..\tao" /i "..\..\..\..\..\.." /d _DEBUG=1
-BSC32=bscmake.exe
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 /machine:IX86
-# ADD LINK32 BasicSP_stubd.lib TAOd.lib TAO_Securityd.lib TAO_IFR_Clientd.lib TAO_Valuetyped.lib CIAO_Clientd.lib ACEd.lib /nologo /subsystem:windows /dll /incremental:no /pdb:"..\..\..\..\..\..\bin\EC_stubd.pdb" /debug /machine:I386 /out:"..\..\..\..\..\..\bin\EC_stubd.dll" /libpath:".." /libpath:"..\..\..\..\..\orbsvcs\orbsvcs" /libpath:"..\..\..\..\..\tao\IFR_Client" /libpath:"..\..\..\..\..\tao\Valuetype" /libpath:"..\..\..\..\ciao" /libpath:"..\..\..\..\..\tao" /libpath:"..\..\..\..\..\..\ace" /version:1.3.1
-# SUBTRACT LINK32 /pdb:none
-
-!ENDIF
-
-# Begin Target
-
-# Name "EC_stub DLL - Win32 Release"
-# Name "EC_stub DLL - Win32 Debug"
-# Begin Group "Source Files"
-
-# PROP Default_Filter "cpp;cxx;c"
-# Begin Source File
-
-SOURCE=.\ECC.cpp
-# End Source File
-# End Group
-# Begin Group "Header Files"
-
-# PROP Default_Filter "h;hpp;hxx;hh"
-# Begin Source File
-
-SOURCE=.\ECC.h
-# End Source File
-# End Group
-# Begin Group "Inline Files"
-
-# PROP Default_Filter "i;inl"
-# Begin Source File
-
-SOURCE=.\ECC.i
-# End Source File
-# End Group
-# Begin Group "Documentation"
-
-# PROP Default_Filter ""
-# Begin Source File
-
-SOURCE=.\README
-# End Source File
-# End Group
-# Begin Group "IDL Files"
-
-# PROP Default_Filter "idl"
-# Begin Source File
-
-SOURCE=.\EC.idl
-
-!IF "$(CFG)" == "EC_stub DLL - Win32 Release"
-
-# PROP Ignore_Default_Tool 1
-# Begin Custom Build - Invoking IDL Compiler on $(InputPath)
-InputPath=.\EC.idl
-InputName=EC
-
-BuildCmds= \
- ..\..\..\..\..\..\bin\tao_idl -o . -Wb,stub_export_macro=EC_STUB_Export -Wb,stub_export_include=EC_stub_export.h -Wb,skel_export_macro=EC_SVNT_Export -Wb,skel_export_include=EC_svnt_export.h -Wb,pre_include="ace\pre.h" -Wb,post_include="ace\post.h" -I ..\..\..\.. -I ..\..\..\..\.. -I ..\..\..\..\ciao -I ..\..\..\..\..\orbsvcs\orbsvcs -Ge 1 -Sc $(InputPath)
-
-".\$(InputName)C.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-
-".\$(InputName)C.i" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-
-".\$(InputName)C.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-
-".\$(InputName)S.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-
-".\$(InputName)S.i" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-
-".\$(InputName)S.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-# End Custom Build
-
-!ELSEIF "$(CFG)" == "EC_stub DLL - Win32 Debug"
-
-# PROP Ignore_Default_Tool 1
-# Begin Custom Build - Invoking IDL Compiler on $(InputPath)
-InputPath=.\EC.idl
-InputName=EC
-
-BuildCmds= \
- ..\..\..\..\..\..\bin\tao_idl -o . -Wb,stub_export_macro=EC_STUB_Export -Wb,stub_export_include=EC_stub_export.h -Wb,skel_export_macro=EC_SVNT_Export -Wb,skel_export_include=EC_svnt_export.h -Wb,pre_include="ace\pre.h" -Wb,post_include="ace\post.h" -I ..\..\..\.. -I ..\..\..\..\.. -I ..\..\..\..\ciao -I ..\..\..\..\..\orbsvcs\orbsvcs -Ge 1 -Sc $(InputPath)
-
-".\$(InputName)C.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-
-".\$(InputName)C.i" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-
-".\$(InputName)C.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-
-".\$(InputName)S.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-
-".\$(InputName)S.i" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-
-".\$(InputName)S.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-# End Custom Build
-
-!ENDIF
-
-# End Source File
-# End Group
-# End Target
-# End Project
diff --git a/TAO/CIAO/examples/OEP/BasicSP/EC/EC_stub_export.h b/TAO/CIAO/examples/OEP/BasicSP/EC/EC_stub_export.h
deleted file mode 100644
index 2ad9df9cf12..00000000000
--- a/TAO/CIAO/examples/OEP/BasicSP/EC/EC_stub_export.h
+++ /dev/null
@@ -1,50 +0,0 @@
-
-// -*- C++ -*-
-// $Id$
-// Definition for Win32 Export directives.
-// This file is generated automatically by generate_export_file.pl EC_STUB
-// ------------------------------
-#ifndef EC_STUB_EXPORT_H
-#define EC_STUB_EXPORT_H
-
-#include "ace/config-all.h"
-
-#if !defined (EC_STUB_HAS_DLL)
-# define EC_STUB_HAS_DLL 1
-#endif /* ! EC_STUB_HAS_DLL */
-
-#if defined (EC_STUB_HAS_DLL) && (EC_STUB_HAS_DLL == 1)
-# if defined (EC_STUB_BUILD_DLL)
-# define EC_STUB_Export ACE_Proper_Export_Flag
-# define EC_STUB_SINGLETON_DECLARATION(T) ACE_EXPORT_SINGLETON_DECLARATION (T)
-# define EC_STUB_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_EXPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
-# else /* EC_STUB_BUILD_DLL */
-# define EC_STUB_Export ACE_Proper_Import_Flag
-# define EC_STUB_SINGLETON_DECLARATION(T) ACE_IMPORT_SINGLETON_DECLARATION (T)
-# define EC_STUB_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_IMPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
-# endif /* EC_STUB_BUILD_DLL */
-#else /* EC_STUB_HAS_DLL == 1 */
-# define EC_STUB_Export
-# define EC_STUB_SINGLETON_DECLARATION(T)
-# define EC_STUB_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
-#endif /* EC_STUB_HAS_DLL == 1 */
-
-// Set EC_STUB_NTRACE = 0 to turn on library specific tracing even if
-// tracing is turned off for ACE.
-#if !defined (EC_STUB_NTRACE)
-# if (ACE_NTRACE == 1)
-# define EC_STUB_NTRACE 1
-# else /* (ACE_NTRACE == 1) */
-# define EC_STUB_NTRACE 0
-# endif /* (ACE_NTRACE == 1) */
-#endif /* !EC_STUB_NTRACE */
-
-#if (EC_STUB_NTRACE == 1)
-# define EC_STUB_TRACE(X)
-#else /* (EC_STUB_NTRACE == 1) */
-# define EC_STUB_TRACE(X) ACE_TRACE_IMPL(X)
-#endif /* (EC_STUB_NTRACE == 1) */
-
-#endif /* EC_STUB_EXPORT_H */
-
-// End of auto generated file.
diff --git a/TAO/CIAO/examples/OEP/BasicSP/EC/EC_svnt.dsp b/TAO/CIAO/examples/OEP/BasicSP/EC/EC_svnt.dsp
deleted file mode 100644
index 88ec6b0e8ee..00000000000
--- a/TAO/CIAO/examples/OEP/BasicSP/EC/EC_svnt.dsp
+++ /dev/null
@@ -1,229 +0,0 @@
-# Microsoft Developer Studio Project File - Name="EC_svnt DLL" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 6.00
-# ** DO NOT EDIT **
-
-# TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102
-
-CFG=EC_svnt DLL - Win32 Debug
-!MESSAGE This is not a valid makefile. To build this project using NMAKE,
-!MESSAGE use the Export Makefile command and run
-!MESSAGE
-!MESSAGE NMAKE /f "EC_svnt.mak".
-!MESSAGE
-!MESSAGE You can specify a configuration when running NMAKE
-!MESSAGE by defining the macro CFG on the command line. For example:
-!MESSAGE
-!MESSAGE NMAKE /f "EC_svnt.mak" CFG="EC_svnt DLL - Win32 Debug"
-!MESSAGE
-!MESSAGE Possible choices for configuration are:
-!MESSAGE
-!MESSAGE "EC_svnt DLL - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library")
-!MESSAGE "EC_svnt DLL - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library")
-!MESSAGE
-
-# Begin Project
-# PROP AllowPerConfigDependencies 0
-# PROP Scc_ProjName ""
-# PROP Scc_LocalPath ""
-CPP=cl.exe
-MTL=midl.exe
-RSC=rc.exe
-
-!IF "$(CFG)" == "EC_svnt DLL - Win32 Release"
-
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "."
-# PROP Intermediate_Dir "Release\EC_svnt"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD CPP /nologo /MD /W3 /GR /GX /Zi /O2 /I "..\..\..\..\..\orbsvcs\orbsvcs" /I "..\..\..\.." /I "..\..\..\..\ciao" /I "..\..\..\..\.." /I "..\..\..\..\..\tao" /I "..\..\..\..\..\.." /D NDEBUG=1 /D WIN32=1 /D _WINDOWS=1 /D EC_SVNT_BUILD_DLL=1 /FD /c
-# SUBTRACT CPP /YX
-# ADD BASE RSC /l 0x409
-# ADD RSC /l 0x409 /i "..\..\..\..\..\orbsvcs\orbsvcs" /i "..\..\..\.." /i "..\..\..\..\ciao" /i "..\..\..\..\.." /i "..\..\..\..\..\tao" /i "..\..\..\..\..\.." /d NDEBUG=1
-BSC32=bscmake.exe
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 /machine:IX86
-# ADD LINK32 EC_stub.lib BasicSP_stub.lib BasicSP_svnt.lib CIAO_Server.lib TAO_PortableServer.lib TAO_IORInterceptor.lib TAO_ObjRefTemplate.lib TAO_Security.lib CIAO_Container.lib TAO.lib TAO_IFR_Client.lib TAO_Valuetype.lib CIAO_Client.lib ACE.lib /nologo /subsystem:windows /dll /pdb:"..\..\..\..\..\..\bin\EC_svnt.pdb" /machine:I386 /out:"..\..\..\..\..\..\bin\EC_svnt.dll" /libpath:".." /libpath:"..\..\..\..\..\tao\PortableServer" /libpath:"..\..\..\..\..\tao\IORInterceptor" /libpath:"..\..\..\..\..\tao\ObjRefTemplate" /libpath:"..\..\..\..\..\orbsvcs\orbsvcs" /libpath:"..\..\..\..\..\tao\IFR_Client" /libpath:"..\..\..\..\..\tao\Valuetype" /libpath:"..\..\..\..\ciao" /libpath:"..\..\..\..\..\tao" /libpath:"..\..\..\..\..\..\ace" /version:1.3.1
-# SUBTRACT LINK32 /pdb:none
-
-!ELSEIF "$(CFG)" == "EC_svnt DLL - Win32 Debug"
-
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "."
-# PROP Intermediate_Dir "Debug\EC_svnt"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD CPP /nologo /MDd /W3 /Gm /GR /GX /Zi /Od /Gy /I "..\..\..\..\..\orbsvcs\orbsvcs" /I "..\..\..\.." /I "..\..\..\..\ciao" /I "..\..\..\..\.." /I "..\..\..\..\..\tao" /I "..\..\..\..\..\.." /D _DEBUG=1 /D WIN32=1 /D _WINDOWS=1 /D EC_SVNT_BUILD_DLL=1 /FD /c
-# SUBTRACT CPP /Fr /YX
-# ADD BASE RSC /l 0x409
-# ADD RSC /l 0x409 /i "..\..\..\..\..\orbsvcs\orbsvcs" /i "..\..\..\.." /i "..\..\..\..\ciao" /i "..\..\..\..\.." /i "..\..\..\..\..\tao" /i "..\..\..\..\..\.." /d _DEBUG=1
-BSC32=bscmake.exe
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 /machine:IX86
-# ADD LINK32 advapi32.lib user32.lib EC_stubd.lib BasicSP_stubd.lib BasicSP_svntd.lib CIAO_Serverd.lib TAO_PortableServerd.lib TAO_IORInterceptord.lib TAO_ObjRefTemplated.lib TAO_Securityd.lib CIAO_Containerd.lib TAOd.lib TAO_IFR_Clientd.lib TAO_Valuetyped.lib CIAO_Clientd.lib ACEd.lib /nologo /subsystem:windows /dll /incremental:no /pdb:"..\..\..\..\..\..\bin\EC_svntd.pdb" /debug /machine:I386 /out:"..\..\..\..\..\..\bin\EC_svntd.dll" /libpath:".." /libpath:"..\..\..\..\..\tao\PortableServer" /libpath:"..\..\..\..\..\tao\IORInterceptor" /libpath:"..\..\..\..\..\tao\ObjRefTemplate" /libpath:"..\..\..\..\..\orbsvcs\orbsvcs" /libpath:"..\..\..\..\..\tao\IFR_Client" /libpath:"..\..\..\..\..\tao\Valuetype" /libpath:"..\..\..\..\ciao" /libpath:"..\..\..\..\..\tao" /libpath:"..\..\..\..\..\..\ace" /version:1.3.1
-# SUBTRACT LINK32 /pdb:none
-
-!ENDIF
-
-# Begin Target
-
-# Name "EC_svnt DLL - Win32 Release"
-# Name "EC_svnt DLL - Win32 Debug"
-# Begin Group "Source Files"
-
-# PROP Default_Filter "cpp;cxx;c"
-# Begin Source File
-
-SOURCE=.\EC_svnt.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\ECEC.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\ECS.cpp
-# End Source File
-# End Group
-# Begin Group "Inline Files"
-
-# PROP Default_Filter "i;inl"
-# Begin Source File
-
-SOURCE=.\ECEC.i
-# End Source File
-# Begin Source File
-
-SOURCE=.\ECS.i
-# End Source File
-# End Group
-# Begin Group "Documentation"
-
-# PROP Default_Filter ""
-# Begin Source File
-
-SOURCE=.\README
-# End Source File
-# End Group
-# Begin Group "IDL Files"
-
-# PROP Default_Filter "idl"
-# Begin Source File
-
-SOURCE=.\EC.cidl
-
-!IF "$(CFG)" == "EC_svnt DLL - Win32 Release"
-
-USERDEP__EC_CI="..\..\..\..\..\..\bin\cidlc.exe"
-# Begin Custom Build - Invoking CIAO CIDL Compiler on $(InputPath)
-InputPath=.\EC.cidl
-InputName=EC
-
-BuildCmds= \
- ..\..\..\..\bin\cidlc --lem-file-suffix "E.idl" -- $(InputName).cidl
-
-"$(InputName)E.idl" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-
-"$(InputName)_svnt.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-
-"$(InputName)_svnt.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-# End Custom Build
-
-!ELSEIF "$(CFG)" == "EC_svnt DLL - Win32 Debug"
-
-USERDEP__EC_CI="..\..\..\..\..\..\bin\cidlc.exe"
-# Begin Custom Build - Invoking CIAO CIDL Compiler on $(InputPath)
-InputPath=.\EC.cidl
-InputName=EC
-
-BuildCmds= \
- ..\..\..\..\bin\cidlc --lem-file-suffix "E.idl" -- $(InputName).cidl
-
-"$(InputName)E.idl" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-
-"$(InputName)_svnt.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-
-"$(InputName)_svnt.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-# End Custom Build
-
-!ENDIF
-
-# End Source File
-# Begin Source File
-
-SOURCE=.\ECE.idl
-
-!IF "$(CFG)" == "EC_svnt DLL - Win32 Release"
-
-# PROP Ignore_Default_Tool 1
-# Begin Custom Build - Invoking IDL Compiler on $(InputPath)
-InputPath=.\ECE.idl
-InputName=ECE
-
-BuildCmds= \
- ..\..\..\..\..\..\bin\tao_idl -o . -Wb,export_macro=EC_SVNT_Export -Wb,export_include=EC_svnt_export.h -I..\..\..\..\.. -I..\..\..\..\..\CIAO\ciao -Wb,pre_include="ace\pre.h" -Wb,post_include="ace\post.h" -I ..\..\..\.. -I ..\..\..\..\.. -I ..\..\..\..\..\orbsvcs\orbsvcs -Ge 1 -Sc $(InputPath)
-
-".\$(InputName)C.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-
-".\$(InputName)C.i" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-
-".\$(InputName)C.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-
-".\$(InputName)S.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-
-".\$(InputName)S.i" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-
-".\$(InputName)S.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-# End Custom Build
-
-!ELSEIF "$(CFG)" == "EC_svnt DLL - Win32 Debug"
-
-# PROP Ignore_Default_Tool 1
-# Begin Custom Build - Invoking IDL Compiler on $(InputPath)
-InputPath=.\ECE.idl
-InputName=ECE
-
-BuildCmds= \
- ..\..\..\..\..\..\bin\tao_idl -o . -Wb,export_macro=EC_SVNT_Export -Wb,export_include=EC_svnt_export.h -I..\..\..\..\.. -I..\..\..\..\..\CIAO\ciao -Wb,pre_include="ace\pre.h" -Wb,post_include="ace\post.h" -I ..\..\..\.. -I ..\..\..\..\.. -I ..\..\..\..\..\orbsvcs\orbsvcs -Ge 1 -Sc $(InputPath)
-
-".\$(InputName)C.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-
-".\$(InputName)C.i" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-
-".\$(InputName)C.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-
-".\$(InputName)S.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-
-".\$(InputName)S.i" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-
-".\$(InputName)S.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-# End Custom Build
-
-!ENDIF
-
-# End Source File
-# End Group
-# End Target
-# End Project
diff --git a/TAO/CIAO/examples/OEP/BasicSP/EC/EC_svnt_export.h b/TAO/CIAO/examples/OEP/BasicSP/EC/EC_svnt_export.h
deleted file mode 100644
index 41da2dfc871..00000000000
--- a/TAO/CIAO/examples/OEP/BasicSP/EC/EC_svnt_export.h
+++ /dev/null
@@ -1,50 +0,0 @@
-
-// -*- C++ -*-
-// $Id$
-// Definition for Win32 Export directives.
-// This file is generated automatically by generate_export_file.pl EC_SVNT
-// ------------------------------
-#ifndef EC_SVNT_EXPORT_H
-#define EC_SVNT_EXPORT_H
-
-#include "ace/config-all.h"
-
-#if !defined (EC_SVNT_HAS_DLL)
-# define EC_SVNT_HAS_DLL 1
-#endif /* ! EC_SVNT_HAS_DLL */
-
-#if defined (EC_SVNT_HAS_DLL) && (EC_SVNT_HAS_DLL == 1)
-# if defined (EC_SVNT_BUILD_DLL)
-# define EC_SVNT_Export ACE_Proper_Export_Flag
-# define EC_SVNT_SINGLETON_DECLARATION(T) ACE_EXPORT_SINGLETON_DECLARATION (T)
-# define EC_SVNT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_EXPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
-# else /* EC_SVNT_BUILD_DLL */
-# define EC_SVNT_Export ACE_Proper_Import_Flag
-# define EC_SVNT_SINGLETON_DECLARATION(T) ACE_IMPORT_SINGLETON_DECLARATION (T)
-# define EC_SVNT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_IMPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
-# endif /* EC_SVNT_BUILD_DLL */
-#else /* EC_SVNT_HAS_DLL == 1 */
-# define EC_SVNT_Export
-# define EC_SVNT_SINGLETON_DECLARATION(T)
-# define EC_SVNT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
-#endif /* EC_SVNT_HAS_DLL == 1 */
-
-// Set EC_SVNT_NTRACE = 0 to turn on library specific tracing even if
-// tracing is turned off for ACE.
-#if !defined (EC_SVNT_NTRACE)
-# if (ACE_NTRACE == 1)
-# define EC_SVNT_NTRACE 1
-# else /* (ACE_NTRACE == 1) */
-# define EC_SVNT_NTRACE 0
-# endif /* (ACE_NTRACE == 1) */
-#endif /* !EC_SVNT_NTRACE */
-
-#if (EC_SVNT_NTRACE == 1)
-# define EC_SVNT_TRACE(X)
-#else /* (EC_SVNT_NTRACE == 1) */
-# define EC_SVNT_TRACE(X) ACE_TRACE_IMPL(X)
-#endif /* (EC_SVNT_NTRACE == 1) */
-
-#endif /* EC_SVNT_EXPORT_H */
-
-// End of auto generated file.
diff --git a/TAO/CIAO/examples/OEP/BasicSP/EC/README b/TAO/CIAO/examples/OEP/BasicSP/EC/README
deleted file mode 100644
index 7e032780ab1..00000000000
--- a/TAO/CIAO/examples/OEP/BasicSP/EC/README
+++ /dev/null
@@ -1,9 +0,0 @@
-/**
-
-@page EC README File
-
- The EC component. This shouldnt be needed if we had a way to
-integrate EC sugly into CIAO. We dont at the time of writing this
-example on May 12, 2003. Hence this holy hack!
-
-*/
diff --git a/TAO/CIAO/examples/OEP/BasicSP/EC/client.cpp b/TAO/CIAO/examples/OEP/BasicSP/EC/client.cpp
deleted file mode 100644
index 7de404f4beb..00000000000
--- a/TAO/CIAO/examples/OEP/BasicSP/EC/client.cpp
+++ /dev/null
@@ -1,72 +0,0 @@
-// $Id$
-
-//==============================================================
-/**
- * @file client.cpp
- *
- * This is a simple client test program that interact with the EC
- * component implementation. This test uses the explicit factory
- * operation in the home interface to create a EC component
- * instance, run it for a while, and destroy the component instance.
- */
-//==============================================================
-
-#include "ECC.h"
-
-int
-main (int argc, char *argv[])
-{
- ACE_TRY_NEW_ENV
- {
- // Initialize orb
- CORBA::ORB_var orb = CORBA::ORB_init (argc, argv ACE_ENV_ARG_PARAMETER);
-
- // Resolve HomeFinder interface
-
- CORBA::Object_var obj
- = orb->string_to_object ("file://ec.ior" ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- BasicSP::ECHome_var home
- = BasicSP::ECHome::_narrow (obj.in ()
- ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- if (CORBA::is_nil (home.in ()))
- ACE_ERROR_RETURN ((LM_ERROR, "Unable to acquire ECHome objref\n"), -1);
-
- BasicSP::EC_var pulser
- = home->create (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- // Place to plug in the rate
- pulser->hertz (5
- ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- pulser->start (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- ACE_OS::sleep (45);
-
- pulser->stop (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- home->remove_component (pulser.in ()
- ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- orb->destroy (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_TRY_CHECK;
- }
- ACE_CATCHANY
- {
- ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION,
- "Who is the culprit \n");
- cerr << "Uncaught CORBA exception" << endl;
- return 1;
- }
- ACE_ENDTRY;
-
- return 0;
-}
diff --git a/TAO/CIAO/examples/OEP/BasicSP/EC/config b/TAO/CIAO/examples/OEP/BasicSP/EC/config
deleted file mode 100644
index 527aa2ba7ed..00000000000
--- a/TAO/CIAO/examples/OEP/BasicSP/EC/config
+++ /dev/null
@@ -1 +0,0 @@
-EC_exec|createECHome_Impl|EC_svnt|createECHome_Servant
diff --git a/TAO/CIAO/examples/OEP/BasicSP/EC/controller.cpp b/TAO/CIAO/examples/OEP/BasicSP/EC/controller.cpp
deleted file mode 100644
index 0d6a328b217..00000000000
--- a/TAO/CIAO/examples/OEP/BasicSP/EC/controller.cpp
+++ /dev/null
@@ -1,125 +0,0 @@
-// $Id$
-/**
- * @file controller.cpp
- *
- * This program interact with a EC component, and set the rate of the
- * EC.
- */
-
-
-#include "ECC.h"
-#include "ace/Get_Opt.h"
-
-
-char *rategen_ior_ = 0;
-int rate = 2;
-int turn_on = 1;
-
-int
-parse_args (int argc, char *argv[])
-{
- ACE_Get_Opt get_opts (argc, argv, "k:r:of");
- int c;
-
- while ((c = get_opts ()) != -1)
- switch (c)
- {
- case 'o':
- turn_on = 1;
- break;
-
- case 'f':
- turn_on = 0;
- break;
-
- case 'k':
- rategen_ior_ = get_opts.opt_arg ();
- break;
-
- case 'r':
- rate = atoi (get_opts.opt_arg ());
- break;
-
- case '?': // display help for use of the server.
- default:
- ACE_ERROR_RETURN ((LM_ERROR,
- "usage: %s\n"
- "-o (Turn on the rate generator)\n"
- "-f (Turn off the rate generator)\n"
- "-k <EC IOR> (default is file://rategen.ior)\n"
- "-r <rate in hertz> (default is 3)\n"
- "\n",
- argv [0]),
- -1);
- }
-
- if (rategen_ior_ == 0)
- rategen_ior_ = "file://ec.ior";
-
- if (rate == 0)
- rate = 3;
-
- return 0;
-}
-
-int
-main (int argc, char *argv[])
-{
- ACE_TRY_NEW_ENV
- {
- // Initialize orb
- CORBA::ORB_var orb = CORBA::ORB_init (argc, argv ACE_ENV_ARG_PARAMETER);
-
- if (parse_args (argc, argv) != 0)
- return -1;
-
- CORBA::Object_var obj
- = orb->string_to_object (rategen_ior_
- ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- BasicSP::EC_var pulser
- = BasicSP::EC::_narrow (obj.in ()
- ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- if (CORBA::is_nil (pulser.in ()))
- ACE_ERROR_RETURN ((LM_ERROR, "Unable to acquire 'EC' objref\n"), -1);
-
- pulser->hertz (rate
- ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- if (turn_on)
- {
- pulser->hertz (rate
- ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- ACE_DEBUG ((LM_DEBUG, "Start up the Event services\n"));
-
- pulser->start (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_TRY_CHECK;
- }
- else
- {
- pulser->stop (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- ACE_DEBUG ((LM_DEBUG, "Stop the ES\n"));
- }
-
- orb->destroy (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_TRY_CHECK;
- }
- ACE_CATCHANY
- {
- ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION,
- "Who is the culprit \n");
- cerr << "Uncaught CORBA exception" << endl;
- return 1;
- }
- ACE_ENDTRY;
-
- return 0;
-}
diff --git a/TAO/CIAO/examples/OEP/BasicSP/EC/controller.dsp b/TAO/CIAO/examples/OEP/BasicSP/EC/controller.dsp
deleted file mode 100644
index eafa52fdfa4..00000000000
--- a/TAO/CIAO/examples/OEP/BasicSP/EC/controller.dsp
+++ /dev/null
@@ -1,166 +0,0 @@
-# Microsoft Developer Studio Project File - Name="controller EXE" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 6.00
-# ** DO NOT EDIT **
-
-# TARGTYPE "Win32 (x86) Console Application" 0x0103
-
-CFG=controller EXE - Win32 Debug
-!MESSAGE This is not a valid makefile. To build this project using NMAKE,
-!MESSAGE use the Export Makefile command and run
-!MESSAGE
-!MESSAGE NMAKE /f "controller.mak".
-!MESSAGE
-!MESSAGE You can specify a configuration when running NMAKE
-!MESSAGE by defining the macro CFG on the command line. For example:
-!MESSAGE
-!MESSAGE NMAKE /f "controller.mak" CFG="controller EXE - Win32 Debug"
-!MESSAGE
-!MESSAGE Possible choices for configuration are:
-!MESSAGE
-!MESSAGE "controller EXE - Win32 Release" (based on "Win32 (x86) Console Application")
-!MESSAGE "controller EXE - Win32 Debug" (based on "Win32 (x86) Console Application")
-!MESSAGE
-
-# Begin Project
-# PROP AllowPerConfigDependencies 0
-# PROP Scc_ProjName ""
-# PROP Scc_LocalPath ""
-CPP=cl.exe
-RSC=rc.exe
-
-!IF "$(CFG)" == "controller EXE - Win32 Release"
-
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "Release"
-# PROP Intermediate_Dir "Release\controller"
-# PROP Target_Dir ""
-# ADD CPP /nologo /MD /W3 /GR /GX /O2 /I "..\..\..\..\..\orbsvcs\orbsvcs" /I "..\..\..\.." /I "..\..\..\..\ciao" /I "..\..\..\..\.." /I "..\..\..\..\..\tao" /I "..\..\..\..\..\.." /D NDEBUG=1 /D WIN32=1 /D _CONSOLE=1 /FD /c
-# SUBTRACT CPP /YX
-# ADD BASE RSC /l 0x409
-# ADD RSC /l 0x409 /i "..\..\..\.." /i "..\..\..\..\ciao" /i "..\..\..\..\.." /i "..\..\..\..\..\tao" /i "..\..\..\..\..\.." /d NDEBUG=1
-BSC32=bscmake.exe
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 /machine:IX86
-# ADD LINK32 EC_stub.lib BasicSP_stub.lib TAO.lib TAO_Security.lib TAO_IFR_Client.lib TAO_Valuetype.lib CIAO_Client.lib ACE.lib /nologo /subsystem:console /machine:I386 /libpath:"..\..\..\..\..\orbsvcs\orbsvcs" /libpath:".." /libpath:"..\..\..\..\..\tao\IFR_Client" /libpath:"..\..\..\..\..\tao\Valuetype" /libpath:"..\..\..\..\ciao" /libpath:"..\..\..\..\..\tao" /libpath:"..\..\..\..\..\..\ace" /version:1.3.1
-# SUBTRACT LINK32 /pdb:none
-
-!ELSEIF "$(CFG)" == "controller EXE - Win32 Debug"
-
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "."
-# PROP Intermediate_Dir "Debug\controller"
-# PROP Target_Dir ""
-# ADD CPP /nologo /MDd /W3 /Gm /GR /GX /Zi /Od /Gy /I "..\..\..\..\..\orbsvcs\orbsvcs" /I "..\..\..\.." /I "..\..\..\..\ciao" /I "..\..\..\..\.." /I "..\..\..\..\..\tao" /I "..\..\..\..\..\.." /D _DEBUG=1 /D WIN32=1 /D _CONSOLE=1 /FD /c
-# SUBTRACT CPP /YX
-# ADD BASE RSC /l 0x409
-# ADD RSC /l 0x409 /i "..\..\..\.." /i "..\..\..\..\ciao" /i "..\..\..\..\.." /i "..\..\..\..\..\tao" /i "..\..\..\..\..\.." /d _DEBUG=1
-BSC32=bscmake.exe
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 /machine:IX86
-# ADD LINK32 EC_stubd.lib BasicSP_stubd.lib TAO_Securityd.lib TAOd.lib TAO_IFR_Clientd.lib TAO_Valuetyped.lib CIAO_Clientd.lib ACEd.lib /nologo /subsystem:console /incremental:no /debug /machine:I386 /libpath:"..\..\..\..\..\orbsvcs\orbsvcs" /libpath:".." /libpath:"..\..\..\..\..\tao\IFR_Client" /libpath:"..\..\..\..\..\tao\Valuetype" /libpath:"..\..\..\..\ciao" /libpath:"..\..\..\..\..\tao" /libpath:"..\..\..\..\..\..\ace" /version:1.3.1
-# SUBTRACT LINK32 /pdb:none
-
-!ENDIF
-
-# Begin Target
-
-# Name "controller EXE - Win32 Release"
-# Name "controller EXE - Win32 Debug"
-# Begin Group "Source Files"
-
-# PROP Default_Filter "cpp;cxx;c"
-# Begin Source File
-
-SOURCE=.\controller.cpp
-# End Source File
-# End Group
-# Begin Group "Header Files"
-
-# PROP Default_Filter "h;hpp;hxx;hh"
-# Begin Source File
-
-SOURCE=.\EC_exec.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\EC_exec_export.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\EC_stub_export.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\EC_svnt.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\EC_svnt_export.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\ECC.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\ECEC.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\ECEIC.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\ECEIS.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\ECES.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\ECS.h
-# End Source File
-# End Group
-# Begin Group "Inline Files"
-
-# PROP Default_Filter "i;inl"
-# Begin Source File
-
-SOURCE=.\ECC.i
-# End Source File
-# Begin Source File
-
-SOURCE=.\ECEC.i
-# End Source File
-# Begin Source File
-
-SOURCE=.\ECEIC.i
-# End Source File
-# Begin Source File
-
-SOURCE=.\ECEIS.i
-# End Source File
-# Begin Source File
-
-SOURCE=.\ECES.i
-# End Source File
-# Begin Source File
-
-SOURCE=.\ECS.i
-# End Source File
-# End Group
-# Begin Group "Documentation"
-
-# PROP Default_Filter ""
-# Begin Source File
-
-SOURCE=.\README
-# End Source File
-# End Group
-# End Target
-# End Project
diff --git a/TAO/CIAO/examples/OEP/BasicSP/NOTE.txt b/TAO/CIAO/examples/OEP/BasicSP/NOTE.txt
deleted file mode 100644
index b1948267f77..00000000000
--- a/TAO/CIAO/examples/OEP/BasicSP/NOTE.txt
+++ /dev/null
@@ -1,135 +0,0 @@
-This directory contains various XML descriptors and configuration
-files required to compose the HUDisplay application in a variety of
-different ways. Let's go over a few important files first:
-
-test.dat:
----------
-
- This file describes the deployment daemons CIAO's Assembly_Manager
- will contact to instantiate ComponentServer's, home's, and component
- instances. Each line specify the name of a installation
- "destination" (I used this to specify <processcollocation>
- destination in various *.cad files) and the corresponding IOR for
- the CIAO_Daemon. The first entry is the "default" destination the
- deployment framework will use.
-
- For example, test.dat now contains:
-
- Default corbaloc:iiop:localhost:10000/ServerActivator
- Remote corbaloc:iiop:localhost:12000/ServerActivator
-
- You can copy and modify the copy to deploy the components in various
- different locations to let the application truely "distributed".
- For example, changing the remote ServerActivator to:
- corbaloc:iiop:deuce.doc.wustl.edu:13000/ServerActivator
-
- Remember to start up the Assembly_Manager in Step 2 using the
- revised "test.dat" you created, and start up the CIAO_Daemon's in
- Step 1 according to the specification.
-
-*.cad:
-------
-
- These files specify how an application should be composed. The
- specification includes, where to install a component, what
- implementation to use, and how to connect components together.
- Currently, we have:
-
- BasicSP.cad: Plain vanilla assembly descriptor. This file install
- all components using the "Default" (the first daemon)
- in 'test.dat. You can see the application output
- from the default daemon shell.
-
-Unfortunately, there's no run_test.pl for starting and running these
-example configurations/assemblies as these daemons/managers programs
-are still under development. You will need several shell windows for
-them. All the following step should be run from this subdirectory
-($CIAO_ROOT/examples/OEP/Display/descriptors/). Here are the
-steps to demonstrate the examples:
-
-Step 1:
-=======
-
- You need to start up the CIAO daemon as specified in the
- deployment configuration file 'test.dat' (Notice the endpoint
- specification.) If you run more than one daemon (each with its
- own host port), I recommend running each CIAO_Daemon in its own
- shell window so you can tell where a component in the example
- application is running. Here are some hints on how to start the
- daemon:
-
- ${CIAO_ROOT}/tools/Daemon/CIAO_Daemon -ORBEndpoint iiop://localhost:10000 -n ../../../../tools/ComponentServer/ComponentServer
-
- and on Windows
-
- %CIAO_ROOT%\tools\Daemon\CIAO_Daemon -ORBEndpoint iiop://localhost:10000 -n ../../../../tools/ComponentServer/ComponentServer
-
- Note that the environment variable CIAO_ROOT must be set
- (to TAO_ROOT/CIAO).
-
-Step 2:
-=======
-
- Next, you will need to start up the Assembly_Manager which actually
- does the assembly work. This should also be started in a separate
- shell window.
-
- ${CIAO_ROOT}/tools/Assembly_Deployer/Assembly_Manager -o ior -c test.dat
-
- or
-
- %CIAO_ROOT%\tools\Assembly_Deployer\Assembly_Manager -o ior -c test.dat
-
-Step 3:
-=======
-
- You then need to instruct the Assembly_Manager to deploy a specific
- component assembly descriptor. For example:
-
- ${CIAO_ROOT}/tools/Assembly_Deployer/Assembly_Deployer -k file://ior -a BasicSP.cad
-
- or
-
- %CIAO_ROOT%\tools\Assembly_Deployer\Assembly_Deployer -k file://ior -a BasicSP.cad
-
-Step 4:
-=======
-
- All the .cad files instruct the Assembly_Manager to write the IOR of
- the RateGen component to a file called "rategen.ior" in this
- directory. You will then need to use a controller program in a
- separate shell window to switch on/off the Rate Generator. Cont
-
- Execute the controller with:
-
- ..\EC\controller -o # To switch on the EC component
-
- See its source to check what options are available to start up the
- controller. (Hints: you can control the rate (hertz) of the Rate
- Generator component.)
-
- Once the controller is running, check out the Daemon window for
- text-based BMClosedED and BMDisplay components. Once you are
- happy with it, you can stop the EC component by executing the
- controller as:
-
- ../EC/controller -f # To switch off the EC component
-
- Repeat this step again to instruct the EC component to start
- generating events.
-
-Step 5:
-=======
-
- Once you are done with the test. Press <enter> in the shell window
- running Assembly_Deployer that you started in Step 3. This will
- tear_down the application, kill all ComponentServer's, and terminate
- both the Assembly_Deployer and Assembly_Manager process.
-
- Repeat Step 2-5 using different configurations and assembly
- descriptors.
-
-Step 6:
-=======
-
- Terminate CIAO_Daemon (either using ^C or DaemonController.)
diff --git a/TAO/CIAO/examples/OEP/BasicSP/README b/TAO/CIAO/examples/OEP/BasicSP/README
deleted file mode 100644
index ec8463d2aae..00000000000
--- a/TAO/CIAO/examples/OEP/BasicSP/README
+++ /dev/null
@@ -1,32 +0,0 @@
-/**
-
-@page BasicSP README File
-
- The most basic of the Boeing scenarios that form part of the
-OEP. This is done to illustrate how the OEP can be implemented using
-CIAO.
-
- This example does not yet use MPC to generate MSVC
-projects/workspaces/solutions or makefiles - we are still
-working on getting the execution of the CIDL compiler
-integrated into MPC. The CIDL compiler execution has
-been added to MSVC projects, which for now are checked
-into the CVS repository. CIDL compiler execution is not yet
-integrated with makefiles. The CIDL compiler can be executed by
-hand before starting the build for either this example or the
-example in ACE_ROOT/TAO/CIAO/examples/OEP/Display.
-
- Compilation of the CIDL compiler source code requires the
-Boost library, which is not included in this distribution of
-ACE+TAO+CIAO. The Boost library is available at
-
-http://www.boost.org
-
- Alternatively, a binary executable of the CIAO
-CIDL compiler can be downloaded from
-
-http://www.dre.vanderbilt.edu/CIAO/CIDL.html
-
-Versions are available at the above site for Linux and Windows.
-
-*/
diff --git a/TAO/CIAO/examples/OEP/BasicSP/descriptors/BMClosedED.csd b/TAO/CIAO/examples/OEP/BasicSP/descriptors/BMClosedED.csd
deleted file mode 100644
index e814dfcbc13..00000000000
--- a/TAO/CIAO/examples/OEP/BasicSP/descriptors/BMClosedED.csd
+++ /dev/null
@@ -1,45 +0,0 @@
-<?xml version="1.0"?> <!-- -*- SGML -*- -->
-
-<!-- If this file is moved to a different directory, make sure to change the
- path to the DTD below. Otherwise the examples won't work. -->
-<!DOCTYPE softpkg SYSTEM "../../../../docs/XML/softpkg.dtd">
-
-<!-- GPS's Software Package Descriptor -->
-<!-- This file describes various GPS executor -->
-<!-- implementations. -->
-
-
-<softpkg name="CIAO-BMClosedED" version="1.0">
- <pkgtype>CORBA Component</pkgtype>
- <title>BMClosedED</title>
- <author>
- <company>ISIS at Vanderbilt University</company>
- <webpage href="http://www.cs.wustl.edu/~doc/"/>
- </author>
- <description>A BMClosedED executor implementation.</description>
- <license href="http://www.cs.wustl.edu/~schmidt/ACE-copying.html"/>
- <idl id="IDL:BasicSP/BMClosedED:1.0" homeid="IDL:BasicSP/BMClosedEDHome:1.0">
- <fileinarchive name="BMClosedED.idl"/>
- </idl>
-
- <descriptor type="CORBA Component">
- <fileinarchive name="BMClosedED.ccd"/>
- </descriptor>
-
- <implementation id="DCE:8E6C468D-A39F-46b4-962B-265F1AA8D538">
-
- <dependency type="CIAODLL">
- <softpkgref>
- <fileinarchive name="BMClosedED.ssd"/>
- <implref idref="DCE:CDC06FCA-50FC-43ca-8ECC-BEFBD33FEE78"/>
- </softpkgref>
- </dependency>
-
- <code type="DLL">
- <fileinarchive name="BMClosedED_exec"/>
- <entrypoint>createBMClosedEDHome_Impl</entrypoint>
- </code>
-
- </implementation>
-
-</softpkg>
diff --git a/TAO/CIAO/examples/OEP/BasicSP/descriptors/BMClosedED.ssd b/TAO/CIAO/examples/OEP/BasicSP/descriptors/BMClosedED.ssd
deleted file mode 100644
index 8ef62ebaa1c..00000000000
--- a/TAO/CIAO/examples/OEP/BasicSP/descriptors/BMClosedED.ssd
+++ /dev/null
@@ -1,43 +0,0 @@
-<?xml version="1.0"?> <!-- -*- SGML -*- -->
-
-<!-- If this file is moved to a different directory, make sure to change the
- path to the DTD below. Otherwise the examples won't work. -->
-<!DOCTYPE softpkg SYSTEM "../../../../docs/XML/softpkg.dtd">
-
-<!-- RateGen's Servant Software Descriptor -->
-<!-- This file describes various RateGen servant -->
-<!-- implementations. -->
-
-
-<softpkg name="CIAO-BMClosedED-Servant" version="1.0">
- <pkgtype>CIAO Servant</pkgtype>
- <title>BasicSP::BMDevice Servants</title>
- <author>
- <company>ISIS at Vanderbilt University</company>
- <webpage href="http://www.dre.vanderbilt.edu/"/>
- </author>
- <description>A EC event generator implementation.</description>
- <license href="http://www.cs.wustl.edu/~schmidt/ACE-copying.html"/>
- <idl id="IDL:BasicSP/BMClosedED:1.0" homeid="IDL:BasicSP/BMClosedEDHome:1.0">
- <fileinarchive name="BMClosedED.idl"/>
- </idl>
-
- <descriptor type="CORBA Component">
- <fileinarchive name="BMClosedED.ccd"/>
- </descriptor>
-
- <implementation id="DCE:CDC06FCA-50FC-43ca-8ECC-BEFBD33FEE78">
-
- <dependency type="ORB">
- <name>TAO</name>
- </dependency>
-
- <code>
- <!-- No need to specify extension below since ACE takes care of that, -->
- <fileinarchive name="BMClosedED_svnt"/>
- <entrypoint>createBMClosedEDHome_Servant</entrypoint>
- </code>
-
- </implementation>
-
-</softpkg>
diff --git a/TAO/CIAO/examples/OEP/BasicSP/descriptors/BMDevice.csd b/TAO/CIAO/examples/OEP/BasicSP/descriptors/BMDevice.csd
deleted file mode 100644
index d4ae1236c6c..00000000000
--- a/TAO/CIAO/examples/OEP/BasicSP/descriptors/BMDevice.csd
+++ /dev/null
@@ -1,46 +0,0 @@
-<?xml version="1.0"?> <!-- -*- SGML -*- -->
-
-<!-- If this file is moved to a different directory, make sure to change the
- path to the DTD below. Otherwise the examples won't work. -->
-<!DOCTYPE softpkg SYSTEM "../../../../docs/XML/softpkg.dtd">
-
-<!-- GPS's Software Package Descriptor -->
-<!-- This file describes various GPS executor -->
-<!-- implementations. -->
-
-
-<softpkg name="CIAO-BMDevice" version="1.0">
- <pkgtype>CORBA Component</pkgtype>
- <title>BMDevice</title>
- <author>
- <company>ISIS at Vanderbilt University</company>
- <webpage href="http://www.cs.wustl.edu/~doc/"/>
- </author>
- <description>A BMDevice executor implementation.</description>
- <license href="http://www.cs.wustl.edu/~schmidt/ACE-copying.html"/>
- <idl id="IDL:BasicSP/BMDevice:1.0" homeid="IDL:BasicSP/BMDeviceHome:1.0">
- <fileinarchive name="BMDevice.idl"/>
- </idl>
-
- <descriptor type="CORBA Component">
- <fileinarchive name="BMDevice.ccd"/>
- </descriptor>
-
- <implementation id="DCE:82C2B032-37F0-4315-A59F-7020D3264E4D">
-
- <!-- CIAO extension -->
- <dependency type="CIAODLL">
- <softpkgref>
- <fileinarchive name="BMDevice.ssd"/>
- <implref idref="DCE:93D254CF-9538-44e8-BB98-AABCD134ADD3"/>
- </softpkgref>
- </dependency>
-
- <code type="DLL">
- <fileinarchive name="BMDevice_exec"/>
- <entrypoint>createBMDeviceHome_Impl</entrypoint>
- </code>
-
- </implementation>
-
-</softpkg>
diff --git a/TAO/CIAO/examples/OEP/BasicSP/descriptors/BMDevice.ssd b/TAO/CIAO/examples/OEP/BasicSP/descriptors/BMDevice.ssd
deleted file mode 100644
index 500a6284df0..00000000000
--- a/TAO/CIAO/examples/OEP/BasicSP/descriptors/BMDevice.ssd
+++ /dev/null
@@ -1,43 +0,0 @@
-<?xml version="1.0"?> <!-- -*- SGML -*- -->
-
-<!-- If this file is moved to a different directory, make sure to change the
- path to the DTD below. Otherwise the examples won't work. -->
-<!DOCTYPE softpkg SYSTEM "../../../../docs/XML/softpkg.dtd">
-
-<!-- RateGen's Servant Software Descriptor -->
-<!-- This file describes various RateGen servant -->
-<!-- implementations. -->
-
-
-<softpkg name="CIAO-BMDevice-Servant" version="1.0">
- <pkgtype>CIAO Servant</pkgtype>
- <title>BasicSP::BMDevice Servants</title>
- <author>
- <company>ISIS at Vanderbilt University</company>
- <webpage href="http://www.dre.vanderbilt.edu/"/>
- </author>
- <description>A EC event generator implementation.</description>
- <license href="http://www.cs.wustl.edu/~schmidt/ACE-copying.html"/>
- <idl id="IDL:BasicSP/BMDevice:1.0" homeid="IDL:BasicSP/BMDeviceHome:1.0">
- <fileinarchive name="BMDevice.idl"/>
- </idl>
-
- <descriptor type="CORBA Component">
- <fileinarchive name="BMDevice.ccd"/>
- </descriptor>
-
- <implementation id="DCE:93D254CF-9538-44e8-BB98-AABCD134ADD3">
-
- <dependency type="ORB">
- <name>TAO</name>
- </dependency>
-
- <code>
- <!-- No need to specify extension below since ACE takes care of that, -->
- <fileinarchive name="EC_svnt"/>
- <entrypoint>createBMDeviceHome_Servant</entrypoint>
- </code>
-
- </implementation>
-
-</softpkg>
diff --git a/TAO/CIAO/examples/OEP/BasicSP/descriptors/BMDisplay.csd b/TAO/CIAO/examples/OEP/BasicSP/descriptors/BMDisplay.csd
deleted file mode 100644
index 1f1d5ff0060..00000000000
--- a/TAO/CIAO/examples/OEP/BasicSP/descriptors/BMDisplay.csd
+++ /dev/null
@@ -1,46 +0,0 @@
-<?xml version="1.0"?> <!-- -*- SGML -*- -->
-
-<!-- If this file is moved to a different directory, make sure to change the
- path to the DTD below. Otherwise the examples won't work. -->
-<!DOCTYPE softpkg SYSTEM "../../../../docs/XML/softpkg.dtd">
-
-<!-- GPS's Software Package Descriptor -->
-<!-- This file describes various GPS executor -->
-<!-- implementations. -->
-
-
-<softpkg name="CIAO-BMDisplay" version="1.0">
- <pkgtype>CORBA Component</pkgtype>
- <title>BMDisplay</title>
- <author>
- <company>ISIS at Vanderbilt University</company>
- <webpage href="http://www.cs.wustl.edu/~doc/"/>
- </author>
- <description>A BMDisplay executor implementation.</description>
- <license href="http://www.cs.wustl.edu/~schmidt/ACE-copying.html"/>
- <idl id="IDL:BasicSP/BMDisplay:1.0" homeid="IDL:BasicSP/BMDisplayHome:1.0">
- <fileinarchive name="BMDisplay.idl"/>
- </idl>
-
- <descriptor type="CORBA Component">
- <fileinarchive name="BMDisplay.ccd"/>
- </descriptor>
-
- <implementation id="DCE:8E92655E-CA07-46C8-B127-0F0872A8CC29">
-
- <!-- CIAO extension -->
- <dependency type="CIAODLL">
- <softpkgref>
- <fileinarchive name="BMDisplay.ssd"/>
- <implref idref="DCE:D7984625-8561-431d-9927-4E498B317C02"/>
- </softpkgref>
- </dependency>
-
- <code type="DLL">
- <fileinarchive name="BMDisplay_exec"/>
- <entrypoint>createBMDisplayHome_Impl</entrypoint>
- </code>
-
- </implementation>
-
-</softpkg>
diff --git a/TAO/CIAO/examples/OEP/BasicSP/descriptors/BMDisplay.ssd b/TAO/CIAO/examples/OEP/BasicSP/descriptors/BMDisplay.ssd
deleted file mode 100644
index 37949ebccb6..00000000000
--- a/TAO/CIAO/examples/OEP/BasicSP/descriptors/BMDisplay.ssd
+++ /dev/null
@@ -1,43 +0,0 @@
-<?xml version="1.0"?> <!-- -*- SGML -*- -->
-
-<!-- If this file is moved to a different directory, make sure to change the
- path to the DTD below. Otherwise the examples won't work. -->
-<!DOCTYPE softpkg SYSTEM "../../../../docs/XML/softpkg.dtd">
-
-<!-- RateGen's Servant Software Descriptor -->
-<!-- This file describes various RateGen servant -->
-<!-- implementations. -->
-
-
-<softpkg name="CIAO-BMDisplay-Servant" version="1.0">
- <pkgtype>CIAO Servant</pkgtype>
- <title>BasicSP::BMDisplay Servants</title>
- <author>
- <company>ISIS at Vanderbilt University</company>
- <webpage href="http://www.dre.vanderbilt.edu/"/>
- </author>
- <description>A EC event generator implementation.</description>
- <license href="http://www.cs.wustl.edu/~schmidt/ACE-copying.html"/>
- <idl id="IDL:BasicSP/BMDisplay:1.0" homeid="IDL:BasicSP/BMDisplayHome:1.0">
- <fileinarchive name="BMDisplay.idl"/>
- </idl>
-
- <descriptor type="CORBA Component">
- <fileinarchive name="BMDisplay.ccd"/>
- </descriptor>
-
- <implementation id="DCE:D7984625-8561-431d-9927-4E498B317C02">
-
- <dependency type="ORB">
- <name>TAO</name>
- </dependency>
-
- <code>
- <!-- No need to specify extension below since ACE takes care of that, -->
- <fileinarchive name="BMDisplay_svnt"/>
- <entrypoint>createBMDisplayHome_Servant</entrypoint>
- </code>
-
- </implementation>
-
-</softpkg>
diff --git a/TAO/CIAO/examples/OEP/BasicSP/descriptors/BasicSP.cad b/TAO/CIAO/examples/OEP/BasicSP/descriptors/BasicSP.cad
deleted file mode 100644
index bd727f4475c..00000000000
--- a/TAO/CIAO/examples/OEP/BasicSP/descriptors/BasicSP.cad
+++ /dev/null
@@ -1,109 +0,0 @@
-<?xml version="1.0"?> <!-- -*- SGML -*- -->
-
-<!-- If this file is moved to a different directory, make sure to change the
- path to the DTD below. Otherwise the examples won't work. -->
-<!DOCTYPE componentassembly SYSTEM "../../../../docs/XML/componentassembly.dtd">
-
-<componentassembly id="Single-process Basic assembly">
- <componentfiles>
- <componentfile id="com-EC">
- <fileinarchive name="EC.csd"/>
- </componentfile>
- <componentfile id="com-BMDevice">
- <fileinarchive name="BMDevice.csd"/>
- </componentfile>
- <componentfile id="com-BMClosedED">
- <fileinarchive name="BMClosedED.csd"/>
- </componentfile>
- <componentfile id="com-BMDisplay">
- <fileinarchive name="BMDisplay.csd"/>
- </componentfile>
- </componentfiles>
-
- <partitioning>
-
- <!-- A plain vanilla partition. We don't even need the processcollocation tag here. -->
- <homeplacement id="a_ECHome">
- <componentfileref idref="com-EC"/>
- <componentinstantiation id="a_EC">
- <registercomponent>
- <!-- writeiortofile is a non-standard CIAO extension. -->
- <writeiortofile name="ec.ior"/>
- </registercomponent>
- </componentinstantiation>
- </homeplacement>
- <homeplacement id="a_BMDeviceHome">
- <componentfileref idref="com-BMDevice"/>
- <componentinstantiation id="a_BMDevice"/>
- </homeplacement>
- <homeplacement id="a_BMClosedEDHome">
- <componentfileref idref="com-BMClosedED"/>
- <componentinstantiation id="a_BMClosedED"/>
- </homeplacement>
- <homeplacement id="a_BMDisplayHome">
- <componentfileref idref="com-BMDisplay"/>
- <componentinstantiation id="a_BMDisplay"/>
- </homeplacement>
-
- </partitioning>
-
- <connections>
-
- <connectevent>
- <consumesport>
- <consumesidentifier>timeout</consumesidentifier>
- <componentinstantiationref idref="a_BMDevice"/>
- </consumesport>
- <publishesport>
- <publishesidentifier>timeout</publishesidentifier>
- <componentinstantiationref idref="a_EC"/>
- </publishesport>
- </connectevent>
-
- <connectevent>
- <consumesport>
- <consumesidentifier>in_avail</consumesidentifier>
- <componentinstantiationref idref="a_BMClosedED"/>
- </consumesport>
- <publishesport>
- <publishesidentifier>data_available</publishesidentifier>
- <componentinstantiationref idref="a_BMDevice"/>
- </publishesport>
- </connectevent>
-
- <connectevent>
- <consumesport>
- <consumesidentifier>data_ready</consumesidentifier>
- <componentinstantiationref idref="a_BMDisplay"/>
- </consumesport>
- <publishesport>
- <publishesidentifier>out_avail</publishesidentifier>
- <componentinstantiationref idref="a_BMClosedED"/>
- </publishesport>
- </connectevent>
-
- <connectinterface>
- <usesport>
- <usesidentifier>datain</usesidentifier>
- <componentinstantiationref idref="a_BMClosedED"/>
- </usesport>
- <providesport>
- <providesidentifier>data_read</providesidentifier>
- <componentinstantiationref idref="a_BMDevice"/>
- </providesport>
- </connectinterface>
-
- <connectinterface>
- <usesport>
- <usesidentifier>comp_data</usesidentifier>
- <componentinstantiationref idref="a_BMDisplay"/>
- </usesport>
- <providesport>
- <providesidentifier>dataout</providesidentifier>
- <componentinstantiationref idref="a_BMClosedED"/>
- </providesport>
- </connectinterface>
-
- </connections>
-
-</componentassembly>
diff --git a/TAO/CIAO/examples/OEP/BasicSP/descriptors/CIAO_Installation_Data.ini b/TAO/CIAO/examples/OEP/BasicSP/descriptors/CIAO_Installation_Data.ini
deleted file mode 100644
index ba2027881c1..00000000000
--- a/TAO/CIAO/examples/OEP/BasicSP/descriptors/CIAO_Installation_Data.ini
+++ /dev/null
@@ -1,9 +0,0 @@
-[ComponentInstallation]
-DCE:75309233-0E0A-4cfb-B186-3E99F69B1D40=EC_svnt
-DCE:82C2B032-37F0-4315-A59F-7020D3264E4D=BMDevice_exec
-DCE:8E92655E-CA07-46C8-B127-0F0872A8CC29=BMDisplay_exec
-DCE:93D254CF-9538-44e8-BB98-AABCD134ADD3=BMDevice_svnt
-DCE:CDC06FCA-50FC-43ca-8ECC-BEFBD33FEE78=BMClosedED_svnt
-DCE:8E6C468D-A39F-46b4-962B-265F1AA8D538=BMClosedED_exec
-DCE:D7984625-8561-431d-9927-4E498B317C02=BMDisplay_svnt
-DCE:3148F760-F2ED-4204-A775-6B972C10E8CB=EC_exec
diff --git a/TAO/CIAO/examples/OEP/BasicSP/descriptors/EC.csd b/TAO/CIAO/examples/OEP/BasicSP/descriptors/EC.csd
deleted file mode 100644
index 562ac252743..00000000000
--- a/TAO/CIAO/examples/OEP/BasicSP/descriptors/EC.csd
+++ /dev/null
@@ -1,46 +0,0 @@
-<?xml version="1.0"?> <!-- -*- SGML -*- -->
-
-<!-- If this file is moved to a different directory, make sure to change the
- path to the DTD below. Otherwise the examples won't work. -->
-<!DOCTYPE softpkg SYSTEM "../../../../docs/XML/softpkg.dtd">
-
-<!-- RateGen's Software Package Descriptor -->
-<!-- This file describes various RateGen executor -->
-<!-- implementations. -->
-
-
-<softpkg name="CIAO-EC" version="1.0">
- <pkgtype>CORBA Component</pkgtype>
- <title>EC</title>
- <author>
- <company>ISIS at Vanderbilt University</company>
- <webpage href="http://www.dre.vanderbilt.edu/"/>
- </author>
- <description>A Event executor implementation.</description>
- <license href="http://www.cs.wustl.edu/~schmidt/ACE-copying.html"/>
- <idl id="IDL:BasicSP/EC:1.0" homeid="IDL:BasicSP/ECHome:1.0">
- <fileinarchive name="EC.idl"/>
- </idl>
- <descriptor type="CORBA Component">
- <fileinarchive name="EC.ccd"/>
- </descriptor>
- <implementation id="DCE:3148F760-F2ED-4204-A775-6B972C10E8CB">
-
- <!-- CIAO extension -->
- <dependency type="CIAODLL">
- <softpkgref>
- <!-- .ssd stands for Servant Software Descriptors which is a CIAO extension -->
- <fileinarchive name="EC.ssd"/>
- <implref idref="DCE:75309233-0E0A-4cfb-B186-3E99F69B1D40"/>
- </softpkgref>
- </dependency>
-
- <code type="DLL">
- <!-- No need to specify extension below since ACE takes care of that, -->
- <fileinarchive name="EC_exec"/>
- <entrypoint>createECHome_Impl</entrypoint>
- </code>
-
- </implementation>
-
-</softpkg>
diff --git a/TAO/CIAO/examples/OEP/BasicSP/descriptors/EC.ssd b/TAO/CIAO/examples/OEP/BasicSP/descriptors/EC.ssd
deleted file mode 100644
index 02110072580..00000000000
--- a/TAO/CIAO/examples/OEP/BasicSP/descriptors/EC.ssd
+++ /dev/null
@@ -1,43 +0,0 @@
-<?xml version="1.0"?> <!-- -*- SGML -*- -->
-
-<!-- If this file is moved to a different directory, make sure to change the
- path to the DTD below. Otherwise the examples won't work. -->
-<!DOCTYPE softpkg SYSTEM "../../../../docs/XML/softpkg.dtd">
-
-<!-- RateGen's Servant Software Descriptor -->
-<!-- This file describes various RateGen servant -->
-<!-- implementations. -->
-
-
-<softpkg name="CIAO-EC-Servant" version="1.0">
- <pkgtype>CIAO Servant</pkgtype>
- <title>BasicSP::EC Servants</title>
- <author>
- <company>ISIS at Vanderbilt University</company>
- <webpage href="http://www.dre.vanderbilt.edu/"/>
- </author>
- <description>A EC event generator implementation.</description>
- <license href="http://www.cs.wustl.edu/~schmidt/ACE-copying.html"/>
- <idl id="IDL:BasicSP/EC:1.0" homeid="IDL:BasicSP/ECHome:1.0">
- <fileinarchive name="EC.idl"/>
- </idl>
-
- <descriptor type="CORBA Component">
- <fileinarchive name="EC.ccd"/>
- </descriptor>
-
- <implementation id="DCE:75309233-0E0A-4cfb-B186-3E99F69B1D40">
-
- <dependency type="ORB">
- <name>TAO</name>
- </dependency>
-
- <code>
- <!-- No need to specify extension below since ACE takes care of that, -->
- <fileinarchive name="EC_svnt"/>
- <entrypoint>createECHome_Servant</entrypoint>
- </code>
-
- </implementation>
-
-</softpkg>
diff --git a/TAO/CIAO/examples/OEP/BasicSP/descriptors/ec.ior b/TAO/CIAO/examples/OEP/BasicSP/descriptors/ec.ior
deleted file mode 100644
index 86b043e4d78..00000000000
--- a/TAO/CIAO/examples/OEP/BasicSP/descriptors/ec.ior
+++ /dev/null
@@ -1 +0,0 @@
-IOR:010000001300000049444c3a426173696353502f45433a312e300000010000000000000080000000010102cd1e0000006375726d756467656f6e2e6472652e76616e64657262696c742e656475002c0c2300000014010f004e5354637fd73edf720d0001000000010000000100000001000000020000000002000000000000000800000001cdcdcd004f4154010000001400000001cdcdcd01000100000000000901010000000000 \ No newline at end of file
diff --git a/TAO/CIAO/examples/OEP/BasicSP/descriptors/test.dat b/TAO/CIAO/examples/OEP/BasicSP/descriptors/test.dat
deleted file mode 100644
index d26b3d4e070..00000000000
--- a/TAO/CIAO/examples/OEP/BasicSP/descriptors/test.dat
+++ /dev/null
@@ -1,2 +0,0 @@
-Default corbaloc:iiop:localhost:10000/ServerActivator
-Remote corbaloc:iiop:localhost:12000/ServerActivator \ No newline at end of file
diff --git a/TAO/CIAO/examples/OEP/Display/Configuration-0.png b/TAO/CIAO/examples/OEP/Display/Configuration-0.png
deleted file mode 100644
index f1ad7558e49..00000000000
--- a/TAO/CIAO/examples/OEP/Display/Configuration-0.png
+++ /dev/null
@@ -1 +0,0 @@
-‰PNG
diff --git a/TAO/CIAO/examples/OEP/Display/Display.dsw b/TAO/CIAO/examples/OEP/Display/Display.dsw
deleted file mode 100644
index f2e236f181a..00000000000
--- a/TAO/CIAO/examples/OEP/Display/Display.dsw
+++ /dev/null
@@ -1,248 +0,0 @@
-Microsoft Developer Studio Workspace File, Format Version 6.00
-# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
-
-###############################################################################
-
-Project: "GPS_exec DLL"=.\GPS\GPS_exec.dsp - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
- Begin Project Dependency
- Project_Dep_Name GPS_svnt DLL
- End Project Dependency
-}}}
-
-###############################################################################
-
-Project: "GPS_stub DLL"=.\GPS\GPS_stub.dsp - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
- Begin Project Dependency
- Project_Dep_Name HUDisplay_stub DLL
- End Project Dependency
-}}}
-
-###############################################################################
-
-Project: "GPS_svnt DLL"=.\GPS\GPS_svnt.dsp - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
- Begin Project Dependency
- Project_Dep_Name GPS_stub DLL
- End Project Dependency
- Begin Project Dependency
- Project_Dep_Name HUDisplay_svnt DLL
- End Project Dependency
-}}}
-
-###############################################################################
-
-Project: "GPS_tracing_exec DLL"=.\GPS\GPS_tracing_exec.dsp - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
- Begin Project Dependency
- Project_Dep_Name GPS_svnt DLL
- End Project Dependency
-}}}
-
-###############################################################################
-
-Project: "HUDisplay_stub DLL"=.\HUDisplay_stub.dsp - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
-}}}
-
-###############################################################################
-
-Project: "HUDisplay_svnt DLL"=.\HUDisplay_svnt.dsp - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
- Begin Project Dependency
- Project_Dep_Name HUDisplay_stub DLL
- End Project Dependency
-}}}
-
-###############################################################################
-
-Project: "NavDisplayGUI_exec DLL"=.\NavDisplayGUI_exec\NavDisplayGUI_exec.dsp - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
- Begin Project Dependency
- Project_Dep_Name NavDisplay_svnt DLL
- End Project Dependency
-}}}
-
-###############################################################################
-
-Project: "NavDisplay_exec DLL"=.\NavDisplay\NavDisplay_exec.dsp - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
- Begin Project Dependency
- Project_Dep_Name NavDisplay_svnt DLL
- End Project Dependency
-}}}
-
-###############################################################################
-
-Project: "NavDisplay_stub DLL"=.\NavDisplay\NavDisplay_stub.dsp - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
- Begin Project Dependency
- Project_Dep_Name HUDisplay_stub DLL
- End Project Dependency
-}}}
-
-###############################################################################
-
-Project: "NavDisplay_svnt DLL"=.\NavDisplay\NavDisplay_svnt.dsp - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
- Begin Project Dependency
- Project_Dep_Name HUDisplay_svnt DLL
- End Project Dependency
- Begin Project Dependency
- Project_Dep_Name NavDisplay_stub DLL
- End Project Dependency
-}}}
-
-###############################################################################
-
-Project: "RateGen_client EXE"=.\RateGen\RateGen_client.dsp - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
- Begin Project Dependency
- Project_Dep_Name RateGen_exec DLL
- End Project Dependency
-}}}
-
-###############################################################################
-
-Project: "RateGen_exec DLL"=.\RateGen\RateGen_exec.dsp - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
- Begin Project Dependency
- Project_Dep_Name RateGen_svnt DLL
- End Project Dependency
-}}}
-
-###############################################################################
-
-Project: "RateGen_stub DLL"=.\RateGen\RateGen_stub.dsp - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
- Begin Project Dependency
- Project_Dep_Name HUDisplay_stub DLL
- End Project Dependency
-}}}
-
-###############################################################################
-
-Project: "RateGen_svnt DLL"=.\RateGen\RateGen_svnt.dsp - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
- Begin Project Dependency
- Project_Dep_Name HUDisplay_svnt DLL
- End Project Dependency
- Begin Project Dependency
- Project_Dep_Name RateGen_stub DLL
- End Project Dependency
-}}}
-
-###############################################################################
-
-Project: "controller EXE"=.\RateGen\controller.dsp - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
- Begin Project Dependency
- Project_Dep_Name RateGen_exec DLL
- End Project Dependency
-}}}
-
-###############################################################################
-
-Global:
-
-Package=<5>
-{{{
-}}}
-
-Package=<3>
-{{{
-}}}
-
-###############################################################################
-
diff --git a/TAO/CIAO/examples/OEP/Display/GPS/GPS.cidl b/TAO/CIAO/examples/OEP/Display/GPS/GPS.cidl
deleted file mode 100644
index 77e7f3f746d..00000000000
--- a/TAO/CIAO/examples/OEP/Display/GPS/GPS.cidl
+++ /dev/null
@@ -1,13 +0,0 @@
-// $Id$ -*- IDL -*-
-
-#include "GPS.idl"
-
-composition session GPS_Impl
-{
- home executor GPSHome_exec
- {
- implements HUDisplay::GPSHome;
- manages GPS_exec;
- };
-};
-
diff --git a/TAO/CIAO/examples/OEP/Display/GPS/GPS.idl b/TAO/CIAO/examples/OEP/Display/GPS/GPS.idl
deleted file mode 100644
index 8a2f2f50361..00000000000
--- a/TAO/CIAO/examples/OEP/Display/GPS/GPS.idl
+++ /dev/null
@@ -1,25 +0,0 @@
-// $Id$
-
-/**
- * @file GPS.idl
- *
- * Definition of the GPS component.
- *
- * @author Nanbor Wang <nanbor@cs.wustl.edu>
- */
-
-#include "../HUDisplay.idl"
-
-module HUDisplay
-{
- component GPS
- {
- provides position MyLocation;
- publishes tick Ready;
- consumes tick Refresh;
- };
-
- home GPSHome manages GPS
- {
- };
-};
diff --git a/TAO/CIAO/examples/OEP/Display/GPS/GPSEI.idl b/TAO/CIAO/examples/OEP/Display/GPS/GPSEI.idl
deleted file mode 100644
index d7604931f58..00000000000
--- a/TAO/CIAO/examples/OEP/Display/GPS/GPSEI.idl
+++ /dev/null
@@ -1,33 +0,0 @@
-// $Id$
-
-/**
- * @file GPSEI.idl
- *
- * Definition of the GPS component implementation.
- *
- * @author Nanbor Wang <nanbor@cs.wustl.edu>
- */
-
-#ifndef GPSEI_IDL
-#define GPSEI_IDL
-
-#include "GPSE.idl"
-
-module HUDisplay
-{
- /**
- * @interface GPS_Exec
- *
- * The actually GPS executor inherits from both CCM_GPS and
- * CCM_position interfaces as a monolithic implementation.
- */
- local interface GPS_Exec :
- CCM_GPS,
- CCM_position,
- Components::SessionComponent
- {
- };
-
-};
-
-#endif /* GPSEI_IDL */
diff --git a/TAO/CIAO/examples/OEP/Display/GPS/GPS_exec.cpp b/TAO/CIAO/examples/OEP/Display/GPS/GPS_exec.cpp
deleted file mode 100644
index da25ff45580..00000000000
--- a/TAO/CIAO/examples/OEP/Display/GPS/GPS_exec.cpp
+++ /dev/null
@@ -1,131 +0,0 @@
-// $Id$
-
-#include "GPS_exec.h"
-
-#define DISPLACEMENT 256
-
-/// Default constructor.
-MyImpl::GPS_exec_i::GPS_exec_i ()
-{
- ACE_OS::srand ((u_int) ACE_OS::time ());
- this->positionx_ = ACE_OS::rand ();
- this->positiony_ = ACE_OS::rand ();
-}
-
-/// Default destructor.
-MyImpl::GPS_exec_i::~GPS_exec_i ()
-{
-}
-
-// Operations from HUDisplay::GPS
-
-HUDisplay::CCM_position_ptr
-MyImpl::GPS_exec_i::get_MyLocation (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- return HUDisplay::CCM_position::_duplicate (this);
-}
-
-void
-MyImpl::GPS_exec_i::push_Refresh (HUDisplay::tick *
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- // Refresh position
- this->positionx_ += ACE_OS::rand () % DISPLACEMENT - (DISPLACEMENT/2);
- this->positiony_ += ACE_OS::rand () % DISPLACEMENT - (DISPLACEMENT/2);
-
- // Nitify others
- HUDisplay::tick_var event = new OBV_HUDisplay::tick;
-
- this->context_->push_Ready (event
- ACE_ENV_ARG_PARAMETER);
-}
-
-// Operations from HUDisplay::position
-
-CORBA::Long
-MyImpl::GPS_exec_i::posx (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- return this->positionx_;
-}
-
-CORBA::Long
-MyImpl::GPS_exec_i::posy (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- return this->positiony_;
-}
-
-// Operations from Components::SessionComponent
-void
-MyImpl::GPS_exec_i::set_session_context (Components::SessionContext_ptr ctx
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::CCMException))
-{
- ACE_DEBUG ((LM_DEBUG, "MyImpl::GPS_exec_i::set_session_context\n"));
-
- this->context_ =
- HUDisplay::CCM_GPS_Context::_narrow (ctx
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK;
-
- if (CORBA::is_nil (this->context_.in ()))
- ACE_THROW (CORBA::INTERNAL ());
- // Urm, we actually discard exceptions thown from this operation.
-}
-
-void
-MyImpl::GPS_exec_i::ccm_activate (ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::CCMException))
-{
- ACE_DEBUG ((LM_DEBUG, "MyImpl::GPS_exec_i::ccm_activate\n"));
-}
-
-void
-MyImpl::GPS_exec_i::ccm_passivate (ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::CCMException))
-{
- ACE_DEBUG ((LM_DEBUG, "MyImpl::GPS_exec_i::ccm_passivate\n"));
-}
-
-void
-MyImpl::GPS_exec_i::ccm_remove (ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::CCMException))
-{
- ACE_DEBUG ((LM_DEBUG, "MyImpl::GPS_exec_i::ccm_remove\n"));
-}
-
-/// Default ctor.
-MyImpl::GPSHome_exec_i::GPSHome_exec_i ()
-{
-}
-
-/// Default dtor.
-MyImpl::GPSHome_exec_i::~GPSHome_exec_i ()
-{
-}
-
-// Explicit home operations.
-
-// Implicit home operations.
-
-::Components::EnterpriseComponent_ptr
-MyImpl::GPSHome_exec_i::create (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::CCMException))
-{
- return new MyImpl::GPS_exec_i;
-}
-
-
-extern "C" GPS_EXEC_Export ::Components::HomeExecutorBase_ptr
-createGPSHome_Impl (void)
-{
- return new MyImpl::GPSHome_exec_i;
-}
diff --git a/TAO/CIAO/examples/OEP/Display/GPS/GPS_exec.dsp b/TAO/CIAO/examples/OEP/Display/GPS/GPS_exec.dsp
deleted file mode 100644
index 9db2c42fbbf..00000000000
--- a/TAO/CIAO/examples/OEP/Display/GPS/GPS_exec.dsp
+++ /dev/null
@@ -1,146 +0,0 @@
-# Microsoft Developer Studio Project File - Name="GPS_exec DLL" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 6.00
-# ** DO NOT EDIT **
-
-# TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102
-
-CFG=GPS_exec DLL - Win32 Debug
-!MESSAGE This is not a valid makefile. To build this project using NMAKE,
-!MESSAGE use the Export Makefile command and run
-!MESSAGE
-!MESSAGE NMAKE /f "GPS_exec.mak".
-!MESSAGE
-!MESSAGE You can specify a configuration when running NMAKE
-!MESSAGE by defining the macro CFG on the command line. For example:
-!MESSAGE
-!MESSAGE NMAKE /f "GPS_exec.mak" CFG="GPS_exec DLL - Win32 Debug"
-!MESSAGE
-!MESSAGE Possible choices for configuration are:
-!MESSAGE
-!MESSAGE "GPS_exec DLL - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library")
-!MESSAGE "GPS_exec DLL - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library")
-!MESSAGE
-
-# Begin Project
-# PROP AllowPerConfigDependencies 0
-# PROP Scc_ProjName ""
-# PROP Scc_LocalPath ""
-CPP=cl.exe
-MTL=midl.exe
-RSC=rc.exe
-
-!IF "$(CFG)" == "GPS_exec DLL - Win32 Release"
-
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "."
-# PROP Intermediate_Dir "Release\GPS_exec"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD CPP /nologo /MD /W3 /GR /GX /Zi /O2 /I "..\..\..\..\..\orbsvcs\orbsvcs" /I "..\..\..\.." /I "..\..\..\..\ciao" /I "..\..\..\..\.." /I "..\..\..\..\..\tao" /I "..\..\..\..\..\.." /D NDEBUG=1 /D WIN32=1 /D _WINDOWS=1 /D GPS_EXEC_BUILD_DLL=1 /FD /c
-# SUBTRACT CPP /YX
-# ADD BASE RSC /l 0x409
-# ADD RSC /l 0x409 /i "..\..\..\..\..\orbsvcs\orbsvcs" /i "..\..\..\.." /i "..\..\..\..\ciao" /i "..\..\..\..\.." /i "..\..\..\..\..\tao" /i "..\..\..\..\..\.." /d NDEBUG=1
-BSC32=bscmake.exe
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 /machine:IX86
-# ADD LINK32 GPS_stub.lib GPS_svnt.lib HUDisplay_stub.lib HUDisplay_svnt.lib CIAO_Server.lib TAO_PortableServer.lib TAO_IORInterceptor.lib TAO_ObjRefTemplate.lib TAO_Security.lib CIAO_Container.lib TAO.lib TAO_IFR_Client.lib TAO_Valuetype.lib CIAO_Client.lib ACE.lib /nologo /subsystem:windows /dll /pdb:"..\..\..\..\..\..\bin\GPS_exec.pdb" /machine:I386 /out:"..\..\..\..\..\..\bin\GPS_exec.dll" /libpath:".." /libpath:"..\..\..\..\..\tao\PortableServer" /libpath:"..\..\..\..\..\tao\IORInterceptor" /libpath:"..\..\..\..\..\tao\ObjRefTemplate" /libpath:"..\..\..\..\..\orbsvcs\orbsvcs" /libpath:"..\..\..\..\..\tao\IFR_Client" /libpath:"..\..\..\..\..\tao\Valuetype" /libpath:"..\..\..\..\ciao" /libpath:"..\..\..\..\..\tao" /libpath:"..\..\..\..\..\..\ace" /version:1.3.1
-# SUBTRACT LINK32 /pdb:none
-
-!ELSEIF "$(CFG)" == "GPS_exec DLL - Win32 Debug"
-
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "."
-# PROP Intermediate_Dir "Debug\GPS_exec"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD CPP /nologo /MDd /W3 /Gm /GR /GX /Zi /Od /Gy /I "..\..\..\..\..\orbsvcs\orbsvcs" /I "..\..\..\.." /I "..\..\..\..\ciao" /I "..\..\..\..\.." /I "..\..\..\..\..\tao" /I "..\..\..\..\..\.." /D _DEBUG=1 /D WIN32=1 /D _WINDOWS=1 /D GPS_EXEC_BUILD_DLL=1 /FD /c
-# SUBTRACT CPP /Fr /YX
-# ADD BASE RSC /l 0x409
-# ADD RSC /l 0x409 /i "..\..\..\..\..\orbsvcs\orbsvcs" /i "..\..\..\.." /i "..\..\..\..\ciao" /i "..\..\..\..\.." /i "..\..\..\..\..\tao" /i "..\..\..\..\..\.." /d _DEBUG=1
-BSC32=bscmake.exe
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 /machine:IX86
-# ADD LINK32 GPS_stubd.lib GPS_svntd.lib HUDisplay_stubd.lib HUDisplay_svntd.lib CIAO_Serverd.lib TAO_PortableServerd.lib TAO_IORInterceptord.lib TAO_ObjRefTemplated.lib TAO_Securityd.lib CIAO_Containerd.lib TAOd.lib TAO_IFR_Clientd.lib TAO_Valuetyped.lib CIAO_Clientd.lib ACEd.lib /nologo /subsystem:windows /dll /incremental:no /pdb:"..\..\..\..\..\..\bin\GPS_execd.pdb" /debug /machine:I386 /out:"..\..\..\..\..\..\bin\GPS_execd.dll" /libpath:".." /libpath:"..\..\..\..\..\tao\PortableServer" /libpath:"..\..\..\..\..\tao\IORInterceptor" /libpath:"..\..\..\..\..\tao\ObjRefTemplate" /libpath:"..\..\..\..\..\orbsvcs\orbsvcs" /libpath:"..\..\..\..\..\tao\IFR_Client" /libpath:"..\..\..\..\..\tao\Valuetype" /libpath:"..\..\..\..\ciao" /libpath:"..\..\..\..\..\tao" /libpath:"..\..\..\..\..\..\ace" /version:1.3.1
-# SUBTRACT LINK32 /pdb:none
-
-!ENDIF
-
-# Begin Target
-
-# Name "GPS_exec DLL - Win32 Release"
-# Name "GPS_exec DLL - Win32 Debug"
-# Begin Group "Source Files"
-
-# PROP Default_Filter "cpp;cxx;c"
-# Begin Source File
-
-SOURCE=.\GPS_exec.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\GPSEIC.cpp
-# End Source File
-# End Group
-# Begin Group "Header Files"
-
-# PROP Default_Filter "h;hpp;hxx;hh"
-# Begin Source File
-
-SOURCE=.\GPS_exec.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\GPSEIC.h
-# End Source File
-# End Group
-# Begin Group "Inline Files"
-
-# PROP Default_Filter "i;inl"
-# Begin Source File
-
-SOURCE=.\GPSEIC.i
-# End Source File
-# End Group
-# Begin Group "IDL Files"
-
-# PROP Default_Filter "idl"
-# Begin Source File
-
-SOURCE=.\GPSEI.idl
-
-!IF "$(CFG)" == "GPS_exec DLL - Win32 Release"
-
-# PROP Ignore_Default_Tool 1
-USERDEP__GPSEI="..\..\..\..\..\..\bin\tao_idl.exe"
-# Begin Custom Build - Invoking TAO IDL Compiler on $(InputPath)
-InputPath=.\GPSEI.idl
-InputName=GPSEI
-
-"$(InputName)C.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- ..\..\..\..\..\..\bin\tao_idl -o . -Wb,export_macro=GPS_EXEC_Export -Wb,export_include=GPS_exec_export.h -I..\..\..\..\.. -I..\..\..\..\..\CIAO\ciao -Wb,pre_include="ace\pre.h" -Wb,post_include="ace\post.h" -I ..\..\..\.. -I ..\..\..\..\.. -I ..\..\..\..\..\orbsvcs\orbsvcs -Ge 1 -Sc $(InputPath)
-
-# End Custom Build
-
-!ELSEIF "$(CFG)" == "GPS_exec DLL - Win32 Debug"
-
-# PROP Ignore_Default_Tool 1
-USERDEP__GPSEI="..\..\..\..\..\..\bin\tao_idl.exe"
-# Begin Custom Build - Invoking TAO IDL Compiler on $(InputPath)
-InputPath=.\GPSEI.idl
-InputName=GPSEI
-
-"$(InputName)C.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- ..\..\..\..\..\..\bin\tao_idl -o . -Wb,export_macro=GPS_EXEC_Export -Wb,export_include=GPS_exec_export.h -I..\..\..\..\.. -I..\..\..\..\..\CIAO\ciao -Wb,pre_include="ace\pre.h" -Wb,post_include="ace\post.h" -I ..\..\..\.. -I ..\..\..\..\.. -I ..\..\..\..\..\orbsvcs\orbsvcs -Ge 1 -Sc $(InputPath)
-
-# End Custom Build
-
-!ENDIF
-
-# End Source File
-# End Group
-# End Target
-# End Project
diff --git a/TAO/CIAO/examples/OEP/Display/GPS/GPS_exec.h b/TAO/CIAO/examples/OEP/Display/GPS/GPS_exec.h
deleted file mode 100644
index 208c3594d75..00000000000
--- a/TAO/CIAO/examples/OEP/Display/GPS/GPS_exec.h
+++ /dev/null
@@ -1,127 +0,0 @@
-// $Id$
-
-/**
- * @file GPS_exec.h
- *
- * Header file for the actual GPS and GPSHome component
- * implementations. These classes are the implementations of local
- * interfaces defined in GPSEI.idl.
- *
- * @author Nanbor Wang <nanbor@cse.wustl.edu>
- */
-
-#ifndef GPS_EXEC_H
-#define GPS_EXEC_H
-
-#include "GPSEIC.h"
-#include "tao/LocalObject.h"
-
-// The namespace name for the actual implementation classes doesn't
-// really matter. Since there may be several different
-// implementations for a component, they can very well be in different
-// namespaces.
-namespace MyImpl
-{
- /**
- * @class GPS_exec_i
- *
- * An example RateGen executor implementation class.
- */
- class GPS_EXEC_Export GPS_exec_i :
- public virtual HUDisplay::GPS_Exec,
- // CIAO container implementation depends on correct reference
- // counting of local interfaces, so we take a short cut to
- public virtual TAO_Local_RefCounted_Object
- {
- public:
- /// Default constructor.
- GPS_exec_i ();
-
- /// Default destructor.
- ~GPS_exec_i ();
-
- // Operations from HUDisplay::GPS
-
- virtual HUDisplay::CCM_position_ptr
- get_MyLocation (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- virtual void
- push_Refresh (HUDisplay::tick *ev
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- // Operations from HUDisplay::position
-
- virtual CORBA::Long
- posx (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- virtual CORBA::Long
- posy (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- // Operations from Components::SessionComponent
-
- virtual void
- set_session_context (Components::SessionContext_ptr ctx
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::CCMException));
-
- virtual void
- ccm_activate (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::CCMException));
-
- virtual void
- ccm_passivate (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::CCMException));
-
- virtual void
- ccm_remove (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::CCMException));
- protected:
- CORBA::Long positionx_;
- CORBA::Long positiony_;
-
- /// Copmponent specific context
- HUDisplay::CCM_GPS_Context_var context_;
- };
-
- /**
- * @class GPSHome_exec_i
- *
- * GPS home executor implementation class.
- */
- class GPS_EXEC_Export GPSHome_exec_i :
- public virtual HUDisplay::CCM_GPSHome,
- public virtual TAO_Local_RefCounted_Object
- {
- public:
- /// Default ctor.
- GPSHome_exec_i ();
-
- /// Default dtor.
- ~GPSHome_exec_i ();
-
- // Explicit home operations.
-
- // Implicit home operations.
-
- virtual ::Components::EnterpriseComponent_ptr
- create (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::CCMException));
- };
-
-}
-
-// Executor DLL entry point. CIAO's deployment and assembly framework
-// invokes this function on the resulting DLL to get the home executor.
-extern "C" GPS_EXEC_Export ::Components::HomeExecutorBase_ptr
-createGPSHome_Impl (void);
-
-#endif /* GPS_EXEC_H */
diff --git a/TAO/CIAO/examples/OEP/Display/GPS/GPS_exec_export.h b/TAO/CIAO/examples/OEP/Display/GPS/GPS_exec_export.h
deleted file mode 100644
index a4fec34a45d..00000000000
--- a/TAO/CIAO/examples/OEP/Display/GPS/GPS_exec_export.h
+++ /dev/null
@@ -1,50 +0,0 @@
-
-// -*- C++ -*-
-// $Id$
-// Definition for Win32 Export directives.
-// This file is generated automatically by generate_export_file.pl GPS_EXEC
-// ------------------------------
-#ifndef GPS_EXEC_EXPORT_H
-#define GPS_EXEC_EXPORT_H
-
-#include "ace/config-all.h"
-
-#if !defined (GPS_EXEC_HAS_DLL)
-# define GPS_EXEC_HAS_DLL 1
-#endif /* ! GPS_EXEC_HAS_DLL */
-
-#if defined (GPS_EXEC_HAS_DLL) && (GPS_EXEC_HAS_DLL == 1)
-# if defined (GPS_EXEC_BUILD_DLL)
-# define GPS_EXEC_Export ACE_Proper_Export_Flag
-# define GPS_EXEC_SINGLETON_DECLARATION(T) ACE_EXPORT_SINGLETON_DECLARATION (T)
-# define GPS_EXEC_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_EXPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
-# else /* GPS_EXEC_BUILD_DLL */
-# define GPS_EXEC_Export ACE_Proper_Import_Flag
-# define GPS_EXEC_SINGLETON_DECLARATION(T) ACE_IMPORT_SINGLETON_DECLARATION (T)
-# define GPS_EXEC_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_IMPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
-# endif /* GPS_EXEC_BUILD_DLL */
-#else /* GPS_EXEC_HAS_DLL == 1 */
-# define GPS_EXEC_Export
-# define GPS_EXEC_SINGLETON_DECLARATION(T)
-# define GPS_EXEC_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
-#endif /* GPS_EXEC_HAS_DLL == 1 */
-
-// Set GPS_EXEC_NTRACE = 0 to turn on library specific tracing even if
-// tracing is turned off for ACE.
-#if !defined (GPS_EXEC_NTRACE)
-# if (ACE_NTRACE == 1)
-# define GPS_EXEC_NTRACE 1
-# else /* (ACE_NTRACE == 1) */
-# define GPS_EXEC_NTRACE 0
-# endif /* (ACE_NTRACE == 1) */
-#endif /* !GPS_EXEC_NTRACE */
-
-#if (GPS_EXEC_NTRACE == 1)
-# define GPS_EXEC_TRACE(X)
-#else /* (GPS_EXEC_NTRACE == 1) */
-# define GPS_EXEC_TRACE(X) ACE_TRACE_IMPL(X)
-#endif /* (GPS_EXEC_NTRACE == 1) */
-
-#endif /* GPS_EXEC_EXPORT_H */
-
-// End of auto generated file.
diff --git a/TAO/CIAO/examples/OEP/Display/GPS/GPS_stub.dsp b/TAO/CIAO/examples/OEP/Display/GPS/GPS_stub.dsp
deleted file mode 100644
index c7746ae7595..00000000000
--- a/TAO/CIAO/examples/OEP/Display/GPS/GPS_stub.dsp
+++ /dev/null
@@ -1,172 +0,0 @@
-# Microsoft Developer Studio Project File - Name="GPS_stub DLL" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 6.00
-# ** DO NOT EDIT **
-
-# TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102
-
-CFG=GPS_stub DLL - Win32 Debug
-!MESSAGE This is not a valid makefile. To build this project using NMAKE,
-!MESSAGE use the Export Makefile command and run
-!MESSAGE
-!MESSAGE NMAKE /f "GPS_stub.mak".
-!MESSAGE
-!MESSAGE You can specify a configuration when running NMAKE
-!MESSAGE by defining the macro CFG on the command line. For example:
-!MESSAGE
-!MESSAGE NMAKE /f "GPS_stub.mak" CFG="GPS_stub DLL - Win32 Debug"
-!MESSAGE
-!MESSAGE Possible choices for configuration are:
-!MESSAGE
-!MESSAGE "GPS_stub DLL - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library")
-!MESSAGE "GPS_stub DLL - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library")
-!MESSAGE
-
-# Begin Project
-# PROP AllowPerConfigDependencies 0
-# PROP Scc_ProjName ""
-# PROP Scc_LocalPath ""
-CPP=cl.exe
-MTL=midl.exe
-RSC=rc.exe
-
-!IF "$(CFG)" == "GPS_stub DLL - Win32 Release"
-
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "."
-# PROP Intermediate_Dir "Release\GPS_stub"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD CPP /nologo /MD /W3 /GR /GX /Zi /O2 /I "..\..\..\..\..\orbsvcs\orbsvcs" /I "..\..\..\.." /I "..\..\..\..\ciao" /I "..\..\..\..\.." /I "..\..\..\..\..\tao" /I "..\..\..\..\..\.." /D NDEBUG=1 /D WIN32=1 /D _WINDOWS=1 /D GPS_STUB_BUILD_DLL=1 /FD /c
-# SUBTRACT CPP /YX
-# ADD BASE RSC /l 0x409
-# ADD RSC /l 0x409 /i "..\..\..\.." /i "..\..\..\..\ciao" /i "..\..\..\..\.." /i "..\..\..\..\..\tao" /i "..\..\..\..\..\.." /d NDEBUG=1
-BSC32=bscmake.exe
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 /machine:IX86
-# ADD LINK32 HUDisplay_stub.lib TAO.lib TAO_Security.lib TAO_IFR_Client.lib TAO_Valuetype.lib CIAO_Client.lib ACE.lib /nologo /subsystem:windows /dll /pdb:"..\..\..\..\..\..\bin\GPS_stub.pdb" /machine:I386 /out:"..\..\..\..\..\..\bin\GPS_stub.dll" /libpath:".." /libpath:"..\..\..\..\..\orbsvcs\orbsvcs" /libpath:"..\..\..\..\..\tao\IFR_Client" /libpath:"..\..\..\..\..\tao\Valuetype" /libpath:"..\..\..\..\ciao" /libpath:"..\..\..\..\..\tao" /libpath:"..\..\..\..\..\..\ace" /version:1.3.1
-# SUBTRACT LINK32 /pdb:none
-
-!ELSEIF "$(CFG)" == "GPS_stub DLL - Win32 Debug"
-
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "."
-# PROP Intermediate_Dir "Debug\GPS_stub"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD CPP /nologo /MDd /W3 /Gm /GR /GX /Zi /Od /Gy /I "..\..\..\..\..\orbsvcs\orbsvcs" /I "..\..\..\.." /I "..\..\..\..\ciao" /I "..\..\..\..\.." /I "..\..\..\..\..\tao" /I "..\..\..\..\..\.." /D _DEBUG=1 /D WIN32=1 /D _WINDOWS=1 /D GPS_STUB_BUILD_DLL=1 /FD /c
-# SUBTRACT CPP /Fr /YX
-# ADD BASE RSC /l 0x409
-# ADD RSC /l 0x409 /i "..\..\..\.." /i "..\..\..\..\ciao" /i "..\..\..\..\.." /i "..\..\..\..\..\tao" /i "..\..\..\..\..\.." /d _DEBUG=1
-BSC32=bscmake.exe
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 /machine:IX86
-# ADD LINK32 HUDisplay_stubd.lib TAOd.lib TAO_Securityd.lib TAO_IFR_Clientd.lib TAO_Valuetyped.lib CIAO_Clientd.lib ACEd.lib /nologo /subsystem:windows /dll /incremental:no /pdb:"..\..\..\..\..\..\bin\GPS_stubd.pdb" /debug /machine:I386 /out:"..\..\..\..\..\..\bin\GPS_stubd.dll" /libpath:".." /libpath:"..\..\..\..\..\orbsvcs\orbsvcs" /libpath:"..\..\..\..\..\tao\IFR_Client" /libpath:"..\..\..\..\..\tao\Valuetype" /libpath:"..\..\..\..\ciao" /libpath:"..\..\..\..\..\tao" /libpath:"..\..\..\..\..\..\ace" /version:1.3.1
-# SUBTRACT LINK32 /pdb:none
-
-!ENDIF
-
-# Begin Target
-
-# Name "GPS_stub DLL - Win32 Release"
-# Name "GPS_stub DLL - Win32 Debug"
-# Begin Group "Source Files"
-
-# PROP Default_Filter "cpp;cxx;c"
-# Begin Source File
-
-SOURCE=.\GPSC.cpp
-# End Source File
-# End Group
-# Begin Group "Header Files"
-
-# PROP Default_Filter "h;hpp;hxx;hh"
-# Begin Source File
-
-SOURCE=.\GPSC.h
-# End Source File
-# End Group
-# Begin Group "Inline Files"
-
-# PROP Default_Filter "i;inl"
-# Begin Source File
-
-SOURCE=.\GPSC.i
-# End Source File
-# End Group
-# Begin Group "IDL Files"
-
-# PROP Default_Filter "idl"
-# Begin Source File
-
-SOURCE=.\GPS.idl
-
-!IF "$(CFG)" == "GPS_stub DLL - Win32 Release"
-
-# PROP Ignore_Default_Tool 1
-USERDEP__GPS_I="..\..\..\..\..\..\bin\tao_idl.exe"
-# Begin Custom Build - Invoking TAO IDL Compiler on $(InputPath)
-InputPath=.\GPS.idl
-InputName=GPS
-
-BuildCmds= \
- ..\..\..\..\..\..\bin\tao_idl -o . -Wb,stub_export_macro=GPS_STUB_Export -Wb,stub_export_include=GPS_stub_export.h -Wb,skel_export_macro=GPS_SVNT_Export -Wb,skel_export_include=GPS_svnt_export.h -Wb,pre_include="ace\pre.h" -Wb,post_include="ace\post.h" -I ..\..\..\.. -I ..\..\..\..\.. -I ..\..\..\..\ciao -I ..\..\..\..\..\orbsvcs\orbsvcs -Ge 1 -Sc $(InputPath)
-
-"\$(InputName)C.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-
-".\$(InputName)C.i" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-
-".\$(InputName)C.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-
-".\$(InputName)S.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-
-".\$(InputName)S.i" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-
-".\$(InputName)S.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-# End Custom Build
-
-!ELSEIF "$(CFG)" == "GPS_stub DLL - Win32 Debug"
-
-# PROP Ignore_Default_Tool 1
-USERDEP__GPS_I="..\..\..\..\..\..\bin\tao_idl.exe"
-# Begin Custom Build - Invoking TAO IDL Compiler on $(InputPath)
-InputPath=.\GPS.idl
-InputName=GPS
-
-BuildCmds= \
- ..\..\..\..\..\..\bin\tao_idl -o . -Wb,stub_export_macro=GPS_STUB_Export -Wb,stub_export_include=GPS_stub_export.h -Wb,skel_export_macro=GPS_SVNT_Export -Wb,skel_export_include=GPS_svnt_export.h -Wb,pre_include="ace\pre.h" -Wb,post_include="ace\post.h" -I ..\..\..\.. -I ..\..\..\..\.. -I ..\..\..\..\ciao -I ..\..\..\..\..\orbsvcs\orbsvcs -Ge 1 -Sc $(InputPath)
-
-".\$(InputName)C.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-
-".\$(InputName)C.i" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-
-".\$(InputName)C.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-
-".\$(InputName)S.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-
-".\$(InputName)S.i" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-
-".\$(InputName)S.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-# End Custom Build
-
-!ENDIF
-
-# End Source File
-# End Group
-# End Target
-# End Project
diff --git a/TAO/CIAO/examples/OEP/Display/GPS/GPS_stub_export.h b/TAO/CIAO/examples/OEP/Display/GPS/GPS_stub_export.h
deleted file mode 100644
index cce11e5fdc7..00000000000
--- a/TAO/CIAO/examples/OEP/Display/GPS/GPS_stub_export.h
+++ /dev/null
@@ -1,50 +0,0 @@
-
-// -*- C++ -*-
-// $Id$
-// Definition for Win32 Export directives.
-// This file is generated automatically by generate_export_file.pl GPS_STUB
-// ------------------------------
-#ifndef GPS_STUB_EXPORT_H
-#define GPS_STUB_EXPORT_H
-
-#include "ace/config-all.h"
-
-#if !defined (GPS_STUB_HAS_DLL)
-# define GPS_STUB_HAS_DLL 1
-#endif /* ! GPS_STUB_HAS_DLL */
-
-#if defined (GPS_STUB_HAS_DLL) && (GPS_STUB_HAS_DLL == 1)
-# if defined (GPS_STUB_BUILD_DLL)
-# define GPS_STUB_Export ACE_Proper_Export_Flag
-# define GPS_STUB_SINGLETON_DECLARATION(T) ACE_EXPORT_SINGLETON_DECLARATION (T)
-# define GPS_STUB_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_EXPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
-# else /* GPS_STUB_BUILD_DLL */
-# define GPS_STUB_Export ACE_Proper_Import_Flag
-# define GPS_STUB_SINGLETON_DECLARATION(T) ACE_IMPORT_SINGLETON_DECLARATION (T)
-# define GPS_STUB_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_IMPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
-# endif /* GPS_STUB_BUILD_DLL */
-#else /* GPS_STUB_HAS_DLL == 1 */
-# define GPS_STUB_Export
-# define GPS_STUB_SINGLETON_DECLARATION(T)
-# define GPS_STUB_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
-#endif /* GPS_STUB_HAS_DLL == 1 */
-
-// Set GPS_STUB_NTRACE = 0 to turn on library specific tracing even if
-// tracing is turned off for ACE.
-#if !defined (GPS_STUB_NTRACE)
-# if (ACE_NTRACE == 1)
-# define GPS_STUB_NTRACE 1
-# else /* (ACE_NTRACE == 1) */
-# define GPS_STUB_NTRACE 0
-# endif /* (ACE_NTRACE == 1) */
-#endif /* !GPS_STUB_NTRACE */
-
-#if (GPS_STUB_NTRACE == 1)
-# define GPS_STUB_TRACE(X)
-#else /* (GPS_STUB_NTRACE == 1) */
-# define GPS_STUB_TRACE(X) ACE_TRACE_IMPL(X)
-#endif /* (GPS_STUB_NTRACE == 1) */
-
-#endif /* GPS_STUB_EXPORT_H */
-
-// End of auto generated file.
diff --git a/TAO/CIAO/examples/OEP/Display/GPS/GPS_svnt.dsp b/TAO/CIAO/examples/OEP/Display/GPS/GPS_svnt.dsp
deleted file mode 100644
index 8b8dd175716..00000000000
--- a/TAO/CIAO/examples/OEP/Display/GPS/GPS_svnt.dsp
+++ /dev/null
@@ -1,239 +0,0 @@
-# Microsoft Developer Studio Project File - Name="GPS_svnt DLL" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 6.00
-# ** DO NOT EDIT **
-
-# TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102
-
-CFG=GPS_svnt DLL - Win32 Debug
-!MESSAGE This is not a valid makefile. To build this project using NMAKE,
-!MESSAGE use the Export Makefile command and run
-!MESSAGE
-!MESSAGE NMAKE /f "GPS_svnt.mak".
-!MESSAGE
-!MESSAGE You can specify a configuration when running NMAKE
-!MESSAGE by defining the macro CFG on the command line. For example:
-!MESSAGE
-!MESSAGE NMAKE /f "GPS_svnt.mak" CFG="GPS_svnt DLL - Win32 Debug"
-!MESSAGE
-!MESSAGE Possible choices for configuration are:
-!MESSAGE
-!MESSAGE "GPS_svnt DLL - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library")
-!MESSAGE "GPS_svnt DLL - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library")
-!MESSAGE
-
-# Begin Project
-# PROP AllowPerConfigDependencies 0
-# PROP Scc_ProjName ""
-# PROP Scc_LocalPath ""
-CPP=cl.exe
-MTL=midl.exe
-RSC=rc.exe
-
-!IF "$(CFG)" == "GPS_svnt DLL - Win32 Release"
-
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "."
-# PROP Intermediate_Dir "Release\GPS_svnt"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD CPP /nologo /MD /W3 /GR /GX /Zi /O2 /I "..\..\..\..\..\orbsvcs\orbsvcs" /I "..\..\..\.." /I "..\..\..\..\ciao" /I "..\..\..\..\.." /I "..\..\..\..\..\tao" /I "..\..\..\..\..\.." /D NDEBUG=1 /D WIN32=1 /D _WINDOWS=1 /D GPS_SVNT_BUILD_DLL=1 /FD /c
-# SUBTRACT CPP /YX
-# ADD BASE RSC /l 0x409
-# ADD RSC /l 0x409 /i "..\..\..\..\..\orbsvcs\orbsvcs" /i "..\..\..\.." /i "..\..\..\..\ciao" /i "..\..\..\..\.." /i "..\..\..\..\..\tao" /i "..\..\..\..\..\.." /d NDEBUG=1
-BSC32=bscmake.exe
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 /machine:IX86
-# ADD LINK32 GPS_stub.lib HUDisplay_stub.lib HUDisplay_svnt.lib CIAO_Server.lib TAO_PortableServer.lib TAO_IORInterceptor.lib TAO_ObjRefTemplate.lib TAO_Security.lib CIAO_Container.lib TAO.lib TAO_IFR_Client.lib TAO_Valuetype.lib CIAO_Client.lib ACE.lib /nologo /subsystem:windows /dll /pdb:"..\..\..\..\..\..\bin\GPS_svnt.pdb" /machine:I386 /out:"..\..\..\..\..\..\bin\GPS_svnt.dll" /libpath:".." /libpath:"..\..\..\..\..\tao\PortableServer" /libpath:"..\..\..\..\..\tao\IORInterceptor" /libpath:"..\..\..\..\..\tao\ObjRefTemplate" /libpath:"..\..\..\..\..\orbsvcs\orbsvcs" /libpath:"..\..\..\..\..\tao\IFR_Client" /libpath:"..\..\..\..\..\tao\Valuetype" /libpath:"..\..\..\..\ciao" /libpath:"..\..\..\..\..\tao" /libpath:"..\..\..\..\..\..\ace" /version:1.3.1
-# SUBTRACT LINK32 /pdb:none
-
-!ELSEIF "$(CFG)" == "GPS_svnt DLL - Win32 Debug"
-
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "."
-# PROP Intermediate_Dir "Debug\GPS_svnt"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD CPP /nologo /MDd /W3 /Gm /GR /GX /Zi /Od /Gy /I "..\..\..\..\..\orbsvcs\orbsvcs" /I "..\..\..\.." /I "..\..\..\..\ciao" /I "..\..\..\..\.." /I "..\..\..\..\..\tao" /I "..\..\..\..\..\.." /D _DEBUG=1 /D WIN32=1 /D _WINDOWS=1 /D GPS_SVNT_BUILD_DLL=1 /FD /c
-# SUBTRACT CPP /Fr /YX
-# ADD BASE RSC /l 0x409
-# ADD RSC /l 0x409 /i "..\..\..\..\..\orbsvcs\orbsvcs" /i "..\..\..\.." /i "..\..\..\..\ciao" /i "..\..\..\..\.." /i "..\..\..\..\..\tao" /i "..\..\..\..\..\.." /d _DEBUG=1
-BSC32=bscmake.exe
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 /machine:IX86
-# ADD LINK32 GPS_stubd.lib HUDisplay_stubd.lib HUDisplay_svntd.lib CIAO_Serverd.lib TAO_PortableServerd.lib TAO_IORInterceptord.lib TAO_ObjRefTemplated.lib TAO_Securityd.lib CIAO_Containerd.lib TAOd.lib TAO_IFR_Clientd.lib TAO_Valuetyped.lib CIAO_Clientd.lib ACEd.lib /nologo /subsystem:windows /dll /incremental:no /pdb:"..\..\..\..\..\..\bin\GPS_svntd.pdb" /debug /machine:I386 /out:"..\..\..\..\..\..\bin\GPS_svntd.dll" /libpath:".." /libpath:"..\..\..\..\..\tao\PortableServer" /libpath:"..\..\..\..\..\tao\IORInterceptor" /libpath:"..\..\..\..\..\tao\ObjRefTemplate" /libpath:"..\..\..\..\..\orbsvcs\orbsvcs" /libpath:"..\..\..\..\..\tao\IFR_Client" /libpath:"..\..\..\..\..\tao\Valuetype" /libpath:"..\..\..\..\ciao" /libpath:"..\..\..\..\..\tao" /libpath:"..\..\..\..\..\..\ace" /version:1.3.1
-# SUBTRACT LINK32 /pdb:none
-
-!ENDIF
-
-# Begin Target
-
-# Name "GPS_svnt DLL - Win32 Release"
-# Name "GPS_svnt DLL - Win32 Debug"
-# Begin Group "Source Files"
-
-# PROP Default_Filter "cpp;cxx;c"
-# Begin Source File
-
-SOURCE=.\GPS_svnt.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\GPSEC.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\GPSS.cpp
-# End Source File
-# End Group
-# Begin Group "Header Files"
-
-# PROP Default_Filter "h;hpp;hxx;hh"
-# Begin Source File
-
-SOURCE=.\GPS_svnt.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\GPSEC.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\GPSS.h
-# End Source File
-# End Group
-# Begin Group "Inline Files"
-
-# PROP Default_Filter "i;inl"
-# Begin Source File
-
-SOURCE=.\GPSEC.i
-# End Source File
-# Begin Source File
-
-SOURCE=.\GPSS.i
-# End Source File
-# End Group
-# Begin Group "IDL Files"
-
-# PROP Default_Filter "idl"
-# Begin Source File
-
-SOURCE=.\GPS.cidl
-
-!IF "$(CFG)" == "GPS_svnt DLL - Win32 Release"
-
-USERDEP__GPS_C="..\..\..\..\..\..\bin\cidlc.exe"
-# Begin Custom Build - Invoking CIAO CIDL Compiler on $(InputPath)
-InputPath=.\GPS.cidl
-InputName=GPS
-
-BuildCmds= \
- ..\..\..\..\bin\cidlc --lem-file-suffix "E.idl" -- $(InputName).cidl
-
-"$(InputName)E.idl" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-
-"$(InputName)_svnt.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-
-"$(InputName)_svnt.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-# End Custom Build
-
-!ELSEIF "$(CFG)" == "GPS_svnt DLL - Win32 Debug"
-
-USERDEP__GPS_C="..\..\..\..\..\..\bin\cidlc.exe"
-# Begin Custom Build - Invoking CIAO CIDL Compiler on $(InputPath)
-InputPath=.\GPS.cidl
-InputName=GPS
-
-BuildCmds= \
- ..\..\..\..\bin\cidlc --lem-file-suffix "E.idl" -- $(InputName).cidl
-
-"$(InputName)E.idl" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-
-"$(InputName)_svnt.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-
-"$(InputName)_svnt.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-# End Custom Build
-
-!ENDIF
-
-# End Source File
-# Begin Source File
-
-SOURCE=.\GPSE.idl
-
-!IF "$(CFG)" == "GPS_svnt DLL - Win32 Release"
-
-# PROP Ignore_Default_Tool 1
-USERDEP__GPSE_="..\..\..\..\..\..\bin\tao_idl.exe"
-# Begin Custom Build - Invoking TAO IDL Compiler on $(InputPath)
-InputPath=.\GPSE.idl
-InputName=GPSE
-
-BuildCmds= \
- ..\..\..\..\..\..\bin\tao_idl -o . -Wb,export_macro=GPS_SVNT_Export -Wb,export_include=GPS_svnt_export.h -I..\..\..\..\.. -I..\..\..\..\..\CIAO\ciao -Wb,pre_include="ace\pre.h" -Wb,post_include="ace\post.h" -I ..\..\..\.. -I ..\..\..\..\.. -I ..\..\..\..\..\orbsvcs\orbsvcs -Ge 1 -Sc $(InputPath)
-
-".\$(InputName)C.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-
-".\$(InputName)C.i" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-
-".\$(InputName)C.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-
-".\$(InputName)S.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-
-".\$(InputName)S.i" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-
-".\$(InputName)S.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-# End Custom Build
-
-!ELSEIF "$(CFG)" == "GPS_svnt DLL - Win32 Debug"
-
-# PROP Ignore_Default_Tool 1
-USERDEP__GPSE_="..\..\..\..\..\..\bin\tao_idl.exe"
-# Begin Custom Build - Invoking TAO IDL Compiler on $(InputPath)
-InputPath=.\GPSE.idl
-InputName=GPSE
-
-BuildCmds= \
- ..\..\..\..\..\..\bin\tao_idl -o . -Wb,export_macro=GPS_SVNT_Export -Wb,export_include=GPS_svnt_export.h -I..\..\..\..\.. -I..\..\..\..\..\CIAO\ciao -Wb,pre_include="ace\pre.h" -Wb,post_include="ace\post.h" -I ..\..\..\.. -I ..\..\..\..\.. -I ..\..\..\..\..\orbsvcs\orbsvcs -Ge 1 -Sc $(InputPath)
-
-".\$(InputName)C.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-
-".\$(InputName)C.i" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-
-".\$(InputName)C.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-
-".\$(InputName)S.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-
-".\$(InputName)S.i" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-
-".\$(InputName)S.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-# End Custom Build
-
-!ENDIF
-
-# End Source File
-# End Group
-# End Target
-# End Project
diff --git a/TAO/CIAO/examples/OEP/Display/GPS/GPS_svnt_export.h b/TAO/CIAO/examples/OEP/Display/GPS/GPS_svnt_export.h
deleted file mode 100644
index 8ddf3049093..00000000000
--- a/TAO/CIAO/examples/OEP/Display/GPS/GPS_svnt_export.h
+++ /dev/null
@@ -1,50 +0,0 @@
-
-// -*- C++ -*-
-// $Id$
-// Definition for Win32 Export directives.
-// This file is generated automatically by generate_export_file.pl GPS_SVNT
-// ------------------------------
-#ifndef GPS_SVNT_EXPORT_H
-#define GPS_SVNT_EXPORT_H
-
-#include "ace/config-all.h"
-
-#if !defined (GPS_SVNT_HAS_DLL)
-# define GPS_SVNT_HAS_DLL 1
-#endif /* ! GPS_SVNT_HAS_DLL */
-
-#if defined (GPS_SVNT_HAS_DLL) && (GPS_SVNT_HAS_DLL == 1)
-# if defined (GPS_SVNT_BUILD_DLL)
-# define GPS_SVNT_Export ACE_Proper_Export_Flag
-# define GPS_SVNT_SINGLETON_DECLARATION(T) ACE_EXPORT_SINGLETON_DECLARATION (T)
-# define GPS_SVNT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_EXPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
-# else /* GPS_SVNT_BUILD_DLL */
-# define GPS_SVNT_Export ACE_Proper_Import_Flag
-# define GPS_SVNT_SINGLETON_DECLARATION(T) ACE_IMPORT_SINGLETON_DECLARATION (T)
-# define GPS_SVNT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_IMPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
-# endif /* GPS_SVNT_BUILD_DLL */
-#else /* GPS_SVNT_HAS_DLL == 1 */
-# define GPS_SVNT_Export
-# define GPS_SVNT_SINGLETON_DECLARATION(T)
-# define GPS_SVNT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
-#endif /* GPS_SVNT_HAS_DLL == 1 */
-
-// Set GPS_SVNT_NTRACE = 0 to turn on library specific tracing even if
-// tracing is turned off for ACE.
-#if !defined (GPS_SVNT_NTRACE)
-# if (ACE_NTRACE == 1)
-# define GPS_SVNT_NTRACE 1
-# else /* (ACE_NTRACE == 1) */
-# define GPS_SVNT_NTRACE 0
-# endif /* (ACE_NTRACE == 1) */
-#endif /* !GPS_SVNT_NTRACE */
-
-#if (GPS_SVNT_NTRACE == 1)
-# define GPS_SVNT_TRACE(X)
-#else /* (GPS_SVNT_NTRACE == 1) */
-# define GPS_SVNT_TRACE(X) ACE_TRACE_IMPL(X)
-#endif /* (GPS_SVNT_NTRACE == 1) */
-
-#endif /* GPS_SVNT_EXPORT_H */
-
-// End of auto generated file.
diff --git a/TAO/CIAO/examples/OEP/Display/GPS/GPS_tracing_exec.cpp b/TAO/CIAO/examples/OEP/Display/GPS/GPS_tracing_exec.cpp
deleted file mode 100644
index e0e2a642999..00000000000
--- a/TAO/CIAO/examples/OEP/Display/GPS/GPS_tracing_exec.cpp
+++ /dev/null
@@ -1,137 +0,0 @@
-// $Id$
-
-#include "GPS_tracing_exec.h"
-
-#define DISPLACEMENT 256
-
-/// Default constructor.
-MyImpl::GPS_tracing_exec_i::GPS_tracing_exec_i () : dx_(1), dy_(1)
-{
- ACE_OS::srand ((u_int) ACE_OS::time ());
-
- this->positionx_ = 20;
- this->positiony_ = 25;
-}
-
-/// Default destructor.
-MyImpl::GPS_tracing_exec_i::~GPS_tracing_exec_i ()
-{
-}
-
-// Operations from HUDisplay::GPS
-
-HUDisplay::CCM_position_ptr
-MyImpl::GPS_tracing_exec_i::get_MyLocation (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- return HUDisplay::CCM_position::_duplicate (this);
-}
-
-void
-MyImpl::GPS_tracing_exec_i::push_Refresh (HUDisplay::tick *
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- // Refresh position
- if(this->positionx_ > 500) this->dx_ = -1;
- if(this->positionx_ < 10) this->dx_ = 1;
- if(this->positiony_ > 300) this->dy_ = -1;
- if(this->positiony_ < 10) this->dy_ = 1;
-
- this->positionx_ += this->dx_;
- this->positiony_ += this->dy_;
-
- // Nitify others
- HUDisplay::tick_var event = new OBV_HUDisplay::tick;
-
- this->context_->push_Ready (event
- ACE_ENV_ARG_PARAMETER);
-}
-
-// Operations from HUDisplay::position
-
-CORBA::Long
-MyImpl::GPS_tracing_exec_i::posx (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- return this->positionx_;
-}
-
-CORBA::Long
-MyImpl::GPS_tracing_exec_i::posy (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- return this->positiony_;
-}
-
-// Operations from Components::SessionComponent
-void
-MyImpl::GPS_tracing_exec_i::set_session_context (Components::SessionContext_ptr ctx
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::CCMException))
-{
- ACE_DEBUG ((LM_DEBUG, "MyImpl::GPS_tracing_exec_i::set_session_context\n"));
-
- this->context_ =
- HUDisplay::CCM_GPS_Context::_narrow (ctx
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK;
-
- if (CORBA::is_nil (this->context_.in ()))
- ACE_THROW (CORBA::INTERNAL ());
- // Urm, we actually discard exceptions thown from this operation.
-}
-
-void
-MyImpl::GPS_tracing_exec_i::ccm_activate (ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::CCMException))
-{
- ACE_DEBUG ((LM_DEBUG, "MyImpl::GPS_tracing_exec_i::ccm_activate\n"));
-}
-
-void
-MyImpl::GPS_tracing_exec_i::ccm_passivate (ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::CCMException))
-{
- ACE_DEBUG ((LM_DEBUG, "MyImpl::GPS_tracing_exec_i::ccm_passivate\n"));
-}
-
-void
-MyImpl::GPS_tracing_exec_i::ccm_remove (ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::CCMException))
-{
- ACE_DEBUG ((LM_DEBUG, "MyImpl::GPS_tracing_exec_i::ccm_remove\n"));
-}
-
-/// Default ctor.
-MyImpl::GPSHome_tracing_exec_i::GPSHome_tracing_exec_i ()
-{
-}
-
-/// Default dtor.
-MyImpl::GPSHome_tracing_exec_i::~GPSHome_tracing_exec_i ()
-{
-}
-
-// Explicit home operations.
-
-// Implicit home operations.
-
-::Components::EnterpriseComponent_ptr
-MyImpl::GPSHome_tracing_exec_i::create (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::CCMException))
-{
- return new MyImpl::GPS_tracing_exec_i;
-}
-
-
-extern "C" GPS_EXEC_Export ::Components::HomeExecutorBase_ptr
-createGPSHome_Tracing_Impl (void)
-{
- return new MyImpl::GPSHome_tracing_exec_i;
-}
diff --git a/TAO/CIAO/examples/OEP/Display/GPS/GPS_tracing_exec.dsp b/TAO/CIAO/examples/OEP/Display/GPS/GPS_tracing_exec.dsp
deleted file mode 100644
index b59fbfb7431..00000000000
--- a/TAO/CIAO/examples/OEP/Display/GPS/GPS_tracing_exec.dsp
+++ /dev/null
@@ -1,146 +0,0 @@
-# Microsoft Developer Studio Project File - Name="GPS_tracing_exec DLL" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 6.00
-# ** DO NOT EDIT **
-
-# TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102
-
-CFG=GPS_tracing_exec DLL - Win32 Debug
-!MESSAGE This is not a valid makefile. To build this project using NMAKE,
-!MESSAGE use the Export Makefile command and run
-!MESSAGE
-!MESSAGE NMAKE /f "GPS_tracing_exec.mak".
-!MESSAGE
-!MESSAGE You can specify a configuration when running NMAKE
-!MESSAGE by defining the macro CFG on the command line. For example:
-!MESSAGE
-!MESSAGE NMAKE /f "GPS_tracing_exec.mak" CFG="GPS_tracing_exec DLL - Win32 Debug"
-!MESSAGE
-!MESSAGE Possible choices for configuration are:
-!MESSAGE
-!MESSAGE "GPS_tracing_exec DLL - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library")
-!MESSAGE "GPS_tracing_exec DLL - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library")
-!MESSAGE
-
-# Begin Project
-# PROP AllowPerConfigDependencies 0
-# PROP Scc_ProjName ""
-# PROP Scc_LocalPath ""
-CPP=cl.exe
-MTL=midl.exe
-RSC=rc.exe
-
-!IF "$(CFG)" == "GPS_tracing_exec DLL - Win32 Release"
-
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "."
-# PROP Intermediate_Dir "Release\GPS_tracing_exec"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD CPP /nologo /MD /W3 /GR /GX /Zi /O2 /I "..\..\..\..\..\orbsvcs\orbsvcs" /I "..\..\..\.." /I "..\..\..\..\ciao" /I "..\..\..\..\.." /I "..\..\..\..\..\tao" /I "..\..\..\..\..\.." /D NDEBUG=1 /D WIN32=1 /D _WINDOWS=1 /D GPS_EXEC_BUILD_DLL=1 /FD /c
-# SUBTRACT CPP /YX
-# ADD BASE RSC /l 0x409
-# ADD RSC /l 0x409 /i "..\..\..\..\..\orbsvcs\orbsvcs" /i "..\..\..\.." /i "..\..\..\..\ciao" /i "..\..\..\..\.." /i "..\..\..\..\..\tao" /i "..\..\..\..\..\.." /d NDEBUG=1
-BSC32=bscmake.exe
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 /machine:IX86
-# ADD LINK32 GPS_stub.lib GPS_svnt.lib HUDisplay_stub.lib HUDisplay_svnt.lib CIAO_Server.lib TAO_PortableServer.lib TAO_IORInterceptor.lib TAO_ObjRefTemplate.lib TAO_Security.lib CIAO_Container.lib TAO.lib TAO_IFR_Client.lib TAO_Valuetype.lib CIAO_Client.lib ACE.lib /nologo /subsystem:windows /dll /pdb:"..\..\..\..\..\..\bin\GPS_tracing_exec.pdb" /machine:I386 /out:"..\..\..\..\..\..\bin\GPS_tracing_exec.dll" /libpath:".." /libpath:"..\..\..\..\..\tao\PortableServer" /libpath:"..\..\..\..\..\tao\IORInterceptor" /libpath:"..\..\..\..\..\tao\ObjRefTemplate" /libpath:"..\..\..\..\..\orbsvcs\orbsvcs" /libpath:"..\..\..\..\..\tao\IFR_Client" /libpath:"..\..\..\..\..\tao\Valuetype" /libpath:"..\..\..\..\ciao" /libpath:"..\..\..\..\..\tao" /libpath:"..\..\..\..\..\..\ace" /version:1.3.1
-# SUBTRACT LINK32 /pdb:none
-
-!ELSEIF "$(CFG)" == "GPS_tracing_exec DLL - Win32 Debug"
-
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "."
-# PROP Intermediate_Dir "Debug\GPS_tracing_exec"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD CPP /nologo /MDd /W3 /Gm /GR /GX /Zi /Od /Gy /I "..\..\..\..\..\orbsvcs\orbsvcs" /I "..\..\..\.." /I "..\..\..\..\ciao" /I "..\..\..\..\.." /I "..\..\..\..\..\tao" /I "..\..\..\..\..\.." /D _DEBUG=1 /D WIN32=1 /D _WINDOWS=1 /D GPS_EXEC_BUILD_DLL=1 /FD /c
-# SUBTRACT CPP /Fr /YX
-# ADD BASE RSC /l 0x409
-# ADD RSC /l 0x409 /i "..\..\..\..\..\orbsvcs\orbsvcs" /i "..\..\..\.." /i "..\..\..\..\ciao" /i "..\..\..\..\.." /i "..\..\..\..\..\tao" /i "..\..\..\..\..\.." /d _DEBUG=1
-BSC32=bscmake.exe
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 /machine:IX86
-# ADD LINK32 GPS_stubd.lib GPS_svntd.lib HUDisplay_stubd.lib HUDisplay_svntd.lib CIAO_Serverd.lib TAO_PortableServerd.lib TAO_IORInterceptord.lib TAO_ObjRefTemplated.lib TAO_Securityd.lib CIAO_Containerd.lib TAOd.lib TAO_IFR_Clientd.lib TAO_Valuetyped.lib CIAO_Clientd.lib ACEd.lib /nologo /subsystem:windows /dll /incremental:no /pdb:"..\..\..\..\..\..\bin\GPS_tracing_execd.pdb" /debug /machine:I386 /out:"..\..\..\..\..\..\bin\GPS_tracing_execd.dll" /libpath:".." /libpath:"..\..\..\..\..\tao\PortableServer" /libpath:"..\..\..\..\..\tao\IORInterceptor" /libpath:"..\..\..\..\..\tao\ObjRefTemplate" /libpath:"..\..\..\..\..\orbsvcs\orbsvcs" /libpath:"..\..\..\..\..\tao\IFR_Client" /libpath:"..\..\..\..\..\tao\Valuetype" /libpath:"..\..\..\..\ciao" /libpath:"..\..\..\..\..\tao" /libpath:"..\..\..\..\..\..\ace" /version:1.3.1
-# SUBTRACT LINK32 /pdb:none
-
-!ENDIF
-
-# Begin Target
-
-# Name "GPS_tracing_exec DLL - Win32 Release"
-# Name "GPS_tracing_exec DLL - Win32 Debug"
-# Begin Group "Source Files"
-
-# PROP Default_Filter "cpp;cxx;c"
-# Begin Source File
-
-SOURCE=.\GPS_tracing_exec.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\GPSEIC.cpp
-# End Source File
-# End Group
-# Begin Group "Header Files"
-
-# PROP Default_Filter "h;hpp;hxx;hh"
-# Begin Source File
-
-SOURCE=.\GPS_tracing_exec.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\GPSEIC.h
-# End Source File
-# End Group
-# Begin Group "Inline Files"
-
-# PROP Default_Filter "i;inl"
-# Begin Source File
-
-SOURCE=.\GPSEIC.i
-# End Source File
-# End Group
-# Begin Group "IDL Files"
-
-# PROP Default_Filter "idl"
-# Begin Source File
-
-SOURCE=.\GPSEI.idl
-
-!IF "$(CFG)" == "GPS_tracing_exec DLL - Win32 Release"
-
-# PROP Ignore_Default_Tool 1
-USERDEP__GPSEI="..\..\..\..\..\..\bin\tao_idl.exe"
-# Begin Custom Build - Invoking TAO IDL Compiler on $(InputPath)
-InputPath=.\GPSEI.idl
-InputName=GPSEI
-
-"$(InputName)C.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- ..\..\..\..\..\..\bin\tao_idl -o . -Wb,export_macro=GPS_EXEC_Export -Wb,export_include=GPS_exec_export.h -I..\..\..\..\.. -I..\..\..\..\..\CIAO\ciao -Wb,pre_include="ace\pre.h" -Wb,post_include="ace\post.h" -I ..\..\..\.. -I ..\..\..\..\.. -I ..\..\..\..\..\orbsvcs\orbsvcs -Ge 1 -Sc $(InputPath)
-
-# End Custom Build
-
-!ELSEIF "$(CFG)" == "GPS_tracing_exec DLL - Win32 Debug"
-
-# PROP Ignore_Default_Tool 1
-USERDEP__GPSEI="..\..\..\..\..\..\bin\tao_idl.exe"
-# Begin Custom Build - Invoking TAO IDL Compiler on $(InputPath)
-InputPath=.\GPSEI.idl
-InputName=GPSEI
-
-"$(InputName)C.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- ..\..\..\..\..\..\bin\tao_idl -o . -Wb,export_macro=GPS_EXEC_Export -Wb,export_include=GPS_exec_export.h -I..\..\..\..\.. -I..\..\..\..\..\CIAO\ciao -Wb,pre_include="ace\pre.h" -Wb,post_include="ace\post.h" -I ..\..\..\.. -I ..\..\..\..\.. -I ..\..\..\..\..\orbsvcs\orbsvcs -Ge 1 -Sc $(InputPath)
-
-# End Custom Build
-
-!ENDIF
-
-# End Source File
-# End Group
-# End Target
-# End Project
diff --git a/TAO/CIAO/examples/OEP/Display/GPS/GPS_tracing_exec.h b/TAO/CIAO/examples/OEP/Display/GPS/GPS_tracing_exec.h
deleted file mode 100644
index 07b81437cec..00000000000
--- a/TAO/CIAO/examples/OEP/Display/GPS/GPS_tracing_exec.h
+++ /dev/null
@@ -1,125 +0,0 @@
-// $Id$
-
-/**
- * @file GPS_tracing_exec.h
- *
- * Header file for the actual GPS and GPSHome component
- * implementations.
- *
- * @author Nanbor Wang <nanbor@cse.wustl.edu>
- */
-
-#ifndef GPS_TRACING_EXEC_H
-#define GPS_TRACING_EXEC_H
-
-#include "GPSEIC.h"
-#include "tao/LocalObject.h"
-
-namespace MyImpl
-{
- /**
- * @class GPS_tracing_exec_i
- *
- * RateGen executor implementation class.
- */
- class GPS_EXEC_Export GPS_tracing_exec_i :
- public virtual HUDisplay::GPS_Exec,
- public virtual TAO_Local_RefCounted_Object
- {
- public:
- /// Default constructor.
- GPS_tracing_exec_i ();
-
- /// Default destructor.
- ~GPS_tracing_exec_i ();
-
- // Operations from HUDisplay::GPS
-
- virtual HUDisplay::CCM_position_ptr
- get_MyLocation (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- virtual void
- push_Refresh (HUDisplay::tick *ev
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- // Operations from HUDisplay::position
-
- virtual CORBA::Long
- posx (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- virtual CORBA::Long
- posy (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- // Operations from Components::SessionComponent
-
- virtual void
- set_session_context (Components::SessionContext_ptr ctx
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::CCMException));
-
- virtual void
- ccm_activate (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::CCMException));
-
- virtual void
- ccm_passivate (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::CCMException));
-
- virtual void
- ccm_remove (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::CCMException));
- protected:
- /// Current GPS reading.
- CORBA::Long positionx_;
- CORBA::Long positiony_;
-
- /// Delta amounts to emulate the position shift of each reading.
- int dx_;
- int dy_;
-
- /// Copmponent specific context
- HUDisplay::CCM_GPS_Context_var context_;
- };
-
- /**
- * @class GPSHome_tracing_exec_i
- *
- * GPS home executor implementation class.
- */
- class GPS_EXEC_Export GPSHome_tracing_exec_i :
- public virtual HUDisplay::CCM_GPSHome,
- public virtual TAO_Local_RefCounted_Object
- {
- public:
- /// Default ctor.
- GPSHome_tracing_exec_i ();
-
- /// Default dtor.
- ~GPSHome_tracing_exec_i ();
-
- // Explicit home operations.
-
- // Implicit home operations.
-
- virtual ::Components::EnterpriseComponent_ptr
- create (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::CCMException));
- };
-
-}
-
-// Executor DLL entry point. CIAO's deployment and assembly framework
-// invokes this function on the resulting DLL to get the home executor.
-extern "C" GPS_EXEC_Export ::Components::HomeExecutorBase_ptr
-createGPSHome_Tracing_Impl (void);
-
-#endif /* GPS_TRACING_EXEC_H */
diff --git a/TAO/CIAO/examples/OEP/Display/GPS/config b/TAO/CIAO/examples/OEP/Display/GPS/config
deleted file mode 100644
index acfd9b0081a..00000000000
--- a/TAO/CIAO/examples/OEP/Display/GPS/config
+++ /dev/null
@@ -1 +0,0 @@
-GPS_exec|createGPSHome_Impl|GPS_svnt|createGPSHome_Servant
diff --git a/TAO/CIAO/examples/OEP/Display/HUDisplay.idl b/TAO/CIAO/examples/OEP/Display/HUDisplay.idl
deleted file mode 100644
index 58b02bacded..00000000000
--- a/TAO/CIAO/examples/OEP/Display/HUDisplay.idl
+++ /dev/null
@@ -1,48 +0,0 @@
-// $Id$
-
-/**
- * @file HUDisplay.idl
- *
- * Definition of events, and common interfaces used in HUDisplay module.
- *
- * @author Nanbor Wang <nanbor@cs.wustl.edu>
- */
-
-#ifndef HUDISPLAY_IDL
-#define HUDISPLAY_IDL
-
-#include <Components.idl>
-
-module HUDisplay
-{
- /**
- * @brief interface opmode defines the "operation mode" interface.
- */
- interface opmode
- {
- void start ();
-
- void stop ();
-
- boolean active ();
- };
-
- /**
- * @brief a timed event that happens at some fix rate.
- */
- eventtype tick
- {
- // We could put a timestamp here if desired.
- };
-
- /**
- * @brief interface position allows querying of a coordination.
- */
- interface position
- {
- long posx ();
- long posy ();
- };
-};
-
-#endif /* HUDISPLAY_IDL */
diff --git a/TAO/CIAO/examples/OEP/Display/HUDisplay.mpc b/TAO/CIAO/examples/OEP/Display/HUDisplay.mpc
deleted file mode 100644
index a8e16172241..00000000000
--- a/TAO/CIAO/examples/OEP/Display/HUDisplay.mpc
+++ /dev/null
@@ -1,29 +0,0 @@
-// $Id$
-// This file is generated with "generate_component_mpc.pl -n HUDisplay"
-
-project(HUDisplay_stub): ciao_client {
-
- sharedname = HUDisplay_stub
- idlflags += -Wb,stub_export_macro=HUDISPLAY_STUB_Export -Wb,stub_export_include=HUDisplay_stub_export.h -Wb,skel_export_macro=HUDISPLAY_SVNT_Export -Wb,skel_export_include=HUDisplay_svnt_export.h
- dllflags = HUDISPLAY_STUB_BUILD_DLL
-
- IDL_Files {
- HUDisplay.idl
- }
-
- Source_Files {
- HUDisplayC.cpp
- }
-}
-
-project(HUDisplay_svnt) : ciao_server {
- depends += HUDisplay_stub
- sharedname = HUDisplay_svnt
- libs += HUDisplay_stub
-
- dllflags = HUDISPLAY_SVNT_BUILD_DLL
-
- Source_Files {
- HUDisplayS.cpp
- }
-}
diff --git a/TAO/CIAO/examples/OEP/Display/HUDisplay_stub.dsp b/TAO/CIAO/examples/OEP/Display/HUDisplay_stub.dsp
deleted file mode 100644
index a98ab48190f..00000000000
--- a/TAO/CIAO/examples/OEP/Display/HUDisplay_stub.dsp
+++ /dev/null
@@ -1,178 +0,0 @@
-# Microsoft Developer Studio Project File - Name="HUDisplay_stub DLL" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 6.00
-# ** DO NOT EDIT **
-
-# TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102
-
-CFG=HUDisplay_stub DLL - Win32 Debug
-!MESSAGE This is not a valid makefile. To build this project using NMAKE,
-!MESSAGE use the Export Makefile command and run
-!MESSAGE
-!MESSAGE NMAKE /f "HUDisplay_stub.mak".
-!MESSAGE
-!MESSAGE You can specify a configuration when running NMAKE
-!MESSAGE by defining the macro CFG on the command line. For example:
-!MESSAGE
-!MESSAGE NMAKE /f "HUDisplay_stub.mak" CFG="HUDisplay_stub DLL - Win32 Debug"
-!MESSAGE
-!MESSAGE Possible choices for configuration are:
-!MESSAGE
-!MESSAGE "HUDisplay_stub DLL - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library")
-!MESSAGE "HUDisplay_stub DLL - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library")
-!MESSAGE
-
-# Begin Project
-# PROP AllowPerConfigDependencies 0
-# PROP Scc_ProjName ""
-# PROP Scc_LocalPath ""
-CPP=cl.exe
-MTL=midl.exe
-RSC=rc.exe
-
-!IF "$(CFG)" == "HUDisplay_stub DLL - Win32 Release"
-
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "."
-# PROP Intermediate_Dir "Release\HUDisplay_stub"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD CPP /nologo /MD /W3 /GR /GX /Zi /O2 /I "$(CIAO_ROOT)" /I "$(CIAO_ROOT)\ciao" /I "$(TAO_ROOT)" /I "$(TAO_ROOT)\tao" /I "..\..\..\..\.." /D NDEBUG=1 /D WIN32=1 /D _WINDOWS=1 /D HUDISPLAY_STUB_BUILD_DLL=1 /FD /c
-# SUBTRACT CPP /YX
-# ADD BASE RSC /l 0x409
-# ADD RSC /l 0x409 /i "$(CIAO_ROOT)" /i "$(CIAO_ROOT)\ciao" /i "$(TAO_ROOT)" /i "$(TAO_ROOT)\tao" /i "..\..\..\..\.." /d NDEBUG=1
-BSC32=bscmake.exe
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 /machine:IX86
-# ADD LINK32 TAO.lib TAO_Security.lib TAO_IFR_Client.lib TAO_Valuetype.lib CIAO_Client.lib ACE.lib /nologo /subsystem:windows /dll /pdb:"..\..\..\..\..\bin\HUDisplay_stub.pdb" /machine:I386 /out:"..\..\..\..\..\bin\HUDisplay_stub.dll" /libpath:"$(TAO_ROOT)\tao\IFR_Client" /libpath:"$(TAO_ROOT)\tao\Valuetype" /libpath:"$(CIAO_ROOT)\ciao" /libpath:"$(TAO_ROOT)\orbsvcs\orbsvcs" /libpath:"$(TAO_ROOT)\tao" /libpath:"..\..\..\..\..\ace" /version:1.3.1
-# SUBTRACT LINK32 /pdb:none
-
-!ELSEIF "$(CFG)" == "HUDisplay_stub DLL - Win32 Debug"
-
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "."
-# PROP Intermediate_Dir "Debug\HUDisplay_stub"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD CPP /nologo /MDd /W3 /Gm /GR /GX /Zi /Od /Gy /I "$(CIAO_ROOT)" /I "$(CIAO_ROOT)\ciao" /I "$(TAO_ROOT)" /I "$(TAO_ROOT)\orbsvcs\orbsvcs" /I "$(TAO_ROOT)\tao" /I "..\..\..\..\.." /D _DEBUG=1 /D WIN32=1 /D _WINDOWS=1 /D HUDISPLAY_STUB_BUILD_DLL=1 /FD /c
-# SUBTRACT CPP /Fr /YX
-# ADD BASE RSC /l 0x409
-# ADD RSC /l 0x409 /i "$(CIAO_ROOT)" /i "$(CIAO_ROOT)\ciao" /i "$(TAO_ROOT)" /i "$(TAO_ROOT)\tao" /i "..\..\..\..\.." /d _DEBUG=1
-BSC32=bscmake.exe
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 /machine:IX86
-# ADD LINK32 TAOd.lib TAO_Securityd.lib TAO_IFR_Clientd.lib TAO_Valuetyped.lib CIAO_Clientd.lib ACEd.lib /nologo /subsystem:windows /dll /incremental:no /pdb:"..\..\..\..\..\bin\HUDisplay_stubd.pdb" /debug /machine:I386 /out:"..\..\..\..\..\bin\HUDisplay_stubd.dll" /libpath:"$(TAO_ROOT)\tao\IFR_Client" /libpath:"$(TAO_ROOT)\tao\Valuetype" /libpath:"$(CIAO_ROOT)\ciao" /libpath:"$(TAO_ROOT)\orbsvcs\orbsvcs" /libpath:"$(TAO_ROOT)\tao" /libpath:"..\..\..\..\..\ace" /version:1.3.1
-# SUBTRACT LINK32 /pdb:none
-
-!ENDIF
-
-# Begin Target
-
-# Name "HUDisplay_stub DLL - Win32 Release"
-# Name "HUDisplay_stub DLL - Win32 Debug"
-# Begin Group "Source Files"
-
-# PROP Default_Filter "cpp;cxx;c"
-# Begin Source File
-
-SOURCE=.\HUDisplayC.cpp
-# End Source File
-# End Group
-# Begin Group "Header Files"
-
-# PROP Default_Filter "h;hpp;hxx;hh"
-# Begin Source File
-
-SOURCE=.\HUDisplayC.h
-# End Source File
-# End Group
-# Begin Group "Inline Files"
-
-# PROP Default_Filter "i;inl"
-# Begin Source File
-
-SOURCE=.\HUDisplayC.i
-# End Source File
-# End Group
-# Begin Group "Documentation"
-
-# PROP Default_Filter ""
-# Begin Source File
-
-SOURCE=.\README
-# End Source File
-# End Group
-# Begin Group "IDL Files"
-
-# PROP Default_Filter "idl"
-# Begin Source File
-
-SOURCE=.\HUDisplay.idl
-
-!IF "$(CFG)" == "HUDisplay_stub DLL - Win32 Release"
-
-# PROP Ignore_Default_Tool 1
-# Begin Custom Build - Invoking IDL Compiler on $(InputPath)
-InputPath=.\HUDisplay.idl
-InputName=HUDisplay
-
-BuildCmds= \
- ..\..\..\..\..\bin\tao_idl -o . -Wb,stub_export_macro=HUDISPLAY_STUB_Export -Wb,stub_export_include=HUDisplay_stub_export.h -Wb,skel_export_macro=HUDISPLAY_SVNT_Export -Wb,skel_export_include=HUDisplay_svnt_export.h -Wb,pre_include="ace\pre.h" -Wb,post_include="ace\post.h" -I $(CIAO_ROOT) -I $(TAO_ROOT) -I $(TAO_ROOT)\orbsvcs\orbsvcs -Ge 1 -Sc $(InputPath)
-
-".\$(InputName)C.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-
-".\$(InputName)C.i" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-
-".\$(InputName)C.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-
-".\$(InputName)S.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-
-".\$(InputName)S.i" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-
-".\$(InputName)S.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-# End Custom Build
-
-!ELSEIF "$(CFG)" == "HUDisplay_stub DLL - Win32 Debug"
-
-# PROP Ignore_Default_Tool 1
-# Begin Custom Build - Invoking IDL Compiler on $(InputPath)
-InputPath=.\HUDisplay.idl
-InputName=HUDisplay
-
-BuildCmds= \
- ..\..\..\..\..\bin\tao_idl -o . -Wb,stub_export_macro=HUDISPLAY_STUB_Export -Wb,stub_export_include=HUDisplay_stub_export.h -Wb,skel_export_macro=HUDISPLAY_SVNT_Export -Wb,skel_export_include=HUDisplay_svnt_export.h -Wb,pre_include="ace\pre.h" -Wb,post_include="ace\post.h" -I $(CIAO_ROOT) -I $(CIAO_ROOT)\ciao -I $(TAO_ROOT) -I $(TAO_ROOT)\orbsvcs\orbsvcs -Ge 1 -Sc $(InputPath)
-
-".\$(InputName)C.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-
-".\$(InputName)C.i" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-
-".\$(InputName)C.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-
-".\$(InputName)S.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-
-".\$(InputName)S.i" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-
-".\$(InputName)S.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-# End Custom Build
-
-!ENDIF
-
-# End Source File
-# End Group
-# End Target
-# End Project
diff --git a/TAO/CIAO/examples/OEP/Display/HUDisplay_stub_export.h b/TAO/CIAO/examples/OEP/Display/HUDisplay_stub_export.h
deleted file mode 100644
index 3c92ba87bd8..00000000000
--- a/TAO/CIAO/examples/OEP/Display/HUDisplay_stub_export.h
+++ /dev/null
@@ -1,50 +0,0 @@
-
-// -*- C++ -*-
-// $Id$
-// Definition for Win32 Export directives.
-// This file is generated automatically by generate_export_file.pl HUDISPLAY_STUB
-// ------------------------------
-#ifndef HUDISPLAY_STUB_EXPORT_H
-#define HUDISPLAY_STUB_EXPORT_H
-
-#include "ace/config-all.h"
-
-#if !defined (HUDISPLAY_STUB_HAS_DLL)
-# define HUDISPLAY_STUB_HAS_DLL 1
-#endif /* ! HUDISPLAY_STUB_HAS_DLL */
-
-#if defined (HUDISPLAY_STUB_HAS_DLL) && (HUDISPLAY_STUB_HAS_DLL == 1)
-# if defined (HUDISPLAY_STUB_BUILD_DLL)
-# define HUDISPLAY_STUB_Export ACE_Proper_Export_Flag
-# define HUDISPLAY_STUB_SINGLETON_DECLARATION(T) ACE_EXPORT_SINGLETON_DECLARATION (T)
-# define HUDISPLAY_STUB_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_EXPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
-# else /* HUDISPLAY_STUB_BUILD_DLL */
-# define HUDISPLAY_STUB_Export ACE_Proper_Import_Flag
-# define HUDISPLAY_STUB_SINGLETON_DECLARATION(T) ACE_IMPORT_SINGLETON_DECLARATION (T)
-# define HUDISPLAY_STUB_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_IMPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
-# endif /* HUDISPLAY_STUB_BUILD_DLL */
-#else /* HUDISPLAY_STUB_HAS_DLL == 1 */
-# define HUDISPLAY_STUB_Export
-# define HUDISPLAY_STUB_SINGLETON_DECLARATION(T)
-# define HUDISPLAY_STUB_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
-#endif /* HUDISPLAY_STUB_HAS_DLL == 1 */
-
-// Set HUDISPLAY_STUB_NTRACE = 0 to turn on library specific tracing even if
-// tracing is turned off for ACE.
-#if !defined (HUDISPLAY_STUB_NTRACE)
-# if (ACE_NTRACE == 1)
-# define HUDISPLAY_STUB_NTRACE 1
-# else /* (ACE_NTRACE == 1) */
-# define HUDISPLAY_STUB_NTRACE 0
-# endif /* (ACE_NTRACE == 1) */
-#endif /* !HUDISPLAY_STUB_NTRACE */
-
-#if (HUDISPLAY_STUB_NTRACE == 1)
-# define HUDISPLAY_STUB_TRACE(X)
-#else /* (HUDISPLAY_STUB_NTRACE == 1) */
-# define HUDISPLAY_STUB_TRACE(X) ACE_TRACE_IMPL(X)
-#endif /* (HUDISPLAY_STUB_NTRACE == 1) */
-
-#endif /* HUDISPLAY_STUB_EXPORT_H */
-
-// End of auto generated file.
diff --git a/TAO/CIAO/examples/OEP/Display/HUDisplay_svnt.dsp b/TAO/CIAO/examples/OEP/Display/HUDisplay_svnt.dsp
deleted file mode 100644
index c7dfa12b418..00000000000
--- a/TAO/CIAO/examples/OEP/Display/HUDisplay_svnt.dsp
+++ /dev/null
@@ -1,176 +0,0 @@
-# Microsoft Developer Studio Project File - Name="HUDisplay_svnt DLL" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 6.00
-# ** DO NOT EDIT **
-
-# TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102
-
-CFG=HUDisplay_svnt DLL - Win32 Debug
-!MESSAGE This is not a valid makefile. To build this project using NMAKE,
-!MESSAGE run the tool that generated this project file and specify the
-!MESSAGE nmake output type. You can then use the following command:
-!MESSAGE
-!MESSAGE NMAKE /f "HUDisplay_svnt.mak".
-!MESSAGE
-!MESSAGE You can specify a configuration when running NMAKE
-!MESSAGE by defining the macro CFG on the command line. For example:
-!MESSAGE
-!MESSAGE NMAKE /f "HUDisplay_svnt.mak" CFG="HUDisplay_svnt DLL - Win32 Debug"
-!MESSAGE
-!MESSAGE Possible choices for configuration are:
-!MESSAGE
-!MESSAGE "HUDisplay_svnt DLL - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library")
-!MESSAGE "HUDisplay_svnt DLL - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library")
-!MESSAGE
-
-# Begin Project
-# PROP AllowPerConfigDependencies 0
-# PROP Scc_ProjName ""
-# PROP Scc_LocalPath ""
-CPP=cl.exe
-RSC=rc.exe
-
-!IF "$(CFG)" == "HUDisplay_svnt DLL - Win32 Release"
-
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "."
-# PROP Intermediate_Dir "Release\HUDisplay_svnt"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD CPP /nologo /W3 /GX /O2 /MD /Zi /GR /I "$(TAO_ROOT)\orbsvcs\orbsvcs" /I "$(CIAO_ROOT)" /I "$(CIAO_ROOT)\ciao" /I "$(TAO_ROOT)" /I "$(TAO_ROOT)\tao" /I "..\..\..\..\.." /D NDEBUG=1 /D WIN32=1 /D _WINDOWS=1 /D HUDISPLAY_SVNT_BUILD_DLL=1 /FD /c
-# SUBTRACT CPP /YX
-# ADD RSC /l 0x409 /d NDEBUG=1 /i "$(TAO_ROOT)\orbsvcs\orbsvcs" /i "$(CIAO_ROOT)" /i "$(CIAO_ROOT)\ciao" /i "$(TAO_ROOT)" /i "$(TAO_ROOT)\tao" /i "..\..\..\..\.."
-BSC32=bscmake.exe
-# ADD BSC32 /nologo /o".\HUDisplay_svnt.bsc"
-LINK32=link.exe
-# ADD LINK32 advapi32.lib user32.lib /INCREMENTAL:NO HUDisplay_stub.lib CIAO_Server.lib TAO_PortableServer.lib TAO_IORInterceptor.lib TAO_ObjRefTemplate.lib TAO_Security.lib CIAO_Container.lib TAO.lib TAO_IFR_Client.lib TAO_Valuetype.lib CIAO_Client.lib ACE.lib /libpath:"$(TAO_ROOT)\tao\PortableServer" /libpath:"$(TAO_ROOT)\tao\IORInterceptor" /libpath:"$(TAO_ROOT)\tao\ObjRefTemplate" /libpath:"$(TAO_ROOT)\orbsvcs\orbsvcs" /libpath:"$(TAO_ROOT)\tao\IFR_Client" /libpath:"$(TAO_ROOT)\tao\Valuetype" /libpath:"$(CIAO_ROOT)\ciao" /libpath:"$(TAO_ROOT)\tao" /libpath:"..\..\..\..\..\ace" /nologo /version:1.3.1 /subsystem:windows /pdb:"..\..\..\..\..\bin\HUDisplay_svnt.pdb" /dll /machine:I386 /out:"..\..\..\..\..\bin\HUDisplay_svnt.dll"
-
-!ELSEIF "$(CFG)" == "HUDisplay_svnt DLL - Win32 Debug"
-
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "."
-# PROP Intermediate_Dir "Debug\HUDisplay_svnt"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD CPP /nologo /W3 /Gm /GX /Zi /Od /MDd /GR /Gy /I "$(TAO_ROOT)\orbsvcs\orbsvcs" /I "$(CIAO_ROOT)" /I "$(CIAO_ROOT)\ciao" /I "$(TAO_ROOT)" /I "$(TAO_ROOT)\tao" /I "..\..\..\..\.." /D _DEBUG=1 /D WIN32=1 /D _WINDOWS=1 /D HUDISPLAY_SVNT_BUILD_DLL=1 /FD /c
-# SUBTRACT CPP /Fr /YX
-# ADD RSC /l 0x409 /d _DEBUG=1 /i "$(TAO_ROOT)\orbsvcs\orbsvcs" /i "$(CIAO_ROOT)" /i "$(CIAO_ROOT)\ciao" /i "$(TAO_ROOT)" /i "$(TAO_ROOT)\tao" /i "..\..\..\..\.."
-BSC32=bscmake.exe
-# ADD BSC32 /nologo /o".\HUDisplay_svnt.bsc"
-LINK32=link.exe
-# ADD LINK32 advapi32.lib user32.lib /INCREMENTAL:NO HUDisplay_stubd.lib CIAO_Serverd.lib TAO_PortableServerd.lib TAO_IORInterceptord.lib TAO_ObjRefTemplated.lib TAO_Securityd.lib CIAO_Containerd.lib TAOd.lib TAO_IFR_Clientd.lib TAO_Valuetyped.lib CIAO_Clientd.lib ACEd.lib /libpath:"$(TAO_ROOT)\tao\PortableServer" /libpath:"$(TAO_ROOT)\tao\IORInterceptor" /libpath:"$(TAO_ROOT)\tao\ObjRefTemplate" /libpath:"$(TAO_ROOT)\orbsvcs\orbsvcs" /libpath:"$(TAO_ROOT)\tao\IFR_Client" /libpath:"$(TAO_ROOT)\tao\Valuetype" /libpath:"$(CIAO_ROOT)\ciao" /libpath:"$(TAO_ROOT)\tao" /libpath:"..\..\..\..\..\ace" /nologo /version:1.3.1 /subsystem:windows /pdb:"..\..\..\..\..\bin\HUDisplay_svntd.pdb" /dll /debug /machine:I386 /out:"..\..\..\..\..\bin\HUDisplay_svntd.dll"
-
-!ENDIF
-
-# Begin Target
-
-# Name "HUDisplay_svnt DLL - Win32 Release"
-# Name "HUDisplay_svnt DLL - Win32 Debug"
-# Begin Group "Source Files"
-
-# PROP Default_Filter "cpp;cxx;c"
-# Begin Source File
-
-SOURCE=.\HUDisplayS.cpp
-# End Source File
-# End Group
-# Begin Group "Header Files"
-
-# PROP Default_Filter "h;hpp;hxx;hh"
-# Begin Source File
-
-SOURCE=.\HUDisplayS.h
-# End Source File
-# End Group
-# Begin Group "Inline Files"
-
-# PROP Default_Filter "i;inl"
-# Begin Source File
-
-SOURCE=.\HUDisplayS.i
-# End Source File
-# End Group
-# Begin Group "Documentation"
-
-# PROP Default_Filter ""
-# Begin Source File
-
-SOURCE=.\README
-# End Source File
-# End Group
-# Begin Group "IDL Files"
-
-# PROP Default_Filter "idl"
-# Begin Source File
-
-SOURCE=.\HUDisplay.idl
-
-!IF "$(CFG)" == "HUDisplay_svnt DLL - Win32 Release"
-
-# PROP Ignore_Default_Tool 1
-# Begin Custom Build - Invoking IDL Compiler on $(InputPath)
-InputPath=.\HUDisplay.idl
-InputName=HUDisplay
-InputDir=.
-
-BuildCmds= \
- ..\..\..\..\..\bin\tao_idl -o . -I$(TAO_ROOT) -I$(TAO_ROOT)\CIAO\ciao -Wb,pre_include="ace\pre.h" -Wb,post_include="ace\post.h" -I $(CIAO_ROOT) -I $(TAO_ROOT) -I $(TAO_ROOT)\orbsvcs\orbsvcs -Ge 1 -Sc $(InputPath)
-
-".\$(InputName)C.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-
-".\$(InputName)C.i" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-
-".\$(InputName)C.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-
-".\$(InputName)S.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-
-".\$(InputName)S.i" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-
-".\$(InputName)S.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-
-# End Custom Build
-
-!ELSEIF "$(CFG)" == "HUDisplay_svnt DLL - Win32 Debug"
-
-# PROP Ignore_Default_Tool 1
-# Begin Custom Build - Invoking IDL Compiler on $(InputPath)
-InputPath=.\HUDisplay.idl
-InputName=HUDisplay
-InputDir=.
-
-BuildCmds= \
- ..\..\..\..\..\bin\tao_idl -o . -I$(TAO_ROOT) -I$(TAO_ROOT)\CIAO\ciao -Wb,pre_include="ace\pre.h" -Wb,post_include="ace\post.h" -I $(CIAO_ROOT) -I $(TAO_ROOT) -I $(TAO_ROOT)\orbsvcs\orbsvcs -Ge 1 -Sc $(InputPath)
-
-".\$(InputName)C.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-
-".\$(InputName)C.i" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-
-".\$(InputName)C.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-
-".\$(InputName)S.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-
-".\$(InputName)S.i" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-
-".\$(InputName)S.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-
-# End Custom Build
-
-!ENDIF
-
-# End Source File
-# End Group
-# End Target
-# End Project
diff --git a/TAO/CIAO/examples/OEP/Display/HUDisplay_svnt_export.h b/TAO/CIAO/examples/OEP/Display/HUDisplay_svnt_export.h
deleted file mode 100644
index 842152afa02..00000000000
--- a/TAO/CIAO/examples/OEP/Display/HUDisplay_svnt_export.h
+++ /dev/null
@@ -1,50 +0,0 @@
-
-// -*- C++ -*-
-// $Id$
-// Definition for Win32 Export directives.
-// This file is generated automatically by generate_export_file.pl HUDISPLAY_SVNT
-// ------------------------------
-#ifndef HUDISPLAY_SVNT_EXPORT_H
-#define HUDISPLAY_SVNT_EXPORT_H
-
-#include "ace/config-all.h"
-
-#if !defined (HUDISPLAY_SVNT_HAS_DLL)
-# define HUDISPLAY_SVNT_HAS_DLL 1
-#endif /* ! HUDISPLAY_SVNT_HAS_DLL */
-
-#if defined (HUDISPLAY_SVNT_HAS_DLL) && (HUDISPLAY_SVNT_HAS_DLL == 1)
-# if defined (HUDISPLAY_SVNT_BUILD_DLL)
-# define HUDISPLAY_SVNT_Export ACE_Proper_Export_Flag
-# define HUDISPLAY_SVNT_SINGLETON_DECLARATION(T) ACE_EXPORT_SINGLETON_DECLARATION (T)
-# define HUDISPLAY_SVNT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_EXPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
-# else /* HUDISPLAY_SVNT_BUILD_DLL */
-# define HUDISPLAY_SVNT_Export ACE_Proper_Import_Flag
-# define HUDISPLAY_SVNT_SINGLETON_DECLARATION(T) ACE_IMPORT_SINGLETON_DECLARATION (T)
-# define HUDISPLAY_SVNT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_IMPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
-# endif /* HUDISPLAY_SVNT_BUILD_DLL */
-#else /* HUDISPLAY_SVNT_HAS_DLL == 1 */
-# define HUDISPLAY_SVNT_Export
-# define HUDISPLAY_SVNT_SINGLETON_DECLARATION(T)
-# define HUDISPLAY_SVNT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
-#endif /* HUDISPLAY_SVNT_HAS_DLL == 1 */
-
-// Set HUDISPLAY_SVNT_NTRACE = 0 to turn on library specific tracing even if
-// tracing is turned off for ACE.
-#if !defined (HUDISPLAY_SVNT_NTRACE)
-# if (ACE_NTRACE == 1)
-# define HUDISPLAY_SVNT_NTRACE 1
-# else /* (ACE_NTRACE == 1) */
-# define HUDISPLAY_SVNT_NTRACE 0
-# endif /* (ACE_NTRACE == 1) */
-#endif /* !HUDISPLAY_SVNT_NTRACE */
-
-#if (HUDISPLAY_SVNT_NTRACE == 1)
-# define HUDISPLAY_SVNT_TRACE(X)
-#else /* (HUDISPLAY_SVNT_NTRACE == 1) */
-# define HUDISPLAY_SVNT_TRACE(X) ACE_TRACE_IMPL(X)
-#endif /* (HUDISPLAY_SVNT_NTRACE == 1) */
-
-#endif /* HUDISPLAY_SVNT_EXPORT_H */
-
-// End of auto generated file.
diff --git a/TAO/CIAO/examples/OEP/Display/NOTE b/TAO/CIAO/examples/OEP/Display/NOTE
deleted file mode 100644
index dae5515157f..00000000000
--- a/TAO/CIAO/examples/OEP/Display/NOTE
+++ /dev/null
@@ -1,54 +0,0 @@
-$Id$ -*- Text -*-
-
-The root directory of this example (the directory this note resides)
-contains only facets and eventtype that are shared by all components
-under various subdirectories. Therefore, there's no actualy executor
-implementations for these interfaces instead, the example stop at the
-servant glue code library which can be used by the actualy component
-implementation.
-
-I'm not sure, at this point, how we can handle this (where neither
-actualy component definition nor cidl definition are available)
-situation with CIDL compiler. It looks like we should be able to pass
-a bunch of IDL definitions thru CIDL compiler and get the equivalent
-executor interfaces automatically. But we'll have to see.
-
-To try out this example, read the following document taken from a
-short note I wrote for a snapshot release:
-
- This is a multiple-component example. RateGen component
- subdirectory contains a run_test.pl that you can use to
- instantiate a component instance, like you would do with the
- Hello example. The other components require collaboration with
- other components and I don't have client programs to test them
- out individually.
-
- This example also lets you compose all the components into a
- distributed application using the Assembly_Deployer. Change
- directory to
-
- $CIAO_ROOT/examples/handcrafted/Display/descriptors
-
- and take a look at the file: NOTE.txt. This file describes the
- steps to compose the application using various different
- configurations and composition specs.
-
-* There are MSVC 6 workspaces and projects available in the workspace.
- Some of them also contain UNIX makefiles. If you can not find the
- Makefiles for unix platform you are using, you can use mwc to create
- them. For examples, to compile the multi-component example, use the
- following:
-
- $ cd $CIAO_ROOT/examples/handcrafted/Display
- $ $(ACE_ROOT)/bin/mwc.pl
- $ make
-
- To regenerate VC6 dsp files, do:
-
- > cd $CIAO_ROOT/examples/handcrafted/Display
- > $(ACE_ROOT)/bin/mwc.pl -type vc6
-
- Likewise, to regenerate VC7.NET project files, do:
-
- > cd $CIAO_ROOT/examples/handcrafted/Display
- > $(ACE_ROOT)/bin/mwc.pl -type vc7
diff --git a/TAO/CIAO/examples/OEP/Display/NavDisplay/NavDisplay.cidl b/TAO/CIAO/examples/OEP/Display/NavDisplay/NavDisplay.cidl
deleted file mode 100644
index 5a277fe50f5..00000000000
--- a/TAO/CIAO/examples/OEP/Display/NavDisplay/NavDisplay.cidl
+++ /dev/null
@@ -1,12 +0,0 @@
-// $Id$ -*- IDL -*-
-
-#include "NavDisplay.idl"
-
-composition session NavDisplay_Impl
-{
- home executor NavDisplayHome_exec
- {
- implements HUDisplay::NavDisplayHome;
- manages NavDisplay_exec;
- };
-};
diff --git a/TAO/CIAO/examples/OEP/Display/NavDisplay/NavDisplay.idl b/TAO/CIAO/examples/OEP/Display/NavDisplay/NavDisplay.idl
deleted file mode 100644
index 6cc554d2d45..00000000000
--- a/TAO/CIAO/examples/OEP/Display/NavDisplay/NavDisplay.idl
+++ /dev/null
@@ -1,29 +0,0 @@
-// $Id$
-
-/**
- * @file NavDisplay.idl
- *
- * Definition of the navigation display component.
- *
- * @author Nanbor Wang <nanbor@cs.wustl.edu>
- */
-
-#ifndef NAVDISPLAY_IDL
-#define NAVDISPLAY_IDL
-
-#include "../HUDisplay.idl"
-
-module HUDisplay
-{
- component NavDisplay
- {
- consumes tick Refresh;
- uses position GPSLocation;
- };
-
- home NavDisplayHome manages NavDisplay
- {
- };
-};
-
-#endif /* NAVDISPLAY_IDL */
diff --git a/TAO/CIAO/examples/OEP/Display/NavDisplay/NavDisplayEI.idl b/TAO/CIAO/examples/OEP/Display/NavDisplay/NavDisplayEI.idl
deleted file mode 100644
index e82e48244cd..00000000000
--- a/TAO/CIAO/examples/OEP/Display/NavDisplay/NavDisplayEI.idl
+++ /dev/null
@@ -1,32 +0,0 @@
-// $Id$
-
-/**
- * @file NavDisplayEI.idl
- *
- * Definition of the NavDisplay (navigation display) component implementation.
- *
- * @author Nanbor Wang <nanbor@cs.wustl.edu>
- */
-
-#ifndef NAVDISPLAYEI_IDL
-#define NAVDISPLAYEI_IDL
-
-#include "NavDisplayE.idl"
-
-module HUDisplay
-{
- /**
- * @interface NavDisplay_Exec
- *
- * The actually GPS executor inherits from both CCM_GPS and
- * CCM_position interfaces as a monolithic implementation.
- */
- local interface NavDisplay_Exec :
- CCM_NavDisplay,
- Components::SessionComponent
- {
- };
-
-};
-
-#endif /* NAVDISPLAYEI_IDL */
diff --git a/TAO/CIAO/examples/OEP/Display/NavDisplay/NavDisplay_exec.cpp b/TAO/CIAO/examples/OEP/Display/NavDisplay/NavDisplay_exec.cpp
deleted file mode 100644
index 9ef2eee7fb8..00000000000
--- a/TAO/CIAO/examples/OEP/Display/NavDisplay/NavDisplay_exec.cpp
+++ /dev/null
@@ -1,128 +0,0 @@
-// $Id$
-
-#include "CIAO_common.h"
-#include "NavDisplay_exec.h"
-
-/// Default constructor.
-MyImpl::NavDisplay_exec_impl::NavDisplay_exec_impl ()
-{
-}
-
-/// Default destructor.
-MyImpl::NavDisplay_exec_impl::~NavDisplay_exec_impl ()
-{
-}
-
-// Operations from HUDisplay::NavDisplay
-
-void
-MyImpl::NavDisplay_exec_impl::push_Refresh (HUDisplay::tick *ev
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- ACE_UNUSED_ARG (ev);
-
- // Refresh position
- HUDisplay::position_var loc
- = this->context_->get_connection_GPSLocation (ACE_ENV_ARG_PARAMETER);
- ACE_CHECK;
-
- if (CORBA::is_nil (loc.in ()))
- ACE_THROW (CORBA::BAD_INV_ORDER ());
-
- CORBA::Long x = loc->posx (ACE_ENV_ARG_PARAMETER) % 500;
- ACE_CHECK;
- CORBA::Long y = loc->posy (ACE_ENV_ARG_PARAMETER) % 300;
- ACE_CHECK;
-
- ACE_DEBUG ((LM_DEBUG, "DISPLAY: Current Location is: (%d, %d)\n",
- x,
- y));
-}
-
-// Operations from Components::SessionComponent
-void
-MyImpl::NavDisplay_exec_impl::set_session_context (Components::SessionContext_ptr ctx
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::CCMException))
-{
- ACE_DEBUG ((LM_DEBUG, "MyImpl::NavDisplay_exec_impl::set_session_context\n"));
-
- this->context_ =
- HUDisplay::CCM_NavDisplay_Context::_narrow (ctx
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK;
-
- if (CORBA::is_nil (this->context_.in ()))
- ACE_THROW (CORBA::INTERNAL ());
- // Urm, we actually discard exceptions thown from this operation.
-}
-
-void
-MyImpl::NavDisplay_exec_impl::ccm_activate (ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::CCMException))
-{
- ACE_DEBUG ((LM_DEBUG, "MyImpl::NavDisplay_exec_impl::ccm_activate\n"));
-
- // @@ This hack work around a missing feature in CIAO's assembly
- // mechanism where a Softpkg descriptor can specify it's dependency
- // to a valuetype factory and instruct the deployment framework to
- // initialize and register the corresponding valuefactory in the
- // component server. Here, we are registering the valuefactory
- // explicitly to work around this problem.
-
- char *argv[1] = { "NavDisplay_exec"};
-
- int argc = sizeof(argv)/sizeof(argv[0]);
- CORBA::ORB_var orb = CORBA::ORB_init(argc, argv ACE_ENV_ARG_PARAMETER);
-
- CIAO_REGISTER_VALUE_FACTORY (orb.in(), HUDisplay::tick_init,
- HUDisplay::tick);
-}
-
-void
-MyImpl::NavDisplay_exec_impl::ccm_passivate (ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::CCMException))
-{
- ACE_DEBUG ((LM_DEBUG, "MyImpl::NavDisplay_exec_impl::ccm_passivate\n"));
-}
-
-void
-MyImpl::NavDisplay_exec_impl::ccm_remove (ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::CCMException))
-{
- ACE_DEBUG ((LM_DEBUG, "MyImpl::NavDisplay_exec_impl::ccm_remove\n"));
-}
-
-/// Default ctor.
-MyImpl::NavDisplayHome_exec_impl::NavDisplayHome_exec_impl ()
-{
-}
-
-/// Default dtor.
-MyImpl::NavDisplayHome_exec_impl::~NavDisplayHome_exec_impl ()
-{
-}
-
-// Explicit home operations.
-
-// Implicit home operations.
-
-::Components::EnterpriseComponent_ptr
-MyImpl::NavDisplayHome_exec_impl::create (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::CCMException))
-{
- return new MyImpl::NavDisplay_exec_impl;
-}
-
-
-extern "C" NAVDISPLAY_EXEC_Export ::Components::HomeExecutorBase_ptr
-createNavDisplayHome_Impl (void)
-{
- return new MyImpl::NavDisplayHome_exec_impl;
-}
diff --git a/TAO/CIAO/examples/OEP/Display/NavDisplay/NavDisplay_exec.dsp b/TAO/CIAO/examples/OEP/Display/NavDisplay/NavDisplay_exec.dsp
deleted file mode 100644
index 24d1d9178ae..00000000000
--- a/TAO/CIAO/examples/OEP/Display/NavDisplay/NavDisplay_exec.dsp
+++ /dev/null
@@ -1,146 +0,0 @@
-# Microsoft Developer Studio Project File - Name="NavDisplay_exec DLL" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 6.00
-# ** DO NOT EDIT **
-
-# TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102
-
-CFG=NavDisplay_exec DLL - Win32 Debug
-!MESSAGE This is not a valid makefile. To build this project using NMAKE,
-!MESSAGE use the Export Makefile command and run
-!MESSAGE
-!MESSAGE NMAKE /f "NavDisplay_exec.mak".
-!MESSAGE
-!MESSAGE You can specify a configuration when running NMAKE
-!MESSAGE by defining the macro CFG on the command line. For example:
-!MESSAGE
-!MESSAGE NMAKE /f "NavDisplay_exec.mak" CFG="NavDisplay_exec DLL - Win32 Debug"
-!MESSAGE
-!MESSAGE Possible choices for configuration are:
-!MESSAGE
-!MESSAGE "NavDisplay_exec DLL - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library")
-!MESSAGE "NavDisplay_exec DLL - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library")
-!MESSAGE
-
-# Begin Project
-# PROP AllowPerConfigDependencies 0
-# PROP Scc_ProjName ""
-# PROP Scc_LocalPath ""
-CPP=cl.exe
-MTL=midl.exe
-RSC=rc.exe
-
-!IF "$(CFG)" == "NavDisplay_exec DLL - Win32 Release"
-
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "."
-# PROP Intermediate_Dir "Release\NavDisplay_exec"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD CPP /nologo /MD /W3 /GR /GX /Zi /O2 /I "..\..\..\..\..\orbsvcs\orbsvcs" /I "..\..\..\.." /I "..\..\..\..\ciao" /I "..\..\..\..\.." /I "..\..\..\..\..\tao" /I "..\..\..\..\..\.." /D NDEBUG=1 /D WIN32=1 /D _WINDOWS=1 /D NAVDISPLAY_EXEC_BUILD_DLL=1 /FD /c
-# SUBTRACT CPP /YX
-# ADD BASE RSC /l 0x409
-# ADD RSC /l 0x409 /i "..\..\..\..\..\orbsvcs\orbsvcs" /i "..\..\..\.." /i "..\..\..\..\ciao" /i "..\..\..\..\.." /i "..\..\..\..\..\tao" /i "..\..\..\..\..\.." /d NDEBUG=1
-BSC32=bscmake.exe
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 /machine:IX86
-# ADD LINK32 NavDisplay_stub.lib NavDisplay_svnt.lib HUDisplay_stub.lib HUDisplay_svnt.lib CIAO_Server.lib TAO_PortableServer.lib TAO_IORInterceptor.lib TAO_ObjRefTemplate.lib TAO_Security.lib CIAO_Container.lib TAO.lib TAO_IFR_Client.lib TAO_Valuetype.lib CIAO_Client.lib ACE.lib /nologo /subsystem:windows /dll /pdb:"..\..\..\..\..\..\bin\NavDisplay_exec.pdb" /machine:I386 /out:"..\..\..\..\..\..\bin\NavDisplay_exec.dll" /libpath:".." /libpath:"..\..\..\..\..\tao\PortableServer" /libpath:"..\..\..\..\..\tao\IORInterceptor" /libpath:"..\..\..\..\..\tao\ObjRefTemplate" /libpath:"..\..\..\..\..\orbsvcs\orbsvcs" /libpath:"..\..\..\..\..\tao\IFR_Client" /libpath:"..\..\..\..\..\tao\Valuetype" /libpath:"..\..\..\..\ciao" /libpath:"..\..\..\..\..\tao" /libpath:"..\..\..\..\..\..\ace" /version:1.3.1
-# SUBTRACT LINK32 /pdb:none
-
-!ELSEIF "$(CFG)" == "NavDisplay_exec DLL - Win32 Debug"
-
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "."
-# PROP Intermediate_Dir "Debug\NavDisplay_exec"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD CPP /nologo /MDd /W3 /Gm /GR /GX /Zi /Od /Gy /I "..\..\..\..\..\orbsvcs\orbsvcs" /I "..\..\..\.." /I "..\..\..\..\ciao" /I "..\..\..\..\.." /I "..\..\..\..\..\tao" /I "..\..\..\..\..\.." /D _DEBUG=1 /D WIN32=1 /D _WINDOWS=1 /D NAVDISPLAY_EXEC_BUILD_DLL=1 /FD /c
-# SUBTRACT CPP /Fr /YX
-# ADD BASE RSC /l 0x409
-# ADD RSC /l 0x409 /i "..\..\..\..\..\orbsvcs\orbsvcs" /i "..\..\..\.." /i "..\..\..\..\ciao" /i "..\..\..\..\.." /i "..\..\..\..\..\tao" /i "..\..\..\..\..\.." /d _DEBUG=1
-BSC32=bscmake.exe
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 /machine:IX86
-# ADD LINK32 NavDisplay_stubd.lib NavDisplay_svntd.lib HUDisplay_stubd.lib HUDisplay_svntd.lib CIAO_Serverd.lib TAO_PortableServerd.lib TAO_IORInterceptord.lib TAO_ObjRefTemplated.lib TAO_Securityd.lib CIAO_Containerd.lib TAOd.lib TAO_IFR_Clientd.lib TAO_Valuetyped.lib CIAO_Clientd.lib ACEd.lib /nologo /subsystem:windows /dll /incremental:no /pdb:"..\..\..\..\..\..\bin\NavDisplay_execd.pdb" /debug /machine:I386 /out:"..\..\..\..\..\..\bin\NavDisplay_execd.dll" /libpath:".." /libpath:"..\..\..\..\..\tao\PortableServer" /libpath:"..\..\..\..\..\tao\IORInterceptor" /libpath:"..\..\..\..\..\tao\ObjRefTemplate" /libpath:"..\..\..\..\..\orbsvcs\orbsvcs" /libpath:"..\..\..\..\..\tao\IFR_Client" /libpath:"..\..\..\..\..\tao\Valuetype" /libpath:"..\..\..\..\ciao" /libpath:"..\..\..\..\..\tao" /libpath:"..\..\..\..\..\..\ace" /version:1.3.1
-# SUBTRACT LINK32 /pdb:none
-
-!ENDIF
-
-# Begin Target
-
-# Name "NavDisplay_exec DLL - Win32 Release"
-# Name "NavDisplay_exec DLL - Win32 Debug"
-# Begin Group "Source Files"
-
-# PROP Default_Filter "cpp;cxx;c"
-# Begin Source File
-
-SOURCE=.\NavDisplay_exec.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\NavDisplayEIC.cpp
-# End Source File
-# End Group
-# Begin Group "Header Files"
-
-# PROP Default_Filter "h;hpp;hxx;hh"
-# Begin Source File
-
-SOURCE=.\NavDisplay_exec.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\NavDisplayEIC.h
-# End Source File
-# End Group
-# Begin Group "Inline Files"
-
-# PROP Default_Filter "i;inl"
-# Begin Source File
-
-SOURCE=.\NavDisplayEIC.i
-# End Source File
-# End Group
-# Begin Group "IDL Files"
-
-# PROP Default_Filter "idl"
-# Begin Source File
-
-SOURCE=.\NavDisplayEI.idl
-
-!IF "$(CFG)" == "NavDisplay_exec DLL - Win32 Release"
-
-# PROP Ignore_Default_Tool 1
-USERDEP__NAVDI="..\..\..\..\..\..\bin\tao_idl.exe"
-# Begin Custom Build - Invoking TAO IDL Compiler on $(InputPath)
-InputPath=.\NavDisplayEI.idl
-InputName=NavDisplayEI
-
-"$(InputName)C.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- ..\..\..\..\..\..\bin\tao_idl -o . -Wb,export_macro=NAVDISPLAY_EXEC_Export -Wb,export_include=NavDisplay_exec_export.h -I..\..\..\..\.. -I..\..\..\..\..\CIAO\ciao -Wb,pre_include="ace\pre.h" -Wb,post_include="ace\post.h" -I ..\..\..\.. -I ..\..\..\..\.. -I ..\..\..\..\..\orbsvcs\orbsvcs -Ge 1 -Sc $(InputPath)
-
-# End Custom Build
-
-!ELSEIF "$(CFG)" == "NavDisplay_exec DLL - Win32 Debug"
-
-# PROP Ignore_Default_Tool 1
-USERDEP__NAVDI="..\..\..\..\..\..\bin\tao_idl.exe"
-# Begin Custom Build - Invoking TAO IDL Compiler on $(InputPath)
-InputPath=.\NavDisplayEI.idl
-InputName=NavDisplayEI
-
-"$(InputName)C.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- ..\..\..\..\..\..\bin\tao_idl -o . -Wb,export_macro=NAVDISPLAY_EXEC_Export -Wb,export_include=NavDisplay_exec_export.h -I..\..\..\..\.. -I..\..\..\..\..\CIAO\ciao -Wb,pre_include="ace\pre.h" -Wb,post_include="ace\post.h" -I ..\..\..\.. -I ..\..\..\..\.. -I ..\..\..\..\..\orbsvcs\orbsvcs -Ge 1 -Sc $(InputPath)
-
-# End Custom Build
-
-!ENDIF
-
-# End Source File
-# End Group
-# End Target
-# End Project
diff --git a/TAO/CIAO/examples/OEP/Display/NavDisplay/NavDisplay_exec.h b/TAO/CIAO/examples/OEP/Display/NavDisplay/NavDisplay_exec.h
deleted file mode 100644
index 41354206d4b..00000000000
--- a/TAO/CIAO/examples/OEP/Display/NavDisplay/NavDisplay_exec.h
+++ /dev/null
@@ -1,101 +0,0 @@
-// $Id$
-
-/**
- * @file NavDisplay_exec.h
- *
- * Header file for the actual NavDisplay and NavDisplayHome component
- * implementations.
- *
- * @author Nanbor Wang <nanbor@cse.wustl.edu>
- */
-
-#ifndef NAVDISPLAY_EXEC_H
-#define NAVDISPLAY_EXEC_H
-
-#include "NavDisplayEIC.h"
-#include "tao/LocalObject.h"
-
-namespace MyImpl
-{
- /**
- * @class NavDisplay_exec_impl
- *
- * RateGen executor implementation class.
- */
- class NAVDISPLAY_EXEC_Export NavDisplay_exec_impl :
- public virtual HUDisplay::NavDisplay_Exec,
- public virtual TAO_Local_RefCounted_Object
- {
- public:
- /// Default constructor.
- NavDisplay_exec_impl ();
-
- /// Default destructor.
- ~NavDisplay_exec_impl ();
-
- // Operations from HUDisplay::NavDisplay
-
- virtual void
- push_Refresh (HUDisplay::tick *ev
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- // Operations from Components::SessionComponent
-
- virtual void
- set_session_context (Components::SessionContext_ptr ctx
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::CCMException));
-
- virtual void
- ccm_activate (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::CCMException));
-
- virtual void
- ccm_passivate (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::CCMException));
-
- virtual void
- ccm_remove (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::CCMException));
- protected:
- /// Copmponent specific context
- HUDisplay::CCM_NavDisplay_Context_var context_;
- };
-
- /**
- * @class NavDisplayHome_exec_impl
- *
- * NavDisplay home executor implementation class.
- */
- class NAVDISPLAY_EXEC_Export NavDisplayHome_exec_impl :
- public virtual HUDisplay::CCM_NavDisplayHome,
- public virtual TAO_Local_RefCounted_Object
- {
- public:
- /// Default ctor.
- NavDisplayHome_exec_impl ();
-
- /// Default dtor.
- ~NavDisplayHome_exec_impl ();
-
- // Explicit home operations.
-
- // Implicit home operations.
-
- virtual ::Components::EnterpriseComponent_ptr
- create (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::CCMException));
- };
-
-}
-
-extern "C" NAVDISPLAY_EXEC_Export ::Components::HomeExecutorBase_ptr
-createNavDisplayHome_Impl (void);
-
-#endif /* NAVDISPLAY_EXEC_H */
diff --git a/TAO/CIAO/examples/OEP/Display/NavDisplay/NavDisplay_exec_export.h b/TAO/CIAO/examples/OEP/Display/NavDisplay/NavDisplay_exec_export.h
deleted file mode 100644
index 81b8dae8a88..00000000000
--- a/TAO/CIAO/examples/OEP/Display/NavDisplay/NavDisplay_exec_export.h
+++ /dev/null
@@ -1,50 +0,0 @@
-
-// -*- C++ -*-
-// $Id$
-// Definition for Win32 Export directives.
-// This file is generated automatically by generate_export_file.pl NAVDISPLAY_EXEC
-// ------------------------------
-#ifndef NAVDISPLAY_EXEC_EXPORT_H
-#define NAVDISPLAY_EXEC_EXPORT_H
-
-#include "ace/config-all.h"
-
-#if !defined (NAVDISPLAY_EXEC_HAS_DLL)
-# define NAVDISPLAY_EXEC_HAS_DLL 1
-#endif /* ! NAVDISPLAY_EXEC_HAS_DLL */
-
-#if defined (NAVDISPLAY_EXEC_HAS_DLL) && (NAVDISPLAY_EXEC_HAS_DLL == 1)
-# if defined (NAVDISPLAY_EXEC_BUILD_DLL)
-# define NAVDISPLAY_EXEC_Export ACE_Proper_Export_Flag
-# define NAVDISPLAY_EXEC_SINGLETON_DECLARATION(T) ACE_EXPORT_SINGLETON_DECLARATION (T)
-# define NAVDISPLAY_EXEC_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_EXPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
-# else /* NAVDISPLAY_EXEC_BUILD_DLL */
-# define NAVDISPLAY_EXEC_Export ACE_Proper_Import_Flag
-# define NAVDISPLAY_EXEC_SINGLETON_DECLARATION(T) ACE_IMPORT_SINGLETON_DECLARATION (T)
-# define NAVDISPLAY_EXEC_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_IMPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
-# endif /* NAVDISPLAY_EXEC_BUILD_DLL */
-#else /* NAVDISPLAY_EXEC_HAS_DLL == 1 */
-# define NAVDISPLAY_EXEC_Export
-# define NAVDISPLAY_EXEC_SINGLETON_DECLARATION(T)
-# define NAVDISPLAY_EXEC_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
-#endif /* NAVDISPLAY_EXEC_HAS_DLL == 1 */
-
-// Set NAVDISPLAY_EXEC_NTRACE = 0 to turn on library specific tracing even if
-// tracing is turned off for ACE.
-#if !defined (NAVDISPLAY_EXEC_NTRACE)
-# if (ACE_NTRACE == 1)
-# define NAVDISPLAY_EXEC_NTRACE 1
-# else /* (ACE_NTRACE == 1) */
-# define NAVDISPLAY_EXEC_NTRACE 0
-# endif /* (ACE_NTRACE == 1) */
-#endif /* !NAVDISPLAY_EXEC_NTRACE */
-
-#if (NAVDISPLAY_EXEC_NTRACE == 1)
-# define NAVDISPLAY_EXEC_TRACE(X)
-#else /* (NAVDISPLAY_EXEC_NTRACE == 1) */
-# define NAVDISPLAY_EXEC_TRACE(X) ACE_TRACE_IMPL(X)
-#endif /* (NAVDISPLAY_EXEC_NTRACE == 1) */
-
-#endif /* NAVDISPLAY_EXEC_EXPORT_H */
-
-// End of auto generated file.
diff --git a/TAO/CIAO/examples/OEP/Display/NavDisplay/NavDisplay_stub.dsp b/TAO/CIAO/examples/OEP/Display/NavDisplay/NavDisplay_stub.dsp
deleted file mode 100644
index 5a19026dc98..00000000000
--- a/TAO/CIAO/examples/OEP/Display/NavDisplay/NavDisplay_stub.dsp
+++ /dev/null
@@ -1,172 +0,0 @@
-# Microsoft Developer Studio Project File - Name="NavDisplay_stub DLL" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 6.00
-# ** DO NOT EDIT **
-
-# TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102
-
-CFG=NavDisplay_stub DLL - Win32 Debug
-!MESSAGE This is not a valid makefile. To build this project using NMAKE,
-!MESSAGE use the Export Makefile command and run
-!MESSAGE
-!MESSAGE NMAKE /f "NavDisplay_stub.mak".
-!MESSAGE
-!MESSAGE You can specify a configuration when running NMAKE
-!MESSAGE by defining the macro CFG on the command line. For example:
-!MESSAGE
-!MESSAGE NMAKE /f "NavDisplay_stub.mak" CFG="NavDisplay_stub DLL - Win32 Debug"
-!MESSAGE
-!MESSAGE Possible choices for configuration are:
-!MESSAGE
-!MESSAGE "NavDisplay_stub DLL - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library")
-!MESSAGE "NavDisplay_stub DLL - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library")
-!MESSAGE
-
-# Begin Project
-# PROP AllowPerConfigDependencies 0
-# PROP Scc_ProjName ""
-# PROP Scc_LocalPath ""
-CPP=cl.exe
-MTL=midl.exe
-RSC=rc.exe
-
-!IF "$(CFG)" == "NavDisplay_stub DLL - Win32 Release"
-
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "."
-# PROP Intermediate_Dir "Release\NavDisplay_stub"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD CPP /nologo /MD /W3 /GR /GX /Zi /O2 /I "..\..\..\..\..\orbsvcs\orbsvcs" /I "..\..\..\.." /I "..\..\..\..\ciao" /I "..\..\..\..\.." /I "..\..\..\..\..\tao" /I "..\..\..\..\..\.." /D NDEBUG=1 /D WIN32=1 /D _WINDOWS=1 /D NAVDISPLAY_STUB_BUILD_DLL=1 /FD /c
-# SUBTRACT CPP /YX
-# ADD BASE RSC /l 0x409
-# ADD RSC /l 0x409 /i "..\..\..\.." /i "..\..\..\..\ciao" /i "..\..\..\..\.." /i "..\..\..\..\..\tao" /i "..\..\..\..\..\.." /d NDEBUG=1
-BSC32=bscmake.exe
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 /machine:IX86
-# ADD LINK32 HUDisplay_stub.lib TAO.lib TAO_Security.lib TAO_IFR_Client.lib TAO_Valuetype.lib CIAO_Client.lib ACE.lib /nologo /subsystem:windows /dll /pdb:"..\..\..\..\..\..\bin\NavDisplay_stub.pdb" /machine:I386 /out:"..\..\..\..\..\..\bin\NavDisplay_stub.dll" /libpath:".." /libpath:"..\..\..\..\..\orbsvcs\orbsvcs" /libpath:"..\..\..\..\..\tao\IFR_Client" /libpath:"..\..\..\..\..\tao\Valuetype" /libpath:"..\..\..\..\ciao" /libpath:"..\..\..\..\..\tao" /libpath:"..\..\..\..\..\..\ace" /version:1.3.1
-# SUBTRACT LINK32 /pdb:none
-
-!ELSEIF "$(CFG)" == "NavDisplay_stub DLL - Win32 Debug"
-
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "."
-# PROP Intermediate_Dir "Debug\NavDisplay_stub"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD CPP /nologo /MDd /W3 /Gm /GR /GX /Zi /Od /Gy /I "..\..\..\..\..\orbsvcs\orbsvcs" /I "..\..\..\.." /I "..\..\..\..\ciao" /I "..\..\..\..\.." /I "..\..\..\..\..\tao" /I "..\..\..\..\..\.." /D _DEBUG=1 /D WIN32=1 /D _WINDOWS=1 /D NAVDISPLAY_STUB_BUILD_DLL=1 /FD /c
-# SUBTRACT CPP /Fr /YX
-# ADD BASE RSC /l 0x409
-# ADD RSC /l 0x409 /i "..\..\..\.." /i "..\..\..\..\ciao" /i "..\..\..\..\.." /i "..\..\..\..\..\tao" /i "..\..\..\..\..\.." /d _DEBUG=1
-BSC32=bscmake.exe
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 /machine:IX86
-# ADD LINK32 HUDisplay_stubd.lib TAOd.lib TAO_Securityd.lib TAO_IFR_Clientd.lib TAO_Valuetyped.lib CIAO_Clientd.lib ACEd.lib /nologo /subsystem:windows /dll /incremental:no /pdb:"..\..\..\..\..\..\bin\NavDisplay_stubd.pdb" /debug /machine:I386 /out:"..\..\..\..\..\..\bin\NavDisplay_stubd.dll" /libpath:".." /libpath:"..\..\..\..\..\orbsvcs\orbsvcs" /libpath:"..\..\..\..\..\tao\IFR_Client" /libpath:"..\..\..\..\..\tao\Valuetype" /libpath:"..\..\..\..\ciao" /libpath:"..\..\..\..\..\tao" /libpath:"..\..\..\..\..\..\ace" /version:1.3.1
-# SUBTRACT LINK32 /pdb:none
-
-!ENDIF
-
-# Begin Target
-
-# Name "NavDisplay_stub DLL - Win32 Release"
-# Name "NavDisplay_stub DLL - Win32 Debug"
-# Begin Group "Source Files"
-
-# PROP Default_Filter "cpp;cxx;c"
-# Begin Source File
-
-SOURCE=.\NavDisplayC.cpp
-# End Source File
-# End Group
-# Begin Group "Header Files"
-
-# PROP Default_Filter "h;hpp;hxx;hh"
-# Begin Source File
-
-SOURCE=.\NavDisplayC.h
-# End Source File
-# End Group
-# Begin Group "Inline Files"
-
-# PROP Default_Filter "i;inl"
-# Begin Source File
-
-SOURCE=.\NavDisplayC.i
-# End Source File
-# End Group
-# Begin Group "IDL Files"
-
-# PROP Default_Filter "idl"
-# Begin Source File
-
-SOURCE=.\NavDisplay.idl
-
-!IF "$(CFG)" == "NavDisplay_stub DLL - Win32 Release"
-
-# PROP Ignore_Default_Tool 1
-USERDEP__NAVDI="..\..\..\..\..\..\bin\tao_idl.exe"
-# Begin Custom Build - Invoking TAO IDL Compiler on $(InputPath)
-InputPath=.\NavDisplay.idl
-InputName=NavDisplay
-
-BuildCmds= \
- ..\..\..\..\..\..\bin\tao_idl -o . -Wb,stub_export_macro=NAVDISPLAY_STUB_Export -Wb,stub_export_include=NavDisplay_stub_export.h -Wb,skel_export_macro=NAVDISPLAY_SVNT_Export -Wb,skel_export_include=NavDisplay_svnt_export.h -Wb,pre_include="ace\pre.h" -Wb,post_include="ace\post.h" -I ..\..\..\.. -I ..\..\..\..\.. -I ..\..\..\..\ciao -I ..\..\..\..\..\orbsvcs\orbsvcs -Ge 1 -Sc $(InputPath)
-
-"\$(InputName)C.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-
-".\$(InputName)C.i" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-
-".\$(InputName)C.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-
-".\$(InputName)S.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-
-".\$(InputName)S.i" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-
-".\$(InputName)S.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-# End Custom Build
-
-!ELSEIF "$(CFG)" == "NavDisplay_stub DLL - Win32 Debug"
-
-# PROP Ignore_Default_Tool 1
-USERDEP__NAVDI="..\..\..\..\..\..\bin\tao_idl.exe"
-# Begin Custom Build - Invoking TAO IDL Compiler on $(InputPath)
-InputPath=.\NavDisplay.idl
-InputName=NavDisplay
-
-BuildCmds= \
- ..\..\..\..\..\..\bin\tao_idl -o . -Wb,stub_export_macro=NAVDISPLAY_STUB_Export -Wb,stub_export_include=NavDisplay_stub_export.h -Wb,skel_export_macro=NAVDISPLAY_SVNT_Export -Wb,skel_export_include=NavDisplay_svnt_export.h -Wb,pre_include="ace\pre.h" -Wb,post_include="ace\post.h" -I ..\..\..\.. -I ..\..\..\..\.. -I ..\..\..\..\ciao -I ..\..\..\..\..\orbsvcs\orbsvcs -Ge 1 -Sc $(InputPath)
-
-".\$(InputName)C.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-
-".\$(InputName)C.i" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-
-".\$(InputName)C.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-
-".\$(InputName)S.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-
-".\$(InputName)S.i" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-
-".\$(InputName)S.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-# End Custom Build
-
-!ENDIF
-
-# End Source File
-# End Group
-# End Target
-# End Project
diff --git a/TAO/CIAO/examples/OEP/Display/NavDisplay/NavDisplay_stub_export.h b/TAO/CIAO/examples/OEP/Display/NavDisplay/NavDisplay_stub_export.h
deleted file mode 100644
index 27e2ffaa3c3..00000000000
--- a/TAO/CIAO/examples/OEP/Display/NavDisplay/NavDisplay_stub_export.h
+++ /dev/null
@@ -1,50 +0,0 @@
-
-// -*- C++ -*-
-// $Id$
-// Definition for Win32 Export directives.
-// This file is generated automatically by generate_export_file.pl NAVDISPLAY_STUB
-// ------------------------------
-#ifndef NAVDISPLAY_STUB_EXPORT_H
-#define NAVDISPLAY_STUB_EXPORT_H
-
-#include "ace/config-all.h"
-
-#if !defined (NAVDISPLAY_STUB_HAS_DLL)
-# define NAVDISPLAY_STUB_HAS_DLL 1
-#endif /* ! NAVDISPLAY_STUB_HAS_DLL */
-
-#if defined (NAVDISPLAY_STUB_HAS_DLL) && (NAVDISPLAY_STUB_HAS_DLL == 1)
-# if defined (NAVDISPLAY_STUB_BUILD_DLL)
-# define NAVDISPLAY_STUB_Export ACE_Proper_Export_Flag
-# define NAVDISPLAY_STUB_SINGLETON_DECLARATION(T) ACE_EXPORT_SINGLETON_DECLARATION (T)
-# define NAVDISPLAY_STUB_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_EXPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
-# else /* NAVDISPLAY_STUB_BUILD_DLL */
-# define NAVDISPLAY_STUB_Export ACE_Proper_Import_Flag
-# define NAVDISPLAY_STUB_SINGLETON_DECLARATION(T) ACE_IMPORT_SINGLETON_DECLARATION (T)
-# define NAVDISPLAY_STUB_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_IMPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
-# endif /* NAVDISPLAY_STUB_BUILD_DLL */
-#else /* NAVDISPLAY_STUB_HAS_DLL == 1 */
-# define NAVDISPLAY_STUB_Export
-# define NAVDISPLAY_STUB_SINGLETON_DECLARATION(T)
-# define NAVDISPLAY_STUB_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
-#endif /* NAVDISPLAY_STUB_HAS_DLL == 1 */
-
-// Set NAVDISPLAY_STUB_NTRACE = 0 to turn on library specific tracing even if
-// tracing is turned off for ACE.
-#if !defined (NAVDISPLAY_STUB_NTRACE)
-# if (ACE_NTRACE == 1)
-# define NAVDISPLAY_STUB_NTRACE 1
-# else /* (ACE_NTRACE == 1) */
-# define NAVDISPLAY_STUB_NTRACE 0
-# endif /* (ACE_NTRACE == 1) */
-#endif /* !NAVDISPLAY_STUB_NTRACE */
-
-#if (NAVDISPLAY_STUB_NTRACE == 1)
-# define NAVDISPLAY_STUB_TRACE(X)
-#else /* (NAVDISPLAY_STUB_NTRACE == 1) */
-# define NAVDISPLAY_STUB_TRACE(X) ACE_TRACE_IMPL(X)
-#endif /* (NAVDISPLAY_STUB_NTRACE == 1) */
-
-#endif /* NAVDISPLAY_STUB_EXPORT_H */
-
-// End of auto generated file.
diff --git a/TAO/CIAO/examples/OEP/Display/NavDisplay/NavDisplay_svnt.dsp b/TAO/CIAO/examples/OEP/Display/NavDisplay/NavDisplay_svnt.dsp
deleted file mode 100644
index 7059a902d2f..00000000000
--- a/TAO/CIAO/examples/OEP/Display/NavDisplay/NavDisplay_svnt.dsp
+++ /dev/null
@@ -1,239 +0,0 @@
-# Microsoft Developer Studio Project File - Name="NavDisplay_svnt DLL" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 6.00
-# ** DO NOT EDIT **
-
-# TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102
-
-CFG=NavDisplay_svnt DLL - Win32 Debug
-!MESSAGE This is not a valid makefile. To build this project using NMAKE,
-!MESSAGE use the Export Makefile command and run
-!MESSAGE
-!MESSAGE NMAKE /f "NavDisplay_svnt.mak".
-!MESSAGE
-!MESSAGE You can specify a configuration when running NMAKE
-!MESSAGE by defining the macro CFG on the command line. For example:
-!MESSAGE
-!MESSAGE NMAKE /f "NavDisplay_svnt.mak" CFG="NavDisplay_svnt DLL - Win32 Debug"
-!MESSAGE
-!MESSAGE Possible choices for configuration are:
-!MESSAGE
-!MESSAGE "NavDisplay_svnt DLL - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library")
-!MESSAGE "NavDisplay_svnt DLL - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library")
-!MESSAGE
-
-# Begin Project
-# PROP AllowPerConfigDependencies 0
-# PROP Scc_ProjName ""
-# PROP Scc_LocalPath ""
-CPP=cl.exe
-MTL=midl.exe
-RSC=rc.exe
-
-!IF "$(CFG)" == "NavDisplay_svnt DLL - Win32 Release"
-
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "."
-# PROP Intermediate_Dir "Release\NavDisplay_svnt"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD CPP /nologo /MD /W3 /GR /GX /Zi /O2 /I "..\..\..\..\..\orbsvcs\orbsvcs" /I "..\..\..\.." /I "..\..\..\..\ciao" /I "..\..\..\..\.." /I "..\..\..\..\..\tao" /I "..\..\..\..\..\.." /D NDEBUG=1 /D WIN32=1 /D _WINDOWS=1 /D NAVDISPLAY_SVNT_BUILD_DLL=1 /FD /c
-# SUBTRACT CPP /YX
-# ADD BASE RSC /l 0x409
-# ADD RSC /l 0x409 /i "..\..\..\..\..\orbsvcs\orbsvcs" /i "..\..\..\.." /i "..\..\..\..\ciao" /i "..\..\..\..\.." /i "..\..\..\..\..\tao" /i "..\..\..\..\..\.." /d NDEBUG=1
-BSC32=bscmake.exe
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 /machine:IX86
-# ADD LINK32 NavDisplay_stub.lib HUDisplay_stub.lib HUDisplay_svnt.lib CIAO_Server.lib TAO_PortableServer.lib TAO_IORInterceptor.lib TAO_ObjRefTemplate.lib TAO_Security.lib CIAO_Container.lib TAO.lib TAO_IFR_Client.lib TAO_Valuetype.lib CIAO_Client.lib ACE.lib /nologo /subsystem:windows /dll /pdb:"..\..\..\..\..\..\bin\NavDisplay_svnt.pdb" /machine:I386 /out:"..\..\..\..\..\..\bin\NavDisplay_svnt.dll" /libpath:".." /libpath:"..\..\..\..\..\tao\PortableServer" /libpath:"..\..\..\..\..\tao\IORInterceptor" /libpath:"..\..\..\..\..\tao\ObjRefTemplate" /libpath:"..\..\..\..\..\orbsvcs\orbsvcs" /libpath:"..\..\..\..\..\tao\IFR_Client" /libpath:"..\..\..\..\..\tao\Valuetype" /libpath:"..\..\..\..\ciao" /libpath:"..\..\..\..\..\tao" /libpath:"..\..\..\..\..\..\ace" /version:1.3.1
-# SUBTRACT LINK32 /pdb:none
-
-!ELSEIF "$(CFG)" == "NavDisplay_svnt DLL - Win32 Debug"
-
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "."
-# PROP Intermediate_Dir "Debug\NavDisplay_svnt"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD CPP /nologo /MDd /W3 /Gm /GR /GX /Zi /Od /Gy /I "..\..\..\..\..\orbsvcs\orbsvcs" /I "..\..\..\.." /I "..\..\..\..\ciao" /I "..\..\..\..\.." /I "..\..\..\..\..\tao" /I "..\..\..\..\..\.." /D _DEBUG=1 /D WIN32=1 /D _WINDOWS=1 /D NAVDISPLAY_SVNT_BUILD_DLL=1 /FD /c
-# SUBTRACT CPP /Fr /YX
-# ADD BASE RSC /l 0x409
-# ADD RSC /l 0x409 /i "..\..\..\..\..\orbsvcs\orbsvcs" /i "..\..\..\.." /i "..\..\..\..\ciao" /i "..\..\..\..\.." /i "..\..\..\..\..\tao" /i "..\..\..\..\..\.." /d _DEBUG=1
-BSC32=bscmake.exe
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 /machine:IX86
-# ADD LINK32 NavDisplay_stubd.lib HUDisplay_stubd.lib HUDisplay_svntd.lib CIAO_Serverd.lib TAO_PortableServerd.lib TAO_IORInterceptord.lib TAO_ObjRefTemplated.lib TAO_Securityd.lib CIAO_Containerd.lib TAOd.lib TAO_IFR_Clientd.lib TAO_Valuetyped.lib CIAO_Clientd.lib ACEd.lib /nologo /subsystem:windows /dll /incremental:no /pdb:"..\..\..\..\..\..\bin\NavDisplay_svntd.pdb" /debug /machine:I386 /out:"..\..\..\..\..\..\bin\NavDisplay_svntd.dll" /libpath:".." /libpath:"..\..\..\..\..\tao\PortableServer" /libpath:"..\..\..\..\..\tao\IORInterceptor" /libpath:"..\..\..\..\..\tao\ObjRefTemplate" /libpath:"..\..\..\..\..\orbsvcs\orbsvcs" /libpath:"..\..\..\..\..\tao\IFR_Client" /libpath:"..\..\..\..\..\tao\Valuetype" /libpath:"..\..\..\..\ciao" /libpath:"..\..\..\..\..\tao" /libpath:"..\..\..\..\..\..\ace" /version:1.3.1
-# SUBTRACT LINK32 /pdb:none
-
-!ENDIF
-
-# Begin Target
-
-# Name "NavDisplay_svnt DLL - Win32 Release"
-# Name "NavDisplay_svnt DLL - Win32 Debug"
-# Begin Group "Source Files"
-
-# PROP Default_Filter "cpp;cxx;c"
-# Begin Source File
-
-SOURCE=.\NavDisplay_svnt.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\NavDisplayEC.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\NavDisplayS.cpp
-# End Source File
-# End Group
-# Begin Group "Header Files"
-
-# PROP Default_Filter "h;hpp;hxx;hh"
-# Begin Source File
-
-SOURCE=.\NavDisplay_svnt.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\NavDisplayEC.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\NavDisplayS.h
-# End Source File
-# End Group
-# Begin Group "Inline Files"
-
-# PROP Default_Filter "i;inl"
-# Begin Source File
-
-SOURCE=.\NavDisplayEC.i
-# End Source File
-# Begin Source File
-
-SOURCE=.\NavDisplayS.i
-# End Source File
-# End Group
-# Begin Group "IDL Files"
-
-# PROP Default_Filter "idl"
-# Begin Source File
-
-SOURCE=.\NavDisplay.cidl
-
-!IF "$(CFG)" == "NavDisplay_svnt DLL - Win32 Release"
-
-USERDEP__NAVDI="..\..\..\..\..\..\bin\cidlc.exe"
-# Begin Custom Build - Invoking CIAO CIDL Compiler on $(InputPath)
-InputPath=.\NavDisplay.cidl
-InputName=NavDisplay
-
-BuildCmds= \
- ..\..\..\..\bin\cidlc --lem-file-suffix "E.idl" -- $(InputName).cidl
-
-"$(InputName)E.idl" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-
-"$(InputName)_svnt.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-
-"$(InputName)_svnt.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-# End Custom Build
-
-!ELSEIF "$(CFG)" == "NavDisplay_svnt DLL - Win32 Debug"
-
-USERDEP__NAVDI="..\..\..\..\..\..\bin\cidlc.exe"
-# Begin Custom Build - Invoking CIAO CIDL Compiler on $(InputPath)
-InputPath=.\NavDisplay.cidl
-InputName=NavDisplay
-
-BuildCmds= \
- ..\..\..\..\bin\cidlc --lem-file-suffix "E.idl" -- $(InputName).cidl
-
-"$(InputName)E.idl" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-
-"$(InputName)_svnt.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-
-"$(InputName)_svnt.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-# End Custom Build
-
-!ENDIF
-
-# End Source File
-# Begin Source File
-
-SOURCE=.\NavDisplayE.idl
-
-!IF "$(CFG)" == "NavDisplay_svnt DLL - Win32 Release"
-
-# PROP Ignore_Default_Tool 1
-USERDEP__NAVDIS="..\..\..\..\..\..\bin\tao_idl.exe"
-# Begin Custom Build - Invoking TAO IDL Compiler on $(InputPath)
-InputPath=.\NavDisplayE.idl
-InputName=NavDisplayE
-
-BuildCmds= \
- ..\..\..\..\..\..\bin\tao_idl -o . -Wb,export_macro=NAVDISPLAY_SVNT_Export -Wb,export_include=NavDisplay_svnt_export.h -I..\..\..\..\.. -I..\..\..\..\..\CIAO\ciao -Wb,pre_include="ace\pre.h" -Wb,post_include="ace\post.h" -I ..\..\..\.. -I ..\..\..\..\.. -I ..\..\..\..\..\orbsvcs\orbsvcs -Ge 1 -Sc $(InputPath)
-
-"\$(InputName)C.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-
-".\$(InputName)C.i" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-
-".\$(InputName)C.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-
-".\$(InputName)S.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-
-".\$(InputName)S.i" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-
-".\$(InputName)S.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-# End Custom Build
-
-!ELSEIF "$(CFG)" == "NavDisplay_svnt DLL - Win32 Debug"
-
-# PROP Ignore_Default_Tool 1
-USERDEP__NAVDIS="..\..\..\..\..\..\bin\tao_idl.exe"
-# Begin Custom Build - Invoking TAO IDL Compiler on $(InputPath)
-InputPath=.\NavDisplayE.idl
-InputName=NavDisplayE
-
-BuildCmds= \
- ..\..\..\..\..\..\bin\tao_idl -o . -Wb,export_macro=NAVDISPLAY_SVNT_Export -Wb,export_include=NavDisplay_svnt_export.h -I..\..\..\..\.. -I..\..\..\..\..\CIAO\ciao -Wb,pre_include="ace\pre.h" -Wb,post_include="ace\post.h" -I ..\..\..\.. -I ..\..\..\..\.. -I ..\..\..\..\..\orbsvcs\orbsvcs -Ge 1 -Sc $(InputPath)
-
-".\$(InputName)C.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-
-".\$(InputName)C.i" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-
-".\$(InputName)C.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-
-".\$(InputName)S.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-
-".\$(InputName)S.i" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-
-".\$(InputName)S.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-# End Custom Build
-
-!ENDIF
-
-# End Source File
-# End Group
-# End Target
-# End Project
diff --git a/TAO/CIAO/examples/OEP/Display/NavDisplay/NavDisplay_svnt_export.h b/TAO/CIAO/examples/OEP/Display/NavDisplay/NavDisplay_svnt_export.h
deleted file mode 100644
index 6fdaae1163f..00000000000
--- a/TAO/CIAO/examples/OEP/Display/NavDisplay/NavDisplay_svnt_export.h
+++ /dev/null
@@ -1,50 +0,0 @@
-
-// -*- C++ -*-
-// $Id$
-// Definition for Win32 Export directives.
-// This file is generated automatically by generate_export_file.pl NAVDISPLAY_SVNT
-// ------------------------------
-#ifndef NAVDISPLAY_SVNT_EXPORT_H
-#define NAVDISPLAY_SVNT_EXPORT_H
-
-#include "ace/config-all.h"
-
-#if !defined (NAVDISPLAY_SVNT_HAS_DLL)
-# define NAVDISPLAY_SVNT_HAS_DLL 1
-#endif /* ! NAVDISPLAY_SVNT_HAS_DLL */
-
-#if defined (NAVDISPLAY_SVNT_HAS_DLL) && (NAVDISPLAY_SVNT_HAS_DLL == 1)
-# if defined (NAVDISPLAY_SVNT_BUILD_DLL)
-# define NAVDISPLAY_SVNT_Export ACE_Proper_Export_Flag
-# define NAVDISPLAY_SVNT_SINGLETON_DECLARATION(T) ACE_EXPORT_SINGLETON_DECLARATION (T)
-# define NAVDISPLAY_SVNT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_EXPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
-# else /* NAVDISPLAY_SVNT_BUILD_DLL */
-# define NAVDISPLAY_SVNT_Export ACE_Proper_Import_Flag
-# define NAVDISPLAY_SVNT_SINGLETON_DECLARATION(T) ACE_IMPORT_SINGLETON_DECLARATION (T)
-# define NAVDISPLAY_SVNT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_IMPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
-# endif /* NAVDISPLAY_SVNT_BUILD_DLL */
-#else /* NAVDISPLAY_SVNT_HAS_DLL == 1 */
-# define NAVDISPLAY_SVNT_Export
-# define NAVDISPLAY_SVNT_SINGLETON_DECLARATION(T)
-# define NAVDISPLAY_SVNT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
-#endif /* NAVDISPLAY_SVNT_HAS_DLL == 1 */
-
-// Set NAVDISPLAY_SVNT_NTRACE = 0 to turn on library specific tracing even if
-// tracing is turned off for ACE.
-#if !defined (NAVDISPLAY_SVNT_NTRACE)
-# if (ACE_NTRACE == 1)
-# define NAVDISPLAY_SVNT_NTRACE 1
-# else /* (ACE_NTRACE == 1) */
-# define NAVDISPLAY_SVNT_NTRACE 0
-# endif /* (ACE_NTRACE == 1) */
-#endif /* !NAVDISPLAY_SVNT_NTRACE */
-
-#if (NAVDISPLAY_SVNT_NTRACE == 1)
-# define NAVDISPLAY_SVNT_TRACE(X)
-#else /* (NAVDISPLAY_SVNT_NTRACE == 1) */
-# define NAVDISPLAY_SVNT_TRACE(X) ACE_TRACE_IMPL(X)
-#endif /* (NAVDISPLAY_SVNT_NTRACE == 1) */
-
-#endif /* NAVDISPLAY_SVNT_EXPORT_H */
-
-// End of auto generated file.
diff --git a/TAO/CIAO/examples/OEP/Display/NavDisplay/config b/TAO/CIAO/examples/OEP/Display/NavDisplay/config
deleted file mode 100644
index 0dbc5c38a0e..00000000000
--- a/TAO/CIAO/examples/OEP/Display/NavDisplay/config
+++ /dev/null
@@ -1 +0,0 @@
-NavDisplay_exec|createNavDisplayHome_Impl|NavDisplay_svnt|createNavDisplayHome_Servant
diff --git a/TAO/CIAO/examples/OEP/Display/NavDisplay/run_test.pl b/TAO/CIAO/examples/OEP/Display/NavDisplay/run_test.pl
deleted file mode 100755
index 78bf1f98e49..00000000000
--- a/TAO/CIAO/examples/OEP/Display/NavDisplay/run_test.pl
+++ /dev/null
@@ -1,108 +0,0 @@
-eval '(exit $?0)' && eval 'exec perl -S $0 ${1+"$@"}'
- & eval 'exec perl -S $0 $argv:q'
- if 0;
-
-# $Id$
-# -*- perl -*-
-
-use lib "../../../../../../bin";
-use PerlACE::Run_Test;
-
-$status = 0;
-$daemon_ior = PerlACE::LocalFile ("daemon.ior");
-$svr_ior = PerlACE::LocalFile ("server.ior");
-$home_ior = PerlACE::LocalFile ("NavDisplayHome.ior");
-
-unlink $daemon_ior;
-unlink $svr_ior;
-unlink $home_ior;
-
-# CIAO Daemon command line arguments
-$daemon_args = "-o $daemon_ior -i ../CIAO_Installation_Data.ini -n ../../../../tools/ComponentServer/ComponentServer";
-
-# CIAO Daemon Controller location:
-$controller = "../../../../tools/Daemon/DaemonController";
-
-# Daemon controller common command line arguments
-$common_args = "-ORBInitRef CIAODaemon=file://$daemon_ior";
-
-# Daemon controller start_home command
-$start_args = "start_home -s NavDisplay.csd -m $home_ior -c $svr_ior";
-
-# Daemon controller end_home command
-$end_args = "end_home -c file://$svr_ior";
-
-# Daemon controller shutdown command
-$shutdown_args = "shutdown";
-
-# Client program command line arguments
-$cl_args = "";
-
-# Naming_Service process definition
-$DS = new PerlACE::Process ("../../../../tools/Daemon/CIAO_Daemon",
- "$daemon_args");
-
-# Client process definition
-$CL = new PerlACE::Process ("client",
- "$cl_args");
-
-## Starting up the CIAO daemon
-$DS->Spawn ();
-if (PerlACE::waitforfile_timed ($daemon_ior, 15) == -1) {
- print STDERR "ERROR: Could not find daemon ior file <$daemon_ior>\n";
- $DS->Kill ();
- exit 1;
-}
-
-## Starting up a ComponentServer running the RateGen home.
-$DC = new PerlACE::Process ("$controller",
- "$common_args $start_args");
-
-$DC->SpawnWaitKill (60);
-if (PerlACE::waitforfile_timed ($home_ior, 15) == -1) {
- print STDERR "ERROR: Could not find home ior file <$home_ior>\n";
- $DS->Kill ();
- exit 1;
-}
-
-$client = $CL->SpawnWaitKill (60);
-
-if ($client != 0) {
- print STDERR "ERROR: client returned $client\n";
- $status = 1;
-}
-
-## Terminating the ComponentServer running the RateGen home.
-$DC = new PerlACE::Process ("$controller",
- "$common_args $end_args");
-
-$ctrl = $DC->SpawnWaitKill (60);
-if ($ctrl != 0) {
- print STDERR "ERROR: Fail to end component server\n";
- $DS->Kill ();
- exit 1;
-}
-
-## Terminating the ComponentServer running the RateGen home.
-$DC = new PerlACE::Process ("$controller",
- "$common_args $shutdown_args");
-
-$ctrl = $DC->SpawnWaitKill (60);
-if ($ctrl != 0) {
- print STDERR "ERROR: Fail to shutdown CIAODaemon\n";
- $DS->Kill ();
- exit 1;
-}
-
-$ctrl = $DS->WaitKill (60);
-if ($ctrl != 0) {
- print STDERR "ERROR: CIAODaemon didn't shutdown gracefully $ctrl\n";
- $DS->Kill ();
- exit 1;
-}
-
-unlink $daemon_ior;
-unlink $svr_ior;
-unlink $home_ior;
-
-exit $status;
diff --git a/TAO/CIAO/examples/OEP/Display/NavDisplayGUI_exec/AddNavUnitCmd.cpp b/TAO/CIAO/examples/OEP/Display/NavDisplayGUI_exec/AddNavUnitCmd.cpp
deleted file mode 100644
index 32572eaf742..00000000000
--- a/TAO/CIAO/examples/OEP/Display/NavDisplayGUI_exec/AddNavUnitCmd.cpp
+++ /dev/null
@@ -1,28 +0,0 @@
-// $Id$
-
-#include "AddNavUnitCmd.h"
-#include "RootPanel.h"
-#include "NavUnit.h"
-
-
-AddNavUnitCmd::AddNavUnitCmd()
-{
-}
-
-
-AddNavUnitCmd *
-AddNavUnitCmd::create(RootPanel *form, NavUnit *unit)
-{
- AddNavUnitCmd *cmd = new AddNavUnitCmd();
- cmd->form_ = form;
- cmd->unit_ = unit;
- return cmd;
-}
-
-
-int
-AddNavUnitCmd::execute(void *context)
-{
- this->form_->addUnit(this->unit_);
- return 0;
-}
diff --git a/TAO/CIAO/examples/OEP/Display/NavDisplayGUI_exec/AddNavUnitCmd.h b/TAO/CIAO/examples/OEP/Display/NavDisplayGUI_exec/AddNavUnitCmd.h
deleted file mode 100644
index d156a8008ed..00000000000
--- a/TAO/CIAO/examples/OEP/Display/NavDisplayGUI_exec/AddNavUnitCmd.h
+++ /dev/null
@@ -1,27 +0,0 @@
-// $Id$
-
-#ifndef __ADDNAVUNITCMD_H
-#define __ADDNAVUNITCMD_H
-
-#include "Command.h"
-
-class RootPanel;
-class NavUnit;
-
-class AddNavUnitCmd : public CommandBase
-{
-public:
- static AddNavUnitCmd *create(RootPanel *form, NavUnit *unit);
-
-public:
- virtual int execute(void *context = NULL);
-
-protected:
- AddNavUnitCmd();
-
- RootPanel *form_;
- NavUnit *unit_;
-};
-
-
-#endif // __ADDNAVUNITCMD_H
diff --git a/TAO/CIAO/examples/OEP/Display/NavDisplayGUI_exec/Command.h b/TAO/CIAO/examples/OEP/Display/NavDisplayGUI_exec/Command.h
deleted file mode 100644
index 3c1e9ef6cdd..00000000000
--- a/TAO/CIAO/examples/OEP/Display/NavDisplayGUI_exec/Command.h
+++ /dev/null
@@ -1,20 +0,0 @@
-// $Id$
-
-#ifndef __COMMAND_H
-#define __COMMAND_H
-
-#include <qdatetime.h>
-
-class CommandBase
-{
-public:
- CommandBase() {timestamp_ = QTime::currentTime();}
- virtual ~CommandBase() {}
-
-public:
- virtual int execute(void *context = NULL) = 0;
- QTime timestamp_;
-};
-
-
-#endif // __COMMAND_H
diff --git a/TAO/CIAO/examples/OEP/Display/NavDisplayGUI_exec/DetailView.cpp b/TAO/CIAO/examples/OEP/Display/NavDisplayGUI_exec/DetailView.cpp
deleted file mode 100644
index 8a5c61d3c2f..00000000000
--- a/TAO/CIAO/examples/OEP/Display/NavDisplayGUI_exec/DetailView.cpp
+++ /dev/null
@@ -1,165 +0,0 @@
-// $Id$
-
-#include "DetailView.h"
-#include <qlayout.h>
-#include <qpushbutton.h>
-#include <qtabwidget.h>
-#include <qtable.h>
-#include <qlabel.h>
-#include <qlineedit.h>
-#include <qspinbox.h>
-
-
-DetailView::DetailView(QWidget *parent, const char *name)
-: QWidget(parent, name), current_unit(NULL)
-{
- QGridLayout *grid = new QGridLayout(this, 8, 10);
-
- // Create a label containing a QMovie
- separatorlabel = new QLabel(this, "label0" );
-
- grid->addMultiCellWidget(separatorlabel, 0, 0, 0, 9);
-
- QLabel *sem_id_label = new QLabel("FDN:", this);
- grid->addWidget(sem_id_label, 1, 0);
- sem_id_val = new QLineEdit(this);
- sem_id_val->setReadOnly(1);
- grid->addMultiCellWidget(sem_id_val, 1, 1, 1, 7);
-
- QLabel *descr_label = new QLabel("Description:", this);
- grid->addWidget(descr_label, 2, 0);
- descr_edit = new QLineEdit(this);
- grid->addMultiCellWidget(descr_edit, 2, 2, 1, 7);
-
- QLabel *x_label = new QLabel("X coordinate:", this);
- grid->addWidget(x_label, 3, 0);
- x_edit = new QSpinBox(this);
- x_edit->setMinValue(0);
- x_edit->setMaxValue(65535);
- grid->addWidget(x_edit, 3, 1);
-
- QLabel *y_label = new QLabel("Y coordinate:", this);
- grid->addWidget(y_label, 3, 3);
- y_edit = new QSpinBox(this);
- y_edit->setMinValue(0);
- y_edit->setMaxValue(65535);
- grid->addWidget(y_edit, 3, 4);
-
- QLabel *z_label = new QLabel("Z coordinate:", this);
- grid->addWidget(z_label, 3, 6);
- z_edit = new QSpinBox(this);
- z_edit->setMinValue(0);
- z_edit->setMaxValue(65535);
- grid->addWidget(z_edit, 3, 7);
-
- // Create a label containing a QMovie
- QString path_to_movie;
- char *ace_root = getenv("ACE_ROOT");
- if(ace_root)
- {
- path_to_movie += ace_root;
- path_to_movie += "/TAO/CIAO/examples/handcrafted/Display/NavDisplayGUI_exec/trolltech.gif";
- }
- else
- {
- path_to_movie = "../NavDisplayGUI_exec/trolltech.gif";
- }
- movie = QMovie(path_to_movie);
- movielabel = new QLabel(this, "label1" );
- movie.connectStatus(this, SLOT(movieStatus(int)));
- movie.connectUpdate(this, SLOT(movieUpdate(const QRect&)));
- movielabel->setFrameStyle( QFrame::Box | QFrame::Plain );
- movielabel->setMovie(movie);
- movielabel->setFixedSize( 128+movielabel->frameWidth()*2,
- 64+movielabel->frameWidth()*2 );
- grid->addMultiCellWidget(new QLabel("", this), 1, 4, 8, 8);
- grid->addMultiCellWidget(movielabel, 1, 4, 9, 9);
-
-
- QPushButton *apply = new QPushButton("Apply", this);
- apply->setDefault(1);
- grid->addWidget(apply, 7, 9);
-
- connect(apply, SIGNAL(clicked()), this, SLOT(apply()));
-
- QTabWidget *tabs = new QTabWidget(this);
-
-
- child_list = new QTable(0, 6, tabs);
- child_list->setSelectionMode(QTable::Single);
- child_list->horizontalHeader()->setLabel(0, "FDN");
- child_list->horizontalHeader()->setLabel(1, "Description");
- child_list->horizontalHeader()->setLabel(2, "X Coordinate");
- child_list->horizontalHeader()->setLabel(3, "Y Coordinate");
- child_list->horizontalHeader()->setLabel(4, "Z Coordinate");
- child_list->horizontalHeader()->setLabel(5, "Color");
-
- parent_list = new QTable(0, 6, tabs);
- parent_list->setSelectionMode(QTable::Single);
- parent_list->horizontalHeader()->setLabel(0, "FDN");
- parent_list->horizontalHeader()->setLabel(1, "Description");
- parent_list->horizontalHeader()->setLabel(2, "X Coordinate");
- parent_list->horizontalHeader()->setLabel(3, "Y Coordinate");
- parent_list->horizontalHeader()->setLabel(4, "Z Coordinate");
- parent_list->horizontalHeader()->setLabel(5, "Color");
-
- tabs->addTab(child_list, "Property set &1");
- tabs->addTab(parent_list, "Property set &2");
-
- grid->addMultiCellWidget(new QLabel(this), 4, 4, 0, 9);
- grid->addMultiCellWidget(tabs, 5, 5, 0, 9);
-}
-
-
-DetailView::~DetailView()
-{
-}
-
-
-void
-DetailView::currentNode(NavUnit *unit)
-{
- UnitLocation loc = unit->getLocation();
- descr_edit->setText(unit->getShortDescr());
- this->updateLocation(loc);
-}
-
-void
-DetailView::updateLocation(const UnitLocation &loc)
-{
- x_edit->setValue(loc.x_);
- y_edit->setValue(loc.y_);
- z_edit->setValue(loc.z_);
-}
-
-void
-DetailView::apply()
-{
-}
-
-
-void
-DetailView::movieUpdate( const QRect& )
-{
- // Uncomment this to test animated icons on your window manager
- //setIcon( movie.framePixmap() );
-}
-
-
-void
-DetailView::movieStatus( int s )
-{
- switch ( s ) {
- case QMovie::SourceEmpty:
- case QMovie::UnrecognizedFormat:
- {
- QPixmap pm("tt-logo.png");
- movielabel->setPixmap(pm);
- movielabel->setFixedSize(pm.size());
- }
- break;
- default:
- if ( movielabel->movie() ) // for flicker-free animation:
- movielabel->setBackgroundMode( NoBackground );
- }
-}
diff --git a/TAO/CIAO/examples/OEP/Display/NavDisplayGUI_exec/DetailView.h b/TAO/CIAO/examples/OEP/Display/NavDisplayGUI_exec/DetailView.h
deleted file mode 100644
index ef9e0070884..00000000000
--- a/TAO/CIAO/examples/OEP/Display/NavDisplayGUI_exec/DetailView.h
+++ /dev/null
@@ -1,51 +0,0 @@
-// $Id$
-
-#ifndef __DETAILVIEW_H
-#define __DETAILVIEW_H
-
-
-#include "NavUnit.h"
-#include <qwidget.h>
-#include <qmovie.h>
-
-
-class QLabel;
-class QLineEdit;
-class QSpinBox;
-class QTable;
-
-
-class DetailView : public QWidget
-{
- Q_OBJECT
-
-public:
- DetailView(QWidget *parent, const char *name = 0);
- virtual ~DetailView();
-
-public slots:
- void movieStatus(int);
- void movieUpdate(const QRect&);
- void currentNode(NavUnit *unit);
- void updateLocation(const UnitLocation &loc);
- void apply();
-
-private:
- QLineEdit *sem_id_val;
- QLineEdit *descr_edit;
- QSpinBox *x_edit;
- QSpinBox *y_edit;
- QSpinBox *z_edit;
- QTable *child_list;
- QTable *parent_list;
- QLabel *movielabel;
- QMovie movie;
- QLabel *separatorlabel;
- QMovie separator;
-
-
- NavUnit *current_unit;
-};
-
-
-#endif // __DETAILVIEW_H
diff --git a/TAO/CIAO/examples/OEP/Display/NavDisplayGUI_exec/MapView.cpp b/TAO/CIAO/examples/OEP/Display/NavDisplayGUI_exec/MapView.cpp
deleted file mode 100644
index 8f8f7ecd69b..00000000000
--- a/TAO/CIAO/examples/OEP/Display/NavDisplayGUI_exec/MapView.cpp
+++ /dev/null
@@ -1,38 +0,0 @@
-// $Id$
-
-#include "MapView.h"
-#include <stdlib.h>
-
-#include "worldmap1.xpm"
-
-MapView::MapView(
- QCanvas& c,
- QWidget* parent,
- const char* name,
- WFlags f)
- :
- QCanvasView(&c, parent, name, f),
- bg_pixmap_(worldmap1)
-{
- viewport()->setBackgroundMode(NoBackground);
- enableClipper(TRUE);
- if(!bg_pixmap_.isNull())
- {
- resizeContents(bg_pixmap_.width(), bg_pixmap_.height());
- }
- else
- resizeContents(100, 100);
-
- canvas()->setBackgroundPixmap(bg_pixmap_);
-}
-
-void
-MapView::clear()
-{
- /*QCanvasItemList list = canvas()->allItems();
- for(QCanvasItemList::Iterator it = list.begin(); it != list.end(); ++it)
- {
- if(*it)
- delete *it;
- }*/
-}
diff --git a/TAO/CIAO/examples/OEP/Display/NavDisplayGUI_exec/MapView.h b/TAO/CIAO/examples/OEP/Display/NavDisplayGUI_exec/MapView.h
deleted file mode 100644
index e640a63c985..00000000000
--- a/TAO/CIAO/examples/OEP/Display/NavDisplayGUI_exec/MapView.h
+++ /dev/null
@@ -1,23 +0,0 @@
-// $Id$
-
-#ifndef __MAPVIEW_H
-#define __MAPVIEW_H
-
-#include <qcanvas.h>
-#include <qpixmap.h>
-
-class MapView : public QCanvasView
-{
- Q_OBJECT
-
-public:
- MapView(QCanvas&, QWidget* parent=0, const char* name=0, WFlags f=0);
- void clear();
-
-protected:
- QPixmap bg_pixmap_;
-};
-
-
-
-#endif // __MAPVIEW_H
diff --git a/TAO/CIAO/examples/OEP/Display/NavDisplayGUI_exec/NavDisplayGUI_exec.cpp b/TAO/CIAO/examples/OEP/Display/NavDisplayGUI_exec/NavDisplayGUI_exec.cpp
deleted file mode 100644
index b422260940a..00000000000
--- a/TAO/CIAO/examples/OEP/Display/NavDisplayGUI_exec/NavDisplayGUI_exec.cpp
+++ /dev/null
@@ -1,184 +0,0 @@
-// $Id$
-
-#include "NavDisplayGUI_exec.h"
-#include "ciao/CIAO_common.h"
-#include <qapplication.h>
-#include <qevent.h>
-
-#include "UpdatePositionCmd.h"
-#include "QuitCmd.h"
-#include "AddNavUnitCmd.h"
-#include "Worker.h"
-
-static char *argv[] =
-{
- "NavDisplayGUI"
-};
-
-/// Default constructor.
-MyImpl::NavDisplayGUI_exec_impl::NavDisplayGUI_exec_impl ()
-: unit_(1, "Model T3+"), loc_(50, 20, 0)
-{
- ACE_DEBUG ((LM_DEBUG, "MyImpl::NavDisplayGUI_exec_impl::NavDisplayGUI_exec_impl ()\n"));
-}
-
-/// Default destructor.
-MyImpl::NavDisplayGUI_exec_impl::~NavDisplayGUI_exec_impl ()
-{
- ACE_DEBUG ((LM_DEBUG, "MyImpl::NavDisplayGUI_exec_impl::~NavDisplayGUI_exec_impl ()\n"));
-}
-
-// Operations from HUDisplay::NavDisplay
-
-void
-MyImpl::NavDisplayGUI_exec_impl::push_Refresh (HUDisplay::tick *ev
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- //ACE_DEBUG ((LM_DEBUG, "ENTER: MyImpl::NavDisplayGUI_exec_impl::push_Refresh()\n"));
-
- // Refresh position
- HUDisplay::position_var loc
- = this->context_->get_connection_GPSLocation (ACE_ENV_ARG_PARAMETER);
- ACE_CHECK;
-
- CORBA::Long lx = loc->posx (ACE_ENV_ARG_PARAMETER);
- ACE_CHECK;
-
- CORBA::Long ly = loc->posy (ACE_ENV_ARG_PARAMETER);
- ACE_CHECK;
-
- mutex_.acquire();
-
- loc_.x_ = lx % 500;
- loc_.y_ = ly % 300;
-
- this->unit_.setLocation(loc_);
-
- mutex_.release();
-
- //ACE_DEBUG ((LM_DEBUG, "DISPLAY: Current Location is: %d %d\n", int(attrs.x_), int(attrs.y_)));
-
- RootPanel *root_pane = worker_->getMainWindow();
- if(root_pane)
- {
- UpdatePositionCmd *cmd = UpdatePositionCmd::create(
- root_pane, &(this->unit_));
- QCustomEvent *evt = new QCustomEvent(QEvent::User, cmd);
- QApplication::postEvent(root_pane, evt);
- }
-
- //ACE_DEBUG ((LM_DEBUG, "LEAVE: MyImpl::NavDisplayGUI_exec_impl::push_Refresh()\n"));
-}
-
-// Operations from Components::SessionComponent
-void
-MyImpl::NavDisplayGUI_exec_impl::set_session_context (Components::SessionContext_ptr ctx
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::CCMException))
-{
- ACE_DEBUG ((LM_DEBUG, "MyImpl::NavDisplayGUI_exec_impl::set_session_context\n"));
-
- this->context_ =
- HUDisplay::CCM_NavDisplay_Context::_narrow (ctx
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK;
-
- if (CORBA::is_nil (this->context_.in ()))
- ACE_THROW (CORBA::INTERNAL ());
- // Urm, we actually discard exceptions thown from this operation.
-}
-
-void
-MyImpl::NavDisplayGUI_exec_impl::ccm_activate (ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::CCMException))
-{
- ACE_DEBUG ((LM_DEBUG, "ENTER: MyImpl::NavDisplayGUI_exec_impl::ccm_activate\n"));
-
- int argc = sizeof(argv)/sizeof(argv[0]);
- CORBA::ORB_var orb = CORBA::ORB_init(argc, argv ACE_ENV_ARG_PARAMETER);
-
- CIAO_REGISTER_VALUE_FACTORY (orb.in(), HUDisplay::tick_init,
- HUDisplay::tick);
-
- worker_ = new Worker(sizeof(argv)/sizeof(argv[0]), argv);
-
- if (worker_->activate(THR_NEW_LWP | THR_JOINABLE, 1) != 0)
- {
- ACE_DEBUG((LM_ERROR,
- "Cannot activate client threads\n"));
- ACE_THROW(Components::CCMException());
- }
-
- worker_->waitUntillInitialized();
-
- AddNavUnitCmd *cmd = AddNavUnitCmd::create(
- worker_->getMainWindow(), &(this->unit_));
- QCustomEvent *evt = new QCustomEvent(QEvent::User, cmd);
- QApplication::postEvent(worker_->getMainWindow(), evt);
-
-
- ACE_DEBUG ((LM_DEBUG, "LEAVE: MyImpl::NavDisplayGUI_exec_impl::ccm_activate\n"));
-}
-
-void
-MyImpl::NavDisplayGUI_exec_impl::ccm_passivate (ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::CCMException))
-{
- ACE_DEBUG ((LM_DEBUG, "MyImpl::NavDisplayGUI_exec_impl::ccm_passivate\n"));
-
- RootPanel *target = worker_->getMainWindow();
- if(target)
- {
- QuitCmd *cmd = QuitCmd::create(target);
- QCustomEvent *evt = new QCustomEvent(QEvent::User, cmd);
- QApplication::postEvent(target, evt);
- worker_->thr_mgr()->wait();
- }
-
- delete worker_;
-}
-
-void
-MyImpl::NavDisplayGUI_exec_impl::ccm_remove (ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::CCMException))
-{
- ACE_DEBUG ((LM_DEBUG, "MyImpl::NavDisplayGUI_exec_impl::ccm_remove\n"));
-}
-
-/// Default ctor.
-MyImpl::NavDisplayGUIHome_exec_impl::NavDisplayGUIHome_exec_impl ()
-{
- ACE_DEBUG ((LM_DEBUG, "MyImpl::NavDisplayGUI_exec_impl::NavDisplayGUIHome_exec_impl ()\n"));
-}
-
-/// Default dtor.
-MyImpl::NavDisplayGUIHome_exec_impl::~NavDisplayGUIHome_exec_impl ()
-{
- ACE_DEBUG ((LM_DEBUG, "MyImpl::NavDisplayGUI_exec_impl::~NavDisplayGUIHome_exec_impl ()\n"));
-}
-
-// Explicit home operations.
-
-// Implicit home operations.
-
-::Components::EnterpriseComponent_ptr
-MyImpl::NavDisplayGUIHome_exec_impl::create (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::CCMException))
-{
- ACE_DEBUG ((LM_DEBUG, "MyImpl::NavDisplayGUIHome_exec_impl::create()\n"));
- return new MyImpl::NavDisplayGUI_exec_impl;
-}
-
-
-extern "C" NAVDISPLAY_EXEC_Export ::Components::HomeExecutorBase_ptr
-createNavDisplayHome_Impl (void)
-{
- ACE_DEBUG ((LM_DEBUG, "createNavDisplayHome_Impl()\n"));
- return new MyImpl::NavDisplayGUIHome_exec_impl;
-}
diff --git a/TAO/CIAO/examples/OEP/Display/NavDisplayGUI_exec/NavDisplayGUI_exec.dsp b/TAO/CIAO/examples/OEP/Display/NavDisplayGUI_exec/NavDisplayGUI_exec.dsp
deleted file mode 100644
index 134d9025ce8..00000000000
--- a/TAO/CIAO/examples/OEP/Display/NavDisplayGUI_exec/NavDisplayGUI_exec.dsp
+++ /dev/null
@@ -1,408 +0,0 @@
-# Microsoft Developer Studio Project File - Name="NavDisplayGUI_exec DLL" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 6.00
-# ** DO NOT EDIT **
-
-# TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102
-
-CFG=NavDisplayGUI_exec DLL - Win32 Debug
-!MESSAGE This is not a valid makefile. To build this project using NMAKE,
-!MESSAGE run the tool that generated this project file and specify the
-!MESSAGE nmake output type. You can then use the following command:
-!MESSAGE
-!MESSAGE NMAKE /f "NavDisplayGUI_exec.mak".
-!MESSAGE
-!MESSAGE You can specify a configuration when running NMAKE
-!MESSAGE by defining the macro CFG on the command line. For example:
-!MESSAGE
-!MESSAGE NMAKE /f "NavDisplayGUI_exec.mak" CFG="NavDisplayGUI_exec DLL - Win32 Debug"
-!MESSAGE
-!MESSAGE Possible choices for configuration are:
-!MESSAGE
-!MESSAGE "NavDisplayGUI_exec DLL - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library")
-!MESSAGE "NavDisplayGUI_exec DLL - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library")
-!MESSAGE
-
-# Begin Project
-# PROP AllowPerConfigDependencies 0
-# PROP Scc_ProjName ""
-# PROP Scc_LocalPath ""
-CPP=cl.exe
-RSC=rc.exe
-
-!IF "$(CFG)" == "NavDisplayGUI_exec DLL - Win32 Release"
-
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "."
-# PROP Intermediate_Dir "Release\NavDisplayGUI_exec"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD CPP /nologo /W3 /GX /O2 /MD /Zi /GR /I "..\NavDisplay" /I "$(QTDIR)\include" /I "..\..\..\..\..\orbsvcs\orbsvcs" /I "..\..\..\.." /I "..\..\..\..\ciao" /I "..\..\..\..\.." /I "..\..\..\..\..\tao" /I "..\..\..\..\..\.." /D NDEBUG=1 /D WIN32=1 /D _WINDOWS=1 /D NAVDISPLAY_EXEC_BUILD_DLL=1 /D QT_DLL=1 /D QT_THREAD_SUPPORT=1 /FD /c
-# SUBTRACT CPP /YX
-# ADD RSC /l 0x409 /d NDEBUG=1 /i "..\NavDisplay" /i "$(QTDIR)\include" /i "..\..\..\..\..\orbsvcs\orbsvcs" /i "..\..\..\.." /i "..\..\..\..\ciao" /i "..\..\..\..\.." /i "..\..\..\..\..\tao" /i "..\..\..\..\..\.."
-BSC32=bscmake.exe
-# ADD BSC32 /nologo /o".\NavDisplayGUI_exec.bsc"
-LINK32=link.exe
-# ADD LINK32 advapi32.lib user32.lib /INCREMENTAL:NO qt-mt.lib NavDisplay_stub.lib NavDisplay_svnt.lib HUDisplay_stub.lib HUDisplay_svnt.lib CIAO_Server.lib TAO_PortableServer.lib TAO_IORInterceptor.lib TAO_ObjRefTemplate.lib TAO_Security.lib CIAO_Container.lib TAO.lib TAO_IFR_Client.lib TAO_Valuetype.lib CIAO_Client.lib ACE.lib /libpath:".." /libpath:"..\NavDisplay" /libpath:"$(QTDIR)\lib" /libpath:"..\..\..\..\..\tao\PortableServer" /libpath:"..\..\..\..\..\tao\IORInterceptor" /libpath:"..\..\..\..\..\tao\ObjRefTemplate" /libpath:"..\..\..\..\..\orbsvcs\orbsvcs" /libpath:"..\..\..\..\..\tao\IFR_Client" /libpath:"..\..\..\..\..\tao\Valuetype" /libpath:"..\..\..\..\ciao" /libpath:"..\..\..\..\..\tao" /libpath:"..\..\..\..\..\..\ace" /nologo /version:1.3.1 /subsystem:windows /pdb:"..\..\..\..\..\..\bin\NavDisplayGUI_exec.pdb" /dll /machine:I386 /out:"..\..\..\..\..\..\bin\NavDisplayGUI_exec.dll"
-
-!ELSEIF "$(CFG)" == "NavDisplayGUI_exec DLL - Win32 Debug"
-
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "."
-# PROP Intermediate_Dir "Debug\NavDisplayGUI_exec"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD CPP /nologo /W3 /Gm /GX /Zi /Od /MDd /GR /Gy /I "..\NavDisplay" /I "$(QTDIR)\include" /I "..\..\..\..\..\orbsvcs\orbsvcs" /I "..\..\..\.." /I "..\..\..\..\ciao" /I "..\..\..\..\.." /I "..\..\..\..\..\tao" /I "..\..\..\..\..\.." /D _DEBUG=1 /D WIN32=1 /D _WINDOWS=1 /D NAVDISPLAY_EXEC_BUILD_DLL=1 /D QT_DLL=1 /D QT_THREAD_SUPPORT=1 /FD /c
-# SUBTRACT CPP /Fr /YX
-# ADD RSC /l 0x409 /d _DEBUG=1 /i "..\NavDisplay" /i "$(QTDIR)\include" /i "..\..\..\..\..\orbsvcs\orbsvcs" /i "..\..\..\.." /i "..\..\..\..\ciao" /i "..\..\..\..\.." /i "..\..\..\..\..\tao" /i "..\..\..\..\..\.."
-BSC32=bscmake.exe
-# ADD BSC32 /nologo /o".\NavDisplayGUI_exec.bsc"
-LINK32=link.exe
-# ADD LINK32 advapi32.lib user32.lib /INCREMENTAL:NO qt-mt.lib NavDisplay_stubd.lib NavDisplay_svntd.lib HUDisplay_stubd.lib HUDisplay_svntd.lib CIAO_Serverd.lib TAO_PortableServerd.lib TAO_IORInterceptord.lib TAO_ObjRefTemplated.lib TAO_Securityd.lib CIAO_Containerd.lib TAOd.lib TAO_IFR_Clientd.lib TAO_Valuetyped.lib CIAO_Clientd.lib ACEd.lib /libpath:".." /libpath:"..\NavDisplay" /libpath:"$(QTDIR)\lib" /libpath:"..\..\..\..\..\tao\PortableServer" /libpath:"..\..\..\..\..\tao\IORInterceptor" /libpath:"..\..\..\..\..\tao\ObjRefTemplate" /libpath:"..\..\..\..\..\orbsvcs\orbsvcs" /libpath:"..\..\..\..\..\tao\IFR_Client" /libpath:"..\..\..\..\..\tao\Valuetype" /libpath:"..\..\..\..\ciao" /libpath:"..\..\..\..\..\tao" /libpath:"..\..\..\..\..\..\ace" /nologo /version:1.3.1 /subsystem:windows /pdb:"..\..\..\..\..\..\bin\NavDisplayGUI_execd.pdb" /dll /debug /machine:I386 /out:"..\..\..\..\..\..\bin\NavDisplayGUI_execd.dll"
-
-!ENDIF
-
-# Begin Target
-
-# Name "NavDisplayGUI_exec DLL - Win32 Release"
-# Name "NavDisplayGUI_exec DLL - Win32 Debug"
-# Begin Group "Source Files"
-
-# PROP Default_Filter "cpp;cxx;c"
-# Begin Source File
-
-SOURCE=.\AddNavUnitCmd.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\DetailView.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\DetailView_moc.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\MapView.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\MapView_moc.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\NavDisplayEIC.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\NavDisplayGUI_exec.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\NavUnit.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\NodeItem.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\NodeItem_moc.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\QuitCmd.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\RootPanel.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\RootPanel_moc.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\UpdatePositionCmd.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\Worker.cpp
-# End Source File
-# End Group
-# Begin Group "Header Files"
-
-# PROP Default_Filter "h;hpp;hxx;hh"
-# Begin Source File
-
-SOURCE=.\AddNavUnitCmd.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\DetailView.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\MapView.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\NavDisplayEIC.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\NavDisplayGUI_exec.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\NavUnit.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\NodeItem.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\QuitCmd.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\RootPanel.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\UpdatePositionCmd.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\Worker.h
-# End Source File
-# End Group
-# Begin Group "Inline Files"
-
-# PROP Default_Filter "i;inl"
-# Begin Source File
-
-SOURCE=.\NavDisplayEIC.i
-# End Source File
-# End Group
-# Begin Group "Documentation"
-
-# PROP Default_Filter ""
-# Begin Source File
-
-SOURCE=.\README
-# End Source File
-# End Group
-# Begin Group "IDL Files"
-
-# PROP Default_Filter "idl"
-# Begin Source File
-
-SOURCE=.\..\NavDisplay\NavDisplayEI.idl
-
-!IF "$(CFG)" == "NavDisplayGUI_exec DLL - Win32 Release"
-
-# PROP Ignore_Default_Tool 1
-# Begin Custom Build - Invoking IDL Compiler on $(InputPath)
-InputPath=.\..\NavDisplay\NavDisplayEI.idl
-InputName=NavDisplayEI
-InputDir=..\NavDisplay
-
-BuildCmds= \
- ..\..\..\..\..\..\bin\tao_idl -o .\ -I ..\NavDisplay -Wb,export_macro=NAVDISPLAY_EXEC_Export -Wb,export_include=NavDisplay_exec_export.h -I..\..\..\..\.. -I..\..\..\..\..\CIAO\ciao -Wb,pre_include="ace\pre.h" -Wb,post_include="ace\post.h" -I ..\..\..\.. -I ..\..\..\..\.. -I ..\..\..\..\..\orbsvcs\orbsvcs -Ge 1 -Sc $(InputPath)
-
-".\\$(InputName)C.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-
-".\\$(InputName)C.i" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-
-".\\$(InputName)C.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-
-".\\$(InputName)S.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-
-".\\$(InputName)S.i" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-
-".\\$(InputName)S.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-
-# End Custom Build
-
-!ELSEIF "$(CFG)" == "NavDisplayGUI_exec DLL - Win32 Debug"
-
-# PROP Ignore_Default_Tool 1
-# Begin Custom Build - Invoking IDL Compiler on $(InputPath)
-InputPath=.\..\NavDisplay\NavDisplayEI.idl
-InputName=NavDisplayEI
-InputDir=..\NavDisplay
-
-BuildCmds= \
- ..\..\..\..\..\..\bin\tao_idl -o .\ -I ..\NavDisplay -Wb,export_macro=NAVDISPLAY_EXEC_Export -Wb,export_include=NavDisplay_exec_export.h -I..\..\..\..\.. -I..\..\..\..\..\CIAO\ciao -Wb,pre_include="ace\pre.h" -Wb,post_include="ace\post.h" -I ..\..\..\.. -I ..\..\..\..\.. -I ..\..\..\..\..\orbsvcs\orbsvcs -Ge 1 -Sc $(InputPath)
-
-".\\$(InputName)C.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-
-".\\$(InputName)C.i" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-
-".\\$(InputName)C.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-
-".\\$(InputName)S.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-
-".\\$(InputName)S.i" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-
-".\\$(InputName)S.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-
-# End Custom Build
-
-!ENDIF
-
-# End Source File
-# End Group
-# Begin Group "moc_files"
-
-# PROP Default_Filter "h"
-# Begin Source File
-
-SOURCE=.\DetailView.h
-
-!IF "$(CFG)" == "NavDisplayGUI_exec DLL - Win32 Release"
-
-# PROP Ignore_Default_Tool 1
-# Begin Custom Build - Invoking $(QTDIR)\bin\moc on $(InputPath)
-InputPath=.\DetailView.h
-InputName=DetailView
-InputDir=.
-
-".\DetailView_moc.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(QTDIR)\bin\moc $(InputPath) -o DetailView_moc.cpp
-
-# End Custom Build
-
-!ELSEIF "$(CFG)" == "NavDisplayGUI_exec DLL - Win32 Debug"
-
-# PROP Ignore_Default_Tool 1
-# Begin Custom Build - Invoking $(QTDIR)\bin\moc on $(InputPath)
-InputPath=.\DetailView.h
-InputName=DetailView
-InputDir=.
-
-".\DetailView_moc.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(QTDIR)\bin\moc $(InputPath) -o DetailView_moc.cpp
-
-# End Custom Build
-
-!ENDIF
-
-# End Source File
-# Begin Source File
-
-SOURCE=.\MapView.h
-
-!IF "$(CFG)" == "NavDisplayGUI_exec DLL - Win32 Release"
-
-# PROP Ignore_Default_Tool 1
-# Begin Custom Build - Invoking $(QTDIR)\bin\moc on $(InputPath)
-InputPath=.\MapView.h
-InputName=MapView
-InputDir=.
-
-".\MapView_moc.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(QTDIR)\bin\moc $(InputPath) -o MapView_moc.cpp
-
-# End Custom Build
-
-!ELSEIF "$(CFG)" == "NavDisplayGUI_exec DLL - Win32 Debug"
-
-# PROP Ignore_Default_Tool 1
-# Begin Custom Build - Invoking $(QTDIR)\bin\moc on $(InputPath)
-InputPath=.\MapView.h
-InputName=MapView
-InputDir=.
-
-".\MapView_moc.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(QTDIR)\bin\moc $(InputPath) -o MapView_moc.cpp
-
-# End Custom Build
-
-!ENDIF
-
-# End Source File
-# Begin Source File
-
-SOURCE=.\NodeItem.h
-
-!IF "$(CFG)" == "NavDisplayGUI_exec DLL - Win32 Release"
-
-# PROP Ignore_Default_Tool 1
-# Begin Custom Build - Invoking $(QTDIR)\bin\moc on $(InputPath)
-InputPath=.\NodeItem.h
-InputName=NodeItem
-InputDir=.
-
-".\NodeItem_moc.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(QTDIR)\bin\moc $(InputPath) -o NodeItem_moc.cpp
-
-# End Custom Build
-
-!ELSEIF "$(CFG)" == "NavDisplayGUI_exec DLL - Win32 Debug"
-
-# PROP Ignore_Default_Tool 1
-# Begin Custom Build - Invoking $(QTDIR)\bin\moc on $(InputPath)
-InputPath=.\NodeItem.h
-InputName=NodeItem
-InputDir=.
-
-".\NodeItem_moc.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(QTDIR)\bin\moc $(InputPath) -o NodeItem_moc.cpp
-
-# End Custom Build
-
-!ENDIF
-
-# End Source File
-# Begin Source File
-
-SOURCE=.\RootPanel.h
-
-!IF "$(CFG)" == "NavDisplayGUI_exec DLL - Win32 Release"
-
-# PROP Ignore_Default_Tool 1
-# Begin Custom Build - Invoking $(QTDIR)\bin\moc on $(InputPath)
-InputPath=.\RootPanel.h
-InputName=RootPanel
-InputDir=.
-
-".\RootPanel_moc.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(QTDIR)\bin\moc $(InputPath) -o RootPanel_moc.cpp
-
-# End Custom Build
-
-!ELSEIF "$(CFG)" == "NavDisplayGUI_exec DLL - Win32 Debug"
-
-# PROP Ignore_Default_Tool 1
-# Begin Custom Build - Invoking $(QTDIR)\bin\moc on $(InputPath)
-InputPath=.\RootPanel.h
-InputName=RootPanel
-InputDir=.
-
-".\RootPanel_moc.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(QTDIR)\bin\moc $(InputPath) -o RootPanel_moc.cpp
-
-# End Custom Build
-
-!ENDIF
-
-# End Source File
-# End Group
-# End Target
-# End Project
diff --git a/TAO/CIAO/examples/OEP/Display/NavDisplayGUI_exec/NavDisplayGUI_exec.h b/TAO/CIAO/examples/OEP/Display/NavDisplayGUI_exec/NavDisplayGUI_exec.h
deleted file mode 100644
index a664df6accd..00000000000
--- a/TAO/CIAO/examples/OEP/Display/NavDisplayGUI_exec/NavDisplayGUI_exec.h
+++ /dev/null
@@ -1,110 +0,0 @@
-// $Id$
-
-/**
- * @file NavDisplayGUI_exec.h
- *
- * Header file for the actual NavDisplay and NavDisplayHome component
- * implementations.
- *
- * @author Nanbor Wang <nanbor@cse.wustl.edu>
- */
-
-#ifndef NAVDISPLAY_EXEC_H
-#define NAVDISPLAY_EXEC_H
-
-#include "NavDisplayEIC.h"
-#include "ace/Synch.h"
-#include "tao/LocalObject.h"
-#include "NavUnit.h"
-
-class Worker;
-
-
-namespace MyImpl
-{
- /**
- * @class NavDisplayGUI_exec_impl
- *
- * RateGen executor implementation class.
- */
- class NAVDISPLAY_EXEC_Export NavDisplayGUI_exec_impl :
- public virtual HUDisplay::NavDisplay_Exec,
- public virtual TAO_Local_RefCounted_Object
- {
- public:
- /// Default constructor.
- NavDisplayGUI_exec_impl ();
-
- /// Default destructor.
- ~NavDisplayGUI_exec_impl ();
-
- // Operations from HUDisplay::NavDisplay
-
- virtual void
- push_Refresh (HUDisplay::tick *ev
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- // Operations from Components::SessionComponent
-
- virtual void
- set_session_context (Components::SessionContext_ptr ctx
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::CCMException));
-
- virtual void
- ccm_activate (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::CCMException));
-
- virtual void
- ccm_passivate (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::CCMException));
-
- virtual void
- ccm_remove (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::CCMException));
- protected:
- /// Copmponent specific context
- HUDisplay::CCM_NavDisplay_Context_var context_;
- Worker *worker_;
- NavUnit unit_;
- UnitLocation loc_;
- ACE_Thread_Mutex mutex_;
- };
-
- /**
- * @class NavDisplayGUIHome_exec_impl
- *
- * NavDisplay home executor implementation class.
- */
- class NAVDISPLAY_EXEC_Export NavDisplayGUIHome_exec_impl :
- public virtual HUDisplay::CCM_NavDisplayHome,
- public virtual TAO_Local_RefCounted_Object
- {
- public:
- /// Default ctor.
- NavDisplayGUIHome_exec_impl ();
-
- /// Default dtor.
- ~NavDisplayGUIHome_exec_impl ();
-
- // Explicit home operations.
-
- // Implicit home operations.
-
- virtual ::Components::EnterpriseComponent_ptr
- create (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::CCMException));
- };
-
-}
-
-extern "C" NAVDISPLAY_EXEC_Export ::Components::HomeExecutorBase_ptr
-createNavDisplayHome_Impl (void);
-
-#endif /* NAVDISPLAY_EXEC_H */
diff --git a/TAO/CIAO/examples/OEP/Display/NavDisplayGUI_exec/NavUnit.cpp b/TAO/CIAO/examples/OEP/Display/NavDisplayGUI_exec/NavUnit.cpp
deleted file mode 100644
index 809117728f6..00000000000
--- a/TAO/CIAO/examples/OEP/Display/NavDisplayGUI_exec/NavUnit.cpp
+++ /dev/null
@@ -1,9 +0,0 @@
-// $Id$
-
-#include "NavUnit.h"
-
-
-NavUnit::NavUnit(const UnitID &id, const char *short_descr)
-: id_(id), short_descr_(short_descr)
-{
-}
diff --git a/TAO/CIAO/examples/OEP/Display/NavDisplayGUI_exec/NavUnit.h b/TAO/CIAO/examples/OEP/Display/NavDisplayGUI_exec/NavUnit.h
deleted file mode 100644
index 86dd2cccbd7..00000000000
--- a/TAO/CIAO/examples/OEP/Display/NavDisplayGUI_exec/NavUnit.h
+++ /dev/null
@@ -1,57 +0,0 @@
-// $Id$
-
-#ifndef __NAVUNIT_H
-#define __NAVUNIT_H
-
-#include "ace/SString.h"
-
-
-class UnitLocation
-{
-public:
- UnitLocation() {x_ = y_ = z_ = 0.0;}
- UnitLocation(
- double x,
- double y,
- double z) :
- x_(x), y_(y), z_(z) {}
-
- UnitLocation(const UnitLocation &ul) { operator = (ul); }
-
-public:
- UnitLocation & operator = (const UnitLocation &ul)
- {
- x_ = ul.x_;
- y_ = ul.y_;
- z_ = ul.z_;
- return *this;
- }
-
-public:
- double x_, y_, z_;
-};
-
-typedef unsigned long UnitID;
-
-class NavUnit
-{
-public:
- NavUnit(const UnitID &id, const char *short_descr);
- virtual ~NavUnit() {}
-
-public:
- UnitID getID() const {return id_;}
-
- const char *getShortDescr() const {return short_descr_.c_str();}
- void setShortDescr(const char *short_descr) {short_descr_ = short_descr;}
-
- UnitLocation getLocation() const {return loc_;}
- void setLocation(const UnitLocation &loc) {loc_ = loc;}
-
-protected:
- UnitID id_;
- ACE_CString short_descr_;
- UnitLocation loc_;
-};
-
-#endif // __NAVUNIT_H
diff --git a/TAO/CIAO/examples/OEP/Display/NavDisplayGUI_exec/NodeItem.cpp b/TAO/CIAO/examples/OEP/Display/NavDisplayGUI_exec/NodeItem.cpp
deleted file mode 100644
index e6fb43b7eab..00000000000
--- a/TAO/CIAO/examples/OEP/Display/NavDisplayGUI_exec/NodeItem.cpp
+++ /dev/null
@@ -1,63 +0,0 @@
-// $Id$
-
-#include "NodeItem.h"
-#include <qbrush.h>
-
-
-QBrush *NodeItem::normal = new QBrush(red);
-QBrush *NodeItem::highlighted = new QBrush(green);
-
-
-NodeItem::NodeItem(QCanvas *canvas, NavUnit &unit)
- : QCanvasEllipse(8, 8, canvas),
- unit_(unit),
- blink_timer(canvas),
- is_selected_(0)
-{
- setBrush(*normal);
- setZ(128);
-}
-
-
-void NodeItem::moveBy(double dx, double dy, double dz)
-{
- QCanvasEllipse::moveBy(dx, dy);
-}
-
-
-void
-NodeItem::timerDone()
-{
- if(selected())
- {
- if(brush() == *normal)
- setBrush(*highlighted);
- else
- setBrush(*normal);
-
- canvas()->update();
- }
-}
-
-
-void
-NodeItem::setSelected(bool yes)
-{
- is_selected_ = yes;
-
- if(yes)
- {
- connect(&blink_timer, SIGNAL(timeout()),
- SLOT(timerDone()));
-
- blink_timer.start(500);
- }
- else
- {
- blink_timer.stop();
- disconnect(SIGNAL(timeout()), this,
- SLOT(timerDone()));
- setBrush(*normal);
- canvas()->update();
- }
-}
diff --git a/TAO/CIAO/examples/OEP/Display/NavDisplayGUI_exec/NodeItem.h b/TAO/CIAO/examples/OEP/Display/NavDisplayGUI_exec/NodeItem.h
deleted file mode 100644
index 4ccc5599359..00000000000
--- a/TAO/CIAO/examples/OEP/Display/NavDisplayGUI_exec/NodeItem.h
+++ /dev/null
@@ -1,49 +0,0 @@
-// $Id$
-
-#ifndef __NODEITEM_H
-#define __NODEITEM_H
-
-#include "NavUnit.h"
-#include <qcanvas.h>
-#include <qlist.h>
-#include <qtimer.h>
-#include <qbrush.h>
-#include <qobject.h>
-
-
-
-class NodeItem: public QObject, public QCanvasEllipse
-{
- Q_OBJECT
-
-public:
- NodeItem(QCanvas *canvas, NavUnit &unit);
-
- ~NodeItem() {}
-
- enum {
- nodeRTTI = 1
- };
-
- void moveBy(double dx, double dy, double dz);
-
- virtual int rtti() const {return nodeRTTI;}
-
- virtual void setSelected(bool yes);
- virtual bool selected() const {return is_selected_;}
-
-public slots:
- void timerDone();
-
-private:
- NavUnit &unit_;
- QTimer blink_timer;
- bool is_selected_;
-
- static QBrush *normal;
- static QBrush *highlighted;
-};
-
-
-
-#endif // __NODEITEM_H
diff --git a/TAO/CIAO/examples/OEP/Display/NavDisplayGUI_exec/QuitCmd.cpp b/TAO/CIAO/examples/OEP/Display/NavDisplayGUI_exec/QuitCmd.cpp
deleted file mode 100644
index b8495973ead..00000000000
--- a/TAO/CIAO/examples/OEP/Display/NavDisplayGUI_exec/QuitCmd.cpp
+++ /dev/null
@@ -1,25 +0,0 @@
-// $Id$
-
-#include "QuitCmd.h"
-#include "RootPanel.h"
-
-
-QuitCmd::QuitCmd()
-{
-}
-
-
-QuitCmd *
-QuitCmd::create(RootPanel *form)
-{
- QuitCmd *cmd = new QuitCmd();
- cmd->form_ = form;
- return cmd;
-}
-
-
-int
-QuitCmd::execute(void *context)
-{
- return form_->close();
-}
diff --git a/TAO/CIAO/examples/OEP/Display/NavDisplayGUI_exec/QuitCmd.h b/TAO/CIAO/examples/OEP/Display/NavDisplayGUI_exec/QuitCmd.h
deleted file mode 100644
index a80d749640e..00000000000
--- a/TAO/CIAO/examples/OEP/Display/NavDisplayGUI_exec/QuitCmd.h
+++ /dev/null
@@ -1,25 +0,0 @@
-// $Id$
-
-#ifndef __QUITCMD_H
-#define __QUITCMD_H
-
-#include "Command.h"
-
-class RootPanel;
-
-class QuitCmd : public CommandBase
-{
-public:
- static QuitCmd *create(RootPanel *form);
-
-public:
- virtual int execute(void *context = NULL);
-
-protected:
- QuitCmd();
-
- RootPanel *form_;
-};
-
-
-#endif // __QUITCMD_H
diff --git a/TAO/CIAO/examples/OEP/Display/NavDisplayGUI_exec/README b/TAO/CIAO/examples/OEP/Display/NavDisplayGUI_exec/README
deleted file mode 100644
index b7b8aa96c59..00000000000
--- a/TAO/CIAO/examples/OEP/Display/NavDisplayGUI_exec/README
+++ /dev/null
@@ -1,7 +0,0 @@
-This example is the Qt-based GUI implementation of NavDisplay component.
-
-It is NOT necessary to compile ACE/TAO/CIAO with Qt support,
-i.e. ACE_HAS_QT since this example does not relyes on Qt Reactor and
-communicates with GUI part using QApplication::postMessage() and
-simple Command Pattern based framework. But be sure that QTDIR
-environment variable is pointed to your Qt installation directory.
diff --git a/TAO/CIAO/examples/OEP/Display/NavDisplayGUI_exec/RootPanel.cpp b/TAO/CIAO/examples/OEP/Display/NavDisplayGUI_exec/RootPanel.cpp
deleted file mode 100644
index c6737ee96c0..00000000000
--- a/TAO/CIAO/examples/OEP/Display/NavDisplayGUI_exec/RootPanel.cpp
+++ /dev/null
@@ -1,90 +0,0 @@
-// $Id$
-
-#include "RootPanel.h"
-#include <qmenubar.h>
-#include <qapplication.h>
-#include <qprogressdialog.h>
-#include <stdlib.h>
-#include <qsplitter.h>
-#include "NodeItem.h"
-#include "Command.h"
-
-
-RootPanel::RootPanel(QCanvas &c, QWidget *parent, const char *name)
-: QMainWindow(parent, name), canvas(c)
-{
- QSplitter *s1 = new QSplitter( QSplitter::Vertical, this , "main" );
-
-
- navview = new MapView(canvas, s1);
- s1->moveToFirst(navview);
-
- details = new DetailView(s1);
-
- QMenuBar* menu = menuBar();
-
- QPopupMenu* file = new QPopupMenu;
- //file->insertItem("&Fill canvas", this, SLOT(init()), CTRL+Key_F);
- //file->insertItem("&Erase canvas", this, SLOT(clear()), CTRL+Key_E);
- //file->insertItem("&New view", this, SLOT(newView()), CTRL+Key_N);
- file->insertSeparator();
- file->insertItem("E&xit", qApp, SLOT(quit()), CTRL+Key_Q);
- menu->insertItem("&File", file);
-
- setCentralWidget(s1);
-}
-
-
-RootPanel::~RootPanel()
-{
- clear();
-}
-
-
-void
-RootPanel::addUnit(NavUnit *unit)
-{
- NodeItem *el = new NodeItem(&canvas, *unit);
- nodeMap.bind(unit->getID(), el);
- UnitLocation loc = unit->getLocation();
- el->move(loc.x_, loc.y_);
- el->show();
- this->details->currentNode(unit);
-}
-
-void
-RootPanel::updateUnit(NavUnit *unit)
-{
- NodeItem *el = NULL;
- nodeMap.find(unit->getID(), el);
- UnitLocation loc = unit->getLocation();
- el->move(loc.x_, loc.y_);
- //canvas.update();
-
- this->details->updateLocation(loc);
-}
-
-
-void
-RootPanel::clear()
-{
- navview->clear();
-}
-
-void
-RootPanel::customEvent(QCustomEvent *e)
-{
- CommandBase *cmd = (CommandBase*)(e->data());
- cmd->execute();
- delete cmd;
-/*
- int elapsed = time.restart();
- int fps = (elapsed == 0 ? 1000 : 1000 / elapsed);
-
- if(prev_fps != fps)
- {
- prev_fps = fps;
- ups->setNum(prev_fps);
- }
-*/
-}
diff --git a/TAO/CIAO/examples/OEP/Display/NavDisplayGUI_exec/RootPanel.h b/TAO/CIAO/examples/OEP/Display/NavDisplayGUI_exec/RootPanel.h
deleted file mode 100644
index e3b9b0c11a9..00000000000
--- a/TAO/CIAO/examples/OEP/Display/NavDisplayGUI_exec/RootPanel.h
+++ /dev/null
@@ -1,45 +0,0 @@
-// $Id$
-
-#ifndef __ROOTPANEL_H
-#define __ROOTPANEL_H
-
-#include "MapView.h"
-#include "DetailView.h"
-#include <qmainwindow.h>
-#include "ace/Hash_Map_Manager.h"
-
-
-class NodeItem;
-class QMouseEvent;
-
-class RootPanel : public QMainWindow
-{
- Q_OBJECT
-
-typedef ACE_Hash_Map_Manager_Ex<ACE_UINT64,
- NodeItem*,
- ACE_Hash<ACE_UINT64>,
- ACE_Equal_To<ACE_UINT64>,
- ACE_Null_Mutex> NodeItemMap;
-
-public:
- RootPanel(QCanvas&, QWidget *parent = 0, const char *name = 0);
- ~RootPanel();
-
-public:
- void addUnit(NavUnit* unit);
- void updateUnit(NavUnit *unit);
-
-protected:
- void clear();
- virtual void customEvent(QCustomEvent *e);
-
- QCanvas& canvas;
- MapView *navview;
- DetailView *details;
-
- QPopupMenu* options;
- NodeItemMap nodeMap;
-};
-
-#endif // __ROOTPANEL_H
diff --git a/TAO/CIAO/examples/OEP/Display/NavDisplayGUI_exec/UpdatePositionCmd.cpp b/TAO/CIAO/examples/OEP/Display/NavDisplayGUI_exec/UpdatePositionCmd.cpp
deleted file mode 100644
index 65bc87e26bb..00000000000
--- a/TAO/CIAO/examples/OEP/Display/NavDisplayGUI_exec/UpdatePositionCmd.cpp
+++ /dev/null
@@ -1,30 +0,0 @@
-// $Id$
-
-#include "UpdatePositionCmd.h"
-#include <qlcdnumber.h>
-#include "RootPanel.h"
-#include "NavUnit.h"
-
-
-UpdatePositionCmd::UpdatePositionCmd()
-{
-}
-
-
-UpdatePositionCmd *
-UpdatePositionCmd::create(
- RootPanel *form, NavUnit *unit)
-{
- UpdatePositionCmd *cmd = new UpdatePositionCmd();
- cmd->form_ = form;
- cmd->unit_ = unit;
- return cmd;
-}
-
-
-int
-UpdatePositionCmd::execute(void *context)
-{
- this->form_->updateUnit(this->unit_);
- return 0;
-}
diff --git a/TAO/CIAO/examples/OEP/Display/NavDisplayGUI_exec/UpdatePositionCmd.h b/TAO/CIAO/examples/OEP/Display/NavDisplayGUI_exec/UpdatePositionCmd.h
deleted file mode 100644
index 4ba20755c3e..00000000000
--- a/TAO/CIAO/examples/OEP/Display/NavDisplayGUI_exec/UpdatePositionCmd.h
+++ /dev/null
@@ -1,28 +0,0 @@
-// $Id$
-
-#ifndef __UPDATEPOSITIONCM_H
-#define __UPDATEPOSITIONCM_H
-
-#include "Command.h"
-
-class RootPanel;
-class NavUnit;
-
-class UpdatePositionCmd : public CommandBase
-{
-public:
- static UpdatePositionCmd *create(
- RootPanel *form, NavUnit *unit);
-
-public:
- virtual int execute(void *context = NULL);
-
-protected:
- UpdatePositionCmd();
-
- RootPanel *form_;
- NavUnit *unit_;
-};
-
-
-#endif // __UPDATEPOSITIONCM_H
diff --git a/TAO/CIAO/examples/OEP/Display/NavDisplayGUI_exec/Worker.cpp b/TAO/CIAO/examples/OEP/Display/NavDisplayGUI_exec/Worker.cpp
deleted file mode 100644
index 4257dd69f46..00000000000
--- a/TAO/CIAO/examples/OEP/Display/NavDisplayGUI_exec/Worker.cpp
+++ /dev/null
@@ -1,48 +0,0 @@
-// $Id$
-
-#include "Worker.h"
-#include <qapplication.h>
-#include <qmotifstyle.h>
-#include <qcdestyle.h>
-#include <qwindowsstyle.h>
-#include <qplatinumstyle.h>
-#include <qsgistyle.h>
-
-
-int
-Worker::svc (void)
-{
- ACE_DEBUG((LM_DEBUG, "ENTER: Worker::svc()\n"));
-
- QApplication a(argc_, argv_);
- a.setStyle(new QPlatinumStyle);
- QCanvas canvas(600, 387);
- //QCanvas canvas(566, 679);
- //QCanvas canvas(550, 723);
- canvas.setAdvancePeriod(30);
- RootPanel root_panel(canvas);
- root_panel.resize(root_panel.sizeHint());
-
- root_panel.resize(600, 650);
- root_panel.setCaption("NavDisplay");
-
- a.setMainWidget(&root_panel);
-
- QObject::connect(&a, SIGNAL(lastWindowClosed()), &a, SLOT(quit()) );
-
- if(QApplication::desktop()->width() > 550
- && QApplication::desktop()->height() > 366)
- root_panel.show();
- else
- root_panel.showMaximized();
-
- main_wnd_ = &root_panel;
- init_complete_.signal();
-
- int retval = a.exec();
-
- main_wnd_ = NULL;
-
- ACE_DEBUG((LM_DEBUG, "LEAVE: Worker::svc()\n"));
- return retval;
-}
diff --git a/TAO/CIAO/examples/OEP/Display/NavDisplayGUI_exec/Worker.h b/TAO/CIAO/examples/OEP/Display/NavDisplayGUI_exec/Worker.h
deleted file mode 100644
index 73aa649bd36..00000000000
--- a/TAO/CIAO/examples/OEP/Display/NavDisplayGUI_exec/Worker.h
+++ /dev/null
@@ -1,35 +0,0 @@
-// $Id$
-
-#ifndef __WORKER_H
-#define __WORKER_H
-
-#include "ace/Task.h"
-#include "ace/Synch.h"
-#include "tao/corba.h"
-#include "RootPanel.h"
-
-class Worker : public ACE_Task_Base
-{
-public:
- Worker (int argc, char *argv[])
- : argc_(argc), argv_(argv) {}
- // ctor
-
- virtual int svc (void);
- // The thread entry point.
-
- void waitUntillInitialized() {init_complete_.wait();}
- // blocks the calling thread until the GUI is initialized
-
- RootPanel* getMainWindow() const {return main_wnd_;}
- // Returns the pointer to main application window
-
-private:
- RootPanel *main_wnd_;
- int argc_;
- char **argv_;
-
- ACE_Manual_Event init_complete_;
-};
-
-#endif // __WORKER_H
diff --git a/TAO/CIAO/examples/OEP/Display/NavDisplayGUI_exec/trolltech.gif b/TAO/CIAO/examples/OEP/Display/NavDisplayGUI_exec/trolltech.gif
deleted file mode 100644
index f674369efc4..00000000000
--- a/TAO/CIAO/examples/OEP/Display/NavDisplayGUI_exec/trolltech.gif
+++ /dev/null
Binary files differ
diff --git a/TAO/CIAO/examples/OEP/Display/NavDisplayGUI_exec/worldmap1.gif b/TAO/CIAO/examples/OEP/Display/NavDisplayGUI_exec/worldmap1.gif
deleted file mode 100644
index 99fe78a7673..00000000000
--- a/TAO/CIAO/examples/OEP/Display/NavDisplayGUI_exec/worldmap1.gif
+++ /dev/null
Binary files differ
diff --git a/TAO/CIAO/examples/OEP/Display/NavDisplayGUI_exec/worldmap1.xpm b/TAO/CIAO/examples/OEP/Display/NavDisplayGUI_exec/worldmap1.xpm
deleted file mode 100644
index 736de06f25a..00000000000
--- a/TAO/CIAO/examples/OEP/Display/NavDisplayGUI_exec/worldmap1.xpm
+++ /dev/null
@@ -1,651 +0,0 @@
-/* XPM */
-static const char *worldmap1[] = {
-/* width height ncolors chars_per_pixel */
-"600 387 257 2",
-/* colors */
-" c #59746B",
-" . c #3A6592",
-" X c #E7BEA4",
-" o c #6774BB",
-" O c #3E4CA0",
-" + c #94D6F4",
-" @ c #D5CFF2",
-" # c #475642",
-" $ c #444853",
-" % c #22558E",
-" & c #909FE3",
-" * c #0A2A66",
-" = c #ABBAE3",
-" - c #0A3987",
-" ; c #4385CC",
-" : c #69686A",
-" > c #508290",
-" , c #E0D5C1",
-" < c #0B2428",
-" 1 c #57666C",
-" 2 c #283C8A",
-" 3 c #303428",
-" 4 c #CEBCE1",
-" 5 c #A89A8A",
-" 6 c #E4E6D2",
-" 7 c #EFDDD3",
-" 8 c #1D1D47",
-" 9 c #6669B3",
-" 0 c #425AAA",
-" q c #97856C",
-" w c #6587E0",
-" e c #5C3511",
-" r c #82BDEF",
-" t c #0A182A",
-" y c #7A87B9",
-" u c #0A2641",
-" i c #C59964",
-" p c #1B466C",
-" a c #0B1417",
-" s c #575A86",
-" d c #C49D7A",
-" f c #D2BCAC",
-" g c #8E88B2",
-" h c #314446",
-" j c #FCF5D5",
-" k c #96A79F",
-" l c #956D45",
-" z c #99BDE4",
-" x c #475662",
-" c c #45453F",
-" v c #44588A",
-" b c #565DA9",
-" n c #95A8BF",
-" m c #A7A3B3",
-" M c #95B1E0",
-" N c #6A5435",
-" B c #150E27",
-" V c #808F72",
-" C c #0C1C49",
-" Z c #EECAA6",
-" A c #B49277",
-" S c #7FA8E8",
-" D c #8F888E",
-" F c #3C210B",
-" G c #081D66",
-" H c #7C93DB",
-" J c #576ABA",
-" K c #E3E8F4",
-" L c #3C75BD",
-" P c #DCC7B5",
-" I c #AEA595",
-" U c #1A3649",
-" Y c #D6CFDA",
-" T c #767489",
-" R c #191B27",
-" E c #1B4557",
-" W c #80A8C4",
-" Q c #CEB5A7",
-" ! c #A8A3D1",
-" ~ c #3E2913",
-" ^ c #4869B8",
-" / c #182D7F",
-" ( c #957E86",
-" ) c #847768",
-" _ c #845526",
-" ` c #6D766F",
-" ' c #655D85",
-" ] c #BDA5AD",
-" [ c #97B0B9",
-" { c #2357A7",
-" } c #C7C4B0",
-" | c #AAB59A",
-". c #B58A59",
-".. c #31578D",
-".X c #765D46",
-".o c #865D2E",
-".O c #C3C9E4",
-".+ c #ADC7F6",
-".@ c #5879BD",
-".# c #AC7D46",
-".$ c #998F72",
-".% c #BEBABE",
-".& c #C0A78B",
-".* c #080C29",
-".= c #253181",
-".- c #7E9196",
-".; c #7E9EE2",
-".: c #FCE8C9",
-".> c #A9AFDE",
-"., c #959D9C",
-".< c #5285A6",
-".1 c #AEC6DC",
-".2 c #A599AF",
-".3 c #C2C6C8",
-".4 c #6792DF",
-".5 c #675B51",
-".6 c #B99466",
-".7 c #F5D7B8",
-".8 c #302511",
-".9 c #69728B",
-".0 c #74698C",
-".q c #8D94E0",
-".w c #45496B",
-".e c #0A0B10",
-".r c #493319",
-".t c #CEAB8B",
-".y c #99C8F2",
-".u c #453C36",
-".i c #31544D",
-".p c #6994A5",
-".a c #1B2327",
-".s c #2C4887",
-".d c #0B344C",
-".f c #B2A383",
-".g c #81A7A2",
-".h c #C1E4F8",
-".j c #7C92BB",
-".k c #58452E",
-".l c #43644E",
-".z c #997A5A",
-".x c #6791C4",
-".c c #956935",
-".v c #2E4AA0",
-".b c #79552A",
-".n c #544D80",
-".m c #23546A",
-".M c #19273C",
-".N c #182B66",
-".B c #19489F",
-".V c #945E2A",
-".C c #5285C3",
-".Z c #3E3D53",
-".A c #C2B399",
-".S c #AFC5C5",
-".D c #3D3552",
-".F c #436F72",
-".G c #D9DAEB",
-".H c #3D2927",
-".J c #3B749F",
-".K c #5A5440",
-".L c #D0F4F9",
-".P c #2C63AE",
-".I c #A9865C",
-".U c #9D7543",
-".Y c #687C93",
-".T c #B0D5F4",
-".R c #A78F7B",
-".E c #687CBE",
-".W c #2A3B6A",
-".Q c #AC7D55",
-".! c #7674B8",
-".~ c #150D10",
-".^ c #684A26",
-"./ c #AB936B",
-".( c #E1C4A0",
-".) c #1A376E",
-"._ c #31566A",
-".` c #281B12",
-".' c #676788",
-".] c #867C8C",
-".[ c #7F9C9C",
-".{ c #528FC9",
-".} c #1B3226",
-".| c #BFAFB0",
-"X c #D5B694",
-"X. c #ABAEBA",
-"XX c #6B745A",
-"Xo c #665148",
-"XO c #A498C7",
-"X+ c #6687A1",
-"X@ c #B89B7E",
-"X# c #C6D4C7",
-"X$ c #F8ECEB",
-"X% c #82AEB9",
-"X& c #E4BC92",
-"X* c #4A4329",
-"X= c #1A3988",
-"X- c #171718",
-"X; c #BEBBDD",
-"X: c #81B0E3",
-"X> c #6586C1",
-"X, c #2F3640",
-"X< c #98BCBE",
-"X1 c #251D29",
-"X2 c #6A9CC9",
-"X3 c #7C8471",
-"X4 c #4A7599",
-"X5 c #554C58",
-"X6 c #3A67B1",
-"X7 c #6C948C",
-"X8 c #6A9EE0",
-"X9 c #70644E",
-"X0 c #93A8E4",
-"Xq c #41646F",
-"Xw c #949EBA",
-"Xe c #2E4763",
-"Xr c #7E9DC2",
-"Xt c #513B1F",
-"Xy c #BDB1DF",
-"Xu c #D0A774",
-"Xi c #3159A8",
-"Xp c #587796",
-"Xa c #3F3D77",
-"Xs c #263065",
-"Xd c #5D3D2E",
-"Xf c #4A76BD",
-"Xg c #896538",
-"Xh c #C5D7ED",
-"Xj c #5D3D1A",
-"Xk c #8A7350",
-"Xl c #575860",
-"Xz c #764D22",
-"Xx c #806B5A",
-"Xc c #7E8690",
-"Xv c #0B2B7F",
-"Xb c #1A4687",
-"Xn c #486893",
-"Xm c #767DBD",
-"XM c #556557",
-"XN c #FAFAF9",
-"XB c #688584",
-"XV c #3F3431",
-"XC c #7987D7",
-"XZ c #D0E6F4",
-"XA c #2B6394",
-"XS c #E5F6F8",
-"XD c #282B38",
-"XF c #0B356E",
-"XG c #586892",
-"XH c #ADB9C1",
-"XJ c #929296",
-"XK c #787C8D",
-"XL c #434B84",
-"XP c #867CB2",
-"XI c #2A2726",
-"XU c #9293B7",
-"XY c None",
-/* pixels */
-"X+ MXr.9 1 x `X9 cX9 ) 3.uXIX1XIXI.` c.8.`X5.H.ZX1.a h.M <.M vXG v.M u u.m % .X4Xm g.9.9.aXM : `Xx m.9XJ.9 xXp.9.Y.@ yXw.wXl.9.9.jXK : 3XV ( D.0Xw.C ; ;Xf.;XG 3 8.YXr r z.x.@X0XHXc x 3.aXI.8XI.}.}X,.@ yX>.9.YXl.K.K.] ) m T.9.iXc M & yXnX+X7.[ .iX%.Y.;X0.>.+XwXl.9XKXIXI 3XVXV.kX5.k.k.k.u.H.DXV.K.u 3XVXV.u 3 3 c #X,XcXw., I kXc.% :.} R R t R R R R.a R.a R R.a RX-X-.a RX, RX-.a RX- R a.a.aX- a.aX- RXIX- RX,.aXD XH } 5XJXHXJX,.Y.-.YXr.- nXD.u.D.kXV.HXV ~XV.rXVXVXV.8.u ) )Xk ~XVXVXo.HXV #X5X3XJ D : `., D kXJ., )X9.k.k.k NX9.kXx.k.k.X.kXgXg N NXx N NXx.^ ).RXt NXxXxXtXx.X.kX*Xo.r.k.X.r.X ~ 3.H.uXI.H.H.H.r.rXx (.].RXo.0.k m (XaXd.DX5 ~.uX,.M c 3 3 3.8.HXIX1XI.H 3XV.8.K 3.MXIXI.8XI ~.`.8XIXIXIXDXD.aXD 3XIXVX*Xo.^.H.8XVXIXD.Z c.uXVXVXD.HX1X5 :.KXIXI 3 3 3XI.H 3.8.HXVXIXV x.jXpXq.j [.[ nXh.YXB.[XqXe.g.9XwXpXr.{ > >._ h.w x x.j.[Xp.-XH [ n.%XKXHXKX1XI c mX3.3 m k I V.Z., kXK 3.u cX,XVX,XD.M R 3.aX,.ZXIXDXDXD 3X,X, B R.a RXDXIX,Xl.ZX5X, $XDXD BX5 RX-.aX-.aX-X,.ZXD 3XD aXDXDX-X,XIXD.a.a R.K #.u : cXIXD B :XP $ $.Z x.w.MXDXDXD hXDX,XD.} $X,Xl.w $X,XD.Z.M TXJ.w $XU c.wXDXD RXD.Z.Z.w $XeXlXK.MXD U xX, h $Xl $ x cX, hXIX,.aXD.a.ZXl.Z.M $Xl.Z c.MXIXIXDX5.H.Z c h $ hX,X,.wX,X, h U h U.a.}X,X,XD.a.}",
-"X+X+ y [.- : : 3X1 qXJ.5X1XDXIX1X1XVXJ.8XVXl.uXDX1.a RX,.} t.W.Y v 8.M t p %X6X:.EXsXa $.Z hXD $.M.Z : h UXcXw.pXr H.EX0 U 3.a.MX, UXD 3.8.KXDX, EXrXf.@.@ yXKX,Xc MXp.CX4Xn ^.E.WXK .- hXI 3XI.}.}Xn.E v.@Xr.jXcXJXV.$X.X5 $XwXJ h nXr J.jXGXe #.l .Y.E o.x M = =XUXH., cXl.K.K.K.5X9.5.K.kX*X5.Z.KX*.r.uXVXV 3 3 3 3 # DXc.-.]XJ `.,X..9X,.a R R R R RX- R R R R R R R.a R RXD.a R R R R R R R R R.aXI.a R.aX- R tX,XDX,Xc n.% |., D.-X, .-Xc n.,XwXIXDXV.kXVXVXVXVXV.8XV.rXVXtX*Xx.RXVX*.rXI.5.u.5 : c.5Xl #.u c c c :Xl.K.k.k.k.k.kXo q.zXkXt 5./Xt q./X9Xt.R.R.z.X.k./XxXd ) NXx.kXx.XXtXk 5.rX* qXk.K.r 3.H $XVXVXdX5.RX@ ( ] ] g ).2.5.2Xy g ! ( I.K 3.u 3.H 3.u ~ 3XI 3.` 3XI.8.8XV cXVXDXI 3.`XI.8XVXIX1XIX1XIXDXIX1 R.H.8.u.^Xo.`.HXI.HXI.HXI.HXVXV.uXD 3X5 D k DXlX5 xX5X, cX,.u cXV cXV $.Y 1XpXqXp.T xXq.[Xp.F.F <.9Xq h._Xq.m._XA.i.w h $.).-Xp.[.YXc xXD h h 3XlX,XI a c.u c.u $X,.ZX,XD 3 :.}XD.ZXl $X5X5.u $.M RXIX,X,XDXDXDXlXD cX,XDX-XD.a 8.aXDXDXD.aXDX,.a 3 cXl.aX1XI RX1X- RX,.a B 3 RX-XDX- hXI RXDXIX-.K.5 3 `X1XD $.9XD hXK.Z U $ $XDX,X, xXl x $X1 hXI.aX, $ $.ZX1.aXDX1 $XUXl $.Z.w t $.ZX,X,XDX,XD.'Xw.ZX, $ $ $X, RX,.Z $ x : 1X5XD hXDXD.M.Z hXDXD $ x c xXD.ZXD $X,XD hXD <XDX, $ UXeXlXDXDXDX, h.M.MX,X,XDXD",
-" . MX+.Y.w.9 : c c.|.$ `.5.5 x :XI c.5.H.uXVX1XIXIX1 3 3 x h.ZXs s U C uXeX4.xX>X>Xr v._Xe v sXc.Y nXeXc.iXKXw.j.jX>.@ y.W.}XI 3XIXD.H.H ).H xXK.Y.pXGX+.Y $X,X, vX>.@.....s.@.EX>X0 J.Y x.M 3XlXl.M y.;.....E.-XwXc D ! DX;.3 D mXJ sXwXr.@XnX>.jXBX,.i._ 0.C M &.- mXc :XD.8XV.uXVX*.K.k c.k.K.uX*X9.K.K.K.K.KX5.K c.uXJ nXUX;XK., IX..,Xc c.a.a.M.a.a RX1X1X1X- RX-X-X- R RX- 3X- R.aX- t RX- R RX-X- RX- RX- RXDXDX,.-.>XwXHX. T D :XlXD h.j., nXwXJX,.uX5X*XV.H.H.r.u.u.r 3.r.HXx.kXV ~.rXVXVXoXIXIXV.HXX.]X3 DXJ.,XJ IXc.5.K.kXt.k.kXoXkXxXx.k.R qXt.R )Xx.^ qXx.R.k N.R q.k.$.X qXt.$ NX9X9 5 NX9.^XxX*.8XV.`.HXdX1.D A ]XyXyXOXO.0XO.2.> gXyXOXOXO ! mXJ.8XtXV ~ ~ 3XVXI.8.}X1 RXI.8X1.H $ 3.HXI 3XVXIXIXV.u 3 3XVXV.u c.u c c cXJX9 c.uX5XVX5XVX5.uXVX* 3.u.uXI c.K ` k.-.9 Xp Xq xXD.8XI.a.}.9X+XpXBXqXn n.FX4.p .X+Xe XpXpX+ >.<X4.F.F._ xXe t u.M U t.M tXD RXD aXl 3X1XDXIX1XVX5X3 : 3X,XDXIXIX,.aXIX,X, R.Z.u $X,X,.aX, 3X,.a.a R.ZX-.MXDX- RX,XD RX1.aX1XIXD c tX5X- R.a R R.aXI.a.aX1.a.aX1 R.a RX- hXD RXD.` aXI :.u :X-X1.aXD gX..'.9.w x s hXD.MXD.ZXD 3XD.a RXD 3XDX, $X,XIXDXDXl.ZX, $.ZXcXKXD h s $ $XD x.-.ZXl $.M $.Z xXD.aXDX,XDXD $XlXlX,.aXD.a $.M.M.a x $ 1X5 hX, $ $ $XD U.w x 1 1Xq 1Xq 1 U UXD.} $ xX,X, RXD",
-"Xr vXeXe.M.Z 3 3XlXxX3Xl c #XlX1XDX1 ` 3XIX1XIXI R.~ 3.aX5 c CXD.w.N.MX,._Xn 2 0XiXn.@.EX>X>Xp.YX>.j [ 1.Y.jXpXnX4 0XiX>X>XB # aX,XDXI cX,.MXKX+.Y y.[ $.aXD $ 1XfX> %..Xi .X8X4.4 ^.@X>.w UXlXw.1.>.T M M H.jXr xX,XcX5XJ.0 cXlXx `.9XcXwXrXf 0Xe t.a.a.WXnXfX:.jXw.,Xc D 3XV 3XV ~XVXV.rXVXVXV.u.K.K # 3 ~.u.H.H.`XI :.% D m.wXw : x.3XHXlX,.}XD 3XDX, 3XD 3XDX,X,X, 3X,X,X,X, $XDXDX,XD 3XDXDXIXDXDXDX1.aXDXD R.aX,.Z.9XwX.XwX.XcXl.9 $X5 xX, $ $X, hXI.H.K.H ~.HXV.H.8 ~XV ~ ~XX ) ~X*XV.HXVXV.kXVXVXV 3.u #.5 :X5.K.K.5 :.K.kXd.u.k.k.^.5.kXo.r.^XtXt NXd N.r.^XjXdXt.^ NX9.r.^ N.kXt.^.k.^.^.kXj.kX*XV.`.HXdXo (Xo ' Q.2 ]XOXOXO.>XO.>.> !X; 4.>Xy.>XyXK $.u.u.kXt.u.KX* #.u # c # cX5.u.u c )X5 cXVXV c.u 3 3XVXVXV.H.H.H.8.KX5 : )X,XIXI.8.8XI.8.8 3X1 R.` 3.`XI 3XDXD x XpXnXqXnXqXnX+.Y $ c.M.M.}Xe.F >Xq WXrX+XqX:.FXB E 1X4._.FXBX+XpXBXq.iXe 1.d t < t.MXD <X-.a R 3 $ cX1.`XI c $.u x : ` :.ZX5X,.u $X, cX5 3XDXD $ c $XDX,XD.Z c D 1 $ $ c 1 $XJXJXl.ZXDXD.aX1.aXlXI.aX-.aXIX-.aX-.aXI RXI.a.a.aXI RXD RXD 3X- 3XI 3 3 : #.ZX, $X,.MXD 1X.X,.wX,Xl RXDXDXI.Z hXDXDXD.aX, :XlXI.Z 1.Z hX,Xl $ hX, mXlXl.MXJ.M c x.'.9 R U.Z.Z $ h.Z x.Z.aXDXD.MX1X,.ZXl.a.a RXDXDXD RX, c.Z $ hXD x U U.WX,.i._Xq.FXqXqXqX+ 1.WXDX5.'XK D $X1 R",
-"Xp o._XG.MXDXDX5.5 ` )XI.5 3 3 3.Z.u c c.5 c c.uX5.K.K : ) `X1XD.N 1XMXe.}Xs.w..Xe ....m......Xf...@.j n HXn.s...s 0 0 ^X6.@.YXpXe._.pXe EXqXr...p yX+ 1 yXp.xXf ^.s.. %.mXA.x SXf wX+XG U hX,.9.E o.@XGX0Xr.jXpXDX,X5 RXlXD.8 3.} ) :.'XqX0.EXi ^ y $.MXs.@.<.CXw.-.'XcXc.8 3X*.u.uXV ~XVXV ~XV ~.K ) ).k ~XV 3.8XD.HXD `.%X..,.,Xl 1.3XJ s t tX-X- RX- RX- R.`X-X- a R RX- RXDXD RXI R.aXI R.aXD.aXIX,XDXDXIXDX,X, $X, $.9XcXw.- ' c '.Z.ZXlX.X.XJ : :.K.K )X5Xo.KXo.K.k.K.K.K.5.$X9.K.K.k.k.k.kX5X* c.kX5.K.5.K :.K :.5.5X9Xo.5.5Xo.XXo.5.XXo.X.5.X.X.XX9.XX9.X.XXx.XX9Xg.X.zX9.X.XX9XxX9X9XxXx.XXxX9.K.K.kX5Xx.7XO A 4 4 4X;.> ! g ! !.>.O.O !Xy ! =.>.> =Xc.' `XH.].K.8.u 3X*X*XIX-XIXI $ :.2 D IX1 3X1.aXIXDXIXIXI.8 ~.8 F cX9 c ` 1X, 3 RXI.H.8.H 3.~ 3 3 3.`XIXI.8 c # hX,XqXBXq..._Xq._XqXB > XB xX, t xX+X7X+Xn._ . WXp x < U x.YXpXp.p._XnX+XnXe.i._.}.M.} t.a.a.a.aX-XIX-.uX5X, 3 :XlXDXc cXIXD `XIXI 3 R.u.ZXlXK cX,XIX, 3Xl.Z $ 1.9 $XKXKXK $XKXl :.9X5 UXDX,X,X,XD $ $ RXI RX1XD.aXD RXD hXDXDXI $.Z xXV.Z c x $X,XI R 3.~XlXD RXDXIX,XDX,Xl.aXK s.w.9.Z R UXD.Z.Z.M 3.M $XJXHX,.MX,XDX,.ZX,.Z.a.MXD h $XcX.XD.M.9 : $.ZXD.M RX,.Z h $ x $X, hXD.aXDX,.ZX,XDXDXD.ZXDXD.M h h.a.Z 1 xXD.N.MXeXn._X+.[X+.[ [.yX< yXH.9XKXl.' $.ZXI",
-" b._XsXG 8X,X5 $XJ.5 ) :XcX5 $ $.5 ` ` : :Xx $.kX5XX ).5 c.u.5X,XDXG.Y UXD t.a.9.W E p.m . %Xf %Xn H.j M o..X6 2.sXL.v %.sXiX6X4X>.<.x.<X2Xf.<.E.pXp.WX+ v ^ { { %Xb E.dXA %X>XiX6.@.M.a.9 yXq.EXp.@.s . H E UXD 3 cX1.5 cXD.}.aX,X,XDXc y MX>X>.E.+ y.Z 8X+Xf W = D.wXVXD.u.uXI ~XVXVXVXV.r 3XV.K.u.kXtX*.uXV.H.HXV.` 3.u :Xl.ZXDX,.9XHXJ.a.a R R.a R R R.`X- R.aX- R.a RX-.aX,X-.a RX- R.aX-.aX-X-X- aX-.aXDX- tX- h t t.M t.M 8.M 8 8X-.DX..2 cXDXIXIXVXVXo.r.u.H ~.u.uXVXt.KXxXV.k.r.rXVX*XVX* c.H.HXV.u.kX5.K.5.K.K.K.kXoX5Xo.k.k.K.kXoXo.K.^.kXo.K.kXo.kXo.^.k.^XoXd.kXo.XXo.k.k.kXoXdX5.kXtXo.uX* 3.`.H : ] ].R 4 ]XUXUXPXP gXmXU sXw =Xc.- .-Xw nXw.1 1.pXc.Y k 1 c.u 3.5 RXl ).,XJ m :.5.0.uXI.`XDXIXIXI 3.uXV.HXVXt.k.5 3X5 ` :.,X,XDXD.8XIX1XIX,XI.MXI.8 3XIXI 3 # h.i.M._.pXq E._.m._.m._Xq.FXpXB 1 h <XnXp.F._XeXq.lX4.9XD xXKXq._.F.<Xq E.- >.mXq._X,.a < <XD aX-XI aX1.a.K.u c T.K $XJ.5XKXIXMX1.a RXIXDXV 3X1 3X,X,XDX,X,X, $ : $ 1XDXI.aXD R.M RXD.a RX1.a.aXIX1.aXIXI R R.aX1XIXI 1X5 : IXKXJXcXJXJ.-XcXJ R cX1 RXIXIXD.aX5 c B RXDX-X1.a RXJ $ TXJ.wXl.Z.M.ZX, hXDXD $XZ :.MXD RXDXDXDXD.M $X,.a hX,X,Xl.}XDXwX,.MXlXcX, $.w.MXDXlX, xXlX,X,XDXD $ cXDX,XDXDXD hX, RX, x.aX, xXq._ E U v...<X+._ h nXr MX%.- s.Z 8XD.Z RXD 1",
-"XnXsXG U.w $X,X5 )XV c c c.K ` c # R 3.5.K cX9XV ~.kX9X*.K.5XJXV U vX+XG $X5.0 c.M U < U < EXFX6X2 M.+.jXn 0._ u E < u.N p.m.sXi.sXnXbXA % {Xf.JXr vXG HXf % % %.) U.M u.)X6X6XbX> ..M h n yX>XAX:X8X2.xX+.M 3XIXVXV.`XVXD.MXeXp o.j.'.Z $.Z W.xXp.p x t vXG S.+ =XcXV c.uXIX*XV.rXVXVXV.u 3.r.u.K.KX9Xo.u ~ ~XV.8XV.H.8 3XIXI 3 hXlXwXw.9.a.a R R R R.`X-X- RX- RX-X- RX- R.aXIX-.aX- R RX- R R.a.a.aX1 3 a $X, xXJ h.a.M t h xX,XDXDX, DXJ.KXI.H 3XV.uXVX*.k.HXV.r.u.r.rXVXo ).k.uXVXVXV 3XVXV.H.u.8.H 3XV.k cXt.k c.k.k c.K.k.k.k.u.k.kXo.k.kX5.k.kXt.k.KXt.^Xd.X.z.^.XXkXxXo.^.X.kX5Xt.K.r.^X5.rXd.HXV.u m m ]Xy 4 4 !XyXU.9 9.jXPXG y.>X.Xc XXX3 |Xh = WXGXp W.-Xq.Y.[XhXwXh kX..Y : hXVXIXI.u.HXD RXIXIXV.K.K :X9.5XlX*.KXIXV 3Xc `Xc xXI.a 3 3 3 3XJ x.}X,X,.} 3 ` `.YXc xXp XG x x h.M.m.m._.i._.lXe >.<XpXq.FXn x 1 1._.l.-XD.' :.g.FXq.JXrXq M [ >.gX<Xe hXD.a t.} RXI.a.`.` R.].K.%X. D :XJ mXl c RXIX, $ R RXD c 3XD 3XD.a.aX,XD.aX5 RXD tXI t RX1.a R R RX1 RXDXD 3XDXD $ c c hXDXDXc : :XKXc.,XcXlX5X, $X5 $X,XDXl h R R.aXI.a : k 3X1.a R R.aX-XDXw ' xXcXl.Z.ZX, h $X, 1XwXHX,XDXD.M R R.M.a.aX,.w.a $ x 1XD.MX,.ZX, xXDXD xXwXD.Z.>X,Xe.Z.YX,.M.a 3 1XD $XD.a R.ZX,.aXD $X, h.w xXpXp._.F.FX4Xp.j U .j >._Xn x.M.M.Z.M.M.ZXU",
-"XeXqXe.W.wX,X,.]XJ `X5 cX1 a.a.a.a.`XI.uX5 c.u.8.K.5 3XV.KX*.8 R.M.MXn y U.9.] 3XD h U h 1Xq.C.C.C.T.T MX0X+X+ h E 3.}.i u...W 0 O v.. % % {Xf.; H n HX> ^ {Xb.d u R.a C.W.).s..Xf 0 E x.EX6.P {XAXf.<X>X+XD 3 3.u.`.HXIXD x.E.@ JX>.wXJXJ.}X+.p ...Xe.MXqXLXC z !X.., 3 cXVXVXVXVXVXV.rXVXVXV.KXV.uXV.K.HXVXV.8.H.8 3X1 3.5X3 c ` m.-Xc R R R RX- RX- R R R.` R R RX-X- R.a.aXD R RX-.a RX-.a R RX-XD 1 ` a.9 ` $ s U h.a.}XG h.MXD.,XJXVXI.H.uXVXVXV.u.H.u.k.r.r.H.r.uXo.5.5Xo.5.u ~.uXV.H.rXVXV ~XV ~XVXt.u.kX5.k.k.k.kXdXt.k.k.k.kXo.k.kXt.u.k.k.k.kX5XtXo.k.^Xx qXd N.$.^ NXx I.kXd.k.kX5.u.HXVXVXx c ' ] Q !XyXU.> ! !.1.>XU g.jXw.j.> [ | k kXMXBXS nXpXp >.gX4._._ nXrX<.jX+X+ .YXM.MXIXI 3XVXIXIXIXI 3XM.uXVXI.} cXDX,XV.`XI 3Xl # $.MXD.MXD $.- .9.} xXB.Y.Y.9 1 x 1 .- xXeXe.a.M < U < h xXe._XqXn.J.pX4._ 1X,.i ._.9 1 :Xc [.T WX: n W W.[.TX%.,.Y h <.a.a R.aX-X1 RX- 3XI ) $ :XIX1X, :XIXD.aX1 3 :.aXV 3 RX1.}XDXD.aX1.aXDXDXIX, RXI BXDX,XDX,X,XD $ hX,X,XDX,XI R.aXDX,X-X1.aXIXD hXDXD.Z RX-.aX1.aXIXDX-XDX-XlXI.aX1.a R.3.ZXl cX1.aXIX-X1XD aXD T.ZXc.2 hX, $ $ $XK x $ xX,.ZXD.MXD R.M R RX,Xl.M x x.Z R.aX, $.Z.ZX,X,X,.a.wXcX,.Z.-.9 $ $., $XI.9 :XDXDX, RX,XD.M.ZXD 1.9 1._.FXp >X4.FXn.FXw._.[ W X4 Xe.w U.YXK.j.-",
-" sXe.w xX,.ZX,XK `.3 D `.]Xl.ZXIX1X*X5.kX5.k.u.5.KXV.K.$.5.aXI R.a.M v.YXLXDX1X1Xs $ cXl 3 UXL.v L SX:.;X0.; g k.-.Y.-.[X,XK 9.!.0.! C U.s %Xf S S.xX6X6.s...W uXD tX1.D.M.W.sXi.4.C.4.C.JX6.P { {.P %._XK h R.k.8.HXIX1.Z.EXG J.E.E.a x.5X,.jX>Xi 0.d.W U._..X>XhXh m V : 3XV.uXV ~XV.u.8.rX*.kX* qXxXV.r.HXV.H.HXV.HXV.K |.,X. m n : $ t.a t R R R RX-X- RX- R RX- R R RX-X, RX- RXI a.a R.~X,XD.9 h.'XG.Z $ t.M $ 1.M 8XeXc xX, : :XIXVXV ~.u ~.u.rXV.H.K.kXVX5 NXx )X9.uXtXX.5X*.8.8XVXV 3XIXVXVXV 3.rXVX*.k.k.k.k.k.kXt.kXt.k.k.k.u.k.kX*.k.k.k.k.k.k.k c.k.^ q.R.kXk.zXx N ( )X9.kX*XV.r.H.8.H D 5 (Xx.2XyXO !.q &X0.> &.1 = =.OXhXw =., [ | V V.g kXpXnXpXnXp.F x EXe._XeXeXe..XqX4.YXq.}.MXD cXIX1XI.8.u.KX*.$ `X3XH kXc hXIXI 3X1.} $.} h.Y Xc.Y `.,._X+Xn._XqXq._XeXqXnX+XpXe h.M u.M.a tXI RXDX,Xe.F WX4 ...XeXe.i.M U._ 1Xw h $ $.[XqXpX4.<.p n [ [ [.[ x < R R R.aXD c R.` R.`X- :.`XD cXI.a $ RX1.aXDXIXI.a T.a.aX-XD.M 3 RX,X,X,X,X,XlX,X,XDXDXDXDXDX,XDXD RXDXD RXD.aX- R.Z cX, 3X,X1XDX- RX,.u h 3.a RXI.aXDX1.aXD $X, R.aX1X.XKXIX,XlX5XIXI RXI RXI.a.Z D 1.'XD.ZXH.9.Z.'X, x $ $ $X,.ZX,.MXD.MX,.Z.Z x.ZX, $.ZX, $.9.9X1.ZX,XD.a tXDX,.w hXD.'X..aXDXc.,.ZX,XDX1XD.M.a hX,.Y.9X+XqXp k z.T.[ M M zXZ.T.-X+ X+._Xq E._.[.YXG",
-" xXG h hX5 UXI $X5 $Xw mXl.2 'Xc.KX5XV.u.u.K )X9.8.8.K : cXI RXI.aXlXD._ s U 8 xXKXDXIX1X1 R.=..XiX6XA.. vXaX1 R.}X,.} $.u :.n ( g.]XD.W .Xi ; S.J ;XAXb...) U.N tXDXDXD 8 C.. {X6Xf.P.P ..4 L LXi...@.E.W RX5.H.H.`XIX1 xXKX+ y v.MXI 3 3.} y S.C ^..Xe t E ..x.- Y.G., }XV 3.8 3.u.u.8X* 3 #.r.8.K.K ~XVXV.H.r.HXV.u ).,.%.,XMX..-.9.M R R R R RX- R.`X-X- RX-X- R.aX-.~.aXDX- R.a.eX- tXD 1 :XJ.w.MXD :Xw.9.a hXU.-.9.-.- n.9Xl h 3.uX*X9.5.5XxX9 :X9.5 (Xx.XXo.KX* ~.r.8.8.uXtXV 3.uXV.H.H.`.u 3XV ~XV ~.kX*.kXt.k.k.k.k.k.k.kXt.kX*.k.k.k.kX*.k.k.k.k.k.k.k.k.^ NXtXoXo.k.KXx.u.kXV.H ~XI.H.H.u ].| ].2 ! !.> &.>.+.+.EX0 =.> = nXhX; [XcX3X3 V X3 [XGXnX+._.i U u._ x.9 E._ p.i MX+ XnXp x.} hXD.}XI.8.u N.`.`XM.Y.Y.gXr 1.`X1XI.8XD 3 x XpXqXqXp W.-.YXq..._._XeXe EXeXpXq y._Xe 1.M R :.DXD RXDX, h.MXe ..m._.m._ x.FXe._ 1 x.} RXKXn x._Xe._XqXnXBXp XcXcX, hXD 3 R.a.5 RXIX1 $X1 3XlX-.ZXI RXI cX1X1XIX,XIXD c :XDX,X, 3X,.aXDXI.MXD RXDX,.aX,.a.a R.MXDXDXD cXD.aX,XDXIXD.a RXD $XDXI.,XJ x.aX-.a RXDX,XD aXD.a R 3.MXD $.Z aXIXH c 3XI.aXV #X5 $ 3 R R R.}XDXIX, $ hXU.Z.w nXD.Z ' $X, s $X,.wX,.DXD.M R 1 $ U.aXD $.'XKX.XK.YXl $.MXDX, 8 U $XD hXl $ xX5Xl.9X1X,XI.MXD.MX, h.YXp.p.-XcXq.[.1.3.[.pX+X4.M.} hXcX4XqXq._.mXnXqXp",
-".Y $.W hX, $.MXDX, R $XlXD RXI RXVX* :Xx :XoXV.`.5X9.u RX1 cXD R.` D XBXcXpXGXGXc.wXD.8X1X1 8XL._ %.....M RX1X1.MX-XDXI.`.k.5.ZXV.} R U vXpX> L.J.J.P %XA ^X6 v 0.sXn.}._.j % {X6 ^XiXfX4X8 rXf ^ w.9.w UX,XDX1XIXI 3X1 hXDX,.a.aX,XIXIXDXG.EX>.@.@.; v E.m % %X+.Y.S.G m., 3XVXV 3.H.uXVXV.K.k ).KX*XV ~.H.8XIXI 3 3X.X..O.3.3.1XH 1 R R.a R.aX- R R R R RX-X-.aX- a R.aXDXI.a RX-.Z $X5 :XKX,.a.eXI R $ [XH 1XwXJ.,.9 $ c.MXIXI cX9.5X9.5.X.5.k.u.k.u.uXX.uXt.H.rXV 3.r.uXV.r 3 ~XV.r 3 3.8 3.u.r.HXVXVXVXt.k.k.k.k.k.k.k.k.k.kXt.k.k.k.K.k.k.k.kX*X*X*X*.k.k.KXt.k.K.k.^.kXo.5 ~.r.HXI.8.H.HX5 q.2X@ ( ] ! !Xm H.; z z bXr.>.EX0Xw [XK.Y `X3 c #XXX3Xw [.pXp._.s E <XD.M xXD hXc.MXeX+X%Xn x.9.9.9 1X,XI.a.k c.8 3 3 `X%.<X+.[.' #.8.aXDXM.- 1._._ EXcXpXM x._ x p U U.M U.W = [ n.Y n.'XcXr.9XJ.2XV.H.~XVXD.M 1 U...p.F.<.[Xp.g.[ x.jXB.Y._ E._XeXe.iXq xXeXD $X-X,XD cXI R RX1XD.5.uX, : :.u.u cXl c $ 3X1 3 RXD.a RX- R.a R.a R.a.a.a.a RXIX,XD R a.a R.a.aX,.ZXDX, $X,X,.Z $.uXI.aXD c tX.XJX5.aX-XI.aXIXD cXlXK cX, : :Xl :XJXKX- :XlXD.`.a R RXI 3X5XM.KXDXD RXD.a R.Z RXD.Z.9 RXK.w.Z m.Z.] TX, $.Z xXD 8 R.w.Z.M RXD.M.Z.Z.'XcXK gXK T 1 h $ $X,X,.M 3X5XlX, RXIX,X, RXDXD.M $.Y.<Xr.iXD R.aXDX,.,Xp >X+.}X, R c.pX+XAXq._._.<X+",
-" x $ $ x $XD.a.ZXDXI.' RX,XD.a RX1.`XVXIXD.H.`.uXXXVX- 3 cX- aXI.8XV.KXc.iXsXe.j n hXIX-X-XI.u UXs E U.d 8 R R.HXI.ZX,.uXxX3., `.l 1 $ $Xe v.mXA %Xb.dXF..Xb.PXi %Xp.J.J.dXA.JX8 HX>X2.x.p.jX>XC HXL.N.a.a $XDXD.aXI.`.}XI.a 3.}X,.aXD $ gX+Xp.x.E.@.EXn._._XA.J.@ x $XwXhX. D 3XI.H 3X*XV.K ~.K.$X9XV.rXI.8.8 ~XVXl.2X.XU nXw n.3XU 1 R a RX-X-X-X- RX-.aX- RX- R R R aX-X,X- R.~XD $ `XlX, a RX1.} R a.u T 3XK : hXIX1 3XD c.KXXX9 c.kX*Xx.k ~Xt.8.rXV.rXo.8.H 3XVXV.r.u 3 ~.u.rXV ~ 3 ~XV.u ~X5 3XVXV.r.HX*.k.k.k.k.k.k.k.k.k.kX*X*.k.k.k.k.k.kX*.r.r.u.r.rXt.rXV.rXtX*.k.u.r.kXVXI.8XV.`X5.R.5Xo.k.2.R.2 !XU M o.v ^ H O s HXLXGXU.[ X3 : c h c 1 X7 W W.<._ v UXq #Xc.l $ kXq <.M.WXe._XeXq x.- XMX1X*.5.` 3XIXpX< +Xr.- ` 1XDXl `.-.Y.FXeXe EXp x $ $.Z U.} R < R.a.M tXq.WXG UX,Xe.Z.M.WXs.MX,.`X5.uXIX-Xl xX< zX<.y.1.SXh.Y.9.-.p.F.m._.M.M h hXe x $ hXD.Z x.a cX,.5.a.u 3 3 3 RX1 c.KXl B.`X1X1 3XDXI.aX-X-XD RXD R RX- R.a R R RXI RXD.aX,X, c.'.a tXD.aX,XDX,XD RXIX,X, h $ c cXDXI., :XKX-XD R.a R R.aXIXK VXKXl T :Xl :.5 3X1.aX-X-.aX1XIX, 3.a.5X, c :X5 R R RX1.ZX, RX- RX, $ $ 1X,XcXc 8.ZXl T $X,X, 8X,.w.aXD RXDXD.M tXD 1 hXK.9Xc.9XJ $ $XlXI.a :X,XIXDXDX, R.M.M.MX,XpX4.p x.MXVXIXVX1X,.-.gX+.} 3XIXIXB >X4._._Xq.pX<",
-" x hXcXUXK x RXlXlXl xXIXD t R.aXI RX1.ZXIXIX1XV 5 #.uX1 R RXD R.`.` 3Xl < U.d.YXwXlX,.a.a $ < c h.M.}.}.M h.Z 3 3X1X1X1.aX* h.SXBX,.a R T.n y.) E u E.F.m.<.{Xf.xXfXA %XA.m.PX6Xp U.ZXw yXJ n 1 $.Z 3 #Xl cXD.u $ c.a 3 3XV 3XI.M.D x.j.jX>X+.d W.x v 0 v ..J wXp.E.jX.XhXHX.Xc `.HXV.H.u.k.kX*X*.k.rXV.H.8.u :.5 :XJXcXcXK.9XcXc.- R.MX- RX- R R RX-.aX- RX-.a R.~ aX1XD.Z.e.aXlX,XlXDX-X- RX1X-X-.8Xl # 3 c.aX* c c 3.u c.5 :XVX*.r.rXxXx.k.rXV 3XVXV.uX5 ~XV.rXV.8 3 ~ ~ 3.rXV 3 ~XVXVXV.rXI.K.H 3.rXV.rX*.k.k.k.k.k.k.k.kX*.k.k.k.k.kX5.k.k.u.rXVXV ~XV 3 ~XV.rXVXVXtXdXV ~X5.8.H.8.`.k :.`.H ~.|XyXy !.'XCXmXp b o.jXGXG b.s.s.YXw ` .lXIXI c 3 X7.g.x..Xe._ 1.p.- Xq.iX..[ 1 xXD.wXq._XeXn 1XK # c c 3.8 3 XG > E.MXD.} RXG.lXp $X4 E.M u U h.aX,XD.a RX1XI.a.`X-.a.a aXDXD RX1 R.a t.ZX,.MX1Xw T.~ : 1 $ nX.Xh.jX<X+Xc.wXe.-.pXq.FXq UXDXDX,.a.i $ $ R RXDXD R RX1 h.~.aX-X- aXI 3 :.HXX cXlX5 c cX1.eXD R.e.a R.a.a.a.a R R.a R.a.a R.aXD.Z : 1 R R R R.a.MX,XDX,XD.a.aXDXDXDXD $X,.3XJXDXI a R RXIX-XDX1XDXD $XD aXV RXI R # 3.Z 3XIXI $ c 3 c cX, 3Xl.a 3Xl :X5 cX,XlXD.ZX5 h 3 $X1 c.DXI aX1.w.ZXD.ZX,XDX,XD.Z tXD.a RXD R.M R R.MX-XDXDX,.Z $.a $X,.u.Z.uXDXD.Z.aXD RXD U.9.JX4.[XD RXI.`.8XDX, h [XlXIXIXI.p ..FX4.FXn.[.Y",
-"Xl s hXw.'X,XD.,Xc TXD x ` cX, 3.aXDXDXD RX1X-.KX3X-XI RX-.a R RXDX1.u.u hXD x y XeXKXqXe.}.}.a U $X,XDXDXDX-X-X- R.a.a 3.a 1 $.3.M.a.a.] 8Xw tXD.a.e.h.x M.{X:X2X>X:.< %XAXnXrXwXl 1.'XcX5 cXI.aXI 3X-XI.HX1XDXI 3XI 3 3 3.Z.Z.Y.jX> yXC M._.F.p.1.+.+.xX0.;X>XnXGXp.TXc.O m DXJX5XVXVX5 3.5 qX*.u.HXV.8.u.K.K 3.,XH.j.9X+.Y.i sX, RX- R aXI R.aX- RX- RX-.a R.a.a R.a R c $ T ` x.eXI.aX-.a.a.` cXXXIXIXV 3XV c.8XV 3.K ).KXtXt.H.k.zXo.r 3.r ~XVXV.H cXV.rXV 3 ~XV.r.u.u.r 3.r ~XVXV.H.H.H.HX5.H.r 3.r.u c.k.kX*.k.k.k cXd.k.kXt.k.u.k.k c.k.rXV ~ ~ 3 ~ ~XV.8.r.r.`X* 3XV.8.K.8.8.8XV.uXV.uXdXV.RXy ! &XC.! yXmXGXeXH.WXaXeXG vXnXrX7 1 :.}.aX,.M # .gX+.pXqXp._Xp.[X+ 1Xq x.iXnXcXc.9X5Xp EXe._._Xq.9 h 3.8X1 3.9.9XnX+Xq R U < XGXe.i xXe <.a.MXDX,.a R RX- R.`X- R R R RX-.a.uXIX-.HXDX- h.ZX,XeX, `X, :XJX.XJ.,.,XB.1 [.-XcXr [X+.mXe.}.aX1X1 a $.YXc.9Xc T :Xc :XDX-.uXIXI RXIXI R #XV cX- c #X-XDX5.,XJX-.a.a R RX- R R R R.a R.aX-.MX-.M R.aXc $XI.M $XDXD RX-.a R R RXI.MXIXDXDXD cX,.a R.a.a.a R.aX- R aXIXD aX5XIXI RX1 RX-XVX-X5 $ 3XI.aX- RX-.aX1XIX1.}X1 R 3XD c :.5XI 3.`.aX1X,XIX,.ZXlX,.eXD.e RXD.Z.ZX,XD $.MXD R.MX,XDX,.a.aXD h.Z hXD.} cX1 $ xX,X1 cX,.DXDXD.a U.MXq.FXq.p xXI.H.`.8XI RXD 3 # R.H 3 .j WX<.jX% n.g",
-".w h.ZX..ZX,XD n : 1X,XK m ` $.aXJ k x 8XD 1XDXJX*XIX1 RXI.Z $Xl $ <XIXV V ` 1.Z.'.'XGXp.JXA.s p.d.M.M.a R.MX1.a.aXIX- $.M.MXDX1XD R.a.aXqXc ! R.a U.M y S.;...xXn.M.L.+Xn.jX+ g KXh TX5X. x.2 ' )X1XI.H.]X9X1XIXIXI.}.8.}X1.w.YXf...P...@.EXnXq MX2.;Xr.jXrXw & y HX0.+ =XhXhX..| '.HX9.5Xd.K.k )XV.uXV.8X5.KXI.aX3Xw k = n.SXG hXD a R.a aX-X- R R RX-X- RX- R a R RX-X,Xc 1.uXDXI.MX- R RX1X-.K.|.`XVXVXIXVXVX*.u.8.k.XXd ~.rXVXx )Xd.u ~Xd.HXVXVXV 3X5.rXV.HXVXVXV 3.8 3XVXVXVXVXV.r.8.HXVXVXoXIXVXVXV.r.k.kX*XdX*.kX*.k.k c.k.u.k.k.k.kXd c.u.HXVXV ~XVXVXVXVXVXV.8.u.8XV.HX5.8XI.8.uXVXI.HXd ( ] ! g.> 9.v 0XG s `.wX,X,.M.WX6.EXw k .Z.aXI $ `XMX7.[X4XpXq._Xq.Y nXpX+XpXp._Xq p . >.< M._ p._XnXe 1 1 RXIXVXI.a h.YXq :Xq 1 v >.F p.m U h.a R 3 RX5XDX,X,XDXDXDX, 3 3XDX, cXlX,Xl.KX5 c c 3.a h.Z.M.a RXlX- $.-.> n = [.[.1 =X4 MX7._Xq <.a R R R 3.wXl 'XJ 1 $ ' ) BXD R cXD R.a RX-.` R #X5.`XlXIXIXI KXVXDX- RXD aXD.a R.aX-XI R R.aXI R R.a t D :XD.aXc.Z 1Xc $.MXDXD.a.a R.a.a.a R $XD.u.aXIX- R R.aX-.a.a R.~XIX1 c.e.aXIXD 3 $XM.u RXI RX- R.aX1.a.aX1X1 RX1XDX1XI RXI #.5.aXIX-XIXIX1.aX-XD c $XDXD RXD R.Z.w h.M s $X,.Z hX,X,.Z.aXDX,X,XD c cXD.aX-XIX-.aXD $ cX,.MX,X,.W $Xn.mXn.[.a R 3.`.`.H F.H R c c.MXe n.gXpXc n.} $",
-" x.w $Xl x $.aXKXJ $X1XJ k :X- tX.XH RX, 8 mXI $XXXHX5 RXD ' : a R 3XI.8.K :XI.ZXPXs.NX=.s . .X4 JXqXLX,.M.aXDX, 3 3Xl.a a.a.HX,.H R 1X, u 8.M R.a.a C.mX=.P L .X> [XrXZXm.W s y.O nXl.Z ` 3 mXd TXIX1.u.2 :XDXDXIXIXI.8 3.M.Z.EX6 %Xi...4 yX>.xX>.@.;XwXwX5XD 'X0 WX0.j.jX. nXl.D 3.uX5.u.KXxX9.k.uXoX1X5 `X*.u # |.3X;.- y.g.i x.aX, 3.aXI RXI.aX1.a.a.a.a R R RX-X-.aXDXD R R tXDXI.* RX-.a T D.u.u.HXVXV.r.HX*.8Xd ).k ~.r.kXk.X.r.rXxXo.H 3.H 3.u.8XlXVXVXVXV 3XVXVXVXVXVXV.r.8.rXVXVXVXVXV.KXI.u ~XV.u.k.k.k.k.k.k.kX*.k.kX*Xd.k c.kX5.k.k.k.r.HXV.H.HXV.H ~XV.HXVXV.H.u.8.K.u.8XVXV.H.rXV.R.2XO !XC.+.EXm y.' TX5.KXI.M.W.W.W.sXnXrXc 1Xl.a.aX-XM XB.-.[ >.F._XqX7X+.9.[.pXpX+X4.F._ p._Xe._._XeXn.F.Y.Y 3.}Xl $ hX,.-XpXG.Y >XpX4._ x.W xX,XDXDXV 3 RXD.}.a.a.} cX,.aX-.aX, R RX5XI.`X- R.aXIX, h.aXI cXKX- c $ h._ x x.9Xe._Xq.FXnXq EXD.a R.aX1 RX,XDX, RX1X,.` x.aXIXDXDX,X-XI aXI.a.`X* :XI c c.aX1Xl.G cXD RX-X, RXD R.a RXDX1X-X, cXI.aXI RXD.M 3 sXl xXl xXl R.a R R RX1XDXI.aXD.a.ZX, hX1X1.a.aX-XIX-X-XI.a RX-XI.ZXI.u c cXI 3.u t R.a R RXD.aXI aXD RX- R R RX-XI RX-.u ) 3X1.aX1 3XIXIX- $ :.wX, RX1XIX,X, $.ZX, 1 $X, h.Z.wX, $XI.ZXD $.ZX,.ZX1XDX1 RX1XDXl.wX,.M.wXe x pXeXq.FXp.} 3 RX1XI.H.H.r $.u.K 1.}X+XGX<X+ XB.a",
-".w $XK.9XlXDX1XI : RX, 3XI xXIX,X3 : T :.5.,.e 3X,XK B R.' hXw cX1.3 ] x.KX3XM D ` D.D 8 t u u UXeXG.Y.j.EXn.} U 3X3 #XX :XK $XlX5XDXGXe.... U t.} t E.mXb.PXA %.P ;XpXr U xX>X6X8.x :X,.HXD D.2 ).8.H $X. hX, h.iX,.a 3XD hXeXCX6 % %Xf ^X6 .XfX> ..O.+ TXV 3 $.>.j y.Y nX; TXIXVXV c.kXV.kX9 ).8.k.kXoXo.HXI.`XJ., 1X, U x $X,.}X1.a.aXI.aX1XIXDX-XDX,X,.aXDX, 3.Z.a.Z hX,XG.-XwX..-Xl : c.2.$ c.k c.kX*XVX*X*.u.5Xk.K.r.K.XXx.5XtXV :Xx.uXV.HXIXI 3.8.5 3XIXVXV.8.u.~.HXVXIXI.8 3XV.8.8.H.HXDX5.H.HXVXV.8.u.kX*.kX*XdX*.kXtX*Xd.uXdXd.k.k.u.kXVXV ~.HXI.H 3XV 3 ~ 3.HXV.HXI.8.uXV.8.HXIXdX5 D !XOXO H &XC.E.9 =X5X5.]XlX,XD.W.) 0Xn vXr.-.9XX h.8X, 1 k :Xc n.[XrXq.p.jXr.p >.j x 1 `.-.-.-X4XpXpXpXGXq.,.9 U.a xXcXc 1XeXpXq xXeXe E $Xe h t.a tX, RX- RX-XD R.M R R $ a.a.ZX, cXD RX1XIXD RX1XIX-XDX, 'XlXDX,X5XIX-X-X1X1.M U $ x.wXe xXe x $.a.a R.a R R $ c.9 :Xc.9XK TXJ TXcX5X, BX-XI R RX-.aXV.K.uXl.8X5XcXJX5 $XlX,Xl., : 1X5.9 ` TXKXJX. 3 R.aXI 3.u 1 : $ $.Z cX,X, RX- c $X,XD $X,Xl.ZX5Xc cX, R.`XIX-.`XIX-X-X1 R RX-XI 3XIX,.a.a R x.u RX,XD <.9.Z $XlXcX,.'X- R RX1 RXIX1X- R ` c :Xl $ T $ ` mXJ D.Z.a RX, BXD $.Z.MXe x xXDXeXD.ZX, $X,.Z $X, $.Z cX,XD.a RX1.' xXG.YX+.j..._.mXeX4Xc.WX, h c cX5 c.8.H.` R 3 $.Y.F._XB.J >X2",
-" v xXc TXK ` ` ) T c.5.aXl cXM h.~XIXV ` :.K 3 R $Xl 8 R.Z.2 1XD R.|X5XV a.,.a 3 ` Y.DXD.D.- h U.W U.) 2.Y.W <.a hX9.`XVXIXIX1.~X5XD.W..Xb..._.m E U % % % L {XA %X>.x.sXe.@.P.P LX6X+ TXIXVXD.HXV.r cXI $ UX4.pXpX+XK.- n.j.x ; ....@ v vXe ^X4 ^X6 yXH cXV.u.uXK.jXK.jXKXKX, 3 3XV.KXV.rXtXt.XXx.XXo.u.r.H ~ 3 VXJXq xX, U < h RX- RX-.aX-X- RX- R RX- R R RX-X-.~ RX,.M t.,X+ $ n xXc.%XJ.5XVXV.u.r.uX*.u.k.uX9XxX*.kX9X9.$.5 N.5XxXxXV.0 )Xl $.u.K 3 :X5 :XVX5X5.ZXc 'X,X5 $.u.u.k.K.k cX5Xo.5 c.k.kX5.k.5.5.X.5 N.5.X.5.5Xo.X.X.5.k.5.X.5.XXoXo c.k c.k c.kX*.k.KX5.k cX*.KX9.KXV.5Xo.5 ( f @X; !X0 H yX> g s (.0 : 3 :XqXeXG.+Xh.EXw.- `X3 VXM $Xl.uXcXX k k nXqXpXqXq..Xn.p.Y $XDX,.iXM 1.9 .9Xp < h x.9Xq._.FXpXr._Xe E x.W U U t.M t.aX,X-.a R RXD.a a.aXDX,X1.aXI.Z R R R R R.ZXD a RXDX,XDXDX1 R.KXV c 3 : 3X-XI R.M U U.MXD UXD.M.MXDXI R R.aXD : 1XD T xX, T : $ 1 R.u.aXD.~.a.aX1 aXI $.KX5X5X1.HX1X1X, aXKXcXK m mXcX.XcXc 1 1XD.a aX- c 3.a RXDX,X,XDXD 3.Z cXl.9Xc T k.2Xw m 1 k $X5Xl :.8X-.uXV.~XIXVX,.u.Z 3.~ R RX5X- R.u $Xc TXKXK.ZXl.Y 1.'XD h.a R.a.aXIX-.e RXDX1X5X. TXKXHX. TXKXKX,X, R $X, R.a 8XD xXD.}.W x $.M.Z.aXD 8XlXDX,.ZX, sXl x x.'XGXcXH.j.O [X+.pX4._Xq.FXn.pX<X,.MXD.u :.u TX5XIX1XIX1 sX7Xq rX%XA.p",
-" x $.wXl x 3XJ ) :.5 cX1.KXK :.KXl cX*.5 3.KXK # R R.a.M a.MX,XI.`X5XJXD 3 YX1 c 5 D.D B $X; 1.M u uXsXnXe C < $ : cXV.5.5.kX-X- # 1.YXn.C.P %.s.s...v 0.4Xi.v vX>XG.MXsXpXfXA.B {.BX6Xf.9X,.uXV.H.K cXDXqX0 M.; S.+.E M M.4X:.P %XqXq x.D.W.W uXi.sX> M c 3.rXIXK.O.9XcX,XD.u 3XV.k.kXV.r.k.KXxX*.r c.H.`XI.8X-.,X..9 1Xe hX,X, <X-X- RX-X- <X- R.aX- R RX-X,XDXIX- R c.a RXc xXKXK :Xc c 3XV 3XV ~XV.u.rXVX* ).KXV.r.u.8XXXtX9.K.5X*XI '.] D T cXDXD $ 3 $.wX5X,.D.Z.'XG.' gX, 3.8.8.r 3.r 3Xt.u.HXVXV.r.H.k.kX5.kX*Xt.kXo.kXt.k.k.kXdXt.k.k.k.u.uXV.r.H 3.HXV ~.HXV ~ 3.HXV.H.uXdXV.8.H.k ) 4 K @.q & o OXLXeXJ $XVX1XD UXG.sXe HXGXG.9.[.- VXMXMX*XX.}X* | VXc [.Y.-.p._ 1.iXcXq 1.Y h hXDX-XIX-XIXDX- h xX+X4._._Xe.mXn >X+._ $ < t t.a t.a R.aXDX, R R.aX,Xl xXIX5XlX-XD 3 $XIXI RXI R.aXD.u aXDX,XD RXDX1X1 # :.kX1.KXI R R.M.aX,.a R.M R aXD.aX, RX-XI R.aX- RXDX- R.ZX-X,XDX-XD 3X1 RX-X-XIX- 3.`.KX5 c 3X1XI RXD.u R R.a R RXDXl BXDXD c $XlX5 $XMXD RXI R $XDXD RX-.aXI $XlXlXl.9 3XD h $.Z 3X1XI.u D.KX9.5XXX5 cXIX-X-XIX5 3 BXI.u RX1 : $ h xX,.MXD R.a t.a R.MXI.a.aXDXD.,.%XIXD R.u 1.ZX,XD RXD.Z.a RXDX1X,XD R 3X,.Z.w.w h g.Y.9 : T.2X,XD xX,X,X,.w.1XcXHXBX< n.jXpXn.p =X+.[X4XpX+.-.YXc [ ` m.,XJ.%XX.K.H.`X1XD.aXJXp._X4 >.J",
-" x $X, 3.a.5Xl.` R 3X1X1XM.u cXl cX5 c :X- ).uX1.u RX1 RXIX1X- RXI.uX- R R $X3 3.u :.uXI 'X.X,.M.M.d J.w.d 1.Z cX1.XXV.H cXV 3.u c $XpX:X8X8.@.J.. 0 0 S.qX>.EXm.Z.MXsXGXf.P.v % { L.PX6 y.ZXI.r.u c 3X,.9XG 0.@X>X>X> HX> ; {XA .Xp $ # R $.M U.) .X>.h.9 h.uXVX,.'XJ 1XI.uX1.uXV.5.8.r ) 5 ).r.r.8Xt.H.8.H.8 3X5.,X.XcXcXG h R R R.aX-X-.a RX-X- a.a R RXD #XlX- RX5 `XK : xXJ., ` # 3XV 3 ~XVXV.r 3.rX5 )X9.5XV ~XVXV.r.rXV.kX9XV.`.].R.'.2.w yXD.ZXK 'XK.'Xw.E.' o o v JXKXsXD.}.r 3 3.rXV.u c.H.HXV.r.r.u.k.kX*.k.k.k.k.k.kXt.k.k.k.KXoX*.k.kXtXVXV.8XV ~XVXV.H 3 ~XVXV.H.H.u.u.8XV.HXo 4XO gXy &XC J.s v h c ( 3.Z.M $ v v 9.E.q y y.,., VX3XM :.a.8.} # #XB [Xp._._ XK 1 $ hXq.Y a.uXIX1.HXIXI.} h.-._Xe._ p..Xe E._._ x._ t.a U < R R.a B.a $X- R.a.aXc.9 m 1 :.,XJ :XJXKX5 RX- R.a h R RX,XDX5 c RXI 3.8 :XX :XlXl R.a R <XDXD.a.aX-.a R.e 3.a RXIX- RX- hXI R.aX-.a R.u R R 3 3X-XI R RX-X-X-.8XX :.KX-XIX1 RX,XI.a RX- R a R.aX1 B.e R aXD R aXI R aXDX-.Z.a 3XD.a.a R.aX-.aXD R.M RXDXDX,XMX1X-XI : c.5XI 3XI.~.uXlXl ' ` `Xl.0 D s aX1XD RX, R.a.aXD.aXD.a.aXD R R RX1XcXNXJ RXDXD cX,XVXDXDXDX, RXD R.a R x c TX,.9X. :.M [XJXwX.Xc.'.wXD R $X,X, UXqXp >X+X+ >X+ XG.pXp.[.-.[X%Xh.T [XZX#.GX.X. )X1.HX1.8 3XI.`.H h.[ .p.T W",
-".M.Z.MXDXD.a c 1 3X1.aXI.uXlXIX-XIXVX1 R 3 :.KXJ Y #.DXI 3 3 ` DXJXKXl.u.w.KX1.`.`X-X1XD.Z R.a.M.MXq x h xX,.ZX1X1 B.`.H.K 3 3.a.}.}XeX4.C rX8Xr.@X+X> v vXG $XDX,.wXnX>.P.B.. JX>.xXf.CXpXDXV.H.5XV.uX,XJ oX+.E.Y o.-Xw =.x . %..._ E .W U U t E pX8 W =XJX5 3.DXIX,.HXD.u.u ~X*.k.kXx.5.XXx ~XVXV 3.H.8XI.8 3 3XH.,.jXw 1 1 t R R RX-X-.a.aX- R R.* t.aXDXKX-X1.~.,.5 3 3.a.u.}.uXI 3XV 3.rXV.r.k.5XxX9.kXV.k.r.HXV ~ 3XV.H.8.u.H.]XJXUXP.!.'XUXa J.!Xm bXL 9 b 0 v b 2XG y.9.ZXI 3XV.r 3 ~X*.u.rXV ~XV.HXt.kX*Xd.k.k.kXt.kXt.kXdXtXtXd.k.kXd.u.uXt.H 3 ~XV.8.HXVXVXV ~ 3.HXV.u.kXVXIXVXx ] g g.>.qXC 9.sXs $ 1 c `X1XDX0 &X4.9 =.9Xl h 3X*XX.,X3XM #XI.a c `.gX+.i._.M 3 #.l.9.FX+.F.M.8.8.8XIXI.a.aX,.pXqXe.i._ < E._Xe._ h hX, t a R.M 3.aXIXDX,XD.aXI R $ R $.ZX,XD 3X1 3XI cXDXI.aX1 R 3XDX,XD.9.9X1 RX-X- 3.5.5 ) c.`.a tXI RX, R R RXIX-X-X, R.`.a.a.a hXI a RXI RX- R.} 3X1.aXI hXI 3X, RX1XIX- 3.KXl c RXI.aXIX,.aX1.M RXD R R a 8XDX1XDX-X-X-XD RX1 RXD.aX1 R R RX1X-.aX-XD R R R.a aX,X-X5XD.`XIXIX* ` ) 3.~ RXI.DXc D.' T :XK # cX1.e RXDXIXD R RXD R.e.a R tXD.aXDX-.3X.XNXDXV 1XD aX,X, RX1.ZXD R.a RXD c :.wXK.' :XGXD h.D.WX, s RXD.aXD.MXqXqXp.Y >XpX+.FX4X4X4XG n.-.} $ ` 1 1XcXHXcXJ., )Xl.H 3XI.H.8.`.`.HXIXI.9.F.YX4 >",
-"XDXDX,.a.MX,.aX, :XDXD.u c 3 #.K cX5 3.uX-.K 3X9 : c q : m.$XX ` `.u.DX,X1 R.5X9X-X1.H cX- 8 u.MXGX+XM <.e #X5.u.`.H.HX5.8XI.a .a.d...PXf wX>X>XrXrXw.M.a.eXD 3XcXKX>X>X6X6Xp.EXeXpX>XrXrXc.u.kXV 3XV 3 hXlXG $.DX1.H.DXKXwXn ..m...d EXn.s pXq.m .XA...@.>.]XVXV.HXV.u 3.8XV ~.KXo.X.k ).k.r.r 3XV.HXV.HXIX1.}.uXw nXw nXw $ < R R RX-X-X- R R R tXDX1 1XD.e ` 1X9 | 3 3.uXV 3XV.rXV.kX*.k.KX9XxX9.kXtXV ~.u.KXV.8.u ~.u.H.8XI.H.8 $XoXa.M.! 9 y y s J v.W OXL OXe.vXn 2.s.sXGXcX,XI.8 3 ~ 3.kXV.rXV.H.u.r.u.k.kXt.k.kXt.kXt.k.k.kXtXt.k.k.u.k.k.kX*.r ~ ~XVXV.HXV.rXV ~XV.HXVXV.u.H.H.H.0XN @ 9 & H o vXL U $XDXI 3.Z.w.. M.j [Xl c.a 3.}.a 3 VXX., I h.MXJ .Y k WXq._ 1.a.` c xXeXqXp U.5XI : 1X,.M u.M h.- ._ Xp uXBXeXc UX,XlXlXcXl ` TXlXK :.M.u R.aXI t.aX-.a R R R.a R RXI.}XD.aX-.aX, t.ZXD RXDX1.aXIX-.`XV.K :XI.ZXI.a.a RXD 3 a.a R RXI 3X-X1X-X-XI.a.e 3.}X- R.a.~XDX,.~XDX-XIXIX,X1 3 3 3XV c c.u.KXDX1.aX1XIX,X- R RX- R RXD R R R R R RXDX- R.MXIX-XDXD RXD R.a.a R R R RXDXI.aXD a 3XD $.a.` RXV.u 3 :XIX1XD $XK x.aXD.eX5.ZXIXDX1 RX- RXDX, R R.aXD.aXD RX1.aXIXDXSXlXN.3 x RXI.a.aX,XI R $XDX1 R.a.aXD cXD.a RX, $.Z.MX,.DXl $Xl $.Z $XD h.9XpXqXqXp.pXr W.j n [ k.3 c 3.Z 3 x.iXJ k.]XlX1XI.`XI.`.8XVXV.`.`XIX-.9XqXq >Xr",
-"Xl.a.aXD cXD cX,Xl.uX,X1 cXl.5 : ).K ).5XIXoXVXVXl )XJ ,.| D ( |.]X3Xl D T.H )XXXt.8 c R.a RXD.9.9 U t 3 c c.kX1X5X5.HX-X1 $ ` C.).sX=X6 JXf 0 M.'.' :XJXK T.] 1XK v =Xr.jXw y $.w.M nXG.<.j ` h.} 3.}.k 3 3XIXDXIXDX1XV.Z.9X>.@.. % %X4XA.v . p.... S.x.EX0Xc c.H.u 3XV ~.rXVX*Xk )XtX*XtX9XV.rXV.u.KX5XI.HXI.uX, kXHXUXwXw.iXDX- R.a RX-X-.aX- t R t.M.9XlXDXlX3.u c 3.r 3 ~ ~.rX*X9 NXxXx.K.rX*Xo.k NX9.kXd.K ~XV.uXVXI.HXIXI.8XIXD.DX,XPXw yXGX0XKX0.j &.j.s.Y.@.j.E.EX0.j s.>.ZX1 3XVXV.HX5XV.r.u.r.kXtX*.kX*.k.k.k.k.k.k.kXt.k.k.k.kXoX*Xt cXd.u.HXV ~.H.H.H ~.8.8.rXV.H.H.u.k.HXIX5 (Xy !Xm &.q.EXnXeX,.wX, R 3 RXe o 2 v.9.ZX1 3XI.a 3 V V 6.%XJ kXc |XH.,.[.[X2.[ :XlXIX,.i pXp 1X,XVXB 1Xp.9XM x E x.Y.YXw.S nXBXw.-XcXHXKXcXc.,.] $ `XJXcXI hX1.a R.M R.a.a.e.aXI R RXIX-.a.u.a RX,.MX,X,XDXD R R.aX1.a.aX-.KXl.HXIX-.a B.a RX,XI.aX-.aXDXIX-X1 RX1XI 3.a R aX-.a R.a RXIX,X- R R RXIX- RX1.~ 3 3 RXIXI cXl h.e.} 3 3X1XDX1.a RX1XDX, R R $XDXDX,.ZXl.ZXlXD 3XD R.a R.a R RX-XI R.a.a aXD.a R RX5X-.` 3XX ) :Xl.e 3.3XNX1XIXIX- aXIX1X-X-XIXI R.` 3 3 RXDXDX1.aXD.aXD.a :XN.O kXN $ RX-.aX1 3XDX, $ aX-X,.~ 3 R $X5X,XI.Z h xXl x $XD.w $.Z.a.M.MXeXqXp k W =.[X<.j.S gXcXJ 'XV.`.8.u hXI c c R 3.8 3.`.`XV 3.8XIXIX1XD $ X4._ . >",
-"XlX5X5 cX, 3XD.a 3 TX,.u.5 ).8.8.` 3.5X*X*.u 3.H.5 ( TXd.H.`.H )XJ.5 : ' T.HX5X9XV 3X1 R RXeXq.YXp.MXIXc ).~X1XVXxXlX- 3.a U tXe.m.v ^.@.@ oXm.nX,.'.uXl : T 1.].- 1 MXHXH.YXJ h.YXc.9.[XH U.i 3 3.KXlXV.KXV 3XVXV.HXV.H c ` =XrX6.CX6X6.4 HX2X> 0 %.x.y.E.q.].HXIXV.8.8XV.u.r.X ).r.r.k N ~XtXV.u.k.2 DX5.5.K :XcX#XHXw [Xc $ R RX- RX-.a R t R R R R $ c.a.}XD 5 #.uXVXVXV.kX9 NXx.k.kXt.8 ~XtXtXkXxXxX9.k.5XoXVXx I.u c.8 :XV c.8 : g =XK.nXGXL =.T yX% [Xh._ [.O nXh &XUX0XK.]XDX1XV.H.H 3.k.r.uXtX*.kX*.k.k.k.k.k.k.k.k.k.kXt.k.k.k.^.k.k.kXd.k.k ~.r 3.r ~ 3 3XVXV.r.8 ~ ~ ~X5X5 DXyXU ! g & &.E vXGXlXGXD R.}.M.-.Y b JXCX5XDXIXI.8.}.8X3.,., .,.} $ 3X3 :XB kX+._.l : c.a.a E E xXp.M.a hXG.Y xXp XpXr XhXB x x.M xXD #.aXD R `.a R R RX1 3XDX, $ h R R R R aXD R a.`.a R RXDX,.aXDX- R $X,X,.a aX1 RX-XI.` R $.k.KX-XI R.a tXI.aX, B.aXI.aX- R RXI 3.}.aX- RXDX- R R.aX- RX,.a.a R R R RX1 3X,XIX1X1X-X-XIX5 $XMX1X-X,.aX-.a.aXI R k c sXcXDXJXcXKXc `Xc DX, RX, a R R.~.aX- RXI.e.a R R R RXDX1XI.u R 3.aXV.`X-XI.eXc KX,.aX-X1XDX- R.5 c R RX1XD RX,X,X1XI.aXIX1 RXD a.OXc aXD KXh c.a.aXD.a RXD 3XDXD.a.ZX,X, : cXl.ZXI.MXDX,XDX,X,.D h.ZX,X, < x xX+XGXe 1 1XK ' $XIXDX1.H.`.H.` R c cX1XIXIXI.8X1.8XVXI.H.r.8.8XI.a 1X+Xq._ .._",
-" T 3X1X1X1X-XIXDX5XI.u.uXIXoX9X9.5.K 3.r 3 3.kXl.K.kX1XIX1Xo g (XM.u.u.ZX1.`X1.`X-XI.a.a.N xXGXGX,.a x )Xl.k.uXVXI 3.a.M <._ y.. vXn.j.jXL x UXD $XIXIXDX1X1XI.aXIX1X,X,X,.u 1.w.9 $.9 :.' x cX, 3 T D.H.u.HXVXV.HXV.r.H.u.Z =.T.T H z.;.TXrXh = J ^XiXf.;Xw m.K.8Xt.8 ~.r ~X* ).K ~.uXX )Xo ~.r c.K.K.].] ).]., D K.j.jXUXG t.a R RX-XI RX- R R tXD $.9XDXK mXJX5.K.H.H.kXkXxXoXt.X.kXx.k NXk.5.kXk.5Xo.k.kX9.uXI ( 5.2.| D.| q D.2Xc DX.Xc &XG s.9 oXG h vXB n : xXc hXKXwX..nX,X1.H 3.HXV 3Xo.H.rXV.rX*.kX*.k.kXt.k.kXtX*.kXd.kXtXt.k.k.K.k.kX*.k.uXtXV ~XV.r.r ~XV.HXVXV F 3XV.KXI (X$ !.' b.>X0XCXLXeXs.w 'XDXD.aXM y v 2 O T.HXIXIXI.`XM DXX .5 c.,.5 `XMXM.-XH.[Xq xXn.}.a.a.M $._., 1 $XD.a hXpXqXe ..FXnX4X+.Y 1 x.a.aX,X,X-.aX-XIX- RX1.aXVXDXIX, R.a.a R RX- R R R RX-XIXI.u 3 RX-.aXD h.Z 1 T cXDX,XI B RX1.u 3XlX- R.a.a aXD RX,X, R R R R.a a R RX-.a R.a R R R R RX-XD B.Z R R RX1.a RXD B.uXD 3 $ : TX..u.aXl hX-.u RXI a $Xc.ZXlXlXlX,XD.aXDX-.a R a RXl.%.3X-X- 1.Z.] h : $XlXl : :XD RXD R.uX1XI cX- h RXI R :XNXI.aX1 R.`XIXI :.8X5.u R.`XIXI.Z 3 RXlXlXl 1XlXJX. :.MX,X,XDXIXD.aXIX,.Z $X5X, $XD.aXI.a $ RXI.Z.ZX-XD.M $X,X,.D $ R RXeX,.iXnXcXe.}.MXVX1X1X1XI.8XI.`.8XI.8.8X1 3 cXI.8X1.8.H.HXVXV ~XVXV 3XI.a h.YXpXqXqXA",
-"XD.a.a.a 1X-.DXc 1 RX,X1XlX5.K.5 3X* 3X*.u.K c.u.`.`XI.` :.5 $.8.~XIX1.HXIXI.`.`.K c t.ZXe v x U R #.ZX1XIX-X-.aX- a.M t.Y HXnXnXn y.j.jXcXc h VXlXV c :.Z.H 3 3X1 3 RXDX,.9XK.YXcX,X, 3XVXlXIXVXI.u.u.H.u.HX1.HXVXV.H.HXV cXc [Xp.@.E 0 o y XqXr.@X4XfX+Xw.].r.8XVXV ~ 3.r ).5 ~X*.rXt ~.8.K :X9XlXV ) : :X5XM 1.3 xX, 1.M.a.a.~.a R RX- R R R RXDXc.H 1 :.u.K c.kXVX9.5.u.r.kXxXo.rXkXxXx.XXx.k N.k.k.k.k.X.u.r.u c.5 c )X5XJ ) `.5.u T.'.O.O.9Xe v x v.9XL x.Z cX1.' DXJ.'X1XIXI.H.8XVXV.HX5 3 ~XV ~X*.uXt.k.kX*.k.kX*Xd.kX*XdX*.kXtX5.^.uXd.kXdX*XV.rXV ~ 3 ~.u.`.HXV F.u ~.H c.2 K @.q.'.9.> M.q b yXs C.W x.M.M <XG 2.v 0 s.` 3XI.`XM.$ `.5 : c h 3XMX5XMXc V V.1 Xq .W <.}.a h $.9 1.Y x.Z.} 1.YXeXe._ .._Xe._ h RXI RX- 3XV 3X1 RX-X-X- RXDXDX, 3XD t R R R R R.aX-X-X- R.aX,.aX-.aXD.MXD $XD R c R R 3.u 3 3.uX5.K.e `XlX, c 1 1XlXc :X,.aX-.a.a.aX-X- R aXI a.aX1.a R s RXD RX, R R RX1X1 3XlX3 TXJ :.' :.ZX,.aX- c $ 3XIX-XI cXDX5XI R.aXDX5 $ cXD t R $ $XNXcX. :X, T.,XJXlXKXc., xXKXcXD.aXDXDX1 x a.u RX-.u.~ R.5XS.ZXI.aX1.aXIXl :Xl ) cX3 cXI.aX1 c., D `XKXD $.e.a RX,XD.Z h $X, cX,.uX, $.a 3 R.aXIXDXIX,.DX,XDXD c.aXD R.DXDX,.ZXD.a.aX, 1._.pXp RXIX1.8.8.8.8XIXIXI.`X1.`X1.8XI.`.kXV.H.8.u.8 ~XV.8XI ~.8XI 3XD.}X+XnXqXn",
-" UXs.W.Y U.MXq xXKX. n 1XJ.Y `XK `.KXK c.Z cXIX,XI RX1 ` D 3X1 RXIX-X-X-X1X-X- 3 hXDXeX, xXG u < h cX1X- R 8XI.a.}.a Xe v pXn.YXc.Z.ZXlXlXlXH V VXX.KX5 ) (XJ.]XIXDX,X, yXKXKXGX,.DXIXVX*.HXV.`.ZX, 3 3.H 3 3.K.u.8.rXV.H.DXlXw yXr ^.vXnX>XM UXpXr.h MX.X,.8.` 3 ~XVXV.r.K ).r.u ~XV ) ).u.kX9 )XJ.R.2.$ D 5 5 I.GXwXcXUX, RX-.aX-.~.a R R aXD a :.Z $Xc D.% c.KXoX9Xo.rXo.k.X.XXd.kXo.^.k.kXt.k.k.kXt.k.K.5XtXV.H.r.HXV.u.HX5 3 ~ 3.`.' T.O.OXm.'.! s vXaXL sX5Xd D.X.ZXI.`XI.HXI.HXVXV 3 ~.k.8.rXV ~XVXVX*XtXtXd.k c.kXdX*Xd.kXdX*.k.k.K.kX*X*XV.r ~ ~XV ~.r 3XV.rXVXV.H.H.8.8.|XJX.XO.'.q.+ & MX> b.9 v.Z.M 1 1.M.W.W 2XG.'.Z.HX-X*XX 5 kX3XJX, # :XD.uXD.5 1.-XH |X7 .[ E._.M $.} cXc EXe 1.Y.Y.9.YXp E UXq._ h $Xe.a R.` R.a.aX-XI 3XIXIX1XIX-XDX,X, c R.a.aXI.M R R.aXI R R.u 3 B.a RXD.a.Z hX,XI.a hX- RX1X1XIXI.uXlXl.u.9.,XK # T `Xc 1XD.a a R R a.a RX1XI.eX1XD.eXD.ZXcXlXD aXDXD.a R $XK.2XKX1X5X, R.H T.wXI R.a R 3.K $X1X-XD 3XD h $ c 3X,.a.a $ cX5 3X-XNXH.ZX,XJ $X,XD 3.a R RXIX, 3 RX-X1 RXDXI.Z.}.uXIX,XDXIX,XN 1.eXI.aXD.5 3 3.uXl `XV : : :XIXl TXc m m k m.9Xw : 1 $X,XlXDX1XDX, $X, RXDXD.Z R.aXD R cX-XD 3XD.ZXlX-XD 3.Z.H $X, tXD <Xq.FX4 .} R.` 3.`.8.`.`.8.a.8.a.HXI.8.~ ~XI.K.uXV.8.HXV ~ ~XV.r 3 ~ 3.`.a ._._",
-" .Xn._ v._Xn.i.WXe._.YXe.Y.9.Y.-Xc 1X, 8 R.'Xl.Z a 3Xl #X, R RXD R RXDXD.u c c.e hX, <XeXG.dXe h cX3 R 8.Z RXl.}.M <._XL..Xn.YXpX, RXIX1X1XDX,.a.a 3XI.u.u.DXD.5 RXI.`X5 1XGXDX1XDXD 3Xl (.HX1X5X+ y.Y X,.a.}Xl h 3.u.HXV.H c n.Y.EX>Xi.. ..pXe UXD.'XyXlX-.u.8XV.8XV.rXV ).k.8.r.r.kX9X9X*X5.k.u.r.u.uX5XV c cXlXHXJXw.M R R.aX-XI.aX- a.aX- R.D 1X, )X. ]XXXV (.k.k.u.kXx.r.k.kXt N.k.k.k.k.k.KXtXo.k.kXoXo.u.8X* 3 3.u.8.u.8XVXVXIXI.u $Xl.w s.' y sXL.'.'.0 ( (.H.`XI 3.H 3XV ~XV.r.rXV ~.K 3XV.r 3 ~.rXV.rX* c.k.k.k.k.u.k c.kXtX*.k.k.uXtXV ~ ~ 3 ~XVXVXV.8 ~ 3XV.HX1.5XoX5 4XyXwXP y.> HX0 0 bXLXL sXD.MXw.>.YXsXs 9.E 'XV.8 3 ) 5 V.G kXcX. m 5X1X. ).,.% | |X#., [X+.F U.i.aX-XIX,XcXq p hXe._ E._ tX,.M <.aX, 3.e.aX-X-XI R.aX1 RXDX1 R RX-XIX-X,.a R.a.a.a.aX- RX1XI RXD 3 R.aX-XD RXDXDXl aX-X, R RX-.aX1.a.` #X3 `.a aXI.a R.eX- xX-.a.a.a.aXD a RX-.a R.aXI xXJXKX5X1 tXD cXlXl T.2 $X1 RXDX- R '.G.3X. tX-X1 R.aX1 # : $ c.Z.aXI R.MXD.aX,XD.a.a $X,.a.,XNXNXcXI 3 RXD R R.aX-.a.a.uX, R.aXDXD cX5 cXIX, R 3XD :.GXc.ZXDX-X1 c R R 3X1X,X3Xl `Xl.9 $XV 1XD $ ` $XlXc :XcXKXJ k.ZX,X,XD.eXDXDX1 RX,XDXIXD h : 1 $.Z.Z.9XJ T.9X1XDX, $XIXD <.a E.FX+Xp < 3 3.`.8.` ~.}.`.aXI.}X-.8X- 3.` 3.H.k.uXVXV ~ 3 ~.r 3 ~ ~.8X- 3 $.Y x._",
-" %.......<XnXnX4XnXnXGX+ vX4X+Xp $Xs.M.M uXK.9.Y.YXc.-Xh $.}.M.MX, h.aX,X,XIX3 1X,.MXe s.W hXD.a #.eXI RXw.ZXc h._Xn.Y pXG y.MX,.aXI.8.HX1X5.HXD.}XI 3.`.H.8.HX1.H.8.HX1XI R 3.D.HX1 '.2.'X,X,X>X4X6.JX> >Xn . >.- h.}XV.8XV.u 3XM E.j .Xi %Xp.<.M cXD gXd.u.} 3.r 3.HXV.r ) ~XtXt.k.XX9 N.k.k.k.K.kXV.kXd.kXV.H 3 T Y.9 tX1 t a RX-X-.aX- R.a 1Xl.Z $ m.% (XI q.5X*.r.X ).5.k.k.kXtX*.k.k.k.k.k.kX*.k.KXtX9.KXt.HXV ~.HXVXVXVXV.8XV.8XI.8 3XIXDX1Xl.'.0XK.0.'XV.8.`XV.8.H.8XV.8XV ~XV.8XV ~XV.K ~XVXV ~XVXV ~XV.rX*.kX*.k.kXd.k.kX*.rXV.r.r.H ~XVXV ~XV ~.H 3 ~XVXVXV.H.HX5 (.|.2X$.GXy b &.q 9 y b.w.wX, tX,.MXG v.= 2 v.'.Z R 3.5XX., V ) | ) ` :XcXJ IXl.| 'XVX3 | D k.[.pX4._ x.a 3 : h xXeXe p._Xe h U.a $.a 3XI.~X- c.ZXIXI R.a.a RX-X-XIXDX- R.~.aX-XD R R R R.a.aX1.a RX-XDX- 3X,X1 RX-XDXD.Z 1 D h.u.aX- RX1 BX-X-.aXI.K ` :X1 RXDXI.a 3XD.a RXD R $ xXD RXDX1 3.] $Xc c R RXlXD `XcXc.ZXIXD 3XIXI 3.a.3XHXD $ R RXDX-X- R RX5 cXD RX1.a R.aXI R.a.a.aX1XDXDX5Xl $.,XNXD.ZX-.aX- RX-XIX-XDXc.9 T :XUXc T.,Xw :X-.uXDXD h R R RX, c $ :.Z.u cX,.uX1X, c $XlX-XD R $ R.u $ a.a.a.Z $.Z $ hXIX,X,X,XDXDXI 8XDXDX,X5XlXl $Xc m kXcXJ.,.9 3X-.D.uX, t.} RX,._ >Xr.}.M RXIX-.8.`XIXIXIXI.`.`.`.H.`.8.`XIXI.kX5.8.8.u.8.8.rXV ~.r.HX-.a 1 ._",
-" % * pXp p pXpXsXe.WXpXe v vXp vXn xXGXG sXr v n.-Xp 1.YX+.[.YX+.Y t.M.a t $Xc.MX,Xe.Y oXeXD RX,XI `X-.Z $.9._Xw W z.jXr yXD hX1 3XI.H BXdX1XI.`.}XI.8X*.HXV.H.8 3.8 ~ ~ 3 cXV.`.`XDXcXKXD.M x.< { {XbXAXf.<Xf . >Xc h 3 3XV.` # c.a s o.<X>XfX> 1 3.HXdXd.r 3 3XV 3.r.8.r.KXt.k.k NXxXxXo.^.k.k.r.K cXd.u.kX* 3 3 cX..MXD aXDX- R R aX-.aXI.e aX5X5 4.% :XVX9 ).r.X ) NXt ~X*.k.k.K.k.K.k.k.k.k.k.kX*.kX*X9.u.rXt.8.u 3.u.8.H.8XV.r.uXVXV 3.8 3.HXIXl.`XVXV.8XI.HXV.H.8.u.u.8.u ~XVXV.H.rXVXV.k 3.H ~ 3.H.r 3 ~XV.r.uXdX*.u.r.u.rXV.H ~XVXV ~ 3.8.H ~XV ~XV.H ~XV.~ 3.HX5Xx (.2 ] ! @XLXm.+.E J O vXG y $ $.9.ZXe o.EXL y.a.D 3 c :.f.$X3XM ` RX- x.5XX.KXdXVX9 3 a c q }X3 k.pXqXpXMX-XI.8 $ a < u < U.a <.a.a.u.uX-XDXI.~XIX,X,.a R RX-.a RXVX,X-X1 R.a.a.a a.a R.a.a.a R.aXI $XVXD R RX, RXD RXDX1 1 m cX-X1 RXI R R.aXIX-X-X-X1 cX3 3X-XIX-X-X5XcXNXl 3 :XN $.a D :XK TXDXDXIX,X3XcXKXc h.uX-X,X- R 3XI.aXI 1XNXNX. 3 R.aX-X1 RX1 3X. $X5 $XKXl TXK.MXD.a.a.a 3X, 3XN.,.]XH aXD.Z.eXIX,.}XD.a.e.Z $ $.a.ZX, 3XIXI $X5XD $X5 $ $.ZX,XD R c.DXIXD RX1X,XD.aXI.a RXDXDXDXI hXDXl $X,XDX, 3X,XD RX5 3X5XlXJXcXc DXc.ZX,Xl ` D :.Z.ZX, T.M.aXD cX,X1 $XDXI.M < U._.iXrXcXIXD.HXVXl c 3 3XI.8X1.H.`.8.`XIXI.8.8XI.r c.u.8XV.r.8XV ~.8XVXI.aX,.Y 1",
-"Xe.)XG.).M U.M.MX,.Z C t.M.M C.M._.1Xe E vXr v vXp yX+.pXp.EX+.E.-.W.WX, $ $.} U x.jXGXs t R # ` :XI c h < RXe 2...@.jXG U.a :.K cXD.K.k.r.H.rX5.H.HXV.HXV ~ 3 3.r 3.rXV.`.8X1.}XI 3.5X1X, U EX>.. ....s.sXiXiXAXfXr.9XIXI ~ 3.K.8.uXDXD.DXq.9XmXM.rXVXdX1 FXV 3XV ~XVXV.K.r N.k.k NXk.z N.^.k.k NXd.kXd.5.u.k.uXI cXHX5X1.M.eX-.aX-.a.a a t.a TX,.3.5.u.HX9.5.X.k.XXk.KX*.K.k.k.u.kX*.kX*.k.k.k.K.k.k.k.kX9.r 3.H.u ~.H.8 3X*.HXV.H ~.8.u ~XVXV 3XV cXI.u ~XVXV.H.u.HXVXI 3XV.8 3XV.H.HXVXVXV $XVXV 3 ~XV 3 ~XV.r.HXV.r.H.r.u.rXV ~.H.8XV.r 3.r.H 3.HXV 3.H.H.HX1XV.H )XJ.2.2.2.0 g.0 s.9X0.q J OXe.M 1 R.wXH.9XnXs o y vXD.uXI 3 DX3XMX3XM.}X, hXI.`XX ).$ ~X*XX )X*X* |XJ.-.pXq.m h.a.aX-XX cXI.a.}X-.e.aX-.} RXl RX- a RX1 R.a 3X, 3X1XDX-XDXI BXI.a.e BXI.} R.a R.a RX-.aXIX,.e.aXI.a $ c.wXl $ $XI 3XD.a R R R a R RX-.a.a.` 3X-.uXl cXIX1X- 3 3XNXlX1XDXNXlX-XI., c.a R a R.eXK : cXDXIXD 1.~XIX-.aX-.aX-.ZX5 mXNX..e R.a R RX1 BXK.%XJ TXc : $ $XD h RXD R.aX-X,XcX.XHX5 hXDXl x cXDXI $X, 3XIX,X,X,X,.Z.Z h 3 3 hXI RXV $ 1XlXl $.wXc RXIX,XDX-X, $ R.aXD.a aXI RXD.Z.ZXD cX5XDXD $ R.a.aX,.a T 1XJXcXcXcXlX5X,XDXDXD x RXD RXDXD RXD B 3 c 3 3.a.a.a.}Xp E [ vXc.uXl.0Xx TXlXD.8.r.r F.H.`XI.8.H.8 3.`.`.kX*.HXVXV.8.r.H.H c.5Xl h.j ",
-".)XnXe UX, RX5 $X, R R.a.a RXD.M hXS.Y u U.) UXeXpX+.YXLXe.s.s.s.E.Y.YXw.[Xq 1Xq.Y &Xe.s $.w.9 :.M U t h x._.@.@XC.j...MX,X1.X : 3XI.k ) F.`.5.uXx.`.HXx.K.8 3 #X9.u.8.u cX*.a 3X1.u.8 3.a.MXpX4.....).sXnX4 v 0 O.@.j.M 3.aX*XVXt ~.HXV 3 3.MXl c DXd.r.H.u 3XVXV.H.HXt ).k.k.k.kXj.k.^.kXt NXt.k.^.k.k.k.k.k.rXVXDX.X..Y.a t.a RX- R R R R.a : c : '.HX9Xo )XoXkX9.k.k.k.kX*.k.K c.k.k.K.kX*.k.k.k.k.K.^.k 3.r.rXI.r 3.rXV.H 3.H ~XV ~.u ~ 3XV ~ c.u.rXV.H.H.HXV.8XVXVX*XV 3XV.H.rXI.HXVXVXV.kXVXVXVXV.HXI ~.uX*XV.8 3.H.H.u.H.H ~ 3.rXV.u.H.8XV.H.H.H.H.H.HXIXIX5Xl.2 ] m.2.> @ g.w s &.>XC 0XL.sX,XDXDXJ =.wXL.EXG 9.aX1 3XV 3 VX3XMXM 3.a.u.}.8.aXVXXX9.8.`X9.K.f q 5X3.gXB._XeX, <.8.`.5X5.5.8.~.aXI RX-X-X, h.aXI R.a R R R R.aXDX,X5XD R c R a R R 3 $ c c.aX- R 3.uXDXI.a.ZXIX-X1.,XN.3 K.G 3XD c c R.a RX-X1XD 3.eXIX-X- R.`X- 3 c.5 3.`X1XMXNXJ.u $XN DXJXcX5 c $.uXl.KXH $ 3 cX, 3 3 3XIX-X-X-X-XI a D kXD D k R 3X, 3 RXIX, cXlXK.ZXl.' :.'.Z $ R.a.aX-XDXDX-XIXD.Z cX,.uXlX, cX, 3 c x 3 R.M R B R R R RXDXI cXD.eXK.9XK T TXlXlXlXDX1 $X,X,X,XD RXD RXD.aX, RX,X,.ZX,.ZXlXD $ RXDXD $ RX1.ZXD.Z.Z.eX1 8X-XDX,.Z $.Z R 8XDX1XD RXIX1XD $XI.a.a.aX,._ v [ R.0.] g ).Z 3.H ~.H.H.r.H.8.uXV.8.8XV.8XV 3X-.u.K.HX* :X9XX.$.] `.3 :.,.Z",
-"XrXG UX, h c.} R R.M <.M.aXDX1.~.% m.O t._.M h ` x.KX5 cXD B.M tXD xXhXc.WXG.jXnXp v._.9XrX.Xc.YXG.@ v._.s %.s vX+.W R.M.a.aXV.HXIXI `X5.8.8.5.K.uXVXVX9X5.8XV.5 #X*.8.u ).K 3.`.HXdX1X1X, >Xp 0.m.s h < h.M.N.s O o y.WXDXI.u ~ 3.r ~XV 3 3 cXD.5.2.H.H ~XV.rXV.r.H.r ) ).k.k.K.^.k.K.k.k.^Xt.k.k.k.kXd.kX5Xo.uXI c DXH.9XD.M R RX- < R < t.}.u R ~.k.kX9.r qXX.k.k.k.k.k.k.k.k c.k.k.k.k.k.k.k.kX*.k.kXo.K.r.uXt.8Xo.kXVXV ~.H.rXVXVXV ~XVXV ~XVX*Xd.HXV.rXV.r.uXd.u.k c.r 3 ~XVXV ).5X5.HXV :.HXVXI.8XI.uXI., ) ` DXK.$ $.$ ) 3XV.8XV.H.uXV.8XV 3.rXV.8.8.8.HXo ].|.2 mXw g !X.XPX,XP g &.q J.s.W U 3 R.ZXs.s.W b.9XDXIXD 3 3.} c., :.K 3 3.KXI c ~XVX9.8.`.8X-.KXx V., |XpX+XqXeXMX-XI ~XX.k.KXV.~.`.a.~.a R.u.aX, a.a R R R R R R.a R., :X5.- :XK :.'XJXcX.XKXJX, hXI.a.} 3X1 3X,X1X-X5XNX, $XN.ZXD hXl hXD aXD.a R 3 R.aX1X-.` R.a.`XIXVXM.K `XVXN.2X, cXNXJ 3 c $.a 3X1X- R 3.5X, RX-X-.a R.u R.a.`X-.}.~XX 7 KXHXD.a R.9XK.9XK.9XcXw TX.Xw TXlXKX1XD $.Z $ c h $X,X,.Z.aXD.a.a.aX, R RXI.a RXI.uX1 RX-.a RX-.aXI.a.a 3X, RXl 3 $ RX,.uXDXl R 3X,X,X,X,X-X1.aX1.MXDX,.aX,.ZX, $ $Xl R $ RXDX5XD.aXDXDXV $XDXD.a R.MXDXl.ZX5.`X1XDX1XDXIX-X1.aX-.a.a a.}X,XqXqXK.MXDX,X5.`.`.H.H.H.H F ~XV ~.8XV ~ 3 3 3.8.K.5 ) :.|.|.5.] 5 D qXl c.5XD 3",
-"Xn.M h.}X- R RX1.a.M.a.a.a R.D TX$.GXNXl.M $Xw x c cXoX5.K : $ c.aX-.SXN $.NXhXpXe E.W.W.YXG.Z.MXeXq p % ... ..jXG $ $X, h 3XV.H.8XV.u.8.`.`XI.` 3.HXIXV.`XV.8 #.uXIX-.k c cX1.HXd B.HXlXpXr . % v U <.a :Xl.M.w.s.vXp.pXc.- :.` 3.H 3.rXV 3XI.u.DX5.8X* 3XV ~.8.H.u.k )X9.k.k.kX*.k.k.^.k.K.k.k.k.k.k.^.5.k.K.k.u.u :.%XJ $ a.} R.a t < t.aX,X-X5 5.kXx.rXV.5.5.k.k.k.u.k.k.k.k.k.k.k.k.k.k.k.k.kXd.^.HXx.k ~.H.rX*X9Xx.H ~ c ~ 3XV.H ~ 3 ~.HXV ~X5XV.rXVXt.u.k.k.u.k.kXt.uXV ~XV ~ :.K.$ D 5 DXJ 5 ) D I ,.% :XlXJ $ `X3.Z : ) c ~ 3.8.uXV.8XVXV.HXV.H.HXV.r ( ] ] ! m !.! sXGXc s.ZXK 9XO & o.B 2.M RX1XD C.N._Xn ' R.`.8 3 c.a $ V ` :.KX-.KXxXM.rXX.rX9XX 3.8.rXX V.[.SXq $ hX-.a.K.`.K.uXV cXI.`X1XIX- R 3XI 3XI R R.aX- RX1.aX-.aXKXcXJ m $ :XcXlX5 :XK $ $X-.a RX- R.aXI R.~ RX1 $XNXJX.X..MXD :.- $X,XD.aX-.a.aX-X1.~.a RX-.~.aX-.a 3.a.uXl Y 6 3X,X$XJX-X-.a.uX- RXIX1X1 R 3 cXlX,XIX-XI.~X-.a.`X-XIX-X- RX-XIX1.M $Xl x h $XlX,Xl 1XlXlXDX,X,XDXDXD R.aX- RXI.a.aXI RX-XDX-X- c a RX-.a 3 RX, $.u RXI R.` aX- R.aXIX, aXIXD.u `XD 3.a :XIX,.ZX,X,Xl.ZX, cXlXlX5 n $Xc h $ $.Z xXD R.a x.ZXD RXDX,XD.ZX1.a.a R UX,X,.D.ZX,.u.D $X,.ZX,.aXI.a.a.a.MX, 1._.- UXDXIXIX5.H.` ~.r.`.u.H.8 ~XV ~XV ~ 3 ~XV )XJ IXJ.2 D.5 'Xt 3XV 3XV.8 3.H",
-"Xs U t.a 3 $.ZX,X,X, 3.} RXIX, ` : x.3.1.Y xXD 8 RX1.`.8XIX- 3XI.aXD.% tXh K.hXs u.a U U.M.a < R R C *XbXb . y.9XN :XI 3.H.`.8 3X1XV.`X1.8.8 3XV.K c.H 3XVXIX* 3 #.uX5XdXV c 3.5 cXo.uX,X+.x.@ O.M.M R RXI.u.M t u...s.sXr $XD 3 : :.`.`XV 3XV 3XoXV.HXV.8.uXV.r ~.kXxXx.k.k.k.k.k N.k.k.k.k.k.k.k.k.k.kXx ).&.% 5.| k I.3 Y mX. Y.3 KXw h <XDXHXxXx.5.kXxXx.K c.k.k.k.k.k.u.k.kXdX*XdX*XdX*.kX*.k.kX*.k.kXV.rX9Xx )Xt.`X*.H.8 ~XV ~XV ~XVXV.uXt.k.5.k cXdX*.k.k.k.k.k.u.kXd.u ~.HXV.8XV 3.H cXV.HXI.H.u.`.5XV ` :XcXK ).u 3XVXVXV 3 ~.` 3XI.`.8.8XI.8.u.H.8Xo ] ] ! ] gXK T =Xc.Z.w.9 s TXm.>.q w 0Xa.'XUXD.M.w o v.9XIXVX-X- VX3Xl V.%XMXX.kXX ).5.uXXX* 3.$.KXXX3 # [.-.9 `X,X, 3.5XVX1X1X-X-XIX* 3X5.e RXIXDXl RXIX,X-XI R R.a.e RXDX-.a.a BX-X,XI.eX- R.aX-X,X1 RX-X- R.aX-X-XI RXI.a 3XNXl $XNXJ a.aXDX,.u c.a RX1 R RXI.a.~.aXDXI.aX-X- RX-X-.a.~XKXDX-X- t a 3 a.ZXD 3XD 3X,XI.u 3.u.} 3X5 ` cXDX1Xl c 3XIX- aX-.a a R R.MX-.a R R a R.aX,XIXD $X,X1 RX1.aXDXD.a RX- R aX-XD a RXI.e 3.M c 3XD.Z c RX1XDXDX-.aXI.aXI R R R.u.a c $ 3.aX1.M RXD $XlXD.-.9XlXVX,.ZX,X5.aX1X,.Z.a.Z h.Z $.ZXD.ZX, xX1XDXD c.9Xl :Xl g xXJXK k D TXD RX1 RX,.aXD x.a.a RX,.M._ .X7 x.a.}.8.`.u.`XI 3XV.8.u ~ ~ ~.8.8.8.8.8 3 3.rXVXIXV.Z.5 ( TXJ ) I I.] 5Xc",
-".M.M.aX, c.a RXD.a R RX- aXIX1.aX, h.MX, 1Xe.*.M R RX-.e R 3 3.a 3.$XS :.'XSXH R <.MXD.aX- RXIXDX,XD.W.sXn H x.SXw YX-X1.`.`XI.` 3 3XI.8 R 3 3XVXDX$ Y.3 )XIXI.`X- B.8X1XD.HX3.K qXX s U.j HXpXn : '.D.DX,.u.i h U.m.. vXr.M.a c `.D.H.`.8XVX- TXx.8.rXVXI 3 3.H.u.5.R.k.k.kXo.k.k.kXt.k.k.kXo.k.k.k.^.k.k.k.kXoX9.kXV c IXH.2.%.,X. nXK $.MXD `.u ).kXxXgXx.k.kX*Xd.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.uXtXt.k.r.k ).8XV.HXV ~ ~.k.H ~ 3XVXV.r.uXt c.kX9X*.k.k.uXd c.k.k.kXd.k c.rXV.8.u.H.u ~XI.k.u 3XV.8 3.8XlXI c.u 3.Z 3.Z.H.H FXI.HX1.H.` 3.8X1.`XI.H.8XV.u.r ]Xy ]Xy gXU = [.Z $.u.9.Z y.n.qX0.q 0 vXa R RXs.WXe.E.ZXI.~ 3XI : :X3 ,X# } IXM `.$XX.K ) I., 5XXXX.[.,XJ .9 1.uXV 3.u.k 3 R h c 3Xl ) :.KXIX-.~X,X-X- 3 R.aX- R R.aX-X- R aX1 3 h cX, 3 hXIXIX,XD.a R R R.aX1.aXI a RX- R :X$X.X, `.%.YX1XIXD x.MX,X,.aX- R RX1.a.a.a R.aXD 3XI hX,X,.uX3X5 cX, c 3XD 3 cXIX-XDX1.aX- R.a aX- RX- R :XIXI.K.uXl :X1 c R.eXI a.a a R R R R.a.a R B h RX1 c $XI R.aX-XI.aXI.aXI RX- R.aXD aX5.M.uX,X-XIX- R cX1XI cX-XI.e RXDXDXDX1 RXD :.u.Z RXDX-XD RX,X,X5Xl.Z : $ x :X, RX,.M.wXe.Z t.9 $Xl.wXD.Z.ZX5XDXD.D : T :.' 1 :.ZX,XDXD.aX,X,.M.M RXDX,.M.a $X,X,XJ U._XqX+XM.aX- 3.8 3.u.` 3 ~ 3.8 ~ ~XV ~XV ~XV ~XV ~ 3XIXV 3.k.2 IXJ 5 (.0X9 :XV.k",
-".a.aXDX, RXD R RX1X1 RX-.8.a aXD h.M hXG E t.M C R R.MXIXI.aXI 3 3XJ.,Xl :XKXw B.a $ R.aX, ' 3 3.HXD.sX>Xp.EXwXSX#XSX, 3XI.HXIXI.uXIXI.}.`.8XIXI.` 6 :.DXN.5 3.aXI 3XI.`.kX5 3 3 3X,X, oX4X>.j v.aX-.`X1X1 x c U.iXp.;X0X>.Z c.u.Z $.u c c $XK.2XK.8XV 3 3 3.u.H.kX9 )Xd.k.kXt.k.k.k.k.^.k.k.kXt.^Xt.k.kXt.K.kX9X5.kXlXVX5.uXIX, : 4X. m.9 : T $ ( ~ NXkX5X9.kX*.kX*XdX*.k.k.k.k.k.kX*.k.k.k.k.kX*.k.uX*X*.5.rX9.u.r.H.r.uXV.H.rXV.r.r.uX*.k.k.k.kX9.r.k.kX*.k.kXd c.k.k.u.r.r.H.u ~.8XVXV.HX5.8.u.` 3.H.u.8XIXV 3XVX,.HX,XV.HXVXV.`.`.8XIXVX1.8XI.8XIXV.8XVX9.2 ]Xy !XOXU s x x h.ZXK :XG g.jX0.E 0 2.N T.a x.W.=.n.9 UXIX1XI 3X,XI D.,.%.%.% } I D.KXXXX ) DXXX3.gXpX+ yXpXc `.u ~XV 3X5.u.a a.a 3.uXD B $X1X1 3 : 3 3XD a R R RX- R.aX-XI hX1.aX-XI.a.~ R.} R 3X, RX- RX-X-X-X-XI 3.ZXI $XD cXDXI RX-.} TXcXl.w $ $ $Xl cX,X,X,X, 3XDXDXD.M.aX-XDX-.aX5 hX1X- aXI a.a.a 3XI aX- R.aX- t RX- <.a.aXDXl $Xl #.Z.5XI 3.~ 3 RX-X-XI RX- R.aXI aX1XI B.u.a.eXI ` 3X1.aXD R.a R.aX,X,XDXD 3.Z R 3.Z :.~XI RX1.uXD c 3 :.aXl $X,XcXc ` D DXH mXI cXIX,.e.M RX,.a U RXDX, $ RXl.M.MX, $X,X,XD.ZXG c xXD R h.Z $ RXD $.ZXI R.*X,XDXD.MXD.M R hX, R.M.aXD R $XK $.SXD x...FX+XeXI.8X-.8.a 3 c.a 3 ~.`.8.`.8XV.8.r.8.H.8.H ~XV ~XV.k.u.5.kXl.kXI.H.8XVXV",
-" 3 3 c.a.M RX, 8 R R.`X-X- aXD h.M.MXn.w u.M R < R.a aXD 3X-.`XV RXl c ' : T $X1XD R.a.e c 3 RX-.~ R u p %X8.LXc.YXN.5X1XIX-.a c 3.aXI.`.}XIXIXIXI K : 3XH I.~ 3XIX1X1Xd.D.uXIXDXDXeXpXp J.sXSXw.H `XlXIXDXD t U p p...EXpX1X- ~XIX1.`.HX, s.E.9XJ.uXVXI 3X,XdX5.XX@XxXxXx.X.XXxX9.X.X.5Xo.^.X N.5.^Xo.^Xo.^XtXx.k.k cXd.u.u 3XIXV $.3XcX.XJX.X9XoXo ).^ N.X.rXo.k.k.k.k.k.k.kX*.k.k.k.k.k.k.kX*.rXV ~Xx ) F ) ~.H ~XV.k.k.k.rX*.kXtX*.k.k.k.kX*.K NX*.k.k.k.k.k.k.uXd.kXtXV ~XV.HXV.u.u.8XV.KXV.8 3.H.k.5.uXVXVX5XD 3 3XV.uXo.`X1.8X5XIX1.H.`XIXI.8XI.H.H.u.kXy ] g gXK.' $XDX,.Z TXGXO.9Xw.qXC.WXa CX,.' tXsXsXLXG.ZX,.DXJ )XV.uX3 I., V VX. | VXH }XJ I.,XJXc.- 1X+ .wXc xXM.uX*XI.K.u c.aX-X1X-X-.` 3X5X,.~XI 3 RXD aX-X- R.a a R 3X,.a.a R.a R R.}XD.a cXD.ZXD 3X,X,X,.u.ZXlX, 3.u h.u.Z.5X,XD.uX-.9XcXD $X,X,X5 h.} cX,.a t.a.a R t R.a.a.a RXD $.a 3.a R.aX-X- tX- 3 hXI R aX-.a x xXl.u.Z cXK.KXlX5.KX* R.8X-.e.` R RX- aX, 3 :Xl.Z 3 $ c $ cXl 1.]Xl 1X-X1.aXIX, $X-XDX, 3 R RX, RX-XIXI RX-X1.~XK `.K D mXJX- c.' TXc :Xl T hXIX,X, RXDX, a.MXDXD.aXD.Z RXD.'XD.a.Z $.MXDXDX,X,.wX, x.ZXDXDXlXl.DXDXI $XDXD.ZX,X, R.M <.M.a xXD.M.a.a.Y.ZXw.Z sX,.MXnX4.- h.aXI.8.8.8XI.} cXI.8.`.8 ~.`.8.8.8XV.r.H ~ ~ ~.H.8.8.r 3XV.8.k #.r 3XV ~",
-"., TX-.a R t.M R RX1X1XI.a 3 1 x.d.s._.M t t.a < a h $.aX-XIX-XI :XD :X. :.Z.`X1X5XI.H cXIX- RXIXI R.M UXf.J 0.j.w.] T 3XI.a 3 3 RXIXI.`XIXIX- 3 3X$XVX- K.K 3 R.a.a.8XVXVXVX1XGXKXp.@Xn %Xr =XZX- 3XIX, h t.)Xe..Xn HX+.Z.M 3.`.8 ~ c 3Xe.j H.@Xc.M.}XIXIX1.H.HXd (.r.k.k N.k.k.^ N N.^ N N N.X NX9.X.XXx.5Xx )XxXxXxXX.XX9.5.k.u.5.%XH Y.3 5Xl.5Xx ).^XxXoX5.kX5.^.k.k.k.k.kXt.kXt.kXt.k.kXtXtXV.8XVX9 5X5.8 ~Xt ~X*.k.u.k.k.k.k.k.kXt.k.k.kXt NXo.k.k.k.k.kXt.k.k.k.uXV.r.H ~XI.r.5.5 c.8.KXIXVXVXVX9XJ I ( mXJ I.] D.2.u (XxXI : ).8.H 3X1XI.`.`.`XV.H.8X5X@XOXPXOXO.'.w.-XJ.wXw !XPXK sXmXw 9.EXs C.a.MXDXLXs.sXUXG 1X1 :.2 fX..% } Y , } V `X3 }XS 5XM 3X1X, R.M .Y X7 1.iX. m., :X-X. '.5.,Xl T T T m.3X3 T.$ T IXl hXD 3X,X5Xl cX, 3 3X, 3X, 3XDXIXIXDXDXD c RX1.a R R 3X-X1 aX1X-X-X-X-.K R RX-.a RX, $.9.'XcXl :Xc : ` c R R R.a R R.a B.a.a #X-.}X-.aX- R.`XIX-X- RXI 3.}.a.e.M 1 T x D.,X5 `XJXJX- 3 `XV R 3XI.~ 3 3 cXIXIXl : m `XJXJ.,.2 ` TXKXV $ 'XM.DX5X,X1.ZXlXlX5Xl :XJXD R R.Z RX1XDX-X3 ) m 3 #.uXD aXD RX1XV c.u RXD.a xX,.M R.MXD.a RXDX, 3X,X, 1.MX, x.ZXD.Z U RXD.ZXlXD.ZXDXD.wXJ 1 R RXD $ RXD.M.MX, R.a tXlXKXcXc ` sXJ hX, R 8XDXeXGXqX+Xl R.H # )XI.`.` c.u.`.H.`.8X-.` ~.` ~.H.H ~XV.r.rXV.r.8 ~.r.r 3 NX* ~ 3 ~",
-" `XKXK n XK $X-.aXIX-X-X1 U :Xn.jXrXc.M R.a < cXKXX h.a RX-.` RX- $XJ ' BXIX1 T.k 3.H.8X-.` RX-X-.aXD E.. %.P o 8X-XIX-XI.}.uXIXIXI.` 3.`.8XIX1 :XN I m.].H RXI.8.a.8.8X*X1 : TXn .Xb...sXS.-XN $.a.a t.a u.W....Xf.x M.Z 3.`.8 3 3 R 1.@.@.C ^Xr.a.}.8XIX1.H.HXxXx.k.k.k.X.KXx NXk.zX9.zXx.kX9.^Xk.X.k.X.^XkX9.kX*.k.k.kX*.k.rXV.u.K.5 I.] )X9 5.XXoXx.z.5.XX9X9.XX9X9.XX9X9XxXxX9XxX9X9Xx.5.5Xo.5.5.5.5Xt.K.K.uXoXoXo NXo.KXo.KXo.K.^.K.K.^XoX9XoXo.k.k.kXo.k.k.K.k.u.rXV.rXV.k.KX* qXV.rX5.H.HXV.8X9 :.5.].K :.] :X5XxXDXoX9XV IXlX1XI.H.`X1X1.HXI.`.rXVXV.2.2XyXO.' x 1.jXw.OX;.GX; @.O.qX0 o v.' U.MXDXDXsXGXm v xXl.0Xl.2.%XxX5X3 ) k.%., |., k ` h c $X5Xl.wXl h.iX%X7.T.SXHXH mXJ.u.0.] DXJ m.0XcXKXJ m.2X# DXM.%XI RX-X-XI 3X-X- RX- RX- RX- RX- R.aX- R a $X- RX1XI.aX1 3 R RX-XI RX1 3XXX-.`X1X-X1XDX,.Z RXcXcXJ 1 cXK hX-.a.a R R.aX- RXI a.5X- 3.5 RX1 R.~X-XIX-X-X- RXDXI.aX- x c.9XlXlX,X5XK 3.`XIX-Xl.5 3XI.uX1XIX- R R 3X,.u.aXIXIX1XIX5XIXIXI a c ` :XJXJ.2.,.2XJ kXlXK :X,.MX1XIX,.` RXIXIXMXX.5 #XIXI R RXDXD $X,.a RXD.aXDXl.aXD.a.aXD.M h xX1 $.aXl : x 1 1 1Xl.'XcXc.w x $XD.ZX, $ TXJ.2 $XcXl 1.ZXl c sXl s a.9XJ x.3.9 :.W $.wX, UXD xXn vXK UX, ` cX3X- 3XI.`XV c.8X1.8XIXV `.8XI.8.r.H ~.8.r.8.r.r ~ 3 ~ 3 ~.K.k ~ N",
-".5.ZXI $.wXq h.aXIXI.~XIX,.9.w EXwXLXn.M.aX- R 3.a.a aXI a R 3XV : 1 : 3 RXVX5.5X-.uXXX-.`.aX-.aX1 c < C..XbXnXGXDX1 3.8X- c.H FX1.8XI.` 3.` 3.8.HXI.D.`XI.`XIX1 3.`XI.u ~.` c.- JXbXi p WXB.w YXcX-.M.a <.N...s.4.; M.p.YXD.HX1XI.} $Xw.J.@X6 w M.iX-.}XI.` F.H.z.k.^ NXt.XXg.$Xg q qXk./Xg N.f.^XkXk q N.$.$.RXo.^.k.k.k.k.k.kX*.rXMXkXX.KX*Xx ).K.^.k N.k.kXd.k.kX*XtXt.uXt.k.u.kXt.k.kX*Xt ~X9XX.kX*.r.uXVXtX*.k.KXo.KXoXo.^XoXoXoXo NXo.5.5.zXo.5.5.X.X.5.5.X.kXo.k.k.K.5.5XxX9.5.5.k.KX9.K.KX5.KX5Xo.K c.K c $.u.Z.u.u.k.u.k '.5.u c $.u.u.u.u c.uX5.k cXx 4X;Xy y g.YX.XcXy ! 4.O K K.GX0XmXL.9 h $ xX,.MXa.w.W.w xXc :.HX5 cXo.u 3.u 3 V #.}.M.}.Z x $XDXI.H.a .Y.FXB.p.j.Y 1 $ $X1XD BXDXD.aXD RX1X1XI R cX-Xl., c.M 3.Z 3 RX1 RX-X-.a R R R R a R.M R R RX,XDXDX,XIXD 3 RX,XI t.aX- R.K c R R R RX,Xl 8Xl 3.MXD.MXI aX- 3.uXD R RX1X1 R RX1X- cX,.aXX 3 cXVXI R.`X1X- RX-XI a.a.a.a.} R.~.aX-.a cX1 RX-X-X-XI cXI.`X-X-X1X-X- R R.` R RX- R R 3X-X1XD.u RXD T 3.uX,X,XD 3 R.ZX, $.Z.u.a RXIXDX1.aX1.u : 3 : 3XI RXDXIX5.uXI.aX-XD RXD.} x.a.a R $X,X. T.9.,XcXKXJ.'XK.9XKXcXK.- x $.ZXl UX1XDX, R x D.9Xc 'XJXl.9.9XKXK 1.Z 1 $XlXl TXlXl x.ZX,X, x.[.YX0XH.Y x.M $ c cXIXIXI R cX, RX1XI.8 c D.H 3.8XV ~ ~.8.r.8 N.rXx N ~ ).r.K NX9",
-"XJ.0 x xXe.} a.a.} 3 $ hX,.MX+ yX+.M.-XDXD.aX-X-XIXD cX-X1 3X5 3 $Xc.}X-XDXI.8X-.u.5X*.KXX aXI 3.u BXD._ p...EXe RXD.8 RXVXVXI.`.HX1.8.KXX ~XI.` 3.kXI.8 $.H 3.`.` 3.`.u.` 3XI.w.;.@ %Xn.gXe RXc.O.Z RXI U.M v JXf.;X>XGX+ $ R R $.Y.[ >X6.B ;.P.x h.} 3X1XI.HXV.U.kXt.k.^Xk.X.^Xk qXg qXx qXg.z q.zXx qXx.zX@.z.K.^.k.k.k.^.k.k.kX*.k.r 3X*.rX*.X.k.k.XXo.k.^.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.kX9.r.5X9 3 ~.u.u.r.u.k.k.kXd.k.k.k.k.kXd.k.uXd.k.u.X.uXdXd.uXt.H.H.8.r.`XV ~.8X9 ).k.uXVXV 3 ~ c.8 3XI.5.u.H.uXIX1.` RXD 3.8XI.`.8X-.H.8X-.`XIX1.`XI.`XI.`.H 3.H.5.2.2XU.9 g s.DXG gXP 4XyX; = @.>.O y n 1Xc TXK .Y n.1.>X..2.DX1.k.`.H cXI 3 3.a.a $Xc.3.- K [Xw.% mXcXc.-.FXeXp E.i.M h.a R R R.a RX1.a RXI R.DX- c.8 a R c 3XD R.a R R R R R R R a.a R.a RX- RX1X1XD.uXD B R a 3XIXIXDX-XI.a.a 3 # 3X1X1X1XDXw $X, sX,.a 3X, c 3X-.a.Z.uX1 R RX1X-.aX1.5.~ 3.K : 3.5X5.KX- 3XV 3.`X-X-XIX-X-XDXDXDX- RX1X1XDX- RXIXIX-.` cXV.uX,.uX,.uX1X-X-.a RXI c 3.Z `XI RX-XDXVX-X,XDXI R.~.a R R.aXI RX, $.D RX,X1XI.u DXl.K c.a RXIXDX- T cXD BXIXIXI.M.a.ZXDXD hX5 1 : V.]XM.ZXl 1 $.'XDX, x.ZX,.a RX,X, xX1XDX,.a B.M.u.wXl x.9 $XqXlXKX5X5XD.u c $ cX..9XJ.9Xw.[., nX..1 [.jXrXB.YXK V RXIXXXc `Xw XM xX, ` 3XH.uXI 3XV.8XV.rX* )Xt ).K.kX9 ).`XoX9",
-" c.'.0XcXK $.} <.u.a R.e C.M M nXK.Y.3XJ :X5 : $XV.].}X- R.u 3 3 ` h R.aX- 3 :XKX3.K :X- 3 cX,.aX1 a._.s % .Xp u UXDXD.M.u 3X1.HXI.`.`.5XX 3.8XV )XVXI.`.5X9XI.8XIX1 cXV.8.8.}.}.s.@ %.m t <XI R RX1XDXDX, U._.sXpXn._ . W.+XG.9X>X>.j..Xb.P L.4 =.wX1XI.a.8.8.kX9.k.k.k.k.k.k.k.k.k.kXt.^X*.^.k.k.^.k.k.^.5X9.^.k.K.k.k.k.k.k.k.k.kX*.r.rX*X*.k.k.k.kXx.k.k.k.k.k.k.kX*Xt.k.k.kX*Xd.k.k.u.kXt q.u.k.K.H.r.uXt.kX*.k.kXdX*Xd.kXt.kXdX*.kXd cXd.k.X c.k.u.r.u FXV.rXV.r.r.u.r c ).u.rXV.r ~.u.k.HXVX5 ).$XJ 5.] `.] : cXc cXV.u.uXI 3.8X1 3.8XIXIXI.`X1.8 3.8.H.5.%.|XyXPXc o x g.'XPXUXO.2Xw.G.>.q.>XH VX3Xl 1 !X.Xw yXUX.XJX1.HXVXI.KXxXIX- 3XIXMXcX#Xh n n M.G.3.3.GXh nXp.W .WX, < cXDXD a R < a R R B.~.~ :X3 $ R.`X-.u aX-X-X- RX1.a RX-X-X-XD R a $ $ h RXD RXI $ 3X-XIX-XD 3 RX, R.a RX-X1.5.uX- RX-.ZXl.Z R xXDXD R aX-XI 3 R aX1X, 3XI RX-X1X- #.5 c.u.5 $ 3XV.5.u ( c :XI.`X1X-X-XIX-XI 3 B R.aX- 3XDXDX-.eXI RX-XI #.` RX-X- cXI aX1.`.ZX1 RX1 R cXV RXIXIXI $XIX-.a RX1 R R.a RXDXDXDX,.ZX1 3XIXI cXJ 5XJ.] )Xc D.2 m `XVXI tXD.a.a RX, h $ c $XcX5X,Xl RXD 3 x $ hXlXDXDX,XDXDXD $X,XD $X,X-X,XJXD $ 1XcXc.9 $.w.W $ $ $.Z `Xl : :XcXJXcXK.9Xl $ h UXK ._._ .Xq .9X3 $.a kXp.FXrXwXH.[.9.-.S k.9XIXIXI ~.8.k.$.rX9.k.k.r.H.r ~X*",
-"XD a.a.MXD.a a c.} < < u U.wXqXe # : : c.K '.uXlXJXJX5.` R.u.- `.Y.a.a RX5.' c.u.~ 3X-X1 R aX-.a.a.M.)...x.;XpXnXpXpX+.wXD.MX1.`.`XIX1.u.u.` ~.uXVX5.8XI.KXI.8.8XI.H `XI 3.8.a.a...@..Xe < R tX1XV.D 3XD.M R U.WXn._X> n HXhX0X0 w M MX4.C w.{.@Xw xXIXV 3.8 3.XXX.^.k.k.k.k.k.k.k.^ N.X NXg N.^.k.k.^.k.^XxXt.K.^.k.k.k.k.k.^.k.kX*.r.k.^.k.k.k.k.k.kXxXt.k.k.k.k.k.k.k.k.kX*.k.k.kX*XVXdXkXo.5.k.HX*.r.kX*.kX5.kX*XdX*Xd.k.k.kXt.kXd.k.kXd.k.KX9Xd.r.rXV.rXI.rXV ~XV.5.k.H.r ~XVXV.8 ~ 3XV.k 3.H 3 ( :X5 ) : ` 1Xl $ :Xl : D.8XIXIX-.` 3XIX-.`XI.`XIXIXV.H.HX5 ).].> !.!XU !XPXU ] !.] ' ! !Xw v 1 c.K.aX1.M x v.WXa s.2 $X1.`.uXV.`.K 3.5 D.] k.-Xw.1 y.Y.pXc., 1XcXL.WXe.W U U R 3XD., ` 1 1.' : 1 ' ` T `.% c.K 3 RX- 3 R.a.a.` R.~X-X- R.a.a R R aXcXJ $ ` DX. mXKX1.a RX- RXIX-XI RXI RXIX1.~ ` :.%., $X, 3.w : $ hX-XI.a RXI c cXIX1X,XV 3X-XD.u c.e.u 3.u c.5 `.K c c c.k 3XIX- R RX-.~X- RXIXIX- R.a 3 RX-.a RX- RX1 R $XV.aXIX-.ZXIXD.Z R.eXD aX1 $X,XIX1 R RX-Xl.H RX1 R.aX1X- RX1 R RXD c.DXD TXI c D } }.$XKXX $ c cX,.Z.aXIX,X,.M.aX, $ :.aX5Xl.KXKXcXl.-Xl.Z 3XDX, $.ZX,.aXDXD RX-.a.Z $XD R 1XK.9.YXGXcXs U U.MXsXDXDXl :XlXl cX, $X,.Z $ UX, h h x U.m._._._._X7.-XB UX7X+.J.pXh.[.,.[ xXc 1 VX, 3XI.r.8 ~ ~XV.H.8.8.rXV ~.H",
-"Xl $X1X1.a R h 3 <.a t.M.W v.W h.].5 c c R RX-.`X-X5X1X- RXM.a x xX-X, $.wXIXD.~XI.~X1XI.a.eXD a a hXpXf.4.4.@ ^ ^XAX6.x o $.}.}XI.`.8.8.` 3.8X1 3.~.8XI.8XI.8.a.8.5 $X1XVX*.a.}XnX4.sXn x : $.Z 3 R B RX1 R t h xXq.) E v.@Xp.E.@ M.;X>X2 r S S.>XKXVX1 3 3 c.rX9.X.^.k.^Xo.^.k.kXt.^./ N./.X.k./.k.^.k N N.k.k.k.k.k.k.k.k.k.k.k.kXt.k.kXt.k.k.k.K.k.5Xt.k.K.k.k.k.k.k.k.k.k.kX*.k.r.r.KXkX9 ~XVXt.K.k.k.kX*.k.k.k.k.k.k.k.k.k.k.k.kXtX*X*Xt.kXoXVXV ~ ~XV ~.H ~.k.5 ~ q 3 ~.u ~.rXVXVXVXt c.HXV.uXI.HXI.`X1 R c.aX-X- R k cXI.`.8.a.`XIXIXIXI R.8X1.`XI 3.8 3Xx.2 ! gXP.'Xm.0XO.0.D.D.uXcXPXL s $ 3 :.5 $Xa.W 9 y 9 'X5XVXI 3.8.KX5.u.HXI.% m.3.GXHXH.1.T.+Xr.hXM.iXp.w.W C.MXIX- :.] 1 :.Y xXw 1.9XD T $XK : c.u c.~ R c.e.~ R.aX-X-XI.aX- a a.aX-X, $ x.aXl 3X-X1 3.a.~XDX-.a.a R R R RX1 R $ D D mXl.%XcXJ k.2 `XDXD R R R RX-XI c 3 RXI 3XJ `XV RX1XI R R.uXIXMX5 3.u c # cXIX-X-XIX-.a RX- 3X1X-.aX-XDXI R RXl x.~ R R.~ $ T R.~X- 3 $X-X1 hX1XD R.e TX5 RX-X1X1.eXl :XIXDXIX,X, :X, :.9 TXJ.-.3 m D RX- c c c )X1X1X1X-X1.uXDXI.aXD R.a RXlXlXl c.5 T :X5 cXlXlX,.DXDX,X,XD $ $X-X-XDXDX, cX,.ZX,X, h.M.M a < t.M.M.M UXDXD.} c `XD.aXDXD.Z s x $ h.} R.M.} u U.mXqXq.YXpXcXB.YX4.FX4X7XwX%Xr k E.Y .Y `.}XIXVXV.8 ~.8 ~XV ~XV.8.8.r",
-"XI.KX,XDX1XI c.e.a.a tXs sXe.M.a.5.5.K B.5 1XlXDXV.~.`X1Xl U $.9XD $ $X,XD.aX1 R.~ T #X1XD.ZXD $ $ h p.).@...sXi.B.BXf LXp.pX,.Z 3.`XIXIXI.8.a.`.8XIXIX-XIXIXI ~XI.KXI.5 c 3 3.aXp o.. y x cXI a a.aXIX- R.aXDX,X,.} C u.WXe.sXe.).Y.W CXF .XfX4.E gX5.8 3.8 #XV NX9.k.k.k.k.k.k N.k.X qXk qXkXx.I.X.kXtXxXj.K.k.k.K.k.k.k.k.k.k.k.kXt.k.k.k N.k.k.k N.K.k.k.k.k.k.k.k.k.k.k.k.k.r.k ~ q.r.5 ~.r.r.K.^.KXt.kXt.kXt.kXt.kXt.kXtXt.k.k.k.k.k.k.kXo.K.r.rXVXV ~X*.8 )X*Xx.K.8X* ~ 3 ~.8XV ~.H.u.u.H.HXI.H.8XI 3XD 3X1 1 x 1 1XMXIXI.aXI.`.aXI 3XI.`XIXIXI.`XI.H.H.H.K DXO 9Xm.'XK m (XD.u.uXI.5.!XL s.9.5.HXd :.' b H &.q.DXD.HXIXVXIXoX9.5.` ).%.%X.XUXw.+X0 W W.y W.g Xp.WXe.aX1.ZX1X5X5 $ t t.* h $ R a a RX-X-.`XV # cXI R 3 R RX-X- R.aX-X-X-XIX-XI a.aX-.e RXIX,XI R.u RXDX-XI RXI.a R R RX1 3 `XDX1Xl.e #X,XD xXI $X1X-XDX-.a RXD.a a 3 h c :XlX5., ` :XJXJ., mXc cXVX-.`X-.` 3.k #XD RX- RX1X-X- R R R R RX, tXI $XlXK :.2Xc 5.3XJXJX1 R mX, :XJ 1XK.]., D.,.2XI.a.` $Xc.3 TXJXH.,X. 1XcXKXK 1Xc.Z.ZX5X5X1XI.u.5X5XIX9 3.`X1X1 R.u RXDX,X,XIX, cX5 c.u #.5X, 3.5XMX5 $XM $X,XD.a RX,.Z.aX1.ZXDX,X- hXD.M $X,.M.M.M U.Z._._.w h UX,.}XM $.aXDX1X1.wXD.a.aXD.} a.M.M.M uXe._XG xXqXp.FX4.m._Xp MX<.Y >.F U.p.F .-.a R 3XV.8.r 3.r.8.8.r ~.u",
-"X- 3.u.uXV.uX-.a R t.N x._ C.a R.K.XX-.5.u 3X,.u :XV.`XlXl $X+.p 1 )Xl 3 3 RX- c : :.,X. D ` T $ h.ZXeX+.s.s.sXb.s.P.J % %Xp 'Xc $X5 c.`XI.`.` 3X1X1.` 3.`.8.}.`Xx.KXl : #X5.u.'Xw.; vXa.M RX-XI.a.a < R.a.aXDXD.Z R.M t.M.M u.M.M.Z C.W.m.JXb.@XwXU.DX1.` 3XV.HXo.5.r.k.k.kXd.kXd.K.k N.K.X.kXg.K N.k.kX9.k.K.k.k.k.k.k.k.k.k.k.k.k.kXo.kXd.k.k.k.kXX.k.kX*.k.kX*.kX*.kX*.k.k.k NXtX*XxX9 ~.r.u.k.XXt.k.k.k.k.k.k.k.k.k.k.k.k.kX*.kX*.k.k.kX*Xo.r ~ 3 ~ ~ ~.5 3Xk )X*XV.rXV.8.r ~XVXV ~.u.kXd 3.HX1XIXI.8.0 )X- x `.9 ` 1 `XIXI.8XIXI.8XIXIXI.`XIXI.`X1X1XI.HXI.HXa g !XP g.2.9XDXI.u.u 3X5.> 9.9Xs BX1.H $.Z.W 2Xa TX,.`.H R 3 3 : 3.8XI :.2.5 RX, x.9X2X>.jX>XnX>XrX4.F h.W a.uX1.H c cX-X-.} a <X- RXDX- R.`.a.` 3 3 c 3 cXI $ 3X-X-X-X-X-.a a.aX- a.a.a.a.aX- 3 cXD.u.aXIX- R a B R.aX, $ $ $.2 :.a RX-.aX-X-.a.u.}XDXD RXIX- R t R R.aXI 3 `XMXl.,.Z.9.D $X,X,X5XD hX-X-.aX-X- aX-.u c RX- R RX-X- RX-.a a.}XD aX, $.9 $ $ $.D :X1 c R.Z.]XJ.9Xl : xXl.w.9 D.u cX1X-Xc.5 cXlXD.ZXDXI.ZX- RX,X- aXDX,.w 3XDX1X1.5XlX9XV.5 3X1X-X1.ZXDX1XDXD R 3.Z # $Xl.] ( )Xl T mXK ).9 $ 3XDXD.uX,X, RXIX, cX, R.a $ c U.a.a.W x._XnXG.F vXq._ h E h h.aXD U 8X,XlX,.ZXD RXIX,.a.M R U.Z x._XGXnXqXq._Xr.YXq.p M W >X4.i > 1.YX3X-.8.8XV ~ ~ ~.kX9.r ).k",
-" #X3 #.5X5.HX1.a R.M._ y U.a RX-.k.`.` 3 a R.K #.kX9XlXD._ sXn uXDXV 3 R.uXIX, 3X-XX c $.K 'X9XcXKXwXKXc.j u * v ..@XF p.. .XwXG :.2 `.`.}XIXIX1X1.8XI.a.aXIXI.uX* D :XJ.,XcXKXw.+Xr.;XKXK T #X- <.a.a R.a R.ZX1XD B R.M.a t.}.M.a $.M.WX4 -.PX4.E yXDXV.8 c.H.8.u.XX*.k.k.k.k.^.k.k.k.k.^.kXo.k.^Xt.k.X N.k.k.kX*.k.k.k.k.k.k.k.k.k.kXt.k.^.k.k.k.k.XX*.k.^X*.k.k.k.k.k.k.k.k.k.rXo.K.k ~ ~.k.kXtX9.k.k.k.k.k.kXt.kXt.k.kXt.k.kXt.k.kXd.kX*Xt.kXV ~.r.rX*.u q.X.K.8XV.r.8 ~XV.8 3XV.H.r.u.KX*.HXD.HXI.` :X3.ZXDXK .-Xc 1.a.}.aXI.8X-XI.8 3XIX1.a.`X1.8.8.`X1.HXIXVXD.' g T x.H 3XV 3.u.8 R TXPXa.=.D 8.K.K.WXG o.s gX1.8.H :.5X1 ) )X1XI.uXVXD.ZXD CX+.YX>X8.CX>.<X>Xr._ hX, a 3 R.`.8XI.`.a.a.a.a.a <X-XD.`X- R.`X-.`X-XIXl x cX5 # $X5 #.uX-.a.aX-.a R R R RXIX1 R.a c D 1.Z $ : 1.,XJXJ.,XKX. Y.5 aXIXIX-.a.aX- RXD $.a TX1.M.a.a.a.aX- RX-X-.aX1 $X5X1.M RXD.a h 3X,XI.aX-.aX-.a R a.u hX-X- RX1X-X- R R R RX,.a t a R RX1X-X- $X1XIX, RX- R R RX1 R R.aX,.H.ZX- cX1 :.aX1XIXIXI RX,XD.a.MXD UXDXDX,XD.DX,.H 3.5XI.5X*XVX5X1X1X-.u RXDXDXD.M.aX, $.u.K )XXXlXl :.5 x.Z $ $XDXDXI xX,XI.aXD h.uXD R R.M hXD hXe.iXe._XnXqXn ..mXq._.i.l $ $.ZX,.w.ZXl.ZX,X,.u.D R.a RXD h.W.WXe xXe.MXq xXeXqXq._.pX%X4 >.p.Y.F.YXMX-XI ~.r ~.kXo.X.k 5X9",
-"X,X..,X1X. 5.a k <Xe yXL t R R.]., 3.0 R s xXXXV.~.8 R.a.W v.W.M.a cX-X-X1X1X1X- cXDX1X-X1.`.`.K c.a.}XeXe.W v v v u CXs.s.@.;.j.WXD ~ ~X-.8.8.`.8X1XI.a.}XI.`.$XJ., ).}.8 3 $XH yXGXGXG.,., :X- RXI R 8 tXV.a c 8X1X1X1X-.a tXD R h vXnXb.P L.x yX.XV 3.H c.` 3.rXXXt.kX5Xd.kXd.k.k.k.k.k.k.^.k.k.k.kX9.kX*.K.k.^.k.k.k.k.k.k.k.k.k.k.k.k.k.k.kXt.X.5Xt.k.kXt.^.k.kXt.k.k.rX*.K.k.rX9.rXVX*.kXt.k.X.k.k.kX*Xt.k.k.kXdX*XtXdX*Xt.kX*.kXt.k.k.H.K ~ ~.u.8X9 ~.5.KXV.r 3.H.H.H.8.H ~.H 3.u.k.5XV.8XI.H.HX5Xx.5XI `XpXp.jX%Xe $ h c 3X1.8X1X1XIXI.8.`.8.` 3.8.`.HX1XIX1.HXI.HXI.8 3X1 3X1.5 cXI.uXPXL.=Xs C 3.}.}.).=XLXK.a 3 $ TX1XI $X, 3 R s.9XKXDXD.a v.@.@ L w.4.{.;X>...m U <.}XI.aX1XV B.u.K R.a.aX-X-.` RX-.`X-X-.a R.a.aXDX-X- 3.u 3XD :.aX-.`.aX- R R.aXD RXl $XlX-X.X.XJXJ.,X5X.Xl : $ : :XI.aXIX- R.aX-X-.a.MX-X,X,X. x.,.w.-.a 1XK.l T ).' :X. T.,.]XKXw :Xw h a $ R R.a tX- <X-.a # R.a RX-X-X1.` B.`X-XD 3.a R R.a RX1 B 3XD.`X,X,XD R R R.aXDXIX1XIXDX,XIXIX1X5.K.a R 3XDXIX,X,.aXIXDXD.DXD.DX,.Z R.u B.uXI 3 : 3.KXV.8X1X1.u RXDXDXD RXD c c cX*.K hXD.Z xX5X, $X,XD.ZX,X5 RXI.aX,XD.Z R.a a.a.} hXeXe..Xn.@.x.x H.<.J ..F._._.FXBXq.M U 3X,.M $XD.ZX, x xXD 8 tXs $X,XD $X,.Z $ R h x 1 v.F z.[XpXB.p X4 >.l.a.8 ~.r.rXx.^.u.kX*",
-" $.2XJX- T.i :.1.Y.EXe <.M R 8 5 m.5X;X,X; x m.5.K.5XD U._ v.*XwXlXK $.] 3.] ` D.KX,XIXVX-XI.H cXD.}.iXe vXn.W.NX, CXD.MXn . . S MXJ T cXM hX1.8.` F.} aXIXIX5.%.|XlXIXIX,.aXK yXG sXp x $X1.KX1X1.a R RX1 h.a.u R BX1 R RXD.}.a.a $.W.@ %.CX>.+.+X. :X5.5XlXIXI 3.KX*.kXdXo.k.^.k.k.^.k.k.k.k.k.kX*.KX9.k.k.k.k.k.k.k.k.^.k.k.k.kX*.k.k.k.k.k.k.kX9.kX*.k.k.k.kX*.k.kX*.k.k.rXx qXtXt.r.kXd.k.k.K.5Xt.k.kXd.kXt.kXt.kXt.kXt.kXd.k.u.kX*.uXt.H.K.rXVX*.XX9X9.r ~ ~ 3.H 3.HXI.8.H.8.rXtX*.u.5.r 3.HXI.`.5.k.$Xl `XpX+ WXr > 1 :.5.8X-X1 3 3XIXI 3XI 3.`XVXV.HXVXV.H ~.8.8.8XI ~ 3.~ ' mX5XDXV.0XL.=.= 8 < E.M.=.=XaXGXDXI.0 'XDX1.KXDXD U.YXGXGXc U UX+ ^.@Xf.C L 0 LX> . E h.}.}.M R.DXD.8.u q.} tX-.aX1 R.`X-X-.~X1X1 a R.e h.~X-.a.e.a a c.K.a.a.~.u c.u :.5 kXKXlXJ a :.ZXlX1.a R.KXD.~ 3 cXI RXIX-.a.a.a R h : c R.a.ZXD tXUXc.O 1.3XKXcXc :Xl `.2 :XcXl.Y.iXeXH 1 `.M.a.a ` R <.aX- a.u.a aXI RX1X- BX- RXI.e.}.a RX1 RX1X-X1 c 3 aXI 3.uX3 x cX1X1XDX,X,XI $ : $X3XMXl 3XI.~X,.ZXI h R.M.Z.Z.DX,X,X,X,XD.aX,X-.` R.5 # 3.5XI.`.`XI.D R.a.M.MX,.Z.KXV.KXVX5X, $ x.wX,X-X,XD.Z 3 xXD.a.aXDXI 8.a.a.a.a RXpXp.xXr.x.@.@ ^.P.C.4X2X2.x.<X4..X+.-.Y xXcXl.'XwXJXcXcXlXDXD t.a.Z.ZXD.Z $ $ c.uX,X,.WX,XeXG.pXp.[XeX+ >X4XBXcXIXI.8.r.`Xd.8.8XV",
-" R $ $ $ $XD sXe n.YXe UXD $X- : ` :XJX..2Xc.OXlXM.a.a yXG.N tXJXH.| DXc 7 5 IX. ' ` mXK 6 x kXD.Z.W vXp.. U t h.a.a.} hXsXe vX>X>X0.9.9.iXc.aXI.HXI 3 RXDXIXo (XlX1XD.M.}X+Xp b.sXe.* #XIXXX5X- RX- R.M.} 3.a hX1XI R R.a aX-.a.} x.W ^ %..X2 y =XJ D 5 mXJXM.}.r.K.5.k.k.k.k.k.k.k.k.k.k.k.kXd.kXt.5 N.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.kX*.k.k.k.kX9.k.k.kXt.k.kX*.^X*.kXt.r.5 ~X9X*.rXt.k.k.k.kXo.^.kXt.kXt.k.k.k.kXt.k.kXt.kXt.kXt.k.u.rXV.r.kXI.r q.5.k.u 3.r 3 ~ 3 ~.8.8.H.H ~.u.k.k.k.5.uXV.u c.u qXMXXXHXHX+ W.p.pXnXp XB cXIX-.`XIXIX1X1XX.k.K :X9 :Xo :X5.5X9X- 3.8XI 3Xl.]Xw kXl cXIXDXGXL 2 2 h t uXa 2 OXKXK 3 `.KXVX-.]X- kXG =.+.j.j.1XGXS = S M H.4.{X:X> ^ . E E.} h.MXDX-X,.u.KX5X-XDXIX-X- cXVXl.u.eX-X1X-X-X,XD a RXIX-.aX-XMX1 3XHXc :.]XK :Xl.u h $ a.aX,XD $ R R RX-XIXI.u R R.a.~X1X-X-X-X- a.a tX- hX,.M $ $X,XDXD.a.MXI.a RX1.}.a a < a UXq.FXnXq h hXe hXD.a.aX- #X5.8X-.a a.aXI RX1 RX-XIX,XK 3 c B R R c.u B RX-.a RXlXJX. `XcXJXJX.Xw 1.OX3.%.5XI.`X-X- RX1 hX, $XDX,X, hX,X,X, h $X1.u RX1 RXI cX1.KXX cX-X- cX,XD.aX1 cXDX5.HX5.HXlXD.Z $X, $XDX1XD xXlXD.a R a.a R R.a a.a.M <X+Xp.@XnXi %XbXb.v.s.vXi ^XfX>.x SXpXrX< [ xXl x c hXD R tXDXDXD.ZX,X,XD $ $.Z.ZX,XD.a 8 U.M.- n.-.F <.i.Y .FX+X, 3XIXV.H FXV ~",
-" :X.X, $ h U.W x t < R R.*X1X-.` a :X1X,XD.a c cX-.Z.9Xe R.aX1.ZXI.D )XJ D.5XxXlX;XJ kX#XH.O.W.WXGXL U C < U.}.a cXD R R u.W.s.. vX4XnXqXeXsX1X-.` RXI.8XVXVXVX1XD.} 1 yXn 0.s.s.M.a.a.KX9.KXIXI.a.a.a h.a R h.M.M R R a cXM.M c.WXGXn.s ..+XrXw.-XDXV.Z.Z 3 3 3.KXxXtXo.kXt.K.k.k.k.k.k.k.k.k.k.kX9.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k N NXt.k.kX*.k.k.kXt.k.kXt.K q.r ~Xt.k.kX*.k.kXt.X.k.kXt.k.kXt.kXt.k.k.kXt.kXtX*X*Xt.u ~.r.H.r.u qXo.uXx.`.rXV ~ 3 ~XV.HXI.8.H.u.k.k.uX*X* N.u.H ) kX3X. ) I.3XH.[.L M.yX<X% [XKXI.8XIXIX1.HXI.H.kXX.5Xo :.5.u.Z.5 :X5.8.8XI.8XJXHXH g mXDXIXIXD $XG 2 bXeXeXe /.=XLXmXl R 3 c 3.H ) D.9Xw.j 0.@.;.; M.+.;X0XC.;X: S SXf.x...s p p.F $.i.aX-.a R.a #X1 B 3 cXD :XIXl 3.a R R RXI R.a RX-.a.eXD.~ :XK :XJXl cXlX,.uXD.eX-XDX1 3 BXD c RXIX1 RX-.a.uX-XI R.aX-.a.aX- R.a.a RXDX,.aX- R.a R.a.a aXD.a a h.a a.} hX7.iXAXq >.F.-Xq.i h x h 1 $XD.`X-.a.a $ UXD EX,.aXD.aXVXc T.Z.wXl.5XJ `XJX-X-XI R a x xXlXK.Z.ZX,X,.a.Z cXl # R.aXIXD RX,X,XDX, xX,.Z $ $.Z hXD $X1X1.uX1.`X- 3 3 3.5 c.}XI.a 3X,.D.ZXDXDX9XIXxXo.D xX,.ZXD.wXD $ $.Z RX-.a tX,.a R.a R R.M.a.M._X+X> .XbXbXb.s...v.v.v.v.v.v ^ H.x >.. x < a.M.ZX, a RXD RXD RXD.aX,.aXDXlX,XD.M.MXD 3 $XlXqXe.FXB 3.a.} 1X4.FX+X,.}.HXI.rXI ~",
-"X,XU 1.,.[Xc yX0.j x 1.}XDX,.e.a.a.a.8.aX1X1X1XDXM 1.[.' RX, cXlXD.u `X9.5X-.DXVXI RXD.YXpXqXnXp vXeXs C u t U.a 3XIX1XI RXD u.W ..@X6.JXf.@XK TXD.H 3.8 RX*.H R 3.ZXm HX>X6 p.s.M t.}X-.uX-.`.~ R R R R 3.a.}X,.W.}.M U.a R.}.a h U.s J pXb.x.@.xXw h c.DXV.H.r ~.r.5.k.^.k.k.k.k.k #.k.k.k.^.kXd.k.X.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.kX*.X.k.KXt.k.kX*.k.kXt.K.kX9 ~XtXt ~XtX*.k.kXt.k.kX9.k.k.k.kXtXt.kX*XtXd.k.k.kXt.kXt.u.r ~XV ~.uXtXo q.kXI ~.u.r.8XV ~XV ~ ~.H.r.u.k.kXdX*.uXo.8 3 $Xl ).u : #X..[.SX2 W.pXpXr.[.i 3X-.`XIXIXIXI 3.8X-.`.8 3.8.H.HXI.`.8XIXIX1 cX.XHXJXGXw.ZXVXI 3.M v b 2XL b oXa 2 b g hXI.K.8 )Xt.8XV.MXGXn.@ ^X6X6 0X6Xf w.CXf.4 %XbXA.4.P....._ vXq xXeX,.a.a.aXI x 3 c RXI.~X1 R.ZX1 a.aX-.aX, R R R.aXIX-X,XlXJ : c #.u xXI cXl :XI 3XD :Xl.~XIX,X1.Z $Xl : $XD RX-X-X-XDX-.a RXD RXD.a.Z.a 3.` RXI.a.a.a a.M tX,.}.} U.}.i.m.J.p WXrX<.y.S.1Xr.,.OXKXh R.a a.MXHXHX%.SX<X< kXwXJXJ.%XcXJ x.,.|X3 k 3.a a.aXD.eXD.aXI h R RXD t.Z cXD :Xl.K B.~XDXDX,X,XD.MX,.WX, h.WX, 3.ZX, RXD 3 RX1.~.u.} R #X5XIX1XIX1XI.eX1.H.5XVXV.5X,.Z.w cXD.Z.ZXDX, RXDXD.eXDXD tX- R RXD t.M.M pXG H.{X6...BX=X= /XaXL 2 2.B.BXiXf HXn._Xe $ R.aXD.aX1 R BX1 RX,XD.ZXD.} x.a.a.M.M.MX-X1 :X,.wXqXB :.MXI < >.FX4.-Xe.a.}.r ~ ~",
-" R $ cXe xXn.jXw.9.9 TXJXKX3.a.a.a.a a.`X1XI.D.i x XU.9.uX*.]X3.`.KXJ ).`.5.k.` RX5 1.M UXeXn._ u C t < u $ h.ZXD BX1.` cXI.u U._XbXb.BXA . oXl R.`.}.8 c ` T.9 y.YXn v 2Xp v E.} a <XI c c :XVX-XI.` R 3X,X, U.MXsXnXn.d < U.a vXnXn p p.. w =Xr ` # B.8.r F.8.8.^X9.rX*.k.k.k.k.k.k.k.kXd.k.kXo.5.k.k.k.k.k.kXt.k.k.k.k.k.k.kX*.k.k.k.k.k.kX9Xt.KXt.k.k.k.kX*.kX*.r )X9.r ~X*.kX*.k.k.k.k.k.XXt.kXt.k.k.kXt.kXt.kXt.kX*Xt.u ~ ~XV.8.rXI.k.u.u.H.8XV.HXV.8XV ~ 3XV.HXV.H.u.k.uX*.k.kX*.5.8.5XV.HXI.8.K c.,Xc yXcX+.pX+X7XB.MXIX-.`.a.`.HXI.`.`XV 3.`.8.].XXJX9XJ : :.5X3XlXZ.,.+.9Xw kXMXI.a.M 1 J 2 &XGXmXG.q.' 'Xc c.uX9.`.8.` $ 3.jX>.;.;.;X0 H H.q M H.@X8.sX6 w.CX>XfX> .Xn.p._Xe .M RXD RX1XIX- RXD.aX- R.,X..u m.DXH.Z RX,X1X,XI c ' 3 RX-.` R R.` R RX-.`Xl.% `.3X5.]XlXHXJ., k.u BX-XD c cX,X- aX1 a :.- R.aXDXDXD R R.a a a <.a.a t.}X,Xe x E._.m.F.<X<.gX<.L.S.TXH [X%.[Xq.-XM.M.M.a.[X%.g.TX< nXh `XlXD.9 3.M.a.a cX5.u : c aX- R.}.a R tXD $.a RXD.a $XDXV :XlXI.a R.a RXD.aXlX,.aXDX,X5 x.ZX, cXDX-X,.uX- R 3 RXI cXM.u 3 R RXIXIXI.5 TXV.u $X1XDXlX, $XD RXDXD.D.aX,XD.a.MX- RXI.a R R.M t s._.@X>X> ^..XbX= C.D.N G.N.s.m.v % ^.4 ^...W x.i RXDX,XD RXI RX-.u.aXI R.Z.w.}.wXe.w c.}.8 ` a hXe.F.[X,XDX1 EX+XnXp.p.l.a 3XVXt",
-"XD.* < U CXe v u h RXDXDXV.ZX-.aX,.a 3XI.u.uXIXD uXqXeXDX9.KXX.HX5.KX5.`.8X-.` RX-XlXl xXG...).d.a.a <X,X, $ R R B.H BX1.DX-.a.a < u % %XbX4XGXI 3 3.a 3Xl gX>.@X> v 2.s.w.M R.a h c 3 $ $X5 cX-XVX5 3.u.DXD R.d v...JXp v.M u.M.)Xq .Xb E uXi.;X>Xw [ ` :.HXI ~.8 ~.u.5.k ~Xt.u.kX*.k.k.k.k.kXj.kX9.k.k.k.k.k.k.k.k.k.kXj.k.k.k.k.k.k.k.k.k.k.kX9.k.k.k.k.kXt.k.k.kXk.^ ~.K.r.rXt.k.k.kX*.k.k.K N.k.k.kXt.kXt.k.k.kXt.kXtXd.r.r ~ 3 ~.H.r.8.kXV ~ 3.r.H.8.H.8XVXV ~ ~.H.r.uXdX*.k.kX*.kXV.5.u I $Xx.].5X5.]X3XJXHX< M =.j MXn <XIX1 3XIXI 3.8X1.8.`.` 3.` T.5XJ ' : ).,XJXc.-Xh n.OX+Xw.9XIX,.u `.> b bX0.O.+.O !Xw., D )XI.k.HXI.HX, t.9Xw.EXCXCXm.q.qXCXCXU M.;.; S H ^XiXfX6X>.CXrXpXqXq < <.aXIXD RXDX1.aXIX,X, mXH.D D.O IXJXJX.Xc.9 mX. k KX,XD a R R.a R RX-X1X-X1 :.| k.3.2 I D ` : c.aXIXIX- hX, 3.a.a.a aX1X, R hXD.ZXD.3XlXc 1X, uX,.[.W.9 1 = Xr.g.[.1.h.[XB .-X+.gXp._Xq E._.FX+Xn.i._.F.<X%.p.F x U R.a.a cX-XIX- c $ 3.~.aX- 3X-.aX-.M 3 RXDX,X1.Z B c $ ` 3XK.uX,X5.Z.9XJ.9.-XcX, 8X1X, $XlXlXD h R.M cX,.Z 3XI 3 RX5XMXI.~XIX1X1 3Xl.K.u cXIX, hX,.wX1XDX-X,X,XD 8XD.M RX, 1XlXDXl x.uXD $Xe._ v .X>.C.B 2.s.MXD.M.a UXe.s vXb 2 ^ w.E v EXp.M R.aX,.}X- RX1.ZX-XIX,.9 1 1Xc 1.[XHX, DX*XDX,._XeXp.[X,X1XI.Z yXqXpXB .aXlX9",
-" R.}.M t.WXn.) tX,XD RX1 RXI h c c #X,.u BX-XD t pXn U 3.k NXo.kXV.u ) 3.~X1 3 R 3 `.-.9.W U t < a.} 3 cXM.} RX-X1 B 8X5X-X-.a.a < <XFXA...YXD.}XI #X- h xX+ ..s %.sXe.).*.a.a.`X-X-.a R.a BX-.Z.H.k.uXx $X1 <.w.sXpX+XnXnXG vXp..XnXe u <.MXe JX>.+X#X<., 3X1.H.H.H FXtXx.r.r 3XtX*X*.k.k.k.^Xd.kXxXt.k.kXt.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.X.kXt.kXt.k.k.k.k.kX9 5.k ~.k.k.kX*.kXt.k.k.kXo.k.kXt.kXt.kXt.k.kXtX*.kXt.kXt.r.u.r ~ ~XtXV.K.8XVXV.H.H.HXVXV.H.H.8 ~XV.rXt c.k.kXtX*.kX*X9XI ]Xx m ( )XJ I.3.GXh.O.OX<.1XZ.-.YX,XIX-.`X1XI.`XI.8.`.H.`.8.8XIXI 3X5 3X1 R.MXD.[ yX+.YXw x x.]XJ.3Xh.> &.nXc.W cX, 3.uX5.HXo.`X1.8X1 cXD $ =.> &XO 4 !XOXOX;XUXh.O.T.T ^.@X6 ^ 0X6Xn.@X>.@._ U <.a.a.u R.aXD $X,XDX-XD.ZXIXc :XK.'Xc.'XlXl.' 1 $X5XI RX1.aX1X-.uX-.`X- R.8 3 '.K 3X-X-X-.aX- R.a c :XKXJ # $ c RX-.a.M R RXDX,X,X, U.YXq.Y = [ [Xw.1.[.LX<.h.1.TX#X#X# | ` XB .p.g.FXq.J.F._XqXqX+ X7X%.gX7.FXeXe U.a <.}.} <XI.u.eX-XI R RX-X1X-.a R R.a :Xc m `.9 :.,.%X.XJX..2 T.jXJXc mXcXPXIXDXDXDXIX, h $X,.a.}X, x tXDX,XDX,XDXl $XDX1XV c.k :XoXlXJ #Xc '.a.a $XDX,XD.DXDX,XD RXl.YXDXcXJXc.]XH x h.M E E..X>X>...v.s R hXD.a.M U.M U v.s.v.v w.<._.F h U <XKXKXD :XK IXKXwXJ.3Xc.-XG h 1 h h | cX-XD h E .X+ yX,.`X1.ZXUXpXpX%X7 1.2",
-".a a t.d vXe <.a.}XIX1 RXD.u h.}X- a.a RX1X- R.MXn 2 $XM.X.5Xx.K.r.k.5 BX5X, x $ $.Y $X, t <.MXDXD 3.` h.K 3.` c cX-.ZXI R R RX-.a t.. {..XpXs RXD.a 3 hX,X+.<.. p.N tXlXlXIX-.`X1 B R R.aX, cXDX1.`X5X9XlXDX, sXn ..E UXeXe.ZXK x.W.M.a.a < v O 0.+.h.F.j y y.Z 3 F 3.H.K ~.u ~ 3XV.8.kX*.k.k.k N N.k.k.k.k.^.k.k.k.kXt.k.k.k.k.k.k.k.k.K.k.k N.K.k.k.kX*Xt.kX*.k.k.k N ~X*.kXtXt.k.k.k.u.kXtXx.k.k.k.kXt.kXt.kXt.kXt.k.kXt.kX*Xt.k.u.k.u.rXo.H.H.HXV.8XV.H.H.r.rXVXt c.kX5XtXdX*.k.K.rX5.k.`.D.HXVXDXIXIXl $XcXJXK [.wXpXpXe.Y XDX1.a 3XI.`XI.`XIXIXVX5.u 3XI ).Z.K : ` x.,XH [.O = =X.XJXH.%XHXH g.n.' TX1XIXI.}.`XXX*XI.8.`.8XI cX1 x.G = g yXPXPXU.q.' yXG.E.+ H ^ 2.)X= .Xn / ^.@.E._ E h xXDX, RX, 1 c.Z.Z $XcX5 RXDXIX1X-X,.e R a hX1 R RX- R R R R RXI 3X1X-X1X- c.KX- 3X1.a RX-X-.a.a $Xc ` TX. `.GXD.aXI.e.a.M 3.Z.}.WXe x M.p.YX+.jX+ n.pXHX<.g.gX7 VXMXXXM 3 h.l VXBX% >X%X7.g.< > .mX%X%XB.gX7.F.F.iXeXeXDX, 3X-X-.u.D.HX-X1 c.e R RX1 RXI RXK.wXlXw T $XlXK x :X,XlXD RX,XD UXDXDXD 8X1XDXIXDX,XD h.aXe h.-.M.w.W.Z 1 1XwX. `.u # D.$ }XJ.,X3X.Xw.Y RX, $ xX1.Z 3X,XDX,X, TX,XK 1 c.Z 1 : h.a.a <XeXqX4 H.. O.).M.M.u.a R.} h UXs.s O 2..X2XA >._.i t.-.[Xw kXc.-.u $ xXl R.MX, $ $ :X5X,X3.a 3.MXe v >.jX. c.kXV x.[.F.FXBXp.}",
-" <.a U v.s.M t < a c 8XV :XM a aXI.M R.a RX1 8XeXn.M x :Xx.r.`X9Xt.X.5.5XlXl.-., =XlX,.9 3.uXDXIX1 R.~XV.8X-.`.uXVXI.uX-X1.a.a.M.MX,Xb.s.E vXDXIX1 3 3.} xXrXrX8.Y XBXM cX* :.DX1X, $ $.u.}.aX-XI R :XlXDXD.WXn G xXq U.Z $ sXl $ R.a tX,Xe 0 0X:XAX4XpXnX+.-X5XI ~XV ~.8X*.8.rXV.r.k.k.k.^XjX9.k.k.k.k.k.k.k.kXj.k.k.k.k.k.k.k.k.k.k.kXt.kX9.k.k.k.k.k.k.k.k.kX*.k N.rXt.kX*.k.k.k.kXt.kXtX9Xt.k.kXt.k.kXt.kXt.kXt.kXt.kXtXtX*X*Xt.u.kX*.k ~XVXIXV.rXV c.rX5.KXoXo.^X5.k N.K.k.K.kX5.kX5XVX1 3X,X5 `X,X5.} 1X,.9Xq $._XqX4._.Y.aXD RXIXI.8X1.H.`X1XVX3XIXl.KX5 DX3 V m.9XJXw.1 M.>.GXh.3.%XHX.X5X,.nXD h.uXM.8X* N 3.K.8XI.HXI.8 h 3XB.Y.j HXw g 9XaXL b.w b.qXm b.s /.W.).).s b ^.vX>...F .-.,X. TXJXcXw.-XK mXKXJ 3X, $X,.Z $.ZXlX5.ZXD R R.a R 3X, RX-X1X,X- 3X1.a.K.5 R.u.~XIX-XI R t RX-XlXIXD 3XDX- c.}.ZXJ cX1 h $ RXe._._.mXq.J.FXpX7 [ k.g V .lXM.5XM.8.a.a 3.g `X7X<X%X<X%X<X< > X%.[ >.[ kX+Xp._ pXB [Xl $Xl.5 c TXKXJ.]X3X1 RX- RX1X- RX1X1 RX,X1.a $X5X, R.Z RXD.aXD.aXDX,XIX1XIXDX1X1XD.} U hX%.j [ z [ nXh n M n 1Xe.3 :.5X5.5X3 : : $X, h $.9X,.w xXD.9.w 1XKXK x t.a.MXDXD xX,.a.} < <.iXGXnXr.@X= 2.M.M U.Z 3 RX, $Xs.W.vXn 2Xf W >Xq.m xXe < x c hXD x R TXHXcXJXJ.,XcXJXK 3 `.u hX,.Z._XnX4.[.-XIXI R.lXB >X% n.-",
-".a <.N vXs.M <.a.a a.5.'XJX5XMXl ` $X,.ZX,.MXDXGXs._X, `X5 F.H.u F.K.uXI hXq.9 x.Z.MXlX5X*XI.`X-X1X1.H 3.8.`.8.a.8 :X-.aX-.M R tXD.s ^XfX+ U RXD.` 3 c.aX+X> H yX..2 , 6X# I.GX.X,Xl $.uX-X5.a c.9XI : h.i.MXL v 8.9 < $ #XlXl.uX5 c BXD t._..X>...{ W.LX: MX0.wXDXI.u.8 3.k.`.u.r 3X*.u.k.k.k.kXg.k.k.k.k.^X*.^.k.k.k.k.k.k.k.k.k.k.k.k.kXt.KXx.k.kXt.k.kX*.k.k.kXjX*.kX*.k.kXt.kX*.k.kX*.k.k.5.kXt.k.k.kXt.k.k.kXt.kXt.kXt.kXt.k.kXt.k.k.uX5 ~.8Xd.5 m q D 5 Q ) 5.& 5.A q ] q }.k.| q 5 `.u.] D.OXhXhX. 1 < #XK 1Xp.-.<.F E x R.}X1 3X-XIXI.8XV.5.5.K.uXl RXIX-.8X5.a RXl nXmXwX0.OXJXl : m :X1X1.HX1.H D.5.8XXX*.8.uX*XI.M.iX%.[X2.p.<X2 WX0.9 bXPXL.0.O.> HXmXC b uXe.W.N 2 O bXC.E [.pXw $Xe.M hXD.aXDXDX-XDX,XDXI tXI aXHXKXH ` :.- :XlXc TXlX- a.a.eX1X,.~X-XIXl.~ RXI.8.e R aX1.a RXDX- R.aXI RXIX- c.a 1X,XD $X,X, EXe.F.pX%.g.gX%.g [ X3 XM.l # h.a 3.aX-.a.aXMXBX7XB XBXBX7.g.[.g.g.[X3 XBX7X%X%.F v.Y =.-XH.'XKX3Xw ) T.u x.uX-.aX1X- R 3XDXDXDXI x 3XDXl.ZX,.w.ZXD.aX,.ZXDXD $ c $X1.DX1 t.M <Xp.S [Xr nXh.x.YXp.YX+ v x h : :XlXVX5.HX1 $.,XKXe.-XK kX..9XlXKXKXU.,.'XDX,.M.MX,.a cX, <.a < E.FXqX>.@ O v.)XD.MXe.wXlXDXD 'X,XsXn JX4 S z z ..m EXe EXq xXcX. x.[XK.-.9XK.0X5.DX1 # ` $XIXI RXD E._.F.p XI.`.a XB.p E E",
-" <.WXG.W t <.aX- RX1Xl 3XK `.,XcXwXJXJXc.-., &Xw.jXl #.$.`.`XV c.k.k : `X, `XGXq x R.H 3.`.~.`.8XK.H.D.8 :Xl.5 :.$ 3.a R.ZX, x $Xp..Xf w.EXGXlXIX- )XDXD.E b.sXeX5Xx.u.K `.i # #XI R.~XI.~ :Xl.,XcXw k [X+.jXe U a.5.K ) $XK.KXX '.ZXe v .Xf.{X8 S MX2.jXG.Y.M RX1XV.8.K.r ~XV ~X*X*.k.k.k NX9.k.k.k.k.kXt.k.k.k.k.k.k.k.kXt.k.kX*.k.k.k.k N.kXt.k.k.k.kXt.kX*.kX*Xt.kX*.k.kXt.k.k.kXtXtXo NXt.kXt.kXt.k.k.k.k.kXt.kXt.k.k.kXtX*.k c.k.k.k ~.H.8.kXxX9 (Xx.$Xx ) ) ( 5 ) 5 ) ).5 q :XJ.].] DXhX;XHX<Xc.1X# h x ` XMXp.F.m .Xq.Y U.aXI 3.`.`.`.H.`.`X1.`XI.8XDX1 3XIXIX1X1 xXKXU !XU $Xl D.2 DX1.H.u.D.HX-.5XX.k 3X*.5 qXJX3 R.l.[X<.pX2.xX2X: M y v.!.nXU.G.+.qXCXC.j y.jXK H ! 2 0.@X>._.iXeXe.M <.a t RXI.ZX, 3X1.MX5XJ.a $ $ :XK T.'XK.9Xl T cX,.aX-X-X, 3.a.aX1X-.u :.u.K 3X1X-.a RX- a RX-X-.a RX-X, aX,.aX-.aXD cXD.W.}.m.pX<X7 >X7 .lXBXB VXM h a.a.a R 3X-X-.a.a 3 ` 1 #XBXMXM #.[.g [X3.l X3X3 XBX+ n.<XG._.9.Y h R.MXI.e.a.a R cX-XI B : 'XHXlX5 x : mXDX, $ $.ZXD $.Z xX,.aXIX1XD.ZX1X1XI cX,.} x.FXq.xXr y n.jX+Xp.<X+X4.Y 1 x : 3.u cXDX1 h.MXeXc 1.YXK.'Xl.MX,X,.Z tXDXDXD U.M h.W hXD U.}.} U.FX4X+X>.@.sXe u.w sXlXw TXK gXc.>Xw M W.4 z WXr....XqXnXpXr.Y._ x $ x.Z tX, 8X1XD B.MX, xXIXI.~.}.M._.m >X% c c : U.[.[X<XB",
-" u xXL uX-.a R.aX-X,.}X1X-X- B $ :X,X, U U v oXG $ cXK 3 R.8.`X9XV.uXl `X,XrXp s x : :.K.k cX*XV.u cXIX1X-XI.H :XD.a a c.}.a.a.MXnXnX:X0Xn.0XJ.D.HX5X1Xl J..XL.}.KXoX1X-X1 t.a.a.aX-X1X1 BX1XVXDX1 $.a.FX7Xe v v $ c.a VX9XX DXw x.- U.j.Y.E.+ M.TX: ^X2.;X>X+ n.9.WXDXI.8.5 ~.r 3XV.r c.kX*XtX9.^Xj.k.^Xj.k.^.k.k.k.kXj.k.k.k.k.k.k.k.k.k.k.k.K.k.k.k.k.k.k.k.kXt.k.kXt.kXtX*.k.k.kXt.kX*X*Xo.KXt.k.k.kXt.k.k.kXt.k.kXt.kXt.kXtX*.kXtXt.k.kXt.HXV.r.8.rXdX*Xd.uX*Xd.uX*.kXd.k cX*XV 3.H : 'X1 $Xy.O.j.9X+X<.,.[.a 3X, <.FXqX4 E._XG .w.aX, 3X-XIX1.`X1XI.` 3.`X-.8.` 3.`X1XV.H.0 m g ! g $.9X1X1Xl.0.|XJ.`.H c.K 3X* D VXX : DX3XJ | [X% W [ W n n nXwXC J.q.> & b O v.WXD.w $ xXG.n O J v.<._._Xq x t.a t R.a R cX- aXJ a.9 :Xc :XH aX,.a.e R tX-.* RX- RX- 3 RX-.a R a.aXI :XV 3X-X1.a.e.a.a R.a.a RX-.aX-.M 3X1.a.a.uXDXD 3Xe._.FXBX%X7X7 XB.,XBXMXM :Xc xXc.-XlXc ` c <.}XM # $ h #X9 XXXBX3XX h.a cXB ` X7.[ >.F._ 1Xe.a t.MXD tXI R.a $ a.a `XJX.XcXH T.,XKXIXl RXlX,X,X,.MXD $ aXD hXD.uXDXI RXDXD.M UXeXqXr n.j &.+ nX>X+.xXpXn.Y.Y $ xXV.a.a U $ h u.M.}.M U.M h 8X,.Z.MX,.a R.M.M U._ 1._ 1 U.wXeXp.1 W.x z.;.;Xr nXU = nXPXc.].'X5 xXeXGXL v 0Xf.;.;X4.@ . v.<Xe._Xe EX, h.aX, CXD BXD a.a.i.}X1 RXVXD UXq.JX4XH 1 DXJXw.O.1Xw",
-"XGX+ <.a.aX- RX-.ZXIX-.a.a RX1 BX1 R.a t uXq...* RXl.$ 3.`.}X5X5.K RX-.M.9 1.W.Z $ c.K.5XX.KX9.KXlXX.~X1XIXV $ : : 1XJ 1 RXJ x.9XeXi ^.E.W h : 3.uX1XD 1Xp.s._XI :.`X1XI 8X-.a.aX-.}X1 8XIX, D #.DXD 1 h.1.<.@ b y c.`XV ` x x.Y.9.i.w v.EX> z.T z.;Xn.@ H S S.@XpXcX,X1 3.KX*.r.r ~XV.k.k.k.kX9 N.X N N.KXj.kXj.k.k.k.k.k.k.kX*.k.k.k.k.k.k.kXt.k.kX*.k.kXt.k.kX*.k.k.k.kXtXt.k.k.kX*.kXdXt.5.k.k.kXt.kXt.kXt.k.k.kXt.k.k.k.kXt.kXt.kX*XtXoX*.H.HXtXo.uXtX5.r.k.kX*.k.kX*.u.H.rXV.H 3.`.3 Y.%Xy K.GXh.OXZ.[Xc $X-XK $ :XcXHX4.xXpX+.i.9.l.aXIXI.`X1XI.H.8 3X-XI 3XIX-.8XI.8X1X1X5 !.0 gXw.2.'X5.].2 D.2 g.5.H c )X3XJX3XMXMXMX3 V 5 V V XB.9XB .- n.>X0 & b 0 0.WXs.MXK.%XlX; = 9 & M.x zXpXnXeXnXq.M < a.a.` hX1X- a.MX5X, #X,Xl R t R.aX- R R R R.a R.a m hX,XDX, c.u 3XJ :X9 c.aX-.aX- a R a.aX-.a.aX-.~ h.a $X5 h aXD hXr >XBX7.[X7X7 `.SX3X.XcXKXUXl.9.,Xl $ ` `XI.a.aX,X- <X- a.} 3 c #XM h.a a.a.a XB [ >.m p xXe t.} h.}.a.a.a.a $ $X,X, xXD $X5XD RX,XIX, $ x.M.Z $.Z $ R 3 <XDXD $ 3.ZXD.} UXqXpX+Xr H.9 9 y nX0XrXrX2Xp._.Y h.M.M h xXpXpXq.w.FXeX, U.M.M xX,X,.aXI.MX,.} UXpXq.YXp o._._._Xp.TX%X:.TXh.;X>.w._ hX,X, x $ xXlXl.Z.Z.WXa.=.s...@ H.x.;.J SXn p._Xp.9 U.M U R.M < U.i U 1 x.aX1XIX,.}XeX4.F.-.j $ $ $XlXKXK",
-"X0X0 h 3 <X-.` B :XI a.}XlX-XDX1X1 B a UXe.. E.M R.k.5.$ #X*.~.u :.a.a.Z._.M.M t R.8.~.k.`XI.a cXX.a 3.} `XI ' : 1XJ.M x $ 1 g.9Xr M SXw 1.a.u.uX*.8X, yXAX6Xq h #.u.aX1X1 BX1X-X1.a.eXD a R.KX5.u.u.Z .p.;X0 zXw.ZXI.} cXe v.).aXD c U vXf.C.<X4XA ^.. ^.x.4 vXG y hX,XIX*X9 ~XV ~.r.k c.k.K N././XkXkXk N.k.k.k.k.k.k.k.^.k.k.k.k.k.k.k.k.k.k.k.k.k.k.kX*.k.k.k.k.kX*.kXt.k.kXt.kXt.k.kX*.X.kXt.k.k.kXt.k.k.kXj.kXt.kXt.kXj.k.kXt.kXt.k NXt.r.k.k.u.k.k.K.k.kX*.k.kXV ~.r 3XV.HXV.`XI.2 Y.O !XOX; @X;.O.>.Z.HXV.k.~.2X,Xh._Xp.LXe v 1 1X,XI.`.8XI.`X1.`.` 3.` R 3.r.`.`.H.H.H.5 g ! T.] Y YX.XO.2 g ] @.%XJ }.$ | :.l ` k V | `.[.,., [XH k Xc.j.E b.v.v ^.vXL.NXDXcX. : kXw.9X0Xh H.y.x.<XnXe.F.M tXDX- R.8.aX1XI.a.a UXD.aX,XI.a R B.a R RXD R R R R T.9.OXKXHXJ mXJXc }XHX$ cX-XD aXD aXD tX- <X-.a.aXD c T :XDX-X,X,.wXh.YXBX+XB.[X% ` `.}X,.eXl.a R.aXDX-.a.~XI.eXI R.}.a R R.aX-X-.` RXIX- R R.a.a.aXXXM XB.g.pXq._Xq h.WX, < t.a.a < RX-.a.a.} $XD.aXl $ 3XDXD hXl $ $X,.aX, x h c.i $ $ $X5Xl x x.YXq.j = HXmXm ' ! v y.@X0 WXpXn.i x.iXn.Y.FX4.< .W x._ h.MXDXe xX,X,XDXD.aXD._.F.[.x.YXpXn J.<X4.< .X4.<.y.EXp o xXs UXDXDX,.ZX,.M.} c.D 8Xs 2 2Xi ^ ^X6X>.C W.@ .Xp._Xq U.} U.a E h._.mX7 x UXD R B.n BXGXp > [ 1.0XJ.|.DXc",
-"XC.M < c.u 3X,.5X, #.a cXI 3XI R R.a.a.M v p C.a.u :.8XX.`.aX- $XM R.N 1.W < a.a.`X-Xl D 3.uXM $X3.} 3XIX-X1X- aX- a.aXI.a BXD.W EX>.T M.YXIXIXV 3X5.Z y.4X: MXw # :.'XJ 8X1 TXcX1X, T.9X5.Z 3.K.0X-.a.MXsXr.EXG.j.MXX $.YXp.< v.MXI.a U v.W.sX4 % %Xb %.<.;XfXi.@.- R.aX* ~XXXt.r.rXV.u.k.kX9.K.XX9.K N.X.kXt.^.k.k.k.k.k.k.k.k.k.k.k.k.k.k.K.k.k.kX*.k.k.k.kXtX*.k.k.kXt.kXt.kXt.k.k.kXtXtX9.r.kXt.kXt.kXj.k.k.k.k.k.k.k.k.k.k.k.k.kXt.k.X.k.k.kXtXt.k.rXtXtX*XtX*XtXV.8XV ~ ~ 3.` 3X5 TX.XP.0 'XU s 9 TXOXDX1X1.`.` ` D.1.p.j MXw.p.-.[ 3 R.}XI B.HX1XIX1X1 3XI 3X1 3 ' (.2XlXU gXO @XyXyXy @ 4X; @ !.G Y K 6 |X#XXXMX,., XHX# 1 |X# .3 k kX3 V 1.[ o J 0XiX=.WXsXs.MX1 hX1X1.a R.WXn.s.@X6Xp.<._XeXGXD <X-.a R 3X- aX, R.aXD.a.aXD a R.aX,X,.a R.eXD.a RXcXl 1 x c 3 h.K :.KXlXlX-.aX-.a t.a a R.a R R RX-.a 3XD.a R RX, R U y z.h.hXhXHXH.[ 1 R RXD :.Z.aX- R $X-.aX1.}X- aXDX, R.a R RX1X-X1 R R R t.aX-.8.}X3 XMX7X%.p.FXn.iXe.i.i h.M.}.M h.i h U.a hX,X,XD $XI c.a $ c.9 UX,.M.MX, xXq x hX,X, UX,Xe xXBXrXr M =XmXmXP.0 gXG.w M = [XpXGXpXpX+.<.x.p.-.j.-Xq x.wXq 1.M x x x U.MX, xXpX2.p M MX0.; M M MX>.xX>.xX4...WXG.M h.} h.}.M.} $ 3XIX1X,.Z 8.N /.s.v.sXb.v..Xf r WX+Xq._.m U U E.m.m.FX+X<Xr.Y.j.w 1 DXc k z.g.1Xw T (.0.kXV",
-".M.M RXD c $X,XD R.aX5 1XJ :.O.Z.M.M.W x v U R R.Z.8.5X9.a.aX-X5.-.}.w xXsXMXMXMX- :.u.|XI aX.X3 :.}XM.3.0.~X1 ).u cX5XMXDXI RXD.sXn.JXn.E hXD.uXM :X+Xn...y 1 xXl DXJXH.ZX-XcX3.uX1 T.% xX1 h YXo BXVXK.M.) v.EXG.d.M U.-.@.s._.d.} UXD.W v vXG p U u.d ..xX6 % y s.MXI.8.rX*X9.H.H.H.r.KX*Xx.k.kX*.k.^.k.k.^.^.k.^.^.^.^.^ N.^.k.kXt.k.kXt.5.k.u.k.k.k.k.kX*.k.k.k.k.kXtXt.k.k.k.k.k.k.k.K N.kXt.k.k.kXt.k.k.k.k.^.k.^XtXtXt.k.XX*Xd.kXtX9Xt.kXt.k.kX*.k.k.kXt.k.r 3.rXV.HXV 3.8 ~X- D kX; @.O.qXy gXK m.G.5XIX1 ' :X,.iXwXn._ vXeXG x.F h.}.}.`XIX1XD.D D XJXK.S.% =XKXU yXO.> s gXUXOXU.].0 TXl.'.'XK gXHX..Y.3 h.a.} <.- `.9XcXK :.9X, xXKXMXMXMXcXr.s.v / 0 vXq $ 1X1Xl.Z : x x x M pX>X>.< ..m p._XqX,.a <.} 3 < R RXD 8 R.Y.aX,.aX-X,.w.Y $Xe.9Xl :XlXl.} tX-X1.`.`.u c R aX, < t <.a.a < t <.M R a.aX-X1 a.a.a.a.aXD.M.M._XG.[XhX%.SX<X. kXM x 3XDXI aX,.a cX-X-.`X- R.aX-X,X-X- R RX1 RX1 R RX- RXI R.aX-.} `X3 1XB.g.[X4 >Xe._._.i.m.i E.l._.iXq E U h.ZXD R.Z RXIX, h $X, U UXe x x._Xq._XeXq xXqXqXeX4X7 WXr M M.qXm '.9XKXL y.j = =Xw H.jXw MX0 & =XwX0X+XGXGXpXnXqXqXpX+.FXqXp.p.jXr M.;.j.j HXm H.q H HXC M ..Y.Y.jXw.Y.9XK t RXD $ cXD.aX- $ R t CXD 2.s O.= 2.v 0.4X8.< ..m._Xq EXq.JX2X% r z W.-.-.,.-.' 1 y xXr h.i.H.8XV.`",
-".a R < t t R R R.a.a.M :X. 1.,X.XH = n.1XU.9X,.ZX- R # 3.`X-.uX5Xe.M.' U.aX,XV c.` 3 5XJ.u.5XH.% #XI.e.,X1.Z.0 YXl 3 c | `.aX,X. C p M . J vX,X5.w.YXn.s.s.).j 3X-X1.K : 3 3., `X,.~XJ D.0 cXlX. :X1XlXcXD.M.NXGXnXpXe p vX>Xe u U E.MX,XDXa._.) * C *.d.).J . ^X+ x.aXI 3XV.k.X.r.H.u.HXV.kX9X*.k.^.k.kXj.^ N.X.X.oX9.o.X.oXg.o N NXj.k.kXtX9.k.k.k.kXtX*.k.k.kXj.k.k.kXd.k.k.kXt.kXt.k.k.^.K.k.k.kX*.kX*.k.kXj qXk.z q./ N NXo.X.kX*.k.k.XXt.k.k.k.k.kXtXtX*.kX*.u.r.H.8XV 3.H 3XVX-.] DXy @ @Xy.OXw.2 4.GX5XIXIXDXc.9.9.p._XqXe $XnXe._ <.}.aXIXIX1XD : 1XH XrXrXw y.q 9 o 9.! x.n.' $.n.' $ 8.M '.9XwXy.YXl X,.a.aXDX-.ZX, t RX,XD.*XD a a 1 x .jXn 2 /Xp.>.j v.-.w m ` n '.Y.E.T.) ^.J %Xb.mXAXn._ E E < h a.aX- RXI RXl.-XwX,X-X-XcX, 1.-XcXc.9Xc ` :.a.a.aX-X-.` c 3X- t < hX, h.iX,X, U.M.} U h.} < < <.} t.a R.M < UXeXB.p nX7XB.Y 1 1XK k.-XJ TXKXJX1 cX- R.aX-.a aXI RX, R R aX- RXD.~XI BX-X-X- aXI.a.aXlX7XlXB.p.pXB >X+ >.m._._._.FX4Xn.FXq._.WX,X,XD c cXI.a.M U.F xXn x xX+.pX+X+Xp.@XpXpXpXq.FXpX+Xp.j &.>.Y ' s.0 CXl g.jX0 = =X0X0.> yXmX0Xw ! = MX0.YXnXnXpXn M._._Xp.YX> &X0.jXG sXG b o & o &.+.+.+ zXr.jXG.9.M C.M RX, h.ZX,XI R h.a R.a 8 tXs 8.N.=.v 2...@.x.< % %._ . . S.<...{X>Xn.F.W.}.a t.M s xXqX4 hXlXoXV F",
-".WXe.W.W U U U U u.M u UXe t t U u.j.9 n x y.Z 3X- 3X5 cXIX- xX5 hXGXeXD a R 3 BXI B.~Xl.5XDXl.a 3.a 3Xl.H B :.9 `.a hXH.,XV 3XJ tX,XGX>.xX> vX+.[.jX>Xn._.Z R 3.u hX*.e.` R.e a.a 3.} 3X,X1XJ c :.K.Z :.M 8.M.NXe.@XnXn ..YXnXGXG x.YXpXp.<Xf .XAXiXn v bXp.+Xq y.ZXDXI ~.8 ~.kX9.H.H.HX*X9.K.r.k.k.k.k.k.^ NXg.XXgXg.X.oX9Xg.X.b N.^.k.k.k.X.k.k.k.k.k.k.k.k.k.k.kXt.kXt.kXdXt.k.k.k.kXt.5.k.kXt.k.kXt.kXt.k.kXk NXx.XXk.k NXgX9.k.^.kXd.X.kXd.^.b.bXo.kXjXd.k.r.r 3 ~.8X5.k.KXV c cXI.w s ! !XO T s '.0XyXVXIXI `Xc XeXn._Xp x.WXp h Xp.9 ` 1.a.`XIXIX-.MXwXwXGXL b 9 & b.n v s.9 $ : R R B.Z.Z RXK n KXH.G VXM c 3XMXI R RXD.ZXIXDXIX1 R $ x ` .-X+ v.s / 0Xn v vXLXe.WXL.W U.W vXn.v ^X4X4.<X>.p.xXn.mXeX, < h a.a.M RXc.9Xc.e.u.a RX-X- R.M t R R t BX-X-X-.a aXIX-XMX5 < <.M x E hXe.i EXeXe E.i E h h < < < < UXe.iXeXe.m >X<.gXpXB Xq.} x $XDX,X1 `.] c R 3 B R 3 c 3 c 3 cX-X-X5XlX-XH :.] 1Xl : T $ R RX- < c., 1XB.gX7X7X%.[X+.FXq.F.pXr.g >Xp._._Xe x U <.M h $Xe U pXnXnX4Xr.j z nXr nXrXw.jX+ v .XnX+ J o.E & gXK '.9.Z sXUXUXU & M.> n.9 yXU.' y vXP.j.j nX>XpXnX+ & vXp.j M M.>Xm.Y.n v s s b H J o J.E 0X=.N C C.W U.Z.M t.M $ hXDX,X1.aX,.e a a R CXD.N.NXeXGX0..XfX2.@XnXi 0 S ^Xi.vXf HXiXnXG h UX,XD vXc nX<.-XH q.$.u",
-"._....._...s.m.s._XeXe..Xe p p.N.W._Xn vXG.9 h.W $Xl 1Xw.S xX, sX+Xc h.ZX, B.ZXo.0.kX1.~.8 #XD.~X-XI.~ R.e.a.a R.a t.aXI.aX-X1X1 RX, s v._.@.< ..sX4._.W v $ RXIX- R cXV # I q.KX-.a h.a.}XD 3 3XX.l $XD R.N.M u uXF * *.W u C 8 C.N u t.d.x % { %Xf.@.EX>.EXG 1 XDXIXI 3XVXVX* ~.5X9XV.r.5.r.K.k.k.k.k.kXj NXg.X.oXg.X.XXg.XXg.oX9.b N.^ N NXt.k.k.k.kXj.k.k.k.k.kXj.k.k.k.k.kXt.kXd.k.k.XX*.kX*Xt.kXt.kXt.kXj.kXtXjXj.kXj.k.k.^.^ NXo.^ N.^.X.X.X.X.b.X N.k.k.k.r 3 ~XV ) ( I `.AXJ.2.G 4XyXy !X;X; ! YXJ x 3 1 $XwXwXGX+.j.gXe.FXB.F._.i._Xe : c.a.` 3 3 x.O &.q.+ b y &.+XUX.Xc.3Xl mXw $ g mXl TXPXJXc `XSXHXH., c : :X,X1X1 R R 3 $X.X. T.].[ `XB.jXG.v.. 0.s 0XG . J v 0 v 0 ^.. 0Xf wX>.@ >.JX+.x.pX+._ EX,.M aXH.9Xl.a t.a hXIX5 c.~ R a RXD t R t c R.aX- 3.5 c.~X- R t.a UXqXp.[.-X% >XBX7.g.[ >._ E E._XpXp.FX4.F.F.m.m.F.F.F.g.gXB 1 h.a aX-XI BX-.aX- c 3 cX-.`X-.eXDX-X,X- mXcX,XD RX-X- aXI aX-XI.a.aXc `Xc V.h.S.hXZ.T.SXBX%.g nX+ X+Xr [.-XpXe.FXqXe x._ EXqXqXn.j [.+ [ =.YXrXm.j.9 o &.> z = MX0Xr &X0.> g s s.DXD.DXI U.w.'Xc y.9XGXD $ s s.Z.j.9XmXGXU.+.>X0.+ = = nXm.Y o.9 xXs 8.MXL b.!.q O 0Xi 2 2.s.=Xe.W.w.s tXD t.w.WXDXDXD BXI.Z RXDXD hXl.9XKXGXe C.s OXnXi 0 ^ 0 ^ 2.BX= { HX> v.;._ 1.W $XeXGXG >.MXI.8Xo.H",
-".@X4X4 0.. .....Xb % %..X6.s.m...mX4..Xq.@Xr.jXpXp._X+.YXr.)._._ v.-X, h 3.uXVXl DXVXl.K h c a h :.uXI.e R R.e a R aX- R RX-X1 3XV $ C.W v.JXA % %.. v CX,X1XI.~.aX1 a.uX9.KX-X-.a.a c h.a xXI.aXM 3 uXD v vXe p...sXb p %...).) u U uXFXAXfXi.J.j XeXeXL.Y =.OXl 3.u 3 ~ ~.8 ~.u.8.kX9X*Xd.k.k.k.k.k.^.k.k N.XXg.XXgXg.oXgXg.XXg.XXgX9 N.z.kXj.k.k.k.k.kXtXj.kXj.kXd.kXjXt.k.k.k.k.k.k.k.XXt.kXt.k.k.kXt.kXt.kX*.k.k.kXt.kXj.kXt.^ N N N.^.^.o.X.b.b.X.o.o.X.^.r ~ ~XV.8.u.8.u.uXVXV 5X.XU.0.0XO m.' $ !.2XKX. kXw.S [Xr.F.WXqXe < t U._._ x 1 1XD.8XIX-.aXcXmXr.+.h.q.q =XyXw., :.O #.3 mXKXw T.O $Xw.D sXK n mXXXc c R R.~ RX-X1.aXI.ZXV $XJXh }., [X<XG o & S H.;.x ^.@X6XiXf %X6Xi w.@.@.@X4 >Xn.pXpX>.p.F.. E E.-X, h.a R.a.aXKXl V.]X3 D.]XcXKXK., TXcX,X-.8Xl.`.aX-.} R.} EXe.iX+.gXBX7 [.gX%.g.[.p.<.F.F.F.m.m.FX+Xr W.g._._Xq.FXq.FX7 V x 1 R.a.~X-XIX1.a R.a 3 R R R.aXI R.u c 3Xl.e $ B.}.Z RXIX-.a RX- RX-.9 :.9XM 1XK.[ nXH.,.-Xw.,.[.-.,.,.- nX< WX7.[.p.[XpXpX4X4X4X> W.+ =.9XGXG.9XG 9.' s vXG.!.jXC y.j & H y.9 '.Z.D 8X, sX5.wXe.ZX, 8 R :XK g gXPXwXwXU.+.>X0 y.jXm.'X0XmXm.9.w.D RXDXD C.D v.q & b 0X=X=X= 2 O 0 O.sXL v.N U.Z.Z.Z.MX1XI BX,.aXKX3 `Xc k $ R.M u C.N 2 b.v b.@.v.= 2X= 2 ^ H ^Xq._ U h R.M ._X+Xq 3XV.HXo",
-".;.;X8 H.4.xX>X>X>.;.x.@.xXfXfX6XfXnXf .X4XnX6XpX> M zXr p...s ..-XpX, 3XM.aX-XIXI 3.KXI cXD $Xc.9 $X, $ 3 hX,X,XD 3X,XIX,.Z.Z.D.uX-Xl vXn.C pXb.d u.Z a RXI.~.8 R R.KX3.~X* ~XIX1XI $Xw x h aX, hXK x v._.. v......XiXb...J %._.s p pXAXb.C.@.EX,.}.M.aXq oXr.Y 3.`.H 3 ~.u.rXV.8X*.r.5.KX*Xd.k.k.k.k.k.k.k.b.XXg.X.X.o.o.X.o.XXg.XXgXg.o.z.^.^Xo.b.X.b.^.^.k.^.k.^Xd.k.kXdXtXd.k.kXt.k.K.5Xt.k.k.kXt.kXt.k.k.kXj.kXtXtXt.k.k.kXj.k.^ NXg.^ N.o.b.X.X.o.X.o.b.X.^X*XV.r.8XV.HXV ~ 3XIX5 4 ]XO ! TX5 B R 3XD $ $Xw.[ nX7XpXp.<XqXq UXq.Y p vXn.9 UXJXc cXlXc.O.>.jXCXZ.G.+ y g '.Z.Z cX5 $X,X,X, $ 8XD.'XD.'XlXw.,Xc : `.}X- 3.aX-XI RX- c.a RXDXKXMXhX..1.L.+.T M S H.@.4.{ w.4.4 w w.;.; SX>.x.jXnXq.<.<X+.xXn.m._Xe.F.M < < t <.aXD.~Xl c : c.a : x.Z $ x $ RXIX-Xl.a.aX-.M U E.i.m.F k.p .[XBXM.F.FXB.[.p.FX+Xq.FXrX%.g WX% > > >.gXBX7 kXB # aXI RX1.eX-X1 RX1 a.~ c R.~ R $ : $ D.eX1XD 3Xl aX-X1.e R RX-.M.a.aXI.M 3 n $ xXw 1.9Xc.,.,Xw |.S [Xc V k.gX%XB.F W.pX4XnXp.<.E z [.j y.'.W.D.ZXD.Z.'XGXP b.' bXG.9XmXK.9 g 'X, 8X1 'XD B R.MX,X,.aXIXD.0XJ $.Z $Xs.Z.W sX+XK.' y.9 9Xw.n.DX1X,XDXDX1 8XD.'Xm H.q.v 0 0 O.E &XC.@ O.v J.).=Xe.WXaXD 8XD R.HXIXK : : 3 3.}.a R tX, C.NXL O v.N.W.N.N.=X= 0.4X2 .._._ < R R.wXpXqXBX1.8 ~.H",
-"X>XmXC y H H H & HX0.; HX0X0 M M r.+X: SX:.+.+.+ r.;.y.;Xn .X6Xn W.Y 1 U.M.M t.a.a < <.a UXD.- x x.W t <.* aXI aXIXIX1XDX,XD 3 x 3.D xXw M.TX>.pXn.9 nXlXlXlX, h.DX1X,.~ 3X- RX1.~ $.D 'X.XG.Y.[Xe y.jXpX>.<.<.J.@X4XpXn.xXnX6 {Xi 0.<.sXpX0.Y.w R 8X1 y.E.E =Xc.}.8XV ~.HXV ~ ~.u 3 ~XX.X ~.r.k.k.k.k.kXjXj.^.XXgXg.XXg.XXg.o.X.o.o.XXgXx.z.X.X.o.XXg.X.X.b.X.o N N.b.X.bXo.k.k.k.kXt.k N NX*.k.k.k.k.k.kXt.k.k.kX*.k.k.kXt.kXt.k.k.^ NXkXd.^.X.o.o.o.X.b.b.X.b.k.r ~.r 3.r.H 3XVXV.`X1 T T '.DX1X1 ) ) RXDX, xXc y.SXc.L.1.F v xXq.1.+X+.Y.- U.Z :.9Xc =X;.OX0X0 o.; =.G.+ ! 8X-X,X1X, c.M < R RXD.M.DXm.w sXKXw.- `Xl `.aX-X-XIX-.aX- c B.aXIXD hXM Xw.S z z.+.hXf.@Xf.@X>.C.@X>.xX>.@ MXrX+Xq.M uXeX4XpX2Xr.<Xn.m._Xe E hXe.}.a.} hXDXI aXI.a 3 aX- R RX- RX-.` c c.a.i h.iXeXq X+X%XBXM `XX .lXM.FXB.[XBX%.[.[.[Xp XBX7.gX%.g.y.S.gXBXBXl $ a.aX-X- :X- B R R.~XM : $ #X5 `XJ mXJXKX3Xc.,XJ I : xXl.Z 3X, :XDX, h.aXc $ nXcXH :XH kXJ k mX3 $ #X3 VXcXB kX< [.SX%X>X> H M M =XU.j.] g $X,.wX,.Z :.0Xl.'.'XG.' s x.w $XD.w.Z.ZX,XlX1XD <X,XDXD $ $ 1X5X,XDX1X,XDXD.ZX, s $.W s.Z.M '.DX1XDX,.H RX1X,.Z.!XG y.q oXC.; HXC.q H & H J ^ ^ 2 v.WXs.ZXDX1XIX, K.Z :X,X1.~XI.-.e R t.a 8 t 1 U.M.M t.*.NXa 2 ^X2X4 ..i <.a.M hXGXqXB 3XV ~.H",
-"Xm 9 s v.n 0 s 0XG oXG oXGXmXC.O.h.+.TXh.T M M.+XrX0 z.4.;.4X>X0XL y v.w._ UXe < < < <XLXeXe.YX+ v.sXeXe U.a aX1.`X1X-XI.Z.a t c R R.WXGX> .._ s.9Xc I.%.-.9X.XU D m.DXlX5X,X,.u $ $ $XKXw.Y.-XrXGX0Xr.TX<X+Xn.YX4.Y.pXrXr.<X+X>.@.EX>.< W xX, R.H 3 s o oXrXG hXI.r 3XV.rXV ~XV ~ 3.rXX.K ~.KXd.^.k.k.k.k.k.^.X.X.b.X.o.X.o.X.o.o.XXg.X lXgXg _.XXg.X.o.XXg.XXg.X.X.X.X.X N.^XtXt.kX*.kXo.k.k.k.k.kXj.kXt.kXtX*Xt.k.k.kXt.k.k.kXjXtXd N lXd N.o.b.b.X _.X.o.o.X.kXtXV.r.H.u.k.r 3.rXIXI.HX1X1.HXIX1 DX1., D.9XwXc.[XH.F n nXG XwX<.jXw xXqXGXB.i <X, sXG 9.q & M.TXr & y gXKXO.'X1 $.a cXD.a R R.a.Z v.'Xm o.qXrXU.Y `XM : #.}.aXI.a.a cX-XI t 3.a #XM `XrXr.YXpXpX4X4XpXnXGXp.@.@XG.YXn [Xr.YXe < <.WX+Xn.<X>X2.xXp p.m._ E E E.W < U $ h R.aX-XDXD R RX-XIX- RX- c h $ h._Xq.F >X%.[X7XB.l hXXXM 3.a #XMXMX7 k.[XB.[ XM V [.1 [.SX<X#.T k | 1 3XI.aXIXIXlX, h 3 h c.9 kX..%XK ` m., DXK : 1.uXl 1 : $X1XIXDX- $XD R aX,XDXK.Z : $.Z c $XD 3.a.aXIXIXD 3 `X3XXX7XH.[X< W.; M &.j.j yXP !.w ! g D.]X5.`X5XD RXD 8.M R.MXD x x.ZX,.uXDXI x.ZX5XK $ h $X5X5.].K ` ' k `.,XcXH.3 yXD.wX,.Z.w x 8X,X1XI RXD $ RX, s sXC.qXC oXC H.q O 0 wX0 H J 0 0 v UXD hXI.a $ R.aXI B cXK TXlXDX-XD.aX- a c h < h hXJXsXe.s .XfX+ .Xe UXD.aXe.F._X+.uXI.H.8",
-".DXl '.w.nX5.n s.0Xa s.w.n x s.!.'.j.! b s b b b 9.!Xm.!XmXCXC H y vXmXp.s..XpXb E.dXeXnXGXn g.Y ...._ pXe E R <.eX-X1 3X1 R a.Z R 8 U._Xn u t RXI.uX5XI aX- R.aXD cXDXD R R R.MXDX,.Z.9Xe._ vX> 0.@.jXrXq $ hXe xXG s h $X,XV.9 s v $ 1 #.aXV.u 3Xe.E.YX> U hXI 3.8.r.8.HXV.8XV.8 3.r ).k.r.kXt.k.k.kXj.k.kXd N.XXgXx.o.o.oXg.o.XXg.o.o.QXg.XXg.XXg.o.X.o.o.o.XXg.oXx.b.X.X.XXt.k.k.kXt.X.k.kXt.kXj.k.k.k.k.k.k.kX*XtX*.k.k.k.k.k.k.k NXkXt.b.X.X.b.o.X.o.X.b.o.^Xt.r.8XV.k cX*X*XI.r #.K.` cXV.H.H.u.5Xl x 3 x h.-Xp.Y.9X< n.1XHX.XKXG.9.Y ` #X,XB.-.w vX> =.;.;.+ & HXG.!XDXa ' D D.Z $.} a.} U.Z b.n yXC =.q zX0 nXcXB `XM x.}XIX- hXIXIX-X,.} h XM.- [.xXpXp E u uXeXe v x x._Xq.w [ [Xw 1 $.MXD.w.pXpX>.<X2.< . ....F ..m.iXe._XeXp <.a R R 3 RX- RX1XDX-X- hXl EXeXp.p.p.F.[XpXMXB.}X-XV.`XI.a.aXM ` XcXBX3 ` `XMX3X..S.SXHXH.3X<XH.l $.}.}XIXIX- c.u 3X-.aXD 3XDX-X- a R R x a $.eX-.a.a.a.a.~ R R 3X1.aX1.a R R aX-X-.eX1X- RX, RX1.aXI a.aXDXI cX3X3XX XB n M HXC M &.j 9X; !XU g ! D.0XVXIX*XVXIXIXDXDXD RXDX, h $ R.MXDX,X,XJ 1XwXJX.X. mXJXJXw.%X..-Xc.' $Xw Y :.a x $.a $ $X5.aXDX, T 3XI R.Z.O.n.' v.n v v b v v O b ^ H H w O v.W.M.a h.a 3 $XDXD xXK T c BX1 RX- 3.a R h h kX3XKXJXL.N.s.vX6.xX4 p $ 8 t hXnXqX+ 3.H.8.H",
-"X5.0 '.Z.Z.n.Z g D gXK.n.Z.wX5XG.' '.' '.wXL '.nXL.!XaXa b.nXL 9 y &XrX0 0Xb.B %Xb...JXe.E =Xh M n.xXpX+.< E.d tXl x RX1 R RXDX,X1 R p v.m u.MX1.`.u.eXI.M <.a.aX1X-X1X,X- tX1 aX,XD xXw.w v ..@ 0.EX+XD h 3X,XD.wXc TXK.w 3.uXVXI $X, $ 3 c c $ $.-.jX2.j k.O 5.KX5X5 cX5.k.K.u.KX*X* ).KXt.k.K.k.k.k.k.k.kXt.k.b.X.X.b.X.o.X.b.o.b.X _.z.X _.X _.X.X.o.X.b.X.b.o.XXg N.X.X.XXo.k.k.kX*X9.k.k.k.k.r.k.k.kXtX*.^.5.X.X.5 N.^.^.k.kXt.k N.zXoXg.X.o.b.X.b.X.o.b.X.X NXdXtXt.kX*X*X* ~.k.KX*Xx.KX9 cXoX5XIXIX-.M # #XK n.1.1.1.SXH `., $ $.Z h 3.a.l VXB.- v 0 = w =.+ =X0 s 9.DXI BXl : m.-XwXD.M.w.n.9Xm &XC M.E =XhX<.TX< kXB.-X3 x h.u.}XI hX,.} ` X7.gXw.[XpXBXe.M t C R R t t R.M.e.9XB.O $XJX..9 n.MXLXnXp.@X8.j.x.<.{X+ . p.m.m EXp x U.M RXD 3 3X1XD 3 3X, 1 Xq.F.g WX<.[ [.gXc V hX* 3.5XI.u 3.uXM ` `XMXM.}.}.a R $ $X5 hX, $ a aX-X-.aX-.a.u 3.a R RX-X- c RX,.ZXD R.a RX1XD.a R aXI.~.e RX-XIX,X-X,XI.a.aX, TX-.5XM aXD a 3XD RX- aXDXIX1XDXl #X* # V.[ n.T 0 ^.q.T =Xm 9 g.! sXU.9.'.5X5.u :.KXIXVXDXDX,X,.aX, hX,.aX, 3XD.9.- 1.Y s s.9 R.ZX,XD.aX,X-XD.ZXl xXDX, $ xX5 mX,.w.ZX,X,XHX-X-XDXl YXK x.n sXa s s s.n J J H H HXC wXn vXe.} a 3 t :XcXcXJ.ZX1 RX-.a R c R c #XMXJXK.-X, 8 tXa ^ 0.C.4X6Xq v.M.MXeXpXqXB c.H ~.H",
-"XK K :X-X1 RX5 m.2.Z c D $X-X-.HXDXD 8X1XD 8XD.D ' TXa.w.Z.n T.' vXUXC.jX8.@Xi.P.PXA . S M.O nXJXr M M.yX: M W u.j.- :X5 cX1.8XV 3XDXG.F.) tXDX-.`XVX- R.a.a R.` aXIXD 3.aX-.a.}X, uXeXpX4XqXn n y y hX,XD h 3XDXD.DXK 9XK sXD.}XV.HXIXdXIXVX1 RXp.@X>X2.j.jX5XI $ cXI.H 3.u ~ c.r.u.K q c.kXoX9.XX9.XX9XxXx.XXxXx qXk.z.I q l.IXk.U.z.z.6 l.z.U l l l.z lXk l l.X.o.X.b.^.^Xo.^.k.k.k.k.X.k.k.kXt.k.kXt.r.KXtXtXt.K N.X N.X.X.X.^.kXt.^Xk.b.X.b.X.X.o.X.b.b.X.b.X N.^XdXtX*.kX*.uXV 3.k #X*X*X*X*.r cX1XIXIXI xXHXJX#.3 `XDX,XIXIXI 3.`.} 3.}.a h V X7.gXp 0 v.@X>X>Xh.+ !Xw 8X,X, BX, $XK U.ZXL 9XC.q HXC.T z z.p zX%.hXh.L.1XZ.Y 1 #X7XHXhXc.,XB.,.gX#.S.yX<Xp.9.M < R.aXIX1XIX1.aXDXD U hXc.2.5 : $.9 U UXG.j.x.xX2X2X%XrX:Xr.xXr.pX4.<X+.Y.9 hXDXD c.u.u.aX1.a ` U xXq.gX7Xp.[ kX7Xl.lXI.eX-.`XV B RX-.a h h c.}.} a a.}X-XIX- B RXIXI $X, RX-.a.e.aXIXDX-.a a.a.aX- RX5 $ RXDX,X, $.a RX,XlXK a xXH.% T.eX,X1 Y s.aXI tXH.% xXl.~ R R.~XD a R R.a.M R 3 hXl 3 3XB [.pXp J ^ ^ z &.;XC HX0 bXmXPXKXl :.5 :.5Xl hX,.ZX,X,.MXDX,.MXD a hXDX, x $ xX,.Z x.wX1 1 n.Z.ZXeXD 1 T.-.9.ZX, $ x nXD $.wX, tXH R.aXIXcXDXw 8XDXD 8XaXL bXm &.qXC b w J ^ J v.MXeX, <XK c 1Xc 3 R.aX-XD R.u hXJXH :.3 x.aX,.a.N.W.s J ^ %X4Xp._XeXD.M EXn._X+ 3XI ~XV",
-" cX5 ` RXD 3X. D.%X. :Xl m., ` ` :XJ cXc.5Xc.u $XK T.*.MX1 1Xl $ sXL.9XrXr.;X8.;.@.@.< nXBX, hXD c EXe MXn.JX4.)X>X+Xw : `.~ cX*.0 $ [X4.M U aX1XI.8 R.} `.a c 3XI.aX-XI.8.a.}X,.M pXnXnXn M.p v <.W._ XK.Y.9.wX,X,Xa T.!.9 .aXIXV.u.uXV.`.a 1.E.P.x.< HXrXw.2Xw D cX1.u ~ 3 ~XV 3X9X9XV.r.kXt.k.kXtXt.uXt.u.kXd.^.^.X.bXg.XXgXgXxXg l.z.X l.X l l lXk.U lXk l.z.QXk l.b.X.X.XX9.X.XXx ).XX9.XXkXxXkX9X9 NX9X9X9Xk.z.z.z.z.zXk.zXk.XXx.IXk.zXk.z lXkXkXxXkXkXk lXxXx.X N NXoXoX*.u 3X*X* ~.8XV.8XVXI.HXVXVXlXJ.3XK xXlXD 3 h cX3XXX*.}.8 h.a c.[ VXB .[ nX> H.E 0 y.>.1X;XH Y.2XJ T RX,.ZXD v.n.q &XC & H.+ zX>.xXrXr n z M =.TXw.g nXH.SXH.1 kXhX#.hXh z.1Xw.j.9 h.ZXDX,X,XDXDXDX,XDX, hX,XD 3X5XDX1X, $XDXeXG.j.Y SXrXfX4.<.pX2.x.x.pX4Xn._._ 1 h 3X5 3X-X-XIX1 .}XeXq.p.p.FXB XM 1 c cX- R BXI 3 a.a RX-.a.a <.a.a.a.e.a R.e R RXI RX,XI.a $XM cX,.ZXI kXD.a RXIX.XlXc a.a 3.G.e Y R.a $ 6 xX- $Xl.% RXDX- cXH.3X-.M.eXJ xXN s R R t.aX,XI.aXD.aXD 3XDXI : : cXB [X> ^X6.v ^.sXn.E M M.q =.q gXPXc 'X-XV.'.K $ $.Z $.ZX,X,X,X, xX.XlX, xXG.G.YXc U.Z $.ZXUX,.Z R.MXD.Z = $XK h.wX,.ZXHXKX, $X, R xXDXI R RXDX1 R R 8 8 s.nXC.q b O.v.v.v O.vXGXe.W <.MXJ xXK.u.a $.aX-.a a.u.a xXJ T 1.Z.MXDXDXe.* s o.@X>.@.<X+ v x U t.WX4XqXBX,.HXV.k",
-"XIXD 3X, $XKXJ.9 x.uXl cX.X3XJXJ.- m D :XM., h.GXJ.wX1 R R.aXD 3.D sXm gXm &.j H M MXG 1 .a RXI RXDX,X+Xn.J.s...d.M t cX1.H cX5X5 sXH.jXpXB.9 `.5XDXD : $X3XJX5 RX-X- 3XM.5X, UXe._.@Xn.x.s U pX4.x.<Xf . vXpXK.a 3.HXD cXoX,XI.8.8.K.H.HXD sX+XpX2.J %.<XpXZ.j y.YXcXD 3X1XtXV ~.u (XV ~.8.k.k.k.K.k.k.k.kXd.k.k.^.k.^.^.X.o.X.o.o.XXkXgXg.oXg.X.o.X.o.X.XXg.X _.bXz.X.^.kXdXt.kX*XtXo.K.kXtXt.R q.X NX* NXtXt.k.k N.X.XXgXx.o.X.X.b.XXk.XXg.oX9Xg.oXgXgXgX9XgXgXxXg.X.^.kX*.u.rX*.8.uX*.K.r.8XV.HXV.8.K.5XI.u 3 3 3.KXM D.K 5 #XV 3 3X*.5., VX3XX XBX0X0 J.@Xm &X0 v s.9XK ` 'X1X, 3.a $XG bX0X0.q w MX8 . . . p...s ^X8XrXr [.[Xr k.-.[.-X+ kXr.-X4 v U R.* t RXD $XKXKXlXlXc.9 t.,.9 R T.% cXKXJ.aXh.9Xw vXZX+.YXpXpXp.< >X4.x.x WXnXq.Z.M.a.~XI cXIX1XDXl h U.F Xr 1.l x # a.a c RXD.e.Z aX-.a a a.aX- < a a., $XJXIXD.e Y $ 3 RXD `.G.Z h 3.u.GXMX1 R.a.3XHX-XDXD RXhXJX# R.aXDXK.O $XDX,X.X- RX1XcXlX# : R.e.,.M.ZXl a R RX- RX, 3 $XIXI 3X, : `XK `.FXH WX>XfXi 2.) vXn z H b HX0 &XCXP.' $.DXIX,XIXl.,.'XU.ZX,.w xX. :.a.a.Z hXH = nXD.ZXD.Z nXJ.Y RXDXD CXl.'X,.w $XD.a t R.MX- h RXD.eX,.aXD RXD 8 R 8.ZXa b.qXC O O 2 b.v.s 2XL vXD.W 8XD hX1 RXD.K.uXI 3.u 3X-X..Z $ R R R BX, $Xe J.s.@.4.) E.p.i.l h.MXeXn.F.pXK.kXo.]",
-"X, hX.XcXlXJXJ.Z R.a B cX- x R 3.ZXD h $XD xXl.%XU RXD RXD.} c R 8.D.n 9.9 gXw.9 'Xs.a.u RXI.8XI.8.` h sXpX>...s p t R.a.e #XD.a 8Xe 1 UX, $ cX5Xl 3.}.} 3.K 3.KX1 3X- a # x hXp ...X>.C.m...@.<.< L.JX6 . .X>.YX1.aXV.8.H 3XVXI.r 3.K.`.H $XmX> W ..JXfXn .X2.+.Y y $.a `X9 c.K.K.] )X*.5.5.r.KX*.kX*.k.kX*.k.k.kXt.k.k.oX9Xg.o.X.X.o.z.oXg.X.o.o.oXg.X.o.o.o.o.X.o.oXg.b.bXo.k.kXdX*.X.k.kXt.k N q 5 N.r.r.k.k.k.k.k.^.b.b.o.b.X.o.X lXx.o.X.X.o.X.o.X.o.X.o.X.bXg.X.b.kXt ~ ~XVXIXVXIX5 ) #.u.kX1.8.8 3.` 3X1.u.` 3.K.8.k #XV VX3.`.}XI V )XXXM.l # h.lXM X+Xw & y.j =XKXUXK.> 'X,XD RX,.aXD v s.q &X0X> H zX>.CX: r.P.@ SX0.y.x.[X+.g.g.[ n k =X7 n.g.j n v RXD 8 R.M.a.M.[ xXG x K.9.*XH s.eXJ.3XX D k.u `Xc.9 a =XG U UXqXp.9.@X+.<.<X:.< p.i.M R RX-.` cXI.5.- `.Y n.gX< [XBXH : ` VXHXI R.aXIXD.uX-.aXIX- R RXD.e.-.% $ aX-.ZX.XH a.Z R :X.XI.u.e DX. m aXI RXh mXwXD.aX, Y.e Y RXIX,XHXJ a R $Xc.eXDX1 $XDX, 3.M.a R.aX- aX- R R R.a x $X1 `XHX, `XcXJX3.,.SX% MXn 0 0 oXGXnXL v 0 2 0.+X0 & g.! '.ZX,XDXD $.GXHXw.M.ZX, $X;.,X,.a xXDXw.Z 1X, $ $X, RX,X, R R.aXDXD R h.ZXD.a.a.M.aX-.M RX, R.M R.aXD RX1 CX1Xs.w b JXC b.v /.) J.Y.N.WXs.w.W.D $XDX1XI 3 #.~ 3 : cX- R RX-.a.M R R.eXD.a 8 vXn..X>Xp.@XeXqXe $ < u.M._X4.S xXJ f )",
-"XDXKXcXc.OXhX..9XK.'.'.9 $X.XlXIX1 RX,XDXD a 'Xc $XD BXD.HX5.`.u.w.n.nXPXO '.HXIXD.HXIX1Xo.u.`X1.8.` $ U v J .Xe.W a.} RX- : R R C x.WX,.}XI RX- R 3.a.8XIX-X1.H RX-.a.M < U pXLXn M.<..X>Xf.. .X6.C w H J.j.9X,.a 3.` 3X*.8XI.DX1 #.r 3XJXU ^.@.P.J %...BX6.C...x.jXs 1 ) ) I.$.| f ) ) D 5.kX*.k.k.kXtX*.r.H.u.r.kXtXt.X.b.bXgXgXg.X.z.o.X.o.XXg.o.X.o.X.o.X.oXg _.X.o.X.X.b.^.k.kX*XxX*.k.k.kXtXt.k.k.k NX*.kXtXj.k.b.b.o.X.o.X.X.X l.o.X.b.b.o.b.b.X.b.X.X.o N.b.X.b.kXt.r 3 ~.H.HXV.5.K.5X5X3.8XI.8.`.HXV ~ #Xx.8 c.K.`X* 3XX VX3 :.5XJ VX3XXX, ` hXK `XM .p.[ y.O.1.OX;.OXP.w $ RXD R R.Z v b.j & w ^Xf ^X>X>.4 . w.;.; HX:X:XrX<.h [.T.1 [XZ.T z.1X>X+X,.D.a R.}.W xXH MX%XcX<Xw h $XKX, x 3Xl 3XMX3.5X- 3XDX,.Z.a.M.M U.d E.pX>.x WX4._Xe < R.a.a a 3.2.% ,.-X.X<XH.hX#XHXHXc $X..YX. <XI.eXV 3 cX-.`X-X-X-X-.~ RXc.%.S.a aXKXXX#.Z h.e YXJXc $XV.2.eX. 3.a.aXJXD :Xl.a.a.wX,X,.MXI t.aXD R R a.e R RX-.a aX1 RX-X-.aX-.a.a.a aX-.}.eX5 3.aXDX.., Y.3.3.GXZXHX# WXr o 0XG v.M v.YXG O.@.@X> M & g.! sXDXDX, xXK :Xw $.Z.w $X5.'X1X1X,.ZX, x $X,XDX, 3 c 3 a.}XI 3X,.a.a $X,XD.M R R.a.a.aXIXIXDXD R R s $XeXDXsXL s b o H 0 2X=.s._.N t.MX,.}X5X,XDX-X1 RXIX- RX- 3XI cX1 3X1 t.u.M.aXK.e.w U v &.s ^.@.pXn .iX, < U.).mXqX+ :.H.uXd",
-".Z RX, sX.XP.Z 'XK.Z 'XcX5 m $.Z RX1XDXDX1XD DXK T.ZXl.5.'.KX5 : '.0XP gX1.D.8 c.`.HX5XJ :XVXI.8.`.8XI RXL o.s.s C.M tX-XIX,.a RXs v h.MXI 3XIXVXlX1XIX-.}.aXI.aXX $.a.M.N .Xe..Xp.x ^X>XiXfXfX6XfX8.;.E.@.wXDX1XD.` 3.a.8 3X5X5XD.K 3 3.w.@ 0.P.PXA LXi %Xi SX8 JXw.jXl `X3.5 ).X :.uX5.KXVX*XtX*.k.uXVXV.8 ~.u ).A 5.^.X.XXxXgXg.XXg.z.o.oXg.o.X.o.o.o.X.X.o.o.X _.o.b.o.X.X N.k.uXdX9Xt.kXt.k.kXt.kXtXtX*Xt.k.k.k.^.b.X.X _.X.o.b.bXkXg.X.o.o.X.o.X.o.b.o.b.b.b.o.o.X N.kXt.rXV.H 3XV.HXI.`.8.`XV.`.`.u.5.k ).5X*.8.`.`.8.8X*X* VXXX3X3XXXM.5XlX,Xw $XH.- V.[ k.S k [ k.> =X;.j.n.w 8.Z.a RXs.9 T.q HX0.4.@Xn.xX2X>X> ^X>.xX8 W.h.T.1.h =.1.+Xh.hXhXh.T & yXG x x.9XpXpX4X4X4Xq >Xp y.9.M t RX-.a.aX-X- 3.` cX1 RXD.*XD t R t.M.MXn.{ WX:.xXeXeX,.a aX-XIXl.k.u ` :.S XBXh.- X< `.i.a < 3.aX-.a 3X-X-.`X-X-X-.a R R.~.0Xl $.a.a .aX,.Z.}XDXDX,.aX-.DX,XI a a.a.a.~ RXDXIXD tXI aX1 RX1 3XDX,X-.aX-X-X- RX-X-XI RX- RX-X-.aX- a.a.a aX-.aXD #X- hXl hXcX.XJX. [Xw n MXr J vXL U $.M 8.N.W...s HXm &X0 oXOXL $XD cX,XD.a 8XDXD $.Z RXIXDXD $ h x.Z.Z xXlXDX, cX,.aX,XD R.a.ZXDX, RX5XDXlX- $X1.9 $.9Xl '.-Xw.w.n.nXa s 9XCXC.@Xi.)XeXL x <.}.aX,XD $XlX-.aX1X-X-XIX-XDX5XDXl.a `.,XI :X,XI DXDXl.M._.j.@.v ^ HXpXq.i E E U u._._X+ c 3.H.u",
-" R 8XD.9 m.w.wXD.DX,XD.Z.]Xl $ R RXDXIXD 8XlXcXl.0.%XKXK.] mXc.G gXU.!.n.].'X,Xl $ D.2 :X,XI.`XI.8.`XDXDXp ^.v.s u uX-X- 3X-X-.D.w T C R R.`.a.5Xl R `Xl.a # $.aX, u U..._ 0X> S wXf L LXi %XbXA LX6X>.' 'XD.HXIXI.` 3X* :.0.]XD xXD.Y.EXn ^ {Xi {.J L.PXiXf.@.;.Y x s.| ).2 )XJ.] (Xl q : )X9.u.5.5X5.5 3 ~ c.r.u.& P NXx N.X.X.b lXk.X.b.X.b.b N.X _Xg.o.X.o.o.b.o.X.b.X.XXd.k.kXtX9.kXtXt.kXt.k N.kX5.kX*Xt.X N.b.X.bXg.X.X.X.XXg.&.I.z.o.b.X.o.X.b.X.b.X.o.X N.b.o N.^Xt.r.r.kXt.k.u ~.8.`XxX*Xo.5X9Xo.KXV.8.8.u.KXX # 3.} 3.,XMXM.KXMXM hX-.a $ R.,XD |Xc ` [.S ` 1.3.3XZ mXK.9.'.w x D :.ZX,Xw y =.>.OX0.j.SX7 k.gXrXC.@.y >.p.p o.j.j.jXwXw & z.;.jX2.p y.[.Y.-.j.xXr W W W.x.<.Y.Y.w t.a < R R.a.} aXI R 3.uXI RX- B RXD R v.<Xp.<.{ W.< x U R RX- h.aX-.8 a R hXUX+ WXB.F 1.lXM U h.a a.} c c.} R.}XI.a a.a a.a.e RX-.aX- a.a a < RXD.a a.`X-X- R R R R RX- 1 $XI.a aXI a R R 3XV B R 3.a.aX-X-.aX-.`X-X1 R.~X1X-X1 R.a RX-X-.a.a.aXD hX,.a 3 hXM VXwXH.EXC.4Xp ^.s v U.MX, c.Z.'XqXw.>XG JXC M &.OX;.n.Z.DX5.D.DXD.DXDX,.Z.Z.a.a.MXD #.aX, :.2XJXDXDX1X, c.aX,.aXIX,X,XD.' T.-XKXJXKXK.]XUXcXU.9XK.!.9 o b O OXCXC O.v 2 2XGXG U R.aXDXD.aX, $ RX, T.9.e.' hXDXc.ZXlX-XlXl.aXMXD.a R R.MXD.}Xs.E...v ^ HX4._.m._.m p._XqX+ 1XI.uXd",
-" $XDXlX. g mXJXUXU D DX.X$.GXH ) 'Xl.w.DXlXl g $X,XD $XlXlXl T.0 D.2 gXUXO 'XU.2 m.GXOXO.]X1XI.H.DXd c U.jXp.B.sX=.d UX,X5 RX1 ` v.'.M.MX-.aX1X3.H c.5.,XK.,.,.[.9XpX+.<.. ^.j HX0.@ z w S rX>X:.CX2.@.@XKXI 3X1.H $ )., I.]X5.] :XJ.9.1 y.jX>Xr.x.x.xXr.@.@ J.x.jXLXUX, :X5 ).5.KXJ `Xc (., )XJ ) 5XJ.$ q.u 3 ~XVX*X* , ]XxX@.7X@.zXk.oXg.o.oXx.z A.&.z.b.X.b.o.oXg.o.X.z.z (Xx.5X5.k N.rXt.^.k.^Xt 5.k.kX5.5 qX9.o.bXg.b N.X.XXk.X.( A.XXg.X.o.b.o.X.o.X.o.X.o.b.o.b.X.b.^.^.kXt.kXt.kX*XV ~.8Xx.k.k.k.KXV.`.`.u V.$ V V., V V VXJXM.l # h.aXI.aXI RXI cX,X,.a.aXD c $ 1 [ K KXh.> @ =X.X;XU !XD.wXU.O =XhXhXZX#.h |XZXB n.+.x.T z MX0.+Xh.T KXh.+.TXZ M.;.;X>.;Xr.; WX8.;X> SX8 WXr WXrXr =.F x $ hXqXD tX,.e RX-XIXIX-XD.aXD.M sX+.xX2X8 W M._.Y c R.a.K hXIX-X-XIX- RXqXK >X+.[X7.[ .l.l h.} # #XM ` #XXXM.l #.a.a R RX1 B R R a a.a.a R R.Z.eXIX-.aX-XI t RX-.aXI.aXD RXIX-.aX-XDX- 3X-X1 R.aX-.~.aX- R.`X- R.`X-XIX-.`X- RX-X-X-X-X-.aXI c.a c.aXl : #Xc V M o 0 0 0 v.s U 8X,X,XKXwX. g.9XKXn o.@ M &.E gXaXD.'.]X5 CXDX,XDX1XD.W R.M 3.M $X1X,X,XKXKX..9Xl c.Z.9XI R.MXDXD R aXD.ZX,.ZX, BXD C 8 sXs x o &.qXCXC J H.E.v.v / v v x aXDXD R RX,XD R $.M.-XK a.w.Z RXDX1.a.a.aX- a 3.a a : $ :Xl.9.YXs J 2Xi.4.x.F.J._ p.m._XnXc :XI c.r",
-"XwXlXc D.n $.wX5 '.'.0XJX.X. Y Y.G Y YX.XUXJ.'XD R RX-.aXI 'X,.n.'.! s s.!XU ! s.!X;XUXP g.0.n.] g.]Xw x.j J...s % . p .Xe u < xXe [ U RXD.a.` 3 cXl ' T.] 'XK : TXJXr.@.h.yX> y HX0 S S S M.;X0 ^.TX> o h.a 3 : mXK ` D.' :X5 I 5 q c :.uX, $XG x x.YXwXp.-.jXwXrXUXhXKXK cXIXI : c 1X1X,Xl.u cXV cX* cX5 ~ 3 3XV.rX*.R j qXo.&Xz.b.I.X l.X.b.z ZXk AX$.bXgXg.X.o.bXg A.z.R j ) ,X@XoX5.k.k.kXtXtX9.7 I j I.$Xo NX9.b l.XXg.7 X (.R 7.Q.X.X.o.X.X.o.b.X.o.b.o.X.o.X.b.o.X N N.^.^.^.k.5.^Xt.r 3.K ~XV.8 ~.`.8 3 3.$ VXX.KXXXXXXXX.lXMXM.a.}.a.a RX-.aXDX1 R.}X,XD.M., `XBXJ = = yXO.q !XmXO sXK @XOXLXH.GX. nXw n n., [.1.LXZ M =XrX0XhXh K.GXhXHXZ.+.+XZ S H H SX0.;.;X0.@ ^.@X6 z.T.+.h.hXHXHXcXwXH [XH h.MXD.a.}X- #.a a.a U v.jX2X2 WX: [ WXh.YXlXD 3.] :XI 3.~ R R t.MXqXc.[X+XB.[.[ .F # ` # 1XXX3 XX.,XBXMXX x.aX, $XD B R.aX-X-X- a RX1XD.aX-.a.eXI :X,X,XlXDX-XI.a R.a.e a a 3XI BX-X- RX-.a.u RX- R 3.`X-.`X-.u cX5.k cX5 c c.kX5XlX5 R.uXD.uX,X5XJXB.1X> J 0.vXeXe v $XK.9XJ.nXIXDXD.WXL yXn.@X0X> 9.' 8XPXKXD.D $ x $ 8XDXD.D.a.a.M c hXDXD R.W.Z T.YXKXKXcX..-XK :Xl $XlX,.M.*X-X-.} a.a R.M.ZXL.9XC 0 bXCXCXC ^.v /XL vXG.M tXDXD.e RXD.*.MX, xXD RXDX1X-X1X- $.aXIX, # D.eX.X, :X3XKXKXKXH.) v 0.B 0 H.@.p.[X+X%Xp kXcX3.R 5",
-"XD.9XU s.w 8X,.wXI RX,.9.ZXD R 8.u ' DXO.G.O mX,X,.Z.a.ZXDXD.'.] sXl.n sXL.' sXU s 9XU g.!XP g g g g g m.9.- o.@Xn . . p.m._ EXe.M.1.j h t.a.a.a.Z.uXI.~X- 3X-.HXDXDXG.j.yX:.@ wXZ =.O & M.O &X>X>.@ oXr $XM # m c TXl.% m : m `.5Xt.8 ~.H.`X1X1 RX1 3.Z.].'Xl.9XGX+X; $ T `XD c.,.]XcXKXJ 3 I 3XVXV.8.8XV.8.8.8.r ~.k 5Xk j q.6.X.o.I.b.X.oXx.7 d.X.o j qXg.bXg.b.oXk.b.XXkX$.r Q.|.k.K.k.k.r.XXt.z.kX5 7 3.k.k.^.^Xd N.X.b P AXo.t.tXx.X.b.X.o.o.X.b.o.X.X.o.X.o.b.X.o.X.o.b.X.b.5.^Xx N.k.kXt.r ~ ~.` ~.8.8.` 3X3.$X3X3XXXMXMXMXM #.}.a.}.a.a.aX,XVX1 aX1.}X, 3.}.S., K nXh.OX0.>.> & 9Xm b bXm gX.XwXw.-.9.9.9 x x XHXh.OXw y HX0.>.G.O K.O.jXG &.+.q o J H.E S z.E w JXb ^.@X>.<.<XrX<.1.Y.[.jXr y y.9 $X-.} 3 cXM <X, hXpX+X4X4XrX+XnXr W.O.3Xw.| D.2XJ.,X-X1 R R t.M.M.i.YXB XqX7.[ XMX3 : V V.- 6.% 6X#.SXH kXJ.,XcXD RX-.~X- R RX-X-.a 3 aX-X-XM 1 ` : `XcXD 3 RXIX- <.a.a R.aXDX-X1X-X-.a.eXl 3Xl.KXXXl.K.~ 3XV.k :XV.uX*.u.u.u c.k 3X1.~.ZXDXD 1 .,.gXG O.).).N.[.-.9XcX1 8 8.a.a.M CXs.sXn b.j J.9 v.'.' 1Xq $.j g.M.M.Z TXDXD R R.a h R U.Z R.MXD aXD.MX, $ $Xl.9XKXK 1 a R.a.a a.aX- R R RXD x s.q & 2 O.vXi 2 2.sXGXq.W.aXD RX1 RXD.aX,XK 1XlX,X,XlX,.9.Z `.%XJXK.|XKXl.e T c.% h cXD h hXe.s 0 2.B wX2Xn.1.1XwX<X#.GXc ) ).$",
-"XUXUXK xX.XD.Z.j TXcXl Y :Xl.] :Xc.ZX,.w.2.3 1XJXc :XD.ZX- c.2.w.aXsXD $.w.9 9.'XmXG.nXwXyXUXU g.! T gXJX. $ s v.E.E.<Xn.@.E.jXp._Xw [ [.[XKXKX,.a.MXDXDX1 R R 3 : 'Xp v.PXf.@ M =.> =X0Xh.+.+ M.y W.hXr.Y.3XlXl 'Xx.] x c h.Y h.u.r ~.HXV 3.8XIX1 : TXc ' RX, DXwXp x.M cXV.a cX5 $.Z.uX,X1XlXV 3.8XV.r 3.8 3.r.8X* NXx NX .:.zXxXgXkXg.o.XXg jXxXk.X.: l.bX9.bXg.bXgXg.X./ 7 P P.uXxXd.kX*.k qX9.RXd 5 PXV.u.kXtXj.^ NXg.X.7 Q.& jX@Xk.oXg.X.b.b.o.X.o.b.o.X.o.X.b.bXg.o.X.b.X.X.o N.z.X.b N.kXt.k.k.HXV.8.8.`.`XI.u # V k.,XX.l.K h a.}.} aX,Xl.u x.D 3 U a $ hX5.,.-.[X;.1XZ.+XhX0.>X0 =.O.O.O.O KX;.O.1 D.-Xc ` `XwXc.>XwXmXUXU gXy.G = @.1X;.+ KX0.T H.+.+X0.+ z.v.v ^ 0 0 ^ w ^Xf.j M z.1X+.pXw MXU &Xw $X, ` hX, #.FXpXp.@ >X>XrXp.Y.1.S [ nXJ.9 $XXXx.5X- RX- RX- t RX,.i.-XpXB.l.-.-XMXB V D 3 3 cXl # : |Xc 1 xXI 3.aX- R.aX-X-X- R R.`.u.5 3.}.8X- a.a R RX1X-.~ a.a R R.a a 3.eX-X-X-X1XIXI.uX,X*X*XV 3XI 3.K 3 c.~.`.` B.`.`.` R.`X-XIXD cXD $ `XcXM [X> bX=.) U.9.-.M :.wXD.DX, $.w xXp y S.@ H H o JXmXG 9XG vXG.9 'XLXK.>.wXDXJ.ZXI.a a.a h t.M.a.M R.a t RXDXD xX, R R.M R t R.a a.aX-.aXD t.nXG.q o J 2.vXv.v.) xXp x.M.a.a a.eXI R.e.9.Z.,XHX.X.X..,.,X.XKXK.,X5XM.D.eXIX- RX5.KX-.a a.W v.. 0 w 0XnXw v `XK kX. [X5 3.8.rXV",
-" y g $.wXc s.Z D :XJX. Y TXcXl : '.] DX,XJ.' RXD.Z :.,.uX1.w D.ZX,.M R.* $Xe 8.w.w.n gX;.].OX,.D 8.n.].H.uXoXc '.'.j x y.jXn.Y U C.dXe.-Xw.YXwXc.YXcX,.MX, 3XD.2Xc x v . w w.; = 9 oXP.j =.; ..@.. pXnXpXp.O m 1 ] m.0X1 h.Y.Y xXD ~ 3XV.8 ~.`.`XV.5 'XcX1XI $ xXKXGXDX, R 3XIX1 c.a RX1XI 3.` ~ 3.r 3 3.8.8.8 ~.rX9.&X Xk N.7.X.o.z l.X.X.XXg XX XxX .&.X.XXgXg.b.o NXg N P IXtXNXxX9.u.k.k.kXk q.RX* f (.k.k.k.k.kXt.b.X.XX$.X N.7Xk l.X.X.bXg.X.o.o.X.o.b.X.o.b.X.o.X.b.X.o.X.o.X.b.z.X.b.X.b.XXo.^.^.k.r.H ~.8.8XI 3 3.KXX VX3 XX h 3 hX,XJXKXKX.XH cXJ.,.Y `.YXh [Xc [XrX0 =X0 J y.T.O.hXh.+Xh = n.3.O.O [XH.O [.3XcXH y.9.!.!XP gX; TX.XHXU.+ = b J & v v .XnXn v v.sXG.s..X6X>X0.T.T.1.y =.T.+XZ.+.O.1 =.[.M tXMXnXp JXpX+ yXq x._XqXp x xX, tXD.u.eX-X-X1 a 3 xX5.a.M.M.M < Xc.[.- k `.,XBX-XIXI.8.}.`.a `X3XM #.} a.aX-X-X- RX-XIXD 3X1Xl.K.K.5.a 3.aXDX- RX, R R.aX-X-.} a $XDX1X-.uX1X-XlX- c.8X- a.`X*XI.uX* c ~ 3.`X-.`X-X-.` R R.aX-.a $X3.9 `X7 kX%.j JXLXL UXcXl 3 TXc T g.Y kXK 1XLXpXp 0.@ H &.q &.>.q HXC oXG 9.'.'.9.DXaXKXDX,X,Xc RX, $.a R RXD R.a RXDXD tXD.M R t R.a.aX-XIX-X1.a a R 1.w.j H J.v /.B *._XG x.M.aX- aXIXD B.*.a.ZX.XK TXK DXlX5X. #XIXIX,X1.~X,X1 BX1.`XIX3XD R.M uXe 0 ^X:XCX> n # RX1 R.u cXIXVXV.k.k",
-"XcXH g.w.MX- R hX, `Xl c R.Z 3 $ $.ZXl.ZXJ T.e RX-.aX, TXc.|XKX1.w.- xXl nX,.Z.w sXKXJ.ZXK., T.D 'XUXU sX3XXXD ' m TXD <XG JXp.s.M t.N.WXn 1XeXn xXw.j.-.j <XGXq._.x W r z.hXh & @XO = = KX:.<.J.....s .Xp x n K.2 TXVX,XG.[.<Xe.}XI 3.8 3 3 3XIX-XlXKXl.u.M :XBXlX,XD RXIXIX-.uXV.`.HX1.8.8.HXV.8 ~XI.rXV.r ~.r.k.^ NXk.oXg.X.X.o.zXg.bXgXk.b.XX@.t.z.XXg.X.b N.XXg.X.b.$.& IXo )XNXx.k.k.kXt.kXx.XX9 j 5Xo.k.uXtXjXt N.^.z j.IX@XN.RXk.X.b.X.o.b.X.X.b.o.X.o.o.X.b.o.o.X.o.b.b.b.X.b.z.X.X.X.X.X.X N.XXoXdXd.8.`.8.`XIXI h cXJ V :XM.a.} 3.a `X,XKXJ.2XK.9 :.9., k k.O [Xw MXZX0XnX>.E.LXh.+.S = [ =XcX7.- k nX. [., [ nX;.1 !X;.O.O.OXPXc.O =.>.+ o OXs.W tX,.W.MXn v.W.NXe v.s 2.@X2.T.x.y W.jXr.1Xw.j.jXUXw.j XqXpXGX+.j y.Y xXD x.Y xXeXn U t UX-.ZXV.` aXD x : T :.- :.-.M.} .Y [.- k # $.`.}.8X1XIXIXI 3.,XM x 3 < aX- a <.} cXM :.K ` q.5.K c.uXK c.eX1X-XlX1 TXl `.9 `XcX3Xl R 3 :.u.u :X5.K #X5.K : c.K 3.u cX1X- R RX-X-X- RX-.a.a.a hXM.[ `X7 kX< zX0 HXGXe.M RXD 3XDX1XD xXD.ZXD h t.M.W v ^ b J oXCXCXC H.; & HXm v s s.w.D.Z.ZX,.2.,X, $.- x $ cX,X,XD R.eXlXD R RX, aX- R.a R R R R B R 8 mXL b o H.@X=.B.sX+Xl.} R.a.a a 3 BXD R R R U.Z xXl.' $.eXI R.~X- a c RX- 3.DX-X1X1X1.ZXs.M.)Xe % ^ w = n.S 3 3 ~ 3XV.HX*.rXd.u.k",
-"XU !.9XKXJXJ.- : cX. :XIXIX-X1XD R B TX.Xw.ZX,.' 3 R RXl.%.O.Z R.a x $ 1XH.' s sXK.2XcXMXI :.5., g y.'XJ m #.HX1.Z.5X-XI.9 &.jXrXGXL.M CXeXp vXpXpX> =Xr S zXG._..Xb . ^X> M.+.!.j gXU.O MX2.T.y.@....X4XrXn._XwX. s.' TXwXwX+Xp R.aXI 3 3 3.8.`XIXI.H $X, #XMXM :Xl.Z 3X- 3XIXVXI.H.`.H.`.8 ~XV.8XV ~ ~.rX*.k NX9 NXgX9.b.XXg.o.X.z.o.o.X.b.XXg.XXzXg.XXgXg.XXg.o.X.X.X.5Xd.r.k c.R ,.k.5.k.kX*Xj.k.kX*.^X5.r.kXj.kX9.^.^Xk.XXx l.X.I.o.b.oXg N.o.o.o.X.o.b.X.b.b.o.X.b.b.X.o.X _.X.b.z.b.X.o.b.X.X.b.X.X.X.b.r ~.8.8.` 3.`X-X3X3XMXMX5.}.a.a.aXDX1 RXDX,X,.aX,XM., [., k.jXr.+.; o ^X0 H M.1 M zXwXr.1.1.1XHX< kX< n =.1 [X..> nXO.'XJ.j gXw y & & OXa.W UX- < < hXs.MXD C.M.W v.v...<X4.F.< z yXcXe g n n.jXpXpXGXnXp.YX+XeX,X1.`XI x.9Xq._ E.. U t t.a RX1 xX- hX5 $ c.Z.Z $ x.} E 1X#Xh k `X, 3.aXIXIX-XI.` 3 3.,XMXM.}X- < < 3 #XM #XMX9XX q.k.KX*.K 3XIX,XIXDXlX5 : :.Z c cXI $X, c RXVXl c.5 cX9 3 c.uXVXVXI 3.` c.KXIXIX-X- RX- R R RX-.a.a x .-X<X<X7XB.p HXm vX, RXD R.uX, 3X- g.-.-X3Xc $ C.)XL 2 O O b b 0 0 0 J oX> & & oXm 9 sXDX,X,XD.ZX,XDXcX,XI.9X..ZXDXD 1.a R.a R a 3.a a RX-X-X-X1 RX1 RXw.9Xe O H.@.s.)X>Xw.}.a.a $ RXI BX- RX-XD.Z $X, $X,Xl $ RX-.a.a R RXDX, BX-X- RX1XD 8XD xXL v.s.sX> W.pX< |X* ~.HXtXtXt.k.rX*.^.r",
-"XK x.Z 1.'X,.u ` c.,.,X-.aX-XDX1.a BXJ @X. R $ mXcXlXl., DXc $ B R R.aXJ $Xl.'.0XO g.'X1 3Xl 4XyXw s.nXO.'.,.] 'X1 mXI.}.w M & n.j.[.-Xr n MX>.T M.s.x M MXh.v v.B ^ SX8 z M g.YXK g.9XwX0Xn..XnX>XGX>XrX6.{.CXf.j.-XHX.XwXcX.XDXI R.8 3 ~ 3.r.`.8X1.`X1X1XI.8 c ` : : ` ) :XI.K 3.8.H.`.8.H ~ ~XV ~.uXt.k N NX9.o.X.X.o.X.o.o.X.o.Q.XXg.o.oXg.o.o.X.o.X.b.oX9.oX9.b N.^.k.kX*.k.k.k ).& q.k.kXt.k.k.k.kXtXtXt.k.k.k.kXz.X.X.X.b.X N.z.X.b.X.bXg.b.X.b.o.X.bXg.b.X.b.b.o.X.o.o.X.b.X.o.zXz.o.b.X.o.bXg.bXg N.XXoXd.r ~.8X1.8 3 3X3X3Xl # #XD.a RX-.MXIX1XDX,X1X, `.,XZX#.h.1.+.;XC SXC.; S zX0X0X:.<.; n M [XhX< =X< [ zXw M.h y.YXK.>Xw o = =.E.q.E O.=.W.M 1X3 `.-.9 sXlXJ.w y H oXrX>.<X4.p M k.w R.9 n.-.[ n.j.pX+X+.- U.aXI.` F 3 R .p v E.i.M t R R R R.eXl RXD $ BX-.a R t U hXcX<.OX#XJ.,XK.5X5.5.K cXIX- #.,XMXMX, < a h.lXM.FXB.-., #X9X* qX*.z # 3XI.}XI 3 3XV RX-X- RX-X-XD 3.aX1X-X-X1.~.Z.~ R.`X-X-X-.` RX-.k c 3 3.a.}X- R a.a t.a < x Xr.1X+X+XpXnXn &Xm.w sX-XDXDX5XVX,X,X,.ZXD.M.M t.MXsXL.N 2.W O 2 2.s.=.s.. bX> & & 9.'.nXs.DX,.ZXDXDXDX, R $Xl RXD.Z :X- R R.a.aX- RX-XI R R B BXD B 8X,XL s b.q ^ vXn u U a.M a B R R.a BX- RXD t RXD hX,.Z $X- R RX-X- RXIXDX,X- R.`X,XI B.W v.=.W ^Xn.@ MX7 |XX 3XtXtXt.kXtXtXdXtXt.k",
-".Z.DX,X, R a.a.e.aXI x.KX-.a 3.~ RX, mXJ '.ZXD $XK.,XK T $XJ.0XD RX-X, $XD.n.nXO g.]XD.H '.2XUX;.!.n.nXOX5.` ' : DXJ.}.} 1.jX+Xn._ pXnXnX4.jX2.T.+.yX0X>X0.;XC ^ S S M H K.O =XyXHX;.> K.jXG.@.;.E.YXn SX8 wXf.C.x.p.jXH.%XK 5 ' :XlX-XI 3 ~ 3.H.` F.8X1.`XI.`.aXI $.l $ hXK.a I : D 3 3.H.8.u.kX*.k.k.k.kX9XgX9XgX9.o.X.o.X.o.oXg.U.o.o.o.oXg.X.o.o.X.o.X.o.bXg N.^.k.k.kXdXt.uXtX9X5.r.r.k.k.kX*.kXt.k.k.kXt.kXtXt.k.k N.X.o.X.o.X.zXg.XXg.b N.b N.o.o.X.b.X.o.X.o.b.b.o.X.b.b.b.o.b.z.b.X.b.o.X.b.X.b.X _Xg.X.bXdXt.H F.8.`XI.u `X3 1 #.}X- <XI B R 8 RX, h.a ` V.SXZ.S zXr M M M.4X0Xh.h = z.+.+ z z.+Xh.TXZX<.+.T.j z.;XZ.OXZ.+.OXh K.O.G M.;.E 0XL.WXs k k D 1.2.%.' m.9.9XwX0.;.+..Xr.x.jXmXIXIXI.} 3Xe._.p.p W W $.} RXI.8 3.~ x.[.F._ E.WX, a R.~XI.Z 1.,XwXJ.uX-X1 a t.a hXe.-.- $ c cXl ) ` I | (X3.$ ` k kX3.l c a hXM.FXB.[.,X7XJ k.&XkXx.5 ).5.5 #X-X-.aX-.~ 3 cXD.}X-.} 3.a.`X-XV 3XIXI 3.H R R B.` R.~X- R RX3 3X, 3X, 3XD.eX-.M.aXD h.-XpX<.1.jX>X> J.+XrXK m.] mXJ D hXH RXD t R R.a R.M C CXsXs vXs.N.) 8.; v 2.s OX0 = y O sXsXD 8.MXD.MXD.DX, R RXDXDXD.WXDXDX,X1X-XDXD R R B R R $.'X, R.M s bXmXm 0 o.;._.M R a.M R.eXIX1XD.e.aX- R.a cXDXDX,XD 3XD.a R.a.a.*.a $ R.a.aXD h.aXaXs o.v vX2.1X< k.,.rXtXdXtXjXtXdXtXt.kXt",
-"X, $XD R.a R R.aX-X,XlXIX-XIXI RX1X5Xc 'X, 8X1.* R t a R R $XJ $ RXIX5XDXI.Z.0 gXO 8X1.D g '.0XPXc !.0 g.`.HX1.Z =.S.g.i.pX>Xn.s v.m v..Xn.4 H z &.; H H =.> &X0 & &XmXUXO ! gXU =XKXwXy =XU.9XeXe.d v.x w.CXfX0.C y.- 1XD.u T : : T 5 )X9.KXd.8.H.`.`.`.`.8XIXI.a ` $ h $ h.} 1XK.5 D (X9X3 ) :Xt.^X* N.XXgXg NXg.X.o.X.oXg.X.b lXg.oXg.o.o.o.o.o.X.o.X.o.o.X.b.^.kXj.kXtXt.uXd.u N.k.K.k.kX*XjX*XjX*Xj.kXt.k.kXtXt.kXt.k.^.^.XXg N l.b.b.X.oXgXg.oXg.X.b.b.X.b.o.X.o.X.b.b.o.X.b.X.oXk _.X.o.X.o.b.oXg.o.X.o.X.oXo.^.r.8.` F.8.`XX VXMXl 3 <X-.a tX1XD RXD xXD ` XJXZXh.h M zX0.;.+.+ =.+ z MX2X>X8 M.q &.+ n z.h.h.T.T z & &X0Xh.+ &.j.EXr y J 0 /.v.s.w.Z $XD.DX1X1.ZXDX,XsXL o.s.E.C.4.xXrXI.HX1X-.a 3.}X+.j.p.EXG y.a.`.8.`XI.aXBX4XqXe._ $X,XV.5XK DXc x sX,XDXD.a R B.M.M h.i.Y U.aXD.`XIX-.KXI 3X*., | | kX3XBXM # a.l xXrX%.pXB.-., h.AX3 N qX*XXXMXM $.a a.a.aX-XIX-X, cX- aXIX-X-X- 3XI 3XDX5 3.uX,XIXD BX-XI R.%XMXXX- aX1X, $ B RXI.a h 1XcXw =.jX> v J.>.9.' 1.n.wX, c.a 3.} RX,XDXJ RX,.' tXsX, vXU U.M u UXc._.N.s.sX>.E &.E s vXL.Z.Z.DXDXDXD.wX,.W.Z.Z $.ZXDXDXDXDXDX1XDX,XI.a R 8XlXU s.wXL.w oXC 9XC.E v.M R $Xl R RXD s.Z.Z c RX1 RX,XDXl.uX,XDX, 3 t.aX,XlXD.-X,Xl a aX3Xc xXmX0.>.O M.1.T.hX3 k.$.K.kXt.kXdXt.^.r eXt e",
-"XDXD R aX-X- R R 3X1.5X-XDX1.HX-.'XJ.].].9XK TXlXJ : D.Z.u.9.2 T RX,XV.~.Z.0 g gX5XD.D g.! '.w 9 g.>Xy.D.HXI.a.nXp W r +XrX> . yX>._.. 0.@X0 &.EXn vXn.9 &XG yXGXm s.! '.!.' bXP.! T g !.] R 8.NXG.jX>X4.@.E.4 z.1X+ .uXD.DXV.`.DXVX5X5 ( D.A D )XV ~ 3 ~.`.`.8X1 h x 1Xc x 1 x.a.Z : `XJ I.$ I.f.$.^.b.X.X.XXgXgXg.b.o.o.X.o.o.U.o.oXg.oXg.oXg.oXg.o.b.XXg.b.^.k.k.kXt.k.k.kX*XdX9Xt.kXtX*XjX*XjXt.k.k.kXtXd.kX*X*.k.kXtXj N.b.X.o.z.XXg.b.o.o.b.b.b.o.X.o.X.o.b.X.b.o.X.o.b.X.b.b.X.z.X.X.o N.b.X _.X _.o _.X.o.b.^.k.r.8.8.8.}.K V :.l c <.a a R.aX1.aXD $X-XlXc kXZXSXh.+.+.h.+.hX0Xn.E._X+..Xn ^ o J H oX0Xh W M MX0 = HXh.+ =.+XhXwX0.+ z.; O.. 2.N.= uXDXsX,XDXDXD.Z.ZXsXL J.v.E M.E M.w 8.8X-.r 3 aXK [Xw M & MXw.2.0 ` D T .YXq._Xe.gXc D :.%.]XDXD.-.Z hXD B.HXDX,.aXqXqXpX<X,XI.` 3XIX- cXIXI.5X3 `XXX3XX # h.a x .[XBX+Xp.FXK 3.A.5Xt.5 3XX V.lXM $.a a.a a a.a.a.} $.a.a aX-X-.~X- R.~ 3 R R R $ 3.u 3.~ xXMXc 1X.Xc RXD R.u.aX1.}XI 3Xc.-.> [ J S.E.; gXc.]XU DXKXIX,X,X,.ZXD 1.>.Z.ZXK R RXDXeX,.M t.a.}.i.M.d.M 2 v.v o.q oXG b v v s s s vXGXG s x s s.9XG.nXsXD C R RXD.DX,X,.w.w.'XL v.w JXC &X0 o 9.N.M.M $.Z T.9 TXwXKXKXlXK.}.aXIXJXKXw 'XJ xX.XKXw.[.>.j.O s.[X,.3.9 Xc = H =.+XH.T.S [ VXJ.,XX.5XtXtXtXtXd.k.k.k.k",
-"XcXc T :.'.5X5 $ :XD.]Xl BXIXDX1XK.].' T D gXcXU YX#.G.O 4.GX.X; ` )X,.D.Z TXc T 8X1.'Xc.n.n.n.nXU.j.> D.Z t.wXp.JXbX2 r.{XA b 0Xp.@ HX>.O.+.+ =.q.> !.9.9XO @.!.'.'.n.n g.OXO.>.q !.0 'XD 8XlXr.EXnXp y M yXl x cXK.'Xw T )XD $XVXIXIX-.8.8.8.uX* ~ 3.8.8.}.8X- 3 a.a.}X,.i.9 `XD 3.u.k cXtX9.K.XXg.k.XXxXg.bXg.X.o.o.X.o.o.o.X.z.bXgXg.bXgXg.o.X.b.b.X.X.o N.kXj.kXj.kXtXdX*XdX*.X.rXt.^X9./ N.kX*XtXtXd.kXtXtXdX*Xt.k.k.k.bXx.b.X.Q.b.XXzXg lXk.U lXk.b.^XjXj.b.b.o.X.o.b.X.o.X.oXg l.XXzXx.bXg.o.X _.X.b.o _.X.X.X.^Xt.8 ~XI.8 3.,X3XMXl.aX- R RX-X1XDX1 x h c h `X..O.1.h.+ z M M.h.YXe v._.)X= 0X> y s.Y.T = W.@XCXn.+ &.+Xr.1 M M.+X0.T = MXp 0 2 2 pXa.NX,XDXe $X5 x.wXG O v.= H J & JXGXDX1.`.8X-XV 3., M.>.+X;X; @ YXJ.5 xXc XpXn.S n., 1X,X1.aXD `.-XwXK.2XJ T :XwXJ n = [Xc < 3.`.`.8X1.u cXI 3XJX3XM.lXMXM # a.a #._Xr.jXnX+Xn # # |Xx ).$XM.,.[X7.lXM #.} h h # #XX.lXMXX.a.aX-XIX-XI R RXDXD.~.a k s hXD h 3XD $ ` `.,XUXK.2X,X5 c cXMXMXM.,.-.1 zX0 bXw.jXcXJXKXUXw : ` $ 1 $ T mXl xXl $XDX,X, h.a.} RX,XD.a.a.W C UXL v bX> HXC o J J J 9 b bXG.E J o J.E 9 s s s sXaX, 8 C TXU vXG v o yXC & HXm & o J.W.M.M RX,XlX,.Z.Z.Z.a.aX-.aX-.uXD sX.XJXcXH :.Y x 1 sXGXe &.W.M C.Y h.M.W._ o o n.- k.[X7.9.,X3XJ.5.5 NX9X9.r.kXtXtXd",
-".9 :XK.]XKXcXUXJ.2.2 ! D.uXlX5XI.'.2 $.'.w.] $ c x 'XlXcXK m 4.|XKXK.Z $.w T DX1 cXDXJ.'.n.n s s &.'X; =.wXD._.@XA.B.PX:.y M.E.9 v.9.WXL.OX; & @.'.G.% g.w T.>X; sXPXl ' g.O.OXO.M.DX1X1.H.M.-XGX> ^X+ x.9 g `XI 3X1XIXD T.9 ).,.5X9 : )XK.5X5 3X*X*X*X*.8 ~.8.`XIXV R.}.a.a h 3 3.H.K.k.r.K.k.^.kXg NXg.o.o.X.o.o.XXg.o.o.o.X.o.z.b.o.o.b.o.o.o.o.^.^.b.X.^.kXj.k.k.kXtXt.kXdXd.kX9Xj.KXj.fX*.$.kX*.k.kXdXtXdX*XdX*.k.k.k.kXz.o.XXg.z.bXgXg q.6 iX@.I.I.b.^Xj N.b.b.b.X.o.X.o.b.o.X.XXk.X.X.I.z.X N.b.X.o _.X.X.b.o.X N.kXt 3 ~.8 h I VXMXX.a <.a R RXD.aXDXlXD cX, `.-X<XH =XZ.j.E 0XpXn v.M.M.v.s b &.9XJXwXKX+Xw.;.;.TXZ.hXHXh.T.O.h.Y.+.YXr..XpX> . 2 O 2XL v.w xXq x.w xXeXe.W 2 o 2 vXC.9XD 3XI.`.8 ~X- 3 B.9 y.j.>XK.DXDXIXIXDXB .iXe E xXD R RXDX, xX, $ $X,XDXDXD._ ._X+ U.}X-.8.`.~.8 3.K.,X3 V VXMXM.i h aX-.aX, .[X+XnXn u < x.5X*XV $XJ .g.gX7.F.lXMXMXMXMXM.l XM.l `X, 3.eX- RX-X1.a.u.MX,X.Xc ` x.9 hXc `XM .,XcXB.% ` `X3XX.[ ` .- [XwX> v o.w h.Z.Z.9 s.[X. x $ :X.Xw vX,X, xX,.u h `X,.,X3 1 xXK.9 1 x.W 8 p b O ^.q H H.q.;.q.;.q.q M & H &XC.q H b b sXa s.n.W.9 & b o HXC w ^.@.@ H.;XC.W.W.M R t R.e R.a.Z $.a a.aXI RX, $X5 $XD 3 hX,.a x.WXs.s.sXL.s v.W.-XpXpX+ H =.+XZX<X# kXK.,X..3 } I I 5.A.&Xo.kXt.kXt",
-" RXD R RXD.DXD.n.Z $X5XUXJXJ.2 T D.2 T 'XcX..O ' m.e.eX- RXlXU :.D.' =.n.'XP.nXDXK RXHXK.!XG y.! g !.!XUX, u.YXn.v.vXnX>XH 1 R 8XIXDX,XU m g.] gX5.nXU.].nXK g ! = !Xm !Xw g y 1 $.8.`XIXI hXp.@X>.E x.} cXlXc (XXXXXcX,XD 3XV.uXX.5 ( :XxXJ 5 )X*X*.kX* ~XV.8.H.`.`.8 R 3 3 3X1.8XtXt.kXj.^.k.k N.XXg.o.b.XXg.oXg.o.o.o.o.X.oXg l.bX9.o.X.b.X.X N.^.k.^ N.kXtXj.kXj.k.kXtXt.kXt.k.bX*.r.kXg.z./X*.kXtXtXdXtXd.u.kXdX*.uXtXdXd.b NXg l.b.X.b.oXkXg.bXz.^.^Xj.bXgXg.o.o.b.X.o.X.X.X.b.X l.X.XX@X@Xx.X N.o.X.o.o.o.b.X.b N.k.u.r 3.8.KXJ V 1 :.}X-.aX- RX,X,.Z c.a xXD `XwX#XZ z MXG 0 0 v 2XLXn.WXLXn =X;XUXKX- 1XKXrX+ H.O.T.O.1.S.SXH.1.1XZ.1Xr.g.<X%.@ ^X8X> J.@ vXL.W U v v H v &X+ oXLXG 1.Z $X,XV.kX5.zX5.uXDX3XH.3 T `., :Xx.8 3 c x XpXpXq._Xq U.M t RXD.a $.MX1X1XD U.M._.m.FXpX,X1.`.8.8XI.`X* cX3 VX3XM.l a < aX-X-XI.l.p.pX+Xp.M <.a 3XlXl.5.j.pX+.p.gX7XB.F XBXB X7 kX7 .lXX 3 #.aX- R.a R 3XD.a.a hXK.,.,.S kXcX7 .lXM ., [ V kXM XXXB .Y.g z M oXL.M $XK.a h xXKXc .>X.XK.-.ZX,X,XDXDX,XD $ $ 1 yXcXy.] T T.9.Z 8.N v.v OXi 0 J ^ ^ 0 0 ^ 0.v J ^.; 2 b.E &XCXC o OXLXLXL b wXC b.v.v.v.v.v w 0 OXLXe.a.a.a aX, R.MXDXD t R aX-.a RXDXD BX,X, $.M.M.MXe.W b 0.E.=X0 HXw M W MX0 M.OXh k [.,X#XhXH.3 6.,X9 qX3 q.kXtXt.kXd",
-" R a R R RX1 8XDXD.n tXl ' $.].2.0.ZX,Xl R.w.Z xXKXDXc.wXD : !X,XD.DXw ' s gXDXIXJXK KX; =XUXw !.> =.'XU.W.EXp...s..XC.Y x.9 D T.ZXD DX$X; DX. 4X5.G m.'.9 g 'Xm g.OX; mXl R 3 x.]X3Xo ~ R x.jX>X+.W.MXI R.8.uX3XX D ` D.,.5.8 ~.8.r.u.kXo )XxXx.k.kX*.k.k.k ~ ~ ~.`.8X1.8 3XV.8.H.kXtXd.X NXgXg.o.b.X.o.X.o.o.b.oXgXgXg.b.oXgXgXk.X.o.XXg.b.o.bXjXj.kXjXd.k.kX*XtXt.kXtXt.kXt.k N.KXj.k.kXjX*.^.kXt.kXtXdXdXd.k.k.u.kXtXtXt.^.X.oXkXg.oXgXg.b.oXgXj.^Xj.X.bXx.oXkXgX9.o.b.b.o.X _.XXgXx.X N.& 5 QX@ ).z.X.X N.X.X.X N NX*.r.r 3.` : VX3XX #.a.aX-.a < $ hXD 1.3 1 : [.,.S.1X0.Y 0.sXG JXL O y.sX>.j &XwXDXlXV h $.- MX+.jXh.1 k [X7XHX<.1.- .hXh.yXrX: MXhX2.@.v.s vXe vXs.Y.T n M M = M.> kXKX.., D I.| IXo ~.H 3Xl # ` | :X3.$.rXV 3XV $.l.YXpXGXpXe x h.}.WXDXJXJXK m xXc tXeXeXq x XI.8.8.`XIX-.uXI.u V XM.l.} < <.aX-.a.l.-Xr Xp._ t.a.aXlXcXG.j.y W.<X7X%.g.[ kX%.[X%.g.[X%.[XBXMXM h 3 RXI.aXDX,X,.a x ` 1 ` [.3.L.L k.[XB X7.Y [X#.-.,.g., [ [Xr MXr.E.)XD x ` x.9 $.9Xw g.2.w.D.wXD U h $ 3 hXK.Z s.ZX,.DXsXDXDXDX- R.a CXa.s 2 2.v.v 2.v 2 2 2 2 2.v 2 0 / 2 O 0 o o H HXmXC JXCXC.v.B 2X= 2...s 0 v O 1.M.} a.a 3XD.MXDX,.Z.a a.aX- aX- RX1 $.a.M.aXI.M.M._._ JXa 9 b.s.)Xp.) v 0Xp M.[ `X3XM xXcX.X. }.K 3X* :.r.kXtX*.k.k.^",
-" R.aX-.a a RX, R xXl :.Z.wX-XKXHX.X-XDXDX-.M R t.eXK $ : m.'.OX.Xw.] T sXO T BXDX1.' g '.9Xm y s.E.>X0X0XpX4 ......@X>.E = !Xm.2.OX. !.2XcXy 'XJ.' 4X;.9 g.'XwX; gXU.]XUXK $XDXIXV.]X3 `Xl $ 1 x.M R.aXIXIXIXI.`X1XVXV.] 5XoXV.r.k.k.kXt.kXdXtXt.k.kXj.kXj.k.r.8.8XI.8.`XI.u.`.H.r.uXd.^.b.X.o.X.o.X.o.X.bXg.X.o.o.o.X.oXg.X.b.z.o.oXg.b.X.X N.^.kXt.k.kXtXt.kXj.k.k.k.kXtXt.kXt N.k.k.kXt.k.kXtXtX*Xt.kXt.kXd.uXdX*.k.kXdXt.^.XXzXgXx.b.X.b.X.X N.kXj.k.b.oXg l.o.X.bX9.o.X.b.X _.XXgXgXz.k F.rXx T 5 ) ).k.k.k.u.kX*X*X*.r 3.8.`Xl VXMXM # R.a.a a.a $ h x x.3 x = xXc.-X<.[.j JXmXmXP.9.w.x HXr.E v.E U g .% 1 YXl k yXZ.h.1Xh [X#X<X#.T.F WX%XrXZ.jX%Xh =XC.j.EXn &.Y.jXn.1 n.T.1.1.jXJ x x ` cXVXl.kX5.k ~.H.rXV ~X*X*X*.r.rXjXt.kX*.u.uX, TXw.[XG.FXe._.FXe y x x hXl x.M UXe.w gX3 3.8.`.8.8XVXV.`.KXJ .l.l h.}.aX- a.iX7.j yXn x < u.i.YX+XpX2 z.yX4X%.p.g.p.pX+.[X+.{.x.p W.pXB.lXX.} cXc 3.u.ZXM ` VXB X+.FXp k n.+X: zX% WXH [ [ MX< n M M M [Xr.+.x MXe.M U R.9 1.9XJ.9XKXD.ZXDX,X,XIXDXDX,XDX,.}X,X,.M 8X, R.M.a.M.M t 8 C 8.WXa.sXa 2.W.= 2Xs.W.)XsXLXL.N.N 2.s 2.v O ^ w wXC HXi 2 2.).N UXe.wXe.Z h.wX,.a.a h.u h RXDXD $XD R a tX- R RXVXD.Z cXD 8.M.}.)Xn s.M 8.w J 2.sXb.s v.j.[XcXB.-.lXcXK [ mX. c.KXK 5XJ 5.5.XXx.^Xo",
-"XD 3XD.aX-XDXD.e hXc.'XJXJ c.0 KX. D.9 TXKXJ : ` R.9 m 1XUXJXh Y Y.O.O 4.G.ZXI 8XDXO.0 x.w.9.> vXGXmXZ.+ & M.+.jX0 zX+X0 = y vXaXyX;.%Xw mXwXJ.9X,XKXPXK g sXyX;X; TX,.u T D ` c :Xl 3 :.]XJXl.uXIXIXIXI.`.8XI.` 3.8XI.r.KX*.r.KXt.k.^ NXjXtXj N.o N.b N.k.kXt.u ~ ~.8.`.8.u.` ~XV.k.kXj.^.b.X.o.XXg.bXg.b.b.o.o.X.o.X.oXg.b.o.z.X.o.o.X.o.^.k.^.kXt.k.kXt.k.k.kXd.k.kXt.kXt.k.k N.k.r.rXt.kXt.k.kXt.kXt.kXtX*.kXtXt.kXdXtXd.k.^.XXkXg.XXg.X N N.kX*Xj.k.XXg.cXg.o.X.X.X.o.X.b.b _ _XxXx.kXtXV.8XDX1 cX3 I 5X9.K.k 3X*X*X*.u.r 3XIX3XX # #.} 3XI.a.a.}XqX7XcXK.,X7.lXM.Y ` [.S M.j y 8XD.wXc o ^.@.@.s J.Y.-XcX5XJ cXc.OX. !.TX<XwX3.g.SX<X%XrXpXq.j.h.S.O.hXSXh M.+ = = =X0.Y = k n.YXw.-.9 R.aX* 3XV ~XV.r.H.r.rXdXt.k.kXt.k.^.k ~Xt.k.kXt.k.K.KXH.3.1X% MX>XpXq.j.-Xw.[XB.jXc = .YXq 1.- h.a.}X-XI.8XV.H.`XX VXX.l.lXM h c.a.i .gX+XpXp U XpX4X2X2X+ rX+ z.T.xXrX+.<Xn.<Xf.<Xf.<.pX%.[XBXM cX-Xl.,.-.KXH.SX%.T.g.gXr [XrXr.J.x.h.h.j WXrX+Xr.jX>XpX0.E S M.y zXr..Xs U a xXJXK 1.M.Z $X,.Z.uXI.ZXIXDXDXDX,.M.a $.a.a R R R R.a RXD.M.M.M 8.M.M.MXs G 8 C 8 C t t.NXe C.N.N.).)X= 2.v.vXi.v 0.v 2.) C C.M.Z xXlX,.ZXD x.a 3 3.ZXI RXD.w h.W.a a.a.a.e.ZXDX,X, RXoX,.M.MXnXn.9X1X,XDXC 0X=X=.s JX0 k.-.SXHXH [ K.3X#X3 I ,.$.| I }.HX*XV.kXt",
-" 1X.XlX.XD.- $ 1 ' x.a.Z R R $ mXl.D c $.ZXcX5.Y hXlXD RX1XD TXy cXKX. g 4XI.DXI.0 T.n.nXD.Z s s K !Xh.O.T.jXwXr =X0.>X;.G.! s s mXH.2 g.2.'.' mXOXwXwXUXK.'.'.> D.DX5X- cX5 ) DX3.5.H R 3.k D.uXI.8.H.8.8.8.8 ~ ~.r.kXo.k.kXtXt.^ N.X.b.^XjXz.X.oXg.X.X.^.kXjX*.r 3.8.8.8XV.8 3.r.k.k.r.k.b.o.b.o.X.o.o.X.o.X.o.o.o.b.X.o.XXg.U.bXg N.b NXjXt.X.^.kXdXtXdXtXdXt.kXtXt.kXt.kXtXtX9Xt.k.^.uXt.kXtXt.kXt.kXtX*XtX*Xt.kXt.k.kXjXt.^.bXk.b.X.o NXjXjX*.k.k N.oXkXg _.b.b.o.b.X.o.o.X.X.X.b.k.u.rX1 3X, R R.~ 3 c T ].].kXV.r.8 3 ~XV.` V `XM.u.a.8 3X-.a h.Y.[.,.[XJ ` :X3.-., nXhXc R.DXVX,XD.Y v.) 2.s JXr.TX;XK ! D I (.O =.O MX.XwXwXZ.L.1.FX4X4 hXrXp.-.1.1.1.gXHX< zX..1 kXB 1 .9XcX..8XI cXV 3.8X* ~.kXt.k.^.k.^ N.X.X.k.kXk NXg N.kX9.rXX.].,.> =X0.+.+ SXr W z WXH WXr.pXrXn._XnXB.i.a.8.`XI 3X5.8 3 cX3 VXX VXMXM #.l #.FX7X#Xr.p y M.<.x W M.<.x > zX2 W.hX+Xp XnX4XnX4X4.x.p [X7.FXM < #XDX,.}XcXBXBX%X2X2X2X2X: zX>X6 z.4XnXpX> yXM EX,XeX4.x.yX2 w S HXG.W $ x.w ` $ h cXD $XD 3XDXlXJXc c $ $XD.M.aX,XDX-.a.a R R.a a 1X1 R t.MX,.MX,.*.M.M C 8 < 8 t.MX,Xs.*.M.N.N.N.).) /.)X=X= 2.N C._.9XD x $ D :XDX5XlXcX,X,XI R.M R.MXlXD.a.aX-.a 3 R.aXD 3X,.% mXeXmXr.jXU m.%X. K b J ^XC.> = =XS.GX#XJ.,.3X# 6 `XMX3 ) ) :Xo.u.k.kXtXt",
-"XJ k.,Xc.9X.XK.,X..' :X.X1XDXl m.2XD.* R.eXKXw aXl :Xc.wXKX5XJ.2 8.w s.0 KXDXI TXU '.w s.Z.n vXPXOXm g.w.DX, h.Z xX.X.Xw g.' '.D.w $ 8X,.Z 1.'.9.GXU 'XU s 'XPXw D.]XcX5X1 RX1.u T IX3.K 3X- 3XI.8 3 ~ ~ 3.r.r.r.r.k.rXxXt N.b.X N.X.XXg.b N.bXg.b.b.X.o N.^XtXjX*.r ~ 3.`XV.rXtX*XjX*XjXj N.b.X.o.o.X.o.b.o.b.oX9.o.b.X.o.b lXk.bXg.b.bXjXt.^.X.kXdXtXt.k.kXd.kXt.kX*.k.kXt.k.kXx.r.k.H.^.r.kXt.kXtXtXtX*Xt.k.kX*.k.kXt.kXtXt.k.b.z.X.X.b N e.^.^.^.^XgXgXg.o.b.o.oX9.bXg.X NXzXd N N.k 3 3XD 1.9.9 1 1 x.' xXl g.,XK.}XI 3X-XI #XcXMXl x $ c # c.} $.- k [X.., k V `XKXc.GX# `Xc.2.$.0 : :Xr & s.s.s 0 0.jXm y.H.Z.D DXlXU n.-XH.-.Y.O.+X0 [.1 W.F.jX<Xp.[ n.gXBXB.-XJ.Y.Y `XB ` ` : ` D `XI ~X*.u.rXx.z.k.XXtXg.XXk N.k.f N.k.k./.^ qX9 N./.k.k.KX,Xl.'.E y.; z SXr.pXnXn.jX4X4._.F._Xq.p # <XIX1.` c.k 3 3XI.8X9X3 V VXMXM x .lXB.h.T.1 z.h zXZ.T.+ z WX>X4Xf z z UXr E.M.M u UXGXp >.[X% 1.l 3.aX-.i X7.pX:.<Xf %X6.<.<X8.@.JX>.@.@ o y.YXG >.xXfX8.4.4 M.; J s.W.WXD $XDX, 3X,X, 3XI `.2 kXlX. 1XJ ` RX-X1X,.a BX- R R R.eXc x X5 x a.M UXD.a.M t < R a R aX, h t t t t t.M u.M.)Xs.).).N.*XGXH 1X.X.X..G.%.%Xw.G x `X,X-XD R.Z h.Z.a.aXD.}.a $ $ :X. cXh.O.OXh & M g.] ).' K 0 JXm HXKXK k.3 V.,.,X3.- V., #.a 3X1.u ~.5X*.kXo.z.5",
-"XDX,XlXI $.aX,X,.Z 1.' TX,.D DX.XU.] 1.Z h $.9X1 R.M.Z.3X;X.XU $ BXD.nXU ! ' gXU.'.' s ! 1.' y yXD 'XD 8XDXs.n g.>XwXPXK g :XK mXJ g.,Xw m m T.0X. T.'.' s.wXy.G $ : :XK :.u.Z 3 3.uX5XV ) D.KX*.rXtX*XtXj.k.k.kXt.k.^Xk.^.X.XX9.o.X.XXg.XXg.XXg.X.b.oX9.o N.^.k.kX* ~.r ~.r.u.k.kXt.k.^ N.b.o.X.o.X.o.X.o.X.o.X.o.bXg.b.o.X lXg.X.o.o.XXjXj.^.X.^ N.^.k.^.^XtXtXtXdXtXd.kXdXt.k.k.k.5.I.r.kXt.kXt.kXtX*XtXtX*Xt.k.kX*.k.kXt.kXjXtXk.X.o.o.b.k.^ N N NXg.XXg.oXg.c.c.cXg.b.b.^Xt.kXt.5.K 3 xXGX+ .X6.<Xn.@Xf.@X>.E.E M nXGXpXGXG.pX7.YXq 1 xXB.Y #XK k mXl 3 #XM : I.2.%X. D., D D D D I DXPXw 9 o 0.@ ^ 0.; &.wXdXV.RX5XJ Y.OXH KX;Xh.OXr v.1Xr z W z.1Xp.g.S k.-.Y .9 : `.l xXKXc.,.8 ~X*.8Xt.r ).$.X q.XXx qXxXx.XXk )X*.X q N.z.o.XXx.kX5.k.uXl 3 $.Y y H H M z.jX2Xr M W.xX4Xn.FXpX7.i c.uX*X*X3X9XXX9.k.K.KX9 VX3XKXBXK.F [X7.pX2.xXr W.@Xn.;.+ W.<XpX4XnX4Xr.M U < <.M hXpX+.pXr.<.FXM.} h h .lX% z W rX8.4.x.y.<.x.x MX+ =X0.j nX+ nX:.T.4.4.4 S.; & H v.W.D.DX,X,X, R.a.aX-XI 3.Z x.u :.ZXIX,XDXD R a.DX1.aXD.a RXD.aX-XD `Xc.Y ` :X,.}XD.a.a.a RXDX- R.a cX-X-.a R < a t t t t C a.M < $XJ : m $.Z.ZXD.ZXlXJX5X5X. cX,.Z $.9X. `Xl $X,.ZX,X,X;.OXl.9 s.= o JXO $X1.` :Xc._ =.+.].O # 3XIX-.u k.3.[ 6X# [ `.9 kXJ.| ) P.|.A.A.|",
-"XIXD T.9.2XUXJ.2Xc TXUX5.O TX.XKXJ T.' T.2XwX.X.XJXKXlXwXl.wXKXKXD 8.w T.9 'XlXl.n.Z !XK gXK.9 gXJXOXUXU T s.! ' T s.n.9.0XUXDXDX,.]Xc.,.'.0.9.9.n.O.>.DX.XNXUX;X; 5 `XIXI.uXl.K (XI 3.8 3X*X9.X.kXjXj.k.^ N.b NXg.b.zXg.X.o.o.o.X.X.o.X.o.oXg.o.o.o.X.oXgX9 N.^.kXtX*X*.kX*Xt.k.kX*.^.bX9.o.XXg.X.o.o.X.o.b.o.o.X.b.o.X.o.o.z.oXg N.oXg.^Xj N N.oX9.o.X.X.b.^XdXd.k.kXt.kXtXtXoXoXdXt.k.k.kXt.kXt.kXtXtXt.kXt.k.k.kXtXt.k.kXt.k.kXxXt eXj.^.b.o.bXg.o.o.o.cXg.c.c.cXkXgXg N.^Xt.kX*.K c.iXcX> ^X6.P.P.J ^Xf ^ ^ ^XfXp.EX>XG .X> W M W M M.jX%.g.-.g K.G D.$.,XXXJ }.] m )X.X*X* c.k.uXo DX1.] $.9.qXmX>.;.; =.E =XIX1.`.8XIXI 1.K.9XcXhXU.9.jXr.jXpXn.j.x.[.y.T K.SX.Xc [XJ k [ [X..S.O I ) 3.r.kX9X*Xt.kXdXt.k.k.r.k.k ~.uXV.r ~ ~.r.k.kXj.kXdXt.k ) D mXl D =X> HX> H.T JX4 0Xn M.T WXr . .-.,XD #.r 3X*.r.8.8.8X-.KXJXK.' 1 xXrXBX7X2 >X2.x.. v.W / /.vXf z.;X>XpXpXp.[XhX,.a h.* xXG >.xXr [ ` XB.l.[X< W W SX: H r r SX>X6.<.xX4Xn vXn oXn .X>.4.4.4X:.C.EXn.EXG.W 8XD 3X, $X, h cX5 x.aXIXl 3X, xXKX,.u.-.' 3XIX.X5.eX1.a.e RXD RX,XI :XDX, $ :.[XKX3.MX- RX1X1XDXI 3 aX-.a R.a.a.}XD.}X,X,XDX,X, c 3X5X1XVX,X1XDXDXKX, :.ZXIXlX,X,., $.Z h.ZX, hXDX,X, :XD sXs.s O & !.~.u R 3.aXK.G.n RX-.`.a.`.8X-X3 6., VXXX<.,X<XJX,X9 c.u.kXV.u.r",
-".ZX5Xl 1X,X,X,.Z.Z $X,XD R.'XJ T TXUXJXKXJXc Y.O.G mXJXKX,X,.Z.2XK R s.!XJX.XJ g.].9 g.- sXw.OXw =XUXw s.n.'Xl.9XD s 1XD.MX,.wXlXc.>X,.9 T sXK g.-Xw @.2XyXy.G.G kXl D mX3XlX1.u TXVXV 5 )X* c.k.k.k.^.^ NX9XgX9.o.b.I.bXgXg.o.bXg.oXgXg.o.o.b.o.o.o.o.b.oXgXgX9.^.k.^.k.XX*.k.k.kXj N.XXg.bXg.b.o.X.o.o.X.o.X.o.o.bXg.b.o.X.z.oXg.X.b NXjXj N.o N.b.X.X.X.X.X.^Xt.kXtXt.kXtXt N.^.rXt.k.kXd.kXtXt.kXt.kXt.kX*XtX*.k.kXtX*XtXt.kXt NXt.b.X.o.o.b.oXg.cXgXgXg.U l.c l.UXgXg.b NXtXt.kX9X*.}Xc.E JXf ^Xf ^.J 0 p.sXeXL.W.MXe x sXG.@.J.x.4 WX:X:X2.y.1 nXH ` c 3X9 c.5.KX9XxX9X*X*X*.rX9 5 ).K c 3XD T &Xn.s.... v.! TXIXI.HX1XI.8.}.`Xc.2XhXw.OXh.T zX0X2.;X+ M [XZ IXcXc.3Xc.- V X3X7.-XK aXV.rX*X9.k.r c.^.uXd.k.H.u ~ F.`.uXV.r.r ~ ~.r ~Xt.k.k.k.2 5X. T.,.O &.q w yX0.@ b S M.x.h M.h.+ MXHX<XHX3 #.H.5.8Xt.8.u R ' : 1 RXD.wXpXr.p W.p.CX> 0 2 /Xs.= / 0 S HX8X>.xXnXpX+ xXc c $.}XGXp.<Xp.[.[XB.SX7.SXS z.h M.+X:.T.TXh.y z.;.T W SX4Xf.CX> w.4.; S S.4X>XnXaXs.w 1 tXDXKXDXD k ' RX, m R R $.Z a c `X, RX5 $X-.Z $.%X5.~X1 RX5.* 3X,.ZX, $.ZX- RXD :Xw.2XlXDXD.Z.Z $.K.D 3XDXDXDXD.a.a.a a.a a a.~.~.`XlX-X1XIX,.`.a.e RX,X-X- $XD RXDXH.3XcXl xXD.Y xXK.] `XZXwX0 o =Xw D.uX9XI.} DXJX, RXI.`.`.8X-.` 3., V XB V [.Y.9XJ c.uXD.8.K.HXV",
-"X.XcX..2 kXUXJXK.9 : ' : '.'.2X, R B sXl.9 ' T.ZXK.GX; D.eXlX,XDXw.wXK T.].' TXcXK m g.D x.Z sXK yXw.9Xl.w TXw TXJ yXJ.MX,X,.F n.9.Z : s.'.2.2XU ' g.2X;.ZX1Xl DX. 3.aX5.9 D.].uXVX1.K (X9.$.& N.^.kXz N.bXgXg.b.oXk l.bXg.bXgXg.o.o.b.o.o.o.o.o.bXgXg.o.oX9.o.o N.^ N.k.XXt.k.^Xt.k.XXg.X.X.o.o.X.o.X.o.b.o.X.bXg.X.o.o.X.o.z N.bXgXg.^.^Xj N.o.X.XXg.X N.b NXjXt.kXdXt.kXt.k.X.kXt.k.kXtXtXt.kXt.kXt.kXt.kXt.kXt.kX*Xt.k.k.k.k.k.5.r.X.o.b.o.c.U.cXk l.UXg l l.c.U.UXgXg.X.^.k.k.rXMX*.a.YXC.@X6 ^X6 ^X6Xn.) u u.M.MXD.M 8.Z vX4..X4 . ..C.{ ; W.;X<.O :.`XD 3XV 3XxX*.uXtXtX*XtX*X9.$ I ~.5 cXcXcX. oXp v v & = yXc.u.D 3XI 3 3XI )X. m.G K K K =.hX0.+.@ S nXH.3 YX#.3XHXS k.- [.,XH., :XI 3.r.5.rX*.rXV.k.HXV.XXJ DXJ.]XOXx.`XV ~.H.r.u ~XtX*.r.uXVX5XV 8Xl 0.v 0.@ b.v 0.+.h ^.+.4.+XZ.T.+ z.1X;X,.`.k ~ ~ 3.HXDX1.9XlX, U.wXLXp.[X:.x.4 w 0.NXs C.N.).v H.;.; M SXr.@XpXp 1.MXHX, U._XpX+Xr.[X<X<.[.h.h.; z z.L.h.h.LXZXZ.h.y.+X: r.{.4X8 w.4 z S wX>.@ vXeXe.M.ZXc.u xX5 RX1 hXD.MXDXDXD RXI R R R BX-X,.uX-X1X-X- D :Xc :.0 g D.'XwXJXU D.wX,.ZX,.D xX5XH.DX, RX1.ZXDXIX-X- RX-X-X- t R.a.eXI RX- R B 3 c R RX,.a.M.a aXIXDX-XVXD R.ZX5XH.YXcX#XJ.%XwXJ.,XK.1.L MXLXsXK D D.2 m `.3X5 DXoXl.`.~.`.`.8XV.,XXXX VX7 kXp x.-XZ.u ` c 5 : )",
-" $XlXKXl :.'XcXKXKXy DXy.GX. !.0XDXD.'.% ! :XUXIXJXU :XcXw.ZX- 8XDX.X;Xc 8 RX-.a.ZXw 1X-XK RXD t.MXD UXDXJXh m nXlX,X, h UXcXw $XD 8 ' sXc.>.O g ].2XK TXJ cXDXVXl I : c.u c.] (Xo.H.5X5.^ ( 5.X.o.X.oX9Xg.bXg.X.b.UXgXg.o.o.bXg.V.oXg.o.o.o.o.o.o.o.oXgXg.o.o.X.o.XXg NXx.^Xt.k.k.^ NXg.X.b.X.b.bXg.o.X.o.bXg.b.o.b.X.o.bXgXg.oXg.X.o.b.b.X.b.X.b.o.^XjXjXj.kXj.kXtXt.k.kXdXt.X.kXt.k.kXt.k.kXtXtXt.kXt.kXtXt.kXt N NXt.kXtXtXt.k N.^ N.oXg.c.c l.U.c.cXk.c l.c l.U.cXk.c.b.XXdXt.kX9X* 3 g.q.q H.4 S.;Xf...m.).M <.}.a.M h U.MXL v._XGX4.C.P ; L.<.Y.G k.0XJXJ ) 5.2.R D ]Xx.|.k.u.r IX. : DX5 m : $ T n = nXw.+ =XhXh.G.OXI.u 3 3XVXV.8 $XU.OXhX0 H.+.T.@ y.j.1XH.S [., kX< [ [ =.jXw !XJ.D.8.5X*.u ~.H.8.H.5.2.%.0.0.'Xy gXUXP mXV.H.8.H.r 3 ~ 3XV.H.KX,.DXP wXCX0 H.@ O ^.@ MXfXi ^Xf.4 S M.+ M M =X5XJ.^ )Xo D.K.9 D.3 c :X,XL v.@X6X6 ^ 0.vXs.N C C.= / 0 O.vXn.s wX2XpXp v $.-.e.[.wXn.-.[.-Xp [Xp nX:X0 z z.x + [X2.;.; M.4X4.<.C.4 SX8X: r H J 0.v v v h U.a $.Z c.aX-X-.aX- R R.MX1.MXD.aX,X1 3 3 3 3X, : 3X, 3 DXJ TXK $ $.Z.w.Z 8.w $ R B 8.MXD.DX, R.wX,XD R RX,X5 R RX1 R.aX1 R B RX-.aX- RX1X-XDX5 RX-XD RX-X, a a 3X-XI #X1X,X,X. $ 'XK.9 xXl n cXl x v v bXDX-.H c mXc : `X3 I D D.`.`.`.`.8X-XX V., V k.gX< n 1XhXh.1XcXH I.%",
-" BXl.Z.e 8 R.a c 'XcX.Xc D.2.GX;.2Xl T.9Xl.wXD s m T h gXJ.ZX,X,X,X..O.'X,XDXDXI '.2.wXcX5 $.a R R RXl.9.GXwXcX1 8XD x.9., kXc UXDXs.0 T !.2X;.%.O DX1 #.] ` IXJ :XV T ( : (X1XV T.X P 5Xx.X.zXx.X.o.XXg.b.XXg.o.o.z.o.X.oXg.cXk.U.U l.c.c.V.o.o _Xg l.U.z lXg.b.X.X.X N.X.kXt.^XtXj.k.b.o.X.o.o.X.o.b.o.X.o.o.X.o.o.X.o.oXkXg.o.X.bXg N.o.XXg.b.b.X.b.^.^XjXjXj.k.k.kXtXt.kXt.5.kXtXtXt.k.k.rXtX*Xt.kXt.kXt.kXt.k N.X.k.k.k.k.k N N N.oXgXg.U.U.c.U lXkXg.c l l.c.UXk.cXk.X.b.k.kXj.XX*XIXc.qX0 M MX:X0.;X4 v E h.} hX,.aX, $XD.Z 8.Z U.)Xn LXA {X4XrXw IXJ.5 m.] 5.$ I 5 5.R Q.kX9X9 | PX5XJXK.K.,.'XJ $ Y.>.q J H.j.jXmXm $Xw ) c.KX*X5XV 'XN.GX0XGX>X> 0.@.;.1 zXH =.1X< n [ nX0Xw 9.0XOX1X-.|.5.].| :.2 m.G.2.OXyXO.>Xy 'XU g.2.2 TX5.8X1XV.H.H.HXI c B.DXU & M z.+ & H.; S H S.xX6.;.4.;.T.+ = z.OXU.,XJXJ ) D.] DXlXK x hX,XeXe.v 2XbX=X= 2.N.M t t.M.=.s 2.)X=Xb.v.{.xX4XpXq t hXK x <XG.Y.9.g.j.pXrX2 M.JX2X2X2.x.{X8X:X8Xf L.P.4X: S.4 w w.E w b J.W.w.Z h c $ 3 # c.u 3X,XD hX,XDXDX,XDXIXD.aX1 R.aXDX-XIXIX1 R RXDX- B.a R R R.aX-XD B tX,XD.D.Z $.w $.MX5 $.aX- aX,X5XIX-.aX1 B.eXD RX-XD R t.e RX-XD 3X1 a.aX- a R.aXI R R x.eXIXD c.w h $.M x `XD.Z c UXL 0 s s.Z 3XD.MXDX, c 3 '.u 3.`X-.8.8X-.8X*., k VX7 kXhXh.p =XcXH 1 x $ c",
-" a.,XlX,X,.a R s $.aX,XD.Z.nXH.] TXl TXKX5 RXIXD D.'.u BXJ., a.a.aXJXyX..ZX,.MX,Xc.O.2 1X,XK.3.'Xl.'X..%.O.].n.D.Z.Z.ZX..w 1 KXJ.'.0.0.GX;XO.D.]X# T cX-XV.8X3 5 T.u.8 c.2 I 5XxXoX5Xx.R fX@ QX@XxXgXgXg.oXgXg.X.o.U.o l.c.c.U.U.c l l l.U l l.U l.U.U.U l l.o.bXg.b.^.b.b.kXj.k.^Xj.^.^.X.o.b.b.X.o.b.X.o.X.o.b.X.o.bXg.bXk.o.X.I.U.I.#./.o.o.X.X.oX9.X N.kXt.kXtXtXtXt.kXt.k./.z.KXt.kXtXt.k.kXt.kXt.k.k.kXtXt.^.X N.^XtXtXj.k.X.X.b.X.c.c l.c.U.c.UXgXgXgXg.U l l.cXk.U.b.o.^XdXt.XXtXV.9 g.jXm.EX0 M.; wXn s.MXDXIX1.uX,.a.aX,X1XD.Z.W.< 2.P.@.j.GXD 3.HX5XVXdX5.kX*XtX*.k.u ) IXXX.X3X,Xl : D :.uX5X1.0 T.9.EXL..Xn v y s.' T D I m I ].G.G K.+ o.+.+ S.T.T.+.h z.hXZ.+ KXhXh K.> 'XPXO.2 ( ! ( @XyXc.G @X;.%.OXyX;X;.>.>.9 b 9.!XUXOXU TX5 $ : gXc g.2.% n.>.>.OXh.+Xh = &.x.<.;.y S.4 z ^X> ^X> y n s xX1XI.uXV.` R c x h.w.).NXb /X=.).N.M.MX- t < C.NXL *X=.)Xb.P.;.C.<XnXq.W < UX. h.M h.YXpXpX>X8X2 r rX: r r + r ;.{ ;.{X8.y r H ^.4X>X>X> H b vX,XGXl 1XDXDX1.u a.a.a a a aX-.a.e a R R.a R.aX-.~XD.ZX5X- RX1 c R.a RXDX- RX, R R.a RXD R.aXD.M.Z $ h.M $ hX5X5.a $ $X1XD $.9.9X,X, hXKXlX5Xl.'X5 kXD a.a.a <X- t.e.a.Z RX5 a.aXD.ZX,XD.DX,.9X. nXl T.W vXC b yXU Y.9XJ.YXH DXw., 1 RXD.`.`.`.`.8XI.8.}.}.a Xw.-XGXp._.9.[ 1 xXJ",
-"XD ' $XJ mXc k.,XcXUXD TX,X1.2X..,.9 :X,X1 R B B.'.2 $.Z cXlX- RX-Xw $.D k D.eX5X; mXDXDX-XD.DXcXI.2 gXU.2 !.2XUXOXUXPXO.!.0Xy gXPXU.>.O.O D T.DXJ., , ( :X5.r T I.%XJ.2.5.0 5.| DXx.^XxXx.&.&.(.X.o.XXg NXg.b.b l.#Xk.U.z.U.U.c.U.U l.U.U.U.U.U.U.U l l l.U lXg.b.b.^Xg.XXd.^Xj.kXjXt.^.b.o.XXg.o.o.X.o.o.o.X.oXgXg.b.X.o.z.o.o.6.I.6./X@Xg.o.o.o.o.b.^.^XtXtXt.kX*.k.k.kXt.k 5.&.zXoXt.kXt.r.kX*Xt.uXtXtXt.kXj.X.X.b.X.kXjXd NXk.XXgXgXk l.U l.cXkXg.o.b.o.c lXk.cXg.cXkXg.XXz.X.^XxXt.H.n !.!XU & M &.E.vXe.N.M 8XDX1X-X1XIXD.H 8XD RXn .X>X>XmXlXD.HXtXdXt.kXdXVX*X*X*.k.uXdXV.5.Z h.9 hXl.] :.uXV.Z.8X1Xs.D vX>XG.. O JXG.YXP.Z.kX5.H.u.0X;.> = &.; z.+ z =X: M zX0 M MXwXwX..> ! g gXPXO.| ! !XyXUXOXU.'.' s.D.WXDX,XD $.w.n s.! 9.! !XU !XOXU.9XOX.Xh.1.O.OX. = nXyXh.1 MX0 W.xX2X>.@.xXC 0X4 v...Y.+Xh T.H.5Xo.r.5 $Xl.WXeXs.;.EXe.N t u t t t a t.e C C.W C C 2X=.sXf S.x.@X+.p x sX<.ZXB h.j H WX8 r rX8X: rX8.{ r ; ; ; ; L.4.; wXf OXf vX>.j MXe y gXwXcXlXDX1XI 3.a a.aX- <.aX-.a.a R R t R.~ RX1.a.uXI 3 R R.a.MX,X- $XD ` $ :X,XD.MXI RXDXDX1 R.M.Z x $X,XD hX, $XlXD.}.ZXD., $XJXcXKXK.9XK TXcX,Xl 3 R.}X- R.a ` $.eXMXD #.aXI hX5XKX, R.M R.aXc T mXm.E.>XC 4.q ! MXcXl.9XKXUXw oXDXD 3.`X-X-.`.`.a.`.}.a.a.9.YX%X+ zX<.p.1.O.9",
-" $XDX-XD.9 R $ $ $XJ.ZX; 1.n.,X;X5XJXJ.,Xl B RXI $ mXl $ T.ZXlXD.u D 8X1.DX,X- D.O $X1 R B RXI ' m gXU.].0XOXU g g.2 g.0 ' ' g !XO.2 K 4 :X5XK :.H.u.] I 7 ] :.R :.5 I f.5 q )Xx.& ,.7.R q.R.z./.I.z l.U.U.z.I.U.I.I.U.U.U.z.U.#.U.U.U.U.c.c.c lXg l.c l.c l.o.bXg.o N.z.o.^ N.^.k.^.k.^ N.b N.o.X.o.X.o.X.b.bXgXk.c.X.o.oXk.o.X.o.oXg.b.o.b.X.b.X.X.^.kXt.kXt.kXtXdX*XtXt.kX*.^ )X9.kXt.k.uXtXdX*Xd.kX*XtXd.^ N.X N.b.X.^ N N.XXk.o.XXg l lXk.c.U lXg.o.oXg l.U l l lXk.U.cXg.X _.XXxXd.DXo gXm.'.q.> J O O 2.WXD.ZX1X,.D.DX,XD R U R pXe v n.WXD 8XV.H.rXdXdXo (X9 cXtX*X*Xt.k.DX5.'XG.9XG c #.2 ).Z.kX5 ).5.Z.D @ y.E b 0.j.q nXwXy D ).2XyX;.O =.y.;.@X>X>.; HX>.;XL.Y.wX,X5Xc.2 g g.DX1.`X1.! !.> ' 9 ' s 'XDXD RXD x., $.a y.ZXGXG g gXm.'.' '.0XU g @X; g $ $ : D.>X;.>X0XZ.hXp W.;.@.h z W S M.x W.+.O :X5.XXx.K.K $.' bXn.=.jXe & .9 ` $X,XDX,XD hX,XDXeXD.N.W.s.s.. H.4X8.xXnX+ v h U =XGXp.{.{X2X8.JX2.<.x.C ;.{X8X8 ;.4 SX:X8.4 ^ 0 v vXcXG g.-.[XK.Y : $ R c B 3XI R R t tXI a aX-.aX- aXI.a.e.aX, RXI R R R R R.Z tXl `.Y $X, $X, $ 1 $ $ UXD.a a R h.ZXD x.Z h c $XM RXIX, $ $ $XD tXD R t.*.* RX, h.~ a.a.a a.]X,Xw :X.X.XJX3.%XJ.>.3.' RXD.M.9Xl $XD xXKX,.WXs.EXG.W.MX,.E.s 0 bXnXG.'XDXI.HX1X-.H.a.`.a #.a `.h n WXr k nXH x",
-"X. RXwX,XJXl.YXD R.e.MXD R $XU.u hXDX, :X3.DX-X1.Z.% D.9 : 1 DX, :.Z R R R R T.3XJ 'X1X-X1 BX,XlXOXU.0.w.Z !XwXKXPXU s '.nXP g ! @XUX; Y.'XVX5 5XJXx.5.5.| ).5.R YXxXV ).5 5.$.RXxX9./ q.z.7Xx.I.zXgXgXk.U.#.#.zXu.I. .I. . .I.6. . . . .6.6.6.6.6. .6. .6. .#.z.U.U.U.IXkXgXgXk lXkXgXgXgXgXgXg.o.oXg.o.o.oXgXg.UXg.o.bXg l.b.o.b.o.b.b.b.o.o.X.b.X.^Xt.k.kXd.rXt.k.k.u.k.k.k.u.r.rXVXdXt.k.kX*.u.kXt.kXtXd.^.XXg.X.o.X.b.b.X.b.z.XXg l l.U.cXkXkXkXg.X.oXg l.c.c lXk.cXkXkXgXg.XXg.XXV.H TXK @.O K.+XC M HXG 1 yXl m.|.w $X, hXD.M U..Xe.@ nX,XD.H.r.HXtXx.z.k.R.R.KXtX*Xt.kXd.H.w.'XL bXKX, : P.| Q I P 5 I.2.O RXG vXG.s.E & =Xw.2 g TX5.2.O.+.O M H.@X6X6.; y yXw.ZXDX1X1X5.` 'XyXOX5 g :XcXw.!.q s.nXeXa C t.M 1XDXHX.XK.,.3 1.1X. !XZXOXmXOXUXP yXU.O.>.> m.GXy K K K KXhXZ z M W WX8.h.+.h.h.L M.hXpXG.wXVX*.KX*XVXVXl vXG.sXG.NXK.j 1 } h.] 1.M R t.eX-.} R.M t CXs 2.sX>X>X>.CXpXpXn.YXq n.< WX2X2X2 + + r r.yX:X:X2X8.y M r S.4X6Xi.v.s.WXe UX, R <X, a.M RX1X,XI R.Z.e R.aX- aXD.aX-.e.a a.eX1.a 3XIX1.e.MX-.a.M $X. 1.w x.Z U.Z hXl.Z x.M $ c.Z $X,X,X,X,XD.aX, R.uX, :XD.a a tXDX,X, h R.MXD.aXDX- 3 3X-.` a R B s xXc : 1XlX3 $ cXDXlXD RXDX,XDXI x.ZXD.e c aXs v 2 2.E yXKXU.v.v 2 2 v.w :X1X-X-.HXIXIX- aX-.5Xc.[XnXq UXn x .9",
-"Xw :X.Xc.9.,XcXK tXH.% @ RXJ.'XKX.X. VXJ.GXJ $Xl DX..2XI RXDXD.Z :XD B 8X5XJX.X. gXc.Z $ '.u TXU 5 Y.ZXlX.X; n gXK s.9.'XU ! ! ! K 4X5.2XJXX :.5XX I ]XX.uXdXl 4Xx I (Xt.k q.f.& }.6XkXgXx.t.z.& l.b.b.c.UXk.U.U.# l.U.U.U.U.c.U.c.c.c.U.U.c.c.U.U.c.c.U.U.U.U.#.U.#.z.I.UXkXkXkXkXkXkXk.UXk.z.U.z.z.z.z.z.z. .I./.I.z.U./.I.z.z.U lXk.Q.z lXx l lXx.bXo NXo.K.KX5.k.kXo.k.HXo.kXVX5.kXV.k.u.r.k.k.k.kXtXt.k.^.^.X.b.X.b N.b.XXz.z N.oXx lXgXgXgXgXk.cXgXg l l.c l l.UXg l.c l.X.bXoXoXV.H g.'X;.OXZXZ M M HX4 [.S ` mXHXlX, t.M.M u....XnXpX,.~.H.H.`X5 (X3 `X*.k.k.8X*.k.r.rXt.`X1 s 0 O.EX, c.KX9 D (./ )XxXx :.D.HXD 9 b.sXCXe 1.'Xl.w.H.wX..> M.;Xf.v w.@ HXeXU ! ]X5XVXV.u g !.2XOXOXUXw.2 g.9Xw g.w.ZX,.Z.Z g.3X.Xc.]Xc TXw.YXcXK sXJ.Y T.9 x.w.Z $.-XcXc.n gXl yXUXw.> M z.pX2.x S SX:.CX2 M.xXn.jXG a c 3 ~.8.8.` RXIXD.@ p.WXs tXD $ ' cXh $.' sXlXDX-.a.a a B.*.=Xs.=X=Xf SX8.CXpXpXpXp..X4X2.<.J.JX2.J.T z.y M M z W M.< ..<.xX>XfX6X6 vXeXs.WXD 3 c.Z.M.ZX1XD.HX-.D $XD.a.M RXc '.Z.Z.ZX5Xl.,XVXDX1 a.a.a.Z.-XKXw $ x.Z.W.D.Z R.9XU x.ZX, $ $.W hX,X,.w U T xX,XDX, 8XD xX-XD.M.aX- tXDXDXDXDXD R RXDXV.aX-X-X1.e.* R R.aX, h c.aX- R.ZXD 8XD hXD.M T :XlXw c x.a x p.+ v M 9X0 MX2.4 2.j.+.9XDXV c.uXx.5 DXX )X-XK XnXnXc.pXwXpXZ",
-"XD c aX, hX-.ZXDX,XN xX,X5XU.ZXJ mXNXH.|XD RX- RXJXN.'X1 RX-X, : KXJ.2.w.3 !XJ.]XcXO mXU DXc D.O.0XDX,X, n mX. y x.nXG @.G K KX;X;XJ.ZXI TXJ.|Xo.K.K q.A ].]Xo.X.5 Q Q 7X@.t.X.z./.&X .fXk.XXg.z.U.oXg.U.U.U.c.#.I.U l.U.#.c.U.c.U.U.U.U.U.U.U.U.U l.c.U.U l.c.U.c.U.#.#Xk.UXgXg.o.X.b.o N.o.b.b.b.o.b.b.oXg.cXkXg.b.o.bXkXg.b.o.X.o.oXg.XXgXgXxXg.X.^.K.^X5.k.kXd.k.k.K.k.uX9Xt.k.k.k.k.k.u.k.K.X.5.5.X.X.X.X N.zXk.z.U.I.z.z.z A l.I A. .I.z.#.z./.I./.I.6./.Q.I A.6.Q.I.R.I.I qXk (Xo $.2 gXU.> z =.@XpXnXe h # xX5XKXl E.w hXeXnXp ^.jXGX, c c.k.2.3XKX5X3.K.5 NX9X9.5X9.X.5X5.w.! o bXw `.$X9X9 N )XxXk.5.5.k.kX9.Z.'.9 o.jXe.w.ZXU.5 $X5Xl = =X> wXf ^.CX0XaXl.]Xo.u.uXt 5Xd.2 g 9 9.' s vXl s.9X,.M R.aXD RX,.,XlXD B.a B.ZX,XDX, xXlX,X,XDXIX,X,.Z.YX,.M x.w C.Z.9.!XmX0.1.yX2 WX2.xX: S z WX0X+ y.>XD c 3 3.8XV.8.`.8.a.YXe.WXs C B t R.MXD sXKX.XcXK ` h c R RX1.* 8.).WXF.v.@X: wX>.@Xp.x.<.{X:X%.J.p.y.pXr z M.jXSX+ M.x.[.pX4X:.@.4 ^.J ^ vXsX,X1XK :.ZXc : T., : `.,XKXcXJ RXKXKXJXKXJ.-X5 `X- R RXIX- m `Xl.wXD.ZXGXe.ZX,XDXs $.9 nXcXc.wX,.aX, c.W.Z xX,X, h.ZX, cXDX5X,XD R.a.MXI.M R.ZX,XDXIX, #XI.e R R B R.a.a.a.a.M 3.uX, RX1X,XD RX,XDXD $ ) x 'Xc.| | DX<XsX+ O =XmXC r W H.s.> x k D IXJ 5.2 D ] ( (.`XI.-.1.-XrX<.h.[Xh",
-"XD RX1X-XIX, RX- RXcXNX.XcXc RX, : K : R RXIX- R.3XN D R RX1X5Xy.2 KXyX.XJ.2 m.'XN.% @.9XJ g T.].3 Y.3 'X.XwXl x.!.9 !X;X$.! @X$ !X5XJ.u 3.5XJ 6XJ ( DX5Xx 5.kXJ.X.XXx.R.&.:.z.oXgXk.IXu.o.X.XXg.b.oXg.U.U l.o.I.U.U.U.U.c.U.U.c.U.U.c.U.c.U.U.U.U.c.U.U.c.c.U.U lXk.6Xk.UXk.UXk.UXgXg.o.b.X.o.o.o.o.o.bXg.U.UXg.o.o.b.b.I.o.b.X.o.o.o.b.b.o.X.b N.k.kXjXt.k.rXV.8 3.r.H.r.H c.H 3.8.8.8.r.8 ~XVX*XtXtX*XtXtXt e.^.b.b.X.b.b.b.b.zXz _.o.b.b.b.o.bXk.cXg.U.U Z.t.t.t Q.R Q.t.R 5.& ) I.H.0XU 'XPX0.> M w.j nXM.- D c.]XD.' x $Xq u._ vXnXp.M.}.KX3XJ D.'.0XD cX* FX*X*Xt.rX*XVX* 3XI s bXa 9 $XXX9Xk qXkXk.zXg.I.zXx.^XX.5.!Xa o 8XD 3.H.8 ~.8.5XH y H.. JXfXi.j.-X1XlXV.H.kXVXxX5XJXOXO s s.w.w.Z.MX, 3.a.a R.aX1 RX1 3 hX-X, 8.Z.D.ZXl h.a.M.a.M.Z hXI.a cXD h.WXDX,X,Xa.n g =.>.[.1XrX2.< W zX%.[X%.jXrXG.a $.H.r.8 ~XI.`XI.a R v.s.NXs u u u.M.).NXsXeXq n U [ `XlX, B B R R.N.N.).sXf J S wX>.<.<X+X%X2.g r.T +Xq.jXrXr.pXr.j.y W.T MX%X2 M.4 wXf.. v.WXDXK :XyXU.'XK T `XKXlXMX5 hX-.uXDX1.aX1X1 RX1XD R R RXD $XD.Z hXDXD.w $.w UXD.M.M R 8 $.9XJXJXKX, m $.w.Z.' s.ZXD $ U $.wXl.Z.u hXV $XDXDX,X,X,XlXD R.a aX-.a.a R R t R.a.aXD $ cX-XIXI.aXDXDXDXDXD R a a R hXV # `X1Xq.'XeXs.W.)Xn J.>.w m c.K c.5 (XIXIX1X1.~ FXV.5X#XwX%XpX+XBX4",
-" B R.eXI a.u R R s TX,X$XwXl R.a.Z K 3XD B.*XD.ZX$.OX$.DX1.H g (.'.GXJ m '.Z mXl K B.wXlXPXl g.wXNX5 mXy.] s $.'.'XPXO !.G.%.2X. Y cXl.2 5 c.k ( I 7.R ).5XJ.5.f.AXoX@.X.z d.X.oXg.o.o.UX9XgXg.b.oXgXgXg.U.c.o.I.c.U.c.U.U.U.U.U.U.U.U.U.U.U.c.U.U.U.c.U.U.c.U l l.c. .U.U.U.c.U.c.cXg.o.o.o.o.o.o.o.oXgXgXkXg.X.o.o.X.o.z.b.b.o.o.b.o.X.X.o.b.^Xj.r.kXt.k.rXV.r ~.HXt 3.H.8.k.8.H.rXV ~.8XV ~Xt.u.kXtXt.k.kXt.^.b.X.o.b.o.X.o.o.U.X.bXgXg.oXgXg.c.c l l l.z.t AX@X@ fXx.z ( I.& 5 I }Xl.].!XP.q.> w ^Xi._.y $ m.] ' @XD k $ [., u..XL.E.n.} 3X* | '.Z.] DXVXIXVXVXtXtXtX*.k.kX*.uXI.n '.nXP $XM N N.b.^XxXgXg.b.^.X.X N #.' s b T 3.8 ~.r ~ ~.8 TX;XU.E.x.TXn.;.G :X;.u `XxXV D (.].wXO.'.n 8 t 8 RXD 3XDXI B 8X1XI R.aX5 3 RX1X,X,.ZX,X-.M.a R RXI $.uXIX,X,XDXD U.a 8X1XP.0Xw.O y.[ z [ z zX%.[XpX<XrXw.Z RXVXV.8 ~.8.rXI.` R.}.9Xa b.).N EXe.Y.N.sXp.).M.NXGXeX<.9.'XK.Z a R R U.N /.@ MX6.@.;X:XfXrX2 r r WX%X+X+ >X:.1 zXr ..pX+ [Xp.hX: z H S w v v x $.Z 8XD 8XD R.MX5.a R.a h.~ a.a BXI R R R R RXDXIXD.Z $ BX,XD $ 1 1 x 1XeX,.M R R.a.a 3.eX,XDX, 1 x gXcXcXw 1Xe.ZXD.nX, 1XJ 1 xXD hXD : hX1 $XD.9 R R RXD.aXDXI a.aXD.MX- R.a cX5 R R.aX1XDXDX,X,X,XI RX-X-X- cX1 #X.Xl 1Xe.WXn.v .XUX; R 3XI.`X-.u.8 3.`Xd cX*XtX*X1 :XB x.FXqXA .",
-"Xl c $.ZX, $X1XD : K @.O DXD RX-XDXNXD R.aX1.e m.-X;XN $.D T ( g DX;Xl.5 R.a BX5XN.3 :.D D TXKX-X.XN.O TX,XDXy.' @.w gXU KXy m.2.0 DXI.u.2 I.XX*X9 ) P I f qXt.k ).&.z.X l NXg.b.o.o.b.o.oXg.bXg.oXg.oXg.U.c.c.I.c.U.U l.U.U.U.c.U.U.c.U.U.c.U.c.U.c.U.U.c.c.U.c.U.U.I.c.U.U.UXk.U.UXk.c.o.o.o.oXgXg.c l.cXg.o.bXg.b.oXgXk.b.o.X.o.b.b.o.o.X N.^.kXj.kXt.K ~ ~ ~XV.8.r.H.8.H.k 3.8.8.8XV ~.r.8.k.kXtX*.kXtXj.kXj N.o.X.b.b.o.XXg l.b.oXkXg.c.c.c.UXg l lXk lXg.XXk.k.rXgXoXoXxXxXx.KXo IX;XK '.!XC.q ^Xi..X%.F.[X,Xc.9 1.-XM hXB CXA.sX>XeXD.} 3.KX,.H.DXD.8XV ~.rXt.k.k.k.rX*.u.u.H '.n gXUXIX*.KX*.k.k.z.bXg.XXgXjXtX*.8.}XGXG TX5.KXt.r.8.k 3XV.9 =X+.; HX> M.1Xc DXJXx D.H ) D.] 'XOXP.'XD 8.MXs.ZX,X1 3XI 8 RXDXVXI 3XI $X,.Z T c tXDXI R.nXl.u : 1 :.2Xc 8.DXDXJ :Xl '.0XPX.XHX7X7 kXw.[XcXp., k.[XH hXD.uX5 ~ ~.8 ~.`.8.} aX< &XC.q.;.j z M M =X0XeX0X>.).WXs nXGXU.wX. < t.M.M *.E ..+ M.h.T.h.T.T.h.T.h.x.<X4X+.+ SX0 zX2 . .X4.p zX:.T r.;.4 0 vXG.ZXDX,XDXD.MX, BXl R R B.uX-XD R.a.~ RX-X- R R R.a R R 1.aX,X, $ c T.w x x.Z h.M RX-XDXDXDX-.aX,XI.M.a.M.M.Z.Z.wX,.ZX,XHXKXH TXJXJXK.,.ZXl xXD 3XDXD.e R.a R.M xXDX-.aX,.M R R.a :X1 RX-XI.aX, R UXDXI R R.~X-X- :.5 R T.wX;.E..Xi H.>X5 BX5.u.K N.K.~X9 3.u.5.5 )X*.}XlXBXq._XAXqXA",
-"XU mXUXJ.2XJXKXJXK gXJXJ.9 B.a RX5 `X5 aX1.aXl.3.uXKXNX. D D.0XDXI D.e R RX1X1Xl 6.e aXJXwX..].0 mX.XNXK.DXD 1 sXU.q.' !.%.2.OX5.HXI 5.5.k.5.5Xo ].X ) ( Q ,.R f.X.z.I N.b l.b.o.bXgXg.X.oX9.bXg.o.oXg.c l l.U.I.U.U.U.U.U.U.c.U.U.U.U.U.U.c.U.U.U.U.c.U.c l.U.U.U.U.IXk.UXk.U.U.c.U.cXk.c l l l l l.U.UXgXg.o.bXg.X.oXgXk.X.b.b.b.^.b.b.X.X.b.^XtXd.k.r.kXtXt.u ~.8.H ~ ~XV c ~XV ~ 3 F.8.H ~.uXtXVXdX*.rXt.kXt.b.X.b.b.X.o.bXg l.bXg.U lXk.cXk.cXk.cXk l l.b N N.b N (Xt A.R.&Xk ).5 YXN ! s O o z.EX6XA.d U <.a.M.aXI <.aX, C uXbXbXGXGX,.a 3 ).HX1XD.kXV.k.u.k.rXd.k.rXd.rXtXtXIX9.0X5.%X3.KX9.u.u.k qXxXk l.XXtX*.r.}XDXqXG.] :.KX9 qX9XgX9.5 DX, yXmXpXiX> nXcXcXD 3Xo c.`.`X1XD.ZXO.9.nXD.DXD.u $.,X. $ RXI B.,X*X. R.*X1 : m.- R t.MXI.3 TX1 )XVX1 ] gXDX1XD :.%.D.n.].!XwXHXcXMXBX7.-Xh.S.-Xh [XhXU cXDX*.`.r ~ ~.8 3.8 3 :.q b 0 H &.p.j =.1 MXG.+ =Xs 2.=XL.s.D.- tXc :XD t tXeXGXeX4X>.; H =X2.x.; WXpX>XnX+.+ n & =X:Xn.< >X4XnX2 S z w w 0 J o.w.WX,XDXDXDX1 R s.D $XlX, x RXDX, t.a R.a R a RXDX, RX5.aX,X,.Z R U.a.M.MXD R.aXDXIX, R.eXD RX1 x.* R.a RX,X,XDXD.ZXlXcXJ.] n., 1XJX.XJ c.Z.a.aX,XK.e 1X,XK ` g.3.9.- `Xc R RX- cXl BX- R RXDXDX,X, RX- aX-XIX- c 1 R.eXDXs v.N.; &.O `X1.u.uXoX* N.K N.k.K.8.r.`.` 3.a.YX<.y._Xn >",
-"X.XJ D 1 D mXl.'.0XK g.2.Z R BX- BX- aX1 a R.M.a $ TX.X..2 TXDX-XD.].ZX5 $ $ BXJ.GXy.O.2X; YXUX;XN Y.G.Z c.}X1.M.'X;XO.> 'Xl.% DX5X5.| I )X9XxXx.R.&.& A Q QX .7./.&.^Xg.X.b.o.X.o.oXg.oXg.oXgX9.o.o l.# l.U.I.# l.c.c.U.c.U.U.U.c.U.c.U.U.U.c.U.U.c.U.U.U.c.U.U.U.I.#.U.U.c.U.U.U.U.U l.U l.U.U.U.UXgXgXg.b.X.o.b.b.oXk l.X.b N.^XjXj.^.b.X.X.^Xt.kXtXt.k.k.k.r.H ~ ~ 3.8XtXV.8.rX5X9.k.u.k.r.`X*.k.kXtXdXtXtXt.X.b.o.X.b.b.oX9.c.X.oXk.c.c.c.c.U.UXgXk.cXk.o.o N.XXd.tX@.t Q.t.&.| )X9X;XP.nXLXC & JXi.s.d t.a R R R 8XD 8X1.M *Xb.s..XpX5 3.a.KXV.u.rX*.rXt.r.R.X.I ~.^XoXg.k.k.r ~XI.uX5 5 I I.2Xx.5.kXVXtX*XtX*.r.} # # v yXIXo.k.K N NX9 NX9.5.Z.'X+.E.x H.@.j nXUXXXVX*.H.HX5 :X5XU.9 s CX1.M R 'X1 D BXI R B m.ZX.XVXI.a hXHX3 R.M.aXDX. ]XV 3X9.uXJXOXDXa.DX5.O c.Z.0.!Xc =XH VX3 }XK.- K.S Y.3.SXJ.`.K 3 ~.8 ~.H.H.8.a h vXa.= J.j kX<.-X+.j n M yXn.s 2 b.s.)XeXG g x., $ $ <.*.).N 2 J ^ w.;X0 MX2XrXpX>.EX0 MXCX0 =.@Xq.s.p.x M M S.4.@ ^XfX4.s.wXe 3XD UXDX, 1XlXKXc.9 DXJXB `.a t a.a R.} $ h hX,.a 1 R $.- 3.9Xl RXJ.Z.MX,XD x R R R.e t tXD.a R RXD.ZX,XDX,XIXD.DXD.D cXDXDX, #XDXD 3.u.Z :XJ $.%XcXw.9XKXK.9 DXl.9X-.a RX1Xl 3 :X5X1X5Xc RXDXD RXI D R :.u : ) :Xc R.N.).) v $ cX-.8XI.8.H.8.`.~.`.`XI.~.` 3 $ 1.g n._X4.g.p",
-"XK T.9 ' kXJXD.eX- BXw.2 ' :.'.'XlX5 $.ZXl xXl $ $ TXJ.' D TX5 $.ZX1XK.2.0XHXD B.DXK m.2X; T.'.Z.Z T.]X,X,.a.MXD.n.> @X$Xc.2 3 `XJXx ) :.&.& )Xd NX@ ]X@.z NXkX@X X@.(.XXg.X.o.oXg.b.o.o.oX9Xg.bXg.b.U.U l.U. .c.U.U.U.c.U.U.U.U.U.U.c.U.c.U.U.U.c.U.c.U.c l.U.U.U. .U.c.U.U.U.U.U.U.U.U.U.c l l.UXgXg.o.o.b.b.o.X.b.XXkXg.b.^.^XjXtXt.k.^.^.^.^.k.kXt.kXt.rXt.r.8XV ~ ~.HX*XV.HXV.kXo.8.` ~.H ~.HX*.uXt.k.kXt e.X.b.X.o.X.b.bXgXg.X.o.o.bXg.cXkXg.UXg.U.cXkXg.X.o.X NXg.X.XXz.X.b NXo.D.]XU.0 b & &Xf.s p.d.a.aX1X1 RXDXD 8.*Xa %X= ..E xXIX-XV.H.8.8.rXt.k.r.^ lXxXx e.r q.bXt.k NXx.k.H ~.uXo.K )X9 5 5 DX9 ~XV R 3 3 h $.' T.HXI.8.k.rXtX*.r.rXoX5.wXGXpX2X>X>.E.9X#.GX*XI ~XV.uXJ.2XJXO sXa.D $.ZXlX,XJXD $XIX1.Z.5 xXI R aX,X, $.M RX, 8.DX1X*.` 3.5X1.0 8XDXDX1.'.0XK.9XK y nXHXMXX.K R.uX,XMXcXc.-X. xXI c.r 3 ~.8.8 ~ 3 3.a bXa O yXrXp 1Xq 1XpXcXw.g &Xw o..Xp.) 2 u.w.9 $XH R t <.N.W 2.@ H.EX0 &.jX> HX+XG &Xw &.!.q.+X>Xp.jX+ M M = r z SX:X>Xf..Xn x.W $.Z.Z $ : 1XD $X,Xs hXD.a.a.MX, hX,X, $ $XlX, hXK.aX5 T.a.9Xl RXGXDXlXD :.ZXcXl a $.aX1 h.}XDXDXDXDXD $.Z 8X,X, $.Z.wX5X5 $ $.u hXD 3 x 1Xl 1XD.Z.9.9XDXD a t R aX-.a.~X-.uXl YX# R.ZXJ $., DXKXJ.-XJX.XJ.|XHXKXw C 8 2.) o hXVXI.8.8.`.` B F.H FX-XIX9.K.2XXXKXJ.-XcXK [ 1",
-" B R.aXDXI xX1.aXDX, DXcXUXJ gXJXUXJXwXU.2Xc gX. g.> m gXOX. g.2.2XJ.2X. m.2 mXUX.XOX;.O m.' sXlX5Xl $.D.uXD RX, v 'Xy.O DXIX1.HX5 5 :.rXo ).&.f.XXxXx.I.IXxXg.XXk.& Z NXgXg.bXgXg.oXgXg.b.o.bXgXg.oXgXk l.U.I.c l.c.U.U.U.c.c.c.U.U.U.U.U.U.c.U.U.c.U l.c.U.U.U.U. .U.U.U.c.U.cXk.c.U.c.U.U.U.UXgXg.o.b.o.b.o.X.o.b.X.U.b N.^XjXjXt.kXt.kXt.kXt.kXtXt.kXt.r.^X* ~ ~ ~ 3 ~.kXV.8.8 ~.H.8XV.H ~.H.8XI.r.r.u.k.kXd.b.X.b.X.b.b.XXgXg.b.b.b.b.oXgXg.cXk.cXkXk.cXg.X.^X9Xz.X.X _Xg lXx.X.X.uXI gXGXL H & J.s...MXD R.8XIXDX,X,XeX,._ 2Xn.x vXDX,XI ~.8 ~.rXtXtXt.k.kXt.k.^.kXt.z.5.kXtXk N qXt 3Xx.5 F.H.8.u.k ).,Xw.9Xa.w.n sXKXcXD.H ~.rXt.K.k.^XtXjXt.k.5 tXGX>.@Xn.E.j.O K Y q.0 ).u $ T m !.]XP $X,XD.wX1 :XDXI.~XIXIX- RXIX-XD.a.a tXDXD 8XD.DXIXI.u ) h RXe.'XG.0.!.w sXKXmXGXmXwXHXHXMX3XIX1XI.a hXK TX. `.~ 3XI.8.r.8 ~.8.8XI a.9 v v.jX7XM XM x XMXB .pXrXwX+Xn /.).NXsXDXV.e.M u.).) O & o & &.j &X0Xw HX0.>Xm & vXm =.q.EXG.; M M.y.TX:.4X8 S.yXf.m...WXeXqX, XK cX,.ZXD RXD t < RXD $ $XDX,X,.9 k.ZXI.' $ x `X, $.w $XlXlX,XD : xXl $ RXJX,X,.Z $Xl x $.Z $ c.ZXl RX,X, $XcXJ $ RX1.aXD.ZX,.aX1 $XS.2 RXJXUX-.MXDX1 R.a R B.a.eXDXl.%.GXlXl k.9Xc T.Z :XD.u #.`.}.8 : :XhXe.D 2 v.w RX, RX-XIX-XxX5.DX9Xo.|XJXK T I ).8 `.$XK )XV",
-"X,XDXDX- R.a cX-.~.DXJ.'.DX1XD 8 $.D sX. T.9XUXyXH.'.'XU.%.nXl ' ' TXK T T T T g mXJX;XO ! g.2 gXUX. gXKXcXJ T 1.n 'XU !.3 TX3XI 3Xo I.$X9.^Xk.R.z.7X@X@Xx.o.XXgXg.bXgXg.b.bXg.bXgXg.b.o.XXg.bXg.oXg.o.o.U.U.IXk.cXg.c.U.U.U.U.U.U.U.c.U.c.U.c.U.U.cXk.U.c.c.U.U.U. .cXk.U.c.U.U.U.U.U l.U l.UXg.o.b.o.b.o.o.b.b.X.b.o.z NXjXjXt.kXtXt.kXtXtXt.k.kXt.k.r.r ~.X.k ~XV ~ ~.8 c ~ ~ 3.H.`.r.uXt.H.`X9Xx.K.HXtXt.r.^.X.b.b.X.o N.oXkXg.b.X.o N.o.oXgXg.b.b.o.X.o.b.b.X.b.XXzXg l lXx l.oXo.u.Z.2 s.9 H H ^.. v u.M 3XVXIX,X,.W E.W ...Xn.EX,.}.u.8.HXt.rXtX*.kXt.k.r.kXtXjXtXtXVXdXtXj N NX*.HXVXx.u.HX* q.k 3Xl x.' JXG b b '.D.u.H.H.HXt.r.$.5 N N.bXo ~X5 x.9.@ JX>.jXqXc.,XJ Y f ( D f.$ K.G.0 s.w.Z R :X,X5XD 'XD RXIXDX- BXD RX1XDXD.w xXl.w.wX,.]Xc `X5.Z 1.nXGXL 9 HXm.q M y & MXwXH V : c 3 hX,.} `XBXc k VX3.5.a ~.8XVXI.8 3 3.aXc n k.l .}.}.} h 1 1XM.Y.p z.<XpX=XaXsXs C t tXs.).vXm y OXL 0XG o yXr gXm y.9Xm.OXy M M H M.+.T M.y.;.4X>.h MX8X: MXp.E.sX,._XKXc.a nXK U :.M c $ 3Xc.9.MXD $XDX,.ZXDX, R cXlXlX5 cXDXD R $XDX,X1 B.a c x TXc `Xl n T 3X, $ $X,X, $XDX-X,X5XN.]XlX-X1X-.aX-X, RX, t.O KXHXlXw a.a t.a t RX- a RXI.e., YX# Y $Xl $X,XIXl.9 ` :.}.`X-X- aXI s 8.N.=.s s s 1 $.aX1.~.2 D.0 7 :XxXVXI.H ~Xt ~Xx ).5X*X5",
-"Xc DX.XD.aX-XDX,X- 1 DX5X,XDXDX-X1 $ $ TXcX;.G KX;XJ TXc !.2 $ @Xc.D.~ BXDXIX5 c '.,.GX. DX5.n :.n D T.9.3.2.-XUXUXPXU.2XJ.5.]X9.u c.$.|.A )X9XkXkX@.& Z./.X.XXg N.o.X.b.oXg.o.o.o.o.b.o.o.o.b.o.bXg.b.oXg.I.U.U.cXg.c.U.U.c.U.U.c.U.U.U.U.U.UXk.c.c.U.c.UXk.U.c.I.U.# l.c.U.U.c.U.U.U.U l.cXgXg.o.o.o.X.o.X.o.b.o.X N NXj.kXtXj.kXt.kXt.k.k.kXtXtXd.k F ~ ~XoXkXx ~XV ~ ~.K.8XVXo.kX3XxXx ) ).5XV.H.8XV.rXtXj.^.b.b.X.o.b.b.bXk.o.b.b.b.b.b.b.b.b.b.o.b.b.b.^XjXj.k.^.XXg l l lXg.XXo.H.D g.' y &XfXi %X6 vXw.w.WX, x.jX4 . ....Y.jXJ.aXV.rXV.uXt.rXt.kX*X*.r.u.u.kXtX*Xt.k.kXtX*X*X*X*.8 3.D.kXI.^Xo.8.8 3XK.Y v.n OXLXU.DXVXVXt.r.kX5 qXk.zXkXkXg.rXV.HXGXp.sX>.E.j.'.a ).uXx (XV :X5X5.5 s '.' T.w $ 1 TXl 'Xl.w 3X,X- RXD.w sXyXw.] y.!XP 9.' y s x vXq v.j & H.q.q M HX+Xr MXrXw.1Xw.iXc.aX,X,.} # :.,X3., |.SXM.8.} ~.8.8XI h hX3 V ` h.a.M.M.a.} h h x XM .gX2.pX2.sXsXs.D C CXsX=.v H.!XLXL.n v v vXG xXG sXh s.>Xw z.;.+ zX8.xX4X>Xf.J.; M.@XrX0 HX0Xp H._ U.[ $XKXlX, $.9X,XJ TX,Xc :.a 8XD RXDXD.ZX5X, c.ZX,X1XcXHXlX-X,XD R.aXD.Z.Z cX,XS.' aXS xXDX,X,X5.ZX,XD 3Xl $X1 KXc TXDX,.w.D $.Z $X,X-.% 1 K K m.a a R.aX-X- RX-XIX-.e Y :.ZXNXcXDX,.ZX5XI :XMXI aX- a aXI.e RX,XeXs.W.=XLXLXK s a.a #.5.r.8.`.`.`XI.`.`.rX-.k.5X-XV.5",
-"Xc R xX- RX-.K.Z.Z TXKXIXDX1 RXD RXDX,X-X,Xl.%.,.wXDX, :Xc :.u cXDXI RX,XlXl ' mX;.%XK 3.D $XDXlXDXD 8 8.' m hXyXP !XU ! 'X-.5 D.AX5 )X9 q.A Q.zXx.X lX@XkXgXg.b.oXg.o.o.b.b.o.b.o.o.o.o.o.oXgXgXgXg.b.o.o.U.o.cXk.c.c.U.U.c.c.U.U.c.U.c.U.c.U.c.U.c l.c.c.c.U l.I.U.U.c.c.U.UXk.#.U.UXk.cXg.o.b.o.X.b.oXg.o.X.b.b N.oXg.^XdXt.kXt.kXtXtXt.kXt.kXt.kXt.rXdXt ~.kXo.r.uXtX*Xo.r c.&XJXx (.% 5 D.$.H 3 ~.rXt.kXdXj.X.X.b.b.b.X.X.z.b.X.b.o.b.o.b.b.b.b.b.b.^ eXtXjXt.^.X.oXg lXg.o _Xo.kXVXd.,XKXm n HX4.sX:.@.;Xw =X0 W MX2.y ..<Xm.DXIX* 3.kXtXtXt.rX*XtX*X* 5.5 q 3.5.K.kXtXV.KX*X*.u 3.Z s 1XlXI ~.u 3.` : xX, s.E s.n.!.H.uXtXdXd.r.HXd.rXtXtXd.bXt.uXD.Z.9XG.E & x 1 RXV c FXVX*.`.8.5 $.2 !XPXUXl g.'.].0.' ' ' ' $ 8X,.n gXOXU !.G.OXhX;X0 @Xy.j yXm y HXC.E.E.E ^.;XnXnXn.j.j & [XH., `XM.} 3 $ $.} 1.,.[ V.,X.X3XVX-XV 3X*., |.[ VX3 ` X,XD.a.9 tXK hX,X-.,XBX<.p.[.j.@.s.N.= 8 / G 2 0.q vXs.N 8.M.w s ' nX. sXwXw TXp H z r.xX8.{Xf . . v pX+ y =.; = z.<XpX+X>.j.WXq.- `X,X5 RXDXl.Z.ZXD 8 R R R $XD $XDX,X,XDXIX..2.-XJX-XD c.ZXlX-XIXDXD.M.GXHXwXNXlXDX1X,X,X,.u $ $XDXD.Z Y.' s.DXl $.Z $ $ $Xl RXH.ZX,XH [ aXD aX- R R RXD.~.3.].,XcXl $X5 RX,XD cXcXc.aX-XI a.a.`.e.aX-.* U.nXe.= /.=.E b h.a.a 3.K.KX*.u.K.e R.`.`.~.]X3XXXl.%",
-".~.u.~ RXI cXc 3X5 m.9.Z.Z.aXI RXI.~X,XI BXc., $ RX-X-XcXK.,X5Xc :Xl $ D T DX; DXc.w $.DXc 'X,.D.ZXD 8.w.9 R.0 1 !.>.2.ZXxX1XIXd D.A N.k N.z.$X .b.z.RXkXg.bXgXg.o.o.oXg.o.o.o.oXgXgXgXg.oXg.c.cXgXg.o.o.b.z.bXg.U.U.U.U.UXk.U.U.U.c.U.c.U.U.c.U l.cXkXgXgXgXg l./.U.U.U.U.U.U.U.U.U.cXgXg.o.o.b.o.o.o.b.b NXz.k.^.^.X.X N.kXdXtXtXt.kXtXt.kXtXt.kXt ) qXkXx.rXtXtXtXt.kX*.5X*.K.5.5XXX9.5 ` )X9XV ~.r 3XtXtXjXj.b.o.X.b.b.b.b.z.b.oXgXg.oXgXg.b.b.b.X N.^ e.rXjXt.^XzXz.XXg.c.o.b.^.^X1.5.0.0XJ v.ZXp.@Xf.sXf 0XG v J.@.@.; vXrX, 3X*XV.k.kX*.u.kX*X*.K 3.u }XJ 5 | 5 V.A }.,.A :X* c $.9 1XwXhXD ` 3.H.H c.kXIXIXlX.XcXl.DX*X*.rXtXt.kXdXd.kXtXt.b.k.k.uXD TXK y.Y.wXD.H.H.u.uX9 q.KXV :.% ! Y @X;XyXy.O @Xy.2XU.0.0 '.n '.wXPXy ] !X;Xw ! =.>.>.q.qXCXC w.E.v.s..Xi w ^.@.F._X<X+ =XG.1X<X7 [ ` $ xXD.} $ `XB.[ V | | [.,XJXJX3 `X3XM kX#X# 1XwXJXw., n.9 nXU nX3X#X7.FX7 yXe.=.= O.=.v 0X>.j.nXD B C.* t.9.Z.W.2 RXa.*.w g.j M z w %Xf.J %.. %.s vXn.;XG MX+ M.x y ^.E 2Xe.n.jXl # c.K c c $ B RXD.MXD.ZXD.aXDX- B x.u.3X,XlX,.YX, :XI a.aXD $X1.M Y.,Xl K.9.}.ZX- RX, : x TXl $ a.G DXlX,X,XlXD.Z.Z.ZX,XlX. ` $ R $XD.a h 3.a aX- kXcXl.a R.ZXDX,XDXlXl s m : c a.a 3 aX- a.eX- RX- a t.wXs.W 0.WXn s hX- #.KX9X*.k.K.8XIX-.} R.5 h.]XHXH",
-"X1 T ` : $.aXIXKXc D.DX, $ cX, RX1XDX,X1 1X.XK.' :.w :XK TXJ T D.2.% m.]XJ.] TXKXJ.0 :.n.Z.DXI.w.Z R BXKXOXK.9 ' gXUXJ m.5.8.8X*.kXx.A q.f.X N AXk.&.tXg.IXk.o.XXg.o.cXk.cXg.oXg.cXk.U.UXk.U.cXkXg.o.o.oXg.U.oXg.U.U.cXg.c.U.c.U.U.U.U.U.c.U.U.U.U.cXg.b.o.X.oXg. .U.U lXk lXk.c.cXgXg.o.o.o.b.b.o.X.o.o.X.o.b N.^Xj.X.k.^XtXtXtXt.kXt.kXt.kXtX*Xt ~.k.r.r.kXtXt.r.kXt.k.k N.u.K 5.| )XJ.% 5.$XJX*XVXV.rXt.k.b.X.b.b _.X.b.b.b.UXg.c l.cXk lXg.o N.o.b.^Xt.k.kXdXtXj.^Xz.b.o.b.^Xd.rXd.u.HXIX1.HXIXD 8.jX4.s.. vX>XwXr.j &.j.j 1X1 3.rX*X*.kXt.r 3Xt 3 # IXJ.%.3XHX#X3 }X#X. }XH k VXw.[XGXL M.hXwXH :XIXo.uXo.r 3 : )Xl.].5.u.rXt.kXtXtXtXtXdXtXt N.k.5XoXVX5.Z TXK :X1XV.HXx.r.5.r.u.u (XJ.2.%.2 YXyXO @ !.D.Z.'XPXO.n.0.!.] m.0.n T T.WXw.q o b 0 o.v 0 O.v 2.s ..4.@Xn._X+XB.S.T [Xh.1.h.h.h VXB x #.MX,X, $XK.- xXc IX.X3 T : :XXX3 [.OXJ gX.XJXJ., :.9XK.nXcX, h .F.-Xr vXs 2 2 b J w H ' $ 8 t R.wXDXKX.XD UXDX,.M.w.9 H 9 M.;Xf ^ {X:.<X4 p.@Xp.Y &.+XqX+X> z.@X> O OXe.Y.[ $X5XM.5Xl.M RX,.ZXDXD.aXDXD.a tX5.9 :XNXD R.aXDXI.MX,.a BX- h R.e.%Xw.Z KX..ZXDX,X,XDX, xX,XIXcX5Xc 1XD : 8 $ : $XIXD $.aX,XD.Z.}.a.aX-X-X-X, cXcXJ $XIXD.aX,X,.aXD 1X.., :X-X1.a a tXDX-.`.a.eX-X-X- < R.i xXG.= O._Xq.a h.8.8 3.8X-.`X-.`.~ R RXIXDXK $",
-" $ D ` T ).2X1.%XHXH TXcXcX5.- RX-.DX1.ZXO.2 g gXcXO m gXU.2XJXUXU.2 m DXU g DXy gXwXO mXc.'.D $XD.M 8 8.'.OXU T mXP D.KX*.8.uXd.k.k.I P./XgXg.XXg.I d.I dXk.b.c.c.c.U.#.U.cXg.o.c.c.U.U.U.U.U.c.o.b.X.o.UXgXg.oXk.UXg.o.c.c.c.U.U.c.U.c.U.c.c.U.U l.o.o.o.o.oXg.I lXk.c lXg.o.o.X.o.b.o.X.o.X.o.b.o.o.b.o.oXg.X.b.k.XXj.k.r.k.kXt.kXtXt.kXdXtXt.r.X.r.HXt.kXdXt.kXtXt.k.k.5.u )X9XMXX :.K :X9.5.KXt.r.rXj.^ N.o.X.o.X _.b.X.o.zXg l lXg l lXg.b.X.o NXjXtXjXt.r.^XdXdXj.^XjXjXj l (.z.5X9X5 cX5XV : $ XwXnXpXw.9.}X,X,XDX,.H 3.8X*Xt.rX*.kX* #XXX3 V }XZ.S : : `XHXJ.,.-XcXH `XX.[Xw.jX>X=.. z.YXHXM D.2.2 ).| FXIX*XI.~ DXXXtX*XjXtXtXdXtXdXtXt N.k.K NX5.r.HXMXI TXI.H.`.H.H ~.k cXV.8XIXI.H 3 cXy g 4 (XD.k cX5 gXPXPXP ! :X1.DXI 8.9 ! & 0 O.= O 2.W 2 /.v.vX>XfXnXb p E 1 x $ 1.j y.pX%X<X<.[.9X3 hX,X, $ U h.-.[X3Xh 6Xw.,Xl.9.' x $X,X,XDXIX-XDXI.~.a a 8 RXDX, # `.FXwX+XG 0 2 O &XC s s s BX-.ZXDXJX,.9XD.a.wX,X,.Z sXmXGX0X0 ^.P LXf.C.CX2X4.... MX2.j.h &Xp.@.E O.s vXp.w h : xX1 RXIX, hX, RX,.MXI R.MXI.a.}.ZXHXSXHXc 3.MXD :.a R.M R RX,XUXJ x.9 : xXlX, $X,XD cX,X,.ZXlXl R.a.Z $.a R.Z xX1XD $ $X,XD $XDX,.Z x $ T x.G xX,.M.a R.aX,X, :XJXlXDX- R.a a t.a RXD.eX-.`X- RX-X- a.K c hXe.W O v h RXI.`.`.`.`X1.8.`.`.` F.~ F.u m",
-"XV 3.Z c $.ZXD.9Xy DXKXKXK `X.X1 RX,.Z gXc.nX1Xs.Z.'.2.0 D.nXlX5XU ' '.0.'XKXU.0 x.D.Z ' T.2XK., xX1.M.w.nXU g mXyXVX5X* ~XtXtXt.k N NXk.X.o.XXgXg.o.zXg. .#.U.c.U.U.U.U.U.c.cXg.U.U.c.U.c.U.cXkXgXg.o.o.I.bXg.b.c.UXg.oXg.c.U.U.c.U.c.U.c.U l.U lXg.o.b.o.o.oXg.z l lXgXg.o.o.o.o.o.o.b.o.o.o.o.o.b.X.b.b.b N.XXg N.X.kXtXdX*Xt.kXt.k.kXtXtXtXt ~Xo.X.rXtXtXt.kXtXt.kX*.kXoX*X3.$ ` )X3XXXM ` :XX.XX*.k.k N.b.b.b _.b.b.XXgXg.IXg.c.c.c l lXg.X.b.^Xj.kXtXtXt.k _Xo.^Xd e e.^.XX@.R.7 I f ( I.$Xo D `.,.TXw.jXD.} 3 3XDXV.H.r.8XVXtX*.rX* c.5XJ V k V.[X#XJ T.-XKXK.9XcX.XH., VXB [ =X>Xi.s .X+X+ U.M.ZX5.HXdX5X*XV 3 DXl ).r.kXt.^XtXtXtXdXtXt.k.K.kX*.k.^.k.k.rXI.XXV.H.H.H.8 ~.8X*.`.u.HXoXJX*.u.D ) 'X5.uXV.u.uX5XPXP.]X5XIXI.HXIXD s &.E O.=Xn.WXL.s.NXs.s 2 ^.@Xn._._ < 3.} <.ZXlX+ WX%X7.SX<.,Xc.ZXD RX,XDX, $ $ 1Xc.3Xl k.' x h $.MXD.M 3.Z.uXIXIX- B.a B RXD.a $ ` .[Xw.j.q oXC &Xm s.nXDXD T., xXlXDXD a.Z x.Z R U T '.!XC M.;.C.P.4X8.CX>.<.@X0.;X0.>.OX0.OX0.E.E ^ 0XpXc v xXD #.Z $XDX, R.MX,XD t.a.a x.M cXe.a x $ < 1Xl.} t 3XDX-XIX,X,X,XD $ s.M.M $ TX, hX,X,.Z.e c $ :Xl $XDXlX5XD.a.a h.uXDX, hXlX,XD.M 3 x 1XcXD $.ZX,XDXD RXD.,Xc m 1.MX1 RXI RX1 a R aXIXDXD.~XD.~XI RX1 #.KX-.'XGXGXLXGXDX-XI.`.~.8.8X-.` F.8.~ F.`XI.5",
-".u.D.u.HX-X1 R.' g.9 8XlX1X, h.}X1.u D.2 $X1XDX-X1.,.' RXI $XV : DX,X5.Z.D '.]XlX1X1 $XDXD T.' m VXDXD s.w T @.O 4 D.uXV.rXtXoXd.^.XXg.oXgXg.b.o.oXg.QXgXg.c.#.U.U.U.U.U.U.U.U.U.U.U.U.U.U.U.U.U.cXgXg.o.z.o.o.oXgXk.UXg.oXg.c l.U.U.U.c.U.U.U l.cXk.b.o.X.o.XXkXgXgXg.o.b.b.o.X.o.X.o.XXg.X.o.b.o.o.o.X.o.X.b.X N.^.XXtXt.k.rXdXtXtXtXtXt.kXt.rXt.r q.^.k.k.k.kXtXd.kXtXo.K.uX9.K :X3XX ` V I V q ) N N N.o.X.b.b _.b _.oXg l.I l l.U.c l.c.o.b.^Xj eXt.kXt.k NXo.b.bXo NXz.X.X.z.z (XkXx.5.KX9XlXl 1Xp n UXD 3.8 3.H.Z.HX1.r ~ ~X* #.8 V.,XJ VXBXBX3 .9 Xl.YXJ [XhXHXwXMXB.[.[ MX>XiXbXA.xXr 1XUXK T.0X9Xx : |.5.G.2X9.r.kX9.z NXt e.kXtXt.u.k.5X*X*Xj e eXt.r ~Xd.H F ~ ~ ~ ~.`.u.u.H.8.k.uX*.u ( Q.2 ) ) ) ( (X9.5X1.H.HXI 3XVXI 1XGXG ^XpX>.9XeXw $.9 &.v.BX>X4 pX,.M.}XI.a.Z.j.+XpX% rXZXHXH K 1.DXD RX,XDXq.w x x.} 3 Y.SXlXH.a.M.M.u.uXI.HX, BXIX-.`XI RX- R $Xc s.,Xw.EXG.qXm b.n.'.ZXIXDXc.'X5.eX, RXl $.Z.aXwXw.YXm.!X0.; wX6 L.{ ;X: M S = M = H &.O.>.OX0Xh zX> vXpXC._.Z $ $ #X,X,X,.M.} R <.M.a U.}.a < R.} <XDXM 1 h.ZX,.a.M 3.wX,XDXlXlXl.ZXDXD.MX5.9XlX,.M $ h a.M $.Y.Z x `XD 3 $ c.aX,X,X-XIXDXD xX, $.GXK k.aX,.M R c R.9.9X.XKXKX,.M RX-XDXKXc.Z.Z 'Xl.,Xl m., :.3 #XI ~.~X1X,XUXeXLXL s.* B.u.uX-.`X1.`.~.`.`.`.~.H.`",
-"XJ D DXK T T $ D T.% sX; x.OXD.uXDXJXJ c.DX-X1 B $ m.K RX-.~.Z 3.].DXDXD.Z.D.]XK.D.D.2XV.9 c.a :.9Xl s.w.9XU.9 DX; ).u.r.KXtXt.^.X.o.X.o.o.bXg.bXg.#.#.c.U.U.c.U.U.U.U.U.U.U.UXkXg.cXgXgXg.o.oXgXg.b.oXg.U.o.bXgXg.c.UXg.bXg.U.U.c.c.c.U.U.U.U.U.U.UXg.o.o.o.o.UXg.bXg.o.XXg l.z.o.o.b.o.o.o.X.o.o.b.b.o.b.^XjXj.^XtXoXt.r.kXtXt.k.kXj.kXjXt.kXt.kXt.kXt.u.r.k.rXd.kXtXt NX*Xt cX* cX* cX*X*XXX*X9.K.X N.X.b.b.b.b.b.oXg l.UXk.I.c lXg lXg.oXz.^ eXtXjXtXtXt.K.X.b.X.b.b.b.b.X.b.XXoXo.k.r.kXV.8XVXl 1.} M 1XGXD 3 3.8.HXI.H.8 ~ 3 3 )X3 DX3 `XM `XXXB h x.Z x 1XHXwXKXl UX, h MX>Xi.P ^.{.j H.9XK.5 ) D.K : :Xl D.u TXx q N ).kXt.kXk.^.kX*X* N.rXjXtXjXjXtXt.H.r.uXd.H.`.8.` 3.H.`XV.H ~.u.rXt ).R.f 5.$ IXJ IXJ I c #Xl qXIXIX, v.Y OXp = t n t.3 xXG.T H ^.{XnXe._ t.a c.~ R aXG.jX2.g.TX#XHX.XK.HX,X1XD R x.w.}X,Xl.a `X# }XH :Xl c 3 3X-.8 $XV RX, 3 3XI RXc.]Xw D =Xh.+ 9 v.n.n.n 8 RX- D $ : s xXDXc.wX,XDXw nXh g gXm.;.;.@ L.4X8 S.y S H HXm.>.>X;XOXwXwX+ =X0 =.; ^Xp.s.w U h.i x.9.W t.d U t.i x U h U.MXq._ x.i.9 k $.aX,XD.aXD R.a.Z x.wX,XD $ x.w 1XK.uX, x.ZXI tX5 $X5.Z 3XDX- R xX5 RXD R.MX, R x tXlXU.a $X,X, nXwX..-XJ h $.ZX, RX- RXVXcXK DXc k.9 : :XK.5XMX, R.~ B.`.~X1 U.> = bXm gXl : : D.].$X5 RX1.`.~.8X-.`",
-" T :Xc.0 T D gXUXKXD $X,.w $ sXD D.2Xl RX,X1.a aXcXK.Z.~X-X1X-.u D RXDXDXIXIXl.].ZX,XUXK T $.n.'.w.'.n.9 g.wX1.a 3 ).,.f.X.k.k.b.X.bXg.o.oXgXg.c.U. .c.U.U.U.U.c.U.U.U.c.UXkXg.o.oXg.oXg.oXg.oXg.oXg.bXgXgXg.X.bXg.c.U.cXgXg.U.U.c.U.c.c.c.zXg lX@.QXg.b.X.o.X.z.bXx.z.^.X _X@.o.o.X.o.X.o.b.X.b.X.o.b.o.XXjXz.kXt.z.z 5 (Xt.K.rXtXjXtXtXt.5 q IXt.kX*.k.k.kXtXtXt.r.kXtXx.u.kX*.kXt.r ).^.kX*.o NXg.o.X.b.b.b.o.b.o.b l lXx.U.I.z l.UXg.b.X.^XdXdXtXtXdXt.k N N.b.b.X.b.X.b.b.b _XoXzXdXd.k.r 3.8.K 1Xe yXn.@._.M.}XDXI cXIXI 3.8XXX3XM :XX : x x h h h $ x : :.SXc 1 R.WXDXe hXBX+ W.<Xi ^ .X> JXG x tX1X-.8.H FXV.`.HXI ) (.2 )X9.KXtXxXkXkX*XtXo ).k.kXtXj.rXjXtXV.8 ) D D.9.9 T $.kXDXo ~.8XV.r.kX9 ).X.]Xx ) :XX ` [XZXZ.SX5.HX1 3XDXG v O v.M hXD UX,X, v J.PX> ..m U <.aXI.} RX- E.iX4 WX% k.Y `.Z.Z.DXD.D.M.DX,.MX, : c 3 `.] D V.3XK | $ ` R R 3 R.u.a.ZXD c VX3X#.1XH.G.OXm.O.'.w R.~X5XD.9Xl xXZ.wXH.-X.Xw gXc 'Xw sXC gX0.4.C.JXn.xXn.y zX0 o.9 yXm mXP ' gXP g.T.+ HX>X8 v.dXeX,.w.iXrX+XqXq.<XAXr.<X4XqXq.mXp Xp 1Xq x.YXl h RX,X-XD RXD.a 8X, x $Xe $.wXl $X5 'X5 T : TXl g.-XU D.wXD.Z R R.a RX,XDXIXDXD.Z.Z R.a.a R.aX-XK.ZXJ $X, $ $ #.M c h R.aX,XD RXD 3XD R.aXIX- cX- RX-X-.`.~., TX.XZXm.O [.>XJ ` :X9XJ.5.`.8.`.8X-.8.`",
-"X1 BXIXD RX,Xl D.2X, BX1.eX-.e.Z m $X1X, R.* R.ZXJ :X- R RX1 3.DXJ $XJX,X1.e.Z.] :XDXDX; T.'Xc.9 gXPXU m x.uXD.aXI ) 5 5 q.^Xk.X.o.o.o.o.o l l.U.#.I.c.U.c.U.c.U.cXk.UXk.cXg.o.o.o.o.XXg.o.b.oXg.b.o.o.oXg.oXg.o.oXg.cXk.cXg.U.c.c.U.U l l.U.z.#X&.X.b.o.X.o.bXk.o.&.(X .t Q l.XXg.b.oXg.X.z.& A l.b.o.b.o.b.XXjXt.5Xo.H P q.r.k.k.k.r.kX*Xx.k Q.|Xt.kXo.u.k.u.k.k.k.kXtXoXx.k.r.r.k.X.z.^.XXg NXg.^ N.o.b.bXg.b.b.b lXgXg.o.z A.I lXg.b.X.b.^XjXjXt.kXtXtXt.kXd.b.bXzXg.b.b _.X.b _ _XdXtXtXt ~ 3XVXD.NXn.).v.EXp s 1.'.0.'Xl x V V :XMXl 1.ZXD.} hXD.M.}X. sX. h.M R 8.Z $ $XlX7X7 WX+Xi.@Xf.E..XG v.aXIX-.H.`.H FXV.8 ~.8.uXo.$ I.$X9.K.KX9XtXt.z q.rXtXt NXtXt.k.rXVX1 $ $XK DXKXKX3XV.8.8.rXjXt.k.R ( 5.| D 7X3 IX#X#.SXhXc T 3XV 3 3XG b.s.s.N C R R R C._Xb ^.@.. E x < <X-.u a R UXe.F.pX7.9 V xXI 3X,XD.M.D U.ZXD x 3X5 cX1XVX1XD.a : m DXH :XD.uX-.uXD R R.a cXXX3.-XwXU.9.9.w.ZXDXI : D.| $X, xX.XwX.XwXK T DXK o.n.q.O & S.4X6.@XnXrX2.LXh zXm s 9.' T :.0.D g T.!Xh zXfX2 S.YXn x U U .XqXAXA.d.m.m.d E.m E U.d u E u.M a.M tXD R.aX1.aX,.M.a h h $.wXl sXl $X5X,XDXcXJXwXUXJ T.9XK x 1X,.a.ZX,.aXI.Z.a.Z R.ZXD UXlXD R R R RXKXlX,XD RX,.e.ZX- R 3Xl RX-.aXI.a.aX-XIX-.a R $X, a R.eX- 3X3X5.w gX0 M oXpXH h RX1X5.8X-.`.`X-XI.~XI",
-" R.eXDX1 R BX,XJXK.0Xl.w.9 'Xl.0X..] 'XlXK.ZXl xXJ.w RXI BX1X1.ZXJ.Z.2Xl.]Xl sXc g $X,.' TXwXJ !.GXOXU mXK DX3.].8X*.k.k.X.^.X.bXgXgXg.cXg.U l.c.I.#Xk.U.U.U.U.c.U.c.U.UXg.o.b.o.X.oXg.b.o.o.o.o.oXg.X.b.b.oXg.b.o.o.c.U.c.c.U.c.U.cXk.U.U.zXg.: Z.bXgXg.b.oXg.z.^ f.X.(X XzXzXg.b.oXg N.oXg j.IXg N.o.^.b N.b.k.k.XXtXo ) 7.k.kXtXt.kXt.I q.r.k j q.k.R PXx.kXV.r.k.kXt.5 ,.& f.AX@ ).X.o N.b N.o.X.t.(./.o.o.b.oXgXgXk.o.RX@X . Xg.b.b.b.b.kXtXtXtXtXj.k.rXt.k.XXzXg.X.^.b.X.^.bXz.XXz.kXt.uX*.8.DX1.n 0 /.W.. vXL J bXL b.9X+X3 .lXM.} cXD.}.Z h <XcXHXl x R tXD.a.Z $.wXlXB.-Xr W.j.CX6 .X> v.Y xX,X-.8.`.`X1.H.`.8 3 3 ~.8XVXo q.& q.r.r.k.kXk.zXt.k.^.z.kXdXdXxXo.k 3.8.} 3 h 3.`.8.rX*.rX*XtXtXx NXxXo.k.5Xo : 5 m DXcXD.8.8.8 3XI.jXw v.).WXs R C.a * vX=X4X>.jX4Xq <X, #XIXI.a U EXqX%X7 .Y 3 $X,XI.ZXDXDXD.ZXD 3XI cXV 3X5 R.~X5.u $Xl :XI 3 BXI 3.H RX1.aX- hXX [ nXw s.w.n.a RXIXIXJ ' c $.w UXD h RX1 $.Z.D.ZXG.j.> H.4XfX4 vX+.j.;X0.+.+.jXm.9Xa $X, sXl.DXU gX0 M.; H.@XnXG x s E E u <.m E <Xq._Xe u < UX,.}.M t t < t.aXD $ h $ $ $ $ x $.W xXl : :XK : $XD.DXD.Z x h h 1X,.a $.Z.a.ZX,X5.M hX1X,.aX, hXDX, 1.eXDXDX, a.a R aXD t 3X,.a R a $X5.Z.eX- RX-.aX-.aX- a x ) 1X-X1 a.8 c.eXD v.! b b v.9 `X1.HXVXVXI.`X-X1X-.`XI",
-".3.eX5 $.~XI $.,.2XK.2XJ DXc D ! mXJXUXc gXc ! D TXKXl.0XIX..e.5Xw a RXcXwXP 1 m.OX. mXKXHX. mX.XPX5 $X5Xl :.5 qXVXVXd.k.^.X.bXg.b.bXkXg.z.U.UXg./.U.U.U l.U.U.U.U.UXkXg.X.o.X.oXg.bXg.o.o.oXg.o.XXg.o.o.o.b.o.o.o.oXg l.U.U.c.U.U.U.c.U.U.cX d jXk.U.U.b.b.UXgXgXx.b.7.RXgXg.XXg.bXg.bXk.o.:.X.bXgXg N.^XjXtXdXtXo.k.k 5.7.K.rXtXjXt.k.K q.KXo.fX$.kX9X9.r.k.kXt.k.r.K.z q.k.:XoXt.^ N NXz.X.o NXg./.7XgXx.U.U l lXkXg.(X&.I.7.z.o.b.X.X N.^XtXtX*.rXtXtXtXt.^XzXz.XXz.XXz.b.b.b.b.XXo.k.k c cXVXD 8.' 2.W.s.)XG v 0 O 0 0 2.@.[ XM c a 3X, cXc hXK s $.a R.M.a h $X,X5 $XMXc.-X%X% MX>X4 HX>.j.Y 1 3.u.8.`.`.`.HXV ~.8.8 3XI.H.H.rXo.^.kXjXt.kXt.X.r.^ N.zXj.r.^.zXx.K.K.uX* 3.r #.rX*X*.rXtXtXj.k.rXdXoXdXdXdXdXo P.0 ) : : )X9 )XJ 3XJXr.j 0.=Xs.* <.W.N.. v.E.@XqXe x $X-.uX1 c B U._XqX2X+ XB hX5XD 3.ZX,XD UXlX, 3 R RX1 3X1.u.ZX, aX-X5 R R cX1.e RX- BX, 3XI.i `Xc., nXU v.w 8X1 T $XVX, x.ZX,.a.Z R.Z.D c.Z.w.Z s.'.+X0X>.x.+.1 =Xc.< 0X2.;.; 9XG.9.nXDX,.2.Z.w y & =X0 &X> v v.W hXn.[X7Xq._.F >.pXBX+.a.MXDX1 R R t.a.MX1 t.M c.MX, $ $.Z.MX, h $ $Xl : x.9 :XlXDXD.Z.w : 1.MXM x RX,XlXD.a $.Z.ZX1XDXD h.M.Z h.* $.ZX, $.Z $X,X,.} R.aXDX, cXI.} T kXJ 1X-XIX-X-X-.~XIX- : D T.,Xl D.a.K $ RXaXLXC.q o.9 !XD Y $ ]XX 3 D.5.| T I",
-" 3X-.~ 3XD R T D $ :XDX5XI.Z $XJXl BX,XDXDX,XlXw sXl T.9XJ.] :Xl.,X,X, UXD.D.Z $Xw.9.0XcXJ gXw.]X1X1.`.`X-.8.8.8 ~XtXtXoXg N.o.oXgXg.UXg.U l l.U. Xk.c.UXk.U.UXk.cXgXg.b.o.XXg.X.o.o.X.oXg.X.oXg.o.o.b l.o.o.o.o.o.b.V l.U l.U.U.c.UXg.U.U.IX&Xu.:.#Xg.z.zXg.U.oXg.X.o.:Xg.o.b.oXz.cXz.o.b.z j.bXg.zXz N.b NXt.k.r.X.uX@ ) j.X.KXtX*Xt.k.k.k )XxX9.$ 7 ) N.k.rXt.r.u.k.k.5.k.5.:.k.k N.o NXg.o N l.X.(X&Xg.UXgXg.cXg.U.6 jXx.z A.o _ N.o.b N N.^ N N.^.^.K.^.^.X NXkXzXoXg N.X N.b NX Xk.5 ).u $.5XIXa v.=.WXeXs =XG.jXCXpX=Xb.@.[ x hXM : xXc x T t R 8 RXIX,X,.ZXDXl x ` `Xw [X+ M SX0.;.T nXKXwX3XcXl.`X1.`.`.H.8.8 ~.8 ~ ~XV.k.u.rXtXtXtXt e.X.r.kXt.kXtXd N N.X.rXdXVXtXVXt q.5Xt.k.k.^X*.k NXj.kXoXtXt.rXo.r P.|Xy ( I : PX3 q kXS MX> 0.v.N.NXD.s / ^X>XnXe p h.M.}XI cX5XIX, h._._X<.gXB XM .}X,XM U RXl 1X,X, RXIXI 3X, 3X- RX1 R.}XD 3XD R RX1.a R :XlX,.aXM.-.YXw y 1.nXD.D ` DXDX5 RX1XDXDX1X,.u.HX,.Z TX1.> o.+.h.y.y [.[X, 8.WXn.C S M.; & 9XG.'XU.w ' $.'.0 9 MX0 &Xm.9.9.Z.iXqXp UXe.iXeXq x UXDX1 RX- $X- R R.M.} R.eX,X5Xl t R h.M $ U x #.iXMXM 1X, $ ` x hXD $.n TXD x 1 U 1.Z.aXD x c.MX, t $ tX, x.Z xXK.a.MX,.aX,.ZX,XDX,X, h $.M.a.9.G.,XK : `X1 RX-X-X-X-XIXIXlX3 )XJXcXcXUXwX, UXK.EXG 2 ! g T.% mXJ D YX3X3.]XH",
-".~X1.e.e.a c D `.`XcX1X..DX1.u m $ hX5X- 8.a.'XUX, R.e aX5 # c :.- $XJ.Z :.Y g.w gXc TXw.0.%XlXI.8.8XI.8.r.8.u.8Xt.kXt N.oXg.o.oXg.c l.#.U.z l.z.I.U.U.UXk.U.z.UXg.X.o.XXg.o.b.b.oX9.o.bXg.o.oXg.b.o.o.U.o.b.o.o.o _Xg.c.U.c.c.c.c.I.U.cXkX&.U.I j.t.I l.U.U.I.UXgXg./ jXg.bXg.oXg.o.b.b.b.(X .b./.f.oX9Xg NXt.kXdXoXxX9.k f./ ~.^Xt.k.r.r.k.kX9 N.r f ,XtXt.KXt.kXtXV.kXo.kX9.7 ~ N N.X.b.b.^XgXkXg.7./.cXg l.UXgXk.o X.(Xg. .X.b.X.b N.^.^ N N.K.k.kXt.kXj.^.^.oXjXg.b N.X N.o.XX9.& 5 PX..3XwXc x ! vXs.NXe.[XG U n nXq.) 0XiXrX+ $ # 3XD 3.Z CX,XDX,XD h hX,XDXD # cXX k y.xXp.<X2 H.;._ x x.w.uX5.`.`.HX-.8XV.8XV.8.5X5.8.HXt.K.kXt.k.k.r.X.kXt.rXtXdXtXt.rXdXd.r.k.r.kXo )Xt.r N.^XtX*Xk.zXtXtXx.^Xo.X.XXx.X.5.X.0.X.5 (XxX5X; KXh.+.@ M . v.s .Xn.;.xXGXq 1 1.}.a.u 3XI.~X-.YXH [.T.T.S [.S.S., 1XH `XcXH ` x R.aX1 RX,.uXDX-XI.a R R RXDXD.e.a RX- RX, 3 cXDX,.,Xc [ g s.Z y.wXDX,X,X1XDXD R.Z.ZX1.D.ZXD $ gXw.1.+.h.TXfXp x.9X1X,.W vXn ..+ MX0XC bXL.nXKXl $ gXwX0.> K.j o.Y x.W.M U.w U E xXe.M.ZXD R RX1X5X- RXDX,XDXI.MX5 1XlXIX,X, $X, $.Z xX,.}X, $ 1 : x cXl 'XDXI.Z 1XlXD $XKXK.YXK t.Z 1XDXI.M.D h $ $Xl $ $.' R.MX,X,.MX,X,.ZX, $ $Xl $.Z x hXJ.2X. : :X1X- R.`X- RX-X1 RXD Y.'XJ.-Xc 1._.j b s 2XK ` $ c.H 3 3XIXIXI.0",
-" R.e.u.Z.~X1 D `.DX-X-X- B c.2 :X- $.ZX, aXlX..wX-.ZXD RX. kX.X#.] a.*.a.M 8X, x s.2 gXI $XDXD.`XI ~.8 ~ 3 F.r.k.rXd.bXg.bXg.b.U l.z iX XuXuXuX i./.f i./.I././.I.U q.U./.^Xj.^.o.b.X.o.bXg.o.o.o.o.o.U.oXgXg.cXgXg.c.U.c.U.U.U.cXg.U d. .U l l l l.U.c.c.z.I.U.U.U.c.o.X.bXgXz.b NXgXg NXz N.b N.o.kXjXjXj.kXd.^.kXtXd.k.r.rXkXtXt.kXtXtXtXt.kX*.k.kXt.kXjXtXtX*.kXt.5.kX9XxXxXx N.b.X.b.X.o.b.o.I./. XkXg.#Xg.UXg.cXkXu.t./Xk.bXzXd.^Xj.k.^.kXtXtXtXtXj.^ N.^X XzX ].t ]X@ ,.f.f IXJXJXl nXwXU v H.W.).M <.MXD.M v.M.).W..X4 W.p x x.} 3X- aXIXD.M.M.M.M.}.aXI R R.a.a.a # XcXpXp.s v.s pXi.@.E.Y.M RX1XIX1XI.u )XV.5.2.R :.^XVXt.rXt.r.r.kXd.rXoXdXVXd.k.r.kXtXt.kXt.rXdXt.rXd.kXtXd.k.rXtXt.kXtX*Xj.K N.f I q 5.RX9 ).5X5.5XxX5XdX.Xw H ^X=.@ 2 ^X> H.4Xi >Xe.d U U.a aX-.`.~XI.Z.aXq U x .[ [.T.- [X3 .} h.}X, $ 3XDX1 c c.2 $ `., `.9.,X5Xc ` ` B.aX1Xl : $.aXD.a `XKXcX. yXU.'.D.D.MX-.a.a RX5 3XIXD.HXD.D.wXlXa '.EX0.;.@ E n.- ]Xc.>Xq.xX4.<.. 0 o.q & &.nXw T gXUXm & J OXGXL.w $ x 8.DXeXwXw C U.M RX,XIXDXDXI.Z 3 $.ZXKXDX5XDXJ T., g mX..- nX..,X.XJ $XD.a.}XI c c h.,XJXJX;X.Xc U h T xXD $ U $.MX,X, 1 s $ x.w T $X- $ BXD RX, R.- 1XK 1Xc `XK :X, R R 3X,XI.5XH c RX-X-X-X-X-.uXVX-X- R t UXKXwXhXw <.a.a c 3X-.~X1X1X-.` 3",
-"X- B 5 $ R R D.0 3XDX-X1XD.2 T 3 B $ :Xc.2XH.GXl., TXlXc.aXIXJXH kXc `.wXD R.w.w TXU.ZXD.uX1.8 3 ~ 3.8 ~ ~.rXt.k.k.k.^ NXg.o.c.U l.#XuX X&.fXuX X X X&X .t./X .t.(.t.t.&.tXj ~.r.XXg.b.XXg.o.o.o.o.oXg.z.o.c l.U.U.U.c.U.c.c.U.#. .6 i.I.c l.U l.#Xg.U.U l.#.U.U.UXkXg.oXg.o.bXg.oXg.o NXg.o.X.o.o N.bXjXt.k.kXt NX5.k.kXj.k.IXk N.rXt.k.kXtXt.k.^.r.k.k.kXt.kXtXt.kXt.X.kXt.r.kXt.^ N N.o.b.b.o.b.b.zXg l lXg.U.cXg lXgXg N.z.^.b.^XtXtXt.rXV ~.r.r.r.k.^ NXg NX@ d.| A ] ]X@.A 5 5 ) TXKXUXy oXpXe.) U <.MXeXDXeX, xXD UXe .XiXp.j.FXq 3.}.aXI.aXD 8XDXD.a.MXD.M.M.MX-.a.aXM xXcXwXGXn p %Xb.v.. 0XGXGXq.aX1XI.u c D T ) :.HXI ~XI.r.u.k.r.kXt.uXtX5.k.k.rXV.u.r.HXd ~Xt.k.kXtXjXt.rXd.r e.kXt.kXt.kX*X* N.kXVXt.H.5.5.5 )X* '.u T.5 '.2X0.E 0XbX= 2.@.@ ^.{ pXn u < < t t.a.~ RX1 $ B.uXDXl.iXp.-.Y.- k.g k.9 h hXD $ R RXD $XlXHXJXcXJ YXJ D.- m.9.9XI.a.a c 3 $.a R.a #.Y `XwXOXh !.w RXI.M.MXDXI #XDX1XIXDX1.Z.'.nXG vXG S MX>._ hXKXlX5 sXw z.1X2.x ^.@ &Xm.OX;.ZXD xXPXy &Xm O.=Xn.wXe.w BXD.ZXc.' 1XD RX,XDXK.e 3XI.a RX, h.a 3 x 3 $XcXc k.-.'.9Xw.9.n.wXl $Xl $X5X, < c xXB.9.w.[XG x.a.MXe.-.MX,XD 1XD $Xl.' x 1Xc.- x nXc.-.9 kXc.,XJXHXJXJX,.Z xX,.Z.9X, 3XV `.8 : )XV ).uX-X-X-X-.5.e RX- R R.M.WXs y o o.9XqX3XJ.u.u.H 3XVXV 3",
-"X1 RXK DX5X5 :.]X1XV BX-.5.2.ZX1 R $ $.Z TXw m s T.'XlXlXD R `XKXDX,.9 T.-XU.2.2.2 $X1XDXV.` 3.8.8 ~ ~ 3 ~X*.kXjXtXj.^.o.b.oXk.c l l l l.U.U.#.I.z.I.I.z./.U.zXkXgXxXk l.^ q F.^.o.X.o.b.oXgXg.b.o.oXg.cXgXg.c l.U.c.U.U.U.U.U.U.I.#Xk.U.c.U.c l l.c l.c.U.I.U.U.U.UXk.o.o.XXg.b.bXg.o.b.bXg.o.X.b.X N.kXj.kXtXt.5.^XdXtXtXt./ q q.kXt.kXjXtXt.kXjXjXtXj.kXj.kXjXt.kXtX9Xt.kXtXt.kXt.^.b.X.o.b.b.bXg.c.c.cXg.c.c.c.U lXgXg.o.z NXjXjXjXt.k.r F.8Xt ~Xt.^.X.b.b.o N.^XdXd e.HXt.5.kXV RXI xXL s.NXs.) U t h 1X,.w $Xl.W hXe.sXr.WXnX+.Y x.l.u RXI R R 8.M.M R.a.M.a R.a R.a < h x .YXrXn.sXb p %XiXb 0XnXwXm.Z s.G.2XlX5.uXV.HXI.H.8XVX*.rX*XtX* ~.H.r.u.H.DX5 :Xo.u.`.H ~.HXtXtXtXt eXj ~XjXd e.rXt.k.r.k.5.u.kX5.8.]XJ 5 f T 5 D f.0.%.2.>XCX6Xi LXf ^Xi.sXf p . E U u.Y a tXlXJX5.5XD.Z k RXlXpX< [.[.Y.[ [X7 `.i.a.MX5 x.Z R.aXI xXlX5.a.Z hX, RXD.a.a t 3 R.a RXD R.a 3X, V : nX.XKXK sXD R.a RX,X,Xl.uXDX5XD s.'.nXG y.j.qX0.;.EXq x UX-X1X1XD 1 UXr.{.; S.> &Xw.Z.a aX,.O.O @ & o O 0XnXL $ $X-XD x $.i.Z.9XD hXK :X,.a c a.2XcX5 c $.Z :Xc R $ RXD UXl.ZXe.D.Z.W.a.a.} h x UXc xXn U.w.W.-.M.M.}XK RX,Xq s x.Z x sX..9XcXKXcXJ :.9XlXH '., $.9X,.MX,.MXD x., D mXl c )XIX5 D.u :XIXI )X3.8XDXV.Z.}.D.WXL o O 0 O b.E :.8X-.`.`.`.`X-",
-" R B $ RXIX,.] TX-.ZXV '.2XJ.].]XcXK 8XD.ZXl.'X;.'.D.Z $.'XKX;.9X1 R RX5XU.]XU @ m ! D D DXV.8 ~.r 3.r ~.rX*.k.k.k.k.k.b.XXg.U.U.U.U.U.U.U.U.I.z.U i.f.UX .tXgXkXgXg.X.X NXz.^ N.o NXgXg.b.o.o.c.o.o.#.cXg.c.U.c.U.U.U.c.c.c.U.c.c.c.c.c.U.c.U.U.c.U.U.U.U.#.UXk.cXgXg.o.o.o.o.o.oXg.o.o.o.b.^Xj.k.^.^XjXj.kXtXt NXtXtXd.kXtXk.X NXt.kXt.k.kXtXt.kXj.k.^ N N.k.kXjXjXt.XXt.kXt.kXjXt N.b.b.b.b.b _Xg.cXg.c.U.U.U.cXg lXk.o N.zXjX*.^.k.k.rXd I.H.H.r N N.b.b.b.b.XXdX5 e.0.XXxX9 5 : :.'X0 s.!.jXL.9 x [ 1 h x.ZXeX,.W.w & 0X>X=._ >.j x 1.}.}XDXI t R.M.M R.a $.w x <.}.a.} x 1.Y XrX+ 2.mXb.B {Xb.v J HXmXUXw Y.3 D.0Xa.HX1.5XV 3.8.8 ~.uXV.8.HX1X5.D $ D g D gXJ T.D.8.u.r.^XtXtXtXtXtXj.rXdXtXd.r.k.HXoXo.u.`XIX5 : :.0 :X9 :.0.K.2.>.>X0.h.4.T.4X: w.4 S.4X%._._.WX%.* <X,X;XlX1.e : } xX, 1 k.-.1Xq.YX7 [ `.- c h $.M $XD.a.a.D 3 h R.aX1X,XDXD.a.MXI t.M R 3 3 R.ZXD.aXKXB VXwXcXP $ sX,XD h., ` m.,XDX..w sXG J HXr &X0 H oXpXp U 1 RX1X-XKX,X% % ..h wXC s sXDX, 3X5XG.>Xm & J J H.v v x R.' 1 <.W hX, xX5XDXlX, :.Z : $XH : RXK $X,XwXlX,.Z x x.Z.2 n.Z yXe.W x.W > xXq x._.YXe.[XpXqX+XH.Y.Y.[Xw.M $ xXl.9 $ x.w $ t.M.Z.MXDXDX,X- R $XD $X, R h $ $ xXlXJXJ.] cX3.H :XVXX.uXIXV 1 ) 5.r.`X1.e.~.M.a tXs O 2 / / 0.Y s.8.8.`X-.`.8.`",
-" R B.eX1.e.DXKXl B B B T D TXU ( TXP TXP TXyXKXyXy.OXyXy.OX; @.Z t RX1 B $ $.'.2X,XD.HX5 ).`.HXV ~.8.8 ~XtX*XjX*XjXjXj.b.o.oXk.c.c.U.U.U.U.U. .U l.6Xu./X .f.UXk.bXg.o.o.o.X.b.X.o.bXgXg.o.oXgXgXg.b.#.U.U.c.U.U.U.U.U.U.U.U.U.U.U.U.c.U.U.U.U.c.c.c.U.U.U. .cXgXgXg.o.b.o.oXg.o.X.b.X.bXg.X.o.bXtXt.kXj.k.kXtXtXk.r.kXtXtXj.k.^XtXt.k.r.rXj.^ NXz N.^ N.b N.^Xj.k.^.kXxXtXt.kXtXtXt.^.b.b.o.b.oXg.c.c.V.c.cXg.c.U.c.o.o N.oXkXt.^.^ N NX9.k F.8.`.HXo N.b.X.o.b N NXtXdXx P 4.fXlX.XwXH.n =.j.WXy v YXlXKXsXa x.Z x.j.j.@ 0.sXb pXGX7 1 1 3XD.a.aXDXDXDXDX, x 1 sXJXc., `.YXc.[., n >Xr.<XiXbXbXi { ^ H y v.w s s.n '.] ( '.8 ] D :X9X9 : q qX9 :Xx.]XOXU.2.'.w '.nXKXPXIX1XV.`.HXdXt.rXtXt.kXt.rXd.rXdXoXV.8 (X9.0Xo $.5.u.5 TXM.5XX.2.3 = =.TX: S SX8X0 r r.T SX4._._.pXeXe x $ h R.a $.u.u a.a C.Y .[.,XBXc.}XD $.,X,X, RXD xX.XJX-X-XD aX,XDX..a.a.aXDXI.aXH.9XKX-.} 1 :XcX..> n.'XlXGXc :.-XJ : #.Z x s o.j.>XZ.;X0 HX0 & yX+XwX+Xc.0.] 5 h.- p %.s.@.>Xm.0 xX1.a RXD.9 9Xm.q o w.@.EXn oX+ n.j.- y nXH s R c.uXD cXM 3 $XDXDXDXD.Z.,XK $.wXlX,X, 1.9Xe.pXp.pX4.pXr MX: WXn.< >X4 WXp xXw x.w xXc.9.a x xX5 x $X,Xl $X, $.ZX,.Z x $ c 3 $ : h $Xw., mX.XH :.Z 3 R.u `X5.`XIX-XIX-X- RXx.`X-.`X- R RX-.} U C.s.WX=XiXGXK.8.`.`.`.`.~.`",
-"X1X,XD.DXD '.]XDXD.uXl T.]XD m.2XyX; !X.XyXy.2XUXU '.'Xa gXm g.nX5.D.ZX,.n.wXc ' R.HX1.KXV.8 ~.8XV ~ 3.rX*.k.kXj.k.kXj N.XXg.U.U.U.U.U.c.c.c.6.I i./.U.6.I.#Xu.z.I. .oXkXg.c.o.oXk.c.b.cXg.o.cXgXg.U.6Xk.U.#.U.U.U.c.U.U.c.U.U.c.c.UXg.U.c.U.U.U.U.c.c.c.U.IXgXg.o.o.o.o.o.X.o.o.oXg.o.o.b.b.X.bXj.kXjXtXjXjX*.^.X.r.rXt.kXtXj.kXtXtXj.kXjXtXj.X.X.b.X.b.X.o N.^.X.o N.z.^XjXdXt eXj.^.b.oXgXg.c.c.c.c.U.U.c.cXu. .fXu././X@./ qX9.& 5XX q.R q )Xx.^.b.X.b N.o N.X.kXdXV ( (X@X3.|XlXU.j.q.9 n vXK T.'XU s x s.n y.Y.+.EXnX>Xn.@X+.jXcXp $ h.aXD R.aXD.a RXDXD.D xXD.9 # < $ h x x.[XM.YXr.< {Xb.PXf wX> &.E s.w '.n.nXa 'XU.5XJ D 5 ).] I.$XX (.2 D D 4Xl g.!XK.> yXOXwXy !.n.nX5X1XV.kXVX*XtXt.kXtXd.r ~.r 5.]XJ D.5 m ]XJ.%X3 I.,Xc 4 K !.pXf % {Xf w.x.x.xX>.pXr >Xn EXe.) E E.M < R a.uX-X1X-.a aX,Xp X7.S V h.}X-.OX, hX,XDXlXHXKXlXD RXD a : Y.'.a.M RXDX-XJXc D a.MX,Xc 1.,X#.O @X;XwXU 1 3.a R B R.wXLXmX0 M.;XhXr &.T.O nXrXHXK g m D 5 h u EXiX6Xm & '.' sXDXI.a.M s.'.!X0 =.+ =XnXeX0.j yX>X>XGX0.9 1.Z.ZX,XIX1.a.aXDXDXD RX,XD.aX1X,.a.ZX,X,.w x._Xp.FXe.FXn...JX4.<.<.JX4 >.d >.MXGXpXD.W.-.9XK x :.9.9.9X5.w xX,XcX, xXIX5 $X1 $ 1X1XD.aXJ.- x.9X, R.aX1XD.8 c.8X-.8XI R.aX-X-.5.u.k.~XI a a.a a.a t.M.W.).s v T.H.~.`.`.`.`.`",
-".w.n $.wXl s $.w.n.w '.0.2 KXy Y.O.> ! g mXU g mXOXUXO g.wXLXPXU !X;XJ ! 1.0.2 $X1XDX1XV.H.HXV ~.8 ~XV.rX*X*.k.^Xj.^Xj.^.bX9.cXk.U.c.U.U.U.U.6.IXuXu.I iXu.U.(.6.U. .bXu.6Xk.o.b i.zXg.6 iXg. .6.cXuXu.U.U i.U.# i.c.6. .U.#.c. . .c.6.U.#. .U.#.c.#.# l.U. Xg.bXg.o.o.X.oXg.o.b.b.b.b.oXg.XXzXdXdXdXt.kX*Xj.kX9.$.k.kXtXt.k.rXjXtXtXtXjXjXjXj.X.o.X.o.b.X.b.o.X N.o.X.z NXj.kXjXj.k.b.XXgXk.c lXg.c.c.c.U.c.#.AX X&./.f.f f }.A ).f I./.A 5X ././Xx N.X.b.b.b.^Xj.r.rXdXdXV.rX* 3XD s sXLXs.*.M R 8XDX-Xl.w.M._XGXLXn._ &.p.[.[X7.[ X, $.aXD.M.a.M.}.M R R R RXD.a RX, < R t.a h.lXqXpX2..XA.@ H.E O H.'XP.W R 8Xs.w 'XcX5XIX1.H R.8X9.K.8.HX-.HX5XU $XO.w y.'XPXK ! !XU g gXO.'.D.Z.uXV $XV.u.r.kXt.r 3.k 3.KXDXIX1X1XI.` 3.}XI $Xw 1.9 zX> %.4 r S.; M.xX4X:Xr WXrXrX2.F._XeXe E t a RXV 3 3XI a.a 1 x k.[ `XBXX : h.S 3XDX,XD 1XJXcXIXl.a R.~ `X,.-.aX, a RXIXJ a $ R R.a ` 1 :Xh.3XZ ! sXl 8.DX1X1X1.M.w v H.E.E ^ o.@XnXLXe.M.'.w E RX- 3 R R.d.s ..@ &.! b.nXsXK R.MX1.ZXeXP y & o = M.@ O..XnXi vXn v.OXL.jX1 $X1 hXIX- t R R R.9X,Xc x.9XJXJ.wX,X,X, x xXq.W...@ M.; S.C SX2X2X8.{.J.p.M.- U.wXhXwXK xXc.' k.'XHXK.%.-Xc k.%XcXH ) KX,XVXDXI BX5X,.a.M.aXDXIX-.H : : c R R.~X- RXDX-XV.uXM 3XD.~X- aX-X,X,.a.WXe.) v T.H.`.`.`.`.8XV",
-".'XKXU.0 T g 1 'Xl.0 g ! D gXU.0Xy.]X1XI.nXl.' $ 8XDXc T T.'XP.> @XwXOXUXyXU m s.DXI.Z.K.` 3.H.8XV.H.H.rXj N N.X.X.X.b.bXgXg.c.U.U.c.U.U.U.#.#.#.c. .cXu.U.U.#.#.U.#Xz.U.U.o.c.c./.I.c i. .c. Xu.UXuXu.#.I i.U.6X&.c iXu. .U.UX& i.UXu. . Xu.c i.U iXu.U.U.I.UXg.oXg.o.o.o.b.X.o.^Xj.^Xz.X.oXz.k eXt.kXjXj.k.^X9.A qXtXt.kXt.kXtXt.k.rXt.k.^ N.o.b.b.X.o.o.b.b.b.b.XXgXg.bXtXjXj.^ N.o.oXg.UXg.c.c.cXk.c.c.cXg.zXgXkX9.&XxXX )X9X9X9 ).X qXx NX9Xk.b.b.X.b.X.^Xt.k.k.kXdXt.k.k 3.uXDXGXLXmXe nX,XDXDX,XlXMX, U nXn ..EXr.g >XM .9 x xXDX,.M.a.a.a R R RX1 RX1 R.a R.a.e R.a.a.a < #.lX4XrX6X6 S o v vXL.w.9 xX5.w R 8Xs T g RXI 8XV.H.`.H.H.H.HX1X5 m.w TXs B RXsX,Xa s sXLXG.>.9 ' s.w x $ 3.H.5.8 #.8XVXJXHXJXlXUXl $ BX,.~.a.M.ZXO g.EXn.. w.{.TX:.y z WX4.1 z z M.y.TXrX4XA EXe U < < aX1X1 3 c.}.Y `.g.[.[X3XMXMXX ` # h.MXI 3X1XIX,X,XV aX, R R.aXDXD.MX1XI xXlX-.a R a.Z xXMXcXwX. y.n.wXI.DX1X- BX,.wXGX0X>.@.sXpXe t.M.M.M 1X,.ZXD R.Z R.M p.s 0 &XC.nXa.D 8Xc.aXl h T gXlXU x s & K.+X> S H M M yX0.+.OX; s x xXK.9 xXl x n 1XHXwXcX..SX.X. TXHXD hXD.WX,Xe.wXe w z.y.;X8.4X8 WX8 WXnXL xXL 1Xw.9X;XH m.3 n.%XhX.XH mXKXK `Xl Y T 3.~ R.u $X, aX,.MXDXl B RXD.Z #X5.K.~.`.a R.e RX-Xl 5 I., c.9.'XK.9 : kXlXh & &.+ m c.`X1.`X-X1.k",
-" @X. KX;X.XO g gXOX.XOXwXO.2XOX$.GX. ' cXV 3XVXV.uXV.Z.'X. gXK !Xw !.O g !.O.OXKXwXc.%X.XJXJ I.u.8 ~.8 ~.r.^.bX9.o.X.b.b.o.b.o.c.U.c.U.U.U.#.U.U.#.c.U.c.U.c.#.c.U.U.c.o.o.o.b.b.o.o.bXg.o.b.U.U.c. .#.U.U.#.c.#.I.U. .#.U.c.U.6.#.U.6. .UXu.U.6.U i i.U.I.#Xk.o.o.b.o.b.o.X.o.b.b.^.k.^.^.^XjXjXdXdXj.kXj.kXj N q NXjX*Xj.kXtXtXtXjXj N.o.X.b.X.b.o.o.X.o.b.b.b.o.oXgXx.b.^Xj.^.b.b.X.bXg l.cXk.cXk.c.cXk l.cXxXg.X N.&.$ I.% I kXJ 5 |.RXx N.b.b.X.o.X.b NXdXtXt.rXtXt.kXt.r.` c $.YXmXwXGX, h.}.Z xXq $Xr v o 0 0.jXrXB ` 1 1 x c U R.a.M.a.a.}.MX- t R R RX1.u.aXD R.a RX-X-.a.a # .x.@ ^ & b.sXL.* RXD c # ' xXa.Z.n g.'.kXd.HX1.H.H F.H.H.H 8 D.0.nX, t B R.*.M.Z.W.nXm @Xm oXK y 1XUXUXc m T.9 :.>.1 s.9XL.Y sXK.'.ZXeXLXGXPXU.q.> JXiXiXb ^.;.;X>.x < v.p.YX+.<.x.x.{.p.J E EXe a.a a.`X-X- cXB.l k., k.[ k V X3 ` 1 $X,.M hXDX1 3XlXlX-.aXDXD a.a.MX, BX.XK :X,Xl $ 1XX., |.,X;XKXL.D 8.DX1XD.Z.w s b.; o HX2XpXr xXe 1XJXJ.9.]X- cX- R u.).@ w &XP s s 8XD.-XK kX.X..%XwXPXU.> @XhXh.1.1 nXrX%.+.j n.jXw o.'.1XwXwXw.9 `XHXwXl xXlX, $ sX,X,X5X5X,.ZX, $ y n oXh.+ =X0.+ M w ^ ^X> v.YXe.9X,Xw.[.' 1.' hX5 $ m.9 xX..a R B 3XlX5 RX1XI RXIX, $XDXD RXDXDX, c.H.u.u.uX-XI a.eXD.} RXlX3 `XJ.9XHXc.9 :.5 ` ` yXm O.q ! c.~.`.`.`.`.K",
-"XwXy K g 8 8.D 1.]X, g.]XO.0 TX;XJX.XlX-XIXI.8XI 3XIXIXD 5Xw D.D.nXK.0.'.9 g n $ 1 :.] )XK ) q.KX5.k.k.k NX9XkXgXgXk.cXgXgXg.c.U.U.U.#.c.c.6.U.U.c.#.c.U.c.U.c.UXg.U.o.oXg.oXg.oXg.oXg.oXg.U.U.U.U. .I.c.c.#.U.c.c.U.c.c.U.#Xk.c.U.U.U.c.U.c.#.c.c.U.U.U./.cXg.oXg.o.o.o.X.o.b.b.X.oXg.X.b.^XdXj.kXtXjXtXj.k.k N.o.kXt.kXt.kXt.kXj.kXt.X N.b N.o.o.b.b.o.X.o.b.o.b.XXg.o.o.^Xj.b.X.o.b.bXgXk.c.UXk.c.cXk.cXkXgXkXg NXxXxXx.$ ) ) ).$ I q.IX9XgX9.b N.^.^Xj.k.rXdXt.^XoXoXt NXxXXXJ.%.j.EXG 8 U.aXe.i x.Y uXnXnXn 0.EXp.-XBXMX,.}.a.a < R.aXD.a <X- <.a.a R R B R.e.ZX1.*.a.aX-.a.aX-.a.lXM.pXp ^ HXmXL.w 8 aX- a.a.a $.w '.9XKXU g g.2 TX5.HX1.H.HX1X1 D.'.wXa B R.e.a R.*XD.w.q.OX0X0.E.>.E y nXyXwXUX0X; y.OXG g v b.' &Xm s s s v H.q &.q.@ %X6.PXi.@X2XrXp E.*.Z.d vXnXn.<Xf.<.p.J._ U h.M tX-.aX-.M 1 xXq.[.S.,XX.,X3., `X3 1.a.aXDXDX,XDX1X1Xl a R.a.M R.aXl : `XcX.., xXc.-.3XHXH k.j.9.!.'.'.nX5 :Xl s s ^.; S M M M =.-Xw.[XK TX.., #Xl 3XDXn.xXf H.q 9 s.ZXD.a R RXI $.K.0 D.!X;Xy.G.GXZXw n.[.Y.[X<.1 n.j.j.Y.T.jXmXpXwXwXc 1.,X. 1 $ s xXc.wXl s x T 1.Y = n =.OX0X0.>X0 M = M.; 0 0.jXq yXnXe C.Z.W $.ZXI.Z.ZXD.Z $.u 1 x `Xl #XDXI R RXDX, c.0 1X1.aX,X, $XV 3 : :X9.Z.uX- R R R.a 3 a.a <.a R tX-X- RX- R tXa.= o.'.u.`.`X-.8.~.`",
-"XJ.0XKXJ DX- RX1XIXI R D.2.2XUX. (XV.2 ( 3.HX1.H.HXI.`XI 3.H.aXI RXP.n.wXa.'XK RXIXD cXI.8.H.8 ~.r ~.r ~.XXgXk.oXkXgXgXkXk.U.U.z. . . . .6 iXuXuXuXu.t. .6. .6.I.#.#.UXk.cXk.c.U.cXgXg.cXk.U.U.U.U. .U.U.U.U.c.c.c.U.c.c.c.c.U.c.c.c.c.c.c.U.c.U.UXk.U.c./.cXg.oXg.o.bXg.o N.X.k.^.^.^ N NXo.^Xt.k.k.kXj.k.k.rX9Xd.k.kXjXtXjXjXjXjXj.^.b.o.X.o.o.X.o.o.X.b.b.X.o.b.b l.o.X.b.X.b.b.b.X.bXg l.U.c l.cXg.UXg.UXkXg.o.X.b.X.b.XXx.X.^Xg.X.b N.X.b N.X.^.rX*XtXt.uX*.r.|.f.$ I.f VX9 k xXL.s.s.iXeX, xXp.YXe v v v ^.EXwXr.[ xX3.}X-.a < R <.a.a R R <X-.M.}.Z 1Xl R.9X5XDX, t t R.aX- <.a #XqX+.@Xn.q o x.w R R a RX- B.a 8 'Xw.> s.'.n s.0 g gX5 8XD.D.DXO.'.w.9.w RX1X- a R 8XL bXP J.s.s *XsXs.W.W.W.WXa O /Xa.N $.'XK v.ZXGXp JXm J y & M H.4 M.4 r S S.+.TX<.Y aXDX,.M.M pXqXp.J.x.p ..m E U.} t.e t U h E .gXH.S.3., | }X.XJ.- k $X,.aX,XI 3X,.5.Z 3X, h hXDXDX,.Z.u x x 3 c c.,.- mX;Xw.j.!.'.0.! 1 o y.E.j &X0.;X> JXe U h R.a R 8 $.~XV.rX- aXpX=X6 HXG.n.w R B R R.a RX,X-X1XDXI.D TXU.>Xh k.[.,.[XB [.,.g n.9.Y & &.T = o.- y k.9.,., x R 8Xs.MX,.W.w.wXG.j =X> &XC =.q.> o HX0 & &.E J JX0XGXG y.M U.ZX,Xl 3.ZX,XD.ZX, : TX5XDXD RXDXD R.a.ZX,XwXDX.XcXK T.GXJXwXJ mXw.3.,., R R R a BX,XI.a.}.a.aXDX1X- 3.a < C.v 2 b :.8X1X-.`.`X-.`",
-"X,.uX1 I D.5XI.`X1.~XIXV : c D.` 4X5 B q.2.8 ).u.8 3.8.`XI.8X-X1XlX..'.!.9 yXwX,.Z.u.u.H.8.8XV.8.8.8.r.^.b N.o.o.X.b.o.b.o.X.o.o.c.cXk.c.#.I.6.6Xu i i.#.U.U.U.U.I.U.U.c.cXg.c lXk.U.U.I.I. .I. .6 d. . . .6.6. . . ./. . .I. . . .I. .I. .I. .I.I.U.I.# i.z.UXkXg.cXgXgXxXgXg.^.k.k.k.^.k.^.kXtXt.^.rXt.rXtXj NXjXtXtXj.^.b NXj.k.^.^ N.b.b N.b.b.X.b.b.b.b.b.b.b.X l.X.o.b.o.b.X.b.o.bXg.c lXg.U.c.c.UXg lXgXg.b.b.b.X.X lXg.b.X.b.o.X.b.b.b.X.r.k.k.r.8.8XtXdXVX@.2 qX3.5 c cXI UXG vXn.).W h._._.YXp.s.W J.j.>X+ ` XM h h.a.a R a R.aXD < R.M t.a $Xl 1 x $Xl TXK `XcXJ.M <.a aX-.i x.Y.p o H 9XL.Z t RX-X- R R R R a.D.' TXwXKXU s.'.' T gXD.D gXK.D x.D.w B.eX- a tXDXL bXC 0 /.) C u 8 8.).N.).= /.NXe 8 R.jXU.> H H & 0 o.E J wX0 S S.CX>Xf H.; MX0 [.iX1.ZX5X,.M U._Xn.p.<.x W.< . .._Xe hXe._XnX+ zXS.3X#.,.] 6XH.3 K.S [X,XD c $XJ.].K : :.aXl.}X,.}XIXI.a.a.a.a 3.aX-XK :.- n y o.EXm 9 H.j M.;X0 H w J.4XfXG._ hXD.a.M.a.M sX-Xt #.uXe._.vX6 H 9 xXD 8 R a R BXD 3 R RX,.*XD.w.9XwX; k.-.[ kX<X#.g.- [.1XrXGX+.E = M n s y n 1 y x.MXLXeXG o y.j &.T z H.@.q.>X0XmXw.j y.q.q.; H w =XhX0XGXp v.* $ hXl c ` R.Z $X,X3XI.}XD 3X, U $ UX,X,XD.9XcXJXJ.,.9XK :Xw xXlX,X,X,X- RX,.aXc.9.5XD.a h.a $ :X5X5XJ $.j.W.) 0 b $.`.`.`.`.` R.`",
-"XIX-.8 R ) m.5XIXI.`XIXIX-X1.u R.u.8.HXI.` )X5.$.`.`.H.`X-.`XI.~ DXyX;XU !.GX;XK D ).%.`XV.H ~ ~ 3Xt.r N.X.o.X.o.X.oX9.o.o N.oXgXk.U.c.c.I.U.U.U.U.U.#.U.c.U.U.#.U.UXkXg.o.oXgXg.o.oXg.U.UXk.cXk.U.#.cXk.U.c.c.U.U.U.U.c.U.U.U.c.U.U.U.U.U.U.U.U.#.U.I.I.6.UXkXg.U.UXk.UXk.UXk N.o.X.X.XX9.X.XXx NX@XxXkXxXx.X q.XXgXgXk.U q.z.U.z.U.z.z.z.z.z.zXk.UXk.UXkXk.cXkXkXg.IXkXgXxXgXg l.cXg.c.U.z.I.#.z.U.#.z.#.U.z lXgXgXgXg.b lXx.o.o.XXgXgXx.X.XXdXoXdXdXt.H.rX*XtXV.kXV.H c.kXV.H.DX, o.s.).N.W.= MXpXG.s.sXn.jXcXB XMXM #.} 3.a a.aX-.a RXD R.a.e.a.a R.M $ $ R xX,X5 hXD xX,.a.M.a.}XM x.-.;.jXC bXaX,.a R R R R RX-XD.M.aXD.W.w 'XK g.'XU.' gXOXU.] gXl.wXD RXDXIXD 3.a.n s.!.q 0.s...)Xs.ZXa hXLXeXL 2Xa.nX,.wXK =.O.>.> H H.; &.;X8 zX0 wXfX6 ^.4.;.pX+.Y CXDXIXD.a.M.M.M.dXnXG >X+.x >XA E EXe p p._.@Xr.1XZ T V 3X5XVX3XJ.3.-X,XM.G.a m.,.% T.] T.% :XcX-XI.aX1XI R BX,XD aXM : `.[XmX+.4 &.;.4.@Xf.J.@.@ 0X6.@Xn..Xe.Z.ZXIXDXDXD.Z.aXlXM.aXL.sXi HXCXL.>.> cX,.ZXJ.a :.ZX-XDXI R 8.D sXKXH.-XK.-.SX#XH.-.gXr n [Xh M.T.1.j.+.>.E yXw.YXG o JXnXC W.j z.+.;Xp J H & &.j.jXG gXe J.jX0X0.>.+ H.T n M =Xs.9 $ # D.]Xl.Z.Z.ZXKXDXD.Z $ h.wX,XD.MX,.aXDXD.ZX1X-XDXI xX5 t.a R.MXD $.*X. :Xw :.,X..- |.9X. T.2XJX.XK n.).= b vXVX1.`.`.`.~.`.`",
-"X-.`X-.8XI V )X3.u.` R.`.`XI.u.`.8 3 ~XV.u.K.$.$ ) :.8X1X1.8XIX-XVXUXOXKXmXPX. : :X3 D.uXV.8.8 ~XtX*Xj N.b.UXg.bXg.b.oX9.oXg.bXg.U.c.U.U. .U.U.U.c.c.U.U.U.U.c.U.c.U.U.o.b.b.o.o.c l.U.U.U.U.U.U.I.#.c.U.UXk.U.U.cXk.U.U.c.U.c.U.c.c.c.c.c.c.U.U.U.c.U.U.I.cXg.o.b.o.o.X.b.bXz.kXtXt.kXtXtXtXtXt.k NXkX9.rXjXtXz.k N.X.X N.b.XXg.o.X.o.X.o.X.o.XXgXgX9Xg.oX9Xg.oXgXg qXgXgXgXgXgXkXgXgXk.#.z.#.z.#.U.Q.Q.Q.z.Q.QXxXg.z lXx.Q l.zXk.zXgXk.X.z.X.^Xo.^Xo.5XoXo.5.5 N.K.k.K.5XoX5X5X5 $.Y.s v ^ oXp.E y H.Y.E n [.[XB.,.l.l 3X, cXlXDX,X,XD 3 hXDX,X,.MXD h hXDXDXDX,XD 3X,X,XDXDXDX, 3.}XX .- MXw yXL.wXDXD.a 3XD.aXI 3XD cXD.aXD.MXD.M $XlXPX5.n.0.0.w.' $.a tXD RX-.a.aX-X,XL s.q OX=.) u t.M 8.M t.w t t x hXcXcXwXOXL v o o 0.v.).s v.; wXiXi {XfX2 ^X+XGXG C R RX1X-X- R a.*.a._.FXn.<.pX4XA.m.m.m.m...jX+ M.O :X5XlX-XI c x.-XJ.lX,XMXKXJXJ mXc., cX..]XKX,.a RXDXD 8 R.*X-X- c `Xr WXp 0X6 ^.BX:.{ % M.. v.;X2 vXr vXcXcX,.,Xw.MXc.[.}.1X+X>X= 0 w.E.WX; 1XHXHXlXJ mXJXl I.eXIXD.aXD.n 1.>Xw n [Xw.1 n.-XwXH [ n WXHXS MXnX> &X0.+Xw.E J ^.@ ^.y zX%X%.j.4 0 0 H H b s y.w oXG =XG.>Xp H.T nX<.1Xh.jXh n.,.% `X..2XUXlX,XcX1 hX1 hXDXD hXD R.MX,.} c RX,X, R.M.ZXD.aXD R RXDX, RX-.e : RX5 : 3XcXlX,X, 8XI h.a.E.w.s.s.!XD.`.`.`.`.`.`.`",
-".8.8.aX-.8.~ 5Xl }XI RXI.`.u.8 3 ~.8.r.rX*X*.`.5X9 qXV.`.H R.`X1 8 T.0.n x gXw m.aX5X*.H.`.8.k.rX*Xt N.bXgXkXg.b.b.b.X.oX9.b.o.oXg.c.UXk.6.U.U.U.#.U.c.U.c.U.c.U.c.U.c.c.oXg.cXg.U l.U.U.U.U.c.U./.U.U.U.U.c.c.U.U.c.U.cXk.c.U.c.c.U.U.U.U.c.U.UXk.U.U.I.UXg.o.X.o.X.o.o.X N.^XjXj.kXj.k.kXj.kXt.kXtXkXxXj.k.^Xx.b.X.o.X.o.o.b.X.b.o.X.o.X.o.oXg.X.o.o.oX9.o.bX9.o N l.b.X.b.o.b.b.bXg.cXk.c.c l l.U l l l lXx.z.bXz.XXo _.z.XXz.^.b N.o.X.^XtXd.rXdX*Xt.rX*.k ~ 3.8.8XI.H.H.` FX1.nXa.N.s...s oXrXrX0Xr n.[.9XM # a a aX-XD s.~X- a a a 3.* a aX- R a a R < a.e.a a a.a.e t R a.a a h.lXl.Y.jXm.D.W.*X- a a.~X-.~ R aXI.e t R t R R.* t R.D.wX5 $ $ $ R.e.MX5 RX-X- aX-.aXaXLXm o.s.).d C t R aXKXqX, n `Xc k :.9.'Xa 2 J J.s 2X=X=XiX8X> w.P ^.4.<XpXqXnXs R tX-X,X-.~X-X-X- a RXeXpX4.<.{.{.< >.J.<.@.; H = K g kX5XX ` I V 6 V .u h c 3 RXIX-XD :XIXDX5.H $ cX,XD 8XD RXDX-.} hXXXBX<.x ....sXb.y S p.+Xr.MXh.j <XwXl T !X1XlXl t nXZXeXr.{.;.B b.q 9.w gXUXDXc $ xX5XlX, Y mXI 3 BX1.n.wXU.>Xw !XH n.,.-.gXZ [.-.,.[ [Xh.1X0 o zXC &X>XG.@ ^ ^ SX:X:.y >.x & H =.q.q.9 v.Z.9XG.'XG bX0 n = W [Xh MXw.j.9XKXDXD $X..e $X5 1X1X, RXDX,X,X,XD.MX,.Z $ RX,X-.a.aX,XlXDXI R.a RX-X,.a aXD aX-XD R RXD.a RX1 R BX, U.M p.s.W.jXD.`.`.`.`.r.8.`",
-".a.`.8.`.8.8.~.$X9 I.k.` 3X*.}.r 3 ~X*X* ~.kX*.8.u I.$ :.~X1XI RX1.].'.w.n.j @XJ m q T q D.X |XxX9.k.X NXgXg.b.o.o.X.o.bXgXg.o.o.U.U.U.#.I.c.U.U.U.c.c.U.c.#.U.U.U.U.c.cXg.c.U.U.U.U.U.U.U.c.U.c. .U.U.U.U.U.UXk.c.U.U.U.U.U.U.U.U.c.c.c.c.c.c.c.U.U.c.IXkXgXgXg.o.o.X.b.o NXjXj.kXj.kXjXt.kXj.k.r.kXdXt.^Xt.^XkX9.b N.o.b.X.o.b.X.b.o.b.b.oX9.b.X.b.X.b.b.b.X.b.b.o l.X.o.b.X.b.b.oXgXk.cXk.c.c.oXg l lXg lXgXg.o.X.XXz.XXg.X.b.X.X.^.^.XXtXtXtXtXt.u.rXtX*.r.r.` F 3.8.8.8.HXV.H.0Xs.s vXnX>X0Xw.-XcXK Xl.lXMXX h.a.a.aX- R 8 RXI a R R $ aX-X- tX- t t RX- R R aX-.a a < R B tX- a.a #.i.9.j yXL.Z <X-X-X-X- RX-X-XD 3 RX-X- a <.e R R R RX-XDXD BXD t B h $ RX-X- a R t.DXL b.E...N.).M 8 R.e.3 $ |XM # cX- a.wXa 2 b v J 2X= 2 0X> wX8.;X8X>.<X4 v.M t a a RXI.~X-.`.~.~X- a.MXeXqX4.<.<.<.p.{.<X>.4X> & &.9.D cXl.u VX* #.,XX.l.a.a #XIXDXDXI BX1XIX-XIXIXIX, $X,XDXD.eX1XDXD x.F.pX< WX4..XbX:XF vXe y.M.-XK 1 1 s.wX5 RX,X,XD.-Xn .Xi.B.B 0XCXC v.nXD.e t.e.* a RX- R VX. cX-.ZX1XDXl s.9Xm.jXw.>XH n.,XHXH.[ [XZ.T.O.L.T = &Xh.+ y.+ = MX:.L.T.y.T.j.;.+.+.>XC.jXG.wXwXD.W.9 sXG 9.Y =.-XB n.1Xw v.wXK $XDXD `X,.aXK.aXIX,X, t.Z xX, <XD hXD aXD RXDXDX,X,X-X, aXDX-XDXDX, R.aX-X-X1XDXI aXI a B 8X1 R.a hXe.)Xn.j yX1.`.`.`.`.5.8.`",
-"XV.8.8 3.8XV.8X1 : I D.$.8.5.8.8.8.rX*Xt.k.rX*.KXt.` ).,.RXVX1X1 B @.]Xa.n.nX.Xc.K c D.$.5 ).$.fXk.^.X.bXgXg.b.o.o.X.bX9.b.o.b.o.cXk.U.#.#.U.U.U.U.U.c.U.c.U.c.U.c.U.c.c.U.U.U.U.U.U.U.U.U.U.U.U. .U.U.U.U.U.U.U.c.U.c.c.c.U.c.c.c.c.U.c.U.U.U.U.c.UXg.zXg.o.o.oXg.oXg.X.o NXj.k.kXj.kXtXj.k.kXt.k.kXt.kXt.^XkXg N.o.b.X.o.b.b.o.X.o.X.o.X.o.o.bXg.b.o.X.X.b.o NXg.bXk.b.b.b.o.b.bXg.c.c.c.c.c.c./. d d.f d.& AXx A A.z.R AX@X@ AXkXtX*.rXt.^.u.rXdX*.k.kXVX*X9.r 3.8XIX* ~X1X1.w.'.sXn.@X+Xr.p.9 1 x 1 h h a aX- a R.aX- R.aX-.~.a c.e a RX- a RX- t a R RX- a.a a R a t BX- aX- 3 #.F.- gXL.Z tX- tX-X- B R RXV.~X- a RX- aX- RX-X-X-X- R.e RXDXD R a RX- RX- a.a a 8.n bXC O.).d C.* a R.a.' R.a.aX- 3.aX1.wXD.=.sXG.s J.).= 0 ^.4X>.{X>X4.FXq u t a RX- aX,.~X-X-.~.`.~X1 a.* EXnX4Xn.F .X4 >.@XpXp.EXwXUXD RX1.KX9 3.8 VXXXXXX # $.a.} a a 3.aX-XI.8XDXIXD 3X, RXVXDX1X-X, h 1.F.[.g M nXn.)Xe.* t BX,.a h.a h.D.D RX1.M.MXqXeXn .X> LXi J SXC.! $X1.a aXK `.ZXK c $XIXl.aX- RX,.Z.Z g = !.' oXw n =X.Xw [ k.[ K kXhXSXZXhXH.>Xh =Xh.+ M =XZ.T.jXrX+.; M =.; y y.w $X, $.' sXG.!.j.>.SXH.Y k.1 n y.- x : R.Z.9XIXDX. $XD.w $X, $ x.9 $XK.a.aXD.a.a 3.e 3XD RX,.}XDX-XDX,XDX-.a a.a RXVXI R.a.,XDX1X, $Xc.M.jXn J JXKX,.`.~.8X*.K.8.`",
-".8.8XV.8.8XI.8.H.8.H.$.AXXXV.8.8.rXtXtX*X*.k.r.rX*X*.8XV.K I 3XIX1 mXU.O.' sX..uX5.`XI.8.8XV.rX*.k.^.oXg.b.oXg.b.o.o.bXgXg.oXgXg.U.U.U.I.#.U.c.c.U.c.c.VXg.c.U.U.U.U.U.U.U.U.c.U.U.c.U.c.U.c.U.U. .U.U.c.U.U.U.c.c.U.U.U.U.c.U.c.U.U.U.c.U.c.cXk.c.UXg.U.o.b.o.o.o.o.o.b.o.X.^.k.kXjXj.k.kXj.kXj.r.^Xt.kXt NXk.oX9.b.X.o.b.o.b.b.o.o.o.X.b.oX9.b.o.b.b.o.b.o.b.b.X.o.z.b.b.b.o.b.o.c.UXk.c.cXk.c d.6X .t.t.&.&.RXx.&.&.R.t Q.& A.fXx ~Xx ~Xt.u.r.u.kX*.r.u.rXt.5.8.u 3XI.aX-X,Xl.n s.. 0X> WX+ ` ` x $ h $Xl a hXI.aX- RX-X1X1X- RXV aX,X,X-X- a RX- a R R RX-.e.a aX- < R R R R.~X- <.a # 1Xc.j.nXa RX- aX-X-X-X- R 3 a R R a R.* R R aX-X-X-X-.aX-.a R R a B BX- a tX-X- 8XL.nXm vX=.M.N B RX-X- BX1 aX- RXDX- R $ s.N o.s J.v / o 0 yX>.@X4Xp.F.d t R.aX-X- a 3X-X-.`.~X-X- a B < t.MXeXnXn.FXnXp.FXnXpXp y y y RXI.`XXX*.8., V `X3 ` ` h.aX,.}.aX-XIX-.}XDXD #XD c R R.DXDX-.D a c.F 1XBXB.-XpXG p.M v RXIXV :X, $ h.Z.a B a $Xe.s.. w S w H.;X0 =XyX.XcX.XD.9XlXJ TXcXcX-XIX,.eXIXD R.2 g.9.w s.9.nXKXU.>X;.1X..O.S.1 |XHX#XhXw k.1 n.O.+.+ =.T.T.1.+ M z.O.hXh.>Xh x.9 $ s x sXm ! = =.S.SX7X7 n =.j o ' 1.a.Z `.Z $.,XUXcXJXKX. g kX.XwXH x.OXIX, cXI hXD.a.aXDXDXI.a 3XD.a R a R a R B c aX1X. #XJ TX3 m.j M M =XZ.>X5.`.8.uXxXV.8.`",
-".8 ~.8.8 ~.H.HXI.H.u.`X9.KX*.rXVX*XtX*Xt.r.kX*.k.r.u.8 3.8 3.`.a RXJ.n g !X..GX. 5 D 5.`.H.u.r.k.k.bX9.b.o.o.bXg.b.oX9.o.o.bXg.U.U.U.c. .U.U.U.U.U.c.cXgXg.c.U.c.U.c.c.U.U.U.U.c.U.U.U.c.U.U.#. .6.#Xk.U.U.U.U.U.U.U.U.c.U.U.c.U.U.c.U.c.U.U.U.U.UXgXg.z.bXg.o.X.o.oXg.bXg N.^XjXjX*.^XtXk N.kXt.kXt.kXjXj NXk.o.b.o.b.o.o.b.o.b.b.b.b.b.o.b.o.o.X.o.b.b.b.o.b.b.oXgXk.b.o N.b.o.cXk.c.U.c.c.U.c.c.UXk.I./XgXk qXk qXkXk ).RXk.z )Xo.8Xo.`.H.u (X9 ]XlXo.5 ` DXV.k.].u x 3 $.9 v.wXi.v 0XrX+ #XD X, 1 : x RX-X,X1X-.aX-X-X-.aX-.aXIX-XI.e RX-X-X-.e BXI t RX-.a a.a a a RX- R.eX-X-.a #XM gXUXL.Z 8 aX1 a R RX-XDXDX- R.e R RX- a RX- t aX- a R aXD.aX- R s c.e RX- t B 8.ZXLXC 0X=.N u t R BX- R BX-.~X- 3 a c 3X3XeXs v J._XG O o vXmX+XGXp.. u u t R aX-X- R 3X-.e.e R.~X-X- a B a.a t t C t u U.d uXnXnXpXp yX, RX1.8XXX*X*XJ.$ V XMXM.}.aX,.}.} a h :XM kXhXX 1XK.u D.0X5XJ.DXKX3.l.l.F .<Xq 0.N.YX, kXc.,.- kXw.j., TXwXG....X6.; HXCX> J JXG.9 $X1X, a h.Z.MXDX,.aX- a 3 3.~XJXJXJXc.w $XD.wXw gXGXUXw.>.G K.GXSXZX. [ nXJ.-.3 k.1.O.+ =.OXZ KXh.O.O.+.O K.O =XU.a $.9 :.'X. [Xw.-.-X. V k.1.jXa x.9 RX, T :.aXU.,XK T.ZXK xXl.wX,XJ $Xl.}.Z 3 R R.aX- 3 RX,.M.a.a aXD.aX-.aX- aX-.DX1.a #X1 : c c h.d.s.s v b.0.Z.8.`.`X* 3 ~ c",
-".8.8 ~.8.8.8 ~.8.8.8XtXV NXtX*.rXtXtXt.kXtXt.rX*XtX*.r.8.8.}.8.` RXc.n.'.' gXH.] D.k )XV.H.8 3X*.k.XXg.b.o.b.b.o.b.X.o.o.bXg.c.c.U.c.U. .c.U.U.c.U.U.U.c.U.c.U.U.U.U.U.U.U.U.U.c.U.c.U.U.U.#.U.6.I.#.U.U.#.z.U.#Xk.c.U.c.U.c.U.c.U.c.U.c.U.U.c.UXkXgXg.U.b.o.b.o.o.bXg.b.o NXjX*XjXt.r.K.fXkXj.^.kXtXjXj.^ N.U.X.o.b.o.b.b.o.o.b.b.o.b.o.b.o.b.b.o.o.o.o.o.b.o.o NXgXg.b.o N.o.bXg.c.c.U.U.c.c.cXkXk.zX@.& 5.fX@ q.AX@.A.&X X@.f.$.K.u.8XV.KX3 ].u m.|.%.] P ] ] $Xx.9.'.j =XC ^ 0 ^XfXi.jX7.- ` # xXJXc $ x.a B R R 3 RX- R.e RX- RX-XD.e.a R a a.e a R a.a R.aX-.a a a a.aXD R B RX- a 3XMXM.-.q s.W B.aX-.a B RX-XI B RX- R B a aXD $XIX-X-X-.a.e.uX, $ R.M TXD.a R h a R 8.n OXC 0.=.) C R.~ RX- BX- R R.e.ZX-.u 3X, xXs.=Xp vXLXGXG.9.-.YXpXqXq a.}.* R.8.~X- aX-XDX- a.eX- aX-X- R.~.e.eX- BX1.* a a aXq .Y o.Y yXDXI.8.r.K ~X*X*XX.$XBXM # h.} 3XX `.-X#.3 Y.- DX. mXJ $.u 1XX a #.l.FX+.<Xn.sXmXGXK c x 1XB 1.w $.ZXl.W ..P w & b bXL v.w._ 8.uXl R cX,.aXDXl.e R RX-X-XIXl TXVX,X,.%.9X5 TXw 4Xw.OXy.O.OXw.3 m.O.1XH [ n., k.- n.O.>.+.O.+.OX;X; =.+ MXw y.' xXl $ $ s.jX. nXcX. V.-XBXB.,.S &.s v `XlXl cXl $ x T.e.aXDXDX-X, U.aXD.a a.a.aXDXDXI R.a a R.u.aXD a.aXI aX-.MX- R BX1 3 a.aX-.`X-X- < u * / 2XL.9X5.8XVXX.8X-X3.5",
-" ~.r.8.8.r.r 3.rXt.rX*.k.5.k.rX*XtXtXtXt.kXtXtXjX*Xt 3.8.8.`X-X-X1.2XKXa.'.'XJ DXIX*.`.H.8.H ~ ~.^ N N.bXgXg.o.o.b.o.b.bXg.c.U.c.U.U.U.I.c.U.c.U.U.c.U.c.U.U.U.c.U.c.U.U.c.U.c.U.c.U.c.U.I.I.#.6.#.#.U.#.I.#.#.U.U.U.U.U.U.U.U.U.c.U.c.U.U.c.U.c.c.o.c l.b.o.o.bXg.bXg.X.X.^XjXjX*X*.^.kXtXk.z ~XjXt.k.k N.b.z.b.X.b.o.b.o.b.V.o.o.o.b.o.b.b.o.o.b.b.b.o.b.b _.b.oXgXg.b.o.b.o.b.c.cXk.c.c.c.c.c.UXgXk.UXkXg q.XX9XxXx.X.X q.X.X NXV.u.8.kXV.5.u 3 5 $.H cXl.` 3X1XaXGXG oX6 2X=X=XiX= %X2 yX< :XBXM h.a.a.e.a RX-X-XDX1 a R R aX-.e a.uX-XI.e RX- R a R t a.e R aX-X-.a a 3 R.* B RX- a h # .-XUXaXa.M.eXwXD R.*.* R RXI.e aX- R a #X. `.*.a BX-XD.ZX. :.e R a R BXD.G a.a B 9XaXm J 2.N C R t.~X- R R.eX-.*X,.~XI #X5.M.WXsXaXm.W x.9.}XI `XcXp Xe < C a R B R B R.M a.*XD.e R a.~X1.e.`.` BX-.~X-X1.}.e.gXq MXqXGX+ TX,.`X*.8.5XVX-X-XMXJXXXM ` ` V.G.,.,X3 1Xl R.ZX5.H.Z c.uXIXI.}XM >X%X: ^ pXe.D R R 3 R.MX, 3.e cX,.W 0X6.; wXa.n.n.D.W t t $XK m `Xc mXc TXHX,X- R RX- ` cXI R.~ 1XJ.' :Xl x.9 'Xl 1 ' s sXP.9.j MX; =.>XH.O [.+ =X0 =.>.+XC.!XcXm.'.E !.j x $X,XcXK = @X;Xh [.-X3 .9X7 n &Xa v.-.9XKX,.ZX.XlXD 8XDX,.MX, RXDXI.} RX,.a.M 3X,.}.ZX,X, a.Z.aX,X5X-X, :.ZXIX,X-X-X-X,X1.a.a.~.a.a < C.s /.v s.0XoXV.K.u aXl $Xc",
-".kXtX*.r.rXtXt.rXtX*.r N NXtXt.k.rXjXj.rX*Xj.kX*.kX*.r.8.8.`.` 3.a.0 D.w ' : mXK.` c.u.5XV.k.K 3.^.XXg.b.X.b.b.b.X.o.X.o.c.c.U.c.U.U.#.I.c.U.U.U.c.U.U.U.U.U.U.U.U.U.U.U.U.U.U.U.U.U.U.c.#.#.#.6.I.#.I.#.#.#.I.U.#.#.#.U.U.U.c.U.U.c.U.c.U.c l.cXg.b.UXgXg.bXg.o.o.o.o.oXgXjXt.kXt.k.rXj.kXjXt.^.k.^.^.^Xg.b.z.b.o.b.o.o.b.o.b.b.b.o.o.o.b.b.oXg.cXk.UXk.c.cXk.cXg.#Xg.b.b.bXgXgXg.c.c.c l.c.cXk.cXgXkXk.XXk.f 5.& q./.X.X ) N.XX*.rX9.8 3.r.rX* ~X3 ~.u.H 3XVXDXl gXG O 0 0.vXi ^X6Xi.P.jXBXJ :XlXMX-.aX-XI.a.~XlX,X1 RX- a RX- $ )X1XD.a.a aX1 1.Z a.e R RXlXK $ R aX-X-X,XlX5 R.eX-.a c `.3.[XU.n.w 8.*.,.a 8 R R.e R.a.eX- RX-X- $XJX. RX1.* C R.eX..Z.aX- a.a.eXc.,XlXD.'.wXLXC b 2 / C.a.~X-.e R aX- R R 3 R R # c sXsXs.sXGXpX,.a 3 3.}XK.9XGXG a t R.e B R.eXDX1 t a.* t R RXD.eX-.e.H.H.` B.~.e.a h x.-.F.1 = y.-XcX1 c.`X*.5 #.8X* :X3 VXXXMXX :X3.,., `XX 6X. n.3Xl., ` 3 3XV a.a R h.FXq.pX2.xXf v CX1 RXD R.M.Z.}.eXl BXeX6X6.4.q.!XL.nXs t.M aXKX5XX.ZXJ.Z $.a $.a R.e.aXIXIXIX5 cXIX-.ZXV.~XJ.ZXV.ZXK.0.'Xa 'Xw y.' b.9X0.> = n nX0.+ M =.+.O &Xm.j y [.>XUXUXUXK n.>.GX;.GXSXHXH c 1 $XB.[ n M b v.>XJ 1 kXJ m.9 R U.a.ZXD.M RX,.M.M.aX- R.a.a R tX- RX,.a 3Xc :XMXKXKXcXcXKXl R RX-X,.aXIXIX-X-.M.* u.W 2XLXm.Z.8.r.5 3 `.O.GX,",
-"XtXt.rXt.k NXtX*.r.^XtX9Xt.k.rXt eXt.r.r eXtXt.r.rX*XV 3.`.`X-X-X1 ' g s.w.n.2X5XV.8 q ).]Xd.KX9 N.X.b.o.o.oXg N.o.bXgXg.c.U.U.U.c.U.#.#.c.U.U.U.U.U.U.U.U.U.U.U.c.U.U.U.U.c.U.U.U.#.U.c.#.U. i.#.#.#.#.U.#.#.#.#.#.#.#.U.U.c.c.U.U.U.c.U.c.U.cXg.b.U.oXg.b.o.o.o.b.o.X.o.kXj.kXjXtXj.kXjXj.kXj.^ N.b.X.o.b.z.b.b.o.b.b.o.b.o.o.o.oXg.o.o.oXg.c.U.c.U.c.cXg.cXk.c.I.c.o.o.bXg.c.cXk.c.c l.c.c.c.c.U.UXg NXg q./.$ q q.XXk l.b.^XtXt ~X*XtX*.k 3X*.8.u.uX*.8XVX1XKXG J.@ ^.C J J ^ wXf ^Xr.jXc : #XZ hX-.}.eX- a.-X, R.e.* R a xXlX,X-X,X-X1.aXDXH c R R t.e `XJ T B RX- 3 a 1 $ R R.~ a.} kXZXcX0 s.nXD t T.'.Z t R t B 3.eXI.eX-X- h :X, a a R R R t 1X, BX-.uX5.a h R xX- B.wXaXm J.=.) C t B.aX- aX- a a.eXD.~X- c 3 1 RXs CXLXGX,XIX-.8 3 c.-.YXn s t t.9.eX-.a aXHXI R a aXJ.M m.eX1.e ` DXJ.~XI.e )X5.a a.}XnX7 [Xh.1XcX,.H.`.8.u 3X*.u 3XX 5., V V kXJ., 3XM.,X#XHX# XJ.- #X- 3X- 3.}Xl X+Xr.{ ..s v.MXIX1X,XDXDXDXD RXl.* UXnXi L.; &.!Xa.n.Z t R.e B a.}XI a RXI R.*X, c.aXlXl :X- 3 3 c 3X#X5.G $ 4Xc m g.%X. m.2.w.9.9 &XyXZ.9XGXG.qX0 H &.;X0 M.EXL vXLXL.9 T.wX,XD s.!Xw.O.> ` 1 h 1 1 kX7Xw &.E.w x 1.2 1XJXJ TX,XDXD xXKX-.aXDXD RX,X,.ZX5 tX5.a.aX-X, 3.*Xl.a.9Xl c.Z hXDX, RXI aX, R.a 3X- R.M R.) 2.= v 'X-.`X9.5.a sXw [XG",
-"Xj.r.^X9XgX9Xk N q NXk N.z.X N.k.X.X NXk.X.^.k.k.rX* ~.8.`.uX*X5.DXlXK.w ' TXJXIXI.8.H.u.`.8XV ).k.X.X.X.b.bXgXg.b.XXgXk.U.c.c.U.U.U.I.U.U.U.U.U.U.U.U.U.U.U.U.U.U.U.U.U.U.U.U.U.c.U.U.U.U.U.I. .#.#.#.#.#. .#.#.#.#.#.#.#.U.#.#.#.#.U.c.U l.c lXg.o.U.bXg.o.X.o.o.o.o.o.XXjXj.k.k.kX*Xt.k.k.^ N.b.X.o.b.X.oXk.b.o.b.b.o.oXgXgXg.cXg.U.c.c.c.c.c.c.UXk.U.c.U.c.c.c. Xk.cXgXg.c.c.c.c l l.c.cXgXgXg.cXkXg.b.b.bXx.X N N.b.X l.^XjXd.rXtXt.rX* ~.kX*Xt.u.k.uXV.`.5XGXG.sX=.v 2.v.v.v ^.vXiXr.j `XMX. | k a.a.aX- aXJ :.Z R.a R a.Z VXJ hXD 3.a.a.aX. $ RX- t aXKXwXK RX-.a.} a :Xl.e aX-.a.} [ | =XU s.n.M t.9.M R $ xXI #.e a.e R.a.e.a.eX-.a.eX- R.e c RXDX-X- 1 s R.a t a R B.w.nXC o 2 O.w a.aX,Xl.aX-.aXl.Z $XDX1XKXJ cX,XK.q o v 1.a 3XV.`XD :XK.Y v U t :.MX-X-X, Y.'.e R.eXJX- m.eX- RXl c.-XD B.~ T.u RX- < a UXB.j [.O.SX,X1.`.8.8.K.K.K.KXX.5X3XJ c ) 3X1XIXIXJ VXM #.} h RXI h.a aXM xXB.[X+.@ %..Xe.M tXDXD CXDXe.W R.u $ t._ % % ^ HXC b.w.nXD.e R R.u.~ R RX5.*.MX5XlXc mXc 3 #X-X-X-XIX9XMXIXXXl $.ZXD : $XIXDX,.5 TXy T g s.n s vXC.q H HXr M =XG v s.' s.n s v.n.DXK.'XwXHXw XMXDX, 1 kXBXH HXm U x $ h.a.aXD $ $XDX, mXJ xXKXcXJ mX..-.,.S.,X.X, 3 R.M.u.M c $.e a.* R.aX- RXD.aX- 3 :Xl 'XDX,X,._ 0.@.@X0 h.`XVXo.ZX1XG v v o",
-".kXt ~./.rXxXk.^ q.^X9 N.$.bXj NXgXg.X q.b.kXt.r.kX* ~.`.`XMXJ m `XK @ !.' gXJXI.HXI.8.8.8.8 ).k.k N NXk.I.f dXgXgXgXgXk.c.U.U.U.U.U. .c.U.U.U.U.c.U.U.U.c.U.U.U.U.U.U.U.U.c.U.U.U.U.U.U.U.U. .I.#.U.U.#.#.#.#.U.U.#.#.#.#.#.#.#.#.#.U.U.c.U.c l.c.o.U.b.o.b.o.b.o.o.o.b.bXj.kX*Xt.k.^Xt.k.k.^.b.o.bXg N.bXkXg.o.X.b.o.oXg.c.c.c.c.U.UXk.cXk.cXk.c.c.U.c.c.cXk.cXg./.cXk.U.c.c.U.cXk.c.c.c.c.c.c.c.c.c l.o.X.^.b.b N.X.X.bXg.rXd.rXt.rXtXtXtXt.rXtX*.uXt.u.`XV ' yX>.@ M.+.;.; H J.;X0.v.EX%.- `.-XlXc h.a < aX-X, c.a a a a.a a 3X, R R hXI aXD x 3.a a.a.eXDXDX, R R 3.a a.a.a RX- tX-X,XMXqXwXwXL.wX1 R x TXw.9.'XKXcXlX- R a a BX-X- a.a.a.aX-.aX-.aX,.e.aX- aX-.a.e R a B s.'Xm o 2.; y RXI.' $.a.a aXK m.aXIX-.|.,XM R R.>.=.v 9X,X1.8 3.8.} yXGXpXG.e `.}.a.eXKXlXJ R RX- $XcXKXD t.e x.9 h.eX- B $.Z.~ B.e a a UXpXpXp =XlX9 R.8X-.~.8X*X5.u.`.`.8X1X- FXI.H.a VXXXBXBXB ` 1 #.iX3 `.-.[ JXnX6X6._.N E._ v.s...s.mXe 8 c.M u.mXA.B H.qXC.!.ZX5X1XDXIX-.~X-.eXlXJ mXU kXlX,X-.aX-.e.a 3.uXVXV cXI 3 3.eX-X-XD.uXJ.2X..] D.5 'X5Xl.nXa bXC & H H =X0Xm s 9 9.!.qXP.!.' s o s !.1.-XMXMX, h : [ k [ JXL y h x.w cX, RXaXDXJX..9Xc `XJ :XKXc TXc $ $X5.SXIXDX, R c.a.aX, R.a RX- R t.eXI.a.a a `XKXUXJXw gXwX0.;.>Xw 3.`.r NXV.ZXGXG.s H",
-".r.kXt.^Xk.^XgXkXkXk.IXg.zXtXtX9XkXk.X.zXt.r.k.kX*.rXV.8X-.u.5.K : T.2.O T.G.0XIXI.8.` FX5XV ).KXo.RX .(X Xu./XgXgXk.UXk.c.c.U.U.c.U. .c.U.U.U.c.U.U.U.U.U.U.U.U.U.UXk.U.U.U.U.U.U.U.U.U.c.U. .#.U.U.U.U.#.U.U.U.U.U.#.#.U.U.U.U.U.U.c.c.U.c.U lXg.o.U N.oXg.b.o.oXg.o.b NXtXjXj NXtX*.^XjXtXzX9.o N.o.o.b.UXg.o.b.b.b.o.cXk.U.cXk.U.c.c.c.c.c.U.U.U.c.U.U.U.c.UXg. .c.c.U.cXk.c.c.c.c.c.c l.c.c.c.cXgXgXz.o.b.X.b.XXzXzXx.bXd e eXtXtXt.r.k.rXtXt.uXd.rX1X1.Z 'Xs.@ ^ ^X4.@.v OX6 b O..Xr.-XJXwXK ` x 1 c a.a a R aX-X-X-.a a.aX- RX- a.u.a RX-X- < aX-X-X- R t B RX-.a a.a t R a R R a # x `.[.j.n.w C RX,.MX,X,XD R h a tX- B RXK R R t R a.a a h.a RX, a B BX- B t RX-X- B.DXa 9.E / &.Y tXIXU.9 $X-X- hXKX-XI RX. a c #.e.>.N.=XL 1X1 3.8 3XDXl yXGXn.i < a tX-.~XV.~.~X- a.e.e.eX- a t a.e < < $ RXVX1X5.D x : <.F.M [ MXw.O mX5XI.u (.HX9.k 5.k ).H qX5X- DX5X-XM., VXXX3XB 1XBXBXB V .g.jX4 % { %.m.. vXq.s.mX6.P %.. $XD x < uXAXbXf ^XCXP.n '.DX1 RX-X1 RX-.9 R.M RXD.e RX-X- R a.HX-X-X- 3X- 3 c c.K.u 3.] }XJ : 3 3.8.] D.|X..2 ! & 9XCX0X> M MX0 & M &.>.> ! y s.!.' sXw KXHX< kXKX. k.SXHXr J b pXcXG R #.uX,XDXD ' x $X-.aXD $ $ RX,XD RXD.MXl.}.a.a.MXDX,.aXDXD B R RX-.a.a a.a a.a 3X, xXD.M.NXe.W.vXnX,.a.8X9XV 3XG =.; H.+",
-"XtXtXt.r.kXt.rXtXtXt.XXt.k.kXtXt.^XtXt.kXtXtX*XtX*Xt ~.8.aXI aX1 RX1X1 D.] g.u.H.`.8.`X-.K #XH I 5.t.RXx _.o.b.c.c.U.c.U.U.U.c.c.U.c.I.c.U.U.c.U.U.c.U.U.U.U.c.U.UXk.U.UXkXk.cXk.U.c.U.U.U.c.6.U.U.U.U.c.U.U.c.U.c.c.c.U.U.U.c.c.c.c.c.U.U.cXgXg.oXgXk.o.b.o.o.b.o.b.b NXjX*Xj.k././Xk.kXj.kXj N.bXg.b.b.oXkXg.b.b.o.bXg.c.c.c.U.U.c.U.U.U.c.c.U.c.U l.c.c.cXk.c.c./Xg.cXk.c.cXk.c.cXg.o.o.o.c.U.c.c.cXg.b.b.o.b.X.b N.XXg.^XtXt eXd.r.kXtXtXjXtXt.r.8XI.H.w s.s.)X=X=.) 2 2 / 2 /XiX= O.q 9XGXUXUX+ 1XM.l 3 <X-.a RX- a.~ R t aX- a aX- tX1 R.}.u 3 aX- a a RX- R RX-.a R a R a t R a.a.i xXB.- g v.w C t 1 x t <.e < R.a a B $X, x c.- :XJ 1XKXK `.9.aXD R R R.D $.e R RX-X-.DXLXC H 2Xn 9.* RX,X5 t RX-XDX, a.Z.~X, RX- h c.DXs.N.WXnX, h ~ ~ ~XVXmXGXp 1X, <X-X-.~XI.`.~.`.* t t RX-X-.~.~ a R.eXwXKXKXK.] kXl.3X,XHXq [ MXh mX5., $XJX5 : Y 3.RXI Y.5.%Xl 8Xc.9 R.}.KX3., 5 k., V V V VXB nX+XiXi .XfX6 .....X+.@.@X2Xf.. v.a U U u.d.. .Xi.@XC b.0.DX-X1 R R R RX-XI RXDXI.e RX-.e.eX-XIX-.~.eXIX-X-X-XI.a 3X, c.aX1X- :XI R.eXlX1 :.9Xl.O.jXm.qX>XCX%XrX2.jX>.x H M & 9.9 bXw @XZ.SXH.SXc :XHX#XHXrXn w v.. y h # 'XDX,X1 :Xl.aXV 3.uX,XD.aXDXD.MX,.a #.a.a aXD 3 3 c hX- R.a t a <.aX- a.a a.a.} t.M 2 2 2 sXG.aXVXX F.8.` sXwX> H H",
-"XtXtXt.k.rXj.^XtXt.rXx.r.kXt.kX*XjXt.^.k.rXt.rXtXtX* ~.8.`.8.`.a.8XIXVXJ.2.5 3XIXI R.` # c cX5X5.RXV.^.X.X.X.oXg.U.c.U.c.c l.U.z.#Xg.#.#.c.c.#.c.U.c.U.U.c.U.U.UXkXkXkXk.I.U.U.c.U.U.U.U.U.c. .U.U.U.U.U.U.c.U.c.U.U.U.c.U.U.c.c.#.U.c.U.c.cXg.b.oXgXg.o.o.X.o.o.o.oXz.^ e.kXj.k N./.^XjXjXj.kXg.b.o N.o.b.U.XXg.b.o.oXg.c.U.c.U.c.U.c.c.U.c.c l.U.U.c.cXk.U.cXg.c. Xg.U.c.c.c.c.c.c.o.b.bXgXk.c.c.c.c.o.o.b.b.o.b.b N.b.X.^XtXt.r.k.rX*.kX*.H.r.8XV.8.`XlXLXL / 2 * 2.s.v 0.v 0 O b O 0 H b O.n.jXU V XM # h.a t.e a.a RX- R tX- a a aX-XI.M.u 3.uX-.e.a a R aX-X- B.a a.a t.aX- aX-.a # xXB.[Xc.n.Z R.M.Z.* a :X,.* a.* R.a.e RXDXIX, $ h x h $ hX, RXD B RX-.'XlX-X-X-X- BX, s.>.;.s / C t B.* R BX- t.eX- RXJ a 3 c cX5 `Xc sXs.=XnXeXDXI ~ F.8.ZX; yXp ` R a.a.~.8.`.~.e R t t a.~X-X-.a a R aXc :XlXl 1 cX5 xXl.W xXGXc.YXw.Z gXy.9 m `XVX5X5 cXV x $ $XG vXK a.8.}.8X* 3X*XMX3 k k.[XJ.,Xr HX+X>.@X>X>X>.Y.E.Y._Xn *.x 0.w.WXe E t t.m...s b.;Xm 9.w.DX-X1 a.aX- xX1X,.a c.'X-XD D 3 RXI RXHX.X. 3.~.aX-X, 6 3X1.~.a R K V a.M.a R B.e.Z.n yX0XCX>X+X2X2X4.<X>.x H.; &.E y s ' =.OXc `X3XDX, x.-XpX<X>.@ bXnXe h xX,X5X5 BX,X,XlXI # R.a <X, R 8.M 8 <.M $X- h $XDXIX5X1X1.ZX-.a RX-.a a.a R a <.} < u.W / v 0XpX5 RXI.`.k.~ c 'XG.s 2 w",
-".rXt.k.b N.^ N.b.X.XXkXt NXt.k.^Xt ~.k.r.kX*.kX*Xd.u ~.8.`.`.8.aX-X-.` c.5.rXt.HXIXIXD : m ,.K.`.5.kXt.5Xg.o.b.U.U.U.U.UXk l.U lXg l.U.c.U.U.U.U.c.U.z l.c.U.UXk.U q.IXu.IXk.U.U.U.U.U.U.U.U.6.U.U.U.U.c.U.U.c.U.c.U.U.U.c.c.U.U.c.U.U.c.U.cXg.o.b.cXgXg.b.o.oX9.o.b.^XtXt.kXj.k.^.I.^.bXjXjXz N.o.o.b.o N.U N.b.b.XXg.c.U.c.U.c.c.U.c.c.U.U.c.U.c.c l.U.U.c.U.c.c.IXg.c.cXk.cXgXk.cXg.o.o.c.cXgXk.cXkXg.b.b _.b.b.XXz.X N.^XtXtXVXtX*X*XVX*Xt.uXV.`X-X, vXe /X=.) / 2XCXC HXC H H & HXCXC '.nXL.n.EXw.[XB.l #.lX1 R RX- a a R R R aX-X- aXD R.ZX- 3 a aX-X- a R RX1XD.M a.a R R.a t R a h x `.[ yXL.n.M RX-X-X, ' RX-Xl RX- aX- aX- R.*.e tX- <X- tX- aX,X-X-X-XD B R R.~.~X1XD.n 0XC.v.NXs t $ $ : $ xXIXD.a.eXc.5Xc DXK.]XK $ g.M.N.sXG.WXI F.k q.u .-X+.j U.M RX-X-.8X1 R t t t aX-.eX-.~.e R a a.eX- a.e R a t a < a tXq.9XK x = @ mXK.].uXV :.8XV.a R x o.9.E.M.`.`.r 3 ~.8.8.8.8 #X*.K `XJ.- = n.WXK 8XqXc x $ xX; xXw.EX> 2Xn.) E E pXA ^X= o.qXC.wX, RX1 a RXI.G RXDXI R 6.3 a.| a 3 R.e.%X5 :.G.e R.`X- YX,X,XI cX5.,Xh.aXD.e R 8 R.Z s.'.>X> o JX%Xr.<.<.pXrX> M H.'.qXUXOX;X..Y.-X,.a c :XJ.- MXp M.x vXG.j xX,.ZXlXDXD.M.w $X, U.M.ZXs._ v._.W.W.M.M T : BX5.DX5X5XVXV : DXVXl ' $.MXGXs.*.W G.= 2 2 J.Y xXDXI.rXtXt.` :.9 y v O H",
-"XtXj eXk.I.z.b qXgXj.I q.^ q.b NXtXk NXk.r.rXtXd.rXt.r ~ ~ ~X*.rXI #X*X* ~.rXVXIX1 RX5XlXJ IXt F q.8.k.^ NX9.X.zXgXg l l.QXgXk l.UXg.U.U.U l.c.z.#Xg.c.U.U.UXk.#.I iXkX d.6Xk.I.U.U.U.U.U.# i.I.U.U.U.U.U.U.U.U.c.U.U.U.U.c.c.U.c.c.c.U l.U.cXg.X.cXgXg NXg.b.o.o.o.^XjXj.k.kXj N.X.X.X.X.b.X.b.b.o NXg.b.zXzXg.b.oXgXk.c.c.U.U.c.U l.c.c.U.c.UXg.U.c.c.c.c.c.U.c.I.c.U.c.c.c.c.U.c.c.c.c.U.U.c.c l.cXg _Xz.b.b.b.b.X.b N.^X*.r.k ~.r.k.r.u 3 3.` cX, $.E.s.s.W p.=.s.E oXG b J bXmXGXG sXLXaXa.s.n.YXw.,.Y 1 x x.} a aX-X-X- tX-X- R a R.aX-XI a cX-XI aX-.a.a :X,X, c $ t RXDXD R R R.} # 1Xc ! 9.wXa BX-X1X-XD.~XD.9XI `.a aXD R.eXD R R a aX-X- aX- 3X-X- R.e.a a.e.a R B 8XL.n w.v.N.) RXIXK : ' : $XlX-X-.Z.e RX- a RX- $ R 8.WXs 2 sXD ~X* N 3 h yXpXG u.M a RX1X1.~.e R t t a RX- R a a.eX- R RX-X-X-XIXDXD $ R.M t C 1 yXc gXh ' D :XJ 5.] T m a x oXGXCXO 8 3 ~X9.k ~ ~.r 3 3.K.8 ~.`.8 3.G m :.G DXU 5.%.% :.%.,X. !XhXnXCXe p.. ..s..Xi ^X0.9XL.D.M aX- R R.3.e 3XD a.| D.3X..aX1XI a.| 1X-X# a.aX1X, KXI R R.eXcX. Y T.*XD R R RX,.wXG.> MXr.<X+.p._.x M M.L =Xm 9 !.G.O.GXH ` `.}XI $ hXc.- [ = z.Y.;.O.EXU yXJ.- g.-XcXc n.wXs U GXe 2Xe.s v .XqXsXcXl T D.2 ( Y } IXJ.%X. m DX; y =XL.s OXa 2 O O.E.9 tX1.`.`.~.`.~XD RXK v.s.E",
-"XtXt.kXx.z q.b./.oXx./Xg.X N q.8.^X9.rXxXj.k.r.kXt.k.r ~.8.`.r.`.`XV.` ~.8 N.8.8XI R : :XVXI.`.8X*.K.K.$ P.X.(Xk.(.tX@Xu.Q.&.z.t.z.f.t.zXk.U.U.U l.#.U l.U.I.#Xg.f d.6.6XkXg.#.c.U.U.c.U.U. . .#.#.U.U.U.U.U.c.U.U.U.U.#.U.U.U.U.c.U.U.c.U.U.c.o.b.UXg.b.o.o.b.b.bX9XzX*Xj.kXj.k.kXzXg.^Xg.o N.o.X.b.o.o.b.I N.o.b.o.c.U.c.U.U.c l.U.c.c.U.U.U.c.U.c.U.U.U.cXk.c.U.IXg.c.U.c.c.U.cXk.cXk.cXk.c.cXg.cXgXg.b.b.b.b.b.b.X.^.^.kXj.rX*X*XjXtXt.HXV I I.,Xl.+XC.EXwXn.;X> & HXmXLXL sXa.9Xa.n.w.wXDXa.n s b.!.jXwX+ .l cX,.aX-X-.a aX- a a BX-X1 B R RXI.a aX- aXlXl.9 TXJXwXK a tXD.MX1 RXI.M xXM.9Xw y.q.' gXD '.u B.`.` 3X- ` 3 aXl.Z.eXl : R 3X1 a RX-X- 3 aX- R RXD a.aX-.e BXDXa o.O J / u.*.MXDXIXIXDXD BX-.eXDX1 RX- B.~ R 3.K B C.=.= bX, 3 ~ ~.8 3X,.-Xp p u tXD R.HXIXDX-.* RXDX- a.e.~ R a RX- R.e.~.ZXJ D $XH x s 1 x.YXH.hXw.j $X, 3.8.H 3 3XD .jXq z &.+.'XD.H.5.^XoXtX9.X.kXt F.r e ~.H qXkX9 D.X.kXx.5.XXxX*.H.uX1XG nX+ p..XpXn ^X> J.E.j.EXe x R RX- R RX#X- c.a.eX.X-X3X$.eX,X-.eX.XJ T D.eXI.Z B 6.ZXIX-XD.% aXlXHXD RX-.aX- R.w.w.Y y = M zXrXp.hXS.+.1 K K.+X$ K.G K k : xXDXD xXD.Y.Y.g.[X% nXrX0 &Xh.Y nXK.[ =.j.Y.) bXn b.....@ ^X>..X6.@Xn & n 1.-X3 1 $ mX,.Z $.Z xXs.'.s v.v 0 O.N.=.=.= v $ aXI.`.`.`.` F.` RXq yXL =",
-"Xt.r.k.^X*.^.k.X NXk.k N.k.r.k.X.rX9X9.r.8Xt.K.rXtX*.r ~ ~ ~.u ~.8 ~ ~.8.8X*.`.H.`X1.H T.H 3.`X-.`XVXX.$.A ).7.&.( Z./.7.t X Z.7.I j.7.I.QXg.IXgXg.z.U.c.U dX Xu.z.IXkXg.U.U.U.U.U.U.U.U.U. .#.U.U.U.c.U.U.cXk.U.U.#.#.#.U.U.c.c.U.c.U.c.U.cXg.b.o.z.b.o.b.b.b.o.bXg.bXjX*XjXjXtXj.^.b.b.o.b N.b.b.b.o.b.b.U.b.b.oXgXk.U l.c.U l.c.U.U.c l.c.c.U.U.c.c.U.#.#.U.c.U.#.UXk.c.c.U.c.c.c.c.c.c.c.c.UXk lXg.o.b.b.b _.b.b N e NXtX*XtXtXt e e.r.rX-.u 3.KXGXwXn..Xp v . bXn yXmXa.w.DXs.'XDXsXIXs R.Z.Z.!.q.qXC &.j.- 1 .l h.a a.a.aX- aX- a BXD.* R.e.a.uX,.a B.} RX-X,X, h.M.MXD RXDXD R.a R # x.9Xw = !XUXUXUXyXl.~X-X- R.e RX- R hX, tX, c.eX-.~.~.`X- aXIX- tX- aXK $ a.eX1 R BXLXLXCXiXe.N a a.~.eX1.eX- R.~ BXD.e R.~ R RX- R cX, 8.=.NXL.'XI 3.8.8XVXD yX+Xn.i.MXDXl c DXJ $ x : :Xl.u x.a a t B.e a R.e.`.,XK $XJXc xXK.[Xc.1XH n nXD.MXIXIX1 R R x.1.+X8.+XZ.O.G :X1.H.r.XXkXxXk.r.R.X.zXdXx.o ~ ~.r.r.r.r eXj ~Xd ~ F.`XI U.j yXn.YX+ v...j vXs.j.' x.Z R R RX- R.3.aXI R.aXJX,.e #X1 3X-X1XlXlXIXDX1.eXI 3XDX,XI aX1.a RXDX- R.a R BX1 R R.w s y.j.j.Y.p MXh.hXHXh.+ @X;X; @XHX. | : $ h c 1 R 1Xw.,.,XH [.1Xm.@.>.s xXe.w._ vXp o...sXf ^Xi.@ S.4Xf .Xi 0.s v C a a RXDXD.M < t.a a 8.W.).@ w 2 2 O 0 J 9 sXD R.`.~.`.`.`.`X-XI.Z.G.jXZ",
-".kX*.rX*.r.kX*.r.r.5.8 ~.`.`.8.~.8.8.` ~XtX*.r.kX*X*.uXVXI.8XI.8 ~ ~.H.8Xt.k.H.8.`XI.`.] c 3 R #XIX-.K.5 ) q.X.&.A AX X@X X .t XX .t.7.6Xk.z.c.Q.I.I.6X Xu.I. .I.UXk.U.I.U.U.c.U.U.#.U.U.U.#.U.U.U.c.U.U.U.c.U.U.#.I.#.#.#.#.U.U.U.c.c.c l.cXg.o.b.U.bXg.b.o.bX9.b.X.X.kXjX*.kXtXjXj.bXg N.bXg.o.o.b.b.oXgXk.o.bXg.c.c.c.U.c.c.U.c l.c l.c.c l.U.U l.U.U.#.#.U.U.#.U.U.c.U.cXk.c.U.cXk.c.c.c l l lXgXg.X _.b.b.b.X.b.^.r NXtXtX*X*XtXj e F.H F.`XI.aXD v 2.) <.*.s /.sXC y.n.n 8 B.ZX- R.e t B $.n.E o O O O 0.Y.j x x x.}X-.}.a.a a aX-X1 BX- R R R.a.eX- <X- tXDXD.Z R R RXDXDX,X1 RX-X, 1 `XwXwXc gXG.Z.n.D R R BX- RX- R R.* a RX- a R.~ RX-X-X- BXI R aX- RXD a a < aX-XD.wXL.q 0 G.).* <X- t.e RX- aX- t 3 $.e t.e a.ZX-.a 3.*.NXs.=XG xXI.8.H FX1 '.[XnXpXe.M.-.ZXK T `XJXc : T :XJ h aX-.e RX1X- RX- R R R.~ RX,X,.a CXeXpXG.jXJXDXD hX,.w x x =.x.J.4 H ! g m.DXt.` F.HXtXt.^ NXx.bXd.bXk q.X.zX9XxXjXd.rXdXt.r ~.`.`X1 hXwXc.Z t R RX,.}XD 1 s $XD BX-.a a R BX-XIXD.~X-.~ R.~ R R.Z R RX- BX, aXD aX,X-.a.aX1 R RXD.aXDXDXD $XlX, $Xl.' g.>.+ n.1XrXZXh.hXhXh.G = !.>.>X..-XJ.i.a.aXI c.}XDX,.i .-XB.j &XG.;XG U EXpXnX=.. 0.@ J ^ ^X2X8.CX2 SX8.4X6.s .._X,.M.aX, U.a <.* < 8 C.W 2 0 oXp v.1 =.'.Z t RX-.`.`.~Xo.HX5.`.DX1 $XKXU",
-"X*X9X9X9X9X*X9X9XX.K.uXVX*XVX-XVXV.u.uXt.5Xj.K.k c.K c c.Z cXD 3 3XD.8XIXVXI FXI.`.`X-.5XV 3.a.a 3XI.`XI.`.8.K NXxXkXk.z lXk.UXk.U.6.z l.z.U d.I.6.tXuXu. .U.z l.U.U.UXk.U.U.UXk.c.U.U.U.U. .#.U.U.U.U.U.U.U.U.#.#.#.#.#.#.#.U.U.#.U.c.c.U.cXg.o N.# N.o.bXg.b.oXg.b.X.^XjXt.^XtXjXj.b.b.o.b.b.b.X.o.b.bXg.c.o.o.c.cXk.c.U.U l.c.c.U.c.U.U.c.c.#.#.#.I.#.U.U.c.c.U.U.U.cXk.c.c.cXk.c.c.c l l lXg l l.o.b.b _.X _ N.bXj.r.X.k.rXtX*.r.rXj ~ F.`XIXI.j.j.jXrXp yXe.T b =XU y.n.ZX1 R.D R R RX-.a.WXa.! o 2X=.=.).s.F.jXK 1 x #.}.a a a aX- aXI a RX-X- RX-.a.a a R R R.Z.ZX,.M R R RXDX,X1 R.} # 1XcXH nXwXU o.w.w.M t a R B R.* R R t R B R B B BX-.~ B.eXD.a a R a aX- a R.~ B BXaXLXC & v.N u a a R t a a t t a.ZX. x.- :.Y.-.9 VX.X, C.N.NXe o $.8.H.XXxX, x XGXpX, tX, t a B.~.e R a.e t a RX-X-X-X-X1X-X-X- BX,.a a R a.Z t tXp.9X+.jXpXqXKX+.9X+XpX4 p.C.;Xh.O.>Xy 4XO FX1.`.H.H.K.kXo.rXd.^.k.^XxXx.oXxXtXtXtXt.r ~ F.`.`X-X1.~ $Xx TXlXlX5X5 $X1 :.DX1X1XDX1XD.aX,XDXIX,XIXDXI 3.a.3 c.3XKXKX,XD $XIXDX, c.ZX-X,X,XD.aX1.a.9XlXlXl m DX..' !Xw.>Xh =.OX;.+.hXZX#.OXh.q.O.>Xh.,.- V `XIX, R cXDX,X, c.aX3.[.YXw.j.E & E.s..XfXf ^ w.@.4X:X>X8 WX+..XfXfX> w...s G.).WXe.WXe t u u CXsXs.W 2 vXq.-.GXHX#X3X. : m.5 TXx.~ D fXd 5 : ].2 D Y",
-"X*.rX*X*X*.r.u.8X*.`.`.`.a.`X-.`.8.8.K I q.%.$.% I |XHX3XH.9.GXHXG h U R.kXI ~.8.8.`XI.`.}.8.` ~XI.H T ~XVX*.rX*XxXgXkXk.z.I.I.I q d.6.IX .6.(Xu.Q. .6.Q.I.#.I. ./.U.I. .#.I. .U.#./.U.#.#.6.I.U.#.U.U.#.U.U.#.#.#.#.#.#.U.U.#.U.U.U.U.c.cXg.o.bXgXg.b.b N.o.b.b.X N NXt.k.k.^Xt.^.X.b.b.o.b.b.o.b.b.o.oXgXg lXk.c l.U.c.c.U.c.U.U.c l.c.c.c.c.U.c.c.c.c.#.c.c.U. .U.U.c.c.UXg.U.c.c.c.U.c.c.c l.UXg.o.b.o.b.X _ N.bXdXt.5.rX*Xt.r.kXV.8 ~.8X1XD y ...XF.).d * p.).v vXm oXl.Z 8 R c R.a a.a a.ZXL 9Xm O / / * *.)Xe.s.9.j 1 # h a.a aX-.a.~X-X- B a R R.M t R.M.M U x.Z UXD RXD B.a RX1.M.a c x `.9 x.YXwX+ vXL.wXLXLXD.M.D.w.w.W.w.w.Z 8 BX1 BXD B RX1 t.e.aX-.a #.a <.e R 8XaXLXC J 2.W.*.M t < a a a <.* a u < a.e < a t.e.l.*.M.M C u.N v TXD.H.H F F 3 hX7XpXH.1 U.a RX1X.XJ.eX1.a RX. n.e RX1X5.,X.X- RX- D.DXDX-X,XH.3 a U y M.O.+ z MXpX>.+.x z.xXi.4X0XG.n '.].0.0 ( @X$ D D ) I.X.X.XX9.UXt.K.k.K.kXtXdXt.r ~.8.8 3.8.`X-X1 B ' (.0.0XOXOXP.DXa.DXa @.'.% ' a BX1 RXD cX-.]X1 RX, :X5 x :XJ.,X..%Xc :.a.aXl mX5XcXKXKXlX,XI $.9Xc T g.'Xw.q KX0.>.E.Y.j.-X..-.9 K =.O KXhX#XH.- kXw k `XH.'XK 1 x 1.,.Y [X0Xp.@X> 0...4 S.4X8 S wXn ..p..Xq._._XnXnX8 L {.v.. O 0.W 2.s *.) 2 p v v oXG $ h : aX-.`X-XI.8X1 5.5.`XV.H.H.K.k c.KXJ.$",
-"X*XdXt.r.H F.8.`XV.`.a.`.`.aX-.`X- 3XV.k.K (.5 ` ) 1.- nXH n.O zXn.<.Y.-.0X1.H.HXtX-.8 3X-.8X-X-.`.`X9.u ~.8.H.r.k N N.XXgXkXg l l.6X@.tX&.Q l.U.#Xg l.#Xg.U.U.U.zXk.z.z. ./Xg.I.#.#.U.#. i.#.U.I. .I.#. . . . . i. . . . . . .#. . . .I.U.U.U.I.zXg.z.#XkXg.z.U.zXg N N.X.XXtXgXk.UXg lXk.UXkXg.cXk.c.z.I.z.#.U.c.U.#.U.U l.#.U.# l l.#.U.U.U.#.c.U.U l.c.U.c. .c.U.UXg.U.U.cXkXgXg.cXk.cXg.U l.X.b.b.b.bXz NXz.X eXt NXt.k.uXVX* 3XV.8X-X1 s.xX>X4XnX4..XnXn.@ ^X>.q.9.w.Z B.e `X-X- R.e RXD v vXC 2X= * C.d u.N.s OXGXm.F xXM 3 a a.aX- aX- aX- R a t t R tX, R.Z $ x.M.a.aXD.aX-.e 3.ZX5.l VX< |Xq 1X+ n.@XpXnXLXe.nXa.w.n.' y o.n.w.w.Z 8 BXD RX-XD 3.a.e R.a <.a a.MX1 B.nXLXC.E.s.) UXp h.} UXe U h._.iXqXe.M._Xq._ x x.g xXe.WXn.vXn o.DX5Xd.r.r # $XKXw.T.1Xw.MXD $ mXcXl.} R.9 h., xX1 aXl D TX- R.` `X,.a.e : R 1X,.*.wX+X>.jX>Xp.@ ^Xn ..{ ....xX>.w.wXsXa '.!X5.].GXJ D.2 I 5.|./.R qXtX*XVXt.rXtXtXd.r.H ~ 3.8XI.8.`.HXV B.n ]XP.0XP.0.n '.DXa.' D m g.DXlX-X1 R.O.wXc k D nX5XD R B B 1.Z hXD.aXI B.ZXc 1 TXD aX- aX,X,X5.0.w.Z.D.'XcXy =.GXwXGXwXcX3 x.Z.>XU = = [XBX7 1 UXl.aXD ` c.Z.a :.aXB k.S nXh M.@.; {Xf w S.; SX8.p ..iX7.d U U v .X>.{ wXi 0Xm J v.s ^X= 2.s bX> s.'.jX.XJ ` q.].X I : cX-XI.8.8.8.H FXdXd.rXtXo.r",
-"Xd e.r F F.` F.`.H.`.`.`.`.`.`.8X-.8.8 3.8.u.8XIX,.9.Y.9XcXq x X> pXAXq.YXa RX1XI.8X-.8.`.` F F ~.`.`.`.5X9 ~ ~.r.r.k.oXg.b.U.z./.IX&. .I l.c.U l.#.U l.c.#.U l.U.IXu.t.:.I.#.U.U.c.U.U.I.#.U.c.U.U.U.c.U.c.U.U.U.U.U.c.c.c.c.c.c.c.c.cXg.o.b.oXg.X.bXg.b.b.b.b NXg.^XjXjX*Xt.^Xj.XXg.b.oXgXgXgXgXgXg.o.I.#.U.#.I.U.#.I.I.#.U.U.U.6.U.U.I.I. .I.#.I.I.U. .6. .U d.IXu.t iXuXu.6.#.#.#.I.#.#.I.#.I.Q l.U.z l l l.zXkXo N ).X.5.k.X.5 cXV 3X*.Z.' O ^.. % EXe . ^X> & & & gXG.ZX,.Z $.}X,X, hXD.wXG y H 0 v p p u EXe.s O.sXm n.-Xq 1 .}.} 3.a 3XD 3 a.ZX,.aX, h.ZX,.w.Y.9XK $.Z.9 T : ` ` V kXBX3 V.-.-X7.j.jXrXr.; H.j oXLXm.q & 9XC &.! sXL.n.ZXD R RX,X,.a.aX1XI.a h.a RXDXIXLXLXmXC.@ 0 pXGXnXq v.F v._Xn._Xe._.) E._.F p._X7.F.F U.)XFXb.s.E.wXI F F.H.` 3.}.-.YXG.Y t aX- R.~ B B a a R a.e a BX-.e.eX- R.e a.~.eX-.e.a.e.e.M.MXGXpXp.TX:.T z.y z z.+X6.x.YXL x 8 8X5.D s s.wXwXKXIX5.KXtXt.kXj.rXtXjXt eXtXt.r.r.r.r.H.8 ~ ~X- 5.]X5.u D.D D @.0 sXaXL.! D.' T.] DX.XJ ' $ : :Xl.2 1.2XJXw.,XlXcXI $X-X- R a.a R.a R.e.a RXI.aXD R R B B.D.n.wXP.-XyXyX;.j.O.Y RXI t.w g [.1X<.- V $ h hXl a cXc :XwX.XK.3.3Xh.LXhXZ =.+.4 ;.4 ; wX2Xr.pX+._ U Xe U E._XnXfX+.j s.w.N 'XG oXL 0Xm.nXDXDX,X1.5.5.5Xk.5Xo '.kX*.8X- ~XI.8.8 FXV.rXdXd.XXt",
-" e.H.` F.`.`.` ~.H.8.`.`X-.`X-.8.a.8.8.8.H.r.u.`.9.9XKXp.MX, h.-.<X> ..EX+XK.j 1XK #X*.`.8 F.`.`.`XV.u.8.r ).8.k.k.r.kXt N.X l.(XuX .zXgXg.z l.Q.#Xg.#.U.U.cXk.IX&.6.7 dX .U.U.U.U.U.#.c.I.U.U.U.U.U.U.U.U.U.U.U.#.#.U.U.c.U.c.U.U.cXg.cXg.o.o.b.UXg.o.o.bXgXg.bXg.bXtXt.kXjXtXtXd.^.o.oXg.o.bXg.o.b.oXz.I lXg.U.c.c.cXg.c.c.U.U.c l.c.c lXgXg.U.UXg.c lXg.o l.c.I.c.6 i.#.6.6.#Xk.cXg.cXg.cXg lXg.bXz N _.bXzXz.X.bXo.rX9 ~.uXdXV.H.H 3.`XI 8 s 2 / u C u.w.).vX> y.E.9 vXaXD RX-X,.a aX- aXl U.w bXC O /.) < a t <Xs G.= 2 0X+.YXq $.l a.} aX-.a.e.a R RXD t t a.MX,.Z.[.9XcXcXJXJX5X,.a a.} c # .l.YX+Xp._.s v..XpX> yXmXC b 2.s 0 bXC o vXL.wXsXs R.aXDX- a aX-XD x $ a R B.DXL.E JXb.) *.d u.d.d C u u C u.s p.*.d.d.)._ E ..d uXF...BX6.@X>XG R.H.8.rX9XIXD xX+.F.Y < t aX-X- a t a t.eX-X-X-X-X- a.~.a.eX-X-.e R.~ aX-X-.~.a.*XeXpXp n z.y MX: z z rX>.;.j vXL.wXsXs 8 8.w.w sXUXc.D.u.kXdXdXtXtXj.k.rXtXtXd.rXdXtXt.r ~.` 3.8 ) ).,.$.G m.G.>XKXy.w.n y !Xy.OX.XD 'Xc.3 m.%.9 :Xc RX,XDXl $ c.9.e c R.a R.aXI aXIXD RX1.a.aX- 3 a.~XDXa.w.w.'.2XP @Xy K.G.3.,X,XI $X,Xw.jXHXBXB.-Xe $ $ $X5.a RX, T sXK $XH k k [.T.+ = r w.4.C.{XfXr.< >.-.F xXB x 1XH .XqXw.jXs B.Z B.DXm 9 g 8XI.~.8.`XI B.`.`.~.`.~.~X-.`.8.8 ~.`.8.H F.r.r.r.r.^Xd",
-".H.H.`.`.`.` BXVXIX-X- RXIXI.`.aX-.8 3.rXd.`.u.] D : $.a x cXDX,.9.[Xr z z vXhXh YX3.H.8.8.8.r.8Xt.r.`X9.`.8X*X9Xt.kXo q.X././Xu.z l.U.zXg.QXgXg.#Xk.U.U. .U.t.7 d ZX@.#.U.UXk.#Xk.UXk. .U.UXk.c.U.c.U.U.c.U.#.#.U.c.c.U.c.c.U.c.U.c.U.c.o.b.b.U N.oX9.o.b.b N.bXg.^XjXt.kXtXjXj.b.^.b.b.b.b.b N.o.b.b.6.c l.c l.U.c.c.c.U l l.UXg.U.U.U.U l.cXg l lXg.Q.U l l. .c.U l.c.U.c.c.c.c.c.cXgXg.cXgXg.o.b.o.b.X.b _XdXo.b.kX9XV.u.rXtXt.8XI.`.a.Z.n 2 8 * <.MXq.) O & o vXLXl.Z R t RXD a.M < `.ZXDXGXG.qXC vXL.N h h.M t.WXs.=.s bX+X+Xq $ x.aX- aX- R R.9X,.' h T.Z.M.M.- sXc.Y xX,XD.a.a a.} # .lX7X7.p n v.W pXeXeXqXLX+ H 0.v /.v o 2 0XCXCXG OXa xXLXD.aX- RX1 R.e.}.M a R R.DXa o o / /.).sXF.).).dXFXF.d.)XF . ....d.<.< WXA >X4 .Xb.J.xX2.<.x .ZXI ~.k.8 cXD.-XGXp.W R.*.e RX- t R.*.a.eX- aX-.aX- a.eX- a aX-.eX-.~.e a $ 1X, sXw M.pXrX+ = MXhXr.yX>X> HXwXGXa.n.* 8 8 8.Z s 'XUXdXV.HXtXt.r e.r eXtXjXt eXd.rXdXtXt.r.r.8 ~.8XI.`XJXJXJXK s.nXGXG.! @ T.GXU.0.Z 8X1XDXD :XJ.-X.XK.,.wXJ a.a a RXDX, RXIX-.a.a 1 $XD 3XDX- aXIXD R 8X5.n gXJX5.]XJ.]XlXl : : D DXJ DXHXH.1X7.- V.} $XD.ZX,.~.ZX-X,XD R.M 1.l.- k.[ n MX8 wX8.4XfX8 r r .X4 W.-XpX7XhXhX<X<XhX.XKXJ.] DXwX.XhX.XUXc.`X-X-.`.8.`.~.` BX1XI.`.8.8 3 F.8 ~.8.8.rXtXj eXdXo",
-".H.`.`.`XIX1 RX, a tXD 3X,X,XD hXI.8.8.`.rXt.k.K 3.u 3 x `X5.H.H $.'X5XhXhXp z =X+.OXh R 3XI.r.8 ~ ~.k.r.`XVXV.`XV.KXt.8XkXk.R.X./Xx.U lXg.IXgXu.6.z.z.cX&.(X .UX q.UXgXk.U lXk.c.UXk.#. .UXkXg.U.U.U.U.U.U.U.U.U.U.c.c.c.U.U.c.c.c l.cXkXg.o.b.z.b.o.o.X.oXg.b.o NXjXt.r eXt.^.rXk.o.b.o.o.o.b.o.X.o.b.IXg.#.c.c.c.c.U.UXg.c.c.c l.U lXgXg l.U l.U.#Xg lXg l l. .U lXg.U.cXg.U.c.c.c.c.U l.c l.o.o.b.b.b.b.b.XX@.zXoXtXo.z.5.u.r.X.8.`XI.a s.W /.N 8 t U.W.= O & &.>XG y.n.w $ TX,.a R R $ 1.2 & ! = = &XC.YXq 1 ` a.W.wXs G.=.sXp.-Xq.i x 3.} a.aX- x :.9Xc 1.9 U.Z x x $X, R U 3X- aX,.l #XB >X%XB.F.Y.j.j.-.[Xw [X%X0.@ ^X= 2Xi J.. J.s J H yXG.w s.9Xl B R BX- R tX- aX-.~XaXa 9 w.BXbX=XF.).)XFX=XFX=XvXFX=.J .XfX=X2X2.J L L.P.B %Xf.{.{.JX4.x.-.ZXI ~.8 R R.Y.YXp x U.a c R.e.e.*X-.e RX- a.e.e.e.a aX-X-.e aX-.~ aXI.~ #.,X.XcX+XHXwXH.1 [.j.T MXhXp.@X> & y v.w R R.} B.Z.w '.2.`XVXdXtXdXtXjX*XtXt eXt e.r eXtXtXtXt.r.r.8.r.8XIX-.Z gXP.9.n = g.G.O ' DXOXlXD RX1 R.aX-X- RX5.'XcXJ.9.e R RX-.}.u R.aXDXDX- DXJ $ x :Xc c : T 8.Z.wXP TX1 RX-.`X-XIX-XI cXVX5.0XlXJ K.SX%.- [.[ :., T cXK.ZXwXK sXJ x `., $XS [XH z.4.{.C ;.JX:.h.T.y.+.h.y.1 zXp [.F.g XDX9 :.5.0.DXKXc x 1 :.`.`.8X-.~XI.`.`X1.`.`X- 3.8.8.8.H.8XV.8.r.r.r.rXt.b",
-"XV.8X- 3.`X,X- $ x x vXGXn vXnXK.ZXI.8X*.rXt.k.rX*X*XIX9 ).`Xt.r.H.kX5 cXl.Y.p.x .Xn.xX+X,XI cXtX*.rXt.rX*X*.rXIX*.K 3 ).K.8.r.k lXg.z.z.U.IX&X& d.#.I.:.6.t.f l l.zX ./.UXkXg.#.U. .U d./Xk.#.U.U.c.U.U.U.c.c.U.U.c.U.c.U.c.U.c.U.c.c.c.cXg.o.bXk.b.XXz.b.b.b.bXg.bXg.I.$ NXt.rXj./.bXg N.b.b.b.X.o.o.o.IXg iXg.U.U.V.c.c.U.I.6 d.6XgXg.#XkXgXk.U.c d.(Xu lXg l.Q l l.U.U lXg.c.c.cXk.c l.c.cXg.b.b _.b.b.b.b.XXk.I.|.& ) I.$ ] ( 5.]XJXB x ..sXs.N C C E.)X=.vXm.'Xm.n.9XK.9 $Xc x R a t R RX, v v.q oXaXa 8 8.a.e.a tXe.M.)XsXe.).Y y xXq x.}.a a.a.M.a a <.a.a R.wXq $ $ UXI h B.} xXM x Xc.gX+XeXeXe.iXD.WXDX,.WXe.. p.C.s *.) G ^.@X=X> O.@ HXm o g o.Z 8X- BXD.e <.a.~X-.DXL 9XC 0X6X6X6...@Xi ^XiX6 0XiXi ^X6X6.J.;.C.4 ;.{ w {X8X8X:.{.<X%.< = & 3 3 ~ 3XIX+ Xp._ $., mXl : 1.9 $ 1.~X-X- a RX- a.e a R.e.a.e a.~ aX- 3 x.aX,X,X, hXI.M h.Z xXqXnX+Xn.E & 9XL.w $ R R.a.wX5.!.0 BXo eXtXt.rXt.r.rXtXtXtXdXt e.rXtXtXtXdXt.r.r.H.HXV 3.D @ @X; 4Xy.9 T.'.ZXUX5 m.u hXIX-X, cX, 3X-.e 3.a.aX-.aX, 3XDX-.aX- hXcXK :.,XcXJ D ` `X,X-.w.w gX1.H R.`XI.` RX1.a.u.`.~.`X1X-.[ k [XB.L K $ m cXK YX5XJX. sXH.YX.Xh.- 6XH [.1.; L L.PXfX2X8.y.y.y M.+ z.jXqXpXq.Y <.aX-.`XIX1X1XDXJ sXVXI.`X1.`XI.8.~.~X-.`.~X-.8 3.8 ~.8.H.H.8XV.K.^Xo.^Xo l",
-"XJXX qXM.- 1.YXwXn v.W.)X=.W 2XG.n.kXV.rXt.b.X.X N.K.r.`.` F.` F FXdXtXoX1X- uXp.. %X6Xn.@ xXD 3.rX*XtX*Xj.8 3.u.u.8.8.8XV.r ~.k N.bXg./X X X .I A d./.(.A./Xk.zX@ PX&X l l.IXk.6.f.UX d.#.UXk.U.UXk.U.U.U.U.U.U.c.c.U.c.c.c.U.c.U.c.c.o.b.X.o.U.b.IXuX .I.X.b.b.oXk.z.X.r.X.I.zX N.o.oXg.b.o.^Xg.U l d.QX&.cXg.U.U.c.U l.#.#.U.7 d lXk.c.#.c.b.z.b.b ZX .oXg.I l.# lXg.U.c.U.c l.c.U l l.o.o.b.b.b.b.X.b.b.b.R.zX@ 5.X (.5 (.5.K.KXl 1 y.s / / /.W.N...).= OXCXG.n 8 8 8.e.a aX, < R `.9XD R.n v.! 9.=.N.M R t R a B t t t.d.NX0 2XpX+ $ x 3 tX- aX- t.a tXDXD.9 $ g x.Y.a.a.} xXMXM .-XB.p._ E E.M 8X- <X- x.[ u.W pX6 %XFXF G u * oXC.v o bXmX0 =.OXyXa.D 8 a.aX5 `X1 BXD.w 9 HX>X>.CX>.4.L.4.C.@X> w.@.4.4.4X>X8X2.CX>.C.4X8XfX8X>.J.<Xq.m.CXp [X,.H.8.8X,Xc.YXpX% U.9X5 TXlXl 1Xl T.~X- t.~ a.e aX- a.~ aX-X- aX-.eX- a 3 a t t a.e.aX-X- a < <._XnXp HXC s vXD $.% $XDX5.nXOXdX1.k ~XtXtXtXtXtXt.k eXt eXtXtXt.rXt e.rXdXt.r ~ ) ) T ]Xy 4Xy.n.nXl g '.ZX. 4Xw ' DXJXKX.XJXK.~.a R t R aX-.9XJXcXK hXDX, 3XlX, h.Z c $ hX- R.e.D '.0 mX. R 3.K.5.8.HXV ).D.`X1.8X-XI 3 k V k k.,., ` ' $ $.'XlX, $ 1 $ `., kXc nX#X0Xf.PXiX6X6.@X4X6X>Xi.@X8.C.p..._.p.Y.a.8X-.`.`X1 8.MXG 1.Z.'.].HX5 5.u.KXo.K.u 3X*.KX*.kX*.rXd.u.k.KXo.k.^.^Xj N",
-"X3.K #XXX3 n n o vXF.).s 2 2.NX0 T.X.5 ).R.R q./.$XgX*XjXt ~ ~.r.rXt.k (.$ $ R Xq v %.s .XpXpXl 3XVX*X* ~X9.$Xt.k cX*.K 3 ~.u.k.XXtX X .t.Q A Q Q X.A.zXk././.7 Q.7 AXk q./ d.( iXu i./. .U.c.U.UXk.U.c.U.U.c.U.U.U.c.U.U.U.U.c.c.U.o _.b.o.bXgXx A.(.XXk jXg.X.bXg.k.b./.R.(Xo.zX .b.b.b.o.o.X.o./Xk.:.tX X&Xg.U.U.c.U.c.c.c l l.I jXg.QXg.z.c.o.b.o.b.X.: AXx.t Z.6.z l.cXg l.c.c.c lXgXg.o.b.o _.b _.b.b.o N.b N.^.k N.r.uXV ~ 3X1X-.w v.= 2.= 2.=.) 0Xv /.vXC 'XLXD R RX- R RXD R R m.aXD R.wXLXm o 2Xs 8 t R tX-X- R t R.MXK MXeXe v.pXp.i x 3 < a.eX-X-.aX, cXlX, =X. s.M h.l.l.FX7.[Xp._XqXGX, <X- a R R.*XwXc a.N pXn %X=.) t.N t.MXe y o O b.E.T.G HXLXL.Z.D BXIX1.~ B.DXa 9 H.EX> W ..y.+.jXn . ^XnX4X4Xp .XpXrXnXn MXr.@.x S.;.xXp.Y.MXpXpXpX2.9.` ~.8XI `XSXp.j t.aXI.eX1.eX1.e.eX-X-X- a.~ aX-X-X- a R a a aX- a a tX, a R.e.aX-X- a a R a.MXpX4.Y.q o.w.n.MXy 1.ZXlX5.0 (X1 FXdXt.rXtXt eXtXtXtXt.r.kXjXt eXt.k.r.rXtXt.rXtXd Q : (XI.Z g (.0 g (X1X1.] @X..w : $XD :XDX5X-.e R.~.eX- R a.e.,.GXl.%XwXcXHXc mXcXl.aX- $ 3.D.Z.n.'Xy.] T )XJ.$ T.% ) f.5.H.8X1.`.`XI 3 | 5.,XX k.,X#.Z :.9 :X. hX.XlXS., |.[.O =.O HXi..XnXp.Y v.T.x.P ;X8X8X2.x >XwXcX, c.HXV.uX,X,.n.Y &.>XwXcX. D m D DX3 D.8 ~ ~.8.8.8.8.8 F.8.uX*.r.rXt.r.kXt",
-"X1.a.a a RXq b /.).) *XG ^.N v.'XD ) q f q.A.$X .f q.b.^ N.^.^.k NXt N IXX.KXM X+Xn.<XiXbXi ..<XDXD.r 3 ~X9.K.8X*.`X*X* ~.rXdXoXo.k q.R.z.7 X Q f.IXk q./ fX Q.I.R.IX@.t./.(Xu.z.z.U. .UXk.#.UXk.zXk.#Xk.U.c.c.c.U.U.c.c.UXk.c.U.cXg.o.b.o.XXkXg j.zXg.o jXgX9.b.b.k.kXjX$ N.^ N.I.bXg.b.b.b.oX9 N N.:.Q.R.I l.cXk.c.c.U.U.U l.z.t.:.z l.c l.c.b.b.o.X.X.tX$.z.z A.XXkXg l.U.c.c.c.cXg.o _.b.b _Xz.b _.b.b.b.b.b N.k.k N.rXtXt.u.8.HX-.n s J 0 J ^Xn ^ 0 0 0 b.q s.w s.e R aX- RXD.a R.wXc.eX1.WXL.E 9 2.N.N t t a.eX- BX- R.aXU.j v.) pXn.<X+ x 1 $X- a.aX-XD.a 1.Z s TXwXe h .l .[XB.F._ p E x R R R R a a.9 $Xw aXD pXn .X=X=.N u.M R C.n v v HXC.+.O = o.nXLXaXsXD.eX1X1 8.n s HX>X4X+X4.gXr.xXqXGXqXnXq v.j 1.pXGXpXqXrX+ [.j.jXr.pXG.- R.' vXp.x.j $ F.8 ~X,.[Xr zXn.wXc ' :.Z : :.e RX-.~ RX-X-X-.e.e a.~X-.~X- aX-X- aX,.e aX- a.e RX, c h t._XnXp.j H.n.nXs R a sXl.n.0 gXaX1.`X5XtXtXtXtXtXtXtXtXtXj.rXt.rXt.r eXtXjXt e.kXt.r.k.r.`.HXV.` '.2X5XD.`.`.Z.].wXD.e.a aX- BX-X-.~X- R RX- a R a $Xl xXl :XcXc R $.Z.MX-X-X-X-XD.'.0 4Xy.].H.k cX*.u.u.u.`.k.uX-.8 3.`.8.8X*XX.,.,.% k.3 1XK V T.- x.3XH.3.SXh.3 = =.>.T.; & &X+Xp.E.<X6.P.P ;X8 ;.< >XMXIX-.~X-.` B R x v.. 0 v v.ZXDXIX1.`.`XV.8.8.8.8.8.8 ~ ~.rXVXt.rXt.r.kXtXt.rXt",
-"X1X1XI.a.M x O.) C t.).< / v.nXX.8.8.r.kX9 N N.b N.o.KX9X9 NXt.^X*.rXM.kX*.K., # h.i v.@...s.CXpX+.9X, 3.r.8.r.r.a.r 3Xt.u.kXt N.X (.z A ZX@.t AXx l./Xu.7.tX@Xx l.t.( dX X .z.z.UXkXk.z.I.U.c.z.z.zXk.6.U.U.c.U.U.U.U.U.c.U.c.c.c.UXgXg.b.o.bXkXg.:X9.X.z.7Xg.o.X.bXtXt.kX$Xd N.XXz.b.b.b.b.oXg NXg.z jX X .U l.U.c.U.cXg.c.c.c.6.&.: i.U lXg.o.o.b.^.o.z.R ( jX@Xk.bXgXg l l.cXgXg.o.o.b.b.b.b.bXz.b.b.b.b.X.b NXjXjXtXoXtXt.u.8.8X-XIXK gXCXP.q H & yXC yXCXCXP.n s.Z a a a R.a.a R.ZXcXD.a t.ZXa o o.s.N.d t t RX- RX-X- R.a h.M.W.N.)XeXnXp .i c.} a a.aXDX,Xl.M x $ x h `XBXBX7X7.FXe.m.W UX, a.e.aX- t aXD.eXD t.* E...@.sX=.N.* t.M tXDXL v y o.. y 0XC.q 9.n.w.nX, R.*.MXaXG.q oXq C.d.M.M <.M.M.M t.M < h.M 1.M.M.M.M.W.W._Xq._XL.M.* RXD UXpXp.j `XI.8XIXDXJXHXh.1.1.-XwXK.%Xc D 3XDX-.aX- aX- BX1X-.~ R.eX- a a a a.~X, a.a.eXIX-XD.a x.9.M.9XnX>Xr.!.w.w.*Xl $.n.w T g DXV F.8.kXdXtXtXtXt.rXtXtXtXt eXtXt.kXt.r.kXt.rXtXt.r.k.kXt.u F.8XVXIXI BX-XI.~XD g s RX- aX- B.~.e.~ a.e.e.e.e.~ R aX-X, 3 RXDXDX,X,XD RX1X,.MXDXI '.0 ' TXy.DX5.u.uX5.KX5Xo.KX5.5.k.u.kX*.uXt 3X9.$ k | `.-XMXD hXI a.aXKXc k kX.XUX0.!.>X0 w w.. y._ *Xn %.P.CX8X2.<.F.p h a.8X1.`.`.~.aXG v 2 v v.9 RX1X1.` 3XV.8 ~.`.8.8 ~.r.r.rXtXtXtXt.rXj ~Xt e.kXj",
-"Xd.D 3 cXG 9 oXL E E.xXG.vXK.}X*X* NXk.XXkX9XkX9.f qXkXkX9Xo.KX5X*.rX9Xt.K 5 ).8.a.MXGXnXb.. % . v.9XK 3 3Xt 3.rXVXI.HXI.rX*.r.& ].R.t.7.t X.I.I ZX&.7 X.&.U.z X.t A.7Xu qXg.z.UXk.zXk.IXk.I q.I./.I.U.&.I.UXk.U.c.c.c.c.U.U.c.U.c.U.U.c.o.b.b.U.XX Z.U Z q N N.XXj.k.r N 7 ).X.R.o.X.o.b.b.o NXg N.z.:.z.z d l.U.cXg.U.U.c.U.z.t.IX&X XgXgXg.b.b _.o.X l lXo.t.:Xg.o.X.o.o.oXg.o _.o.b.o.b.X.b _Xz.b.b.b.b.bXz.kXtXtXd N.uXt.r ~.H.`X1 T.!.! 0XG J.nXn.wXGXa bXL '.Z RXD.e R a RX, R.* aX- R R.WXa 9 o 2.N.N t t a aX- B B a t t a C u.N.sXsXn y.Y.F # $.} <XDXD x.a.}.} #.l XBXr.- vXeXe U u C h t.~ RX- a R aXI B R 8 E.)X4XiXb.W vXe 1XD 8.WXe x v.w H 9 0 vXCXC 9XaXaXLXD.DXL b y.E J t < aX- a R aX- tX- aXD $ 3X- R.e $.9XD.Y.W v.YXD 1XI.'.dXnXp [.Z.8.HXIXI.K n.-XwX+XpX,.}X,.`.aX,.eX-XIX,XIX-.~.eX-X-X- aX-X-.~X-X-X- R R 3 $Xc tX3 1 s xXqXnXp.x H vXLXDXDXwXw.' 'XU.0.0.k.`.8Xt.^.rXt.r eXt.r e.r.r.rXt.r.r.rXt.rXjXjXtXtXt.r.kXt.r.u.8.u.`X1XI.H.8XVX,.2 TXlX,X,.aX,X,X,XD.u h 3 3 hX, 3 c.,.,.]XK.ZX5 :X,Xc T xXl TXl.'X..2 !XJ.Z.HXIXV.H.`XI.H.~ F.8.u.`.H.`.8.8.8 ~X-.8 #XJ ` `XM 3.a.}.a.aXc.[X.XwX..>XK b & =X0X0 HXr.s.m GXAXA.C.{XA.J.{X2 # R.`.`X-.`XI < v.sXb.s b x BXIX-XIXI.` 3.r 3 ~ ~.r.r.r.rXtXt.rXd.rXtXt eXtXj.X",
-"X-.`.`.M vXL vXs tXp.s.) 0 v.}X*Xt.XXgX9XgXkXkXg.f.$ } I.A.%X# IXX.|X9X5Xt.5.k :.0XJXwXUXr.j.p nXr g.Y.K 3XVX* 3XV.u.Z c.ZXdXx ,.X.f ,.7.&.z.I.I Z fX d.I.(X XuXu.z.U l l.QXg.zXk.UXg.f.zXkX q././Xk.IXg.c.#.c.c.U.U.U.UXk.UXk.U.c.c.c.c.o N l.o.b l q.bXzXg.b NXjXj.kXt.k ).IXg.b.b.o.o.o.bXg N.z.7.: i.7. .zXg.c.U.U.c.UXu.7 i.U.(.:. .z l _.X _.X.z.7.t.zXxX .^Xg.b.b.o.b _.b _.b.b.b.b.b.b.X.b.b.b.X.b.b.kXj eXt.kXoXt.u ~.8.H.`X1.H.' g.nXmXL xXa.w.w s.wXaXy sX5X, c.a R.aXI R R R B.a t.DXLXGXm O.N.N C tX- RX- RX-X- t R <.*.* C 2.N 2 v.EXBXM.l #.} < <X,.a h h .l X%XcXqXeXe.W < u.* h R.aX- RX- t t a R a a U pX6.@ 2.)X+.Y.> nXH n.jXe._.W.>.= 9XC v JXCXm bXeXLXLXe b H.E s 1 t.a aX-X-.~.e.` B.~ 3.KX1X-X1.~.uX, <X,.M.M.M.MXDX-XD.dXqX4XwXlXIX1XI.uX1.0.,.YXpX4Xn t R.a R 3.e a a.e R 3 3X, RX-.~X-X-.e R.eX-.eXI.ZX..e.[.9 sXq.wXnXp.EX> WX> s.w.D R RXc.w.0 g 8.H 3X*.K.5.XXo N N N N.X.XXo.XX9 N.X.X.X.X.5 NX9 N NXx N.K N.5Xt.u.kXI 3.H 3.8 3.DXJ 'Xl $.a cXIX-.~X-.e.e RX-.e.~X-.e R D 1 `Xc.,XcXK DXJ xX.Xw.'Xw !X;X; 'X5XV D.u.5X9XoXo )XoX5.$XV.8.H.8 ~.8 ~.8.8.5 I DXXX3 #.a.}X-.}XKXKXHXw yXUXm s.qX> w & SX0X6.sXFXf...JX8.{XA +.y x.aX-.`.`.~.` t v..X= 0X+.w.9X5 ( ) q D ).f.r.8.rX*.r.rXt.r.r e.r NXg N.r eXj.b",
-".`X-.a h b.s.s u UXn.)..XG x.`.8.^ N.b.b.b N N.5.kX9Xx.KXlX5 c cX*.K.X ~.r.r.^.&XxX5.wXDXeX, x x hXDX,.ZXV V I.,XMXl.-XK.%XJ : T.$ } Q.t.AX&.:.tX& XX .7.7X .(X&Xu.6X .( Z./.6.6.fXu./ Z.f./X ././.I.I.I.I.I. .I.U.U.z.#.z.U.U.U.U.U.U.UXkXg.o.QXgX9.oXgXkXg.X.b.b.k.^.r.k.k.^Xj NXg.bXg.b.b.b.b.oXg.bXkXk l.o.c.c.cXg.c.c.c l lXkXg.z.#Xg.oXg.b.b _.b.o.b.X.^XgXk N.b.bXz.b.oXz.b.b.bXz.b.^.b.b.bXz N.b.b.^.k eXt.r.r.k.k.r.r.r.H.`.8.` BXI.!.0 sXa RXD.MX1 8XD T.n 1 :.,Xl aX- R R R a B.M R RX,XaXGXC.sXv.N.* t aX- a B.e aX- a a t t.* 8Xs.N.)._X+XB.FXM # h.a <X,.i.l XB.[Xc._.WXe U 8 t t <XD B.e B B R a R a a t.* U E pXfX6 2 vXL ' xXG.9.wXe $ UXsXsXG.) J J OXC.q o.s v.E J.q.E v.M a.~.eX-.~.~X- R.~X-X1X-.K.eX-X1 R R RXD.M <.M.aX1 R 3 tXG.x [.9.u.uXlXxXxXIXJ.[.jX+.pXp U.a #.a 3X,XIX,XDXIXDXI 3XI 3XIXD cXDXD.ZXD h $Xw.9.wXl._.9.jX> y.jX0 H o s.w $X.X,.nX5XP.0.HXV ~.rX*Xd.X.rXtXtXtXtXtXtXtXtXt.rXtXtXVXt.rXt.rXt.r.rXt.r.H.r ~.H.u.`.`X1X-.`.~.HXU 1.GX,XK :XK `.] 1 5 hX- RX1 a RX-XIXDXl.a.aXI.a RX, a RXD $ 8.0.w.2.2 5X9.% q.$ ] 5 Q.A.R.$ 5 )XI.H.8.8 ~.8.8.r.`XI 5X# |.,Xc.}XD c h.,X# K.>XwXw 9XDXm yXG HX0 SXn %XnXi . w.T.T.{ rX% aX1.`.`X- B.aXG.s.v.. y s.5XX ).5 )XxXX.5X*.rXtXtXtXt e.rXtXtXjXg.IXj e e.b.^",
-" 3.a.}._XL...=.WXp *.).).9.w.r e.^Xg N.X NXgXo.kXdX9.5Xl )X3X*.5.rX*Xt ~.^.^.^Xx N.KX9.KXM.5Xl ` : cX5XV.uX5X3 I.,XH.Y nX>.j.9Xh.0 5 ).$X .7.(.t./.& PX ZX@./ i.& d.7X&.6 d.z lX@.&./ d.I qXk.z.UXk l.U.I.U.U.#.U.#.#.#.#.U.z.#.#.#.U.U.U.cXk.IXgXk.UXkXgXk.cXk q./.XXx N N N.XXk.U l.U.U.#Xk.IXk./.6X@.6.I.6. .I. . .I./.6.6. ./. . .I./. .I.U l.z l.z.z l.z.I l.UXk.UXk l.z l l l lXk l lXk lXkXg lXkXg.X.bXo NXo N.X.XXoXo.K.rXt ~XVX,XD ' ! 'XlXDXD.ZX1X1XD RXs.aXD.a.}XI.M.}XDXDXDXD R RXD.W.n 9 & b.WXe.M.M.MX1XIXIXDXD.M.M.a.MXI RXDXs.WXL 0X4.p kX+.F `.i ` n W [.9Xq x.w U.M.}XDX,XeXDX, 3XIX,XDXD 3XDXI h h.. .X>.4Xn vXG s.' '.9.9.YXG x sXDXL.w M b.@ 9.E &X0X0X0.;X0 y yXDX,X,X,XDX,XDX,XDXDXI c 3 :XI 3XDXJXl 3XDXl $.9XcXDXV ' xXp nX%Xw 3 3.k.XXVXVXl x.YX+XpXn h.M c RX-.eX-.~ RX- aX-X-XD.e.a.e tXD UXJ.M h.M h._XnXGX4 J.YX> & yXGXL.0 s.,.2 $.Z.nXP 'X1.`.8 ~.k.r.X.rXt eXtXtXdXtXtXtXt.5X*Xt.rXt.k.k ~XdXd.rXoX@.z.RXV.8.kX1X1.K c.8XVXD.2 g.OXcX.XKXM DXKXJ : 3 R.e.~X-X1.a a.`X5X-X1XI RXI RXI R 8.M s x gXIX5 3.r.uXtXV.r.r.X N.K ~.8XV.kXt.k F.8 F.r.H.k ~.$ }X.XHX#.% kXc.-XJ K K.O @ !XUXD.wXK J =.xX8.@..Xi.v w S.y.4.4.{ LX2 h RX-.`.`.` R x oXe ^ T.*XI.8X*.8XtXt ~.r.rX*.rXt.r e.rXt e.r.^Xz.^.^ e e.k.b",
-".u c s ..)X4 vXp.).s.)XL.9X1.HXo.b.b N.b.b.k.rXtXt.k q.KXkXXX9X*.r.X.^.X.o.bXg.^Xg P./XoXtX*X* I.|.K Y.k D I )X#.SXh.T & . OXn.j.3.5 N }.(.f./ qX@ f.7 Q./ lXk l Z.(.6.I.I.IX&X .#.6.U./ l l.U.U.z.z.UXk.U.U.c.U.c.c.c.cXk.c.c.U.c.c.cXg.o.b.b.U.o.o.b.b.o NXg eXt.^./.kX*.kXt.r.b N.o.b N.b.b.b.b.XXg. Xg.cXk.cXk.c.c.c.c.c.cXk.c.cXk.UXgXg l.b _ _.X.bXg.X.b.zX9Xg.o.bXg.o.b.o.o.o.o.oXg.X.b.X.b.X.X.b.^Xd.kXd.^Xd.k.5Xo.k.kX*Xt.r.u.8.HX1.' g.n.nX1 $XVXDXIX1 8XD.aXDXD.a.aXIX1.Z.MX1.M.a.MXDXDXLXG.q 0.= 2 C <.a.a R RX1 RX- <.aX- R RXD 8XL.s.).)...<.[XBXM XB XB.pXw.Y._XeXe U.a <.a.a.M t.Z RXl R 3 a R.aX-.aX- t.M E.m.@Xi.)XeXsXD.W UXa.M xXe x 1 $ t C u.WXm.NX> O.@.;.@.@XGXGXG $ a.e.e.e.*X-.* a a aXD R.u a.* RXJ :Xc DXc.Z h D.]XJXcXJ.1 z WX#XD.H.8.H.r.8XV.Z.M.pX4XnXq.M h.~X-X-X-X-X-.~.~ RX,XJX,.w hXc.9.eXeX+.FXpXpXpXpXnX4Xp.jXrXrXG.nXa.'XD.*.9 'X1.nXa ' DX-.8 ~XVXt.rXo.rXtXtXtXtXtXtXt N ) PXk ) ) q.$ ( )XxXx (.XX$ Y Q D.R.2 Q.| ).%Xo.%Xx.2XU.'XD R.~XDX,X- RXI hXD.u 3 3X,XI.u RXl 3X-.eX1 R.aXD.a R x.n T mX1XI.rX*XtXtXd.k N.$.XX*.k q F.k ).u.r ~.rXd.r.rXV.H.k.,.-.,XK.}XDXXXX [X..OXGX;X,XD.w.jXU zX0 MXi w ^ z = & = w L.{.CX+XBXqXl.`X-.`X-X-Xe s s.WXI.8 ~ ~X* ~ ~X* ~ ~ ~XtXtXtXtXtXt e e e.^ N e eXt.bXj",
-" <XpXeX=.).. ..) /.sXpXG $.8.rXz.o N.b.^ N e.rXtXtX*.rXt.kX*X*X*.^.UXgXk.o N N N N.5.k.K 5Xo.kX@ 5 5.& (.5 5.K 6X7.hXpX6Xi..Xi & yXc } 5X3 N |.( Q Q.$Xk.5.A )XxXkXg.z.&.(.IXu.I.z.U.Q.Q l.U l.U.UXg.Q.U.c.U l.c.o.o.V.o.V.U.c.cXk.U.o.b.o.b.o l.bXz.oXg N.o.bXjXtXtXtXjXjXtXj.k.b.b.o.b.o.o.X.o.bXg.o.I.c.c.U.c.U.c l.U.UXk.c.U.cXk.c.c.U.c.o.b.b.b.b.o N _.b.U.b.b N.b.b.b.b.b.b.b N.b.X.b.X.b.X.^.^Xt e.rXtXt.rXt.u.k.k.rXd.uXt.8 ~.8X1.`XK.0.w.w.D.e RXI B R R RX1X1X-X-XD R.aXD RX1 R R R R R.nXLXC 0.N.) t t a R.e aX-.* a a t a a.~XIX,.* u *.)X=..Xr 1Xq kX+.-XpXnXe.W.} < t.a RX-XD tX,X1XJ.5 TXJ 1 :.MX-.a <.M E.sXfXi.)Xe U.9XK ' y y nXK.9XK xX- t C C CXG.E 2.v ^.xX4 .XGXq.Z R.a xXI t.* a t.eXD.M.a h.e a RX,X- :.5Xl 3XD.ZXI 3 c.M xXp.YXw.M.8.8 F.r ~.H cX- $.pXpX4 UX,X- RX-.`.~X-X-.e R.uXH.a.[ $.YXqXqXqX4 ..<.J.<.<.x.xX2XrX> v.n.w.n.nXOX5 BXaXaX5.0 (XP.H.8 ~.rXt.rXo.r e.r.rXt.rXtXt.5Xk f.f }.&.|.f f P.R 5Xx.X ].R I 5 QXJ 5 ).] 5.5.| : '.0XKXl 1 '.a.e R R BX- a aX-X-X-.~X- 3XD cXI R R RX1X1XDXs.9.' g.]X1.rXVXt.k.r.rXt.X.z.X.^X9 )X*.5Xx ~Xt.rXt.rXtXt.r.rXI #., `Xc.}X-.} ` [.%X.XhXy.jXw., @X;.GXZ.T.O.L =Xh.OXC.E =.@X6.4 ;X2X# X1.`.`.`X-X1X- tX,.H.8 ~.8 ~.8.8.8.8.8.r.rXtXt.r e.r.rXjXj.bXg.b.r eXzXt",
-"XLXn.sXvXF..XFX=.v 0XGXBXI ~.r.X.^.X.b.bXjXtXjXj.rXj NXkX9XgX9.bX9.IX9.o.k.k F 3.H 3XV I.k.HXoXdX*.r.K.K ~ NXMXJXh.1Xp..Xb 0 SXh.O.OX..K.kXt.X 5X5.K.AX9.A.$Xd.5 N q.A.&X@.I.z.z. .#.U.Q.U.c.# l.#.U.c.U.U.c.#.c.b _.o _.o.o.U.#.o.b.b.b.b.b.oXg.o.b.b.b.b.b.bXj.^.kXjXt.rX* N.o.X _.b.b.o.b.o.b.bXg.b.I.cXk.c.c.U.c l l.U.c.UXk.c.UXk.c.UXg.o.b.b _.b.b.b.X.bXk N.b.b.b.b.o.b.b.b.b.b.b.b.X.b N.^.kXdXdXt.rXt.rXd.rXt.^X5.rX*XtX*.r 3.8.8X1 T.'.DX.XlX..e m.* DXl c kXK hXc `.,X,XHX. x $.2 a.>X1Xa.wXC 0.=.N C a R.eX- R.e a t a.e R.e.~X- 3.e C.* *.) 0.j.p.Y.p.[X7Xp._Xe v h U a.a R a.a.a.a 8X, RX1.Z.~X,X,X,Xl.e a R U E...CX=.s.).M.9Xw sXK.YXK x hXD.aX- t a < R uXs / /Xi.CXf.F E < t.*X,X,.YXlXK $ :.9 1XcXl.9 a R RX- 3.u.~XVXI t aX-X-.~ R.MXp.< [XD.8 F ~.r.u.rXt R RXBX+Xp v UX1.~X- RX-X- R aX- UX,.a U 1.FX4Xn.F.J.<X2.p.pX+X+ .X4 HXqXLXa.D.DXd.D.].*X5X5.0XP 'Xo.`.8 ~.rXt.r NXtXt.r eXt.rXt.rXt.k NXt.kXt.kXtXt.k.k NXV.rXdXdXV.rX5Xd c.8.~.`.`.~.~.~ gXO.O gX. : ' D TXJ 3.aX-.`XI.~X-X- aX1 3.Z RX1 RXIX1XDXl.0XKXy.Z.DXVXkX*XdXxXx.bXo.^.K.kX9.z.kXx.KX9XxXdXd.r eXt.r.r.r.8 VX3 :XMX-.} `., [.2 nXw.'Xl.n.] !.q.>.+.+X0.+ @ = 9 b H.;.C ; r.{XrXp.aX-.8.~.`.~X1X1.HXV.8.` ~.8 F.8 ~ ~.r.rXt.rXt.k.r eXd e.^.I./ l.r e.kXt",
-" ^.v 2 2X6XnXbX= 0 JXc x.`Xt.^ N.oXoXtXt.r eXjXtXjX9Xk N.z.f q.z.A./ qXx ).u D.0XUX5X5XD.8 ).R.r.H q.$ qX3X9XM IXZ KXp o oXG.j.O !Xc :.8 3.k.5XoXo ( T.A :.uXx.0.zXx.f.X.XXkXg l.z.Q.#. .U.c.#.c.U l.U.#.U l.U.c.b.c.oXz.c.U l.b.o.b.bXgXz.oXgXg.b.b.o.b.b.b.bXj eXtXtXj.k N.b.b.o.b.b _.b.o.b.o.b.b.o.IXg.c.c.c.c l.c l.c l.cXk.c.U.c.cXkXg.b.b.b.b.b.o.b.b.b.UXz.b.b.o.b.b.b _.b.b.b.b N.^.^.^XtXjXtXtXt.rXt.rXtXVXd.k.k.r.uXtXtXt.8XV.8.`Xl gX5XyX..2 xX.X5Xc T x mXJ $ :.Z 1X,.% :.-XlXJ h.2 1.w.sXC 0.= *.M.* < aX-X-.e R.* a R.eX-X- R 3 a a t C.) v.@.EXp.YX+Xp.W.i.W 1.a.M < R <X-.aXI.a.aX, R B.~ R R R R aXI a R U E.s ^.B 2Xs <.}XD.} RXD.M t RXD R R B RX- a R C.)X=XiXf.JX4 U t.}X- RXMXDXlX, $Xc c.u : #.u.e R.eX- $X-.~ 3 3.e RX-X-.~.a t xXp.Y U 3.8.8.8XxXx.K.`X-.'X+XnXpXe RXD R R RX-.aX- a a t u._XnX4Xn.<.<.{.p.{X4 ...XA.mXn WXn.wXaX1 B.H.0.D.n.nXa g.Z.` B.` FXVXt.r.rXoXdXtXtXtXt.r e.rXtXtX*Xt.rX*XtX*Xt.r.kXt e.kXtXtXdXd.k.kXo.r.8.8 F.`XIX1.2 T 'XcX1 TXc 'Xl TXI.eX- RXl R.eXIX-X-XIXIX, RX1 8XD.w.nXP @.].2.R.| ].I Q X.R 5 f.&.t f Q 5.f.A P.f.fXtXtXtXtXtXt.r.r.a ) VXX V h #XX ` k =XUXP.9.wXD.nXP.! &X0X0 yXCXU.!XL s 9.;X0.yX8 r.C.p.w.a.8X-.` F.` B F.k.8.8.8.`.` ~.8.` ~XtXVXt.rXtXt eXtXz.bXg.XXgXjXt eXt",
-" /.v 0 ^.j.@Xi 0.@Xn.9 3XV.r.^ N.k.X.X AXk N N.XXgXgXkXz.XX@X Q.|.&.& I.] DXJ T.GXq m |XV.$.8.H.$.KXX 5 q.$.$Xc.% n.'XmXG.9 TXDX,.u cXV.H ) (.2 ] YX5X9.8 cXVXJXVXVXo.k.KXgX@ dXu.Q d. . d iXu i.I.U.z.Q.6.I.#.c lXg.I.z.I.zXg.o.b.o.bXz.b.oXg.b.b.b.o.b.o.bXj.k.kXtXt.k N N.b.b.b _.b _.b.b.b.b.b.b.#Xg.cXk.c l.c lXg.c.c.c.U.c.cXk.c.cXg.oXz.b.b.b.b.b.b.b.U.b.b.X.b.b.b.b.b.bXz N.^XjXjXtXt.rXt.rXtXtXdXt.rXt.rXt.^.kXt.r.u.rX* ~ ~XI.`.DXU '.'.M.ZX,XD hX, $X,X,X,X,X,XDXD.ZXDX,X-.aX,.Z R.ZXaXa.E b.=.N C t tX- a.e a R.e a aX- a B.aX-X- < <.*.N.s O.s..XpXn U E UX, h < t $XI.e RXD.aX, tX, RX- RX- t.a t.a.e.e < U U.. ^.v / u 1 h aX- t R R R tXD R.* aX- a a.a 8.N / {.CX4 . U < x cX-.eX-.e.eX1XD a.aX-.~ c.~.a.e.K RX-XI.eX5 R a a.~ R.~ t EXpX+.[XI 3XI.8X*.H.k F.`X,.-XG.YXp.Z RXD.M.a t t t t t t <XnXG.<.p.x.{ >XA ..m E p U p._X>X> x.nX1 BX1X1 $.wX5 ' (X1X1.`.8 ~.rXt.r.r.kXj e.rXt.rXtXtXt.rXt.rXtXt.k.rXtXtXtXt.rXt.rXt.rXt.r.rXt.K.r ~ F.~.`.~X1 g.'XPXDX1X1 B.~ B.eX-X-X-.eX-X-.a.~X-X-.Z.~X, R R R $ T sXO.] B ' :XxXoXx ).X.XXoXx qXx NXjX9.k.XXo.k.kXdXt e.r.rXtXt.r 3 # VXXXXXJXM.,XBXJXH nXwXP.'XaXs gXLXO &.q 9 s.n.n.w.wXL 9X0 rX:X:.{.@Xr.- k ~.`.~.` F.~X*.r.8.8.8Xt.`.8.H.`.HXtXtXt.r e.r.b.X.b.b.^.b NXjXt.r",
-" ^ 0 &.jX0 &X0.xXpXp xXI.8.rXxXx.& ].R PXk.X.^ NX9.o.X.X.R 5.z (.R IXX ).$ :XJ.2 k IX# 6 V 5 c D D.u.u.r.8Xt.r 3X1 'XK.Z.D.u.K.r.u 3.8.K.~Xx ]XO.2 (X5.8.8.8.8.H.8.K.8XtXtXo fX@X@.Q ZX X Xu.6 X.tX&.f X ZX&X .I.7.&.(.6.t.t.(Xg N.b.b N.o.oXgXgXz.b.o.b.b.X.b N eXtXjXtXj N.oX9.b _.b _.b.b.b.b.b.bXg.IXg.U.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.o.b.b.b.b.b.b.b.b l N.b.b.o.b.b.b.b N NXz.^Xt.rXt eXtXt e.rXtXt.r.uXtXtXtXo.kXtXtXt.rXt.r.8.8XVXDXOXl.nXD R R t R tX- R.aX- t B R.aXD.a a.a R a a R.*.DXaXm bX= /.M.*.a a a R.~.e.aX- a R.e aX-X- R a.e tXsXs.) 2.).@Xn E h t.}X, 3.% 3.9XI RXJ.ZXD $XU x.~X-.9 D a a hXJXK.e.} p.m.@.B.) u.Y 1Xc :Xc.Z U.a aXD a BX-.eX-X-X- t.N / 2 wX6X4 E a R aX-.~.eX- R.~.~.~.~X- 3.u R.~.HX,X-X-X-.` 3XD a RX-.` a.a u vXpXr.- RXDXI.` ~Xt.8.8X1 x.-XG.pXG U U UX, U.M < t < tXe.F >X+X4XA.m p U . E U E.d.W EXn n v.nXD BX1.n.n.0XU D T B.`.` ~.8XtXt.r e.k.k.rXt eXtXt.rXtXtXt eXtXt.r.rXt.rXj.r.r.k.r e.r eXtXtXt.X.r.r ~.8.`.`.` g.0Xl 'X-X-XIXD BX- aX-X-X-.~.e.eX- cX,X1 R.ZX5.D.D.w.0X;.].DX1X9.uXd.r.rXd.rXt.k.r.r.k.rXt.r.kXt NXt.rXtXt.rXt e.rXt.r 3X*.,XXXM VX3 k V V.-., =XU 9 sXD.!.n sXm.' 9.n.n $.DXs.w v &XCXA {.{.4 W.TX+ a 3 c.`.`XIXtXI.`.8.8X-.r.5.8.8.8.H.kXV.r.r.^.^.^.b. . Xg.^XtXt e",
-" w J &.!.!XG.;.@X+Xp :XV qXk 5.K.A.A.A.A.z N N N.^X*.^.k.r.r.HXt 3 3 ~X-.8XI.`X1.HXI 3 c V ).5.HX5.k.k.KXk NXo.k.u :.5X*.KXt.XX*.rX*Xt.^.rXd.H.H.H.H ~.8.r.8.8.8.~.8XV.` ).^Xo.z.IXk d.I.I.I.z.I.I.I.Q.R.Q.I./.z q.I./XxXg.I.$Xg.XXg.^.b.X.b.cXg.b.o.b.o.b.bXgXg.^XjXtX* N.o.b.o.b _.b _ _.b.b.b.X.b.c.UXg.cXg.c.c.c lXg.c.c.U.c.c.c.U.c.cXk.c.b.b.b.b.b.b.b.b.U.b.b.o.b.b.b.b.b.bXzXjXt e.rXtXtXtXtXtXtXt.rXd.rXt.u.rXo.kXt.r.rXd.HXt.H FX1XI @X; : 8XD <X- t tXD B.eX, BX- a.e.aXDX- a a R.e R R.ZXa o J.=.N.W.j.aX3.e.a.eX-.e.ZXc.e a a a.a.u T.e B RXs v H 2X>...W U U # c 3XK.|.Z R.e nX,.M.- x.'.eX- :.Y.M.a.}X. `.*.M E pXfXb.) 8XeX,.9 x 1XD 3.a aXDX1 RX- a aX-X-.*.N.=.B.CX6XnXe a.e.~.~.a R.e BX-.eX-X-X-XI.eXx ` DXl 3 1X5X- 1XK.Z.a R.~.~ t tXeXpX+ nXcX,XD.H.`Xo F.8 RX-.9.YX+XpX4Xp.Y.<Xp 1Xe.M C.* xXpXnXr.m p E E U h U t t <.WXeXn M.YXe.Z 8.H.D.'Xc.DXVX-X1.`.` F.8.rXtXt.rXd N.rXtXt.rXtXt eXt.r.rXtXt.rXjXtXtXtXt.r.r eXtXt.r.rXt.r N.rXt.r.8.r.~X1Xo g '.' R.~.~X1XDX- a.` aX-X-.e.% c mXJXJ.9XJ.]Xw.3XU @ @ (XJ.$.A.r.rXdXt.r.kXj ~.k.kXtXtXdXtXt.kXo.rXtXtXt e eXtXtXt.rX* 3.$XXXXXX VX# V.[.[ `X.X.Xm.!.w.n.' s.'.n x.DX, 8 B R v.n.q HXf.vXi ;.{X2.g.i.,.] : (Xx 3.r 3.r.r.k.`.kX9XVXVXV.k.r.kXt.z.X.b.o.#.IXg.^ eXtXt",
-" =Xh.OXO.G.>.+.T.h [XJ I I.R |.f./XkXg.^.KXj.^Xt.rXj.r ~Xt.r ~ 3.8.r.`Xt.8 F.H.HX1XV.8XV.`XX.].2.kXt.r l.(.zXx.RXd.H.r.KX9.XXk.^.^XtXt.rXjXxXzX5.^.k.r ~X* ~.8.8 3XV.`.$.r.K.z ) AX@ f.&X@ AX@.RX@Xg.I.I.R.f./.z./.zXk q.z.$XgXk.z.z.X.#.^XzXk.b.b.b.X.b.b.bXg.z dXxXjXj.bX9.b.b.o.b _.o.b.b.o.b.o.bXk.#Xg.cXg.c.c.c.c.c.c.c.c.c.U.c.c.cXg.U.c.b.o.b.b.b.b.b.bXk.b.b.b.b.b.b _.bXzXzXd e.rXtXt.rXtXt.rXt.r.r.r.rXtXd.r NXtXtXtXtXt.rXt.H.`X1.H @X;XP n : $ h $ $ 1 x $.9 x.w.'XKXcX1 a R a aX-X-.e.WXa b o O.=Xe = [ D.eX- a B t.'.3 R R <.a < c 'X- 8 8 C.W.j *X4 v p x.a.}X- 3 :XIX, R R 1X,X,XDXJXlX-.eXl 1XD.*X, xXM R.} E.sX> ..)._XDXD.ZXDXD.M $.} R.a R.e a R.eX- R RXs.=.s.@ ^XnXe tXI.K.e.~.e R a R.eX- BX-XI.~ 1 :X5XKXDXM.KXJ :X..Y k.uX1 R.e u v >.jX2XH 1X1 3.`XdXI.`XI.8XI.Y.YX>.J >X4.<X+.<Xp.F xXe.FXn >.< . EXF u t RXD.e R a.M EXn yX> v.w.Z.wXaXP.0 3XV.H.`XI ~.8.r.rXtXtXt.r N.rXtXjXtXt.rXtXtXtXtXtXj.rXt eXt.rXjXtXtXt.r eXt.rXt e.^.k.kXtXt.`.`.H.D gX5.0.Z.~X-X- RX-.u.aX-.aX- a cX, : ` : 'XJ.9XUXOXP.G D.0 5X9.fXjXj.rXt e.r.rXjX*.8Xj.kXjXtXt.5Xx.rXtXtXtXtXtXtXtXtXtX*.8.,XXXX |.,XS.l V |X3.[XHXU y.' sXD.W $Xl 8 '.ZXl 8 BXaXL yX0 ^.B.PX6 ;X2 ;.T h #.5XoXd.H.u R.`.`XV.`X* ) D.$ I ) ).$.k q./ N.bXz _.b.bXt eXt",
-".@Xm =Xc.!XK.j z.1XB : ].$ )X9.K.K N N.KXt.r.r ~ ~.8.`.8.8.8.8.8.8.8.r.`.8 ~.r.kXV.`.8.`.HXIXV ).f.R.XXxXxXg ( QX9.k.AXgXk.IXk.U.X q.6.fXkX NXg.b NX9 N.kXV.r.H.8XV.5X-.`.k.AX@.(.f.tX X .A.tX Z.6.&.(.(.tX ./.:X .( ,./.7X .f.tX .6.(Xg.b.z.o.o.b.b.o.o.bXg.z A.oXtXj.b.o.b.o.b.b _.b.b.o.b.b.b.b.U.I.c.U.c.c.c l.c.c.c.c.U.c.c.cXg.c.c.cXg.b.b.b.bXz.b.b.b.U.b.b.b.b.b.b.b _.X NXj eXtXtXtXt.rXt.r.rXtXtXtXtXtXt.rXoXtXt.rXt.r.k.rXI FXIXV g.n T x gXc.9XcXJXJXK T x :Xc 1Xl.9.a aX- aX-.e tX-XDXa o o.= G b x $ V a.eX- < R.'.w x a a cX- cXJXl.e t C._XC pX4Xp.F U <.M 3X-.~X1.eX1 R R.MXD <X, a.e R a.e a.a a a a t U E.m.xX>.j.jXGXcXw.]Xw `X, a t RX1X- tX- B c R.*Xe / 2Xf.@ ^Xe a.eX-X-.a.e R.e.e R a.e RXD R.aX1XDXD a 3.a RXD 1 h R RX-X- R._Xp . WXr.x.jXDXD.HXo :.k.8X-.a.a.pXp >.x.{ WX2.pX4XnXpXp ..JX2.F p E u RX- R.a.e $.* <.WXnXn.jXGXL.n.n ' T T.~.8 3.8.8.r ~XtXt.rXtXt e N.rXtXt.rXj.rXtXtXj eXtXt eXt.rXtXt eXtXt.rXdXtXt e.rXt.K.k.r.r ~.r ~.`X- g 'X5 :X5X5 R.`Xl.H 3.` R RX1XI R.`.e x $ B.ZX5 '.0 g B F.`Xt ~Xt.r e.r.^.rXt.k.rXt N.X.zXt.5XkXxXt.rXtXtXtXtXtXtXt.u ~ 3.,.$X# }X# V.} 3 |.[ VXH n.q g x $ $X. T 1.2XKXJ.9 gX..! b.q.qX6Xi ; r ;X8X+.TX,X- BXIXI.k.`.8XV.`XI 3XI qXX.5.KX*.r ~.k.X.o _.b.o.b.b eXjXt",
-"XiXn H y v.Y M hXV.5Xt.rX* 3.rX*Xt.r.r.`.8 3.8.8 ~XI.8 3.8.8.8.`.8.8 ~.8 ~.8.8.8.8.8.8 ~XV.K.&.R fX (.X.^XoXj.k./.^./.cX@XgXk.&.A.6Xg.tXgXgXg.^Xg N NX* ~.8.`.8XV.8.kX* ~.X.X.I./Xk.I.Q.z. .z l./.Q.U./.U.z./.I.I.z.U.zXk.I.UXk.UXkXg N.U N.b.o.b.X.o.X.b.z./ NXj.^.b N.o.b.o.b.b.b.o.b.b.bXg.c.U.U.c.cXg.c.c.c.c.U.c.U.cXg.b.b.o.b.bXg.o.b.b.bXz.o N.bXgXg.b.^.XXz.b.b.XXz.bXzXd.r.r.r.r.uXt.rXtXtXtX*.r.uXtX*.r.5.rXdXtXtXt.rXV F.H RX5Xc.w.w.w.w.Z C t.* t a t t a a t R.a.a a.e a t a a a 3.Z J.E.v /.N R aX-X- aX- R a a.* aX- aX, a a a.e t <.* *.d 2.xX4.m U < <.}XI RX1 R R aX,XDX,XDXDXD a a R.a BX-.~X- R t <._XeXf ^.sXe.N.9.a.M.a.a R aX- R 8 a B.aXl ` 1Xl y.E.sXfXf .._ a.aXI 3.~X-X-.eX- a.~X- aXIXIX-X- a RX- a RX-X,XD R.u a R a.MXnXp.<XfX6X4 &.w.MXI c.5 FXIX-.8 a 1.jX>.x >X2.<.{Xr.<.@.<X4.<X2XA.m U t t RX- cXc.g h C E v x.j.9.'XPXU.2Xx.u.8.8 ~Xt.rXtXt.rXjXj.rXt.r.bXj.rXtXt.r.k.^XtXt.r.kXj.r.^Xj.bXtXj e N.^XjXtXjXtXt.kXg.^XxXt eXV.8.8X-X9XP 'XO.2XK.5XKX3Xc :.%.].].'.$.a.aX*X, s.0.n.0 gXO (.`.HXtXtXtXtXtXtXd ~XtXt.rXjXt.bXxXg.r.X NXoXdXt.rXtXdXt.kXx ) N DXJ 6 , } V.,X-.a.a # VXX.-.>XOXGXK $ cX,XJXKXcXKXl $ '.wXKXa.! &X0.4.T.{ L.xX2.TXw RX1.`.`Xd F.8.8.`.8.8 3XM.5 V ` q :.$.kX9 N.b.bXzXg.^Xt.^.r",
-".v O J & bXGXr .aXV.8 ~.rXMX*.r 3 ~.8.8.r.8.`.`.`X-.`.`.8.8.8 ~.8.8.8.8 ~.8.8 ~.8 ~ 3 ~ ~X*.r.K.kXx q f 5.&.k.r.^ N.X lXk.6.zXg.$.zXk.b.c.bXz.b q.b.RXkXx.5.u.5 #XV.`.8 ~.r N.X.X.Q.z.z.c.z l.U.Q.cXk.UXkXg.UXkXk.UXk.cXk.b.b.b.b.o.b.o.b.z.b.b.X.b.b.b.^.rXj.XXjXtXj.X.b.o.o.b.o.b.o.b.o.b.bXgXk.#.c.cXg.c.U.U.c.c.cXk.cXg.o.cXg.o.b.b.b.b.o.b.b.b.b.b.b.oXg N.o.b.bXz.oXz.b _Xd e.r.5Xo ~X*.r.rXt F.8.rXtXt.u.r.r.XXtXtXtXtXtXVXt 3.` B :XK.w.n.w.w.w.w.Z R RX- R R a R.a.eXD RXI T.a a.M.aXIXIXe b H 0.=.N tX-X- R B.eX- aXD RXI R a.u.~X-X-.a < t u.)XvXn.< . E U < a.aX-X- R a RX5.'X,X,.a 1.aX,.a.e.e.~X- R.e R t U.W p.@.B *.).*.a.aX- R R a R.*.aX1X- R.eXIX, :XG y w 0.@X4XnXe tX1 # R aX1.e aX-.e R.eX1X,X,X-.eXI.e R.eX-XD.% #X- R c a a.MXp ..4Xf %Xf.@.j.aXIXV 3.H.`.`X*Xl.}.-X>X4.J %.mXAX4X+.x.{.x.{.{.mXe U a.`.~ R.M :Xe E.} UXqXq.YXwXU.0.Z 3.H.` ~Xt.rXt e.^.^Xj eXtXt e.r.X.b NXg e.rXxXkXkXtXjXt.z.rXj N.IXk.rXt.IXdXtXt q N.r.rX@Xk.X.r.kXt ~.`XV.DXU.nX5 sXlXM :XM c ` ` DX5XlX1.a.uX-XD.9.n.0XP.0X5.H ~.r.rXtXtXtXtXt.rXt eXtXtXtXt.rXd.r.^Xd.r.X.rXtXd.r.rXt.5 fX9 7 D 5 | , k.$X9.`.a < 3.$XB VX0 y.'.' ` x.,XD R BXDX1X,X1.eXD sXa o.;.@.C...@.{.CX4X+XqX-X-.`Xt ~.8.8.`.8.}XVXMXMXX : :X9XxXo N.b.b _.^Xz.X.^ ~.k",
-".@ 0.!.q bXU yXp <.}.`X* ~.8 3.8.8.`.8 3 3XV ).`.`.`.8.`.`.8.8 3.8.8 ~ ~ ~.8 ~ 3.r.r.r.rXV.r.k.rXj.k N.X.X NXk.k.^.r NXg NXk N.b N.o N.b.X.bXgXg NXuXk.& qXx qX9 ) qX9XV.` ~.` FXk A.zXkXg.I.Q.U.z l.U lXg.z./XgXkXgXkXgXk.c.bXg.o.b.b.b.b.b.U N.bXz.^XtXtXj e.r.rXtXjXj.b.o.b.o.b _.b.b.b.o.b.bXg.c.I.UXg.U.c.c.c.cXk.c.cXg.o.b.cXg.c.c.o.o.b.b.b.b.b.b.b.b.oXk.b.b.b.b.bXz _.XXz.XXz.rXdX9.r.8 ~.r.r N.`Xt.k.rXtXV.u.X.rXdXtXt I.X.ZXVXVX5XU.' s T yXK.'.wXa.ZXI B.~X- RX-X-X-XIXI.~Xl.5.9 TXc TXUXU.j.O.;Xp.j sXlX-.~XVXD.DX5 3X, 3.uX-.u.~X-.e a.*.* u.N 2XfX4._.W.M < R RX-.a 3 R :XKXcXcXJXw T k 1 $ a R.~X- B aX- t U.d...@.s.).) U.* R 3.a 3 a.e.a 3.a B R $ 3 t t t G.N - ^.@XnXq.}.aX,XI.e.eX-.~X- R.eX-XI $.e RX-.e R.e.aX- `XJXIXlX1.~ 3 R UXG.JX> {XA %.@.j EX-.uXV F.`.`.$ k.a.wXr.@.s._.m.m.m p ..<.JX2 >.m E.a R B.0X- 3 <XD t EXe.F.9 : x.`X1.HXI.r.rX*.k eXt.r.b N.^.r e.kXt.r.b.o q.I.rXtXg./.kXt.kXk AXjXjXg.zXk eXj q.r.kXgXkXkXjXt.z q.XXkXo.r N.H.HX1 g.'.n.'XD R.eX-.a aX-X1X-X, cXI RXI $.' TXU mX1XV.H.HXtXtXt.rXd.rXt eXd ~XtXjXtXt.r.rXt.r.rXdXd.kXdXoXx.R fXxX9Xx )XV.`.`X* #X9 3X-.~.` aXM V.,.>Xm.9XaXU.ZXJXwXJX. !X.XK T.e R.n s.w H z ^.vXA.{.4.JXpXB 3.} 3 3.r F.H F.8.`.8.uXVXV.u.rXo.^ N _.b.o l lXzXtXjXt e",
-".> !.q.q b.q.jXG c.}X9.` ~XVXI V #.5.$.u }.K.A 3.`X-.`X-.8.8 ~.8 ~.8.8.8 ~.8.rXtXtXtXt.rXjXt.kXtXt.^X9 NXjX*Xt.k.r.^.^.k.^Xk.o.X.oXzXg.b.o.b.b.o.b.I.z./ qX9Xx.5.K )X5.`.u (Xo.k qX@X@ A.t.tX .t dXu./Xu.t.IXu.f i./././.I.IXkXkXg.oXg.b.oX9.U.b.^ eXjXt eXjXjXd e.kXjXt.X.b.b.b.b.o.b.o.b.b.b.o.b.c.I.U.c.c.cXg.cXg.c.cXg.o.o.b.cXg.U.UXkXg.b.b.o.o.X.o.b.b.oXg.o.b.XXz.b _.XXz.b.bXoXt.8 F.u ).H.H.8Xo.`.k.r.rXtXd.r.X.r.uXtXd.$ 5 5 5 DXJ.OX.XwXUXUXwXU.9.n.wX5X1X1X1XD B BX1X1X1 B 8XD.ZX,.DXaXsXG yXr.E 0.s x x $ cX1X1X1.~.~X-.~X1X,XIX- a R R t 8.N * 0 0 v pXe <.a RX-X1X-X-X,X, R.MXc $XD s.aXDXD.e a RX-.e R t u.W._.J.s 2.W y x.*.e.- : `.eX1 h.3 R.a.e k.9 $ C 8.NX= /Xf.@XnXq.M R.eX- BX-X-X,X-.~.aX1X1XDX-.e.eX-X-X-.~Xl B R `XcXJ 1Xl.aXeXp.<X8 { { {X4.[ h.` 3 F.`.H.8 DXX.,.j M.YXe EXeXe._.m E p.J WXn EXe tX-X- I :X, t < u.i h.Y.} a.8 3.r.rXt.kXtXt.r.rXtXt.^ N.bXj eXj e e.b.X.b.UXj e.X.k.o.k.^Xj.bXj.r.X.bXjXjXt.bXtXj NXt.^Xt.k.^ N.r Q.f.z 5 q ) T ] 4 !.O.0 B RX-X-.aXI 3XI 3X- aX- $ s T g 'Xl.`.8 ~.rXtXtXtXtXt eXtXt.rXtXt.r.r eXjXd.^ ]Xx.X.RX@.| Q.| (Xo.^.r.u.r 3.`.8.`.`.`.~.8X1.8.aX* VXJ !.q sXaXlX, $ c.ZX,X,.Z.ZX,X, $.Z.9 &.q z ^Xi 0.C.{XA.J a.aXIXt.` F F ~.8.8.rXVXt.r.k.^.bXz _Xz.#. .^ e eXtXtXt",
-"XU.j.!.q.0XU MXw n V V 5 VX3 k., }X#.G }X#.,X9 3.`XI.`.`.8X- ~.8X* ~.8.8 ~.rX*.^.k.rXt.^.r.kXjXj.bXgX9XjXtXj.^.rX*.kX*XjXt.X.r.^.b.b.o.b.o.b.o NXgX9.b.X.kXt.`.8.8XI.8.8.KXx ~.8.R ]X@ A.&X@X X@X&X@X X .f./. ./.AXu.& d.f.6.UXk.cXgXg.b.b.oXk.o.^XtXj.^XtXtXtXtXtXtXj e N.b.b.o.b.b.b.b.o.b.o.bXgXg.I.c.c.c.c.U.c.c.c.cXg.o.b.b.cXgXk.c.c.cXgXg.c.c.cXg.o.oXg.c N.o.XXgXg _.o.V.X.XXg.XXdXV ~.H.`Xd.H.`.r.r.H.kXtXtXtXo.rXtXtX*.k.kX*XV 3 : IXJ.-Xc.9.9.,XwXc sXa.DXa.nXaXa.D 8XaX5XaX1.D.M.w.0XG s.9 y H w bXe.W RXI 3.`.`.~.~.`X-.e.~.uX, B.a.* t t G.) 2 ^ J v pX, 8 t BX- RX1X-X-X-.a tX1XD 8X1 R t B aX- a a a <.M E._.J...s *Xn 9.MXD.eXJ :XK a a :., xX- a., s.Z.M.= / /X= ^X>Xq v.a.* aX-.e a x $ ` $Xl $ :Xl.5 x :.Z $X5 :XDXI.e.e.~XD `XcXK.jXG.@ SXb.P.B % WXB aX*.K.`.`.8.KXM V Xw.+X+ v.M U U UXe.m.F >._Xe x : :XIXlX,.Z.e < U hXq .a 3.8.rXt.r.r.r.r.r.rXtXtXtXt.k.b.^Xd.^Xj eXzXz.b.bXdXj e e ~ e eXtXjXtXj eXt.r eXt eXd e.rXtXtXjXt.k.b.r 5.R 5Xk 5 q ) TXyX; 'XlXD RX-X- RXI.e ` $.e.uX5.w.wXO ' RX- ~.rX*XtXtXtXtXtXtXtXt.rXjXd e.rXj.r.r.r.zX@.| X.R (.tXo.rXdXV.H.k.HXt.HX-.`.`X-.`.`.`.~.~.8.}.,.,X..GXO.> T 'Xl.]XD.9XwXD.Z.O.Z.G.>XK =X0 M.;.BXi L LXA >X% [.}.} 3.r F F F F F.rXtXtXt ~.^.b.oXz _ _ _.c.b.b.XXk.Q.X",
-"XKXP gXU s gXwXH VX3XMXXXJ.S |XH |.S }XHX3.K.aXDXI.`.8.`.` ~.`Xt.5 ~.rX9 NXt.^.IXk.rX9XgXjXg./Xk.^.I.I.bXj.zXg.^.^XgXg N.^./.^Xx.b.o.b.o.b.bXg.b.X.bX9.X.K.k.rX*.k.8X*.u FXV.uXxXoX@Xx.^Xx.zXk.RXk.I./.z.UXkXkXkXk.cXkXk.UXkXgXgXk.U.cXg.b.bXg N.b eXtXtXtXjXtXtXjXtXtXt.b.X.b.b.b.o.b.o.b.b.b.b.oXg.I.U.c.c.c.c.c.c.c.UXgXg.o.o.UXg.cXg.c.c.c.UXg.cXkXg.cXgXk.U d.I d.I.tX .7Xx.z.t d f q PXx.A (X.XxXx.`.^Xt.rXtXt.r.XXt.u.rXtX* ~XV.8X-XMXcXXXMXM xXl.9Xc., g.n.nXa.n.nXLXLXL.n.wXa v.ZXaXG s b g.j H M z.E JXn xXI.e.HX5X1X- aX- t R CXl.* tXs.M.).N.).vX6 ^Xe U.N R RX-X- R.~X- R R a.M R RX-XD R R a.aX- a a < a.W.W . .Xb.).N C xX,.e.eX,XI $.e R h R # a aX,XD t.N.=X=.v.v ^.pXn 1 < a a aX-.eXDXK `.]XcXcXK.,.9 $ TXKXJ :Xc.,XIX1.e R R R RXc = z.@.; { % % %XnXwX, cXoXV.~.8XI a a $XB.YX< 1.Y $.M.M E._XeXp.W $ n.,.S R.a < 1 xXqXe E.i `.}.`.rXtXj.rXjXtXtXtXtXj.r.r eXj.^.^.b.b.^ e.^ l _.b.bXjXjXt eXtXjXj.rXt eXt e.^.rXd.r e.r.k eXtXt.r ~.X.rXd.rXV.r.5.8.` B.k g 'XlXl R B RX, c :XJ.]X3 TXc ! !.O D R ~.8X*.r.rXtXdXtXtXd.r eXt.r.r.rXjXtXt eXt.k.^.^.rXt.XXt.k.r.rXtXt eXt.r.`.`.~.8.`X- F BX1X-.8.`XX k g @.nXy g DXcX.XlXK.2 $XwX;.jXOX0 9.+ &.;.; 0 w ;.P.J.p.1.[ < R c F F F.8 ~ ~.r.rXj eXj.bXzXzXz _ _Xz.o.o.z.: 7.I",
-".] g.0 DXUXHXH.-XB |XH., | [.[X< VXBXc.,.-XJ.K V D I :.8.H.`.5Xx.H NXkXkXt.X.$.c.r.b.b.r.U. Xk.o./.I.^.r./ NXt N.6.$Xj N././ _.o.o.b.o.b.o NXk.&.f.f.$./ ) ).k ) ) ).R.uX9 ).R }.f f ,.R./.7.&.(X@X .tXkXk.UXgXkXkXk.cXk.UXk.U.c.c.cXg.oXgXk.bXjXt eXtXt.kXtXt.kXtXjXt.b.b.X.b.b.b.o.b.b.b.b.b.b.o.I.c.c.cXg.c.cXg.c.U.c.cXg.U.c.c.U.c.cXk.c.cXgXg.c.c.c.U.#.I.( qX&X&X&XkX . .^.(Xx X.R P.& D (.|Xx.r.rXt.rXzXdXjXt.X.rXd.uXt.u.8.8.8.aX3XX #XM # #.lXM 1X3XJ.9XL.nXmXm bXL v.' y b b 9XGXG bXG J s J o b 2.N.w a.a.K.K cX-X- C C.).M.N v.s.W G.).N.)XbX6.@ ..W.W < <X-X-X-X-X- R R.e.a.e R.a.*.D BX- R aX- a a < t E p ..sXv.N u 8 a R.~ RX- 3.~X- R a.a.M a.a a.M C.= / 0 w H.4.jXGXq R t tX-.a a.e.a.eX, R a.* R a R a.e.e.eXIXK $X-X-.eX-X-.a <XrX+.+.CXi { %Xi W.h.j xXJXIX1.`.8 3.aXI.Y.i E.Y.SXH.a UX, E.[Xw x UXq.F < < h.MXqXeXq x .9 c.a 3X*.rXtXjXtXtXt e.rXtXtXtXtXt e N.b.bXzXjXz.oXz.b.o.oXj e e e.rXj lXj N.^Xk.b.r e.^.X.r eXdXt e.^.r.X ~XtXdXtXt.k.8.u 3X1 gXU '.'XDXD 3.eXI.a `X5Xl c 'XPXUXU gX-.`X*.rXtXtXtXtXtXt.rXtXt e.rXd e.rXdXjXtXjXt.kXjXj.k.XXj ~.kXjXt.^ ~Xt ~.8.`.`.`.`.~ FX-.`.`X-X- c., m !Xc T.'.n $ 3XDX,XDXG s s.q.q.q.q & H.4 w w.4 w LXfXb z [XB.a 3.r.8.8.r.rX*Xt.rX*.r.rXj.bXz.o _.U.#.oXzXz l.t d.t",
-" s ' n.-Xw [.-X7 [Xh.[.[.[X7XBX7XB.,.[.[.S.G.3 YXK )XVXV.8.8XV F qXtX9XjX9.rXgXjX9Xj.c.^.^.IXkXg.bXk.oXj.bXkXgXj.I.X. N.Q.X l.X.o.b.oXgXgXk.X./.A./.&X9XXXx VX9 ).fXo I ~Xx.kXoXo 5X9.XX9Xx.5.z./ A A./ lXkXk.UXk.c.UXkXkXk.c.UXk.UXkXg.oXg.o.^XjXjXjXt eXtXtXtXtXtXtXt.k NXg.b.b.o.X.b.b.b.b.o.b.o.U.oXg.b.o.c.c.cXgXg.c.c.c.U.c.c.c.c.c.U.c.c.c.c.c.cXkXg.U.U l.I.U l.z.oXgXg.b.b.XXxXx.XXo.X.u.kXV ~.r.r N NXdXd.r N.rXt.uX*XV ~ 3.8X* qXMXM.}.a < 3 #XlXBXJ.-XGXG yXCX> y HXr HXCXmXC wX>XCXmXC &.+X0 O.=.N.w < a hX- t R 8 U.N.).W C 2Xn.) ..;..X6X>X4.@ v p E t t t a RX- a R a.a tX3.ZXlX-.a R aX- a.a a a < U U.s.s -XF.d.*XU 1 R R aXIXD a t a RX-.} a a a t.N /X=.@ H zXpXGXq x t.e tX-.e RX- $XJ xXlXDX, :XKX,.u.MX5Xl x.%.%X1X-X-.e < aX, yXn S.@Xf H.4.+ MXh.>.> $XI.aXI.~XIXIXI `._ E hXwXl T k U.MXq ! x < < < < UXe E 1Xq X7Xl.}.aXIXV.uX* ~Xt.r eXj.r.rXt.rXtXtXtXt.^.b.^.bXz _ l.b _Xz.bXz.^ eXjXjXk l e e.b.zXjXjXdXg q eXtXt eXt.r e N.kXt.X ]X9XtX*.8XVX1 ' m.0.'XlXD.eX- a R.e.e aX-.e.w.w gXJXl.5.8.X.$XdXtXdXdXt eXdXt e.X q.kXd ).bXt.X.z.X.r.X.XX9X*.^.z ~X* l.rXt ~.`.`.8.`.`.` B.`X-.`.a.8XV `XHX.Xw.n sX5XDX1 R R.D.n.n.qXC J o J J.E w w S w {Xf ; .Xq x.- cX-X*.8.r.u.r.rXt.rXj.rXt.^.b.b.b _.#. .V _.o.b.XXo.b",
-"XU.+.G = =.1.1.S.S.SXB.[ X7 >XBX<.TXhXhXH n.3X,X1 3.8.`.8 ~.8.H NXt.rXtXtXtXtXj eXj.r.^.bXz.b.b.bXjXjXjXtXj eXtXjXg.b.bXg.o _.o.b.b.UXk.U.z qXk NXX.K.k.KX*.r.rX*.K.k N.u.8.8 ~ 5.$ ).K NXkX9Xx l.I.z l.6XuXk.U.UXk.U.c.U.UXgXk.cXg.c.b.o.cX9.bXtXjXtXtXtXtXjXtXt.kXt eXtXj.^.o.X.b.b.o.b.b.o.b.b.b.U.o.b _.c.c.cXg.c.c.c.cXk.c.c.c.c.c.c.c.c.c.UXg.cXk.c.c.#.UXk.UXk.cXg.b.b.b.b.b N.X N NXt.H.$.% q F.rXj.b.b.b.^ A.zX*.K NX*XV.H.`X- : ` # $ a <.a a.} x x ` n.jXG H 0 HXCXi b ^.s 2 2 2.v 2 2XLXG.q 2.WXs.M # # a U R u.N.N.d.)Xe ...._ v.. M zX4XrXn.... E E.M t t < t aX- a R t tXDXw k.Z aXD R a a < a < < <.W.W .X=.) * C.* [ x.eX-.`XIX- B.e R.* tX, a t a t.N.).vX6X0.4XnXn 1X, <.* t a aX- t $ TXK :.,Xc 1XcXcXc TXc D : `X3X-.~.a.eX- a.WXhX+.+.T z M.@ J w H H M M y xX, xXI.uX- #Xp E E.MX,.M [.M U.aXe.M t < u E.iXq XcXB c.a.`.8 3 ~.r.kXt.rXt.rXj.rXt e.r.k.rXtXj eXtXzXz.b.b.o l _.b _.bXzXz.^ eXj.U q.^.r lXk.o.r.o N.Q.^ e.^.^XjXjXj.k.kXdXx ).f f.f }.$ D D @ 4XO.G :.,.e.e R R aX-X- R.Z.nXw Y D 5.|.R IX@.t.R fXoXd.rXt.r.X.Q N.r.IXo.rXx l NXtXk.bXkXtXx )Xt.XXx.K ~ F 3.` 3.8.8 N ).`.`.~.~.` aXcX. m.>.1.9.9Xc.9.wXaXa.n.!.q O 2 2 2 2.v.v.. H wXb %.{X6.s._.Y.9X-.rXV.r.r.r.rX* ~Xj.rXjXz.b.b.b.b.I.U.V _Xz.X.b.b N",
-".>X;.+ n.jXrX< n.-XB k.LX<.S.1.S zXrXe.W.WXe s.aXIX-XI ~ 3.rX-.r.k.rXtXtXtXj.^ N N i.z.b.c./.o NXgX@XtXtXj.rXjXj N.^.o.b l.o.b.o.b l.z./Xu.f./X9X9 N.5XX.$Xx 3 3.8.rX*.r.uXtX9XV.kXX.K.X.K.5 NXxXk.&.I.I q l.I.I. .#. .#.U.c.c.U.c.c.c.o.b.c.X.b.b NXz N.^XtXtXtXjXtXt.kXjXtXtXj.b.b.b.b.o.b.b.b.b.o.c.b.b.b.cXg.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.U.c.c.c.UXk.c.UXk.cXg.cXk.cXg.o.b.b.^XgXg N.^.XXx.X.kXtXt N.^.b.b.X.^X .z.& 5.& 5.$.5 DX$ }.3 k.,X3.S XH $ X3.-Xh n z J.s.s.s.N.s.W G / / G.N G C * bXG.N.N C RX, a < a.).N.sXn.pX+XpXq._.<X+ W._Xn.sXqX+.[X7XpXqX+X7Xq hX,.M < <.*.a tX,X,X, a.aXD R R.a t a t.} h._XeXp.) G / C u $ $.e cX-X-X- B R.e a.aXD a a R U *.s.@.;X>X+.* < t t.e.a a aXl.9 xX- xX, a R RXD t a t t R a cX-.~ 3X- aX- <.a.MX+Xp y.@ HX0 &.>.+ =XCX0X0.Y.jXw.'X5 c.u.a ._.i.W.M.M U.a EXeX,XeXl EXeXeXq.M < h.uXIXV ~.`.XXxXk.^XtXtXtXj e eXt.k eXt.r.r.rXt.rXjXjXz.b.b l.bXz.b.b.o.bXz.o.b.b.oXzXt.^XjXj eXj eXd.^.b.b.b.b N N.^.^.r.rXt ~.8.8.8.8XVXV BXU TX5 ' B RX- R.e.~X-X- aXD '.n !XI.`.H.HXd.HXd.r.kXd.r.k.r.k.rXt.r eXdXt.r eXtXd.r.^ N.k qXt.kXoXd.^ N.k.8.`XI.8 ~.8X3 }.% D 5 5X3 IX3.3.O.G @.OX;.3.G.].n.n OXmXC ^ 2 / *.NXs.) 2Xe.@.s.BX>Xf vX+.Y [.aXIXt.u.r.uXtXt.r.k.b.X.oXzXg.b.Q _ _Xz.b.b.b.^Xd e",
-" =Xw =Xp M M.jXr.[ n.1.L.hXrXrXrXn...=.s.W.n.wX-X-.a.8.8.8.8.8 ~.kXtXtXtXtXj N NXg q./.^./.IXgXgXk./.X.^XjXdXjXt e N.b.b.UXzXgXzXg N.fX ./.$ NX9 q q.$ q.KX*XI ~ ~X*.k.^.u.r.`X9 : 5XV.5.5Xx.5 ).I.I.z l l l.U.U.cXg.c.UXg.c.c.c.c.c.c.o.b.U.b.o.X.X.bX9 NXjXtXt.kXtXtXtXtXjXjXj.^.b.b.b.o.b.b.o.o.oXk.bXz.b.c.c.c.c.c.c.c.c.c.c.c.c.c.U.c.c.c.c.c.c.c.U.c.c.#.U.c.c.c.U.c.c.o.b.o.b.I.t.f d.&.I.5.r.^.X.o.^.o.b.b.b.XXo.rXtXVXV 3.8XIXXXJ.3 k |XH ., kX3.- V.,.g.3 =.j.;.j.s vXeXL U.*.* C uX+Xn.* t.* C.* a a h U C C.) * %.pXnXM.l.i.FX7 ._XB.i U t t < U U E E U.W EX, UX, u < < a < a.M hX,.} < a.M < R <.W U.FXpXnXL.s.N.M t t.e.a.~.~X-XI.eX-XD R.*X,X- t a.N.N.sXf.x.@._ t.M R.e.a R a.e.Y : :XDXK 1Xl.e a RX1 R.e R a.e c R.~.8 3.eX- a < <Xn.j WX0.+.> oXU & H MX0.+ HXC oXm B B.8.` Xn hXe.M.d U.m E x x._ $ x `.} 3 3.KXt e.^Xj.cXgXz.r.rXtXt.r.r e.rXtXtXtXt.r eXt e e eXj N.b.U.o.b _.b _.b _.b.b.^.b.oXzXz.^XjXjXj.bXz.X _.b.b.o N.o.^ N.r.k.r.H ~XV ~ ~.`XI B.ZXU '.0X- R R.*X1X-X-X-X-XD.w ' m $X1.~X1XdXd.uXtXt ~.k.r.k.r.k.rXt.k.rXtXtXd.rXdXt.A q ] 5.A.& I I.|.R (Xd.H.8 N 3 ~.r.u.kX*.8X-XX )X-XI.,XJ = gXwXl $XU 9Xa bXC.! 2.vXn U t B.M C sXG *Xb w.C.. ..L n $.8 c.r.r.rXt eXjXzXzXz.bXz _ _.c. .o _.b.^ NXjXt.r",
-"XD t.9X0Xh.h y y y [X7X<X+X>XG.@ v v.N.N.N s 8 R R.8.`.8 ~.8.rXV.kXt.r.rXt N N N N l.b N.oXx.b.X.o.^Xg.XXo.X.X N.o.X N.b l.X _Xx.X.RXk.XXxXkXkXk.f.$XxX*X*X*.8 3 ~.rXV.rXt 3X9 IX9X9.r ) ) 5.&.fX@ d.: lXg.U lXg.c.c.c.c.c.U.c.c.c.c l.o.b.U.b.b.b.b.bXg.X.^XjXjXtXt.rXtXtXtXjXtXj.X.b N.b.o.b.o.b.oXg.b.b.oXg.c.c.c.c.c.U.c.c.c.c.c.c.c.c.c.c.c.U.c.c l.c.c.I.U l l.c.cXk.cXg.o.b.b.U.IXgXxXgXdXz.X.XXzXz.b.XXzXz.XXzXkXd.u.k.kX* ~.8.`XXXcXX x # `.l.l.l # #XM xX3 yXa.s.jXGXr.-.[XlX,.*.a 3 #Xc .Y kXcXK g.9XwXL u.)X=.sX>X+XM.l h.l # .-.i UX+.M.YXe.>.,XlXqXnX+.F.-Xn x U h.W.M.w U.M.a xXB 1Xp x., 1Xp x hXeXnXnXL vXs C.N U t.M.a.eX- $XlXl.D $XI.0 $ $ a R U.)Xi.@.@.xXn t.e aX-X- t.a.a.eXD.aXD `XKXc ' h $.aX- t R aX- cX-X-.~ 3X- a t < <XGXGX> W 9X0.! oXmXp y H.+ = & !Xm.!XIXV 3.iXn x E U E._._._.iXq x 1 TXlX,XI.8XV.r.^.k.^Xz.U.o.^ eXj eXt ~.r.kXtXtXt.r.rXtXjXtXt.r.rXj.^.XXz l.b.b.b.bXz.b.o.b.b.o.b.b.b.o.b.b.b.b _ _ _.b _.b.b.b.b.^.bXt.r.rXt ~.HXt.`.8XIX1X1.2.' TXD.e.~.e.e.eX-X-X- R s sXU 'X1.R.].X.u.^.KXtXx.kXx N.R.z 5 N.r.f.^Xo.^XoXxXdXo ).X (.5 :.5XxXo.5.HX9 ~.8X*XkXx.rXV.r.8.8.8.`.~XI 3.K k !.>XwX,X- '.!.n OXC oXC O W XJ TXUXc x KXp W.y.x .XnX4 XBX-.k.HXV e.r e.^XzXz.V _Xz _XzXz.b _.b.bXz.bXj e.r",
-" cX5.[ sXpXH =.OXwXpXc WX+.s J v.s 0 v.=Xa s CX1X1.` ~ 3.r.8.`.k.kXt.uXtXt.k.^.k.^.k.^.kXjXjXjXj.X N.^.^ NXt.^.k.kXt.^.KX9Xd N.R.f.tX9XxXg qX N.I NX*X*.r 3XV.8.8.KXtXt ~.8 ~ cXdX5.u.KXoXxX9Xx.RXk.Q.z.z.z.U.U l.U.cXg.U.cXg.c.c l l.c.o.z.o.b.b N.b.b.b NXjXtXtXt.k.kXdXjXtXjXj.b.oXz.b.o.b.b.b.oXg.b.bXg.c.c.U.c.c.c.U.U.U.U.c.c.c.c.c.c.U.c.c.U.c.c.c.c.#.c.c.c.c.c.c.c.cXk.o.b.o.o.b.b.X.X.^Xz.b.^.X.b.b.bXx.X.XXkXo.r.k.k.uXI 3.` #XJ V ` k.[Xc X3XMXM #XM y o v.= vXL u.w tXDX, RX- a c < c h c.- sXK.jX0Xw.j 0.s.Y.p.F x $.a c.iXM.-.FXeXpXq =._.9.+.jXh.T M.O =.O.Y v U.W E UXe 1.pXwX+Xw.[ nX0.>XcXn.W E xXG.N xXa.WXs.N.MX, a R B.K :XKX3 T 1 x m : xXs.N.NX6X2.JX+Xe t tXDX1X-.a a a.aX-X- R aX- $ `Xc `XwXI BX-X- a.eX5 RX-XV.eX- a < uXpXn.j H v s y !XG s v vX0XU o.j.qXP 9 #X1.a.YXe._._._ E.FX+X+ 1XK # R.H.r.8.k.kXj.cXj.^.^ e e.rXt.rXt eX*Xt ~.k.kXtXt.k.r.rXtXtXjX*.^Xz.b.c.b.b.b.b.b.VXz.b.o.oXz.b.b.b.b.o.b.oXz.bXz.oXz _.b.bXz N.X eXt.k.r ~.R ].K.K ).u.]XUXO !XcXl.' `.u $XVX-X-.a.w.wXPXNX5X9.5.| 5.& f.R P P.R.$.z 7 Q f.& f.&X@ Z.|.z.r.u.r )XJX9 : )XxXJ )Xx.5.H.r.K N.8 F ~Xj.k.8.8.`.8.~X* c k k !XUX, R 'XO.!XPXm.q &.EX+.p., `.9X5 1 gXq ^Xf.{.x.m E >Xc.aX*.r.rXt e e.^.b _Xj _ _Xz i.o.bXzXzXzXj.kXtXt.r",
-" 5 D D.M.}XHXc.GXU.ZXw.pXL.sXG b bXeXe v v.n.* RX-X1.8.u.`X9Xx.5Xd.rXdXtXtXt.r.r.rXtXtXdXt ~XjXt e.^.r.rXdXtXtX*.rX*.r.r q.5 q.R )X* NXkX@Xu.I NX9.oXt.r.kX*.8.8.r.rXt.k.8XV.H ~ cXVXd Y ).|.R.|.&.& f AX .& Z iXg.c.U.c.U l.c.U lXg.c.cXg.U.b.b.X.b.o.X.oXg N.^Xt.kXtXt.kXtXtXjXtXz.X.b.b.b.b.b NXgXg.oXg.c.c.c.c.U.c.c.U.U.#.U.#.#.#.U.U.c.V.cXg.c.c.c.c l. .c.c.c.c l.c.c.c.c.c.V.^Xz.X.bXzXz.X.b.b.o.b.b.bXz d.z.t ( Q.R 5.%Xx.$X9X9Xl }.-X.X7.S |.[.[.- .l.lXBXw.s.s 2 v U x h R.MXIX1X-X-.a.a.aX,X, CXs vXe.EXp =.h.1XB #X5XI aX-.i xXpXc.FXeXp v CXq h v y.j.jXm.jX0.j.Y vXe v v._.)XeXe._Xq v._XGXG v.sXe vX+.[XsXl s ' v.W v C t a.~ RX- R.e aXI.~ 3.e.* t.s . ^.{ .Xp.M.aX1 BX1XI a tX-X-.a a a R a R R RX5Xc t.e.M R R RXVX1XIXVX, R a tXeXpXp.j y v.w 8 $.9.w x v &X+ yXCXC.>XU $.M.aXK._.i._._._XnXcXD 1XM.a R.H.H ~.r.^.^XkX9 NXjXtX*XtX*.rXj.r.r ~.rXtXt.r.k N.^.k e.k.rXj.r NX9 NXk.b.b.b _Xz.b _Xz _.b _.b.o.b.o.bXz.b.o _ _ _Xz.bXz.o.b.b.bXt ~.k.r.H 5 I 5.|.$ IXJXOX$ mXyXJ #.2 3.2 $X-X- BXD.'.0 gXI D.5 qXk )XxXxXx D.X.^.5Xo NXx.kXx.^XoXo.^.kXt.kX* ) I.$ 5.R | 5 ) :.5.r ~ ~ q N F.r ~Xt.8 ~.`.`.`.8X*X3.,X. !X5 B.H.w.' T g y o 0 U.WX, c R.*.e.'.)Xb ..C.pXAXqXp X-XV.rXt.rXtXj.b.b.b.bXzXz.#.z. .V.b.bXzXt e.rXtXt",
-".RX9XV #XK c `X, B YXr.1X+X0 v.j CX< y._.O x.]XlX9XX.r )XI ].%.XX5.r.rXt.rXtXtX*.k.k.(.K.k.^.rXdXt e.^Xt.r.k.r ~.r.8.r.}.A.$X9.KX*.r.R.f.RX9Xg.b.b.X NXj.r.r.r ~.r.kXt.u.`Xx.~.8.u cXx.5X9 ) qXxX@ A.R A q d.I dXkXg l lXg.cXgXg.U lXg l lXg.o.b.o.b.o.b.b.b.b.X N NXtXt.kXd.rXjXj.^.b.b.b.b.o.b.bXg.c.oXg.U.c.U.c.c.c.U.U.U.U.#.U.U.U.U.c.c.cXg.c.U.c.c.c.c. .c.c.c.U.c.c.c.c.c.cXg.o.bXz.X.b.b _.b _.oXzXz.o.b.t.t.t f Q P 5 Q 5 DXX |X.XS k.O.3.SXH.S.SX# VXM.l .[Xr 0 vXn.MX, <XD.D t.* RXI.uX1 3.eXDXeXL.)XGXrXr.gXH [.3 V 3 R.a.a.}.l.lX7 > E U.F E xXqXqXU vXa s b.'XGX0XnXp.<X> >Xn._ pXqX>X2.j.;.j yXGX4.j y.Y 1 x.D.w v.sXL C.*X- R.~XI 3.aX-X-X-XMX1 C.D 2.)X6.x.<Xq U aX1X1XU : R.a.a., c 1.eX- R $X.XJX- :Xl R 3X..e RXIXV.].2 VXI < C._XGXp.q.E v.M : $ s R 8XaXK.n.' yXm.q.>X+ h <Xq .m._XnXH 1.> ` kXcXJXJ.K.rXt.b.zXj q.kX*.rX*.^.rX*.r ~.8.`.`.8.5.r.r.k.X.bXt.^.^XgX9.^X9.^.bXkXz N.b.b.b.bXg _.b.b.o.bXz.b _.b.o.b _Xz _ _Xz _ _.b.b.b.o.rXjX*.r.H.k.uXtX*.5 3 ].Z m ' '.uX1XIX-.eX-.~ aX1 $.'.'XJ B.` ~ 3Xt.H.k.H.k.r.r.H.rXtXVXt.k.r.rXtXtXdXt.r ~.kX* DXM.rXM.k cXV 3X9.r F.r.U ~ ~ ~Xk.UXk ).` F.rX*.kXX k m m.0.`X1.` BX-XMXJ & 0 OXs.M.M.M C.! s.s.s.C.x .._X4 Xc c 3XtXVXt.rXj.^.b.^.b.bXz.c./.o.^.^.b.bXjXt.rXt.r",
-"XdXd.&XX VXXXIXIXIXc.3Xw nXw v.+X+.+X+ y.GX;XlXl ).,X9 ,.k Q.2 , )XoXt.uXtXtX*Xt.r q P ZXx.HXd.r e.r.k.rXt.HXV ~.` 3.`.8X3 #XM DXxXX q N.z.b N.X.b.b N eX*.r.`XtX*.rXtXt.`.8 (XXX5.H ).5 ).HXx.X q ( ).z.I.z.z.IX@ l.I. .z.6.6 l i. .I. . .z.U.U.z.U.zXkXkXgXg.IXxXk.X N.XXoXtXdXt.k N.o.b.b.b.b.oXgXgXgXg.U.cXk.c.c.c.c.c.c.U.#.U.U.U.c.c.U. i. .#.U.c.cXg. Xg.U.c.c.c.c.c.c.cXk.o.oXg.bXzXz.XXz _.b _.b.b.b.bXx.XXxXxXx N.X.K.u.u 3X-XJ.3X..O.1X# nXH.S.SX7 .l XBX+Xp v.sXe EXeXs v.w.D.ZXlX-.~X1X, t U /.WX+Xp .Y ` `XX.,XlXI a a a.l.lXB .F._Xq.m E EXq yXG.! &Xw.!.9.>X0X0X0 MX0 yXp.Y.EXr.j oXG o.q &Xw y vXGXwXJ : 1XG 0.W.D.W $ : x.a RXIXD.a.eX,XD RXL 2.sX>.@.JX4 U < RX,XcXw R aX-.,X, :.e.~ RX,Xl `.ZXD a.eXKX;X, RX1X,.5XX K t.a._XnXG.EX0Xm s T xXc m.-XG mXwXJ n 9XGXG.q H.-XK.}XBXBXB .9 h : T.] `X3X9.KXjXtXgXkX*X9.rX*.r 3.K 3.r.u.`.K.5.5XI q ).R.R 5X&X@.fXx.& q.f.f.fX@ dXg.o.b.b.b _Xz.b _.b _.b _.b.b _.b.o _.o _.o _.b _.b.o.^ l eXtXtXt ~.8 ~.8X9.uX9X1X1.0XK.n.wXIX3 RXI.eX-X1X-.w.n.0.OXJ c.rX9X*.&.5X9 5X9Xx ) )Xo.kXd.HXt.u.r eXtXt.r.k.u ~ 5.$ )., ) 5.K.8.u.K FXt.XXgXt e NX9Xg.^.r.`X-.r 3.K., 5 ! :.~X1 R.`.`X-Xc.q b O.=.W.*.j.jXG.=XiX>XfXf p...[Xh.,XIXI.r.8.r.rXjXj.b.o.^.o.o.^Xz ~ e.b.^.^ ~ ~ F.rXt",
-".R 7.X }X*.8 ~.`.`XD 'XK kXJ xXDXGXq v b.j $ T.HX9X9Xo.K.^.uX* 5 5 ].z.XXdXV.k.rX*.k.z.A 5 )Xo.rXd e.rXt.8.8XIX1X-.8.a.r :XVX*X3.5.&.K N.X N.b.o N.X.^X*Xt.8.rX*.rX*XVX*X*.K 3.kXJ #.|XX ).u.5 ]X@.&.(.& PX@ Z.z.tXg.7 d Z.tX&.I.&X@ ZX X&.I.&./.7 d.&X X .&.A.&.t ].AX@.&.RXtXtXtXj.^ N.X.b.b.o.bXgXg.b.c.cXg.c.cXk.c.U.c.c.U.U.#.U.U.U.#. .6 i i. .U.c.c.c. .c.c.c.c.cXk.c.c.c.c.cXgXg.o.bXz.o.b.bXz.b.b.b.b.X.o.X.oXk.b.X N.k.r ~XI.`.5X3XJXc DXUXwXHXwX7.-XBX7 kXBXBXp ^.) ..s.)Xn.E = n.-XJ $.ZXc h x.j._X+.[ XM.l :XH `XI.HXI.e R < # #XXX7X7.pX+ p._ .Xp.jXP.w.9.'.>.> =.O.>XwXw =XUXU.j y o s s s v sXmXP v.nXLXcXU.-.9 yXs M.YXa.9Xc : $ $ ` #Xl xXlXl.MXe.NXi.4X>.CXn._ t.MX,.2XK R a aXKXKXM.e a.e c D $ RX1 R 8Xl $ : a R.u #.a #X, UXpXnX>X0.j.'X..ZXJXcX. :XKXwXwXU.wXsXK b.j nXw =.Y hXM $ c.}Xl.u cX5.k.5X9.kXx N.c.XXj.X.r.r 3 ~.rXVXV.8.`.uXXX9.uX9 )Xk q.I A.z i.o.I.U q.IXk q.z.o.oXz.b _.b _ _ _ _ _.bXz _.b.b _.b _Xz.o _Xz _.b.b.b.bXg e.rXd.r.r ~.8.8 5./ } ) TXO 4XO.2XJ `X5XI 3X-X1 8.n.' YX. : I I 5.&.%.& 5 5 f 5 q.X.fXtXt.rXd.rXtXtXtXtXjXt.rX*Xx qX9XxXX ).K.`X9.r.8 ~XxXg.XXjXjXt ~.8.8.` ~ 3.8XX } Y.G : $XI.u cX5X-.,X. =.! oXr._.1XhX= ^.CX6XA.FXq.FX+XZXKX1.`.K.` ~.k ~Xj.b.b.b.o.z.XXz.^ F e.k.r F F.8 F.r",
-" ].t.AXg.k.r.` 3.8X1 B g.O.O.iXD CXL.).s s B ~.8.`XV.8 FXd.k.r.5.5Xo 4 A Q.K #.rXt.kXt.k |.R.R.X.r.k.r.8XI.DXl.9 c.`X- 3.}.uXX.KX3X9 3.k.kXt.kXtXj.^XtXt ~.8 ~.uX* ~.k.uXV 3XV 3 c.u c.u.H.k.k.k.XXk.XXk.zXk NXkXkX9Xk./.U./.zXg.IXk.I././.z.z.zXk.z q.zXkXk.I q.z.z.z.XXxX9XtXtX*Xj.k.^Xz.b.o.b.bXg.o N.o.oXg.U.c.c.c.c.c.c.c.U.U.#.U.U.U.U.U.U.U.U.c.c.c.c. .c.c.cXg.c.c.U.c.c.c l.c.cXgXg.o.b.b.b.b.b.X.b.b.o.b.bXgXxXz.X.bXd.k ~.`.`XX., mX.XwXUXwXUXr [X7.g.[.[X<.[X> JXi.s % ^.@.s &.9.'XK m.,XK y.jXr &X%.gXM m k $.eXc.2 : R a a.i #.l.lXBX+.x SXnXnXw =.WXL B C t.w x '.9 s.n 1.n.j.!.n 9.9.w 8.w.'.wXa.nXaXa.!.j., =.T yXnXK C.-XlXKXJ `XK.9XK 1XKXwXD.N.N OXi H ^XnXq.M.M.Z.M a R R t.e.e t R.~ a B.e.~ RX,.e.a.M.e BX1.~ $X-.a a hXqXp.@XC y y.nXl.D BX, $ RX, tXl xXD.n.9XKXw.> MX#XH.- DX3 } D.5.|.0.$ T ) 5Xg NXg.k.r.rX9 3XV.`XI.uX*Xt.8XV.}.a.`.` 3.r.r.^Xz.b.b.o.^.o.^ N.X N.o.oXz.b.bXz.bXzXz _ _.b _ _ _.b _.b.b.o _.b _.b.b.o.b.o.b.XXg.^Xj.rXt.r.` ~ ~.5.R ( D.5.R g Y.0X.XD.e.e :X- B.D s 'XcX5XI.u.K.kXoXo.k.k.k.k.k.k.kXx ~XtXtXt.rXt.r e.r.rXt.rXt.k.k.r.u.rXV.r.8XX.r.8.r.^Xg.^.r.r.rXt ~.8.`.` ~X9 ) | } YX. DXJ DXJXJ 3X3X5.O yXC.YX+ v = ^X6Xf ..mX4 EXe.[.[XK BXIXVXI F ~.k e.^.b.b.oXkXgXd F.`.K.r ~ ~.` F.8.8",
-" 5 (.k.XX9.X.k ~.8XI ].' Y.2 $ x U.sXe.s.wX1.~ ~ 3.8.8.rXt.HX* 5X3Xt.k.X.2 I I :.k.k.rX*X*.KXx Y )X5.8 RX-XlXl :.5.aXI.,X9 3 hXV.`.K.k.8Xo.^ ~ ~.rXt.r ~.`.8.r ~.`XVX-Xx.KX3 :., D ) 5XXXJXo.fXx.&.X.X.XXgX9Xg N.b.o.o.oXk.c.U.c.U.cXgXk.UXk.X.o.^ N.b.b N.bX9.X N N NXjXtXjXtX*XtXtXj eXj.^.b.b.bXk.V.b.b.o.oXgXk.c.c.c.U.c.c.U.U.U.U.U.c.U.c.U.c.c.c.c.c l. .c l.c.c.c.c.c.c.cXg.cXg.c.c lXg l.oXg.X.o.X.b.b.X.o.X.XXg.X.b.X.XXVXd.H 3X5.2XJ.] T.! s s.jXwXpX+.- z MXr H S w 0.@.@.;Xi bXs C.eXD.e.*.).N.).s.YXB kXlXKX-.a ` I $.a a a.}.} # # xXpXnX4 M..XZ.jXP.9.' xXl x sXJ 8XDXs.nXK YXK =XOXUXcXl RXDX,.ZXsXDXLXL.9Xw n = v.N.* R tXIXM aX- <.e R.eXD a.* 8.) 2 2.@X2XnXp U U h.ZXc.Z a a RX5.e.e.e.a.e RX- BXD R :X5X,.Z $.D c.~X- a $XpXn H HXGXG.Z.Z $X1XD ' x x.DXG $.M x s.YX..j.,Xh ]., ) D I : IXo D 5XoX9./.k.b.k ~XVXD cXIX5Xl.H.H.k.`.H.`.`.8 3.u.r.rXtXj.b.o.b.b.o.bXz.b.b.b.b.b.b.o.b _.b _ _ _.b _.b _ _.o.b.o.b.bXz _.o.o.b.b.b.b.o.bXg.XXtXtXdXt ~.r.`.8 ~XVXxXIX1 B g TX5.w B R 3XI B.Z.n.0 D.DX-.H.r.u.uXdXd.kXd.r.r.r.rXt.rXtXtXt e.rXtXjXtXtXdXtXtXtXoX*.uXt.u.u ~ ~.r.8X*XtXk.X eXdXt.r.8.8.8.`.~ ~ # I.,.]X,XI R.8 R.`.`X-.aXl.0XL.= 2 G.@.4 0.C.@.y._._Xp 1 1.Z.uXI.k.H.uXo.X N.XXoXkXdXg.X.r.r.`.k.r ~.r.` ~.8 F",
-".u.X.r N.^X9Xx.5 ( DXJ.DXl.9.w hXe.s 2XG hX-X* ~.r.uXVXdXt.r.k q V )X9.XXt D 5 f q ( qXo 3 3XV.KXJ :.9Xl.9 1 DX3.aXI 3.$XX.aXIX*X5XV.8.HXo.r.` F ~.r.r.k ~.`.`.8 ~.` ~ 3.u ) `X3 5 VXl ) ).R D q.&Xk.o.X.^.b NXg.b.o.b.b.oXgXk.cXkXk.cXk.UXg.b.bXg.b N.oX9.b.b.X.o.X.b N.kXt eX*XjXtX*XjXt e.^.XXzXk.o.b.b.b.b.o.cXg.c.c.c.U l.c.c.c.c.c.c.c.U.U.c.U.c l.c.c. .c.c.c.c l.c.c.c.c.c.cXg.c.UXg.QXu dXu.t d.t.t d Q A A.z ] X d A A ]Xo.2.uXxXJX. @Xy.G.>.q.jXr.Y.<XrXr.jX>.; & M w.;XfX0 o 0.N.W t h <.M.N 2 bX>.g .SX3 x `.-.a.aXD aXD h h h 3 # 1 .Y ..sXn.j.>X;XO.].0Xc T TX1 R R RX1Xl.0 ' s.' 'XM x c R B RX-X1.*.N.n 9Xw.j J G.= C <X-X- a a RX- R R BX, R 8 tXs 2 2.v.@XfXqX+ UX,XDXlXwXc.'XJ xXJ B a.eX-.eX-X-XDX- : 1X3 T ` :Xc.a R <Xq.YX4 & H v.n.Z :X,Xl x.Z s.MXD.wXU s.w 1 g n kXc.3 D.uX5XV.H.u.`X1X1.8.`.k ~ ~ ~XVXIX1.DXl x s s.Z.`XIXV.`.8 3.rXtXtXtXjXj.^.b.b.bXz.bXz.b.bXz.b.b.bXz.oXz _Xz _Xz.b _.o _.b.b _.b.b _.oXzXzXz.b _.o.b.b.b.X lXgXoXdXt.u.8.`.r F.8.rXV.H.H.HXo D.n 'XDX- cX-X-XDXl 'XUXdX1XIX1XdXtXtXt.r.rXt.kXjXt e.kXt.r e.r.r.rXtXtXt.rXtXtXtX9.r.r.r.u.r F.`.` ~.rXt.X.z.k.rXt.r ~.8.`.8.`XV.5.$X. $XI.uX-.`X-.`X-XI RXD.9 9 OXa 2 ^ z.@.<.<X+X< [.[X3X1 V #XJ TX5.k } 7.R.z.&.&X@ ~.r.r ~.` ~.kXV.8.8.8.8.8",
-"Xt.5.H.rXt NXk f./ qXI.` R TXJ.w v.W vXq RXI ~.r.rX*Xt.HXVXd.k #X* 5 ) I.5X5.uXx.] ] (XX.uXIX1X,XDXrXh nX. k h.a.}.`.aXX.,XXXM 3XI.` 3.8.8.8.r ~ F ~ F.`.`.`.8X-X-.`X-.`XIXIX-X1X5.~XI.H.8XV.kXd.k.X.o N l.o.b.o.b.b _.oXz.o.b.o.o.oXg.o.UXg.b.b.b.o.b.o.bXg.b.b.o.bX9.o NXt.kXtXtXtXj.kXj.rXj.b.b l N.b.b.o.b.b.oXgXg.c.c.c.c.cXg.c.c.U.cXk.c.c.c.U.c.c.c.c. .c.c l.c.c.c.c.c.U.c.c.c.c l.c.#.tXu.A.t.tX .tX X X d.Q.t Q ].t X ] ] 5 (.] I.3 7.G @ @.G K.h MXZ z.1.; y.jX0.xXC S.j.;.; 0.=.N h.}.e.N.N.sX>XB .[.gX3.-XH [XM.lXM # #.l.i.lXM x `.YXr J.. 2.EX0 T.w 8X-.e a.e t R BX-XD $ R.a.e R.MX1XIX-X- R.e.eX- 8Xs.nXP n.- o /.N.*.* a aX-X- R R a R BXDX-.eXD C / /.v w.@.jXp xXs R.a.ZXl.Z : $ sX1.e a BX-X-.eXD a.aX-.aX-.a.e c.e t.aXp.Y.Y & JXa.W R $ DXcXK nXUXK.j TXU.nX. !XH m.[.>.G.OXJ.].]Xx 5X5X9XoXl.2X9XI 3X1XIXD.w vXG v OXm.0 :XVXd.kXo.^XtXk.^.kXj ~Xj.b.b.b.bXz.b.b.o.bXz.b.bXz.bXzXz.b _.b _.o.b.b.b.b.b.b _ _ _ _.X.Q.Q.R A.&X@.I.R.&.AX@ 5 D qX9XV.`.8 3 ~Xt.k.HXIX1 g ' '.ZX1X- 3XDXD.' TXJ.ZX1.`.H.r.rXtXd.rXt e ~Xt.r e ~ eXtXj e e.r e.rXtXt eXtXtXo.rXtX*XdXV.`.8.`.rXtXt.^.I.k e.rXt F.`XV.`.`X9X9., m.u RXI.e.`.`.`.~.`.8 B.Z.w ' O O.@.y >._._X+X<.T I.,X- k cXJ.$XlXo.& 5.$ q 5.I 5.KXtX5.`.` ~XVX* F 3.8 ~.8",
-".uX9.k.kXoXk PX@ fX* ~.`X1.u gXw.j.j vXGXD.` ~X*X*Xt.rXdXt.r.k.KX*X*.K q } 5 q cXdXo.R mXXXDXD.9 v.Y.j zXZ kXM aX-XMX3 k V VXJXc 3XI.8.8.8.8X-X-.`.8.8.8 ~.`.8.`.`.8.`.8XIXJ I #.5.].K cXV 5.5 fXkXk.X.z.o.b.oXz.o.bXg.b.b.o.b.b.b.o.b.o.cXg.o.bXz.b.o.o.b.b.b.b.b.o.o.b.b N N.^XjXtXtXjXt eXtXj.X.U.b.X.b.b.b.b _.b.b.VXg.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c l.I.V.c.c.U.c.c.c.c.cXgXg.c.oXgXg.c.z.U.z.z.U l lXx.U.XXx.X.zXx.o.X.XXo.k.8XV.8XlXx T.2 ! = y.j.EX>X+XG vXn.j M.Y.EXr W.x W.x w.s.sXe t U GX=.=XpX7X7X#., `.[XH .F #.l.l.iXB XB :Xq gXGXG z.v 2 w.q y.n R B RX-XI.~ a R.e.eXc $.uXlX5X5.} 3 R.e.~.aXI.~.Z.wXLXU.-XK o /Xs C aX-X- R a B.a RX- RXI aXD 8 8 / G.v.B.;X>XqXq <.a R.eX,.e.*.e.e R R.eX-.eX- aXI a a aX-XIX-XIXD.a R 1XGX> &X0 9 v.Z RXDX,., :.9Xq x 1 $XwXlXOXKXK =XcXw.>XcXU D ) D q ( 5.2XJ T.9XD.Z.Z s s vXe v 2 2 JXJX3 m.R (X@.A.(.tXg.bXz eXj.b.b.b.oXz.bXz _.bXz.bXz.b.b.b.oXz.o _.b _.b.b.b.b.b _ _XzXzXz.c.6.f.tX@X@X@.f.&.& 5.AXx.$ qXV.8.`.8 ~.8.u.r.H.HX1.XXPXa s RX- RXI $ T.] !X5.H.`.`.H.rXd.kXtXdXtXt N.XXx.b.X.^ ~.rXdXt.r eXtXtXt.r.r.X.rXt.r.r.r ~.X ~XV.rXt.kXk.bXtXtXt.8.8 ~.8.`.5 : I.2XI.H 3.`X-.`.` F.~.~XIXI $ ' sXmX4.<X% >.FX+ [ : 3 3X-X-.}XIXVXV.`XVXt.r.k N 3.r ~XxX9 ( ) D q.$X3XV.H.8.8",
-"X*XxX*X9 P.RXk.k.o.X.r 3.~ 'XUXPX0XwXmXK $ 3.`.k.r.r.r.rXtXd.KXt.K.8X*.r.k.A 5 Q.].uXI TXw K.9._XnX>X4XwXhX#XB ., VXX kX3XX V `.8.a.8X-.8.8.8X*X-X-.k VX* a.aX-X-X-.` R.$ : mXH ).KXx I I.u.f.| Q X QX .o.X _.b _.b _.b.b.b.b.b.o N.bXg.c.b.b.o.b.b.b.o _.o.b.o.b.b.b N.o.b.b N.^X*XjXtXtXtXt.^.U N.b.b.b.o N.b.b.b.b.o.o.oXg.c.c.cXg.c.c.c.U.cXk.c.c l l.#Xg.c.c l.c.c.c.c.c.c.c.c.c.c.c.cXgXg.cXgXk.cXg lXx.b.oXgXx.b.bXo.bXVXd.8.8.8X*., c ` m gXc.p.Y.j.< v h._ 'XeXp.Y.[.pXB >.xX6Xb.. * * G / 2.v.jXB.[.[.iX.XH n.jXB.[XBXBXB.[X7.[X+ g.Y v.sXC . 2 ^Xm s.]XD B.a BX-X- R a kXD m 1 m 1 ` m.5 R R R BX- R 8.w.wXPXw .-XGXL.s t R t R.eX1.e B.a R.eXI 3.e 8.N / 2.v ^.4XfXpXp < t R.eX- B R.e B.eX-.~ aX- R.~.}X-X- aX-.eX- cX, a U 1XG yXwX0XG.nX,XDXDXD RX,X, $.a.a 1.Z $XD sXl yXOXU H v b.MXK.HXV.`.uXVXDXD s v v vXL.WXa.N.s.sX= 0 $.}.r.uXo.R e.bXgXzXz.b.^ eXjXjXz.o.o.bXzXz.o.b.bXz.b.b.b.oXzXz _.b.b.b.o.b.b.b.b.b _ _.bXz.o.oXz.bXgX9XgX9.X.$ N.rX*.k ~ 3.8.8 ~.r.r.kXt.u.8.DXO.nX5X1.a RX- h.wXl.] 'Xo.D.r : q 5 NXtXt.r e.X.z.I.z.z.bXt eXtXj.r.rXt.rXtXt.r NXd.rXtXt ~.` ~ ~.`.r.rXtXg.XXt.r.r.8 F.~.`.8.k.u ] g.D.~XI.`.8.~.`.` F.`XI.`X1 T $XqX+.FX7XBX% x k.Z D ].]X3 3XV.K.K.5 N.5X9Xk.f.zX9.5Xk | )XX.$ 5 q I.r.k.r.k",
-"X9 , ( PXxXdXtXtXtXk.k.8XIXV g.0 sXm.qXU.'X1 ~.r.k.rXt.k.r.r N.KXV q.rX*.kX9.kXk D.$ '.Z 1 y v.s.s.sX+ M.[X< 6 VXXXX V VXX X7X3X3 a 3X*XVX*.8.`.8.`.}X*XXX*X*X9.5.5.KX. } :.e c cX1X*XI.k.kXt.5.XXxXoXx.X.X.^.XXz.XXz.^.X.b N.X.b.b.o.bXg.o.b.b.b.b.o.b.o.b.o.b.o.b.o.b.o.o N.X.X.X NXjXtX*XjXt.rXg N.o N.b.X.b.o.bXz.bXz.b.o.o.cXg.c.c.c.c.cXg.U.c.cXg.c.U.Q.c.c.c l.c.c.c.c.c.U.cXg.U.cXg.c.c.cXgXgXgXgXkXgXg.b.b.X.o N.b N.b.k.r.8.8.a.`XV 3XIXcXc nXw M.<.YX% $.1.[.T k.d.S.F >.<Xr wXi.PXv.) 2 / / OX+.[.SXXXH.-.-XrXnX+.<X+X>.pX+X+ n.jXwXL.n.) CXv.) O H.n.' $X1 R.aXI RXD RXI.Z.aX, cX1XD $X, RXDX-XDX1 RXD.wXGXwXcXB.g &Xn.W.w t.eX- BX- R R R a.~ h.a t.N.N 2X6 wXf.C.CXnXpXq a a R.eX-.eX- aX- a BX-.~ aX-XD.eX- aX-X-XI.u a R sXp.Y & & & b.wXD.ZXD.aX,X, XD.}.a x.9 $ 8.w.n v.n y.4X=Xn v t.M.a 3.,X.Xw.-X0.E.@X>Xm.W.N.).).)Xv b.}.8 3 FXdXdXoXz.b.oXz.o.^ eXjXj e.^.bXz e.^Xz.b.o.b.b.b.b.oXz.b.b.b.b.o.b.o.b.b _ _.b _.b.b.b.b.b.X NXgX@.$ qX q qX*Xt 3.8 ~.` N.r.r.r.kXd.k.`.].0Xa.w B aXD T.0 4Xy.].2 (XJ )Xx I N.k.kXt.kXj.kXj.k.^XjXd NXt.k.kXo.^Xt.^Xo.^.XXoXo NXo.^.kXtX*X*.k N.^././ N N NX*.k.K.kXVXxXJ.%.|.ZX5.5.rXV.K.u.H.k.uX*.8.`Xt hX,.iX+XqX7XB h.2.5Xx ) : :X-.8.8X* ~.uXt.rXkX9 N.8.r.rX*.8.u.8XV ~ ~.8.8.8.8",
-" 7 } qX9XtXtXtXdXt.k NX*.H.0 g.2.9.j.OXOXO.HXI.HXtXt.r.r.r ~.5.k ) P q.rXt.r.r.rXV )XJ.1 vXa.).) /XfXr n ` V., VXX.lXMXB hX, ` V kX3 |X#., |X*.a.`.8X-.KXXXJ., VXX.KXI | } DX3 D ).0Xx : (.$X9 (Xo 5.uXx (Xx d.z.z.t.Q.RX@Xg.R.o.I.z./.bXk.o N.o.b.o.o.o.o.b.o.b.o.o.b.b.b.b.o.b N.X.b.kXjXtXjXtXt.bXj.^Xz.b.b.b.b.b.o.bXz.b _.b _Xg.c l.cXg.c.c.c.U.V.cXg l.I l.c.c.c.c.c.c.c.cXg.c.c.c.c.cXgXg.c.c.c.c.o.o.oXg.X.bXg.X.o N N NXtXV.8.r.`.`.}.`.a 3 1Xw.1 M.p.+.+X+.h n =.O.YXHX+.pX:X> wXf ^X= 2 O O 0.v.jXZ kXM x VXc.j . ..s.. .Xn.4.@.@XCXm v.v.N.4.s.)Xi.j.'XUX, 8 Y $ :X, D.MXKXK.aXc.,.} ` kXc.eXw 8X,XH.*.w.w.' [ n.[X#.hX+ y.jXc g s : :X- R.e.a aX, R.N.d.) 0Xf.v.BX6 wXfXn.F.M aX1X1.~.~X-X-X-.e aX- a.~.aX,.eX- R BX-X1 3 < <XqXG.Y &.9XP.9 s $ c hX,XD hXl.a.} < $ 1 $ B 8.D.n.w J H...s..XnXL.wXw y.E.jXmXG.Y &.Y 9 C t C.NX=.WXG `.8.a ~.r N.b.bXz.b.bXzXz.^XjXj.b N.^XjXj e.^Xz.bXz.o.bXgXg.b.oXg.oXg.o.o.o.o.bXg.o.oXg.cXg lXkXgXgXk q.f.f.&.A.f.f.X.5.k.k.KXo 5Xx ( ( q 5 A ( !Xy.0.'X,XD sXU 7 K.2.|.0.5.KXtX*.5Xo.5X9.^.5 N N.^ N N.^Xo.^.^.^.^.^.k.^.^.k.k.X.k.k.kXd.r.H.r.H.8.r.r.r.^.z.rXt.r F.8.`.8.`.`X5 ( gX1 BX5.e.k ~.k.HX5 N.`X* #.K.8.a.} ._.i n.M.8.` B.` cXIX-.8.8.r.rXt.k.r.`.X ~.8.r.u.rXV ~XtX*.r.8 ~.rXV.r",
-" |X9.5Xo.5Xo N N.^.^X9 )Xd :X..G @ 4.G 4Xy g.u c.5 NX9Xx :.$ ( P f I 5Xx.X N.5X9.kX,XKXKXG J.s % ^.@ n [.- k h V VXX kX3.i $ k.-.,.- 6 6 |X#.%X3 # hX3 V., V V VX3X- : 5.,.K `XJ.$XJ.$.$ 5 I.R.A I 5Xx.f 5.&.R AXgX@.&.6 ,X X .A.f i.&.oXkXg.o N.o.b.X.b.X.b.o.b.b.b.b.b.b.b.X.b.o.b NXjXtXt.kXtXt N.rXjXt.^ N.b N.^.b.bXzXz.b.bXz.bXg.c.c.c.c.c.c.cXg.cXg.c.#.o l.c.c.c.cXg.V.cXg.cXgXgXgXg.VXg.oXgXg.o.bXzXz.bXzXzXg _ NXzXz.^ ~.8.8.` 3X-X-.` RX-X,Xc.Y >X+.x W.pX+.YX+X+X+ >.i.dXG J w HXC.v.sXC H 0 9.; [.- xXl 1 1.-XnXbXbX=.s .Xb..X> & o O 2 G GXFX= bXC ' 'XDXD :X. 1XDXK h ` :.M.9.9.aXXXH s.eX. aXc.3.nXe sX+XwXpXc.1 =X0 M.wXGXlXcXc : a.a.a.*XDX, <.NX=.vXiX6.B.B.BXfX8X4Xp x 3 B 3 3X-X-X-X-X-XI.~.a R BX,XDX-X1XIX1 c c.a U 1XpXmX0 &XmXU.'Xw.Z `.0 1 1.9 h hX,XlXKXlXD.ZXDXaXG TX0X> 0 0 b b J.vXL..Xn.W._ v U hXs.Z U.d v v bXG hX*.k.^.X.z.U.U.U.#.U.#.zXk.UXkXk.U q.c.b./.b.bXg l.zXg.c.c.U l.c.c l.c.cXk.c.cXgXgXg.VXgXgXgXgXgXgXgX9XkXgX9 qXgXX.kX* ~ 3 ~.r.$.z I.R.R (.R.] )Xy '.nXDXDXPXU ! 'X1 B TXDXM a q.| ).kX*.k.r.rXtXt.rXtXt.rXtXt.rXtXt.rXtXtXtXt.k.^XtXt.rXt ~ ~ ~.8.8XtXt ~Xk e.r ~ ~.8.8 F.`.8.D.RXO.0.H '.`XV.K.8.5Xd.r.`.r.8X*X- a c.FXeXq.Y.~.`.`.`.` RX-.`.` F.k.r.rXk F ~ F F FX* ~XV ~.8.` ~.r ~.8.rXt ~",
-".K.kX*.r ~Xt.r.r.r ~XtXx.] ) 4 Y m.2XyXO.! !.nX1.8X*X*X*.5 ) Y (XxX1 ~ 3 ~.K.r.uXV.aXl vXe.=XvX=X= 0.1X+XJ.K.aX*.,XXXB X, U .-.-.,X..SX#X. |Xh.%.,X3 XB.- X3XJ 5XX #.u 3 3 c.K cX*X5.5.5.XX9.5X9.5X9.X.5.z.5XkXk q q.z./ q.I q.z.IXg./XkXk.UXk.U.U.U.U.U.z.U.z.U.z.U.U.z.U.U.z.z.U.X.b NX9 N.X.z N.X N.oXk.U.U.UXk.U.z.U l.#.U.#.#.I.I. . .I.I. .I.I. AX@.Q. . .Q. . .I. . .I. .I.I.I.I.I.I.I.I.Q.Q.z l l l.z l.Q.z.z l lXx.X (X9.u c.H.u.uXl.u h s n.j.jX: rX:X:X:X: M MX+.p UX> w &.>.>.qX0 HX0 & &XU [X;XcXw.-XwX<.x . .._XnXn ^...@ & H &.E 0.;Xi 0 JX0XPXc.nX, 'X5 x x.9.Z.9 y h.9XK x x x.j $XK $XM $.j.'XK.>.[ [.j.E.j HXG s xXDXD.Z h.MX, U 1.WXL.s.v {.@ w L.B {.PXfX8.jX+ h.aXD 3 3 3 3X, hX-Xc c T 3.]XI.0XD $.uXl.a.}.WXpXp.;.q y.'.nXU.O 1XKXHXw.,XD h.Z.M.- n T.ZXD R.a x v o.q 9 0 /.= 2X=.).) u.) UX1 RX1 RX- a <.W.NXL.Z a ~ ~ ~.^.bXz.b.^XzXzXzXzXz.^ NXz N.^.r l.^.o e.rXj.^Xz.o N.bXz.b.b.b.b.bXz.b.b.b _.b.b _.bXzXz.b.b.b.b N N N.z N.b NX*.r ~.8.8 F ~Xt.r.r ~.r.rX1 T TX5.wX5.nX5 gX1X1.`.3XJXB } V q 5.R P.kXt.k.rXt e.rXtXt.rXtXtXt.r eXtXt.r.rXo.^.rXtX*Xt.8.8.8.H.8 F eXt eXt.k ~.8 ~ FXI.`.`.k.2XO.0.]X5.8X5X*Xt.~.`.`.kX-.8.`.8X* 3.9 vXn $XI.`.~.`.~.`.`.~ ~.`Xd.8.r NXk.` F.` ~.HXd.`.8.H ~.r.r.r.8 ~.r.`",
-"X9.r.r.u.rXoXxXd.K )Xt ).&XJXoX5X1.%XOX$.O.> ! x.Z cXXXH.% T ) D.%.]XKXIXIXVXtXV R.a v xXL.s.)XF.s.x n `X3XM.}.} V `XB xXe.MXM 3XM x # xXlXwX#X.XHXHXc V 1 $XX XJX3.$., #.`.` 3 3XIXI ~.u.kX*.rX*X*.rXt.uXtX*.r.kXj N N.X N N.^.b N.b N.U N.b.b.b N.b N.b N.b.b.b.bXz.bXz.b.b.bXz N NXjX*.rXt.rXt NXtXt eXtXj.^ N.b N.b.b.bXz.b.bXzXz.b.b _.o.o.o.o.b.o.o l.QXg.VXgXgXgXg.c.cXkXgXg.c.c.c.cXg.o lXg.X _.b.b.b.b.bXz l.XXz.bXo e.K (Xl ).5 )X5 :XJX,XK 1 $ M zXpX8.<.<X4X4 SXrXq >.)XpXGXCXm b y 9XL v yXqXG yXUXw.2.jXwXrXpXb.).d.d p.).) ^ H JXC b 2 ^ / OXCXCXa.] R R.e a.e R.* R a.*.a <.e < aXD RXD a a.aXDXa.n yXw y.Y v v.. OXpXsXs t R a h R hXL u.NX= /Xv.vXfXiXbXF - -X=.{.xXnXpX, aX-X- R 3.aXIXIXD :Xc `XJ.,X.Xc D 5.0X5 a a EX4Xn H y o s R gXJX..jXJ.9.>X, U $.a n @ m., T kXK.9.w.nXCXC O O 0.@.@Xb p.W EXDXD.DX1 3.a a.*.WXaXL.ZXIXV F ~Xz.b.b.b.b _.b.b.o.b.b.bXg.b.o.^ e.^Xj.k e e.^.^.b.b.b.b.b.b _.b.o.b.b.b _.o _ _.o _ _.o.b.o.b.o.b.b.b.z.b.X.^Xj.k.r.r.8 ~.r.r.k.k.kXtXV.8.KXP.n ' $ 'XP.2 $XVX-.'.- h 3X*.k.KXo.k.r.r.rXtXtXtXtXtXtXtXjXt eXtXt.r.rX*Xt.kX* ~.r ~.r.H.8.r.` ~XtXt.k.z N ~ F.8.` F.`.~Xx (XP !XO.2X-.K ~Xx.uX9.K.KX9.K.5X9X*.` 1XG.}X-X-.~.`.`X-X-.`.~ F.`Xt ~ F.`Xt F ~.H.r.k.k.H.`XV.r F.8Xt.r.r ~.`",
-" NX*X*.r.H.$.R.|.f 5.kX9Xt cX9 : ).0X5 @Xy.>.E nXq.3.YXc h x mX..G.O =.,Xw VXJ V.1Xw.>.WXeXL.s /Xi.;XrXcXBXJ.a c.[XMXB.Y h.Z $.M aXDXD.MX- tX,.9 1.3XHXcXHX3 k $XXXX )XX 5XM.` 3.8.` ~ 3.rXt.u.k.rXt.rX*X*Xt.r.k.`X9Xt.^.^.o.^.o N.o.X N.U.b.XXz.b.b.b.b.b.o.X.o.b.X.o.b.b.b.o.b.b.o.b NXjXtXtXj.r.X.rXjXtXtXjXj.^.b.b.b.b.bXz.b.b.b.b.b.b.b.b.b.bXz.b.b.bXg lXg.c l.c.cXg l.c.c.c.cXg.cXg.cXg.cXg _ _.bXz.b _.b.bXo l.X.b.b.bXdXo 5Xx.|XJX@.2 D f.].uXH $.1XZ.<X2.JXA pXAXp zX4X+._XG o HXUXa.!XL.n sXGXL s.9XPXO.!.'.EXw.@ %X= u h < p.sXn H 0XC w O ^.= JXC.nXP.'XIX1.aX-XD.e R R.M 8 R.MXD RXDX,X,XD.a.}X, $XK.9Xw [XH.1 M &.E z HXw M R t R.*Xp U.N.) /.v.v.BXfXfXb pXFXFXbXf.;Xf.@.Y C.e.a R RX- aX-.e.aX,XDX1XD :X5.KXl.5Xl 3.M < EX4.@ yXCXL.n.DXDX,.wXD.ZX,.w $ n.>.M.'XcXl sXD $ h :.- '.!XOXC.! J w.@ z.y.EXw = 1 TXJXJ.a.e.aXsXs sXDXI ~ ~.^.bXz.o.b.b.b.bXz.b.bXz.b.b.^.b.b.^.^XuXgXt.r.^Xj.^ N.o N.b.b.b.b.b _ _.b.b.bXz.b.o.b.b _ _ _.b.b.o.b.bXg.o.b.bXtXt.r.r.H.rXt.rXt.rXt.r.rXVXVXU.0.n.n g.].HX1XI #Xc xXB U.a.`.uXt.k.HXtXt e e.rXt.r.rXt.r.r.r.r eXt.rXt.^Xk qXk )Xx )X9.uXx.u ~.r ~.r.r N N ~.8 ~ F.8.8.~X5 gXP 4XPXO.H.u ~X-.k.r ~.r.r.8.8.8 3.~ `X5 a.aXX.8.`X-.`.`.`.`.` ~.r ).r ~.`.` FX5.R.$.| (.$.R 5.k ~ ~.rXV.8.8",
-"X9Xt.r.r.u.K 5X9.K.r.KXx 3 q ,Xx | ) :.0XwXw.xXZ = [XG v yX0X.XHX..- o z 1 x `Xl.E.9.EXsXs.Z.s.....x M [ V.[ # VXB.-.,._X, h a.u R.a.aX-.aX- a.a R.a.a 3 `.lX3 3 #X3XX V.,X3.` 3.8X-.8.8.8.u.rX*.r.kXt.r.kXt.uX* ) q.X.r.b.X.b.X.b.bXz.b.U.b.o.b.b.b.b.b.b.b.b.b.X.o.b.b.b.o _ _.b.b NXzXjXt.r.kXt N.rXtXtXtXtXtXjXz N.b.b.b.b.b.b.b.b _.o.b _.b.b.b.b.b.b.o l.b.oXg.cXg.c l.cXgXgXg.o.b.o.oXgXgXz.b _Xz.b.bXzXoXzXzXg.o.bXo.bXd.r.k.k.r.H.H.D.H F.8X1.K R.9 n.gX4XA._._ .Xf MXp.pXG >XGX+.qXG.9Xa.w v.'Xc.9XG.!XU.'XaXL.;.@.s p U $ CXe *.@ & =XZXm 0 2 O 9.q oXO.KXlXI.~X1.~.a RX,XJX, T $ :Xs.Z 1 $.aXD.u R.w.w g.>.-.-., yXGXLX=XeXL.w R t t U v v.v ^XiXiXi.@ ^.v pXF u.)..X>.C.;X2Xr [.W.9X,X,X, T $ xXI cXl $XI.u.uX- c.e.` aX, x._X4X4 H H.n.nXlX;XK.9XcXwXl TXeX.XH $X,.9 t R R 8.}XD.Z yXUXC.>.>.qXmXn O 2 p.@.MXG.M B t t <XD.= v s B.8 ~.^XzXzXz.bXzXz _.b.b.b _Xz.b _ _.b.b.oXjXz.r.bXjXjXtXj.o.b.b.b.b _.b _.b.b.b.bXz.b.o _.b _ _Xz.b _.bXz.b.b.U _.b.oXd e.r.r.uXtXt.k.rXt.rX* ~.8.`.0XP.n.0 gX1.` ~.8.8.[XeXn .~.`.H.rXd.r eXtXtXt.rXt eXtXt.r eXtXtXtXtXt.k.5.A.A ).$ 5 f.A 5 5.`.8 FXt e.r./.k F.8 ~.8.`.8.`Xo.2.0XPXPXO :X-.`.8.~.`.~.`.~.`.~.`.~.`.8X-.~.u.8 a.8.`.~.`.~.`.8.~ q.8 ).`.r.8.`.r.5X9 ).K.k.K N F ~X*.r ~.`X*",
-".X FXt.k.r.rXVX9 ).%X9 Y qX*.&X3.K.8X-XJ.jX0 .X8XrXrXp.j.xXwXhXc.MX4Xn.@ y UX- x O.s G U R U U 0.sX4X> [.YXX V.[.S.1Xr.O 1XlX5Xl ` cX-X- aX- R aX-.aX-.a a a a < a #X3 V.fX3.` 3.8.8.`.`.8.rX*.r.k.rXt.r.r.kXx QXxX* ~Xd e.^XzXz.b.bXz.b.U NXz.o.b.b.b.b.b.b.o.b.b.b.o.b.o.b.o.b _.oXz N.kXtXtXt.k N.r.kXtXt eXt eXjXz.b N.b.b.bXzXz.b.b.b.b.b.b.o.b _.o.bXg.o.bXz.b.o.o.oXgXg.V.o.b.b.b.b.b _.b.b _.bXz.b.bXzXz.b.bXg.X.bXz.b N.b.K.r.kXVXV FXdXV.H.8XI 3 a #.Y x E....XqXp.xX+.x >.@ J.E.;X+.9 s s.DXl.9 1XOXPXw `.nXLXCX>Xi.s.M x U.W / o H y &.jXC H oXC s.n.5.Z.u c cX-X-XIX- :XHXKXwXUXw.,XJXc.%X5X, R.w.n sXm m XM 1.[ yXn.=.W.W C t t CXa 2X= w ^Xf w wXi.v.).) U t.s ..4X8X>X>Xn [X< 1 1XJXD 1XlXKXlXcXl 3.e.u c.` ~X-.~ R $X+XpX4XnX>.q sXa.2.2XJ.O n.OXw YXD.9 # h $XM aX1X,X,Xe.w.w._ g.j.'.j.q & H J v.s /.) /.).W.W.* t C GXLXl RXV.r.^.b.b.o.b _.b.b.bXz _.b _XzXz.o.bXz.bXjXj.I q NXj.rXj.^ N.o.b.o.b _ _.b _.b.bXz.o.bXz.oXgXz _.b.o.bXzXz.b.c.o.b _XdXtXt.r.r.r.HXtXtXt.k.r.8.8.K.'XyXP.0.0.~.`.8.8 hXc E.F.<.u.8 F.u.r.r.r e e.r e e e.r.r eXt.rXt e.rXtXt.kXtXxXo.5.5.k.uXo 3.u.r.8 ~.rXj.X N F ~.`.8 F.` F.u mXO 'Xy.! m.8X-X-.`.`.`.`.~.`.`.~.` B.`.~.8X-.`X-.` a.`.`.`.~.` ~ ~.$.r.8.` F.8.8 ~ 3.k.8.8.8.`.8Xt.rXV.8.8.5",
-".5.uXtX9Xx.$ I.| D ( ) (Xk.kX* ~X*XI.H.K.9XwXp.@Xq...j.;.+.TXG a.MXnX>Xf.jXp._Xq 2.).= C.e h CXqXF..Xp zX7XM XBX<XwXHXc.-XcXl.] | `X- RX- RX-X-.a.e.aX- a a.a a 3XXX3 V kXM #X3X-XIX-.`.8.` ~ ~.rXtXt.k.f ) 5XV.H F F.rXd e _.bXz.b.b.b l.o.b.b.b.b.b.b.b.b.b.o.b.o.bXz.b.b _.b.b.o.b.b N.kXtXtXt N.rXjXtXtXtXjXt e.^.b.bXz.b.b.b.b.bXz.b.b.b.b.b.b.bXz.bXgXgXz.b.o _Xz.b.b _.b.bXz.bXz.b.bXzXzXzXz.b.bXz.b.b.bXz.bXg.b.bXoXz.b NXk.&XdXtXtXtXoXtXV.8.8X-XI hX7Xe.mXeXq._._.<.xXr.x.<X4.x H.E.9.n.]XDXc 1.a T $Xc.Z.Z.w o H ^.s vXl.W.W.NXm H = HX0XG oXC 9.D.wX-.KX5X*XI #.KX-.aX1 :X,.aXD $XD :.]Xl.Z.aXDXa.n.!X..-X3 # 1.9.x.s 2.W 8 C.N.N.vX=.vXi ^ {.vXi / wXn.W x._XpX+.@ ^XfX>.@XpXn h t RX-.~X- B.}XKX, R a 3 c.u.`.~X-XD xXGXrX+X>X> H.n.0Xl.n x x.wXK.Z.w.aXl h $XDX,X, $Xe.Z.w.w.Z.W $.j.9 9.' 9Xm.qXC o 0 2X=.= /.N.WXw.jXG 9.a.8.r.r.b _.b _.^.o.b.b _.b _ _.b _ _.^.o.bXz.^ e.^.kXj.^.k eXj.oXz.b.b.b.b.b _ _XzXzXg./ i. .6.#Xz _ _Xz _.o _Xz.c.o _.b.^Xj.k.k.^Xt.rXt.r.rXgXx )X9 IXJXPXO gX5.`.`.rXI 3.-Xe EX4XMX-.`X*.r eXd.r e e eXt.r eXtXt eXt.r.rXtXt.uXt.k 5.$.5XJ.$., 5 q.5 ~.k FXt.rXkXx.r.8 F.8.8 ~.`.r D.0XOXPXP.| c.`.`X-.`X-.`.~.`.`.~.`.`.~.`.~.`X-X-X-.`.`.~.~.`.X.K.8 ~.8.` ~.8.`.8 ~.r.r ~.8.8 FXt.r.8XV.8.`X*",
-"X9.r.k.$X5 I ) q.$Xo.K.r.rX*Xt.rX* ~.8.`.`Xc.wXc.xXr M M W xX,.a R.M.CXfXCX>XGXnX=.) 8 aXD R.M.w *.s ^X0.[Xp VXc x.ZX,X,.~XIX-X-XIXIX-.a.` R B RX-.a aX- 3XV.u.K.8 3XM # VX7 V.gXB.}XIX1X-.8.` ~.8 ~X*.k qXk.r.8 F F.H F ~Xd.^.^ lXk.^.o l.b.b.b.b _.o.bXz.b.o N.b.b.o.b.o.o.o.b.b _.b.o.b.b.b N.bXg.kXjXt e e eXjXjXz N.b.o N.o.b.bXz.b.o.b N.b.b.b.b.b.bXg.o.b.b.bXz.bXz.b.b.b.bXz.b.b.b.b.b.b _.bXz.b.b.b.^Xd.b.^Xx.b.bXz _ N.b ).&.&.f Q.&.|.R 5 I.2 V T :.GXc UXe.m.m ..x.x.xX4.{X>X2 &.+.j ' 1.w 3Xl :.ZXl.5 s.9 yXG &.@ 0 x 8Xe xXsXmX>X0.+ y 0 ^XC 9Xa.D t R.5Xl :.8XIX*.`.a.~.aX1XD RXD R c $X- R.Z.w.9 ! n TXMXMXM.l 1Xr v.s.N.=.N.N /X6.v LXf.PX=Xi p.E s.YXmXUXw y.+ J.sX6.@.4X> .Xn U tX- aX-.`.H.e.e t tX,X, #.`.eX-.} xXpX> H H & y.'.9 8XDX, hXDXG $.}XD $XDX,X1XlX, 1 $.w $.ZXeX,.wX, sXl.nXGXa s 9XC H o 0 0 0 O /X+ =XL 1XI.8.r.^.bXz.V.o _ _.c.cXk.b _.b _.bXz.o.o N.b.^ eXt lXk.^ eXjXtXj.b.b.o.b.b.b _.o _.b.o.c.U.U.U.c.o.b _ _.b _ _.bXgXg.^.o.^XtXd.k.u.u.uXoXx q I QXx (X*XVX- cXV.`.` F.8.8X* `.i pXq.Y.}XI ~XtXtXj e ~ e.r.rXt eXt eXt.r e.r.rXtXtXtX* 5.$.$X3 q V D ) : FXt F.r.r.^X9.r.`.8 F F.8 ~.`.5XoXPXOXP.2.0.~.`.`X-.`X-.`.`.~.`.~.`X-.`.`X-X-X-.`.`.~.`.`Xt.`.5.8Xt.8.`.8.`.8 ~ ~XV ~.8.8.8Xt ~.rXt F F.`XV",
-".kX* 3 I q N.5XtXt.rXtX*X*.rX*.r.8 F.8.r ~.`XI.a sX+ MXpXc.WX,X-X1X,Xp.@ wXC.;.. pXe B.D.ZXI.} hXs 2Xn.;.[X7 k.i $ UX5 cX, cX, c h :.aX1XDX1X1XI 3X-XM : cX-XV #.~X-XM.FXM.F >X%.lXc.a RXI R.`.` ~XV.5 IX* F.8.8 ~.8 F F.r.k.R.&.( q.XXx.z.bXz.b _Xz.b.b.b.b N.o.b.b.b.b.bXz _.o.b.b.b.b.o.b.b.b.oXk.b.b NXz.^.^Xz.^.b.b.b.bXz.b.b.b.b.b.b.b.b.b N.b.b.b.bXgXg.b.b.bXz.bXz.b.b.b.b.bXzXzXz.bXzXzXz.bXz.bXzXdXt e.^ N l.b N.b N.b.^ (.b (XxXk.RXk.z.].k.5.k $ : KXw E.m E EXn.@Xn ^Xf.@Xn W yXU ! s T cXJXc.uX3XlXKX.Xm ! H.E.@ .Xs.MXD h x.9 b.+.> & oXCXP b vXD RX-XD R 3 # c c 3XI cX1 RX-.Z R T.8 x.* R s.wXcX.XcXMXM c.a # x.Y > 0Xv.v 2X=Xi ;XfX6 {Xi p..Xs u.W.M.w.Z.w.ZXe v.. -XiX6.{.J.F.i a.eX-X-.e TXl x.M.a.a.} c.~X-.eX,XpXG.j HXC.E s.w.DXlX. $XD.O.,.ZXw :.3XVXlXK 1XJXwX..MXK.3X.XD nX5X,.9Xw 8X5XLXL.n JXm H HXC.vX= GXG.YX5X-.r.r.^.b.o.c.cXg.c.c.c.U.V.o _.o.b.b.o N.b.b.^ e e.^XtXk.r.rXj.rXz N.b.o.bXz.b _ _ _ _.b.b _.b.o.b _.b.b _.b.b.bXg.bXg.^XjXx.A.X ) ).R.| I (XxXoXt.`.H.H.`.`.`.`.` ~ ~ ~XVXc.i E._X+Xc a 3.H.^.rXj.rXt.rXtXt ~Xt e.r e.r eXt.rXt.u.rXXX9 cXVXX c cXt.H F F.`.`XtXtXt.8 F ~.8.8.8.` F.`X1XVXP !X..2 3.a.`X-.`.`.~.`.`X-.`X-.`.`.~.`X-.8.e.`.`.`.~.8Xx.^.8.r.8.` ~ F.8.`.8.8.8.8.8 ~ ~.rXt F.8.`.`.X",
-"Xo.rXt.r F.r.k ~Xt.r ~Xt.r.r.r.8.8.8.8 ~.~X* $XJ $.-.jX+XKXKXDXIX1XDXp.x.@ J...s..Xe CXDXI RX,X,.N p.sX0X%.[X<.S.S 6 kX-.-XJXBX-X3 c.uX#XJXlXw.$ T $ |Xl.e.%X* 3 h 6XMXB.gX7.[._Xq XDXI.`.8.` 3 )XlX3X1 3.` 3.8.` 3 ~.r V./.f.5.X.Q ,.Q N.o.b.o.b.b _.o.b.b.o.o.b.b.oXg.b.b.b.o.b.o.b.b.b.b.b.b l.b.b.b.b.X.b.b N.b.b.b.bXz.b.b.b.o N.b.b.bXzXz.b.b.b.bXg.oXz.bXz.bXz.bXz.b.b.b.b.bXz.b.b.bXz.bXz.b.b.^Xj eXt.rXdXx.oXzXzXz lXxXgXx.XXgXxXxXo.5Xt.5.u cX- #XlXq.9.F._ E.<XnXi 0 0Xf.< M.Y.qXOXD 'X- xXl `.uXl s.0XO M y.@.. 2Xs.* tXMXIXK o =.EX0 w o.q bXaXD RXI.a a.~XI.u.HXlX1X-XD $ R kXc m.nX.XPXG.j n =.OXc 1 c.}.aXMXMX+X%...s ^X=Xf.@ w.PXF.@ v MXG [XKXK.-X..Y ` 1.-.N U 2X= % .Xf.JXn U C aX- T `X.XJ.- `XKX,XD.~.`.a.MXGXG y H HXmXL.n.ZX, mXDX,X..Z UX.XwX. t :Xc 1.3.Z nX,.w.3X, tXJ U RXJX;X1 8XD.wXaXaXL 0 H 0.v G.).N sX,.H.u e.^.o.o.c.c.c.c.c.c.c.o.b _.bXz.b.b.b.b.b.^ eXtXj.^.IXjXt e eXj.b.b.o.b.b.bXz _.b.b.b _Xz _.b _ _ _ _.b.bXz.b.oXkXz.b.o.8 qX9.5.5.K )X9Xo ~.k ~ ~ F F.HX1.`.` ~.r.r.u.u [.[X% >XZX+X3 : q.&XkXdXt.r.r.u.rXtXd e.r eXtXtXt.rX*XtXVX9.$ V.$.,X3.f NXd.r FXd.` F.r.8.8.8.8 F.8.H FXI.`.8.~ c.2X.X; 'X-X1X-.~.`.~.~.`X-.`.~.`X-.`X-X-X-.`X-.` N.8 F.~.`.8.k.8.`.8.`.8 F.` F.8 F.8.r.rXt ~.8.`.`.a V",
-" N.r.k.rXtXtXtXtXtX*.rXt.r.u ~.` 3.8.8XIXo ).] 1.-XD x : :XKXI.`.` R 1X4 b JX=.W p.W.DXDXDX1 3 U.M.s 0 WX<.[X7.L.-XMX#.[ # X3Xh 3 V # 3X.X1XD.] 1 #XI.% 3X1 | :.aX3XZXcXBX7XqXp._ E.l a 3XI c D TX1XVXIX1.~XIX-.` 3 # IX3.K.u 5 A Q.&.(.b.b.b.^.o.b.b.b.b.b.b NXz.b.^Xz.b.o.o _.b _.b _.b.b.bXgXg.b.b.b.b.b.b.b.X.b.b N.b.b.b.^ N.b.b.b.b.^.^.^.^ N.b NXg.o.b.b.b.b.bXz.b.b.b.b.b.b.b.b.b.b.b.b.bXz.b.^Xd.rXtXt e.X.bXz.X.c XX@ Q AX Q A f.z.7Xt ].k.%Xx : I KX<.1.lX4 J M ^.vXi.@ HX0.'.nX5 8.eX- 3X5.e R B B.D.'Xm y...).s 8 t R.}XM $.j H.> & b JXmXLXLX, a.9XJ.u xX1 g.K 'X5 cX-X-.,XlXJXUX;.> n ! !.q.G = ` `.i 3 #.l XBX+Xi ^XfXfXf 0 ^XnX=.j v.-XK 1.- $ :.-XB `.-.-.i C u p p %.CXf . vXD.* BXl.ZXIXD $X,XlX-.u.~X-.e U._Xn.@.@.EXr.E.s ' s g.'.*X. x.MXcXlX. 3.'.- TXG n xX,XlXc.Z.aXKX,X, :X5.K.~X- R.Z x v.j J.vX= H.=XL.w.u.8XtXj.b.b.c.V.c.c.c.c.c.c.oXz.oXz.b.o.b.b.b.b.^Xj e eXt NXg.^XjXj.r.^.^Xz _.b _.b.b _ _ _.o _ _.b _ _Xz.b _.b.b.o.o.oXg.b.^.r.^ ~ ~.` ~.5 P.5XtXt.r.` ~.8 ~.`.8 ~.HX*.r # $X#.TX4 >X7XHX. D )Xk A ~Xd.rXd.rXVXtXt.rXtXtXt.rXtXtXtXt.uX9X9X9.KX9.5.5 N.^.r FXx.r ~.u.r ~.8.8.8.8.`XI.8.~X-.8X-.] m TXUXlXlX1X1.`.`.`X-.`X-.`.~.`.`X-X-.`X-X-X-.5.X.`.` ~.8.u.`.H.8.8.8 F.8.`.8.8.r.r.r.r F 3.`X-X,.-",
-".^.r.r eXj ~.rXt ~Xt.rX*.rXt.8.8.` 3XI qX9.% q.uX-X1.aXlXo.u.H ~ 3.H UXGXe.v.s.)XeXe.ZXDXD.DX,XD u.)XL.@ zX<X%.1 W.[.h [XB V.} # < XMXM `Xl.e TX3Xl 3 ` '.~ (XJ.}XJ.[ kXBXw.FXr.p.g.i .iX3 c ] c.HX-.`.~XI.8.~X- cXJ ( :.u.5 qXx f A.z l.^.o.bXz.b.o.b.b.b.o.X.b.o.X.o.b.b.b.o.b _.b.b.b.b.b.bXg lXz.b.b.b.b.b.b.b.^Xj eXjXj e eXjXj.^.^XjXjXtXt eXj.^.bXg.b.b.b.b.b.b.b.b.b.b.bXz.b.b.bXz.b.b.b.^Xd.^Xd eXt eXd.r N.bXo _.XX .&.&.&.tX@.t.& AX@Xx.&.$ ] )XJX5 `., [.jXpX2XC.=.E 0 H 0 = v ' ' BX1X-X-.K.a.~X- R.w.'XC H bXb.).a.a.a.}.Z s y MXC.O O J.q b.Z K.wXc T.2 m DX. gX; DXKX-XIXDX,.w.n sXU 9 o x.Y nXK ` x.a.a # # X>.@.@XfXiXi.v.B.)Xn.M.* CX1XD 3 BX, R.}.M.a < h R.a.* uXFXb.{.C.@X%X+ U R.eXl.~XIX, a RX-XIXV.~ t.*XeXpXq v.@.j y.9XGXm $XDX,.ZX5X,XDX,XD $Xl h x x $ $ h.ZX, cXD t R.eXI.~X-X-.` R.wXLXp.E 0X=Xv.s.) xXD c.r.r.^ _.c.U.V.c.V.c.c.c.o.bXz.V.b.b.b.o.b.b.bXz.k e.rXj././.k.k.r eXjXj.^.^.b.b.b.b.b _Xz _Xz _.b.o.b _.b.b.b.b _.oXg _.b.b.kXt ~ ~XX F.k.R qXt ~.^.r.r F ~.u FXVXVXx ) I.,.[Xr E .Xq 1XDXIXt.k NXd.rXdXV.k.k.k.rXd e.rXt e.rXtXtXt.r.5.rXVX*.uX*.r.k.^Xj.8Xt.H.H.H.8.8.8.8 ~.8 F F.H.`.` aX9 #Xw ! g yXU.n R.eX1.`X-.`X-.`.`.~.`X-.`X-X-.`X- ~.K.~.`.~.~Xt.`.8.`.8.8.8.8.8 F.8 ~.r.r.8.8X-.` <XM 1",
-".^XjXt.r.rXjXtXtXt.rX*.r.rXV.8 3.8 : )X3.$.kXt.uXVXI cXI 3.KXt.H.r cXDXnXG O v.N UXq BXIXDX,X, < 8.W.)Xe.@.pXrXnXpXG nXB #.l.lXM x # aX-.*X- a R c.e.eX-X1 3X- <.i `XBXB n.[.p.g >.m >.} `.,XI.`.`.8XI.`.`.~ h.5.2.K R.u T.5 4.fX9.^ NXx.^.o.^.b N.o.b.o.^Xg.b l.b.^.b.o.b.b.b.b _.b _.b.b _.b.oXgXz.b.b.b.b.b.b.o.b.^ e eXj eXt eXt eXt.r e eXt eXt.^XzXk.X.bXz.b.b.b.b.b.b.bXzXzXzXz.b.bXz.bXzXd e eXt e.r.r.r.r N N.b.b.^.X.b.b.b.b.^.X.b N N.X.X.k.uXt.HX* 3.a $.Y.YXLXp &X0 J ^ O & 9.nXoX1X- RX- 3X-X1 RXD oX; =.+Xp MXe.j :XM.Y.Z.9 oXm.qXC 0 9Xm v $ s.w.nXlXDX, BX,X5X,.D R.* R R.w 1.>.O.G =XU.jXw nXcXc.u.}.} #.FXcX>XiX= /.B.BXb p U C a B.e RX1XIXI R.a a R < a a a.e t tXs p.PXfX2 z WXr.-Xc k :Xc D.Z $X1.eXVX1 R a a U..XpXn.@ & &.9 s TXa $.DX,.ZXDXl xX, UX,XG.wXq xX,.ZXVX, $X, R.u 3 3.~ B R $.w s H 0 2Xv.).).)XG aX5.rXj.b _.V.c.c.c.c.c.cXg _ _Xz.bXz _.b.b.o.b N.bXz.^XjXtXgXt NXgXjXt e.rXjXj.b.b.b.b _ _ _ _Xz _ _.b _.b.b.b.b.b _.o.cXz.b.b.r.r FXt.r.8.kX9.kXtXt.rXj ~XtXd.r.uXd q I.A.5.u x .i._ $XB )XJ.| (Xx e.|.X Q ) Q.r Q ~XtXtXtXtXt.rXtXtXt.k.k.kX*.r ~X*.^.XXj F.8.8.` ~.8 3 ~.8 F.8.8.`.~.`.`.~ 3 ) kXG y =.+.j.Z 3X- a.`X-.`.~.`X-.`.`.`X-.`X-.`X-.~.`.`.`X-X*.8.`.8.`.8.8.8.8.8.8 3Xt.H F FX-X-X,.Y.i",
-".kXt ~XjX*.rXt.r.rXt.rXV.r.8XVXV DXX q ).rX* ~Xt.8 ~ ~.kXV.$ N qXtXo #.M.j y J u UXM RX,.Z.ZXD a <.W.) 2 v.@Xn vXi.s.j.j.F.F.l.l kX,.} R.e.eXDXD aX- RXIXVXI h.l X%.Y.FX+ > >.F.FX%.TXc.a.a 3.~X-.`XDX5Xl ( c cXI : 5 m IX9Xt.rX*XtXg.rXtXj.k e.^.^ NXx.zXx.(./.o N.b.o.b.b.o.b _.b _.b.bXzXg.c.b.o.o.b.b.b.b.b.^.^XjXt.^ N.b NXzXjXt eXtXtXd.rXdXj.^Xg.X.b N.b.b.b.b.bXz.b.b.b.b.b.b.b.b.bXz.^ eXtXtXtXtXt.r e.^Xd N _.X.bXz.X.^.b.b.^.XXz.bXx.bXx N.kXt.H.8 3XI.Z.Y.s b H.+ H 2.v &.!Xa 'XDX-X-X- 3XJXcX-.DXK.T.OX0 WX2X>Xq.- ., 1.ZXmXC.!.> b.+ !X; gXc ' '.'.' :XlX1.ZXD RX- 1.ZXc ! =.3 KX.Xc.j kXwXcX7XM.}.} h.l X+XnXb.)._Xb.j vXr.9., $ : s.ZXc.w ' sXDXJ c.,X5Xc :XlXl.- x....X:.{X2Xr.[ xX, x.} c h.a 3X- RX1X,.e R s.} t._X4Xp.E HX0 y s.'.Z.Z $.Z 1XDXD.Z $ x Xq $ xXeXI.ZXK $ TXK `X- 3 RX-.ZXL OXC 0.v.).; 2 *XL.D RXtXt.^Xz _.V.U.c.c.c.c.c.oXg _.b _.b.b.b.b.b.b.b.o.b.^XjXt N.^./ NXt.rXt eXtXj.^.b.b.b.bXzXz.o.b.b _.^.b.b.b.bXz.b.b.b.U.^.b.b eXt F.8.k.8.r.f N.rXtXtXj.k.X.r.$ q.fX@XxX*.u 3XM.Y.i x : # q.A.z.zX@ q.R.X q A (.R NXtXt e.rXt e.rXtXt.^.^.r.r.kXt.r.^.KX*.8 ~.8.8.u cXV ~.8.8 F F F.`.~X-.`X- 3 xXK vXw &XCXrXcX1.`X-.`X-.`X-.`.~X-X-.`X-X-.`X-.`.`.~X-.` 3.`.8XI.`.8.8 F.`.8.8 ~XV.`X1.~X1 R 1 1._",
-".k ~X*.r.rX*.rX*.rXt.r ~.8 FX9 D q D c.rXtXtXt.r ~.8X*.u ~.A f f.R |.$.-XU & H.j.Y.,X5.Z.wXD a tXD CXa C v 0.s 2.= /XGX+XcXBX7X7.-X7X< kX, x x 1 :XM 3 a.e 3.`.} #.i .-.lXq EXq EX+ [X<Xh nXp RX- 3X- R :.,X3 `.a :X9 T.5X5XI.8X*XtX*.^.K q.kX*.r.kXtXx N.& Q.&./.z.o.^ N.b.o.b.b.b.b _ _.b _.bXg.cXz.b.bXz.b.b.b.b.b.b.^Xj.oXk./.IXk.^XtXtXd.rXt.rXt.rX*Xg.X.b NXz.b.b.b.bXzXz.b.b.b.b.bXz.b.^.b.^Xt eXtXtXtXtXt.r.X.^ NXz.b.^.b.o.^.o.^.o.^.b.b XX@X@.z.R.z )XkXx : ` oXw.O [X0.E.v w & oXG.n.K R.~ R RX. mXD $.ZXU.OX+..XF U.M t u.a.w sXmXC.O.G yXZ @.O.O Y @.G @ !X;.% : 3XI.aXl gXUXwXmXwX..,XB 1XK.-.gXcX3.i h hX, 1.YXcXn . ..NXe.jXU n cXH x g.9XeX.XGXKXJ R.3 : mXl T 'XKXK n.YXnX0..X6X2X4X4Xn.l a a.e.a a.a.` a.~XI : cXc XKXpXqXnXpX> & y sXK sX,X1.w D xXl.n $ $XG x.wXDXlXIXD.5 c.D 3.u a 3 R UXaXLXC 9 O.N /.N H.W xXsXIXo.rXz _ _.c.c.c.c.c.c.o _Xg _.bXz _.b.o.b.b _.bXzXz N.b e.o e.r.^ q.bXtXt eXtXjXz NXz.oXz.b _.b.b.b.b.b.b.b.b.b.b.b _ l.o.bXzXt.r.r FXo ~.r NXx.^XtXj ~X@.k.&X@ qXkXt.r.k.r.u 3 VXMXB #.`.8X*.b N NXzXdXt e.r.r.r.r eXt e.rXt.r.rXt.rXt.k.^XtXt e.rX*.^.^X9 ~.` 3X*XVXo 3.` ~.8.8.8 F.`.`.~.`.`X- 3.9XnXnXh.+Xw.Y.i aX-X-X-.`X-.`.`.`XV.e RX-.~XV.~X-X-XVX-.HX-.8.`X5.8.`X-.`.`X1.8.8.`.`.~ R h.Y x._",
-".KX*.r.KX* ~X*X* ~X*.8 F.8 ~XV.X.k.uXt.uXt.rXt ~ ~ F.r.r ~.$./ 5.f.A 5XcXw H & yXc.S x $.w.aXD.aX, a U.M._Xe U.N.).N 0XG.jX>.EXpXGXp kXM.- ` :X,XX ` c.e 3X-.`.KXB .[XB.mXq._Xq.mX%XpXpXpXe Xq aX-.8 R 3 :X-.8 : q |X9.u F F.H.rXV.K ).& I.k.r.K.X 5X9.7 ) ).5.^XtXtXjXj.o.b.b.b.b.o.b.b.b.b.bXgXg.bXz.b _.b _.b.b.b.b.b N.XXg.X N.kXtXtXtXtXt.rXtXtXt e.b N N.b.b.b.b.b.b.b.b.b.bXz.bXz.bXz.b.^Xz N eXt eXt.rXt.r.^.^.bXo.^.bXzXz.bXzXzXz.b.b.oX@X d.t.tX@.Q.R q.R.] | :X. n vX0.@.@X>XC.!.' ' 3 B.a : $ $.*.w.w.Y KX0 n.x .XrXq n.W U 9 vXm.OXH g.9 m ].5.5 $ T 4 !.] 'X5X, 3 B.'.DXU s gX.Xc ` `XM .Y .- V 3 $ a h.Y.-Xn.... E.M CXDXD.D.aXD h U hXe t.i <.M.a.a x cXD 8 R U U U U U..XnXi ;.4XfXn.YX, < < a a.} < a.a a cX-.K c.i.a <..Xp.@.j H vXw sXDXDXJXc T DXHXl.9XKXK n 1.9 :Xl :X5 3 3X- aXD U.w.s 9XC.v.N.N.N t C.W vX- 3XoXj.o.b _.c.c.V.V l.c _XgXg.o _.b _Xz.b _.b.b.b.b.b.bXz N.X.rXj lXk.kXtXt eXt e e.bXz.b.b.b.b.b.b.o.b.b.b.b.bXz.b.o.b.c _Xz.^Xd e.r ~.u N.8XoXoXtXtXtXtXk./Xk.k.r e.rXj.rXt.k.r.K #.r.`.8.r.k N.b.b.b.bXzXdXj e eXt eXjXt e e e eXt e.r.^.kXj ~ eXt e.k N N.r.8.8XI 3 :X5 $X1X1X1XI.`X-.`.`.~.`X-.a.lXGXnXC M MXn hX-X-X-X-.`.~.`.~ DXV c c 3.5XVXl.`X3XI.5XlX5 3 5.KX5X5 c.K.K :.K.5 3 a #XcX7Xq >",
-" V qXMX9X9XX.KX9X*.8.8.8.8.8.r.k.k.rXtXt e.rXt ~.8 ~X*X*XVX9X*.r.uXd.r 3 v v 0._X,Xl.MX,.n R.a.}XD tXDXDXe.M.a < t.NXG.s vXa.s 2.)XpXc.Y.} t a.a a.a 1.a.}X-.}XXXXXX.[ ._.m._X4 UXrX+XnXeXe p x $ hX,.G `XKXcXX :.K.8.` F.~.`XI ) 5.$.5XVX9X3XX 5.$ 5XxX9.rXtXj.rXjXj.^.b.^.o.b.b.b.b.b.b.b.bXg.b.b.b _Xz.b.b.b.bXz.b.b.b NXz N.^Xt eXtXt.r.rXt.rXtXt.r N.kXt.^.^.b NXz.b.b.b.bXz.bXz.bXz N.b.b N.b.rXtXt.rXtXt.r N.k.^.bXz.b.bXz.b.b.bXz.bXz NXz.b.^.b.^Xo.oXdXd ~X*.u.}.u.Z.9Xe.+.j 0 O.q 9.0.n R :XU.Z s.Z.ZXa.' =XrX>Xp.<._XnXrXe.W s.jXUXKXcX,X1X5 D 3.`X1X- 'XU ( $X5.uX,X- BXsXa s.>XK ` x XcXcX3 $XI.}.a h.9.-.x.... u <X1X1X1.0.w R U uX4 C._.iXe E < <.aXD t.* C C u u EXnXeX=XbX6.@X>.@X>Xq t < t t.M.} a a a 3XV.~ a t < t C .XGX>Xr.EXUXG 8XDXK.]XK DXwXH ! n gXK :XU : 'X1XIXI s x.ZXG v b & O.) b.9.W CXs.wX5XIX1.X.b.^ _ _.U.V.c.cXg.o.o.c.c.VXz _.b.b _ _.b.b.bXz.b.b.o.o.b e.r.r.k.oXk.^Xj.rXj.rXj.o.b.b.o.b.b.b.bXz.b.bXz.b.b.b.b _.UXz.bXz e.rXt.k.r ~.`.z.f.kXt.r.rXtXt.rXtXjXt.r.r eXtXt.r.^ ~.8 ~.rXj.^.b.b.b.bXzXzXz.^XjXjXj.^.b.^ e.r e.r eXt eXd.k eXj.k e.r e.^.b.r F F.8X1.5 xXl.w h $ U RX-.`X-.`X-X-XD.,XG._X4.J.F._.lXB h aXI.~X-.`.~X- qXc qXM (XX k.5.~ 1 ).,.5.K.H.] )XK ) DXJ.$ ` m 1 h X+X<X2 [",
-" c 3 )XMX*.u 3 3.r.`.8.8 F.r.r.r.rXt.rXt.rXtXt.r.r.r.r.r ~.K.u.u.r.r.u.H s.s.W.W.i cXD.w x RXIXD.aXDXD cX, < <.aX, u.Z u.N * / / vX+ .9 x x x $ h.} #X, c 3 3 3 h # X7.[Xq >.xXqXq p [ U EXq.xXnXe.s vXn v.1X+.-.- `XM.8XMXV., ) B c `., # 5 I.u.KX*X*X*X*.rXtXt.r.^.^.^.k.^.b.b.b.b.b.b.b.b.bXgXg.bXz.b _.bXz _.b.b.b.b N.^Xj.kXtXtXtXt.rXtXt.uXtXtXt.r NXt e.r.^Xz.b.b.bXzXz.bXz.bXz.bXz.b.b.b.^.^ e.rXtXtXtXt e NXj.^.b.b.bXz.bXz.bXz.b.bXz.o N.b.b.b NXz.b.^XzXtX* ~.r 3 3 $ x.W.xXn.+ 0.qXl.] @ g '.9XwXP @ K.O y ! o.W 2 2Xp = = : 3 <.}.`XXX.X5XVXo ( 5.K.`XI '.!.0.5XlX1X,Xa.n.nXcX;XJXKXS.-.3.O kXK.YXHXc $ [.YXh.LXr.jXb U.MX- RX-.D.DXe v..Xn .Xp...m.d < t U.M.WXs.).)X=..XnX> M =.{ M..XpX>XpX>XG v 1 .9.FX, < <X-XIX-X- a < <._ ..@.@.jX>.1.>XcXc s.ZXD $.n.ZXD.w.ZXe.wX, R.D.a $.Z.n.9.!XCX0XC J.s.NXs.* v tXDXsX, R.u.r.K.b.o.oXz.c.c.U.c _.b.c.c.c.oXzXz _.b.b _Xz.b.b.b.bXz.^.b l.^Xj.r.r.kXtX* ~Xj e eXt e.^Xz.b.b N.b.^.^ eXj.^XjXz.b _.b.U _ _.X e.r.k.r ~.` ~Xo q NXdXt.rXt.r.r.r.r eXt e.b N.b.X l.^.b.^.^Xz.b.bXzXz _Xz _Xz _Xz.^Xz.b.bXz.^XjXj.^.^XjXj.^.o.r.kXjXt e eXz _Xd ~ F ~XI.DXl.nXL vXL.. xXl.aX1X-.8.~.`.}Xp._.m E.d.d._.l 1 $X-X1X-.~.8.~.~X-.`X-X-.8X-.` R.`X-X1X1X1.~ I : ]Xl.5 `X. :XcXKX+.1 MX+.J.mXA",
-" kX*.,XX )X3 5X*.8.`.8.8.`Xt.r.r.rXt.rXtXtX*.rXtXtX*.r.r ~XoXVXd.u.rXt.8XG.s.)Xs cX,XD.D.w R.M a 3XI xX,.MX-X-.} a 3Xs.*.* C /.)XLXrXn.} h.a.aX, c hXl hX, 3.aXM.}XM.l X7Xr WX+Xn v [.g._._X4.x . 0..Xb ..@Xn.j >.F .[.l # :XIXD `.5 mXHX5 c cX9.$X3.rXtXtX*XtXtXt.k.^.bXt.^Xz.b N.b N.b.b N.bXg.o.b.b.bXz _.b _Xz.bXz.b.b e.r e.r.r.rXt.rX*Xt.r.rXt.k.r NXjXt.r.^ N.b NXz.bXz _Xz.bXz.bXz.bXz N.b.k e eXtXtXtXt.r NXj.^.b.bXz.bXz.bXz.bXz.bXzXz.b NXzXz.b.b.^Xz.b N.r.rX*Xt.8 #X-XG.W v MXmXP.nXU @XUXO.].0 D.2Xl 'XPXwXGXL v 9 b y.} aX*.} 3X*.rX3 cXVXd.H 5 )XVXI.H !.0.0.,X5.n.w.nXmXUX..SXH `XwXB yXK.9 :Xl xX3 $XK.[XwX%.@.T.Y <XD.DXDX, CXG.W.m .X>XrXn.m p.) pXq.W pXeX=.mX6Xp.<X4.jX+.j.p.pXr W yX+.@XnXGXnXp.YXq h tXlXl c.e h.MXeXpXpXpX2X4X+ =X..jXK y T C.D.ZXl.Z ' yXc s.w.w.' $.nXaXPXC.! o b w b.NXn C C.*.MXs.D 3 3XVXV.XXt.o.c _ l.c _.b.V.c.c.cXg.bXz _.b _Xz _.bXz _Xz.b.bXzXz.U.^.^XjXj ~Xj.rXg./Xt eXjXjXjXjXj.^.b N.^.r.r.r e eXzXz.bXz.#XdXz.& A.r (.8.`.5XVXtXx.r.r.rX*XtXtXtXt.r.r e e.^.b.b.b.U.^.o.b.b.b.b _Xz _ _ _Xz _Xz _.b.b.bXz.b.b.b.b.b.b.^XjXkX@.IXx l.rXj eXzXz.^ e F ~X1XI.w v.s 2 HX8..XG.D.~X-.~.8.}.a x ..i E u <.m x.9 x a.`X-.`X-.`.`.`X-X-X-XI.~.`X- R RXI.`.`.~ : :.5X5 `Xl c x.- z.<X2X8.<Xf.C.C",
-".K.u.K.K #.k.K 3.8.8 ~.8 ~X*.rXt.rXt.rXt.r.r.r.r ~.r.r.8.8.K ~XVXt.u.rX1 s.s pXe xX- h xXD xXH $ nX.Xl x.uX, : cX5 :XD t < t.d.WXn.[ x h.}.}XI 1.l : $ #XX ` `XBXcXr nXr HXq._Xn U._X+XrX4.xXG.) p vXeX+X7 #XM.l 6XX.} c : T.ZXJ.u # ).,X3X*X*X*Xt.rXtXtXtXtXt.k N eXtXj.b.o N.b.b.X N.b l.X.b.b.b.b _.b _Xz.b.b.b.bXj eXtXtXtXtXtXt.r.rXtXtXtXt.r NXt.r e.k.b.bXz.b.bXz.bXz.bXz.b.b.b.b N.bXjXtXtXt e.rXt.r.b.^.b.bXz.b.bXzXzXz N.bXz.b.bXzXz.bXzXz.b.b.b.^Xz.^XtXt.r eX5XI xXGXe s.q.!X; 4.].ZXD 8.D.].2XVXIX1XD.w T.' xX,.MXD.`.K ~X*.r.rX* D NXdXt.k 5XX.`.Z T.] '.0 :.'.n.!XUXw V :XBXc x.ZX, R.Z.*X1X,XI.a a x.-Xw.@ M M n.-XB.-.j.jXr.<.1.g.p.pXrXn..X=X= 0X=.sX4.@XpXr.pX+.pXB.F XMXBXnXp.jXpXG HX> y.jX+.F._ U 1 UXw.Y.[ =.TX+.<.xXnX4.jXr.1XU nXGXKXG.D.W.DXmXc y.' o s.n s s v yXm OXa.=.= 2 v.N.j.j C.NXsXsXw 'Xo )Xx ).z.&.t.6. i.6. .6Xg.c.o.o _Xz.bXzXz _.bXz _Xz.b.b _ _XzXk.b.^.rXjXtXtXjXkX9Xj N.r eXt.rXj.^ NXzXj.r eXj.r eXz.bXzXz.#.oXz d.t Q.z fXx f.$.k ).^.rXt.r.r ~.rXt e e.rXjXj.b.bXz.c.b _.b _XzXzXz _XzXz _XzXz _Xz _.bXz.b.b.bXz.b.b.bXj.^.b.z.^.b N.r e e.^XzXz e F ~ FXI 8 x s ^.x.vXi J.9XDX-X-X-X- 3 x x E.m u E xXqXq : t.eXI.e.`.~.`.` R.`.eXIXIX-X-.`X1X1 3X-XV.~.eX- 3.e.e R.a x.JX2X2X4.CX8XfXf",
-".rX* 3 3.r 3.` 3.8.`.8.`.r ~X*Xt.rXt.rXt.rX*X*X*XV ~.8.` FX5.H.k.u.r.HXI v 2.W._X,XD.W.ZXI 1XH :.,XHXH nXwXU.,XJ `X.Xl t.e <.W p v.j.F h <.a h XX.- XBXM xXBXMXBXK k.jXw.j.j y v pX+X%.pX4XrXpXe U C CXq.<Xp.pXM.l.l.l., | k IXH.5XlXM : `XX.u 3XVX*.uXt.r.kXjXtXtXtXt N.k eXt.^ NXz.^ NXzXz.bXx.o N.b.b _Xz _XzXz.bXz.b.bXjXjXt.rXtXtXtXtXtXtXtXtXtXt.r NXt e.r.^.^.b N.bXz.b.bXz.b.bXz.bXz.b.b.bXj e.rXtXt.rXt.r.o N.b.bXz.b.b.bXz.bXz.bXz.bXzXzXz.o.b.bXzXzXz.^ N N.k e ~XdXo.HXIX,XG s gXy.|.D.HX1X5.5 5 IXV ~.8.8.HXIXDXD.aX-XI.`.r.kX*XtXt N.r.fX@.rXtX*.r N D (.0 !.].%XyX.Xw.2XUX. D VX3X3Xc hXDXDXDXD cXI.a R.a 1.[XrX+XC._Xp._Xq WX4 .._ z.h [XM nX+.@Xn.s.@.s.@Xr.[X7 > x XM.l c # #XB.[.[X+.[.-Xr W.jXpXpXp.p.-Xw n n & zXrX2 >.mX4Xn n.Y y n &.YXG.9 x.9.'Xm g.> & s v y.qXC w.v.=.= G.NXs.w =X.Xe u C *XaX5 T ] ).R.&.X.tX@XuX X d. iXgXg.o _Xz _.b _Xz.bXz _ _.bXz _.bXz.b.U.bXgXj ~Xj.rXtXtXjXk.bXjXj eXt eXj.kXtXt.rXt e eXj.b.b.bXzXgXz.X l.XXxXo.k.k I qXt q.rXt.rXtXj.k e.r ~ e.r e.r.b.b.b.U.o _XzXz _XzXz.bXz _Xz _ _XzXzXz.b.bXz.b _.bXz.bXzXj. .z.z e.rXj.rXj eXz.b.b.^ ~ F.8.HXI R v.WX=...v.s v x R.`X-.8 3.}.Y._ E._ uXe.-.,X< R.}.e.2XI.8X9XVX-X-X- I : 3 R ` V.` 3XVXJX-.` 3 `X-.M.}.3.FX4.<.JXf.{XfXi {",
-".rXt.r.r.8.8.8.`.8 ~.8XV.rX*.k.rX*.rXt.r.u.uX*XV.r.8 ~ ~.8.k FXV.rXV F.u b.s p s a.M $Xe.MX, 1X,Xp 1.9 $XU xXlX1X5Xl.Z.* < u U *Xq.jXM.} a a # #XB., k.-.YXB V.[.,XwXw.q y ' H MXpX4Xe.TX2.g MXr._XeXqXGXn.9Xp.[.l.F # X3XZ |X. R 3.~ `XV c.} 3.8XV.8XtXt.k ~XjXtXtXtXt.^.bXtXj e.kXj eXjXtXj.^XgXg.b.bXzXz.bXz _XzXzXz.bXz NXdXt e.r.rXtXtXtXtXt.rXtXt.r.XXdXtXtXt.^.^.bXzXz.bXz.bXz.bXz.b N.b N.bXtXt eXtXtXd.kXtXg N.bXz.b.b.bXz.bXz.bXz N.bXz.oXz.^.^.b.bXz N.b.b.^.^XjXt ~Xz.D.HXIXD.ZX; !.uX1XV.u.| ( 5.kXt.rX*Xt.8.`.8.8.8.`.8.r.r.X ~.rXt ~Xj NXtXtXtXtXV.8.u ].w : mX. YXKXy 'XHXK k }.[X3 VXM h cX5 c ` :XI.u <XXXB.g.+.;.s .Xb - {.B.B..X>.S.F.i 1 `.-.-.jXrXr.p.pXB.lXM #XXXX # # h.u 3 h # # X7.[X7XB.FX7 W.jX4XnXr >Xn.<X>X+.x MXr .._ .X4.j.Y.YX> M.q.Y 'XG s.9Xw &.j.j H.;.j H 0Xi 2 /.N.N C 8 aX, 1.*.M.W.)XL.D.8XV.u.r N.^.^ NXg.UXg.oXg.UXg.c.oXz _Xz _.bXz _.b.b _Xz.b.b _Xz.V.cXz.b N eXtXtXtXt.kXj.^. .k eXtXtXt e.rXtXt.r.rXj N.b _ _.b.#.b.b.b NXt.rXV ~.`.`.r.$ NXtXt.r.r.rXtXt e.r.r e e N.b.b.U.bXzXz _Xz.b _ _ _.b _ _ _ _Xz.b.b.bXzXz _.b _.oXz.^.^XjXk ~.k.r.rXt.^ N.bXz.^ e F ~.8.8 R $.Y o.) 0X6.. HX,X-X-.8 3.aXM._.s v.M xXBXh.OX-X-.u IXX.~ :X9XIX-XV I |.u.`.u.5.`XI.u I 3.`XIX3 aX- `.3.- . rX2.J.xXfX6..",
-".r.rX* ~ F.8.8 ~XVX9.K ) 3X9XxX* qXk ) )X9.5X9.5.u.8.8.H.8.k.8XtXV.r.H '.YXL pXG <XD.w $XD.M U $ h $ a.aXD R.~X-.~ BXD.* a t.) vXp n.l.}.a t xXM.,XZXH [ n n kX. n nXc.'.nXLXG.j.jXe .X+Xn.<Xr.-.jXpXGXpX+.+.p k >.i V.SXHXJ.1XUXl RX-XV 3.`XI.8 3.8 ~X*.r.rXtXj.rXtXt e.k.XXtXtXtXj e.rXjXtXt NXg.X.b.b.b.b.b _.b.oXz.b.bXz.b.b.k.kXtXt.rXt.r.rXtXtXtXtXt NXd.rXt eXj N.bXzXz.b.b.b.bXz.b.b.b.b.b.b e eXj.^.^.^.^ NXk.b.bXz.b.b.b.b.b NXzXz.b.b.^.o.^.b.b.bXzXz.b N.^.bXzXj e e.X.H.H.uXVX5.R.Z.8.k.5 ).A q qXtXtXj.r.r.r F 3.r.r.rX*.^.b.X.^.^XjXj.kXt.rXtXtXt.H.H 3.k.2 'XIXV 3.ZX5 $X,.KXc | V., VXX.u 3 |.-X5 :X. V.,XH [XhXh.+.sX6.B.P ^.P {.v.@.pXM #XM :.lXMXBXpX+.-.gXBXM.lX3X3 D :Xl.5 :.K.` #XM #.l.l.l.l.iXM.[XrX+X> nXrX> y M & WX0 WX4 .._Xq.-.jXK yX+XrXr y oXG.YX0Xp..XnX>XCX> 0Xn / *.N C.* RX, aXD R.M.N C.s xX1.rXtXtXt.^ NXg.bXgXkXg.U.c.c.c.c.o _Xz _Xz.b _.b _Xz _.bXz _XzXzXz.c.oXz.b.^.rXj.rXjXt e.z.U.k.^Xt.rXtXjXtXt.r eXt.^.o.b.b.b.b l.b.b N.XXtXt.8.`.8.8Xt.r.r.rXtXt.r.rXt e.r eXt.rXdXz N N.#Xz _Xz _ _ _Xz.b _XzXzXzXzXz.b _.bXz.oXz _.bXz.b.b.^XtXj N e.rXtXt.^ N N.o N.X.^.r.^.k qXVXD.9Xw.> H z.@Xh v 1X1X-XVX-Xe.9XeXe E 1XG.YXK <.aXIX-.u.` ~.u.~.a ~X- :.8X-XIXIX-XVX- ~.`X-.a.a R < $.YXq >.p.{...{.@.v..",
-".r.r.r.8.8.8.8 ~ c.$ V 5.k 5.,.KXJXJ., 5 |., 5 V.k 3.`.8.8X*XV.u.H.5.`X, yXnXn v.MX, h $ 8XD $ h $X- RX- a.~X- BX-X- 3 3XD h.w.) v.pXB # a R.ZXlXH.SXZ = ! ! =Xc.'XG.n.w.w.wXG &.<Xq pXnX+ z.x.. p.).d p.s._.s.jXB.gX< kX< kXcXcXcXIXIXIXI.`.~.8.8.8.8.H.rXtXtXtXt eXtXjXj.X.b NXz.b.^XjXt e.^.bXx.oXz.b.b _.b.b.b.b.b.b NXz.b NXtXjX*XtXtXtXtXt.rXtXtXt.r.5XtXt.r.rXdXj.^ NXz.b.b.b.b.bXzXzXz.b.b.^.^.^XzXz.^.b.b N l N.o N.bXzXzXz.bXz.bXz NXz.bXzXzXzXzXzXzXz N.bXz NXz.^Xj.rXo.r.^.H q.f.5.kXx 5 I.fX9Xt.k.r.rXt.r.r.rXt.rXj.^.bXzXz.^.o.b N.b.b N N.^XtXtXtXt.rXV.8.u ) mX5.8X1X1X1.`.0X# D c k., # h.}.[ `.} 3 3XI.a.}XMXp.[.j 0X6 wXf ; L.@Xf.<.- x.lX, # #.l x.l `XB #XM ` : ` : VXJXM 3 3 hXMXXXXXM #.i 1 X3XwX0.qX0.q.q n y &Xr H.j._._ E x.ZX.XrXrX>.;.; & MX0X+Xq.m.mXAXf...) v.d u.M.* a : 1 $ R.N 8Xs.NXGX, 3.r.r.k e NXg.^.oXg.c.cXg.c.c.c.V.bXz _XzXz _Xz _.b _XzXz _Xz _Xz _Xg.o.b.bXz.r.rXjXj e.k.rXtXgXk.o.r.rXt.k ~ eXt e.^.b.^.b.b.^.U.b.^ NXzXtXdXt ~ ~.8Xt.rXj.r e.rXt.rXt.r ~ eXt e.r.^.bXz l.b.oXzXzXzXz _ _.bXz _Xz _Xz _.b _XzXz _XzXz _.b.o.^Xj.r.bXtXt e.^.bXz.b.b.b.b.^.^.X , f D mX.XJX;.j.E.@ H 0 b.'XD 3 R.~XG W.1XnXq x.9 s a.a.`.`.`.~XV.K.`.`X-.8 a.`X-.`.`.`.H.`.~.`X-.`.a a t.9Xq.F >X2XAX4.4Xf.B %",
-".r.r.8 F.8.8.8.r.r 3.rXX # 3XM.u c.u #.K #.u 3.8 3.`.8XI.8.k ~Xt.k.` D 1 =.E =Xe U $ $X,XDXD.M hXIX- RX- a.a.eX-X-.` #X-.M a.N.).W > .lXD.eX1 #XX.,XhXh.G.'X;XOXK.w.n.D.n sX+Xr v p pX4 zXrX>.J.. p pXF.d 2..Xn.pXM.S.lX7XcX+ 1 gX1X1X1.8.`.`.`.8XI.8 ~.rXtXtXtXt.rXtXj.k.b.bXz.b.X.b.^XdXj N.bXg.o.bXz.b.b.b.b.bXz.bXz.bXz.^XtXt.rXt.rXt.rXtXt.r eXt.rXt NXt.rXt.r eXt.^.b.b.b.b.bXz.b.bXz.bXz.bXzXzXz _ _Xz.bXz NXk.b.b.b.b.bXz.b.bXzXzXzXzXz.b.b.bXz NXz.bXz.bXz.b N.bXz.^XjXk.^.^ q.&.^Xj N.7 qX NXt.K F.^.kXjXt.r.r e.^.^.^.b.^.bXz.b.b.bXz.^.X.^.^XdXd.rXt.HXdXVXI F ` DXI.`.HXI.`.5 Y.K.aX3XJ.K # a.a < a t.a.H 3 3.iXMXB.p.@ ^ ^ {.B {Xi 0Xn.[ 1X,.} a h h # # #XM # 3 aX-.a 3 3 3X-.eX-.aXI a a.a.}.iX3X, ` VXB m.jXU.qXUXm b s b s.j.xXn..Xe $ xX,.Y n WX+Xn.@XnXp.F.m EXAXfX6 2.N U.M.a a B.e : ` $.MXs.N.N s h 3XtXtXj.rXjXx.X.o.b.c.c.c.c.c.cXg.cXzXz _Xz.b _Xz _ _Xz _Xz _Xz _Xz.b.c.o.b.bXzXj.b.^Xj N.^XjXt.o.z ~.I.^ ~ e eXjXjXj.X.b.6.6.z.IX@.z.fX@ A.&.X.z.8 ~Xt ~.r ~.r.r e.rXt.rXjX* e.r e eXz.b.b l.b _.bXz _XzXz.b _Xz _Xz _Xz.bXzXz _.b _Xz.b _.b.bXjXt e N.r eXj.^.bXz _Xz.b.b.bXoXo.$ q.5 :.uXV 3.9.sX>.; OXa v.9 $X-.} hXH =.p.9Xq vXq a #.~X-XV.k.`.8.~.~ R.eXI.e.`.`.~X- F.`.`.`X- < h 1.9.F._.yX2.mXn.4XfXi 0..",
-" F ~.8 F.8.8 ~X*.rX*.5X9X9X3 qXX V V V VX3X3 # 3.8.8XI ~ F.k.rXt.r :X.Xc.>.EXw CXs hX5 t.DX, RX, a R.e.eX-.e.e.e.e $.a a.e C u.= 2.E 1 3 c.}XMXXX3 MXm.'XaXO g =XJXwXI.D.0 yXr v E E E.1XrX>.<.PXb %.mXb.)..Xp.Y.FXM .YXc.9.nXcXDX1.HXI.`.`.`.`.8.8 3.r.rXtXtXtXtXt e.^.bXz.b.b.b.b.bXz.^.bXzXx.oXz.b.b _.b _.b.bXzXz.b NXd eXtXtXtX*XtXt.r.rXtXt.rXd.r NXtXt.rXt.r eXd.^.bXz.^Xz.b.b.b.^.b.^.bXz.b _XzXzXzXz.bXz l N.b N.bXz.bXzXz N.bXz.b.bXz.b N.b.b N NXzXz.bXzXz.b N N.^Xk.X Q.tXgXo.X.X.& q.X N.^.k N N N.b N.^.k.^ N.b NXz.b.^Xz.b.bXzXo.b f A.&.R qXkXx 5.R ( D 5.5.$.K ` )XV.8XM.5X-.` #.$XMXM #.i 1 x.5.u #X1X-.}.l.l.[.[.4.@.BXv - - 2Xq.- xXM 3 3X- a aX-.a.a.}.} a.aX-X-X-X- R.~ aX1.~ R BX-X-.aXX `XGXc.S Y =.> g.nXG.wXL.n ' bXmXrXp._._ UXlX-.} xXr MXwX0.Y.@Xq._.m.m.J.sXv.N U <.* BX1 B aXD.*.W.N.).w sXD.u.rXt.rXd.X.o.o.b.oXg.U.c.c.c.c.cXgXzXz.bXz _ _Xz.b.bXz.bXz.bXz.bXz _ l.o.b _.b.^.U././.I.IXg.r e ~.zXk.r eXtXj.r ~ e.b.bX Xu.&Xu.( dX@ A.RX@.RX@ ~ ~.8.k q ).^.r eXt.r eXj.^.^.r e e.^Xz.b l _.bXz _XzXz _.b _Xz _Xz _Xz _ _.b.b _ _Xz _.b.bXzXjXt e.XXtXtXj.^.b _XzXzXz.b.b.b.^Xt.H.5.kX1 3XI.Z v.v.YXe.N.v vXpX-X-XI.9XGX+.TXn k W `.,X3 c.uX5 ( ` D ) D : :.5.,X- R.`XV.~.`.` x XpXq._XqX% >.m.m.<.C.@ O.s..",
-".8.8.8.8 ~ ~.r.rX*.rXV.K.5.KXMX9XMXXXMXM #X9X*.8XI ~ ~ F.8.^.r.r.` 3 8.9.W.s.+Xe x n gX,XUXD.MX3XJ a T.}Xl cXKXc $ 1 .*XB.N.W 2.@X> 1.l.a h 3XM #.[ m o vXL.w.DXD $ ' !.'XU.j.Y.m.i.d.}Xq.d >Xf.JXbXbXb.vXb.s.pXB.l.i `.[XmXaXa DX,X1XD.8.`X-.`.`.`.8.8XVXtXt.rXt eXtXt.^ N.b.XXz.bXz.b N.b.b NXg _Xz.b.b.bXz.b.b.bXz.b.b.bXzXjXtXt.rXtXtXt eXt.r.rXtXt.r NXt.r.r.rXtXtXtXj.^ N.b.b.b.b.b.b.b.b.bXzXzXzXzXzXzXz.b.bXk.b.bXz.bXzXz.b.bXzXzXz N.b.bXz.bXz NXzXzXz.^Xz.bXz N.^Xz N.I d A.X N.b.^ NXg.^ N.X.b.bXz NXz NXzXzXz.b.bXz.bXz.bXz.^.o.^.b.b.oX&X@.&X@.&.R QXx ) 5 D.%XJ D ( I.$.5XVXx.8 3.`X9., $ #XJ [.3XJ., DXJ 5 ` V V.l XB.jXf.vXFXF /.).Y.Y #XM.aXVX-X-X-.~X-XI a.` R.aX- aX- R B a B RX-.* a a a a a R.a $ ` X.Xw gXa v.n.DXs 8.n s &.jXp._ hXIXI.}.M U E vXG.Y [Xe.i.m.JX6X=.) 8X, B B 'Xl R R a u.sXe.W 'XD.uXdXtXt.kXo.b.XXg.b.o.c.c.c.c.c.c.cXg.oXzXz.bXz.b.bXz.b.b.bXz.bXz.b _.b.c.o.b.b.b.b.UXgXgXgXz e eXjXt.^XtXz.r.r.r eXt e.^ N.bXg.b.bXgX9.b.X N e.k.r ~X*.rXt.^Xd.r.r.r.r eXt.^ N.^Xj e ~ eXz.b l.b.b _Xz.bXz.b _.b _.bXz _XzXzXzXz _ _ _XzXz _.bXj e e.r N eXt e.^.bXz _ _ _Xz.b _.^ N.r.X (.kX1.HXD b.WXGXrXL.) 0.j hX-X-Xl.9.jX<X+.yXHX<.- | cXV I.2 : ) `XJ.5.2 :X*.u.~X1XV.~.`.uXBXA.m E >X2.g.F.mXq ..x b.vXeXe",
-".8.r ~ 3.r.r.r.rX* ~X*.r ~X* ~.u 3 3.u.u.u 3.8.8 ~.r 3.8 ~ NXV ~.8 h x s.W = v.MXH.Z.OX5.OX1.9Xl : 1., k.3 hXK.1.Y hXK.*.+.Y.N.s 0.@ 1.} a.lXX.[.[ yXO.' v.n.M R R.D.0XUXUX> pXe.d a >.F.x ..C {X6.PXfXf.@X+ .l x ` g s.nXa.!.n B.HXI.`X-.`.`.`.8.8 ~X*Xt.rXt.rXt e.^.bXz.b.b.b.b _.b.b _.bXg.o.bXz.b _.b _.b _.b.bXz.bXz N.kXtXt.rXt.rXtXtXtXtXt.r.rXoXt.u.r.rXt.rXt eXtXdXtXjXjXjXjXjXjXj.b.b.bXzXzXz _XzXzXz l.b.bXz _.b.b.bXz.bXzXzXzXz NXz NXzXz N.b.b.b.bXzXzXzXzXzXz./X@.X.b.XXz.b.b.b N.oXz.o.^.bXz.bXzXz.^Xz.b.o.b.o.b.bXzXzXgXz.b.^.^.z.U.zXkXk.b.k ).XX9.5X9 :XxX9X9.5 N I.r 3.8.`XM VXMXX `X#.,X#XHX# |.S.SX# V.lXB.[ ^ 2XvXF / 0.jXBX9 h.~ 3X-.r 3.K c.~X- RX-.~ RX1 R R.*X1X-.e RX-X1X1X-X-XI.a a $ ` ` nX. gXlXlX, RXD B.n s.E &Xn x $.} cX-.} < t <.a h s UXq EXf ^X= / CXD.eX-XD m.n a.M.sXG.s.- x c.u.rXtXd.IXg.X.Q.XXz l.cXgXg.c.c.c.cXg.V.b.b.b.b.b.b _ _.b.bXz _.bXz.b.b.c.o.b.b.o.bXz.o.b.b.o.^ ~XjXj eXt ~XtXj eXtXj.r.^.b.^Xz.oXz.z.o.XXz.^XjXjXt F ~.8 ~ 5Xx.rXdXt.r e.^ N.b.b N.^ e eXzXz lXz _Xz _Xz _Xz _XzXz _XzXz _Xz.b _.bXz.b _.bXz.bXj e N.^ ).rXj eXz.bXzXz _ _XzXz.o _.oXz.k ~Xx F.HX1 s xXLXn v.v 2.EXn._.n.eXI `Xn._.m EXB 1.a.aX-.~X-.`.`X-.K.eX-.~X- 3 aXIXVX-X- $ >.m p.J.JX<.F.m.mXAXf w OXn.n t",
-" ~.r.r.r.r.r.rXt.rXt.rXt.rXVXtX*XtXtXt.uXt.8 ~.8 3.r ~.8 3Xo ~ 3XI.Y.w.W 2 =Xr x., mXU.D.OXK xXH `X5XK VXcXl.9XK.> sX+.-.E.+ 0.v 2.sX+ | 3 #XX |.[.O =.+.>XU.' R.a.~X- '.! =XpXe.m h EXp.hX+X4.CX6.CX8.;X: M.pXp ` Xc y.0XaXL.0.' RXDXIX-.`.`.a.`.`.` ~XVXtXt.rXtXjXt.^ NXz.b _ _Xz.b _Xz.b.bXg.o.b.b _Xz.b _Xz _.bXzXz.b.b.b.kXtXt e.rXtXt.rXtXt.rXt.r NXd.rXtXt.r.rXtXtXt e e eXjXd eXtXdXtXzXz.b.b _.b _Xz.b N.cXz.b.b _XzXz.b.b.b.b N.b.b.b.b.bXz NXzXz.bXzXz.bXzXz NXzXzXxXz _ _.^.b.bXz.bXz.o.^.bXzXz.b.bXzXzXz.o.V.cXgXg.oXg _XzXgXz.b.b.b N.b N.^X9 N.RXx 5 q., 5 I., QX9.|X9XV (.K 3XIX3 kX7X7.-., kXwXwXJ.-Xc.[.- ` .i .p OX=XF.) /XGXK.K #X*.KX3Xo.K cXt 3.` 3 : :X1XI R $XD R.eX-.~ R B.e.e <X- a.aXI x ` 1.,X;.O.OXwX5XJ $ ]XPXy.>.L.YXp.iX,.u a.a.a.a.a t R a <Xq E .XnXv.NXDXI.~.~.*XD t.N.NXw.TXJXH |.$.R.R q.6.(X@.tX . .6.c.c.c.c.c.c.cXg.cXg.o _.bXz _.b.b.b.b _.bXz _.b.b.bXg.o.bXz.b.b.b.b.o.b.^.bXz eXtXt.r eXj ~Xt eXt e.^.b.b NXz.bXg.b.b.bXjXj ~.r.k.8.8.kX9 NXd.r e eXt.^.b.b.b.bXz.^XzXzXz l _XzXzXz _Xz.b _.b _Xz _.bXz _Xz.b _.b.b _ _XzXz e eXk.z./ e eXj.bXz.bXzXzXz _ _ _XzXz.b.b.b ~.r.5XtX-.w .).W O.s.@.s . xXGX5 RXq ._._ xXB a.aX1XI R.`.`.`X-.8.` 3XI.aXc $XDX- < x.F E >.JX%._.m.m E..X>X> ^ O.M.a",
-" ~X*.r.r.r.rXt.r.r.rXt.r.rXt.r.r.r.r.r.r.rXt.r.8.r.r 3.8.r.KXIXI.M.w 2.N.sXe 1X,.i 1X,XlXlXl $XDX,.e h.e R.}Xs U.N._ v.s p b.s 0 O.j.[.SXH.,XM kX3XZ.O.+Xh =.'.a aX1.e.'.'.jXwXnXe E U.-.pXn..X> ^Xf H.@ y n.[.- nXc gXP s.D.D.n.!.n.uX1.`.8X-.`.`.a.`.8 ~.rXtXt.rXtXtXj.b.b.b.b _Xz.b _Xz _Xz l.o.b.b _.b _.b.b.b.b.b.b.b.bXzXtXtXt.rXt.rXt eXt.rXtXt.rXoXtXtXt.r.r.uXtXt.r.r.rXt.r.rXt.r e.rXj.^.b.bXzXzXzXz.bXz l.b.b.b.b _.b.b.o.o.oXgXgXg.o.b.o.b _.bXzXzXzXzXzXz.bXz.b.^.z.o.^.^Xz.bXz.bXz.bXz.bXz.bXzXzXz.^Xz.o.V.oXgXg.cXgXgXzXz.c.b.b.^.b.b.o NXz.b.^.z.fX9.f q qX9 q 5 I ).R.kXV )XVXDXGX+.@.@X> & gXU g.jXC vXpX>.jXcXBXB.j 2Xv /.N.s y.-XXXX.K.K.K N DXoXo.KX5 q.] ` ` :., T TXI RX1X-.eX-X-X1 c.e a aX- 3XXX3XJXc !XH.2XcXl )XVX5 gXU =.;XG x x 3 :.Z xX, 3 #XDXD xXe pX4 ^ /.NXsX1.~X- t.M.N.N.=Xw.%XX ).$XxX3.&.f.&X@.IX@ A.6Xu l.c.c.c.c.U.c.cXg.c.bXz.b _Xz.b.b _.b.b.bXz _Xz.bXzXgXg.b.b.bXz.b _Xz.b.c _Xz.bXjXt eXt.r.r.rXt eXt.^Xz.oXz.b.b.cXg.^.b.^ e.r.r.`Xt.r.r.k.5Xt.rXt.r eXz.b NXz.b.oXz.b.bXz.U _Xz.b _.b _Xz _.bXz _XzXz _Xz _Xz.b _Xz _Xz.b.bXj e.^ NXk.r.r.^.o.b.b _XzXz _ _ _ _ _Xz.bXj.^ F.~ ~.8XD U v.s O.> &.sX=Xi y $.a a 1.F x xXpXDXDXI.~.`XIX-X- ~.8X-.8 R c .YXpXn a.FX4 E WX% >XAXAXA.J.<.4 0 2Xe.M t",
-" ~.r.r.r.rXt.r.r.rXt ~Xt.r.rXt.r.rXt.rXt.r.r.rXt.r.r.r ~XVXo.8XIXDXe / / CXe U # $ c $ cXD R t RX- 3.~.a t R.*.WXs.sXpXG 0 J.@XC.E HXHXBXM h.- V `Xc M.qXw sXG.Z aX- a.H $ g.9 & vXe._XpXG.Y.p H.x H.j H bXn y.j.[.-XU y.Z '.D.w.n TXOX5X1.a.`.`.a.`.`.`.`.8.HXtXtXtXtXt e.b.b.bXz _Xz _ _.b _Xz lXg.b _.b.b.b.b _ _ _.b.bXz.^XjXt.rXt.r eXt eXt.r eXtXt.r NXtX*.r.uXtXtXt.rXtXtXtXtXtXt.rXtXtXtXt.^ NXzXzXz.^.b.b.^ l.bXgXg.c.cXg.o.c.cXg.cXgXg.oXgXgXg.o.o.bXzXzXz.bXzXz.bXzXz lXz.b _.b _.b _Xz.b _.^.o.^.bXz.b _.VXg.c.VXg.cXg.VXgXz.^XgXzXz.b.b.^.b.b.X.X N.X.r.r.rX*X*.uXV.k.r N.k.uXdX5.Z.D.EXn.vXi.@XC OXL OXC.E.v 2 2 vXG yX+ y.v /.).NXL.j VXXX*XXX3.$.K.8XV.`X-.~.~ ` cXDXD RXDX1 $ 3 3 3 3XD R 3Xc # c :Xl | V.,X3 3XK.w T c ).k.D.u.] vXrXrX+XqXh.wX.XDX..,XVX3Xc tXh x._XnXi.).) RXDX- t R U.N.sXKXl 3.rXt.rXj.rXkXg.^.bXz _.o.o.VXg.c.c.c.c.c.cXg.c.c.bXz _.bXz _XzXz.b _XzXzXz.b.b.b.c.o.bXz.b.bXz.b _ _Xz.b _.b.bXt.rXtXtXjXj.r eXt.^.b N.^XzXz l.b.b.b.b.r e.r.r ~.8XV fXx.rXd e eXjXz.b.b.b _.b.b _ _Xz.z _ _.b _ _.b _ _ _ _.bXz _.b _.b _ _ _Xz _Xz.o.bXj e eXt.bXt e.b.b.b N.b _ _ _ _Xz _ _Xz.b.b NXtXt.X 3X1 tXnXL 2 H M 0XFX= ^ v.9 : a x.FXwX;XJ T :.2 '.H I.K.,.5.] mX5X. vXpX>Xp.< > >.JX4 M.pX> SX8.<X8X6 2.. v.M.M",
-".r.r.r.r.rXt.r.rXt.r e.r.rXt.r.rXt.rX*.rXt.rXtXtX*.r.rXt.u.uX1XD 9.s.= /.N.) xXe $ hXDXD.a.a R RXD RXDX- R a.*.N.N O & H.j HXCXCXC.E.j.S.3.Y kXH.3.1 =.> ! =X. 1 ` 1X1XVXlXK.n.j yXnXG.j.j.j.jX4XG J.E.EXeXG.'.' s.9 g.n.w.n BX,Xa s TXU.H.a.`X- a.`X-X-.8.8.8.r.rXtXt.rXj N.b.b.bXzXz.b _.o.bXzXg.o.b.b.o.b _.b _.b.b.b _XzXj e eXt eXtXtXtXtXt.r.rXt e.r.X.rXt.rXt.rX*.r.r.kXtXt.r.r.rXd ~.kXtX*.^.X N.b N.b.b.b N.U.^.b.oXg.c.c.o.V.c.c.c.cXg.cXgXgXg.c.o _XzXzXz.b.b.bXz.^.^ l.b.o.oXgXgXg _.bXzXz.bXzXz.b.b.V.oXgXgXgXgXgXg.VXg.o.oXz.o NXz.b.^.X.^.^ NXz.^.kXtXt.r.rXV.k.r.A (.RXx qXo I DXKX0 &X>.; ^ H bXLXaXC.E ^.v 0 2 2Xa v.j.sX=.).N v y V.$X3X9.uXVX-X-.a R.~.aX- a.5X-X- RX-XIX1X-.~.aXIXI 3.uXc.5X3 x k }XH., hXc.n.n 1XlX5.K.k.] ' gX0.xXp v n 1 !Xl T 1X,XM 3 :.9X+ p.JX6X=.) t U.e.M.N.NXG v s 3Xt.r eXj.r N N.X.b.o.b.bXg.cXg.c.c.cXg.c.c.c.c.cXg.b _.b.b.b.bXz _.bXz.bXz _Xz.bXzXgXg.b.b _Xz.b.b.b _.b _.b.b.b eXt.r eXt.rXt eXtXj.^ e e.^Xz l.o.b.bXz.^Xj.r.rXtXt.r.k.k.rXt e e.^Xz.b.b _.b _.b.bXzXz l _.b _ _.b _Xz.bXz.b _Xz _Xz _.bXz.bXz _.b _Xz _XzXj.rXj N e.^ N.b.b.b.b.b.bXzXzXz _Xz _.oXz.b.kXtX9X9X-XD.D O.=.v.s.W.WXFX=.sXGXKXI.a KX#XJX9 :Xd.' '.5 )XV.5 c.0.nXw.v ^.4 ^.JXf.T.{.; W.; o z.;XiX:X0 p v y.M 1",
-"X*.r.r.rXtXtXt.r e.rXt.r.r eXtXt ~X*.r.r.u.r.r.r.r.k.r.u.HXd.HX1XU 2.N 2XL.) s U.M U.}.aX- a a.* BXIX- cXV.9.ZXa v.v.; wXG OXL OXa.EXw [XJ ` k n.> =.>.9X0 1 ` :.a :X-XIX5 $ xXGX>Xm y H y.YXGXL.w.nXa.nXa.ZXeXl s.n.n.wXa R R B.wXa.nXJ.Z.`.`.`.`.8.`.`.`.`.`.8.rXtX*Xt.k.^.b.b.b.b.bXz.bXz.bXz l.X.b.b.b.b.b.b _.b.b.b.bXz.^XjXdXtXt eXtXt e eXt eXtXt.r N.r ~.KXtX*XtXoXt ~XtXtXtXtX*XtX*.k.k.k NX9 N.o.^.bXkXz.^.z.o N.oXgXg.c.c.c.c.o.VXgXg.o.o.b.o _XzXz _XzXz.b.b.o.o.o.o.IXgXgXg.oXz _XzXz.b.oXg.oXg.oXgXgXgXg.cXg.c.c.cXgXg.o.o.^XgXz N.zXg.z.I.zXg A.z.IXo.5Xx )X9 ~.uXxXx.5Xk.5X9.5.5Xw.j HX>.E oXCXLXLXLXm.+X0 z J 2.= /.) 0 0 G.N.s vXcXM V 3X- R 3.e.e.eX- R aXI a.aXl.uXI 3.HX-.e R.~.eX- RX1.aXDXD.KXX :XHX3 : ' x.Z RX-.K.5X9 : s.> MX> vX4 xX,XDXD.M.a a cXD t.}._ EXnX6.) * C.M R U.W bXGXaXIXtXt e e eXj N.b.oXz.b.b.bXg.c.c.c.c.c.V.c.c.c.c.o _XzXzXz _Xz _Xz.b _.bXz _.b.b.bXzXg.oXz.b.b _.b _Xz _Xz _ _Xz.^.rXt eXtXj eXt.r eXtXt e eXj.bXg.b.b.b.bXz.^XtXj.8 ~.H.f.z.r e e eXzXz.b.b _.b.b _.b _Xz l _ _XzXzXz.b.b _.b _Xz.bXz.b.bXz.b _.b.b _Xz.b.b.b.^ e.r.^XtXz.o.o.b.b.b.b.b.b _ _ _ _.o.b.b N.^XjXo :Xd BX1 bX=.)Xi U.N.= / *XLXUXc :XIX3 D ).u.`.~.~.~.`.e.KX-X1.*XsXn.sX= wXf.@.@.y.x J.; o 2.@Xi OXp.@.WXs.YX,X,",
-".r.r.r.r.r.rXt.r.r.r e.r.r.r.r.rXtXtXtXtXdXdXt.rXt.rX*.r.8.H.Z.'Xm.j.v.sXLXG v.@.wXs t t a.a a.a a RXDX5XJXc.! y H =X0.E & bXLXaXL s.>Xc.-Xc.-XwXU.'.9 s.n.M h.a a.e R ~.KXI.wXL v o.E.' vXa._XGXsXDXa.D 8X1.D R 8 'Xa.D 8X,XD.a.Z.0.]XUXVX1X-.`X-X-.`.a.`X-.` F.8 ~.r.rXt.k.^.^.^.^.b.b NXz.b.bXk.oXz.b.b.b.b.b.b _.b.b.b.b.bXz.^.^XjXjXtXjXj.kXtXjXj.k.r.^Xt.^Xx.z.rXx 5Xk qXx.XXoX9X9X9Xx ) ).kX9.A.$Xk.zXg.t.I q.f.IX9XgXk.c.b _ _XzXzXz.b.^.bXzXz.bXzXz _.o.c lXgXg.cXgXg.o.UXz.bXzXzXz _.b.b.o.oXgXg.V.oXgXgXgXgXgXgXgXg.c.o.cXgXg.b.o.^XzX X@ Z./Xu NX X@ 5.f ,.|.f (Xk.k.rXt.r ~Xt ~.8 3 ' g M.q &.+XUXU ! !X; =.> H w.s.=.N.= G._.W.N.)XG.j `XXX-X- RXD DXc c kX,Xc 3 `Xl mXc.,.KXcX- 5 RXHXcXJX,XwXDX1X,XMXl mXHXw sXl.Z R.aX-X5 c (.]XPXh M M n =.Y R h R RXD c < 3.a < x pX4X6 / * u U pXs s ' $XIXdXV.r eXtXj N.b.o.b.b.o.b.bXg l.U.c.c.c.c.U.c.c.c.b.b.b.b.b.b.bXzXz.b.bXzXz.b.bXz.bXzXgXg.b.b.b _.b.b.o.b.b.b.bXz.^.r eXt.k NXt eXt e.r e.r eXj.^Xg.o _Xz.b.b.^Xt ~X* ~.rXoXt.kXt.^Xz.b _.b _ _.b _.b.b _Xz l _.b.bXz _Xz _XzXzXz _Xz _Xz _.b _Xz _XzXzXz _.b.b.bXj e.b N.b.^XzXz.b.b.b.bXz _ _ _XzXzXz N.b.XXt.rXx.u.HX1XG.sXb.. U U C.= / vXG y :XK c.KX*.`.~ F.`.`.`XI.`X-.~.aX, 0.)XF ^.s.s %.s ^Xi 2XL.NXs.N.w.WXDX,.M BXD 8",
-".rXt.u.r.rXtXt.r eXtXt.rXtXtXtXt.r.r.r.r.r.r.rXtX*.r.r 3 c D gXJ J =.OXCXL ^ bXGXn.w U t < a a.e a B.~X, 3XD.W v 0 b 0 vXC sXaXa.Z xXcXw n = m n s s.n.w.M R tX-.a a.uX1.KX1.M.ZXeXLXaXa.w.Z 8XDXD B 8X1.* RX1XD B 8Xs.* RX-XDXl ' ' T.2X1.`.`.8.`.aX-.`.`.`.`X-.`.8.8.r.uXtXtXtXj.^.b.b.b.b.b.XXg.b N.b.b.b.b.bXz.b.bXz.bXz.bXz.X.b N NXz N.b.b.b N.b NXd.bXtXdXk.RXoXkXoX@Xx 5Xx N 5 ) 5.KX3.$X9.5 N./././.oX@ d./.t.IXg.o.bXz _ _.bXz.b.b.o.bXz.b.bXzXz.b _.oXg.o.o.o.bXzXz.^.zXzXzXz.b.b.o.o.cXg.c.c.cXgXgXg.oXgXgXgXgXgXg.oXg.cXgXg.bXgXzXz./.z.z./Xx.^.R.X.I.0.X.z.]X9.u q.rXt.k.rX*.r.8.8 :Xy !XUXm =XyXU.0 '.' s v o o 2.=.N G U.s.).).NXG.- V.K aX1X1X-XK xXK kXDXHXHXKXc.u kXJ : Y 3.%.Z.'X1XcXJXDXD R.a x :XHX; g.'.ZX- B R c.u , : Y @.O = zXrXr xX,.Z.'.9 x.a < RX- U x.d.J ^ %.W U.).sXG v $.H.u.rXdXtXtXjXj.bXzXz.bXz.b.b.bXg l.c.c.c.c.c.c.o.V.b.bXz.bXz.b.b.b.b.b.b.b.b.b.b.b.bXzXzXg.oXzXz.bXz.b _.b.bXz.b.b.bXj eXjXt.^.bXt eXt eXtXtXt eXtXdXgXg.b.b.b.bXzXt FXtXtXt.&Xk ~XzXz.b _ _.b _Xz.b.b _.b _.b l.bXz.bXz _.b _Xz _XzXzXzXzXzXzXz.b _.b _.b _.b.b.b.bXj.r.X N.bXz.o.o.b.b.b.b.bXz.b.b.b.b.o.bXgXg N.rX5.H.`.e.wXLXbXp E.M C 8.W.=.s v g.'.ZX-X*.8.`.`.`.~ 3.`.`X-.8X- UXn.)X= 0 / O.N.) %.s.= G 8.* C R.M.ZXDX, R RXD",
-" ~.rXt.r.rXtXt.r.rXt.rXt.r.r.r.rXtXt e.rXtXtXt.rXtX* 3.8X, mXl.W.Z.>.+.> o.E.q 0 v.s v u u.* < R a RX-.eXD.a 8.W.= J H.;X0XKXL.D 8.ZXlXc yXJ o s.w.w.a.*XD.a t <.aX-.`X*X1.~XI 8XsXe.n.w.D C B RXI.e B RX1 a cXD.Z.*XD.e R R.Z.'.w g.].2.~.8.~.`.`.`.`X-X-.`.`.`.`.8.8.r.rXtXtXtXtXtXj.k.^.kXjXt.X.o.X.b.o.b.b.o.b.b.b.b.b.b.X.b.b.b.b.b.b.b.b.bXg N.b.b NXx.r ~.r.r.k eXd.r.uXt.r.uX*Xx.5.u.uX* #X9.rXtXt N.b.^Xz.^Xk N.b.b.b.bXz.b.o.b.^Xz.b N.b N.b NXz.b.b.bXzXz.b.b.b.b NXz.UXz N.b.b.oXg.oXgXgXgXgXgXgXgXgXgXg.cXgXgXgXgXgXg.cXgXgXzXgXz N.^.^.^.^.b N.b.X fX9.2 D 5 (.r.5.rXt.r.k.r ~.8.`.O.G g !Xw '.'.wXIX1 '.Z.wXC 0 O /.N C C U v.).W.'., c.a a R R.9Xl 3XK 1 #X, 1 # ` RXJ.u : DXI 1XlX,.9 3 :XD aX,X5.,.,X;.q 1.D 8 c $.%.%.|.%.%XO.9XnXBXq x $XwXwX.XJ x RX- a.M.}XqXq.<XfXb.s.s.)XpXGX5.`.r.rXt.r.u.r.k.^.o.bXz.b.b.bXzXz.o lXg.c.c.c.c.o _.bXzXz.bXz NXz.b.b.b.^XzXzXzXzXzXz.^.b.b.o.o.bXz.b.b.^.b.bXzXz NXz NXjXjXjXj.^.k.r.r.r.r e.rXt.r e.r.o.oXz.^Xz.b NXj F F.` ~Xt.z.^ N.^XzXzXzXzXz _Xz.bXzXz.bXzXg.bXzXzXzXzXz.b.bXz.bXzXzXzXzXzXzXzXzXzXzXz _.bXz.b.bXk.bXg NXz.b.b.^Xz.bXzXz.bXzXz.b.^.bXz NXz.b.bXt F.H F.KXDXG.WXnXn 1 s g.WXa 0 O vXL.nX- 3.HX-.~.~.`.~ 3X-X- ~ a RXq.W.s J C C.N.W.s.N t.* tXD.M.Z.ZXI R 3 RXD R",
-".`.8.r.r.r.r.r.r.r.rXt.rXt.r.r.r.r.r.r.r.r.H ~.8.8.rXI 3 3XU.W.n xX,.!X0 &.q &X0XpXe.sXLXGXe.M.e.e.*.e 3 aXD C.N.).@ H b v.n.0XI R R.w.Z s s.w.DXD BX- a.e.* RX-.eXIX1 c.`.e R.M.* R R B.e.~ B a.} aX-.e a.~ mXc.' 1 : $XlXcXP g 4 T.].] :.`.8.`X-X- RX-X-.`.`X-.`X-.~X-.8.rXt.rXt.r.rXt.rXt.r.r N.^.^.b NXz.^.bXz.b.b.b.bXz.bXzXz N.b.bXz N.b.b NXzXz.X.bXk.^Xt.^ eXtXt.rXtXt.kXtX*.rX3XJ q V q )XkX*.k.k.^.b.X.o N.UXz.o.bXg.c.cXgXgXg.o N.b N.^.^.^.^.b.b.X.b.b.b.b.b.b.o.b.bXk.b.o.bXgXk.U.c.cXg.cXk.U.c.c.c.U.c.c.c.c.c.c.c.c.U.cXg.bXg.X.b.X.o.XXgXoXzXx.z f 5 I 5 5XJXt (.k.kXtXt.k ~X* 3Xy.G.].n $.DX,XD 8 c R s.n y 0X=.=Xs u x n.jXG.sXc nX3.K.aXIX1.Z R R.a.a aXIX,.aXD R 3XD.} R `XD R.aXD.aXI.aX, RXM `.,.1.G yXP.DXD.5 c.% f 5 D 5 D XZXp [X..%Xl 1 xX, c cX,.aX,.FXq.x.@.v 2.s o.E x.u.5 N.bXo.5.5 NXkXkXk l.c.c l l l l.Q. .Q.#.I.#.I.U.c.c.c l.c l.c.c.c l l l.U l l l l.U.c.cXg.I.U.cXk.c.c.U.U.U.U.U.U.U.U.UXkXkXk.UXg.X N.X N N.X N N N.b.z.I l.U.UXk.U.o.kXo.k N.A.z.X.z.U.U.U.U.U.U.U l.U.U.U.U l.6.U l.U.U.U.U.U.U.U.U.U.U.U.U.U.U.U.U.U.U.U.U.U.U.#.zX@./.6.c l.U.#.U.U.U.#.U.U.U.U.U.U.U.U.U.z.I.IXg.XXtXX #.u.ZXmXmXGX+Xp.,.WXe.s.v b o TXVXX )XVXtXV.u.u.HXVXI.r.uX,XKX0.E.h y.Y.j &.Y.Y.9XKXlXBXw `.uX, cX5 xXD h",
-".k.kXo.5 N.5 N N N.5 N.5 N N N N N.5.5.X N.K.k.kX*.5X*.u ' m.'.'XaX;.9.+.>.+ =X0 M.xXpX> yXm yXJ.YXJ.- VX, $.Z.E J wX0XnXG.'.wX5 $X5.ZXl.w $.wX,X,X,X,XVX,.u.}X,.}X5 `X9XV.H $XD.}X,XD 3 3XVX,XD c 3 3XD $.a ` D `X3XJXX k m ! @XO m D ] (.].u.u.uXVXV cXV.uXVXVX*.u.uXt.k.5.5Xx.X.X.X.X.X.X.X.X.z.z.z.z.z.U.U.z.U.z.z.z.z.z.z.z.U.U.U.z.U.U.U.U.U.z.z.z l./.UXk.zX9.zXk.b N N N.5.5.5 )XXXXXXX3XX ) NXxXgXk.#Xg.U l.6.z.U.z. . .I.zXk.cXgXg.X.b N.b N.b.XXg l l l l.cXkXg lXgXg.IXxXg l.cXk.#Xk.#.U.#.#.#.U.U.U.U.U.U.U.#.U.U.U.U.# l l.oXkXgXg.X q.R.z.I.RXg ( q q ) ) qX9.k.u.k.^XoXoXdXVXV.uXUXU.O s g x 'XK xXl T.' gXCXi.v 2XsXD.WX+.j JXLXw VX3XM 3X*.a cXI.ZXI.a RXI aXDXI RXI $X1XI h 3XDXDXDX-.}XI.a 3 #XM k.,X;XK.Y.w.u.k.2.5 c.r.K :X3XcX<XBXc 1.ZX5X5Xl x x hX, h cX, x._X4X6X= / 2 bXOXK `.k.KXt.kXd.u.^ NXgXg.X.o.o.o.o.o.oXg.Q.c l.U.c l.o.o.b.o.o.o.b _.o.b _.b _.b _.b _.b _.b.b.b.cXg.b.b.o.b.b.b.b.b.o.b.o.b.o.o.b.o.X N.^XtXt eXt.r eXt.rXt.oXgXz.b.bXz NXj ~ F.r.rXt.^.^.b.o.b _.b _.bXzXz.b.b.b _.b.c.b _.b.b.b.b.b.b.b.b.bXz.bXzXz.bXzXz _.b.bXzXz _.b.b.cXkXkXjXjXzXzXz _.b _Xz _.b.b.b.b.b.^Xz.o.oXg.b.r ~.K.8.aX1.D.!Xa.s._ C u t * /.=XLXG.a.}XX.8X-.~.~.~.~.`.`.e.`.~.' yXmXG.jXG x xXc.]XlXJXw n $X-.e t <XD.M h",
-" ~.8 ~.rXt.rXtXt.rXtXtXtXtX*X*X*.uX*Xt.uXV ~XV.8.rXV.HXVXJ.].n.n $.>X..O !XU H M z = n &XC.jXG v x x `X, R t 8 C.v J H.EXe.w.a B.~X-.Z 8XD 3XD.a B R 3X- aX- aX- a 3X5.5.`.eX1.a a.~ aX-.`.e.e.a.8 aX- a aX-.e a.a.e a.8XI 'XLXUXOXO.] (.] (.] TX5XI B RX1X-.`X-X-.`X-X-.` ~.r.r.r.r.r.r.r.r.r.r.^Xd.^.^ NXz.^ NXz.b NXzXzXz.bXz.^XzXzXz.bXzXz.bXz.b.b.^.^Xk N N.^.b.^.^XtXtXt.r.r.r ~ 3.r.rX* 3Xt.r.^ NXz.z.oXz.I.zXu i.U.c.cXg.bXz.^.kXj.r.r.rXt.r e.r e.^.^ N.^XzXz.^.bXz.^.^ l.^Xz.^.^Xz.bXgXg.V.o.VXg.o.c.cXg.c.U.U.c.c.cXg.oXg.o.o.^.oXz N.^./.t A./ QX .& q.f 5 I.AX3.rXt.r.rXt.H.H F.` $.] = g.0X. T hXHXlXK :XK =XC w.= / C U XG.wXLXeXJX3XM.K 3.a 3.u.}.u 3 cXDX- 3.aX-X,XI #.aXD cX, 3 tX- h a h.a a #XXXJXK !Xm ' TX5 ' : 5Xt.kX*.K V # U.MXDXD $ $X,Xl.}.a aX-XDX,.l EXnX6X=.N.=XP T.u.$.R.R.f./.A./.A.&./.U.b _.b.oXz.b _.V.U.c l.c.V.c.bXzXzXz.bXzXzXz.b.b.bXz.b.b.b.bXz _.bXz.bXzXgXgXz.b.b.b.o _.b.b _.b.b.b _.b.b.b.b.bXzXt eXtXtXtXtXtXt e.XXg.b.o _.b.o.^Xt N FXtXj.r.bXz.b _.b.b _Xz.b _.b _.b.b.b.U.b.b.b.bXz.bXz.b.b _.b.bXz.b.bXz.b.bXz.b _ _.b.b.b.^.r e.^.r.^.b.b _Xz _Xz _XzXz.b.bXz.o.b _.b.b.I i N F )X1.8XI B.!XLXL v.) <.d.M.= 2 bX,.}X3.8X-.`.`.`.`.`.~.`.`.` BX5XG.) v G t t.a aX1X-X- R U.M $XDXD.e.a < t.W",
-".8.` ~ ~.`.r.r.rXt.r.rXt.r.k.r.rX*.r.u.H.8.H.H.8.uXVX-XlXJ s.'Xs.M.w.-Xw.O K =X; =XZ.jX+X+._XL v.W h $ 3.8.e RXs.N o ^ H J.wXD aX-.~ 3 c 3XI.} 3 #.` 3 3.u.a.~X-X-XD.~X-X-X-X1.aX- aX-.e a R aX- 3 aX-X-X- RX-X- R 3X- RXl $.0 ! g mXPXP.!.0 '.0 T R $XDX- R.`XI.`.`.`.`.`.`.r.rXt.r.kXtXt e.rXtXoXd e.k N.b.b.b.b.bXz.b.b.b.b.b.b.b.b.bXz _.b.b.b.b.b.b N l.b N.b.o N.^.oXtXtXt.kXt.rX*X*.rXtXtXj N.UXk.#.6XkXg.z. X .I.c.bXz.o N.^.kXjXtXtXt eXtXt.rXtXtXt.k.b N.^ N NXz.b.bXz lXz.bXzXz.b.bXg.cXg.c.c.c.c.c.c.V. i i iXu.IXg.o.b N.^Xz.o NXz N. .XX@X@./.z.z.&.R q.X q.z.rXtXt.rXdXt.8.HX1 : T TX; v $XG c.9XD `XlX5.9 J H.v /XsXs._.jXL v 1.[X3 #.a.a.8X-XIX,X.Xl DXcXKX.XJ $Xc `.O : `XH : :.e TXK ` | $ <Xl V.,.O &XC yXrXK T.u (.X.X )X9 |.i._ h U hXD.Z.D.D c.a.a.} aX-.i x E.J.JX= / v.Z.H )XoXxX9Xx.X.XXk././.z.c.o.b.bXz _.bXz.c.U.V.c.o _.c.oXz.b.b _XzXz.b.bXzXz.b.b.bXzXz.bXzXzXz _Xz.o.o.bXz.bXzXz _Xz _Xz.b.b _.bXz _.b.b.b.k e.rXt.r.r.r eXt.r.b.o.bXz.b.bXzXzXj e ~Xt e.r.^.b _.b _ _.b.b _XzXzXz _.bXz.c.b.bXzXz.b.b _.b _Xz.bXz _XzXzXzXz _.bXzXz.b.bXzXz.kXj e NXj.^.b _ _Xz _.b.b _Xz.b.b _Xz.o.^.b.b.U Z.AXkXJXx :.]Xl nX>XL.W.w.* 8.W 2 2 0 8 RXI.8.~.`.~.`.`.~.`.`X-X-X-X,XG.W O *.) t u <.a RXD.}X,.MX1 RXI a <.M.N.)",
-".r.5.` ~.8 F.8.8 ~.rXt.r.rXtX*.r ~ ~.$ 5Xo.$ D.5 I 3.%.5.GX;Xw.9 g.3XD kXl.n.w.' gXH [ VXBXq 2.).W t a aXIXIX1 t.N O ^ HXG.s $.eX1X1.5 c.u.K cX9XI.5XI.~.a.u.8.Z B 3.eX- R.eXI R.e.eX-.aX-.eX-.aXI.e.eX-X-.~ R aX-.~XD.~.n.Z.0XO.0.2.!.nXaXa.w.!Xl 'XK DXc 'XDX1X1X1.`.`.`.` ~X*.rXt.r e.r.rXtXd.^.k ~Xt.^.b.b.b.b.b.b.b.b.b.b.b.bXz.bXz.b.b.b _.b.bXz.bXzXk.b.b.bXz.o.bXz.^.^XjXjXj.k.^Xt.^ NXk.I.c.I i./.#Xg.U.c.o.U.b.b.bXz.^.^XjXt.r.r eXtXt.k.kXjXt.rXtXt.^.^.k.^.^.^.bXzXz lXzXzXz NXz.b.o.V _.b _Xg.c.c.V.c.c.U.U.U.U.c.o.b.bXzXz N.oXzXzXz.k.o.k.^.X.k N N.kXtXt ~Xt.rXt.r.rXt.r.8.8X9.O m g '.*.a.e.eX5Xl.~XD.e x.qXm.v /.) v.EXC.sXGXwX3XX.i.aX-.aXI cXD.3 1.-XlXc :Xl `XJXK k IXc IX..ZXD.- x :.- a.aXM., n.>.>.>.>.> nXw.HXx.^.k ~X5XBXMXq._ $.WX,X5.Z $XD.a <.a.} a h._ E..X4X=.s bXI.`Xt.r.r.rXt.rXjXz.X.o.bXz _Xz.b _ _Xz _.c.#.c.c.o.b.V.o.b.bXzXz _Xz.b _.b.b _.b _.bXzXz.b _Xz.bXz.o.oXz.b.bXz _Xz _ _Xz _.b.b _Xz _.b.b.b.^ e e.r eXt e.r ~ e N.o.b.b.b.bXz.bXt e.rXtXt eXzXz.b _Xz.b _ _Xz.bXz _Xz _Xz.U.b _ _ _Xz _.b _.b.b _Xz _Xz _XzXz.bXz.b.b _.bXz.bXjXj.r.bXj.^.b.bXz _ _.o _.b _.b _Xz.o.b.b.o.b l.I.f.& D I I :X3., n.sXsXLXD C C.W /.sXG $X,.`.~.`.`X-.`.~X-.~.`.`.`.aXKXn J *Xs.d t a.-XJ 3X5 ` 'XDXV h R U U.s 0",
-"XV.r.8.`.r.` ~ ~ ~.8.rX*Xt.r ~.8XV.8 IXo.A c.5 ) ] 1 6XHX; m.O.Z g.1 xXM.aXDXs.nXGXw | X7X7 v.).W.N.M.* a.a.a.}.N.)XnXC y.w.ZX1.eX-.e 3.u.KXV.`.a 3X-X-X-X1 ` mX9 :X5X5X5 ` : :X5X-.eX-.eX-.~ 3X1X-X-XI.eX- aX-X- a 3X-X, '.0XOXP g.n '.w.n s g.wXw ' s.0 T TXJ.HXI.`.`.`.`.` FXtXt.rXtXt.k.r.r.kXo.k e.r.k.^.^.^.^.b NXz.^.b.b.bXz _.b _.b _.b.bXz _.b.b l.o.b.bXz _ _Xz _Xz.b.o _.c.c.#.#.6 i.6XgXg.c.bXz _.c.oXzXgXz.b.b.bXzXjXt.r eXj.^.^.^ N.b NXt.r.rXt.rXtXt.rXjXj.^.b.^.cXzXzXzXzXz N.b.bXzXzXz _.VXg.VXg.VXg.oXg.c.o.o.bXzXzXzXz.b NXz N.bXzXkXg.XXg NXX NX9.K.kX* ~.k.r e.r.r.H.`X5.|.3X..OXJXJ 1 x ` $XOXcXUXUX0Xm O /.NXG.O.WXG nXBXM # 3.` a.~X1X,XI t cX, hXDXDXD x.uX,.uXD :X,.5XD.eX, c <.} a h `.- n.G =X0X0 y.j T.uXxXtXg.kXJXH z.pXr.[X+Xe nXJX,.aXDX, R a.aX, x E._Xp vXn.M.H.r.rX*Xt.rXjXt.^.^.b N.b.b.b.b.b.b _.b _.U.U.c.V.V.b _ _ _Xz _XzXzXz _Xz _Xz.bXz.b _Xz.bXzXz _Xz _.o.o.b.bXzXzXzXz _XzXzXz.b.b _Xz _.bXz.bXj.r e.rXtXtXt eXt.rXz.b.b.b _.b.b.bXt e.rXt eXj N.b.bXz _Xz _Xz _Xz _.bXz _Xz.c _Xz.b _.b _Xz _.b _.bXz.b _XzXzXz _Xz _.bXz.b.bXzXt e.r.b eXzXz _ _XzXz _.o.o _.b _.b.b.b.^Xz.bXz.o.b N.H.0.H.` 3 :.w v b.w CX, x.j.W.).WXG 1.e 3X1.`.`.~.`.`.8.`.~.`.8 :X,XG 2.N C < B gXUX.Xc TX..'XJX. VXw & MX0",
-" ~X-.8 ~.` ~.`.8 ~.r.r ~ ~.k.r ~.8.`.5 :.u ) ~ : ).KX5.3XJ ! 8.'Xa xXl.aXD.M v.n oXw.[X7 XB.-Xn.) *.N.* t t.M.M UXnX4 o H.n.w B.~.`.eX-.~X-X-X-X-.eX-X-.~ RX1 ` :XH c c # )XJXJ ` RX-.e RXD aX- 3 3 R.~ RX-.~X-X-X-.~ 3 R.0XU g.]XU.Z s.n.wXc.wXU K '.9.D s.0 g g.5XD.`.` F.`.8 ~Xt.rX*Xt.r.kXtXo.r.KX9.z.$.I.rXdXd.^.^.^Xj.^ N.b _Xz.b.b _XzXz _.b.b.b.b.U.b _Xz.V.U.o.#.#.c. .U.6 iXu.#.#.V.VXg _.b _.^.^.b.b.^Xz.U.b.bXzXz NXjXj.^.^.^.b N.b N.b.^ e.rXt.r.r e.r e.r e.^Xz.^ lXzXz.^.bXzXz.b.^XzXzXz _.bXg.VXg.VXgXg.cXgXg.bXz NXzXz.^.bXzXz.^.b N d.f.& 5.&.A.A./.f.K.rXt ~Xt.r.r.r F.8.8 T 4.0 ! 'X-XlXD 'XOXUXPXmXU HXC.vX= 9.TXeXe.YXcXl # # 3X- aX- RXDXD.a.e.e R R.e.eX1X,X, RX-.a.~ $XIX-Xl hX,X, hXM.,X..> & = 9X0 H.Y.- c.k.r.XX9XKXpXGX>XpXqXnXq.T.,.3.,X, c xXI h U [ xXnXLXp xXD.8Xt ~XtXt.rXtXt N.X.b.b.b.b _ _.b _Xz _.o.U.U.c.c.cXz _Xz _Xz.bXz _XzXzXzXzXzXz _XzXz.bXzXz _XzXzXzXg.o.b.b.bXzXz _Xz _ _XzXz.b _.b _.b.bXz.^ e e.r e.r.rXtXt.r.b.o.b.b.b.bXz.b eXt eXtXjXj.b.bXz _Xz.bXz _Xz _.b _Xz _Xz.U _Xz _.b _Xz.b _.b.bXz _Xz _.bXz.bXz _.bXzXz.b.b.b eXjXtXk N.o.bXz.^ i.6 i.6.#.c.o.b.bXz N.o.b.o.b.X l.X.H.0X9 3XI cXD.' 2Xa.W t.i.} U.) o.N g 8.a $.u 3.`.8.~.~.~ BXI ~ R B o.=.=.N 8.M.D.ZXDXI.}.a.K 3 c x.w.s 0 o",
-".`.8.8XV.8XV.r.r.HXV.rXt.rX*.8.r.8.8.8.8.8XV.uXV 3XI c gXlXK.W B.W xXD.M.M s.w.'Xw [ ` XX XBX+...)XF.N.).N.M *.).s.s wXCXa.ZX1 R B.~.eX1X-.~.~.e.~X- R B.e R.e.~.eXl.eX-.e 3.u.a.e.~ B.u x.5XDXIXl 3 3.e R.~X-X-.`XI.Z : g.Z 'Xl xXl.nXl.0.! sXU 'X; !Xc gXP ! g.%X. '.~ B.`.`.`.8Xt.HXtX*Xt.k ) 5 5 q I q.k.r.rXtXt eXt eXt.^Xz.b.b.bXzXz _.bXz _Xz _.b l.b _ _ _ i i.#. i.6. .#.U.o.oXz.V _Xz _Xz.b.o.b _.bXzXzXkXzXzXzXzXzXz NXz N.bXz.^.^ N.^Xt.r eXt.rXtXtXtXt eXt.^.^Xz.cXzXzXz.bXz.bXzXz.b.bXz.b.o.oXgXg.oXg.cXg.bXz.bXzXzXzXz.^.oXz NXz.X N.XXgX9 NXXXx.k.KX*.k ~X*Xt.rXt.r.r.8.8.`.5 g.0.0.DXsX,.wXaXa b b.n J.9XC 2.v MXn o x nXMXM c c # aX-X-X-XD.eXDX-.e aX- RX-.e RX-XI.~XI RXDXI B x.'Xc `., |XhXHXU =Xh.>XZ HXZ.> ,XxX 5 } T =Xe.JX>X>X4 > W.i.-.S.].%XK.,XK nXh M.j x TX, 3.rXtXt.rXtXtXtXj.b.b.b.b.b.o.b _.b.b.b.b.V.U.U.V.V.c _XzXz _XzXzXz.bXz.bXz.b.bXz.bXz.bXzXzXzXzXz _Xz.c.o.b.b.bXz _Xz _Xz _Xz _.b _.b.bXz.b.b NXjXtXtXj e.r eXt eXg.o.bXz.b.o.b.b e.r e.r e.^.b.bXz.bXz _.b.b _Xz _.b _.b.b.c.b.bXz _Xz _Xz _Xz _ _XzXz _Xz _XzXzXzXzXz.b.bXz.b.X.^.^Xg N.b.o _ _.o.o.cXgXg.o.bXz.b.oXz.b.b.^.X.b.o.XXdXV :XV.8 cX1.wXL.sXL u < <.}.d.j 0X0.>XJX#Xh )X1X-.~.8.`.`.HX1 BXs.!.=.= 8.M R t t R t < < a.eX, R.N.) O J",
-" ).KX3X9X9X9XxX9.RXxX9XtXt ~Xt.z.5 3.8.8.uXV ~.uXVXIXV.2XU g.W.' s.Z $ R.Z x vXw nXB XX.l # .- >.sX=.N.= / *.) *Xb.vXCXm s ' 8.H 3XV c c : $ cXD cXD $.e R.e tX-.~ 3 3.eX-.a cXl.eX-.eXlXVXc D : k :.3 $.e RX-XIX5 # 3.~Xl.ZXl '.5Xl :XK.' T T '.DX;XK.2.0XUX;XO.OXy.].DXIX1X1.`X1 ~.8XV c ) qX3Xx.KXt ~.r.rX*Xt.rXt.rXt.r eXt.^.b.bXz.b.b.b _.b _XzXzXz lXgXgXg.o.#.U.U.U.U.U.c.c.b.V.o.cXzXz.b.o.bXz _.bXz.b.b.^.c.b.b.b.b.b.b.bXz.bXz.^XzXzXz.^ e.r.rXt.rXt.rXtXt.r eXjXz.^XkXz.^Xz.bXz NXz.bXz.^.b.o.cXg.oXgXgXg.o.b.bXzXzXz NXzXz.^.bXz.b.^.fXgXkXXXk qXk ) q.5X9X9X*.r.r.rXt.rXt ~X-.`X1.2XP '.Z.wXaXa.n 9Xm &.!.E o.E /X>X=XC.W.[X3 # #.a 3.5X-.~ a.~XI aXIXl $.uXDXI $XD.e $ $ h $.~ 1 R x.Z.Z $ a hXMXJ., y.OXZXrX0.; x.- $X9 (.RXx xXn.s.s..X4X2.p._XA x.w c $X, h Xr s.YXK.u.} ~X*.rXt ~XtXtXt N.b.b.b.b.b.b.o.b.b _.b _.c.U.U.c.V.c _ _XzXzXz.bXzXz.b.b.bXz.b.b.bXz.b _Xz _XzXzXzXzXg.oXz.b.bXzXzXz _ _Xz _XzXz.b.b.bXz.b.b.bXj e e.r eXtXtXt.^Xg.o.bXz _.bXz.bXt eXt.r e.^ N.b.b _.b _Xz _.b.b.b _.b _Xz.c _.b _Xz.b _.b _XzXzXzXzXz _Xz _XzXz.b.b _ _.bXz.bXzXk lXk.o.^ _Xz _ _ _ _.b _.b _.b.b.o.I.b.b _ N lXgXzXo.H.HXI ~X*XIX5XL.=X= U.a < a u G.v 9 HXGXc TX, a.`.`.` B.` '.HX1XD bXa.= J.M s.w R t a a a c x.i.*.M.=.v J",
-".$.K D 5 ) I.R I q q.z.H.rXd.K.$Xx ).5 5 ).$XJ ).| :XJ.|XwX; !.'XK.Z.n.9XL x.jXwX3 x # h.l #.lX3X2..X= 2.v.s.s.s.sX=.vXC bXa.D.~.~.eX1 cX5.,X3.,.5 ` c k.e a a BX- a.eXl.e.~ 3X-.`XI.a.8.e.uX1XIXI.K.5XIX5.K.e 3 $X-.e.a.~ $ BX5XI 8 RXD.Z '.n.nXa.Z.nX1XI.a 8 $.n.nXlXJX5.~.~X1.H c.`XlXx.5 D.uXV 3.`XV.u.kXt.rXt.rXtXtXt.rXdXt e.^.b.b NXz.b.b.b _.b.bXz lXg l.UXgXgXgXgXkXgXg.cXg.c.c.cXg.c.cXg.c.c.cXg.c.o.bXzXz.c.bXz.bXz.bXzXz.bXzXz.b.b.bXz.^Xj.r eXt.rXt.r e.r.r e.^.^.^.UXzXzXz NXz.bXz.bXz.^Xz.oXg.c.o.oXg.o.b.^.b.b NXzXzXzXz.^.b N.b.^X@ q./ q.&.$.$.$.$.f.$X9.r.r.rXtXt.r.r ~.`.8 R.0 gXPXa.n.w.qXC.!.q bXC & H.v w b z ^ v.[ #XMX* a.8 #.`X-X-X-XDX-XIX. $.,XJXlXHX-X5X5 : :XJXH.]X3 hXl.9.Y h #XM k.jXP y.>X0 z.qXn yXM D.k ) c $ t.).WX=.@X+X8 >Xq E.FXl RX1 t UXeXp xXK 3XI ~X*.r.rX*.r.rXjXj.b.b.b.o.b.b.b.b _.b.b _ _.c.U.U.cXg.V.b _XzXz _XzXzXz.b.b.b.^.^.^ N.b.b.b _Xz _Xz _.bXg.o.b.b.b.b _ _Xz _ _Xz _Xz.b _.b.b.b.b.bXj.rXjXt.r e e.rXjXg.oXz.b _.b.b N.^.rXt.rXj N.b.b.b.b.bXz.bXz _.b _.bXz _Xz.U.b.bXz _Xz _Xz _Xz _.bXzXz _Xz _XzXz.V.bXzXz _XzXz e.r.r.b.^Xz.bXzXz _ _ _ _Xz _.b.b.V.z Z d.A.& A.tX Xu dX@ (.k :X*.8 3 s.s.sXe t.} < <.W.) 2 v.w.} s.D.aX-X-.`X1.~.%.ZX- a 9.s.N =.+._XC C G.N t uXM [X..Y G.= O 0",
-".K.u.K c NX*.k.u NXoXt.r.rXtXt.f 5.A.$ }Xx 5.A 5.| ).3.% 4 @ ! s 1.9XKXG.9 y.,.[.lXM.i < aXM.lXM.[XpXp.@.j.j.p.p...v J.E b.nX1.~.~.~.~XD.u.`Xl c RX- a.e R.* aX- aX-X-XI 3X- RXIX-XIX-XIXV R.kX5 # c.eX1 3XK.,., 3 RX-X- 3X,X1 R $ B RX1 R.'.Z.w $ 8 3X- aX- 3 R.D.w.n g '.wXlX5 `.] 5.] 3XI.` R.HXI.8.H.8XVX*.r.rXt.rXtXtXt.rXd.r.k.b.b.b.b.b.b NXz.b.b.b l.X lXgXgXg./.oXk.U.z./.UXk.c.c.cXg.V.U.b.c.c.o.VXg.cXg.b lXz.bXz.bXzXzXzXzXzXzXz.bXz N.bXjXt eXt.r eXt.rXt eXt.^.bXz lXz N.b.b.^.^.^.bXz NXz.oXg.cXg.oXzXzXz.bXz.^.bXzXz.bXzXz.bXz N N N NX9.zXX.XX9.5 N.K.5.kX*.rXt.r.r.rX* F 3.`.`X1 gXw.nXa sXC 9 J J O 0 J.@ 2 w /.. /XG.-XM #X-X-XIXVX-.~X- RXD.~ aXJ 3 mXK :XJ $XI., c mXl cX. :Xc `XJ 1X, # # kXUXGX0 MXS.> z M.1 YX.Xx.u.uX- t t.N.W.s .X+X2.JX4 WXcXJ U $.wXq.- [ 1 3.K.k.rXt.rXtXtXtXjXj.b.b.b.b.b.o _.b _.b.o.b.b.c.U l.c.c.VXz _Xz.b _XzXzXzXzXz.^Xj eXjXzXz.b.bXz.bXz _Xz.b.c.o.b.b.b.bXzXz _ _ _ _XzXz.b.b.b.b.b.b N e eXk.z.k e.r e NXgXg.o.b.b.b N.oXj.r eXtXj N.bXz.bXz _Xz _Xz.b _.b _Xz.bXz l _.b _ _ _Xz.bXz _.b _XzXzXz _Xz _.bXz _.b _.b _.^ eXjXt.b e.^Xz _ _Xz _Xz.b _.b.b.b.^ l.z.I.t.Q A.z A d (X@.z.r.8.5.`XV.nXa 2.s U.M <.* t.N.= JXG.Y s.n #.` R.HXV.~ |.8.} <.'.s.NX> yXZXp / / /X= uXp.9._ M *.=.v o",
-"XX.5 q D.KXxXk q ) q q.XXt.rXtXt.rX*.rXt N.^Xt.rXxXV.`X5 D ! g s sX;XU yXUXH n `XM.i < a a <Xl XXX7 V.[ XB XB.p.p.@.jXa.wX-X-.8 # cXV 3 c x c h a aXc x.K tX- aX1.~X1 c.~X-.`.~X-.` a.` c cX- cX- aX-.uXD c ) :X3.] `XK.]Xc.0 m gXJX,.Z.u R BX-X- 3.eX-.`.aX- 8.Z.nXc 'XJ g.] 4XJ $.ZX1X1X1XD.D.`X1.`.`XV.rX*.rXtX*XtXtXtXt.r.rXtXt N N.b.b.b.bXzXz.X.Q.z.oXgXk.$Xk fX@X@.t.&X@.IXgXk.o.oXg.VXg.c.VXg.VXg.cXgXg.o.#.b.bXz.b.^.bXzXzXzXzXzXzXz.bXz N.^.r.rXt.rXtXt.r.rXj NXz.^Xk.b.bXzXz.b.b.bXz NXz.bXzXz NXzXz.bXz.^Xz NXzXzXzXz.^.^Xz.oXzXz N N NXg ) q q V./.$ 5./X3X*.rXt.r e.rXt.r ~.`X-.`XV m 'XL.!XC O O.=X= 2X=.. 2 ^ M 2 2.YXc # c.}.u cX1X-.eX-X-.}.~ RXI.e.uX, RXV R.eXI RX, 3X1.u aXD.a tXD <XMXM.,X; & = =.+ S H z y 1XD.K.` R R.a < t < U.s..Xf.CX8 [.[X. n.[.1XH.Y.$ q ).R.r.rXtXt e.r e.^.b.b.b.b.b _.b.o.b _Xz.o.b.c.c.U.c.c.cXz _.b.b.o.b.^Xj.^.^XjXt eXt e.^.o.b.^ _Xz _Xz.bXz.b.b.b.^.b.b _Xz _ _Xz _ _.b _.b.b.bXzXj e.r./.UXg.rXjXt.b.c.b.b.oXg.o.o N NXt.kXj NXg.o.^.o.b.bXz.b.b.bXz.bXz.b.bXz.U.b _.bXz _.b _ _.bXz _ _ _.bXzXzXz _XzXz _Xz.b.b.^XjXj ~.o.kXz.bXz _ _Xz _ _Xz _Xz.b.b.bXzXg.& AXgXg.z.z.Q _XoXoX*.$ 3XVXD s 2 2.s.M.M MXG.WXh.Y.+ s.9 cX- c.5 '.~.%.u.a a.- s.w =Xp =.E /.= 2 2.NX> =Xw.s.W 2 v 2",
-"XX.KXX ).kXXXxXx.5Xx.X.KXt.r.r.rXtXtXt.r.kXtXt.kXt ~.`X1 'Xc g.! !.>Xh K KXh |X#.[ | a a tX-.}XX #XM #.l #.l.l.FXB.j.EX0XGXK #.8.K a.~.e.e 3.e c.uXI R I.3 1XJ :XJ :XJ ` DXJXM D.e.~.~.eX* c.8 3.`.eX-X- c.~X-XlX5XM.u.uX5.KX3 B 1.Z.u 3 3 3.eX- RX-XI.eX-.aX-.*XDXaXlXOXU ' 'X5.!.] g !.] y.]XU D.0X1.`.`.8 ~X*.r.k.rXd.r.XXdXo.zXxX@XtX9.b.^.^.zXx.z N.(.6.t.f.(X .o.fX@Xk./Xk.z.UXg lXg.c.c.cXgXg.cXg.cXgXg.c.cXg.Q.b.^XzXzXz.bXzXzXzXz.bXz.bXz N.b.^Xt.r.r.rXt.r eXt.^.^ N.^ lXz.^Xz.^ NXz NXz NXzXz NXzXz.b NXz.bXz NXzXz NXzXzXzXz.^.o.b.^ NXz N.XXxXk )Xk qXk q )Xk.^Xj.^XtXtXtXt.r.8.8.8.`X-XlXwXl 9Xm.E.=.BXvXFXF * *Xv G.N.=.j.-XXXX.8.~X- 3.8.e aX- 3.~X-X1 R.~X-XD.eX-X-X- R 3 R.~.Z 3 R R R.aX- hXM k.1XO = M & zX>X>XeX, 3XIXD.u.a.a R <.a.M.W.s...4 +X:.YX7XKXBXr.jX7 X* 3Xt.k.r.rXtXtXt.r.kXz.b.o _.b.b.b.b _.b.o.o.o _.o.U.U.c.cXz.b.b.b.bXz.^ e.r eXjXt e ~ eXtXj.^.b.b.b _.b.# iXz.^.^.^.b.bXzXzXz _ _Xz.b _.b.bXz.b.^.^XjXjXj.z d.r eXtXz N l.b.oXgXgXgXk.c N.^ N.k.oXgXg.oXzXz.b.b.bXz _.b.bXzXzXzXz.U.o _ _.b _ _ _.b _.b.b.b.b _.bXz _.b _ _ _.b _.bXj e e.r l.b.o _XzXzXz _Xz.b _Xz _.b.^.b.b.UX&.(X&.(X P X Z X f NXXXkX- 3 sXL.N O.WXD.Z.Z <Xs u 9.jXU.>XJ c c : T.H 3.`.`X-.ZXs xXl UXlXL 2 O b 0 O.s.s.s.N.=.sXG.N",
-".K.kX*.kXVX* ~.r.rX*.r.r.r.rX*Xt.rX*Xt.r e.rXt N.k.`.`XIX1 gXO.9XK.G =.1Xc `.- ` h 3 < aX-.e B.MXXXM # #.i #XMXq yXG JXCXaXa R a c.eX- c.KXIXD 3 # c RXMXlXM D $ : ` T D $ 5.] D #X5.K.K 3.8 3.eX-X-X- R 3.~X-.e.eX-.eX-X- 3XD 3X1X- a.a 3X*.e.aX-X-.`X-X-XIX-X- 8.wXa gXU.n.ZXaX5.n.0 s.0.n s.w.' D T.D.`.`.`XV.k ~ N N ) ( ] ] ]./.A.kXg )Xk.X.t.t.&.X.Q.R.zXgXkXk.cXgXgXkXg.cXgXgXgXgXg.c.c.o.V.VXg.cXg.VXg.oXg _.U.bXz.b.b.bXz.b.bXz.bXz.bXz N.b N.^XjXt.r.rXt.r.r.k.^ N.^.^XkXz.^.b.^XzXz NXzXz N NXz.bXzXzXzXz.^XzXz.^.bXz.^ NXzXz.^.oXz NXz.^ N N N N N N N N N N N N N.^.^.^XjXj.r.8.8.8.` RXV.ZXP o.jXC.v.= * u.d.) * *.WXs.W.j : #XMX* 3X1X-.`X,.`.a.aX-.eX-.eX-X-.~X1X- a R.u m )Xl $ 3 $XD.9.a.aXMXX k.3XZ.>XZ.TXZ.+.+ y.9.' m ` :Xc.u aX-.~ R 8Xs...@X:.T.T.1.1X%X<.Y 1 3.a ~X*Xt.rXt eXtXt e.^.b.b.b _.b _.b.b.b.bXzXz.bXz.o.#.cXg l.b.b.b.b.^.b.b.rXt.r.r ~ ~.r.rXtXt.k N.b N.b _.I d.^.^ e.r.^Xz.b.bXzXz _Xz _Xz.b _.bXzXjXj e e.r.r.r.^.r e.X.^ l.o.b.b.b.b N NXt.r.r.r.^.bXz _ _.b.o _ _.b _.b _ _.b _Xz.U.bXzXg.c.cXg.V.bXz _Xz _Xz.b _Xz.bXz _XzXzXz _XzXj eXj.rXg.^XzXz _ _ _XzXz _Xz.bXzXz.b.oXz.bXg.c.b.X.X l l.c.oXxXoX9XX.8.`XD s O O.= sX1 R t C *XL.N gXU m.].| `.%.uXD.8.`.`X1 B B a aXM v s s.W.wXG vXm /.=.s O.E.M",
-" q q V qX* ~XtX*.r.r.r.rX*.rXtXt.rXt.rXt.rXtXt NXt.8.`.` gX..' v s.O K., ` # h ` aX- a 3.a a R.~ a.i # c # #.lXcX+XL HXm bXKX,.uXl.eX- 3 cX3XX DX5 VX-.e 3XD.e a.~.~.eXI.u cX1Xl.8X*XX.5.8XI.8X-.~ a.e.e 3 a.~.a.~X1XI.eXD cXV.}X- a a.a 3 cX-.`X-X- RX-X-.aX-X-.e.w.w.0.'.w.DXs.Z s.nXa.n s.n.w.nXl.0 DX5X1.5 ~XoXk 5 I QX@ )Xx.k.k ~ ~.tX@ AXtXg.X.X.XXoXk.XXg.z.cXgXgXg.o lXgXg.U.c.V.c.c.c.c.V.cXgXg.o.V.oXg.bXz.U.b.b.b.bXz.bXz.b.bXzXzXzXz.bXz N.^Xt.rXt.rXt.r.rXj.^ N N.^Xk.^.^Xz.b NXz.^Xz NXz.b.bXzXzXzXzXzXzXz NXz.b NXzXzXzXz.^.bXzXzXzXzXz NXz N.^.^Xz N.^.^.^ N.b.^.b.b N.^Xj.r.8.8 ~.~ ( T.9XO 9 oXi /X= *.)XqXs G.N.N x nXM.l c c 3X1X, 3.~XIX,.KXDXVXIXDX1X- 3X-XIX1XI cXJ m.,.2 kXcXJXJXKX3 k., K K KX0.+.1.+.xXpXn x $ R.u x 3.}X- 3.KXD.wXsXn.@X: M.<XpXpXq.YXBXM 3 3.8 ~Xt.rXt.rXtXjXjXz.o.b _.b _.b.b _.b _.b _ _ _.o.U.UXg.o.b.b.b.b.b.b.k.r.rXt ~ ~.` ~.8.r.rXt.^XzXzXz.b N.c.b eXt eXj.bXz.b.b _ _Xz.b _Xz.b _.b.^.^ e.rXjXj eXt eXj e.^Xk.b.b.b.b.b.^Xj eXt eXt.b.b _.o.b _ _.b.bXz _ _.bXz _.b.V.I.c.c.o.c.cXg.c.o.b.VXzXz _XzXz _XzXz _Xz _XzXzXz.^Xz eXt.b.^.b.b _XzXz _ _Xz _.b _.b _.bXz.b.bXg.b.b.^.o.UXg l.b.5 N.8.k.8 3 8 s OXaXs C t t.*.*Xa.=.M R.ZX5.] ` k.].|.0 5 '.R.eX1.8X-.KXIX,XD.e RXD C s v.=XL.'Xm $",
-"XVX*.r.rX*X*.r.rXtXtXtXtXt.r.r.r.r.r.rXt.rXtXj N.r.8.K V kXw.n s.9 [.YXK.}X-.a : : : : cXMXl cXM V c 3.lXM # k [ g.jXO o.w.w.ZXI 3X-.aX-X-.e.e.eX-X-.` c #.u c.K c.5 :.K 3.uXI.e #XVXVX- a.~.~X-X-X-Xl.`.e RX1 R 3 : $.`X- RX-X-.`X-.` 3.uX-X-X-.~X1X- RX-X- aX-XIX-XI.eX1 a RX,.e R t t.WXD.MXs.D.w $ T 4.|.`.5.H.H.r.u ~XV.rXt.r.r F.`.^.rXkX A dX@.t.t PX& fX& fX&.I X.(XgXgXgXgXg.c.c.V.c.c.c.V.V.V.VXg.c.oXz l.b.bXz.^Xz.b.b NXzXz NXz N.b.^XjXjXt.rXt.rXtXt.rXtXj.^.kXj.b eXt.^XzXz.^Xz NXz.bXz.bXzXz.^XzXzXzXzXz NXzXz.^XzXz.^.^.b.^Xz.^XzXzXz.b.b.b.b.b.bXz.bXz N.^XzXzXzXz.b NX*.r ~ 3.`XX.5.ZX, &.E 0 o ^...s J.E 9.OXZ.9 [X.XX.Z 3XIX3X5X1 RXl cXV R.uXI.HXI.8 3 3X-.~X-X-X- 3 R 3 3X-.a a.8.a #.5., k s n.+ H...s.W t.* t RX-X-X-X-.e R.`.e.D.W._ vX>X2 z WX2Xp.[XK.K.K.u.8.r.rXtXt.r e.^Xz N.b.b.b.b.b _.o.b.b.b _.bXzXz.oXg l l.b.^.b l.z.&.XXg.X.kXV.r.`.8.` ~.`.8.rXtXj.^.b.b.o l.IXj eXt ~.rXjXzXz.b _Xz _ _.b.bXz.b.bXz.^ eXgXj.r.rXtXtXt.rXg N.b.b N.b.^ e.rXt eXtXg.b.b.o.c.c.c.c.cXg.cXg.V.o.o.o.b.U.b _.b.V.o.o.o _Xz.b _.bXz _XzXzXzXzXzXz _Xz _Xz.^Xz.zXgXk.^.bXz _ _ _Xz _Xz _.b.bXzXz _.b.o.b.UXg.V.b.b.b.c.c.cXg l.r.` ~.`X1XD.9.s.w s.N < C u G 2XDX-X1 B.~.` R.`X-.`.~XoX5X1.`.~.8X-X1.e BX-X-.a.aX,XM.a tX- hX-",
-".r.r.rX* ~.rXt.r.r.r.r.r.rXt.rXt.rXtXtXt.rXt.k.KXt.rX3 D m n.YXn [.- :XM.aX- RXD.eXI.eX-X-.eX- a cXM # #XXX3 V.-XU n @ = gXw :Xl `Xl 3.aXI.e.~ aX-.e R.e.~XI.~X- ).`XXXI.~X-.K.5XV.`.~XIX-.`X-X-.~X-XIX3.] :XlXJ.] $XcXK.].e.eX-X-X- a R.u h.8.~X-X-X1 R R aX-.~ aX- R RX- 3 RX-XlXl R.*XDX,XD a 8XDXDXa.w.'.2.D BX1.`.8.8.r.`.8Xt ~Xt.r N.^XtXzXx N.RXxXx./.zXk.z.t.z.zXk.z.UXkXgXgXg l.U.c.oXg.V.c.c.cXg.cXgXg.c _ l.b.bXzXz.b.bXz.b.b.bXz.^XzXj e.r e.rXtXt.rXtXtXt.r e.k e.r.^ eXj.^Xz N.^.b.bXz NXz NXzXzXzXzXzXzXzXzXzXz.b.^ NXz.^.^.oXzXzXzXzXzXzXz.b.bXz.^Xz.^.bXzXzXz.bXzXz.^.b.^.^Xt.r.8.r.k.~X1X1.ZXL.s ^ ^.s.) y o vX;XS.,XHX..9 VXJ.,.]X. D mXJ.,XJXV RX-X-.e.e.eX- 3 a.~.e aXDX-X1.u.uX-.aX-.a #X5 kXc hXw & 0.sXe t R.aX-X-X- < < RX-.`X-X1XD c U vXGXnXf.x.pXn X, 3XI.` ~.r.r.rXt.rXj N.b.b.b.b.b _.b.o _.b.bXz.b.o _.o.o.cXg.b.b.o.b.X.t ).t q.$ 5 ) ).$.K IXV.`.8 ~.r.r.^ N.bXz _Xk eXtXjXj e e.^.b.b _Xz _.b _ _Xz.b.b.b.^.^.^ qXzXt e.r e.r.oXz.X.bXj e ~ ~ eXt.r.^.c.o _.V.cXg.c.c.c.V.VXzXz _.V _ _.#.o.VXgXg.b _XzXzXz _.bXz.b _.b _XzXz _Xz _Xz.b _XjXjXj.^.c.^.oXz _Xz.b.bXz.b _Xz _.b.b _Xz _.bXgXg _Xz.bXzXg.o.o.V.z eXj.` F 3.~XDXG.w.sXL.N.) ..s.W R.u BX5X1 cX-.8 3.u.8XVXV.H.~.8 3X-.HXIXI.8.a ~X-X-X-XIX1XI RX1",
-".rXt.r ~XtXt.r.rXtXjXtXtXtXtXt.r.rXt.k.r.rXt.^.K.8.K., kX..1 nXw =.[XB `.a.aX-.H.~X1X1.eXV.a.a 3XM.K `.-.- g gXm yXw.9 s $.*.aX- RX- 3.eX-.eX-.~ R.~X-.u.eXI 3 3X*X-X-.`.K c c.`X-.e 3.u.~X-.e.~X-.K.e c ` `Xl ).9.K T `XIX- a.~.e B RXV.u 3.~X-.~ R RX1.eX- a.aXI R.e.~X1X,.ZXc.e ` :Xc 1XcXJ hXD C.D.w.n.0XUXdX1XI.`.8.~.`.`.r e N NXj N.b.R A.z.z.zXx.f qX&.IXkXu dXkX .&.I.I.6./. .6.6Xg.V.c.V.c.c.c.VXg.VXgXz lXz.b.b.b.b.^.b.^.b.^.^.^XjXt.rXtXt.rXtXt.rXtXt.r.r.r.r.r ~XzXd.^.b N.bXz.b.^.bXzXzXzXz.^XzXzXz.bXz NXz.b.^ NXzXzXzXz.oXzXzXzXzXzXzXzXzXzXz _.b.b.bXz.bXzXzXzXz.b.b.^.kXt.r.r.HXt.H.8 R.a s JXCX0XpXLXcXKXcXw.G } V : $ h h c # $ $ c $X5 $X-XVX-.~X-.`X- a.8X1.e R.e.uX-.aX-X1X5X- a.a c.lX3XK $.Y.E v p u u RX-.e.a a a a t a BX-X-X,.M U U.WXf .XfX2.j.M cXV.8.8.r.rXjXtXtXt.^.b.b.b.bXz _ _.b _.b.b.b.bXz.b _.bXz.Q.b.o.X.b.X N.bXk.X.kXt c.rXVXV D.% ).`.` F ~.rXjXj.^.b.^Xg NXj ~.rXt.rXz.b.b _Xz.bXz _ _Xz _Xz.o NXz.k ~ e.rXtXt.rXt.b.^.b N e ~ F ~.r.r e.kXgXz.o.V.c.c.c.U.c.c _ _.c.V.c.c.c.#.c.cXg _ _XzXz _.o _Xz _XzXzXzXz.b.b.b _ _.b _XzXj e.b.XXkXz.o.^Xz _Xz _Xz _Xz _.b _Xz _XzXz.V.c.c.o _Xz.b.b.U.c.V.Q _.r.8 ~.8.8XI.}.9.)......X0 2XL `.K )XlXoX5 #X3 h.uXX cXJ.5.`XI.5 $ TXD., 3 ) cXXX5.~.uXV.].`.5",
-"X*.rX*.r.rXtXtXt.rXt.r.r.rXjX*XtXt.rXt.rXt.k N.^ 3.K qXc.,.,.jXH.1 kX3 xX, 3.DXVX-X-XI.u.a c.8XM.l XB V.jXc o sXa.n 9.Z.w R aX- aX-.a.a.eX-X-.e.~.~.e 3.eX1.~XI.r.~X- ~.uX*X- c.e.~X-.~ 3.eX-X-X-XM.eX- 3.` 3XI.e.eX-XD.eX-.eX- a R BX-XI 3 3X-X-.~.~X-.a.~X-X- aX1 aX-X- a.u : :Xl.9Xl :.9Xc 1.WXD tXD 8.w.'.0 g 'XIX1.`.H.`.8 ~.r N.o.b N.o.I.R.t.I.& PX .t.AXu.$.AX q d.&X d.&XuXuXuXu.UXg.c.c.c.cXgXg.c.c.oXzXg.b.bXz NXz.b.^.b.b.^.k e.r e.r eXt.r.r.r.rXt.rXtXtXt e.r.r N.k.^.b.^XzXz.bXzXz.^XzXzXz.bXzXzXzXzXzXzXz.^XzXzXz.^.^.^.bXzXz.^XzXzXz _.b.o.oXz.b.^Xz.^.bXz NXz.b.b N N.kXtXtXt.u.k.8.8X1 R xXU.j.j y.p.,XwXc : V., #XMXD.a aX-.e x T ' $XlXlX1X-.K.KX- R.~.~X- 3XI.e.eXIX-X-X- RX,XIXI a cX5X3 V.M.-XGX>Xr UX, $.eXMXD $ <.9 h R '.e $ 1 1.Y.M.wX4 .Xi.@ x h DXI.8 ~ 3XtXt.rXtXj.^ N.b.b.bXz.b _ _ _ _.o _.o _.b _.b.o Z.t X d Q.t.t f.| Q.H.8.8.u ~ 3XVX9.8.`.`.`.8.r.rXt.^.^.b q.U.k.^.r e e.^XzXz.b _ _ _Xz _Xz _.b.b.b.b.b.^ e.r.r.r.k.r NX*.^Xj.r F F F.r.rXtXzXg.b.o.c.c.c.c.c.c.c.c.c.V.c.c.c.c. .c.V.c _ _XzXz _.bXz.b _.b _Xz _.b.o.V.cXg _.b.bXjXj N.b.c.^.oXz _ _Xz.b.b.bXz.bXz.b _Xz.bXz.c.c.o _ _ _.bXzXg.c.V.#.c.^ e.8.8 ~.8XI.WXG %.sXiX= 2.s hXIX1.HXV.` 3 3.8.}.uXV cXD.`.u cX1 c.` h.8 #.8.r.r.~XVXI : 3.u",
-"Xt.r.rXt.r.rXt.r.rXtXt.rXj.^.^.^Xt eXt e e.^ N.k.r.8X3X3XM kX7XHX#.[.9 $.}X, $X. :XVXI.~XI 3X-XM #XB., y.'.w.wXL.n.D.' $ RX- RX5.e cX5XI.eX-.eX-X-.eXI.` aX-X-XI.~X-X-XVX*.e 3 3.~ a a RXIX- R.e c.`XV.a 3 3.K.a.` a aXV c RXl.e a.*.e x R 3.K.eXIX-X1.~XI.e R aXI aX-X- aXIXI.e 3.e.e.e aXD.a aXD.D RXD BX,.0.D '.!XPXPXP.].D.`.HXd N N.^.o.bXz _XzXgXkXgXk q qXgXxXgXk.zXkXg.cXg.cXg.cXg.cXg.c.cXg.c.V.c.cXgXg.bXz l.b.bXzXz.b.^.b.^XjXj eXt e eXtXt.rXtXtX*.r.r.r.r.rXtXt.r.r NXtXtXtXjXz.b.^.^XzXz.bXz.^XzXz.bXz.^Xz.b.bXzXz.^XzXz.^Xz.oXzXzXzXzXzXz _.o.cXgXg.b.bXgX9 N.^ N.XX9X9 N.^X9.k.kXo.k )XI.k.uXIXD.9 k : X3X3 kXX 1 ` 1 # kXc #XD a.a.a h., ' :X. :XH., I.aX-.e B B.~ 3.~ B aXIX-.` B 3X,.a.a 3.K : kX,.p.E.@ n t x.%.*.' k :.e.,.aX,.O R.Z.>., k t.- z 2XpX> h #.5.H.8.8.k.rXt.rXdXt.^.o.^.o.o _ _ _ _.b _ _.bXz.oXzXz.V.b.I.6.I.QXk A (.z.zXx F.`.`.kXVXt.u.8 F.`.`.` F.8 ~XtXt.^.bX@ l.oXj e e eXz.bXz _XzXz _ _ _.bXz _.bXz.b.^.b e eXjXj.^ e.X.rX*.r N.kXt F ~Xt.rXzXg _.V.c.c.c.U.c.c.c.c.c.c.c.V.c.U.#.c.UXg.o _ _ _ _ _.V.V.b _Xz _.o.V.c.c.V.c _Xz.bXj.k.b.XXk.^ _.bXz _ _XzXz _.bXz _.bXz.b _.b.c.c.o.o.c.b _.o.o.V.c.#Xg.bXt ~.8.8.8XIXD.D b.sXb %X= v aX- F.~ FX-.aX- a.}X-X*XK.%XV.3XI.8 a.~.8X-.e.aX-.`.~X-.`.~.`.~",
-".k.rXtXtXt.r.r.r.rXtXtXt.^ N N.^.^.^XzXz N.b.X N ~.8 q VX3XSXH [XHX# X,XeXJ.3XJ mX* 3 3X* a cXM xXcXUXGXe.nXsXD 8 8X,.e.~.}Xl.9Xl.]XcXI R.eX-.e a 3X-.e.e.e 3.`.e.K.` : a c :XMX,XIXDXlX-.aX1 cXl.e.~.`XI.5XI.8.e.`X- RXc `.,.9Xl .9X3 1XJ 3XJ 3 3XI 3X1X- RXIXD a.e.aX-.aX-.` 3X- RX- RXD 3 RX1.wX-X- a cXD.wXa.n.0 '.n.0 gX1.H.rXzXz.b.b.b _ _.b.c.cXg.zX@.AX@.fX@.6.f.UXg.cXg.c.c.cXgXg.c.c.c.c.c.c.c.c.cXg.bXzXg.b.bXz N.bXz.bXz e.r.r e.rXtXjXjXt.r.r.r.rX*Xt.rXt e.r ~.r.k.rXt.rXtXj.^XzXzXzXz NXzXzXz.b.^.b.b.oXg.oXz.^.^.^Xz.^Xz.bXzXzXz.^.b.b.oXg.cXg.bXk.b.tXk.& q.&X3 5./ q ) q.z 5 f 5 5.|.$XJ.5.% )XJXK `.,.GX#.S.3.3.SXHX#.[ $ # a <X-.a $ 3.Z.Z.a c 3.}.K RX-X-.~X- 3.e B B 3.a.e R.D.}X- 3 #X5XM IXe.YXG.s y.M 1 x.M $XDX,XDXc h $ $ x.D $ xXc.M xXpXn v.Y <.5 5.5.H cX*X*XkXx.r e.X.o.o.o.b _Xz _ _ _ _.b.b.o _.#.UXg.U. Xg.b.^ d N.R.zXo ~ ~.u ~XVXo.r.k.rXt.8.` F F.8.8.r.r.r N l.^.bXz e e e.^.b.bXz _Xz _XzXz.oXzXzXzXg.I.#.o e eXj.bXz.r.5Xt.r.r.` F.`.`.rXtXjXg.b _.c.c.c.V.c.V.U.c.U.c.V.c.c.c.c. .c.o.c.V _XzXz _.o.c.c.V.V.o.V.c.c.c.V.c.V.bXz.bXj e.^ N.c N.b _Xz _Xz.b.b.o.b _.o.o _Xz.b.o.c.c _.oXg _.b.b.V.V.c.U.U.o.^.r.r.8.8.8X1XI.n v 0.. vXL 8.`.`.`.~.`.e.-X*.K k.2 $ I.0 5.H c.`.8X-.`.`.`.`.~XI.r.8.`.`.`",
-".r.rXtXjXtXt.r eXt eXj.^.^.b.bXzXzXz.b.bXz.b N.^.r.`X*.S V k.[ |.S.%Xl.MXD.w.MXJ.,.~X-X-.e.aXM # `.-.j.w.wX, t C B RXD a a aXIXDXDXVX, B.e RXIX1XIX-X-XV 3XVXIX-X-.K.K.` c.K mXJXKXJ `XK : :X3Xc.]X-.e 3.~.` 3.KX-X-X-X-.K 1 $ 1.'.a :.9Xl : 3 c.~ 3X- 3X-X-X-XD.~ R a.~X-.` a 3X-X-.~ RX-XDXD RX,X, R RXIXD.e 8.D.wXaXaXaX5 gXd.HXd.^.^.oXz _Xz _.o l.cXk.U./X@.f.f.fX@.6.IXg.c.cXg.c.c.c.c.cXg.c.c.cXg.cXgXg.c.bXzXg _.bXzXz.b.^.b.^Xj eXtXjXj.^.^Xz.^XjXt.r.rXtXt.rXt.r.r.rXt NXtXt ~ eXjXzXzXzXzXzXzXz.^Xz.bXzXz.b.b.o.b.b.^.^Xz.^.^.^.bXz.^XzXz.b.VXgXg.V.o.c.oXkXk.zXx q./XxXkXkXk NXk.5Xk ).5 )X*X5.KX5.u `.2XJXc.G.>X.XH.>X;XHXHX;., x.l 3.e xXK $.a.Z 3 3Xl.a hX- c 3.eX-.~X5Xl T :.e.5X5 B 1 ` | c )Xc | V.}.jX4.s.W.M.aXI ` $.* aXD.a t.e a.*.*X,X,XD.M uXq.) J.wXK.` I.K I I q.|.$X@ fX@X@ N.b N.b.b.o.bXz.o.o.oXzXz.b i i. i.t.U.oXg.& fX .&.f ~ ~ F.k.k.A.k ~Xt ~ F F ~ F.8 F ~ ~Xj e l l.b.b.^ e.^Xz.b.b.bXzXz _Xz.b _ _.bXz.o.#.I.UXj.^Xz.bXjXj N.rXt.r.`.` F F e.r.^XgXz.o.U.c l.V.c.c.c.V l.V.U l l.c.c.I.U.c.c.V.V _ _.o.V.c.c.c.c.c.c.c.c.c.V.cXg.bXz.bXj.r eXj.X.b.b.b.b _Xz _.o _.b.oXgXg _.b _.o.cXg.oXgXg _.o.o.cXg.U.c.c.c.bXj ~.8 F.8.8.8 3 1.Y s o.'XDXD BXd TXV ) DX; ' ]Xl.HX-.`.`.r ~.kXo.`Xd.HXoXd.8.`.5.` N.HXt",
-".^Xt.^ N.^.^.^.^.^Xj.^Xz.b NXz N.bXz.b N.b.b.o N.k.`XtX3XM VXM.i $.} <.Z hX, $XD c aX-X-.} c #XM.-.-.9.w v.* B t.*.e 3 aX-X-.e aXI.aX-X-X-XD.eX-.e.e c.eX-.e.~.`XlXVXI 3.eXIXI cX1.a 3X-.a.aXI c.`X-.e 3.~.u.H 3.`X-.~X-X,.e.e a.e.*.e a.a.e a.e.~ 3.e 3X-X- RXD.e RX- aX-.`.e.8X1X- a B aX,.aXDXDXD R R $XI RXD R 'Xa.D.w ' T '.`XdXj N.bXz _ _ _.c.cXg.c.UXkXkXgXkXgXkXgXg.oXg.c.c.cXg.c.c.c.c.cXgXg.c.c.VXg.cXzXzXg.b.bXz NXz.bXzXz.^.^.^XzXz N.b.b.^XtXtXt.r.rXt.r ~.rXt e ~ N.r.r.rXjXjXz.^Xz.^XzXzXz.^XzXz N.b.^Xz.^XzXz.bXzXz.^Xz.^.oXzXzXz.b.VXgXg.o.o.b.oXg.oXgXz N.^ N N.^.^ N N.^ e ~.r.rXoX* ~.8.`.`XV., TXU T.0.! 9.! g y.9Xc kXM # h a.l., `XH., kXZ |.,XJ V.,XJ.e.e.]XX k D.0., D ` #X3.,XJ., kXHXH.- h.YXGXe.s U R aXc :XK :.- :XKXJXK :Xl :XD.}XD < vXL o.NXhXX (.0X9.5X9XkXxXxX9 qXt.X.b NXg.o.^.b.b.o.bXz.bXg.b.o.o.bXz.c.o.bXz.b.o.X.X.r.k.~.RXX.r q.KXt ~.k ~ ~.r.r.8 F.8 ~.rXt q l q.oXz.bXz.b.b.b.bXzXzXz _XzXz.b _.bXz.o.U.o.b.b.b eXj.r.b.r.r ~ F.` F.`.r.r.^.XXz lXgXg.V.V.c.U.V.V.U l.o.o.o.c.U.QXg.c.c.c.c.V.V.c.c.c.cXg.V.c.c.V.V.V.V.c.V _.b.b.rXjXjXj.b.b.o.c.cXg.o _Xz _ _Xg.c.c _Xz.bXg.c.o.o.c.o.oXgXg.c.V.U.U.o.UXkXzXt ~ F.8.8.8.`XV.0Xl.w.] RXDXI B.| T 4 'X5XIX1.D.5X5.`.8.r.`.rXx.H.H.`.H F.~XtXt.`.r F.r",
-".b.b.b.b NXzXz.bXzXzXz.b.bXz.b.b.bXz.b.bXz N.bX9Xt.8 )X3XMXX.l.}XI.M.a.}.Z hX,X, $ B.a c h.aXMXM.-Xw.'.wX, t RX-.a a.Z a.e.eX- aXD R aX- aX-.eX-X-X-.8 RX-.e : 3 c.`.H.eX1 aXIX,.e RXI a.~XD c a.~X-.eX1X-X-XX.8 3.`.~ aXV.aX-.e a RX- RXI.e.aX-XI 3.~XIXI.~.aXI RX-X-X-X-X-X-.a 3X- R.eXDXD.a.} x.Z cXc.YX3 : : mXJ sX,XD '.' g FXd e.bXz.bXz _ _.c.c.V.c.U.UXk.cXkXgXgXgXg.c.c.cXg.cXg.c.c.cXg.c.c.V.cXg.VXg.c.bXzXg.XXz.bXzXzXzXz.b.b.b N N NXz.^.^XjXt.r.r.r.rXt.r e.r.r.r.r N.rXt.r.^.^.bXz.^XzXz.b.^Xz.^XzXz.^Xz.^ NXzXz.^XzXzXz.^Xz.bXzXzXzXz.oXgXg.o.o _.oXg.cXg.o.bXz.^ N N N.b.^.^ eXtXt.k N.8.8.8XIX-XI.] gX5 sXaXa.nXaXaXaXlXG.,.9 x c a h aXXX3 1X3 `XK | #XIX-.a a.a #X1XIXD 3 `X, a 3 3.} 3 #X3XM., h.-.YXnXL._.MX-X3 : ` :.'.0.5Xl.ZXcXMXl.}X-X,Xe v.s H.sXl 1.H.HXI.8XVXV.rXt.r.rX*.^ N.b.b.bXg.o.b.b.b.b.b.b.oXz.oXg.b.U.oXz.o.^.X.b N.k.X FX* q.rXt.r ~.r ~.r ~.r.r ~.8 F ~.rXt.o.r.b.^.b.^.^.^ N.b.bXz.b.b _Xz.bXz.b _Xz _.b.b.b.^Xz e ~ e N.r e F.r.`.`.r.zXk.I.R.I i i.&.#.I. d d iX@. X .t./.I AX@.I dXg.c.c.c.c.c.c.V.c.c.V.c.c.c.c.c.c.V.V _Xz.b e eXjXj.^.b.b.c.c.c.c.bXz.oXg.c.c.c.o _ _Xg.V _.o.c _.o.cXg.c.o.U.UXg.cXkXgXjXt.r F ~.`.8.H.H.`X5.ZXlXw.OXc.SXD.uX-X-.`.`.8 3.8X-X-.`X-.~.8.8.uX* ` 5 ).2XV.`.`.~.8",
-".b.^Xz.bXzXz.bXz.b.bXz.bXzXzXz _Xz.b.b.b.b.b.b.b N 3.rX3.$X3XMXMX, 1XD < h.wX, R h 3XI a.a h 1XUXwXK.w.Z R a a.eX-.aX-.5 hX,XD R a a RX-XI.e a.e.e.}.`.~ c.u.KX1 3X-.e.~ BXIX,X-.eXI B 3XIX- a a.~.e 3.e.~X-.u #.eX-X-.e c.eX-X- a a.e hX-.e aXI.a.~ RXI aX1X- a.~ a.eX-XI.a RX, R a.M RX, tXDX1 #X, 3.uXK.Z x ` h.ZX1XsXl.n g.HXt.k.o.^.b _.b.V l.c.c.c.U.#.cXkXgXgXgXg.VXg.V.c.cXg.c.c.c.cXgXgXg.c.c.cXg.cXg.bXzXg _.bXz.b.bXz.bXz.b N.^.^XjXjXj e e.r eXt.rXt.r.rXt e.r.kX9 qXgX9 NXz.^XzXzXz.^XzXz.b NXzXzXzXzXzXzXz.bXz.^XzXzXzXz.^Xz.^Xz.^.b.oXg.V.o.oXz.o.V.o.o.o.b NXzXz.^.bXz.^.^Xj e.rXtXoXt FXIXd D.H : D.n TXa.DXsXa.ZXa s.'Xw.Y # # a.a # XMXc `.- ` x # # #.e.a a.8X- B B 3X- a a hXIX-X-XI xXM.- 1 h s.Y.sX>XD.a 3.aX-XIX1.~ BX-X-.e a aX- h h.MXe.) v &XH : ).u.HXVXV.^.H ~.uXtXk.XX9XkXg N.b.^.b.bXz.oXgXz.b.b.b.bXz.c.b.o.^.o.b.6.^Xt.z.K.rXtXt.rXtXtXtXt.r.rXtXt ~.8 F.8.r.r.XXj e eXjXj e e.^ NXz.b _Xz.b.b _XzXz _Xz.b.bXzXz.b.r eXj.k.b e ~ ~ ~ F F.rXx.I.f.tX X .&Xu.IX X&X&.& i.t.(./.t.tXu.( ZXu.t.c.c.c.c.V.c.c.c.c.cXg.V.c.c.c.c.c _.c.b.b.^ eXt e.^.^.b.bXg.V.V.c _ _.VXg.c.c.c _.o.VXg.o _.oXg _.o.c.c.V _.c.c.c.o.c.U.bXj e ~.`.r F F F.`XI.D x.>.1XG.Y 1 ' R.` F.~.u.`.` 3X1XI x ) :XJ D.5 I.K :.$X*.8.`X- ~",
-".o.bXzXz.b.b.b.bXzXzXzXzXzXzXzXz.b.b.b.o.b.b.b.XXjXt.8.a # V XM # x h a.ZX, $X, $ B.a c.} ` .- nXUXm.n $ tX-.aXIX-XXX3XKX5XcXl 1.9XKXlXJ $.e.~XIXIXI.eX-XV.KX-XV.e.~X-X1.eXD 3.eX- 3 a.u aX-X-X- a.~XI aX- 3 3XVX-X-X-X- R.8 aX-X- a RX1 R a.u.a aX- 3X1X- RX1 RXIXI 3 3 $.uX, $X5 3Xl.Z x h $ : xXD a t.}.a $X- a.a B R s sXUXo.rXd.b.b.b.b _.c.c.c.U.cXk.UXg.cXk.c.c.c.c.c.c.c.V.c.c.c.c.cXg.VXg.cXg.cXgXg.o.bXz l.X _ NXz.b.bXz N N.^.kXtXtXtXt.r.r e.rXtXtXt.r.rXt.r.r.^Xk.IXxXg.X.b.^XzXzXz.^Xz.bXzXzXz NXzXz.^Xz.^.^Xz NXz.^.^Xz.^.bXz.b.b.o.VXg.o.c.U.U.V.c.c.o.c.bXz.^XzXz.^.bXz.^.^ eXtXt.^.H ~.HXd.]XP g 4.OXU s s.*.* C 8.w s g.- x # <.}.lXXX3., n k.-.9 :.l.KXM.a a.`.a.}X-X- RX- a a.8 3 R B < h # V., 1XDXK v y sXMX5.5XMXI BX1 B.~.~.8.a a.}.aX- t U...=Xr.G 1 I 5.].k 5.`X@ ) (.r.AX9.6X@./.6X@./.t.&XgXz.b.b N.o.b.b.b.UXz.o.cXu.^ q./ ~.8Xt.r.r.r e ~.rXj F.r.r.rXt.r ~ ~.8 ~.r N N./Xg.r.r.r eXjXj.^.^.bXz _.b _.b _.bXzXzXz.o.bXz e eXj.X.XXt ~ ~ F F ~ F.k.k.X N.z q.I./.U.IXk.U.I.#.I.z.#.#.# l.#.I.c.c.c.c.c.c.c.c.c.c.VXg.c.c.c.VXg.c.c.c.c.bXz.^.^ eXjXg.b.o.o.cXg.c.c _ _Xg.c.VXg.c.bXg.c.c _ _.cXgXzXgXg.V.oXz.c.c.cXg.V.UXkXzXj.r ~.`.8 ~.`.H FXl.W._XnXF.s.sXn.DX-.~.~Xd.e }.] kXc mXK.0 : 3.` 3.` a 3.~X-.`.8XI",
-"Xg.bXzXz NXzXzXzXz.b.b _XzXz _.bXzXzXzXz.bXz.bXg N.r.rX-.aX*XJXM #X, ` t.}.wX, 1.M.a.aX, $ 1 V nXwXU s.nX, R 3X, 3X1XD.e # cXD RX5XI $ :XD.a.a a.eX1.`X-X-X-.` 3X-X-.~X-.e RX1 cX1.e RX1 3XIX- a.~ a.e.aX-X-X-X-X- c aX-X- c R.~ R BX,X- 3.eXIXDX-.eX-X, RX-X- RX-X-X-XDXV 3X- 3 :XcXK.,.-XKXJXK 1.,.9X,XD.Z $.aX-X- aX, R.'.n.0Xx.H.k N.oXz.b _.cXg.c.c.c.U.#Xg.cXgXg.c.c.c.c.c.c.c.c.c.cXg.c.c.V.c.c.c.c.cXg _.bXzXg _ NXzXz.^Xz.b.b.^.k.rXtXtXt.r eXt.rXt.r.r.rXtXt e.r.r.r.r.^.r eXj.^XzXz.^XzXz.^XzXz N.^XzXzXzXzXz.bXzXz.^Xz.^XzXz.^.o.b.o.o.o.o.oXg.U. i i i.#.c.o.oXzXz.b.^.bXz.^XzXzXj.rXt N.r.H.`.HX5.H.HXl g : R B tX- B R.w.n yXJXM # # # #XB.,XJXwXUXc.-Xw VXM X* a a.`X-.~.eXI.~ a.aX-.uXVX1X-.} #.l., | x x.Y.E.Y $ # 3.u.8.`.~.`.`.a.`XI 3XDXD R t UXs.s.sXw 3.3Xx.| qXx.u Q ).f.r.&.A ,.f.& Z.(Xu.tXu.c.b.o N.b.b N.b.b.#.c. XzX .IXz.^Xj ~.rXtXj.r.rXtXt ~Xt.r ~.rXtXt ~ ~ ~ F ~ NXjXgXjXtXj e.r e.r e.^.b.bXzXz _Xz _.b.o.U.^Xz.oXjXjXjXz.XXg.r.r ~ F.r.K ~Xt.k N N.$.&.A././X XuX X .AXuXu./.cXk.U.U.#.U.U.c.c.c.c.c.c.V.c.V.V.V.VXg.V.c.c.V.cXg _ _Xj l e.^.c.b.b.V.UXg.c.c.o.oXg.c.c.c.o _.c.c.c.b _.c.cXzXg.V.o _Xz.c.c.V.cXg.o.U.cXj eXt.r ~.`.r.`.] ` v.sXbX4.xX=.v.Y.nX5.Z xXl.9Xh nXU s.N t tXIXI.`.`X-XI.K.~XIX-.`",
-"XgXz.bXzXzXz.b.bXzXz NXz.bXz.bXz.b.b.b.b _.b.b.b.XXt.r.`.8.aXXXKXMXDXM h.M hXl $.M 3.aXl.lXMX7XH.-.'.n s.Z $XIX-X- a 3 R a a a t a aX-.a.e R BX-X1 3 RX-.~X-X- 3.e.~.~.e R.e : :.0X5Xl : ` : :XlX- aX-.aX-X- a RX-XIX1X-.uXI.~X-X-X, 3 $ x cXl : #X5 c $.~X- R.~ B.` B.u #.e.`X1 c t a.'.ZXD a tX,X, RXK.* R a a a.aXDXD.M.w '.! ( F.kX9 N.o N.bXg lXg.c.cXk.#Xg.c.c.c.c.cXg.c.c.c.c.c.cXg.cXgXg.c.c.VXg.c.cXg.o.bXz.o.oXzXz.b.b N.X.b.r.r.rXt.rXt.r.r.r.r.r.r.r.r.r.r.r.r eXt.r NXtXt.rXz N.^XzXz NXzXz NXzXzXz.^.^.^Xz.^ N.bXzXzXzXzXz.^.o.o.c.o.oXg.VXg.c.U.U.c.U.c.c.o.o.b.^XzXz.^Xz.b.bXz.^ eXt N.r F.`.HX1XIXI.HXJ $X1.eX-.e R B.D xXK.jXc # #XM #XKXw y.' y.j gXw., ` : hX- aXI aX-.eX-X- a R.8.`.~.D a.a hXM V k VX,X+ yXcXD R.aX-.`.`.`X1.`.~X*XM.~.Z.a R R < pX= .XK R.u.8.rXV.u.rX*Xd.kXt.kXj.bXgXg N.bXg.b.o.bXzXz.o.o.b.oXgXg.I.tX .b.o.o NXg NXt.rXjXjXt e.r eXt.rXtXtXt.r.rXt.r ~.8.8 N F.rXjXt e.rXt.rXjXtXj.b.bXz.b _.bXz.b _.VXz.oXz eXjXz.^.b N.rXt F F ~.^.rX*.K 5X9.z q.$.z.$X3./.$ q.$./.$.cXkXgXg.U.U.c.c.c.c.c.c.c _ _ _ _ _Xz _ _.V.c.c.c.c.V.b.b.^.#.z.U.UXgXgXg.c.c.cXg _.o.c.c.c.V.b.o.c.c.o _.V.cXgXz.V.cXg.VXz.#.VXg.V.c.c.c lXg.^ eXt.r.r.r.HX1X,XGXp M.; S.sX=.@ ^ 0Xn ^.hX>..Xb 2X4 v.9 sXl.9XMXD 3XDXJX3.K D 5",
-" lXz NXz.bXz.b.b NXz.bXz.bXz.bXzXz.b.b.bXz.b.b.o N.X.r.`.8XI.u VXX xXD 1X,.9XqXD RXD h 1 ` [X..j 9 s s.w B.eX-.e BXDX- a B.eXD aX-.e R 3 RX- 3XD R.e.eX-.e 3.~.~X-X-.e R.~ 3Xl R 3 `XK c D c `XDX- aX- aX-X-X-.a.~ 3X-.uX-.eX- B 3 xXlXJX,Xc :XlX5 DXM :.e.eX1X-X, 3.u 3.a a.- `XKXDXc.-Xw.-XK kX..9.e.a t R R R.} R.aXDXa s g '.8Xt.k.^ N.o.o l.U l.cXg.U.z.c.c.c.c.c.c.c.c.c.c.c.cXg.cXg.cXgXgXg.cXgXgXg.cXg.bXzXg.XXzXz.b.b.bX@XkXx )Xx.5XXX9X9Xx.` F.k ~.rXt e.r.r e.r e.r.^Xt.r.r.^XzXzXzXz.^XzXzXzXzXz.^XzXzXzXzXzXzXzXzXzXzXz.b.bXg.oXgXg.cXgXg.VXgXg.c.VXg.o.oXg.o.bXzXzXzXzXzXz.^Xz.^.^.^.k.r.r.r.8.8.HX-XI.]X5XI R.~ a B.*XD.w s mXc 1 x XK.- !.! v.n s.'.! k : h aX-.}X-.e RX-.~ R.e.u.`.~XD c cXM XX.,., hXp y.9Xw.9XlXl : #X5.5.k `.5 :X5 :.Z R.a <Xe 2 0 a.K.8 ~.HXtXtXtXtXt.rXt.^ N N.bXg.o.bXz.b.o.o.o.b N.bXz./.U l.I.b.b.o.b.b.X.bXjXj N.^.^Xt e.rXt e.r.rXtXt.rXtXt.r ~.`.k.rX9.oXt.rXtXt.r e.rXj.b.bXzXz.bXzXz _XzXz.b.bXj e.^.^.^Xd.kXtXt.8 F ~X*.r.rX9X .f.f.A.f.A } 5.$ |.A.A.f.A.A.f.I.U.U.#.c.V.c.V.c.V.V _ _Xz _Xz _Xz _.c.cXg.c.VXg.o _Xj e.r.oXk.cXk.U.c.c.c.c _.o.cXgXg.o _.V.cXg.V _Xg.c.VXz.c.c.VXg _. .VXgXg.V.o.V.c.c.c.oXt eXj.r.u.k 3.2.1 M.+.s 0 0.4 /XiXb.;Xb -XbX=Xb.).s H.Y.> Xl.] : P T Y 5 D.]",
-"Xg N.bXz NXz.bXz.b.bXz.bXz.b.b.b.^.b.b.b.b.b.bXg.U.XXt.rXI 3 3XlX3X3.}.-XJ.9 kXD xX.Xh.3 .Y.-.,.j.nXUXm.ZXl xXD x $ $Xl x 3XDXK.u R x ` $ R.Z.~.eX-.~X-X-X-.`.a.eX-.e.~.e.a 3XV R.e.eXI B 3X1 R 3.~ a.~ R aX-.aX-X-XD.~ #X-X-.~.eX-.eX-XD.e RX- a aX, R.eX1X-.eX-XD.H aX-XI.e : x : t.Z.9 : 1.Z $XJ $.*XDXDXD a.aXI RXDXs s.0 ! 4Xx.A.XXgXk.zX@Xg.^Xg.c.U.U.#Xg.c.c.c.cXgXgXg.cXg.c.c.c.c.c.c.c.VXg.c.VXgXg.cXg.bXzXg.o.bXz N.b.X.R.R.$ ) q ( 5 (.$.X.5 F.rXtXt.r.rXt.r.r.r.r.r.kXt.r e.^Xz.^XzXzXzXz NXz NXzXzXz NXzXzXzXzXz.^Xz.^Xz.o.bXg.oXg.b.o.cXg.o.o.o.o.o.o.o.o.o.o.bXzXz.^Xz.^.^.b.^Xz.X.^.X e.r ~.8.8.`.8.` T :.Z B B RX-X- a.w.Z yXwXc y gXwXw ! v sXaXLXL.9XwXKXM # R.e 3X-X- 3X-.~ R.`XV.HX-.8 : .lXM `., | #XnXw v y.9 x $ c c 3Xl.8 3.u.u $ BXV 3Xe._.@Xn y :.5 ~.8.rXdXV.rXt.r.rXtXt.^Xz.X.b.b.oXgXzXzXz.o.b.o.tX9.I i.U.b.o N.b.b.b.b.X.^ e.b.b.b.^Xt e.rXt.rXtXt e.rXt.rXt F ~X*.`.o q.XXt.r e.rXt.rXj.^Xz.^.bXz.b _Xz.o.b.bXzXjXz.b.^ eXt.^.rXt.8 ~ ~X*.rX*Xk )X3Xk././ 5 q.$.z.$./ 5././X@./.U l.U.c.V.c.c.c.c.c.V.bXzXz _ _ _Xz _.V.c.V.c.cXg _.^Xz e e.b.#.c.c.c.cXg.c.V _.V.c.V.c.V.o.V.c.UXg _.c.cXg _XgXg.c.c.o.#.V.c.c.c.c.c.V.c.#.#.c.o.^ ~.r.R ( T.0 xXK bXLXG J.EXn M.;.s.vXf.v.v 2X=XZXe gX3X. `.u :.uXVXIX1Xd",
-" lXz.bXz.bXz N.bXz N.b.b N.b NXzXz.b _.b.b.b.oXg.(.z.z.kX9X9XJ #XJXM x h.- nXK.M.'.,XK.,.-XMXB n n.'Xm.0 xXGX,XK.0.9 : : x c $X3 :XIX3 :X, R.e.e R B aX-X-.e 3XI R.eX-.eX-XV.e.Z RX1 RXI 3XDXDX-.aX-.~ aX-X- R aX-XIX1.~.uX-X-X-X-.e.~.e 3.~ 3.a.e.eXD.eX- a.eXIXIXDXI R.e a.eX-.e.* RXDXD.a c.ZXD $XDX,X, R aXIXDX,X,X,.W.0 9XU.'.z.AX .A.A dX@ ZXg.c.cXgXg.I.c.c.c.c.c.c.cXgXg.c.c.cXgXgXgXg.c.c.V.cXg.c.c.cXg.bXz.o.XXzXz.bXz.X.^XtXo.5X9 cXx c.r.r.r ~.rXt ~.rXt.r e.r e.r.r.KXt.rXt.^XzXzXzXzXzXzXzXzXzXzXzXzXz.bXz NXzXzXzXz.^.b.b.oXg.o.o _.o.o.oXg.VXgXg.cXg.o.oXg.o.oXzXzXzXzXzXzXz.b.b.^.bXk.kXtXt ~ ~XVXI.`X5 g.Z B.*.e B B.*.DXl 'XwXwXw gXmXUXU.n b 8XaXa oX..- : x t RX- a.e R.~X-XI 3 c.eX1XD.l ` k V.- [.S x uX+ vXe v.9Xe.M.a R.a cX- R RXI.eXI.~XD < UX=.@ 1 <X*.8.r.r.r.r.rXtXt e.r.r.k N.b N.b.^.b.X.oXgXz.z.o i.c.^.^.U N N.b.bXz.X.bXgXz eXz.b.b.^ eXt e e.r eXtXtXt eXt.r 3 ~.r F.r.r ~XtXt.rXtXtXt e.^.b _Xz _XzXz.bXz.b.b.o.bXz.^ e e.^.kXt.r.8.rXt.rXtXk.$XgXk qXk VXk q.&./ qXk.z q.IXk.z.U.U.#.U.c.c.c.c.c.c.V.V.V _ _Xz _Xz _.c.c.cXg.cXg.oXzXj e.^.o./.c.VXg _.c.c.o _.V.c.c.c.c.V.c.c.c.c _.V.c.c _.V.V.c.c.c.IXgXgXg.VXg.c.V.V.V.U. .c.# A d Q.f.kXI.HX1Xl v s vXLXn y.;.; 2X0 O.B.= H JXG.j y 1X1X5 IX5XxXx.H.8",
-" lXz.b.b.bXz.b.b.b.bXz N.bXz.b.bXz.b.bXz.b _.b.o.I.&.$.A.$ q., 5 VX3 ` # 1X,X,.'.a.-XlX, `XBXM.- nXU.Y v R a.e R R R 8X1 a a.e a.e.e R.eX-.e.e.a.e.e a.a.e hXI h.e aX- a.~ 3.e.8XVX-.~ c 3 : c.a.~ aX- aX-X- R aX-X- x ` :.~X-X-.~ R R.e 3.eX, a DX. m.-X1X-.~X-X1 c aX- a.3 1 a.M aXDX,.a.ZX,X,XJ K TXD BXD.aXDX,X,.DX,.w.0.'XU.uXo.5.zXk.IXk l.IXj.bXg.c.U.UXg.U.c.c.U.cXgXg.cXg.cXg.cXg.VXg.c.c.c.cXg.c.c.cXgXz.bXgXgXz.bXz.bXz.^.rXd : ).K 5X*X*.r.r.k.r eXt.rXt.r.r.rXt.r.r.^XtXt.rXj NXzXzXzXzXzXzXzXz.^XzXzXzXz NXz.^ N.^XzXz.b.o.oXg.o.c.o.o.oXg.VXg.V.o.V.o.o.oXg.V.o.o.^XzXzXzXzXzXzXz.b.X.X.^.r.k ~ ~.`XVX-XIXJ $ 8 8 B B.* B R $.wXlXP.n v s 'Xm '.w tXD.n.'Xh m |XJ ` :XJ c : c.~X- 3.5X- RX- c # ` 1Xc XB.[X+ xXrX+ .X4 v.sXe UXe.i.a.a aXDX, R RX1XI <XeXbXnXn a.u.8X*XtXt.rXtXt.r.r.rXtXjXt.^ N.o N.o.XXzXg NX i.o N.o NXk NXz N.^.^.^.b _ _XdXjXzXz.^Xj eXt.r.rXtXt.rXt.rXtXt.r.8.r.8 ~XtXjXtXtXt.r.rXt eXjXz.^.oXz.b _.o.#.# l.c.o.^ e e e.^.^.r.r FXt eXtXt.I q.f./.(X .tX Xg./X@X .A.t.A.t.&.t.t.6.6.cXg.c.c.c.c.c.c.c.V.c _ _Xz.VXg.c.c.cXg.c.b _.o e e.^.b. .cXgXg _.c.V.o _.c.c.c.c.c.c.V.cXg.V _.c.c.c _.c.V.c.c.c.#Xg.c.c.o.V.U.c.c.c.#.7.t.7X .t lXd.rXt.r 3.8XIXI R $ T !XU 9.v O / 2 JX0.vXn 0.s.YXD :.AXJ 5.K.~ ~",
-" lXz.bXz.bXzXz.b NXz NXz.bXz.b.b.b.b.b.b _.b.b.bXgXg.X q ) 3.r.} aX3 x.Z U $.Z R c x.a.- 1Xw.j g v $ 8 t R 8 B 8XDX-X- RX-X- aXI R.eX-X-.e R R.~ aXI m K | 6 3.e.~.e 3.e.aX-.HX- $XN m.G.%X-X-X-.e a a RX-X- R cXN.,.uX1.~.~X-.e.~ R.MXD.a T 1XN : a a.~X-.Z R.eX- aXN.aX- aX1X,X,XDXDXD 3 xX$ $.ZX,X,X,.aXDX,XDXD s.9.'XO.H.rXjX*.b N.o.b.bXz _Xz.c l.U.c.c.c.c.c.c.c.c.cXg.c.c.c.V.c.c.c.cXgXg.c.c.cXg.V.bXzXg.X.bXz.b N.b.^.r.r N.KX*X*.k.rXtXtXj.^.rXt.r.r.r.rXt.rXt.r.kXt.rXt e.^.^.^XzXz NXzXz.^XzXz.^.^XzXzXzXzXzXz.^Xz.b.o.o.c.o.cXgXgXg.VXg.o.VXg.o.V.oXg.oXg.o.VXzXzXzXzXzXzXz.^ A.b.z.XXoXd.k F D.HXV m @.n B B a.~X-.~X-XD.w x.!.n.wXa s '.wXD BXs.n.'.3., k., $ x # # : hX1XI 3XI B t 3 # # ` h Xe._XqX7XpX4X>.<.@ . %XnX4 [ yXr.w.MXD a 3X-XVX-.M u.s ^X+ aX* ~Xt.r.u.rXtXtXt eXt eXtXj.k.^ N.o.^.^.b.tXkXg.UXg.b NXgXkXj.rXt ~ e e.b.b.VXz e.^.b.b.^Xj.r e.rXtXtXtXtXt.r.r.r.8.r FXt.zXkXj.r.rXtXtXt eXt.b.bXz.bXzXzXzXz.U.UXg.^ eXjXd.^ NXtXt e.r.r.rXtXj.X NXgXgXk.zXk.z l.UXg.I.U.z q.z.z.U q.U.I.c.c.c.c.c.c.c.c.c.c.c _Xz _.V.cXg.V.c.cXg _XzXz e e.b.o. Xg.c.c _Xg.V.V.V.c.c.c.c.c.cXg.c.V.c.o.c.cXg _.V.cXg.c.c.U.c.c.c.c.c.#.#.U.cXgX&X X .I.UXg.^ eXt.rXt.k.r.uX9 qXM TXD.Z.'.' bXG 0 J JX> b v o.9X5 `X5.a.u 3X-",
-" l.b.bXz.bXz.bXz.bXz.bXz.b.b.b.b.b.b.bXz.b.b.b.b.b.o.X.XXV.r cX-.a V x ` $ 1.}.Z 1XDX,.Z 3XM.YXBXw.[Xw x xXD aX,.Z.wX,XD.e.`.}XIX- 3X-.~X-.eX1 R.a aX-.a.} cXN.e.G : a RX-XI a.` R R 3XI K : c KXIX1X-.~.e BX- R.a BXK.% KXV 3X- R.eX-.eXD.u.e R.e., K B R.~.aX-XDX-X1 a RXN <.a.MX,X,XDX, 3XD RXlXNXIXI.eX5XDXIXDX, 8 $ 'Xl T T.8XdXt.o N.b.b.b.b.o.bXz.o.c.# l.cXg.c.c.c.cXg.c.c.cXgXg.cXg.cXg.c.c.V.cXg.c.VXg.b.b.oXgXz N.b.bXz.^ eXt.rXVX*.rX*.r.r.rXk.I.6.r.rXt.r.r.rXt.r.r.KXt.r.r e.^XzXzXzXz.bXzXzXz.^XzXzXzXzXzXzXzXzXzXz.b.o.o.o.cXgXgXg.V.VXg.VXgXgXg.VXgXg.VXg.VXgXg _XzXzXzXzXzXz.^XuXx.t.R Q.R P g.2.RXy Y.G.ZX1 BX- aX-.e.e.* R 8.Z.Z 8 R.D.ZXDXD.*.Z.nXKXwXX # c.*X-.a.e.e.eX-XV.`.~ aXD.i #XX ` 1 x U .Xq .Xn.F ..J.C.{Xf.x.x.+.+X% = = y.,XJ.8XIX-.a p.v...YX, c ~.r.rXtXtXtXt.r.k.rXt.r.^.^.k N.X.r ~ ~./.I.b.oXz.b.bX9.b.r ~ ~ F ~XjXz _ _ _XzXzXz.b.bXjXt eXt.rXtXt.r e.rXtXt.rXV ~ ~.rXt eXt.r.r.r eXt e.b.bXzXz _Xz eXzXg.c.b e eXd.b.b.bXdXtXtXt.r eXj.^.b.b.bXg.UXg lXg.c.c.c.c.c.c.cXgXkXg.cXg.#.c.c.V.c.c.c.c.c.U.c _ _Xz _.V.c.VXg.c.o.V.oXzXjXj e.o l.IXg.c.V _.c.c.c.c.c.c.c.c.c.c.c.c.c.c.V.c.c.V _.c.V.VXg.c.#Xg.o.cXg.c.#.U.cXg.c.I.U.o.U.c.#.X e.rX* ~Xo 5 ) PX9.rX* 3.` RX1.Z h.Z 1.ZXsXG b s.Z.'.9 s.Z s T x",
-".U.b.bXz.b.^.b.b.bXz.bXz.b.b.b.b.b.b.bXz.b.bXz.b.o.^XkXg.k ~XV.`.a ` VXM x c.Z.w.u R $.Z ` ` XBXwXH.YXlXe h x.w s.n 1XD.}X-.8 3X1XI R.D.w $.w $.Z.MXD t #XN.3XN ` 3 3.eXI.` RX1XI.~X1 K.3X$ $ 3X1.e R aX- aX- R RX#XcXN ` RXI R.e a.~X,.a a R hXN $X-.a B.e RXI R.e t RXNX,XD.ZX,XD 3 R.DXIXDXlXNX1.e #.~X,.a.a R BXl '.nXJ $.rXt.b.^.b.o N.oXg.b.b.VXz.c. .o.c.c.c.cXk.c.c.c.cXg.V.cXg.c.c.c.c.cXg.cXgXgXg.c.bXzXg.oXzXzXzXz.b N e.rXtXt.rXtX*.rXt.rXz.6.^ eXt.r.rXt.r.r.r.r.^.k.rXt.r N.^Xz.^XzXzXz.^XzXz.b N.bXzXz.^XzXzXz.^.bXgXg.o.cXgXgXgXg.oXg.c.o.VXg.o.V.c.V.oXg.V.c _.bXzXzXz.b.bXz.I A.t.R 5XxXxXx (Xx 'XJ (X,.*X-X-X-.e $ $XD.' RXl.w RXDX, h 3X, R.D.n.]Xw ` 1XM.a x hX,XI :XM 3X5 3 xXD `XM.[ VXp h E.m E vXqXp p..XAXf.;X8X> W MX>X>Xe.wXl h 3X- R <.d.).sX> h c.8.rXtXt.r.rXt.rXt.r.k.rXt.k N N.K.r.^ FXt.X e eXz.b.b NXk ~Xt F F ~ NXz _Xz _XzXz.^.bXzXj.r eXt eXt.r eXt.r e.r ~ ~ F.8 F F.8.r.rXt.rXtXt e.bXz.bXz e e.^.bXg.bXzXjXjXzXzXo.bXd.r e.r.rXjXj.^.bXzXgXg.cXgXg.c.c.c.c.V.U.cXg.c.c.c.c.c. .c.c.c.c.c.c.c.c.c.V _Xz _.o.cXgXg.o.V.c.oXzXzXz l.b l l.#.c.cXg.V.c.c.c.c.c.V.c.c.c.c.c.c.c.c.c.cXg.V _.cXg.V.c.U.U.c.V.c.V.V.cXg.V.c.c./Xg.cXg.UXg.zXjXt.^Xk.A.& qX*.rXt.K.r ~.8.8.8.8.8X1XIX1X1.D '.wXG.OXD.' 1.' s",
-"Xg.b.oXzXz.bXz.bXz.^Xz.bXz.^Xz.b.b.bXz.b.b.bXz.o.b.bXgXg N ~.^X-.` #X3XMXB.l x h h.w 8X, $ 1 1 Xc.gXw nXG.wXG.n oXK.' 'XD a.eX-.~.e 3.Z.W x sXa.w x s t t #XS.e :XNX-XI.eX-X-X1 3.~ aX- K :.3.S.e 3 3XIX-X-.e 3 R $XHX5Xc 7X-XD.~ R.~X-.Z RX- a.% YXD.- RX- R a R.} aX-.aXNX, cXD 3.ZXIXl c 3 3.ZXNXl V T a 3.uXIX1XD.n.n.].0XI.r N N.X.o N.b.c.c.c.oXgXg.U.IXgXg.c.c.c.c.c.c.cXgXgXgXg.c.c.VXg.c.c.VXg.c.cXgXgXgXg.cXgXzXz.bXzXz.b.bXz N N N.K.^.^X* ~ NXk qXj.r.r.r.r.r.r.r.r.kX*.r ~ e.^.^.^Xz.^Xz.^XzXz.^.^.b.^.^.^XzXz.^.^.b.o.o.o.oXg.c.oXg.oXg.V.oXg.V.o.o _.o.V.o.o.o.o.b _Xz.^.^.^.^Xz.^.^Xg.k.r.r.r.H.`X1 B.0.0 : R RX1 RX1 x 3XJ TXJXKX.Xc.9Xc.,X,XD B.D.w.0XUXc : `X,XcX, : h xXJXD `.Z ` h kXKXB.- 1Xe E U t.M.Z v._.W._X>.xX4._.YXpXnXn.M 8 c a RX- a < E.)..XG h R 3X*.rX*.rXt.r.k.rXtXt.rXt.rXt.X.k.8.8X*.k.X F.oXz.b NX9 ~ ~ e.r eXz.b _Xz.b.b.b N.b.^XtXtXjXt.rXjXjXtXj eXt.rXt.r F.`.k.5.r F ~Xt.r.rXtXtXj.^.^Xj eXj.b.o.b.b.bXj.^Xz.b.^ lXd.r.rXt e e.^Xz.b _Xg.c.c.c.c.c.c.c.c.U.c.c.c.c.V.c.c.c.IXg.c.c.c.c.c.c.c.cXgXz _.oXgXg.c.c.b.bXg.b.b.bXj.V.# i l.U.cXg _.c.c.c.c.c.c.c.c.c.c.V.c.c.c.c.c.cXg.o.o.c.c.VXg.U.U.V.c.c.c.V.c.c.c.UXuXu.o.cXg.c.U.QXg.IX@.&X9.^.r ~Xj.r N.rX*.8 ~.8.8 ~.8.8XVXV.`.k D.KX1.u : ' ' '",
-" l.b.^.^ N NXz NXz.b NXzXzXzXz.b.b.^.b.b.b.o.UXz.bXzXgXkXgXj N F.`.8X3 `XX .l x 8Xl.DX,.Z h.-.F .,X<.1Xc s v oXw.>.9.9.ZX- R RX- B.w.w b.E o.q y o.Z U a :XSX3XH IX- 3 R.e 3.eXD.aX- 3 K kXD YXJ 3 RXDX-.e R.e cXH :.~ 1X# `X-.~X- B.e.u.e R.H n.3X. `.e a a t a.M R a.eX. :XIXIXD cX5 c 3.e R :XcXK.].} RX-X-XD.DX5 '.0XPXVXd.k.b.b.b.b.o.o.cXg.U.c.c.c.U. l l.U.c l.c.c.U.U.U.U.U.U.U.U.U.c.U.U.U.U.U l.U.U.U.z.#.zXgXg l.XXg.oXgXxXgXgXg.XXx N.^.^.KXj N.^.k.^.K.^.k.k.^.k.X.5.^.^ N.X.XXgXxXgXgXxXgX9XgXgXgXgXgXgXgXg.U.U.U.U.U.U.U.#.U.U.U.#.U.#.U.U.#.U.#.U.#.U.#.#.#.U.U.# lXg l.cXgXkXk.z.IXx.X N N N.k.kXt ' g ' $ $ c c.u cX5 $ $ $XlXM.9 x `XK s x.DXl 9.9XUXH.[X3 XX 1.i c h x h $ 3XM h 1.[.- [XBXq xXq U U.i.9 x XqXpX+.;XrXnXnXw.@ ^XL x c cXIXDX, U.W .XnX> v 3 cXtXo.k N N N.k.5.k N.^Xo NXo.k.5 N.kX9Xt.r ~.bX9XgXkXx.k.k.kXj.b.o.o _ _.o.o.b.o.o.o.^XjXjXjXj.X.bXjXd.kXjXt.k ~.`.`.5.z.`.`.`.8.rXtXtXt eXtXtXdXjXz l.6. .b.b.^ N.b.bXzXxXt.r.r e.r e.^XzXz.b.o.V.V.c.c.V.U.c.c.V.c.V.c.V.c.c.V.o.#.VXg.c.c.c.c.V.c.b _XzXz.cXg.VXg.o.^.bXg.o.oXzXj eXj l l.UXg.o _XgXg.c.c.V.c.c.c.c.c.c.c.c.c.V.c.c.V.o _.c.c.cXg.#.c.c.c.c.c.VXg.c.o.VXg.#.VXg.c.UXg i Z d.&.oXt.r.rXtXt.r.X.r.r.r.k.r.r.r.kXdXt F.R.R./.k ~ ~.8X1XI.u",
-"Xg.b.^.b.b.b.b.bXz.b.bXz.b.b.^.b.o.b.b.b N.c.f.#XzXz.o.cXkXz N.8.8.e # V.l #XMX,X,XDXsXIXD.l 1 1XB ` n nXw.j.>XwX0.9.'.Z.* t.eXD s.w b & H w o.q.9.wXa R xX5 x c a c a.a R.uXD 3XI RXD 3 $X,XI 3XIXI.a 3X1 3XDXDX1 3.a $.aXI.} 3X1XI 3 ' 3XD 3XI.u.a 3X, 3XDX,.Z $ 3XD.Z $ $X5 c : :X5XI 3 3 c.a $XD $X,.a h.u.Z.n g.0XO.5.5Xo.XXk.zXx l l.U.I.#.I.#. .I.# i.#.#.U.#.U.U.#.U.#.U.U.U.#.U.U.U.U.U.U.#.U.U.U.#.#.z.U.I.# l.XXg.o.o.o.X.o.b N.^.^.k.k.k.k.kXt.k.kXjXjXj.k.k.kXt.k N.^Xj.k.^.b.b.o.b.b.b.b.b.b.b.b NXzXzXz.b.bXgXgXg.oXz.o.oXg.oXgXg.VXgXg.cXgXgXgXgXgXg.cXg.c.VXg.cXg.oXz.b NXz.b.b.bXx.^XdXtXt.r.8.8X1.HXOX5.Z R RX- R.~ c a aX- R R hX-.M $ hXD RXD.D.wXKXwX3XX #XMXM # $ 3.a.a a.M.a.aXMXc.-.-Xq E U x a.aXD.ZXD U.M.F.@.pX>.j uX+Xn %.WXe.M.}.M u < uXF....XnXw x.`.uXt.k.k.H.KXt.kXt.k.^XdXtXoXt.k.K.K.zX9 NXtXxXg.^.K N.kXd N N.b.o.oXg.cXg.cXgXgXgXg.o N.kXt.^XxX9Xx N N.^Xo.K.kX*.rXV.K.r.r.rXt.k N N N.X N.bXg l.U.#X Xu l.U.z.U.zXk.o.z N.b.X N.b.oXk.U.U.#. . .#. . . .#.#.#.#.#.#.#. . .#.#.U.6.U.#.#.#.U.#.#.#.VXg.cXg.U.U.U.c.o.o.cXkXg.o.b _Xj _.U.U.Q.U.V.o.U.c.cXg.c.c.c.c.c.c.cXg.c.cXgXg.c.V _.bXg.V.c.o.#.oXg.b.o.cXg.o.cXgXg.c.cXg.^.o i.zXz.zXg.z.^.^Xj.r eXtXj.X.r e.r.r.r.rXV.H.rXd ]X@ )Xt.^.rXj.k.r.k ~",
-".oXg.o N.b.b.b.b.b.o.o.b.oXg.o _.bXg.b.X.o.o.UXg l.c l.U.I.z.z N.k 3X*.,X3XB XK 1.' 1X5 $ xXHXH 1.-.- nX<.SX. [X. =XUXKXG s.w s.'.!.+.T S.@X6 =.+Xm.9Xl.D.H.wX,.a.M $ R RXDX, R.ZX, RXIXDXIXD 3X-.aXIXI $ R R RX1.a.a a.uX-.aX- R.~X-XI $X1.~ a.eX, t.ZXDXD.eX- a tX,XD.aXDXDX-XDXD.uXIX-.a.` R.e.ZX-.a.a R.a R.D $.0XU.5X1.u.u.^.^.bXz.b.b.b.c.c.cXg l.cXg.#Xg.c.cXgXg.c.c.c.cXg.c.c.c.cXgXg.cXg.c.c.cXg.o.cXg.c.c l.zXg.bXzXz.b.bXz.b.^Xj.rXt.rXtXt.rXtXtXt.r.r.r.r.r.rXt.r.r.KXt ~Xt.^ N.b.^Xz.b.bXz.b.bXz.bXz.bXz.b.b.o.VXg.o.bXz.o.o.cXg.c.oXgXgXgXgXg.cXgXg.oXg.oXgXgXgXgXgXg.o.b NXzXzXz.b.b l.k e.r.r.r F.8.H.`.0X5 $ 8X-X-X- RXIXD.e R aXDX, R.a $ cXDXD R.W.nXKXwX3XX #XMXM.l c.lXMXc c $ xXM V V.gXB x.M h <.aXD 3X, U.MXpXn .Xr.Y U.9Xf...WXs u.M uXsXe p pXbX= 0XK., 3.`.8Xd.r.^.uXt.k.k.rXdXtXt.r.kX*.r.r.K.^ ~.^X9.XX*.k.K.u.k.rXj N.b.b.^XzXzXzXzXzXz N.b.k eXt.k./.5 NXk.X.K.K.r.K.`.~.`.`.~.`.~.` F ~.r.r.r e.k.^.^.bXzXgXg.^.bXz.^Xj e e.b.r.r.r.r e.^Xz.b.oXg.cXg.V.U.c.V.U.c.c.U.c.c.U.c.c.c.U.U.#.c.c.c.c.c.U.U.c _.o.c.c.c.cXg.oXgXg.U.U.c.cXg.oXz l.U. .Q.#.U.U.U. .U. .#. . . .#. . .#. .I.#. . .I.U.#. .I. .z i.#.I.#.6.I.I.U.z.Q.#.z.z lXgXk. .b l.I.6.I.UXk.o.b.^ eXj.bXtXd.k.r.k.rXd.^ ) ].$ N.k N N.^XtXt e F.r",
-".z.z lXgXgXgXgXgXgXgXgXg.cXg.cXgXg.cXgXgXgXg.o.o.b.o.o.oXk.UXk NXt ~.`XM V .lXq h $ h.D.'Xh., n.aXD 1 : `XMXBXc.[.YXn.wXLXe.n.s.jXh MX: r.s.T.T.>XO.2.0 gXlXcX, a.M.M.e $X,XIXcX5 R 3X-Xl $ 3X-X-.e.~ 3X-.e aX-X-.e RX,.eX-.e a.~X- 3XIXI a RX-XDXIX3 $Xc 1 ` :.a :X3 : : : )XJ.]XK.u RX- R RX-X,XD.M RXD.aX,Xa.n g.]XoXt.H.r N.bXzXxXz.bXzXk.cXg.c.c.c.c.I.c.c.cXk.cXk.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.cXgXgXg.U.U.oXz.^.b.^Xz.^.b.^.r eXtXtXt.r.r.r.r.rXt eXt.rXtXtXt.rXt.^XjXt.^XzXzXzXzXzXzXzXzXz.^XzXz.^Xz.^.b.o.o.o.o.b.V.o.o.o.c.o.o.o.o.oXg.o.V.oXg.V.o.o.V.V.o.V.oXg.o.o.bXzXz N.^.b.bXg.^.rXd.r.r.8 ~ ~ B.DX5.w.D R RX-.a R 3X- a.e R.aXD R hX,X,.} 8.Z sXK nXcXc.-.-XcXBX3 xX#X#.-XB k.,XZ.SXh.h k h h h R.aXDXDX1.a U vX4.<.@.jX,Xp.@X6.s p.. p.s.sXn.sXb.s 0X>.> gXI.HXt.u.r.rXtXt.rXd.uXtXtXtXt.r.rXtX*.k.K.^.K.5.K.5 )Xx.5 (.X N.bXz.b N.b.bXz _XzXz.b.b N.k FXx.f.A } 5 5 5 | ).$XV.` #X9 #.`.`.8.rXt e.rXj.b.o.bXz.bXz.b.oXz.^.^XjXj.r e.oXt.k.r.r.^Xz.b.b.V.c.c.c.c.c.c.c.c.c.c.c.U.U.c.c.c.c.c.U.#.c.cXgXg.c.c.c.c _.o _.V.o.o.b _.o.o.cXg.bXzXzXj e.o.o.U.cXgXzXg.V.c.c.V.c.c.c.c.c.c.VXg.c.c.oXg.cXgXz.V.c.c.cXg.#XgXgXg.6. .&.I.6.6./ AXk l.o.z.b.^.^ iX .#.I.#.#. .UXu.#Xu. Xg.b.X.XXxXk.A 5.&Xo.5.X lXg.z.z lXkXx.o",
-".o.o NXz.bXzXz.b.b.^Xz.b.^.^Xz.b.bXj.bXzXz N.o.^ _.bXz.b.oXkXk.XXt.8.8 3XJ .l.l $ $.WX,X,.'XH.-X,X, 3 # ` .-X3 ` nXc y.9 9 JXGX>XC.@.@ %XA {.xX0Xm.n ' 8X1.DX, a.a.e XD : 1 $ T D DX5X. :XKXJ.e.~.a R a.a c 3XI.e.uXD 3 aX-.~ aX-.~ 3X1 3 a.~X-XDXl.ZX-XlX, hXlX,X,X,XMXlXl $ : : T 3X- RXD RX- $ R.a.a t t.Z.n.0 4X5.%.z (.R A.R.t.6./Xg.b.o.c.c.c.c l.c. Xg.c.c.c.c.c.cXgXg.cXgXg.cXg.cXgXgXgXgXgXg.cXgXgXg.c.c.c.z.b.b.b.bXzXzXz.^.^ e.rXt.r.rXtXtXtXj.rXtXt.rXt.r.rXt.r.r.^.k.^.^Xz.^Xz.bXzXzXzXz.bXz.bXzXzXzXz.b.o.VXg.o.oXgXgXg.b.cXgXg.o.o.V.oXgXgXg.oXgXg.VXgXg.VXgXgXg.oXg.oXzXz.b.b.^.bXgXd.r.rXt.r ~.8.8.HX1.0X5XD R RX-X- R RX,.e R.eX,XDXD.u x.Z 3 <.D.'.EXOXUXw g.jXw k.9X3X7XX `XB ` 1 k.[.Y.iXM.Y RXD.uX1 R.a.ZXq.x WX> MX,.9.E.@ b 0 . . 2 0Xn..X6 ^XC HXUXwX5XxXx.$.R 5.R ( 5.$ QX9.R 5.&XtXtXt.r.r N ) q D q I.A 5 : 5 qXg NXzXz.b.bXz _Xz _Xz.b.b.b.^.k.kX9 q.5XM.KXk.u.rX*X*X-.8.u ~.`.8.r.r.rXj.k.^.^.b.^Xz _.oXzXz.^Xj.r e.r e.^XkXjXj.rXt.^.b.bXz.V.c.V.c.V.c.c.V.c.c.c.c.#. . i. .U.c.c.U.c.c.o.cXg.c.o.oXzXzXz.o.V.o.V.o.VXg.c.c _Xz.^ e e.oXg.#.c.oXz.o.V.c.c.c.V.c.c.c.c.c.c.c.c.V.c.c.c.VXz.o.c.c.cXg.#XgXgXg.f.6.t.6.fX .&X&.& f.Q qXz.o F.#. .U.c.U.c.U.U. . i.6Xg.XXg././X Xk.r.k.r.r ~.r.b.^.^.^.^XgXd",
-".^ lXzXz N.^.c.bXz.b.b.b.cXg.^.bXzXg.oXk.b.b.b.o.UXg _.b.bXgXkXkXt ~.8.`.lX3XM # h U h.ZX,XcXl aX5.} $ 3 h : c.l 1 k.,X<X0Xr.; & H H._Xb p .X4 .X>.E.w.w R B.e B t.eXD a 3X,X,.eXIX, $ a 3XDX- 3 R R.e.~ 3.u $ TXlXKXlXcXK `X1 aX-X- aXI R 3X-.e.eXD.e a R.e.e a.e.e.aXI.a aXI.aX,.e.~.~.a RX-XDXD.ZX,.M R t.M.w.w gXD.] ).R.XX d.I X AX@.o.o.^.o.c.cXgXg.V.#.o.c.c.c.c.c.c.c.c.c.cXg.c.c.c.c.c.c.c.c.c.c.c.cXg.o.cXg lXz.bXzXzXz.b.b.b.^.^Xt e.r.rXtXt.r N NX*.rXt.r.rXt.rXtXt N N.b.bXzXzXzXzXzXzXzXzXzXz.^.^Xz.b.b.o.VXgXg.V.o.o.o.o.oXg.V.o.V.oXgXg.VXg.VXg.o.VXg.VXgXgXg.V.o.VXg.o.^.^.b N.b.b.XXd.rXd.r.r.8 ~.8.H B.5.n.Z.aXD R.aX-X- 3 aX-.e.aX- cXD c c.}X,.w s sXP y 9.9 9Xw y.-X7.gXq.F xXMXqXBXB.-XB.l U.-.-.a 1.e.` R.Z._.jXn.x.h.j.uXl.jXC J JXi %Xi o w H.;.; HXm g g.kXJXx.R.$.|.| 5Xk.R.& 5.z q.A.^XtXjXtXjX9.$.$ ) :.K.5.5.kX9.XXx l l.oXzXz.bXz _Xz _XzXz N N.X.$ qXxX9 ).5XMXXX9 cX*.`.8.`X-.` ~ ~.r eXdXz.b.b.b.b.bXz.oXj e e e.r e ~Xj NXkXtXt.r eXz.bXz.bXg.c.c.c.c.c.c.V.c.V.c.c.#. i i. .U.c.U.U.c.c.o.c.c.c.b _ _ _.bXg.V.cXg.V.b.V.o.b.b.b e e e.bXg. .c.b _.V.c.c.c.V.c.V.c.c.c.c.c.c.V.oXg.cXg.o _Xg.V.c.c.c.I.oXgXgXk.z N.b.XXkXk NXx.X N NXzXj.^.o.o.cXg.c.V.c.c.cXu. .#.U.U.UXu.f.rXj.kXt.r ~Xt e e.^.^.b.bXj.o",
-"Xg.tXk.b.b N.6.I.b.oXzXg i.IXz.b.^. .b.I.^.b.b. ./.c _.bXz.oXkXk.^Xt.8.8.` V 1.i h $.aX,X,.ZXlXlXDXI.ZX,.a.a 1.lXc.[.g.j.jXp HX>.@ p.)Xe._..XbX>.jXL.Z 8 B R a aX-.aXDX, T :Xl : :XcXl : ` $X- 3X-X-X-XDX- a.u cXMX5 1 c x.aX-.~ a.~ 3X-XDX-X-X- 3 aX- a R.e RX-.a.e.a.a.aXDXIXIX- R R R R RX,XD $X,.a.M t.Z.w 9 TX1XV.r eXd.^XoXz.z.b.b.^.b.oXz.o.c.V.cXg. .c.U.c.c.c.c.c.c.c.cXgXg.c.c.c.c.c.c.c.c.c.cXgXg.cXgXgXg.cXz _XzXz.^Xz.bXz.b.^.k.rX*.r.rXt.r.XXgXgXt.rXtXt.rXtXtXtXg.oXz.^.bXzXzXzXz _XzXz.bXzXzXzXz.b.oXgXg.o.o.oXg.o.o.o.o.o.oXgXg.o.o.o.o.oXg.V.o.o.VXgXgXg.o.VXgXgXg.oXzXz.b.^Xz.b.oXd.H.rXt.rXt ~.`.HXD '.n 8X, $X,.ZX-.ZXDX,X5 3XDXDXK.ZXDX5X-X-XD '.w.n.nXL s b yXqXnXq.[X7 1XpX7.SX%X7X<.S [X% kXhX#.,Xc.]Xc.[ [ M.<.@.jXw.DXV &.> &.jX>X>.E &XrX0 y J b O gXJX1.H.u NXV.k.r : I ~X5.r.K.k.kXt.rXt.r.rX*.5 ).KXxX3XJ D q.RXoXzXz.bXz _ _Xz _XzXzXz.bXz.b N.o./.f.&.f.f.f q qXX q ).8 ~X- F.` F.rXjXdXz.b.b.bXjXz.oXz.Q.UXg ~ eXt e.r N.bXg eXt e eXz.bXz.o.V.V.V.V.c.c.c.V.c.c.c.V.V.c.c.V.c.V.c.U.U.c.cXg.c.o.oXzXzXz.b.o.cXg.cXg _Xz _Xg.oXzXz e.I i.#.o.#.cXz _.c.c.c.c.V.V.c.V.c.c.VXg.V _Xz _Xg.V.oXzXg.o.VXz.b.c.b.oXgXkXu.z./X@X@././ q./.IXk N.bXg.c.c.c.c.V.V _.V.VXu.#.c.cXk.cXkXgXk.o.X.^.^.^ e.r.r e e eXj.^Xj",
-"Xg d.oXz.bXz./.UXz.o.bXg. .#Xz.b _.U. .#.o.^.oXk.oXz.^.b.b.o.o.I N.r ~XVX-XX VXM.l $ hXK k $X,XlX- 3 3X,XIXD.M $.lXM XpXrX+ ^ . %Xn h u.W p...@ w 0.wXsX- aX- R.eX-XI cXDX5 c.u $ cXD $ c.} R RXI.e.~X,.eX-X- a.eXDX-.eX-.e a.eX- aXIX- c.e.~X- 3.~ a.e.a aX- aX-X-.a RXIX-XI.aX- R R.a RXDXD R.D.M R.a.MXaXaXKX5.H.k.rXt.^.X _XoXz.b.b N.b.b.b.b.cXg.U.o. _XgXg.cXg.c.c.c.c.V.c.cXg.c _.cXg.U.o.cXg.c.cXgXg.c.o.b.c.b.b.bXzXz.bXz.^.b.^.k e.r.r.rXt.r.r.r.r.r.rXtXtXt.r.r.^Xg.XXzXz.bXzXzXzXzXzXzXzXzXzXz.bXz.b.o.V.o.VXg.VXg.o.oXg _Xg.V.o.o.oXg.V.VXg.VXgXg.V.o.c.V.V.c.o.c.o.c.o.^.^.bXz.b.bXoXd.r.r.rXt.k.`.8.HX1X5.'.DX.XKX,.9 mXc.e gX,.Z.~.2 : 1 R.,.e.~.wXyXs.nXa 1XL x.jXq E E.F.p.[.p.-.g [.SX<X<Xr >.O.g.9XKXlXK `XcXpX%.J.@XpXK.DXIXU.> g.q.; &Xr.j o o v sXaXyXOXU.`.8Xt c.k cXx P ,.KX*.u.r.r.k.r e.rXt.r ~.rX9 `X3Xo.KXoX*.^ N.b.bXz _XzXzXzXz _Xz _Xz.b.bXz.b.b.X.XX9.XX9X9.^X*X*X*.8 ~.8 F.8.r eXj.^XzXzXz eXjXzXzXz.c.U.o eXd.r.r.k.b.X N.r e.rXj.b.bXz.V.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.V.#.c.c.V.c.o _Xz _ _Xz.b.c.V.c.c.V.b _ _.c.o NXj eXj.#XkXg.#.bXz.VXg.c.c.c.c.c.c.V.c.c.c.V.bXzXz _ _Xz.bXz.c.VXz.bXgXg.b.b N l.z q./.$.I.$./.& q.t q.oXg.U.o.o.VXg.V.VXz _Xz. .cXg.cXgXu.U.oXg.b _.c.U.VXg.c _XzXj e e e e",
-"Xz.I NXzXz N.cXg.b.b.^.bXg.bXz.bXz.bXz.^ N.b.bXz.b.o.o _.o.b N.IX@.^.r.8.8.a `X3XB #.-.- x 1.Z x 3 3XDXl CX,.D.aXM.l.l XpXrXnXbXb.d.*X, tXe.) L.; J.s.s.Z $.aX-X1X-X- BXI 3 B 3 a RX-.a.a a a a 3X-X- 3X-X-.~ RX-.u a.*.eX-X-X-X- R 3.~ c.e aX-XDXDXDX- a.e.e R a.a RXIX- aXIXI.e `.' aXlXDX,XDXD ` c x.n.w 'XJX1.u ~XjXd.b.^.^ _ N.b.b.b.oXz.o.b.b.o.cXg. .U.c.#.#.c.c.c.U.6. .c.c.c.c iXgXg.V.V.6 i.U.c.c.U.o.c _.6.b.bXzXzXzXz.b.^.b.^Xj.rXt eXtXtXt.r.r.r.rXtXtXt.r eXt N.o.b.^XzXzXz.bXzXzXz.bXzXzXz.^.bXz.b.oXgXgXg.oXg.VXg.oXg.o.cXg.o.c.c.o.cXg _.o.VXgXg.o.o.c.cXg.c.o.b.c.b.bXzXzXz N.bXg.r.r.r.kX*.r.r.H FXaX5.n $ TXJXD :X,XK RXlXJ.w.e.9 :XD.D DX5X-.0.] sXDXlXs.w v.jXG.W E.mXqXq .FXBXB.Y.p.[ ._X7.9 U $.e R.M.M._Xn...@.T g.HXVX; g.! gX0 o.9 o.'Xm.nXaXaXy 4.G.2., 5 I 5 I q.5 qX-.8.`.8XtXt.rXt.rXt.r.r.u c 3XlX1 cX*Xt.k.b _XzXz _Xz.bXz.bXz.bXz.bXzXzXzXz.b.b.b.b.b.b N.k.r.r.k ~ F.8.`.r.r.r eXz _XzXz e.^.b _.^Xz.^ e e.r e.k.b N.^.^ e.r eXjXz.b.b.V.V.c.V.c.c.c.c.V.c.c.c.c.c.c.c.c.c.cXg.#.c.c.o _ _XzXzXzXz _ _.cXg.c.c.oXz _Xz.c.^.bXz e eXz.V.c.U _Xz.V.V.c.c.c.c.V.c.U.V.c.V.oXz _ _Xj.bXz _Xg.V l _XzXgXg.^Xz.XXj.X N.^.b N.^.k N.^ N N.o.oXg _.o.V.V.V _Xz _.^.U.^.b.o.o.IXz e e _ i.U.c.c.V.U.c.U.V.V _.oXg",
-" NXg.b NXz.b.^.b.bXz.b.b.^Xz.b.bXz.b.b.b.b N.o.oXz.bXzXz.b.b.b.z.A dX .AXX |.5XZ } XM $X,.MX, $ cXI cX5.*.D.M x h c.}.iXBXq.j.< .X6 t.*X, B.Z.s 0.;.4.@XGXK.W 1X,XD BX- R.eXDX,XI R R.aXDX- aX-X-X1X- a RX-X-X- aX- a 3X- aX- t a RXI 3 R $.~ R R 3 T ` : $X5 c cX-.a R 3.eX- R 3 aXK.KXH.,XwXJ.- 1X..OXcXy s T.0.8X*XtXt.b.bXzXz.XXz.^.b.^.b.bXz.b.b.cXgXg.#.c.cXuXu.U.c.c.UXu i.c.V.c.UX&.U.c.U _. . _.V.c.#Xg.#.b d.oXzXz _XzXz.bXz.^XjXt.r.r.r.r.r e.rXt.r e.rXt.rXt.rXt.^.X.o.^.b.bXzXzXzXzXzXzXzXzXzXzXz.^.b.c.cXg.o.VXg.o.o.o.V.o.cXg.o.o _.VXgXgXg.c.c.V.o.V.V.o.VXg.V.o.c.U.bXzXz.zX&.b.X.X.rXoXt.k ~ ).u.HX1 TX5.w B.* a.* R 8X,XDX,.e R.e BX- RX1 R RX-.DXaXa.n s.wXe v HXn p E U E E h EXq X+.p.-X%X% WX+XeX, UXD x.1.g._Xf.@ yX,X1 (XyXwXyXPXy n s.9 'XD 8 BXa.]XO.|.u.u.kX9X9.5.5.u.`X5XI )X-.kXtXt eXt e.r.u.rXI 3XJ RX5.8.rXtXz.bXz _XzXz _Xz.b.b.b _Xz _XzXzXzXzXzXz.bXzXz.b N.kXt ~.r.kXk N.r e eXj.bXzXj eXz.^XzXz _.oXz.^XjXjXj N.b.k.^XtXt.r e.^XzXz _.c.c.c.c.c.c.V.c.c.c.c.c.c.cXg.c.c.U.c.c. .V.c.oXzXzXzXzXz _.bXg.c.c.cXg _XzXz _Xg.o.o.^ ~ e.^Xg l.cXzXzXg.c.c.c.V.c.c.c.c.c.V.o _Xz _Xj e.cXg.bXg l.V l.Q l.oXgXx.^.XXxXo.X.X.b N.oX9.^.b.b.cXgXgXz _ _.o _XzXz _Xz.z.b.b.^ e.^ eXj ~Xz. _Xz.V.#. .#.U.c.U.#.#.U",
-".b.o.o.bXz.o.^.b.bXz N.oXz.b.b.^ _.b.o.b.b.b.b.bXz.o.#. .b.b.b.c.tX@ q.zXx 5 c YX#Xl.lX,X,X,.Z h :.}.Z $ R.DXDX,X, h.}.} xXBXr.C.J 8 B.H.~ C.WXb ^.@XCX0 = M nXwXcXKXc.9XK R.DX, R RXDX- a.MX- RX-XDX- 3.e a.~ aX-.~.aXI aX-.eX-.~X,XDXI 3.e.e B a c $ :X5 :Xl $XIX-XI RX-X-X1X, a xX,.Z xX, x.Z.wXJ.0 gXUXPXU.`X* ~ eXd.X.^.XXz.bXg.^.b.o.^.o.b.b.o.b.UXg.6.c.c i i.U.c.c.c. .6.c.U.o. .#. .V.V.c i i.UXg.c.U.VXg _ i.z _Xz.^.bXzXz.b.^ e.r eXtXtXtXtXt.r e.rXt.r.r.r.r eXt.^Xg.XXzXzXzXz.bXzXzXzXzXz.bXzXzXzXz.b.o.cXg.oXgXg.o.V.oXg.oXg.o.V.cXg.c.b.c.c.o.VXg.c.cXg.o.VXg.c.c.V.bXz.bXz.zX&.t ZX@ A.A 5 5 f.R ].0 ]XO $X, t RXDXlXlXDX,XI.Z.~.eXDX1.*.eXI.a BXD.w.Z 9XG.9XGXG.Y HXe U E U.d h.W h E.i 1XqX7.y.TX<.1.YXp xXq t nXp.. J ^.j !.H DXy g ( '.0Xl.Z.Z B RX1X1.D ' (XU.H.8X* 3 :X9X9.k #XV.5 #X*.8.rXt.rXj.r.rXV.8.} T xXlXD.rX*Xt.^ _XzXz _.bXzXzXzXzXzXz.bXzXzXz _ _ _XzXz.b.b.bXj.r.rXt ~.`.XXgXt.r e.^.^.^ e.^.bXz.^.^Xz.bXz.o.^.b N N.^Xt.^Xj e eXjXz.b.b.V.c.V.c.c.V.c.c.c.c.c.c.c.c.c.V.c.c.c _Xz.# _ _XzXzXz.b _XzXz.o.c.c.c.c.cXzXzXz _ _XzXzXj e eXz.c.cXg _.b.V.c.c.c.c.c.c.c.c.V _Xz _XzXz F e l.6.6X X .Q. X X&X .t./X@ AXk.I.&.RX@X@.t.6.oXg.o.o.c.cXz _Xz.b _XzXz.b.b.X eXjXj e e eXz eXz.c _Xz _.V i i.V.V.V i.#.c",
-"Xz.o.X.^Xz.bXz.b.bXzXzXz N.b.bXz _XzXzXz.b.b.b.^.b.o.I i.oXz.bXk.o NXtXt.u.`X- 3 V XM c.}.M 3 $ $ $ R TXcXD.ZXD x.u h hXM.FXB W.{.. u B.D.~ B.N.)Xn.s.j.>Xr.q = &.Y.E yXKXG RX,.W $XsX5Xl RX-.e BX-X1.eXV R aX-X-.e.a aX-X- B.a R.e 3X,XD.}X-X-X-.eXD aXI.e a.e R B R 3X- RX-XI 3.e., c 1XKXw.,.9.9 k TXUXP (X5Xx.R.K.k./.^Xg.bXg.6.b.oXk.o.I NXg.#Xg.IXg. .Q.cXg.U.U.c.V.c.o.c.c.c.o.c.VXg.c _.U.c.V.V.c.c.c.c l _.b.oXzXz.b _XzXzXz.^.^ e.rXt.rXt.r.r.r.rXt.rXt.rXt.r e.rXt.^.X.b.b NXz.^.bXzXzXz.b.b.b.b.b.^Xz.b.b.oXg.V.o.VXgXg.o.c _XgXgXg _.U _.V.V.o _.U _.V.V.V.VXg.V.c.V.o.cXz.^Xz l.zXgXxXx.^ ].X.XXoXoX5 (XOX5Xa R aX-XI T.,XJ :XlXK x D : TX5 $X,X1.e.DXLXmXU.qXw H y y.j vXs U t.M t < t UXe XqXh WX<Xh.y kX<.YXH UXB.mXnXf.s yXc B T.O ! !.D.D cXIXD.u R BX1.Z ' T.]X-.8X*.r q.| I 5., 5., 5 I.5.rX* e.rXt.rXtXIX, x s.'XlX-.rXtXj.bXzXzXzXzXzXzXzXzXzXzXz _Xz _ _XzXzXz _.bXzXzXj.^.rXj F FXt ~Xt e.r eXj.^.^XzXzXj.rXj.b.o.b.^Xz N.bXj.r.r.b eXtXjXz.b.b.V.c.c.V.c.c.c.c.c.c.c.c.c.c.c.c.V.c.c _XzXz.UXzXz _ _ _.o.V _ _.o.c.c.cXg.oXz _ _XzXz.bXzXj e e.oXg.U.o.b.V.c.c.c.c.c.c.V.c.U.VXzXz _XzXz e ~ e.b.o.U.c.z.I.z./XkXg.XXkX@.o N lXk l.Q.I.#.oXg.V.oXg _.bXzXz.b _.bXz.b.b.^ eXj eXj e.^Xj eXjXz.bXzXz _.U.#.V.c.V. .#.V",
-".^.oXg.bXz.b.b.^Xz.b.bXz.bXzXz.bXz.b.b.b.bXz N.o.oXz.oXz.o.^.oXg N.X.X A F.u ~XIX*., `Xc.M $.MXl sXh a m.,.a $X, U $ h `XBXB W.< % tXI F.~ R <Xe U._.W.jXw M ^ M =Xh.+.j =XL.W.w.ZXD $ $XDX5X,.u $ 3.a.a.a.~X- aX-.eX,X,X-.e.e.e R aXIX1X1.eX-.e aXDX1 RX-.e a.e.e R RX-X- RXD aXDX-.aXD hX,.a tXD '.nXPX5X1.uXx.R.I./ l AXg.t.U i./.U.bXg.#./.I.I.z.6 i.Q.I.c.c.V.c.cXg.c.VXg.c.c.c.c.c.V.c.c _.U.c.cXg.o.cXg _Xz _ lXz _XzXzXzXz.b.b.^ e e.rXtXj.rXtXt NXg )XdXt.r.r.rXt e NXg.XXzXzXzXz.bXz.bXzXzXzXz.bXzXzXzXzXz.o.oXg.o.o.oXg.VXg.b.V.V.c.c _ _X .o.cXu i.U.c. .6.c.U i. Xg.U.UXz.b.I.IXzXo.X.^.rXtXVXt.uXVXxXPX5Xa.*XD.aX-XD.aXDXIXIXIX-X-X1XD 3XD RX, R.M.Z.w y 9Xe.WXe._.NXGXeXK x.YXK nXK $.9 h h U x.F.Y.FXp.Y.- t.MXq U .X+ 0.. b.GX5.]Xw.j.] '.5 RXI a R.D B.].Z : g.0.~XI ~XV.rX9 ) ) :XXXMXM :.K ~Xt e.r.rXt 3.HXqXGXL.'XlX-.rXtXj.bXz.b _Xz.b.^Xz.bXzXz _XzXzXzXzXzXzXz.bXzXzXz.r.^.r ~ FX9Xg.^.rXtXtXtXj.bXzXj.r eXjXz.bXz.bXz.^ eXtXt e.r.b e eXz.b.b _.c.c.V.c.V.c.c.c.V.c.V.c.c.c.c.V.c.c.VXz _ _XgXz.o.c.o.V.c.c.o _ _.o.o.o.b _Xz.b.bXz.b.b.^Xj.^XjXg.b.# _.VXg.c.c.V.V.U.V.c.c.c _XzXz.b.b.b.o.b.b.o.bXg.c.U. .IXu. q.I./.I././.oXzXz.o.V.c.c _.b.c.o _Xz.b.bXzXzXjXj.^Xg.bXzXz.^XjXj.b.^ e.^XzXzXz.b.o.o.VXgXgXg.cXg.o",
-".^.bXgXz.bXzXzXz.^.b.b.b.bXzXz.b.b.bXz.b N.b.bXzXz.b.VXz.o.o.b.oXg NXx ,.R I I D ` |.3 |X<Xc [ xXc.ZXc Y kX5 c <.uX,X,.W.-.-.- [.<XA t.Z.~.`.~ <.e U.e.a._.n..Xb 0Xi ^X>.;.q yXG x sX, RXD BX-.e.e RX-X1.~XI.a a.~X- aXX.]XMXl 1Xl TXl T 1 :.ZXV 3X-X-X- R 3X1X- R aX-.eX-X-X1 3.aX- tXDXD.Z hXDX,.Z.!.n g '.HXV.rXj.r.^ N.^.oXd.oXz.^Xz.b.b.^Xz.b.bXz.bXk.o.# l.UXg.c.c.c.c.c.c.c.cXg.c.U.c.V.U.c.c.o.V.cXg.V.V.b.o.b lXz.bXz _Xz _Xz.b.^.^XjXtXtXt.r.r e NXg.zXtXt.r.r.r e.r.^.b.b.^Xj.^Xz.bXzXzXzXz.bXz.bXzXz.bXzXz.bXg.VXg.VXg.V.o.o.oXgXgXg.o.U _.I.c.V.U. .U.V. .6.V.c. .#.o.U.I.o.b l.UXz NXdXd.r.rX*Xt.r.D ( '.nX1XDX,.a.a 3X- 3 3.~.aXD RXI cXI.}XI 3.a t.wXL y.EXe U._ E U xXB 1 s cX, 8 a t $ t.M.i U U.p.iXrXqXw x ._Xe...j.J bXC.jXlXlXwXw g.]X1 3XI.aXDX- R.,.2XOXU.0 B.H.8.r.r.5.KXX VX3XJXXXX.$X*Xt e.rXt.r.HX5 xXL v o sX1.8XtXtXz.b.b.b.b.b.bXz.bXz.bXzXz _XzXzXz _Xz.bXz NXz.r.^.r ~.`.r ~X*.r.rXtXj N NXj eXt eXj.b.b.b.^XjXj.r e.rXt e.X.r.^.b.bXz _Xg.V.c.c.c.c.V.c.c.V.c.c.c.c.c.V.c.c.VXz _.o.VXzXg.c.o.c.c.V _Xz _ _ _.bXzXz _.b _.^.b.^.^.b.#.I lXg.I _Xg.c.V.c.c.c.c.c.c.c.c _ _ _ _XzXzXzXz.bXg.b.cXkXg.c.I.IXg N.^.^.^.bXz.^.o _Xg.c.c.cXzXz.V _.VXzXzXz.^Xj.r.rXj.cXz.^Xz.b.b.oXz N.bXg.cXgXg.cXg.cXgXgXgXg.o.c.c",
-"Xt eXg.^ N.b.^.b.b.^XzXzXzXz.bXzXzXz.b.b.bXz.b.b.b.bXz.o.^.#XkXgXg NXg q.RXk ).KX* # k V :.i.M R R.W $ 1 3 3 :XK DXlX, hXcX3 [X<X2.. uX,XI 3X- a <.}.eX-X-.w u.)XbXb.s ^ ^ ^X>.j o v.Z 8X1X-.~ RX-.eX-XI aX-XIX-.~X-.~ cX, :X, :XlXl `., ' : `.aXD.eXI RX-.aXIX-X- BX-X- R RX- 3 aX-.a.a.aX,X,XD UXDXKXaXP.D.8X*Xt.r.k.b.b.X.^.X.b.^.b.o.b.b N.b N.bXz.o.oXg.#.U.c.c.cXg.c.U.V.c.V.c.V. iXu. Xu.#.c.c.c.V.cXgXg.V.oXz lXzXz _XzXzXzXz.bXz N.^ N.^.^XzXtXt.r.r.r.r.r.r e.r.r.rXtXjXj.r eXj.^.b.^.bXzXzXzXzXzXz _XzXzXz.o.cXgXgXgXg.o.o.o.V.c.c.VXg.o.c.VXg.c.V.c.V.c.o.V.c.c _.o.c.o.o.^XzXz.bXoXz.k.^.rXt.r.r.uXo g.D.n 8XD.aXIX-.aX-.`X-.aX-X-X-.aX,.aXDX- $ a.MXeXL yXpXe.i <.} a t.e.e.eX1 B RX-X-XI t.e t U E.-Xp M [.1 M n [ M.h =Xh.+.OXU.O.w y HXU T.u.`.a.a.~.MX1X,.'XlXP.0.~.8XVXtXt.rX*X*.u.u.uX*.uXVXt.r.r eXt.rXV.'Xp 2.s b g aX*Xt e.^XzXzXzXz.b.bXzXzXz _Xz _Xz _ _.b.b.b.bXzXz NXj.k.8 F.`Xt.r.rXjXt.rXj.^Xt eXt eXt.^.b.bXz.^ e e eXtXt eXtXk e.^.bXzXz.b _.V.c.c.c.c.c.c.c.c.c.c.c.c.V.c.c.c _XzXz.oXgXg.c.c.c.c.c.o _Xz _.b.b.oXz.bXz.^Xj e.^.b e ~Xg.I.cXg.c.bXgXg.c.c.c.c.c.c.c.c.c.V _.bXzXz _.bXzXg.c.bXg.V.c.c.I.#.U.b.b.b.b.b.b _Xz _.c.c.c.V.V _ _.c.o.bXzXj.r eXjXj.^.U _.o.o.o.b.c.b.bXg.cXg.o.cXgXg.o.c.c.c.o.V.c.c",
-" e ~.b.k.bXz N.b.bXz.^.bXz.bXz.bXzXz.b.bXz.b.bXz.b.b.bXzXg.z.I.UXgXz.b.bXg.X.rXt ~.` V :XMX, < t <XD.Z.MX,XD T.] ` :X.XwXHX<.h.T.pX4 UX,X1 cX-X-X-XIXIX-X- 1 t t G.) p 2.s %XiXf.;.E.Z $X1.~ R.e a a.eXDX-X-.`X-X-.eX-X-X-.eX-.eX-XI.uXI.e.a R a.~XIXI.eX- RX, R B.eX-.aX-X-XIXI aX- a R.a UX, hX,XDXP.n.] '.HXVXt.r.^.X.b.bXz.b.bXz.bXz.bXz.b.bXz.o.b.bXz.o.z.UXg.c.V.c.c.c.U.c.c.V.c.U.U.#.#.#.U.V.U.VXg.c.V.cXg.oXz.cXz.b _.bXzXzXzXz.b.b.^ N N.^.K.rXtXtXt e.rXt.r.r.rXt.rXt.k.k eXt eXj.^.bXz.^Xz _XzXz _Xz _XzXz.V.o.V.o.oXg.o.oXg.oXgXg.VXgXgXg.c.VXg.oXg.V.c.c.VXg.VXg.c.o.cXz.oXz.^ NXz NXd.^Xt e.rXt.r 'XPX5Xa BX,X1X-XI.aX- 3 a RX-X-.aX-.aX,XI t cX- t $._.j.@Xe U h <.e R a.~.aX-XDX,XDXD R.~ B a $ kXB.Y.YXp.p vXn =.j &X0.>.>.+.E.OX0 9XC !.n 'XD 3.D D 3XD B.Z.'Xc TXl.u.K.8X*X*.K.K.uXdXd.rXtXt.u.r.k.r.rXt.HXc.s.s 0 bXKX1.r.rXt.^Xz.bXz _.bXzXzXzXz.bXzXz _XzXz _XzXz.b.b.b NX*.5.8.8X-XxXk.rXtXt e.r.r e.r eXjXjXz.o.b.# N ~ eXj ~Xj.rXj.U.rXz _.bXz _.V.c.c.V.c.U.c.c.c.U.c.c.c.c.cXg.c.c _ _Xz.U.cXg.UXg.c.o _XzXz.b.b _.b.b.b.^.^ eXt.rXt.^.r ~XjXzXg.c.c.V.c.cXg.c.c.c.c.V.c.c.c.V.V.b _.bXz.bXz.o.c.b.c.c.c.c. .U.U _.bXz.b.b.bXz.V.c.c.V.#.c.V.c.c.o.c.bXzXj eXj.r e.b.IXg.cXgXgXg.U.c.c.c.cXgXgXgXg.VXgXgXg.c.c.c.c.c",
-".r.r N.k.b NXz N.b.bXzXzXzXzXz.b N.bXz.b.b.bXz.bXz.bXz.^Xz.o.oXz.#Xz.^.b.X.b NXkX9.5 I V | #.} < a hX,.MX,XDX1 $.] ' :XlXB k.- r W.x.NXeX-.`.e R.~ R 3.~.~XI R <.* t *XeXb -.B {.;.EXa.D.` RX-.a aX- a aX1 3.~ 3.`X-.~XIX-X-X-X- 3 RX1 3 a.` R.~XDX-.e a a.a 3 aX- RX-.aX-X-X1 3.~X-X- a R R.a.M.M B.'X5 g.Z.K )Xt.k.X.^.b.^.b.bXz.b.b.b.b.b.b.b.b.b.b.b.b.b.U.U.c.c.c.U.#.c.V.c.c.c.#.V.c.U.V. .U _.c.c.U.c.c.c. .Q.o lXz _Xz.bXzXzXz.b.b.^.kXjXtXtXj ~XtXt.rXt.r.rXt.r.rXt.rXt.kXd.r e.r.^XzXz N.b.^XzXz.bXzXzXzXz _.o.c.b.c.oXg.V.oXg.o.cXgXg.V.V.o.oXg.VXg.c.V.cXg.o.V.cXg.c.c.o.o.^Xz.^.b.^ N.^.k.r.r.kXt.H.XXP.D.D R R R.KX-.e.~XIX-.eX- RX-.a R.Z R.~.Z.a R $XL yXpXe E h t t.eXIX-XI 1.-XJ RX- RX- a R aXwXB._.FXpX+X+X>X0XU yXm y.+ &X0.j oXC J.>.'.n.Z 3XcXl T R 8XD '.].2 D.2 D.f q.$ 5 D.I F.r eXt.r.rX* ~XtXtX-Xl.'.s.... o.!X-.rXt.r.^.bXzXzXz _Xz _.b _ _Xz _XzXz.bXz _.^.bXzXz NX* #.8.8.8.5 N.r.r.rXtXj.^Xt e.r e.b.^.b.o iXu.^Xt e ~Xt.r.k.cXj.^ _XzXz.o.V.c.c.c.c.c.c.c.c.c.c.c.c.c.c.cXg.o _.b.b.U.c.c.c.c.o _ _Xz _.o _.b.bXz.^ e eXt e.rXtXt ~ e.^.b.VXz.cXg.c.c.c.c.c.c.c.V.c.c.c.c _ _ _.bXz.bXz.o.VXz.V.c.c.c. .#.U.b.b _XzXzXz _.V.c.V.c.c.c.V.c.c.VXg.o.o.^Xj e eXj.X.#.V.c.V.c.c.cXg.VXgXg.c.V.cXgXg.V.c.cXg.c.c.c.c",
-".r e.bXz NXz NXz.bXzXzXzXz NXzXzXz.b.b.b.b.b.b N.b.b.b.b.bXz NXzXkXz.b.b.b.b NXk 5X9 }.,.,XX h.a.a hXDXDXD $XD.D.ZXD RX,XK.[ .1XrX4 U hX1X-X1X-.a.eXI R 3XK 3X,XD U 8._ C.PXAXi.4.;Xa.wXDX- B a aX- RX-XI RX-X-X-X-.}XI.e R aXIXI.eX-XI.~ R R.~XD.e R.~X-.aX,.eX- RXDXI R R RX-X-.e RX- R RX,XD R.aXGXaXU : (.$ 5 (X .z./.I.b.b.b.bXz.b.b.b.b.b.b.b.b.oXz.b.c.UXg.U.V.#Xu. .V.c.V. Xu.V.c.c.c i. .V.c.c.I.U.c lXu i.c lXzXz.bXzXz.b.bXz.^.k.r eXtXtXtXtXtXt ~Xt e.r.rXtXt.r.rXtXt.kXt e.r.^XzXzXz.bXz.^.b.bXz.bXz.oXz.c.bXgXg.cXgXg.oXg _XgXg.cXgXg.V.o.oXg.V.o.V.o.VXg.VXgXg.V.o.c.o.^.bXgXgXx NXV.^Xd.5Xt.u.H g.'.w sXl $XlX.XKXcXK `XcXK `.*.a.eX-XDX- RXVX1X1.w.nXmXpXe h h a.a.u T :XK #XcX-.e RX-.e R a t E xXeXr M &Xr y.9.!XG s vXU = & = & & b.>.0.' R.a.e `.e R R.D.9.0.O 'X5 qXJ.$ ).$ ).R.rXd eXt.r.k ~X*X*.8.5XUXpX>.@ 0XG.9 BXtXt e N.bXzXzXz.bXzXzXzXzXz _Xz.o.bXz.b.X NXk.fX9.$.$ qX9.5X- F.rXt e.r e.^.bXj eXjXz.b.oXz _.c _.o.^.r e.r e.^X9.^ _XzXz _.V.c.c.VXg.c.c.c.c.c.c.c.c.V.c.c.c _Xz _ _ _.#Xg.c.V _ _XzXz _.b.b _ _.b.^ e e.r ~ ~ e.r e F.rXj.oXg.b.V.c.c.c.U.c.c.c.c.V.U.c.c.c.o _.b _.b _.b.oXg _.c.V.c.c i.c.# _.o.o _.b _.V.c.c.c.#.#.V.V.c.cXgXg.V.bXz.^ e e.^.c.U.V.cXg.c.c.c.b _.b.o.cXg.cXg.c.VXgXg.VXgXg.c.c",
-"XtXj.X.XXzXzXzXz.b.b.bXz.bXzXz.b.bXz.bXz.bXz.bXz.bXz.b.b.b.bXz.b.c.bXzXz.^.o.X.bXtX*.` : V.5XM #.} h hX,.M.9 x hXlXD.a #XKXBXw.gX2...W.W.aX1XDX- aXIXDXIXD c.9XlXKXlXcXp n W ^Xi.CX0.W.Z 8X-.M RX-.e.aX1X-.eXI aXIXIX-.~.a aXIX-X-X-XIX-X-X-.aX-XDX-.e a.e 3 R.e RXDXD.e R.a.uX-.a.eX- a a RX,XDX, R.'X5XUXPXx D.z.R 5.t.6XuXzXz.b.b.b.b.bXz.b.b.b.b.b.b.b.bXg.UXg.cXg.#Xu. .c.c.c. Xu.#.c.UXg i i.c.o.V. .#.c.o. .QXg.UXz.bXzXzXz.b.bXz.^ e.r.r.rXt.rXt.r.r e.r.r.r.rXt.rXt.r.rXj.kXt eXj.^ NXz.^Xz.b.b.bXz.^.b NXz N.bXg.oXg.o.o.o.oXg _XgXgXg.o.VXgXg.VXg.o.VXg.V.o.V.VXg.c.oXg.c.o.^.o.oX&.&.$.$.& ) I q ( :XUXa.n.W s x 1 Xl T.w $., sXl R R aX-XD.H.e 3 BX1.w.n y JXe h E a.}XK ` c 3 a.M.e.K :., a.e t.}.W EXnXrXrX+ 1 sXG v.w.n.n 9.9 & &XG b J !XG.9X, RXD.e 8 R.D.0 g.2.]X1.H.H.r.`.5Xd.u.H.r eXt.rXtX*.rX*.8XI.- x v.) % 0XL.]XI ~Xt.r.bXzXz.b _XzXz _ _.b _.b.b.b.b.b.^XgXkXk.$./.fX3 ) 3.8.r.kXt.r.r e.^.b.bXjXj.^.oXzXz _ _Xz.bXzXzXjXt e.r.kXg N.o.bXz _.cXg.V.V.V.c.c.c.c.c.c.c.c.c.c.c.V _XzXzXz.o.I.V.V _ _Xz.b.V.V.V.V _Xz _Xz e.r e F F.r.rXt ~ eXz _Xz.VXg.c.c.c.c.c.V.c.c.V.c.c.c.c.c.o _ _Xz _ _.V.V _.V.c.c.c i.c.#.c.VXg.V.b.V.V.c.c.#.#.c.c.c.c.c.cXgXg.b _.^ e e.b.U.U.c.V.c.cXg.V _Xz _ _.V.cXg.V.cXg.c.cXg.VXgXgXg",
-".^.^XgXg.^.b.b.b.bXzXz N.bXz.b.bXz.bXz.b.bXz.bXz.bXz NXzXz.b.bXz.U.b.^.b.b.b.b N NXt.`.8XX V #Xl : $ hX, hXw `.Z $ hXDX,.-.- [.[X>.mXe.MXDXI.e t R a R 3.uX1XVX,XDXDX, h.W ....C H H s.n RXD B.M R 3.u R R.a.eX-XDXI.aXIXIXDX- a.~XIXI aX- RX1XI.eX-.~X-.~XD aX-.aX,.aXI R.eXDX- R.~X-XI RX,X,X, cXD T.n.0 :.`XVXV.HXz.^ N.^Xz.b.b.b.b.b.b.b.b.b.b.b.b.b.bXz.o.#Xg.c.c.c.U.c.c.c.c.U.U.c.V.c.V.c.U.V.c.c l.o.c l.o.oXz lXz.b.b.b.b.b.^XjXt e.r.rXt.r.rXt.r ~.X.rXt e.r.rXt.rXt.r.k.^.rXd.^XzXz.b.b.^.b.^.^.b.o.^.^.b.bXzXgXgXgXgXg.V.o.o.oXgXg.V.o.o.VXgXg.V.cXgXg.V.c.c.VXg.VXgXg.c.cXz.^.#Xk d.f.& I ( q.$ D D @XaXLXD.D.e aX-XD a.e.* $XD.a a aX1.e RXD.e.u.e B.w.n yXGXe E $ a $.aX-.e a RXI.~X1.,XX hXB x._Xe._XG.jXw.>XU gXl.w CXLXL.!.9 & H o b o.q y.2XK xX,X,X,.wX. g KXy.| D.2 D.& (X@XJ (XtXd.r eXtXt 3X*.8Xl 1 v O.sXb.) J bXc.D ~Xt e.b NXz.bXzXzXz.b N.o.^Xj.o.b.6.6.t.X q NX9 N.K 3.K.`.8 ~ NXk.r e.^Xz.bXzXz.^ _XzXz _ _Xz _ _Xz.b.^Xt.r e.^XgXz.bXzXz _.o _Xz _.c.c.c.c.c.c.c.c.c.c.c.V.o _XzXz _.o.# _ _Xz _ _.V.c.c.c.oXz _.bXzXj e e F F.r.r e.r.rXz.oXz.V.V.c.c.c.c.c.c.c.U.V.U.U.c.c.cXgXz _Xz _.o.c.c _.c.V.V.c i.c.#.c.V.V.c.V.V.c.V.c.#.c.c.c.c.V.V.VXg.c.o.oXzXj.^Xg.z.c.c.c.cXg.b.bXzXzXzXz.oXg.c.V.cXg.cXgXg.V.c.c.c",
-"Xz.^.o.c.^XzXzXz.^Xz.bXz.bXz N.bXz.b.b.b.b.b.b.b.b.o.bXz.b.b.bXzXg.oXz.b.b.^.^.k.^.KX*.rX-X3 qXX # ` :.iXK.-.W h x UX, hX3.-.-XwX+Xn nX.Xl $XwX..a.>X,.Z.2XlXKXK $XH.* x [.N pXi.4 H b.nXsXD R.a R.Z.e.M.eXD : $XI x R $ aXD RX-X-XI.eX-.~ R.aXI R.e R.e 1 cXlXcX- R.a RXD `.ZX-.e a R 3X, cX, 3.aXI.n '.0XP.H.H.r.rXoXgXz.b.b.b.bXz.bXz.b.b.b.b.bXz.b.b.b.bXg.U.c.c.c.cXgXg.cXg.c.V _.cXg.V.c.V.cXg.V.o.c.V.o _Xz.bXz l.b.bXzXz.bXz.^Xt e.r.rXtXtXtXtXt.r.rXgXtXt.r.rXt.r.r.r e.k.^XjXj.bXzXzXzXz.bXj.b e.z qXxXg./ q.zXg.U.U.cXg.o.o.V.o.c.c.o.oXg.c.o.VXg.V.o.o.cXgXg.c.V.o.VXg.o.o.bXz.^.b.^ N.kXt.r.H.H.H T.0.nXa.D hXD RX-XI BX1.e.] 3XJ.ZX, $.Z.u.Z h $XD.*.w v yXG.w U 1X,.e.e.~.e IX1 3 3X, $XD x.S [ E.F.<Xr M.>.O Y !XH !X; =XP.> =.G.>.q v.q.>XU n m 1XDX,.DXD ' g m 4 DXx.5.f ( ( ( (XxXtXt.rXt.r 3.8.` c.9XK.EXn.; S 0X>XK.0.u ~.rXj.bXzXzXz _Xz.^Xz.X.^Xk.I.&.&.&.IXg.XXg.b N.X ~.rX9.`.`.8 ~Xt.r e.^.bXz.b.bXzXz.bXz _XzXz _.^.bXz N e e.r.b.oXz.b _XzXzXz _Xz.b.V.V.o.V.V.c.c.c.c.cXg _Xz.b _.b _Xg.UXz _Xz _.V.V.c.c.c.o _Xz.b _ e ~ e.r ~ e.r.r l.^Xz.cXz.c.o.cXg.cXg.c.V.c.c.V.c.cXg.c.c.V.o.oXz _.V.c.V _.c.c.c.c.#.U.#.U.c.c.V.V.V.c.c.c.#.c.V.c.#.U.c.V.V.cXg.o.b.b.oXg.#.c.cXg.c.o _Xz.b _XzXz.o.V.c.cXgXg.c.c.oXg.c.cXg",
-".bXzXzXgXz.^XzXzXzXzXzXzXzXzXz.b.b.bXz.b.b.b.b.bXz.bXz.b.b.b.bXzXg.bXz.b.b.^XjXt ~.k.^X* 3.8 V VXXXMX3 1.} U $ h.wX,XD hXK k 1 [XnXn.jX#.' mXDXcXqX. a.Z m.eX..2.eX..eXcXh.dXb %.@.;XaXL.DXD.wX5XDXVXDX1 : x $ x x 1 1Xc :XcX1 R.a R.e.e.~X-X1X- R.eX-X,X. DXc D.-XlXw D TXcX5 k.~X- RXIXIX1 RX- R a.Z.' T (.`.H.HXd.r N.b.^.b.^Xz N.b.b.b.b.b.b.b.b.bXz.b.b.b.UXg.c.c.c.c.c.U.V.cXg.c.c.c.V.c.c.c.c.c.c.V.bXzXz _ _Xz.U.b.bXz.b.b NXj e.rXt.rXt.r.rXt.r.r.r.^.r e.r.rXt.r.rXtXtXt.^.^.^.^.bXzXz.b.^ _ F.^.X A.zXx./.t.& X.tX .t.oXg.oXg.o.cXg.V.cXgXg.VXg.cXg.V.V.c.V.V.c.c _Xg.V.c.b.b.^.b.^.bXz.k.^.rXdXVXd gXl.n.DXaXD B.~ 3.` B.`.~ '.] TX..] 1 .9 kXJXl.M aXaXL.jXGXe U.[X, a aX-XI :X-X- B.a a.,.Y n.- >.[.gX% [ nXH.O.%X;X.XKXUX; y.q =.j.qXL H = yXcX, h.Z.M 8Xa.n.0 !XV.e.8.rX*.rXV.H.rXVXtXtX*.8.aX1XlXc s.nXG.s / ^.@ vXGXG :.u.r e.^Xz.^XzXzXzXzXz e./.$ d./.zXk.b.^Xz.X.^.b.XXt.^X* c.8.8Xt ~Xt eXj.^.bXz _ _.bXz _.bXz _ _. iXz.b.b.rXj eXg NXzXz.bXzXz _XzXz _ _Xz _Xz _.o.VXg.V.o _ _XzXz.bXz _.VXgXz _ _.c.V.c.c.c.c.V _ _.b.b.^ e.r eXt e.r e.I.z.U _Xz.c.V.cXgXg.V.c.c.c.c.c.c.c.c.c.o.o.c _Xz.o.V.c.VXz.V.c.c.#.#.#.c.c.c.c.c.V.c.c.#.#.c.#.#.#.c.#.c.c.c.V.c.o.o.oXg.c.#Xg.c.V.c.bXz _.b.b.bXz.o.V.cXg.VXg.VXg.cXgXg.c.c",
-".b.^Xz.UXz.bXzXz.bXz.b.b NXz.b.bXz.b.b.b.b.b.b.bXz.b.b.b.bXzXz.b.oXz.b.z.I.b.r eXtXt.k.K.rX* ~.K VX3 `XM 1 1 h.M h.M.}X, `X. h $.< v.1Xw.O :.S.j $.1 :XlXH.eXl $ 8X. $XKXqX+ pXb ^.; bXaXL.w.w 1.'XD RX,Xc.}Xc $ `.9 T 1 :XK 3.aXI.e R.eX-.eXD.e.aX-X- B ` c : ` s $.-.9 1Xl xXKX-X- RX-X- a RX1.}.u.'.0.0 gX1.`.`.rXtXj.^.o.^.bXzXzXzXzXz.b.b.bXz.b.b.b.b.b.b l.o.cXg.c.c.VXg.c.c.V.cXgXg.c _.c.c.c.V.cXzXzXz.bXzXz.^ l _.bXz.b N.bXj.rXtXtXt.r.rXt.r.r eXt ~.r.r e.rXt.rXtXt.rXt.X.^.bXz.bXz.bXz.bXj e.`Xd NXxXx.z.z.zXkXg _.c.VXg.o.c.oXgXg.o.o.VXg.V.U.U.c.V.c.U.c.c.U.U.V.c.cXg.#Xg.b.bXz.^.b.^XdXd.r.r.H.2.n.n.n g.'X1X- B.H B.` BX- BX-X, a R R.Z 1 aXD t.M.wXeXwXGXe EXH $ aX- a B R.~ R a VXKXc.Y.MXq.[X+ X7., k mX. !X.XUXc.'XPXm.0.q.!XGXC.>.OXmXcXsX,.DXD.w.n 'XP.2 B 3 ~Xt.r.rXtXtXtX*Xt.8 ~XIXl TXK v.EXa O.=Xe u.N 0XG $.0.`.rXj.^.bXzXzXzXzXzXj F.bXk.X N.I lXk.z.zXkXg.fXgX9 ~ 3.r.8XtXkXkXj.r eXz _.bXzXzXz _Xz _ _Xz.o i.I.o.b.^ eXt e.UXz.bXz.b.bXz.bXz.bXz.b _XzXz _Xz _ _ _ _ _ _.b _Xz.bXz.o.o.b.V.c.V.c.V.c.c.c.V _.b _XzXzXj e.r e.r.r.r eXjXgXzXz.#.V.c.c.c.V.c.c.c.V.c.V.c.c.VXz _.U.c.V.V.c.#.V _.c.c.c.#.#.#.U.c.c.c.V.c.c.c.c.#.V.c.#.#.c.#.#.c.c.V.cXg.o.c.c.c.#.o.UXg.o.b.b.b.bXz.b.b.b.o.c.c.V.o.c.VXg.c.c.cXg",
-"Xz.o.^.cXzXzXz.bXz.b.b.^.U.bXz.b.^.U.^Xg.bXg.U.U.b.b.b.bXz.b.bXz.o.^Xz.IXzXj.rXjXtXtXt.k N.k ~.8X*X3 VXXXM .9.i h R h.} kXK ._.jXpXcX5.a x xX,Xe.Z.aXD.uXI.eXD R R a t u.d.s ^.; w b.!.9.E.9.'X. : $ x $ hX, $ $ hXD aX-.eXD a.a a.e.a.eXD B.eX1.aX1 B a.e.e.a.a.e R.aX-.e RXD.eX, R R RXIX,X, R.D.n.].]X1.`.H.r.rXdXj.b.bXz.b.bXz.b.bXz NXz.bXz.b.bXz.b.b l.b _.c.cXg.c.cXg.c.c.c.V.c.c.c.V.cXg.c.cXz.bXzXzXz.bXzXg.XXzXz.bXz N.r.k e.r.rXtXt ~XtXt.r.r.rXt e.rXt.r.r.r.rXtXtXgXoXdXz.^XzXzXzXzXz.^Xd.^.^XkXk.R q.t lXgXgXgXgXg.VXg _.c.cXgXg.VXgXg.cX&.U.c.#Xu.c.V i. _.#.UXg i iXgXz.b.^.b.^Xj eXt.HX5XJ.n.n s 9 '.wXD.Z.DXDXIXDXDXIXD.DXDX1 RXD B BXD B B.w.w.j.Y._ x U U.a t R B aX-XD `X+XwXe h x .[XX.l VXBX3XKXcXJX.XH.>XOXm.!.! g &XC.q & &.O.9.MXD.w.w.n '.0XOX5.8 ~ ~X*.rXt.r.r.r e.r.}Xl.'XLXL 0Xa b 2.= bXe.M.)XeXG.Z.`.8XtXj.bXzXzXzXzXzXzXz ~ e _XzXz. .IX .z.t Q.A./ 5Xx.r.r.`.8 ~.8.^Xt e.^.b.^.b _.bXz.^XzXz.b _ _.o.U.b.^Xj e e N lXz.b _.^.o.b.b.bXz.b _.b _Xz _Xz.bXz _ _XzXz _.o.^.b.^.c.c.U.V.c.U.V.c.c.c.c.c.c _Xz.b.b.bXz.^.^ e ~ eXt e.V.o.b.U.cXg.U.V.U.c.V.c.V.c.o.c.o _ _.c.6Xu i.c.c i i _ _ i.#.#.#X&.#.c.# i.c.V i i.c.c i. .#.#.#.#.#.U.V.c.c.V.cXgXg.c.U.cXg.VXg _.b.bXzXz.b.b.o.V.c.V.o.V.c.c.V.cXg.V.c",
-". i.bXg.b.^.I.U.bXz.b.c.f.cXz.b.^. Xz.b.oXg i i.b.b.bXz.b.b.b.b.b.b.b.o e.r e.rXt.r.r.^ N NX*Xj 3.`XXX3 V.-.l # x.} $ $.a kX3.Y.pX+XrXK.Y.aXD h.Y.FXD R R.~XDX1.~XD.~ R t.e.).)X6 w H H H HX>.; y s.9 sX. 1X.XK xXwXc.9 BX, ` RX-X1.ZXD.e RX, a B.eX-.aXI.eX-X-.} RXD aXD a R R : :X..u 1 :XK : $ $ $ ! g.2XIX5.5Xx.XXjXj N.b.^Xz.b.b.bXz.b.b.b.b.bXz.b.b.bXz.U.b _.cXg.V.c.c.cXg.VXg.c.V.o.V.cXg.c.o.c.b.bXz.b.bXzXz l.b.b.^.o.b.k e.r.rXtXt.r.r.k ~.rXd e.r e.r.r.rXtXtXt.r.rXt.k.^.b.bXzXzXzXzXz _XzXz.b N.b.IXk.I.6.U.bXgXg.V.o.cXg.o.cXg.VXg.o.o.V.c i.UXg.#. .U.c. .#.c.#.UXg.#.U _.bXz.b.^.b.k.r.r.H.5.2 'XC g & y x.n.0.w.w.w.w.w.w.w.w '.w.wXl 8X1XD B B.ZXa sXr.9 UXe.i.i h U.W.M $ nXp.Y U h x.l c XM.lX3.lXX `XK.9.-XJ.>X; g.0.!XUXC @XCXm.9 9.Z $Xl s.w ' g g.DXV.8 3.rXt.r.r.r.rXt ~.8 3Xq.W.s / /.= O.=Xa.9 1 xXsXL.9 cX- FXtXz.b.bXzXzXz.bXzXzXjXzXzXzXzXzXz.X.I.z N.r.k 3 ~X-XV F.8 FXt eXt eXj.bXz.bXzXz.^XjXjXzXzXz _Xz.bXz.^ e.rXjXz lXz.bXz.cXzXz.bXz.bXz.bXz.bXzXz.b _.b _.b.b.oXzXz.b.bXz.U.cXz.U.c.V.U.c.c.c.V.V.cXg.o _.^Xz.b N.^.rXj e eXjXgXz.o.#.V.c.o.UXg.c.U.U.c.V.V.V _ _.c.U.#.#.#.c.#. .# _.V i. i.#Xu. .c.#. .V.#Xu i.U.U iXu iXu iXu i.#.c.c.cXg.cXg.V.U.U.c.VXg.o.b.b.b.b.b.b.bXg.c.c.V.o.o.o.V.c.o.c.U.b",
-".Q i.bXg.c.b i./.bXz.^Xg.6.c.bXz.^.#.bXz.b.o.U.I.b.b.b.bXz.b.b.b.^Xz.^XzXjXj eXt.^XjXj.k N.X.bX*.r ~.8.}X9.,X3 #XM 1.}.a `.-X7 n.jXZX.XJ tXc < =XcXc.-XIXD.eXDXI.~ F.~.~ R.) pX=Xn ^.vX6XfXf HXp s.MXD t R.M.a.a R R a R `Xl : ` 1 `Xl.,Xl :XK : x R.~.a R.e R.e t t a R R.eXJ :X.XcX. m 1 : `.-XJ.9XU ! ! I IXx 5.AXkXjXjXz.b.b.bXz.b.b.bXz.bXzXz.b.bXz.bXz.UXz _Xg.cXg.c.cXg.c.c.c.c.c.c.c.o.c.cXg.c.oXzXzXz.bXz.bXgXg N.bXd.bXjXjXtXtXt.r.r.r.kXt ~Xt ~ eXt.r e.r.r.r.r.rXt.k.^.^ NXj.^.bXzXzXz.bXzXz.b N.^.^.^XgXg.o.c.o.VXg.oXgXg.o.c.VXgXg.V.o.oXg.U.VXg.VXg.o _.c.c.VXgXg _.VXzXzXzXzXz N NXjXt.u 3 :XwXw &.j.j.q.9 o.9 v v sXn s v v.n.9.n.w.Z 'X1.H B B 8.w.D 9.jXGXe EXq.m.d.p._X%.i E U U x xXJX3XM # h.a.a.iXM V.-.Y m.OXU s.' ' ! =.> 9XmXa.'.w.n T.] g ( B.DXV ~.rX*.r.r ~ ~.r F F B.ZXL.N / / / C.sXa.M.Z $XDXaXn.9X5X-.rXt.bXz.bXzXzXz.bXz.b.b.^.b.^.b.o.b.IXg.z.I )Xx.z.k.8.r.8.` q.k e.r eXjXz.oXzXz.bXj eXj.b.bXz.bXz.^Xj e e.rXj.b lXz _ A A.7.z.b.b.b.b.b.bXzXz _Xz _ _ _Xz _.o.b.b.b.b.o.I.o.#Xg.c.V.c.c.U.c.c.c.c.c.oXz.b.oXz.^XjXt F e e.^.VXz.V lXg.c.U.c lXg.c.V.c.c.V _.V.c.U.U.c.c.c.c.V.c.cXz.V.c.U. .U.#.#.#.#.V.c.#.#.#.c.c.#. .#. i. . .U.V.c.V.cXg.c.o.#.c.V.c.V _.b _.bXz.^.b.oXgXgXgXg.V.V.c.V.c.oXg.oXg",
-".c l.o.oXgXz.o.b.b.b.b.b.c.b.bXz.b.b.bXz.b.b.^.b.b.b.b.bXz.b.b.bXz.bXz.^.r.r e.z N e.r.^.oXgXg.bXj N.r.r.8.aX3 VX3XlXMXM 3XBXcX7 MX+.+ x.,XcXwXD 1XqXJXJ $ R RX-XI.`.`.HX- a.* UXb.)..XbX=.B ;.4 b v.n.M.*.a R R aX- RX1.eXl., :XK :XJ.0 1 : TXJXlX,X-X1.aX-X-.e R R aX- R a R aX1 h.Z.e.e t.a RXDX-.w s T.5X-.8 3.rXt.r.rXt.^ N.b.^.bXzXzXz.bXz.bXz.b.bXz.bXz.UXzXz.cXg.c.c.c.c.c.o.VXg.c.c.VXgXg.o.UXg.c.o.^.b.^.b.bXg.bXz.o.b.^XtXt eXt.r ~.kXt.r.rXtXt.kXd.rXdXt.rXt.r.r.r.rXt.^ ~XtXj.r.^Xz.oXzXz.bXzXzXz.bXgXgXgXgXg.cXgXgXg.VXgXg.o.cXgXg.c.V.V.cXg.o.V.cXg.o.V.c.c.c.c.V.cXg.oXzXz.bXzXz.b N.kXt c.HXl.j y.E.@ oXr M M.j & & &Xr.q HXU.qXw &.0.n.n ' '.uXa.D.n.wXLX>.j...mXA W %XA zXq E E EXq 1 1X3 #XX #XI c a.a a.a $Xc `Xw =XO.!.! s y.G.GX;XG.' '.0.] D gX5XDXV.8X*.r.rXt.r.r.r ~ F FX1 R v.s.) *.N u u.Z.M t.ZX1.~XL 9.9.K.8 ~Xj.b.b.bXz.b.bXz.bXzXz.^.oXz.b.bXz.I./X .zX q qXx.`Xt.8X*Xx q.rXjXjXj.^ NXzXz.bXj e e.o lX@.I.o.^ e.rXtXj.^.b.cXz _ NXzXg j.bXgXgXg.o.b.bXzXz _Xz _XzXzXzXzXz.o.^.oXg. .o.V.c.c.U.V.V.c.c.c.c.c.c.o.b.o.^.b.bXtXj.r ~ e.b.o.^.#.U.I. .V.c.c.V.V.U.c.VXz _.c.#.U.c.U.U.cXg.U.V.U.b.V.c.c.#.c.#.#.c.#.#.#.U.U.c.c.c.c.c.V.c.c.c.c.V.c.o.VXg.VXg.o. .VXg.V.o _XzXz.^Xj.^Xz.bXgXgXg.cXg.o.V.oXgXg i.IXz",
-"Xz.^.b.^.c.b.^.b.^.b.b.b.bXz.bXz.b.^Xz.b.b.o.^.b.b.b.b.b.b.b.bXz.^ N NXj.^.kXt.X./.^.r.^ N.^.b.cXg.X.k.rX*.8.8XM., VXMXX x [.SX2X2.M hX1XD R U.a.M.a a 3X,XD t a 3.8.~X1X1 8 C uXF.. *XbXbXf.4.EXG v.w a RX-.~X- B.e.e R R a a a.e a a R.eX, R B R BX-X,.~.eX-.a aX- t aXIXD.aXD $X-XD R R.a.}.M.M.n.'XPXlX1.` ~.r.rX* eXtXjXz.b.b.b.b.b.bXz.b.bXz.b.b.b.b.b lXz _Xg.cXg.c.c.c.c.c.c.V.oXg.c.c.VXgXg.UXgXgXz.b.bXz.bXg.bXg.^Xz.b.b.k eXtXt.rXtXtXt.rXt.r.r.z.X.r.r.r eXt.rXt.rXt.KXt e.r e.k.b.QXzXzXz.b _.o.o.o.o.c.o l.b.6.z.cXgXg.o.o.cXg.VXgXgXgXg.c _XgXg.V.o.V.oXg.c.VXg.c.V.V _XzXz.bXz.^Xx.kXtXV 3XMXcXGX>X>.@.jX>.E.@X>X>.@.EXp.EX+.EXmXmXwXG.n s gXa.wXaXL v 9.E HX8X>X2.<.x.x.J E E.m x.-Xc V #.K 3.u.e.}.e aXD <XD .Y nX;XwXP.'.'.' !XwXP.!.0XlXO.]X5X1XI.8.8.kX*.r.r.rXt.r.r.r.8 F B.DXL 2 * * u < t h.lXJ.9 B.n o.9X1 3.8.k.^XzXz.b.bXzXz.bXz.b NX9Xz N.b.^Xz.X.^Xk N.X.rXt F.8.k.8.rXj.r.rXj ~ e eXj.^Xz NXt e.^.^.o.:.RXzXt e.r eXj N.oXgXz _ _Xz.b.I.bXg ZX@.b.b.bXz _XzXzXz _ _.bXg.I.IX X&X .I l.UXg.c.V.c.c.c.VXg.c.c.c.#.U.o.o N.^Xj e ~.r e.bXg.^.#.#.# i.7.c.U.U.c.c.c _ _.c.#.U.c.c.6.7 i.UXg.c.c.V.o.U.#.#.U.#.c.#.c.#.#.U.V.c.c.U.c.c.V.c.U.c.c.c.V.c.V.cXg.cXg.#Xg.c.VXzXzXz.^ e e.r e.^.b.o.o.o.o.c.cXg.cXgXu.&.z",
-".bXz.bXzXk.b.b.bXz.b.b.b.bXzXzXzXz.bXz.bXz.b.o.bXz.b.bXz.bXz.b NXzXgXzXj ~XjX*.^Xj.r.k.o.b.b _.o.c.o.o.k.r ~.8.8 3XXXXXM.lXM.g [ WXp.N.M 8.M $.aXGXBXJ.9 tX,.}.M.aX- 3.`X-X-XD t.* t U CXe.sXbX6XC H s s t.eX-X-.~X-X1 B 3XIX- aX-.e R.eX- 1.2XlX,XDXl : :XD h c 1 3.a RXD B.aX1X, R R R a.aX,XD R.a.n s.' T.~.`.`.`.8.rXjXtXj.r.bXz.b.bXzXz.bXz.b.b.b.b.b.bXz l.bXz.cXg.c.c.c.c.c.cXgXg.U.c.V.oXg.#.V. XgXgXg.b.o.b.^Xg lXd.XXz.^.o.b.^Xt e.rXt.r ~Xt.rXt.r.z.R.X e.r.r.r.r.rXtXtXo.X ~Xt.rXd.IXgXzXz _ _.oXgXg.cXg.o.cXg Z.I.U.c.c.o.o.o.cXgXg.oXg.VXgXg.VXg.VXgXgXg.VXg.c.VXg.V.oXg.o.^Xz.b.^.bXgXdXV.r 3 xXc x.< vXnX2XpXp JXGXnXGXnXn JXnXnXGXG y !.j.j &XU.jXm yXC.; H.4X8Xf.<Xf.C.x W.<.F ._X#XZ ` | D #XJ 1XK ` 1 k $.a ` [ =XU.'.Z.w.n.0.' ' T.'XP 'X1.`XV.8.8.8X9Xt.rXt.r.rXtXt.r.H.`.`.w.s.N.) C.a.a.a c < x 1 C.wXG.9.aX* ~ ~Xz.b.b.b _Xz.bXzXzXz.b.b.^.b.b.b.X.b.bX X@./ q.RXt.`X*.r.XX*XtXt eXj e.r eXj NXj eXt.k N.^.:.^Xd eXt.rXjXj.bXg _XzXzXz.X.b.I.7.^.6.^.b.b.bXz.b _ _ _.bXz.b.oXgXz.7.6 A j.IXg.c.c.c.c.c.c.c.c.c.V.o. jXg.oXz.^.r.r.z.^.^.o.oXz.Q.cXg _ ZXu.b.c.c.c.VXz.V.c.#.U.cXg.#Xg.:Xu.c l lXg.c.o.#.U.c.#.#.#.#.U.c.V.c.c.VXg.c.c.V.c.U.c.c.V.cXg.V.c.o.c.c.#.VXg.V _Xz _Xj ~ e.r.r e e.^Xz.o _Xz.o.bXgXgXk./.t",
-"Xz.bXz.^XkXz NXz.b.b.^.b.bXz.b.b.^.b.b.bXz.^.b.^Xz.b.bXz.b.b.bXz N.o.rXj eXg.^.rXtXjXz NXzXz.b _.c lXg.o.^.kX*.8 3.8XJ ` Xq [X<X2.@XG x x.~XD.w.wXK.9 x $.eXD h < < $.,XIX1X,X, x.M.}.YXq v . 0 w &.EXG R R.eX-.`.e.~X- RX1 aX- a a B aXc :Xc.' D 1 B., :XJX5XJXKX. aXIXD a.aXDXD.a.a RX,XDX, hX,XD.w TXU.Z R.`.`.`.8 ~.rXtXt eXz.bXzXz.bXzXz.b.bXz.b.b.b.bXz.U.b _.o.cXg.cXg.c.VXg.V.V.UXg.o l.Q.I.6. XgXg.c.o.b.oXz N l.b.z AXg.^ N.^XjXt eXtXtXtXt.XX@.R N A.RXoXdXt.r.r.r.rXV.X ,X@./X@.A l.^Xz.XXzXzXg.c.c.IX& X.U.tX&.XXgXg.VXg.V.b.cXgXg.VXg.o.V.oXg.VXg.o.V.o.o.V.o.V.o.V.c.VXg _Xz.o.bXz.bXjXd.r ~.}X3XpXGXe p.YXp.YXGXq sXqXq v._Xq v..X4XpX4.x.j W H.; H S H w.@ ^Xf.4.{.4.{ ^.@.-.[.g.,.S., [XH.9 xX.Xc.-.YXc.O :X, 1.YX. =XcXP.D.DXD $ T.!.n.0 m BX1.H F ~.r.kXj.^XtXt.rXtXdXtXV.r.8 RXeXL.N E tXDXDX- $X,.a h tXs s.'.aX*Xt.rXzXzXz.b _Xz.bXzXz.bXzXz _Xz.b.b.bXz.X./.f qXx V.8 3.k.rXkXk.k.rXt.r e eXt e.^Xt eXtXt.XXg.:.rXd.r.r.rXt.^.^.cXzXzXz _.XXd.6.: d.6 NXz.bXz.b _Xz _Xz _Xz _.b.X.^ jXk.z.7X&.b.c.c.V.c.c.c.c.c.c.oXz. Z.^.o N.^ e ~.^.o.cXg.b.o.#.o.cXg.7.7.c.U.c _ _ _.c.#.U.U.U.c.oXg.Q j.U.I ZX&. .c. .#.U.#.#.#.c.#.V.c.c.c.oXg.c.c.c.V.c.V.c.c.c.c.oXg.V.c.U.c.c.c.V.bXz.b.^Xt.rXt e.r.r e eXjXz.^Xj.b.o.^.^.k ~",
-".^.b.b.^Xg.b N.b N.^Xz.b.bXz.b.b.b.b.b.^.o.b.^.oXz NXz.bXz NXzXz.^.o e e.rXgXk.^Xj.^ N.c.U.bXz _ _.o.U.c N./.f.K.8.u # VX3 1X<XpX2 H._XsX,.Z.MX,XlX,.w TXw.9.9.W.} hXHXK.] !XK.9 XH UXKXq.9X> H M.E M x.M.eX-X-.~X-X-XIX-X- a a a a a B a.e.aX, RX-XIX1 BX- 3 3 3X- a.` hX-X- R RX,.aX,X, hX,.M t $.wXP.0 BX-.`.`.`.8 ~Xt.rXtXtXzXzXz.bXz.bXzXz.b.bXz.b.b.bXz l.b _Xg.V.cXg.c.V.c.U.c.cXg.o.UX&Xu.U Z.z.cXgXgXg.U.b.b.o.z Z l A.7.b.b.b.^Xt.r.r eXtXtXt.:.X.uXkXkXj ~Xt.r.rX*.rX*.^X9Xx.:.X.^.X NXzXz.^.bXgXgXgXg.:.zXz j.I.XXg.o.oXgXg _Xg.V.VXg.o.VXg.o.c.o.c.V.o.V.c.o.V.c.VXg.V.o.o.o.bXzXz.^XgXdXt.H.r.` .9XqXp U u.MXe.M.a < t < t t t uXeXnXnXnXnXp.@Xf.C.@.@.CXi.v.BXi.{X>.P.s.s vX+ `XM 1 $.a R RX,X1X,XD R $ R $.FXc.1XH.'XKX,X1X; gXaXO DXU.0X1XI.`.8XtXt.rX9.rXt.rXt.r.r.r.rX* ~X-.wXe.).N R 8X1X1Xl xX, h.MX, v sXIXVXt.k.b.XXz _.b.bXz.bXzXz _ _XzXz.bXz.6 q.$XkXxXXX9XM.5.KXX.^X9 N.rXj e.r.r e.rXtXj ~.r eXt.^.R P eXt.r e eXt.^.^.UXz _ _XzXzXz i.o j./Xz.b.b.bXz _XzXzXzXzXz.bXz.b.U.:Xg.z.:Xu.c l.c.c.c.c.c.c _.c.oXzXuX .^.b N.^.r.r F e.^.o.o.c.#XgXgXu.6.:.cXg.V.oXz.V.c.#.U.c.c.c l.U.# Z.:.U.6.U.c.c. .c.#.#.#.c.#.c.c.c.V.V.c.c.V.c.c.V.U.VXgXg.c.c.V.c.cXg.#.c.c.o.VXz.^.b.^ e.r.rXt.r.r e.r e e.r e e.^ N.k ~.r",
-"XzXzXzXz.o.oXz.b.b.bXz.bXz.bXz.bXz.b.b.b.b.b.b.bXz.b.b.bXz.b.b.b.^.XXtXj.^ eXjXz.o NXg.UXz.b.o.^Xz.oXg.cXkXg.$.&.A q 5 DX# [XZX4X6 SXn p UXeX,X, h xX5XDX, 1XK Xl x 3XVX-XIXI R.M.M.}.d.M t.d vXi.@.; 'XDX1 3X1.a.a.a a.eX-.eX-.eX- a.eX- aX-XIX-.a 3 3XI 3X-X-.aXI a.a :X- a R RX,X, hXDXD h.aXD $.ZXm :.`.~.8.`.~ ~.rXtXtXt e.b.^ _Xz.bXzXz.bXzXz.^ _ _.^ _Xg.o.b l.cXg.c.c.o.V.V.V.U.V.V.cX .: A.IXkXg.o.c.c.cXg.b.b.:.RXoXz j.oXg.^.^.b.^.^XdXj.kXt.:XtXdX9.^.r.rXtXt.r.u.r.r N.r./.(.^.X.^XzXzXz.b.b.oXgXk l.:.t.R j.X.o.X.oXg.V.o.oXgXg.c.o.VXg.oXgXgXg.c.VXgXgXg.c.VXg.c.VXg.cXg.o.bXz.^Xz.oXd e.r.H.8.8.Y.9Xq x u t.MX,X1.u.a 3 c.e <.* tX, xXq vX4 > ^ wX6.sXb 0X= -.v.PXiX= p.) pXrXn # #.lX5 aX- R BXDXD.wXIX1XDX, $XMXc.1.>.'Xc 8XU.O.n ' g.2 $.`.`.8 F.H.rXt ~ NXtXtXt.rXt.rXt.rXt.` :.'Xa.=Xs.M R R RXcXc h hXs y.w.wX,XV.rXt.bXzXz.XXz l.^Xz.^.bXz.b.bXz.b.^./.$.$.f VX3X3X3XX V.f.$.k.kXtXt.rXtXt.rX* ~.rXt e.r.r N././.^.^Xj.r.r e.bXz lXzXzXz _XgXu Z.b l.UXzXzXz.b.bXzXz.bXz _Xz.b.c.U.t.7.#X& Z.c.U.V.c.c.o.c.c.c.c lXz.^.7.U.b.b N.^.r F ~ eXz.bXz.U l.c.IX&. j.UXg.o.b.V.c.U.#.c.c.U.c.c.c i.U Z ZXu.c.c.c. .#.#.c.c.#.c.c.V.V.V.c.c.c.V.c.c.c.cXg.V.c.c.VXg.V.c.c.#.c.V.c.o.b.bXz.^XtXt.r.r.r.r.r e.r.r e.r.rXt.r.r.8.8",
-".^XzXz.^.oXgXz.b.b.bXz.b.bXz.b.b.bXz.bXz.b.b.b.b _ NXz.b NXz.b.b.b.o.r N.#.^.^.b.b.^Xz.o.bXz.b.oXz.b.o.c.UXgXgXk N NXt.r.u.-XpXn ..4.. v U h :XDXD.nX, $.w h.a x.S VXK.Z B.e.* R.M u E p E *.) 2.B w H.nXI.~X-X-.a.a.e a.eX-XI.eX-.eX-X-X- R.aX5XI 3.~.e.~.e RX- a 3 aX, c a.aX-.*XDX,X,X,.}XD.a.a s.w gX9.e.H.~.`.`.8X*XtXt.rXdXz.b _XzXz.bXzXz.b.b _Xz.^ _.bXg.o.o.oXg.c.V.c.V.c.c.V.o.c.U l.U.A j.(Xg.U.c.oXg.c.o l.b.:Xg N.X j.o.^.^.b.b.^.b.^Xo.b.X 7X* ~ ).kXtXtXt.r.r.r.r.k N ~ f.I NXz.b.bXz.bXz N.oXgXg.z.:Xz l.:.o.bXg.V.cXg.cXg.c.cXgXgXg.VXg.VXgXgXgXg.c.o.o.o.V.V.o.V.c.c.c.oXz NXz.^.XXd.r.H.8.8.a c.-XGXG u a.MXD R.KX*XI aX-.eX-.e t.* < <..XG ^.{XiXb.W.s 2.sXFX=.).) *.).d.pX+.l.S :.ZX3 :X, m B DX, m #Xc.,.,XH kX; n.9 s.aX1.0.n.0XO T.~XI.8 F ~.r.rXt.r.XXtXt.rXt.rXtXtXtXt ~.HXD sXs.= 8XDX-.aXD.[XHXrXp.OX. D D.$.& A AX A d.& d AX .IXzXzXzXzXz.b.X.^ NX* 3 c 3 cX*.uX* N.k N N.b ~Xt ~Xj ~.r.^ e.r eXt.r.r.r.r e.z.6.U e e.b.b lXz _XzXz _.^Xz.^.o.^XzXz.b.b.bXz _Xz _Xz.b.o.c.Q.U.Q.I.6Xg.cXg.U.c.V.c.c.c.c.o.c.c.#.7 i.b.b.^.b ~ F.r eXz.bXz.U.z i ZXg.U.: d.#.bXz.o.c.U.U.c.c.c.c.c _ d.c l.:X&Xg.U.#.#.#.V.#.#.#.c.c.c.c.c.cXgXg.c.c.c.c.c.V.c.VXgXg.c.V.c.c.#.cXg.V _XzXz N.^Xt ~.r.r ~.rXt.rXt.r.r.rXt.r.r.8.8 F",
-"Xz.bXzXzXz lXzXz NXz.bXz.bXzXz NXz.bXz.b.bXz.b.b N.bXzXz.b.bXz N.^ N e e.X.^.b N.o.b.b.^.b.b.o.b.oXzXz.V l.UXk.X.b.k.r ~ 3XDXhX8.;X8XpX4 x E x 3X,XV $X, xX, $ a.M.9.-.-XU v.j.) p.)Xb {XbXb.BXb { w.j.' RX1.e.e.a.e hX- c.eXD.e.eX- RX- RX-XIXD.~ aX-.e.~X-.e.~ a 3.~.e.Z a R tX-X,X,.aX,X,XD.M R.W.n T.0X-.`.`.`.` ~Xt.r.r.rXdXgXz.^.b.o.bXz.bXz.b.^.b.o.^.oXg _Xg l l.V.c.VXg.VXg.cXgXg.o.6X&.o.z.:.U.oXg.c.c.o.U.bXz j AXx.t.&.b NXz.b.b.bXz.b.^ NXk.7XtX5.z ~ e.r.rXt.r.rXt.8.X N.:.I.X.^.^.bXzXzXz.b.b.o.X d.7.XX@.7 lXgXgXgXg.oXg.V.cXg.o.cXgXgXg.o.o.V.oXg.o.o.V.VXg.VXg.o.VXg.oXz.^.^.b.k.X.r.H ~ ~.8.} a.Y 1.Y x a R R B.`X1.e.` aX-.e.a.a R a t EXp . wX6XF.N.W.* u.wXq._ C t u pX4.p XH xXc., $.,XlXJXlXc T :Xw 1X#.- = ! gXG x.n.w.0XO.ZX1.H.e.8.8 ~ eXt.r.r N.rXtXt.r.rXt.r.r.r ~.`.aXGXsXs.M 8X1XD R hXh.YXp 9XwX5XJ )XxX@.t l A.t l.z.Q.Q.I.^Xz _XzXzXzXz.bXt e.r.r.rX*.r.k.^.X.^.^XgXd eXj e ~ N.^.r.k.rXt.rXtXV.r.r.r.b.X.^.rXj N.bXgXz.bXzXzXz _Xz.bXzXz.bXzXz.bXzXzXzXz _Xz.V.V.o.U _Xz l. .o.cXg.cXg.V.c.c.c.U.c _XzXzXz.^.b.b.bXt.r F e eXzXz.b.#.c.I iXg.#Xu. XgXz.o.c.U.U.c.c.c.c.c.UXu.: i.V iXu.c.U. . .#.c.#.c.c.c.V.c.c.cXg.c.c.cXg.c.c.V.V.V.c.c.VXgXg.o.c.U.V.o _XzXzXz.^Xj.r ~ ~.8 ~ ~ ~ ~ ~ ~.r 3.r 3 ~.8.8.`",
-" NXz.bXz.^ l.^XzXz.bXz N.bXz.b.bXz.b.bXz.b.b.bXz.b.b.bXzXz.bXz.b.b N.z.^ e.^.bXz.b.^.oXzXzXg.z.b.bXz _Xz _.cXk.c NXzXj ~.`X,.9X0 S w.T n z xXl x.DX, 8Xl.3.9 x 1 h.M u 8XqXrXrX8 ^ {Xi L {.P.P.BXi.4 M.>.0 T :X5.9XKXc :Xc.eXIX-X- R.~X- RX5.e 3X-.~.eX- R.eX-.eX-X-X,X1.ZX- RX-X-XDX, RX,.aX-.M.a.D.wXP.] F.~.`.`.~XV.rX* eXdXdXz.b.b.bXz.^.^.bXg.^.b.b.b.b.^XgXg l.o.c l l.c.oXgXgXgXgXgXg. .f.&.tX@ lXg.o.c.oXg.c.bXg.zX@X@.z NXz.o.^Xz.b.bXz.^.^.^XtXx.RXk.rXtXt.r.rXtXt.rXtXtXg q./.RXzXg.bXz.bXzXzXz.b.bXz.I q l. ./XgXk.bXg.c.o.VXgXg.V.VXg.cXg.c.oXgXg.c.V.o.VXg.o.VXg.V.c.o.o.b.b.bXzXzXt.^.r F.`.8XI.8.a 1.Y nXw t < RX-X-.`.e a RX1 R R t.a a.*XeXpX6.{.PXb U U a < a <.M a C tXeXn.xXB .l.l.a.a RXIX- R.ZX,X, $.}Xl VXc =Xw g.n $ '.0.| @.Z.K c.k.8 ~.rXtXtXtXt.X.rXt.rXt.rXt.rXt.r.`.HXD vXa.W.W RXlXlXl.* $Xe..XL.9.~.K.u N NXj.bXzXz.^.b.^.^Xz.bXz _Xz _XzXz.oXj F.8 ~XV.rXt.r.X.b.X.bXjXj e e ~.rX@Xk )Xk q ) qXxXx qXxXt ~Xt.r.rXt.^ N.o.^Xz _.oXj.b.oXzXz _Xz _Xz _Xz _Xz.bXz.b.V.cXg.c.o _.b.#.c.c.b _.c.U.o.cXg.c.cXzXz.oXz.o.b N.^Xj.r F ~.^.bXz.o.IXg.c.o.U.c.c.o.b.bXgXg.c.c.c.c.c.VXg.UXg.V.c.#.U.U.#.#. .#.U.c.#.#.c.c.V.c.V.V.c.c.c.V.c.V.c.c.c.VXg.c.o.cXg.o.U.oXzXzXzXzXzXzXj.r ~.8.8 F.`.8.8.8.8 F.8.8.8 ~.8.8.8.8",
-"XzXz.b.^Xz l.bXzXzXz.bXz.bXzXz.b.bXz.b.bXz.bXz.bXz.b.b.bXzXz.bXzXj.^.IXg.^.b.^XzXz.^XzXz.^.c.U.b.bXz _ _ _.o.oXkXkXg NXt.H BXG 0 *..X0 M.Y xXe 3X, $X5XcX;XwXUXc xXG 1.p.pXf.@X:X8 ;Xf.4 L L ; L.P.4XmXcXDXd 8 $X,.MX,XD.uXI.eXDX-.~X-X-.K.u.e.u.e RXI.a.~.e R.eX1.e BX-XI BX- R RX1 hX1 c a a.M.ZXG s ! : B.`.`.`.`.H.r.r.uXtXtXz N.b.b.b.X.b.b.^.^.oXzXz.X.b.o.o.o.bXg.o.oXg.c.oXg.cXgXk.b.XXg.b.b.oXg.o l.o l.cXzXz.bXgXd.^ N.b N.^Xz N.^.^.^ e e e.rXt.rXkX9 N e.r.r.r.rXt.r.kXx.^.^.^.^.^Xz.^.b.bXz.^.^Xz N.b.oXgXg.o.oXg.cXg.cXg.o.oXgXgXgXgXg.VXgXgXg.oXgXg.cXg.V.o.b.b _.b.bXzXzXz N.^ e.r.^.r ~.H.8.H 3.aX,.- y n.*.M R R.eX-X-X1 hX1 BXD R R a <XeXp ..4.PXF *.MX-X-.e 3.~ B a.* C.sX4.j x.i.i t.a.e a 3.MXD.ZXs h hXB.9Xw.>.! y.GXy @XU gXJ 5 (X9.K.r.r.r.r.rXt.^.rXt.rXt.r.r.r.r.r ~ 3 B v 2.N U t.ZXc U.M U.W bXGXlX1X9Xt.^ NXg.^.b.X.I l.^.^Xz.b l.b _.oXzXx.^ N ~ F ~.r.r.X N ) N.b.XXdXjXtXtXt.rXXX3.$.,XX ).$ D.$ (.5.r.rXt.r.rXtX* N.^.^.^.b.bXzXzXzXz _.b.bXz.bXz.bXzXzXz _Xz.b.V.cXgXz.o.o.#.o.oXz.U.c.V.c.c.V.c.oXzXz.^.b.bXz.bXj ~ eXt e.^Xz.o.c.U.o.c.cXg.VXg _.o.o.cXg.c.c.c.c.UXg.c.c.U.c.U.U.c.#.#.c i.#.c.#.c.#.c.V.c.c.c.V.c.c.VXgXg.c.c.VXg.VXg.c.o.cXgXz l.bXzXzXzXzXzXj e ~ F.8.8.8.8.8.8.8.8.8.` F.`.8 F.`.`.`",
-"XzXzXzXz.^Xg.bXz NXzXz.b.b NXzXz.b.bXz.b.b.b.b.bXz.b.b.b NXz.^.^.r.^.b N.^.b N.bXz.oXz.b.b.oXz.bXzXzXz _ _.b.bXk.cXk.bXt.HXD x b.)X=X2 vXe.w $X,X,X,.ZXD 'XlXJX.Xw.-XpXnX>.x ;Xf ^Xi.BXi.B.B.P L.C H.Y.nX1 B.e B t t aX- R.eX-.eXIX-.e :.G.uXl.,Xl R c.] `Xl 3Xl $XlX5XlXJXK.'.H 1 3XD RX, a R R $.n.'.2X1XI.H.HXI.H.H.kXt.^Xd.^.XXz.b.X.o.b.o.XXgXg.XXxXg.oXx l.UX9 l.XXg.U.I.U.I.U.U.z.I.I.U.I.I.z.#.U. .#.Q.Q.Q.z.z l. Xk.zXk.z lXk l l l l.UXg.X.^.o NXgXx.R.z.X N.X N N.X NXg q.zXx lXk l l l l.U l.c.U.U.U.z.I.Q.U.I.#.#.#.#.#.I.#.U.#.I. .#. .I.#.#.#.#.#.#.#.I.#.U.cXg.c.cXk l lXx.oXz.^.^Xx.^Xt.rXt c.u c 3XcXc =.M hXDX1.Z cXl $ 3 $ $ $.w 3 U.M x.jX>.4 ;.. v $X,.H #X5XD 3XDXDXe vXnX> W.gXB ` h 1 cXlXJ s x 1 1XwXJ.[X;X;.!.0 ! ! '.Z.5.HX*.K.k.k N N N.^ N.XXxXo.^ N.k.K.^ N.^.kXtXVXD yXnXpXG $.ZXI.Z.ZXL v.@XG.ZXV.5.^.X.X.b.b.b.b XX d AX&Xk.IXx.IXkXk.I.I.k.rX*.H.rX9 N N.z lXo.o.XXt.r.kXV.8XX c.K h 3 $ ) c.k.u.rX*.r.r.r.rXt.r.^Xt.kXj.^Xz _.o _Xz _Xz _XzXzXz _Xz.b _XzXz.VXg.cXgXz _.c.UXgXz.V.cXg.o.c.cXg.c _.b.oXzXz.b.b.^Xj eXkXk.b.^.bXg.U.U.o.cXgXg.c.c _ _Xg.c.U.c.c.c.c.c.cXg.c.c.V.c.#.#.#.U.#.#.#.#.#.c.#.U.c.V.V.c.cXg.VXg.c.V.c.V.c.c.cXg.c.c.o.oXzXg.^Xz.b.b.^Xj e e.r F F.8.8.8.8.8.8.8.8 F.` F.` F.`.`.`",
-".^XzXzXzXz.oXg.bXzXz.bXz.bXz.b.bXz.b.b.bXz.b.bXz.b.b.b NXz.b.^ e.^.X.X e.b.b.b.b.^.bXzXz.b.bXz.o.^Xg _XzXzXz.bXgXk.UXkXj.rXIXDX> 2X= & y 1.-X,X,XI.uX,XV $X,XD.ZX, R u.)XbX6.P.BXFX= /.v.)X= -.P ^X0X0X. 8.DX-X,XDXDXI RX- 3X1XIXI.uX-X3.%.3.,.%.%XK :.-.,X.X.XcXJXJ IXw 5.,.% : mXK x.K $ c $ c g g.>XOX5 '.k.u.k.uXoXo.5.^.^.b.X A ].z.X.XX@Xg Q.Q.I.z.z q l ] (.^Xd.rXx A iXk l l.&.6.z.z./.z l.I./.I.c l l.cXg _Xz.bXk.b N.o.^.b.b NXz.bXz.^.^.b.^ e e ~ e.rXj.r ~.r.r.rXt.r.r N.^.b.^.^.^.^Xz.^Xz.^Xz.b.o.o.cXg.bXg _.V.c _.oXg.o.o.b.V.o.o.o.o.o.o.o.o.b.o.o.o.b.bXz.^Xz.^.^XzXz.^Xj e.r.r.r.^ ~ F.` F.`XIXI a cXK.j.a.e a RX,X- a.eXD 3 a B.a.e a.e._XnXn ; {XF.M.eX,XV.`.HXI.H B.e tXe._.. .X+.Y $X< :X.Xl #XJ x v.9XB., [Xw.OXm.nXa.0XUX1XI.~.8.8.8.8.kX*XtXtXt.r.k.kXt.kXjXjXjX*XjX*XjXVXI.D v.WXe.M hXlX5Xl.wXGXG 0 y 3XoXxXx.U lXgXk l.z d.z.t.t.IX@.&.& fX .( f ,.R P q f f.| Q.t Q Z.f P.& QX@ ] ) cXJ IXJ |.,XJXc.,.$ q.$ qX9.XXxX*.kXt.5XtXjXj N.b.bXzXzXz.bXzXzXzXzXz.^XzXz.^XzXzXz.V _.VXzXz.cXg.cXj.c.V.c.c.cXg.o.bXzXz _.bXz.b.^.^ e.r ~.oXk.^XzXg.#.UXgXg.oXg.VXgXz.VXg.V.V.c.c.c.c.c.c.V.c.c.#X&.c.#.# i.#. i.#.#.#.#.U. .#.c.V.c.c.V.c.c.V.c.c.c.VXg.c.c.o.b.bXzXg.^.^.^.^Xj e.r ~ ~.8.8.` F.8.8.8.`.8.8.8 F.`.`.`.`.~X-",
-"XzXz.^Xz.b.bXgXz.bXz.b.bXzXz.b.bXzXzXz.bXz.b.b.b.b.b.b.b N.^.^.r.rXd lXj.^.bXzXzXz.^.bXz.^.^.b.^.b. .UXz _.o.X.b.o.U.z.oXtXVX,XK 2.s.j MXeXK 1 c hX5 $ x $ 1 x :.' sXeXpX6 ;.4.v.. O.s v.s.v 2Xi.@ H.+ y.2 D.,.-XJ.- h RXD R R.a RXV R.5Xl.K RXVX,.e cX5X1.MX-.a.u 3.a.uX-X-X-X-.eX-.~.Z B aXI 8.9XPX..] D ).$ (.RXx.$XxXk ~XtXjXd.RX@ A.RXk.t N./.RX@.& Q.t.&.t.f.8.r.rXg.R.AX&.(.zX&X&X&XuX XuX .cX&X X&.U.c.c.c.o.b.b.U.^.^.b.o.^.b.b.^.bXz.bXzXz.^Xj.r eXt e.r eXt.rXt.r.r e.r.XXjXj.b.b.^.b.bXzXzXz.bXg.c.c.o.V.c.c _Xg _ _.o.c.oXg.V.c.cXg.oXgXg.V.o.VXgXgXg.V.b.bXz.b.^.b.^.^.^Xt e.r.r e.r.^.r ~.8 FXI.8.8.8XIXKXG.Z U.9Xl R :.M `XK xX5 mX, ` <.9.iXp.@.{ {.d.W UX5X-X-.~.~.HX-.uXDXe._.).mXn.p.F 1 x k.-XJ n.3XcXH.3.1Xh.G @.w.nXL.'XPX1X-.8X-.8.8.8.rXtXtXtXtXtXd.^XtXtXtXtXt.rXtXt.u.8.H.n.s.).) UXwXcX, $XL s.s o v.`XV.b N.^.b.bXz.bXzXd.X.^.^Xz.^.^.XXt N N.^ FX@ 7 qXk.$.z.I.R d.R.R.I (.I ].R )Xt # c #Xl # :XM.5X9.5.5XxXo NX9Xo N.kXk.^ N.^.b.U l.U.c.#.U.c.U.U.c.U l.U.U.c.U.U.V.I.I.UXg.c.6.#.V.U.U.U.U.c.c.c.o.bXg.b.^.oXzXz NXj e ~ ~ ~.rXz.^.o.c.b.o.o.c.cXg _ _ _.c.c.cXg.c.cXg.c.c.c.c.V.#Xu. .# iXu. .#Xu i.#. . .U iXu.#.c.V.c.cXg.c.c.c.c.c.c.VXg.c.o.b N.bXgXj.^.rXtXt.r.r.8 F.8 F.8.8.8.8.8.8.` F.`.`.`.`X-X-X-X-",
-".^.^Xz.bXz.^.c.^.^XzXz.^Xz.^.^.^Xz NXzXz.b.b.b.b.bXg.b.b.oXg.^.^Xg NXk.bXkXgXk lXk.c.U l.U l.U.U dXu.z.U l d d.t.R.t.t Q q.]XJXwX>.) &.j.M E.M hXD h 3X,.MX, $.a hXD.).).BXf { - * C.* 8 t.*.N G 2 wXmXc $XD RXK aX, cXD.~.~X- B.~X-.` cX5.`X- RXI a.e a R aX-X-X-.uXIX3.u.aX-.~.aX-XI.ZX- BXD.9.' g.2X1 DXo ) q 5.$X9.$.&Xt.r e.k.^ N.^Xj.^.^.k.bXgX9.bXxXg.XXx.X.r.8.8Xt.X.U q.#.U.U.U.#.U.U.U.c.c.c.#.U.cXg.cXg.o.oXz l.b.b NXz.bXzXz.b.b.bXz.^.b.b N.^.^XjXjXt.r.r e.rXt e.r.r.^Xj.^Xz.^.b.bXz.bXz.b.cXg.V.VXgXg.o.V.V.cXg.o.cXg.VXg.oXgXg.VXg.VXg.oXg.c.V.o.oXz.^XzXzXz.^.^.bXjXj eXtXj.^.^ N.X ~.r ~.H ~.8.` 3X-.9.'XJ hXc.- x.OX5 |X.X5 xX.XKXK xXHXpXnX4 w %.).W $.a.e a a.e.u.e 3 3.a u.)X= ..jXM.l h.a.aX5XD $.}.} ` `XH n.9Xa.>XPXP g.5.`X-.`.8 ~ ~.u.r.r.rXd.H.^X5 e.rXt.rX*.rXtXt.r.8.ZXL.=.).N <.}.u.aXD.M O.sXG U.8.k.X.bX .I./Xz NX@ d NXz.XXg.X.XXtXtXj.^.b.rXjXk e.X.^.b.^XzXg.b.^.^.b.XXg l.r.rXt.rXt.r.r.r.r.r.u.r.r.r.r.r.r.rXt.r.k ~.r e eXzXzXzXzXzXzXzXzXzXzXzXzXzXz _Xz.b _.o.V _ _.U.6.U.c.U.U.U.U.c.V.c.c.c.c.U.U.U.U.U.U.o.b N.b.bXgXk.#.U.I.c.U.c.#.U.#.U.U.#.#.U.#.c.c.c.U.U.U.c.c.V.c.#.#.#.#.# i.# i.#.U.#.#.U.#.#.#.c _.c.V.V.c.c.c.V.c.c.cXg.c.bXzXzXk.^Xj.rXj.rXt.8 ~.` ~.8.8.8.8.`.8.8.` FX-.`.~X-.8X-X-.~.`",
-".o.oXgXgXgXg qXg.c lXk.cXk.U.U.U.U.U.U l.U l.c.U.c lXgXkXg.b.^.^.b.kXg.X.o.b.o.b.b.b.bXz.b NXz.b N.o.^XzXz.zX@ f.& Q.t Z.& qX3.jXG.) WXr E.M t h.}.}.MX,.}.M U x.MXD pXbX6 L {Xv.N.*XlX1 8 R C.) 2 ^X;Xm.w R.ZXD ` < cXV.eX-.*X-.~.eXV.K 3 3XI RX1.e aX-.e.e R a.~.e.u c cXI.eX1.eX1X,.*X1X-.w TXcXO $X1.u.`.r 3.r.r.HXtXt.^.^ N.k.^ NXj.kXtXtXj.^ N N.b.b N.b.z.$ c.u.r NXkXk lXgXgXg.V.c.c.cXg.cXgXg.cXg.oXg.V.cXgXg.b l.^.b.^.b.b.b.bXzXzXzXzXz.^Xz.b.bXz.^ NXt.r.r e.r.r e.r.r.b.^.^XzXzXz.bXzXzXz.b.cXgXgXg.VXg.V.cXg.V.V.V.cXgXg.V.oXg.V.o.o.oXg.oXgXgXg _XzXz.^Xz NXz.^.^XtXtXj ~XjXdXz.^.I./.XXd.r F.8.8.8.`XI.u.jX;.i.M CXD.Z h.aXDX,X,.wXDX,.M U.jXnXf.CXfXe.W.9XM 1XlXM c TXXXJ :XM x.@.s vX+.F xXM.l 3 hX,.a 3XXXMX3.,XUXl sXaXOXPXU '.~.8 ~.` ~.k q q )XkXxXo.kXt.rX*XtXj ~XtX* ~ ~.H sXs /.N C UX, cX,.M s 2XL.9 a FXoXg.^.t.t.tXg A.t A P QX@.&.(Xg P N e e.^XjXj.r.b N.^.b.oXgXg.b.bXg l i d d e eXt.rXt e.r e.rXV.r.r.r.r eXtXt.rXt.k N.r e e eXzXz _XzXzXzXz _XzXz _Xz _Xz.bXz _ _Xz.bXz _.U.#.c.V.c.cXg.oXzXzXzXzXzXzXzXzXzXzXz.^ e.r e ~.r.^.bXgXz.UXz _.b _.U.U.U.U.U.U.U.U.U.U.#.#.#.#.#. . .# i i. i iXu.#. . .#. . . . .U.U.c.c.U.U.c.c.c.V.cXg.c.c.cXgXz.^.^Xg e.r.r.r.r 3.8.8 3.`.`.8.`.8.` FX- FX-.`.~ 3.~.~.`X-.8.~",
-".o.o.o.o.b.o.UXg.b.b.b NXzXzXz.^XzXz.^.^XzXz.^XzXzXz.bXz NXj.r.r eXt.b.X.b N.b.^XzXzXzXzXzXz.b N.b.b.b.o.^ N.X.QXo.oXg.6 N ~XI 1Xn.) 0 &X>XG._.W.W <.M U.M.WX,Xe._ u - - { ;.BXv C 1.>XK.a t.*.N / 0 = =X;XK.Y.-.-X..aX-.~.~.eX-X-.eX-.u.eX-.`X, 3 BX-.e R.eX- aX- aX-X9 R.K.}X-XI.aXDX1.M.*.Z.0XPXJX1.H c.8.k.rX*.r.k.rXd.5 NXz.^.b N NXg.^ eXj.b.b.b.b.b.b.o q f.$ 5 5X@.f lXgXgXg.c.c.c.V.c.V.cXg.V.o.o.V.VXg.cXg.c.o.UXzXzXzXzXzXzXz.^Xz N.b.b.^.b.^.^.^ N.b e.r.r.r.r.rXt eXjXg N.b.b.^.bXz.bXz.b.oXg.c.V.c.c.c.c.VXgXg.VXg.VXgXg.o.o.oXg.o.V.o.VXg.o.V.o.bXz.^XzXz.^.^.kXj e.r e eXd.^Xz.b.^ l.k.r.r ~ ~ ~.8.8X1 B 1.' x.M.aXD.aX- tX- R RXDXD RXe.-Xr.. H S.4X0XsXD.WX,X7 h 1 #., cXlXK xXnX4X2.EX+ .lXM 1XK.}.} c.lXX.-XH g $.w.D ' '.0.0.`X-.8.8 3.X.$ q q D q.HXdXdXtXt ~X*XtX*Xt.r 3 $.w.=.= u.W `XD.} c.M v O b xX- ~.o.XXz.U l.UXgXx q (XkXx.z.z q NX ./ F.r.^Xz.^.^.X.b.^ NXz.o.b.o.z.6X& A.z _ ~ e e.r.r.r e.r.r e.r.rXt.r F e F e ~.kXj e.r eXj _XzXz _XzXz _XzXzXzXz _XzXz _XzXz.bXzXz _.o.U.U.c.c.cXgXg.VXzXz _.b.b _.b _Xz.b.^Xz e eXt e.r.^.bXgXz lXzXz _ _.oXgXg.V.cXg.c.c.V.V.c.cXg.V.c.c.c.V.#.c.#.#.#.#.U.#.U.c.#.#.#.#.c.U.U.U.U.#.U.U.#.U.#.#.#. .#.I.U lXk.I.b NXz.kX*.r.8XV.` ~X* 3.r.` 3.8.`X-.`.e.`.e.`X-.~.~.`.~",
-".b.b.b.bXz.^.o.oXzXzXzXzXz.bXz.bXzXz.bXz.b.b.b.b.b.b NXz.^XjXjXt.r.r.bXg.^Xz.b.b.b.bXz.b.b.b.b.bXz.b.^.o.bXz.^.X.b.oXg.z NXtXI x JX= 0 w &Xf v.W u.W._Xe.N U.N.) p._XF.B {Xf.B.).N U aX-.a R t C /.NXC.j s.WXDXD UXD.~.eX-.~ B.e.eX-.~ 3.~X-.eX- cXD a RX-.~.eX- a.`.e # c.~XDXI R.e B.D R.DXl.wXU.0X-.`X*.`Xt.r.r.r ~XV.^.b N.b N.b NXz.b.b N.o.b.b.b.b.b.b.bXg 5.z./ q q.z lXg.o.V.c.c.c.V.c.c.cXg.c.V.cXg.cXg.o.VXg.o.UXzXzXzXzXzXzXzXzXzXzXz.^.b.b.^.r.^ e ~Xt.r.r e.rXjXd.^.^Xg.b.bXz.^.b.bXz.bXz _.o.cXg.c.oXg.VXg.V.V.o.c.o.oXg.o.o.VXg.VXgXgXg.VXg.o _XzXz.b.b.^.kXt e.r.r.r.r e.^XzXz.b.^.X e.rXdXt ~.` F.8.`X-.w xXp 1 R a < R a R t $ '.M h.- M.h.y.y.+ H.@Xs.M t t a < < aX-.~X-.*.* < p.)XnX+.jXB.Y.iXBXM.lXMXM `.- g '.'.w B 8X5.n DXIXI.`.8.5.5X9 c.k ).r.HX9.rXtXtXt.r.k ~.rXV.uXK.W.WXs.NXw.9X, <XDXeXe vXG.}.8.r.X.b.b.b.^ NXx Z.RX@Xk.R.z qXkXxX*Xx F.rXt.X N.o.k N N.bXk.U././X@.6XxXzXz.b.r e.r.r.r.r e.r e.r.r.r eXjXd.zXkXx.r.^Xt.r e ~XzXzXz _XzXz _XzXzXzXz _ _Xz _Xz _Xz _XzXz _Xg.#.c.c.c.c.cXg.VXzXzXzXzXzXz.bXz.bXz.b.b ~Xj.r e.r.^.b.o.oXg.bXz.bXz.b.VXg.VXg.V.c.c.c.c.c.c.c.c.V.c.c.c.#.c.#.#.#.#.U.c.c.c.c.c.c.c.c.cXg.o.V.o.V.o.o.o.o.o.o.V.o.o.#Xz.bXg.^ e.r ~ ~ ~.u c qX*XIXVXV.K 3X,.uX,.uXV 3XVXD.u 3 x.uXM",
-"Xz.^.^XzXz.^.o.c.^Xz.bXz.bXz.b.bXz.^Xz.^XzXzXzXzXz.bXz.bXj.r.rXjXt e N l.^Xz.b N.bXzXzXz.bXzXz.^.b.bXzXz.b.b.^ N.b.b.c.c.o.k.8XD.EXv 0 0 SXC ^.s.s...s........Xn . .Xf.J.B.{.B *.).* tX,XJXc.* U.N.vXC 9.wXLXeXL U.Z.eX1.~.eX-X-X1X-.aXIX-.eX-.~XDX-.HX- B.e R.e.~ R.~XI.uX- RXD.D B R R 8.ZXK.'XO.0.`.`X*.H ~.rX*.r.uXd.rXo.b N.b.bXz.b.^XzXz.bXzXzXz.b.bXz.b.o qXkX9XgXgXk.c.c.c.VXg.V.VXg.V.o.VXg.c.VXg.cXgXg.V.o.c.o.UXzXz.b _ _.bXzXz.^Xz.^ NXz.^Xj e.z q.zXt.r e.rXtXj.b N.^XkXzXz.^XzXzXzXzXzXz.b.o.c.o.V.o.V.VXgXg.V.o.cXgXg.VXg.o.oXg.oXgXg.oXg.V.o.bXzXz.^.^Xj e.r.r e.r e.rXj.^.b.o lXgXg e.r.r.rXt ~ F.`XIX-.aXcXnXpX,.* RX- <X- `XHXw nXw.1 MX:.4.4 ^.v.W.*.9.- xXBXKXKXJ 1X..2Xc.9X+Xn M 0 0 ^.j.jXBX7.lXMXM gXU s.w.DX1.' R.nXa (.uX-.8XV 5 I.$.$ I q.|.k.KXd.uXtX*.r ~.K ~.HX5 s.NXs.NXDXD.9 RXD.M v v bXG B ~.r l.b.bXz.b.oXg././.f.&.f.f QX@ 5.8 F ~.r.k.X N.XXk.R.R.&.&.I.z./XkXj.o.^.bXjXj.rXtXtXtXt.r e.rXt e.H.r ~ eXgXg.X e N e e ~ eXz.b _XzXz _Xz _XzXz _XzXzXzXzXz _Xz.bXz _ _.c.#.c.c.V.c.V.o.bXzXz.b.b.b.b.b.b.b.bXz eXj.bXkXjXt.^.o.b.c.o.bXz _Xz.b.c.c.c.c.c.V.c.c.c.c.c.c.c.V.c.c.#.U.#.U.c i.#.#.c.c.c.c.c.c.cXg.o.o _.oXg.c.VXg.VXg.VXgXg.VXg. Xz.c.b.b.^.r ~ F.8.`Xt.$ ( ) qXV ) :.5.u : `X, h RXq.aXG.-Xp.Y",
-"XzXz.^.bXz.^Xz lXzXz.b.bXz.^.^.^ N.b NXz.b.b.bXz.oXz.^.b.rXj N.I.rXt.bXk N.b NXz.b.b.b.b.b.b.bXzXz.bXzXz.b.b.b.oXz.b.U.c.oXt.8XD y ^X=.@.@.;X> 0....XnXp....Xn._ .X4..XA.CXfXb * G.* R tXU h.e.N.)X=.E o.sXaXL.s.wXa.w.~X1X1X-.e.e.~ 3.e a.`.e aXIX- R 3 R.~ a.~ B.e B BX-X-X1X-XDX1X,.' T s s 'XK.0.~.8.k.`.kXtXt.8XdXd.r.^.b.^.bXz N.bXz.b.oXz.b.bXz _.bXz.oXg.I.UXg.cXg.V.c _.c.c.V.cXg.c.V.VXgXg.c.o.V.V.cXg.VXg.c.o.UXz.bXzXzXzXzXzXzXzXz.^Xz.^XtXj FXj e.r.r.rXt eXtXd N.b.^XgXz.bXzXzXzXzXzXzXzXz.oXg.VXg.c.c.VXg.VXgXg.cXg.VXg.o.o.VXg.VXgXg.VXgXgXg _XzXzXzXj e.r eXt.rXt.r e.^XzXz.o.#.I.z eXd.r.rXj ~ ~ ~.H R tXc.pXr.a.a a aXD 1.2XH y $XG.F.EX2XAX6Xi.)Xs C 1XKXK : U 1 :XlXl.9.- vXpX4 S.@Xv.vX6.;X+ n.-.-XBXwXw.'Xa.n t : c.0XaX5 gXl.8.H 3 ).KX*X*.k.u.5XV.5 ~Xg q ~.K.rXVXVXVX5XL 0._ u 8 R.~ 8XD U v.s.Y.Z.` ~Xt l.bXzXz.b.b.X./Xk.5Xx N N N N.k N N.XXx.I.I q.&.AX@.$.I.z.I.b.^ N.oXz.b.bXj ~ eXt.r.r.r.r.r.r.r.r e e e e.^.k e ~.^.r.r e.^.bXzXzXz _XzXzXz _XzXzXz _XzXzXzXzXz.bXz _.b.c.#.c.c.cXg.o _XzXzXz.bXz.b.b.b.bXzXz.bXj e.6 q.o e.b.o.b lXz.b.bXz _.b.c.c.V.V.V.V.V.c.V.c.c.c.c.c.V.c.U.c.U.U.U. .U.U.c.c.c.cXg.cXgXzXzXzXzXz.o.c.o.o.o.o.o.V.V.V.c.cXz.U.^.^.^ e ~.`.8.`Xd.8.X.5.uX*X5.K.,XM.3X. [.Y.[ =X< 1XqXq._",
-".b.b.^.bXzXzXzXgXzXz.^Xz.b.b.b.bXzXzXzXz.bXzXz.bXz.^.bXzXt ~.rXj.rXj.^Xk.b N.b.bXz.bXz.bXz N.b.b.b.b.bXzXzXzXz.^.bXz.V.cXg.^.HXI o...) ^..X0 S .Xi .X2X:.xX:X2 ..x.xX2.xX>X4.s U.N.*.*.*.DX,.eXw.s 2 HXmXm o & b vXL $XD.~.H.e RX- 3.e `XKX- RXIX5 3XIXI.ZX- B.~.e R.~ RX- B RXl.w.'XK.].' TXP ! g.D.`.~.kXV.r.rXtXt.rXd.HXzXo.oXz.^.bXz.XXdXz.bXz.bXz _XzXz _Xg.# l.c.c.o.c.c.c.c.V.VXgXgXgXg.o.c.VXg.V.VXg.V.cXg.c.c.b.UXz.bXzXzXzXzXz.bXzXzXzXd e eXt eXt.rXt.r e.r.r.r.^ N.^Xz l.^.b.bXzXzXz.^Xz.bXz _.o.V.V.V.o.o.oXg.VXgXg.o.VXgXg.oXg.cXg.VXgXg.V.V _.bXz.bXjXj e.rXt.r.r e ~ e.b.^Xz _.cXg lXd.r.rXt e.r F FX-X1XDXK nXr.Z RX- a.-X.Xc s.Z U.wXnX4X2 { - - p.M a R.e R a.e R R BX-.* a.d.*Xb.)..Xi ^.@Xi.vX4XpXn s.q oXa.w 8.eX1 TX,X5.n g )X- 3.u ) )XX )X3Xx ) ~X9 ~ ).$.f ~X*.u.H.D.n.N.) t aX,.wXDXD.MXs v vXpXD.8.HXd.cXz.b.bXz N.b./ q.f.f 5.&./.A N.&X .6.6 d.I.#.Q l.o.oXzXz lXz _ _.^XzXz _Xz.o.^.^ e e.r eXt e.r.r.r.r ~ e ~ e.r.r.X e.r e.^.^XzXzXzXz _XzXzXzXzXz _XzXzXz _Xz.bXz _ _ _.c.#.VXg _ _XzXzXzXzXz.b.b _.b.b.b.b.b.b e e e l.rXj N.bXg.cXz.b _Xz.b _.V.c.c.V.c.c.c.c.c.V.c.c.c.c.c.U.#.#.U.U.#. .U.c.U.c.cXk.c.oXzXz.^XzXjXzXz.V.o.o.o _ _XzXzXzXz.o _.U.bXz.^XjXt F ~ F F F.`.`.8.` 3X5.a.i.Y.YXB x E U EXeXp",
-".^.bXzXz.^Xz.^Xg.oXzXzXz.bXzXz.^Xz.b.bXz.bXzXzXz.b.bXz.r.r.^Xg NXjXj.^Xg.oXzXzXz.b.b.bXzXzXzXzXz.bXzXzXz.b.b N _ _Xz.o.UXgXzXtXIXp.s M J..X>X8.<.p r.y.p.<.[X+ W.jX%XpXnXp.pXpXLXeXa C.*.M R.* C /.= O.W 2.=.v.E 9Xa.Z B.~ 3.aXVXDXIXl $ cX1XIXDX1XIX-.eXI 3 R 8 RXD 8.M T T.]XJ DX;.%.G K.O.0 D '.` ) P (.A.k ~ QXx f ( fX@.( d.tX&.t X l.bXzXz _.bXzXz.o l.o.#Xg.c.c.V.c.c.V.cXg.c.c.c.cXgXg.cXg.V.cXg.c.o.cXg.c.c.b lXz.XXzXzXzXzXzXzXz.^.^ e.r e.rXt.r.r eXt.r.r.r e.^.^Xz.^ lXzXzXz.^ N.b.^.^Xz.^Xz.b _.o.o _ _.o.o.V.o.V.cXgXg.V.o.oXg.o.o.VXg.o.bXz.^Xz.^Xj.r.r.r.r.r.r.r.^.^.^Xz.#.U.b.^ l.^Xt e ~.r.r ~.8 FX1 R.Y.pX+XD a aX-X- a R x.Z v xXpXf.xXAX6 u E t.} RXIXI.Z.aX1 3X,.} a < *X=X=XiXf %X=X=X=.sXn.) 2.s o.j.nXa R B.eX- BXaX5 T.0X-.8XIXt 3.u.rXV.r.u.k.KXt )Xk.KXxXoX9.5X5.n 2.).M.}X,.Z R.aXD.d v.@ hXI.H eXj l.bXz.bXzXz.b.^.X N N N N.K.bXz.b.^.bXzXz _XzXzXj.bXz.b.bXg.bXzXz _Xz _XzXz.b.bXz.^ N.b.^Xj e.r e.r e eXt.r e.^ e.^ ~ eXd.b.bXz.bXzXz.bXz.bXzXz.bXzXz _XzXz _ _XzXz.b _.c.# _ _Xz _ _.b _XzXz.bXz.b.b.bXz.b.b.^Xj ~ eXj e.^.b.o.UXgXz.b _Xz _.b.V.c.o.c.V.V.c.V.c.c.c.c.c.U.#.#.U.#.U.c.U.#.c.c.c.c.c.c.o.^ e e ~ e e e.^XgXg.bXzXz.^XzXzXz _.V.U.c.o.bXz.^.^.r.r F.` F.`.8X-.}.} 1.- h h.}X, h E.} < t a.} t",
-".^.b.^Xz.^Xz.b.b.c.^Xz.^XzXz.bXz.bXz.bXzXzXz.b.bXz.b.^ e.^.r.rXt.r.b N.bXkXz.bXzXzXzXzXz.bXz.bXz.b _Xz.b.b.^.b.^.^Xj.o.cXg.X ~XVXq & vX0XL 0 S.x rX<X+X+XpXB.YX7.[XB.l.l.l.F.jXn.).N.WXs.M < <.e U x.>.n.NXs.N 2 ^XmXa.ZX1.e 3.a a a aX- t R cX, c $X-X-.~X- R.uX- R RXDX5 'Xw.2Xw !X. m 4.% IXJ.2 (X- 5 } 5.A.r ) f.R P A A.&.(.IX@X@.zX&.X.b.^.bXz.^.bXz.oXgXg.U.U.cXgXg.cXg.c.V.c.c.c.cXg.c.c.c.oXg.c.cXgXg.c.c.cXgXg.cXgXzXz.o.b _Xz.X _.XXd eXdXdXd e.kXjXdXtXd.k.kXd.k.bXx.b.zXgXg.o.o.o.oXg.o.o.oXgXg.o.b.oXgXg.c l.U.U.UXg.U.U.U.U.o.#.U.U.c.U.U.c.oXgXg.X.^Xj.^ N.^Xj.^ N.o lXd.#X@.QXg.o.zXgXzXd.^Xo.k.k.8.uXV 3XcXr M h CX1.aXD.ZX1 $ x 1._X+X>X8Xf S._Xw xX,XKXlXcXl ' :.- cXM a.).s.BX6.C 0.v.NXa O.N.w *.W.s JXrXP.wXD.e : 'XD.n.nXPXo.H.` ~X*Xt.u.r.k.rX*.u.K.r VXk IXX m.,.,.' v.=.=Xs aX1.H R 8.N.WXnXG tXI.r e.^Xg.bXzXz.b.^XzXzXz.b.b.^XzXz.b.^.bXzXzXz.bXz.bXzXz.bXzXz.oXgXz.b.bXzXzXz.b.bXzXz.bXz.b.b.bXz.^ eXt.r.rXt e.r.z ) qXtXj.rXjXz.^XzXzXz.b.bXzXz _XzXz.b.b.b.b _.b.bXzXz.bXz.U _.bXz _Xz _XzXz.bXz.bXz.b _Xz _.o.b.^XjXt.r e eXzXz.o.UXzXzXz _XzXz _.o.c.c.V.c.c.c.c.V.U.U.c.c.#XuXu iXu.V.V.#.V.U.c.U.c.cXg.o.^ e e e e e e.^Xg.o.b NXj e.^.b.^.b _. .o.V.o.bXzXz.^X* F F F.`X-.}.F >.l h xXM.a.}XD.a a a.e a.} a",
-".b.b NXzXzXz.^Xz.U.b.bXzXzXzXzXzXz NXz.b.b.bXz.^.bXz.b.rXxXg.k eXt.^XzXz l.^.bXzXzXz.bXzXzXzXz.bXz.^.b.o.I N.^.^ eXtXzXx.U N.^.` $ =Xs = J vXr W WXr.pXB $.YXB.lX3.l.l h.i.lXBX+ v.W.N.N.N.w.a <.a xXU.n.N C.)X= ^.E.wXa.DX,.u.e a.eX-.e R.e.e RX-.K : 3Xl.` R.u h BX,.w.wXJ.2XO.u.D.H.~XI 3XV.8 3.HXV.5 N.X.5.k.k.kXoXo.XXj.X lXx.I.^XxXg l.X.U lXg.o.U.#./.#.c.6. .I.#.#.I.#.#.U.#.U.#.#.U.#.#.#.U.U.#.#.U.U.#.U.U.U l.z l _XgXg.X.o.bXgXg.bXdXd.^.^.^.rXd N.k.kXt.k.^.kXd.^.b.XXk.b.b.X.b.b.b.o.b.b.b.o.b.bXz.oXg.VXg.c.cXg.c.o.c lXg.c.oXg.c.c.o.VXg.oXz.bXz N eXtXtXj.r.rXj e _.^ _.o.b. .^.X l.bXjXtXtXt.k.u ~.H.8.aXc.j.+.M t.aX-X1XDX-.aXD hXpXnX>.4.. %.Z.M.MXD.a.a RXI 8X1X-.} u.* %.vX6XfX6Xb.N.= 2 8XDXs u._.s J.q o T.ZXDXlX;.D.0.0 gX5.uXtX*.^Xo.^Xd N N N NXX.K.$XX.u.5X9 `X5X, 1.@ vXaXw.9.Z x RXGXn.jXn 3X5.X N.o lXgXgXg.c.oXg.o.o.o.o _ _.o.o.o.b.b.o _.bXz _.b.bXz.^.bXg.oXzXzXz.^XzXzXzXz.^XzXz.bXzXzXzXz.^Xj.r.r.r e.r.r.XXgXk eXj e.^Xz.b.oXzXzXz _.b.bXz.b.b.bXzXzXzXzXzXz.b.b.oXz.c _XzXz.b.bXz.b.bXzXz.bXzXz.bXzXz.b.b.b e e eXj.^Xz _.c.U _Xz _ _ _Xz.o.c.c.c.c.c.c.c.cXg.V.V.c.c.c.U.U.c.U.c.c. .c.c.V.V.cXg.c.oXz.^Xj e ~.r e NXg.bXzXj e eXj.^XzXz _.U.o.V.VXzXz.^ N.r.r.`Xt :.}.[.l.m.m E U a 3.a.e.eX- a.a.eXD.e",
-"XtXjXj.^.^Xz.bXzXg.b.bXz.bXz.b NXzXzXzXz NXz NXzXz.b.b.^XjXk.^.r.rXz.b.^XkXz.bXz.b.b.b.b.b.b.b.b.b.bXg.z.I.b.b.r e e.bXg.z.X.^ cXG o.W 9 v s.@.<.p WX7.9.i $X,.i x : h <.}.l.l.-Xr v.sXe.WXL.M.M U xXG aXDXD 2 2 ^ H o.n.n g.0.ZX-Xc.-Xl `XI x 3XlX. }XlXl DX,.2 s.OXcXc.2Xw 'XIX,XI.H.` 3 3XV.8XV ~.kX*X*.5X*.k.k.H.^Xd.kXd.b.X.b.o.^.b.o.b.bXzXz.b.o.cXgXg.cXgXk.UXgXgXgXg.VXg.o.V.o.c.V.o.c.oXg.V.V.oXg.V.o.o.oXg.o.b.o.b.^.^Xz.bXz.^.^Xz.^ eXt e.r eXt.z.k.r ~ e.r e.r.r eXt.^ l N.bXzXzXz.bXz NXz.b.^XzXz.^ _.oXg.o.VXg.V.o.o.V.c.oXg.oXg.o.V.b.V.o.V.b N.^.^Xt ~.r.r ~ ~.r e.^XzXz.b.bXj.bXzXxXz e e.r.r.r ~.8 ~.8 RXcXq.j.M a R a RX1 B.* < U.YX4X>.{ %.).M R.*.*.a.* aX- a R a t t.d /Xi.@XiXv.) G t.* B.MXD uXe 0 0.q 9 '.D.* D.].Z.D.0 gX1.`.8 ~.r.r.rXt.r.r.rX*.k.uX3XX q )X3XX :Xc.wXG 2.jXw.a.a <XsXn vX+XDXI ~XtXz.b.o.o.bXz _ _.o _ _.V.o _.b.oXgXg _ _Xg.c.o _Xg.U.cXg.oXg. .UXg l.c.cXg.c.U.c.cXg.c.cXg.cXg.c.c.o.k.^.^.kXj.k.^.k.X eXt.^.X.bXz.b.b.o.^XzXz.b.^.b.b.bXzXzXzXz.bXzXz.b.bXzXg.b.b.bXzXz.bXzXzXzXz _ _.bXz _.bXz.b.^XjXt ~XjXz.^ _.c lXzXzXzXz _Xz.V.V.V.V.V.VXg.V.c.c.c.c.c.c.c.c.V.c.c.c.V.#.V.V.c.U.c.c.c.o.b.^ e e e e.r.^.o.o.bXj.r e.r e.b.^.o.U.o.c.oXz.bXzXt.r.`.8X3.}.Y.F.m U h.}.e a aXI.} cXD.a aX,XI.e",
-".r e eXj.^ NXz.^Xk.o.bXzXz NXzXz.b N.b NXzXzXz.b.b.b.kXz.rXjXt e.r N N.^Xg.bXz.^XzXzXz.^.b.^ N.bXz.b.b.b.^ NXt.k.^Xj.XXk.zXxXo.k xXpXLXs.EXG.@X4X+.1X%.Y x 1 x $ x : $ $ 3 # k.[XB.TXp v.W.E v U.W u.a.wXw C.=XvXb J.E o 9XP.w.D.eXKXJ c m T.,XI 3.%Xl.2., m.,XJ mX;XPX$XO mXVX1.`X-X-.`.`.8XIX1 FXV.r.rX*.^XtXt.r.rXtXtXj.o N.b N.b NXz.b.^.b.^.b.b.bXg.o.c.c.c.U.U.c.c.c.cXgXg.V.c.V.cXg.V.cXg.VXgXg.VXgXgXg.oXgXg.o.b.oXgXzXzXzXz.bXzXz.^.XXz.^.^ N.^.kXx./Xg.r.r.r.r.rXt.^.^.^Xg.^Xz.^Xz.^XzXzXz NXzXz.bXzXz.b _ _XzXz.oXg.VXg.o.c.oXgXgXg.V.o.VXg.o.o.o.o.^.^Xj e.r.r F F.r e.^.^ l lXz _Xz.^Xg.^Xj e e.r.u ~ F.8X1XIXK XrXe.* RX-XI B R R.a <.jX4.4.@ %Xb C R t t t t.}.* t t.M t UXF.s ^.@X= * C C C B 8 RXIXn.x =XmXC.q g.D B BX-Xa.n.0 gX1.8 ~.rXtXt e.rXtX*.r NX*X* N.K.5XX ) :.5 :Xl.s *.)Xq t <XsXe vXG.9XI 3.rXj.bXzXz.bXz.^Xz _.bXzXzXz _XzXzXz _XzXzXzXzXzXzXzXzXzXzXzXz.^.c.^.^XzXzXzXzXzXzXzXzXz _ _ _.b.b.b.o.o.kXz.^XjXj.kXt.^.X e.k.bXg.b.b.UXg.c.o l.U.U.o l.c.c.c.c.c.c.c.o.V.c.c.c.#Xg.c.o.o.oXg.o.o.b.o.b.bXzXz _.b.b N.^.z.^.^ e.bXzXz l.c.bXzXzXz _Xz.V.c.V.c.c.V.V.c.o.V.c.c.c.V.c.U.c.U.V.c.U.U.U.c.o.V.V.VXg.o.bXzXz e ~ e.^.o.cXz.^ e ~ e.r.r.b.^Xg.c.o.o.bXzXz.k.r.8XIXM ` .FXq.i U.M a a a a a R VXHX-X- kXI.e",
-"Xt.r.r.rXjXzXz.^.b.o N.^Xz NXz N.^.^.^Xz N.^.^ eXt.kXzXkX@ N.k.^.^.oXg.XXg.UXgXk.oXgXk lXgXg l.z.XX .X.R.&Xk.X.&.z ( A.IX@.R QXl =.+.MXs vXnXnXn.p.1.Y # $.i.M.MXaXKXlXlXc h., k [ kXh.1 W.+.jXrX2.W.M.M x.* CXF.)X6X> HXm.q.w.wXD.]Xc.'.,Xl.].a R.9.e : $.w ' ' ' g TXUXoX,.~.`.`.`.8.8.8.` ~.8 ~XVXtX*.rX9 ~.kXt e.r e.X.^Xz.b.^.b.^.b.^ _Xz.bXzXz.b.c.c.c.c.V.c.#Xg.c.c.cXg.c.V.c.V.c.c.VXg.V.o.VXg.c.c.c.c.oXgXg.bXz.bXgXzXz.^XzXzXz.^XzXzXz.b N.^.^XjXgXjXt e.r e.r eXj.^.b.^XgXzXzXz.bXzXz.bXz NXz NXzXzXzXz.bXzXzXz.o.VXg.V.oXg.oXg.cXg.o.V.o.V _.V.o.oXzXz.kXt.r ~ ~ F ~ e.r.^.b.VXgXz.b.^XgXz.^Xj.r.rXt.u.8 ~ FX1.9X+.j 1 a a.aX, BX1 R t.M.Y.pX>.4 -XF._XG h x.iXD.Y C., tXp.M J.@ 0.C 0.=.) C t a.eX,Xl k.-Xe 2.=.!.!Xa.0XD.nX5.w.n.0.0.`.8.8XtXt.r.r.rXtXj ~ NX*.rX* ~.rX*.r.8 cXVXl.).) u C t tXs vXaXmXlX1.8Xt.^XzXzXz.b.bXz _Xg _XzXzXzXzXzXzXzXzXzXz.bXzXzXzXz _Xz.b.bXzXz.cXz.bXzXz _XzXz _.bXzXz.b.bXzXz _Xz.bXz.^ NXjXj.r e.rXt.^.r e.r e e.b.^Xz.b.bXz.^XzXzXzXzXzXzXzXzXzXz _.b _ _XgXg.o _.V _.o.V.V.o.o.V.c.c.cXg.c.cXg.c.b.b.I e.cXkXg.c.# l.oXg _.oXgXg.c.c.c.U.c.c.c.c.c.V.V.c.c.c.V.c.V.V.o.V.#.V.c _.V.c.c.cXg.c.o.o.b NXzXz.b.oXg.b.b.k e.r eXj.^.b.cXg.o.bXz.^.^ e ~.8XD >Xq.m.i x t a a.e.e a aX-.a 3XD.eXc 3.e",
-".rX*Xj.k.k.^.XXgXgXkXgXgXxXgXgXkXg.b.b.XXgXgXz.k.oXz N N l N.^.^.k.o.b.oXzXkXz.o.^Xz.b NXz.^ N.b l Z.&X@.&.R.&.R.f.(.&.( , f 5 5 n o.).NXG vXLXnXrXwXB 1 h $X, tX,XO TXc $ $ `., k.,.Y.gXH.1X+Xp._.d.).MXD u.9 C *.s.v 2 OXC s.wX,.*X-.e.e.e.eX-.e.aX- B B B.wX5.wXP g R B.`.`.`.`.8.8 ~ ~.8.8.8X*.r.r.r.r.X.8 e.rXt.r.r.b.^XzXzXz.b.bXz.bXz.^XzXzXz.V.cXg.VXg.cXg.U.oXgXg.V.V.c.c.cXg.cXgXgXgXg.VXgXgXgXgXg.o.o.o _.bXz.bXg.bXz.bXzXz.b.b.bXzXjXj.r e e.r ~Xz.r.r.r.r ~ eXt.^Xj.^Xg.^XzXzXzXz.b.b NXzXz.bXz.b.^Xz.bXzXzXz.oXg.o.oXgXgXg.o.cXg.V.o _.c.o.V.oXgXz N.^Xj.r ~ F.8 F.r.r.^Xz.^Xz.bXz.^Xg.^XzXj ~.r.rXt F ~.8X1 $.YXnXG.MX- 3XD RXD R t <XpXf H.C { -XG.W.w.WXGXeX+._Xn t._Xe z.T.@ 0.v.= C C a RXD ).-XK.WXe.= 2XC.!.n ' '.ZXa.0.] g.D.`.8 ~Xt.r.rXtXj e.r.r N.r.rXjXt.^ ~X*.r.rXVXl.W / * t u pXLXL.n TXI.8 ~Xj.b NXz.^.bXz.b _.c.V.b _XzXzXz _XzXz.bXzXzXzXzXzXz _.b.bXzXz.bXgXzXzXz.bXz.bXzXzXzXzXzXzXz _Xz.bXzXz.b.b.bXjXj.r.r.r.^Xk.X.k e ~ e.^.bXzXzXz.b.b.bXzXzXz _Xz _ _Xz _XzXz.bXz.c _ _XzXzXzXzXz.bXzXz.bXzXzXzXzXz.bXz.^ ~ e.r.r N.b.b.o.I l _.o.b.b.V.c.U.U.U.#.U.U.U.#.#.#.U.#.#.#.#.#.#.U.U.U.6.#.U _.V.U.c.c.VXg.o.o.o.o.b.o.oXg.c NXz.^.r.r e.r.r.^Xg.o.oXz.^.^ e F.`XI U .m.m E U <XD.eX-.e.e.e a.eX-.a.a.uX- a.e",
-"Xt.^ N.^Xj.k.^.X N l N.^.^.^XjXjXj.r ~.r e.r.r.r e ~XjXz F.k.^XjXz.b.bXz.^XgXzXz.b.b.bXz.b.b.b.^Xk.^XkXkX9.X.k.^.X.o.A.zXkXkX9X-.wXp *.W v vXG [ z.-XM x x h h y.* TX,.D.e.'X,Xl.-Xc.- 1Xp.[.pXn pXsXsXsXw *Xp.N.d / / OXmXG.wXD R B.a B RX- B aX1 R.* R.Z.wXlXU.]X1X1X1X-.~.`.` ~.8.8.8 ~.rX* ~Xt.rXt.r.kXjXt.rXj e e.^Xz.bXzXzXz.^Xz.^.bXz _.b.b _.V.VXg.c.cXg.#.o.c.c.c.V.c.c.c.V.c.c.VXg.VXg.o.o.o.b.b.b _.b.bXzXz.oXgXzXz NXz.^XzXd.^ e.r.r eXtXj.rXt ~.r.r.r e.r e.r eXt.^Xg.^XzXzXzXzXzXzXzXzXzXz.bXzXzXzXzXzXzXz.b _.o.b.c.oXg.o.oXgXg.c.V.V.oXg.o.oXzXz.^.^.r F.8 F ~.r l.zXz.oXzXz.bXz l.^Xz.^ e.r.r.r.r.` FX1X,X+XG 1.M tX, 3 RXD R a < vXn.4.@X6.v.j p.*X+.).. 2 2.s U.)X=.@ M.B /.N.w t <.ZX5 `XJX5.}._Xe.= O oXP.nXa.0 D g.] 'X1 B.` ~ ~Xt.r.r e ~ eXj.r.bXt.k.rXt ~Xj.r.kXt.r.Z v.N.).) 2.W.).W 9Xa.`.HXt.^Xz.b.bXzXz _.oXg.c.V.o.o.b _XzXzXzXz _XzXz _ _.b.b.V.o.VXzXz.oXg.b.bXzXz _XzXzXzXzXzXz _XzXzXz.bXzXzXz.b.b.^ eXt e.r.o qXk.^ eXj e.r eXzXz.^XzXzXz _.bXz _XzXzXzXzXz _Xz.bXz.c.bXzXzXzXzXzXz _Xz.bXz _.bXz _.b.bXzXjXjXj.r eXzXz.b.o.#.oXz _Xz _.b.c.o.VXg.VXg.V.VXg.V.V.V.c.c.V.V.c.c.cXg.V.#.U.c _.V.U.U.U.U.#.U.U.c.U.#.I.U.c.U.UXg.^.^Xj.^.k e.^.o NXz N.^Xt F F.`.` h.F E E.d <.* R.u.e a.`.e aX-.e.a.e 3.a.e 3",
-".r.rXt.r.rXtXt.r ~ N e.rXj e ~ e.r eXj.^.kXjXj.^.k.^.b.fXg e.^Xz.b.^XzXz.^.c.bXzXzXzXzXzXzXz.b.bXz.X N.z.fXgXtXt.b.X.b.XXgXk NXV $Xp.WXe o.Y M n.,.9 : x h $.MXl c D.,Xl.D T.] T :XcXH .lXMXBXp.p y v.=Xe.YXw u u.NXs.N.sXmXGXeXD R BX- B.e R.e.eXD 8 R.Z.w 'XU T RX1.`.~.`.`.`.`.8 F.8.rX*.r.r.rXtXd.rXd NXt.r e ~Xt eXz.b.bXzXz.^Xz.bXz.bXzXzXzXzXzXg.cXg.o.VXg.#.oXg.V.cXg.c.V.V.V.VXg.V.cXg.b _.^XzXzXzXzXzXz.^XzXz.X.oXzXzXzXzXzXz e e e.r e.r e.r.r.r e.r e.r.r.r.r.r e e.bXg.^XzXzXzXz.bXz.bXz NXz.^XzXzXzXzXz.^XzXzXzXzXz.c.oXg.o.o.cXg.o.o.V.o.V.V.oXzXz.^.^.r ~.8 ~ ~Xt.b.t.oXz.VXjXz.bXg.^Xz.^ eXj.r ~Xd.` F.HXD.-XnXG.M a cXD RXD R t <XGXn SX6.CX6X> yX%.; M M M S.;X: H.y ^.@Xv.) 8Xs.* $., x.u RX. =.j.....v.qXm.nXP g T c BX1X1XI.8.8.rXt.rXt.r eXjXj.r N.r.^.k.^XzXjXj ~.k.r.k s 2Xs.N.W v v b.0X1.H F.^.b.^.b.o.bXzXzXgXg.c.VXg.V.V _ _Xz _XzXzXzXzXzXz.V.c.o.V.c.b.b.V.bXzXzXzXzXzXzXz _XzXzXzXzXzXzXzXzXzXz.bXz.^.b e eXt.r.^.k e ~ ~.r.r e e.^Xz ~.bXzXzXzXzXzXz _Xz _Xz _.bXzXzXz.UXzXz.bXzXz.bXz.bXz.bXzXzXz _ _XzXz.^Xt e.rXj eXjXzXz.c.#XgXzXzXz.bXz.c.c.c.c.V.c.c.c.V.c.c.c.c.V.c.c.V.o.V.c.c.UXg _ _Xz.o.V.o.V.V.c.oXzXz _.o.oXg.cXz N eXtXtXjXj.r.^Xk.X.bXg N.^ ~Xt c 3 ._Xq.m u tX-.`.a.8.e aX-.e.e a.eX- #.e.e a",
-".r.r.r.r.r.r.r.r.r.^.k.rXt.^.^.^.^.^.b N.bXzXzXz N.b.b.zXjXj.^.^.^ _.^.b.^Xg.b.b.b.^ _XzXz.oXzXzXzXz.oXg.b.^ eXj N.b.b.o.cXk.b.r hXL.N.s.s.j M.Y k kXl.- mXl x x.a.} a aX-.e.eXlXDX,X,X, h h.Y x y.[XrXp = y U t CXs.N.NXL.EXGXLXJ R R.eX, 3XD c xX1XD.D.w.9Xc mXI.`X-X-.`.`.`.` F F.8 ~ ~.rXtXt.rXt.r.r.r.kXdXt eXj.^.^XzXzXz.b.bXzXz.bXzXzXz.b _XzXz _ _.V.c.VXg.#.V.o.c.c.V.cXg.c.c.cXg.VXg.o.bXz.bXz.^XzXzXzXzXzXz.bXz l.^XzXzXzXzXd e e.r e.r e.r.r eXt e.r e ~ e e e.r e.^.b.bXz.^XzXz.bXzXz NXzXzXzXzXz.^XzXz.^XzXzXzXzXzXz _Xg.o.bXg.c.V.V.V.V.V.o.bXz.^.^Xz e.r F ~ F ~Xt.^ _XzXzXzXzXzXzXgXz.^XzXjXt.r.r.r F.8X1X,XKXGXG < RX,X1.a.Z.M t UXnXn SXi.CXiX6._XnXn ^ HXf.@.@Xi..X6 ^ ^ * * C.M $XKXB aXI R.Z y vXn 0.@ &XmXPX;.' :X1XIXIX1.`XV.`.rXt eXt eXj.^.b.^.o N.b.b.bXz.^.^XjXt.rXVX5 sXLXe v 9 s $X1X1 F eXz.bXz.b.o.b.bXg.c.VXg.c.oXgXg.o.bXz _XzXzXzXz.V.V.V.V.c.V.VXg.VXgXz _XzXzXzXzXz _XzXzXzXz _Xz.bXz.bXz _ _Xz.bXz e e e.r N.rXt ~Xj ~ e.r e.^ e e.^XzXzXz.bXzXzXzXzXzXzXzXz _Xz.bXgXz _XzXzXzXz _Xz _Xz.b _XzXzXz.b.b.^ e e.r ~Xj.^.b.b.U.U.c.oXzXz _ _.c.V.o.c.c.V.o.c.c.V.c.V.c.c.V.c.c.VXg.V.#Xg.b _XzXz _.V.c.V.c.o.c.V.oXzXg.c.cXg.b e e.r e ~Xt.rXj.^XzXj.r F.` F.`.`.uXB.i E U t t.~X-.8.aX-.a.`X1 a.a 3Xl c.e 3XI",
-".r.r.r.r.r.rXt.r.rXj N.r eXtXt.^.^.^XzXz.^.^XjXjXj.^.^.bXj e ~ e e.^.bXzXz.b.o.^.b.b.b.^ _.^ _Xz.b.b.^Xj.r.r e.^Xz.bXz.bXgXk.X.r 3XG.).W 0.@ [ n |.SXHXc n nXKX3.i a 3.a a R.*.e `XJ : ).Y., k.,Xw =XHXh.TX0.)XG &XK 8.D v oXG =.w g : D 1 DXc TXHXlX. sX;XOXw '.a.`.`.`.`.`.`.`.8.8 ~ ~ ~.rXt.r.rXt.r.r.r.^ eXtXj.^XzXz.b.bXzXzXz.bXzXzXzXzXzXzXzXz _Xz _.o.o.cXg.#.c.c.c.c.cXg.VXgXg.VXg.c.V.bXzXzXzXzXzXzXzXz.^XzXzXzXz l.^Xz.^XzXzXj ~ e.r.r.r.r.rXt.r ~.r.r.r.r.r.r.rXt.^.^ N.o.b.^XzXz.bXzXzXzXzXz.b.^XzXzXzXzXzXzXzXzXzXzXzXg.oXg.oXg.cXgXg _ _XzXzXzXzXzXzXj ~.r.` F F.rXj.^XzXzXzXzXzXzXzXgXzXzXz.^.r e.r.r F F.8XD.Y 1Xq 8 t hX,.M.Z R a <XpX>.4X6 wX6 2 pXbXb ^.vX=XiXf.@Xf ^ 0Xi * u a R.,XHXl R.wXlXsXLX4X>.; ^X0.OXP m.|.2 D TXJ )Xx 5 )./.k.r ~Xt.^.b.b N.c N.b.b.b.bXzXzXzXjXj.r.8XI.Z '.n R.e.a.8 ~ ~XdXz.b.b.b.cXg.o.cXgXgXg.c.V.V.V.V.b _Xz.b.o.b.V.U.U.#.U.c.#Xg.VXg.#Xz.b _XzXzXzXz.bXzXzXzXzXzXzXzXzXzXz _XzXzXz.b.^Xj ~Xd.^.r.rXj.r e ~ e ~ e.r e.b.b.^.b _Xz _XzXz _XzXzXz.bXz.o.VXz.b _.b _XzXzXz.bXzXzXz _XzXzXz.^Xg.k.rXj.rXtXjXz.b.UXg.c.oXzXz.b _Xg.V.c.cXg.V.c.V.c.c.V.c.c.c.c.c.c.V.cXg.#.o _.bXzXzXz.cXgXg.c.o.c.o.V _ _ _Xg.oXj e.r.rXt ~Xt.r NXtXj ~.r.` F.`.` aXX 1X, E t.e.e.~.~ a a.aX-.e.eX-.e aX-X- a.~ a",
-".r.r.r.r.r.r.r.r.r.r N.r.r.r e eXj.^Xz.^XjXj e.r e NXz N.^ e e e.rXz.^.b.^.b.c.bXzXz.b.bXz.bXzXz.b.^XzXj.r e.rXj.b.bXzXzXg l.o.kX-Xq v 2 2Xn n.- XJX, R.wXDX, hX, #.} R t.~X-X-Xl 3XM #.5 # 1 x.5X3 XBX%...N.NXK.MXs.N.n =Xr =XwXyXU T hXl `XlXK TX; gXH gXUXI.`.`X-.`.`.`.8.8.H.H.r.r.rXt.r.r e.r.rXd.rXdXdXj.^.b NXz.bXzXzXzXzXz.bXz.b.bXz.bXz.bXz _Xz _ _Xg.o.#Xg.VXg.V.V.V.o.V.c.VXgXg.oXz _Xz.bXzXzXzXz.^XzXz.^.bXz l.^XzXzXzXzXd.r e.r.r.r e.rXt.XXg N e.r.r.r.r e.^.^ NXz.bXzXz NXz.bXzXzXzXzXzXzXz.b.^XzXzXz.^XzXzXzXzXz _.oXg.oXgXgXg _XzXzXzXzXj.^.^Xj e.r F F F ~Xt.^XzXzXzXzXzXzXzXzXgXzXzXz.^ e.r.r.r F F.8XI.YXn 1 U tX, h RX, t t.WX+.E.;X6X6.C.B.4.s w.@XiX=.v 0X6 0X6 0Xn.W u.a h.aXl < 3.w.w y.).@ S.x.x.O KX; : TXJ I V.|XX IXx.R.&.r e.^Xz N.b.b.bXkXz.b.b.b.b.b.bXz.^Xj.r.r.`X-.` RX1XI.8.8.r eXd.^.b _.b.U.c.cXg.VXg.c.o.c.c.c.c.V.VXg.V.o.V.c. iXu iXu i.c.V.V.I _.oXz _Xz _Xz _ _XzXz _Xz _Xz _Xz _ _Xz.b.^Xz.b.b.k eXdXd e ~.r ~.^.rXt e.rXjXz.^Xz.^Xz.bXzXz _Xz _XzXz _Xz.c.oXzXz.bXzXz.bXz.bXz _XzXzXzXzXz.o.b.z.6 N.r.rXjXz.b _.c _XgXg _.b.b _.cXg.c.V.c.c.V.o.c.c.c.V.c.c.c.c.cXg.c.c.UXz _XzXzXz _.VXg.V.c.V.c.VXg.VXzXz.o.oXj e e.r e ~.rXtXgXt.r F ~ F.8.`X-X9 ` $X, <.*.e.e.eX-.e.e a 3 R R.~ 3.~ 3 a.e.e.e",
-".r.r.r.r.rXt.r.r.r.r.bXt e.r.r.r e.^.b.^ e.r e.r.rXj.k.^.^ e.k F e.^.b.^ N.^XgXj.b.^.b.bXz.b.bXz.b.^Xj e ~ e.r.bXz.b.b.b.c l.o.k.` s v /.. 0X%XcXB :XDX,XeXe $XI h.M.a $ a a a.~ aX-X- a a a cX-.~.}.l.i.@.s.N C.a.*.Z.q 2 &.j.[.'.w $ 8XI.a.eX-.* B.Z x.nXU TX-X-.`X-.`.`.`.8 ~.r.rXt.rXt.r.rXt.rXt.r.r.rXdXo.^ NXz NXz.bXzXzXz.bXz.bXzXzXzXzXzXzXz.bXzXzXz.b.o.V.#.c.VXg.VXg.V.V.cXg.o.o.V.b.^Xz NXzXzXzXzXzXz.^XzXzXzXz l.^XzXzXzXz e e.r.r eXd ~ ~.r.b q.z.r.r e.r.r e.k NXz N.b N.^XzXzXzXz NXzXzXz.bXzXzXzXzXzXzXzXzXzXzXzXz.o.oXg.oXg.o _XzXzXzXzXz.^ e.r e ~.r F F.r ~ eXzXzXzXzXzXzXzXz.b.cXjXzXz.^Xj.r.r e F F.8X1.9.9Xp._ t h x.* $ t a UX+X> S 0Xf ^Xf S r.+.; MXC HX>.; M H &.j.j.9 : TXc a a.a t.9 b.s r.+X>.x W.OXU.~.u.`.`X*.u.`.8 ~.`.kXt ~.r.b.bXz.b.o.cXzXzXz _XzXz.b.bXzXj.rX*.8.8.`.`.8 ~ ~.r.rXjXdXz.b.b.b.#.cXgXg.V.V.V.V.V.cXg.V.V.VXg.c.c.V.c.U.c.U.c.c.UXg.c.c.#.o.cXzXzXzXzXzXzXz _XzXzXzXz.bXz _Xz.b _Xz.b.bXzXzXd.^Xd ~.rXt eXt ~ e FXjXj.b.^.bXzXz.^XzXzXzXzXzXzXz.bXzXz.UXzXzXzXzXzXz _XzXzXzXzXzXz _XzXzXz.^.IXg e.rXjXj.^.^.b.cXz.VXg _Xz _.oXg.V.V.V.V.c.c.V.c.V.o.c.V.c.c.cXg.c.o.U.oXz.bXz.bXz.oXg.c.V.c.V.c.VXg.o.b.b _.o.bXj e.r.r e.r.k l.r ~.` F.`.`.`X- ` x hXD.e R BX-.e a.eX- RX- BXVXD.e a.` aX-.e a",
-".r.r.r.rXt.rXt.rXt.r.^.k.r eXt e.rXj.^Xj.r.r.rXtXjXt.r.r ~.rXjXt.r.^.^ N N.^Xk.b N l.^.#.^XzXzXzXz.b.rXj.I qXjXz.b.b.b _.c.U.o.kXVXG v * 0...j.g xXM h.MX,XlX,X,X, 8 R RX,.eX- a a.~.eX- aX-.a #.8 a .lX4.).) C.M t H o v.E.Y.-Xw s.wX, a.aXI.a 3XD.w ' T ! g R.`X-.`.`.`.8.8.r.r.rXt.r.r.r.rXt.r e.r.r.rXdXz.^ N.bXzXz.b.bXz _Xz.bXzXzXzXzXzXzXzXz.bXzXzXz.b.b.c.U.UXgXg.V.c.c.V _ _ _.o.b _XzXzXz.^ NXz.bXzXzXzXzXzXzXz lXzXzXz.^XzXj eXt.rXt ~Xj.r e.X.z.b.r.r.r.r e.r e eXjXz.bXzXzXzXz.bXzXzXz.bXz.bXz.b.^XzXz.^Xz.^XzXzXz _Xg.oXg.b.o.b.^XzXzXz.^.^Xj e.r e e F.r F.o N.bXzXzXzXzXzXzXz.^.bXgXzXzXz.^Xj.r e ~ ~ F.`X1 y.j.Y._ xXc.w.9.9 $XGX+X> SXi.@X6Xf.@ H b.v O 2.M 2.WXe.)XeXeX, RXl `X-XD <XJ $.MXG 2.+.LX: z =Xh.2 c ) c.K.KX*.5.`XV FXt e e.^ N.b.bXzXg.o.b.bXz _.b _.b.bXz.k.rXj.r.8 F.8.`.8.k.rXt.r.kXz.bXz _.#.cXg.c.VXg.V.c.V.V.VXg.c.c.c.VXg.V.V.c.V.c.c.c.V.V.c.U.U.V.c.bXzXzXzXz _XzXzXzXzXz _Xz _Xz.bXz _Xz.b _.^ _XoXz.rXd e ~Xj.r.zXk.r ~Xj.^.^.b.^.^.o.bXz.bXzXz _Xz.bXzXz.UXz.bXzXzXzXzXzXzXzXzXzXz _Xz _.bXz.^ ~.^.rXt.r.r.bXz _.VXzXg.VXzXz _ _.V.c.c.c.V.V.c.c.VXg.V.c.c.c.V.c.cXg.b.cXz e.^Xz.b.b.o.V.c.c.c.c.V.V.VXg.V.bXz.b.o.^Xj.r e.r.r.k.X.r F F.8.`X-.8.a.l.[ ` hX-XI.eXIX-.e.e.e.e a.e.- I.e R R.eX-.e.e",
-".r e.r e.r.r.r.r.r.rXt NXt.^Xj.^Xt e e.r eXtXt.r ~.r.kXtXt N.8XtXj.X.XXx NXj.K N.^./././.6.^.b.b.^Xj e.^.XXg.b.bXz.b _.bXg.UXg N.HXl v.N.s..X>XwXBXBXD.}.WX,X,X5.w.M gXVXD aX-.aX5 # $ R RX-.a 3.K # #.F.s.).N C.*.a p G 2X+XBXKXw 9.wXD a.eX-X- B 8.Z ' T.]XU B.`.`.`.`.`.8 ~.r.rXt.rXt e.r.rXtXt.r eXd.r.rXoXj N.b.^.b _XzXzXz _XzXzXz.bXzXz.bXzXzXzXz.b.bXzXz.c l.U.V.V.o.o.V _XzXzXzXzXz.^ _ NXzXzXzXzXz.^Xz.^.bXzXzXz l.^XzXzXzXzXjXt e.r.r.r.r.r ~ F eXj.r.r.r.r.r.r.r.rXt.^.b N.^Xz.^.bXzXzXzXzXzXzXzXzXzXzXzXzXzXzXzXzXz.o.V _.b.^.bXzXzXz.^XzXzXj e.r.r ~ e.r ~XtXg.#.cXzXzXzXzXzXzXz.b.b.oXzXzXzXzXj.r.r e ~ F.8X1 x.- W.j.[.-XHXc.9.9 1 kXrX> M.v.@.@.@.@.v.v.= C.M t.* a u.* a.e.aX1XDXIXD.* a.e.9.W o O.y.TX2 M.+X;X..2XJXJ.% D ) 5.r.` ~ ~.rXt.^.bXz.b.bXg _.b.bXz _ _Xz.b.b N.^Xt ~.r F.` ~ ~ ~.rXtXt e.^.bXz _.o.I.c _.c.c.c.c.V.c.c.c.c.c.c.c.c.c.c.c.c.V.c.V.V.c.V.V.U.c.c.V _Xz _XzXzXzXz _XzXzXzXzXz.bXz _XzXz.b.b.^.b.^ FXo.rXd F.rXj.IXg.^XjXt ~.k.X.^.b.^.zXzXzXzXzXz _ _ _Xz.b.cXzXzXzXz.^Xz.oXzXz _.^XzXzXzXz _.^Xj.^.rXtXtXtXz.^.^.c _XzXgXg _XzXzXzXz _ _.o.c.c.c.V.V.V.V.c.V.cXgXg.V _Xz.o e e.^.b.b.oXg.c.c.c.c.c.o _.o.VXg _Xz.oXg.bXj.r ~ e.rXd.k.r F.8.`.8.` 3.a [.[.Y.1XK $XJ., ` : D :Xl.uX-X..G.e 3X-.e.eX-.e",
-".r.r.r.r.r.r.r.r.rXjXt.o.kXz.^.^ e e ~.r.rXt.r.r.XXxXx.XX* qXx qX9 ).f.$./.r.rXt.8Xk.$.UXk.b.bXz.bXj.rXt e.k.b.^Xz.bXz.bXg.UXg.bX1.DXL pXbXn.j WXKXc h.a hXD RX, $XI.]XK.,XJ : R kXU sXJ.-XlXwX. c h .. /.N G u.N *X= v.[ X3Xw s.w.Z t.a a aXD RXD.wX5XP.]XDX1.`.`.`.8 ~.rXtXt.rXtXtXtXt.rXt.rXtXtXt.r.r NXt.bXz.bXz.b.bXzXzXzXzXzXzXzXz.bXzXz.bXz.bXz.bXz.b.o.c.UXg.cXg.V _XzXzXzXzXz.^Xz NXzXzXzXz.bXz.bXzXzXz.^Xz.^ lXzXzXzXzXz.^XjXd e.r e.r.r eXt.r ~ e.r.r.r e.r.r.r e.kXz.^Xz.^Xz NXzXz.^XzXz NXzXzXzXz.^Xz.^XzXz.^XzXz _XzXz.^XzXz.b.^XzXz.^Xj e ~.r.r.r eXj.^Xj.c _XzXzXzXzXzXzXzXz.bXgXzXzXz.^.^Xj e ~ e F FXIX,X+XpXp.M.M $ tXD.M tXGXr & M 0XfX6Xi.sX= G 8 C.e aX- a a a aX-X1 R.` RX1.3., $.aX,Xe v.xX2.xXrX+XK $XI.u 3XVX1.8 3.8.H F.rXtXj.b.b.b.bXzXk.b.b _Xz _ _.b.b.b.b.^X*XtXV.8 F F.` F.r.r.r.rXjXzXz _.o.#.c.oXg.c.VXg.c.VXg.c.V.V.V.o.V.o.V.o.c.V.c.V.V.U.V.o.#.c.V.bXzXzXzXzXz _XzXz _XzXz _Xz _Xz.bXz.bXzXz.b.z A.t l.rXt.rXt ~ e e ~ ~XjXt.^Xt eXj eX@.^.bXzXzXzXz _XzXz.V.oXzXz _ _.bXz. Xz.b.bXzXz.oXzXzXz.^Xj e N N N ~ NXz N.UXzXzXg.V.bXzXzXz _Xz _ _.o.V.c.o.c.V.cXg.c.cXg.V.b.^.^.^ ~ eXz N _.o.c.V.c.c.VXg _Xz _ _.V.o.oXgXg.b.^XjXt.r.r.^.r ~ F F.8.`.`.r.aXB.m hX,.} $.a # h.~.uXlXo c | K.KX,.~ a R.e.e",
-" ~ e.r.r.r.r.rXtXt.^.kXx N.^Xt e ~.r.r e.r.r.rXt N.$ q 5X9.f.&.$.k N q ).z 3 ~.rXtX9.z.bXk.^.&Xg.z AXgXg.I q.z.I.^.bXz.b.o.cXg N.H.Z.s.W %XiXn n.- 1.iX, hXD U.ZXDX1Xl x DXl.ZXDX,X,X,.wXK hXDXMX- # #XBXe.).N.NXs.).).m.[Xc.lX3XU.'.w $ R.a.a R aX- 8.D.'.'Xw.DX-X-X-.`.8 ~.rXtXtX*XtX*XtXt.r.r.r e.r.r e.r N e NXzXzXz _XzXzXzXzXzXzXzXzXzXzXzXzXz.bXzXz.bXz _ N.o.c.o.V.o.V _Xz _XzXzXzXz.bXzXzXz.^Xz.bXzXz.^XzXzXzXz.^ lXzXzXz.^Xz.^ NXz.^Xd.r.r.r.r.r.r.r.r.rXt.r.r ~Xt e ~XjXz.^XzXzXzXz.^XzXzXzXzXzXzXzXzXzXzXzXz.^XzXzXzXzXz.^XzXz.bXzXzXzXzXzXj e.r.r e.r.^Xj.z.bXzXzXzXzXzXzXzXzXz.^Xz.X.oXzXzXzXz.^Xj.r.r e F FXD R.9.YXqXpXn.Y <.a t W H S ^X= /.N /.= G C R a.~ a.e aX-.~X-.`.~X- R R.'XwXD a.M v.sX> H.T =XZ =X..kXJ (X3.r I ) q q 5 ~Xj.k.bXz.b.b.o.U.b.b _Xz.b.b.o.b.b.b N.k.r.8.8 ~.` ~ F F F.r.rXtXjXz.b.o.U.c.c.c.VXg.c.V.V.V.V.c.c.c.V.c.c.V.V.c _.c.V _.V.V.V.U.V _ _XzXzXzXzXzXzXz _XzXzXzXz _XzXzXzXzXz.bXj.I Q eXx jXd.r.r e.rXj.rXtXj.r e.rXtX& qX@X Xj.bXz.bXz _XzXz.b.c.bXz.b.z.Q.Q.UX Xz.bXzXz _XzXzXz.bXz e.o N N.(Xk.^.bXzXgXzXz.V.oXzXzXz.b.o. X&.6.b.o.c.oXg.c.V.c.VXg.c.oXzXj.^ e e e.bXzXz.o.cXg.cXg.o.VXzXzXzXzXg.cXg.VXg.o.b.bXj eXt N.r.r.8 F F.~.`.} aXp._ E.M aX-.a a R.e.~.`.~Xl.3 hXJ.3.e.e.e a.~.e",
-".r.r.r e.r.r e.rXt.^XjXg NXt.r.r.r.r.r.r.r.r.r.r.r.r.rXtXj.k.kXt.r 3.rX*.KX*XV.KX-X9.A.A./.U.6.& i.f./.z.f.6.I.U.^.bXzXz.oXkXg.bXVXVXe.sXb..Xn.Y [X+XM h.iXD.DXDXG : c c $.ZXJ c.aX,X, c $ x $.Y .l.lXB xXe / 2.).s.W.jXB.iXXX3.>.!.9 $X,.aX-XDXI RXD.ZXl.'Xc.0 B.5X5XV.8X5 ~XtXV.^.k.rXt.u ).^.k.rXt.r.r.r.b.^.b.bXz _XzXz.bXzXz eXjXz _XzXz.bXz.b.bXzXzXz.bXzXz.b.c.^XzXzXzXzXzXzXzXzXzXzXzXzXzXz.bXzXzXz.bXzXz.^XzXzXz.c.bXzXzXz.^.b.^.^ N.^Xt e.r ~ e.r e.r.r.r.rXt.r.r e.r.r e e.^XzXzXzXzXzXzXzXzXzXzXzXzXzXzXz.^XzXz.^Xz.^XzXzXzXzXz.b.^.^Xz.^ e e ~ eXt.^.^Xz _.#XzXzXzXz _XzXzXzXzXzXz.b.oXzXzXz.^Xz.^ e.r.r F.8.`.8 $.9XnXGX4.xXp x u <Xp.[Xr H ^ /.N.NXD C t C.*.e a.eX-.e.` 3 #.~X- RXcXD.*.D.eX- h $ p ^.@.;.E.jXKX5 ) )XxXx )XXX9.5X9 N ~.rXz.b.I.I.I.UXu.b _XzXz _Xz _.b.b.b.b.^ ~ ~.8 F F F.8 F ~.r.r.r eXjXz.c.#.c.cXg.c.V.c.cXg.c.c.V.c.VXg.c.VXg.V.V.c.V.c.c.c.V.o. _ _Xz _Xz _.bXzXz.bXzXzXz _.^ _Xz.bXzXz.bXjXj.: l NXkX$.^Xt e.r e.r.rXj e.r ~Xj.7Xk ~ e.z.^XzXzXz _ _ _Xz.b.c.b.o.z _ 7.6.IX&XjXz.bXz _XzXz _Xz.b.r e.rXtXg.:.^.o.o.oXzXz.c _ _ _Xz.bXg.b.^ ZXu.o.^.b.b.o _.c.c.c.b.b e e.bXj.^.^Xz.bXz.cXg.c.cXg _ _XzXzXzXz.V.VXg.VXgXg.o.oXzXj.^XjXt ~ 3.`.`.`.X #XMX%.<Xe EX, U a a.~.e.~X-.eXIXVX- 3XKXI a a.~X-.e",
-".r.r.r.r.r.r.r.r.r.r.r.^ N ~ e.r.r e.r.r.r e.r.rXt e.rXt eXt.r.r.r.rXxX9X3XX q V.kX* N N.X.^.bXz.^.b.b.^.oXk.b.b.b NXzXzXg lXg N ~Xl.d.s % ^X+ zXr.-X7 $ $XD.Z U c.ZXJXKX. cXl c DX3 :XcXc.9.-X. XM.[.[.j.E.EXGXnX<.[XH.,Xc.,.!.w ' #X- 3X,X- 8XDXD.ZXl.0Xm ! $ mXo T ) q I q./.f 5 I./ 5 I.$.RXtXt.r.k e.k.b.b.bXzXz _.b.b.^Xz.^XzXzXzXzXzXzXzXz.b.b.b.bXz.^Xz.b lXzXzXzXzXz _.o.V _ _.b.b.b.b.o.V.oXg.o.o.bXzXzXzXzXd l.bXz N.bXzXz.^.b.^.^ ~.rXt.r e.r.r.r.rXt.r.r.r.r.r e.r.r eXj.^XzXz.b NXz.bXzXzXzXzXzXzXzXzXz.^XzXz.^XzXzXdXzXz.b.bXz.bXzXz e.r.rXj.^Xz.VXzXj.oXz _ _XzXzXzXzXzXzXzXz.o _Xz.^XzXz.b.^.r e.r.8.8 F.`XIXK oX+ H.pXnX4.w <.pXr &X2 0.=.N 8.* R a.e R.*.e.~.e 3 3.8 c.e a tXJ s 8 8 C < x._ UXL O O O yXDX-.8.`.`.`.`.`.8 ~ ~ ~.`Xt.^Xz.U.#.#.U.6 _Xz _Xz _.b.b.b.b NXzXj ~ ~ F.8 F.8 ~ ~ ~.rXt eXtXjXjXg.c.c.c.c.V.cXg.c.VXg.VXgXg.c.c.c.V.V.V.VXgXg.V.cXg _.o.UXzXzXzXzXzXzXz.bXz _XzXz _Xz.oXz _.b _.bXz.b.X j.X.XXk.:Xt.r.r.r.r.r eXj.bXt e.r jXj.kXtXj.r.b.b.^XzXzXzXz.oXg.^.b N N.:.z.IXg.^Xg.^.^XzXz _Xz.^ N eXt.r.r q j.XXzXgXz _XzXg _Xz.bXz.b.b.bXg.b.:.z.X.&X&.#.VXzXz _.b.bXj.bXg.^XzXzXz _Xz.b.o.o.V.o _ _XzXz _.o.V.cXgXg.c.V.V.o.b.^.o.^Xt ~.8.8 F.~X9 `XHX% [ [.- x `.] :Xc 3.a 3 3X-.e aX- R.e.e.e a.eX-",
-".r.r.r.r.r.r.r.rXt.r.r ~.b.rXt.r.r.r.r eXt.r.rXt.r.r.r.r.r.rXt.r.r.rXX.X q q.f.fXXXtXt.^.b.b.b.b.bXz.^Xz.U dXgXz.^.b.b.b.oXk.c.b ~X5 v 0..Xn H.[Xc.[.- x h.a.M RX,.M #XD 3XI 3X-X-.aX-.a.e t.} $XBX..- V.l :.YXBX7 VX<.[Xh.O.3 @XU =XOXc.,XJ 3 3.a RXD.w sXlXPX..5.5.8 : qX9 q.$XxXkXk.RX9 )X9X9Xk.rXt.r.r.r.k.o NXzXzXzXzXzXzXz.bXz.bXzXzXz.bXz.b.^.^.^.^XjXjXj.^.^ l.^.bXzXzXz _.oXg.cXg.cXg.VXgXg.o.V.o.o.b.bXzXzXzXzXzXg.b.bXzXz.^.^Xj.^XdXj e e e.r.rXj.r e.r.r.r.r e.r.r.r e e.rXj.^.b.^XzXz.^XzXzXzXzXzXzXzXzXz.^XzXz.^Xz.^XzXzXz.^Xz.bXzXzXj.b e e e.^.o.c.I.cXzXz _ _ _XzXzXzXzXzXzXzXz.o.XXzXzXz.^.bXj e.rXt ~ F.`.~.` $X+.EX2Xr.xX4XpX+ yXpX2X> 0 v C.* a R a R a.e B.eX1.8.e.eX-XDXG t.).s.N.N C.MXe U.W / 0 OXL mXI.8.8.8 ~.8 F.r.r 3.8.8 ~Xj.bXz.b.bXz.oXgXzXz.bXz _ _.b.b.bXzXjXt ~.r ~.r ~.r.r.r.r.r e.r eXt eXk.o.V.c.c.c.cXg.V.c.c.V.c.c.c.c.V.c.c.V.V.V.V.c.V.V _ _.V.bXzXzXzXzXzXzXz _.bXz.b.b.^Xz.o.o.oXzXz.b.bXz.tX&Xx Z.X.r e e e.rXj.^XzXjXj.rXj jXt.rXj.k.r.^.b.b _ _Xz.^.VXgXz.b.b l.:X@ d.^.bXzXz _.bXz _Xz.bXz.r.rXj.X.z.:.U.^.#.^XzXz.V.bXz _Xz.bXz.^Xz NX .:XgXx./Xz _ _ _.bXz.bXzXg.o.bXz.b.bXzXz _ _Xz _Xz _Xz _Xz.o.VXg.V.c.c.VXg.V.c.oXz l.^.r.8.`.8 ~.~X9 :.[XpXqXe h R.MX,Xl.K 3XI.eX-X-.~X-X-.aX-.e a.~.e.e",
-".r.rXt.r.r e.r.rXt e.r.r NXt e ~.rXt.r.r.r.rXt.r.rXt.rXt.rXt e.rXtXtXj.rX*.^ N.kXgXtXj NXz.^.^Xz.b.b.b.b.U.$.o.bXz.b.b.b.o.U.c.b ~.DXG...s ^X< nXBXB hX,X, R R.aXD.aX,XD.a aXI.eX-.eX- aX-.eX. K.G.,XXXXXMXM #.l.l.l.l.- n.- yXKXK.' $X, h $X- RXD.a B.w.w.' g '.e.`.`.`.`Xt.r.r ~.rXj.k.rXt ~.r.r.rXt.r.r.r N.oXz.bXz.b.b.b.b.bXzXzXzXz.^Xz.^Xz.^Xj e e e e.r.r eXjXg.^Xz.^XzXzXzXz.o.VXg.cXgXg.V.o.o.bXzXzXzXzXz.bXz.bXzXg.o.b.^Xz.^ e.r eXt eXj ~ ~XkXk.z.rXj.r.r.r.r.r.r.r e.rXj.r.^Xz.bXzXzXzXzXz.^XzXzXzXz.^XzXzXzXz.^Xz.^XzXz.^Xz.^.bXz.^Xz.^.^Xj eXz.bXg.U.6. Xg.b _.o.VXz _XzXzXzXzXzXz.o.oXz.^XzXz.bXj e e.r ~.8.`.`X- t.w.j ..4X>Xn o.EX>X+.; WX0XLXG xXK.aXD.}XlX,XI c 3.~ R aX-.* = WXb.) / 2.sXeXn U.N / OXaXL `X-.8.8.8 ~.8.8 ~ 3X* ~ ~.r.^.b.bXz.b.b.oXg.o.b _ _Xz _.b.o.b.^ e.r e.r.rXt.rXtXt eXt.rXt.rXt e eXk _XgXg.cXg.V.c.c.c.cXg.c.c.c.c.c.c.cXg.c.c.c.c.V _Xz.o.oXzXz _XzXzXzXzXz.bXzXzXzXz.b.oXj./.#Xz _.^Xz.b.b l.Q.X e e.r.r.r e.^Xz.^.r.rXjXtXk.& q l eXtXz.^XzXz _ _ _.V.o.b.^.oX@ ZXz.X iXz.bXz _XzXz _Xz.^Xz e.r.r.& q.7.6.^.cXzXz _ _XzXz _.b.bXz.bXz.U.z.t ZXg.IXzXzXz.bXzXz.^Xz.c.^Xz.bXz _XzXzXzXzXz _Xz _Xz.b _.VXg.V.VXg.VXg.V.V.oXg.V.c.^Xt ~.8.`.`.`XM `Xp Xe E u aX-.e.e a.~.~.e.e.e.e.eXI.e.e a.e.e.}.u",
-".r e.r.r.r.r.r.r ~Xt ~.r.^.k.r.r e.r.r.r.r.r.rXt eXt.r.r.r.r.rXt.r.r ~Xj.k N N.^Xk.^Xz.bXz.b.^Xz.^.^.b.^.b.bXz.b.^.bXzXz.oXk.c N ~XlXe ^ ^.@ WXH.h.-X,X,X, R hXI hXDX-.eX,X-XIX-.~ R.e.e a.a.eXM Y.eXIXM 3.} # #.l #XB.- y s.w.W 8 R R tX-X- a RX1XD 8.nXl sXK T.`.` F ~.8.r.k.rXt.rXtXtXtXtXtXt.rXt.rX*Xt.r.^.XXjXzXz.bXzXz.b.b.b.bXz N.b.b.^.^Xj e.r e.r.r.r e.r.r.oXt.^.^XzXzXz _.oXgXg.cXgXg.cXg.o _Xz.^XzXzXz.bXz NXz.X.oXz.^.b.^Xj.r e.r.r ~Xt ~ e.r.zXj ~.r e.r.r e.r.r.r.rXjXj.^Xz NXzXzXz.b.^Xz.bXzXzXzXzXzXz.^Xz.^.^XzXzXz.^.^XdXz.b.^XzXz e ~ e _Xg _.o.U.UXg.V.VXg.V.b _ _.b.bXzXzXz.o.XXz.^Xz.b.^ e e.r.r.r.8.`.`.`.a RXq.s 0 S w.@.@ o w v ^X0XpXw.9XJX3 VXl :X3XKX5.5.e.e B t C o *X=X6X>.4X> 0X>.. v 2.s b T 3.8.8 ~.8 ~.8.8Xt.r.r.`.8Xt N.bXz.b.b _.o.o.oXzXzXzXz.b.b.b.b.^ e.rXtXtXt.rXt.rXtXt.r e.r.r eXtXt.U.b.V.cXgXg.cXg.c.c.cXg.VXg.c.c.c.o.V.V.VXg.V.V.oXzXz.V _XzXzXz.bXzXzXzXzXzXzXz _Xz _.b.V.o.6.cXz _XzXzXzXzXgXgXj e e eXj.^.^Xj e e.o q qXt ~.r.r ~Xj.bXz.bXzXzXz _XgXz _.b.zXu.t.6.( l.^.^ _XzXz _Xz.^.oXz ~.o PXg NX .(Xk.bXzXzXz.b _XzXz _XzXz.b.^.zXg.^.:.(Xz.oXzXzXzXzXzXjXzXkXz.b.bXz _Xz _Xz _XzXzXzXz _Xz _Xg.c.V.VXg.V.o.V.V.oXg.c.b.bX*.8.8 ~.`X-X*Xc 1.i UXD t.e a.~.~.e.e a a a.e a.e.aX,X5 c.ZXI aXI",
-".r.r.r.r.r.r.r.r.r e.r.rXt N.rXt.r.r.r.r.r.rXt.rXt.r.rXt.rXt.rXt.r.rXt.^Xz.^XzXzXg.bXzXzXz _.bXz.o.b.bXz.b.^.bXz.b.b.b.b.o.cXgXz.8X5XsXb.@.j nX#.S.lXD UXDXDXMXI.}.aX-XDX1X-.~ 3X-.eX-X-X-.e.a.eXl.,.eXl.u.~ aXMXM x.-XcXG.w.DXDX-X-XI RX-X-XDXIXD R 8.nXm TXcXl.~.`.` ~ F.rXt.r eXj.rXt.rXtXt.rX* ~Xt.r.rXt.r.b eXjXz.^Xz.^.b.^ NXz.^.^.^.^.^Xj e.r.r eXtXtXt eXt.r N e.r.^XzXz.b.b.V.VXgXg.V.o.o.o.o.bXzXzXzXzXzXzXzXzXz _XgXzXz.b.^ e.r eXt.r e.r.r.r.rXj ~Xt.r.r.r.r.r.r.r.r e.^.^ NXz.^.^.b NXz.bXzXzXzXzXzXzXz.^XzXzXzXz.^XzXzXzXz.^.b N.^.^Xj e eXd.b.#XgXg.o.o _.c.o.c.VXg.VXg.o.o.o.bXz.o _.^Xz NXzXj.r e.r.r.r ~.`.`.`X- t.w._.s ^.@ H wX> 0 vXe u 1 a R.a hX-.aX-.D.5X-X1.eXDXK.*.N.).v ^.@X>X>.4Xn ^.sXi b OXcX,.a.8.8XV.rXV.r.rX* ~ ~ ~.r.k.b.bXz _Xz.bXgXg _.o _ _ _.b.b.bXzXj.r e.r.r.rXt eXt.r eXt.rXt.r e e.kXg.b.c.c.c.VXg.o.oXg.o.o.o.oXgXgXg.V.c.c.c.V _XzXzXzXz.cXz _XzXzXz _XzXzXz.bXzXz.bXz.b _Xj.o.c _XzXzXzXz.oXz.o.VXz.^.^Xz.bXzXj e e ~ q.^.z eXt ~XtXt.^.b.^XzXz _Xz _.cXz _XzXz.^XzXjXz.bXz _XzXzXzXz _XzXzXj.^.oXkXkXg./.I.I.b.b _XzXz.bXzXz.b.b.b.b.z Z./.oXg.(.^.^Xz.o.o.^XjXj.oXgXz.b.bXz _ _XzXzXzXz _ _XzXz _.VXg.c.cXg.V.c.VXg.V.o.c.#Xz N.^.8.8.8.8.` R E U E U.e.aX1.e.eX-.e.~.e.e.eX- RXl #XK 1 :XMX5.9",
-".r.r.r.r.r.r.r.r e.r.r.r ~.b.rXt.rXt.r.rXt.r.r.r.r.r.r.r.rXt.rXtXt.r eXjXz.^XzXz _.VXzXzXz.b.^.^XjXz.b.^Xz.b.bXzXz.b NXz.o l.o.^ F.ZXL.) ^X%.j.-.- h.MX,X1X,.K <.a.a 3.eX- 3XD.eXVX-.e.~.e.~ a.~XIXIX- 3XlX-.a c x `.jXK.w.W 8X- a.~.aX- R R R R.aXD.w '.0 gXlX1.`.`.8.8.`Xt.r.r.rXtXtXt.r e.r.r F.rXt.r.rX*.r.X e.^.b.b.b N.X.^Xt e.r eXt e.r.r e.r e.r.r e.rXtXt.r.^Xt e.^XzXzXzXzXzXz.b.b _.bXz.b.bXzXz.^XzXz.^XzXzXz N _.XXz.^ NXj e.r.r.r.r.r.rXt.rXt ~.r e.r.r.r.r.r e.r.rXt N.k N.^.^.^.^Xz.^Xz.^Xz.^XzXzXzXzXzXz.^XzXzXz.^XzXjXzXz N.b.^XjXj e.rXd _.Q.I.c.o.o.o.c.V.o.V.VXgXg.VXg.o.oXz.X.XXzXzXz.^.^ e.r.rXt.r.8.`.`.~.~XI R v 2 2X= 0 2X= 2.N.w t.MX,X-.e 3.}.e 3.uX-.e 3 B., yXp.N.s.@X4XnXp.x.;.@Xf.v 0XnX+X,X- 3.`.8XV.rXtXt.r.r.8 F ~XtXj.b.b.oXz.bXz.c.o.bXz.bXz.b.b.bXz.k eXt.r eXtXt.rXtXtXtXt.rXt eXt.rXt.bXg.b.c.cXg.o.oXz _XzXzXzXz.o.c.c.c.c.cXg.V _XzXzXzXzXz lXzXzXzXzXzXzXz _Xz _Xz.bXz.U.c.b _.b.bXz _.VXz _XzXj.U.V.^Xz.b.b.^Xj e e.r e e.oXt.r eXtXt.rXj N.^ e eXzXzXg.c.^XzXzXzXz.b.o.^XzXzXzXz.oXzXzXzXz.b eXj.^ N N.^.^ N.c.bXz.^XzXzXzXz.^XzXz.b.bXg.b.o.^.^.o N.b _.bXz e e eXg.bXz.b.^XzXzXzXzXz _.bXzXzXz _ _Xg.c.c.cXg.cXg.V.cXg.c.c.U _Xz.^.r.`.`.`X-.` Xe h a.eXD.a.e cX1.~X1.} R aXD.eXI #.~X-.aX-X, c 3",
-".r.r.r.r.r.r.r ~.r.r.r.r.r N.r.r.r.r.rXt.rXtXt.r.r.rXtXtXt.r.rXt.rXt.r.^XzXzXzXzXz.cXz.^.^.b.^.^ eXj N.b.o.z.o.bXz.bXzXz.o.cXg N F c.).WXq z k.- 1 U.M.D R $.}X- RXI R aXD.e R.u.eXV.e.~X-X-.e.~.a.8.~ c.K.e.u #XMXKXUXGXa.D a aX-X-X-XD.e aX- RX1 8Xa.wXOXc R R.`.8.8 ~.8.rXtXtXt.rXt ~XtXt ~ F.8 ~.8.rXt.r.rXzXtXz.b.bXz.b.^ e e.r eXtXt.r.rXt.rXtXt.r.r.r e.rXt.r.^.^Xt.bXzXzXzXz.bXzXzXzXzXzXzXz.bXzXz.b.b.bXz.b.^Xz.b.oXg N.bXz.k e.r.r e ~Xt.r ~.r.r.rXt.r.r e.r e.r.r.r.rXt.^.^.^.^XtXtXj.^XzXz.bXzXz.bXzXzXzXz.^Xz.^.^XzXzXz.^Xz.^.X.^XjXt ~ ~ e ~Xz.c.U.o.o.VXg.V.V.V.c.V.V.V.o.VXg.bXz.o.b.^ N.b.^Xj.r.r.rX* ~ F.8.`.`.`.~ BXl.s / /X= /.N.N.N U R.~XD.e.a aXI.uX-.e.u T D.eX, 1 UXLX>Xh MXnX> S.+.J 0 2Xn y.a.a.}XI.8.8.r.r.rXtXt.rXt ~.rXt.^.o.bXz _.b.b.U.V.bXz.V.b.bXz.b.^ e.rXt e.r.r e.r.r.r.r.r.rXt eXtXtXjXgXgXzXg.cXz _ _XzXz.b.bXzXz.o.c.V.b _.V.V.oXzXzXz _Xz.b.cXzXz.bXzXzXzXzXz.bXz.bXzXz. .U.cXzXzXz.oXzXzXzXzXz _.c.^.b.b.b.^ e.r eXjXj.rXj ~Xt.r.r ~.r e.r e eXjXjXz.^.c _ _XzXz.b.oXz.^ _.b.b _Xz _Xz _XzXz.b.r e.k.^ N.^.b NXg.^.b.b.b.^XzXjXj.^XjXjXj e.^Xj eXj NXz.b.^.^.^ e e eXk N.b.bXz.bXz _XzXz _ _XzXzXz _.oXg.VXg.c.cXg.VXg.V.c.c.c.U.c.^ N ~.8.8.8X-.a.F._ U.i.MXD aX- DXl.e 1 : 3.eXJXDXD :XM.a x :.e.e $",
-".r.rXt.rXt.rXt.r.rXt ~Xt.rXt N.r.rXtXtXt.rXt.rXtXtXt.rXt.r.r.r.rXt.rXtXj.^XzXzXzXz.UXzXzXz NXjXt.rXzXzXz.IXg.#.^.bXz.bXz.b lXg.^ F : n.y.h.T.[.-Xq $XDX,.aX,XI.a hX1.aXlX3XlXIXI c RXI.~.e.~X- aX-.a 3X-X*X- #.K `.- y.w.ZXI B.~.~X-X-X1.e B.*.aX,.Z.n.n m.Z RX1.`.8.8 ~ F.r.k.rX*Xt.rXtXt.r.r.8 F ~.8 ~ ~ ~.r NXj.b.bXz NXz e.rXj.r.rXtXdXt ~.r.r.r.r.r ~Xt.r.r.r e.kXj.r.^.^.^.^.^Xz.bXzXzXzXzXzXzXzXzXzXzXzXz.^.bXz.bXz.^ l.b.^.b.^Xd e.rXtXtXdXt.r.kXtXtXtXt.kXjXtXt.^XtXj.kX*Xj.^.kXj.^.^.kXg.XXg.b.oXgXgXgXg.o.o.o.oXgXg.oXg.o.oXg.X.o N.^.^.^.^ lXgXz l.c.#.U.U.U.U.U.U.U.U.#.U.U.U.U l.V.z l.oXgXgXg.b.^.^.k.^.k.uXV.HXV.8.8XI.w s O.s.s.s.sXs.ZX, c T.u R.MX1.a.a.` :X1 c.2.a.a CXs.; z.h M M.T.+.x vXn.s.qXGXJXl.`XIX*.KXVXtX*.r eXt.r.rXt.rXj NXzXzXzXzXz.UXzXzXzXzXzXz.b N eXtXtXtXt.r e.rXt eXtXt eXt.r.rXjXjXzXk.b.b _.b.bXzXzXzXz.bXzXzXz.b.b.bXz _.b _XzXzXzXzXzXz.o.o _.bXz _.bXz.bXzXzXz.b.oXz.U.6XgXzXzXz.bXzXz.b.bXz.b.UXz.bXzXzXj e e.^XjXt e eXt e.r.r e.r.r.rXj.r e.^.bXz.UXzXz _XzXzXzXzXzXz.bXzXzXzXzXzXzXzXzXz e.r e eXt eXtXz.^.^.bXz.^ N.b.^ e.r eXt.r e.r e.rXj.^.b NXz.^Xj e.r.^.oXz.bXzXzXz.bXz _XzXz _Xz _Xz.oXg.oXg.V.V.o.V.c.c.V.c.o.I.o.c.b.^.r.8.8.`.a c.g._ h.a a a.e.~.~.` #.` # R.e.5X,.~X5.a.e :X3.e.a k",
-"Xt.r.r.r.r.r.r.r.r ~.r.r.rXt N.r.r.r.r.r.rXt.rXt.r.rXt.rXt.r.rXt.r.r.r.kXzXz.^XzXz l.bXz.b.^Xj e e.^.^.^.b.b.o.^.bXzXzXz.b l.c.b.H `Xc.1Xp.T nXK 1Xq.aX,XI RXKX, 1XD :X,.%Xc : D ` D c 3XD 3.eX-X- 3 3.a.u 3 #.lXcXJ.w.w.w.*.~X-X- RX- R a R.a.D.Z.w.w.wXO RXI.`X-.H.8.8.`.u.8X* ~XtXtXt.r.k ~ ~ F ~ F.8.r.8.r NXd.X.b.X.b.^Xj.kXdXd.r.rXt.r.k.r.k N N.^.X N.^.b N NXx.X.b.X l.z.z.QXg l.c l.U.c.U.c.c l l.c.c l l.U l l.U l.I.o.zXg.X.b N.b.X.k.k.^.k.k.^.^.k.^Xd.k.^Xj.k.^.k.^.^.kXjXj.k.^.^.b.o.X.b lXg.o.b _.b.b.b.o.X.o.b.b.b _Xz.b.^.^XjXjXtXjXd _.Q.o.b.U.c.c.c.c.c.c.c.c.c.c.c.c l.c.o.b l.o.b.X.b.b.^XjXjXt.kXt.r.H.8.H F.H.8X1.'.W.sXL.dXs C 8XI.u.u.ZX1 R 3XD R.,X5 'X1XlXIX, $XrX>X+ z.L.+.T.EXf o.@XGXw T.]X. ( Q 5 f Q.AX@Xx N N.X N.X NXg.U.U.U.U l.c. .U.U.U.cXk lXgXg.^.k N.^.^.k.k.kXjXtXj.k.kXj.k.^ N.b.b.z.o.b.b.b.bXz.bXzXzXzXzXzXzXzXzXzXz.bXzXzXz.^XzXzXzXz.c.oXz.bXzXzXz _Xz.o.^.oXz.b _.^.oXz.^.o _.bXzXz.bXzXz.b lXz.bXz.^XjXj.^.^Xt e ~Xt e ~.r eXt.r e ~ e.r e.^.b N.VXzXzXzXzXz.bXzXzXzXz.bXz.b _ _.^Xz.^.^ e.r eXtXj.rXt.^Xj eXjXj.^Xz.bXj e e e e e e.r e.r.rXtXj.^.^Xt e.r e.r.o.b.b.b.b.b _XzXz _ _XzXz _ _.o.o _.VXg.VXg.c.VXgXg.c.c.#.V.c.b.^.r.` ~.` a $XG E U a a.e.e.~.~.~X- c.e.e.~.eXI.e.e.~ a.eX- a aX-",
-".r.r.r.r.r.r.r.rXt ~.kXt ~.r.X.rXt.r.r.rXt.r.r.r.rXt.rXt.rXtXtXt.r.r.r.^ NXzXz.oXz.b.o.^ NXj.rXtXj.b.^.b.^.o.^Xz.b.b.b.b.bXgXg.^.HX1XB.TX<.T.-XK $X,.aXD R.'XDXJ : k cXK : c : DXK.a.eX-X- 3X1.eXIXD.a.} # # `.[ y.wXL.ZXD R.~ RX-X-XDX, R $.9Xc T gXO m.`.HX1X*.uX*XV ).z.kX9.X.5 NX9.5.K.X N.k.kXtX*.k.k.^Xx.XXgXg l.b.^Xo.^Xd.rXt.r.XX9.k ~X*.r.kXtXtXt N.^.kXtXj.^ eXt.^Xz.^XzXzXzXzXzXzXzXz.^Xz.^.^.^.^.^XzXz.^Xz.^XzXg.^.^XzXd.k.^ ~ ~ e.r.rXx NXtXt.r.r e.r.r.rXt FXt.rXt.r ~.r e ~ e.^.^Xz.^XdXz.b.oXzXz.bXz.^Xj.^.^XzXzXzXz.^ eXdXt eXjXtXg ~.^ eXz.o.V.o.VXg.c.VXg.V.o.VXg.V.V.o.bXz.o.oXzXz.^.b.^.r.r e.r.r.r F F.8.H.~.H.~.wXL.N._.N t t R 3XI.e.`XD BXlXJX-X5 DXl.~ $ c 1 n.[.W.;.TXrX2 ^ 2.v O b.9.ZXI.XXdXxXoXdXxXxXxX9Xj.r.r e.rXjXj.^.b.b _ _ _.o.c.b.b.o.o.b.o.b.b.k e.k.k.kXjXjXt.r.rXt.^.k.^.b.bXgXkXg.IXg.U l.c l.U l.U.c l.U.U.U.c l.U.U.c.c.c.c.c.cXg.c.o.#Xg.o.o.VXgXg.o.^.o.c.6. .bXzXz.bXzXz _XzXzXz.b.bXzXz l.o.^Xz.b.^.^.^ N.k eXjXjXj.r.r eXt ~Xt e.r e e.^.b.b.o l.b _.bXzXzXzXz.b.bXz _XzXzXzXz.b _.bXj e.r e.r.r.rXj.^.r e.rXj eXjXjXj.r.r e.r.r.r e.rXt e eXjXt.r e F e e.rXz.bXzXzXzXzXzXzXzXz _XzXz _Xg _Xz _.o.c.c.c.V.c.V.cXg.U.c.c.V _XzXt.8.8.r.e #Xq U.} <.e.e.e.e.e.~.~.e.e.e a aXI.e a.e 3X-.e.e aX-",
-".r.r ~.r.r.r.r.r.r ~.r.r.r ~.^.k ~.r.r.r.rXt.rXt.r.r.r.r.r.r.r.rXt.r.r.^Xz.^Xj.^.b.b lXz.b.^.k.^.^.b.^.b.b.^.b.bXz.^.b.^.bXg l.b.r.u.1Xr.j.TXw.YXc h $ aXDXD.MXD x.~XDX- cXI R 3 $.u.uX- :.ZXI.uX, $Xl c.l `X7XH nX0.j oXG s.D.DXDXDXD RX,XD sXl.!X$.O YXy.]Xl ) 5X9 ).8 } 5.$ q.f q q.&.r.k FXt ~.8 F.8 ~ ~.r.kXg.X.^Xz ~ ~ e ~.` F ~.r ) NXx.8 F.8 ~XjXtXj.^ N.^Xj.k.^.rXdXz.^.b N.bXz.b.b.b.bXz.b.b.b.bXz.b.bXzXz.^.^XzXz lXz.^.X.b.bXj e.r.r.r.rXt N.z ~Xt.rXt.rXt ~.rXt.r.r.rXt.rXtXt.r.k.b NXz.bXzXzXz.^XzXjXzXzXz.bXzXz.b.^.^XzXd eXj e.r e.IXg e.r e.o.VXzXz _.oXg.VXg.V.c.V.o _XzXzXzXzXg.b.^XzXz.^.^Xt e.rXt.r.H ~.8 F.8 F.`.`XD x.W.) u.*.*X1X-.8.~ DXl RXcXlXD.e.e.D cXJ `., s M = M.4X> .X=.v OXG.0X-.H.r.H e.rXd.r ~.r e.r.r e.r.rXjXj.^.b.bXzXz _ _Xg.b.o _ _XzXz NXj e.8Xt.r.r.r.r ~ F F.rXtXtXtXj.^ N.bXz.cXzXzXzXzXzXzXzXzXzXzXz.bXzXzXzXzXz.b _.b.b.b.b.b _.b.I.oXg.oXg.o.o.c.c.c.U. iXg.U.U.U.c.U.U.c.U.U.cXk.cXg. .c.cXgXg.o.X.o.o.b N.b NXj.^.^ e.r e ~ ~ e ~.^.^ N.^.o.b.^.^XzXz.bXz.bXzXz.bXz _.b _.bXz.b.^ e e e.r e.r e.k.^.r e ~Xj.r.r.r.r eXt e e.r e.rXt e.r.r.rXj.r.r ~.r.r e N.bXz.bXz _ _ _.b _ _Xz.b.VXg _Xz.V.VXg.cXg.c.cXg.cXg.#.c.V.c.oXzXt.r.`.r.e #Xq E U a.e.eX-.~.~.eX-.~ a.`.~ c.H.~.~.eX-.e.~.e.e.e",
-".r.r.r.r.r.r.r.r.rXt.rXt.r.rX* N.r.r.rXtXt.r.rXtXt.rXt.rXtXtXtXt.r.rXtXt.^ NXz.b.^.bXg NXz.^XzXzXz.b.^.^.bXz.b N.o.oXg.o.oXk.UXk.5XI.Y.. v.1.1.- k ` x c c $ $ $X5XM.5.uX, 3 R 3XD R cXIX3XJ.3 m.HX1X,XDXM # .[X8X> w.; vXa.wXs R B.e.* a.e.D.Z.'XU.Z 4.k.2 q.uXJ.R.$ ~ q 5 I q.A q.X 5XtXtXtXtXt.r.r.r.rXtXj.kXg.^.b.^ e N N.^ N.k FXtX* N.r.r.5.r.XXj.X ~.zXkXgXkXgXk.r e.^.b.b.^ _Xj.bXzXzXz.^Xz.bXzXz.bXz.^.b.b.b.b.b.^Xg.^.b.^.^ NXd.r e.r.r.k.r.r F.k.r.r.r.r ~Xt.r ~Xt ~.r ~.r.r ~ e.^.^.b.^.b.^.b.bXz.b.bXzXz.^.^.^Xd.^.b.^.^ e ~Xj eXj.z d.I F eXz.b.oXzXzXz.VXg.VXg.VXg _ _XzXzXzXzXzXg _XzXz.^.b.^Xj e.r.r.r.r ~ F.8 F.H.8X1.~ s.w.)Xs t RXD.8X1.e c m.~ 3.a aX- R RXKX5XD.e x.M.Y JXnXfXnX=.v.s v 9.Z.H.rXt e FXd.rXtXtXtXtXt.rXj eXtXj N.b.o.o.bXzXz.oXgXz _.b.b.b.bXzXj.r F.r.rX*.r.r ~ F ~.r.r eXj.^Xz.b.b.oXg.b.b.bXz.b.bXzXzXz.bXzXz.bXzXz.b.bXzXz.bXzXzXz.b.bXz.cXzXzXz.bXz _Xz.bXz.^.#.U.b.^XzXzXzXz.bXz.oXz.o.o.b.o.z.o.o.o.o.o.o.o.o.o.XXgXk.o.zXk.^.zX@.b N.b N.UXkXgXg.6 l.c.cXgXg.V.o.o.o.b.b.b.b.^Xz.^XzXz.^.r.r.r.r.r.r ~.^.rXtXtXtXt eXtXt.r.r.r.r.r.r e.r e.rXtXtXt.rXt ~.r.r e.^.^.bXz.bXzXzXzXzXzXz _ _Xg.c.o _.oXg.c.c.V.V.V.c.cXg.c.#Xg.V.c _.b.^ ~ ~.8.` cXq U U.e aX-.e.~.~.eX*.~X-.a #.uXI.~.e.~.~.e.e.eX-.e",
-"XtXt.rXt.r.r.r.r.r.k ~XtXt.r.r N.r.r.r.r.r.r ~Xt ~.r.r.rXt.r.rXtX*.kX*.^ NXgX9XgXgXg.I lXk lXkXkXkXg.UXk.IXu.U.cXgXgXgXg.o l.UXg.k 3 v.W...;.1Xc `.i hX, B.a.a R R R.aXI.a R.eXIX- aXDXDX1.,.3XD.H BXV 3XX # >.[ 0.P 0X>XCXG sXa.ZX1 tX- t R.Z.w.'XO B.2X1.u.`.8.8.r.8X*.uXtX*.^ q.kXt.rXtXt.rXt.r.r.r.rXt.r.rXt.o.^.bXj eXgXg.o NXk.`Xk N.z.kXtXk NX9.oXj.^.z.cXk.z.o l ~ e.r.^.^.b l.^.b.bXz.b.bXz.b.^.^XzXz.bXzXz.^.^.^.^.c.XXgXg.XXz e.k FXtXt F.r.rXtXtXk.IXtXt.r ~.kXtXt.rXt.rXt.r e.k.^.^.b.bXd.b.^.#.^XzXz.^XzXzXz.^.bXz NXjXt e ~.^Xj.^Xj.QXz.r e.IXj.bXzXzXz.o.c.o.VXg _ _XzXzXzXzXzXz.cXz.bXz.bXz NXj.r e.r e.r ~ F F.8Xx.uXVXlXD.E.)Xe.M.eX1.~.H RXI R.eX-X- a a.e R R.eXDX, $XK U.W.. 0 0...s v.E TX-XV.r.rXj.r ~.r.r.rXt.rXt e.r.r e.k.b.bXg.o _XzXz.VXg _.b _.b.bXz.^.r ~ ~.r.rXtXt.r.r.r.rXtXtXt.^ N.b N.b.o.o.b.bXz.bXz _.b.bXzXz _.bXzXzXzXzXz.^.bXz.bXzXzXz.b.o.VXz.bXz _Xz.bXz.U.oXz.bXzXz.b.b _.b.bXz.bXzXz.b.bXz.b.cXz _ _XzXz.bXz.b.b.b.b.b N.r eXkXgXjXjXtXt e N.^Xj.^Xk.b.b.o.o.o.o.oXg.c.c.U.c.U.U.U.U.UXkXg N N.b N N N NXx.k.kXtXt.rXtXt.r.r.rXt.r.r.r.r.r.rXt.r.rXt.rXt.rXj.r.r.X.b.b.b.b _.b _Xz _XzXz.o.cXg _ _Xg.c.c.c.c.V.c.VXg.V.U.c.c.V.c.VXz.^Xt FXt.eXM._ E.} a.e.~ R.~.e.~.e.eX*.` R.`.~.e.~.e.e a.~.e.e.e",
-" ~ ~.r.r ~.r.r.r.rXt.rXtXt.kXj.X.K.^.k.^Xo N N NX9.XX9.X NX9.X.X.^ N.^.^.^.^Xz.o.b N.oXgXz.b NXz N.^.b.bXg./.o.^XzXz.bXzXzXg l lX* 3Xs.s ^ MX0XK V h 3 h 3XD.M.a RX-.uXDX-.eX1.a R.a #Xl K.,X-X1XV.~.u 3XM.lXBX2XA.v.BXfXr W y v.w.w.ZXI.*XD.w.w.!Xl.n :.~.u F.8.8.rX*.rX*.rX*.r 3Xt.rXjXt.r.r.rXtXtXtXt.rXtXtXt.o.^.b.^.r.^.kXt.^.kXt.r ~ ~.8Xt ~.k ~XtXj.r e.^.b.bXj.oXdXj eXzXzXx.o.bXz.^XzXzXz.^Xz.bXzXz.^Xz.b NXz N.bXz.z lXg.I.(.X.b eXt.r eXt ~Xj.rXg.^ ) 7.kXt.r ~.8 F.kXt ~ eXtXj.^.^ q.^ e.b.b. .b.b.^.^.^.bXzXjXz.bXd.^ e ~ e e.b.^.bXz.^Xd e e.RXz.bXzXz _.V.V.V.o.V _ _XzXzXzXzXzXz.VXzXzXzXzXzXz eXt.r.rXt.r ~ F.8.r.KXo.| 'Xc.> yX> =XDXKX-.~ 3.a RX- a.e.e a t.eXDX, 3 cX,.wXs CXL.v 0.s H.EXHX5 `.5XkX9 NXtX*X*.rXtXt.r e e eXt.rXj.b.bXg.c.o.o.bXg _Xz _.b.b.b.^Xj e F ~X*XtXt ~ ~.rXtXt.rXj.^.^Xz.b.bXz.c.o _Xz.b _.bXzXzXz.b _.bXz _Xz.bXz _ _XzXzXzXzXzXzXzXg.bXz _XzXzXzXz _.#Xz.bXz _Xz _.b _.bXzXz _.b.b _.b.b.c.o.bXz.bXz _XzXz _XzXzXz NXjXjXj N.I.z.k.r e.rXj e ~.^.^Xz.b.bXzXz.bXz.^ _XzXzXzXz.^Xz.^.^Xj e e eXtXjXjXtXj NXj.k.^.^ N N.^.K N N N N N N N N N.^.^.^.^.^.k.k.kXjXd.b.b.^.^Xz.bXzXzXzXz _.o.c.c.V _.o.cXg.c.c.c.c.c.cXg.c.#XgXg.V.c.VXz.^Xt.r.8.` #Xq U h a a.e.K.`.~.eX-X-.8.}X9.~.e.~.e.e 3X- a.e.e R",
-" N N N NX9 N.XX9 N N N N N.^.k N.X.kXtXtXtX*.rXt.r.r.r.r.r ~.r ~.r.r.r.r.r.rXj.^ NXz.bXk.b.bXzXz.bXzXzXz N.o.b.b.bXz.b.bXzXg lXg.k.8 v 2.v &X<XB `.}.aXlXc c.a RX, cX-Xl.aXD.e.}X-.e R : xX3X.Xl.8.~.K 3 h.l.F W.J.4XbXfX:X>X0.E 9XLXa x U.Z.w.0 gX1 D 3.`XV.`.8 ~X*.rXt.rXt.rXtXj.rXt e ~Xt e.rXt.r.rXt.rXt e.r N.^.b.^ e eXj eXt e.rXt ~ ~ ~.r.XXx eXt.r eXj.^Xz N.^XkXk.^.^Xx.I AXzXz.^.b.bXz.^.bXg.I.I.XXz.b.^Xz.b.bXz.^Xg N.bXdX@X ~ e.rXt ~Xt.rXt.r ~Xj ~.z 7.r N./.&Xk ~Xt.rX* e N NXk.7.t.7.t.&.c.^.^.b.bXz.b.^.^.zX .t.^.r eXjXj.o.^XzXj _ e A.tX&XjXzXzXz _.o.cXg.V.c.VXzXzXzXzXzXzXz.cXz.bXzXz.^ N e.r e.r.r e.r ~ F.8X*.r.uXD RXe.E v.W.M.H.`.~ a R 3 BX-X- BX- B R.aX1 1 hX,XDXDXs.sXL o b &XJ ` k q 5 f.$.AX*X*.r.rXtXt.rXt.r.r e eXj.b.b.c.c.VXgXg.c.oXz.b _Xz _.^Xj.r ~.r.r.r ~ ~.8 ~Xt e.r.r.k.^.^ NXz.^.UXz.bXz.b _.bXzXz.b _XzXz _XzXz _Xz.bXzXzXzXzXzXzXzXz lXz _XzXz.bXz _.^.oXzXz _Xz.bXzXzXzXz.b.b.bXzXz _Xz.b.c.b _Xz _ _XzXz.b.bXz.^.bXj e.r e.r.r ~ e.r eXt.rXtXt.^Xj.^.^XzXz.b.bXzXzXz.b.bXz.b.b.b NXzXj e e ~ ~ ~ ~ ~Xt.k ~ ~.r.r ~Xt.r.r.r.r ~.r.r.rXtXtXjXtXjXj.k.k.K.^.^ N.XXg lXk.U.U.U.c.c.cXg.V.U.U.UXg.o.V.c.VXg.cXg.oXg.V.c l.#Xg.V.c.V.c.b.b.^ ~.8.a 3Xp EX, aXI cXIX-.~.e.e 3Xl.K.~.~X-.~ a.e 3X-.~.~.e.~",
-".rXt ~Xj ~XtXtXtX*Xt.r.rXt.r.r.r N.r.r.r FXt.r.r.rXt.r.rXt.rXt.rXt.rXt.r.rXt.r e.^ NXzXg.o.b.bXzXz.^Xz.bXz.bXz NXz.bXzXzXz.bXg l NXV s.s b z nX+.- h 3 k T., ' )XcXlXcX5 1 : x Y.a.a.e BX-.~ a.eXI 3 3 a #XM .[ . 0Xb % %.s.sXi 0 &X>Xp v.n.n Y ( m 5 D )., m 5 I fXtX*XtXt.rXtXt eXtXtXt.r.r e.r e e.r.rXj.^Xz l.b.b.bXz.^.bXz.b.^ e.r e.r.r qX$Xd.kXjXj.b.b.^XjXt ~.R ~.R.&XtXzXoXzXzXzXzXzXz N.X.b.: _.bXzXz.b.^.b.^.b.^Xg.^.rXxXx.:.k.k.rXt.rXg qXz ~ e.r.rXx.k , 5X9.^Xt.r eXt.^ NXzXz.bXz.fX .XXzXo.b.^Xz.^Xz NXd.bXt.:.kXjXjXjXz.^.bXz.^.b.b.:.bXz.b.^XzXzXj _.o.V.V.oXgXg.oXzXzXzXzXzXz.cXzXzXzXzXzXzXzXt.r e.r ~Xt e.8.8.8.8.`.`.*.N b.W.WXDXD.~.`X-X-X- R.e $XD.D.DX1X,X1 $X,.M.MXs.N.WXe.9 sXI.D.5 ~.rX*X*.rXt.r.rXt.rXdXt.r ~ ~ F.r.r.^Xz.o.c.c.c.c.c.# _Xz _Xz.b.b NXj e.8 F.8 ~.8.8 FXtXtXtXtXt.rXjXt.r e.^Xz e e.bXz _Xz _XzXzXz.bXz _Xz _XzXz _.bXzXzXz _.^ _.b.cXz _ _.b i.UXzXz _Xz.bXzXzXzXz.bXz _.bXz.b _Xz.bXz.o.c.^ _.bXzXz.bXzXz.bXz e eXt.r.r.r e e.r.r.r.r.r e.r.k.^.r.^.b.b.^Xz.bXz.^.^.^Xz N.bXzXzXz.rXt.r ~ ~ F ~Xt.r NXtXj.^XjXj.r.r ~ ~.8 F F F.8.8.r.r.r.r.r.r e.rXt.rXtXt NXt.^Xz N.bXz.bXzXz _.V.oXg.oXz.VXg.c.V.V.V.V.V.V.U.V. .c.U.#.U.U.#.cXkXk.XX*.K.-Xq.iXD.a.8X-X9.e.~.~.e.e.e 3.}.e.~ a.e a.e.a #.eX-.~",
-".rXj.r.r ~Xt.r ~ F ~XtXt.r.r.r.rXt.^ ~.rX*.rXjXt.rXt.rXt e.rXt.rXt.r.rXt.r.rXt.rXj.^ N.oXgXzXzXzXz.bXzXz NXz NXz.^XzXz.bXz.b.b lXx.HXl v v.;X<.-.,.Z.}X,XDX,XI.Z c aX- a <XD.M 3 xXDX, 3.e.eX-X-.eXl.e ` x #XBX7.. %XF *.d.) *.sX=.@.4.jX>XL ' g.].`XV 3 3 $X*X*.k.K ~.rXtXtXtXt eXtXj.^XjXjXtXtXjXjXjXjXj.^Xz.bXg.o.bXz.bXz _Xz.b.^Xj e.r.rXd q.7.XXd N.bXzXz.b e.rXt.K.r f q.r.b.bXz.bXzXzXz N.^.o.X.:.^Xo.I.bXzXz.^Xz.b N.bXd.r.|X9.:X9Xt.rXt ~Xk.8.z.r.r e ~X9.5.k.:.A ~.rXtXt.^.oXz.^ N.b.^ Z A.k.bXz.b e e e.^.^.^.k.k.:.^.^.b.^.^.^.b.b.^Xz.b.:.^XzXzXzXzXzXzXz.b.VXg.VXg.V.o _ _ _.b.b.b.UXz.bXzXzXzXz.^Xj e.r e e.r.r.r.8.8.8.8.` R.nXe.)XLXD 3.eX-X-.e RX- RX,X1 8XD.D.MX,.M.Z R.NXeXL.w y.'X1 3.8Xo.u.k.r ~.uXtXdXd F.r.r.r.r ~ F.`.8 eXzXz.o.c.o.c.c.c.I.b _ _Xz.bXzXzXjXt ~.8.8.8.8 ~.8.r.r.rXt.rXt.rXjXjXt.k.^Xj.^.bXz.bXz.bXz _XzXzXzXzXz.bXzXz.b _XzXz _XzXz.b.o.VXzXzXzXz.#.oXz _Xz.bXzXz.bXzXz _.b.bXz _ _.b.b.b.bXgXgXz.b.b _XzXz.bXzXzXj e.r e.r e.r.r.r.rXt e.r.r.rXj.k.^XtXj.^.b.bXz.^Xj eXjXz.bXz.b.b.bXj eXt ~.8 F F.r.r.^.^.^.b NXzXz.^.^XjXt.r ~.8.8 ~.8 ~.rXt.r e.r eXt eXt.r.^XjXt.r.^.^.b.bXz _.V.cXg.c.V _.o.V.V.c.V.c.c.V.V.c.V.U.U.V.c.o.c.c.o.^Xz NXt.8.} 1 E.i.}X-X- cXV.`.8X1 3 3 3 hXI.} RX1 3 c aX-X,.~X-.e",
-".r.r ~XtXt.rXtXt.kXt.r ~.rXjXt.r.r.X.r.r.rX9.r.rXt.r.rXt.r.r.rXt.r.r.r.r.r.r.r e.r.^.bXzXk.^Xz.^.bXzXz.bXzXzXzXz.b.b.^.bXzXzXzXgXg.uX,.'.s.@.1X7 [ hX,.iX5X,XD :.2Xl.Y :Xc : ` mXJ :Xc c.eX-X-.e.~ c.e h #.l.l.[X4XF p t < t U U 0 %...@XrXG TXO.k B.`X-.`.8X* ~Xt.rX*Xj.rXt.r e.r.^.^.b N NXz.^.^.^ N.^XzXz N.b.bXgXz.b.bXz.bXz.bXz.^XdXj.r.r.z P.f.b.b.bXz.bXz.k.k F.^.k 7.^.k.b.^.bXz.bXzXzXzXz N./ Z.b.Q AXz.^XzXz.b.^ NXz.X fXt.r f f.rX* ~XtXt.rXzXtXt e.k P.K.rX9.tXt ~ e.^.^.b NXz.^.bXg.:X@.b N.^Xj e eXj e e.b.^Xk.: NXd.^XzXz.^XzXz.^XzXd d.Q.6.^XzXzXzXzXz.b.VXgXg.VXgXgXg.o.o.V.V.V.UXz _XzXzXz NXzXj e.r.r.rXt.r ~.r.` ~.`.`XlXG.W.NXeXD x.a.a R a a.a aX,.} R.M R.M t 8 v.N.W.s v M.> :X5.5 )./.k )XtX9 q.k.$ (XxXk N.r F.8 F ~.rXj.b _.V.cXg.c.c.U.#.o _.bXz.bXzXzXt.r F ~.8 ~.8.8 F.rXt.rXt.r e.rXt.r e.^Xz.^.b.b.b.bXz.bXzXzXzXzXzXzXz _Xz.b.b _Xz _Xz.oXzXz.V.o.bXz _Xz _XzXzXzXzXz.bXz.bXz.b _.b _.b.b.b _ _.bXz.c.oXzXz.b.bXz.bXzXzXz e.r e.r.rXt.r.rXtXtXt.rXtXt.rXj.^XjXt e.^.b.^Xj e eXj.^Xz.bXzXz.^Xj.r.rXt F F ~ ~ e.r NXt N.b.^.b.^XzXzXzXz.^ e.r F.8 F ~.rXtXt.r.r.r.r ~Xt.r.^.rXj.r.bXzXzXz _ _.V.cXg.c.o _.V.V.c.c.c.V.c.c.c.c.o.#.V.U.c.V.cXgXz.VXz.^X*.8XM U U a.e.e R.e.e.e.e.e.eX- aX-.eX1.~.`.HXI.`XIXIX-X5",
-" e.r.r.r.r.r.r.r ~.r.r.r.r.r.r.r ~ NXt.r.r N.KXt.r.rXt.r.rXt e.r.rXtXt.rXtXt.rXt.r.^.b.^Xg.bXz.bXzXz.bXzXz.bXz.bXz.bXz.bXz _.b.oXk.K c y yXn.TX#Xw k., :XcXJ :Xl 1Xc #.Z.MXDX, 1 $XD R.eX-.e.~X-.~.k.e 3 a.l.lX7Xn p p u.a hXl $.)...s . yX0.n.2XdXV.`.~.8.`X*.8X*.rXtXt.r.k.rXtXt.^ N.b N.b NXz.b.b.b.bXz.b.bXz.b.c.^ _XzXzXzXzXz.b N.^Xt e.X.X.t 7Xk.^.bXzXzXzXj.r.kXt 5.7./Xd N.bXzXzXzXzXz N.^.c.t.t AX .o.o.^.bXz.bXz.^ NXxXx.5 NXxXx.X F.k.r.r eXt ~.r.r.bXxXk.rXt.k FXj.kXzXz NXz.b.^.b l.I l.bXz.^ e ~ e ~ e.r.rXt.XX9Xj e eXjXz.^XzXzXzXzXz e.o.^Xz.^XzXzXzXz.o.VXgXg.o.c.c.c.c.cXgXgXg.UXzXzXzXz.bXzXz.^ eXt eXt e e.rXt F F ~XIXD s.sXs.).M x.a R u.M.W U U.M.WXe.N U.WXs 2Xe.sXL vXp $XK DX..A ].RXtX@ q.| qX@ ]X@.t.RXxXt ~.8 F F FXj.b.bXg.c.V.c.c.U.UXg.o.bXz.b.bXz e.r F.8.8.8 F.8 F.r.r.rXtXtXtXj.r eXt.o.b.b.^.b _.b.b _Xz.bXz _Xz.bXz.bXz _ _XzXzXzXzXzXzXz.cXz _ _ _XzXzXz.bXz.bXzXz.b.b _Xz.b.b.b _.bXz.b.b.b.b l.b _XzXz.b _XzXzXz.^ e e e.rXt.rXt e.r.r.rXt.k e.r.r N.rXjXjXj.^ e e.rXjXjXj e eXz.^.^ e e.r ~ F F ~.rXtXt NXj.b NXzXzXz _XzXzXzXz.^Xj.r F F ~ ~.rXt.rXt.rXt.rXt e N.rXj.rXj.^Xz.b.V.c.c.c.V.c _ _.c.V.c.V.c.c.c.cXg.V.c.#.o.V.VXg.V.c.c.^Xz NX*.8 ` h U.d a a a.e.~.e.~X- aX-.} a.e.e.eX-.e c.`X1XI $XlXl",
-" ~Xt e.r.rXtXt FX*.r.rXtXt.r.r.r.r.k.KXgX9.t.kXtXtXt.rXt.r.r.rXt.r.r eXt.r.r e.r.r.^.^.^.o.o NXzXzXzXzXz.bXz.bXzXz.b.^.bXz.b.^.^.V (Xc.O.+.; =.T.S [Xc.} $XD R 3 aXD.e.a a a a.aX- a.aX-XI.e.e.~.e.KX-.} 3 #.l >X%.@.pXp.1 mX3Xc xX4.@X>X0 TX$ ! ].8.` R.`.8X*.8Xt.r.rXtXtXj eXj e.^XzXzXz.b.b.bXzXz NXz NXz.bXzXz.U.^XzXz _XzXz _XzXzXz.b.rX@ NXkXg.b.b.^Xz.oXz.^.r.rXj N.rXt eXzXzXzXz _XzXz.b.oXj.^.bXdXzXz.^Xz.bXz N.b.kXj.^.r ~Xt ~Xt ~Xt ~.rXj ~Xt ~ e.r.r ~Xt.r.rXt eXtXj.^Xz.o.^.b.^XzXzXj.b.^.^Xz.^Xj e e.rXj.r.r e ~ eXt e e.^.^Xz.^.bXzXj _XdXzXzXzXzXzXz _.VXgXg.VXg.VXg.VXg.V.V.o.o.#XzXzXzXzXzXzXz.b.o.X N.^Xt.rXoXd.H.r.`.8 RXLXe /Xs.).w C.M.W.= 2 v 2Xa.sXe v v.=.W.W.s x.s v.MXIXIX*X*.k.k N.rXd.k.r.kXV.rXd.rXt.r ~ F F.8.r eXj.b.o.V.c.VXg.c.#.c.c.o _Xz.b.b.^ e.r F.8 F.8.8 F.8XtXt.rXt.r e.r eXj.^Xg.b.bXz.b _.b _.b.b.bXz _XzXz _ _Xz.bXzXz _XzXzXz.V.^.UXzXzXzXz _XzXz _ _XzXz.bXz _.b.b.b _.bXz _.b.b.b.b _.cXz.oXz.b _XzXz.bXzXzXjXj.^Xt eXtXtXt.rXt.rXt.^ NX*.^ NXt.r.r eXt e.r.r e e.r.r.rXj.^Xt.r eXt ~ F ~.r.r.r.^.^.^ NXz _Xz _XzXzXz _Xz _XzXj.r F.8 F ~ ~.r.r.rXjXt.r.^XjXt e eXj.^ _Xg.VXg.c.c.V.c _.oXg.V.c.c.c.V.c.V.c.V.U.UXg.cXg.c.c.oXgXz.^.b.r.8 1Xe E U.e.aXI.eX-X-.~ 3.eX- a.e a.e.uX, 3 xXKXK ` 1.i.a",
-"Xt.r.r ~.r.k./ ,.X.k ~.rXt.r e.rX*.r P q.k.A.^Xt.r.rXt.r.rXt e.rXtXt.r.r e.r.r.r.r.^.^.^.bXkXzXz.bXz.bXz NXz.b.bXz.b.b.bXz.^.^Xd.X.k.kXs y.@X+XH.T., kXBX,.aX-XD.aXD R.e.a t.e.M R.e mXJXl :XDX- ~.`X*.`.}.i.l.[Xr M M nXH c `X3.9.Y.Y & =XU.G D (.eX1.` a.8X*.8.rXjXt.rXj.r e e e.^XzXz.bXz.bXz NXzXzXzXz.bXz.bXz.UXz.bXzXzXz.bXz.b.bXzXzX@Xg.b.b.b.b.b.oXzXz.b eXjXtXt.b.r eXtXzXzXzXzXzXzXz.bXz.o.^XzXzXz.bXzXz N.^.^.^ eXt.^XtXt ~XtXt.rXtXt e.rXt.r e.r.r ~Xt.r.rXt.r.r.^.b.^Xz.oXzXzXz.^Xz _Xz.^.b.^.^.b.r.rXt F FXtXtXtXt e e eXz.^XzXzXzXzXzXzXzXzXzXjXzXz _.oXgXg.V.oXgXgXg.V.oXg.oXg.o.UXzXzXzXzXzXzXz.b.&Xg lX9.QXd.z.R.XXd.kX*.Z s M v 2.W v.W.sXs.) 2.= 2.s vXG.s._ b.9 o.j y 1.aXI.}.u.u.u ~.^.k.r.rXt.rXd.k.rXtXt.r e ~ F F F ~.r.^.oXg.V.cXg.V.c.#.c.c.oXz.b.b.b.^ e e F.8 F ~.8.8 ~.rXt.r e.r eXj.^.b.b l.b.b.bXzXzXz.bXz _XzXz.b _ _Xz.bXz _ _XzXzXzXz.#.I.c.cXz _Xz _Xz _XzXzXz.bXz _.b.b.b _Xz.bXz.bXz.b _Xz.bXg.cXz.bXz _ _ _XzXz.bXz.^.b.bXjXt.r.r.rXtXtXt q.z.zXt.^XtXjXt.r e.r eXt e.r.r.r e.r.rXt e e ~Xt ~ ~.r e.rXtXz.^.bXz.^XzXz _XzXz _XzXzXz.bXz.^ e.r.r ~ F F F ~ ~ e.r NXt e.r eXz.b.o.cXg.cXg.VXg.c _Xg.V.c.V.c.c.V.cXg.V.c.#.o.o.c.o _.c.c _.b.^ NXVX- `.i E < aX-X-.e.e.e.eX-.eXI.eX-.eXlXl ) 1XK U 1.e.e.e a",
-" e ~.rXt.r.8Xk P ~.rXt.r.r.r.rXt ~.$ ,.8X*.KXt.r.rXt.rXt e.r.r.r e.rXt.r.r.r e.r.rXjXtXj.kXg NXz.^XzXzXz.bXzXzXz N.^.b.b.X.^.X.z A.RX3Xc.+.;.EXr.O.[.SXH.M.MXIX- 3 a R : R.e tX- TX- 1 1 mXH.~X1.e.e.uX. 3 # XB.p.@XpXe C hXDX, <.}.N.s.YXw m.H.`.`X1.a.`.}X*.rX*.rXt.rXt.rXj.^Xj.^Xz.b.b.b.b.b.b.b.b.bXz.bXz.bXz.c.b _Xz _Xz _ _.oXzXg A.o.^Xz.b.b.b.^.bXzXz _Xj e e.r.X.rXj.bXzXzXzXz _XzXz.b.^Xz.bXzXz.bXzXzXz.b.b.^Xt.r.r.X ~Xt.r.r ~ e FXt.rXt ~Xt.r.rXt e.r.r.r.r.r.rXz.^.b.^.bXzXzXz.^.bXzXzXz.b N.^.^.r.r ~.r e.rXj.b.^Xt eXjXzXz.b.bXzXjXzXjXzXzXj _.^ _.oXg.VXg.o.VXg.VXgXg.VXg.VXg.V.#XzXzXzXzXzXzXz.^.t.6.(.( Z.XXg.X ].R.A.$X3XJXhXC 2 2.s.W.W.).W.n 9.9Xm.9 s 1.9.j $ = T.2XD.K.5.r }Xk.z.^.5.^.zXdXd.X.X.rXt.rXt.r.r.r.rXt e.rXjXz.oXg.c.c.c.V.c.IXg.U _.bXz.bXzXj.rXt ~ F.8.8.8 F ~Xt e.r eXt.kXzXzXz.o.c.b _.b.b.bXzXzXz.b.b _XzXzXz _Xz _Xz _.bXzXzXz. . .#.o _XzXzXzXz _Xz _Xz _Xz.bXz _Xz.bXz _Xz _Xz.bXz.bXz l.bXzXz _.bXz.bXz _XzXzXz.bXzXt e.r.r.r eXt e.r.r.^.r NXtXt.r eXt.r.r.r eXt e.r.r e.r.rXtXt eXt ~.r.rXt.rXj.X N.o.b.^XzXzXzXz _XzXzXzXzXz.b.^.^.^XjXj.r.r ~.r e eXtXz.r e.r eXz _.oXg.c.c.c.cXg _ _.V.V.c.V.c.c.V.c.V.o.c.U.V.c.o.c.cXg Z i.oXgXxXx.aXM._ E U a.e a.e.~.~.~.eX- 3.e.e.eX1.`X-X-.e.e a.e < a.e",
-".r.rXt.r.rXt q.t ~.r.r.r.rXtXt.r.8.& }.^ ~.rXt.u.r.r.r.r.r.r e.rXt e.r e.r.r.r.rXt.r.r.rXtXg N N.^.^.^.^Xz.^ N N.b.^.X.^Xo e.X.RX@./ : TX> vX> n.1X.XZXHXe.M t.e.ZX,X, $ a 3.e.a T.}.e.e.eX-.~.e B BX- : # # XcXp.sX= u.M a t a t u.)Xe v y #X-.`.`X-.8.}.`.r.k e.r.r.kXj N.^.b.bXz.b.b _Xz.b.bXzXzXzXz.bXz.b.b.^.V.oXzXz _XzXzXz.U.Q.#XzXz _Xz _XzXz _XzXz _Xz.b.^.bXjXgXo.oXzXzXzXz _XzXzXzXz.bXz.^.bXzXz.^.b.bXz NXz.r.k.r N.r.r e.r.r.r.r.r.r ~ e ~ eXt.r.r.rXj ~ e eXjXz.^.^.^.oXz.^Xz.bXzXzXzXz.^Xz.b.rXt e ~ F eXt N.^.bXzXz.^Xz.^.bXz.^XzXzXzXzXzXzXz.b.o.V.V.oXg.VXg.o.c.VXg.o.o.o.VXg.#XzXzXzXzXzXz.b.bXz.bXz.R.bXzXoXdXd.r ~.8.a #XU.9.= vXL.WXL._XG xXD.~ RX-X- BX,XD.~.~X9X9 5 (.&.k.tXxX@X@.& X.t.& fX X@.zXt e.r.r e.rXt.r ~Xj NXz.V.c.V.c.cXg.U. .V.c.oXz.bXz.^Xj e e.r ~ F F.8 F.8XtXt.rXtXjXzXz.b.b.bXgXzXz.b _.bXz.bXzXzXz _XzXzXzXz _XzXzXzXz.oXzXz _.c.cXg _Xz _Xz _XzXz _.bXz.bXz.bXz.bXz.bXz.bXz.bXz _.bXz.UXz.b _.b _ _.bXz.bXzXz.b.bXj.r.rXt.rXt.r.rXtXt.rXtXj N.rXtXj.r.rXt e.r.r.r.rXt.r.r.r e.r.r.r.r.rXt.r e.r.^XgXzXz.^ _.^ _Xz _Xz _ _XzXzXz.bXz.b.b.bXz.^.^.^Xz.^.^ NXz e e e e.^.bXg.cXg.V.c.c.VXz _ _.c.c.V.c.c.c.V.c.o.#XgXg.c.o.o _.c X.U.7 A.f | :XB.- U U a.~.e.e.~.e.e.eXI.~ a.~.` 3.eX-.~.~ a a.e a.e a",
-" e ~Xj ~Xt ~.&.$.r.r.r.r.r.r.rXt.rX9.:.5.KXk.r.rXt.r.r.r.r.r.r.r e.r.r.r.r.rXt.r.rXtXt.r.rXt.oXt.r e.r.k eXd e.^.z.U.^XoXtXtXt.k.R NXI.}XG 0X>.h.TXw.- X, x.Z :Xc 5Xc.e R RXl.-XcX5.e.e a.eX-.e B.e B.e hX3.[X7Xm.s.W p.N.W < t u u -Xv.s.9.aX-X-.`.`.H F.rXd.^XtXtXt eXj.b N.bXz.b.b _XzXz _ _Xz.bXz.b _.bXz _Xz.o.o.bXzXzXz _XzXzXzXzXz _XzXzXz _XzXzXzXz.bXz.b.bXz.^ l.b NXzXzXzXzXj.VXg.o.o.oXzXz _XzXzXzXz.^Xz.^ eXtXt.r N.r.r e.r.r e.r.r e.r.r.r.r.r.r.r.r.r e.r.rXjXz.^Xz.^Xg.^Xz.bXzXzXzXzXzXz.^.^Xt.r ~ ~.rXt.^XzXzXz NXz.^Xz.^ _XzXz.^XzXzXzXzXzXz.VXg.o.o.VXgXg.VXg.o.V.c.VXg.cXg.o.U.oXzXzXzXz.bXzXz.b.bXzXz.b.b.^Xd.rXt.r.r.8.aX- $.nXLXG s x $.a.`X-.`X-.`X-X-.`.`.`.8.r FXz eXo.^Xx.z.z.z.6.I.I l.z.zXg.bXtXt.r.rXt.r.rXtXt.^Xz.oXg.c.c.V.cXg.c.#.c.cXz _.b.b.b e.rXt ~ F.8 F.8 F ~Xt.r.rXt.^.^Xz.bXz.o.o _.^ _Xz.b _Xz.b.bXz.b.b.^ _XzXz _.b _.I _XzXzXzXz.#.c _XzXzXzXz _XzXz _Xz.bXz _.bXzXzXz.o.bXz.bXz.b.b _XgXz.bXzXzXz _Xz _Xz.bXzXz e e e.r e.r.rXt.rXtXtXj.rXtXjXt e.r.r.rXt.rXtXt.r.r.r.rXt.r.rXt.rXt.r.rXt.rXj ~Xg N.b.b.bXzXz _Xz.bXzXz _XzXzXz.bXz.bXzXz.bXz.bXzXz N.^.z.^.bXz.^.^Xz _.cXg.V.c.c.c.c _.oXz.V.c.c.cXg.c.c.c.V.U.b.bXg.o.^ _.b.o.b.U.k )X9 1XH [ E U a.e.~X-.e a.eX-.8.e.~.e.~X*.~.~.~.e.~.e.e a a <",
-" ~Xt ~.rXt.k f.f.r.r.r.r.r.r.r.r.r.r.X 5Xx ~.rXtXt.rXt.r.rXt.r.r.r e.rXt.rXt.r.r.r.k.8.rXt.rX9 F.r.r.r eXt eXjXx.:X9.R q.&.z Q.R.t.& 5Xw = z 0.jXw.1.[.-.YXJXc ` $ $ cX-X5 kXl c.a a.e.eX-.~.e.~.e.e a a.8.i c k.YXG...s.s.).) p pXF -.s..Xq a.8.8.`.8.8.r.r.r.o.r.rXjXj N.o.b.^.b.b _Xz _XzXz.bXz.b.b _Xz.b.bXzXz.o.cXzXz _XzXzXz _XzXz _XzXzXzXz _Xz _.bXzXzXzXz.b.b.^Xk.b.bXzXzXz _Xz. l. .#.UXz.^XzXzXzXzXzXjXj e eXt.r.r N.r e.r.r.r ~ e ~ ~.r ~.r.r.r.r.r.r e.r.r e.kXzXz.^Xz.o.^Xz.^.^.^XzXzXz.^Xj e e ~ ~ ~Xt.^.^Xz.^XzXz.^XzXz.^.bXzXzXzXzXzXzXz.b.o.o.o.o.oXg.c.VXg.c.V.VXg.o.o.c.o.c.#.V.bXzXzXzXzXzXzXzXzXz.b.bXz.bXd e.rX* 3.8.8X1X- $.' x R.eX-.8X-.`X-.`X-.`.`.`.` F F.r ~.^XdXzXj.bXzXz.^Xx.^.^XjXz.^.^Xj e.rXj.rXtXtXj.rXj.^.b.V.V.c.c.V.c.c.U.UXgXgXz _.bXz.b e.r e ~ F F.8.8 ~.rXtXt.r eXj e.^.^.b.c _.b _Xz.b _.b.b _.bXz.b.bXz _XzXz _.b.bXu.#.b _XzXg.#.oXz _XzXz _XzXzXz _Xz.bXz.bXz _Xz.b.bXz _.bXz _Xz.o.V.b.bXz _Xz.bXzXzXzXzXz.^ e e.r.rXtXt e.rXt e.r.rXt.^.^.r.r eXt.rXt.rXt.rXtXtXtXt.r.rXt.rXt.r.r.r e.rXt eXg.bXz _Xz.bXzXzXz _XzXzXz.bXz _XzXzXzXz.bXz _XzXzXz.b.bXg.bXzXz.b _.b.o.cXg.c.c.c.c.o _.V _.VXg.V.V.c.V _Xz.V.bXz.b.bXzXz.b.bXz.b N ~X-XI $ 1X7.i t aX1.e.e.e a.eXIX-.~.~ a.uX- a.e a.e a a.a.} EX,",
-".r.r e.r ~.k.X N.rXtXt.r.r.r.r.r.r.rX*.k.rXt.u.r.r.r.r.r.r.rXtXt ~Xt.k ~Xt.rXt.rX*.r.r ~ ~.r.XXtXt.r.r.r.k.kXd.bX P.7X .A.A.R.&.( Q D.3Xr M.s oXpXZXh.SXw x 3 R.eXc 3 T ` T R.e.e aX- a.eX-.e a R <.e.e.}X* #X3.iXeXpXpX4..Xe.m.W.).s %.YXeXDX-X-.`.8XVXtXt.r.bXdXj.^ N.b N.b.b.b.bXz.bXz _.bXz _XzXzXz.b.bXzXz _.b.cXzXz.bXzXz _Xz _XzXz _XzXz _XzXz _XzXzXz _Xz _XzXzXg.o.bXzXz _Xz _.o.V.b _XgXzXzXzXzXzXz.^ e e.r.r.r.r.r N.r.r e.r.r e.r.r e.r.r.r e ~ e.r.r.r e.r e.^Xz.^.bXzXg.^XzXz N.bXzXz.^.^ e.r ~ F ~.rXj.^.b.^XzXzXzXz.^Xz.^ _.bXzXzXzXzXzXz.V.o.o.o.VXgXg.VXg.VXgXgXg.c.V.o.VXg.c.#.o.b _XzXz _XzXz _XzXzXzXzXz.b.^ e.r.r.r ~.8.`.~.` 3X1X-XI.~.~.`.`X-.`.`.`.` F.8 ~XtXj N.^.b.^.b.bXz N.b.U.b.b.b.bXz.^.^.r.r.r.r eXt.r eXj.^.o.c.c.V.c.c.cXg.U.U.c.o _.b.b.b.bXj eXt.r ~.r ~.r.r.r.rXt e e.r e e eXz l.^.b.b.^XzXz _XzXzXzXz _Xz _ _.b.b _ _Xz.# _XzXz _.U.U _Xz _XzXzXz _XzXz.b _Xz.b _.b.bXz.b _Xz.b _Xz.bXz.c.b _Xz.b _Xz _ _Xz _.b.^ e e.r.r.r eXt.r e.r eXtXj.r N ~Xt.rXtXtXtXt.rXt.rXtXtXt.rXt.rXt.r.r.r.rXt e.r e NXgXz.bXz.bXz _Xz _XzXz.b.bXzXz.bXzXz _XzXz _XzXzXzXzXzXg.b.bXzXzXz _ _.V.c.c.V.c.c.V.o _.V _.V.c.c.oXgXzXz.^.b e.^Xz.b.^.oXz.^.^.^ ~.8.a a.-., [Xp.i $Xl.u 3XIX, $XI.e 3.~.~X-X- a a.e < < E h U.i U",
-".r.r.rXt.r ~.r ~.r.r.r.r.rXt.r.r.rXt ~.r N.r.r.r.r.r.rXtX*.rXt.r.k ~ ~.rX* ~.r.r.r.r.r ~ ~.r.^.K ~.k.^.XXxXk l./X@.oXkXxXg.k NXx.U.kXx.9._ 2.)Xr =Xh.S.,Xc.i xXl 3Xl DXD.a.e t.a R a.e.e.e.eX-.e.e 3XX.eXI.u hX3 m E < <XeXnXrXhXrXrXp y.W tX-.H.8.8 ~.u.K ).X.X NXzXj.b.bXz.b.b.b _.b.b.bXz.bXz.b _.b.bXz _XzXz.bXz.UXzXz _Xz.bXz _XzXzXzXzXz _XzXzXzXz.b.bXz.bXzXz.bXzXg.o.bXzXzXzXzXzXzXz.^XzXz.^Xz.oXzXzXzXzXj e e.r e.r.r N e.r.r.r.r.r.r.r.r.r e ~.r.r.r.r.r.r.rXtXt.^ N NXz.^XgXj.^.^.^.^XzXz.b.^Xj e ~ ~.r e.^ NXz.^XzXz NXzXzXz.^ _XzXzXz.^.^ _.V.o.oXg.V.o.cXg.V.o.o.o.c.o.cXg.V.cXg.c.#.o _XzXzXzXzXzXzXzXzXzXzXzXzXzXz e.rX*.r.H F F.`.~ 3.` a.8.~.`.`X-.` F.8.8.8 ~.rXt.^ N.b.^.bXzXzXzXz.b.bXg.^Xz _XzXz.bXzXj.rXt.r.rXt.r eXjXz.V.c.c.V.c.c.c.c. .c.c.o _.b _.b.b.^Xt e.r.rXt.r.r.r.r.rXtXt e e eXj eXz l.^.o.b.b.oXz.b.b.b _.b.b _Xz.b.o.#Xz _.bXzXz _Xz.o.U.c _XzXzXz _ _Xz _ _XzXz _Xz _Xz _ _.b _Xz _.b _.b.b.U.b.oXz _ _ _Xz _Xz.bXzXz e e eXj e.r.rXt.r.r.r.r.r.^.^XjXtXj.r.r.rXtXt.rXt.rXt.rXt.rXtXt.rXt.r e e.r eXj.c.o.^.bXz _XzXz.bXz.bXzXz.bXz.bXz.bXzXzXz _Xz _ _XzXzXz.U.bXzXz _ _Xz _.o.c.c.c.VXgXg.V.c.c _.oXg.c.V.VXz.^XzXz.rXjXj.^.^.^.^XjXtXt.8.`X- XM x x.YXMX5 T 1 `Xl `., `.,XKXM.}.a.e a < U.}.m.}.m.iXq >",
-".r.r ~.rXt.r.rXt.r.r.r.rXt.r e.r.r.r.k ~.X.rXtXt.u.k.r.k.r.^Xo.X.r N.5Xx.r )X9X9 ) q.5 q ) ).&.A (.&.R Q.I.t qX@.^.b.b.bXt.^ N.X.bXtXI.MXG.).s.s o.+.[XB k m :Xc c.~.e 3X- BX-.e.e R R.eX-.e.e.~ B.aXK.u 3XIXMXcXhX# ` h a <.gXhX5 YXh.9.,.0.$ IXx I.$ D 5.%X@ P.(.6.X.b NXz.o.b.b.b.b.bXz.bXz.b.b _XzXz _.b.b _.bXz lXz.b.b.bXzXz.bXz _XzXzXz _Xz _Xz _XzXz.b.bXzXz _.b.oXg.bXzXzXz _ e.oXz.b.b.bXzXzXzXzXzXzXz.^XjXj e.r.r.r N.r e.r.r.r.r.r.r.r.r.r.r.r e.r.r e.r.r eXj.^ NXz.^.kXz eXt e e.rXj.^Xz N.^XjXj.r eXj.^XzXzXzXzXzXzXz.^XzXzXzXzXzXzXz _.oXg.V.V.V.o.o.VXg.o.VXgXg.V _.oXgXgXg.V.c.U.o.o.bXzXzXzXzXzXzXzXzXzXzXzXzXz.^ eXt.r.r.H F F.`.rX-.`.`.~.`.`.`.8.8.8 ~.r.r.^Xj.b.^Xz.bXz.bXzXzXz.b.o.X.^Xz.^XzXzXz.bXj eXt.r eXtXtXj.^.oXg.c.V.V.U.V.cXg.I.c.c _ _Xz.b.b.b.^ eXt eXtXt.r eXt.r.r eXt eXj.^.^Xz.o lXz.b.^Xz.b.b.b _ _.bXzXz.bXzXz.V.#Xz _ _ _Xz.o _.o.UXgXzXzXz _XzXzXzXzXzXz _XzXz.b _Xz.b _Xz _.b.b.b _ _ lXz _Xz _ _XzXzXz _XzXzXz.^.^.^.^XjXt.r eXtXt e.rXt.k.^ ~.r.rXtXjXt.r.r eXt e.r e.r e.r eXt.r.r e.rXj.^.^.c.o.^ _XzXzXzXz _XzXz.b.bXzXzXz.b _XzXzXz _ _XzXz _Xz.o.o.bXz.bXzXzXz.V.o.c.V.c.V.c.V.V.c.c _ _.V.c.oXzXzXj.b e e.r e eXj e e.rXt.8.8.a a 1 $ E h.e a t a a.e.} 1 h.M hXDXD.a t <.} h E EXe xXpXB $ <",
-" e.rXt ~.rXt ~Xt.r.r.r.r.r.r.r.rXt.r ~.r.k.k q qXkXx.f q.A ).& qX9./ 5.$X* q.$ q I.$.KXx ) q ) qXkXk q l.z.z.U l.b.o.b.^.b N.o N.oXt.HXDXn..X=.WXG MXH .- xXlXDXI R.~XI.eX-X- RX- m.eX-.e.e a.e.e.~.eX-.u R c # |XMXB V 3X-.u.K.H ` ) `X3 : 'XoXxXx.XXXX9.$X9.zX@XkXz.b.b.o.bXz.b.b.b.b.bXz.b.b.b.b.b.b.bXz.b.b.b.^.c.bXz.bXzXzXz.b _XzXz _XzXz _Xz _.bXzXzXzXz _Xz.b.b.bXg.bXzXzXzXzXz.^Xz.^.^.bXz.^XzXz.b.b.^Xz.^XdXt.r.r.r NXtXt.r.r e.r e.r.r.r.r.r.r.r.r.r.r.r.r.rXtXj.^XjXt e.^.r e.r.r.r eXj.^Xz NXz.k e e e.^Xz.bXzXzXzXzXz.^XzXd.bXzXzXz _.o.o.o.V.o.o.o.oXgXg.VXg.o.V _Xz _ _.V.cXg.c.U.V.o.VXz _XzXzXzXz _XzXzXzXzXzXzXz.^.r.r.r.r F.`.` 3.`.`.~.`.`.`.` F F ~ ~ e.^Xz.^.bXzXz.bXzXzXzXz.^XzXg.o N.b _Xz _Xz.bXj.r e.rXt.rXjXj.b.V.V.V.V.c.c.c.c.c.#.V.VXz _XzXzXz N N e.r.r.rXj.rXt.r.rXt.r.r e.^.bXz.bXg.oXz.^ eXjXzXzXzXzXz _Xz.c.V.bXzXz.o _XzXzXzXzXz.o.o.# _ _XzXzXzXzXzXzXz _XzXzXz _Xz.bXzXz _XzXzXz _.bXzXg.VXzXzXzXz _Xz _XzXz.bXzXz.bXz.^XzXj.r.rXt e.rXtXtXj.z.zXkXjXjXt e.r e.r e.r.rXt.r.r.r.r.rXt eXt e.^Xz.bXzXgXz _ _XzXzXz.bXz.bXzXzXz _XzXz _Xz _Xz.b _Xz.bXzXzXz.U.bXz.^.VXzXz _.V.c.V.c.c.cXg.c.c.c.V.V.o.V.o.bXz.bXj.^.rXt.r.r.r e ~ e.r.r.` 3 aX, h h h h <.e.a a < < <.} t a < t a.e.a E E.l.Y.[X% `.-X- R",
-" ~.k.r.rXt ~X* ~Xt.r.r.r.rXt.r.rXt.8.k.rXt q.$./ ) )XxXxX9.XXXX9Xx.5.k.K.^.KX*X*.uXtXt.r.r.r.8.^Xt.^Xd.XXjXz.^.bXz.bXzXz.b.bXz.bXz.r.` U v.N...sX>.+XwX3.l.} R RX,.e RXI.a.e a a.a Y.,XK :.~.e.~ R.e.~X-X-XD.a # k kX*XM V.uX9.5XIXV.~X-.~.`.~.` F.` ~X* ~X*.rXj.z.b.b.b N.b.b.b.b.b.b.b.b.b N.bXz.b.b.b.b _XzXz _XzXg.oXzXz.bXzXz _Xz _XzXzXzXz _XzXzXz.b.^XzXzXz _Xz _.b l.bXz.bXzXz.bXz.b.b.b.^XzXzXzXzXzXzXz.b.^Xz.k eXt.r.^.k.r.r.r.r.r.r.r e.r.r e.r.r e.r e.r.r.r.r.r e.r e.r.^.rXtXtXtXt.r e.k.^.^XzXz.^ e.^.^XzXz.bXzXz.^XzXzXz.^Xz.bXz.b.o.c.V.o.o.V.V.VXg.VXg.VXg.V.oXzXz _XzXz.VXg.c.UXg.c.oXzXz _Xz _XzXzXzXz _XzXzXzXzXz.kXt.r e.r ~ FX*X-.aX-.`.`.` F.8 ~.r e.^Xz.^XzXzXzXz.^XzXzXz _XzXz.o.b.bXzXzXzXzXzXzXd e.r e.r eXj.^.oXg.c.c.V.c.c.c.cXg.UXz _Xz _Xz.b.bXz.bXjXtXtXt.r.rXt eXtXt.r eXj.^Xz.b.^Xg.b.^Xj e e.^ _ _Xz.b.b.o.I.#.VXzXz _ _ _Xz.o _XzXg.c.UXzXzXz _XzXz _Xz _.b.b.b.bXz.b.b.bXz.b.b.bXz.o.bXz l.b _XzXz _Xz _Xz _Xz _XzXzXzXz.^.^Xt.r.r e.rXtXt.rXjXk.zXk.k ~Xj.rXtXtXtXt e e.r e.r e.r e.r e.rXj.b.b.bXzXzXzXz _XzXzXzXz _XzXzXz _XzXzXzXz.bXz.bXz _.bXzXz.b.b.c.b _Xz.V.o _ _.c.V.c.c.c.cXgXg.V.c.V.c.V.o.oXzXz.^.^.k.r.rXt.r eXt e.r.r.r.8.a #XB.i h.F a a.e.a.e UX,.d x U h UX, U U hXn X%.S [XB.K c cX-.`",
-"Xt.r.rXt ~Xt ~X*.r.r.r.r.rXt.r.r.rXt.r ~.r N.r.u.r.r.u.r.r.8XtXV.rXV.r.kXXXx.5.5XxXXX*XVX*XV.k.kXoXt.^ N.XXz.bXz _Xz.o.^Xz.b.^.o.^.kX-X, v p.N 2Xm M nXBXX.}X-XDX- c.~.eXD.e.eX-X, m # D `.eX-.e.~.~X-.e BXD.e $ } kXM : ).8X*.r.KXV.8X-XI.~.`.` ~.8Xt ~Xt eXt.b l N.b.b.b.o.o.b.o.b.b.b.b.b.bXz.b.o.o.o.o.b _Xz.bXz.oXg.bXz.b.bXzXz.bXz _Xz _XzXzXzXz.bXzXzXzXz.bXz.b.b.b lXz.bXzXzXz.bXzXz.bXzXz.b.bXz.bXz.bXz.b.^.b.^.r.r.r.^XtXt.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r NXt.r.r.r.r.rXtXtXt.^.^.^Xz.^Xz.b.^Xz.^Xz.bXzXzXzXzXz.o.b.b.V.o.VXg.V _.oXgXg.VXg.oXg.cXgXgXzXzXzXzXz.VXg.c.UXg.V.o.b _XzXzXzXz _XzXzXzXzXzXzXz.bXzXjXt.r e.r.8X*.`.8X-.` F.8 F F.rXj.^.^XzXzXz e e e e.bXzXzXzXz.b.o.b.b.bXzXz.bXzXzXz e.r.r eXj.^.bXg.c.V.c.c.V.c.c.c.o.cXz _Xz.o.b.b.bXz.bXt eXt eXt.rXtXtXt e.r e.^ N.b.^ e.bXj e.rXt e eXz _.b _XzXz.#. XzXzXzXzXz.b.oXg _.b _.U.oXz _XzXzXzXzXzXzXz.bXz.bXz.bXz.bXzXzXz.b.bXz _.bXz.UXz.bXz.b.b.b.bXz.bXzXz.b.bXz.^.bXj e.rXtXtXt.r eXt.k.b.X.X.^.r e.rXj.k.^XjXtXt.r e.r.r e.r.r e.rXj.^Xz.^Xz _.b.bXzXzXzXzXzXzXzXzXzXzXzXzXz.b _XzXz.b.b.b.b.b.b.o.o _XzXz.c.U.c.o.c.V.c.V.c.V.V.o.V.c _.c.o.o _Xz.bXj.bXt.r.r.r.r e ~Xt.r.r.8 3 a :Xq.l.F < a a.a.M h U h._.i E h EXe n xX%.g.p [.} 3XI.a.`.8.`.8",
-".r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.k N.r.rXt.r.r.r.u.rXt.rXtXt.k.5XX )X3 qX3X*.r.r ~Xt.r.bXz.^Xz.bXzXz.^XzXzXzXz.b.b.b.b N.r.` h.' J.@ M.@ HX<X+XBX,.a.aXIXI 3.aXI.~X-.~XIXl.e.e.~.eX-.~.e $ RX-.eXD a.a #Xc.3 V V.`.a.8X*.K.K.~ ~.K.` ~.`.r.rXt.k.r.^ NXg.o.b.^.b.b.b.b.b.b.b.o.o.b.b.b.b.o.c.c.o.b.b.b.bXz.o lXzXzXz.b.b.bXz.b.bXz.b.bXzXz.bXzXz.bXz.b.bXzXzXzXz l.b.bXz.b.bXz.b.^.b.bXzXzXzXzXzXzXz.^Xz.b.^.bXd eXtXt.kXt ~.rXt.r.r.r.r.r.r.r.r.r.r.r.u.rXt ~ F F ~.r ~Xt N.r.r.r.r.r.r.r.rXt.rXtXtXt.^.^.^Xz.^XzXzXzXzXzXzXz.bXg.VXg.o.o.o.o _ _.o _.o.o.VXg.V.oXg.V.o.bXzXzXzXzXg.c.cXgXg.o.oXzXzXz.bXzXzXzXz.bXzXzXzXz.b NXz.^XjXt e.r.k.8.8.8.8 ~ ~.r e.k.^.^ NXz.^ e eXt ~ e.^.bXz.bXzXz l.^.bXz.bXzXzXz.^.^Xj e.r eXj.bXgXg.cXg.c.VXg.c.c.b.b.oXz.bXz _.bXz.b NXzXj e.r e.r e.r.rXtXt.rXt N.bXj eXt.b ~Xt eXt e eXzXz.c.^ _Xz.oXg.bXz.b.b.^XzXgXg.o.b.o.U.b.o.bXzXzXzXz.bXzXzXz.bXz.^.bXz.bXzXzXzXz.^.bXzXz.bXgXz.bXz.bXz.bXz.bXz.bXzXzXz.bXz.^.r.rXt.rXt.rXtXt.r N.r.r.rXt.rXtXtXt.IXgXk.z.z.^.r e.r.rXt e.r e e eXz.^Xg.^.^.bXz.b.bXz.b.bXzXzXz.bXzXzXzXzXz.b.bXzXz.b.o.^.b.U.^Xz _.bXg.c.UXg.V.c.c.c.c.cXg.V.V.V.o.o.V.o.oXz.^.oXj e e.r.r.r eXt e.r ~.`XI 3 1.i $ < t < U E.i U.iXqXB Xp 1.-.[.YXBXB hX*X*.K.K N.KXtXt",
-".r.r.r.rXV.r.r.r.r.rXV.r.r.r.r.r.rXt ~Xt.rX*XoXt.r.u.r.u.r.r.u.r.r.r.rXt.uX*X*X* 3 c ~.uX*.rXV e.X.b NXz.^XzXz NXzXz NXzXzXz.b N NX*X-.uXO.T =.;XpX+ =X+ `.i.aXI 3 RXIXD 3.e.e.e.e.a.e.e.~.e a.e.~XlX3.e.e 3.e a.e cX3 ,X. V c.`X-.`.`.8.K.5.k ~ ~.^Xt.r.r.k N NXgXg.b.b.b.b N.b.o.oXgXgXgXgXg.oXgXg l lXg.o.b.bXz.b.bXgXz.bXz.bXzXz.bXzXz.bXzXz.bXzXzXz.bXzXzXz.b.^.bXz N l.b.b.^.b.^.b.^.b.^.bXzXzXzXzXz.^Xz.^ N.^ N.^.kXt.rXt.kXtXt.rXt.r.r.r.r.r.r.r.r.r.r.r.r.r.r ~.8 F.8.rXV.r NXV.r.r.rXV.r.r.r.r.uXt.rXt.r.k.^.^Xz.^.^.^XzXzXzXz _XgXgXgXgXgXgXgXgXgXg.oXg.oXg.oXgXgXg.o.o.b.bXzXz.b.o l lXgXg.oXg.oXg lXg.o.bXzXzXzXzXzXz.^.^Xz N N.^.^Xt.r.k.8.8.8 ~.r.rXt.^.^.b N N NXt ~.rXt.r e N.^.^Xz N.b l.b.XXz.^Xz.^Xz.bXz.^Xj eXj.^XgXg lXg.c l.c.cXgXg.b.b.b.b.b.b.b.b.b.b.b.^Xd.r.rXtXt.rXt.rXt.r.rXt.k.k.rXtXt N.rXtXtXtXt e.b.I AXgXz NXz.bXzXzXzXz.bXg lXg.bXz.oXk _Xg.XXzXz.bXzXzXzXzXzXzXzXzXzXz.b.b.b.^.bXz.b N.bXgXg.b.b.b.b.b.b.b.b.bXz.b.^Xz.^.^ eXtXt.r.r.r.r.rXtXt N.rXt.rXt.r.rXt.r NXt.k N N.k.r.rXt.r.r.r.r.r.r.rXdXj.X.b.b.bXzXzXzXzXzXzXzXzXz.^XzXz.^.b.^XzXz.^.b.^Xz.^.bXgXz.b.b.b.oXg.c lXgXgXgXgXgXgXgXgXgXg.V.oXgXg _.^.b.XXd.r.r ~ e.r.r e.r.r 3.8XI.}Xl h E.} u.} U EXe.l.FXq x h UX, xXcXc ` $ <.8 ~Xt.k.k.k.k.k",
-".r.rXV.r.r.r.rXV.r.r.r.r.rXV.r.rXV.u.rXVXV.r.K.u.r.rXV.r.u.r.rXVXt.u.kX*.u.uXV 3XV.u 3 ~.u.rXt.k.X.X N N.^Xo N N N N N N N N N NXo ~X1 $ s.Z.WXLXnXw.[ n., $ $.~.aX1XI R.u cX,.~.~.e.e.~ a.e.~.~ a $ T.e.~.a R.e.e.e.u :., YXHXVX-.8.`.`XV.kX9.HX*.5.k.k.r.^.5 N.X.X.X N.X.b N.XX9XgXxXkXxXkXxXkXk lXxXgXkXxXg.XXg.X.X lXo.bXo N N N N N N N N N N N N N N N N N N N N N.^Xx N.X.^ N N N.^.^Xo N N N N N N N N N.^Xo NXo.KXtXt.k.kXtXV.r.u.r.rXV.r.rXV.r.rXV.r.rXV.rXVXV ~ 3.rXV.rXV.k.r.u.r.u.r.r.u.r.r.r.r.r.rXtXt.^Xo N N N.^Xo N N.^.X.X.o.XXg.XXg.XXg.XXg.XXgXxXgXxXgXxXg.XXxXg.X.XXg.XXx lXkXg.X.XXg.XXxXgXx.o.X N N N N N.^ N.^.^ N NXo N.kX*.k ~.uXV.uX*.k.k N N.5 N N.^Xt.r.r.r.r.rXtXt.k N.^ NXx.^ N N N N N N N N N NXt.k N.XXx.X.oXg.XXg.X.X.b N N.X.^.b N N N N N NXtXt.rXtXt.u.r.rXt.u.r.r.rXt.u.r.u.r.k.r.u.rXt.r.k N.I q.z N.b N.^Xo.^ N N.b.XXg.X.X N.bXk.XXx.o NXo.^ N N N N N N N N N N.b N N N.b N N N.b.X.X N N N N N N N N N N N N N N.k.r.r.r.u.r.r.r.r.uXt.k.rX*.r.r.r.rXt.rXt.r ~Xt.r.r.r.r.r.r.r.r.r.rXt.r.r.r.5.^Xo.^Xo N N N N N N N N N N N N N N N N N.X N N N.X.X.b N NXz NXgXxXgXxXgXx lXxXgXxXgXgXgXgXxXgXx.X N N NXt.r.r.r.u.rXt.r.r.H.8.` R.a ` h hX,X,.i xXqXB.9XM.M < a.a RX-X,XI.e.a.a a.~.`.`.8.8XVXV ~XV"
-};
diff --git a/TAO/CIAO/examples/OEP/Display/README b/TAO/CIAO/examples/OEP/Display/README
deleted file mode 100644
index b66ca1babfd..00000000000
--- a/TAO/CIAO/examples/OEP/Display/README
+++ /dev/null
@@ -1,56 +0,0 @@
- $Id$
-
-This directory contains a multi-component examples. We will likely
-evolve this example in the future to show case how easy it is to
-configure and assemble a new application using component.
-
-The starting example is an imaginary car (software) instrument
-assembly which updates the display of current coordination of the car
-periodically. It consists of 3 components as shown in
-<Configuration-0.png>.
-
-These components are all placed under their own subdirectories:
-
-* RateGen - A component that allows it's client to start/stop the rate
- generating event.
-
-* GPS - A component that interact with GPS hardware. When this
- component receives an event from the Refresh port, it will
- query the GPS hardware and updates the internal cached
- coordinations (so that the current location can be read by
- accessing the MyLocation interface,) and generates an event on
- its Ready port to inform the event consumers that a new GPS
- reading is available.
-
-* NavDisplay - A navigation display component that projects the
- current location of the vehicle on the windshield.
- When a navDisplay receives an event notifying the
- availability of new data on its Refresh port, it will
- acquire the current location of the vehicle by querying
- the interface connected to the GetLocation receptacle.
-
----------------------------------------------------------------------
-
- This example does not yet use MPC to generate MSVC
-projects/workspaces/solutions or makefiles - we are still
-working on getting the execution of the CIDL compiler
-integrated into MPC. The CIDL compiler execution has
-been added to MSVC projects, which for now are checked
-into the CVS repository. CIDL compiler execution is not yet
-integrated with makefiles. The CIDL compiler can be executed by
-hand before starting the build for either this example or the
-example in ACE_ROOT/TAO/CIAO/examples/OEP/BasicSP.
-
- Compilation of the CIDL compiler source code requires the
-Boost library, which is not included in this distribution of
-ACE+TAO+CIAO. The Boost library is available at
-
-http://www.boost.org
-
- Alternatively, a binary executable of the CIAO
-CIDL compiler can be downloaded from
-
-http://www.dre.vanderbilt.edu/CIAO/CIDL.html
-
-Versions are available at the above site for Linux and Windows.
-
diff --git a/TAO/CIAO/examples/OEP/Display/RateGen/RateGen.cidl b/TAO/CIAO/examples/OEP/Display/RateGen/RateGen.cidl
deleted file mode 100644
index f25875f59b4..00000000000
--- a/TAO/CIAO/examples/OEP/Display/RateGen/RateGen.cidl
+++ /dev/null
@@ -1,12 +0,0 @@
-// $Id$ -*- IDL -*-
-
-#include "RateGen.idl"
-
-composition session RateGen_Impl
-{
- home executor RateGenHome_exec
- {
- implements HUDisplay::RateGenHome;
- manages RateGen_exec;
- };
-};
diff --git a/TAO/CIAO/examples/OEP/Display/RateGen/RateGen.idl b/TAO/CIAO/examples/OEP/Display/RateGen/RateGen.idl
deleted file mode 100644
index e5ec2552762..00000000000
--- a/TAO/CIAO/examples/OEP/Display/RateGen/RateGen.idl
+++ /dev/null
@@ -1,34 +0,0 @@
-// $Id$
-
-/**
- * @file RateGen.idl
- *
- * Definition of the RateGen (a rate generator) component.
- *
- * @author Nanbor Wang <nanbor@cs.wustl.edu>
- */
-
-#ifndef RATEGEN_IDL
-#define RATEGEN_IDL
-
-#include "../HUDisplay.idl"
-
-module HUDisplay
-{
- component RateGen supports opmode
- {
- publishes tick Pulse;
-
- /// The attribute can be configured via the home or the
- /// component property file.
- attribute long hertz;
- };
-
- home RateGenHome manages RateGen
- {
- // Explicit operations
- factory new_RateGen (in long hertz);
- };
-};
-
-#endif /* RATEGEN_IDL */
diff --git a/TAO/CIAO/examples/OEP/Display/RateGen/RateGenEI.idl b/TAO/CIAO/examples/OEP/Display/RateGen/RateGenEI.idl
deleted file mode 100644
index 00c01bbb39e..00000000000
--- a/TAO/CIAO/examples/OEP/Display/RateGen/RateGenEI.idl
+++ /dev/null
@@ -1,31 +0,0 @@
-// $Id$
-
-/**
- * @file RateGenEI.idl
- *
- * Definition of the RateGen (a rate generator) component implementation.
- *
- * @author Nanbor Wang <nanbor@cs.wustl.edu>
- */
-
-#ifndef RATEGENEI_IDL
-#define RATEGENEI_IDL
-
-#include "RateGenE.idl"
-
-module HUDisplay
-{
- /**
- * @interface RateGen_Exec
- *
- * The actually RateGen executor need to support
- * Components::SessionComponent interface. Therefore, we need to
- * define the component executor interface explicitly here.
- */
- local interface RateGen_Exec : CCM_RateGen, Components::SessionComponent
- {
- };
-
-};
-
-#endif /* RATEGENEI_IDL */
diff --git a/TAO/CIAO/examples/OEP/Display/RateGen/RateGen_client.dsp b/TAO/CIAO/examples/OEP/Display/RateGen/RateGen_client.dsp
deleted file mode 100644
index 54f98aa0e8e..00000000000
--- a/TAO/CIAO/examples/OEP/Display/RateGen/RateGen_client.dsp
+++ /dev/null
@@ -1,158 +0,0 @@
-# Microsoft Developer Studio Project File - Name="RateGen_client EXE" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 6.00
-# ** DO NOT EDIT **
-
-# TARGTYPE "Win32 (x86) Console Application" 0x0103
-
-CFG=RateGen_client EXE - Win32 Debug
-!MESSAGE This is not a valid makefile. To build this project using NMAKE,
-!MESSAGE use the Export Makefile command and run
-!MESSAGE
-!MESSAGE NMAKE /f "RateGen_client.mak".
-!MESSAGE
-!MESSAGE You can specify a configuration when running NMAKE
-!MESSAGE by defining the macro CFG on the command line. For example:
-!MESSAGE
-!MESSAGE NMAKE /f "RateGen_client.mak" CFG="RateGen_client EXE - Win32 Debug"
-!MESSAGE
-!MESSAGE Possible choices for configuration are:
-!MESSAGE
-!MESSAGE "RateGen_client EXE - Win32 Release" (based on "Win32 (x86) Console Application")
-!MESSAGE "RateGen_client EXE - Win32 Debug" (based on "Win32 (x86) Console Application")
-!MESSAGE
-
-# Begin Project
-# PROP AllowPerConfigDependencies 0
-# PROP Scc_ProjName ""
-# PROP Scc_LocalPath ""
-CPP=cl.exe
-RSC=rc.exe
-
-!IF "$(CFG)" == "RateGen_client EXE - Win32 Release"
-
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "Release"
-# PROP Intermediate_Dir "Release\RateGen_client"
-# PROP Target_Dir ""
-# ADD CPP /nologo /MD /W3 /GR /GX /O2 /I "..\..\..\..\..\orbsvcs\orbsvcs" /I "..\..\..\.." /I "..\..\..\..\ciao" /I "..\..\..\..\.." /I "..\..\..\..\..\tao" /I "..\..\..\..\..\.." /D NDEBUG=1 /D WIN32=1 /D _CONSOLE=1 /FD /c
-# SUBTRACT CPP /YX
-# ADD BASE RSC /l 0x409
-# ADD RSC /l 0x409 /i "..\..\..\.." /i "..\..\..\..\ciao" /i "..\..\..\..\.." /i "..\..\..\..\..\tao" /i "..\..\..\..\..\.." /d NDEBUG=1
-BSC32=bscmake.exe
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 /machine:IX86
-# ADD LINK32 RateGen_stub.lib HUDisplay_stub.lib TAO.lib TAO_Security.lib TAO_IFR_Client.lib TAO_Valuetype.lib CIAO_Client.lib ACE.lib /nologo /subsystem:console /machine:I386 /out:"Release\client.exe" /libpath:"..\..\..\..\..\orbsvcs\orbsvcs" /libpath:".." /libpath:"..\..\..\..\..\tao\IFR_Client" /libpath:"..\..\..\..\..\tao\Valuetype" /libpath:"..\..\..\..\ciao" /libpath:"..\..\..\..\..\tao" /libpath:"..\..\..\..\..\..\ace" /version:1.3.1
-# SUBTRACT LINK32 /pdb:none
-
-!ELSEIF "$(CFG)" == "RateGen_client EXE - Win32 Debug"
-
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "."
-# PROP Intermediate_Dir "Debug\RateGen_client"
-# PROP Target_Dir ""
-# ADD CPP /nologo /MDd /W3 /Gm /GR /GX /Zi /Od /Gy /I "..\..\..\..\..\orbsvcs\orbsvcs" /I "..\..\..\.." /I "..\..\..\..\ciao" /I "..\..\..\..\.." /I "..\..\..\..\..\tao" /I "..\..\..\..\..\.." /D _DEBUG=1 /D WIN32=1 /D _CONSOLE=1 /FD /c
-# SUBTRACT CPP /YX
-# ADD BASE RSC /l 0x409
-# ADD RSC /l 0x409 /i "..\..\..\.." /i "..\..\..\..\ciao" /i "..\..\..\..\.." /i "..\..\..\..\..\tao" /i "..\..\..\..\..\.." /d _DEBUG=1
-BSC32=bscmake.exe
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 /machine:IX86
-# ADD LINK32 RateGen_stubd.lib HUDisplay_stubd.lib TAOd.lib TAO_Securityd.lib TAO_IFR_Clientd.lib TAO_Valuetyped.lib CIAO_Clientd.lib ACEd.lib /nologo /subsystem:console /incremental:no /debug /machine:I386 /out:".\client.exe" /libpath:"..\..\..\..\..\orbsvcs\orbsvcs" /libpath:".." /libpath:"..\..\..\..\..\tao\IFR_Client" /libpath:"..\..\..\..\..\tao\Valuetype" /libpath:"..\..\..\..\ciao" /libpath:"..\..\..\..\..\tao" /libpath:"..\..\..\..\..\..\ace" /version:1.3.1
-# SUBTRACT LINK32 /pdb:none
-
-!ENDIF
-
-# Begin Target
-
-# Name "RateGen_client EXE - Win32 Release"
-# Name "RateGen_client EXE - Win32 Debug"
-# Begin Group "Source Files"
-
-# PROP Default_Filter "cpp;cxx;c"
-# Begin Source File
-
-SOURCE=.\client.cpp
-# End Source File
-# End Group
-# Begin Group "Header Files"
-
-# PROP Default_Filter "h;hpp;hxx;hh"
-# Begin Source File
-
-SOURCE=.\RateGen_exec.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\RateGen_exec_export.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\RateGen_stub_export.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\RateGen_svnt.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\RateGen_svnt_export.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\RateGenC.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\RateGenEC.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\RateGenEIC.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\RateGenEIS.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\RateGenES.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\RateGenS.h
-# End Source File
-# End Group
-# Begin Group "Inline Files"
-
-# PROP Default_Filter "i;inl"
-# Begin Source File
-
-SOURCE=.\RateGenC.i
-# End Source File
-# Begin Source File
-
-SOURCE=.\RateGenEC.i
-# End Source File
-# Begin Source File
-
-SOURCE=.\RateGenEIC.i
-# End Source File
-# Begin Source File
-
-SOURCE=.\RateGenEIS.i
-# End Source File
-# Begin Source File
-
-SOURCE=.\RateGenES.i
-# End Source File
-# Begin Source File
-
-SOURCE=.\RateGenS.i
-# End Source File
-# End Group
-# End Target
-# End Project
diff --git a/TAO/CIAO/examples/OEP/Display/RateGen/RateGen_exec.cpp b/TAO/CIAO/examples/OEP/Display/RateGen/RateGen_exec.cpp
deleted file mode 100644
index 235618b410f..00000000000
--- a/TAO/CIAO/examples/OEP/Display/RateGen/RateGen_exec.cpp
+++ /dev/null
@@ -1,279 +0,0 @@
-// $Id$
-
-#include "RateGen_exec.h"
-#include "ace/Timer_Queue.h"
-#include "ace/Reactor.h"
-
-//=================================================================
-
-MyImpl::Pulse_Handler::Pulse_Handler (MyImpl::RateGen_exec_i *cb)
- : active_ (0),
- done_ (0),
- tid_ (0),
- pulse_callback_ (cb)
-{
- // Nothing
- this->reactor (new ACE_Reactor);
-}
-
-MyImpl::Pulse_Handler::~Pulse_Handler ()
-{
- delete this->reactor ();
- this->reactor (0);
-}
-
-int
-MyImpl::Pulse_Handler::open ()
-{
- return this->activate ();
-}
-
-int
-MyImpl::Pulse_Handler::close ()
-{
- this->done_ = 1;
- this->reactor ()->notify ();
-
- ACE_DEBUG ((LM_DEBUG, "Waiting\n"));
- return this->wait ();
-}
-
-int
-MyImpl::Pulse_Handler::start (CORBA::Long hertz)
-{
- if (hertz == 0 || this->active_ != 0) // Not valid
- return -1;
-
- long usec = 1000000 / hertz;
-
- this->tid_ = this->reactor ()->schedule_timer (this,
- 0,
- ACE_Time_Value (0, usec),
- ACE_Time_Value (0, usec));
-
- this->active_ = 1;
- return 0;
-}
-
-int
-MyImpl::Pulse_Handler::stop (void)
-{
- if (this->active_ == 0) // Not valid.
- return -1;
-
- this->reactor ()->cancel_timer (this);
-
- this->active_ = 0;
- return 0;
-}
-
-int
-MyImpl::Pulse_Handler::active (void)
-{
- return this->active_;
-}
-
-int
-MyImpl::Pulse_Handler::handle_close (ACE_HANDLE handle,
- ACE_Reactor_Mask close_mask)
-{
- ACE_DEBUG ((LM_DEBUG,
- ACE_TEXT ("[%x] handle = %d, close_mask = %d\n"),
- this,
- handle,
- close_mask));
-
- return 0;
-}
-
-int
-MyImpl::Pulse_Handler::handle_timeout (const ACE_Time_Value &,
- const void *)
-{
- this->pulse_callback_->pulse ();
-
-// ACE_DEBUG ((LM_DEBUG,
-// ACE_TEXT ("[%x] with count #%05d timed out at %d.%d!\n"),
-// this,
-// tv.sec (),
-// tv.usec ()));
-
- return 0;
-}
-
-int
-MyImpl::Pulse_Handler::svc (void)
-{
- this->reactor ()->owner (ACE_OS::thr_self ());
-
- while (!this->done_)
- this->reactor ()->handle_events ();
-
- return 0;
-}
-
-//=================================================================
-
-MyImpl::RateGen_exec_i::RateGen_exec_i ()
- : hertz_ (0),
- pulser_ (this)
-{
-
-}
-
-MyImpl::RateGen_exec_i::RateGen_exec_i (CORBA::Long hz)
- : hertz_ (hz),
- pulser_ (this)
-{
-}
-
-MyImpl::RateGen_exec_i::~RateGen_exec_i ()
-{
-}
-
-CORBA::Long
-MyImpl::RateGen_exec_i::hertz (ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- return this->hertz_;
-}
-
-void
-MyImpl::RateGen_exec_i::hertz (CORBA::Long hertz
- ACE_ENV_ARG_DECL_NOT_USED)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- this->hertz_ = hertz;
-}
-
-// Operations from supported interface(s)
-
-void
-MyImpl::RateGen_exec_i::start (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- if (this->hertz_ == 0 || this->pulser_.active())
- ACE_THROW (CORBA::BAD_INV_ORDER ());
-
- // @@ Start the rate generator
- this->pulser_.start (this->hertz_);
-}
-
-void
-MyImpl::RateGen_exec_i::stop (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- if (! this->pulser_.active ())
- ACE_THROW (CORBA::BAD_INV_ORDER ());
-
- // @@ stop the rate generator
- this->pulser_.stop ();
-}
-
-CORBA::Boolean
-MyImpl::RateGen_exec_i::active (ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- return this->pulser_.active ();
-}
-
-// Operations from Components::SessionComponent
-
-void
-MyImpl::RateGen_exec_i::set_session_context (Components::SessionContext_ptr ctx
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::CCMException))
-{
- ACE_DEBUG ((LM_DEBUG, "MyImpl::RateGen_exec_i::set_session_context\n"));
-
- this->context_ =
- HUDisplay::CCM_RateGen_Context::_narrow (ctx
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK;
-
- if (CORBA::is_nil (this->context_.in ()))
- ACE_THROW (CORBA::INTERNAL ());
- // Urm, we actually discard exceptions thown from this operation.
-
-}
-
-void
-MyImpl::RateGen_exec_i::ccm_activate (ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::CCMException))
-{
- ACE_DEBUG ((LM_DEBUG, "MyImpl::RateGen_exec_i::ccm_activate\n"));
-
- this->pulser_.open ();
-}
-
-void
-MyImpl::RateGen_exec_i::ccm_passivate (ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::CCMException))
-{
- ACE_DEBUG ((LM_DEBUG, "MyImpl::RateGen_exec_i::ccm_passivate\n"));
- this->pulser_.close ();
-}
-
-void
-MyImpl::RateGen_exec_i::ccm_remove (ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::CCMException))
-{
- ACE_DEBUG ((LM_DEBUG, "MyImpl::RateGen_exec_i::ccm_remove\n"));
-}
-
-void
-MyImpl::RateGen_exec_i::pulse (void)
-{
- ACE_TRY_NEW_ENV
- {
- ACE_DEBUG ((LM_DEBUG,
- ACE_TEXT ("Pushing HUDisplay::tick event!\n")));
-
- HUDisplay::tick_var ev = new OBV_HUDisplay::tick ();
-
- this->context_->push_Pulse (ev.in ()
- ACE_ENV_ARG_PARAMETER);
- }
- ACE_CATCHANY
- {
- // @@ do nothing?
- }
- ACE_ENDTRY;
-
-}
-
-MyImpl::RateGenHome_exec_i::RateGenHome_exec_i ()
-{
-}
-
-MyImpl::RateGenHome_exec_i::~RateGenHome_exec_i ()
-{
-}
-
-::Components::EnterpriseComponent_ptr
-MyImpl::RateGenHome_exec_i::new_RateGen (CORBA::Long hertz
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::CCMException))
-{
- return new MyImpl::RateGen_exec_i (hertz);
-}
-
-::Components::EnterpriseComponent_ptr
-MyImpl::RateGenHome_exec_i::create (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::CCMException))
-{
- return new MyImpl::RateGen_exec_i ();
-}
-
-
-extern "C" RATEGEN_EXEC_Export ::Components::HomeExecutorBase_ptr
-createRateGenHome_Impl (void)
-{
- return new MyImpl::RateGenHome_exec_i ();
-}
diff --git a/TAO/CIAO/examples/OEP/Display/RateGen/RateGen_exec.dsp b/TAO/CIAO/examples/OEP/Display/RateGen/RateGen_exec.dsp
deleted file mode 100644
index e617cd497c4..00000000000
--- a/TAO/CIAO/examples/OEP/Display/RateGen/RateGen_exec.dsp
+++ /dev/null
@@ -1,146 +0,0 @@
-# Microsoft Developer Studio Project File - Name="RateGen_exec DLL" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 6.00
-# ** DO NOT EDIT **
-
-# TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102
-
-CFG=RateGen_exec DLL - Win32 Debug
-!MESSAGE This is not a valid makefile. To build this project using NMAKE,
-!MESSAGE use the Export Makefile command and run
-!MESSAGE
-!MESSAGE NMAKE /f "RateGen_exec.mak".
-!MESSAGE
-!MESSAGE You can specify a configuration when running NMAKE
-!MESSAGE by defining the macro CFG on the command line. For example:
-!MESSAGE
-!MESSAGE NMAKE /f "RateGen_exec.mak" CFG="RateGen_exec DLL - Win32 Debug"
-!MESSAGE
-!MESSAGE Possible choices for configuration are:
-!MESSAGE
-!MESSAGE "RateGen_exec DLL - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library")
-!MESSAGE "RateGen_exec DLL - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library")
-!MESSAGE
-
-# Begin Project
-# PROP AllowPerConfigDependencies 0
-# PROP Scc_ProjName ""
-# PROP Scc_LocalPath ""
-CPP=cl.exe
-MTL=midl.exe
-RSC=rc.exe
-
-!IF "$(CFG)" == "RateGen_exec DLL - Win32 Release"
-
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "."
-# PROP Intermediate_Dir "Release\RateGen_exec"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD CPP /nologo /MD /W3 /GR /GX /Zi /O2 /I "..\..\..\..\..\orbsvcs\orbsvcs" /I "..\..\..\.." /I "..\..\..\..\ciao" /I "..\..\..\..\.." /I "..\..\..\..\..\tao" /I "..\..\..\..\..\.." /D NDEBUG=1 /D WIN32=1 /D _WINDOWS=1 /D RATEGEN_EXEC_BUILD_DLL=1 /FD /c
-# SUBTRACT CPP /YX
-# ADD BASE RSC /l 0x409
-# ADD RSC /l 0x409 /i "..\..\..\..\..\orbsvcs\orbsvcs" /i "..\..\..\.." /i "..\..\..\..\ciao" /i "..\..\..\..\.." /i "..\..\..\..\..\tao" /i "..\..\..\..\..\.." /d NDEBUG=1
-BSC32=bscmake.exe
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 /machine:IX86
-# ADD LINK32 RateGen_stub.lib HUDisplay_stub.lib RateGen_svnt.lib CIAO_Server.lib TAO_PortableServer.lib TAO_IORInterceptor.lib TAO_ObjRefTemplate.lib TAO_Security.lib CIAO_Container.lib TAO.lib TAO_IFR_Client.lib TAO_Valuetype.lib CIAO_Client.lib ACE.lib /nologo /subsystem:windows /dll /pdb:"..\..\..\..\..\..\bin\RateGen_exec.pdb" /machine:I386 /out:"..\..\..\..\..\..\bin\RateGen_exec.dll" /libpath:".." /libpath:"..\..\..\..\..\tao\PortableServer" /libpath:"..\..\..\..\..\tao\IORInterceptor" /libpath:"..\..\..\..\..\tao\ObjRefTemplate" /libpath:"..\..\..\..\..\orbsvcs\orbsvcs" /libpath:"..\..\..\..\..\tao\IFR_Client" /libpath:"..\..\..\..\..\tao\Valuetype" /libpath:"..\..\..\..\ciao" /libpath:"..\..\..\..\..\tao" /libpath:"..\..\..\..\..\..\ace" /version:1.3.1
-# SUBTRACT LINK32 /pdb:none
-
-!ELSEIF "$(CFG)" == "RateGen_exec DLL - Win32 Debug"
-
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "."
-# PROP Intermediate_Dir "Debug\RateGen_exec"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD CPP /nologo /MDd /W3 /Gm /GR /GX /Zi /Od /Gy /I "..\..\..\..\..\orbsvcs\orbsvcs" /I "..\..\..\.." /I "..\..\..\..\ciao" /I "..\..\..\..\.." /I "..\..\..\..\..\tao" /I "..\..\..\..\..\.." /D _DEBUG=1 /D WIN32=1 /D _WINDOWS=1 /D RATEGEN_EXEC_BUILD_DLL=1 /FD /c
-# SUBTRACT CPP /Fr /YX
-# ADD BASE RSC /l 0x409
-# ADD RSC /l 0x409 /i "..\..\..\..\..\orbsvcs\orbsvcs" /i "..\..\..\.." /i "..\..\..\..\ciao" /i "..\..\..\..\.." /i "..\..\..\..\..\tao" /i "..\..\..\..\..\.." /d _DEBUG=1
-BSC32=bscmake.exe
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 /machine:IX86
-# ADD LINK32 RateGen_stubd.lib HUDisplay_stubd.lib RateGen_svntd.lib CIAO_Serverd.lib TAO_PortableServerd.lib TAO_IORInterceptord.lib TAO_ObjRefTemplated.lib TAO_Securityd.lib CIAO_Containerd.lib TAOd.lib TAO_IFR_Clientd.lib TAO_Valuetyped.lib CIAO_Clientd.lib ACEd.lib /nologo /subsystem:windows /dll /incremental:no /pdb:"..\..\..\..\..\..\bin\RateGen_execd.pdb" /debug /machine:I386 /out:"..\..\..\..\..\..\bin\RateGen_execd.dll" /libpath:".." /libpath:"..\..\..\..\..\tao\PortableServer" /libpath:"..\..\..\..\..\tao\IORInterceptor" /libpath:"..\..\..\..\..\tao\ObjRefTemplate" /libpath:"..\..\..\..\..\orbsvcs\orbsvcs" /libpath:"..\..\..\..\..\tao\IFR_Client" /libpath:"..\..\..\..\..\tao\Valuetype" /libpath:"..\..\..\..\ciao" /libpath:"..\..\..\..\..\tao" /libpath:"..\..\..\..\..\..\ace" /version:1.3.1
-# SUBTRACT LINK32 /pdb:none
-
-!ENDIF
-
-# Begin Target
-
-# Name "RateGen_exec DLL - Win32 Release"
-# Name "RateGen_exec DLL - Win32 Debug"
-# Begin Group "Source Files"
-
-# PROP Default_Filter "cpp;cxx;c"
-# Begin Source File
-
-SOURCE=.\RateGen_exec.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\RateGenEIC.cpp
-# End Source File
-# End Group
-# Begin Group "Header Files"
-
-# PROP Default_Filter "h;hpp;hxx;hh"
-# Begin Source File
-
-SOURCE=.\RateGen_exec.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\RateGenEIC.h
-# End Source File
-# End Group
-# Begin Group "Inline Files"
-
-# PROP Default_Filter "i;inl"
-# Begin Source File
-
-SOURCE=.\RateGenEIC.i
-# End Source File
-# End Group
-# Begin Group "IDL Files"
-
-# PROP Default_Filter "idl"
-# Begin Source File
-
-SOURCE=.\RateGenEI.idl
-
-!IF "$(CFG)" == "RateGen_exec DLL - Win32 Release"
-
-# PROP Ignore_Default_Tool 1
-USERDEP__RATEG="..\..\..\..\..\..\bin\tao_idl.exe"
-# Begin Custom Build - Invoking TAO IDL Compiler on $(InputPath)
-InputPath=.\RateGenEI.idl
-InputName=RateGenEI
-
-"$(InputName)C.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- ..\..\..\..\..\..\bin\tao_idl -o . -Wb,export_macro=RATEGEN_EXEC_Export -Wb,export_include=RateGen_exec_export.h -I..\..\..\..\.. -I..\..\..\..\..\CIAO\ciao -Wb,pre_include="ace\pre.h" -Wb,post_include="ace\post.h" -I ..\..\..\.. -I ..\..\..\..\.. -I ..\..\..\..\..\orbsvcs\orbsvcs -Ge 1 -Sc $(InputPath)
-
-# End Custom Build
-
-!ELSEIF "$(CFG)" == "RateGen_exec DLL - Win32 Debug"
-
-# PROP Ignore_Default_Tool 1
-USERDEP__RATEG="..\..\..\..\..\..\bin\tao_idl.exe"
-# Begin Custom Build - Invoking TAO IDL Compiler on $(InputPath)
-InputPath=.\RateGenEI.idl
-InputName=RateGenEI
-
-"$(InputName)C.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- ..\..\..\..\..\..\bin\tao_idl -o . -Wb,export_macro=RATEGEN_EXEC_Export -Wb,export_include=RateGen_exec_export.h -I..\..\..\..\.. -I..\..\..\..\..\CIAO\ciao -Wb,pre_include="ace\pre.h" -Wb,post_include="ace\post.h" -I ..\..\..\.. -I ..\..\..\..\.. -I ..\..\..\..\..\orbsvcs\orbsvcs -Ge 1 -Sc $(InputPath)
-
-# End Custom Build
-
-!ENDIF
-
-# End Source File
-# End Group
-# End Target
-# End Project
diff --git a/TAO/CIAO/examples/OEP/Display/RateGen/RateGen_exec.h b/TAO/CIAO/examples/OEP/Display/RateGen/RateGen_exec.h
deleted file mode 100644
index 24e11a795e3..00000000000
--- a/TAO/CIAO/examples/OEP/Display/RateGen/RateGen_exec.h
+++ /dev/null
@@ -1,180 +0,0 @@
-// $Id$
-
-/**
- * @file RateGen_exec.h
- *
- * Header file for the actualy RateGen and RateGenHome component
- * implementation.
- *
- * @author Nanbor Wang <nanbor@cse.wustl.edu>
- */
-
-#ifndef RATEGEN_EXEC_H
-#define RATEGEN_EXEC_H
-
-#include "RateGenEIC.h"
-#include "tao/LocalObject.h"
-#include "ace/Thread_Manager.h"
-#include "ace/Task.h"
-
-namespace MyImpl
-{
- // Forward decl.
- class RateGen_exec_i;
-
- /**
- * @brief Active pulse generater
- */
- class Pulse_Handler : public ACE_Task_Base
- {
- public:
- // Default constructor
- Pulse_Handler (RateGen_exec_i *cb);
- ~Pulse_Handler ();
-
- int open (void);
-
- int close (void);
-
- int start (CORBA::Long hertz);
-
- int stop (void);
-
- int active (void);
-
- // Handle the timeout.
- virtual int handle_timeout (const ACE_Time_Value &tv,
- const void *arg);
-
- // Called when <Time_Handler> is removed.
- virtual int handle_close (ACE_HANDLE handle,
- ACE_Reactor_Mask close_mask);
-
- virtual int svc (void);
-
- private:
- /// Tracking whether we are actively generating pulse or not.
- long active_;
-
- /// Flag to indicate completion of this active object.
- int done_;
-
- /// The timer id we are waiting.
- int tid_;
-
- RateGen_exec_i *pulse_callback_;
-
- ACE_Thread_Manager thr_mgr_;
- };
-
- /**
- * @class RateGen_exec_i
- *
- * RateGen executor implementation class.
- */
- class RATEGEN_EXEC_Export RateGen_exec_i :
- public virtual HUDisplay::RateGen_Exec,
- public virtual TAO_Local_RefCounted_Object
- {
- public:
- /// Default constructor.
- RateGen_exec_i ();
-
- /// Initialize with a default frequency.
- RateGen_exec_i (CORBA::Long hz);
-
- /// Default destructor.
- ~RateGen_exec_i ();
-
- // Attribute operations.
-
- virtual CORBA::Long hertz (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- virtual void hertz (CORBA::Long hertz
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- // Operations from supported interface(s)
-
- virtual void start (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- virtual void stop (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- virtual CORBA::Boolean active (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- // Operations from Components::SessionComponent
-
- virtual void set_session_context (Components::SessionContext_ptr ctx
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::CCMException));
-
- virtual void ccm_activate (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::CCMException));
-
- virtual void ccm_passivate (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::CCMException));
-
- virtual void ccm_remove (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::CCMException));
-
- /// Helper function to be called back by Pulse_Handler
- void pulse (void);
-
- protected:
- /// Frequency
- CORBA::Long hertz_;
-
- /// Copmponent specific context
- HUDisplay::CCM_RateGen_Context_var context_;
-
- /// An active object that actually trigger the generation of
- /// periodic events.
- Pulse_Handler pulser_;
- };
-
- /**
- * @class RateGenHome_exec_i
- *
- * RateGen home executor implementation class.
- */
- class RATEGEN_EXEC_Export RateGenHome_exec_i :
- public virtual HUDisplay::CCM_RateGenHome,
- public virtual TAO_Local_RefCounted_Object
- {
- public:
- /// Default ctor.
- RateGenHome_exec_i ();
-
- /// Default dtor.
- ~RateGenHome_exec_i ();
-
- // Explicit home operations.
-
- virtual ::Components::EnterpriseComponent_ptr
- new_RateGen (CORBA::Long hertz
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::CCMException));
-
- // Implicit home operations.
-
- virtual ::Components::EnterpriseComponent_ptr
- create (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::CCMException));
- };
-
-}
-
-extern "C" RATEGEN_EXEC_Export ::Components::HomeExecutorBase_ptr
-createRateGenHome_Impl (void);
-
-#endif /* RATEGEN_EXEC_H */
diff --git a/TAO/CIAO/examples/OEP/Display/RateGen/RateGen_exec_export.h b/TAO/CIAO/examples/OEP/Display/RateGen/RateGen_exec_export.h
deleted file mode 100644
index 3893178879b..00000000000
--- a/TAO/CIAO/examples/OEP/Display/RateGen/RateGen_exec_export.h
+++ /dev/null
@@ -1,50 +0,0 @@
-
-// -*- C++ -*-
-// $Id$
-// Definition for Win32 Export directives.
-// This file is generated automatically by generate_export_file.pl RATEGEN_EXEC
-// ------------------------------
-#ifndef RATEGEN_EXEC_EXPORT_H
-#define RATEGEN_EXEC_EXPORT_H
-
-#include "ace/config-all.h"
-
-#if !defined (RATEGEN_EXEC_HAS_DLL)
-# define RATEGEN_EXEC_HAS_DLL 1
-#endif /* ! RATEGEN_EXEC_HAS_DLL */
-
-#if defined (RATEGEN_EXEC_HAS_DLL) && (RATEGEN_EXEC_HAS_DLL == 1)
-# if defined (RATEGEN_EXEC_BUILD_DLL)
-# define RATEGEN_EXEC_Export ACE_Proper_Export_Flag
-# define RATEGEN_EXEC_SINGLETON_DECLARATION(T) ACE_EXPORT_SINGLETON_DECLARATION (T)
-# define RATEGEN_EXEC_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_EXPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
-# else /* RATEGEN_EXEC_BUILD_DLL */
-# define RATEGEN_EXEC_Export ACE_Proper_Import_Flag
-# define RATEGEN_EXEC_SINGLETON_DECLARATION(T) ACE_IMPORT_SINGLETON_DECLARATION (T)
-# define RATEGEN_EXEC_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_IMPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
-# endif /* RATEGEN_EXEC_BUILD_DLL */
-#else /* RATEGEN_EXEC_HAS_DLL == 1 */
-# define RATEGEN_EXEC_Export
-# define RATEGEN_EXEC_SINGLETON_DECLARATION(T)
-# define RATEGEN_EXEC_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
-#endif /* RATEGEN_EXEC_HAS_DLL == 1 */
-
-// Set RATEGEN_EXEC_NTRACE = 0 to turn on library specific tracing even if
-// tracing is turned off for ACE.
-#if !defined (RATEGEN_EXEC_NTRACE)
-# if (ACE_NTRACE == 1)
-# define RATEGEN_EXEC_NTRACE 1
-# else /* (ACE_NTRACE == 1) */
-# define RATEGEN_EXEC_NTRACE 0
-# endif /* (ACE_NTRACE == 1) */
-#endif /* !RATEGEN_EXEC_NTRACE */
-
-#if (RATEGEN_EXEC_NTRACE == 1)
-# define RATEGEN_EXEC_TRACE(X)
-#else /* (RATEGEN_EXEC_NTRACE == 1) */
-# define RATEGEN_EXEC_TRACE(X) ACE_TRACE_IMPL(X)
-#endif /* (RATEGEN_EXEC_NTRACE == 1) */
-
-#endif /* RATEGEN_EXEC_EXPORT_H */
-
-// End of auto generated file.
diff --git a/TAO/CIAO/examples/OEP/Display/RateGen/RateGen_stub.dsp b/TAO/CIAO/examples/OEP/Display/RateGen/RateGen_stub.dsp
deleted file mode 100644
index d672513918d..00000000000
--- a/TAO/CIAO/examples/OEP/Display/RateGen/RateGen_stub.dsp
+++ /dev/null
@@ -1,172 +0,0 @@
-# Microsoft Developer Studio Project File - Name="RateGen_stub DLL" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 6.00
-# ** DO NOT EDIT **
-
-# TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102
-
-CFG=RateGen_stub DLL - Win32 Debug
-!MESSAGE This is not a valid makefile. To build this project using NMAKE,
-!MESSAGE use the Export Makefile command and run
-!MESSAGE
-!MESSAGE NMAKE /f "RateGen_stub.mak".
-!MESSAGE
-!MESSAGE You can specify a configuration when running NMAKE
-!MESSAGE by defining the macro CFG on the command line. For example:
-!MESSAGE
-!MESSAGE NMAKE /f "RateGen_stub.mak" CFG="RateGen_stub DLL - Win32 Debug"
-!MESSAGE
-!MESSAGE Possible choices for configuration are:
-!MESSAGE
-!MESSAGE "RateGen_stub DLL - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library")
-!MESSAGE "RateGen_stub DLL - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library")
-!MESSAGE
-
-# Begin Project
-# PROP AllowPerConfigDependencies 0
-# PROP Scc_ProjName ""
-# PROP Scc_LocalPath ""
-CPP=cl.exe
-MTL=midl.exe
-RSC=rc.exe
-
-!IF "$(CFG)" == "RateGen_stub DLL - Win32 Release"
-
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "."
-# PROP Intermediate_Dir "Release\RateGen_stub"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD CPP /nologo /MD /W3 /GR /GX /Zi /O2 /I "..\..\..\..\..\orbsvcs\orbsvcs" /I "..\..\..\.." /I "..\..\..\..\ciao" /I "..\..\..\..\.." /I "..\..\..\..\..\tao" /I "..\..\..\..\..\.." /D NDEBUG=1 /D WIN32=1 /D _WINDOWS=1 /D RATEGEN_STUB_BUILD_DLL=1 /FD /c
-# SUBTRACT CPP /YX
-# ADD BASE RSC /l 0x409
-# ADD RSC /l 0x409 /i "..\..\..\.." /i "..\..\..\..\ciao" /i "..\..\..\..\.." /i "..\..\..\..\..\tao" /i "..\..\..\..\..\.." /d NDEBUG=1
-BSC32=bscmake.exe
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 /machine:IX86
-# ADD LINK32 HUDisplay_stub.lib TAO.lib TAO_Security.lib TAO_IFR_Client.lib TAO_Valuetype.lib CIAO_Client.lib ACE.lib /nologo /subsystem:windows /dll /pdb:"..\..\..\..\..\..\bin\RateGen_stub.pdb" /machine:I386 /out:"..\..\..\..\..\..\bin\RateGen_stub.dll" /libpath:".." /libpath:"..\..\..\..\..\orbsvcs\orbsvcs" /libpath:"..\..\..\..\..\tao\IFR_Client" /libpath:"..\..\..\..\..\tao\Valuetype" /libpath:"..\..\..\..\ciao" /libpath:"..\..\..\..\..\tao" /libpath:"..\..\..\..\..\..\ace" /version:1.3.1
-# SUBTRACT LINK32 /pdb:none
-
-!ELSEIF "$(CFG)" == "RateGen_stub DLL - Win32 Debug"
-
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "."
-# PROP Intermediate_Dir "Debug\RateGen_stub"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD CPP /nologo /MDd /W3 /Gm /GR /GX /Zi /Od /Gy /I "..\..\..\..\..\orbsvcs\orbsvcs" /I "..\..\..\.." /I "..\..\..\..\ciao" /I "..\..\..\..\.." /I "..\..\..\..\..\tao" /I "..\..\..\..\..\.." /D _DEBUG=1 /D WIN32=1 /D _WINDOWS=1 /D RATEGEN_STUB_BUILD_DLL=1 /FD /c
-# SUBTRACT CPP /Fr /YX
-# ADD BASE RSC /l 0x409
-# ADD RSC /l 0x409 /i "..\..\..\.." /i "..\..\..\..\ciao" /i "..\..\..\..\.." /i "..\..\..\..\..\tao" /i "..\..\..\..\..\.." /d _DEBUG=1
-BSC32=bscmake.exe
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 /machine:IX86
-# ADD LINK32 HUDisplay_stubd.lib TAOd.lib TAO_Securityd.lib TAO_IFR_Clientd.lib TAO_Valuetyped.lib CIAO_Clientd.lib ACEd.lib /nologo /subsystem:windows /dll /incremental:no /pdb:"..\..\..\..\..\..\bin\RateGen_stubd.pdb" /debug /machine:I386 /out:"..\..\..\..\..\..\bin\RateGen_stubd.dll" /libpath:".." /libpath:"..\..\..\..\..\orbsvcs\orbsvcs" /libpath:"..\..\..\..\..\tao\IFR_Client" /libpath:"..\..\..\..\..\tao\Valuetype" /libpath:"..\..\..\..\ciao" /libpath:"..\..\..\..\..\tao" /libpath:"..\..\..\..\..\..\ace" /version:1.3.1
-# SUBTRACT LINK32 /pdb:none
-
-!ENDIF
-
-# Begin Target
-
-# Name "RateGen_stub DLL - Win32 Release"
-# Name "RateGen_stub DLL - Win32 Debug"
-# Begin Group "Source Files"
-
-# PROP Default_Filter "cpp;cxx;c"
-# Begin Source File
-
-SOURCE=.\RateGenC.cpp
-# End Source File
-# End Group
-# Begin Group "Header Files"
-
-# PROP Default_Filter "h;hpp;hxx;hh"
-# Begin Source File
-
-SOURCE=.\RateGenC.h
-# End Source File
-# End Group
-# Begin Group "Inline Files"
-
-# PROP Default_Filter "i;inl"
-# Begin Source File
-
-SOURCE=.\RateGenC.i
-# End Source File
-# End Group
-# Begin Group "IDL Files"
-
-# PROP Default_Filter "idl"
-# Begin Source File
-
-SOURCE=.\RateGen.idl
-
-!IF "$(CFG)" == "RateGen_stub DLL - Win32 Release"
-
-# PROP Ignore_Default_Tool 1
-USERDEP__RATEG="..\..\..\..\..\..\bin\tao_idl.exe"
-# Begin Custom Build - Invoking TAO IDL Compiler on $(InputPath)
-InputPath=.\RateGen.idl
-InputName=RateGen
-
-BuildCmds= \
- ..\..\..\..\..\..\bin\tao_idl -o . -Wb,stub_export_macro=RATEGEN_STUB_Export -Wb,stub_export_include=RateGen_stub_export.h -Wb,skel_export_macro=RATEGEN_SVNT_Export -Wb,skel_export_include=RateGen_svnt_export.h -Wb,pre_include="ace\pre.h" -Wb,post_include="ace\post.h" -I ..\..\..\.. -I ..\..\..\..\.. -I ..\..\..\..\ciao -I ..\..\..\..\..\orbsvcs\orbsvcs -Ge 1 -Sc $(InputPath)
-
-"\$(InputName)C.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-
-".\$(InputName)C.i" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-
-".\$(InputName)C.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-
-".\$(InputName)S.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-
-".\$(InputName)S.i" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-
-".\$(InputName)S.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-# End Custom Build
-
-!ELSEIF "$(CFG)" == "RateGen_stub DLL - Win32 Debug"
-
-# PROP Ignore_Default_Tool 1
-USERDEP__RATEG="..\..\..\..\..\..\bin\tao_idl.exe"
-# Begin Custom Build - Invoking TAO IDL Compiler on $(InputPath)
-InputPath=.\RateGen.idl
-InputName=RateGen
-
-BuildCmds= \
- ..\..\..\..\..\..\bin\tao_idl -o . -Wb,stub_export_macro=RATEGEN_STUB_Export -Wb,stub_export_include=RateGen_stub_export.h -Wb,skel_export_macro=RATEGEN_SVNT_Export -Wb,skel_export_include=RateGen_svnt_export.h -Wb,pre_include="ace\pre.h" -Wb,post_include="ace\post.h" -I ..\..\..\.. -I ..\..\..\..\.. -I ..\..\..\..\ciao -I ..\..\..\..\..\orbsvcs\orbsvcs -Ge 1 -Sc $(InputPath)
-
-".\$(InputName)C.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-
-".\$(InputName)C.i" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-
-".\$(InputName)C.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-
-".\$(InputName)S.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-
-".\$(InputName)S.i" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-
-".\$(InputName)S.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-# End Custom Build
-
-!ENDIF
-
-# End Source File
-# End Group
-# End Target
-# End Project
diff --git a/TAO/CIAO/examples/OEP/Display/RateGen/RateGen_stub_export.h b/TAO/CIAO/examples/OEP/Display/RateGen/RateGen_stub_export.h
deleted file mode 100644
index d1cc20aa005..00000000000
--- a/TAO/CIAO/examples/OEP/Display/RateGen/RateGen_stub_export.h
+++ /dev/null
@@ -1,50 +0,0 @@
-
-// -*- C++ -*-
-// $Id$
-// Definition for Win32 Export directives.
-// This file is generated automatically by generate_export_file.pl RATEGEN_STUB
-// ------------------------------
-#ifndef RATEGEN_STUB_EXPORT_H
-#define RATEGEN_STUB_EXPORT_H
-
-#include "ace/config-all.h"
-
-#if !defined (RATEGEN_STUB_HAS_DLL)
-# define RATEGEN_STUB_HAS_DLL 1
-#endif /* ! RATEGEN_STUB_HAS_DLL */
-
-#if defined (RATEGEN_STUB_HAS_DLL) && (RATEGEN_STUB_HAS_DLL == 1)
-# if defined (RATEGEN_STUB_BUILD_DLL)
-# define RATEGEN_STUB_Export ACE_Proper_Export_Flag
-# define RATEGEN_STUB_SINGLETON_DECLARATION(T) ACE_EXPORT_SINGLETON_DECLARATION (T)
-# define RATEGEN_STUB_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_EXPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
-# else /* RATEGEN_STUB_BUILD_DLL */
-# define RATEGEN_STUB_Export ACE_Proper_Import_Flag
-# define RATEGEN_STUB_SINGLETON_DECLARATION(T) ACE_IMPORT_SINGLETON_DECLARATION (T)
-# define RATEGEN_STUB_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_IMPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
-# endif /* RATEGEN_STUB_BUILD_DLL */
-#else /* RATEGEN_STUB_HAS_DLL == 1 */
-# define RATEGEN_STUB_Export
-# define RATEGEN_STUB_SINGLETON_DECLARATION(T)
-# define RATEGEN_STUB_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
-#endif /* RATEGEN_STUB_HAS_DLL == 1 */
-
-// Set RATEGEN_STUB_NTRACE = 0 to turn on library specific tracing even if
-// tracing is turned off for ACE.
-#if !defined (RATEGEN_STUB_NTRACE)
-# if (ACE_NTRACE == 1)
-# define RATEGEN_STUB_NTRACE 1
-# else /* (ACE_NTRACE == 1) */
-# define RATEGEN_STUB_NTRACE 0
-# endif /* (ACE_NTRACE == 1) */
-#endif /* !RATEGEN_STUB_NTRACE */
-
-#if (RATEGEN_STUB_NTRACE == 1)
-# define RATEGEN_STUB_TRACE(X)
-#else /* (RATEGEN_STUB_NTRACE == 1) */
-# define RATEGEN_STUB_TRACE(X) ACE_TRACE_IMPL(X)
-#endif /* (RATEGEN_STUB_NTRACE == 1) */
-
-#endif /* RATEGEN_STUB_EXPORT_H */
-
-// End of auto generated file.
diff --git a/TAO/CIAO/examples/OEP/Display/RateGen/RateGen_svnt.dsp b/TAO/CIAO/examples/OEP/Display/RateGen/RateGen_svnt.dsp
deleted file mode 100644
index be584d72fd1..00000000000
--- a/TAO/CIAO/examples/OEP/Display/RateGen/RateGen_svnt.dsp
+++ /dev/null
@@ -1,239 +0,0 @@
-# Microsoft Developer Studio Project File - Name="RateGen_svnt DLL" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 6.00
-# ** DO NOT EDIT **
-
-# TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102
-
-CFG=RateGen_svnt DLL - Win32 Debug
-!MESSAGE This is not a valid makefile. To build this project using NMAKE,
-!MESSAGE use the Export Makefile command and run
-!MESSAGE
-!MESSAGE NMAKE /f "RateGen_svnt.mak".
-!MESSAGE
-!MESSAGE You can specify a configuration when running NMAKE
-!MESSAGE by defining the macro CFG on the command line. For example:
-!MESSAGE
-!MESSAGE NMAKE /f "RateGen_svnt.mak" CFG="RateGen_svnt DLL - Win32 Debug"
-!MESSAGE
-!MESSAGE Possible choices for configuration are:
-!MESSAGE
-!MESSAGE "RateGen_svnt DLL - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library")
-!MESSAGE "RateGen_svnt DLL - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library")
-!MESSAGE
-
-# Begin Project
-# PROP AllowPerConfigDependencies 0
-# PROP Scc_ProjName ""
-# PROP Scc_LocalPath ""
-CPP=cl.exe
-MTL=midl.exe
-RSC=rc.exe
-
-!IF "$(CFG)" == "RateGen_svnt DLL - Win32 Release"
-
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "."
-# PROP Intermediate_Dir "Release\RateGen_svnt"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD CPP /nologo /MD /W3 /GR /GX /Zi /O2 /I "..\..\..\..\..\orbsvcs\orbsvcs" /I "..\..\..\.." /I "..\..\..\..\ciao" /I "..\..\..\..\.." /I "..\..\..\..\..\tao" /I "..\..\..\..\..\.." /D NDEBUG=1 /D WIN32=1 /D _WINDOWS=1 /D RATEGEN_SVNT_BUILD_DLL=1 /FD /c
-# SUBTRACT CPP /YX
-# ADD BASE RSC /l 0x409
-# ADD RSC /l 0x409 /i "..\..\..\..\..\orbsvcs\orbsvcs" /i "..\..\..\.." /i "..\..\..\..\ciao" /i "..\..\..\..\.." /i "..\..\..\..\..\tao" /i "..\..\..\..\..\.." /d NDEBUG=1
-BSC32=bscmake.exe
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 /machine:IX86
-# ADD LINK32 RateGen_stub.lib HUDisplay_stub.lib HUDisplay_svnt.lib CIAO_Server.lib TAO_PortableServer.lib TAO_IORInterceptor.lib TAO_ObjRefTemplate.lib TAO_Security.lib CIAO_Container.lib TAO.lib TAO_IFR_Client.lib TAO_Valuetype.lib CIAO_Client.lib ACE.lib /nologo /subsystem:windows /dll /pdb:"..\..\..\..\..\..\bin\RateGen_svnt.pdb" /machine:I386 /out:"..\..\..\..\..\..\bin\RateGen_svnt.dll" /libpath:".." /libpath:"..\..\..\..\..\tao\PortableServer" /libpath:"..\..\..\..\..\tao\IORInterceptor" /libpath:"..\..\..\..\..\tao\ObjRefTemplate" /libpath:"..\..\..\..\..\orbsvcs\orbsvcs" /libpath:"..\..\..\..\..\tao\IFR_Client" /libpath:"..\..\..\..\..\tao\Valuetype" /libpath:"..\..\..\..\ciao" /libpath:"..\..\..\..\..\tao" /libpath:"..\..\..\..\..\..\ace" /version:1.3.1
-# SUBTRACT LINK32 /pdb:none
-
-!ELSEIF "$(CFG)" == "RateGen_svnt DLL - Win32 Debug"
-
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "."
-# PROP Intermediate_Dir "Debug\RateGen_svnt"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD CPP /nologo /MDd /W3 /Gm /GR /GX /Zi /Od /Gy /I "..\..\..\..\..\orbsvcs\orbsvcs" /I "..\..\..\.." /I "..\..\..\..\ciao" /I "..\..\..\..\.." /I "..\..\..\..\..\tao" /I "..\..\..\..\..\.." /D _DEBUG=1 /D WIN32=1 /D _WINDOWS=1 /D RATEGEN_SVNT_BUILD_DLL=1 /FD /c
-# SUBTRACT CPP /Fr /YX
-# ADD BASE RSC /l 0x409
-# ADD RSC /l 0x409 /i "..\..\..\..\..\orbsvcs\orbsvcs" /i "..\..\..\.." /i "..\..\..\..\ciao" /i "..\..\..\..\.." /i "..\..\..\..\..\tao" /i "..\..\..\..\..\.." /d _DEBUG=1
-BSC32=bscmake.exe
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 /machine:IX86
-# ADD LINK32 RateGen_stubd.lib HUDisplay_stubd.lib HUDisplay_svntd.lib CIAO_Serverd.lib TAO_PortableServerd.lib TAO_IORInterceptord.lib TAO_ObjRefTemplated.lib TAO_Securityd.lib CIAO_Containerd.lib TAOd.lib TAO_IFR_Clientd.lib TAO_Valuetyped.lib CIAO_Clientd.lib ACEd.lib /nologo /subsystem:windows /dll /incremental:no /pdb:"..\..\..\..\..\..\bin\RateGen_svntd.pdb" /debug /machine:I386 /out:"..\..\..\..\..\..\bin\RateGen_svntd.dll" /libpath:".." /libpath:"..\..\..\..\..\tao\PortableServer" /libpath:"..\..\..\..\..\tao\IORInterceptor" /libpath:"..\..\..\..\..\tao\ObjRefTemplate" /libpath:"..\..\..\..\..\orbsvcs\orbsvcs" /libpath:"..\..\..\..\..\tao\IFR_Client" /libpath:"..\..\..\..\..\tao\Valuetype" /libpath:"..\..\..\..\ciao" /libpath:"..\..\..\..\..\tao" /libpath:"..\..\..\..\..\..\ace" /version:1.3.1
-# SUBTRACT LINK32 /pdb:none
-
-!ENDIF
-
-# Begin Target
-
-# Name "RateGen_svnt DLL - Win32 Release"
-# Name "RateGen_svnt DLL - Win32 Debug"
-# Begin Group "Source Files"
-
-# PROP Default_Filter "cpp;cxx;c"
-# Begin Source File
-
-SOURCE=.\RateGen_svnt.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\RateGenEC.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\RateGenS.cpp
-# End Source File
-# End Group
-# Begin Group "Header Files"
-
-# PROP Default_Filter "h;hpp;hxx;hh"
-# Begin Source File
-
-SOURCE=.\RateGen_svnt.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\RateGenEC.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\RateGenS.h
-# End Source File
-# End Group
-# Begin Group "Inline Files"
-
-# PROP Default_Filter "i;inl"
-# Begin Source File
-
-SOURCE=.\RateGenEC.i
-# End Source File
-# Begin Source File
-
-SOURCE=.\RateGenS.i
-# End Source File
-# End Group
-# Begin Group "IDL Files"
-
-# PROP Default_Filter "idl"
-# Begin Source File
-
-SOURCE=.\RateGen.cidl
-
-!IF "$(CFG)" == "RateGen_svnt DLL - Win32 Release"
-
-USERDEP__RATEG="..\..\..\..\..\..\bin\cidlc.exe"
-# Begin Custom Build - nvoking CIAO CIDL Compiler on $(InputPath)
-InputPath=.\RateGen.cidl
-InputName=RateGen
-
-BuildCmds= \
- ..\..\..\..\bin\cidlc --lem-file-suffix "E.idl" -- $(InputName).cidl
-
-"$(InputName)E.idl" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-
-"$(InputName)_svnt.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-
-"$(InputName)_svnt.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-# End Custom Build
-
-!ELSEIF "$(CFG)" == "RateGen_svnt DLL - Win32 Debug"
-
-USERDEP__RATEG="..\..\..\..\..\..\bin\cidlc.exe"
-# Begin Custom Build - Invoking CIAO CIDL Compiler on $(InputPath)
-InputPath=.\RateGen.cidl
-InputName=RateGen
-
-BuildCmds= \
- ..\..\..\..\bin\cidlc --lem-file-suffix "E.idl" -- $(InputName).cidl
-
-"$(InputName)E.idl" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-
-"$(InputName)_svnt.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-
-"$(InputName)_svnt.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-# End Custom Build
-
-!ENDIF
-
-# End Source File
-# Begin Source File
-
-SOURCE=.\RateGenE.idl
-
-!IF "$(CFG)" == "RateGen_svnt DLL - Win32 Release"
-
-# PROP Ignore_Default_Tool 1
-USERDEP__RATEGE="..\..\..\..\..\..\bin\tao_idl.exe"
-# Begin Custom Build - Invoking TAO IDL Compiler on $(InputPath)
-InputPath=.\RateGenE.idl
-InputName=RateGenE
-
-BuildCmds= \
- ..\..\..\..\..\..\bin\tao_idl -o . -Wb,export_macro=RATEGEN_SVNT_Export -Wb,export_include=RateGen_svnt_export.h -I..\..\..\..\.. -I..\..\..\..\..\CIAO\ciao -Wb,pre_include="ace\pre.h" -Wb,post_include="ace\post.h" -I ..\..\..\.. -I ..\..\..\..\.. -I ..\..\..\..\..\orbsvcs\orbsvcs -Ge 1 -Sc $(InputPath)
-
-".\$(InputName)C.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-
-".\$(InputName)C.i" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-
-".\$(InputName)C.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-
-".\$(InputName)S.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-
-".\$(InputName)S.i" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-
-".\$(InputName)S.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-# End Custom Build
-
-!ELSEIF "$(CFG)" == "RateGen_svnt DLL - Win32 Debug"
-
-# PROP Ignore_Default_Tool 1
-USERDEP__RATEGE="..\..\..\..\..\..\bin\tao_idl.exe"
-# Begin Custom Build - Invoking TAO IDL Compiler on $(InputPath)
-InputPath=.\RateGenE.idl
-InputName=RateGenE
-
-BuildCmds= \
- ..\..\..\..\..\..\bin\tao_idl -o . -Wb,export_macro=RATEGEN_SVNT_Export -Wb,export_include=RateGen_svnt_export.h -I..\..\..\..\.. -I..\..\..\..\..\CIAO\ciao -Wb,pre_include="ace\pre.h" -Wb,post_include="ace\post.h" -I ..\..\..\.. -I ..\..\..\..\.. -I ..\..\..\..\..\orbsvcs\orbsvcs -Ge 1 -Sc $(InputPath)
-
-".\$(InputName)C.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-
-".\$(InputName)C.i" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-
-".\$(InputName)C.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-
-".\$(InputName)S.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-
-".\$(InputName)S.i" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-
-".\$(InputName)S.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- $(BuildCmds)
-# End Custom Build
-
-!ENDIF
-
-# End Source File
-# End Group
-# End Target
-# End Project
diff --git a/TAO/CIAO/examples/OEP/Display/RateGen/RateGen_svnt_export.h b/TAO/CIAO/examples/OEP/Display/RateGen/RateGen_svnt_export.h
deleted file mode 100644
index ad773523aa8..00000000000
--- a/TAO/CIAO/examples/OEP/Display/RateGen/RateGen_svnt_export.h
+++ /dev/null
@@ -1,50 +0,0 @@
-
-// -*- C++ -*-
-// $Id$
-// Definition for Win32 Export directives.
-// This file is generated automatically by generate_export_file.pl RATEGEN_SVNT
-// ------------------------------
-#ifndef RATEGEN_SVNT_EXPORT_H
-#define RATEGEN_SVNT_EXPORT_H
-
-#include "ace/config-all.h"
-
-#if !defined (RATEGEN_SVNT_HAS_DLL)
-# define RATEGEN_SVNT_HAS_DLL 1
-#endif /* ! RATEGEN_SVNT_HAS_DLL */
-
-#if defined (RATEGEN_SVNT_HAS_DLL) && (RATEGEN_SVNT_HAS_DLL == 1)
-# if defined (RATEGEN_SVNT_BUILD_DLL)
-# define RATEGEN_SVNT_Export ACE_Proper_Export_Flag
-# define RATEGEN_SVNT_SINGLETON_DECLARATION(T) ACE_EXPORT_SINGLETON_DECLARATION (T)
-# define RATEGEN_SVNT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_EXPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
-# else /* RATEGEN_SVNT_BUILD_DLL */
-# define RATEGEN_SVNT_Export ACE_Proper_Import_Flag
-# define RATEGEN_SVNT_SINGLETON_DECLARATION(T) ACE_IMPORT_SINGLETON_DECLARATION (T)
-# define RATEGEN_SVNT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_IMPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
-# endif /* RATEGEN_SVNT_BUILD_DLL */
-#else /* RATEGEN_SVNT_HAS_DLL == 1 */
-# define RATEGEN_SVNT_Export
-# define RATEGEN_SVNT_SINGLETON_DECLARATION(T)
-# define RATEGEN_SVNT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
-#endif /* RATEGEN_SVNT_HAS_DLL == 1 */
-
-// Set RATEGEN_SVNT_NTRACE = 0 to turn on library specific tracing even if
-// tracing is turned off for ACE.
-#if !defined (RATEGEN_SVNT_NTRACE)
-# if (ACE_NTRACE == 1)
-# define RATEGEN_SVNT_NTRACE 1
-# else /* (ACE_NTRACE == 1) */
-# define RATEGEN_SVNT_NTRACE 0
-# endif /* (ACE_NTRACE == 1) */
-#endif /* !RATEGEN_SVNT_NTRACE */
-
-#if (RATEGEN_SVNT_NTRACE == 1)
-# define RATEGEN_SVNT_TRACE(X)
-#else /* (RATEGEN_SVNT_NTRACE == 1) */
-# define RATEGEN_SVNT_TRACE(X) ACE_TRACE_IMPL(X)
-#endif /* (RATEGEN_SVNT_NTRACE == 1) */
-
-#endif /* RATEGEN_SVNT_EXPORT_H */
-
-// End of auto generated file.
diff --git a/TAO/CIAO/examples/OEP/Display/RateGen/client.cpp b/TAO/CIAO/examples/OEP/Display/RateGen/client.cpp
deleted file mode 100644
index 1e894f82d81..00000000000
--- a/TAO/CIAO/examples/OEP/Display/RateGen/client.cpp
+++ /dev/null
@@ -1,66 +0,0 @@
-// $Id$
-
-/**
- * @file client.cpp
- *
- * This is a simple client test program that interact with the RateGen
- * component implementation. This test uses the explicit factory
- * operation in the home interface to create a RateGen component
- * instance, run it for a while, and destroy the component instance.
- */
-
-#include "RateGenC.h"
-
-int
-main (int argc, char *argv[])
-{
- ACE_TRY_NEW_ENV
- {
- // Initialize orb
- CORBA::ORB_var orb = CORBA::ORB_init (argc, argv ACE_ENV_ARG_PARAMETER);
-
- // Resolve HomeFinder interface
-
- CORBA::Object_var obj
- = orb->string_to_object ("file://RateGenHome.ior" ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- HUDisplay::RateGenHome_var home
- = HUDisplay::RateGenHome::_narrow (obj.in ()
- ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- if (CORBA::is_nil (home.in ()))
- ACE_ERROR_RETURN ((LM_ERROR, "Unable to acquire RateGenHome objref\n"), -1);
-
- HUDisplay::RateGen_var pulser
- = home->new_RateGen (8
- ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- pulser->start (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- ACE_OS::sleep (5);
-
- pulser->stop (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- home->remove_component (pulser.in ()
- ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- orb->destroy (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_TRY_CHECK;
- }
- ACE_CATCHANY
- {
- ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION,
- "Who is the culprit \n");
- cerr << "Uncaught CORBA exception" << endl;
- return 1;
- }
- ACE_ENDTRY;
-
- return 0;
-}
diff --git a/TAO/CIAO/examples/OEP/Display/RateGen/config b/TAO/CIAO/examples/OEP/Display/RateGen/config
deleted file mode 100644
index 6735fe61e31..00000000000
--- a/TAO/CIAO/examples/OEP/Display/RateGen/config
+++ /dev/null
@@ -1 +0,0 @@
-RateGen_exec|createRateGenHome_Impl|RateGen_svnt|createRateGenHome_Servant
diff --git a/TAO/CIAO/examples/OEP/Display/RateGen/controller.cpp b/TAO/CIAO/examples/OEP/Display/RateGen/controller.cpp
deleted file mode 100644
index b681531fc53..00000000000
--- a/TAO/CIAO/examples/OEP/Display/RateGen/controller.cpp
+++ /dev/null
@@ -1,121 +0,0 @@
-// $Id$
-
-#include "RateGenC.h"
-#include "ace/Get_Opt.h"
-
-/**
- * @file controller.cpp
- *
- * This program interact with a RateGen component, using its supported
- * interface "opmode" to switch it on/off, and set the rate of the
- * RateGen.
- */
-
-char *rategen_ior_ = 0;
-int rate = 2;
-int turn_on = 1;
-
-int
-parse_args (int argc, char *argv[])
-{
- ACE_Get_Opt get_opts (argc, argv, "k:r:of");
- int c;
-
- while ((c = get_opts ()) != -1)
- switch (c)
- {
- case 'o':
- turn_on = 1;
- break;
-
- case 'f':
- turn_on = 0;
- break;
-
- case 'k':
- rategen_ior_ = get_opts.opt_arg ();
- break;
-
- case 'r':
- rate = atoi (get_opts.opt_arg ());
- break;
-
- case '?': // display help for use of the server.
- default:
- ACE_ERROR_RETURN ((LM_ERROR,
- "usage: %s\n"
- "-o (Turn on the rate generator)\n"
- "-f (Turn off the rate generator)\n"
- "-k <RateGen IOR> (default is file://rategen.ior)\n"
- "-r <rate in hertz> (default is 3)\n"
- "\n",
- argv [0]),
- -1);
- }
-
- if (rategen_ior_ == 0)
- rategen_ior_ = "file://rategen.ior";
-
- if (rate == 0)
- rate = 3;
-
- return 0;
-}
-
-int
-main (int argc, char *argv[])
-{
- ACE_TRY_NEW_ENV
- {
- // Initialize orb
- CORBA::ORB_var orb = CORBA::ORB_init (argc, argv ACE_ENV_ARG_PARAMETER);
-
- if (parse_args (argc, argv) != 0)
- return -1;
-
- CORBA::Object_var obj
- = orb->string_to_object (rategen_ior_
- ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- HUDisplay::RateGen_var pulser
- = HUDisplay::RateGen::_narrow (obj.in ()
- ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- if (CORBA::is_nil (pulser.in ()))
- ACE_ERROR_RETURN ((LM_ERROR, "Unable to acquire 'RateGen' objref\n"), -1);
-
- if (turn_on)
- {
- pulser->hertz (rate
- ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- ACE_DEBUG ((LM_DEBUG, "Start up the Rate Generator\n"));
-
- pulser->start (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_TRY_CHECK;
- }
- else
- {
- pulser->stop (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- ACE_DEBUG ((LM_DEBUG, "Rate Generator stopped\n"));
- }
-
- orb->destroy (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_TRY_CHECK;
- }
- ACE_CATCHANY
- {
- ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION,
- "Who is the culprit \n");
- cerr << "Uncaught CORBA exception" << endl;
- return 1;
- }
- ACE_ENDTRY;
-
- return 0;
-}
diff --git a/TAO/CIAO/examples/OEP/Display/RateGen/controller.dsp b/TAO/CIAO/examples/OEP/Display/RateGen/controller.dsp
deleted file mode 100644
index 4a5a50aef61..00000000000
--- a/TAO/CIAO/examples/OEP/Display/RateGen/controller.dsp
+++ /dev/null
@@ -1,158 +0,0 @@
-# Microsoft Developer Studio Project File - Name="controller EXE" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 6.00
-# ** DO NOT EDIT **
-
-# TARGTYPE "Win32 (x86) Console Application" 0x0103
-
-CFG=controller EXE - Win32 Debug
-!MESSAGE This is not a valid makefile. To build this project using NMAKE,
-!MESSAGE use the Export Makefile command and run
-!MESSAGE
-!MESSAGE NMAKE /f "controller.mak".
-!MESSAGE
-!MESSAGE You can specify a configuration when running NMAKE
-!MESSAGE by defining the macro CFG on the command line. For example:
-!MESSAGE
-!MESSAGE NMAKE /f "controller.mak" CFG="controller EXE - Win32 Debug"
-!MESSAGE
-!MESSAGE Possible choices for configuration are:
-!MESSAGE
-!MESSAGE "controller EXE - Win32 Release" (based on "Win32 (x86) Console Application")
-!MESSAGE "controller EXE - Win32 Debug" (based on "Win32 (x86) Console Application")
-!MESSAGE
-
-# Begin Project
-# PROP AllowPerConfigDependencies 0
-# PROP Scc_ProjName ""
-# PROP Scc_LocalPath ""
-CPP=cl.exe
-RSC=rc.exe
-
-!IF "$(CFG)" == "controller EXE - Win32 Release"
-
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "Release"
-# PROP Intermediate_Dir "Release\controller"
-# PROP Target_Dir ""
-# ADD CPP /nologo /MD /W3 /GR /GX /O2 /I "..\..\..\..\..\orbsvcs\orbsvcs" /I "..\..\..\.." /I "..\..\..\..\ciao" /I "..\..\..\..\.." /I "..\..\..\..\..\tao" /I "..\..\..\..\..\.." /D NDEBUG=1 /D WIN32=1 /D _CONSOLE=1 /FD /c
-# SUBTRACT CPP /YX
-# ADD BASE RSC /l 0x409
-# ADD RSC /l 0x409 /i "..\..\..\.." /i "..\..\..\..\ciao" /i "..\..\..\..\.." /i "..\..\..\..\..\tao" /i "..\..\..\..\..\.." /d NDEBUG=1
-BSC32=bscmake.exe
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 /machine:IX86
-# ADD LINK32 RateGen_stub.lib HUDisplay_stub.lib TAO.lib TAO_Security.lib TAO_IFR_Client.lib TAO_Valuetype.lib CIAO_Client.lib ACE.lib /nologo /subsystem:console /machine:I386 /libpath:"..\..\..\..\..\orbsvcs\orbsvcs" /libpath:".." /libpath:"..\..\..\..\..\tao\IFR_Client" /libpath:"..\..\..\..\..\tao\Valuetype" /libpath:"..\..\..\..\ciao" /libpath:"..\..\..\..\..\tao" /libpath:"..\..\..\..\..\..\ace" /version:1.3.1
-# SUBTRACT LINK32 /pdb:none
-
-!ELSEIF "$(CFG)" == "controller EXE - Win32 Debug"
-
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "."
-# PROP Intermediate_Dir "Debug\controller"
-# PROP Target_Dir ""
-# ADD CPP /nologo /MDd /W3 /Gm /GR /GX /Zi /Od /Gy /I "..\..\..\..\..\orbsvcs\orbsvcs" /I "..\..\..\.." /I "..\..\..\..\ciao" /I "..\..\..\..\.." /I "..\..\..\..\..\tao" /I "..\..\..\..\..\.." /D _DEBUG=1 /D WIN32=1 /D _CONSOLE=1 /FD /c
-# SUBTRACT CPP /YX
-# ADD BASE RSC /l 0x409
-# ADD RSC /l 0x409 /i "..\..\..\.." /i "..\..\..\..\ciao" /i "..\..\..\..\.." /i "..\..\..\..\..\tao" /i "..\..\..\..\..\.." /d _DEBUG=1
-BSC32=bscmake.exe
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 /machine:IX86
-# ADD LINK32 RateGen_stubd.lib HUDisplay_stubd.lib TAOd.lib TAO_Securityd.lib TAO_IFR_Clientd.lib TAO_Valuetyped.lib CIAO_Clientd.lib ACEd.lib /nologo /subsystem:console /incremental:no /debug /machine:I386 /libpath:"..\..\..\..\..\orbsvcs\orbsvcs" /libpath:".." /libpath:"..\..\..\..\..\tao\IFR_Client" /libpath:"..\..\..\..\..\tao\Valuetype" /libpath:"..\..\..\..\ciao" /libpath:"..\..\..\..\..\tao" /libpath:"..\..\..\..\..\..\ace" /version:1.3.1
-# SUBTRACT LINK32 /pdb:none
-
-!ENDIF
-
-# Begin Target
-
-# Name "controller EXE - Win32 Release"
-# Name "controller EXE - Win32 Debug"
-# Begin Group "Source Files"
-
-# PROP Default_Filter "cpp;cxx;c"
-# Begin Source File
-
-SOURCE=.\controller.cpp
-# End Source File
-# End Group
-# Begin Group "Header Files"
-
-# PROP Default_Filter "h;hpp;hxx;hh"
-# Begin Source File
-
-SOURCE=.\RateGen_exec.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\RateGen_exec_export.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\RateGen_stub_export.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\RateGen_svnt.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\RateGen_svnt_export.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\RateGenC.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\RateGenEC.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\RateGenEIC.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\RateGenEIS.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\RateGenES.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\RateGenS.h
-# End Source File
-# End Group
-# Begin Group "Inline Files"
-
-# PROP Default_Filter "i;inl"
-# Begin Source File
-
-SOURCE=.\RateGenC.i
-# End Source File
-# Begin Source File
-
-SOURCE=.\RateGenEC.i
-# End Source File
-# Begin Source File
-
-SOURCE=.\RateGenEIC.i
-# End Source File
-# Begin Source File
-
-SOURCE=.\RateGenEIS.i
-# End Source File
-# Begin Source File
-
-SOURCE=.\RateGenES.i
-# End Source File
-# Begin Source File
-
-SOURCE=.\RateGenS.i
-# End Source File
-# End Group
-# End Target
-# End Project
diff --git a/TAO/CIAO/examples/OEP/Display/RateGen/run_test.pl b/TAO/CIAO/examples/OEP/Display/RateGen/run_test.pl
deleted file mode 100755
index 8e080d8d4bd..00000000000
--- a/TAO/CIAO/examples/OEP/Display/RateGen/run_test.pl
+++ /dev/null
@@ -1,112 +0,0 @@
-eval '(exit $?0)' && eval 'exec perl -S $0 ${1+"$@"}'
- & eval 'exec perl -S $0 $argv:q'
- if 0;
-
-# $Id$
-# -*- perl -*-
-
-#
-# @@ Run this script from ../descriptors/ instead.
-#
-
-use lib "../../../../../../bin";
-use PerlACE::Run_Test;
-
-$status = 0;
-$daemon_ior = PerlACE::LocalFile ("daemon.ior");
-$svr_ior = PerlACE::LocalFile ("server.ior");
-$home_ior = PerlACE::LocalFile ("RateGenHome.ior");
-
-unlink $daemon_ior;
-unlink $svr_ior;
-unlink $home_ior;
-
-# CIAO Daemon command line arguments
-$daemon_args = "-o $daemon_ior -i CIAO_Installation_Data.ini -n ../../../../tools/ComponentServer/ComponentServer";
-
-# CIAO Daemon Controller location:
-$controller = "../../../../tools/Daemon/DaemonController";
-
-# Daemon controller common command line arguments
-$common_args = "-ORBInitRef CIAODaemon=file://$daemon_ior";
-
-# Daemon controller start_home command
-$start_args = "start_home -s RateGen.csd -m $home_ior -c $svr_ior";
-
-# Daemon controller end_home command
-$end_args = "end_home -c file://$svr_ior";
-
-# Daemon controller shutdown command
-$shutdown_args = "shutdown";
-
-# Client program command line arguments
-$cl_args = "";
-
-# Naming_Service process definition
-$DS = new PerlACE::Process ("../../../../tools/Daemon/CIAO_Daemon",
- "$daemon_args");
-
-# Client process definition
-$CL = new PerlACE::Process ("../RateGen/client",
- "$cl_args");
-
-## Starting up the CIAO daemon
-$DS->Spawn ();
-if (PerlACE::waitforfile_timed ($daemon_ior, 15) == -1) {
- print STDERR "ERROR: Could not find daemon ior file <$daemon_ior>\n";
- $DS->Kill ();
- exit 1;
-}
-
-## Starting up a ComponentServer running the RateGen home.
-$DC = new PerlACE::Process ("$controller",
- "$common_args $start_args");
-
-$DC->SpawnWaitKill (60);
-if (PerlACE::waitforfile_timed ($home_ior, 15) == -1) {
- print STDERR "ERROR: Could not find home ior file <$home_ior>\n";
- $DS->Kill ();
- exit 1;
-}
-
-$client = $CL->SpawnWaitKill (60);
-
-if ($client != 0) {
- print STDERR "ERROR: client returned $client\n";
- $status = 1;
-}
-
-## Terminating the ComponentServer running the RateGen home.
-$DC = new PerlACE::Process ("$controller",
- "$common_args $end_args");
-
-$ctrl = $DC->SpawnWaitKill (60);
-if ($ctrl != 0) {
- print STDERR "ERROR: Fail to end component server\n";
- $DS->Kill ();
- exit 1;
-}
-
-## Terminating the ComponentServer running the RateGen home.
-$DC = new PerlACE::Process ("$controller",
- "$common_args $shutdown_args");
-
-$ctrl = $DC->SpawnWaitKill (60);
-if ($ctrl != 0) {
- print STDERR "ERROR: Fail to shutdown CIAODaemon\n";
- $DS->Kill ();
- exit 1;
-}
-
-$ctrl = $DS->WaitKill (60);
-if ($ctrl != 0) {
- print STDERR "ERROR: CIAODaemon didn't shutdown gracefully $ctrl\n";
- $DS->Kill ();
- exit 1;
-}
-
-unlink $daemon_ior;
-unlink $svr_ior;
-unlink $home_ior;
-
-exit $status;
diff --git a/TAO/CIAO/examples/OEP/Display/cleanup_mpcfiles.cmd b/TAO/CIAO/examples/OEP/Display/cleanup_mpcfiles.cmd
deleted file mode 100755
index 4c11d847420..00000000000
--- a/TAO/CIAO/examples/OEP/Display/cleanup_mpcfiles.cmd
+++ /dev/null
@@ -1 +0,0 @@
-del /q /s *.plg *.pdb *.ilk *.lib *.dsw *.dsp *.ncb *.exp *.opt \ No newline at end of file
diff --git a/TAO/CIAO/examples/OEP/Display/descriptors/CIAO_Installation_Data.ini b/TAO/CIAO/examples/OEP/Display/descriptors/CIAO_Installation_Data.ini
deleted file mode 100644
index 245a0c5e4d9..00000000000
--- a/TAO/CIAO/examples/OEP/Display/descriptors/CIAO_Installation_Data.ini
+++ /dev/null
@@ -1,9 +0,0 @@
-[ComponentInstallation]
-DCE:75309233-0E0A-4cfb-B186-3E99F69B1D40=GPS_svnt
-DCE:82C2B032-37F0-4315-A59F-7020D3264E4D=RateGen_exec
-DCE:8E92655E-CA07-46C8-B127-0F0872A8CC29=GPS_tracing_exec
-DCE:93D254CF-9538-44e8-BB98-AABCD134ADD3=RateGen_svnt
-DCE:CDC06FCA-50FC-43ca-8ECC-BEFBD33FEE78=NavDisplay_svnt
-DCE:8E6C468D-A39F-46b4-962B-265F1AA8D538=NavDisplay_exec
-DCE:D7984625-8561-431d-9927-4E498B317C02=NavDisplayGUI_exec
-DCE:3148F760-F2ED-4204-A775-6B972C10E8CB=GPS_exec
diff --git a/TAO/CIAO/examples/OEP/Display/descriptors/DuelDisplay.cad b/TAO/CIAO/examples/OEP/Display/descriptors/DuelDisplay.cad
deleted file mode 100644
index 6707868b2cc..00000000000
--- a/TAO/CIAO/examples/OEP/Display/descriptors/DuelDisplay.cad
+++ /dev/null
@@ -1,114 +0,0 @@
-<?xml version="1.0"?> <!-- -*- SGML -*- -->
-
-<!-- If this file is moved to a different directory, make sure to change the
- path to the DTD below. Otherwise the examples won't work. -->
-<!DOCTYPE componentassembly SYSTEM "../../../../docs/XML/componentassembly.dtd">
-
-<componentassembly id="Single-process HUDisplay assembly">
- <componentfiles>
- <componentfile id="com-RateGen">
- <fileinarchive name="RateGen.csd"/>
- </componentfile>
- <componentfile id="com-GPS">
- <fileinarchive name="GPS_tracing.csd"/>
- </componentfile>
- <componentfile id="com-NavDisplay">
- <fileinarchive name="NavDisplay.csd"/>
- </componentfile>
- <componentfile id="com-NavDisplayGUI">
- <fileinarchive name="NavDisplayGUI.csd"/>
- </componentfile>
- </componentfiles>
-
- <partitioning>
-
- <!-- A plain vanilla partition. We don't even need the processcollocation tag here. -->
- <homeplacement id="a_RateGenHome">
- <componentfileref idref="com-RateGen"/>
- <componentinstantiation id="a_RateGen">
- <registercomponent>
- <!-- writeiortofile is a non-standard CIAO extension. -->
- <writeiortofile name="rategen.ior"/>
- </registercomponent>
- </componentinstantiation>
- </homeplacement>
-
- <homeplacement id="a_GPSHome">
- <componentfileref idref="com-GPS"/>
- <componentinstantiation id="a_GPS"/>
- </homeplacement>
-
- <homeplacement id="a_NavDisplayHome">
- <componentfileref idref="com-NavDisplay"/>
- <componentinstantiation id="a_NavDisplay"/>
- </homeplacement>
-
- <processcollocation>
- <homeplacement id="a_NavDisplayGUIHome">
- <componentfileref idref="com-NavDisplayGUI"/>
- <componentinstantiation id="a_NavDisplayGUI"/>
- </homeplacement>
- <destination>Remote</destination>
- </processcollocation>
- </partitioning>
-
- <connections>
-
- <connectevent>
- <consumesport>
- <consumesidentifier>Refresh</consumesidentifier>
- <componentinstantiationref idref="a_GPS"/>
- </consumesport>
- <publishesport>
- <publishesidentifier>Pulse</publishesidentifier>
- <componentinstantiationref idref="a_RateGen"/>
- </publishesport>
- </connectevent>
-
- <connectevent>
- <consumesport>
- <consumesidentifier>Refresh</consumesidentifier>
- <componentinstantiationref idref="a_NavDisplay"/>
- </consumesport>
- <publishesport>
- <publishesidentifier>Ready</publishesidentifier>
- <componentinstantiationref idref="a_GPS"/>
- </publishesport>
- </connectevent>
-
- <connectinterface>
- <usesport>
- <usesidentifier>GPSLocation</usesidentifier>
- <componentinstantiationref idref="a_NavDisplay"/>
- </usesport>
- <providesport>
- <providesidentifier>MyLocation</providesidentifier>
- <componentinstantiationref idref="a_GPS"/>
- </providesport>
- </connectinterface>
-
- <connectevent>
- <consumesport>
- <consumesidentifier>Refresh</consumesidentifier>
- <componentinstantiationref idref="a_NavDisplayGUI"/>
- </consumesport>
- <publishesport>
- <publishesidentifier>Ready</publishesidentifier>
- <componentinstantiationref idref="a_GPS"/>
- </publishesport>
- </connectevent>
-
- <connectinterface>
- <usesport>
- <usesidentifier>GPSLocation</usesidentifier>
- <componentinstantiationref idref="a_NavDisplayGUI"/>
- </usesport>
- <providesport>
- <providesidentifier>MyLocation</providesidentifier>
- <componentinstantiationref idref="a_GPS"/>
- </providesport>
- </connectinterface>
-
- </connections>
-
-</componentassembly>
diff --git a/TAO/CIAO/examples/OEP/Display/descriptors/GPS.csd b/TAO/CIAO/examples/OEP/Display/descriptors/GPS.csd
deleted file mode 100644
index bfa23d08744..00000000000
--- a/TAO/CIAO/examples/OEP/Display/descriptors/GPS.csd
+++ /dev/null
@@ -1,64 +0,0 @@
-<?xml version="1.0"?> <!-- -*- SGML -*- -->
-
-<!-- If this file is moved to a different directory, make sure to change the
- path to the DTD below. Otherwise the examples won't work. -->
-<!DOCTYPE softpkg SYSTEM "../../../../docs/XML/softpkg.dtd">
-
-<!-- GPS's Software Package Descriptor -->
-<!-- This file describes various GPS executor -->
-<!-- implementations. -->
-
-
-<softpkg name="CIAO-GPS" version="1.0">
- <pkgtype>CORBA Component</pkgtype>
- <title>Rate Generator</title>
- <author>
- <company>Washington University in St. Louis</company>
- <webpage href="http://www.cs.wustl.edu/~doc/"/>
- </author>
- <description>A GPS executor implementation.</description>
- <license href="http://www.cs.wustl.edu/~schmidt/ACE-copying.html"/>
- <idl id="IDL:HUDisplay/GPS:1.0" homeid="IDL:HUDisplay/GPSHome:1.0">
- <fileinarchive name="GPS.idl"/>
- </idl>
-
- <!-- We don't need a property file for this example. However, -->
- <!-- what to do with this element? Cache it in ComponentInstallation? -->
- <!-- A better question maybe, when do we actually read the file and -->
- <!-- build the attributes defined in the file? By Assembly perhaps? -->
- <!-- Notice that this property file applies to the implementation itself. -->
- <!-- Whatever that means. -->
-<!-- <propertyfile> -->
-<!-- <fileinarchive name="empty.cpf"/> -->
-<!-- </propertyfile> -->
-
- <descriptor type="CORBA Component">
- <fileinarchive name="GPS.ccd"/>
- </descriptor>
-
- <implementation id="DCE:3148F760-F2ED-4204-A775-6B972C10E8CB">
-
- <!-- CIAO extension -->
- <dependency type="CIAODLL">
- <softpkgref>
- <!-- .ssd stands for Servant Software Descriptors which is a CIAO extension -->
- <fileinarchive name="GPS.ssd"/>
- <implref idref="DCE:75309233-0E0A-4cfb-B186-3E99F69B1D40"/>
- </softpkgref>
- </dependency>
-
- <!-- What happens when one define descriptors for both softpkg and -->
- <!-- implementations? -->
-
- <code type="DLL">
- <!-- No need to specify extension below since ACE takes care of that, -->
- <fileinarchive name="GPS_exec"/>
- <entrypoint>createGPSHome_Impl</entrypoint>
- </code>
-
- </implementation>
-
- <!-- Let's add more implementation description later when we try to -->
- <!-- compile this stuff on, say, Solaris and Linux. -->
-
-</softpkg>
diff --git a/TAO/CIAO/examples/OEP/Display/descriptors/GPS.ssd b/TAO/CIAO/examples/OEP/Display/descriptors/GPS.ssd
deleted file mode 100644
index 5e33124bf1a..00000000000
--- a/TAO/CIAO/examples/OEP/Display/descriptors/GPS.ssd
+++ /dev/null
@@ -1,48 +0,0 @@
-<?xml version="1.0"?> <!-- -*- SGML -*- -->
-
-<!-- If this file is moved to a different directory, make sure to change the
- path to the DTD below. Otherwise the examples won't work. -->
-<!DOCTYPE softpkg SYSTEM "../../../../docs/XML/softpkg.dtd">
-
-<!-- GPS's Servant Software Descriptor -->
-<!-- This file describes various GPS servant -->
-<!-- implementations. -->
-
-
-<softpkg name="CIAO-GPS-Servant" version="1.0">
- <pkgtype>CIAO Servant</pkgtype>
- <title>HUDisplay::GPS Servants</title>
- <author>
- <company>Washington University in St. Louis</company>
- <webpage href="http://www.cs.wustl.edu/~doc/"/>
- </author>
- <description>A GPS servant implementation.</description>
- <license href="http://www.cs.wustl.edu/~schmidt/ACE-copying.html"/>
- <idl id="IDL:HUDisplay/GPS:1.0" homeid="IDL:HUDisplay/GPSHome:1.0">
- <fileinarchive name="GPS.idl"/>
- </idl>
-
- <!-- Duplicate information. We should use the copy in GPS.csd -->
- <!-- So, do we really need this one? -->
- <descriptor type="CORBA Component">
- <fileinarchive name="GPS.ccd"/>
- </descriptor>
-
- <implementation id="DCE:75309233-0E0A-4cfb-B186-3E99F69B1D40">
-
- <dependency type="ORB">
- <name>TAO</name>
- </dependency>
-
- <code>
- <!-- No need to specify extension below since ACE takes care of that, -->
- <fileinarchive name="GPS_svnt"/>
- <entrypoint>createGPSHome_Servant</entrypoint>
- </code>
-
- </implementation>
-
- <!-- Let's add more implementation description later when we try to -->
- <!-- compile this stuff on, say, Solaris and Linux. -->
-
-</softpkg>
diff --git a/TAO/CIAO/examples/OEP/Display/descriptors/GPS_tracing.csd b/TAO/CIAO/examples/OEP/Display/descriptors/GPS_tracing.csd
deleted file mode 100644
index 5835d632f97..00000000000
--- a/TAO/CIAO/examples/OEP/Display/descriptors/GPS_tracing.csd
+++ /dev/null
@@ -1,64 +0,0 @@
-<?xml version="1.0"?> <!-- -*- SGML -*- -->
-
-<!-- If this file is moved to a different directory, make sure to change the
- path to the DTD below. Otherwise the examples won't work. -->
-<!DOCTYPE softpkg SYSTEM "../../../../docs/XML/softpkg.dtd">
-
-<!-- GPS's Software Package Descriptor -->
-<!-- This file describes various GPS executor -->
-<!-- implementations. -->
-
-
-<softpkg name="CIAO-GPS" version="1.0">
- <pkgtype>CORBA Component</pkgtype>
- <title>GPS tracing emulater</title>
- <author>
- <company>Washington University in St. Louis</company>
- <webpage href="http://www.cs.wustl.edu/~doc/"/>
- </author>
- <description>A GPS executor implementation that emulate a trace.</description>
- <license href="http://www.cs.wustl.edu/~schmidt/ACE-copying.html"/>
- <idl id="IDL:HUDisplay/GPS:1.0" homeid="IDL:HUDisplay/GPSHome:1.0">
- <fileinarchive name="GPS.idl"/>
- </idl>
-
- <!-- We don't need a property file for this example. However, -->
- <!-- what to do with this element? Cache it in ComponentInstallation? -->
- <!-- A better question maybe, when do we actually read the file and -->
- <!-- build the attributes defined in the file? By Assembly perhaps? -->
- <!-- Notice that this property file applies to the implementation itself. -->
- <!-- Whatever that means. -->
-<!-- <propertyfile> -->
-<!-- <fileinarchive name="empty.cpf"/> -->
-<!-- </propertyfile> -->
-
- <descriptor type="CORBA Component">
- <fileinarchive name="GPS.ccd"/>
- </descriptor>
-
- <implementation id="DCE:8E92655E-CA07-46C8-B127-0F0872A8CC29">
-
- <!-- CIAO extension -->
- <dependency type="CIAODLL">
- <softpkgref>
- <!-- .ssd stands for Servant Software Descriptors which is a CIAO extension -->
- <fileinarchive name="GPS.ssd"/>
- <implref idref="DCE:75309233-0E0A-4cfb-B186-3E99F69B1D40"/>
- </softpkgref>
- </dependency>
-
- <!-- What happens when one define descriptors for both softpkg and -->
- <!-- implementations? -->
-
- <code type="DLL">
- <!-- No need to specify extension below since ACE takes care of that, -->
- <fileinarchive name="GPS_tracing_exec"/>
- <entrypoint>createGPSHome_Tracing_Impl</entrypoint>
- </code>
-
- </implementation>
-
- <!-- Let's add more implementation description later when we try to -->
- <!-- compile this stuff on, say, Solaris and Linux. -->
-
-</softpkg>
diff --git a/TAO/CIAO/examples/OEP/Display/descriptors/HUDisplay.cad b/TAO/CIAO/examples/OEP/Display/descriptors/HUDisplay.cad
deleted file mode 100644
index 00fef2cea5f..00000000000
--- a/TAO/CIAO/examples/OEP/Display/descriptors/HUDisplay.cad
+++ /dev/null
@@ -1,82 +0,0 @@
-<?xml version="1.0"?> <!-- -*- SGML -*- -->
-
-<!-- If this file is moved to a different directory, make sure to change the
- path to the DTD below. Otherwise the examples won't work. -->
-<!DOCTYPE componentassembly SYSTEM "../../../../docs/XML/componentassembly.dtd">
-
-<componentassembly id="Single-process HUDisplay assembly">
- <componentfiles>
- <componentfile id="com-RateGen">
- <fileinarchive name="RateGen.csd"/>
- </componentfile>
- <componentfile id="com-GPS">
- <fileinarchive name="GPS.csd"/>
- </componentfile>
- <componentfile id="com-NavDisplay">
- <fileinarchive name="NavDisplay.csd"/>
- </componentfile>
- </componentfiles>
-
- <partitioning>
-
- <!-- A plain vanilla partition. We don't even need the processcollocation tag here. -->
- <homeplacement id="a_RateGenHome">
- <componentfileref idref="com-RateGen"/>
- <componentinstantiation id="a_RateGen">
- <registercomponent>
- <!-- writeiortofile is a non-standard CIAO extension. -->
- <writeiortofile name="rategen.ior"/>
- </registercomponent>
- </componentinstantiation>
- </homeplacement>
-
- <homeplacement id="a_GPSHome">
- <componentfileref idref="com-GPS"/>
- <componentinstantiation id="a_GPS"/>
- </homeplacement>
-
- <homeplacement id="a_NavDisplayHome">
- <componentfileref idref="com-NavDisplay"/>
- <componentinstantiation id="a_NavDisplay"/>
- </homeplacement>
-
- </partitioning>
-
- <connections>
-
- <connectevent>
- <consumesport>
- <consumesidentifier>Refresh</consumesidentifier>
- <componentinstantiationref idref="a_GPS"/>
- </consumesport>
- <publishesport>
- <publishesidentifier>Pulse</publishesidentifier>
- <componentinstantiationref idref="a_RateGen"/>
- </publishesport>
- </connectevent>
-
- <connectevent>
- <consumesport>
- <consumesidentifier>Refresh</consumesidentifier>
- <componentinstantiationref idref="a_NavDisplay"/>
- </consumesport>
- <publishesport>
- <publishesidentifier>Ready</publishesidentifier>
- <componentinstantiationref idref="a_GPS"/>
- </publishesport>
- </connectevent>
-
- <connectinterface>
- <usesport>
- <usesidentifier>GPSLocation</usesidentifier>
- <componentinstantiationref idref="a_NavDisplay"/>
- </usesport>
- <providesport>
- <providesidentifier>MyLocation</providesidentifier>
- <componentinstantiationref idref="a_GPS"/>
- </providesport>
- </connectinterface>
-
- </connections>
-
-</componentassembly>
diff --git a/TAO/CIAO/examples/OEP/Display/descriptors/HUDisplayGUI.cad b/TAO/CIAO/examples/OEP/Display/descriptors/HUDisplayGUI.cad
deleted file mode 100644
index 29ba52d8768..00000000000
--- a/TAO/CIAO/examples/OEP/Display/descriptors/HUDisplayGUI.cad
+++ /dev/null
@@ -1,82 +0,0 @@
-<?xml version="1.0"?> <!-- -*- SGML -*- -->
-
-<!-- If this file is moved to a different directory, make sure to change the
- path to the DTD below. Otherwise the examples won't work. -->
-<!DOCTYPE componentassembly SYSTEM "../../../../docs/XML/componentassembly.dtd">
-
-<componentassembly id="Single-process HUDisplay assembly">
- <componentfiles>
- <componentfile id="com-RateGen">
- <fileinarchive name="RateGen.csd"/>
- </componentfile>
- <componentfile id="com-GPS">
- <fileinarchive name="GPS_tracing.csd"/>
- </componentfile>
- <componentfile id="com-NavDisplay">
- <fileinarchive name="NavDisplayGUI.csd"/>
- </componentfile>
- </componentfiles>
-
- <partitioning>
-
- <!-- A plain vanilla partition. We don't even need the processcollocation tag here. -->
- <homeplacement id="a_RateGenHome">
- <componentfileref idref="com-RateGen"/>
- <componentinstantiation id="a_RateGen">
- <registercomponent>
- <!-- writeiortofile is a non-standard CIAO extension. -->
- <writeiortofile name="rategen.ior"/>
- </registercomponent>
- </componentinstantiation>
- </homeplacement>
-
- <homeplacement id="a_GPSHome">
- <componentfileref idref="com-GPS"/>
- <componentinstantiation id="a_GPS"/>
- </homeplacement>
-
- <homeplacement id="a_NavDisplayHome">
- <componentfileref idref="com-NavDisplay"/>
- <componentinstantiation id="a_NavDisplay"/>
- </homeplacement>
-
- </partitioning>
-
- <connections>
-
- <connectevent>
- <consumesport>
- <consumesidentifier>Refresh</consumesidentifier>
- <componentinstantiationref idref="a_GPS"/>
- </consumesport>
- <publishesport>
- <publishesidentifier>Pulse</publishesidentifier>
- <componentinstantiationref idref="a_RateGen"/>
- </publishesport>
- </connectevent>
-
- <connectevent>
- <consumesport>
- <consumesidentifier>Refresh</consumesidentifier>
- <componentinstantiationref idref="a_NavDisplay"/>
- </consumesport>
- <publishesport>
- <publishesidentifier>Ready</publishesidentifier>
- <componentinstantiationref idref="a_GPS"/>
- </publishesport>
- </connectevent>
-
- <connectinterface>
- <usesport>
- <usesidentifier>GPSLocation</usesidentifier>
- <componentinstantiationref idref="a_NavDisplay"/>
- </usesport>
- <providesport>
- <providesidentifier>MyLocation</providesidentifier>
- <componentinstantiationref idref="a_GPS"/>
- </providesport>
- </connectinterface>
-
- </connections>
-
-</componentassembly>
diff --git a/TAO/CIAO/examples/OEP/Display/descriptors/NOTE.txt b/TAO/CIAO/examples/OEP/Display/descriptors/NOTE.txt
deleted file mode 100644
index fd1ddd8763f..00000000000
--- a/TAO/CIAO/examples/OEP/Display/descriptors/NOTE.txt
+++ /dev/null
@@ -1,135 +0,0 @@
-This directory contains various XML descriptors and configuration
-files required to compose the HUDisplay application in a variety of
-different ways. Let's go over a few important files first:
-
-test.dat:
----------
-
- This file describes the deployment daemons CIAO's Assembly_Manager
- will contact to instantiate ComponentServer's, home's, and component
- instances. Each line specify the name of a installation
- "destination" (I used this to specify <processcollocation>
- destination in various *.cad files) and the corresponding IOR for
- the CIAO_Daemon. The first entry is the "default" destination the
- deployment framework will use.
-
- For example, test.dat now contains:
-
- Default corbaloc:iiop:localhost:10000/ServerActivator
- Remote corbaloc:iiop:localhost:12000/ServerActivator
-
- You can copy and modify the copy to deploy the components in various
- different locations to let the application truely "distributed".
- For example, changing the remote ServerActivator to:
- corbaloc:iiop:deuce.doc.wustl.edu:13000/ServerActivator
-
- Remember to start up the Assembly_Manager in Step 2 using the
- revised "test.dat" you created, and start up the CIAO_Daemon's in
- Step 1 according to the specification.
-
-*.cad:
-------
-
- These files specify how an application should be composed. The
- specification includes, where to install a component, what
- implementation to use, and how to connect components together.
- Currently, we have:
-
- BasicSP.cad: Plain vanilla assembly descriptor. This file install
- all components using the "Default" (the first daemon)
- in 'test.dat. You can see the application output
- from the default daemon shell.
-
-Unfortunately, there's no run_test.pl for starting and running these
-example configurations/assemblies as these daemons/managers programs
-are still under development. You will need several shell windows for
-them. All the following step should be run from this subdirectory
-($CIAO_ROOT/examples/OEP/Display/descriptors/). Here are the
-steps to demonstrate the examples:
-
-Step 1:
-=======
-
- You need to start up the CIAO daemon as specified in the
- deployment configuration file 'test.dat' (Notice the endpoint
- specification.) If you run more than one daemon (each with its
- own host port), I recommend running each CIAO_Daemon in its own
- shell window so you can tell where a component in the example
- application is running. Here are some hints on how to start the
- daemon:
-
- ${CIAO_ROOT}/tools/Daemon/CIAO_Daemon -ORBEndpoint iiop://localhost:10000 -n ../../../../tools/ComponentServer/ComponentServer
-
- and on Windows
-
- %CIAO_ROOT%/tools/Daemon/CIAO_Daemon -ORBEndpoint iiop://localhost:10000 -n ../../../../tools/ComponentServer/ComponentServer
-
- Note that the environment variable CIAO_ROOT must be set
- (to TAO_ROOT/CIAO).
-
-Step 2:
-=======
-
- Next, you will need to start up the Assembly_Manager which actually
- does the assembly work. This should also be started in a separate
- shell window.
-
- ${CIAO_ROOT}/tools/Assembly_Deployer/Assembly_Manager -o ior -c test.dat
-
- or
-
- %CIAO_ROOT%/tools/Assembly_Deployer/Assembly_Manager -o ior -c test.dat
-
-Step 3:
-=======
-
- You then need to instruct the Assembly_Manager to deploy a specific
- component assembly descriptor. For example:
-
- ${CIAO_ROOT}/tools/Assembly_Deployer/Assembly_Deployer -k file://ior -a BasicSP.cad
-
- or
-
- %CIAO_ROOT%/tools/Assembly_Deployer/Assembly_Deployer -k file://ior -a BasicSP.cad
-
-Step 4:
-=======
-
- All the .cad files instruct the Assembly_Manager to write the IOR of
- the RateGen component to a file called "rategen.ior" in this
- directory. You will then need to use a controller program in a
- separate shell window to switch on/off the Rate Generator. Cont
-
- Execute the controller with:
-
- ..\EC\controller -o # To switch on the EC component
-
- See its source to check what options are available to start up the
- controller. (Hints: you can control the rate (hertz) of the Rate
- Generator component.)
-
- Once the controller is running, check out the Daemon window for
- text-based BMClosedED and BMDisplay components. Once you are
- happy with it, you can stop the EC component by executing the
- controller as:
-
- ../EC/controller -f # To switch off the EC component
-
- Repeat this step again to instruct the EC component to start
- generating events.
-
-Step 5:
-=======
-
- Once you are done with the test. Press <enter> in the shell window
- running Assembly_Deployer that you started in Step 3. This will
- tear_down the application, kill all ComponentServer's, and terminate
- both the Assembly_Deployer and Assembly_Manager process.
-
- Repeat Step 2-5 using different configurations and assembly
- descriptors.
-
-Step 6:
-=======
-
- Terminate CIAO_Daemon (either using ^C or DaemonController.)
diff --git a/TAO/CIAO/examples/OEP/Display/descriptors/NavDisplay.csd b/TAO/CIAO/examples/OEP/Display/descriptors/NavDisplay.csd
deleted file mode 100644
index 3384b95480d..00000000000
--- a/TAO/CIAO/examples/OEP/Display/descriptors/NavDisplay.csd
+++ /dev/null
@@ -1,64 +0,0 @@
-<?xml version="1.0"?> <!-- -*- SGML -*- -->
-
-<!-- If this file is moved to a different directory, make sure to change the
- path to the DTD below. Otherwise the examples won't work. -->
-<!DOCTYPE softpkg SYSTEM "../../../../docs/XML/softpkg.dtd">
-
-<!-- NavDisplay's Software Package Descriptor -->
-<!-- This file describes various NavDisplay executor -->
-<!-- implementations. -->
-
-
-<softpkg name="CIAO-NavDisplay" version="1.0">
- <pkgtype>CORBA Component</pkgtype>
- <title>Rate Generator</title>
- <author>
- <company>Washington University in St. Louis</company>
- <webpage href="http://www.cs.wustl.edu/~doc/"/>
- </author>
- <description>A NavDisplay executor implementation.</description>
- <license href="http://www.cs.wustl.edu/~schmidt/ACE-copying.html"/>
- <idl id="IDL:HUDisplay/NavDisplay:1.0" homeid="IDL:HUDisplay/NavDisplayHome:1.0">
- <fileinarchive name="NavDisplay.idl"/>
- </idl>
-
- <!-- We don't need a property file for this example. However, -->
- <!-- what to do with this element? Cache it in ComponentInstallation? -->
- <!-- A better question maybe, when do we actually read the file and -->
- <!-- build the attributes defined in the file? By Assembly perhaps? -->
- <!-- Notice that this property file applies to the implementation itself. -->
- <!-- Whatever that means. -->
-<!-- <propertyfile> -->
-<!-- <fileinarchive name="empty.cpf"/> -->
-<!-- </propertyfile> -->
-
- <descriptor type="CORBA Component">
- <fileinarchive name="NavDisplay.ccd"/>
- </descriptor>
-
- <implementation id="DCE:8E6C468D-A39F-46b4-962B-265F1AA8D538">
-
- <!-- CIAO extension -->
- <dependency type="CIAODLL">
- <softpkgref>
- <!-- .ssd stands for Servant Software Descriptors which is a CIAO extension -->
- <fileinarchive name="NavDisplay.ssd"/>
- <implref idref="DCE:CDC06FCA-50FC-43ca-8ECC-BEFBD33FEE78"/>
- </softpkgref>
- </dependency>
-
- <!-- What happens when one define descriptors for both softpkg and -->
- <!-- implementations? -->
-
- <code type="DLL">
- <!-- No need to specify extension below since ACE takes care of that, -->
- <fileinarchive name="NavDisplay_exec"/>
- <entrypoint>createNavDisplayHome_Impl</entrypoint>
- </code>
-
- </implementation>
-
- <!-- Let's add more implementation description later when we try to -->
- <!-- compile this stuff on, say, Solaris and Linux. -->
-
-</softpkg>
diff --git a/TAO/CIAO/examples/OEP/Display/descriptors/NavDisplay.ssd b/TAO/CIAO/examples/OEP/Display/descriptors/NavDisplay.ssd
deleted file mode 100644
index b82967b411d..00000000000
--- a/TAO/CIAO/examples/OEP/Display/descriptors/NavDisplay.ssd
+++ /dev/null
@@ -1,48 +0,0 @@
-<?xml version="1.0"?> <!-- -*- SGML -*- -->
-
-<!-- If this file is moved to a different directory, make sure to change the
- path to the DTD below. Otherwise the examples won't work. -->
-<!DOCTYPE softpkg SYSTEM "../../../../docs/XML/softpkg.dtd">
-
-<!-- NavDisplay's Servant Software Descriptor -->
-<!-- This file describes various NavDisplay servant -->
-<!-- implementations. -->
-
-
-<softpkg name="CIAO-NavDisplay-Servant" version="1.0">
- <pkgtype>CIAO Servant</pkgtype>
- <title>HUDisplay::NavDisplay Servants</title>
- <author>
- <company>Washington University in St. Louis</company>
- <webpage href="http://www.cs.wustl.edu/~doc/"/>
- </author>
- <description>A NavDisplay servant implementation.</description>
- <license href="http://www.cs.wustl.edu/~schmidt/ACE-copying.html"/>
- <idl id="IDL:HUDisplay/NavDisplay:1.0" homeid="IDL:HUDisplay/NavDisplayHome:1.0">
- <fileinarchive name="NavDisplay.idl"/>
- </idl>
-
- <!-- Duplicate information. We should use the copy in NavDisplay.csd -->
- <!-- So, do we really need this one? -->
- <descriptor type="CORBA Component">
- <fileinarchive name="NavDisplay.ccd"/>
- </descriptor>
-
- <implementation id="DCE:CDC06FCA-50FC-43ca-8ECC-BEFBD33FEE78">
-
- <dependency type="ORB">
- <name>TAO</name>
- </dependency>
-
- <code>
- <!-- No need to specify extension below since ACE takes care of that, -->
- <fileinarchive name="NavDisplay_svnt"/>
- <entrypoint>createNavDisplayHome_Servant</entrypoint>
- </code>
-
- </implementation>
-
- <!-- Let's add more implementation description later when we try to -->
- <!-- compile this stuff on, say, Solaris and Linux. -->
-
-</softpkg>
diff --git a/TAO/CIAO/examples/OEP/Display/descriptors/NavDisplayGUI.csd b/TAO/CIAO/examples/OEP/Display/descriptors/NavDisplayGUI.csd
deleted file mode 100644
index c19bb01a68c..00000000000
--- a/TAO/CIAO/examples/OEP/Display/descriptors/NavDisplayGUI.csd
+++ /dev/null
@@ -1,64 +0,0 @@
-<?xml version="1.0"?> <!-- -*- SGML -*- -->
-
-<!-- If this file is moved to a different directory, make sure to change the
- path to the DTD below. Otherwise the examples won't work. -->
-<!DOCTYPE softpkg SYSTEM "../../../../docs/XML/softpkg.dtd">
-
-<!-- NavDisplay's Software Package Descriptor -->
-<!-- This file describes various NavDisplay executor -->
-<!-- implementations. -->
-
-
-<softpkg name="CIAO-NavDisplay" version="1.0">
- <pkgtype>CORBA Component</pkgtype>
- <title>Rate Generator</title>
- <author>
- <company>Washington University in St. Louis</company>
- <webpage href="http://www.cs.wustl.edu/~doc/"/>
- </author>
- <description>A NavDisplay executor implementation.</description>
- <license href="http://www.cs.wustl.edu/~schmidt/ACE-copying.html"/>
- <idl id="IDL:HUDisplay/NavDisplay:1.0" homeid="IDL:HUDisplay/NavDisplayHome:1.0">
- <fileinarchive name="NavDisplay.idl"/>
- </idl>
-
- <!-- We don't need a property file for this example. However, -->
- <!-- what to do with this element? Cache it in ComponentInstallation? -->
- <!-- A better question maybe, when do we actually read the file and -->
- <!-- build the attributes defined in the file? By Assembly perhaps? -->
- <!-- Notice that this property file applies to the implementation itself. -->
- <!-- Whatever that means. -->
-<!-- <propertyfile> -->
-<!-- <fileinarchive name="empty.cpf"/> -->
-<!-- </propertyfile> -->
-
- <descriptor type="CORBA Component">
- <fileinarchive name="NavDisplay.ccd"/>
- </descriptor>
-
- <implementation id="DCE:D7984625-8561-431d-9927-4E498B317C02">
-
- <!-- CIAO extension -->
- <dependency type="CIAODLL">
- <softpkgref>
- <!-- .ssd stands for Servant Software Descriptors which is a CIAO extension -->
- <fileinarchive name="NavDisplay.ssd"/>
- <implref idref="DCE:CDC06FCA-50FC-43ca-8ECC-BEFBD33FEE78"/>
- </softpkgref>
- </dependency>
-
- <!-- What happens when one define descriptors for both softpkg and -->
- <!-- implementations? -->
-
- <code type="DLL">
- <!-- No need to specify extension below since ACE takes care of that, -->
- <fileinarchive name="NavDisplayGUI_exec"/>
- <entrypoint>createNavDisplayHome_Impl</entrypoint>
- </code>
-
- </implementation>
-
- <!-- Let's add more implementation description later when we try to -->
- <!-- compile this stuff on, say, Solaris and Linux. -->
-
-</softpkg>
diff --git a/TAO/CIAO/examples/OEP/Display/descriptors/RateGen.csd b/TAO/CIAO/examples/OEP/Display/descriptors/RateGen.csd
deleted file mode 100644
index 756960b7eaa..00000000000
--- a/TAO/CIAO/examples/OEP/Display/descriptors/RateGen.csd
+++ /dev/null
@@ -1,64 +0,0 @@
-<?xml version="1.0"?> <!-- -*- SGML -*- -->
-
-<!-- If this file is moved to a different directory, make sure to change the
- path to the DTD below. Otherwise the examples won't work. -->
-<!DOCTYPE softpkg SYSTEM "../../../../docs/XML/softpkg.dtd">
-
-<!-- RateGen's Software Package Descriptor -->
-<!-- This file describes various RateGen executor -->
-<!-- implementations. -->
-
-
-<softpkg name="CIAO-RateGen" version="1.0">
- <pkgtype>CORBA Component</pkgtype>
- <title>Rate Generator</title>
- <author>
- <company>Washington University in St. Louis</company>
- <webpage href="http://www.cs.wustl.edu/~doc/"/>
- </author>
- <description>A RateGen executor implementation.</description>
- <license href="http://www.cs.wustl.edu/~schmidt/ACE-copying.html"/>
- <idl id="IDL:HUDisplay/RateGen:1.0" homeid="IDL:HUDisplay/RateGenHome:1.0">
- <fileinarchive name="RateGen.idl"/>
- </idl>
-
- <!-- We don't need a property file for this example. However, -->
- <!-- what to do with this element? Cache it in ComponentInstallation? -->
- <!-- A better question maybe, when do we actually read the file and -->
- <!-- build the attributes defined in the file? By Assembly perhaps? -->
- <!-- Notice that this property file applies to the implementation itself. -->
- <!-- Whatever that means. -->
-<!-- <propertyfile> -->
-<!-- <fileinarchive name="empty.cpf"/> -->
-<!-- </propertyfile> -->
-
- <descriptor type="CORBA Component">
- <fileinarchive name="RateGen.ccd"/>
- </descriptor>
-
- <implementation id="DCE:82C2B032-37F0-4315-A59F-7020D3264E4D">
-
- <!-- CIAO extension -->
- <dependency type="CIAODLL">
- <softpkgref>
- <!-- .ssd stands for Servant Software Descriptors which is a CIAO extension -->
- <fileinarchive name="RateGen.ssd"/>
- <implref idref="DCE:93D254CF-9538-44e8-BB98-AABCD134ADD3"/>
- </softpkgref>
- </dependency>
-
- <!-- What happens when one define descriptors for both softpkg and -->
- <!-- implementations? -->
-
- <code type="DLL">
- <!-- No need to specify extension below since ACE takes care of that, -->
- <fileinarchive name="RateGen_exec"/>
- <entrypoint>createRateGenHome_Impl</entrypoint>
- </code>
-
- </implementation>
-
- <!-- Let's add more implementation description later when we try to -->
- <!-- compile this stuff on, say, Solaris and Linux. -->
-
-</softpkg>
diff --git a/TAO/CIAO/examples/OEP/Display/descriptors/RateGen.ssd b/TAO/CIAO/examples/OEP/Display/descriptors/RateGen.ssd
deleted file mode 100644
index b18c9f5f235..00000000000
--- a/TAO/CIAO/examples/OEP/Display/descriptors/RateGen.ssd
+++ /dev/null
@@ -1,48 +0,0 @@
-<?xml version="1.0"?> <!-- -*- SGML -*- -->
-
-<!-- If this file is moved to a different directory, make sure to change the
- path to the DTD below. Otherwise the examples won't work. -->
-<!DOCTYPE softpkg SYSTEM "../../../../docs/XML/softpkg.dtd">
-
-<!-- RateGen's Servant Software Descriptor -->
-<!-- This file describes various RateGen servant -->
-<!-- implementations. -->
-
-
-<softpkg name="CIAO-RateGen-Servant" version="1.0">
- <pkgtype>CIAO Servant</pkgtype>
- <title>HUDisplay::RateGen Servants</title>
- <author>
- <company>Washington University in St. Louis</company>
- <webpage href="http://www.cs.wustl.edu/~doc/"/>
- </author>
- <description>A RateGen servant implementation.</description>
- <license href="http://www.cs.wustl.edu/~schmidt/ACE-copying.html"/>
- <idl id="IDL:HUDisplay/RateGen:1.0" homeid="IDL:HUDisplay/RateGenHome:1.0">
- <fileinarchive name="RateGen.idl"/>
- </idl>
-
- <!-- Duplicate information. We should use the copy in RateGen.csd -->
- <!-- So, do we really need this one? -->
- <descriptor type="CORBA Component">
- <fileinarchive name="RateGen.ccd"/>
- </descriptor>
-
- <implementation id="DCE:93D254CF-9538-44e8-BB98-AABCD134ADD3">
-
- <dependency type="ORB">
- <name>TAO</name>
- </dependency>
-
- <code>
- <!-- No need to specify extension below since ACE takes care of that, -->
- <fileinarchive name="RateGen_svnt"/>
- <entrypoint>createRateGenHome_Servant</entrypoint>
- </code>
-
- </implementation>
-
- <!-- Let's add more implementation description later when we try to -->
- <!-- compile this stuff on, say, Solaris and Linux. -->
-
-</softpkg>
diff --git a/TAO/CIAO/examples/OEP/Display/descriptors/RemoteDisplay.cad b/TAO/CIAO/examples/OEP/Display/descriptors/RemoteDisplay.cad
deleted file mode 100644
index e0c62e29918..00000000000
--- a/TAO/CIAO/examples/OEP/Display/descriptors/RemoteDisplay.cad
+++ /dev/null
@@ -1,84 +0,0 @@
-<?xml version="1.0"?> <!-- -*- SGML -*- -->
-
-<!-- If this file is moved to a different directory, make sure to change the
- path to the DTD below. Otherwise the examples won't work. -->
-<!DOCTYPE componentassembly SYSTEM "../../../../docs/XML/componentassembly.dtd">
-
-<componentassembly id="Single-process HUDisplay assembly">
- <componentfiles>
- <componentfile id="com-RateGen">
- <fileinarchive name="RateGen.csd"/>
- </componentfile>
- <componentfile id="com-GPS">
- <fileinarchive name="GPS.csd"/>
- </componentfile>
- <componentfile id="com-NavDisplay">
- <fileinarchive name="NavDisplay.csd"/>
- </componentfile>
- </componentfiles>
-
- <partitioning>
-
- <!-- A plain vanilla partition. We don't even need the processcollocation tag here. -->
- <homeplacement id="a_RateGenHome">
- <componentfileref idref="com-RateGen"/>
- <componentinstantiation id="a_RateGen">
- <registercomponent>
- <!-- writeiortofile is a non-standard CIAO extension. -->
- <writeiortofile name="rategen.ior"/>
- </registercomponent>
- </componentinstantiation>
- </homeplacement>
-
- <homeplacement id="a_GPSHome">
- <componentfileref idref="com-GPS"/>
- <componentinstantiation id="a_GPS"/>
- </homeplacement>
-
- <processcollocation>
- <homeplacement id="a_NavDisplayHome">
- <componentfileref idref="com-NavDisplay"/>
- <componentinstantiation id="a_NavDisplay"/>
- </homeplacement>
- <destination>Remote</destination>
- </processcollocation>
- </partitioning>
-
- <connections>
-
- <connectevent>
- <consumesport>
- <consumesidentifier>Refresh</consumesidentifier>
- <componentinstantiationref idref="a_GPS"/>
- </consumesport>
- <publishesport>
- <publishesidentifier>Pulse</publishesidentifier>
- <componentinstantiationref idref="a_RateGen"/>
- </publishesport>
- </connectevent>
-
- <connectevent>
- <consumesport>
- <consumesidentifier>Refresh</consumesidentifier>
- <componentinstantiationref idref="a_NavDisplay"/>
- </consumesport>
- <publishesport>
- <publishesidentifier>Ready</publishesidentifier>
- <componentinstantiationref idref="a_GPS"/>
- </publishesport>
- </connectevent>
-
- <connectinterface>
- <usesport>
- <usesidentifier>GPSLocation</usesidentifier>
- <componentinstantiationref idref="a_NavDisplay"/>
- </usesport>
- <providesport>
- <providesidentifier>MyLocation</providesidentifier>
- <componentinstantiationref idref="a_GPS"/>
- </providesport>
- </connectinterface>
-
- </connections>
-
-</componentassembly>
diff --git a/TAO/CIAO/examples/OEP/Display/descriptors/RemoteDisplayGUI.cad b/TAO/CIAO/examples/OEP/Display/descriptors/RemoteDisplayGUI.cad
deleted file mode 100644
index e26597bc426..00000000000
--- a/TAO/CIAO/examples/OEP/Display/descriptors/RemoteDisplayGUI.cad
+++ /dev/null
@@ -1,84 +0,0 @@
-<?xml version="1.0"?> <!-- -*- SGML -*- -->
-
-<!-- If this file is moved to a different directory, make sure to change the
- path to the DTD below. Otherwise the examples won't work. -->
-<!DOCTYPE componentassembly SYSTEM "../../../../docs/XML/componentassembly.dtd">
-
-<componentassembly id="Single-process HUDisplay assembly">
- <componentfiles>
- <componentfile id="com-RateGen">
- <fileinarchive name="RateGen.csd"/>
- </componentfile>
- <componentfile id="com-GPS">
- <fileinarchive name="GPS_tracing.csd"/>
- </componentfile>
- <componentfile id="com-NavDisplay">
- <fileinarchive name="NavDisplayGUI.csd"/>
- </componentfile>
- </componentfiles>
-
- <partitioning>
-
- <!-- A plain vanilla partition. We don't even need the processcollocation tag here. -->
- <homeplacement id="a_RateGenHome">
- <componentfileref idref="com-RateGen"/>
- <componentinstantiation id="a_RateGen">
- <registercomponent>
- <!-- writeiortofile is a non-standard CIAO extension. -->
- <writeiortofile name="rategen.ior"/>
- </registercomponent>
- </componentinstantiation>
- </homeplacement>
-
- <homeplacement id="a_GPSHome">
- <componentfileref idref="com-GPS"/>
- <componentinstantiation id="a_GPS"/>
- </homeplacement>
-
- <processcollocation>
- <homeplacement id="a_NavDisplayHome">
- <componentfileref idref="com-NavDisplay"/>
- <componentinstantiation id="a_NavDisplay"/>
- </homeplacement>
- <destination>Remote</destination>
- </processcollocation>
- </partitioning>
-
- <connections>
-
- <connectevent>
- <consumesport>
- <consumesidentifier>Refresh</consumesidentifier>
- <componentinstantiationref idref="a_GPS"/>
- </consumesport>
- <publishesport>
- <publishesidentifier>Pulse</publishesidentifier>
- <componentinstantiationref idref="a_RateGen"/>
- </publishesport>
- </connectevent>
-
- <connectevent>
- <consumesport>
- <consumesidentifier>Refresh</consumesidentifier>
- <componentinstantiationref idref="a_NavDisplay"/>
- </consumesport>
- <publishesport>
- <publishesidentifier>Ready</publishesidentifier>
- <componentinstantiationref idref="a_GPS"/>
- </publishesport>
- </connectevent>
-
- <connectinterface>
- <usesport>
- <usesidentifier>GPSLocation</usesidentifier>
- <componentinstantiationref idref="a_NavDisplay"/>
- </usesport>
- <providesport>
- <providesidentifier>MyLocation</providesidentifier>
- <componentinstantiationref idref="a_GPS"/>
- </providesport>
- </connectinterface>
-
- </connections>
-
-</componentassembly>
diff --git a/TAO/CIAO/examples/OEP/Display/descriptors/test.dat b/TAO/CIAO/examples/OEP/Display/descriptors/test.dat
deleted file mode 100644
index d26b3d4e070..00000000000
--- a/TAO/CIAO/examples/OEP/Display/descriptors/test.dat
+++ /dev/null
@@ -1,2 +0,0 @@
-Default corbaloc:iiop:localhost:10000/ServerActivator
-Remote corbaloc:iiop:localhost:12000/ServerActivator \ No newline at end of file
diff --git a/TAO/CIAO/examples/handcrafted/BasicSP/BMClosedED/BMClosedED.cidl b/TAO/CIAO/examples/handcrafted/BasicSP/BMClosedED/BMClosedED.cidl
deleted file mode 100644
index c241c806a34..00000000000
--- a/TAO/CIAO/examples/handcrafted/BasicSP/BMClosedED/BMClosedED.cidl
+++ /dev/null
@@ -1,19 +0,0 @@
-//$Id$
-
-#ifndef BMCLOSEDED_CIDL
-#define BMCLOSEDED_CIDL
-
-#include "BMClosedED.idl"
-
-composition session BMClosedED_Impl
-{
- home executor BMClosedEDHome_Exec
- {
- implements BasicSP::BMClosedEDHome;
- manages BMClosedED_Exec;
- };
-};
-
-#endif /* BMCLOSEDED_CIDL */
-
-
diff --git a/TAO/CIAO/examples/handcrafted/BasicSP/BMClosedED/BMClosedED.idl b/TAO/CIAO/examples/handcrafted/BasicSP/BMClosedED/BMClosedED.idl
deleted file mode 100644
index 2fe200151fe..00000000000
--- a/TAO/CIAO/examples/handcrafted/BasicSP/BMClosedED/BMClosedED.idl
+++ /dev/null
@@ -1,17 +0,0 @@
-//$Id$
-#include "../BasicSP.idl"
-
-module BasicSP
-{
- component BMClosedED
- {
- provides ReadData dataout;
- uses ReadData datain;
- publishes DataAvailable out_avail;
- consumes DataAvailable in_avail;
- };
-
- home BMClosedEDHome manages BMClosedED
- {
- };
-};
diff --git a/TAO/CIAO/examples/handcrafted/BasicSP/BMClosedED/BMClosedED.mpc b/TAO/CIAO/examples/handcrafted/BasicSP/BMClosedED/BMClosedED.mpc
deleted file mode 100644
index 1cc925cd2b3..00000000000
--- a/TAO/CIAO/examples/handcrafted/BasicSP/BMClosedED/BMClosedED.mpc
+++ /dev/null
@@ -1,57 +0,0 @@
-// $Id$
-// This file is generated with "generate_component_mpc.pl -l .. -p HUDisplay -i BMClosedED"
-// This file has been manually modified to add a second component implementation.
-
-project(BMClosedED_stub): ciao_client {
- depends += BasicSP_stub
- sharedname = BMClosedED_stub
- idlflags += -Wb,stub_export_macro=BMCLOSEDED_STUB_Export -Wb,stub_export_include=BMClosedED_stub_export.h -Wb,skel_export_macro=BMCLOSEDED_SVNT_Export -Wb,skel_export_include=BMClosedED_svnt_export.h
- dllflags = BMCLOSEDED_STUB_BUILD_DLL
-
- IDL_Files {
- BMClosedED.idl
- }
-
- Source_Files {
- BMClosedEDC.cpp
- }
-}
-
-project(BMClosedED_svnt) : ciao_server {
- depends += BasicSP_svnt BMClosedED_stub
- sharedname = BMClosedED_svnt
- libs += BMClosedED_stub BasicSP_stub BasicSP_svnt
- libpaths += ..
- idlflags += -Wb,export_macro=BMCLOSEDED_SVNT_Export -Wb,export_include=BMClosedED_svnt_export.h
- dllflags = BMCLOSEDED_SVNT_BUILD_DLL
-
- IDL_Files {
- BMClosedEDE.idl
- }
-
- Source_Files {
- BMClosedEDEC.cpp
- BMClosedEDS.cpp
- BMClosedED_svnt.cpp
- }
-}
-
-
-project(BMClosedED_exec) : ciao_server {
- depends += BMClosedED_svnt
- sharedname = BMClosedED_exec
- libs += BMClosedED_stub BMClosedED_svnt BasicSP_stub BasicSP_svnt
- libpaths += ..
- idlflags += -Wb,export_macro=BMCLOSEDED_EXEC_Export -Wb,export_include=BMClosedED_exec_export.h
- dllflags = BMCLOSEDED_EXEC_BUILD_DLL
-
- IDL_Files {
- BMClosedEDEI.idl
- }
-
- Source_Files {
- BMClosedEDEIC.cpp
- BMClosedED_exec.cpp
- }
-}
-
diff --git a/TAO/CIAO/examples/handcrafted/BasicSP/BMClosedED/BMClosedEDE.idl b/TAO/CIAO/examples/handcrafted/BasicSP/BMClosedED/BMClosedEDE.idl
deleted file mode 100644
index 39048f073a2..00000000000
--- a/TAO/CIAO/examples/handcrafted/BasicSP/BMClosedED/BMClosedEDE.idl
+++ /dev/null
@@ -1,76 +0,0 @@
-// $Id$
-
-// ===========================================================
-//
-// @file BMClosedEDE.idl
-//
-// Generated based on $(CIAO_ROOT)/docs/templates/Executor.idl
-//
-// @author Balachandran Natarajan <bala@dre.vanderbilt.edu>
-//
-// ===========================================================
-
-#ifndef CIAO_BMCLOSED_IDL
-#define CIAO_BMCLOSED_IDL
-
-#include "CCM_Container.idl" // Found in $(CIAO_ROOT)/ciao
- // For various definitions of container
- // internal/callback interfaces
-#include "BMClosedED.idl" // Original component IDL definition
-#include "../BasicSPE.idl"
-
-module BasicSP {
-
- // Component Main Executor Interface. We currently do not
- // support Executor-based implementation.
-
- local interface CCM_BMClosed_Executor
- : ::Components::EnterpriseComponent
- {
- };
-
- // Monolithic component executor.
- // For implementing monolithic component call back interface.
-
- local interface CCM_BMClosedED
- : ::Components::EnterpriseComponent
- {
- CCM_ReadData get_dataout ();
-
- void push_in_avail (in DataAvailable a);
- };
-
- /**
- * Component Context Interface
- *
- * Notice that we are taking a shortcut here to inherit the
- * component-specific context from SessionContext directly instead
- * of CCMContext.
- */
- local interface CCM_BMClosedED_Context
- : Components::SessionContext
- {
- void push_out_avail (in DataAvailable a);
- ReadData get_connection_datain ();
- };
-
- local interface CCM_BMClosedEDHomeExplicit
- : ::Components::HomeExecutorBase
- {
- };
-
- local interface CCM_BMClosedEDHomeImplicit
- {
- ::Components::EnterpriseComponent create ()
- raises (::Components::CCMException);
- };
-
- local interface CCM_BMClosedEDHome
- : CCM_BMClosedEDHomeExplicit,
- CCM_BMClosedEDHomeImplicit
- {
- };
-
-};
-
-#endif /* CIAO_BMCLOSED_IDL */
diff --git a/TAO/CIAO/examples/handcrafted/BasicSP/BMClosedED/BMClosedEDEI.idl b/TAO/CIAO/examples/handcrafted/BasicSP/BMClosedED/BMClosedEDEI.idl
deleted file mode 100644
index a95918e6595..00000000000
--- a/TAO/CIAO/examples/handcrafted/BasicSP/BMClosedED/BMClosedEDEI.idl
+++ /dev/null
@@ -1,33 +0,0 @@
-// $Id$
-
-/**
- * @file BMClosedEDEI.idl
- *
- * Definition of the GPS component implementation.
- *
- * @author Nanbor Wang <nanbor@cs.wustl.edu>
- */
-
-#ifndef CIAO_BMCLOSEDEDI_IDL
-#define CIAO_BMCLOSEDEDI_IDL
-
-#include "BMClosedEDE.idl"
-
-module BasicSP
-{
- /**
- * @interface BMClosedED_Exec
- *
- * The actually GPS executor inherits from both CCM_GPS and
- * CCM_position interfaces as a monolithic implementation.
- */
- local interface BMClosedED_Exec :
- CCM_BMClosedED,
- CCM_ReadData,
- Components::SessionComponent
- {
- };
-
-};
-
-#endif /* CIAO_BMCLOSEDEDI_IDL*/
diff --git a/TAO/CIAO/examples/handcrafted/BasicSP/BMClosedED/BMClosedED_exec.cpp b/TAO/CIAO/examples/handcrafted/BasicSP/BMClosedED/BMClosedED_exec.cpp
deleted file mode 100644
index ac80e1b9fb1..00000000000
--- a/TAO/CIAO/examples/handcrafted/BasicSP/BMClosedED/BMClosedED_exec.cpp
+++ /dev/null
@@ -1,149 +0,0 @@
-// $Id$
-
-#include "BMClosedED_exec.h"
-
-#define DISPLACEMENT 256
-
-/// Default constructor.
-MyImpl::BMClosedED_exec_i::BMClosedED_exec_i ()
-{
-}
-
-/// Default destructor.
-MyImpl::BMClosedED_exec_i::~BMClosedED_exec_i ()
-{
-}
-
-// Operations from HUDisplay::BMClosedED
-
-BasicSP::CCM_ReadData_ptr
-MyImpl::BMClosedED_exec_i::get_dataout (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- return BasicSP::CCM_ReadData::_duplicate (this);
-}
-
-void
-MyImpl::BMClosedED_exec_i::push_in_avail (BasicSP::DataAvailable *
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
-
- ACE_DEBUG ((LM_DEBUG,
- "BMClosedED - Doing computations \n"));
-
- ACE_DEBUG ((LM_DEBUG,
- "BMClosedED - Doing data fetch \n"));
-
- // Refresh position
- BasicSP::ReadData_var dat
- = this->context_->get_connection_datain (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_CHECK;
-
- if (CORBA::is_nil (dat.in ()))
- {
- ACE_THROW (CORBA::BAD_INV_ORDER ());
- }
-
- char *str =
- dat->get_data (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_CHECK;
-
- ACE_DEBUG ((LM_DEBUG,
- "BMClosedED - Display data is [%s] \n",
- str));
-
- if (ACE_OS::strcmp (str, "BM DEVICE DATA") == 0)
- {
- this->str_ = CORBA::string_dup ("BM CLOSED ED DATA");
- }
-
- // Notify others
- BasicSP::DataAvailable_var event =
- new OBV_BasicSP::DataAvailable;
-
- this->context_->push_out_avail (event
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK;
-}
-
-// Operations from HUDisplay::position
-
-char *
-MyImpl::BMClosedED_exec_i::get_data (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- return this->str_.inout ();
-}
-
-// Operations from Components::SessionComponent
-void
-MyImpl::BMClosedED_exec_i::set_session_context (Components::SessionContext_ptr ctx
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::CCMException))
-{
- ACE_DEBUG ((LM_DEBUG, "MyImpl::BMClosedED_exec_i::set_session_context\n"));
-
- this->context_ =
- BasicSP::CCM_BMClosedED_Context::_narrow (ctx
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK;
-
- if (CORBA::is_nil (this->context_.in ()))
- ACE_THROW (CORBA::INTERNAL ());
- // Urm, we actually discard exceptions thown from this operation.
-}
-
-void
-MyImpl::BMClosedED_exec_i::ccm_activate (ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::CCMException))
-{
- ACE_DEBUG ((LM_DEBUG, "MyImpl::BMClosedED_exec_i::ccm_activate\n"));
-}
-
-void
-MyImpl::BMClosedED_exec_i::ccm_passivate (ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::CCMException))
-{
- ACE_DEBUG ((LM_DEBUG, "MyImpl::BMClosedED_exec_i::ccm_passivate\n"));
-}
-
-void
-MyImpl::BMClosedED_exec_i::ccm_remove (ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::CCMException))
-{
- ACE_DEBUG ((LM_DEBUG, "MyImpl::BMClosedED_exec_i::ccm_remove\n"));
-}
-
-/// Default ctor.
-MyImpl::BMClosedEDHome_exec_i::BMClosedEDHome_exec_i ()
-{
-}
-
-/// Default dtor.
-MyImpl::BMClosedEDHome_exec_i::~BMClosedEDHome_exec_i ()
-{
-}
-
-// Explicit home operations.
-
-// Implicit home operations.
-
-::Components::EnterpriseComponent_ptr
-MyImpl::BMClosedEDHome_exec_i::create (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::CCMException))
-{
- return new MyImpl::BMClosedED_exec_i;
-}
-
-
-extern "C" BMCLOSEDED_EXEC_Export ::Components::HomeExecutorBase_ptr
-createBMClosedEDHome_Impl (void)
-{
- return new MyImpl::BMClosedEDHome_exec_i;
-}
diff --git a/TAO/CIAO/examples/handcrafted/BasicSP/BMClosedED/BMClosedED_exec.h b/TAO/CIAO/examples/handcrafted/BasicSP/BMClosedED/BMClosedED_exec.h
deleted file mode 100644
index 870ca679dfe..00000000000
--- a/TAO/CIAO/examples/handcrafted/BasicSP/BMClosedED/BMClosedED_exec.h
+++ /dev/null
@@ -1,119 +0,0 @@
-// $Id$
-
-//================================================================
-/**
- * @file BMClosedED_exec.h
- *
- * @author Balachandran Natarajan <bala@dre.vanderbilt.edu>
- */
-//================================================================
-
-#ifndef CIAO_BMCLOSED_EXEC_H
-#define CIAO_BMCLOSED_EXEC_H
-
-#include "BMClosedEDEIC.h"
-#include "tao/LocalObject.h"
-
-// The namespace name for the actual implementation classes doesn't
-// really matter. Since there may be several different
-// implementations for a component, they can very well be in different
-// namespaces.
-namespace MyImpl
-{
- /**
- * @class BMClosedED_exec_i
- *
- * An example RateGen executor implementation class.
- */
- class BMCLOSEDED_EXEC_Export BMClosedED_exec_i :
- public virtual BasicSP::BMClosedED_Exec,
- // CIAO container implementation depends on correct reference
- // counting of local interfaces, so we take a short cut to
- public virtual TAO_Local_RefCounted_Object
- {
- public:
- /// Default constructor.
- BMClosedED_exec_i (void);
-
- /// Default destructor.
- ~BMClosedED_exec_i (void);
-
- // Operations from HUDisplay::BMClosedED
-
- virtual BasicSP::CCM_ReadData_ptr
- get_dataout (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- virtual void
- push_in_avail (BasicSP::DataAvailable *ev
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- // Operations from HUDisplay::position
- virtual char *
- get_data (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- // Operations from Components::SessionComponent
-
- virtual void
- set_session_context (Components::SessionContext_ptr ctx
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::CCMException));
-
- virtual void
- ccm_activate (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::CCMException));
-
- virtual void
- ccm_passivate (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::CCMException));
-
- virtual void
- ccm_remove (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::CCMException));
- protected:
- CORBA::String_var str_;
-
- /// Copmponent specific context
- BasicSP::CCM_BMClosedED_Context_var context_;
- };
-
- /**
- * @class BMClosedEDHome_exec_i
- *
- * BMClosedED home executor implementation class.
- */
- class BMCLOSEDED_EXEC_Export BMClosedEDHome_exec_i :
- public virtual BasicSP::CCM_BMClosedEDHome,
- public virtual TAO_Local_RefCounted_Object
- {
- public:
- /// Default ctor.
- BMClosedEDHome_exec_i ();
-
- /// Default dtor.
- ~BMClosedEDHome_exec_i ();
-
- // Explicit home operations.
-
- // Implicit home operations.
-
- virtual ::Components::EnterpriseComponent_ptr
- create (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::CCMException));
- };
-
-}
-
-// Executor DLL entry point. CIAO's deployment and assembly framework
-// invokes this function on the resulting DLL to get the home executor.
-extern "C" BMCLOSEDED_EXEC_Export ::Components::HomeExecutorBase_ptr
-createBMClosedEDHome_Impl (void);
-
-#endif /* CIAO_BMCLOSED_EXEC_H*/
diff --git a/TAO/CIAO/examples/handcrafted/BasicSP/BMClosedED/BMClosedED_exec_export.h b/TAO/CIAO/examples/handcrafted/BasicSP/BMClosedED/BMClosedED_exec_export.h
deleted file mode 100644
index b2d7ae01e02..00000000000
--- a/TAO/CIAO/examples/handcrafted/BasicSP/BMClosedED/BMClosedED_exec_export.h
+++ /dev/null
@@ -1,50 +0,0 @@
-
-// -*- C++ -*-
-// $Id$
-// Definition for Win32 Export directives.
-// This file is generated automatically by generate_export_file.pl BMCLOSEDED_EXEC
-// ------------------------------
-#ifndef BMCLOSEDED_EXEC_EXPORT_H
-#define BMCLOSEDED_EXEC_EXPORT_H
-
-#include "ace/config-all.h"
-
-#if !defined (BMCLOSEDED_EXEC_HAS_DLL)
-# define BMCLOSEDED_EXEC_HAS_DLL 1
-#endif /* ! BMCLOSEDED_EXEC_HAS_DLL */
-
-#if defined (BMCLOSEDED_EXEC_HAS_DLL) && (BMCLOSEDED_EXEC_HAS_DLL == 1)
-# if defined (BMCLOSEDED_EXEC_BUILD_DLL)
-# define BMCLOSEDED_EXEC_Export ACE_Proper_Export_Flag
-# define BMCLOSEDED_EXEC_SINGLETON_DECLARATION(T) ACE_EXPORT_SINGLETON_DECLARATION (T)
-# define BMCLOSEDED_EXEC_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_EXPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
-# else /* BMCLOSEDED_EXEC_BUILD_DLL */
-# define BMCLOSEDED_EXEC_Export ACE_Proper_Import_Flag
-# define BMCLOSEDED_EXEC_SINGLETON_DECLARATION(T) ACE_IMPORT_SINGLETON_DECLARATION (T)
-# define BMCLOSEDED_EXEC_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_IMPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
-# endif /* BMCLOSEDED_EXEC_BUILD_DLL */
-#else /* BMCLOSEDED_EXEC_HAS_DLL == 1 */
-# define BMCLOSEDED_EXEC_Export
-# define BMCLOSEDED_EXEC_SINGLETON_DECLARATION(T)
-# define BMCLOSEDED_EXEC_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
-#endif /* BMCLOSEDED_EXEC_HAS_DLL == 1 */
-
-// Set BMCLOSEDED_EXEC_NTRACE = 0 to turn on library specific tracing even if
-// tracing is turned off for ACE.
-#if !defined (BMCLOSEDED_EXEC_NTRACE)
-# if (ACE_NTRACE == 1)
-# define BMCLOSEDED_EXEC_NTRACE 1
-# else /* (ACE_NTRACE == 1) */
-# define BMCLOSEDED_EXEC_NTRACE 0
-# endif /* (ACE_NTRACE == 1) */
-#endif /* !BMCLOSEDED_EXEC_NTRACE */
-
-#if (BMCLOSEDED_EXEC_NTRACE == 1)
-# define BMCLOSEDED_EXEC_TRACE(X)
-#else /* (BMCLOSEDED_EXEC_NTRACE == 1) */
-# define BMCLOSEDED_EXEC_TRACE(X) ACE_TRACE_IMPL(X)
-#endif /* (BMCLOSEDED_EXEC_NTRACE == 1) */
-
-#endif /* BMCLOSEDED_EXEC_EXPORT_H */
-
-// End of auto generated file.
diff --git a/TAO/CIAO/examples/handcrafted/BasicSP/BMClosedED/BMClosedED_stub_export.h b/TAO/CIAO/examples/handcrafted/BasicSP/BMClosedED/BMClosedED_stub_export.h
deleted file mode 100644
index a2511681640..00000000000
--- a/TAO/CIAO/examples/handcrafted/BasicSP/BMClosedED/BMClosedED_stub_export.h
+++ /dev/null
@@ -1,50 +0,0 @@
-
-// -*- C++ -*-
-// $Id$
-// Definition for Win32 Export directives.
-// This file is generated automatically by generate_export_file.pl BMCLOSEDED_STUB
-// ------------------------------
-#ifndef BMCLOSEDED_STUB_EXPORT_H
-#define BMCLOSEDED_STUB_EXPORT_H
-
-#include "ace/config-all.h"
-
-#if !defined (BMCLOSEDED_STUB_HAS_DLL)
-# define BMCLOSEDED_STUB_HAS_DLL 1
-#endif /* ! BMCLOSEDED_STUB_HAS_DLL */
-
-#if defined (BMCLOSEDED_STUB_HAS_DLL) && (BMCLOSEDED_STUB_HAS_DLL == 1)
-# if defined (BMCLOSEDED_STUB_BUILD_DLL)
-# define BMCLOSEDED_STUB_Export ACE_Proper_Export_Flag
-# define BMCLOSEDED_STUB_SINGLETON_DECLARATION(T) ACE_EXPORT_SINGLETON_DECLARATION (T)
-# define BMCLOSEDED_STUB_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_EXPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
-# else /* BMCLOSEDED_STUB_BUILD_DLL */
-# define BMCLOSEDED_STUB_Export ACE_Proper_Import_Flag
-# define BMCLOSEDED_STUB_SINGLETON_DECLARATION(T) ACE_IMPORT_SINGLETON_DECLARATION (T)
-# define BMCLOSEDED_STUB_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_IMPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
-# endif /* BMCLOSEDED_STUB_BUILD_DLL */
-#else /* BMCLOSEDED_STUB_HAS_DLL == 1 */
-# define BMCLOSEDED_STUB_Export
-# define BMCLOSEDED_STUB_SINGLETON_DECLARATION(T)
-# define BMCLOSEDED_STUB_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
-#endif /* BMCLOSEDED_STUB_HAS_DLL == 1 */
-
-// Set BMCLOSEDED_STUB_NTRACE = 0 to turn on library specific tracing even if
-// tracing is turned off for ACE.
-#if !defined (BMCLOSEDED_STUB_NTRACE)
-# if (ACE_NTRACE == 1)
-# define BMCLOSEDED_STUB_NTRACE 1
-# else /* (ACE_NTRACE == 1) */
-# define BMCLOSEDED_STUB_NTRACE 0
-# endif /* (ACE_NTRACE == 1) */
-#endif /* !BMCLOSEDED_STUB_NTRACE */
-
-#if (BMCLOSEDED_STUB_NTRACE == 1)
-# define BMCLOSEDED_STUB_TRACE(X)
-#else /* (BMCLOSEDED_STUB_NTRACE == 1) */
-# define BMCLOSEDED_STUB_TRACE(X) ACE_TRACE_IMPL(X)
-#endif /* (BMCLOSEDED_STUB_NTRACE == 1) */
-
-#endif /* BMCLOSEDED_STUB_EXPORT_H */
-
-// End of auto generated file.
diff --git a/TAO/CIAO/examples/handcrafted/BasicSP/BMClosedED/BMClosedED_svnt.cpp b/TAO/CIAO/examples/handcrafted/BasicSP/BMClosedED/BMClosedED_svnt.cpp
deleted file mode 100644
index f247b99155c..00000000000
--- a/TAO/CIAO/examples/handcrafted/BasicSP/BMClosedED/BMClosedED_svnt.cpp
+++ /dev/null
@@ -1,1125 +0,0 @@
-// $Id$
-
-#include "BMClosedED_svnt.h"
-#include "../BasicSP_svnt.h"
-#include "Cookies.h"
-
-void
-CIAO_GLUE_BasicSP::BMClosedED_Context::push_out_avail (BasicSP::DataAvailable *ev
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- ACE_Active_Map_Manager<BasicSP::DataAvailableConsumer_var>::iterator
- end = this->ciao_publishes_out_avail_map_.end ();
- for (ACE_Active_Map_Manager<BasicSP::DataAvailableConsumer_var>::iterator
- iter = this->ciao_publishes_out_avail_map_.begin ();
- iter != end;
- ++iter)
- {
- ACE_Active_Map_Manager<BasicSP::DataAvailableConsumer_var>::ENTRY &entry = *iter;
- BasicSP::DataAvailableConsumer_var c
- = BasicSP::DataAvailableConsumer::_narrow (entry.int_id_.in ());
- c->push_DataAvailable (ev
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK;
- }
-}
-
-// Operations for publishes interfaces.
-::Components::Cookie *
-CIAO_GLUE_BasicSP::BMClosedED_Context::subscribe_out_avail (BasicSP::DataAvailableConsumer_ptr c
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- ::Components::ExceededConnectionLimit))
-{
- if (CORBA::is_nil (c))
- ACE_THROW_RETURN (CORBA::BAD_PARAM (), 0);
-
- BasicSP::DataAvailableConsumer_var sub
- = BasicSP::DataAvailableConsumer::_duplicate (c);
-
- ACE_Active_Map_Manager_Key key;
- this->ciao_publishes_out_avail_map_.bind (sub.in (),
- key);
-
- sub._retn (); // Release ownership.
-
- ::Components::Cookie_var retv = new CIAO::Map_Key_Cookie (key);
- return retv._retn ();
-}
-
-BasicSP::DataAvailableConsumer_ptr
-CIAO_GLUE_BasicSP::BMClosedED_Context::unsubscribe_out_avail (::Components::Cookie *ck
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- ::Components::InvalidConnection))
-{
- BasicSP::DataAvailableConsumer_var retv;
-
- ACE_Active_Map_Manager_Key key;
- if (ck == 0 ||
- CIAO::Map_Key_Cookie::extract (ck, key) == -1)
- ACE_THROW_RETURN (::Components::InvalidConnection (), 0);
-
- if (this->ciao_publishes_out_avail_map_.unbind (key,
- retv) != 0)
- ACE_THROW_RETURN (::Components::InvalidConnection (), 0);
-
- return retv._retn ();
-}
-
-BasicSP::ReadData_ptr
-CIAO_GLUE_BasicSP::BMClosedED_Context::get_connection_datain (ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- return BasicSP::ReadData::_duplicate (this->ciao_uses_datain_.in ());
-}
-
-// Simplex [receptacle name] connection management operations
-void
-CIAO_GLUE_BasicSP::BMClosedED_Context::connect_datain (BasicSP::ReadData_ptr c
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- ::Components::AlreadyConnected,
- ::Components::InvalidConnection))
-{
- if (! CORBA::is_nil (this->ciao_uses_datain_.in ()))
- ACE_THROW (::Components::AlreadyConnected ());
-
- if (CORBA::is_nil (c))
- ACE_THROW (::Components::InvalidConnection ());
-
- // When do we throw InvalidConnection exception?
- this->ciao_uses_datain_ = BasicSP::ReadData::_duplicate (c);
-}
-
-BasicSP::ReadData_ptr
-CIAO_GLUE_BasicSP::BMClosedED_Context::disconnect_datain (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- ::Components::NoConnection))
-{
- if (CORBA::is_nil (this->ciao_uses_datain_.in ()))
- ACE_THROW (::Components::NoConnection ());
-
- return this->ciao_uses_datain_._retn ();
-}
-
-
-// Operations for ::Components::SessionContext interface
-CORBA::Object_ptr
-CIAO_GLUE_BasicSP::BMClosedED_Context::get_CCM_object (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::IllegalState))
-{
- // @@ How do I check for IllegalState here? When it's not in a
- // callback operation...
- // ACE_THROW_RETURN (::Components::IllegalState (), 0);
-
- if (CORBA::is_nil (this->component_.in ()))
- {
- CORBA::Object_var obj = this->container_->get_objref (this->servant_
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (0);
-
- this->component_ = BasicSP::BMClosedED::_narrow (obj.in ()
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (0);
-
- if (CORBA::is_nil (this->component_.in ()))
- ACE_THROW_RETURN (CORBA::INTERNAL (), 0); // This should not happen...
- }
- return BasicSP::BMClosedED::_duplicate (this->component_.in ());
-}
-
-
-
-CIAO_GLUE_BasicSP::BMClosedED_Context::BMClosedED_Context (::Components::CCMHome_ptr home,
- ::CIAO::Session_Container *c,
- CIAO_GLUE_BasicSP::BMClosedED_Servant *sv)
- : home_ (::Components::CCMHome::_duplicate (home)),
- container_ (c),
- servant_ (sv)
-{
-}
-
-
-CIAO_GLUE_BasicSP::BMClosedED_Context::~BMClosedED_Context ()
-{
-}
-
-// Operations for emits interfaces.
-
-// Operations for ::Components::CCMContext
- ::Components::Principal_ptr
-CIAO_GLUE_BasicSP::BMClosedED_Context::get_caller_principal (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- // @@ We don't support Security in CIAO yet.
- ACE_THROW_RETURN (CORBA::NO_IMPLEMENT (), 0);
-}
-
- ::Components::CCMHome_ptr
-CIAO_GLUE_BasicSP::BMClosedED_Context::get_CCM_home (ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- return ::Components::CCMHome::_duplicate (this->home_.in ());
-}
-
- CORBA::Boolean
-CIAO_GLUE_BasicSP::BMClosedED_Context::get_rollback_only (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::IllegalState))
-{
- // @@ We don't support Transaction in CIAO yet.
- ACE_THROW_RETURN (CORBA::NO_IMPLEMENT (), 0);
-}
-
- ::Components::Transaction::UserTransaction_ptr
-CIAO_GLUE_BasicSP::BMClosedED_Context::get_user_transaction (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::IllegalState))
-{
- // @@ We don't support Transaction in CIAO yet.
- ACE_THROW_RETURN (CORBA::NO_IMPLEMENT (), 0);
-}
-
- CORBA::Boolean
-CIAO_GLUE_BasicSP::BMClosedED_Context::is_caller_in_role (const char * role
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- ACE_UNUSED_ARG (role);
-
- // @@ We don't support Transaction in CIAO yet.
- ACE_THROW_RETURN (CORBA::NO_IMPLEMENT (), 0);
-}
-
- void
-CIAO_GLUE_BasicSP::BMClosedED_Context::set_rollback_only (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::IllegalState))
-{
- // @@ We don't support Transaction in CIAO yet.
- ACE_THROW (CORBA::NO_IMPLEMENT ());
-}
-
-
-/*******************************************************************************/
-CIAO_GLUE_BasicSP::BMClosedED_Servant::BMClosedED_Servant (BasicSP::CCM_BMClosedED_ptr exe,
- ::Components::CCMHome_ptr h,
- ::CIAO::Session_Container *c)
- : executor_ (BasicSP::CCM_BMClosedED::_duplicate (exe)),
- container_ (c)
-{
- this->context_ =
- new CIAO_GLUE_BasicSP::BMClosedED_Context (h, c, this);
-
- ACE_TRY_NEW_ENV
- {
- Components::SessionComponent_var scom =
- Components::SessionComponent::_narrow (exe
- ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- if (! CORBA::is_nil (scom.in ()))
- scom->set_session_context (this->context_
- ACE_ENV_ARG_PARAMETER);
- }
- ACE_CATCHANY
- {
- // @@ Ignore any exceptions? What happens if
- // set_session_context throws an CCMException?
- }
- ACE_ENDTRY;
-}
-
-
-CIAO_GLUE_BasicSP::BMClosedED_Servant::~BMClosedED_Servant (void)
-{
- ACE_TRY_NEW_ENV
- {
- Components::SessionComponent_var scom =
- Components::SessionComponent::_narrow (this->executor_.in ()
- ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- if (! CORBA::is_nil (scom.in ()))
- scom->ccm_remove (ACE_ENV_SINGLE_ARG_PARAMETER);
- }
- ACE_CATCHANY
- {
- // @@ Ignore any exceptions? What happens if
- // set_session_context throws an CCMException?
- }
- ACE_ENDTRY;
- this->context_->_remove_ref ();
-}
-
-// Operations for provides interfaces.
-BasicSP::ReadData_ptr
-CIAO_GLUE_BasicSP::BMClosedED_Servant::provide_dataout (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- if (CORBA::is_nil (this->provide_datain_.in ()))
- {
- BasicSP::CCM_ReadData_var fexe
- = this->executor_->get_dataout (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_CHECK_RETURN (0);
-
- if (CORBA::is_nil (fexe.in ()))
- ACE_THROW_RETURN (CORBA::INTERNAL (), 0);
-
- CIAO_GLUE_BasicSP::ReadData_Servant *svt =
- new CIAO_GLUE_BasicSP::ReadData_Servant (fexe.in (),
- this->context_);
-
- PortableServer::ServantBase_var safe_servant (svt);
-
- CORBA::Object_var obj =
- this->container_->install_servant (svt
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (0);
-
- BasicSP::ReadData_var fo
- = BasicSP::ReadData::_narrow (obj.in ()
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (0);
-
- this->provide_datain_ = fo;
- }
-
- return BasicSP::ReadData::_duplicate (this->provide_datain_.in ());
-}
-
-void
-CIAO_GLUE_BasicSP::BMClosedED_Servant::connect_datain (BasicSP::ReadData_ptr c
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- ::Components::AlreadyConnected,
- ::Components::InvalidConnection))
-{
- this->context_->connect_datain (c
- ACE_ENV_ARG_PARAMETER);
-}
-
-BasicSP::ReadData_ptr
-CIAO_GLUE_BasicSP::BMClosedED_Servant::disconnect_datain (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- ::Components::NoConnection))
-{
- return this->context_->disconnect_datain (ACE_ENV_SINGLE_ARG_PARAMETER);
-}
-
-BasicSP::ReadData_ptr
-CIAO_GLUE_BasicSP::BMClosedED_Servant::get_connection_datain (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- return this->context_->get_connection_datain (ACE_ENV_SINGLE_ARG_PARAMETER);
-}
-
-
-// Operations for consumers interfaces.
-// EventConsumer Glue Code implementation
-
-// Inherit from ::Compopnents::EventConsumerBase
-void
-CIAO_GLUE_BasicSP::BMClosedED_Servant::DataAvailableConsumer_in_avail_Servant::push_event (Components::EventBase *ev
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- ::Components::BadEventType))
-{
- BasicSP::DataAvailable_var ev_type = BasicSP::DataAvailable::_downcast (ev);
- if (ev_type != 0)
- {
- this->push_DataAvailable (ev_type.in ()
- ACE_ENV_ARG_PARAMETER);
- return;
- }
-
- // @@ This include the case when we receive a parent eventtype of [eventtype]
- ACE_THROW (::Components::BadEventType ());
-}
-
-// get_component implementation.
-BasicSP::DataAvailableConsumer_ptr
-CIAO_GLUE_BasicSP::BMClosedED_Servant::get_consumer_in_avail (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- if (CORBA::is_nil (this->consumes_in_avail_.in ()))
- {
- CIAO_GLUE_BasicSP::BMClosedED_Servant::DataAvailableConsumer_in_avail_Servant *svt =
- new CIAO_GLUE_BasicSP::BMClosedED_Servant::DataAvailableConsumer_in_avail_Servant (this->executor_.in (),
- this->context_);
- PortableServer::ServantBase_var safe_servant (svt);
-
- CORBA::Object_var obj = this->container_->install_servant (svt
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (0);
-
- BasicSP::DataAvailableConsumer_var eco
- = BasicSP::DataAvailableConsumer::_narrow (obj.in ()
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (0);
-
- this->consumes_in_avail_ = eco;
- }
-
- return BasicSP::DataAvailableConsumer::_duplicate (this->consumes_in_avail_.in ());
-}
-
-// Operations for Navigation interface
-CORBA::Object_ptr
-CIAO_GLUE_BasicSP::BMClosedED_Servant::provide_facet (const char * name
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException ,
- Components::InvalidName))
-{
- if (name == 0)
- ACE_THROW_RETURN (CORBA::BAD_PARAM (), 0);
-
- // We simply iterate thru all the facets this component provides
- // now. We can also use a hash map along with perfect hashing
- // (i.e., gperf) if we need faster performance since all the provided
- // interfaces are static to a component definition.
-
- if (ACE_OS_String::strcmp (name, "dataout") == 0)
- return this->provide_dataout (ACE_ENV_SINGLE_ARG_PARAMETER);
-
- ACE_THROW_RETURN (::Components::InvalidName (), 0);
-}
-
-::Components::FacetDescriptions *
-CIAO_GLUE_BasicSP::BMClosedED_Servant::get_all_facets (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- ::Components::FacetDescriptions_var collection
- = new ::Components::FacetDescriptions (1); // #99 = number of all provided
- collection->length (1);
-
- ::Components::FacetDescription_var x;
- CORBA::ULong i = 0;
-
- x = new ::OBV_Components::FacetDescription;
-
- x->Name ((const char *)"dataout");
- x->type_id ((const char *) "IDL:BasicSP/ReadData:1.0"); //
- x->facet_ref (this->provide_dataout (ACE_ENV_SINGLE_ARG_PARAMETER));
-
- collection[i] = x._retn ();
- ++i;
-
- return collection._retn ();
-
-}
-
-::Components::FacetDescriptions *
-CIAO_GLUE_BasicSP::BMClosedED_Servant::get_named_facets (const Components::NameList & names
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::InvalidName))
-{
- ::Components::FacetDescriptions_var collection
- = new ::Components::FacetDescriptions (names.length ());
- collection->length (names.length ());
-
- ::Components::FacetDescription_var x;
- CORBA::ULong i = 0;
-
- for (; i < names.length (); ++i)
- {
- x = new ::OBV_Components::FacetDescription;
-
- if (ACE_OS_String::strcmp (names[i].in (), "dataout") == 0)
- {
- x->Name ((const char *)"dataout");
- x->type_id ((const char *) "IDL:BasicSP/ReadData:1.0"); //
- x->facet_ref (this->provide_dataout (ACE_ENV_SINGLE_ARG_PARAMETER));
- }
- else
- ACE_THROW_RETURN (::Components::InvalidName (), 0);
-
- collection[i] = x._retn();
- }
- return collection._retn ();
-}
-
-CORBA::Boolean
-CIAO_GLUE_BasicSP::BMClosedED_Servant::same_component (CORBA::Object_ptr object_ref
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- if (CORBA::is_nil (object_ref))
- ACE_THROW_RETURN (CORBA::BAD_PARAM (), 0);
-
- CORBA::Object_var the_other =
- object_ref->_get_component (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_CHECK_RETURN (0);
-
- CORBA::Object_var me = this->context_->get_CCM_object (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_CHECK_RETURN (0);
-
- return me->_is_equivalent (object_ref
- ACE_ENV_ARG_PARAMETER);
-}
-
-// Operations for Receptacles interface
-::Components::Cookie *
-CIAO_GLUE_BasicSP::BMClosedED_Servant::connect (const char *name,
- CORBA::Object_ptr connection
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::InvalidName,
- Components::InvalidConnection,
- Components::AlreadyConnected,
- Components::ExceededConnectionLimit))
-{
- if (name == 0)
- ACE_THROW_RETURN (Components::InvalidName (), 0);
-
- if (ACE_OS_String::strcmp (name, "datain") == 0)
- {
- BasicSP::ReadData_var _ciao_conn =
- BasicSP::ReadData::_narrow (connection
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (0);
-
- if (CORBA::is_nil (_ciao_conn.in ()))
- ACE_THROW_RETURN (::Components::InvalidConnection (), 0);
-
- this->connect_datain (_ciao_conn.in ()
- ACE_ENV_ARG_PARAMETER);
- return 0;
- }
-
- ACE_THROW_RETURN (Components::InvalidName (), 0);
-}
-
-CORBA::Object_ptr
-CIAO_GLUE_BasicSP::BMClosedED_Servant::disconnect (const char *name,
- Components::Cookie *ck
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::InvalidName,
- Components::InvalidConnection,
- Components::CookieRequired,
- Components::NoConnection))
-{
- ACE_UNUSED_ARG (ck);
-
- // @@ We can omit this if clause if there's no receptacle in this component.
- if (name == 0)
- ACE_THROW_RETURN (Components::InvalidName (), 0);
-
- if (ACE_OS_String::strcmp (name, "datain") == 0)
- return this->disconnect_datain (ACE_ENV_SINGLE_ARG_PARAMETER);
-
- ACE_THROW_RETURN (Components::InvalidName (), 0);
-}
-
-::Components::ConnectionDescriptions *
-CIAO_GLUE_BasicSP::BMClosedED_Servant::get_connections (const char *
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::InvalidName))
-{
- ACE_THROW_RETURN (Components::InvalidName (), 0);
-}
-
-::Components::ReceptacleDescriptions *
-CIAO_GLUE_BasicSP::BMClosedED_Servant::get_all_receptacles (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- ::Components::ReceptacleDescriptions_var retv =
- new ::Components::ReceptacleDescriptions (0);
-
- retv->length (1);
- CORBA::ULong i = 0;
-
- retv[i] = new OBV_Components::ReceptacleDescription;
-
- retv[i]->Name ((const char *) "datain");
- retv[i]->type_id ((const char *) "IDL:BasicSP/ReadData:1.0");
- retv[i]->is_multiple (0);
- retv[i]->connections (*this->get_connections ("datain"
- ACE_ENV_ARG_PARAMETER));
- return retv._retn ();
-}
-
-::Components::ReceptacleDescriptions *
-CIAO_GLUE_BasicSP::BMClosedED_Servant::get_named_receptacles (const Components::NameList & names
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::InvalidName))
-{
- ::Components::ReceptacleDescriptions_var retv =
- new ::Components::ReceptacleDescriptions (names.length ());
- retv->length (names.length ());
-
- CORBA::ULong i = 0;
- for (; i < names.length (); ++i)
- {
- retv[i] = new ::OBV_Components::ReceptacleDescription;
- if (ACE_OS_String::strcmp (names[i].in (), "datain") == 0)
- {
- retv[i]->Name ((const char *) "datain");
- retv[i]->type_id ((const char *) "IDL:BasicSP/ReadData:1.0");
- retv[i]->is_multiple (0);
- retv[i]->connections (*this->get_connections ("datain"
- ACE_ENV_ARG_PARAMETER));
- }
- else
- ACE_THROW_RETURN (::Components::InvalidName (), 0);
- }
-
- return retv._retn ();
-}
-
-// Operations for Events interface
-::Components::EventConsumerBase_ptr
-CIAO_GLUE_BasicSP::BMClosedED_Servant::get_consumer (const char * sink_name
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::InvalidName))
-{
- // @@ We can omit this if clause if there's no event sinks in this component.
- if (sink_name == 0)
- ACE_THROW_RETURN (Components::InvalidName (), 0);
-
- if (ACE_OS_String::strcmp (sink_name, "in_avail") == 0)
- return this->get_consumer_in_avail (ACE_ENV_SINGLE_ARG_PARAMETER);
-
- ACE_THROW_RETURN (Components::InvalidName (), 0);
-}
-
-::Components::Cookie *
-CIAO_GLUE_BasicSP::BMClosedED_Servant::subscribe (const char * publisher_name,
- Components::EventConsumerBase_ptr subscriber
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::InvalidName,
- Components::InvalidConnection,
- Components::ExceededConnectionLimit))
-{
- // @@ We can omit this if clause if there's no publisher in this component.
- if (publisher_name == 0)
- ACE_THROW_RETURN (Components::InvalidName (), 0);
-
- if (ACE_OS_String::strcmp (publisher_name, "out_avail") == 0)
- {
- BasicSP::DataAvailableConsumer_var _ciao_consumer =
- BasicSP::DataAvailableConsumer::_narrow (subscriber
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (0);
-
- if (CORBA::is_nil (_ciao_consumer.in ()))
- ACE_THROW_RETURN (Components::InvalidConnection (), 0);
-
- return this->subscribe_out_avail (_ciao_consumer.in ()
- ACE_ENV_ARG_PARAMETER);
- }
-
- ACE_THROW_RETURN (Components::InvalidName (), 0);
-}
-
-::Components::EventConsumerBase_ptr
-CIAO_GLUE_BasicSP::BMClosedED_Servant::unsubscribe (const char * publisher_name,
- Components::Cookie *ck
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::InvalidName,
- Components::InvalidConnection))
-{
- // @@ We can omit this if clause if there's no publisher in this component.
- if (publisher_name == 0)
- ACE_THROW_RETURN (Components::InvalidName (), 0);
-
- if (ACE_OS_String::strcmp (publisher_name, "out_avail") == 0)
- {
- return this->unsubscribe_out_avail (ck
- ACE_ENV_ARG_PARAMETER);
- }
-
- ACE_THROW_RETURN (Components::InvalidName (), 0);
-}
-
-void
-CIAO_GLUE_BasicSP::BMClosedED_Servant::connect_consumer (const char *,
- Components::EventConsumerBase_ptr
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::InvalidName,
- Components::AlreadyConnected,
- Components::InvalidConnection))
-{
- ACE_THROW (Components::InvalidName ());
-}
-
-::Components::EventConsumerBase_ptr
-CIAO_GLUE_BasicSP::BMClosedED_Servant::disconnect_consumer (const char *
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::InvalidName,
- Components::NoConnection))
-{
- ACE_THROW_RETURN (Components::InvalidName (), 0);
-}
-
-::Components::ConsumerDescriptions *
-CIAO_GLUE_BasicSP::BMClosedED_Servant::get_all_consumers (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- ::Components::ConsumerDescriptions_var retv =
- new ::Components::ConsumerDescriptions (1); // #99 is the number of consumers
- // this component has.
- retv->length (1);
-
- CORBA::ULong i = 0;
-
- retv[i] = new OBV_Components::ConsumerDescription;
- retv[i]->Name ("in_avail");
- retv[i]->type_id ("IDL:BasicSP/DataAvailableConsumer:1.0");
- BasicSP::DataAvailableConsumer_var c
- = this->get_consumer_in_avail (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_CHECK_RETURN (0);
-
- retv[i]->consumer (c.in ());
-
- return retv._retn ();
-}
-
-::Components::ConsumerDescriptions *
-CIAO_GLUE_BasicSP::BMClosedED_Servant::get_named_consumers (const Components::NameList & names
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::InvalidName))
-{
- ::Components::ConsumerDescriptions_var retv =
- new ::Components::ConsumerDescriptions (names.length ());
-
- retv->length (names.length ());
-
- CORBA::ULong i = 0;
- for (; i < names.length (); ++i)
- {
- retv[i] = new OBV_Components::ConsumerDescription;
-
- if (ACE_OS_String::strcmp (names[i].in (), "in_avail") == 0)
- {
- retv[i]->Name ("in_avail");
- retv[i]->type_id ("IDL:BasicSP/DataAvailableConsumer:1.0");
- BasicSP::DataAvailableConsumer_var c =
- this->get_consumer_in_avail (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_CHECK_RETURN (0);
-
- retv[i]->consumer (c.in ());
- }
- else
- ACE_THROW_RETURN (::Components::InvalidName (), 0);
- }
- return retv._retn ();
-}
-
-::Components::EmitterDescriptions *
-CIAO_GLUE_BasicSP::BMClosedED_Servant::get_all_emitters (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- ::Components::EmitterDescriptions_var retv =
- new ::Components::EmitterDescriptions (0); // #99 is the number of emitters
- // this component has.
- return retv._retn ();
-}
-
-::Components::EmitterDescriptions *
-CIAO_GLUE_BasicSP::BMClosedED_Servant::get_named_emitters (const Components::NameList & names
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::InvalidName))
-{
- ::Components::EmitterDescriptions_var retv =
- new ::Components::EmitterDescriptions (names.length ());
- retv->length (names.length ());
-
- CORBA::ULong i = 0;
- for (; i < names.length (); ++i)
- {
- ACE_THROW_RETURN (::Components::InvalidName (), 0);
- }
- return retv._retn ();
-}
-
-::Components::PublisherDescriptions *
-CIAO_GLUE_BasicSP::BMClosedED_Servant::get_all_publishers (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- // @@ to-do
-
- // Need to add interfaces in the Context class to gather the information.
- // Or we can just relay it to the Context object.
- ACE_THROW_RETURN (CORBA::NO_IMPLEMENT (), 0);
-}
-
-::Components::PublisherDescriptions *
-CIAO_GLUE_BasicSP::BMClosedED_Servant::get_named_publishers (const Components::NameList &
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::InvalidName))
-{
- // @@ to-do
-
- // Need to add interfaces in the Context class to gather the information.
- // Or we can just relay it to the Context object.
- ACE_THROW_RETURN (CORBA::NO_IMPLEMENT (), 0);
-}
-
-// Operations for CCMObject interface
-::CORBA::IRObject_ptr
-CIAO_GLUE_BasicSP::BMClosedED_Servant::get_component_def (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- // @@ to-do: Connect to an IfR?
- ACE_THROW_RETURN (CORBA::NO_IMPLEMENT (), 0);
-}
-
-::Components::CCMHome_ptr
-CIAO_GLUE_BasicSP::BMClosedED_Servant::get_ccm_home (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- return this->context_->get_CCM_home (ACE_ENV_SINGLE_ARG_PARAMETER);
-}
-
-::Components::PrimaryKeyBase *
-CIAO_GLUE_BasicSP::BMClosedED_Servant::get_primary_key (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::NoKeyAvailable))
-{
- // This is a keyless component.
- ACE_THROW_RETURN (::Components::NoKeyAvailable (), 0);
-}
-
-void
-CIAO_GLUE_BasicSP::BMClosedED_Servant::configuration_complete (ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::InvalidConfiguration))
-{
- // @@ to-do
- // No-op. Don't know how to pass this info to monolithic executor.
-}
-
-void
-CIAO_GLUE_BasicSP::BMClosedED_Servant::remove (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::RemoveFailure))
-{
- // @@ to-do
- // Need to figure out what to do here. E.g., tear down the all the connections
- // this component has?
-}
-
-::Components::ComponentPortDescription *
-CIAO_GLUE_BasicSP::BMClosedED_Servant::get_all_ports (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- ::Components::ComponentPortDescription_var retv =
- new OBV_Components::ComponentPortDescription;
-
- ::Components::FacetDescriptions_var facets_desc
- = this->get_all_facets (ACE_ENV_SINGLE_ARG_PARAMETER);
- ::Components::ReceptacleDescriptions_var receptacle_desc
- = get_all_receptacles (ACE_ENV_SINGLE_ARG_PARAMETER);
- ::Components::ConsumerDescriptions_var consumer_desc
- = this->get_all_consumers (ACE_ENV_SINGLE_ARG_PARAMETER);
- ::Components::EmitterDescriptions_var emitter_desc
- = this->get_all_emitters (ACE_ENV_SINGLE_ARG_PARAMETER);
- ::Components::PublisherDescriptions_var publisher_desc
- = this->get_all_publishers (ACE_ENV_SINGLE_ARG_PARAMETER);
-
- retv->facets (facets_desc.in());
- retv->receptacles (receptacle_desc.in());
- retv->consumers (consumer_desc.in());
- retv->emitters (emitter_desc.in());
- retv->publishers (publisher_desc.in());
-
- return retv._retn();
-}
-
-// get_component implementation.
-CORBA::Object_ptr
-CIAO_GLUE_BasicSP::BMClosedED_Servant::_get_component (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- ::Components::SessionContext_var sc =
- ::Components::SessionContext::_narrow (this->context_);
-
- if (! CORBA::is_nil(sc.in ()))
- return sc->get_CCM_object (ACE_ENV_SINGLE_ARG_PARAMETER);
-
- // @@ Do we need to try the following case here? We are afterall implementing
- // a session component here.
- ::Components::EntityContext_var ec =
- ::Components::EntityContext::_narrow (this->context_);
-
- if (! CORBA::is_nil(ec.in ()))
- return ec->get_CCM_object (ACE_ENV_SINGLE_ARG_PARAMETER);
-
- ACE_THROW_RETURN (CORBA::INTERNAL (), 0);
-}
-
-void
-CIAO_GLUE_BasicSP::BMClosedED_Servant::_ciao_activate (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- ::Components::SessionComponent_var temp =
- ::Components::SessionComponent::_narrow (this->executor_.in ()
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK;
-
- if (! CORBA::is_nil (temp.in ()))
- temp->ccm_activate (ACE_ENV_SINGLE_ARG_PARAMETER);
-}
-
-void
-CIAO_GLUE_BasicSP::BMClosedED_Servant::_ciao_passivate (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- ::Components::SessionComponent_var temp =
- ::Components::SessionComponent::_narrow (this->executor_.in ()
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK;
-
- if (! CORBA::is_nil (temp.in ()))
- temp->ccm_passivate (ACE_ENV_SINGLE_ARG_PARAMETER);
-}
-
-
-CIAO_GLUE_BasicSP::BMClosedED_Servant::DataAvailableConsumer_in_avail_Servant::DataAvailableConsumer_in_avail_Servant
- (BasicSP::CCM_BMClosedED_ptr executor,
- BasicSP::CCM_BMClosedED_Context_ptr c)
- : executor_ (BasicSP::CCM_BMClosedED::_duplicate (executor)),
- ctx_ (BasicSP::CCM_BMClosedED_Context::_duplicate (c))
-{
-}
-
-
-CIAO_GLUE_BasicSP::BMClosedED_Servant::DataAvailableConsumer_in_avail_Servant::~DataAvailableConsumer_in_avail_Servant ()
-{
-}
-
- CORBA::Object_ptr
-CIAO_GLUE_BasicSP::BMClosedED_Servant::DataAvailableConsumer_in_avail_Servant::_get_component (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- return this->ctx_->get_CCM_object (ACE_ENV_SINGLE_ARG_PARAMETER);
-}
-
- void
-CIAO_GLUE_BasicSP::BMClosedED_Servant::DataAvailableConsumer_in_avail_Servant::push_DataAvailable
- (BasicSP::DataAvailable *evt
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- this->executor_->push_in_avail (evt
- ACE_ENV_ARG_PARAMETER);
-}
-
-// Operations for emits interfaces.
-
-// Operations for publishes interfaces.
- ::Components::Cookie *
-CIAO_GLUE_BasicSP::BMClosedED_Servant::subscribe_out_avail (BasicSP::DataAvailableConsumer_ptr c
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- ::Components::ExceededConnectionLimit))
-{
- return this->context_->subscribe_out_avail (c
- ACE_ENV_ARG_PARAMETER);
-}
-
- BasicSP::DataAvailableConsumer_ptr
-CIAO_GLUE_BasicSP::BMClosedED_Servant::unsubscribe_out_avail (::Components::Cookie *ck
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- ::Components::InvalidConnection))
-{
- return this->context_->unsubscribe_out_avail (ck
- ACE_ENV_ARG_PARAMETER);
-}
-
-/************************************************************************************/
-BasicSP::BMClosedED_ptr
-CIAO_GLUE_BasicSP::BMClosedEDHome_Servant::_ciao_activate_component (BasicSP::CCM_BMClosedED_ptr exe
- ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- CORBA::Object_var hobj
- = this->container_->get_objref (this
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (0);
-
- ::Components::CCMHome_var home
- = ::Components::CCMHome::_narrow (hobj.in ()
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (0);
-
- CIAO_GLUE_BasicSP::BMClosedED_Servant *svt =
- new CIAO_GLUE_BasicSP::BMClosedED_Servant (exe,
- home.in (),
- this->container_);
- PortableServer::ServantBase_var safe (svt);
- PortableServer::ObjectId_var oid;
-
- CORBA::Object_var objref
- = this->container_->install_component (svt,
- oid.out ()
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (0);
-
- svt->_ciao_activate (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_CHECK_RETURN (0);
-
- BasicSP::BMClosedED_var ho
- = BasicSP::BMClosedED::_narrow (objref.in ()
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (0);
-
- if (this->component_map_.bind (oid.in (), svt) == 0)
- {
- // @@ what should happen if bind fail?
- safe._retn ();
- }
- return ho._retn ();
-}
-
-void
-CIAO_GLUE_BasicSP::BMClosedEDHome_Servant::_ciao_passivate_component (BasicSP::BMClosedED_ptr comp
- ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- PortableServer::ObjectId_var oid;
-
- this->container_->uninstall_component (comp,
- oid.out ()
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK;
-
- CIAO_GLUE_BasicSP::BMClosedED_Servant *servant = 0;
- if (this->component_map_.unbind (oid.in (), servant) == 0)
- {
- PortableServer::ServantBase_var safe (servant);
- servant->_ciao_passivate (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_CHECK;
- }
- // What happen if unbind failed?
-
-}
-
-// Operations for Implicit Home interface
-BasicSP::BMClosedED_ptr
-CIAO_GLUE_BasicSP::BMClosedEDHome_Servant::create (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::CreateFailure))
-{
- if (this->executor_.in () == 0)
- ACE_THROW_RETURN (CORBA::INTERNAL (), 0);
-
- Components::EnterpriseComponent_var _ciao_ec =
- this->executor_->create (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_CHECK_RETURN (0);
-
- BasicSP::CCM_BMClosedED_var _ciao_comp
- = BasicSP::CCM_BMClosedED::_narrow (_ciao_ec.in ()
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (0);
-
- return this->_ciao_activate_component (_ciao_comp.in ()
- ACE_ENV_ARG_PARAMETER);
-}
-
-// Operations for CCMHome interface
-void
-CIAO_GLUE_BasicSP::BMClosedEDHome_Servant::remove_component (Components::CCMObject_ptr comp
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::RemoveFailure))
-{
- BasicSP::BMClosedED_var _ciao_comp
- = BasicSP::BMClosedED::_narrow (comp
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK;
-
- if (CORBA::is_nil (_ciao_comp.in ()))
- ACE_THROW (CORBA::INTERNAL ()); // What is the right exception to throw here?
-
- // @@ It seems to me that we need to make sure this is a component
- // generated by this home before calling remove on this component.
- _ciao_comp->remove (ACE_ENV_ARG_PARAMETER);
- ACE_CHECK;
-
-
- // Removing the object reference? get the servant from the POA with
- // the objref, and call remove() on the component, deactivate the
- // component, and then remove-ref the servant?
- this->_ciao_passivate_component (_ciao_comp.in ()
- ACE_ENV_ARG_PARAMETER);
-}
-
-extern "C" BMCLOSEDED_SVNT_Export ::PortableServer::Servant
-createBMClosedEDHome_Servant (::Components::HomeExecutorBase_ptr p,
- CIAO::Session_Container *c
- ACE_ENV_ARG_DECL)
-{
- if (p == 0)
- return 0;
-
- BasicSP::CCM_BMClosedEDHome_var x
- = BasicSP::CCM_BMClosedEDHome::_narrow (p
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (0);
-
- if (CORBA::is_nil (x.in ()))
- return 0;
-
- return new CIAO_GLUE_BasicSP::BMClosedEDHome_Servant (x.in (),
- c);
-}
-
-
-CIAO_GLUE_BasicSP::BMClosedEDHome_Servant::BMClosedEDHome_Servant (BasicSP::CCM_BMClosedEDHome_ptr exe,
- CIAO::Session_Container *c)
- : executor_ (BasicSP::CCM_BMClosedEDHome::_duplicate (exe)),
- container_ (c)
-{
-}
-
-
-CIAO_GLUE_BasicSP::BMClosedEDHome_Servant::~BMClosedEDHome_Servant (void)
-{
-}
-
-// Operations for KeylessHome interface
- ::Components::CCMObject_ptr
-CIAO_GLUE_BasicSP::BMClosedEDHome_Servant::create_component (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::CreateFailure))
-{
- // Simply forward to the create method.
- return this->create (ACE_ENV_SINGLE_ARG_PARAMETER);
-}
-
-// Operations for CCMHome interface
- ::CORBA::IRObject_ptr
-CIAO_GLUE_BasicSP::BMClosedEDHome_Servant::get_component_def (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- // @@ TO-DO. Contact IfR?
-
- ACE_THROW_RETURN (CORBA::NO_IMPLEMENT (), 0);
-}
-
- CORBA::IRObject_ptr
-CIAO_GLUE_BasicSP::BMClosedEDHome_Servant::get_home_def (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- // @@ TO-DO. Contact IfR?
-
- ACE_THROW_RETURN (CORBA::NO_IMPLEMENT (), 0);
-}
diff --git a/TAO/CIAO/examples/handcrafted/BasicSP/BMClosedED/BMClosedED_svnt.h b/TAO/CIAO/examples/handcrafted/BasicSP/BMClosedED/BMClosedED_svnt.h
deleted file mode 100644
index 62d35928aab..00000000000
--- a/TAO/CIAO/examples/handcrafted/BasicSP/BMClosedED/BMClosedED_svnt.h
+++ /dev/null
@@ -1,510 +0,0 @@
-// $Id$
-
-// ===========================================================
-//
-// @file BMClosedED_svnt.h
-//
-// Servant Glue code (supposedly should be) generated using CIAO'S
-// CIDL compiler. This file implement the servants that bridge the
-// executor and the container.
-//
-// This file is "generated" using the template code under
-// $(CIAO_ROOT)/docs/templates/
-//
-// Remember to refect any changes back to the code templates.
-//
-// @author Nanbor Wang <nanbor@cs.wustl.edu>
-//
-// ===========================================================
-
-#ifndef CIAO_GLUE_SESSION_BMCLOSEDED_SVNT_H
-#define CIAO_GLUE_SESSION_BMCLOSEDED_SVNT_H
-#include "ace/pre.h"
-
-#include "BMClosedEDS.h" // Source in the skeletons for component
- // client-view equivalent interfaces
-#include "BMClosedEDEC.h" // Source in the executor mapping
- // that component implementations use
-#include "ciao/Container_Base.h" //Source in the container interface definitions
-#include "tao/LocalObject.h"
-#include "tao/PortableServer/Key_Adapters.h"
-#include "ace/Active_Map_Manager_T.h"
-
-#if !defined (ACE_LACKS_PRAGMA_ONCE)
-# pragma once
-#endif /* ACE_LACKS_PRAGMA_ONCE */
-
-namespace CIAO_GLUE_BasicSP
-{
- // Facet glue code has already been defined in ../BasicSP_svnt.*
-
-
- //////////////////////////////////////////////////////////////////
- // Component specific context implementation
- class BMCLOSEDED_SVNT_Export BMClosedED_Context :
- public virtual BasicSP::CCM_BMClosedED_Context,
- public virtual TAO_Local_RefCounted_Object
- {
- public:
- // We will allow the the servant glue code we generate to access
- // our states.
- friend class BMClosedED_Servant;
-
- // Ctor.
- BMClosedED_Context (::Components::CCMHome_ptr home,
- ::CIAO::Session_Container *c,
- BMClosedED_Servant *sv);
-
- // Dtor.
- virtual ~BMClosedED_Context ();
-
- // Operations for [component name] event source, and
- // receptacles defined in CCM_[component name]_Context.
-
- void push_out_avail (BasicSP::DataAvailable *ev
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- BasicSP::ReadData_ptr
- get_connection_datain (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- // Operations for ::Components::CCMContext
- virtual ::Components::Principal_ptr
- get_caller_principal (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- virtual ::Components::CCMHome_ptr
- get_CCM_home (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- virtual CORBA::Boolean
- get_rollback_only (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::IllegalState));
-
- virtual ::Components::Transaction::UserTransaction_ptr
- get_user_transaction (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::IllegalState));
-
- virtual CORBA::Boolean
- is_caller_in_role (const char * role
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- virtual void
- set_rollback_only (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::IllegalState));
-
- // Operations for ::Components::SessionContext interface
- virtual CORBA::Object_ptr
- get_CCM_object (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::IllegalState));
- protected:
- // We need to generate, in protected section, stuff that manage
- // connections and consumers of this component.
-
- // Operations for emits interfaces.
-
- // Operations for publishes interfaces.
- ::Components::Cookie *
- subscribe_out_avail (BasicSP::DataAvailableConsumer_ptr c
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- ::Components::ExceededConnectionLimit));
-
- BasicSP::DataAvailableConsumer_ptr
- unsubscribe_out_avail (::Components::Cookie *ck
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- ::Components::InvalidConnection));
-
- void
- connect_datain (BasicSP::ReadData_ptr c
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- ::Components::AlreadyConnected,
- ::Components::InvalidConnection));
-
- BasicSP::ReadData_ptr
- disconnect_datain (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- ::Components::NoConnection));
-
- ACE_Active_Map_Manager<BasicSP::DataAvailableConsumer_var> ciao_publishes_out_avail_map_;
-
- BasicSP::ReadData_var ciao_uses_datain_;
-
- protected:
- /// Cached component home reference.
- ::Components::CCMHome_var home_;
-
- /// session container
- ::CIAO::Session_Container *container_;
-
- /// Reference back to owner.
- BMClosedED_Servant *servant_;
-
- /// @@ Cached component reference.
- BasicSP::BMClosedED_var component_;
- };
-
- //////////////////////////////////////////////////////////////////
- // Component Servant Glue code implementation
- class BMCLOSEDED_SVNT_Export BMClosedED_Servant
- : public virtual POA_BasicSP::BMClosedED, // full skeleton name here
- public virtual PortableServer::RefCountServantBase
- {
- public:
- // Ctor.
- BMClosedED_Servant (BasicSP::CCM_BMClosedED_ptr executor,
- ::Components::CCMHome_ptr home,
- ::CIAO::Session_Container *c);
-
- // Dtor.
- ~BMClosedED_Servant (void);
-
- // Operations for provides interfaces.
- virtual BasicSP::ReadData_ptr
- provide_dataout (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- // Operations for receptacles interfaces.
- virtual void
- connect_datain (BasicSP::ReadData_ptr c
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- ::Components::AlreadyConnected,
- ::Components::InvalidConnection));
-
- virtual BasicSP::ReadData_ptr
- disconnect_datain (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- ::Components::NoConnection));
-
- virtual BasicSP::ReadData_ptr
- get_connection_datain (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException));
- // Operations for consumers interfaces.
-
- // First we need to generate the event sink specific servant
- class BMCLOSEDED_SVNT_Export DataAvailableConsumer_in_avail_Servant
- : public virtual POA_BasicSP::DataAvailableConsumer, // full skeleton name here
- public virtual PortableServer::RefCountServantBase
- {
- public:
- // Constructor and destructor.
- DataAvailableConsumer_in_avail_Servant (BasicSP::CCM_BMClosedED_ptr executor,
- BasicSP::CCM_BMClosedED_Context_ptr c);
- ~DataAvailableConsumer_in_avail_Servant ();
-
- virtual void push_DataAvailable (BasicSP::DataAvailable *evt
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- // Inherit from ::Compopnents::EventBConsumerBase
- virtual void push_event (Components::EventBase *ev
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- ::Components::BadEventType));
-
- // get_component implementation.
- virtual CORBA::Object_ptr
- _get_component (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- protected:
- // Consumer Executor
- BasicSP::CCM_BMClosedED_var executor_;
-
- // Context object.
- BasicSP::CCM_BMClosedED_Context_var ctx_;
- };
-
- virtual BasicSP::DataAvailableConsumer_ptr
- get_consumer_in_avail (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- // Operations for emits interfaces.
-
- // Operations for publishes interfaces.
- virtual ::Components::Cookie *
- subscribe_out_avail (BasicSP::DataAvailableConsumer_ptr c
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- ::Components::ExceededConnectionLimit));
-
- virtual BasicSP::DataAvailableConsumer_ptr
- unsubscribe_out_avail (::Components::Cookie *ck
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- ::Components::InvalidConnection));
-
- // Operations for Navigation interface
- virtual CORBA::Object_ptr provide_facet (const char * name
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException ,
- Components::InvalidName)) ;
-
- virtual ::Components::FacetDescriptions *
- get_all_facets (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- virtual ::Components::FacetDescriptions *
- get_named_facets (const Components::NameList & names
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException ,
- Components::InvalidName));
-
- virtual CORBA::Boolean same_component (CORBA::Object_ptr object_ref
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- // Operations for Receptacles interface
- virtual ::Components::Cookie *connect (const char * name,
- CORBA::Object_ptr connection
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::InvalidName,
- Components::InvalidConnection,
- Components::AlreadyConnected,
- Components::ExceededConnectionLimit));
-
- virtual CORBA::Object_ptr disconnect (const char * name,
- Components::Cookie *ck
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::InvalidName,
- Components::InvalidConnection,
- Components::CookieRequired,
- Components::NoConnection));
-
- virtual ::Components::ConnectionDescriptions *
- get_connections (const char * name
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::InvalidName));
-
- virtual ::Components::ReceptacleDescriptions *
- get_all_receptacles (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- virtual ::Components::ReceptacleDescriptions *
- get_named_receptacles (const Components::NameList & names
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::InvalidName));
-
- // Operations for Events interface
- virtual ::Components::EventConsumerBase_ptr
- get_consumer (const char * sink_name
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::InvalidName));
-
- virtual ::Components::Cookie *
- subscribe (const char * publisher_name,
- Components::EventConsumerBase_ptr subscriber
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::InvalidName,
- Components::InvalidConnection,
- Components::ExceededConnectionLimit));
-
- virtual ::Components::EventConsumerBase_ptr
- unsubscribe (const char * publisher_name,
- Components::Cookie *ck
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::InvalidName,
- Components::InvalidConnection));
-
- virtual void connect_consumer (const char * emitter_name,
- Components::EventConsumerBase_ptr consumer
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::InvalidName,
- Components::AlreadyConnected,
- Components::InvalidConnection));
-
- virtual ::Components::EventConsumerBase_ptr
- disconnect_consumer (const char * source_name
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::InvalidName,
- Components::NoConnection));
-
- virtual ::Components::ConsumerDescriptions *
- get_all_consumers (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- virtual ::Components::ConsumerDescriptions *
- get_named_consumers (const Components::NameList & names
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::InvalidName));
-
- virtual ::Components::EmitterDescriptions *
- get_all_emitters (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- virtual ::Components::EmitterDescriptions *
- get_named_emitters (const Components::NameList & names
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::InvalidName));
-
- virtual ::Components::PublisherDescriptions *
- get_all_publishers (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- virtual ::Components::PublisherDescriptions *
- get_named_publishers (const Components::NameList & names
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::InvalidName));
-
- // Operations for CCMObject interface
- virtual ::CORBA::IRObject_ptr
- get_component_def (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- virtual ::Components::CCMHome_ptr
- get_ccm_home (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- virtual ::Components::PrimaryKeyBase *
- get_primary_key (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::NoKeyAvailable));
-
- virtual void configuration_complete (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::InvalidConfiguration));
-
- virtual void remove (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::RemoveFailure));
-
- virtual ::Components::ComponentPortDescription *
- get_all_ports (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- // get_component implementation.
- virtual CORBA::Object_ptr
- _get_component (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- // CIAO specific operations.
- // Activate the object in the container_
- void
- _ciao_activate (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- void
- _ciao_passivate (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- protected:
- // My Executor.
- BasicSP::CCM_BMClosedED_var executor_;
-
- // My Run-time Context.
- BMClosedED_Context *context_;
-
- // Managing container.
- ::CIAO::Session_Container *container_;
-
- // Cached provided interfaces.
- BasicSP::ReadData_var provide_datain_;
-
- BasicSP::DataAvailableConsumer_var consumes_in_avail_;
- };
-
-
- //////////////////////////////////////////////////////////////////
- // Component Home Glue code implementation
-
- // Foreach component home
- class BMCLOSEDED_SVNT_Export BMClosedEDHome_Servant :
- public virtual POA_BasicSP::BMClosedEDHome, // full skeleton name here
- public virtual PortableServer::RefCountServantBase
- {
- public:
- // Ctor.
- BMClosedEDHome_Servant (BasicSP::CCM_BMClosedEDHome_ptr exe,
- CIAO::Session_Container *c);
-
- // Dtor.
- ~BMClosedEDHome_Servant (void);
-
- // User defined and inherited operations
-
- // Factory operations
-
- // Finder operations
-
- // Operations for KeylessHome interface
- virtual ::Components::CCMObject_ptr
- create_component (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::CreateFailure));
-
- // Operations for Implicit Home interface
- virtual BasicSP::BMClosedED_ptr
- create (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::CreateFailure));
-
- // Operations for CCMHome interface
- virtual ::CORBA::IRObject_ptr
- get_component_def (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- virtual ::CORBA::IRObject_ptr
- get_home_def (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- virtual void remove_component (Components::CCMObject_ptr comp
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::RemoveFailure));
-
- protected:
- // Helper method for factory operations.
- BasicSP::BMClosedED_ptr
- _ciao_activate_component (BasicSP::CCM_BMClosedED_ptr exe
- ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- void
- _ciao_passivate_component (BasicSP::BMClosedED_ptr comp
- ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- // My Executor.
- BasicSP::CCM_BMClosedEDHome_var executor_;
-
- // My Container
- CIAO::Session_Container *container_;
-
- // Components this home manages.
- ACE_Hash_Map_Manager_Ex <PortableServer::ObjectId,
- BMClosedED_Servant*,
- TAO_ObjectId_Hash,
- ACE_Equal_To<PortableServer::ObjectId>,
- ACE_SYNCH_MUTEX> component_map_;
- };
-
- extern "C" BMCLOSEDED_SVNT_Export ::PortableServer::Servant
- createBMClosedEDHome_Servant (::Components::HomeExecutorBase_ptr p,
- CIAO::Session_Container *c
- ACE_ENV_ARG_DECL_WITH_DEFAULTS);
-}
-
-
-#include "ace/post.h"
-#endif /* CIAO_GLUE_SESSION_BMCLOSEDED_SVNT_H */
diff --git a/TAO/CIAO/examples/handcrafted/BasicSP/BMClosedED/BMClosedED_svnt_export.h b/TAO/CIAO/examples/handcrafted/BasicSP/BMClosedED/BMClosedED_svnt_export.h
deleted file mode 100644
index bcabbe1023e..00000000000
--- a/TAO/CIAO/examples/handcrafted/BasicSP/BMClosedED/BMClosedED_svnt_export.h
+++ /dev/null
@@ -1,50 +0,0 @@
-
-// -*- C++ -*-
-// $Id$
-// Definition for Win32 Export directives.
-// This file is generated automatically by generate_export_file.pl BMCLOSEDED_SVNT
-// ------------------------------
-#ifndef BMCLOSEDED_SVNT_EXPORT_H
-#define BMCLOSEDED_SVNT_EXPORT_H
-
-#include "ace/config-all.h"
-
-#if !defined (BMCLOSEDED_SVNT_HAS_DLL)
-# define BMCLOSEDED_SVNT_HAS_DLL 1
-#endif /* ! BMCLOSEDED_SVNT_HAS_DLL */
-
-#if defined (BMCLOSEDED_SVNT_HAS_DLL) && (BMCLOSEDED_SVNT_HAS_DLL == 1)
-# if defined (BMCLOSEDED_SVNT_BUILD_DLL)
-# define BMCLOSEDED_SVNT_Export ACE_Proper_Export_Flag
-# define BMCLOSEDED_SVNT_SINGLETON_DECLARATION(T) ACE_EXPORT_SINGLETON_DECLARATION (T)
-# define BMCLOSEDED_SVNT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_EXPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
-# else /* BMCLOSEDED_SVNT_BUILD_DLL */
-# define BMCLOSEDED_SVNT_Export ACE_Proper_Import_Flag
-# define BMCLOSEDED_SVNT_SINGLETON_DECLARATION(T) ACE_IMPORT_SINGLETON_DECLARATION (T)
-# define BMCLOSEDED_SVNT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_IMPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
-# endif /* BMCLOSEDED_SVNT_BUILD_DLL */
-#else /* BMCLOSEDED_SVNT_HAS_DLL == 1 */
-# define BMCLOSEDED_SVNT_Export
-# define BMCLOSEDED_SVNT_SINGLETON_DECLARATION(T)
-# define BMCLOSEDED_SVNT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
-#endif /* BMCLOSEDED_SVNT_HAS_DLL == 1 */
-
-// Set BMCLOSEDED_SVNT_NTRACE = 0 to turn on library specific tracing even if
-// tracing is turned off for ACE.
-#if !defined (BMCLOSEDED_SVNT_NTRACE)
-# if (ACE_NTRACE == 1)
-# define BMCLOSEDED_SVNT_NTRACE 1
-# else /* (ACE_NTRACE == 1) */
-# define BMCLOSEDED_SVNT_NTRACE 0
-# endif /* (ACE_NTRACE == 1) */
-#endif /* !BMCLOSEDED_SVNT_NTRACE */
-
-#if (BMCLOSEDED_SVNT_NTRACE == 1)
-# define BMCLOSEDED_SVNT_TRACE(X)
-#else /* (BMCLOSEDED_SVNT_NTRACE == 1) */
-# define BMCLOSEDED_SVNT_TRACE(X) ACE_TRACE_IMPL(X)
-#endif /* (BMCLOSEDED_SVNT_NTRACE == 1) */
-
-#endif /* BMCLOSEDED_SVNT_EXPORT_H */
-
-// End of auto generated file.
diff --git a/TAO/CIAO/examples/handcrafted/BasicSP/BMClosedED/config b/TAO/CIAO/examples/handcrafted/BasicSP/BMClosedED/config
deleted file mode 100644
index a122025755d..00000000000
--- a/TAO/CIAO/examples/handcrafted/BasicSP/BMClosedED/config
+++ /dev/null
@@ -1 +0,0 @@
-BMClosedED_exec|createBMClosedEDHome_Impl|BMClosedED_svnt|createBMClosedEDHome_Servant
diff --git a/TAO/CIAO/examples/handcrafted/BasicSP/BMDevice/BMDevice.cidl b/TAO/CIAO/examples/handcrafted/BasicSP/BMDevice/BMDevice.cidl
deleted file mode 100644
index 30026cf8c13..00000000000
--- a/TAO/CIAO/examples/handcrafted/BasicSP/BMDevice/BMDevice.cidl
+++ /dev/null
@@ -1,19 +0,0 @@
-//$Id$
-
-#ifndef BMDEVICE_CIDL
-#define BMDEVICE_CIDL
-
-#include "BMDevice.idl"
-
-composition session BMDevice_Impl
-{
- home executor BMDeviceHome_Exec
- {
- implements BasicSP::BMDeviceHome;
- manages BMDevice_Exec;
- };
-};
-
-#endif /* BMDEVICE_CIDL */
-
-
diff --git a/TAO/CIAO/examples/handcrafted/BasicSP/BMDevice/BMDevice.idl b/TAO/CIAO/examples/handcrafted/BasicSP/BMDevice/BMDevice.idl
deleted file mode 100644
index 86477c12f8b..00000000000
--- a/TAO/CIAO/examples/handcrafted/BasicSP/BMDevice/BMDevice.idl
+++ /dev/null
@@ -1,30 +0,0 @@
-//$Id$
-//=============================================================================
-/**
- * @file BMDevice.idl
- *
- * Definition of the BMDevice component
- *
- * @author Balachandran Natarajan <bala@dre.vanderbilt.edu>
- */
-//=============================================================================
-#ifndef CIAO_BMDEVICE_IDL
-#define CIAO_BMDEVICE_IDL
-
-#include "../BasicSP.idl"
-
-module BasicSP
-{
- component BMDevice
- {
- provides ReadData data_read;
- publishes DataAvailable data_available;
- consumes TimeOut timeout;
- };
-
- home BMDeviceHome manages BMDevice
- {
- };
-};
-
-#endif /*CIAO_BMDEVICE_IDL */
diff --git a/TAO/CIAO/examples/handcrafted/BasicSP/BMDevice/BMDevice.mpc b/TAO/CIAO/examples/handcrafted/BasicSP/BMDevice/BMDevice.mpc
deleted file mode 100644
index 8ad523aa469..00000000000
--- a/TAO/CIAO/examples/handcrafted/BasicSP/BMDevice/BMDevice.mpc
+++ /dev/null
@@ -1,59 +0,0 @@
-// $Id$
-
-project(BMDevice_stub): ciao_client {
- depends += BasicSP_stub
- sharedname = BMDevice_stub
-
- idlflags += -Wb,stub_export_macro=BMDEVICE_STUB_Export -Wb,stub_export_include=BMDevice_stub_export.h -Wb,skel_export_macro=BMDEVICE_SVNT_Export -Wb,skel_export_include=BMDevice_svnt_export.h
- libpaths += ..
- libs += BasicSP_stub
- dllflags = BMDEVICE_STUB_BUILD_DLL
-
- IDL_Files {
- BMDevice.idl
- }
-
- Source_Files {
- BMDeviceC.cpp
- }
-}
-
-project(BMDevice_svnt) : ciao_server {
- depends += BMDevice_stub BasicSP_stub
- sharedname = BMDevice_svnt
- libs += BMDevice_stub BasicSP_stub BasicSP_svnt
- libpaths += ..
- idlflags += -Wb,export_macro=BMDEVICE_SVNT_Export -Wb,export_include=BMDevice_svnt_export.h
- dllflags = BMDEVICE_SVNT_BUILD_DLL
-
- IDL_Files {
- BMDeviceE.idl
- }
-
- Source_Files {
- BMDeviceEC.cpp
- BMDeviceS.cpp
- BMDevice_svnt.cpp
- }
-}
-
-
-project(BMDevice_exec) : ciao_server {
- depends += BMDevice_svnt
- sharedname = BMDevice_exec
- libs += BMDevice_stub BMDevice_svnt BasicSP_stub BasicSP_svnt
- libpaths += ..
- idlflags += -Wb,export_macro=BMDEVICE_EXEC_Export -Wb,export_include=BMDevice_exec_export.h
- dllflags = BMDEVICE_EXEC_BUILD_DLL
-
- IDL_Files {
- BMDeviceEI.idl
- }
-
- Source_Files {
- BMDeviceES.cpp
- BMDeviceEIC.cpp
- BMDeviceEIS.cpp
- BMDevice_exec.cpp
- }
-}
diff --git a/TAO/CIAO/examples/handcrafted/BasicSP/BMDevice/BMDeviceE.idl b/TAO/CIAO/examples/handcrafted/BasicSP/BMDevice/BMDeviceE.idl
deleted file mode 100644
index 1754890a5fa..00000000000
--- a/TAO/CIAO/examples/handcrafted/BasicSP/BMDevice/BMDeviceE.idl
+++ /dev/null
@@ -1,64 +0,0 @@
-// $Id$
-
-// ===========================================================
-//
-// @file BMDeviceE.idl
-//
-// Handlecrafted "generated" code. :)
-//
-// @author Balachandran Natarajan <bala@dre.vanderbilt.edu>
-//
-// ===========================================================
-
-#ifndef CIAO_BMDEVICEE_IDL
-#define CIAO_BMDEVICEE_IDL
-
-#include "CCM_Container.idl"
-#include "BMDevice.idl" // Original component IDL definition
-#include "../BasicSPE.idl"
-
-module BasicSP
-{
- local interface CCM_BMDevice_Executor
- : Components::EnterpriseComponent
- {
- };
-
- local interface CCM_BMDevice
- : Components::EnterpriseComponent
- {
- CCM_ReadData get_data_read ();
- void push_timeout (in TimeOut ev);
- };
-
- /** Context Interface
- *
- * Notice that we are taking a shortcut here to inherit the
- * component-specific context from SessionContext directly instead
- * of CCMContext.
- */
- local interface CCM_BMDevice_Context
- : Components::SessionContext
- {
- void push_data_available (in DataAvailable ev);
- };
-
- local interface CCM_BMDeviceHomeExplicit
- : Components::HomeExecutorBase
- {
- };
-
- local interface CCM_BMDeviceHomeImplicit
- {
- ::Components::EnterpriseComponent create ()
- raises (::Components::CCMException);
- };
-
- local interface CCM_BMDeviceHome
- : CCM_BMDeviceHomeExplicit,
- CCM_BMDeviceHomeImplicit
- {
- };
-};
-
-#endif /* CIAO_BMDEVICEE_IDL */
diff --git a/TAO/CIAO/examples/handcrafted/BasicSP/BMDevice/BMDeviceEI.idl b/TAO/CIAO/examples/handcrafted/BasicSP/BMDevice/BMDeviceEI.idl
deleted file mode 100644
index 18a4ad9eaa4..00000000000
--- a/TAO/CIAO/examples/handcrafted/BasicSP/BMDevice/BMDeviceEI.idl
+++ /dev/null
@@ -1,30 +0,0 @@
-// $Id$
-//=============================================================================
-/**
- * @file BMDeviceEI.idl
- *
- * Definition of the BMDevice component implementation.
- *
- * @author Nanbor Wang <nanbor@cs.wustl.edu>
- */
-//=============================================================================
-#ifndef CIAO_BMDEVICEEI_IDL
-#define CIAO_BMDEVICEEI_IDL
-
-#include "BMDeviceE.idl"
-
-module BasicSP
-{
- /**
- * @interface BMDevice_Exec
- */
- local interface BMDevice_Exec :
- CCM_BMDevice,
- CCM_ReadData,
- Components::SessionComponent
- {
- };
-
-};
-
-#endif /* CIAO_BMDEVICEEI_IDL */
diff --git a/TAO/CIAO/examples/handcrafted/BasicSP/BMDevice/BMDevice_exec.cpp b/TAO/CIAO/examples/handcrafted/BasicSP/BMDevice/BMDevice_exec.cpp
deleted file mode 100644
index 04ca0b4fa27..00000000000
--- a/TAO/CIAO/examples/handcrafted/BasicSP/BMDevice/BMDevice_exec.cpp
+++ /dev/null
@@ -1,126 +0,0 @@
-// $Id$
-
-#include "BMDevice_exec.h"
-#include "../BasicSPEC.h"
-
-#define DISPLACEMENT 256
-
-/// Default constructor.
-MyImpl::BMDevice_exec_i::BMDevice_exec_i (void)
- : str_ ("BM DEVICE DATA")
-{
-
-}
-
-/// Default destructor.
-MyImpl::BMDevice_exec_i::~BMDevice_exec_i ()
-{
-}
-
-BasicSP::CCM_ReadData_ptr
-MyImpl::BMDevice_exec_i::get_data_read (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- return BasicSP::CCM_ReadData::_duplicate (this);
-}
-
-void
-MyImpl::BMDevice_exec_i::push_timeout (BasicSP::TimeOut *
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- // Nitify others
- BasicSP::DataAvailable_var event = new OBV_BasicSP::DataAvailable;
-
- ACE_DEBUG ((LM_DEBUG,
- "BMDevice, received a timeout from EC \n"));
-
- this->context_->push_data_available (event
- ACE_ENV_ARG_PARAMETER);
-}
-
-char *
-MyImpl::BMDevice_exec_i::data_read (ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- return this->str_;
-}
-
-char *
-MyImpl::BMDevice_exec_i::get_data (ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- return this->data_read (ACE_ENV_SINGLE_ARG_PARAMETER);
-}
-
-// Operations from Components::SessionComponent
-void
-MyImpl::BMDevice_exec_i::set_session_context (Components::SessionContext_ptr ctx
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::CCMException))
-{
- ACE_DEBUG ((LM_DEBUG, "MyImpl::BMDevice_exec_i::set_session_context\n"));
-
- this->context_ =
- BasicSP::CCM_BMDevice_Context::_narrow (ctx
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK;
-
- if (CORBA::is_nil (this->context_.in ()))
- ACE_THROW (CORBA::INTERNAL ());
- // Urm, we actually discard exceptions thown from this operation.
-}
-
-void
-MyImpl::BMDevice_exec_i::ccm_activate (ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::CCMException))
-{
- ACE_DEBUG ((LM_DEBUG, "MyImpl::BMDevice_exec_i::ccm_activate\n"));
-}
-
-void
-MyImpl::BMDevice_exec_i::ccm_passivate (ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::CCMException))
-{
- ACE_DEBUG ((LM_DEBUG, "MyImpl::BMDevice_exec_i::ccm_passivate\n"));
-}
-
-void
-MyImpl::BMDevice_exec_i::ccm_remove (ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::CCMException))
-{
- ACE_DEBUG ((LM_DEBUG, "MyImpl::BMDevice_exec_i::ccm_remove\n"));
-}
-
-/// Default ctor.
-MyImpl::BMDeviceHome_exec_i::BMDeviceHome_exec_i ()
-{
-}
-
-/// Default dtor.
-MyImpl::BMDeviceHome_exec_i::~BMDeviceHome_exec_i ()
-{
-}
-
-// Explicit home operations.
-
-// Implicit home operations.
-
-::Components::EnterpriseComponent_ptr
-MyImpl::BMDeviceHome_exec_i::create (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::CCMException))
-{
- return new MyImpl::BMDevice_exec_i;
-}
-
-
-extern "C" BMDEVICE_EXEC_Export ::Components::HomeExecutorBase_ptr
-createBMDeviceHome_Impl (void)
-{
- return new MyImpl::BMDeviceHome_exec_i;
-}
diff --git a/TAO/CIAO/examples/handcrafted/BasicSP/BMDevice/BMDevice_exec.h b/TAO/CIAO/examples/handcrafted/BasicSP/BMDevice/BMDevice_exec.h
deleted file mode 100644
index d65cbca8b9b..00000000000
--- a/TAO/CIAO/examples/handcrafted/BasicSP/BMDevice/BMDevice_exec.h
+++ /dev/null
@@ -1,122 +0,0 @@
-// $Id$
-
-// ================================================================
-/**
- * @file BMDevice_exec.h
- *
- * Header file for the actual BMDevice and BMDeviceHome component
- * implementations. These classes are the implementations of local
- * interfaces defined in BMDeviceEI.idl.
- *
- * @author Balachandran Natarajan <bala@dre.vanderbilt.edu>
- */
-// ================================================================
-
-#ifndef CIAO_BMDEVICE_EXEC_H
-#define CIAO_BMDEVICE_EXEC_H
-
-#include "BMDeviceEIC.h"
-#include "tao/LocalObject.h"
-
-namespace MyImpl
-{
- /**
- * @class BMDEVICE_exec_i
- *
- * An example RateGen executor implementation class.
- */
- class BMDEVICE_EXEC_Export BMDevice_exec_i :
- public virtual BasicSP::BMDevice_Exec,
- public virtual TAO_Local_RefCounted_Object
- {
- public:
- /// Default constructor.
- BMDevice_exec_i ();
-
- /// Default destructor.
- ~BMDevice_exec_i ();
-
- // Operations from BasicSP::BMDevice
-
- virtual BasicSP::CCM_ReadData_ptr
- get_data_read (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- virtual void
- push_timeout (BasicSP::TimeOut *ev
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- // Operations from BasicSP::position
-
- virtual char *
- data_read (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- virtual char *
- get_data (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- // Operations from Components::SessionComponent
-
- virtual void
- set_session_context (Components::SessionContext_ptr ctx
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::CCMException));
-
- virtual void
- ccm_activate (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::CCMException));
-
- virtual void
- ccm_passivate (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::CCMException));
-
- virtual void
- ccm_remove (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::CCMException));
- protected:
- char *str_;
-
- /// Copmponent specific context
- BasicSP::CCM_BMDevice_Context_var context_;
- };
-
- /**
- * @class BMDeviceHome_exec_i
- *
- * BMDevice home executor implementation class.
- */
- class BMDEVICE_EXEC_Export BMDeviceHome_exec_i :
- public virtual BasicSP::CCM_BMDeviceHome,
- public virtual TAO_Local_RefCounted_Object
- {
- public:
- /// Default ctor.
- BMDeviceHome_exec_i ();
-
- /// Default dtor.
- ~BMDeviceHome_exec_i ();
-
- // Explicit home operations.
-
- // Implicit home operations.
-
- virtual ::Components::EnterpriseComponent_ptr
- create (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::CCMException));
- };
-
-}
-
-// Executor DLL entry point. CIAO's deployment and assembly framework
-// invokes this function on the resulting DLL to get the home executor.
-extern "C" BMDEVICE_EXEC_Export ::Components::HomeExecutorBase_ptr
-createBMDeviceHome_Impl (void);
-
-#endif /* CIAO_BMDEVICE_EXEC_H*/
diff --git a/TAO/CIAO/examples/handcrafted/BasicSP/BMDevice/BMDevice_exec_export.h b/TAO/CIAO/examples/handcrafted/BasicSP/BMDevice/BMDevice_exec_export.h
deleted file mode 100644
index 0aa2a34ba17..00000000000
--- a/TAO/CIAO/examples/handcrafted/BasicSP/BMDevice/BMDevice_exec_export.h
+++ /dev/null
@@ -1,50 +0,0 @@
-
-// -*- C++ -*-
-// $Id$
-// Definition for Win32 Export directives.
-// This file is generated automatically by generate_export_file.pl BMDEVICE_EXEC
-// ------------------------------
-#ifndef BMDEVICE_EXEC_EXPORT_H
-#define BMDEVICE_EXEC_EXPORT_H
-
-#include "ace/config-all.h"
-
-#if !defined (BMDEVICE_EXEC_HAS_DLL)
-# define BMDEVICE_EXEC_HAS_DLL 1
-#endif /* ! BMDEVICE_EXEC_HAS_DLL */
-
-#if defined (BMDEVICE_EXEC_HAS_DLL) && (BMDEVICE_EXEC_HAS_DLL == 1)
-# if defined (BMDEVICE_EXEC_BUILD_DLL)
-# define BMDEVICE_EXEC_Export ACE_Proper_Export_Flag
-# define BMDEVICE_EXEC_SINGLETON_DECLARATION(T) ACE_EXPORT_SINGLETON_DECLARATION (T)
-# define BMDEVICE_EXEC_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_EXPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
-# else /* BMDEVICE_EXEC_BUILD_DLL */
-# define BMDEVICE_EXEC_Export ACE_Proper_Import_Flag
-# define BMDEVICE_EXEC_SINGLETON_DECLARATION(T) ACE_IMPORT_SINGLETON_DECLARATION (T)
-# define BMDEVICE_EXEC_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_IMPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
-# endif /* BMDEVICE_EXEC_BUILD_DLL */
-#else /* BMDEVICE_EXEC_HAS_DLL == 1 */
-# define BMDEVICE_EXEC_Export
-# define BMDEVICE_EXEC_SINGLETON_DECLARATION(T)
-# define BMDEVICE_EXEC_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
-#endif /* BMDEVICE_EXEC_HAS_DLL == 1 */
-
-// Set BMDEVICE_EXEC_NTRACE = 0 to turn on library specific tracing even if
-// tracing is turned off for ACE.
-#if !defined (BMDEVICE_EXEC_NTRACE)
-# if (ACE_NTRACE == 1)
-# define BMDEVICE_EXEC_NTRACE 1
-# else /* (ACE_NTRACE == 1) */
-# define BMDEVICE_EXEC_NTRACE 0
-# endif /* (ACE_NTRACE == 1) */
-#endif /* !BMDEVICE_EXEC_NTRACE */
-
-#if (BMDEVICE_EXEC_NTRACE == 1)
-# define BMDEVICE_EXEC_TRACE(X)
-#else /* (BMDEVICE_EXEC_NTRACE == 1) */
-# define BMDEVICE_EXEC_TRACE(X) ACE_TRACE_IMPL(X)
-#endif /* (BMDEVICE_EXEC_NTRACE == 1) */
-
-#endif /* BMDEVICE_EXEC_EXPORT_H */
-
-// End of auto generated file.
diff --git a/TAO/CIAO/examples/handcrafted/BasicSP/BMDevice/BMDevice_stub_export.h b/TAO/CIAO/examples/handcrafted/BasicSP/BMDevice/BMDevice_stub_export.h
deleted file mode 100644
index b0f1a552d4b..00000000000
--- a/TAO/CIAO/examples/handcrafted/BasicSP/BMDevice/BMDevice_stub_export.h
+++ /dev/null
@@ -1,50 +0,0 @@
-
-// -*- C++ -*-
-// $Id$
-// Definition for Win32 Export directives.
-// This file is generated automatically by generate_export_file.pl BMDEVICE_STUB
-// ------------------------------
-#ifndef BMDEVICE_STUB_EXPORT_H
-#define BMDEVICE_STUB_EXPORT_H
-
-#include "ace/config-all.h"
-
-#if !defined (BMDEVICE_STUB_HAS_DLL)
-# define BMDEVICE_STUB_HAS_DLL 1
-#endif /* ! BMDEVICE_STUB_HAS_DLL */
-
-#if defined (BMDEVICE_STUB_HAS_DLL) && (BMDEVICE_STUB_HAS_DLL == 1)
-# if defined (BMDEVICE_STUB_BUILD_DLL)
-# define BMDEVICE_STUB_Export ACE_Proper_Export_Flag
-# define BMDEVICE_STUB_SINGLETON_DECLARATION(T) ACE_EXPORT_SINGLETON_DECLARATION (T)
-# define BMDEVICE_STUB_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_EXPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
-# else /* BMDEVICE_STUB_BUILD_DLL */
-# define BMDEVICE_STUB_Export ACE_Proper_Import_Flag
-# define BMDEVICE_STUB_SINGLETON_DECLARATION(T) ACE_IMPORT_SINGLETON_DECLARATION (T)
-# define BMDEVICE_STUB_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_IMPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
-# endif /* BMDEVICE_STUB_BUILD_DLL */
-#else /* BMDEVICE_STUB_HAS_DLL == 1 */
-# define BMDEVICE_STUB_Export
-# define BMDEVICE_STUB_SINGLETON_DECLARATION(T)
-# define BMDEVICE_STUB_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
-#endif /* BMDEVICE_STUB_HAS_DLL == 1 */
-
-// Set BMDEVICE_STUB_NTRACE = 0 to turn on library specific tracing even if
-// tracing is turned off for ACE.
-#if !defined (BMDEVICE_STUB_NTRACE)
-# if (ACE_NTRACE == 1)
-# define BMDEVICE_STUB_NTRACE 1
-# else /* (ACE_NTRACE == 1) */
-# define BMDEVICE_STUB_NTRACE 0
-# endif /* (ACE_NTRACE == 1) */
-#endif /* !BMDEVICE_STUB_NTRACE */
-
-#if (BMDEVICE_STUB_NTRACE == 1)
-# define BMDEVICE_STUB_TRACE(X)
-#else /* (BMDEVICE_STUB_NTRACE == 1) */
-# define BMDEVICE_STUB_TRACE(X) ACE_TRACE_IMPL(X)
-#endif /* (BMDEVICE_STUB_NTRACE == 1) */
-
-#endif /* BMDEVICE_STUB_EXPORT_H */
-
-// End of auto generated file.
diff --git a/TAO/CIAO/examples/handcrafted/BasicSP/BMDevice/BMDevice_svnt.cpp b/TAO/CIAO/examples/handcrafted/BasicSP/BMDevice/BMDevice_svnt.cpp
deleted file mode 100644
index b663358c53c..00000000000
--- a/TAO/CIAO/examples/handcrafted/BasicSP/BMDevice/BMDevice_svnt.cpp
+++ /dev/null
@@ -1,981 +0,0 @@
-// $Id$
-#include "BMDevice_svnt.h"
-#include "Cookies.h"
-#include "../BasicSP_svnt.h"
-
-void
-CIAO_GLUE_BasicSP::BMDevice_Context::push_data_available (
- BasicSP::DataAvailable *ev
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- ACE_Active_Map_Manager<BasicSP::DataAvailableConsumer_var>::iterator
- end = this->ciao_publishes_Ready_map_.end ();
- for (ACE_Active_Map_Manager<BasicSP::DataAvailableConsumer_var>::iterator
- iter = this->ciao_publishes_Ready_map_.begin ();
- iter != end;
- ++iter)
- {
- ACE_Active_Map_Manager<BasicSP::DataAvailableConsumer_var>::ENTRY &entry = *iter;
- BasicSP::DataAvailableConsumer_var c
- = BasicSP::DataAvailableConsumer::_narrow (entry.int_id_.in ());
- c->push_DataAvailable (ev
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK;
- }
-}
-
-// Operations for publishes interfaces.
-::Components::Cookie *
-CIAO_GLUE_BasicSP::BMDevice_Context::subscribe_data_available (
- BasicSP::DataAvailableConsumer_ptr c
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- ::Components::ExceededConnectionLimit))
-{
- if (CORBA::is_nil (c))
- ACE_THROW_RETURN (CORBA::BAD_PARAM (), 0);
-
- BasicSP::DataAvailableConsumer_var sub
- = BasicSP::DataAvailableConsumer::_duplicate (c);
-
- ACE_Active_Map_Manager_Key key;
- this->ciao_publishes_Ready_map_.bind (sub.in (),
- key);
-
- sub._retn (); // Release ownership.
-
- ::Components::Cookie_var retv = new CIAO::Map_Key_Cookie (key);
- return retv._retn ();
-}
-
-BasicSP::DataAvailableConsumer_ptr
-CIAO_GLUE_BasicSP::BMDevice_Context::unsubscribe_data_available (
- ::Components::Cookie *ck
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- ::Components::InvalidConnection))
-{
- BasicSP::DataAvailableConsumer_var retv;
-
- ACE_Active_Map_Manager_Key key;
- if (ck == 0 ||
- CIAO::Map_Key_Cookie::extract (ck, key) == -1)
- ACE_THROW_RETURN (::Components::InvalidConnection (), 0);
-
- if (this->ciao_publishes_Ready_map_.unbind (key,
- retv) != 0)
- ACE_THROW_RETURN (::Components::InvalidConnection (), 0);
-
- return retv._retn ();
-}
-
-
-// Operations for ::Components::SessionContext interface
-CORBA::Object_ptr
-CIAO_GLUE_BasicSP::BMDevice_Context::get_CCM_object (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::IllegalState))
-{
- // @@ How do I check for IllegalState here? When it's not in a
- // callback operation...
- // ACE_THROW_RETURN (::Components::IllegalState (), 0);
-
- if (CORBA::is_nil (this->component_.in ()))
- {
- CORBA::Object_var obj = this->container_->get_objref (this->servant_
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (0);
-
- this->component_ = BasicSP::BMDevice::_narrow (obj.in ()
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (0);
-
- if (CORBA::is_nil (this->component_.in ()))
- ACE_THROW_RETURN (CORBA::INTERNAL (), 0); // This should not happen...
- }
-
- return BasicSP::BMDevice::_duplicate (this->component_.in ());
-}
-
-CIAO_GLUE_BasicSP::BMDevice_Context::BMDevice_Context (::Components::CCMHome_ptr home,
- ::CIAO::Session_Container *c,
- CIAO_GLUE_BasicSP::BMDevice_Servant *sv)
- : home_ (::Components::CCMHome::_duplicate (home)),
- container_ (c),
- servant_ (sv)
-{
-}
-
-CIAO_GLUE_BasicSP::BMDevice_Context::~BMDevice_Context ()
-{
-}
-
-// Operations for emits interfaces.
-
-// Operations for ::Components::CCMContext
-::Components::Principal_ptr
-CIAO_GLUE_BasicSP::BMDevice_Context::get_caller_principal (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- // @@ We don't support Security in CIAO yet.
- ACE_THROW_RETURN (CORBA::NO_IMPLEMENT (), 0);
-}
-
-::Components::CCMHome_ptr
-CIAO_GLUE_BasicSP::BMDevice_Context::get_CCM_home (ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- return ::Components::CCMHome::_duplicate (this->home_.in ());
-}
-
-CORBA::Boolean
-CIAO_GLUE_BasicSP::BMDevice_Context::get_rollback_only (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::IllegalState))
-{
- // @@ We don't support Transaction in CIAO yet.
- ACE_THROW_RETURN (CORBA::NO_IMPLEMENT (), 0);
-}
-
-::Components::Transaction::UserTransaction_ptr
-CIAO_GLUE_BasicSP::BMDevice_Context::get_user_transaction (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::IllegalState))
-{
- // @@ We don't support Transaction in CIAO yet.
- ACE_THROW_RETURN (CORBA::NO_IMPLEMENT (), 0);
-}
-
-CORBA::Boolean
-CIAO_GLUE_BasicSP::BMDevice_Context::is_caller_in_role (const char * role
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- ACE_UNUSED_ARG (role);
-
- // @@ We don't support Transaction in CIAO yet.
- ACE_THROW_RETURN (CORBA::NO_IMPLEMENT (), 0);
-}
-
-void
-CIAO_GLUE_BasicSP::BMDevice_Context::set_rollback_only (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::IllegalState))
-{
- // @@ We don't support Transaction in CIAO yet.
- ACE_THROW (CORBA::NO_IMPLEMENT ());
-}
-
-
-/********************************************************************************/
-CIAO_GLUE_BasicSP::BMDevice_Servant::BMDevice_Servant (BasicSP::CCM_BMDevice_ptr exe,
- ::Components::CCMHome_ptr h,
- ::CIAO::Session_Container *c)
- : executor_ (BasicSP::CCM_BMDevice::_duplicate (exe)),
- container_ (c)
-{
- this->context_ = new CIAO_GLUE_BasicSP::BMDevice_Context (h, c, this);
-
- ACE_TRY_NEW_ENV
- {
- Components::SessionComponent_var scom =
- Components::SessionComponent::_narrow (exe
- ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- if (! CORBA::is_nil (scom.in ()))
- scom->set_session_context (this->context_
- ACE_ENV_ARG_PARAMETER);
- }
- ACE_CATCHANY
- {
- // @@ Ignore any exceptions? What happens if
- // set_session_context throws an CCMException?
- }
- ACE_ENDTRY;
-}
-
-CIAO_GLUE_BasicSP::BMDevice_Servant::~BMDevice_Servant (void)
-{
- ACE_TRY_NEW_ENV
- {
- Components::SessionComponent_var scom =
- Components::SessionComponent::_narrow (this->executor_.in ()
- ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- if (! CORBA::is_nil (scom.in ()))
- scom->ccm_remove (ACE_ENV_SINGLE_ARG_PARAMETER);
- }
- ACE_CATCHANY
- {
- // @@ Ignore any exceptions? What happens if
- // set_session_context throws an CCMException?
- }
- ACE_ENDTRY;
- this->context_->_remove_ref ();
-}
-
-BasicSP::ReadData_ptr
-CIAO_GLUE_BasicSP::BMDevice_Servant::provide_data_read (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- if (CORBA::is_nil (this->provide_ReadData_.in ()))
- {
- BasicSP::CCM_ReadData_var fexe
- = this->executor_->get_data_read (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_CHECK_RETURN (0);
-
- if (CORBA::is_nil (fexe.in ()))
- ACE_THROW_RETURN (CORBA::INTERNAL (), 0);
-
- CIAO_GLUE_BasicSP::ReadData_Servant *svt =
- new CIAO_GLUE_BasicSP::ReadData_Servant (fexe.in (),
- this->context_);
-
- PortableServer::ServantBase_var safe_servant (svt);
-
- CORBA::Object_var obj = this->container_->install_servant (svt
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (0);
-
- BasicSP::ReadData_var fo
- = BasicSP::ReadData::_narrow (obj.in ()
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (0);
-
- this->provide_ReadData_ = fo;
- }
-
- return BasicSP::ReadData::_duplicate (this->provide_ReadData_.in ());
-}
-
-void
-CIAO_GLUE_BasicSP::BMDevice_Servant::TimeOutConsumer_timeout_Servant::push_event (
- ::Components::EventBase *ev
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- ::Components::BadEventType))
-{
- BasicSP::TimeOut_var ev_type = BasicSP::TimeOut::_downcast (ev);
- if (ev_type != 0)
- {
- this->push_TimeOut (ev_type.in ()
- ACE_ENV_ARG_PARAMETER);
- return;
- }
-
- ACE_THROW (::Components::BadEventType ());
-}
-
-// get_component implementation.
-BasicSP::TimeOutConsumer_ptr
-CIAO_GLUE_BasicSP::BMDevice_Servant::get_consumer_timeout (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- if (CORBA::is_nil (this->consumes_timeout_.in ()))
- {
- CIAO_GLUE_BasicSP::BMDevice_Servant::TimeOutConsumer_timeout_Servant *svt =
- new CIAO_GLUE_BasicSP::BMDevice_Servant::TimeOutConsumer_timeout_Servant (this->executor_.in (),
- this->context_);
- PortableServer::ServantBase_var safe_servant (svt);
-
- CORBA::Object_var obj = this->container_->install_servant (svt
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (0);
-
- BasicSP::TimeOutConsumer_var eco
- = BasicSP::TimeOutConsumer::_narrow (obj.in ()
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (0);
-
- this->consumes_timeout_ = eco;
- }
-
- return BasicSP::TimeOutConsumer::_duplicate (this->consumes_timeout_.in ());
-}
-
-::Components::Cookie *
-CIAO_GLUE_BasicSP::BMDevice_Servant::subscribe_data_available (
- BasicSP::DataAvailableConsumer_ptr c
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- ::Components::ExceededConnectionLimit))
-{
- return this->context_->subscribe_data_available (c
- ACE_ENV_ARG_PARAMETER);
-}
-
-BasicSP::DataAvailableConsumer_ptr
-CIAO_GLUE_BasicSP::BMDevice_Servant::unsubscribe_data_available (::Components::Cookie *ck
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- ::Components::InvalidConnection))
-{
- return this->context_->unsubscribe_data_available (ck
- ACE_ENV_ARG_PARAMETER);
-}
-
-// Operations for Navigation interface
-CORBA::Object_ptr
-CIAO_GLUE_BasicSP::BMDevice_Servant::provide_facet (const char * name
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException ,
- Components::InvalidName))
-{
- ACE_UNUSED_ARG (name);
- if (ACE_OS_String::strcmp (name, "data_read") == 0)
- return this->provide_data_read (ACE_ENV_SINGLE_ARG_PARAMETER);
-
- ACE_THROW_RETURN (::Components::InvalidName (), 0);
-}
-
-::Components::FacetDescriptions *
-CIAO_GLUE_BasicSP::BMDevice_Servant::get_all_facets (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- ::Components::FacetDescriptions_var collection
- = new ::Components::FacetDescriptions (0); // #99 = number of all provided
- // facets including those inherited
- // from parent component(s).
- return collection._retn ();
-
-}
-
-::Components::FacetDescriptions *
-CIAO_GLUE_BasicSP::BMDevice_Servant::get_named_facets (const Components::NameList & names
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::InvalidName))
-{
- ACE_UNUSED_ARG (names);
- ACE_THROW_RETURN (::Components::InvalidName (), 0);
-}
-
-CORBA::Boolean
-CIAO_GLUE_BasicSP::BMDevice_Servant::same_component (CORBA::Object_ptr object_ref
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- if (CORBA::is_nil (object_ref))
- ACE_THROW_RETURN (CORBA::BAD_PARAM (), 0);
-
- CORBA::Object_var the_other = object_ref->_get_component (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_CHECK_RETURN (0);
-
- CORBA::Object_var me = this->context_->get_CCM_object (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_CHECK_RETURN (0);
-
- return me->_is_equivalent (object_ref
- ACE_ENV_ARG_PARAMETER);
-}
-
-// Operations for Receptacles interface
-::Components::Cookie *
-CIAO_GLUE_BasicSP::BMDevice_Servant::connect (const char *,
- CORBA::Object_ptr
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::InvalidName,
- Components::InvalidConnection,
- Components::AlreadyConnected,
- Components::ExceededConnectionLimit))
-{
- // @@ We can omit this if clause if there's no receptacle in this component.
- ACE_THROW_RETURN (Components::InvalidName (), 0);
-}
-
-CORBA::Object_ptr
-CIAO_GLUE_BasicSP::BMDevice_Servant::disconnect (const char * ,
- Components::Cookie *
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::InvalidName,
- Components::InvalidConnection,
- Components::CookieRequired,
- Components::NoConnection))
-{
- ACE_THROW_RETURN (Components::InvalidName (), 0);
-}
-
-::Components::ConnectionDescriptions *
-CIAO_GLUE_BasicSP::BMDevice_Servant::get_connections (const char *
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::InvalidName))
-{
- ACE_THROW_RETURN (Components::InvalidName (), 0);
-}
-
-::Components::ReceptacleDescriptions *
-CIAO_GLUE_BasicSP::BMDevice_Servant::get_all_receptacles (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- ::Components::ReceptacleDescriptions_var retv =
- new ::Components::ReceptacleDescriptions (1); // #99 is number of receptacles
- // this component has.
- retv->length (1);
- CORBA::ULong i = 0;
-
- retv[i] = new OBV_Components::ReceptacleDescription;
-
- retv[i]->Name ((const char *) "GPSLocation");
- retv[i]->type_id ((const char *) "IDL:BasicSP/position:1.0");
- retv[i]->is_multiple (0);
- retv[i]->connections (*this->get_connections ("GPSLocation"
- ACE_ENV_ARG_PARAMETER));
- return retv._retn ();
-}
-
-::Components::ReceptacleDescriptions *
-CIAO_GLUE_BasicSP::BMDevice_Servant::get_named_receptacles (const Components::NameList & names
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::InvalidName))
-{
- ::Components::ReceptacleDescriptions_var retv =
- new ::Components::ReceptacleDescriptions (names.length ());
- retv->length (names.length ());
-
- CORBA::ULong i = 0;
- for (; i < names.length (); ++i)
- {
- retv[i] = new ::OBV_Components::ReceptacleDescription;
- if (ACE_OS_String::strcmp (names[i].in (), "GPSLocation") == 0)
- {
- retv[i]->Name ((const char *) "GPSLocation");
- retv[i]->type_id ((const char *) "IDL:BasicSP/position:1.0");
- retv[i]->is_multiple (0);
- retv[i]->connections (*this->get_connections ("GPSLocation"
- ACE_ENV_ARG_PARAMETER));
- }
- else
- ACE_THROW_RETURN (::Components::InvalidName (), 0);
- }
- return retv._retn ();
-}
-
-// Operations for Events interface
-::Components::EventConsumerBase_ptr
-CIAO_GLUE_BasicSP::BMDevice_Servant::get_consumer (const char * sink_name
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::InvalidName))
-{
- // @@ We can omit this if clause if there's no event sinks in this component.
- if (sink_name == 0)
- ACE_THROW_RETURN (Components::InvalidName (), 0);
-
- if (ACE_OS_String::strcmp (sink_name, "timeout") == 0)
- return this->get_consumer_timeout (ACE_ENV_SINGLE_ARG_PARAMETER);
-
- ACE_THROW_RETURN (Components::InvalidName (), 0);
-}
-
-::Components::Cookie *
-CIAO_GLUE_BasicSP::BMDevice_Servant::subscribe (const char *publisher_name,
- Components::EventConsumerBase_ptr subscriber
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::InvalidName,
- Components::InvalidConnection,
- Components::ExceededConnectionLimit))
-{
- if (publisher_name == 0)
- ACE_THROW_RETURN (Components::InvalidName (), 0);
-
- if (ACE_OS_String::strcmp (publisher_name, "data_available") == 0)
- {
- BasicSP::DataAvailableConsumer_var _ciao_consumer =
- BasicSP::DataAvailableConsumer::_narrow (subscriber
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (0);
-
- if (CORBA::is_nil (_ciao_consumer.in ()))
- ACE_THROW_RETURN (Components::InvalidConnection (), 0);
-
- return this->subscribe_data_available (_ciao_consumer.in ()
- ACE_ENV_ARG_PARAMETER);
- }
-
- ACE_THROW_RETURN (Components::InvalidName (), 0);
-}
-
-::Components::EventConsumerBase_ptr
-CIAO_GLUE_BasicSP::BMDevice_Servant::unsubscribe (const char * publisher_name,
- Components::Cookie *ck
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::InvalidName,
- Components::InvalidConnection))
-{
- // @@ We can omit this if clause if there's no publisher in this component.
- if (publisher_name == 0)
- ACE_THROW_RETURN (Components::InvalidName (), 0);
-
- if (ACE_OS_String::strcmp (publisher_name, "data_available") == 0)
- {
- return this->unsubscribe_data_available (ck
- ACE_ENV_ARG_PARAMETER);
- }
-
- ACE_THROW_RETURN (Components::InvalidName (), 0);
-}
-
-void
-CIAO_GLUE_BasicSP::BMDevice_Servant::connect_consumer (const char * ,
- Components::EventConsumerBase_ptr
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::InvalidName,
- Components::AlreadyConnected,
- Components::InvalidConnection))
-{
- ACE_THROW (Components::InvalidName ());
-}
-
-::Components::EventConsumerBase_ptr
-CIAO_GLUE_BasicSP::BMDevice_Servant::disconnect_consumer (const char *
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::InvalidName,
- Components::NoConnection))
-{
- ACE_THROW_RETURN (Components::InvalidName (), 0);
-}
-
-::Components::ConsumerDescriptions *
-CIAO_GLUE_BasicSP::BMDevice_Servant::get_all_consumers (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- ::Components::ConsumerDescriptions_var retv =
- new ::Components::ConsumerDescriptions (1); // #99 is the number of consumers
- // this component has.
- retv->length (1);
-
- CORBA::ULong i = 0;
- retv[i] = new OBV_Components::ConsumerDescription;
- retv[i]->Name ("timeout");
- retv[i]->type_id ("IDL:BasicSP/TimeOutConsumer:1.0");
- BasicSP::TimeOutConsumer_var c
- = this->get_consumer_timeout (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_CHECK_RETURN (0);
-
- retv[i]->consumer (c.in ());
-
- return retv._retn ();
-}
-
-::Components::ConsumerDescriptions *
-CIAO_GLUE_BasicSP::BMDevice_Servant::get_named_consumers (const Components::NameList & names
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::InvalidName))
-{
- ::Components::ConsumerDescriptions_var retv =
- new ::Components::ConsumerDescriptions (names.length ());
- retv->length (names.length ());
-
- CORBA::ULong i = 0;
- for (; i < names.length (); ++i)
- {
- retv[i] = new OBV_Components::ConsumerDescription;
-
- if (ACE_OS_String::strcmp (names[i].in (), "timeout") == 0)
- {
- retv[i]->Name ("timeout");
- retv[i]->type_id ("IDL:BasicSP/TimeOutConsumer:1.0");
- BasicSP::TimeOutConsumer_var c =
- this->get_consumer_timeout (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_CHECK_RETURN (0);
-
- retv[i]->consumer (c.in ());
- }
- else
- ACE_THROW_RETURN (::Components::InvalidName (), 0);
- }
- return retv._retn ();
-}
-
-::Components::EmitterDescriptions *
-CIAO_GLUE_BasicSP::BMDevice_Servant::get_all_emitters (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- ::Components::EmitterDescriptions_var retv =
- new ::Components::EmitterDescriptions (0); // #99 is the number of emitters
- // this component has.
- return retv._retn ();
-}
-
-::Components::EmitterDescriptions *
-CIAO_GLUE_BasicSP::BMDevice_Servant::get_named_emitters (const Components::NameList & names
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::InvalidName))
-{
- ::Components::EmitterDescriptions_var retv =
- new ::Components::EmitterDescriptions (names.length ());
- retv->length (names.length ());
-
- CORBA::ULong i = 0;
- for (; i < names.length (); ++i)
- {
- ACE_THROW_RETURN (::Components::InvalidName (), 0);
- }
- return retv._retn ();
-}
-
-::Components::PublisherDescriptions *
-CIAO_GLUE_BasicSP::BMDevice_Servant::get_all_publishers (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- // @@ to-do
-
- // Need to add interfaces in the Context class to gather the information.
- // Or we can just relay it to the Context object.
- ACE_THROW_RETURN (CORBA::NO_IMPLEMENT (), 0);
-}
-
-::Components::PublisherDescriptions *
-CIAO_GLUE_BasicSP::BMDevice_Servant::get_named_publishers (const Components::NameList & names
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::InvalidName))
-{
- ACE_UNUSED_ARG (names);
- // @@ to-do
-
- // Need to add interfaces in the Context class to gather the information.
- // Or we can just relay it to the Context object.
- ACE_THROW_RETURN (CORBA::NO_IMPLEMENT (), 0);
-}
-
-// Operations for CCMObject interface
-::CORBA::IRObject_ptr
-CIAO_GLUE_BasicSP::BMDevice_Servant::get_component_def (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- // @@ to-do: Connect to an IfR?
- ACE_THROW_RETURN (CORBA::NO_IMPLEMENT (), 0);
-}
-
-::Components::CCMHome_ptr
-CIAO_GLUE_BasicSP::BMDevice_Servant::get_ccm_home (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- return this->context_->get_CCM_home (ACE_ENV_SINGLE_ARG_PARAMETER);
-}
-
-::Components::PrimaryKeyBase *
-CIAO_GLUE_BasicSP::BMDevice_Servant::get_primary_key (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::NoKeyAvailable))
-{
- // This is a keyless component.
- ACE_THROW_RETURN (::Components::NoKeyAvailable (), 0);
-}
-
-void
-CIAO_GLUE_BasicSP::BMDevice_Servant::configuration_complete (ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::InvalidConfiguration))
-{
- // @@ to-do
- // No-op. Don't know how to pass this info to monolithic executor.
-}
-
-void
-CIAO_GLUE_BasicSP::BMDevice_Servant::remove (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::RemoveFailure))
-{
- // @@ to-do
- // Need to figure out what to do here. E.g., tear down the all the connections
- // this component has?
-}
-
-::Components::ComponentPortDescription *
-CIAO_GLUE_BasicSP::BMDevice_Servant::get_all_ports (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- ::Components::ComponentPortDescription_var retv =
- new OBV_Components::ComponentPortDescription;
-
- ::Components::FacetDescriptions_var facets_desc
- = this->get_all_facets (ACE_ENV_SINGLE_ARG_PARAMETER);
- ::Components::ReceptacleDescriptions_var receptacle_desc
- = get_all_receptacles (ACE_ENV_SINGLE_ARG_PARAMETER);
- ::Components::ConsumerDescriptions_var consumer_desc
- = this->get_all_consumers (ACE_ENV_SINGLE_ARG_PARAMETER);
- ::Components::EmitterDescriptions_var emitter_desc
- = this->get_all_emitters (ACE_ENV_SINGLE_ARG_PARAMETER);
- ::Components::PublisherDescriptions_var publisher_desc
- = this->get_all_publishers (ACE_ENV_SINGLE_ARG_PARAMETER);
-
- retv->facets (facets_desc.in());
- retv->receptacles (receptacle_desc.in());
- retv->consumers (consumer_desc.in());
- retv->emitters (emitter_desc.in());
- retv->publishers (publisher_desc.in());
-
- return retv._retn();
-}
-
-// get_component implementation.
-CORBA::Object_ptr
-CIAO_GLUE_BasicSP::BMDevice_Servant::_get_component (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- ::Components::SessionContext_var sc =
- ::Components::SessionContext::_narrow (this->context_);
-
- if (! CORBA::is_nil(sc.in ()))
- return sc->get_CCM_object (ACE_ENV_SINGLE_ARG_PARAMETER);
-
- // @@ Do we need to try the following case here? We are afterall implementing
- // a session component here.
- ::Components::EntityContext_var ec =
- ::Components::EntityContext::_narrow (this->context_);
-
- if (! CORBA::is_nil(ec.in ()))
- return ec->get_CCM_object (ACE_ENV_SINGLE_ARG_PARAMETER);
-
- ACE_THROW_RETURN (CORBA::INTERNAL (), 0);
-}
-
-void
-CIAO_GLUE_BasicSP::BMDevice_Servant::_ciao_activate (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- ::Components::SessionComponent_var temp =
- ::Components::SessionComponent::_narrow (this->executor_.in ()
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK;
-
- if (! CORBA::is_nil (temp.in ()))
- temp->ccm_activate (ACE_ENV_SINGLE_ARG_PARAMETER);
-}
-
-void
-CIAO_GLUE_BasicSP::BMDevice_Servant::_ciao_passivate (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- ::Components::SessionComponent_var temp =
- ::Components::SessionComponent::_narrow (this->executor_.in ()
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK;
-
- if (! CORBA::is_nil (temp.in ()))
- temp->ccm_passivate (ACE_ENV_SINGLE_ARG_PARAMETER);
-}
-
-// Constructor and destructor.
-CIAO_GLUE_BasicSP::BMDevice_Servant::TimeOutConsumer_timeout_Servant::TimeOutConsumer_timeout_Servant
-(BasicSP::CCM_BMDevice_ptr executor,
- BasicSP::CCM_BMDevice_Context_ptr c)
- : executor_ (BasicSP::CCM_BMDevice::_duplicate (executor)),
- ctx_ (BasicSP::CCM_BMDevice_Context::_duplicate (c))
-{
-}
-
-CIAO_GLUE_BasicSP::BMDevice_Servant::TimeOutConsumer_timeout_Servant::~TimeOutConsumer_timeout_Servant ()
-{
-}
-
-void
-CIAO_GLUE_BasicSP::BMDevice_Servant::TimeOutConsumer_timeout_Servant::push_TimeOut (
- BasicSP::TimeOut *evt
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- this->executor_->push_timeout (evt
- ACE_ENV_ARG_PARAMETER);
-}
-
-CORBA::Object_ptr
-CIAO_GLUE_BasicSP::BMDevice_Servant::TimeOutConsumer_timeout_Servant::_get_component (
- ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- return this->ctx_->get_CCM_object (ACE_ENV_SINGLE_ARG_PARAMETER);
-}
-
-
-/********************************************************************************/
-BasicSP::BMDevice_ptr
-CIAO_GLUE_BasicSP::BMDeviceHome_Servant::_ciao_activate_component (BasicSP::CCM_BMDevice_ptr exe
- ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- CORBA::Object_var hobj
- = this->container_->get_objref (this
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (0);
-
- ::Components::CCMHome_var home
- = ::Components::CCMHome::_narrow (hobj.in ()
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (0);
-
- CIAO_GLUE_BasicSP::BMDevice_Servant *svt =
- new CIAO_GLUE_BasicSP::BMDevice_Servant (exe,
- home.in (),
- this->container_);
- PortableServer::ServantBase_var safe (svt);
- PortableServer::ObjectId_var oid;
-
- CORBA::Object_var objref
- = this->container_->install_component (svt,
- oid.out ()
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (0);
-
- svt->_ciao_activate (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_CHECK_RETURN (0);
-
- BasicSP::BMDevice_var ho
- = BasicSP::BMDevice::_narrow (objref.in ()
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (0);
-
- if (this->component_map_.bind (oid.in (), svt) == 0)
- {
- // @@ what should happen if bind fail?
- safe._retn ();
- }
- return ho._retn ();
-}
-
-void
-CIAO_GLUE_BasicSP::BMDeviceHome_Servant::_ciao_passivate_component (BasicSP::BMDevice_ptr comp
- ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- PortableServer::ObjectId_var oid;
-
- this->container_->uninstall_component (comp,
- oid.out ()
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK;
-
- CIAO_GLUE_BasicSP::BMDevice_Servant *servant = 0;
- if (this->component_map_.unbind (oid.in (), servant) == 0)
- {
- PortableServer::ServantBase_var safe (servant);
- servant->_ciao_passivate (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_CHECK;
- }
- // What happen if unbind failed?
-
-}
-
-// Operations for Implicit Home interface
-BasicSP::BMDevice_ptr
-CIAO_GLUE_BasicSP::BMDeviceHome_Servant::create (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::CreateFailure))
-{
- if (this->executor_.in () == 0)
- ACE_THROW_RETURN (CORBA::INTERNAL (), 0);
-
- Components::EnterpriseComponent_var _ciao_ec =
- this->executor_->create (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_CHECK_RETURN (0);
-
- BasicSP::CCM_BMDevice_var _ciao_comp
- = BasicSP::CCM_BMDevice::_narrow (_ciao_ec.in ()
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (0);
-
- return this->_ciao_activate_component (_ciao_comp.in ()
- ACE_ENV_ARG_PARAMETER);
-}
-
-// Operations for CCMHome interface
-void
-CIAO_GLUE_BasicSP::BMDeviceHome_Servant::remove_component (Components::CCMObject_ptr comp
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::RemoveFailure))
-{
- BasicSP::BMDevice_var _ciao_comp
- = BasicSP::BMDevice::_narrow (comp
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK;
-
- if (CORBA::is_nil (_ciao_comp.in ()))
- ACE_THROW (CORBA::INTERNAL ()); // What is the right exception to throw here?
-
- // @@ It seems to me that we need to make sure this is a component
- // generated by this home before calling remove on this component.
- _ciao_comp->remove (ACE_ENV_ARG_PARAMETER);
- ACE_CHECK;
-
-
- // Removing the object reference? get the servant from the POA with
- // the objref, and call remove() on the component, deactivate the
- // component, and then remove-ref the servant?
- this->_ciao_passivate_component (_ciao_comp.in ()
- ACE_ENV_ARG_PARAMETER);
-}
-
-extern "C" BMDEVICE_SVNT_Export ::PortableServer::Servant
-createBMDeviceHome_Servant (::Components::HomeExecutorBase_ptr p,
- CIAO::Session_Container *c
- ACE_ENV_ARG_DECL)
-{
- if (p == 0)
- return 0;
-
- BasicSP::CCM_BMDeviceHome_var x
- = BasicSP::CCM_BMDeviceHome::_narrow (p
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (0);
-
- if (CORBA::is_nil (x.in ()))
- return 0;
-
- return new CIAO_GLUE_BasicSP::BMDeviceHome_Servant (x.in (),
- c);
-}
-
-CIAO_GLUE_BasicSP::BMDeviceHome_Servant::BMDeviceHome_Servant (BasicSP::CCM_BMDeviceHome_ptr exe,
- CIAO::Session_Container *c)
- : executor_ (BasicSP::CCM_BMDeviceHome::_duplicate (exe)),
- container_ (c)
-{
-}
-
-CIAO_GLUE_BasicSP::BMDeviceHome_Servant::~BMDeviceHome_Servant (void)
-{
-}
-
-// Operations for KeylessHome interface
-::Components::CCMObject_ptr
-CIAO_GLUE_BasicSP::BMDeviceHome_Servant::create_component (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::CreateFailure))
-{
- // Simply forward to the create method.
- return this->create (ACE_ENV_SINGLE_ARG_PARAMETER);
-}
-
-// Operations for CCMHome interface
-::CORBA::IRObject_ptr
-CIAO_GLUE_BasicSP::BMDeviceHome_Servant::get_component_def (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- // @@ TO-DO. Contact IfR?
-
- ACE_THROW_RETURN (CORBA::NO_IMPLEMENT (), 0);
-}
-
-CORBA::IRObject_ptr
-CIAO_GLUE_BasicSP::BMDeviceHome_Servant::get_home_def (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- // @@ TO-DO. Contact IfR?
-
- ACE_THROW_RETURN (CORBA::NO_IMPLEMENT (), 0);
-}
diff --git a/TAO/CIAO/examples/handcrafted/BasicSP/BMDevice/BMDevice_svnt.h b/TAO/CIAO/examples/handcrafted/BasicSP/BMDevice/BMDevice_svnt.h
deleted file mode 100644
index e3743eb211f..00000000000
--- a/TAO/CIAO/examples/handcrafted/BasicSP/BMDevice/BMDevice_svnt.h
+++ /dev/null
@@ -1,475 +0,0 @@
-// $Id$
-
-// ===========================================================
-/**
- *
- * @file BMDevice_svnt.h
- *
- * Internals of the BMDevice component that would mostly be
- * generated.
- *
- * @author Balachandran Natarajan <bala@dre.vanderbilt.edu>
- */
-// ===========================================================
-
-#ifndef CIAO_GLUE_SESSION_BMDEVICE_SVNT_H
-#define CIAO_GLUE_SESSION_BMDEVICE_SVNT_H
-#include "ace/pre.h"
-
-#include "BMDeviceS.h"
-
-#if !defined (ACE_LACKS_PRAGMA_ONCE)
-# pragma once
-#endif /* ACE_LACKS_PRAGMA_ONCE */
-
-#include "BMDeviceEC.h"
-#include "ciao/Container_Base.h"
-#include "tao/LocalObject.h"
-#include "tao/PortableServer/Key_Adapters.h"
-
-namespace CIAO_GLUE_BasicSP
-{
- /**
- *
- * @brief
- *
- * The BMDevice communicates with just one component in BasicSP and
- * that is the airframe which is a BM_ClosedEDComponent, as per
- * Boeing's OEP terminology.
- */
- class BMDEVICE_SVNT_Export BMDevice_Context :
- public virtual BasicSP::CCM_BMDevice_Context,
- public virtual TAO_Local_RefCounted_Object
- {
- public:
- friend class BMDevice_Servant;
-
- // Ctor.
- BMDevice_Context (::Components::CCMHome_ptr home,
- ::CIAO::Session_Container *c,
- BMDevice_Servant *sv);
-
- // Dtor.
- virtual ~BMDevice_Context ();
-
- /// Template methods...
- // Operations for [component name] event source, and
- // receptacles defined in CCM_[component name]_Context.
-
- virtual void push_data_available (BasicSP::DataAvailable *av
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- // Template operations for ::Components::CCMContext
- virtual ::Components::Principal_ptr
- get_caller_principal (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- virtual ::Components::CCMHome_ptr
- get_CCM_home (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- virtual CORBA::Boolean
- get_rollback_only (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::IllegalState));
-
- virtual ::Components::Transaction::UserTransaction_ptr
- get_user_transaction (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::IllegalState));
-
- virtual CORBA::Boolean
- is_caller_in_role (const char * role
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- virtual void
- set_rollback_only (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::IllegalState));
-
- // Operations for ::Components::SessionContext interface
- virtual CORBA::Object_ptr
- get_CCM_object (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::IllegalState));
- protected:
- // We need to generate, in protected section, stuff that manage
- // connections and consumers of this component.
-
- // Operations for publishes interfaces.
- ::Components::Cookie *
- subscribe_data_available (BasicSP::DataAvailableConsumer *c
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- ::Components::ExceededConnectionLimit));
-
- BasicSP::DataAvailableConsumer_ptr
- unsubscribe_data_available (::Components::Cookie *ck
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- ::Components::InvalidConnection));
-
- ACE_Active_Map_Manager<BasicSP::DataAvailableConsumer_var> ciao_publishes_Ready_map_;
-
- protected:
- /// Cached component home reference.
- ::Components::CCMHome_var home_;
-
- /// session container
- ::CIAO::Session_Container *container_;
-
- /// Reference back to owner.
- BMDevice_Servant *servant_;
-
- /// @@ Cached component reference.
- BasicSP::BMDevice_var component_;
- };
-
- class BMDEVICE_SVNT_Export BMDevice_Servant
- : public virtual POA_BasicSP::BMDevice, // full skeleton name here
- public virtual PortableServer::RefCountServantBase
- {
- public:
- // Ctor.
- BMDevice_Servant (BasicSP::CCM_BMDevice_ptr executor,
- ::Components::CCMHome_ptr home,
- ::CIAO::Session_Container *c);
-
- // Dtor.
- ~BMDevice_Servant (void);
-
- // Operations for provides interfaces.
- virtual BasicSP::ReadData_ptr
- provide_data_read (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- // First we need to generate the event sink specific servant
- class BMDEVICE_SVNT_Export TimeOutConsumer_timeout_Servant
- : public virtual POA_BasicSP::TimeOutConsumer, // full skeleton name here
- public virtual PortableServer::RefCountServantBase
- {
- public:
- // Constructor and destructor.
- TimeOutConsumer_timeout_Servant (BasicSP::CCM_BMDevice_ptr executor,
- BasicSP::CCM_BMDevice_Context_ptr c);
-
- ~TimeOutConsumer_timeout_Servant (void);
-
- virtual void push_TimeOut (BasicSP::TimeOut *evt
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- // Inherit from ::Compopnents::EventBConsumerBase
- virtual void push_event (Components::EventBase *ev
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- ::Components::BadEventType));
-
- // get_component implementation.
- virtual CORBA::Object_ptr
- _get_component (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- protected:
- // Consumer Executor
- BasicSP::CCM_BMDevice_var executor_;
-
- // Context object.
- BasicSP::CCM_BMDevice_Context_var ctx_;
- };
-
-
- virtual BasicSP::TimeOutConsumer_ptr
- get_consumer_timeout (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
-
- // Operations for publishes interfaces.
- virtual ::Components::Cookie *
- subscribe_data_available (BasicSP::DataAvailableConsumer_ptr c
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- ::Components::ExceededConnectionLimit));
-
- virtual BasicSP::DataAvailableConsumer_ptr
- unsubscribe_data_available (::Components::Cookie *ck
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- ::Components::InvalidConnection));
-
- virtual CORBA::Object_ptr
- provide_facet (const char * name
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException ,
- Components::InvalidName)) ;
-
- virtual ::Components::FacetDescriptions *
- get_all_facets (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- virtual ::Components::FacetDescriptions *
- get_named_facets (const Components::NameList & names
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException ,
- Components::InvalidName));
-
- virtual CORBA::Boolean
- same_component (CORBA::Object_ptr object_ref
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- // Operations for Receptacles interface
- virtual ::Components::Cookie *
- connect (const char * name,
- CORBA::Object_ptr connection
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::InvalidName,
- Components::InvalidConnection,
- Components::AlreadyConnected,
- Components::ExceededConnectionLimit));
-
- virtual CORBA::Object_ptr
- disconnect (const char * name,
- Components::Cookie *ck
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::InvalidName,
- Components::InvalidConnection,
- Components::CookieRequired,
- Components::NoConnection));
-
- virtual ::Components::ConnectionDescriptions *
- get_connections (const char * name
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::InvalidName));
-
- virtual ::Components::ReceptacleDescriptions *
- get_all_receptacles (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- virtual ::Components::ReceptacleDescriptions *
- get_named_receptacles (const Components::NameList & names
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::InvalidName));
-
- // Operations for Events interface
- virtual ::Components::EventConsumerBase_ptr
- get_consumer (const char * sink_name
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::InvalidName));
-
- virtual ::Components::Cookie *
- subscribe (const char * publisher_name,
- Components::EventConsumerBase_ptr subscriber
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::InvalidName,
- Components::InvalidConnection,
- Components::ExceededConnectionLimit));
-
- virtual ::Components::EventConsumerBase_ptr
- unsubscribe (const char * publisher_name,
- Components::Cookie *ck
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::InvalidName,
- Components::InvalidConnection));
-
- virtual void
- connect_consumer (const char * emitter_name,
- Components::EventConsumerBase_ptr consumer
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::InvalidName,
- Components::AlreadyConnected,
- Components::InvalidConnection));
-
- virtual ::Components::EventConsumerBase_ptr
- disconnect_consumer (const char * source_name
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::InvalidName,
- Components::NoConnection));
-
- virtual ::Components::ConsumerDescriptions *
- get_all_consumers (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- virtual ::Components::ConsumerDescriptions *
- get_named_consumers (const Components::NameList & names
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::InvalidName));
-
- virtual ::Components::EmitterDescriptions *
- get_all_emitters (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- virtual ::Components::EmitterDescriptions *
- get_named_emitters (const Components::NameList & names
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::InvalidName));
-
- virtual ::Components::PublisherDescriptions *
- get_all_publishers (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- virtual ::Components::PublisherDescriptions *
- get_named_publishers (const Components::NameList & names
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::InvalidName));
-
- // Operations for CCMObject interface
- virtual ::CORBA::IRObject_ptr
- get_component_def (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- virtual ::Components::CCMHome_ptr
- get_ccm_home (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- virtual ::Components::PrimaryKeyBase *
- get_primary_key (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::NoKeyAvailable));
-
- virtual void
- configuration_complete (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::InvalidConfiguration));
-
- virtual void
- remove (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::RemoveFailure));
-
- virtual ::Components::ComponentPortDescription *
- get_all_ports (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- // get_component implementation.
- virtual CORBA::Object_ptr
- _get_component (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- // CIAO specific operations.
-
- // Activate the object in the container_
- void
- _ciao_activate (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- void
- _ciao_passivate (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- protected:
- // My Executor.
- BasicSP::CCM_BMDevice_var executor_;
-
- // My Run-time Context.
- BMDevice_Context *context_;
-
- // Managing container.
- ::CIAO::Session_Container *container_;
-
- // Cached provided interfaces.
- BasicSP::TimeOutConsumer_var consumes_timeout_;
-
- // Cached provided interfaces.
- BasicSP::ReadData_var provide_ReadData_;
-
- };
-
-
- //////////////////////////////////////////////////////////////////
- // Component Home Glue code implementation
-
- // Foreach component home
- class BMDEVICE_SVNT_Export BMDeviceHome_Servant :
- public virtual POA_BasicSP::BMDeviceHome, // full skeleton name here
- public virtual PortableServer::RefCountServantBase
- {
- public:
- // Ctor.
- BMDeviceHome_Servant (BasicSP::CCM_BMDeviceHome_ptr exe,
- CIAO::Session_Container *c);
-
- // Dtor.
- ~BMDeviceHome_Servant (void);
-
- // Factory operations
-
- // Finder operations
-
- // Operations for KeylessHome interface
- virtual ::Components::CCMObject_ptr
- create_component (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::CreateFailure));
-
- // Operations for Implicit Home interface
- virtual BasicSP::BMDevice_ptr
- create (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::CreateFailure));
-
- // Operations for CCMHome interface
- virtual ::CORBA::IRObject_ptr
- get_component_def (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- virtual ::CORBA::IRObject_ptr
- get_home_def (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- virtual void remove_component (Components::CCMObject_ptr comp
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::RemoveFailure));
-
- protected:
-
- // Helper method for factory operations.
- BasicSP::BMDevice_ptr
- _ciao_activate_component (BasicSP::CCM_BMDevice_ptr exe
- ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- void
- _ciao_passivate_component (BasicSP::BMDevice_ptr comp
- ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- // My Executor.
- BasicSP::CCM_BMDeviceHome_var executor_;
-
- // My Container
- CIAO::Session_Container *container_;
-
- // Components this home manages.
- ACE_Hash_Map_Manager_Ex <PortableServer::ObjectId,
- BMDevice_Servant*,
- TAO_ObjectId_Hash,
- ACE_Equal_To<PortableServer::ObjectId>,
- ACE_SYNCH_MUTEX> component_map_;
- };
-
- extern "C" BMDEVICE_SVNT_Export ::PortableServer::Servant
- createBMDeviceHome_Servant (::Components::HomeExecutorBase_ptr p,
- CIAO::Session_Container *c
- ACE_ENV_ARG_DECL_WITH_DEFAULTS);
-}
-
-
-
-#include "ace/post.h"
-#endif /* CIAO_GLUE_SESSION_NAVDISPLAY_SVNT_H */
diff --git a/TAO/CIAO/examples/handcrafted/BasicSP/BMDevice/BMDevice_svnt_export.h b/TAO/CIAO/examples/handcrafted/BasicSP/BMDevice/BMDevice_svnt_export.h
deleted file mode 100644
index 653db47fefb..00000000000
--- a/TAO/CIAO/examples/handcrafted/BasicSP/BMDevice/BMDevice_svnt_export.h
+++ /dev/null
@@ -1,50 +0,0 @@
-
-// -*- C++ -*-
-// $Id$
-// Definition for Win32 Export directives.
-// This file is generated automatically by generate_export_file.pl BMDEVICE_SVNT
-// ------------------------------
-#ifndef BMDEVICE_SVNT_EXPORT_H
-#define BMDEVICE_SVNT_EXPORT_H
-
-#include "ace/config-all.h"
-
-#if !defined (BMDEVICE_SVNT_HAS_DLL)
-# define BMDEVICE_SVNT_HAS_DLL 1
-#endif /* ! BMDEVICE_SVNT_HAS_DLL */
-
-#if defined (BMDEVICE_SVNT_HAS_DLL) && (BMDEVICE_SVNT_HAS_DLL == 1)
-# if defined (BMDEVICE_SVNT_BUILD_DLL)
-# define BMDEVICE_SVNT_Export ACE_Proper_Export_Flag
-# define BMDEVICE_SVNT_SINGLETON_DECLARATION(T) ACE_EXPORT_SINGLETON_DECLARATION (T)
-# define BMDEVICE_SVNT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_EXPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
-# else /* BMDEVICE_SVNT_BUILD_DLL */
-# define BMDEVICE_SVNT_Export ACE_Proper_Import_Flag
-# define BMDEVICE_SVNT_SINGLETON_DECLARATION(T) ACE_IMPORT_SINGLETON_DECLARATION (T)
-# define BMDEVICE_SVNT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_IMPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
-# endif /* BMDEVICE_SVNT_BUILD_DLL */
-#else /* BMDEVICE_SVNT_HAS_DLL == 1 */
-# define BMDEVICE_SVNT_Export
-# define BMDEVICE_SVNT_SINGLETON_DECLARATION(T)
-# define BMDEVICE_SVNT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
-#endif /* BMDEVICE_SVNT_HAS_DLL == 1 */
-
-// Set BMDEVICE_SVNT_NTRACE = 0 to turn on library specific tracing even if
-// tracing is turned off for ACE.
-#if !defined (BMDEVICE_SVNT_NTRACE)
-# if (ACE_NTRACE == 1)
-# define BMDEVICE_SVNT_NTRACE 1
-# else /* (ACE_NTRACE == 1) */
-# define BMDEVICE_SVNT_NTRACE 0
-# endif /* (ACE_NTRACE == 1) */
-#endif /* !BMDEVICE_SVNT_NTRACE */
-
-#if (BMDEVICE_SVNT_NTRACE == 1)
-# define BMDEVICE_SVNT_TRACE(X)
-#else /* (BMDEVICE_SVNT_NTRACE == 1) */
-# define BMDEVICE_SVNT_TRACE(X) ACE_TRACE_IMPL(X)
-#endif /* (BMDEVICE_SVNT_NTRACE == 1) */
-
-#endif /* BMDEVICE_SVNT_EXPORT_H */
-
-// End of auto generated file.
diff --git a/TAO/CIAO/examples/handcrafted/BasicSP/BMDevice/config b/TAO/CIAO/examples/handcrafted/BasicSP/BMDevice/config
deleted file mode 100644
index 5798aa88e24..00000000000
--- a/TAO/CIAO/examples/handcrafted/BasicSP/BMDevice/config
+++ /dev/null
@@ -1 +0,0 @@
-BMDevice_exec|createBMDeviceHome_Impl|BMDevice_svnt|createBMDeviceHome_Servant
diff --git a/TAO/CIAO/examples/handcrafted/BasicSP/BMDisplay/BMDisplay.cidl b/TAO/CIAO/examples/handcrafted/BasicSP/BMDisplay/BMDisplay.cidl
deleted file mode 100644
index 4342aa753c8..00000000000
--- a/TAO/CIAO/examples/handcrafted/BasicSP/BMDisplay/BMDisplay.cidl
+++ /dev/null
@@ -1,18 +0,0 @@
-//$Id$
-
-#ifndef BMDISPLAY_CIDL
-#define BMDISPLAY_CIDL
-
-#include "BMDisplay.idl"
-
-composition session BMDisplay_Impl
-{
- home executor BMDisplayHome_Exec
- {
- implements BasicSP::BMDisplayHome;
- manages BMDisplay_Exec;
- };
-};
-
-#endif /* BMDISPLAY_CIDL */
-
diff --git a/TAO/CIAO/examples/handcrafted/BasicSP/BMDisplay/BMDisplay.idl b/TAO/CIAO/examples/handcrafted/BasicSP/BMDisplay/BMDisplay.idl
deleted file mode 100644
index cbeed950b07..00000000000
--- a/TAO/CIAO/examples/handcrafted/BasicSP/BMDisplay/BMDisplay.idl
+++ /dev/null
@@ -1,15 +0,0 @@
-//$Id$
-#include "../BasicSP.idl"
-
-module BasicSP
-{
- component BMDisplay
- {
- consumes DataAvailable data_ready;
- uses ReadData comp_data;
- };
-
- home BMDisplayHome manages BMDisplay
- {
- };
-};
diff --git a/TAO/CIAO/examples/handcrafted/BasicSP/BMDisplay/BMDisplay.mpc b/TAO/CIAO/examples/handcrafted/BasicSP/BMDisplay/BMDisplay.mpc
deleted file mode 100644
index 86102b6bdf4..00000000000
--- a/TAO/CIAO/examples/handcrafted/BasicSP/BMDisplay/BMDisplay.mpc
+++ /dev/null
@@ -1,58 +0,0 @@
-// $Id$
-// This file is generated with "generate_component_mpc.pl -l .. -p BasicSP -i BMDisplay"
-
-project(BMDisplay_stub): ciao_client {
- depends += BasicSP_stub
- sharedname = BMDisplay_stub
- idlflags += -Wb,stub_export_macro=BMDISPLAY_STUB_Export -Wb,stub_export_include=BMDisplay_stub_export.h -Wb,skel_export_macro=BMDISPLAY_SVNT_Export -Wb,skel_export_include=BMDisplay_svnt_export.h
- dllflags = BMDISPLAY_STUB_BUILD_DLL
-
- IDL_Files {
- BMDisplay.idl
- }
-
- Source_Files {
- BMDisplayC.cpp
- }
-}
-
-project(BMDisplay_svnt) : ciao_server {
- depends += BasicSP_svnt BMDisplay_stub
- sharedname = BMDisplay_svnt
- libs += BMDisplay_stub BasicSP_stub BasicSP_svnt
- libpaths += ..
- idlflags += -Wb,export_macro=BMDISPLAY_SVNT_Export -Wb,export_include=BMDisplay_svnt_export.h
- dllflags = BMDISPLAY_SVNT_BUILD_DLL
-
- IDL_Files {
- BMDisplayE.idl
- }
-
- Source_Files {
- BMDisplayEC.cpp
- BMDisplayS.cpp
- BMDisplay_svnt.cpp
- }
-}
-
-
-project(BMDisplay_exec) : ciao_server {
- depends += BMDisplay_svnt
- sharedname = BMDisplay_exec
- libs += BMDisplay_stub BMDisplay_svnt BasicSP_stub BasicSP_svnt
- libpaths += ..
- idlflags += -Wb,export_macro=BMDISPLAY_EXEC_Export -Wb,export_include=BMDisplay_exec_export.h
- dllflags = BMDISPLAY_EXEC_BUILD_DLL
-
- IDL_Files {
- BMDisplayEI.idl
- }
-
- Source_Files {
- BMDisplayEIC.cpp
- BMDisplay_exec.cpp
- }
-}
-
-
-
diff --git a/TAO/CIAO/examples/handcrafted/BasicSP/BMDisplay/BMDisplayE.idl b/TAO/CIAO/examples/handcrafted/BasicSP/BMDisplay/BMDisplayE.idl
deleted file mode 100644
index c8b8345564d..00000000000
--- a/TAO/CIAO/examples/handcrafted/BasicSP/BMDisplay/BMDisplayE.idl
+++ /dev/null
@@ -1,73 +0,0 @@
-// $Id$
-
-// ===========================================================
-//
-// @file BMDisplayE.idl
-//
-// Handlecrafted "generated" code. :)
-//
-// @author Balachandran Natarajan <bala@dre.vanderbilt.edu>
-//
-// ===========================================================
-
-#ifndef CIAO_BMDISPLAYE_IDL
-#define CIAO_BMDISPLAYE_IDL
-
-#include "CCM_Container.idl" // Found in $(CIAO_ROOT)/ciao
- // For various definitions of container
- // internal/callback interfaces
-#include "BMDisplay.idl" // Original component IDL definition
-#include "../BasicSP.idl"
-
-module BasicSP
-{
- // Component Main Executor Interface. We currently do not
- // support Executor-based implementation.
-
- local interface CCM_BMDisplay_Executor
- : Components::EnterpriseComponent
- {
- };
-
- // Monolithic component executor.
- // For implementing monolithic component call back interface.
-
- local interface CCM_BMDisplay
- : Components::EnterpriseComponent
- {
- void push_data_ready (in DataAvailable ev);
- };
-
- /**
- * Component Context Interface
- *
- * Notice that we are taking a shortcut here to inherit the
- * component-specific context from SessionContext directly instead
- * of CCMContext.
- */
- local interface CCM_BMDisplay_Context
- : Components::SessionContext
- {
- ReadData get_connection_comp_data ();
- };
-
-
- local interface CCM_BMDisplayHomeExplicit
- : Components::HomeExecutorBase
- {
- };
-
- local interface CCM_BMDisplayHomeImplicit
- {
- ::Components::EnterpriseComponent create ()
- raises (::Components::CCMException);
- };
-
- local interface CCM_BMDisplayHome
- : CCM_BMDisplayHomeExplicit,
- CCM_BMDisplayHomeImplicit
- {
- };
-};
-
-#endif /* CIAO_BMDISPLAYE_IDL */
diff --git a/TAO/CIAO/examples/handcrafted/BasicSP/BMDisplay/BMDisplayEI.idl b/TAO/CIAO/examples/handcrafted/BasicSP/BMDisplay/BMDisplayEI.idl
deleted file mode 100644
index 8a218debab1..00000000000
--- a/TAO/CIAO/examples/handcrafted/BasicSP/BMDisplay/BMDisplayEI.idl
+++ /dev/null
@@ -1,33 +0,0 @@
-// $Id$
-//===========================================================
-/**
- * @file BMDisplayEI.idl
- *
- * Definition of the BMDisplay (navigation display) component
- * implementation.
- *
- * @author Balachandran Natarajan <bala@dre.vanderbilt.edu>
- */
-//===========================================================
-#ifndef CIAO_BMDISPLAYEI_IDL
-#define CIAO_BMDISPLAYEI_IDL
-
-#include "BMDisplayE.idl"
-
-module BasicSP
-{
- /**
- * @interface BMDisplay_Exec
- *
- * The actually BMDisplay executor inherits from both CCM_BMDisplay
- * and session_component interfaces as a monolithic implementation.
- */
- local interface BMDisplay_Exec :
- CCM_BMDisplay,
- Components::SessionComponent
- {
- };
-
-};
-
-#endif /* CIAO_BMDISPLAYEI_IDL */
diff --git a/TAO/CIAO/examples/handcrafted/BasicSP/BMDisplay/BMDisplay_exec.cpp b/TAO/CIAO/examples/handcrafted/BasicSP/BMDisplay/BMDisplay_exec.cpp
deleted file mode 100644
index f7ac0de4c4a..00000000000
--- a/TAO/CIAO/examples/handcrafted/BasicSP/BMDisplay/BMDisplay_exec.cpp
+++ /dev/null
@@ -1,135 +0,0 @@
-// $Id$
-
-#include "CIAO_common.h"
-#include "BMDisplay_exec.h"
-
-/// Default constructor.
-MyImpl::BMDisplay_exec_impl::BMDisplay_exec_impl ()
-{
-}
-
-/// Default destructor.
-MyImpl::BMDisplay_exec_impl::~BMDisplay_exec_impl ()
-{
-}
-
-// Operations from BasicSP::BMDisplay
-
-void
-MyImpl::BMDisplay_exec_impl::push_data_ready (
- BasicSP::DataAvailable *ev
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- ACE_UNUSED_ARG (ev);
-
- ACE_DEBUG ((LM_DEBUG,
- "BMDisplay - Doing computations \n"));
-
- ACE_DEBUG ((LM_DEBUG,
- "BMDisplay - Doing data fetch \n"));
-
- // Refresh position
- BasicSP::ReadData_var dat
- = this->context_->get_connection_comp_data (ACE_ENV_ARG_PARAMETER);
- ACE_CHECK;
-
- if (CORBA::is_nil (dat.in ()))
- ACE_THROW (CORBA::BAD_INV_ORDER ());
-
- char *str =
- dat->get_data (ACE_ENV_ARG_PARAMETER);
- ACE_CHECK;
-
- ACE_DEBUG ((LM_DEBUG,
- "BMDisplay - Display data is [%s] \n",
- str));
-
-}
-
-// Operations from Components::SessionComponent
-void
-MyImpl::BMDisplay_exec_impl::set_session_context (Components::SessionContext_ptr ctx
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::CCMException))
-{
- ACE_DEBUG ((LM_DEBUG, "MyImpl::BMDisplay_exec_impl::set_session_context\n"));
-
- this->context_ =
- BasicSP::CCM_BMDisplay_Context::_narrow (ctx
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK;
-
- if (CORBA::is_nil (this->context_.in ()))
- ACE_THROW (CORBA::INTERNAL ());
- // Urm, we actually discard exceptions thown from this operation.
-}
-
-void
-MyImpl::BMDisplay_exec_impl::ccm_activate (ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::CCMException))
-{
- ACE_DEBUG ((LM_DEBUG, "MyImpl::BMDisplay_exec_impl::ccm_activate\n"));
-
- // @@ This hack work around a missing feature in CIAO's assembly
- // mechanism where a Softpkg descriptor can specify it's dependency
- // to a valuetype factory and instruct the deployment framework to
- // initialize and register the corresponding valuefactory in the
- // component server. Here, we are registering the valuefactory
- // explicitly to work around this problem.
-
- char *argv[1] = { "BMDisplay_exec"};
-
- int argc = sizeof(argv)/sizeof(argv[0]);
- CORBA::ORB_var orb = CORBA::ORB_init(argc, argv ACE_ENV_ARG_PARAMETER);
-
- CIAO_REGISTER_VALUE_FACTORY (orb.in(), BasicSP::DataAvailable_init,
- BasicSP::DataAvailable);
-}
-
-void
-MyImpl::BMDisplay_exec_impl::ccm_passivate (ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::CCMException))
-{
- ACE_DEBUG ((LM_DEBUG, "MyImpl::BMDisplay_exec_impl::ccm_passivate\n"));
-}
-
-void
-MyImpl::BMDisplay_exec_impl::ccm_remove (ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::CCMException))
-{
- ACE_DEBUG ((LM_DEBUG, "MyImpl::BMDisplay_exec_impl::ccm_remove\n"));
-}
-
-/// Default ctor.
-MyImpl::BMDisplayHome_exec_impl::BMDisplayHome_exec_impl ()
-{
-}
-
-/// Default dtor.
-MyImpl::BMDisplayHome_exec_impl::~BMDisplayHome_exec_impl ()
-{
-}
-
-// Explicit home operations.
-
-// Implicit home operations.
-
-::Components::EnterpriseComponent_ptr
-MyImpl::BMDisplayHome_exec_impl::create (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::CCMException))
-{
- return new MyImpl::BMDisplay_exec_impl;
-}
-
-
-extern "C" BMDISPLAY_EXEC_Export ::Components::HomeExecutorBase_ptr
-createBMDisplayHome_Impl (void)
-{
- return new MyImpl::BMDisplayHome_exec_impl;
-}
diff --git a/TAO/CIAO/examples/handcrafted/BasicSP/BMDisplay/BMDisplay_exec.h b/TAO/CIAO/examples/handcrafted/BasicSP/BMDisplay/BMDisplay_exec.h
deleted file mode 100644
index 25c5c4f3488..00000000000
--- a/TAO/CIAO/examples/handcrafted/BasicSP/BMDisplay/BMDisplay_exec.h
+++ /dev/null
@@ -1,102 +0,0 @@
-// $Id$
-
-//==============================================================
-/**
- * @file BMDisplay_exec.h
- *
- * Header file for the actual BMDisplay and BMDisplayHome component
- * implementations.
- *
- * @author Balachandran Natarajan <bala@dre.vanderbilt.edu>
- */
-//==============================================================
-#ifndef CIAO_BMDISPLAY_EXEC_H
-#define CIAO_BMDISPLAY_EXEC_H
-
-#include "BMDisplayEIC.h"
-#include "tao/LocalObject.h"
-
-namespace MyImpl
-{
- /**
- * @class BMDisplay_exec_impl
- *
- * RateGen executor implementation class.
- */
- class BMDISPLAY_EXEC_Export BMDisplay_exec_impl :
- public virtual BasicSP::BMDisplay_Exec,
- public virtual TAO_Local_RefCounted_Object
- {
- public:
- /// Default constructor.
- BMDisplay_exec_impl ();
-
- /// Default destructor.
- ~BMDisplay_exec_impl ();
-
- // Operations from BasicSP::BMDisplay
-
- virtual void
- push_data_ready (BasicSP::DataAvailable *ev
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- // Operations from Components::SessionComponent
-
- virtual void
- set_session_context (Components::SessionContext_ptr ctx
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::CCMException));
-
- virtual void
- ccm_activate (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::CCMException));
-
- virtual void
- ccm_passivate (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::CCMException));
-
- virtual void
- ccm_remove (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::CCMException));
- protected:
- /// Copmponent specific context
- BasicSP::CCM_BMDisplay_Context_var context_;
- };
-
- /**
- * @class BMDisplayHome_exec_impl
- *
- * BMDisplay home executor implementation class.
- */
- class BMDISPLAY_EXEC_Export BMDisplayHome_exec_impl :
- public virtual BasicSP::CCM_BMDisplayHome,
- public virtual TAO_Local_RefCounted_Object
- {
- public:
- /// Default ctor.
- BMDisplayHome_exec_impl ();
-
- /// Default dtor.
- ~BMDisplayHome_exec_impl ();
-
- // Explicit home operations.
-
- // Implicit home operations.
-
- virtual ::Components::EnterpriseComponent_ptr
- create (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::CCMException));
- };
-
-}
-
-extern "C" BMDISPLAY_EXEC_Export ::Components::HomeExecutorBase_ptr
-createBMDisplayHome_Impl (void);
-
-#endif /* BMDISPLAY_EXEC_H */
diff --git a/TAO/CIAO/examples/handcrafted/BasicSP/BMDisplay/BMDisplay_exec_export.h b/TAO/CIAO/examples/handcrafted/BasicSP/BMDisplay/BMDisplay_exec_export.h
deleted file mode 100644
index 1f684e4e2c0..00000000000
--- a/TAO/CIAO/examples/handcrafted/BasicSP/BMDisplay/BMDisplay_exec_export.h
+++ /dev/null
@@ -1,50 +0,0 @@
-
-// -*- C++ -*-
-// $Id$
-// Definition for Win32 Export directives.
-// This file is generated automatically by generate_export_file.pl BMDISPLAY_EXEC
-// ------------------------------
-#ifndef BMDISPLAY_EXEC_EXPORT_H
-#define BMDISPLAY_EXEC_EXPORT_H
-
-#include "ace/config-all.h"
-
-#if !defined (BMDISPLAY_EXEC_HAS_DLL)
-# define BMDISPLAY_EXEC_HAS_DLL 1
-#endif /* ! BMDISPLAY_EXEC_HAS_DLL */
-
-#if defined (BMDISPLAY_EXEC_HAS_DLL) && (BMDISPLAY_EXEC_HAS_DLL == 1)
-# if defined (BMDISPLAY_EXEC_BUILD_DLL)
-# define BMDISPLAY_EXEC_Export ACE_Proper_Export_Flag
-# define BMDISPLAY_EXEC_SINGLETON_DECLARATION(T) ACE_EXPORT_SINGLETON_DECLARATION (T)
-# define BMDISPLAY_EXEC_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_EXPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
-# else /* BMDISPLAY_EXEC_BUILD_DLL */
-# define BMDISPLAY_EXEC_Export ACE_Proper_Import_Flag
-# define BMDISPLAY_EXEC_SINGLETON_DECLARATION(T) ACE_IMPORT_SINGLETON_DECLARATION (T)
-# define BMDISPLAY_EXEC_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_IMPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
-# endif /* BMDISPLAY_EXEC_BUILD_DLL */
-#else /* BMDISPLAY_EXEC_HAS_DLL == 1 */
-# define BMDISPLAY_EXEC_Export
-# define BMDISPLAY_EXEC_SINGLETON_DECLARATION(T)
-# define BMDISPLAY_EXEC_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
-#endif /* BMDISPLAY_EXEC_HAS_DLL == 1 */
-
-// Set BMDISPLAY_EXEC_NTRACE = 0 to turn on library specific tracing even if
-// tracing is turned off for ACE.
-#if !defined (BMDISPLAY_EXEC_NTRACE)
-# if (ACE_NTRACE == 1)
-# define BMDISPLAY_EXEC_NTRACE 1
-# else /* (ACE_NTRACE == 1) */
-# define BMDISPLAY_EXEC_NTRACE 0
-# endif /* (ACE_NTRACE == 1) */
-#endif /* !BMDISPLAY_EXEC_NTRACE */
-
-#if (BMDISPLAY_EXEC_NTRACE == 1)
-# define BMDISPLAY_EXEC_TRACE(X)
-#else /* (BMDISPLAY_EXEC_NTRACE == 1) */
-# define BMDISPLAY_EXEC_TRACE(X) ACE_TRACE_IMPL(X)
-#endif /* (BMDISPLAY_EXEC_NTRACE == 1) */
-
-#endif /* BMDISPLAY_EXEC_EXPORT_H */
-
-// End of auto generated file.
diff --git a/TAO/CIAO/examples/handcrafted/BasicSP/BMDisplay/BMDisplay_stub_export.h b/TAO/CIAO/examples/handcrafted/BasicSP/BMDisplay/BMDisplay_stub_export.h
deleted file mode 100644
index 399dbb7425d..00000000000
--- a/TAO/CIAO/examples/handcrafted/BasicSP/BMDisplay/BMDisplay_stub_export.h
+++ /dev/null
@@ -1,50 +0,0 @@
-
-// -*- C++ -*-
-// $Id$
-// Definition for Win32 Export directives.
-// This file is generated automatically by generate_export_file.pl BMDISPLAY_STUB
-// ------------------------------
-#ifndef BMDISPLAY_STUB_EXPORT_H
-#define BMDISPLAY_STUB_EXPORT_H
-
-#include "ace/config-all.h"
-
-#if !defined (BMDISPLAY_STUB_HAS_DLL)
-# define BMDISPLAY_STUB_HAS_DLL 1
-#endif /* ! BMDISPLAY_STUB_HAS_DLL */
-
-#if defined (BMDISPLAY_STUB_HAS_DLL) && (BMDISPLAY_STUB_HAS_DLL == 1)
-# if defined (BMDISPLAY_STUB_BUILD_DLL)
-# define BMDISPLAY_STUB_Export ACE_Proper_Export_Flag
-# define BMDISPLAY_STUB_SINGLETON_DECLARATION(T) ACE_EXPORT_SINGLETON_DECLARATION (T)
-# define BMDISPLAY_STUB_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_EXPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
-# else /* BMDISPLAY_STUB_BUILD_DLL */
-# define BMDISPLAY_STUB_Export ACE_Proper_Import_Flag
-# define BMDISPLAY_STUB_SINGLETON_DECLARATION(T) ACE_IMPORT_SINGLETON_DECLARATION (T)
-# define BMDISPLAY_STUB_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_IMPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
-# endif /* BMDISPLAY_STUB_BUILD_DLL */
-#else /* BMDISPLAY_STUB_HAS_DLL == 1 */
-# define BMDISPLAY_STUB_Export
-# define BMDISPLAY_STUB_SINGLETON_DECLARATION(T)
-# define BMDISPLAY_STUB_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
-#endif /* BMDISPLAY_STUB_HAS_DLL == 1 */
-
-// Set BMDISPLAY_STUB_NTRACE = 0 to turn on library specific tracing even if
-// tracing is turned off for ACE.
-#if !defined (BMDISPLAY_STUB_NTRACE)
-# if (ACE_NTRACE == 1)
-# define BMDISPLAY_STUB_NTRACE 1
-# else /* (ACE_NTRACE == 1) */
-# define BMDISPLAY_STUB_NTRACE 0
-# endif /* (ACE_NTRACE == 1) */
-#endif /* !BMDISPLAY_STUB_NTRACE */
-
-#if (BMDISPLAY_STUB_NTRACE == 1)
-# define BMDISPLAY_STUB_TRACE(X)
-#else /* (BMDISPLAY_STUB_NTRACE == 1) */
-# define BMDISPLAY_STUB_TRACE(X) ACE_TRACE_IMPL(X)
-#endif /* (BMDISPLAY_STUB_NTRACE == 1) */
-
-#endif /* BMDISPLAY_STUB_EXPORT_H */
-
-// End of auto generated file.
diff --git a/TAO/CIAO/examples/handcrafted/BasicSP/BMDisplay/BMDisplay_svnt.cpp b/TAO/CIAO/examples/handcrafted/BasicSP/BMDisplay/BMDisplay_svnt.cpp
deleted file mode 100644
index c574360909e..00000000000
--- a/TAO/CIAO/examples/handcrafted/BasicSP/BMDisplay/BMDisplay_svnt.cpp
+++ /dev/null
@@ -1,955 +0,0 @@
-// $Id$
-#include "BMDisplay_svnt.h"
-#include "Cookies.h"
-
-BasicSP::ReadData_ptr
-CIAO_GLUE_BasicSP::BMDisplay_Context::get_connection_comp_data (ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- return BasicSP::ReadData::_duplicate (this->ciao_uses_comp_data_.in ());
-}
-
-// Simplex [receptacle name] connection management operations
-void
-CIAO_GLUE_BasicSP::BMDisplay_Context::connect_comp_data (BasicSP::ReadData_ptr c
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- ::Components::AlreadyConnected,
- ::Components::InvalidConnection))
-{
- if (! CORBA::is_nil (this->ciao_uses_comp_data_.in ()))
- ACE_THROW (::Components::AlreadyConnected ());
-
- if (CORBA::is_nil (c))
- ACE_THROW (::Components::InvalidConnection ());
-
- // When do we throw InvalidConnection exception?
- this->ciao_uses_comp_data_ = BasicSP::ReadData::_duplicate (c);
-}
-
-BasicSP::ReadData_ptr
-CIAO_GLUE_BasicSP::BMDisplay_Context::disconnect_comp_data (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- ::Components::NoConnection))
-{
- if (CORBA::is_nil (this->ciao_uses_comp_data_.in ()))
- ACE_THROW (::Components::NoConnection ());
-
- return this->ciao_uses_comp_data_._retn ();
-}
-
-// Operations for ::Components::SessionContext interface
-CORBA::Object_ptr
-CIAO_GLUE_BasicSP::BMDisplay_Context::get_CCM_object (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::IllegalState))
-{
- // @@ How do I check for IllegalState here? When it's not in a
- // callback operation...
- // ACE_THROW_RETURN (::Components::IllegalState (), 0);
-
- if (CORBA::is_nil (this->component_.in ()))
- {
- CORBA::Object_var obj = this->container_->get_objref (this->servant_
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (0);
-
- this->component_ = BasicSP::BMDisplay::_narrow (obj.in ()
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (0);
-
- if (CORBA::is_nil (this->component_.in ()))
- ACE_THROW_RETURN (CORBA::INTERNAL (), 0); // This should not happen...
- }
- return BasicSP::BMDisplay::_duplicate (this->component_.in ());
-}
-
-
-CIAO_GLUE_BasicSP::BMDisplay_Context::BMDisplay_Context (::Components::CCMHome_ptr home,
- ::CIAO::Session_Container *c,
- CIAO_GLUE_BasicSP::BMDisplay_Servant *sv)
- : home_ (::Components::CCMHome::_duplicate (home)),
- container_ (c),
- servant_ (sv)
-{
-
-}
-
-
-CIAO_GLUE_BasicSP::BMDisplay_Context::~BMDisplay_Context ()
-{
-}
-
-// Operations for emits interfaces.
-
-// Operations for ::Components::CCMContext
- ::Components::Principal_ptr
-CIAO_GLUE_BasicSP::BMDisplay_Context::get_caller_principal (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- // @@ We don't support Security in CIAO yet.
- ACE_THROW_RETURN (CORBA::NO_IMPLEMENT (), 0);
-}
-
- ::Components::CCMHome_ptr
-CIAO_GLUE_BasicSP::BMDisplay_Context::get_CCM_home (ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- return ::Components::CCMHome::_duplicate (this->home_.in ());
-}
-
- CORBA::Boolean
-CIAO_GLUE_BasicSP::BMDisplay_Context::get_rollback_only (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::IllegalState))
-{
- // @@ We don't support Transaction in CIAO yet.
- ACE_THROW_RETURN (CORBA::NO_IMPLEMENT (), 0);
-}
-
- ::Components::Transaction::UserTransaction_ptr
-CIAO_GLUE_BasicSP::BMDisplay_Context::get_user_transaction (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::IllegalState))
-{
- // @@ We don't support Transaction in CIAO yet.
- ACE_THROW_RETURN (CORBA::NO_IMPLEMENT (), 0);
-}
-
- CORBA::Boolean
-CIAO_GLUE_BasicSP::BMDisplay_Context::is_caller_in_role (const char * role
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- ACE_UNUSED_ARG (role);
-
- // @@ We don't support Transaction in CIAO yet.
- ACE_THROW_RETURN (CORBA::NO_IMPLEMENT (), 0);
-}
-
- void
-CIAO_GLUE_BasicSP::BMDisplay_Context::set_rollback_only (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::IllegalState))
-{
- // @@ We don't support Transaction in CIAO yet.
- ACE_THROW (CORBA::NO_IMPLEMENT ());
-}
-
-
-//////////////////////////////////////////////////////////////////
-// Component Servant Glue code implementation
-//////////////////////////////////////////////////////////////////
-
-CIAO_GLUE_BasicSP::BMDisplay_Servant::BMDisplay_Servant (BasicSP::CCM_BMDisplay_ptr exe,
- ::Components::CCMHome_ptr h,
- ::CIAO::Session_Container *c)
- : executor_ (BasicSP::CCM_BMDisplay::_duplicate (exe)),
- container_ (c)
-{
- this->context_ = new CIAO_GLUE_BasicSP::BMDisplay_Context (h, c, this);
-
- ACE_TRY_NEW_ENV
- {
- Components::SessionComponent_var scom =
- Components::SessionComponent::_narrow (exe
- ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- if (! CORBA::is_nil (scom.in ()))
- scom->set_session_context (this->context_
- ACE_ENV_ARG_PARAMETER);
- }
- ACE_CATCHANY
- {
- // @@ Ignore any exceptions? What happens if
- // set_session_context throws an CCMException?
- }
- ACE_ENDTRY;
-}
-
-CIAO_GLUE_BasicSP::BMDisplay_Servant::~BMDisplay_Servant (void)
-{
- ACE_TRY_NEW_ENV
- {
- Components::SessionComponent_var scom =
- Components::SessionComponent::_narrow (this->executor_.in ()
- ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- if (! CORBA::is_nil (scom.in ()))
- scom->ccm_remove (ACE_ENV_SINGLE_ARG_PARAMETER);
- }
- ACE_CATCHANY
- {
- // @@ Ignore any exceptions? What happens if
- // set_session_context throws an CCMException?
- }
- ACE_ENDTRY;
- this->context_->_remove_ref ();
-}
-
-// Operations for provides interfaces.
-
-// Operations for consumers interfaces.
-
-// EventConsumer Glue Code implementation
-// Inherit from ::Compopnents::EventBConsumerBase
-void
-CIAO_GLUE_BasicSP::BMDisplay_Servant::DataAvailableConsumer_data_ready_Servant::push_event (::Components::EventBase *ev
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- ::Components::BadEventType))
-{
- BasicSP::DataAvailable_var ev_type = BasicSP::DataAvailable::_downcast (ev);
- if (ev_type != 0)
- {
- this->push_DataAvailable (ev_type.in ()
- ACE_ENV_ARG_PARAMETER);
- return;
- }
-
- // @@ This include the case when we receive a parent eventtype of [eventtype]
-
- ACE_THROW (::Components::BadEventType ());
-}
-
-// get_component implementation.
-BasicSP::DataAvailableConsumer_ptr
-CIAO_GLUE_BasicSP::BMDisplay_Servant::get_consumer_data_ready (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- if (CORBA::is_nil (this->consumes_data_ready_.in ()))
- {
- CIAO_GLUE_BasicSP::BMDisplay_Servant::DataAvailableConsumer_data_ready_Servant *svt =
- new CIAO_GLUE_BasicSP::BMDisplay_Servant::DataAvailableConsumer_data_ready_Servant (this->executor_.in (),
- this->context_);
- PortableServer::ServantBase_var safe_servant (svt);
-
- CORBA::Object_var obj = this->container_->install_servant (svt
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (0);
-
- BasicSP::DataAvailableConsumer_var eco
- = BasicSP::DataAvailableConsumer::_narrow (obj.in ()
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (0);
-
- this->consumes_data_ready_ = eco;
- }
-
- return BasicSP::DataAvailableConsumer::_duplicate (this->consumes_data_ready_.in ());
-}
-
-// Operations for Navigation interface
-CORBA::Object_ptr
-CIAO_GLUE_BasicSP::BMDisplay_Servant::provide_facet (const char * name
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException ,
- Components::InvalidName))
-{
- ACE_UNUSED_ARG (name);
- ACE_THROW_RETURN (::Components::InvalidName (), 0);
-}
-
-::Components::FacetDescriptions *
-CIAO_GLUE_BasicSP::BMDisplay_Servant::get_all_facets (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- ::Components::FacetDescriptions_var collection
- = new ::Components::FacetDescriptions (0); // #99 = number of all provided
- // facets including those inherited
- // from parent component(s).
- return collection._retn ();
-
-}
-
-::Components::FacetDescriptions *
-CIAO_GLUE_BasicSP::BMDisplay_Servant::get_named_facets (const Components::NameList & names
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::InvalidName))
-{
- ACE_UNUSED_ARG (names);
- ACE_THROW_RETURN (::Components::InvalidName (), 0);
-}
-
-CORBA::Boolean
-CIAO_GLUE_BasicSP::BMDisplay_Servant::same_component (CORBA::Object_ptr object_ref
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- if (CORBA::is_nil (object_ref))
- ACE_THROW_RETURN (CORBA::BAD_PARAM (), 0);
-
- CORBA::Object_var the_other = object_ref->_get_component (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_CHECK_RETURN (0);
-
- CORBA::Object_var me = this->context_->get_CCM_object (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_CHECK_RETURN (0);
-
- return me->_is_equivalent (object_ref
- ACE_ENV_ARG_PARAMETER);
-}
-
-// Operations for Receptacles interface
-::Components::Cookie *
-CIAO_GLUE_BasicSP::BMDisplay_Servant::connect (const char * name,
- CORBA::Object_ptr connection
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::InvalidName,
- Components::InvalidConnection,
- Components::AlreadyConnected,
- Components::ExceededConnectionLimit))
-{
- // @@ We can omit this if clause if there's no receptacle in this component.
- if (name == 0)
- ACE_THROW_RETURN (Components::InvalidName (), 0);
-
- if (ACE_OS_String::strcmp (name, "comp_data") == 0)
- {
- BasicSP::ReadData_var _ciao_conn =
- BasicSP::ReadData::_narrow (connection
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (0);
-
- if (CORBA::is_nil (_ciao_conn.in ()))
- ACE_THROW_RETURN (::Components::InvalidConnection (), 0);
-
- this->connect_comp_data (_ciao_conn.in ()
- ACE_ENV_ARG_PARAMETER);
- return 0;
- }
-
- ACE_THROW_RETURN (Components::InvalidName (), 0);
-}
-
-CORBA::Object_ptr
-CIAO_GLUE_BasicSP::BMDisplay_Servant::disconnect (const char * name,
- Components::Cookie *ck
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::InvalidName,
- Components::InvalidConnection,
- Components::CookieRequired,
- Components::NoConnection))
-{
- ACE_UNUSED_ARG (ck);
- // @@ We can omit this if clause if there's no receptacle in this component.
- if (name == 0)
- ACE_THROW_RETURN (Components::InvalidName (), 0);
-
- if (ACE_OS_String::strcmp (name, "comp_data") == 0)
- return this->disconnect_comp_data (ACE_ENV_SINGLE_ARG_PARAMETER);
-
- ACE_THROW_RETURN (Components::InvalidName (), 0);
-}
-
-::Components::ConnectionDescriptions *
-CIAO_GLUE_BasicSP::BMDisplay_Servant::get_connections (const char * name
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::InvalidName))
-{
- // @@ We can omit this if clause if there's no receptacle in this component.
- if (name == 0)
- ACE_THROW_RETURN (Components::InvalidName (), 0);
-
- if (ACE_OS_String::strcmp (name, "comp_data") == 0)
- {
- ::Components::ConnectionDescriptions_var retv
- = new ::Components::ConnectionDescriptions;
- retv->length (1);
-
- ::Components::ConnectionDescription_var x
- = new OBV_Components::ConnectionDescription;
- x ->ck (0);
- x ->objref (this->get_connection_comp_data (ACE_ENV_SINGLE_ARG_PARAMETER));
- ACE_CHECK_RETURN (0);
-
- // retv[0] = x._retn ();
-
- return retv._retn ();
- }
-
- ACE_THROW_RETURN (Components::InvalidName (), 0);
-}
-
-::Components::ReceptacleDescriptions *
-CIAO_GLUE_BasicSP::BMDisplay_Servant::get_all_receptacles (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- ::Components::ReceptacleDescriptions_var retv =
- new ::Components::ReceptacleDescriptions (1); // #99 is number of receptacles
- // this component has.
- retv->length (1);
- CORBA::ULong i = 0;
-
- retv[i] = new OBV_Components::ReceptacleDescription;
-
- retv[i]->Name ((const char *) "comp_data");
- retv[i]->type_id ((const char *) "IDL:BasicSP/ReadData:1.0");
- retv[i]->is_multiple (0);
- retv[i]->connections (*this->get_connections ("comp_data"
- ACE_ENV_ARG_PARAMETER));
- return retv._retn ();
-}
-
-::Components::ReceptacleDescriptions *
-CIAO_GLUE_BasicSP::BMDisplay_Servant::get_named_receptacles (const Components::NameList & names
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::InvalidName))
-{
- ::Components::ReceptacleDescriptions_var retv =
- new ::Components::ReceptacleDescriptions (names.length ());
- retv->length (names.length ());
-
- CORBA::ULong i = 0;
- for (; i < names.length (); ++i)
- {
- retv[i] = new ::OBV_Components::ReceptacleDescription;
- if (ACE_OS_String::strcmp (names[i].in (), "comp_data") == 0)
- {
- retv[i]->Name ((const char *) "comp_data");
- retv[i]->type_id ((const char *) "IDL:BasicSP/ReadData:1.0");
- retv[i]->is_multiple (0);
- retv[i]->connections (*this->get_connections ("comp_data"
- ACE_ENV_ARG_PARAMETER));
- }
- else
- ACE_THROW_RETURN (::Components::InvalidName (), 0);
- }
- return retv._retn ();
-}
-
-// Operations for Events interface
-::Components::EventConsumerBase_ptr
-CIAO_GLUE_BasicSP::BMDisplay_Servant::get_consumer (const char * sink_name
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::InvalidName))
-{
- // @@ We can omit this if clause if there's no event sinks in this component.
- if (sink_name == 0)
- ACE_THROW_RETURN (Components::InvalidName (), 0);
-
- if (ACE_OS_String::strcmp (sink_name, "data_ready") == 0)
- return this->get_consumer_data_ready (ACE_ENV_SINGLE_ARG_PARAMETER);
-
- ACE_THROW_RETURN (Components::InvalidName (), 0);
-}
-
-::Components::Cookie *
-CIAO_GLUE_BasicSP::BMDisplay_Servant::subscribe (const char * ,
- Components::EventConsumerBase_ptr
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::InvalidName,
- Components::InvalidConnection,
- Components::ExceededConnectionLimit))
-{
- ACE_THROW_RETURN (Components::InvalidName (), 0);
-}
-
-::Components::EventConsumerBase_ptr
-CIAO_GLUE_BasicSP::BMDisplay_Servant::unsubscribe (const char * ,
- Components::Cookie *
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::InvalidName,
- Components::InvalidConnection))
-{
- ACE_THROW_RETURN (Components::InvalidName (), 0);
-}
-
-void
-CIAO_GLUE_BasicSP::BMDisplay_Servant::connect_consumer (const char * ,
- Components::EventConsumerBase_ptr
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::InvalidName,
- Components::AlreadyConnected,
- Components::InvalidConnection))
-{
- ACE_THROW (Components::InvalidName ());
-}
-
-::Components::EventConsumerBase_ptr
-CIAO_GLUE_BasicSP::BMDisplay_Servant::disconnect_consumer (const char *
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::InvalidName,
- Components::NoConnection))
-{
- ACE_THROW_RETURN (Components::InvalidName (), 0);
-}
-
-::Components::ConsumerDescriptions *
-CIAO_GLUE_BasicSP::BMDisplay_Servant::get_all_consumers (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- ::Components::ConsumerDescriptions_var retv =
- new ::Components::ConsumerDescriptions (1); // #99 is the number of consumers
- // this component has.
- retv->length (1);
-
- CORBA::ULong i = 0;
- retv[i] = new OBV_Components::ConsumerDescription;
- retv[i]->Name ("data_ready");
- retv[i]->type_id ("IDL:BasicSP/DataAvailableConsumer:1.0");
- BasicSP::DataAvailableConsumer_var c
- = this->get_consumer_data_ready (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_CHECK_RETURN (0);
-
- retv[i]->consumer (c.in ());
-
- return retv._retn ();
-}
-
-::Components::ConsumerDescriptions *
-CIAO_GLUE_BasicSP::BMDisplay_Servant::get_named_consumers (const Components::NameList & names
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::InvalidName))
-{
- ::Components::ConsumerDescriptions_var retv =
- new ::Components::ConsumerDescriptions (names.length ());
- retv->length (names.length ());
-
- CORBA::ULong i = 0;
- for (; i < names.length (); ++i)
- {
- retv[i] = new OBV_Components::ConsumerDescription;
-
- if (ACE_OS_String::strcmp (names[i].in (), "data_ready") == 0)
- {
- retv[i]->Name ("data_ready");
- retv[i]->type_id ("IDL:BasicSP/DataAvailableConsumer:1.0");
- BasicSP::DataAvailableConsumer_var c =
- this->get_consumer_data_ready (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_CHECK_RETURN (0);
-
- retv[i]->consumer (c.in ());
- }
- else
- ACE_THROW_RETURN (::Components::InvalidName (), 0);
- }
- return retv._retn ();
-}
-
-::Components::EmitterDescriptions *
-CIAO_GLUE_BasicSP::BMDisplay_Servant::get_all_emitters (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- ::Components::EmitterDescriptions_var retv =
- new ::Components::EmitterDescriptions (0); // #99 is the number of emitters
- // this component has.
- return retv._retn ();
-}
-
-::Components::EmitterDescriptions *
-CIAO_GLUE_BasicSP::BMDisplay_Servant::get_named_emitters (const Components::NameList & names
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::InvalidName))
-{
- ::Components::EmitterDescriptions_var retv =
- new ::Components::EmitterDescriptions (names.length ());
- retv->length (names.length ());
-
- CORBA::ULong i = 0;
- for (; i < names.length (); ++i)
- {
- ACE_THROW_RETURN (::Components::InvalidName (), 0);
- }
- return retv._retn ();
-}
-
-::Components::PublisherDescriptions *
-CIAO_GLUE_BasicSP::BMDisplay_Servant::get_all_publishers (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- // @@ to-do
-
- // Need to add interfaces in the Context class to gather the information.
- // Or we can just relay it to the Context object.
- ACE_THROW_RETURN (CORBA::NO_IMPLEMENT (), 0);
-}
-
-::Components::PublisherDescriptions *
-CIAO_GLUE_BasicSP::BMDisplay_Servant::get_named_publishers (const Components::NameList & names
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::InvalidName))
-{
- ACE_UNUSED_ARG (names);
- // @@ to-do
-
- // Need to add interfaces in the Context class to gather the information.
- // Or we can just relay it to the Context object.
- ACE_THROW_RETURN (CORBA::NO_IMPLEMENT (), 0);
-}
-
-// Operations for CCMObject interface
-::CORBA::IRObject_ptr
-CIAO_GLUE_BasicSP::BMDisplay_Servant::get_component_def (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- // @@ to-do: Connect to an IfR?
- ACE_THROW_RETURN (CORBA::NO_IMPLEMENT (), 0);
-}
-
-::Components::CCMHome_ptr
-CIAO_GLUE_BasicSP::BMDisplay_Servant::get_ccm_home (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- return this->context_->get_CCM_home (ACE_ENV_SINGLE_ARG_PARAMETER);
-}
-
-::Components::PrimaryKeyBase *
-CIAO_GLUE_BasicSP::BMDisplay_Servant::get_primary_key (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::NoKeyAvailable))
-{
- // This is a keyless component.
- ACE_THROW_RETURN (::Components::NoKeyAvailable (), 0);
-}
-
-void
-CIAO_GLUE_BasicSP::BMDisplay_Servant::configuration_complete (ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::InvalidConfiguration))
-{
- // @@ to-do
- // No-op. Don't know how to pass this info to monolithic executor.
-}
-
-void
-CIAO_GLUE_BasicSP::BMDisplay_Servant::remove (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::RemoveFailure))
-{
- // @@ to-do
- // Need to figure out what to do here. E.g., tear down the all the connections
- // this component has?
-}
-
-::Components::ComponentPortDescription *
-CIAO_GLUE_BasicSP::BMDisplay_Servant::get_all_ports (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- ::Components::ComponentPortDescription_var retv =
- new OBV_Components::ComponentPortDescription;
-
- ::Components::FacetDescriptions_var facets_desc
- = this->get_all_facets (ACE_ENV_SINGLE_ARG_PARAMETER);
- ::Components::ReceptacleDescriptions_var receptacle_desc
- = get_all_receptacles (ACE_ENV_SINGLE_ARG_PARAMETER);
- ::Components::ConsumerDescriptions_var consumer_desc
- = this->get_all_consumers (ACE_ENV_SINGLE_ARG_PARAMETER);
- ::Components::EmitterDescriptions_var emitter_desc
- = this->get_all_emitters (ACE_ENV_SINGLE_ARG_PARAMETER);
- ::Components::PublisherDescriptions_var publisher_desc
- = this->get_all_publishers (ACE_ENV_SINGLE_ARG_PARAMETER);
-
- retv->facets (facets_desc.in());
- retv->receptacles (receptacle_desc.in());
- retv->consumers (consumer_desc.in());
- retv->emitters (emitter_desc.in());
- retv->publishers (publisher_desc.in());
-
- return retv._retn();
-}
-
-// get_component implementation.
-CORBA::Object_ptr
-CIAO_GLUE_BasicSP::BMDisplay_Servant::_get_component (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- ::Components::SessionContext_var sc =
- ::Components::SessionContext::_narrow (this->context_);
-
- if (! CORBA::is_nil(sc.in ()))
- return sc->get_CCM_object (ACE_ENV_SINGLE_ARG_PARAMETER);
-
- // @@ Do we need to try the following case here? We are afterall implementing
- // a session component here.
- ::Components::EntityContext_var ec =
- ::Components::EntityContext::_narrow (this->context_);
-
- if (! CORBA::is_nil(ec.in ()))
- return ec->get_CCM_object (ACE_ENV_SINGLE_ARG_PARAMETER);
-
- ACE_THROW_RETURN (CORBA::INTERNAL (), 0);
-}
-
-void
-CIAO_GLUE_BasicSP::BMDisplay_Servant::_ciao_activate (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- ::Components::SessionComponent_var temp =
- ::Components::SessionComponent::_narrow (this->executor_.in ()
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK;
-
- if (! CORBA::is_nil (temp.in ()))
- temp->ccm_activate (ACE_ENV_SINGLE_ARG_PARAMETER);
-}
-
-void
-CIAO_GLUE_BasicSP::BMDisplay_Servant::_ciao_passivate (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- ::Components::SessionComponent_var temp =
- ::Components::SessionComponent::_narrow (this->executor_.in ()
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK;
-
- if (! CORBA::is_nil (temp.in ()))
- temp->ccm_passivate (ACE_ENV_SINGLE_ARG_PARAMETER);
-}
-
- void
-CIAO_GLUE_BasicSP::BMDisplay_Servant::connect_comp_data (BasicSP::ReadData_ptr c
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- ::Components::AlreadyConnected,
- ::Components::InvalidConnection))
-{
- this->context_->connect_comp_data (c
- ACE_ENV_ARG_PARAMETER);
-}
-
- BasicSP::ReadData_ptr
-CIAO_GLUE_BasicSP::BMDisplay_Servant::disconnect_comp_data (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- ::Components::NoConnection))
-{
- return this->context_->disconnect_comp_data (ACE_ENV_SINGLE_ARG_PARAMETER);
-}
-
-BasicSP::ReadData_ptr
-CIAO_GLUE_BasicSP::BMDisplay_Servant::get_connection_comp_data (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- return this->context_->get_connection_comp_data (ACE_ENV_SINGLE_ARG_PARAMETER);
-}
-
-// Constructor and destructor.
-
-CIAO_GLUE_BasicSP::BMDisplay_Servant::DataAvailableConsumer_data_ready_Servant::DataAvailableConsumer_data_ready_Servant
-(BasicSP::CCM_BMDisplay_ptr executor,
- BasicSP::CCM_BMDisplay_Context_ptr c)
- : executor_ (BasicSP::CCM_BMDisplay::_duplicate (executor)),
- ctx_ (BasicSP::CCM_BMDisplay_Context::_duplicate (c))
-{
-}
-
-
-CIAO_GLUE_BasicSP::BMDisplay_Servant::DataAvailableConsumer_data_ready_Servant::~DataAvailableConsumer_data_ready_Servant ()
-{
-}
-
- CORBA::Object_ptr
-CIAO_GLUE_BasicSP::BMDisplay_Servant::DataAvailableConsumer_data_ready_Servant::_get_component (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- return this->ctx_->get_CCM_object (ACE_ENV_SINGLE_ARG_PARAMETER);
-}
-
- void
-CIAO_GLUE_BasicSP::BMDisplay_Servant::DataAvailableConsumer_data_ready_Servant::push_DataAvailable
-(BasicSP::DataAvailable *evt
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- this->executor_->push_data_ready (evt
- ACE_ENV_ARG_PARAMETER);
-}
-
-
-//////////////////////////////////////////////////////////////////
-// Component Home Glue code implementation
-//////////////////////////////////////////////////////////////////
-
-BasicSP::BMDisplay_ptr
-CIAO_GLUE_BasicSP::BMDisplayHome_Servant::_ciao_activate_component (BasicSP::CCM_BMDisplay_ptr exe
- ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- CORBA::Object_var hobj
- = this->container_->get_objref (this
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (0);
-
- ::Components::CCMHome_var home
- = ::Components::CCMHome::_narrow (hobj.in ()
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (0);
-
- CIAO_GLUE_BasicSP::BMDisplay_Servant *svt =
- new CIAO_GLUE_BasicSP::BMDisplay_Servant (exe,
- home.in (),
- this->container_);
- PortableServer::ServantBase_var safe (svt);
- PortableServer::ObjectId_var oid;
-
- CORBA::Object_var objref
- = this->container_->install_component (svt,
- oid.out ()
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (0);
-
- svt->_ciao_activate (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_CHECK_RETURN (0);
-
- BasicSP::BMDisplay_var ho
- = BasicSP::BMDisplay::_narrow (objref.in ()
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (0);
-
- if (this->component_map_.bind (oid.in (), svt) == 0)
- {
- // @@ what should happen if bind fail?
- safe._retn ();
- }
- return ho._retn ();
-}
-
-void
-CIAO_GLUE_BasicSP::BMDisplayHome_Servant::_ciao_passivate_component (BasicSP::BMDisplay_ptr comp
- ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- PortableServer::ObjectId_var oid;
-
- this->container_->uninstall_component (comp,
- oid.out ()
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK;
-
- CIAO_GLUE_BasicSP::BMDisplay_Servant *servant = 0;
- if (this->component_map_.unbind (oid.in (), servant) == 0)
- {
- PortableServer::ServantBase_var safe (servant);
- servant->_ciao_passivate (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_CHECK;
- }
- // What happen if unbind failed?
-
-}
-
-// Operations for Implicit Home interface
-BasicSP::BMDisplay_ptr
-CIAO_GLUE_BasicSP::BMDisplayHome_Servant::create (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::CreateFailure))
-{
- if (this->executor_.in () == 0)
- ACE_THROW_RETURN (CORBA::INTERNAL (), 0);
-
- Components::EnterpriseComponent_var _ciao_ec =
- this->executor_->create (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_CHECK_RETURN (0);
-
- BasicSP::CCM_BMDisplay_var _ciao_comp
- = BasicSP::CCM_BMDisplay::_narrow (_ciao_ec.in ()
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (0);
-
- return this->_ciao_activate_component (_ciao_comp.in ()
- ACE_ENV_ARG_PARAMETER);
-}
-
-// Operations for CCMHome interface
-void
-CIAO_GLUE_BasicSP::BMDisplayHome_Servant::remove_component (Components::CCMObject_ptr comp
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::RemoveFailure))
-{
- BasicSP::BMDisplay_var _ciao_comp
- = BasicSP::BMDisplay::_narrow (comp
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK;
-
- if (CORBA::is_nil (_ciao_comp.in ()))
- ACE_THROW (CORBA::INTERNAL ()); // What is the right exception to throw here?
-
- // @@ It seems to me that we need to make sure this is a component
- // generated by this home before calling remove on this component.
- _ciao_comp->remove (ACE_ENV_ARG_PARAMETER);
- ACE_CHECK;
-
-
- // Removing the object reference? get the servant from the POA with
- // the objref, and call remove() on the component, deactivate the
- // component, and then remove-ref the servant?
- this->_ciao_passivate_component (_ciao_comp.in ()
- ACE_ENV_ARG_PARAMETER);
-}
-
-
-CIAO_GLUE_BasicSP::BMDisplayHome_Servant::BMDisplayHome_Servant (BasicSP::CCM_BMDisplayHome_ptr exe,
- CIAO::Session_Container *c)
- : executor_ (BasicSP::CCM_BMDisplayHome::_duplicate (exe)),
- container_ (c)
-{
-}
-
-
-CIAO_GLUE_BasicSP::BMDisplayHome_Servant::~BMDisplayHome_Servant (void)
-{
-}
-
-// Operations for KeylessHome interface
- ::Components::CCMObject_ptr
-CIAO_GLUE_BasicSP::BMDisplayHome_Servant::create_component (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::CreateFailure))
-{
- // Simply forward to the create method.
- return this->create (ACE_ENV_SINGLE_ARG_PARAMETER);
-}
-
-// Operations for CCMHome interface
- ::CORBA::IRObject_ptr
-CIAO_GLUE_BasicSP::BMDisplayHome_Servant::get_component_def (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- // @@ TO-DO. Contact IfR?
-
- ACE_THROW_RETURN (CORBA::NO_IMPLEMENT (), 0);
-}
-
-CORBA::IRObject_ptr
-CIAO_GLUE_BasicSP::BMDisplayHome_Servant::get_home_def (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- // @@ TO-DO. Contact IfR?
-
- ACE_THROW_RETURN (CORBA::NO_IMPLEMENT (), 0);
-}
-
-
-extern "C" BMDISPLAY_SVNT_Export ::PortableServer::Servant
-createBMDisplayHome_Servant (::Components::HomeExecutorBase_ptr p,
- CIAO::Session_Container *c
- ACE_ENV_ARG_DECL)
-{
- if (p == 0)
- return 0;
-
- BasicSP::CCM_BMDisplayHome_var x
- = BasicSP::CCM_BMDisplayHome::_narrow (p
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (0);
-
- if (CORBA::is_nil (x.in ()))
- return 0;
-
- return new CIAO_GLUE_BasicSP::BMDisplayHome_Servant (x.in (),
- c);
-}
diff --git a/TAO/CIAO/examples/handcrafted/BasicSP/BMDisplay/BMDisplay_svnt.h b/TAO/CIAO/examples/handcrafted/BasicSP/BMDisplay/BMDisplay_svnt.h
deleted file mode 100644
index a0df1dfbef2..00000000000
--- a/TAO/CIAO/examples/handcrafted/BasicSP/BMDisplay/BMDisplay_svnt.h
+++ /dev/null
@@ -1,472 +0,0 @@
-// $Id$
-
-// ===========================================================
-//
-// @file BMDisplay_svnt.h
-//
-// @author Balachandran Natarajan <bala@dre.vanderbilt.edu>
-//
-// ===========================================================
-
-#ifndef CIAO_GLUE_SESSION_BMDISPLAY_SVNT_H
-#define CIAO_GLUE_SESSION_BMDISPLAY_SVNT_H
-#include "ace/pre.h"
-
-#include "BMDisplayS.h"
-
-#if !defined (ACE_LACKS_PRAGMA_ONCE)
-# pragma once
-#endif /* ACE_LACKS_PRAGMA_ONCE */
-
-#include "BMDisplayEC.h"
-#include "ciao/Container_Base.h"
-#include "tao/LocalObject.h"
-#include "tao/PortableServer/Key_Adapters.h"
-#include "ace/Active_Map_Manager_T.h"
-
-namespace CIAO_GLUE_BasicSP
-{
-
- //////////////////////////////////////////////////////////////////
- // Component specific context implementation
- class BMDISPLAY_SVNT_Export BMDisplay_Context :
- public virtual BasicSP::CCM_BMDisplay_Context,
- public virtual TAO_Local_RefCounted_Object
- {
- public:
- // We will allow the the servant glue code we generate to access
- // our states.
- friend class BMDisplay_Servant;
-
- // Ctor.
- BMDisplay_Context (::Components::CCMHome_ptr home,
- ::CIAO::Session_Container *c,
- BMDisplay_Servant *sv);
-
- // Dtor.
- virtual ~BMDisplay_Context ();
-
- // Operations for [component name] event source, and
- // receptacles defined in CCM_[component name]_Context.
-
- BasicSP::ReadData_ptr
- get_connection_comp_data (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- // Operations for ::Components::CCMContext
- virtual ::Components::Principal_ptr
- get_caller_principal (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- virtual ::Components::CCMHome_ptr
- get_CCM_home (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- virtual CORBA::Boolean
- get_rollback_only (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::IllegalState));
-
- virtual ::Components::Transaction::UserTransaction_ptr
- get_user_transaction (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::IllegalState));
-
- virtual CORBA::Boolean
- is_caller_in_role (const char * role
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- virtual void
- set_rollback_only (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::IllegalState));
-
- // Operations for ::Components::SessionContext interface
- virtual CORBA::Object_ptr
- get_CCM_object (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::IllegalState));
- protected:
- // We need to generate, in protected section, stuff that manage
- // connections and consumers of this component.
-
- // Simplex [receptacle name] connection management operations
- void
- connect_comp_data (BasicSP::ReadData_ptr c
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- ::Components::AlreadyConnected,
- ::Components::InvalidConnection));
-
- BasicSP::ReadData_ptr
- disconnect_comp_data (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- ::Components::NoConnection));
-
- // Simplex [receptacle name] connection
- BasicSP::ReadData_var ciao_uses_comp_data_;
-
- protected:
- /// Cached component home reference.
- ::Components::CCMHome_var home_;
-
- /// session container
- ::CIAO::Session_Container *container_;
-
- /// Reference back to owner.
- BMDisplay_Servant *servant_;
-
- /// @@ Cached component reference.
- BasicSP::BMDisplay_var component_;
-
- };
-
- //////////////////////////////////////////////////////////////////
- // Component Servant Glue code implementation
- class BMDISPLAY_SVNT_Export BMDisplay_Servant
- : public virtual POA_BasicSP::BMDisplay, // full skeleton name here
- public virtual PortableServer::RefCountServantBase
- {
- public:
- // Ctor.
- BMDisplay_Servant (BasicSP::CCM_BMDisplay_ptr executor,
- ::Components::CCMHome_ptr home,
- ::CIAO::Session_Container *c);
-
- // Dtor.
- ~BMDisplay_Servant (void);
-
- // Operations for provides interfaces.
-
- // Operations for receptacles interfaces.
-
- // Simplex [receptacle name] connection management operations
- virtual void
- connect_comp_data (BasicSP::ReadData_ptr c
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- ::Components::AlreadyConnected,
- ::Components::InvalidConnection));
-
- virtual BasicSP::ReadData_ptr
- disconnect_comp_data (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- ::Components::NoConnection));
-
- virtual BasicSP::ReadData_ptr
- get_connection_comp_data (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- // Operations for consumers interfaces.
- // First we need to generate the event sink specific servant
- class BMDISPLAY_SVNT_Export DataAvailableConsumer_data_ready_Servant
- : public virtual POA_BasicSP::DataAvailableConsumer, // full skeleton name here
- public virtual PortableServer::RefCountServantBase
- {
- public:
- // Constructor and destructor.
- DataAvailableConsumer_data_ready_Servant (BasicSP::CCM_BMDisplay_ptr executor,
- BasicSP::CCM_BMDisplay_Context_ptr c);
-
- ~DataAvailableConsumer_data_ready_Servant ();
-
- virtual void push_DataAvailable (BasicSP::DataAvailable *evt
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- // Inherit from ::Compopnents::EventBConsumerBase
- virtual void push_event (::Components::EventBase *ev
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- ::Components::BadEventType));
-
- // get_component implementation.
- virtual CORBA::Object_ptr
- _get_component (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- protected:
- // Executor
- BasicSP::CCM_BMDisplay_var executor_;
-
- // Context object.
- BasicSP::CCM_BMDisplay_Context_var ctx_;
- };
-
- virtual BasicSP::DataAvailableConsumer_ptr
- get_consumer_data_ready (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- // Operations for emits interfaces.
-
- // Operations for publishes interfaces.
-
- // Operations for Navigation interface
- virtual CORBA::Object_ptr
- provide_facet (const char * name
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException ,
- Components::InvalidName)) ;
-
- virtual ::Components::FacetDescriptions *
- get_all_facets (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- virtual ::Components::FacetDescriptions *
- get_named_facets (const Components::NameList & names
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException ,
- Components::InvalidName));
-
- virtual CORBA::Boolean
- same_component (CORBA::Object_ptr object_ref
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- // Operations for Receptacles interface
- virtual ::Components::Cookie *
- connect (const char * name,
- CORBA::Object_ptr connection
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::InvalidName,
- Components::InvalidConnection,
- Components::AlreadyConnected,
- Components::ExceededConnectionLimit));
-
- virtual CORBA::Object_ptr
- disconnect (const char * name,
- Components::Cookie *ck
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::InvalidName,
- Components::InvalidConnection,
- Components::CookieRequired,
- Components::NoConnection));
-
- virtual ::Components::ConnectionDescriptions *
- get_connections (const char * name
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::InvalidName));
-
- virtual ::Components::ReceptacleDescriptions *
- get_all_receptacles (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- virtual ::Components::ReceptacleDescriptions *
- get_named_receptacles (const Components::NameList & names
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::InvalidName));
-
- // Operations for Events interface
- virtual ::Components::EventConsumerBase_ptr
- get_consumer (const char * sink_name
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::InvalidName));
-
- virtual ::Components::Cookie *
- subscribe (const char * publisher_name,
- Components::EventConsumerBase_ptr subscriber
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::InvalidName,
- Components::InvalidConnection,
- Components::ExceededConnectionLimit));
-
- virtual ::Components::EventConsumerBase_ptr
- unsubscribe (const char * publisher_name,
- Components::Cookie *ck
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::InvalidName,
- Components::InvalidConnection));
-
- virtual void
- connect_consumer (const char * emitter_name,
- Components::EventConsumerBase_ptr consumer
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::InvalidName,
- Components::AlreadyConnected,
- Components::InvalidConnection));
-
- virtual ::Components::EventConsumerBase_ptr
- disconnect_consumer (const char * source_name
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::InvalidName,
- Components::NoConnection));
-
- virtual ::Components::ConsumerDescriptions *
- get_all_consumers (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- virtual ::Components::ConsumerDescriptions *
- get_named_consumers (const Components::NameList & names
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::InvalidName));
-
- virtual ::Components::EmitterDescriptions *
- get_all_emitters (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- virtual ::Components::EmitterDescriptions *
- get_named_emitters (const Components::NameList & names
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::InvalidName));
-
- virtual ::Components::PublisherDescriptions *
- get_all_publishers (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- virtual ::Components::PublisherDescriptions *
- get_named_publishers (const Components::NameList & names
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::InvalidName));
-
- // Operations for CCMObject interface
- virtual ::CORBA::IRObject_ptr
- get_component_def (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- virtual ::Components::CCMHome_ptr
- get_ccm_home (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- virtual ::Components::PrimaryKeyBase *
- get_primary_key (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::NoKeyAvailable));
-
- virtual void
- configuration_complete (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::InvalidConfiguration));
-
- virtual void
- remove (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::RemoveFailure));
-
- virtual ::Components::ComponentPortDescription *
- get_all_ports (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- // get_component implementation.
- virtual CORBA::Object_ptr
- _get_component (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- // CIAO specific operations.
-
- // Activate the object in the container_
- void
- _ciao_activate (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- void
- _ciao_passivate (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- protected:
- // My Executor.
- BasicSP::CCM_BMDisplay_var executor_;
-
- // My Run-time Context.
- BMDisplay_Context *context_;
-
- // Managing container.
- ::CIAO::Session_Container *container_;
-
- // Cached provided interfaces.
- BasicSP::DataAvailableConsumer_var consumes_data_ready_;
- };
-
-
- //////////////////////////////////////////////////////////////////
- // Component Home Glue code implementation
-
- // Foreach component home
- class BMDISPLAY_SVNT_Export BMDisplayHome_Servant :
- public virtual POA_BasicSP::BMDisplayHome, // full skeleton name here
- public virtual PortableServer::RefCountServantBase
- {
- public:
- // Ctor.
- BMDisplayHome_Servant (BasicSP::CCM_BMDisplayHome_ptr exe,
- CIAO::Session_Container *c);
-
- // Dtor.
- ~BMDisplayHome_Servant (void);
-
- // Factory operations
-
- // Finder operations
-
- // Operations for KeylessHome interface
- virtual ::Components::CCMObject_ptr
- create_component (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::CreateFailure));
-
- // Operations for Implicit Home interface
- virtual BasicSP::BMDisplay_ptr
- create (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::CreateFailure));
-
- // Operations for CCMHome interface
- virtual ::CORBA::IRObject_ptr
- get_component_def (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- virtual ::CORBA::IRObject_ptr
- get_home_def (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- virtual void remove_component (Components::CCMObject_ptr comp
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::RemoveFailure));
-
- protected:
- // Helper method for factory operations.
- BasicSP::BMDisplay_ptr
- _ciao_activate_component (BasicSP::CCM_BMDisplay_ptr exe
- ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- void
- _ciao_passivate_component (BasicSP::BMDisplay_ptr comp
- ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- // My Executor.
- BasicSP::CCM_BMDisplayHome_var executor_;
-
- // My Container
- CIAO::Session_Container *container_;
-
- // Components this home manages.
- ACE_Hash_Map_Manager_Ex <PortableServer::ObjectId,
- BMDisplay_Servant*,
- TAO_ObjectId_Hash,
- ACE_Equal_To<PortableServer::ObjectId>,
- ACE_SYNCH_MUTEX> component_map_;
- };
-
- extern "C" BMDISPLAY_SVNT_Export ::PortableServer::Servant
- createBMDisplayHome_Servant (::Components::HomeExecutorBase_ptr p,
- CIAO::Session_Container *c
- ACE_ENV_ARG_DECL_WITH_DEFAULTS);
-}
-
-#include "ace/post.h"
-#endif /* CIAO_GLUE_SESSION_BMDISPLAY_SVNT_H */
diff --git a/TAO/CIAO/examples/handcrafted/BasicSP/BMDisplay/BMDisplay_svnt_export.h b/TAO/CIAO/examples/handcrafted/BasicSP/BMDisplay/BMDisplay_svnt_export.h
deleted file mode 100644
index 2392da154d7..00000000000
--- a/TAO/CIAO/examples/handcrafted/BasicSP/BMDisplay/BMDisplay_svnt_export.h
+++ /dev/null
@@ -1,50 +0,0 @@
-
-// -*- C++ -*-
-// $Id$
-// Definition for Win32 Export directives.
-// This file is generated automatically by generate_export_file.pl BMDISPLAY_SVNT
-// ------------------------------
-#ifndef BMDISPLAY_SVNT_EXPORT_H
-#define BMDISPLAY_SVNT_EXPORT_H
-
-#include "ace/config-all.h"
-
-#if !defined (BMDISPLAY_SVNT_HAS_DLL)
-# define BMDISPLAY_SVNT_HAS_DLL 1
-#endif /* ! BMDISPLAY_SVNT_HAS_DLL */
-
-#if defined (BMDISPLAY_SVNT_HAS_DLL) && (BMDISPLAY_SVNT_HAS_DLL == 1)
-# if defined (BMDISPLAY_SVNT_BUILD_DLL)
-# define BMDISPLAY_SVNT_Export ACE_Proper_Export_Flag
-# define BMDISPLAY_SVNT_SINGLETON_DECLARATION(T) ACE_EXPORT_SINGLETON_DECLARATION (T)
-# define BMDISPLAY_SVNT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_EXPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
-# else /* BMDISPLAY_SVNT_BUILD_DLL */
-# define BMDISPLAY_SVNT_Export ACE_Proper_Import_Flag
-# define BMDISPLAY_SVNT_SINGLETON_DECLARATION(T) ACE_IMPORT_SINGLETON_DECLARATION (T)
-# define BMDISPLAY_SVNT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_IMPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
-# endif /* BMDISPLAY_SVNT_BUILD_DLL */
-#else /* BMDISPLAY_SVNT_HAS_DLL == 1 */
-# define BMDISPLAY_SVNT_Export
-# define BMDISPLAY_SVNT_SINGLETON_DECLARATION(T)
-# define BMDISPLAY_SVNT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
-#endif /* BMDISPLAY_SVNT_HAS_DLL == 1 */
-
-// Set BMDISPLAY_SVNT_NTRACE = 0 to turn on library specific tracing even if
-// tracing is turned off for ACE.
-#if !defined (BMDISPLAY_SVNT_NTRACE)
-# if (ACE_NTRACE == 1)
-# define BMDISPLAY_SVNT_NTRACE 1
-# else /* (ACE_NTRACE == 1) */
-# define BMDISPLAY_SVNT_NTRACE 0
-# endif /* (ACE_NTRACE == 1) */
-#endif /* !BMDISPLAY_SVNT_NTRACE */
-
-#if (BMDISPLAY_SVNT_NTRACE == 1)
-# define BMDISPLAY_SVNT_TRACE(X)
-#else /* (BMDISPLAY_SVNT_NTRACE == 1) */
-# define BMDISPLAY_SVNT_TRACE(X) ACE_TRACE_IMPL(X)
-#endif /* (BMDISPLAY_SVNT_NTRACE == 1) */
-
-#endif /* BMDISPLAY_SVNT_EXPORT_H */
-
-// End of auto generated file.
diff --git a/TAO/CIAO/examples/handcrafted/BasicSP/BMDisplay/config b/TAO/CIAO/examples/handcrafted/BasicSP/BMDisplay/config
deleted file mode 100644
index 6d9a49031b1..00000000000
--- a/TAO/CIAO/examples/handcrafted/BasicSP/BMDisplay/config
+++ /dev/null
@@ -1 +0,0 @@
-BMDisplay_exec|createBMDisplayHome_Impl|BMDisplay_svnt|createBMDisplayHome_Servant
diff --git a/TAO/CIAO/examples/handcrafted/BasicSP/BasicSP.idl b/TAO/CIAO/examples/handcrafted/BasicSP/BasicSP.idl
deleted file mode 100644
index 93bbb362123..00000000000
--- a/TAO/CIAO/examples/handcrafted/BasicSP/BasicSP.idl
+++ /dev/null
@@ -1,47 +0,0 @@
-// $Id$
-//=============================================================================
-/**
- * @file BasicSP.idl
- *
- * Definition of events, and common interfaces used in the BasicSP module.
- *
- * @author Balachandran Natarajan <bala@dre.vanderbilt.edu>
- */
-//=============================================================================
-
-#ifndef CIAO_BASIC_SP_IDL
-#define CIAO_BASIC_SP_IDL
-
-#include "ciao/CCM_Component.idl"
-
-// @@NOTE: Do we need a pragma prefix. Anyway its broken now in TAO..
-// #pragma prefix ""
-
-module BasicSP
-{
-
- /**
- * @NOTE: Not sure whether this is a good abstraction. Just copying
- * the stuff from Cadena folks.
- */
- /**
- * @interface ReadData
- *
- */
-
- interface ReadData {
- string get_data ();
- };
-
- /**
- * @eventtype Events that represent timeouts
- */
- eventtype TimeOut {};
-
- /**
- * @eventtype Events that represent data availability
- */
- eventtype DataAvailable {};
-};
-
-#endif /*CIAO_BASIC_SP_IDL*/
diff --git a/TAO/CIAO/examples/handcrafted/BasicSP/BasicSP.mpc b/TAO/CIAO/examples/handcrafted/BasicSP/BasicSP.mpc
deleted file mode 100644
index f9cb71dc1e5..00000000000
--- a/TAO/CIAO/examples/handcrafted/BasicSP/BasicSP.mpc
+++ /dev/null
@@ -1,36 +0,0 @@
-// $Id$
-// This file is generated with "generate_component_mpc.pl -n HUDisplay"
-
-project(BasicSP_stub): ciao_client {
-
- sharedname = BasicSP_stub
- idlflags += -Wb,stub_export_macro=BASICSP_STUB_Export -Wb,stub_export_include=BasicSP_stub_export.h -Wb,skel_export_macro=BASICSP_SVNT_Export -Wb,skel_export_include=BasicSP_svnt_export.h
- dllflags = BASICSP_STUB_BUILD_DLL
-
- IDL_Files {
- BasicSP.idl
- }
-
- Source_Files {
- BasicSPC.cpp
- }
-}
-
-project(BasicSP_svnt) : ciao_server {
- depends += BasicSP_stub
- sharedname = BasicSP_svnt
- libs += BasicSP_stub
-
- idlflags += -Wb,export_macro=BASICSP_SVNT_Export -Wb,export_include=BasicSP_svnt_export.h
- dllflags = BASICSP_SVNT_BUILD_DLL
-
- IDL_Files {
- BasicSPE.idl
- }
-
- Source_Files {
- BasicSPEC.cpp
- BasicSPS.cpp
- BasicSP_svnt.cpp
- }
-}
diff --git a/TAO/CIAO/examples/handcrafted/BasicSP/BasicSPE.idl b/TAO/CIAO/examples/handcrafted/BasicSP/BasicSPE.idl
deleted file mode 100644
index 4de945c339f..00000000000
--- a/TAO/CIAO/examples/handcrafted/BasicSP/BasicSPE.idl
+++ /dev/null
@@ -1,58 +0,0 @@
-// $Id$
-
-//=============================================================================
-/**
- * @file BasicSPE.idl
- *
- * Executor definitions of events, and common interfaces used in
- * BasicSP module. This file should eventually be generated by the
- * CCIDL compiler automatically when it does become available.
- *
- * @author Balachandran Natarajan <bala@dre.vanderbilt.edu>
- */
-//=============================================================================
-
-#ifndef CIAO_BASICSPE_IDL
-#define CIAO_BASICSPE_IDL
-
-
-#include "BasicSP.idl"
-
-module BasicSP
-{
- /**
- * @interface CCM_ReadData
- *
- * Executor interface mapping for supported interfaces.
- *
- */
- local interface CCM_ReadData : ReadData
- {
- };
-
- /**
- * @interface CCM_Timeout
- *
- * Executor interface for timeout consumers. This interface is
- * only needed if a component implementation uses the
- * ExecutorLocator strategy.
- */
- local interface CCM_TimeOut
- {
- void push (in TimeOut to);
- };
-
- /**
- * @interface CCM_DataAvailable
- *
- * Executor interface for DataAvailable consumers. This interface
- * is only needed if a component implementation uses the
- * ExecutorLocator strategy.
- */
- local interface CCM_DataAvailable
- {
- void push (in DataAvailable da);
- };
-};
-
-#endif /* CIAO_BASICSPE_IDL */
diff --git a/TAO/CIAO/examples/handcrafted/BasicSP/BasicSP_stub_export.h b/TAO/CIAO/examples/handcrafted/BasicSP/BasicSP_stub_export.h
deleted file mode 100644
index 1ae476b4082..00000000000
--- a/TAO/CIAO/examples/handcrafted/BasicSP/BasicSP_stub_export.h
+++ /dev/null
@@ -1,50 +0,0 @@
-
-// -*- C++ -*-
-// $Id$
-// Definition for Win32 Export directives.
-// This file is generated automatically by generate_export_file.pl BASICSP_STUB
-// ------------------------------
-#ifndef BASICSP_STUB_EXPORT_H
-#define BASICSP_STUB_EXPORT_H
-
-#include "ace/config-all.h"
-
-#if !defined (BASICSP_STUB_HAS_DLL)
-# define BASICSP_STUB_HAS_DLL 1
-#endif /* ! BASICSP_STUB_HAS_DLL */
-
-#if defined (BASICSP_STUB_HAS_DLL) && (BASICSP_STUB_HAS_DLL == 1)
-# if defined (BASICSP_STUB_BUILD_DLL)
-# define BASICSP_STUB_Export ACE_Proper_Export_Flag
-# define BASICSP_STUB_SINGLETON_DECLARATION(T) ACE_EXPORT_SINGLETON_DECLARATION (T)
-# define BASICSP_STUB_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_EXPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
-# else /* BASICSP_STUB_BUILD_DLL */
-# define BASICSP_STUB_Export ACE_Proper_Import_Flag
-# define BASICSP_STUB_SINGLETON_DECLARATION(T) ACE_IMPORT_SINGLETON_DECLARATION (T)
-# define BASICSP_STUB_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_IMPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
-# endif /* BASICSP_STUB_BUILD_DLL */
-#else /* BASICSP_STUB_HAS_DLL == 1 */
-# define BASICSP_STUB_Export
-# define BASICSP_STUB_SINGLETON_DECLARATION(T)
-# define BASICSP_STUB_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
-#endif /* BASICSP_STUB_HAS_DLL == 1 */
-
-// Set BASICSP_STUB_NTRACE = 0 to turn on library specific tracing even if
-// tracing is turned off for ACE.
-#if !defined (BASICSP_STUB_NTRACE)
-# if (ACE_NTRACE == 1)
-# define BASICSP_STUB_NTRACE 1
-# else /* (ACE_NTRACE == 1) */
-# define BASICSP_STUB_NTRACE 0
-# endif /* (ACE_NTRACE == 1) */
-#endif /* !BASICSP_STUB_NTRACE */
-
-#if (BASICSP_STUB_NTRACE == 1)
-# define BASICSP_STUB_TRACE(X)
-#else /* (BASICSP_STUB_NTRACE == 1) */
-# define BASICSP_STUB_TRACE(X) ACE_TRACE_IMPL(X)
-#endif /* (BASICSP_STUB_NTRACE == 1) */
-
-#endif /* BASICSP_STUB_EXPORT_H */
-
-// End of auto generated file.
diff --git a/TAO/CIAO/examples/handcrafted/BasicSP/BasicSP_svnt.cpp b/TAO/CIAO/examples/handcrafted/BasicSP/BasicSP_svnt.cpp
deleted file mode 100644
index fed871b7860..00000000000
--- a/TAO/CIAO/examples/handcrafted/BasicSP/BasicSP_svnt.cpp
+++ /dev/null
@@ -1,61 +0,0 @@
-// $Id$
-
-// The generated filename for files using this template shoule be
-// [idl-basename]GS.cpp GS --> GlueSession
-
-// @@ Notice: [ciao module name] can expand to either CIAO_GLUE or
-// CIAO_GLUE_[module name] as defined in the header file.
-
-#include "BasicSP_svnt.h"
-
-ACE_RCSID (examples,
- BasicSP_svnt,
- "$Id$")
-
-CIAO_GLUE_BasicSP::ReadData_Servant::ReadData_Servant (
- BasicSP::CCM_ReadData_ptr executor,
- Components::CCMContext_ptr c)
- : executor_ (BasicSP::CCM_ReadData::_duplicate (executor)),
- ctx_ (Components::CCMContext::_duplicate (c))
-{
-}
-
-
-
-CIAO_GLUE_BasicSP::ReadData_Servant::~ReadData_Servant (void)
-{
-}
-
-// This is only a guideline... we always relay the operation to underlying
-// executor.
-
-char *
-CIAO_GLUE_BasicSP::ReadData_Servant::get_data (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- // Simply relay to executor. May not need to return the result...
- return this->executor_->get_data (ACE_ENV_SINGLE_ARG_PARAMETER);
-}
-
-
-// get_component implementation.
-// get_component is a standard CORBA::Object operations that returns
-// the component reference that an object interface associates to.
-CORBA::Object_ptr
-CIAO_GLUE_BasicSP::ReadData_Servant::_get_component (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- Components::SessionContext_var sc =
- Components::SessionContext::_narrow (this->ctx_.in ());
-
- if (! CORBA::is_nil(sc.in ()))
- return sc->get_CCM_object (ACE_ENV_SINGLE_ARG_PARAMETER);
-
- ::Components::EntityContext_var ec =
- ::Components::EntityContext::_narrow (this->ctx_.in ());
-
- if (! CORBA::is_nil(ec.in ()))
- return ec->get_CCM_object (ACE_ENV_SINGLE_ARG_PARAMETER);
-
- ACE_THROW_RETURN (CORBA::INTERNAL (), 0);
-}
diff --git a/TAO/CIAO/examples/handcrafted/BasicSP/BasicSP_svnt.h b/TAO/CIAO/examples/handcrafted/BasicSP/BasicSP_svnt.h
deleted file mode 100644
index 54b1f893386..00000000000
--- a/TAO/CIAO/examples/handcrafted/BasicSP/BasicSP_svnt.h
+++ /dev/null
@@ -1,73 +0,0 @@
-// $Id$
-
-// ===========================================================
-//
-// @file BasicSP_svnt.h
-//
-// Servant Glue code (supposedly should be) generated using CIAO'S
-// CIDL compiler. This file implement the servants that bridge the
-// executor and the container.
-//
-// This file is "generated" using the template code under
-// $(CIAO_ROOT)/docs/templates/
-//
-// Remember to refect any changes back to the code templates.
-//
-// @author Balachandran Natarajan <bala@cs.wustl.edu>
-//
-// ===========================================================
-
-#ifndef CIAO_GLUE_SESSION_BASICSP_H
-#define CIAO_GLUE_SESSION_BASICSP_H
-#include "ace/pre.h"
-
-///Source in the container interface definitions
-#include "ciao/Container_Base.h"
-
-#if !defined (ACE_LACKS_PRAGMA_ONCE)
-# pragma once
-#endif /* ACE_LACKS_PRAGMA_ONCE */
-
-/// Source in the skeletons for component client-view equivalent
-/// interfaces
-#include "BasicSPS.h"
-
-// Source in the executor mapping that component implementations use
-#include "BasicSPEC.h"
-
-/// @@@ Notice that all component and interface names may need to be
-/// fully qualified as we are creating a new namespace for the CIAO's
-/// container glue code.
-
-namespace CIAO_GLUE_BasicSP
-{
- class BASICSP_SVNT_Export ReadData_Servant :
- public virtual POA_BasicSP::ReadData,
- public virtual PortableServer::RefCountServantBase
- {
- public:
-
- ReadData_Servant (BasicSP::CCM_ReadData_ptr executor,
- Components::CCMContext_ptr ctx_);
- ~ReadData_Servant (void);
-
- /// Template method.
- virtual char *get_data (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- // get_component implementation.
- virtual CORBA::Object_ptr _get_component (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- protected:
-
- // Facet executor.
- BasicSP::CCM_ReadData_var executor_;
-
- // Context object.
- Components::CCMContext_var ctx_;
- };
-}
-
-#include "ace/post.h"
-#endif /* CIAO_GLUE_SESSION_HUDISPLAYGS_H */
diff --git a/TAO/CIAO/examples/handcrafted/BasicSP/BasicSP_svnt_export.h b/TAO/CIAO/examples/handcrafted/BasicSP/BasicSP_svnt_export.h
deleted file mode 100644
index 23c48f384d7..00000000000
--- a/TAO/CIAO/examples/handcrafted/BasicSP/BasicSP_svnt_export.h
+++ /dev/null
@@ -1,50 +0,0 @@
-
-// -*- C++ -*-
-// $Id$
-// Definition for Win32 Export directives.
-// This file is generated automatically by generate_export_file.pl BASICSP_SVNT
-// ------------------------------
-#ifndef BASICSP_SVNT_EXPORT_H
-#define BASICSP_SVNT_EXPORT_H
-
-#include "ace/config-all.h"
-
-#if !defined (BASICSP_SVNT_HAS_DLL)
-# define BASICSP_SVNT_HAS_DLL 1
-#endif /* ! BASICSP_SVNT_HAS_DLL */
-
-#if defined (BASICSP_SVNT_HAS_DLL) && (BASICSP_SVNT_HAS_DLL == 1)
-# if defined (BASICSP_SVNT_BUILD_DLL)
-# define BASICSP_SVNT_Export ACE_Proper_Export_Flag
-# define BASICSP_SVNT_SINGLETON_DECLARATION(T) ACE_EXPORT_SINGLETON_DECLARATION (T)
-# define BASICSP_SVNT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_EXPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
-# else /* BASICSP_SVNT_BUILD_DLL */
-# define BASICSP_SVNT_Export ACE_Proper_Import_Flag
-# define BASICSP_SVNT_SINGLETON_DECLARATION(T) ACE_IMPORT_SINGLETON_DECLARATION (T)
-# define BASICSP_SVNT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_IMPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
-# endif /* BASICSP_SVNT_BUILD_DLL */
-#else /* BASICSP_SVNT_HAS_DLL == 1 */
-# define BASICSP_SVNT_Export
-# define BASICSP_SVNT_SINGLETON_DECLARATION(T)
-# define BASICSP_SVNT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
-#endif /* BASICSP_SVNT_HAS_DLL == 1 */
-
-// Set BASICSP_SVNT_NTRACE = 0 to turn on library specific tracing even if
-// tracing is turned off for ACE.
-#if !defined (BASICSP_SVNT_NTRACE)
-# if (ACE_NTRACE == 1)
-# define BASICSP_SVNT_NTRACE 1
-# else /* (ACE_NTRACE == 1) */
-# define BASICSP_SVNT_NTRACE 0
-# endif /* (ACE_NTRACE == 1) */
-#endif /* !BASICSP_SVNT_NTRACE */
-
-#if (BASICSP_SVNT_NTRACE == 1)
-# define BASICSP_SVNT_TRACE(X)
-#else /* (BASICSP_SVNT_NTRACE == 1) */
-# define BASICSP_SVNT_TRACE(X) ACE_TRACE_IMPL(X)
-#endif /* (BASICSP_SVNT_NTRACE == 1) */
-
-#endif /* BASICSP_SVNT_EXPORT_H */
-
-// End of auto generated file.
diff --git a/TAO/CIAO/examples/handcrafted/BasicSP/EC/EC.cidl b/TAO/CIAO/examples/handcrafted/BasicSP/EC/EC.cidl
deleted file mode 100644
index 8e9ff0d5575..00000000000
--- a/TAO/CIAO/examples/handcrafted/BasicSP/EC/EC.cidl
+++ /dev/null
@@ -1,21 +0,0 @@
-//$Id$
-
-#ifndef EC_CIDL
-#define EC_CIDL
-
-#include "EC.idl"
-
-composition session EC_Impl
-{
- home executor ECHome_Exec
- {
- implements BasicSP::ECHome;
- manages EC_Exec;
- };
-};
-
-#endif /* EC_CIDL */
-
-
-
-
diff --git a/TAO/CIAO/examples/handcrafted/BasicSP/EC/EC.idl b/TAO/CIAO/examples/handcrafted/BasicSP/EC/EC.idl
deleted file mode 100644
index 50ad25afd7f..00000000000
--- a/TAO/CIAO/examples/handcrafted/BasicSP/EC/EC.idl
+++ /dev/null
@@ -1,41 +0,0 @@
-// $Id$
-//=============================================================================
-/**
- * @file EC.idl
- *
- * Definition of events, and common interfaces used in the BasicSP module.
- *
- * @author Balachandran Natarajan <bala@dre.vanderbilt.edu>
- */
-//=============================================================================
-
-#ifndef CIAO_EC_IDL
-#define CIAO_EC_IDL
-
-#include "../BasicSP.idl"
-
-module BasicSP
-{
- interface trigger
- {
- void start ();
- void stop ();
- };
- component EC supports trigger
- {
- publishes TimeOut timeout;
-
- /// The attribute can be configured via the home or the
- /// component property file.
- attribute long hertz;
-
- };
-
- home ECHome manages EC
- {
- // Explicit operations
- factory new_EC (in long hertz);
- };
-};
-
-#endif /* CIAO_EC_IDL*/
diff --git a/TAO/CIAO/examples/handcrafted/BasicSP/EC/EC.mpc b/TAO/CIAO/examples/handcrafted/BasicSP/EC/EC.mpc
deleted file mode 100644
index 58f2fe3c271..00000000000
--- a/TAO/CIAO/examples/handcrafted/BasicSP/EC/EC.mpc
+++ /dev/null
@@ -1,86 +0,0 @@
-// $Id$
-// This file is generated with "generate_component_mpc.pl -l .. -p BasicSP -i -c EC"
-
-project(EC_stub): ciao_client {
- depends += BasicSP_stub
- sharedname = EC_stub
- idlflags += -Wb,stub_export_macro=EC_STUB_Export -Wb,stub_export_include=EC_stub_export.h -Wb,skel_export_macro=EC_SVNT_Export -Wb,skel_export_include=EC_svnt_export.h
- dllflags = EC_STUB_BUILD_DLL
-
- IDL_Files {
- EC.idl
- }
-
- Source_Files {
- ECC.cpp
- }
-}
-
-project(EC_svnt) : ciao_server {
- depends += BasicSP_svnt EC_stub
- sharedname = EC_svnt
- libs += EC_stub BasicSP_stub BasicSP_svnt TAO_Valuetype
- libpaths += .. $(TAO_ROOT)/tao/Valuetype
- idlflags += -Wb,export_macro=EC_SVNT_Export -Wb,export_include=EC_svnt_export.h
- dllflags = EC_SVNT_BUILD_DLL
-
- IDL_Files {
- ECE.idl
- }
-
- Source_Files {
- ECEC.cpp
- ECS.cpp
- EC_svnt.cpp
- }
-}
-
-
-project(EC_exec) : ciao_server {
- depends += EC_svnt
- sharedname = EC_exec
- libs += EC_stub BasicSP_stub EC_svnt
- libpaths += ..
- idlflags += -Wb,export_macro=EC_EXEC_Export -Wb,export_include=EC_exec_export.h
- dllflags = EC_EXEC_BUILD_DLL
-
- IDL_Files {
- ECEI.idl
- }
-
- Source_Files {
- ECEIC.cpp
- EC_exec.cpp
- }
-}
-
-
-
-project (EC_client) : ciao_client {
- exename = client
- depends += EC_stub
- libs += EC_stub BasicSP_stub TAO_Valuetype
- libpaths += .. $(TAO_ROOT)/tao/Valuetype
-
- IDL_Files {
- }
-
- Source_Files {
- client.cpp
- }
-}
-
-
-project (controller) : ciao_client {
- exename = controller
- depends += EC_stub
- libs += EC_stub BasicSP_stub TAO_Valuetype
- libpaths += .. $(TAO_ROOT)/tao/Valuetype
-
- IDL_Files {
- }
-
- Source_Files {
- controller.cpp
- }
-}
diff --git a/TAO/CIAO/examples/handcrafted/BasicSP/EC/ECE.idl b/TAO/CIAO/examples/handcrafted/BasicSP/EC/ECE.idl
deleted file mode 100644
index f6d517aa3ed..00000000000
--- a/TAO/CIAO/examples/handcrafted/BasicSP/EC/ECE.idl
+++ /dev/null
@@ -1,68 +0,0 @@
-// $Id$
-//=============================================================================
-/**
- * @file ECE.idl
- *
- * Executor definition of the EC (a rate generator) component.
- * This file should be auto-generated by the CCIDL compiler when it
- * becomes available.
- *
- * @author Balachandran Natarajan <bala@dre.vanderbilt.edu>
- */
-//=============================================================================
-#ifndef CIAO_ECE_IDL
-#define CIAO_ECE_IDL
-
-#include "CCM_Container.idl"
-#include "EC.idl"
-#include "../BasicSP.idl"
-
-module BasicSP
-{
- local interface CCM_EC_Executor
- : Components::EnterpriseComponent, trigger
- {
- attribute long hertz;
- };
-
- local interface CCM_EC
- : Components::EnterpriseComponent, trigger
- {
- attribute long hertz;
- };
-
- /**
- * Context interface. This interface defines the mapping. The
- * container framework provides the implmentation.
- *
- * Notice that we are taking a shortcut here to inherit the
- * component-specific context from SessionContext directly instead
- * of CCMContext.
- */
- local interface CCM_EC_Context
- : Components::SessionContext
- {
- void push_timeout (in TimeOut ev);
- };
-
- local interface CCM_ECHomeExplicit
- : Components::HomeExecutorBase
- {
- Components::EnterpriseComponent new_EC (in long hertz)
- raises (Components::CCMException);
- };
-
- local interface CCM_ECHomeImplicit
- {
- Components::EnterpriseComponent create ()
- raises (Components::CCMException);
- };
-
- local interface CCM_ECHome
- : CCM_ECHomeExplicit,
- CCM_ECHomeImplicit
- {
- };
-};
-
-#endif /* CIAO_ECE_IDL */
diff --git a/TAO/CIAO/examples/handcrafted/BasicSP/EC/ECEI.idl b/TAO/CIAO/examples/handcrafted/BasicSP/EC/ECEI.idl
deleted file mode 100644
index 9b48d5c74dd..00000000000
--- a/TAO/CIAO/examples/handcrafted/BasicSP/EC/ECEI.idl
+++ /dev/null
@@ -1,32 +0,0 @@
-// $Id$
-
-//=============================================================================
-/**
- * @file ECEI.idl
- *
- *
- * @author Balachandran Natarajan <bala@dre.vanderbilt.edu>
- */
-//=============================================================================
-#ifndef CIAO_ECEI_IDL
-#define CIAO_ECEI_IDL
-
-#include "ECE.idl"
-
-module BasicSP
-{
- /**
- * @interface EC_Exec
- *
- * The actually EC executor need to support
- * Components::SessionComponent interface. Therefore, we need to
- * define the component executor interface explicitly here.
- */
- local interface EC_Exec : CCM_EC,
- Components::SessionComponent
- {
- };
-
-};
-
-#endif /* RATEGENEI_IDL */
diff --git a/TAO/CIAO/examples/handcrafted/BasicSP/EC/EC_exec.cpp b/TAO/CIAO/examples/handcrafted/BasicSP/EC/EC_exec.cpp
deleted file mode 100644
index 8897776433d..00000000000
--- a/TAO/CIAO/examples/handcrafted/BasicSP/EC/EC_exec.cpp
+++ /dev/null
@@ -1,279 +0,0 @@
-// $Id$
-
-#include "EC_exec.h"
-#include "ace/Timer_Queue.h"
-#include "ace/Reactor.h"
-
-//=================================================================
-
-MyImpl::timeout_Handler::timeout_Handler (MyImpl::EC_exec_i *cb)
- : active_ (0),
- done_ (0),
- tid_ (0),
- pulse_callback_ (cb)
-{
- // Nothing
- this->reactor (new ACE_Reactor);
-}
-
-MyImpl::timeout_Handler::~timeout_Handler ()
-{
- delete this->reactor ();
- this->reactor (0);
-}
-
-int
-MyImpl::timeout_Handler::open ()
-{
- return this->activate ();
-}
-
-int
-MyImpl::timeout_Handler::close ()
-{
- this->done_ = 1;
- this->reactor ()->notify ();
-
- ACE_DEBUG ((LM_DEBUG, "Waiting\n"));
- return this->wait ();
-}
-
-int
-MyImpl::timeout_Handler::start (CORBA::Long hertz)
-{
- if (hertz == 0 || this->active_ != 0) // Not valid
- return -1;
-
- long usec = 1000000 / hertz;
-
- this->tid_ = this->reactor ()->schedule_timer (this,
- 0,
- ACE_Time_Value (0, usec),
- ACE_Time_Value (0, usec));
-
- this->active_ = 1;
- return 0;
-}
-
-int
-MyImpl::timeout_Handler::stop (void)
-{
- if (this->active_ == 0) // Not valid.
- return -1;
-
- this->reactor ()->cancel_timer (this);
-
- this->active_ = 0;
- return 0;
-}
-
-int
-MyImpl::timeout_Handler::active (void)
-{
- return this->active_;
-}
-
-int
-MyImpl::timeout_Handler::handle_close (ACE_HANDLE handle,
- ACE_Reactor_Mask close_mask)
-{
- ACE_DEBUG ((LM_DEBUG,
- ACE_TEXT ("[%x] handle = %d, close_mask = %d\n"),
- this,
- handle,
- close_mask));
-
- return 0;
-}
-
-int
-MyImpl::timeout_Handler::handle_timeout (const ACE_Time_Value &,
- const void *)
-{
- this->pulse_callback_->pulse ();
-
-// ACE_DEBUG ((LM_DEBUG,
-// ACE_TEXT ("[%x] with count #%05d timed out at %d.%d!\n"),
-// this,
-// tv.sec (),
-// tv.usec ()));
-
- return 0;
-}
-
-int
-MyImpl::timeout_Handler::svc (void)
-{
- this->reactor ()->owner (ACE_OS::thr_self ());
-
- while (!this->done_)
- this->reactor ()->handle_events ();
-
- return 0;
-}
-
-//=================================================================
-
-MyImpl::EC_exec_i::EC_exec_i ()
- : hertz_ (0),
- pulser_ (this)
-{
-
-}
-
-MyImpl::EC_exec_i::EC_exec_i (CORBA::Long hz)
- : hertz_ (hz),
- pulser_ (this)
-{
-}
-
-MyImpl::EC_exec_i::~EC_exec_i ()
-{
-}
-
-CORBA::Long
-MyImpl::EC_exec_i::hertz (ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- return this->hertz_;
-}
-
-void
-MyImpl::EC_exec_i::hertz (CORBA::Long hertz
- ACE_ENV_ARG_DECL_NOT_USED)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- this->hertz_ = hertz;
-}
-
-// Operations from supported interface(s)
-
-void
-MyImpl::EC_exec_i::start (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- if (this->hertz_ == 0 || this->pulser_.active())
- ACE_THROW (CORBA::BAD_INV_ORDER ());
-
- // @@ Start the rate generator
- this->pulser_.start (this->hertz_);
-}
-
-void
-MyImpl::EC_exec_i::stop (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- if (! this->pulser_.active ())
- ACE_THROW (CORBA::BAD_INV_ORDER ());
-
- // @@ stop the rate generator
- this->pulser_.stop ();
-}
-
-CORBA::Boolean
-MyImpl::EC_exec_i::active (ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- return this->pulser_.active ();
-}
-
-// Operations from Components::SessionComponent
-
-void
-MyImpl::EC_exec_i::set_session_context (Components::SessionContext_ptr ctx
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::CCMException))
-{
- ACE_DEBUG ((LM_DEBUG, "MyImpl::EC_exec_i::set_session_context\n"));
-
- this->context_ =
- BasicSP::CCM_EC_Context::_narrow (ctx
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK;
-
- if (CORBA::is_nil (this->context_.in ()))
- ACE_THROW (CORBA::INTERNAL ());
- // Urm, we actually discard exceptions thown from this operation.
-
-}
-
-void
-MyImpl::EC_exec_i::ccm_activate (ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::CCMException))
-{
- ACE_DEBUG ((LM_DEBUG, "MyImpl::EC_exec_i::ccm_activate\n"));
-
- this->pulser_.open ();
-}
-
-void
-MyImpl::EC_exec_i::ccm_passivate (ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::CCMException))
-{
- ACE_DEBUG ((LM_DEBUG, "MyImpl::EC_exec_i::ccm_passivate\n"));
- this->pulser_.close ();
-}
-
-void
-MyImpl::EC_exec_i::ccm_remove (ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::CCMException))
-{
- ACE_DEBUG ((LM_DEBUG, "MyImpl::EC_exec_i::ccm_remove\n"));
-}
-
-void
-MyImpl::EC_exec_i::pulse (void)
-{
- ACE_TRY_NEW_ENV
- {
- ACE_DEBUG ((LM_DEBUG,
- ACE_TEXT ("Pushing BasicSP::TimeOut event!\n")));
-
- BasicSP::TimeOut_var ev = new OBV_BasicSP::TimeOut ();
-
- this->context_->push_timeout (ev.in ()
- ACE_ENV_ARG_PARAMETER);
- }
- ACE_CATCHANY
- {
- // @@ do nothing?
- }
- ACE_ENDTRY;
-
-}
-
-MyImpl::ECHome_exec_i::ECHome_exec_i ()
-{
-}
-
-MyImpl::ECHome_exec_i::~ECHome_exec_i ()
-{
-}
-
-::Components::EnterpriseComponent_ptr
-MyImpl::ECHome_exec_i::new_EC (CORBA::Long hertz
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::CCMException))
-{
- return new MyImpl::EC_exec_i (hertz);
-}
-
-::Components::EnterpriseComponent_ptr
-MyImpl::ECHome_exec_i::create (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::CCMException))
-{
- return new MyImpl::EC_exec_i ();
-}
-
-
-extern "C" EC_EXEC_Export ::Components::HomeExecutorBase_ptr
-createECHome_Impl (void)
-{
- return new MyImpl::ECHome_exec_i ();
-}
diff --git a/TAO/CIAO/examples/handcrafted/BasicSP/EC/EC_exec.h b/TAO/CIAO/examples/handcrafted/BasicSP/EC/EC_exec.h
deleted file mode 100644
index 457ec447e68..00000000000
--- a/TAO/CIAO/examples/handcrafted/BasicSP/EC/EC_exec.h
+++ /dev/null
@@ -1,182 +0,0 @@
-// $Id$
-
-//============================================================
-/**
- * @file EC_exec.h
- *
- * Header file for the actualy EC and ECHome component
- * implementation.
- *
- * @author Balachandran Natarajan <bala@dre.vanderbilt.edu>
- */
-//============================================================
-
-#ifndef EC_EXEC_H
-#define EC_EXEC_H
-
-#include "ECEIC.h"
-#include "tao/LocalObject.h"
-#include "ace/Thread_Manager.h"
-#include "ace/Task.h"
-
-namespace MyImpl
-{
- // Forward decl.
- class EC_exec_i;
-
- /**
- * @brief Active pulse generater
- */
- class timeout_Handler : public ACE_Task_Base
- {
- public:
- // Default constructor
- timeout_Handler (EC_exec_i *cb);
- ~timeout_Handler ();
-
- int open (void);
-
- int close (void);
-
- int start (CORBA::Long hertz);
-
- int stop (void);
-
- int active (void);
-
- // Handle the timeout.
- virtual int handle_timeout (const ACE_Time_Value &tv,
- const void *arg);
-
- // Called when <Time_Handler> is removed.
- virtual int handle_close (ACE_HANDLE handle,
- ACE_Reactor_Mask close_mask);
-
- virtual int svc (void);
-
- private:
- /// Tracking whether we are actively generating pulse or not.
- long active_;
-
- /// Flag to indicate completion of this active object.
- int done_;
-
- /// The timer id we are waiting.
- int tid_;
-
- EC_exec_i *pulse_callback_;
-
- ACE_Thread_Manager thr_mgr_;
- };
-
- /**
- * @class EC_exec_i
- *
- * EC executor implementation class.
- */
- class EC_EXEC_Export EC_exec_i :
- public virtual BasicSP::EC_Exec,
- public virtual TAO_Local_RefCounted_Object
- {
- public:
- /// Default constructor.
- EC_exec_i ();
-
- /// Initialize with a default frequency.
- EC_exec_i (CORBA::Long hz);
-
- /// Default destructor.
- ~EC_exec_i ();
-
- // Attribute operations.
-
- virtual CORBA::Long hertz (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- virtual void hertz (CORBA::Long hertz
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- // Operations from supported interface(s)
-
- virtual void start (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- virtual void stop (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- virtual CORBA::Boolean active (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- // Operations from Components::SessionComponent
-
- virtual void set_session_context (Components::SessionContext_ptr ctx
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::CCMException));
-
- virtual void ccm_activate (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::CCMException));
-
- virtual void ccm_passivate (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::CCMException));
-
- virtual void ccm_remove (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::CCMException));
-
- /// Helper function to be called back by timeout_Handler
- void pulse (void);
-
- protected:
- /// Frequency
- CORBA::Long hertz_;
-
- /// Copmponent specific context
- BasicSP::CCM_EC_Context_var context_;
-
- /// An active object that actually trigger the generation of
- /// periodic events.
- timeout_Handler pulser_;
- };
-
- /**
- * @class ECHome_exec_i
- *
- * EC home executor implementation class.
- */
- class EC_EXEC_Export ECHome_exec_i :
- public virtual BasicSP::CCM_ECHome,
- public virtual TAO_Local_RefCounted_Object
- {
- public:
- /// Default ctor.
- ECHome_exec_i ();
-
- /// Default dtor.
- ~ECHome_exec_i ();
-
- // Explicit home operations.
-
- virtual ::Components::EnterpriseComponent_ptr
- new_EC (CORBA::Long hertz
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::CCMException));
-
- // Implicit home operations.
-
- virtual ::Components::EnterpriseComponent_ptr
- create (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::CCMException));
- };
-
-}
-
-extern "C" EC_EXEC_Export ::Components::HomeExecutorBase_ptr
-createECHome_Impl (void);
-
-#endif /* CIAO_ECGEN_EXEC_H */
diff --git a/TAO/CIAO/examples/handcrafted/BasicSP/EC/EC_exec_export.h b/TAO/CIAO/examples/handcrafted/BasicSP/EC/EC_exec_export.h
deleted file mode 100644
index c979debf129..00000000000
--- a/TAO/CIAO/examples/handcrafted/BasicSP/EC/EC_exec_export.h
+++ /dev/null
@@ -1,50 +0,0 @@
-
-// -*- C++ -*-
-// $Id$
-// Definition for Win32 Export directives.
-// This file is generated automatically by generate_export_file.pl EC_EXEC
-// ------------------------------
-#ifndef EC_EXEC_EXPORT_H
-#define EC_EXEC_EXPORT_H
-
-#include "ace/config-all.h"
-
-#if !defined (EC_EXEC_HAS_DLL)
-# define EC_EXEC_HAS_DLL 1
-#endif /* ! EC_EXEC_HAS_DLL */
-
-#if defined (EC_EXEC_HAS_DLL) && (EC_EXEC_HAS_DLL == 1)
-# if defined (EC_EXEC_BUILD_DLL)
-# define EC_EXEC_Export ACE_Proper_Export_Flag
-# define EC_EXEC_SINGLETON_DECLARATION(T) ACE_EXPORT_SINGLETON_DECLARATION (T)
-# define EC_EXEC_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_EXPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
-# else /* EC_EXEC_BUILD_DLL */
-# define EC_EXEC_Export ACE_Proper_Import_Flag
-# define EC_EXEC_SINGLETON_DECLARATION(T) ACE_IMPORT_SINGLETON_DECLARATION (T)
-# define EC_EXEC_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_IMPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
-# endif /* EC_EXEC_BUILD_DLL */
-#else /* EC_EXEC_HAS_DLL == 1 */
-# define EC_EXEC_Export
-# define EC_EXEC_SINGLETON_DECLARATION(T)
-# define EC_EXEC_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
-#endif /* EC_EXEC_HAS_DLL == 1 */
-
-// Set EC_EXEC_NTRACE = 0 to turn on library specific tracing even if
-// tracing is turned off for ACE.
-#if !defined (EC_EXEC_NTRACE)
-# if (ACE_NTRACE == 1)
-# define EC_EXEC_NTRACE 1
-# else /* (ACE_NTRACE == 1) */
-# define EC_EXEC_NTRACE 0
-# endif /* (ACE_NTRACE == 1) */
-#endif /* !EC_EXEC_NTRACE */
-
-#if (EC_EXEC_NTRACE == 1)
-# define EC_EXEC_TRACE(X)
-#else /* (EC_EXEC_NTRACE == 1) */
-# define EC_EXEC_TRACE(X) ACE_TRACE_IMPL(X)
-#endif /* (EC_EXEC_NTRACE == 1) */
-
-#endif /* EC_EXEC_EXPORT_H */
-
-// End of auto generated file.
diff --git a/TAO/CIAO/examples/handcrafted/BasicSP/EC/EC_stub_export.h b/TAO/CIAO/examples/handcrafted/BasicSP/EC/EC_stub_export.h
deleted file mode 100644
index 2ad9df9cf12..00000000000
--- a/TAO/CIAO/examples/handcrafted/BasicSP/EC/EC_stub_export.h
+++ /dev/null
@@ -1,50 +0,0 @@
-
-// -*- C++ -*-
-// $Id$
-// Definition for Win32 Export directives.
-// This file is generated automatically by generate_export_file.pl EC_STUB
-// ------------------------------
-#ifndef EC_STUB_EXPORT_H
-#define EC_STUB_EXPORT_H
-
-#include "ace/config-all.h"
-
-#if !defined (EC_STUB_HAS_DLL)
-# define EC_STUB_HAS_DLL 1
-#endif /* ! EC_STUB_HAS_DLL */
-
-#if defined (EC_STUB_HAS_DLL) && (EC_STUB_HAS_DLL == 1)
-# if defined (EC_STUB_BUILD_DLL)
-# define EC_STUB_Export ACE_Proper_Export_Flag
-# define EC_STUB_SINGLETON_DECLARATION(T) ACE_EXPORT_SINGLETON_DECLARATION (T)
-# define EC_STUB_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_EXPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
-# else /* EC_STUB_BUILD_DLL */
-# define EC_STUB_Export ACE_Proper_Import_Flag
-# define EC_STUB_SINGLETON_DECLARATION(T) ACE_IMPORT_SINGLETON_DECLARATION (T)
-# define EC_STUB_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_IMPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
-# endif /* EC_STUB_BUILD_DLL */
-#else /* EC_STUB_HAS_DLL == 1 */
-# define EC_STUB_Export
-# define EC_STUB_SINGLETON_DECLARATION(T)
-# define EC_STUB_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
-#endif /* EC_STUB_HAS_DLL == 1 */
-
-// Set EC_STUB_NTRACE = 0 to turn on library specific tracing even if
-// tracing is turned off for ACE.
-#if !defined (EC_STUB_NTRACE)
-# if (ACE_NTRACE == 1)
-# define EC_STUB_NTRACE 1
-# else /* (ACE_NTRACE == 1) */
-# define EC_STUB_NTRACE 0
-# endif /* (ACE_NTRACE == 1) */
-#endif /* !EC_STUB_NTRACE */
-
-#if (EC_STUB_NTRACE == 1)
-# define EC_STUB_TRACE(X)
-#else /* (EC_STUB_NTRACE == 1) */
-# define EC_STUB_TRACE(X) ACE_TRACE_IMPL(X)
-#endif /* (EC_STUB_NTRACE == 1) */
-
-#endif /* EC_STUB_EXPORT_H */
-
-// End of auto generated file.
diff --git a/TAO/CIAO/examples/handcrafted/BasicSP/EC/EC_svnt.cpp b/TAO/CIAO/examples/handcrafted/BasicSP/EC/EC_svnt.cpp
deleted file mode 100644
index 46238c55671..00000000000
--- a/TAO/CIAO/examples/handcrafted/BasicSP/EC/EC_svnt.cpp
+++ /dev/null
@@ -1,895 +0,0 @@
-// $Id$
-
-#include "EC_svnt.h"
-#include "Cookies.h"
-
-void
-CIAO_GLUE_BasicSP::EC_Context::push_timeout (BasicSP::TimeOut *ev
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- ACE_Active_Map_Manager<BasicSP::TimeOutConsumer_var>::iterator
- end = this->ciao_publishes_timeout_map_.end ();
- for (ACE_Active_Map_Manager<BasicSP::TimeOutConsumer_var>::iterator
- iter = this->ciao_publishes_timeout_map_.begin ();
- iter != end;
- ++iter)
- {
- ACE_Active_Map_Manager<BasicSP::TimeOutConsumer_var>::ENTRY &entry = *iter;
- entry.int_id_->push_TimeOut (ev
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK;
- }
-}
-
-// Operations for publishes interfaces.
-::Components::Cookie *
-CIAO_GLUE_BasicSP::EC_Context::subscribe_timeout (BasicSP::TimeOutConsumer_ptr c
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- ::Components::ExceededConnectionLimit))
-{
- if (CORBA::is_nil (c))
- ACE_THROW_RETURN (CORBA::BAD_PARAM (), 0);
-
- BasicSP::TimeOutConsumer_var sub = BasicSP::TimeOutConsumer::_duplicate (c);
-
- ACE_Active_Map_Manager_Key key;
- this->ciao_publishes_timeout_map_.bind (sub.in (),
- key);
-
- sub._retn (); // Release ownership.
-
- ::Components::Cookie_var retv = new CIAO::Map_Key_Cookie (key);
- return retv._retn ();
-}
-
-BasicSP::TimeOutConsumer_ptr
-CIAO_GLUE_BasicSP::EC_Context::unsubscribe_timeout (::Components::Cookie *ck
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- ::Components::InvalidConnection))
-{
- BasicSP::TimeOutConsumer_var retv;
-
- ACE_Active_Map_Manager_Key key;
- if (ck == 0 ||
- CIAO::Map_Key_Cookie::extract (ck, key) == -1)
- ACE_THROW_RETURN (::Components::InvalidConnection (), 0);
-
- if (this->ciao_publishes_timeout_map_.unbind (key,
- retv) != 0)
- ACE_THROW_RETURN (::Components::InvalidConnection (), 0);
-
- return retv._retn ();
-}
-
-// Operations for ::Components::SessionContext interface
-CORBA::Object_ptr
-CIAO_GLUE_BasicSP::EC_Context::get_CCM_object (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::IllegalState))
-{
- // @@ How do I check for IllegalState here? When it's not in a
- // callback operation...
- // ACE_THROW_RETURN (::Components::IllegalState (), 0);
-
- if (CORBA::is_nil (this->component_.in ()))
- {
- CORBA::Object_var obj = this->container_->get_objref (this->servant_
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (0);
-
- this->component_ = BasicSP::EC::_narrow (obj.in ()
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (0);
-
- if (CORBA::is_nil (this->component_.in ()))
- ACE_THROW_RETURN (CORBA::INTERNAL (), 0); // This should not happen...
- }
- return BasicSP::EC::_duplicate (this->component_.in ());
-}
-
-
-CIAO_GLUE_BasicSP::EC_Context::EC_Context (::Components::CCMHome_ptr home,
- ::CIAO::Session_Container *c,
- CIAO_GLUE_BasicSP::EC_Servant *sv)
- : home_ (::Components::CCMHome::_duplicate (home)),
- container_ (c),
- servant_ (sv)
-{
-
-}
-
-
-CIAO_GLUE_BasicSP::EC_Context::~EC_Context ()
-{
-}
-
-// Operations for emits interfaces.
-
-// Operations for ::Components::CCMContext
- ::Components::Principal_ptr
-CIAO_GLUE_BasicSP::EC_Context::get_caller_principal (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- // @@ We don't support Security in CIAO yet.
- ACE_THROW_RETURN (CORBA::NO_IMPLEMENT (), 0);
-}
-
- ::Components::CCMHome_ptr
-CIAO_GLUE_BasicSP::EC_Context::get_CCM_home (ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- return ::Components::CCMHome::_duplicate (this->home_.in ());
-}
-
- CORBA::Boolean
-CIAO_GLUE_BasicSP::EC_Context::get_rollback_only (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::IllegalState))
-{
- // @@ We don't support Transaction in CIAO yet.
- ACE_THROW_RETURN (CORBA::NO_IMPLEMENT (), 0);
-}
-
- ::Components::Transaction::UserTransaction_ptr
-CIAO_GLUE_BasicSP::EC_Context::get_user_transaction (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::IllegalState))
-{
- // @@ We don't support Transaction in CIAO yet.
- ACE_THROW_RETURN (CORBA::NO_IMPLEMENT (), 0);
-}
-
- CORBA::Boolean
-CIAO_GLUE_BasicSP::EC_Context::is_caller_in_role (const char * role
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- ACE_UNUSED_ARG (role);
-
- // @@ We don't support Transaction in CIAO yet.
- ACE_THROW_RETURN (CORBA::NO_IMPLEMENT (), 0);
-}
-
- void
-CIAO_GLUE_BasicSP::EC_Context::set_rollback_only (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::IllegalState))
-{
- // @@ We don't support Transaction in CIAO yet.
- ACE_THROW (CORBA::NO_IMPLEMENT ());
-}
-
-/***********************************************************/
-
-CIAO_GLUE_BasicSP::EC_Servant::EC_Servant (BasicSP::CCM_EC_ptr exe,
- ::Components::CCMHome_ptr h,
- ::CIAO::Session_Container *c)
- : executor_ (BasicSP::CCM_EC::_duplicate (exe)),
- container_ (c)
-{
- this->context_ = new CIAO_GLUE_BasicSP::EC_Context (h, c, this);
-
- ACE_TRY_NEW_ENV
- {
- Components::SessionComponent_var scom =
- Components::SessionComponent::_narrow (exe
- ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- if (! CORBA::is_nil (scom.in ()))
- scom->set_session_context (this->context_
- ACE_ENV_ARG_PARAMETER);
- }
- ACE_CATCHANY
- {
- // @@ Ignore any exceptions? What happens if
- // set_session_context throws an CCMException?
- }
- ACE_ENDTRY;
-}
-
-CIAO_GLUE_BasicSP::EC_Servant::~EC_Servant (void)
-{
- ACE_TRY_NEW_ENV;
- {
- Components::SessionComponent_var temp =
- Components::SessionComponent::_narrow (this->executor_.in ()
- ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- if (! CORBA::is_nil (temp.in ()))
- temp->ccm_remove (ACE_ENV_SINGLE_ARG_PARAMETER);
- }
- ACE_CATCHANY
- {
- // @@ Ignore any exceptions? What happens if
- // set_session_context throws an CCMException?
- }
- ACE_ENDTRY;
- this->context_->_remove_ref ();
-}
-
-// Operations for provides interfaces.
-
-// Operations for consumers interfaces.
-
-// Operations for Navigation interface
-CORBA::Object_ptr
-CIAO_GLUE_BasicSP::EC_Servant::provide_facet (const char * name
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException ,
- Components::InvalidName))
-{
- if (name == 0)
- ACE_THROW_RETURN (CORBA::BAD_PARAM (), 0);
-
- // We simply iterate thru all the facets this component provides
- // now. We can also use a hash map along with perfect hashing
- // (i.e., gperf) if we need faster performance since all the provided
- // interfaces are static to a component definition.
-
- ACE_THROW_RETURN (::Components::InvalidName (), 0);
-}
-
-::Components::FacetDescriptions *
-CIAO_GLUE_BasicSP::EC_Servant::get_all_facets (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- ::Components::FacetDescriptions_var collection
- = new ::Components::FacetDescriptions; // #99 = number of all provided
- // facets including those inherited
- // from parent component(s).
-
- return collection._retn ();
-
-}
-
-::Components::FacetDescriptions *
-CIAO_GLUE_BasicSP::EC_Servant::get_named_facets (const Components::NameList & names
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::InvalidName))
-{
- ::Components::FacetDescriptions_var collection
- = new ::Components::FacetDescriptions (names.length ());
-
- CORBA::ULong i = 0;
- for (; i < names.length (); ++i)
- {
- ACE_THROW_RETURN (::Components::InvalidName (), 0);
- }
- return collection._retn ();
-}
-
-CORBA::Boolean
-CIAO_GLUE_BasicSP::EC_Servant::same_component (CORBA::Object_ptr object_ref
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- if (CORBA::is_nil (object_ref))
- ACE_THROW_RETURN (CORBA::BAD_PARAM (), 0);
-
- CORBA::Object_var the_other
- = object_ref->_get_component (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_CHECK_RETURN (0);
-
- CORBA::Object_var me
- = this->context_->get_CCM_object (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_CHECK_RETURN (0);
-
- return me->_is_equivalent (object_ref
- ACE_ENV_ARG_PARAMETER);
-}
-
-// Operations for Receptacles interface
-::Components::Cookie *
-CIAO_GLUE_BasicSP::EC_Servant::connect (const char *,
- CORBA::Object_ptr
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::InvalidName,
- Components::InvalidConnection,
- Components::AlreadyConnected,
- Components::ExceededConnectionLimit))
-{
- ACE_THROW_RETURN (Components::InvalidName (), 0);
-}
-
-/*
-##foreach [receptacle name] with [uses type] in (list of all 'uses' interfaces) generate:
-## if [receptacle name] is a simplex receptacle ('uses')
-## else ([receptacle name] is a multiplex ('uses multiple') receptacle)
-## endif [receptacle name]
-##end foreach [receptacle name] with [uses type]
-*/
-
-CORBA::Object_ptr
-CIAO_GLUE_BasicSP::EC_Servant::disconnect (const char *,
- Components::Cookie *
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::InvalidName,
- Components::InvalidConnection,
- Components::CookieRequired,
- Components::NoConnection))
-{
- ACE_THROW_RETURN (Components::InvalidName (), 0);
-}
-
-::Components::ConnectionDescriptions *
-CIAO_GLUE_BasicSP::EC_Servant::get_connections (const char *
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::InvalidName))
-{
- ACE_THROW_RETURN (Components::InvalidName (), 0);
-}
-
-::Components::ReceptacleDescriptions *
-CIAO_GLUE_BasicSP::EC_Servant::get_all_receptacles (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- ::Components::ReceptacleDescriptions_var retv =
- new ::Components::ReceptacleDescriptions; // #99 is number of receptacles
- // this component has.
- return retv._retn ();
-}
-
-::Components::ReceptacleDescriptions *
-CIAO_GLUE_BasicSP::EC_Servant::get_named_receptacles (const Components::NameList & names
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::InvalidName))
-{
- ::Components::ReceptacleDescriptions_var retv =
- new ::Components::ReceptacleDescriptions (names.length ());
-
- CORBA::ULong i = 0;
- for (; i < names.length (); ++i)
- {
- ACE_THROW_RETURN (::Components::InvalidName (), 0);
- }
- return retv._retn ();
-}
-
-// Operations for Events interface
-::Components::EventConsumerBase_ptr
-CIAO_GLUE_BasicSP::EC_Servant::get_consumer (const char *
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::InvalidName))
-{
- ACE_THROW_RETURN (Components::InvalidName (), 0);
-}
-
-::Components::Cookie *
-CIAO_GLUE_BasicSP::EC_Servant::subscribe (const char * publisher_name,
- Components::EventConsumerBase_ptr subscriber
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::InvalidName,
- Components::InvalidConnection,
- Components::ExceededConnectionLimit))
-{
- // @@ We can omit this if clause if there's no publisher in this component.
- if (publisher_name == 0)
- ACE_THROW_RETURN (Components::InvalidName (), 0);
-
- if (ACE_OS_String::strcmp (publisher_name, "timeout") == 0)
- {
- BasicSP::TimeOutConsumer_var _ciao_consumer =
- BasicSP::TimeOutConsumer::_narrow (subscriber
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (0);
-
- if (CORBA::is_nil (_ciao_consumer.in ()))
- ACE_THROW_RETURN (::Components::InvalidConnection (), 0);
-
- return this->subscribe_timeout (_ciao_consumer.in ()
- ACE_ENV_ARG_PARAMETER);
- }
-
- ACE_THROW_RETURN (Components::InvalidName (), 0);
-}
-
-::Components::EventConsumerBase_ptr
-CIAO_GLUE_BasicSP::EC_Servant::unsubscribe (const char * publisher_name,
- Components::Cookie *ck
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::InvalidName,
- Components::InvalidConnection))
-{
- // @@ We can omit this if clause if there's no publisher in this component.
- if (publisher_name == 0)
- ACE_THROW_RETURN (Components::InvalidName (), 0);
-
- if (ACE_OS_String::strcmp (publisher_name, "timeout") == 0)
- {
- return this->unsubscribe_timeout (ck
- ACE_ENV_ARG_PARAMETER);
- }
-
- ACE_THROW_RETURN (Components::InvalidName (), 0);
-}
-
-void
-CIAO_GLUE_BasicSP::EC_Servant::connect_consumer (const char *,
- Components::EventConsumerBase_ptr
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::InvalidName,
- Components::AlreadyConnected,
- Components::InvalidConnection))
-{
- ACE_THROW (Components::InvalidName ());
-}
-
-::Components::EventConsumerBase_ptr
-CIAO_GLUE_BasicSP::EC_Servant::disconnect_consumer (const char *
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::InvalidName,
- Components::NoConnection))
-{
- ACE_THROW_RETURN (Components::InvalidName (), 0);
-}
-
-::Components::ConsumerDescriptions *
-CIAO_GLUE_BasicSP::EC_Servant::get_all_consumers (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- ::Components::ConsumerDescriptions_var retv =
- new ::Components::ConsumerDescriptions; // #99 is the number of consumers
- // this component has.
- return retv._retn ();
-}
-
-::Components::ConsumerDescriptions *
-CIAO_GLUE_BasicSP::EC_Servant::get_named_consumers (const Components::NameList & names
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::InvalidName))
-{
- ::Components::ConsumerDescriptions_var retv =
- new ::Components::ConsumerDescriptions (names.length ());
-
- CORBA::ULong i = 0;
- for (; i < names.length (); ++i)
- {
- ACE_THROW_RETURN (::Components::InvalidName (), 0);
- }
- return retv._retn ();
-}
-
-::Components::EmitterDescriptions *
-CIAO_GLUE_BasicSP::EC_Servant::get_all_emitters (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- ::Components::EmitterDescriptions_var retv =
- new ::Components::EmitterDescriptions; // #99 is the number of emitters
- // this component has.
- return retv._retn ();
-}
-
-::Components::EmitterDescriptions *
-CIAO_GLUE_BasicSP::EC_Servant::get_named_emitters (const Components::NameList & names
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::InvalidName))
-{
- ::Components::EmitterDescriptions_var retv =
- new ::Components::EmitterDescriptions (names.length ());
-
- CORBA::ULong i = 0;
- for (; i < names.length (); ++i)
- {
- ACE_THROW_RETURN (::Components::InvalidName (), 0);
- }
- return retv._retn ();
-}
-
-::Components::PublisherDescriptions *
-CIAO_GLUE_BasicSP::EC_Servant::get_all_publishers (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- // @@ to-do
-
- // Need to add interfaces in the Context class to gather the information.
- // Or we can just relay it to the Context object.
- ACE_THROW_RETURN (CORBA::NO_IMPLEMENT (), 0);
-}
-
-::Components::PublisherDescriptions *
-CIAO_GLUE_BasicSP::EC_Servant::get_named_publishers (const Components::NameList &
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::InvalidName))
-{
- // @@ to-do
-
- // Need to add interfaces in the Context class to gather the information.
- // Or we can just relay it to the Context object.
- ACE_THROW_RETURN (CORBA::NO_IMPLEMENT (), 0);
-}
-
-// Operations for CCMObject interface
-::CORBA::IRObject_ptr
-CIAO_GLUE_BasicSP::EC_Servant::get_component_def (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- // @@ to-do: Connect to an IfR?
- ACE_THROW_RETURN (CORBA::NO_IMPLEMENT (), 0);
-}
-
-::Components::CCMHome_ptr
-CIAO_GLUE_BasicSP::EC_Servant::get_ccm_home (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- return this->context_->get_CCM_home (ACE_ENV_SINGLE_ARG_PARAMETER);
-}
-
-::Components::PrimaryKeyBase *
-CIAO_GLUE_BasicSP::EC_Servant::get_primary_key (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::NoKeyAvailable))
-{
- // This is a keyless component.
- ACE_THROW_RETURN (::Components::NoKeyAvailable (), 0);
-}
-
-void
-CIAO_GLUE_BasicSP::EC_Servant::configuration_complete (ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::InvalidConfiguration))
-{
- // @@ to-do
- // No-op. Don't know how to pass this info to monolithic executor.
-}
-
-void
-CIAO_GLUE_BasicSP::EC_Servant::remove (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::RemoveFailure))
-{
- // @@ to-do
- // Need to figure out what to do here. E.g., tear down the all the connections
- // this component has?
-}
-
-::Components::ComponentPortDescription *
-CIAO_GLUE_BasicSP::EC_Servant::get_all_ports (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- ::Components::ComponentPortDescription_var retv =
- new OBV_Components::ComponentPortDescription;
-
- ::Components::FacetDescriptions_var facets_desc
- = this->get_all_facets (ACE_ENV_SINGLE_ARG_PARAMETER);
- ::Components::ReceptacleDescriptions_var receptacle_desc
- = get_all_receptacles (ACE_ENV_SINGLE_ARG_PARAMETER);
- ::Components::ConsumerDescriptions_var consumer_desc
- = this->get_all_consumers (ACE_ENV_SINGLE_ARG_PARAMETER);
- ::Components::EmitterDescriptions_var emitter_desc
- = this->get_all_emitters (ACE_ENV_SINGLE_ARG_PARAMETER);
- ::Components::PublisherDescriptions_var publisher_desc
- = this->get_all_publishers (ACE_ENV_SINGLE_ARG_PARAMETER);
-
- retv->facets (facets_desc.in());
- retv->receptacles (receptacle_desc.in());
- retv->consumers (consumer_desc.in());
- retv->emitters (emitter_desc.in());
- retv->publishers (publisher_desc.in());
-
- return retv._retn();
-}
-
-// get_component implementation.
-CORBA::Object_ptr
-CIAO_GLUE_BasicSP::EC_Servant::_get_component (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- ::Components::SessionContext_var sc =
- ::Components::SessionContext::_narrow (this->context_);
-
- if (! CORBA::is_nil(sc.in ()))
- return sc->get_CCM_object (ACE_ENV_SINGLE_ARG_PARAMETER);
-
- // @@ Do we need to try the following case here? We are afterall implementing
- // a session component here.
- ::Components::EntityContext_var ec =
- ::Components::EntityContext::_narrow (this->context_);
-
- if (! CORBA::is_nil(ec.in ()))
- return ec->get_CCM_object (ACE_ENV_SINGLE_ARG_PARAMETER);
-
- ACE_THROW_RETURN (CORBA::INTERNAL (), 0);
-}
-
-void
-CIAO_GLUE_BasicSP::EC_Servant::_ciao_activate (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- Components::SessionComponent_var temp =
- Components::SessionComponent::_narrow (this->executor_.in ()
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK;
-
- if (! CORBA::is_nil (temp.in ()))
- temp->ccm_activate (ACE_ENV_SINGLE_ARG_PARAMETER);
-}
-
-void
-CIAO_GLUE_BasicSP::EC_Servant::_ciao_passivate (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- Components::SessionComponent_var temp =
- Components::SessionComponent::_narrow (this->executor_.in ()
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK;
-
- if (! CORBA::is_nil (temp.in ()))
- temp->ccm_passivate (ACE_ENV_SINGLE_ARG_PARAMETER);
-}
-
-
-void
-CIAO_GLUE_BasicSP::EC_Servant::start (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- // Simply relay to executor. May not need to return the result...
- this->executor_->start (ACE_ENV_SINGLE_ARG_PARAMETER);
-}
-
-void
-CIAO_GLUE_BasicSP::EC_Servant::stop (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- // Simply relay to executor. May not need to return the result...
- this->executor_->stop (ACE_ENV_SINGLE_ARG_PARAMETER);
-}
-
-CORBA::Long
-CIAO_GLUE_BasicSP::EC_Servant::hertz (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- // Simply relay to executor. May not need to return the result...
- return this->executor_->hertz (ACE_ENV_SINGLE_ARG_PARAMETER);
-}
-
-void
-CIAO_GLUE_BasicSP::EC_Servant::hertz (CORBA::Long hertz
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- // Simply relay to executor. May not need to return the result...
- this->executor_->hertz (hertz
- ACE_ENV_ARG_PARAMETER);
-}
-
-// Operations for publishes interfaces.
- ::Components::Cookie *
-CIAO_GLUE_BasicSP::EC_Servant::subscribe_timeout (BasicSP::TimeOutConsumer_ptr c
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- ::Components::ExceededConnectionLimit))
-{
- return this->context_->subscribe_timeout (c
- ACE_ENV_ARG_PARAMETER);
-}
-
- BasicSP::TimeOutConsumer_ptr
-CIAO_GLUE_BasicSP::EC_Servant::unsubscribe_timeout (::Components::Cookie *ck
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- ::Components::InvalidConnection))
-{
- return this->context_->unsubscribe_timeout (ck
- ACE_ENV_ARG_PARAMETER);
-}
-
-/*********************************************************/
-
-BasicSP::EC_ptr
-CIAO_GLUE_BasicSP::ECHome_Servant::_ciao_activate_component (BasicSP::CCM_EC_ptr exe
- ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- CORBA::Object_var hobj= this->container_->get_objref (this
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (0);
-
- ::Components::CCMHome_var home = ::Components::CCMHome::_narrow (hobj.in ()
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (0);
-
- CIAO_GLUE_BasicSP::EC_Servant *svt =
- new CIAO_GLUE_BasicSP::EC_Servant (exe,
- home.in (),
- this->container_);
- PortableServer::ServantBase_var safe (svt);
- PortableServer::ObjectId_var oid;
-
- CORBA::Object_var objref
- = this->container_->install_component (svt,
- oid.out ()
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (0);
-
- svt->_ciao_activate (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_CHECK_RETURN (0);
-
- BasicSP::EC_var ho
- = BasicSP::EC::_narrow (objref.in ()
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (0);
-
- if (this->component_map_.bind (oid.in (), svt) == 0)
- {
- // @@ what should happen if bind fail?
- safe._retn ();
- }
- return ho._retn ();
-}
-
-void
-CIAO_GLUE_BasicSP::ECHome_Servant::_ciao_passivate_component (BasicSP::EC_ptr comp
- ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- PortableServer::ObjectId_var oid;
-
- this->container_->uninstall_component (comp,
- oid.out ()
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK;
-
- CIAO_GLUE_BasicSP::EC_Servant *servant = 0;
- if (this->component_map_.unbind (oid.in (), servant) == 0)
- {
- PortableServer::ServantBase_var safe (servant);
- servant->_ciao_passivate (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_CHECK;
- }
- // What happen if unbind failed?
-
-}
-
-// Operations for Implicit Home interface
-BasicSP::EC_ptr
-CIAO_GLUE_BasicSP::ECHome_Servant::create (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::CreateFailure))
-{
- if (this->executor_.in () == 0)
- ACE_THROW_RETURN (CORBA::INTERNAL (), 0);
-
- Components::EnterpriseComponent_var _ciao_ec =
- this->executor_->create (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_CHECK_RETURN (0);
-
- BasicSP::CCM_EC_var _ciao_comp
- = BasicSP::CCM_EC::_narrow (_ciao_ec.in ()
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (0);
-
- return this->_ciao_activate_component (_ciao_comp.in ()
- ACE_ENV_ARG_PARAMETER);
-}
-
-// Operations for CCMHome interface
-void
-CIAO_GLUE_BasicSP::ECHome_Servant::remove_component (Components::CCMObject_ptr comp
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::RemoveFailure))
-{
- BasicSP::EC_var _ciao_comp
- = BasicSP::EC::_narrow (comp
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK;
-
- if (CORBA::is_nil (_ciao_comp.in ()))
- ACE_THROW (CORBA::INTERNAL ()); // What is the right exception to throw here?
-
- // @@ It seems to me that we need to make sure this is a component
- // generated by this home before calling remove on this component.
- _ciao_comp->remove (ACE_ENV_ARG_PARAMETER);
- ACE_CHECK;
-
-
- // Removing the object reference? get the servant from the POA with
- // the objref, and call remove() on the component, deactivate the
- // component, and then remove-ref the servant?
- this->_ciao_passivate_component (_ciao_comp.in ()
- ACE_ENV_ARG_PARAMETER);
-}
-
-
-
-CIAO_GLUE_BasicSP::ECHome_Servant::ECHome_Servant (BasicSP::CCM_ECHome_ptr exe,
- CIAO::Session_Container *c)
- : executor_ (BasicSP::CCM_ECHome::_duplicate (exe)),
- container_ (c)
-{
-}
-
-
-CIAO_GLUE_BasicSP::ECHome_Servant::~ECHome_Servant (void)
-{
-}
-
-// for factory operations inherit from parent home(s), they should return
-// the corresponding component types their homes manage
- BasicSP::EC_ptr
-CIAO_GLUE_BasicSP::ECHome_Servant::new_EC (CORBA::Long hertz
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- ::Components::CreateFailure))
-{
- Components::EnterpriseComponent_var _ciao_ec =
- this->executor_->new_EC (hertz
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (0);
-
- BasicSP::CCM_EC_var _ciao_comp
- = BasicSP::CCM_EC::_narrow (_ciao_ec.in ()
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (0);
-
- return this->_ciao_activate_component (_ciao_comp.in ()
- ACE_ENV_ARG_PARAMETER);
-}
-
-// Operations for KeylessHome interface
- ::Components::CCMObject_ptr
-CIAO_GLUE_BasicSP::ECHome_Servant::create_component (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::CreateFailure))
-{
- // Simply forward to the create method.
- return this->create (ACE_ENV_SINGLE_ARG_PARAMETER);
-}
-
-// Operations for CCMHome interface
- ::CORBA::IRObject_ptr
-CIAO_GLUE_BasicSP::ECHome_Servant::get_component_def (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- // @@ TO-DO. Contact IfR?
-
- ACE_THROW_RETURN (CORBA::NO_IMPLEMENT (), 0);
-}
-
- CORBA::IRObject_ptr
-CIAO_GLUE_BasicSP::ECHome_Servant::get_home_def (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- // @@ TO-DO. Contact IfR?
-
- ACE_THROW_RETURN (CORBA::NO_IMPLEMENT (), 0);
-}
-
-
-extern "C" EC_SVNT_Export ::PortableServer::Servant
-createECHome_Servant (::Components::HomeExecutorBase_ptr p,
- CIAO::Session_Container *c
- ACE_ENV_ARG_DECL)
-{
- if (p == 0)
- return 0;
-
- BasicSP::CCM_ECHome_var x
- = BasicSP::CCM_ECHome::_narrow (p
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (0);
-
- if (CORBA::is_nil (x.in ()))
- return 0;
-
- return new CIAO_GLUE_BasicSP::ECHome_Servant (x.in (),
- c);
-}
diff --git a/TAO/CIAO/examples/handcrafted/BasicSP/EC/EC_svnt.h b/TAO/CIAO/examples/handcrafted/BasicSP/EC/EC_svnt.h
deleted file mode 100644
index 7f3ae042251..00000000000
--- a/TAO/CIAO/examples/handcrafted/BasicSP/EC/EC_svnt.h
+++ /dev/null
@@ -1,391 +0,0 @@
-// $Id$
-
-// ===========================================================
-//
-// @file EC_svnt.h
-//
-// This is a pseudo-meta generic servant implementations template
-// for CIAO's CIDL compiler. It demonstrates how a servant
-// implementation for a session component should look like.
-//
-// @author Balachandran Natarajan
-//
-// ===========================================================
-
-#ifndef CIAO_GLUE_SESSION_EC_SVNT_H
-#define CIAO_GLUE_SESSION_EC_SVNT_H
-#include "ace/pre.h"
-
-#include "ECS.h" // Source in the skeletons for component
- // client-view equivalent interfaces
-#include "ECEC.h" // Source in the executor mapping
- // that component implementations use
-#include "ciao/Container_Base.h" //Source in the container interface definitions
-#include "tao/LocalObject.h"
-#include "tao/PortableServer/Key_Adapters.h"
-#include "ace/Active_Map_Manager_T.h"
-
-#if !defined (ACE_LACKS_PRAGMA_ONCE)
-# pragma once
-#endif /* ACE_LACKS_PRAGMA_ONCE */
-
-namespace CIAO_GLUE_BasicSP
-{
- //////////////////////////////////////////////////////////////////
- // Component specific context implementation
- class EC_SVNT_Export EC_Context :
- public virtual BasicSP::CCM_EC_Context,
- public virtual TAO_Local_RefCounted_Object
- {
- public:
- // We will allow the the servant glue code we generate to access
- // our states.
- friend class EC_Servant;
-
- // Ctor.
- EC_Context (::Components::CCMHome_ptr home,
- ::CIAO::Session_Container *c,
- EC_Servant *sv);
-
- // Dtor.
- virtual ~EC_Context ();
-
- void push_timeout (BasicSP::TimeOut *ev
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- // Operations for ::Components::CCMContext
- virtual ::Components::Principal_ptr get_caller_principal (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- virtual ::Components::CCMHome_ptr get_CCM_home (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- virtual CORBA::Boolean get_rollback_only (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::IllegalState));
-
- virtual ::Components::Transaction::UserTransaction_ptr get_user_transaction (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::IllegalState));
-
- virtual CORBA::Boolean is_caller_in_role (const char * role
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- virtual void set_rollback_only (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::IllegalState));
-
- // Operations for ::Components::SessionContext interface
- virtual CORBA::Object_ptr get_CCM_object (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::IllegalState));
-
- protected:
- // We need to generate, in protected section, stuff that manage
- // connections and consumers of this component.
-
- // Operations for publishes interfaces.
- ::Components::Cookie *
- subscribe_timeout (BasicSP::TimeOutConsumer_ptr c
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- ::Components::ExceededConnectionLimit));
-
- BasicSP::TimeOutConsumer_ptr
- unsubscribe_timeout (::Components::Cookie *ck
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- ::Components::InvalidConnection));
-
- ACE_Active_Map_Manager<BasicSP::TimeOutConsumer_var> ciao_publishes_timeout_map_;
-
- protected:
- /// Cached component home reference.
- ::Components::CCMHome_var home_;
-
- /// session container
- ::CIAO::Session_Container *container_;
-
- /// Reference back to owner.
- EC_Servant *servant_;
-
- /// @@ Cached component reference.
- BasicSP::EC_var component_;
- };
-
- //////////////////////////////////////////////////////////////////
- // Component Servant Glue code implementation
- class EC_SVNT_Export EC_Servant
- : public virtual POA_BasicSP::EC, // full skeleton name here
- public virtual PortableServer::RefCountServantBase
- {
- public:
- // Ctor.
- EC_Servant (BasicSP::CCM_EC_ptr executor,
- ::Components::CCMHome_ptr home,
- ::CIAO::Session_Container *c);
-
- // Dtor.
- ~EC_Servant (void);
-
- // Operations from supported interfaces and inherited components
- virtual void start (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- virtual void stop (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- virtual CORBA::Long hertz (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- virtual void hertz (CORBA::Long hertz
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- // Operations for provides interfaces.
-
- // Operations for receptacles interfaces.
-
- // Operations for consumers interfaces.
-
- // Operations for emits interfaces.
-
- // Operations for publishes interfaces.
- virtual ::Components::Cookie *
- subscribe_timeout (BasicSP::TimeOutConsumer_ptr c
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- ::Components::ExceededConnectionLimit));
-
- virtual BasicSP::TimeOutConsumer_ptr
- unsubscribe_timeout (::Components::Cookie *ck
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- ::Components::InvalidConnection));
-
- // Operations for Navigation interface
- virtual CORBA::Object_ptr provide_facet (const char * name
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException ,
- Components::InvalidName)) ;
- virtual ::Components::FacetDescriptions * get_all_facets (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException));
- virtual ::Components::FacetDescriptions * get_named_facets (const Components::NameList & names
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException ,
- Components::InvalidName));
- virtual CORBA::Boolean same_component (CORBA::Object_ptr object_ref
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- // Operations for Receptacles interface
- virtual ::Components::Cookie *connect (const char * name,
- CORBA::Object_ptr connection
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::InvalidName,
- Components::InvalidConnection,
- Components::AlreadyConnected,
- Components::ExceededConnectionLimit));
- virtual CORBA::Object_ptr disconnect (const char * name,
- Components::Cookie *ck
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::InvalidName,
- Components::InvalidConnection,
- Components::CookieRequired,
- Components::NoConnection));
- virtual ::Components::ConnectionDescriptions * get_connections (const char * name
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::InvalidName));
-
- virtual ::Components::ReceptacleDescriptions * get_all_receptacles (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException));
- virtual ::Components::ReceptacleDescriptions * get_named_receptacles (const Components::NameList & names
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::InvalidName));
-
- // Operations for Events interface
- virtual ::Components::EventConsumerBase_ptr get_consumer (const char * sink_name
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::InvalidName));
- virtual ::Components::Cookie *subscribe (const char * publisher_name,
- Components::EventConsumerBase_ptr subscriber
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::InvalidName,
- Components::InvalidConnection,
- Components::ExceededConnectionLimit));
- virtual ::Components::EventConsumerBase_ptr unsubscribe (const char * publisher_name,
- Components::Cookie *ck
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::InvalidName,
- Components::InvalidConnection));
- virtual void connect_consumer (const char * emitter_name,
- Components::EventConsumerBase_ptr consumer
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::InvalidName,
- Components::AlreadyConnected,
- Components::InvalidConnection));
- virtual ::Components::EventConsumerBase_ptr disconnect_consumer (const char * source_name
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::InvalidName,
- Components::NoConnection));
- virtual ::Components::ConsumerDescriptions * get_all_consumers (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException));
- virtual ::Components::ConsumerDescriptions * get_named_consumers (const Components::NameList & names
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::InvalidName));
- virtual ::Components::EmitterDescriptions * get_all_emitters (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException));
- virtual ::Components::EmitterDescriptions * get_named_emitters (const Components::NameList & names
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::InvalidName));
- virtual ::Components::PublisherDescriptions * get_all_publishers (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException));
- virtual ::Components::PublisherDescriptions * get_named_publishers (const Components::NameList & names
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::InvalidName));
-
- // Operations for CCMObject interface
- virtual ::CORBA::IRObject_ptr get_component_def (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException));
- virtual ::Components::CCMHome_ptr get_ccm_home (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException));
- virtual ::Components::PrimaryKeyBase * get_primary_key (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::NoKeyAvailable));
- virtual void configuration_complete (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::InvalidConfiguration));
- virtual void remove (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::RemoveFailure));
- virtual ::Components::ComponentPortDescription * get_all_ports (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- // get_component implementation.
- virtual CORBA::Object_ptr _get_component (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- // CIAO specific operations.
-
- // Activate the object in the container_
- void
- _ciao_activate (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- void
- _ciao_passivate (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- protected:
- // My Executor.
- BasicSP::CCM_EC_var executor_;
-
- // My Run-time Context.
- EC_Context *context_;
-
- // Managing container.
- ::CIAO::Session_Container *container_;
- };
-
- //////////////////////////////////////////////////////////////////
- // Component Home Glue code implementation
-
- // Foreach component home
- class EC_SVNT_Export ECHome_Servant :
- public virtual POA_BasicSP::ECHome, // full skeleton name here
- public virtual PortableServer::RefCountServantBase
- {
- public:
- // Ctor.
- ECHome_Servant (BasicSP::CCM_ECHome_ptr exe,
- CIAO::Session_Container *c);
-
- // Dtor.
- ~ECHome_Servant (void);
-
- // User defined and inherited operations
-
- // Factory operations.
- virtual BasicSP::EC_ptr new_EC (CORBA::Long hertz
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- ::Components::CreateFailure));
-
- // Finder operations.
-
-
- // Operations for KeylessHome interface
- virtual ::Components::CCMObject_ptr
- create_component (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::CreateFailure));
-
- // Operations for Implicit Home interface
- virtual BasicSP::EC_ptr
- create (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::CreateFailure));
-
- // Operations for CCMHome interface
- virtual ::CORBA::IRObject_ptr
- get_component_def (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- virtual ::CORBA::IRObject_ptr
- get_home_def (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- virtual void
- remove_component (Components::CCMObject_ptr comp
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::RemoveFailure));
-
- protected:
- // Helper method for factory operations.
- BasicSP::EC_ptr
- _ciao_activate_component (BasicSP::CCM_EC_ptr exe
- ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- void
- _ciao_passivate_component (BasicSP::EC_ptr comp
- ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- // My Executor.
- BasicSP::CCM_ECHome_var executor_;
-
- // My Container
- CIAO::Session_Container *container_;
-
- // Components this home manages.
- ACE_Hash_Map_Manager_Ex <PortableServer::ObjectId,
- EC_Servant*,
- TAO_ObjectId_Hash,
- ACE_Equal_To<PortableServer::ObjectId>,
- ACE_SYNCH_MUTEX> component_map_;
- };
-}
-
-extern "C" EC_SVNT_Export ::PortableServer::Servant
-createECHome_Servant (::Components::HomeExecutorBase_ptr p,
- CIAO::Session_Container *c
- ACE_ENV_ARG_DECL_WITH_DEFAULTS);
-
-#include "ace/post.h"
-#endif /* CIAO_GLUE_SESSION_EC_SVNT_H */
diff --git a/TAO/CIAO/examples/handcrafted/BasicSP/EC/EC_svnt_export.h b/TAO/CIAO/examples/handcrafted/BasicSP/EC/EC_svnt_export.h
deleted file mode 100644
index 41da2dfc871..00000000000
--- a/TAO/CIAO/examples/handcrafted/BasicSP/EC/EC_svnt_export.h
+++ /dev/null
@@ -1,50 +0,0 @@
-
-// -*- C++ -*-
-// $Id$
-// Definition for Win32 Export directives.
-// This file is generated automatically by generate_export_file.pl EC_SVNT
-// ------------------------------
-#ifndef EC_SVNT_EXPORT_H
-#define EC_SVNT_EXPORT_H
-
-#include "ace/config-all.h"
-
-#if !defined (EC_SVNT_HAS_DLL)
-# define EC_SVNT_HAS_DLL 1
-#endif /* ! EC_SVNT_HAS_DLL */
-
-#if defined (EC_SVNT_HAS_DLL) && (EC_SVNT_HAS_DLL == 1)
-# if defined (EC_SVNT_BUILD_DLL)
-# define EC_SVNT_Export ACE_Proper_Export_Flag
-# define EC_SVNT_SINGLETON_DECLARATION(T) ACE_EXPORT_SINGLETON_DECLARATION (T)
-# define EC_SVNT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_EXPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
-# else /* EC_SVNT_BUILD_DLL */
-# define EC_SVNT_Export ACE_Proper_Import_Flag
-# define EC_SVNT_SINGLETON_DECLARATION(T) ACE_IMPORT_SINGLETON_DECLARATION (T)
-# define EC_SVNT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_IMPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
-# endif /* EC_SVNT_BUILD_DLL */
-#else /* EC_SVNT_HAS_DLL == 1 */
-# define EC_SVNT_Export
-# define EC_SVNT_SINGLETON_DECLARATION(T)
-# define EC_SVNT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
-#endif /* EC_SVNT_HAS_DLL == 1 */
-
-// Set EC_SVNT_NTRACE = 0 to turn on library specific tracing even if
-// tracing is turned off for ACE.
-#if !defined (EC_SVNT_NTRACE)
-# if (ACE_NTRACE == 1)
-# define EC_SVNT_NTRACE 1
-# else /* (ACE_NTRACE == 1) */
-# define EC_SVNT_NTRACE 0
-# endif /* (ACE_NTRACE == 1) */
-#endif /* !EC_SVNT_NTRACE */
-
-#if (EC_SVNT_NTRACE == 1)
-# define EC_SVNT_TRACE(X)
-#else /* (EC_SVNT_NTRACE == 1) */
-# define EC_SVNT_TRACE(X) ACE_TRACE_IMPL(X)
-#endif /* (EC_SVNT_NTRACE == 1) */
-
-#endif /* EC_SVNT_EXPORT_H */
-
-// End of auto generated file.
diff --git a/TAO/CIAO/examples/handcrafted/BasicSP/EC/README b/TAO/CIAO/examples/handcrafted/BasicSP/EC/README
deleted file mode 100644
index 7e032780ab1..00000000000
--- a/TAO/CIAO/examples/handcrafted/BasicSP/EC/README
+++ /dev/null
@@ -1,9 +0,0 @@
-/**
-
-@page EC README File
-
- The EC component. This shouldnt be needed if we had a way to
-integrate EC sugly into CIAO. We dont at the time of writing this
-example on May 12, 2003. Hence this holy hack!
-
-*/
diff --git a/TAO/CIAO/examples/handcrafted/BasicSP/EC/client.cpp b/TAO/CIAO/examples/handcrafted/BasicSP/EC/client.cpp
deleted file mode 100644
index 7de404f4beb..00000000000
--- a/TAO/CIAO/examples/handcrafted/BasicSP/EC/client.cpp
+++ /dev/null
@@ -1,72 +0,0 @@
-// $Id$
-
-//==============================================================
-/**
- * @file client.cpp
- *
- * This is a simple client test program that interact with the EC
- * component implementation. This test uses the explicit factory
- * operation in the home interface to create a EC component
- * instance, run it for a while, and destroy the component instance.
- */
-//==============================================================
-
-#include "ECC.h"
-
-int
-main (int argc, char *argv[])
-{
- ACE_TRY_NEW_ENV
- {
- // Initialize orb
- CORBA::ORB_var orb = CORBA::ORB_init (argc, argv ACE_ENV_ARG_PARAMETER);
-
- // Resolve HomeFinder interface
-
- CORBA::Object_var obj
- = orb->string_to_object ("file://ec.ior" ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- BasicSP::ECHome_var home
- = BasicSP::ECHome::_narrow (obj.in ()
- ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- if (CORBA::is_nil (home.in ()))
- ACE_ERROR_RETURN ((LM_ERROR, "Unable to acquire ECHome objref\n"), -1);
-
- BasicSP::EC_var pulser
- = home->create (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- // Place to plug in the rate
- pulser->hertz (5
- ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- pulser->start (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- ACE_OS::sleep (45);
-
- pulser->stop (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- home->remove_component (pulser.in ()
- ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- orb->destroy (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_TRY_CHECK;
- }
- ACE_CATCHANY
- {
- ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION,
- "Who is the culprit \n");
- cerr << "Uncaught CORBA exception" << endl;
- return 1;
- }
- ACE_ENDTRY;
-
- return 0;
-}
diff --git a/TAO/CIAO/examples/handcrafted/BasicSP/EC/config b/TAO/CIAO/examples/handcrafted/BasicSP/EC/config
deleted file mode 100644
index 527aa2ba7ed..00000000000
--- a/TAO/CIAO/examples/handcrafted/BasicSP/EC/config
+++ /dev/null
@@ -1 +0,0 @@
-EC_exec|createECHome_Impl|EC_svnt|createECHome_Servant
diff --git a/TAO/CIAO/examples/handcrafted/BasicSP/EC/controller.cpp b/TAO/CIAO/examples/handcrafted/BasicSP/EC/controller.cpp
deleted file mode 100644
index 0d6a328b217..00000000000
--- a/TAO/CIAO/examples/handcrafted/BasicSP/EC/controller.cpp
+++ /dev/null
@@ -1,125 +0,0 @@
-// $Id$
-/**
- * @file controller.cpp
- *
- * This program interact with a EC component, and set the rate of the
- * EC.
- */
-
-
-#include "ECC.h"
-#include "ace/Get_Opt.h"
-
-
-char *rategen_ior_ = 0;
-int rate = 2;
-int turn_on = 1;
-
-int
-parse_args (int argc, char *argv[])
-{
- ACE_Get_Opt get_opts (argc, argv, "k:r:of");
- int c;
-
- while ((c = get_opts ()) != -1)
- switch (c)
- {
- case 'o':
- turn_on = 1;
- break;
-
- case 'f':
- turn_on = 0;
- break;
-
- case 'k':
- rategen_ior_ = get_opts.opt_arg ();
- break;
-
- case 'r':
- rate = atoi (get_opts.opt_arg ());
- break;
-
- case '?': // display help for use of the server.
- default:
- ACE_ERROR_RETURN ((LM_ERROR,
- "usage: %s\n"
- "-o (Turn on the rate generator)\n"
- "-f (Turn off the rate generator)\n"
- "-k <EC IOR> (default is file://rategen.ior)\n"
- "-r <rate in hertz> (default is 3)\n"
- "\n",
- argv [0]),
- -1);
- }
-
- if (rategen_ior_ == 0)
- rategen_ior_ = "file://ec.ior";
-
- if (rate == 0)
- rate = 3;
-
- return 0;
-}
-
-int
-main (int argc, char *argv[])
-{
- ACE_TRY_NEW_ENV
- {
- // Initialize orb
- CORBA::ORB_var orb = CORBA::ORB_init (argc, argv ACE_ENV_ARG_PARAMETER);
-
- if (parse_args (argc, argv) != 0)
- return -1;
-
- CORBA::Object_var obj
- = orb->string_to_object (rategen_ior_
- ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- BasicSP::EC_var pulser
- = BasicSP::EC::_narrow (obj.in ()
- ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- if (CORBA::is_nil (pulser.in ()))
- ACE_ERROR_RETURN ((LM_ERROR, "Unable to acquire 'EC' objref\n"), -1);
-
- pulser->hertz (rate
- ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- if (turn_on)
- {
- pulser->hertz (rate
- ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- ACE_DEBUG ((LM_DEBUG, "Start up the Event services\n"));
-
- pulser->start (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_TRY_CHECK;
- }
- else
- {
- pulser->stop (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- ACE_DEBUG ((LM_DEBUG, "Stop the ES\n"));
- }
-
- orb->destroy (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_TRY_CHECK;
- }
- ACE_CATCHANY
- {
- ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION,
- "Who is the culprit \n");
- cerr << "Uncaught CORBA exception" << endl;
- return 1;
- }
- ACE_ENDTRY;
-
- return 0;
-}
diff --git a/TAO/CIAO/examples/handcrafted/BasicSP/README b/TAO/CIAO/examples/handcrafted/BasicSP/README
deleted file mode 100644
index eea34886dbe..00000000000
--- a/TAO/CIAO/examples/handcrafted/BasicSP/README
+++ /dev/null
@@ -1,9 +0,0 @@
-/**
-
-@page BasicSP README File
-
- The most basic of the Boeing scenarios that form part of the
-OEP. This is done to illustrate how the OEP can be implemented using
-CIAO.
-
-*/
diff --git a/TAO/CIAO/examples/handcrafted/BasicSP/descriptors/BMClosedED.csd b/TAO/CIAO/examples/handcrafted/BasicSP/descriptors/BMClosedED.csd
deleted file mode 100644
index e814dfcbc13..00000000000
--- a/TAO/CIAO/examples/handcrafted/BasicSP/descriptors/BMClosedED.csd
+++ /dev/null
@@ -1,45 +0,0 @@
-<?xml version="1.0"?> <!-- -*- SGML -*- -->
-
-<!-- If this file is moved to a different directory, make sure to change the
- path to the DTD below. Otherwise the examples won't work. -->
-<!DOCTYPE softpkg SYSTEM "../../../../docs/XML/softpkg.dtd">
-
-<!-- GPS's Software Package Descriptor -->
-<!-- This file describes various GPS executor -->
-<!-- implementations. -->
-
-
-<softpkg name="CIAO-BMClosedED" version="1.0">
- <pkgtype>CORBA Component</pkgtype>
- <title>BMClosedED</title>
- <author>
- <company>ISIS at Vanderbilt University</company>
- <webpage href="http://www.cs.wustl.edu/~doc/"/>
- </author>
- <description>A BMClosedED executor implementation.</description>
- <license href="http://www.cs.wustl.edu/~schmidt/ACE-copying.html"/>
- <idl id="IDL:BasicSP/BMClosedED:1.0" homeid="IDL:BasicSP/BMClosedEDHome:1.0">
- <fileinarchive name="BMClosedED.idl"/>
- </idl>
-
- <descriptor type="CORBA Component">
- <fileinarchive name="BMClosedED.ccd"/>
- </descriptor>
-
- <implementation id="DCE:8E6C468D-A39F-46b4-962B-265F1AA8D538">
-
- <dependency type="CIAODLL">
- <softpkgref>
- <fileinarchive name="BMClosedED.ssd"/>
- <implref idref="DCE:CDC06FCA-50FC-43ca-8ECC-BEFBD33FEE78"/>
- </softpkgref>
- </dependency>
-
- <code type="DLL">
- <fileinarchive name="BMClosedED_exec"/>
- <entrypoint>createBMClosedEDHome_Impl</entrypoint>
- </code>
-
- </implementation>
-
-</softpkg>
diff --git a/TAO/CIAO/examples/handcrafted/BasicSP/descriptors/BMClosedED.ssd b/TAO/CIAO/examples/handcrafted/BasicSP/descriptors/BMClosedED.ssd
deleted file mode 100644
index 8ef62ebaa1c..00000000000
--- a/TAO/CIAO/examples/handcrafted/BasicSP/descriptors/BMClosedED.ssd
+++ /dev/null
@@ -1,43 +0,0 @@
-<?xml version="1.0"?> <!-- -*- SGML -*- -->
-
-<!-- If this file is moved to a different directory, make sure to change the
- path to the DTD below. Otherwise the examples won't work. -->
-<!DOCTYPE softpkg SYSTEM "../../../../docs/XML/softpkg.dtd">
-
-<!-- RateGen's Servant Software Descriptor -->
-<!-- This file describes various RateGen servant -->
-<!-- implementations. -->
-
-
-<softpkg name="CIAO-BMClosedED-Servant" version="1.0">
- <pkgtype>CIAO Servant</pkgtype>
- <title>BasicSP::BMDevice Servants</title>
- <author>
- <company>ISIS at Vanderbilt University</company>
- <webpage href="http://www.dre.vanderbilt.edu/"/>
- </author>
- <description>A EC event generator implementation.</description>
- <license href="http://www.cs.wustl.edu/~schmidt/ACE-copying.html"/>
- <idl id="IDL:BasicSP/BMClosedED:1.0" homeid="IDL:BasicSP/BMClosedEDHome:1.0">
- <fileinarchive name="BMClosedED.idl"/>
- </idl>
-
- <descriptor type="CORBA Component">
- <fileinarchive name="BMClosedED.ccd"/>
- </descriptor>
-
- <implementation id="DCE:CDC06FCA-50FC-43ca-8ECC-BEFBD33FEE78">
-
- <dependency type="ORB">
- <name>TAO</name>
- </dependency>
-
- <code>
- <!-- No need to specify extension below since ACE takes care of that, -->
- <fileinarchive name="BMClosedED_svnt"/>
- <entrypoint>createBMClosedEDHome_Servant</entrypoint>
- </code>
-
- </implementation>
-
-</softpkg>
diff --git a/TAO/CIAO/examples/handcrafted/BasicSP/descriptors/BMDevice.csd b/TAO/CIAO/examples/handcrafted/BasicSP/descriptors/BMDevice.csd
deleted file mode 100644
index d4ae1236c6c..00000000000
--- a/TAO/CIAO/examples/handcrafted/BasicSP/descriptors/BMDevice.csd
+++ /dev/null
@@ -1,46 +0,0 @@
-<?xml version="1.0"?> <!-- -*- SGML -*- -->
-
-<!-- If this file is moved to a different directory, make sure to change the
- path to the DTD below. Otherwise the examples won't work. -->
-<!DOCTYPE softpkg SYSTEM "../../../../docs/XML/softpkg.dtd">
-
-<!-- GPS's Software Package Descriptor -->
-<!-- This file describes various GPS executor -->
-<!-- implementations. -->
-
-
-<softpkg name="CIAO-BMDevice" version="1.0">
- <pkgtype>CORBA Component</pkgtype>
- <title>BMDevice</title>
- <author>
- <company>ISIS at Vanderbilt University</company>
- <webpage href="http://www.cs.wustl.edu/~doc/"/>
- </author>
- <description>A BMDevice executor implementation.</description>
- <license href="http://www.cs.wustl.edu/~schmidt/ACE-copying.html"/>
- <idl id="IDL:BasicSP/BMDevice:1.0" homeid="IDL:BasicSP/BMDeviceHome:1.0">
- <fileinarchive name="BMDevice.idl"/>
- </idl>
-
- <descriptor type="CORBA Component">
- <fileinarchive name="BMDevice.ccd"/>
- </descriptor>
-
- <implementation id="DCE:82C2B032-37F0-4315-A59F-7020D3264E4D">
-
- <!-- CIAO extension -->
- <dependency type="CIAODLL">
- <softpkgref>
- <fileinarchive name="BMDevice.ssd"/>
- <implref idref="DCE:93D254CF-9538-44e8-BB98-AABCD134ADD3"/>
- </softpkgref>
- </dependency>
-
- <code type="DLL">
- <fileinarchive name="BMDevice_exec"/>
- <entrypoint>createBMDeviceHome_Impl</entrypoint>
- </code>
-
- </implementation>
-
-</softpkg>
diff --git a/TAO/CIAO/examples/handcrafted/BasicSP/descriptors/BMDevice.ssd b/TAO/CIAO/examples/handcrafted/BasicSP/descriptors/BMDevice.ssd
deleted file mode 100644
index 500a6284df0..00000000000
--- a/TAO/CIAO/examples/handcrafted/BasicSP/descriptors/BMDevice.ssd
+++ /dev/null
@@ -1,43 +0,0 @@
-<?xml version="1.0"?> <!-- -*- SGML -*- -->
-
-<!-- If this file is moved to a different directory, make sure to change the
- path to the DTD below. Otherwise the examples won't work. -->
-<!DOCTYPE softpkg SYSTEM "../../../../docs/XML/softpkg.dtd">
-
-<!-- RateGen's Servant Software Descriptor -->
-<!-- This file describes various RateGen servant -->
-<!-- implementations. -->
-
-
-<softpkg name="CIAO-BMDevice-Servant" version="1.0">
- <pkgtype>CIAO Servant</pkgtype>
- <title>BasicSP::BMDevice Servants</title>
- <author>
- <company>ISIS at Vanderbilt University</company>
- <webpage href="http://www.dre.vanderbilt.edu/"/>
- </author>
- <description>A EC event generator implementation.</description>
- <license href="http://www.cs.wustl.edu/~schmidt/ACE-copying.html"/>
- <idl id="IDL:BasicSP/BMDevice:1.0" homeid="IDL:BasicSP/BMDeviceHome:1.0">
- <fileinarchive name="BMDevice.idl"/>
- </idl>
-
- <descriptor type="CORBA Component">
- <fileinarchive name="BMDevice.ccd"/>
- </descriptor>
-
- <implementation id="DCE:93D254CF-9538-44e8-BB98-AABCD134ADD3">
-
- <dependency type="ORB">
- <name>TAO</name>
- </dependency>
-
- <code>
- <!-- No need to specify extension below since ACE takes care of that, -->
- <fileinarchive name="EC_svnt"/>
- <entrypoint>createBMDeviceHome_Servant</entrypoint>
- </code>
-
- </implementation>
-
-</softpkg>
diff --git a/TAO/CIAO/examples/handcrafted/BasicSP/descriptors/BMDisplay.csd b/TAO/CIAO/examples/handcrafted/BasicSP/descriptors/BMDisplay.csd
deleted file mode 100644
index 1f1d5ff0060..00000000000
--- a/TAO/CIAO/examples/handcrafted/BasicSP/descriptors/BMDisplay.csd
+++ /dev/null
@@ -1,46 +0,0 @@
-<?xml version="1.0"?> <!-- -*- SGML -*- -->
-
-<!-- If this file is moved to a different directory, make sure to change the
- path to the DTD below. Otherwise the examples won't work. -->
-<!DOCTYPE softpkg SYSTEM "../../../../docs/XML/softpkg.dtd">
-
-<!-- GPS's Software Package Descriptor -->
-<!-- This file describes various GPS executor -->
-<!-- implementations. -->
-
-
-<softpkg name="CIAO-BMDisplay" version="1.0">
- <pkgtype>CORBA Component</pkgtype>
- <title>BMDisplay</title>
- <author>
- <company>ISIS at Vanderbilt University</company>
- <webpage href="http://www.cs.wustl.edu/~doc/"/>
- </author>
- <description>A BMDisplay executor implementation.</description>
- <license href="http://www.cs.wustl.edu/~schmidt/ACE-copying.html"/>
- <idl id="IDL:BasicSP/BMDisplay:1.0" homeid="IDL:BasicSP/BMDisplayHome:1.0">
- <fileinarchive name="BMDisplay.idl"/>
- </idl>
-
- <descriptor type="CORBA Component">
- <fileinarchive name="BMDisplay.ccd"/>
- </descriptor>
-
- <implementation id="DCE:8E92655E-CA07-46C8-B127-0F0872A8CC29">
-
- <!-- CIAO extension -->
- <dependency type="CIAODLL">
- <softpkgref>
- <fileinarchive name="BMDisplay.ssd"/>
- <implref idref="DCE:D7984625-8561-431d-9927-4E498B317C02"/>
- </softpkgref>
- </dependency>
-
- <code type="DLL">
- <fileinarchive name="BMDisplay_exec"/>
- <entrypoint>createBMDisplayHome_Impl</entrypoint>
- </code>
-
- </implementation>
-
-</softpkg>
diff --git a/TAO/CIAO/examples/handcrafted/BasicSP/descriptors/BMDisplay.ssd b/TAO/CIAO/examples/handcrafted/BasicSP/descriptors/BMDisplay.ssd
deleted file mode 100644
index 37949ebccb6..00000000000
--- a/TAO/CIAO/examples/handcrafted/BasicSP/descriptors/BMDisplay.ssd
+++ /dev/null
@@ -1,43 +0,0 @@
-<?xml version="1.0"?> <!-- -*- SGML -*- -->
-
-<!-- If this file is moved to a different directory, make sure to change the
- path to the DTD below. Otherwise the examples won't work. -->
-<!DOCTYPE softpkg SYSTEM "../../../../docs/XML/softpkg.dtd">
-
-<!-- RateGen's Servant Software Descriptor -->
-<!-- This file describes various RateGen servant -->
-<!-- implementations. -->
-
-
-<softpkg name="CIAO-BMDisplay-Servant" version="1.0">
- <pkgtype>CIAO Servant</pkgtype>
- <title>BasicSP::BMDisplay Servants</title>
- <author>
- <company>ISIS at Vanderbilt University</company>
- <webpage href="http://www.dre.vanderbilt.edu/"/>
- </author>
- <description>A EC event generator implementation.</description>
- <license href="http://www.cs.wustl.edu/~schmidt/ACE-copying.html"/>
- <idl id="IDL:BasicSP/BMDisplay:1.0" homeid="IDL:BasicSP/BMDisplayHome:1.0">
- <fileinarchive name="BMDisplay.idl"/>
- </idl>
-
- <descriptor type="CORBA Component">
- <fileinarchive name="BMDisplay.ccd"/>
- </descriptor>
-
- <implementation id="DCE:D7984625-8561-431d-9927-4E498B317C02">
-
- <dependency type="ORB">
- <name>TAO</name>
- </dependency>
-
- <code>
- <!-- No need to specify extension below since ACE takes care of that, -->
- <fileinarchive name="BMDisplay_svnt"/>
- <entrypoint>createBMDisplayHome_Servant</entrypoint>
- </code>
-
- </implementation>
-
-</softpkg>
diff --git a/TAO/CIAO/examples/handcrafted/BasicSP/descriptors/BasicSP.cad b/TAO/CIAO/examples/handcrafted/BasicSP/descriptors/BasicSP.cad
deleted file mode 100644
index bd727f4475c..00000000000
--- a/TAO/CIAO/examples/handcrafted/BasicSP/descriptors/BasicSP.cad
+++ /dev/null
@@ -1,109 +0,0 @@
-<?xml version="1.0"?> <!-- -*- SGML -*- -->
-
-<!-- If this file is moved to a different directory, make sure to change the
- path to the DTD below. Otherwise the examples won't work. -->
-<!DOCTYPE componentassembly SYSTEM "../../../../docs/XML/componentassembly.dtd">
-
-<componentassembly id="Single-process Basic assembly">
- <componentfiles>
- <componentfile id="com-EC">
- <fileinarchive name="EC.csd"/>
- </componentfile>
- <componentfile id="com-BMDevice">
- <fileinarchive name="BMDevice.csd"/>
- </componentfile>
- <componentfile id="com-BMClosedED">
- <fileinarchive name="BMClosedED.csd"/>
- </componentfile>
- <componentfile id="com-BMDisplay">
- <fileinarchive name="BMDisplay.csd"/>
- </componentfile>
- </componentfiles>
-
- <partitioning>
-
- <!-- A plain vanilla partition. We don't even need the processcollocation tag here. -->
- <homeplacement id="a_ECHome">
- <componentfileref idref="com-EC"/>
- <componentinstantiation id="a_EC">
- <registercomponent>
- <!-- writeiortofile is a non-standard CIAO extension. -->
- <writeiortofile name="ec.ior"/>
- </registercomponent>
- </componentinstantiation>
- </homeplacement>
- <homeplacement id="a_BMDeviceHome">
- <componentfileref idref="com-BMDevice"/>
- <componentinstantiation id="a_BMDevice"/>
- </homeplacement>
- <homeplacement id="a_BMClosedEDHome">
- <componentfileref idref="com-BMClosedED"/>
- <componentinstantiation id="a_BMClosedED"/>
- </homeplacement>
- <homeplacement id="a_BMDisplayHome">
- <componentfileref idref="com-BMDisplay"/>
- <componentinstantiation id="a_BMDisplay"/>
- </homeplacement>
-
- </partitioning>
-
- <connections>
-
- <connectevent>
- <consumesport>
- <consumesidentifier>timeout</consumesidentifier>
- <componentinstantiationref idref="a_BMDevice"/>
- </consumesport>
- <publishesport>
- <publishesidentifier>timeout</publishesidentifier>
- <componentinstantiationref idref="a_EC"/>
- </publishesport>
- </connectevent>
-
- <connectevent>
- <consumesport>
- <consumesidentifier>in_avail</consumesidentifier>
- <componentinstantiationref idref="a_BMClosedED"/>
- </consumesport>
- <publishesport>
- <publishesidentifier>data_available</publishesidentifier>
- <componentinstantiationref idref="a_BMDevice"/>
- </publishesport>
- </connectevent>
-
- <connectevent>
- <consumesport>
- <consumesidentifier>data_ready</consumesidentifier>
- <componentinstantiationref idref="a_BMDisplay"/>
- </consumesport>
- <publishesport>
- <publishesidentifier>out_avail</publishesidentifier>
- <componentinstantiationref idref="a_BMClosedED"/>
- </publishesport>
- </connectevent>
-
- <connectinterface>
- <usesport>
- <usesidentifier>datain</usesidentifier>
- <componentinstantiationref idref="a_BMClosedED"/>
- </usesport>
- <providesport>
- <providesidentifier>data_read</providesidentifier>
- <componentinstantiationref idref="a_BMDevice"/>
- </providesport>
- </connectinterface>
-
- <connectinterface>
- <usesport>
- <usesidentifier>comp_data</usesidentifier>
- <componentinstantiationref idref="a_BMDisplay"/>
- </usesport>
- <providesport>
- <providesidentifier>dataout</providesidentifier>
- <componentinstantiationref idref="a_BMClosedED"/>
- </providesport>
- </connectinterface>
-
- </connections>
-
-</componentassembly>
diff --git a/TAO/CIAO/examples/handcrafted/BasicSP/descriptors/CIAO_Installation_Data.ini b/TAO/CIAO/examples/handcrafted/BasicSP/descriptors/CIAO_Installation_Data.ini
deleted file mode 100644
index ba2027881c1..00000000000
--- a/TAO/CIAO/examples/handcrafted/BasicSP/descriptors/CIAO_Installation_Data.ini
+++ /dev/null
@@ -1,9 +0,0 @@
-[ComponentInstallation]
-DCE:75309233-0E0A-4cfb-B186-3E99F69B1D40=EC_svnt
-DCE:82C2B032-37F0-4315-A59F-7020D3264E4D=BMDevice_exec
-DCE:8E92655E-CA07-46C8-B127-0F0872A8CC29=BMDisplay_exec
-DCE:93D254CF-9538-44e8-BB98-AABCD134ADD3=BMDevice_svnt
-DCE:CDC06FCA-50FC-43ca-8ECC-BEFBD33FEE78=BMClosedED_svnt
-DCE:8E6C468D-A39F-46b4-962B-265F1AA8D538=BMClosedED_exec
-DCE:D7984625-8561-431d-9927-4E498B317C02=BMDisplay_svnt
-DCE:3148F760-F2ED-4204-A775-6B972C10E8CB=EC_exec
diff --git a/TAO/CIAO/examples/handcrafted/BasicSP/descriptors/EC.csd b/TAO/CIAO/examples/handcrafted/BasicSP/descriptors/EC.csd
deleted file mode 100644
index 562ac252743..00000000000
--- a/TAO/CIAO/examples/handcrafted/BasicSP/descriptors/EC.csd
+++ /dev/null
@@ -1,46 +0,0 @@
-<?xml version="1.0"?> <!-- -*- SGML -*- -->
-
-<!-- If this file is moved to a different directory, make sure to change the
- path to the DTD below. Otherwise the examples won't work. -->
-<!DOCTYPE softpkg SYSTEM "../../../../docs/XML/softpkg.dtd">
-
-<!-- RateGen's Software Package Descriptor -->
-<!-- This file describes various RateGen executor -->
-<!-- implementations. -->
-
-
-<softpkg name="CIAO-EC" version="1.0">
- <pkgtype>CORBA Component</pkgtype>
- <title>EC</title>
- <author>
- <company>ISIS at Vanderbilt University</company>
- <webpage href="http://www.dre.vanderbilt.edu/"/>
- </author>
- <description>A Event executor implementation.</description>
- <license href="http://www.cs.wustl.edu/~schmidt/ACE-copying.html"/>
- <idl id="IDL:BasicSP/EC:1.0" homeid="IDL:BasicSP/ECHome:1.0">
- <fileinarchive name="EC.idl"/>
- </idl>
- <descriptor type="CORBA Component">
- <fileinarchive name="EC.ccd"/>
- </descriptor>
- <implementation id="DCE:3148F760-F2ED-4204-A775-6B972C10E8CB">
-
- <!-- CIAO extension -->
- <dependency type="CIAODLL">
- <softpkgref>
- <!-- .ssd stands for Servant Software Descriptors which is a CIAO extension -->
- <fileinarchive name="EC.ssd"/>
- <implref idref="DCE:75309233-0E0A-4cfb-B186-3E99F69B1D40"/>
- </softpkgref>
- </dependency>
-
- <code type="DLL">
- <!-- No need to specify extension below since ACE takes care of that, -->
- <fileinarchive name="EC_exec"/>
- <entrypoint>createECHome_Impl</entrypoint>
- </code>
-
- </implementation>
-
-</softpkg>
diff --git a/TAO/CIAO/examples/handcrafted/BasicSP/descriptors/EC.ssd b/TAO/CIAO/examples/handcrafted/BasicSP/descriptors/EC.ssd
deleted file mode 100644
index 02110072580..00000000000
--- a/TAO/CIAO/examples/handcrafted/BasicSP/descriptors/EC.ssd
+++ /dev/null
@@ -1,43 +0,0 @@
-<?xml version="1.0"?> <!-- -*- SGML -*- -->
-
-<!-- If this file is moved to a different directory, make sure to change the
- path to the DTD below. Otherwise the examples won't work. -->
-<!DOCTYPE softpkg SYSTEM "../../../../docs/XML/softpkg.dtd">
-
-<!-- RateGen's Servant Software Descriptor -->
-<!-- This file describes various RateGen servant -->
-<!-- implementations. -->
-
-
-<softpkg name="CIAO-EC-Servant" version="1.0">
- <pkgtype>CIAO Servant</pkgtype>
- <title>BasicSP::EC Servants</title>
- <author>
- <company>ISIS at Vanderbilt University</company>
- <webpage href="http://www.dre.vanderbilt.edu/"/>
- </author>
- <description>A EC event generator implementation.</description>
- <license href="http://www.cs.wustl.edu/~schmidt/ACE-copying.html"/>
- <idl id="IDL:BasicSP/EC:1.0" homeid="IDL:BasicSP/ECHome:1.0">
- <fileinarchive name="EC.idl"/>
- </idl>
-
- <descriptor type="CORBA Component">
- <fileinarchive name="EC.ccd"/>
- </descriptor>
-
- <implementation id="DCE:75309233-0E0A-4cfb-B186-3E99F69B1D40">
-
- <dependency type="ORB">
- <name>TAO</name>
- </dependency>
-
- <code>
- <!-- No need to specify extension below since ACE takes care of that, -->
- <fileinarchive name="EC_svnt"/>
- <entrypoint>createECHome_Servant</entrypoint>
- </code>
-
- </implementation>
-
-</softpkg>
diff --git a/TAO/CIAO/examples/handcrafted/BasicSP/descriptors/test.dat b/TAO/CIAO/examples/handcrafted/BasicSP/descriptors/test.dat
deleted file mode 100644
index d26b3d4e070..00000000000
--- a/TAO/CIAO/examples/handcrafted/BasicSP/descriptors/test.dat
+++ /dev/null
@@ -1,2 +0,0 @@
-Default corbaloc:iiop:localhost:10000/ServerActivator
-Remote corbaloc:iiop:localhost:12000/ServerActivator \ No newline at end of file
diff --git a/TAO/CIAO/examples/handcrafted/Display/Configuration-0.png b/TAO/CIAO/examples/handcrafted/Display/Configuration-0.png
deleted file mode 100644
index 1a52e073df1..00000000000
--- a/TAO/CIAO/examples/handcrafted/Display/Configuration-0.png
+++ /dev/null
Binary files differ
diff --git a/TAO/CIAO/examples/handcrafted/Display/GPS/GPS.idl b/TAO/CIAO/examples/handcrafted/Display/GPS/GPS.idl
deleted file mode 100644
index 8a2f2f50361..00000000000
--- a/TAO/CIAO/examples/handcrafted/Display/GPS/GPS.idl
+++ /dev/null
@@ -1,25 +0,0 @@
-// $Id$
-
-/**
- * @file GPS.idl
- *
- * Definition of the GPS component.
- *
- * @author Nanbor Wang <nanbor@cs.wustl.edu>
- */
-
-#include "../HUDisplay.idl"
-
-module HUDisplay
-{
- component GPS
- {
- provides position MyLocation;
- publishes tick Ready;
- consumes tick Refresh;
- };
-
- home GPSHome manages GPS
- {
- };
-};
diff --git a/TAO/CIAO/examples/handcrafted/Display/GPS/GPS.mpc b/TAO/CIAO/examples/handcrafted/Display/GPS/GPS.mpc
deleted file mode 100644
index 43d6dd6d847..00000000000
--- a/TAO/CIAO/examples/handcrafted/Display/GPS/GPS.mpc
+++ /dev/null
@@ -1,74 +0,0 @@
-// $Id$
-// This file is generated with "generate_component_mpc.pl -l .. -p HUDisplay -i GPS"
-// This file has been manually modified to add a second component implementation.
-
-project(GPS_stub): ciao_client {
- depends += HUDisplay_stub
- sharedname = GPS_stub
- idlflags += -Wb,stub_export_macro=GPS_STUB_Export -Wb,stub_export_include=GPS_stub_export.h -Wb,skel_export_macro=GPS_SVNT_Export -Wb,skel_export_include=GPS_svnt_export.h
- dllflags = GPS_STUB_BUILD_DLL
-
- IDL_Files {
- GPS.idl
- }
-
- Source_Files {
- GPSC.cpp
- }
-}
-
-project(GPS_svnt) : ciao_server {
- depends += HUDisplay_svnt GPS_stub
- sharedname = GPS_svnt
- libs += GPS_stub HUDisplay_stub HUDisplay_svnt
- libpaths += ..
- idlflags += -Wb,export_macro=GPS_SVNT_Export -Wb,export_include=GPS_svnt_export.h
- dllflags = GPS_SVNT_BUILD_DLL
-
- IDL_Files {
- GPSE.idl
- }
-
- Source_Files {
- GPSEC.cpp
- GPSS.cpp
- GPS_svnt.cpp
- }
-}
-
-
-project(GPS_exec) : ciao_server {
- depends += GPS_svnt
- sharedname = GPS_exec
- libs += GPS_stub GPS_svnt HUDisplay_stub HUDisplay_svnt
- libpaths += ..
- idlflags += -Wb,export_macro=GPS_EXEC_Export -Wb,export_include=GPS_exec_export.h
- dllflags = GPS_EXEC_BUILD_DLL
-
- IDL_Files {
- GPSEI.idl
- }
-
- Source_Files {
- GPSEIC.cpp
- GPS_exec.cpp
- }
-}
-
-project(GPS_tracing_exec) : ciao_server {
- depends += GPS_svnt
- sharedname = GPS_tracing_exec
- libs += GPS_stub GPS_svnt HUDisplay_stub HUDisplay_svnt
- libpaths += ..
- idlflags += -Wb,export_macro=GPS_EXEC_Export -Wb,export_include=GPS_exec_export.h
- dllflags = GPS_EXEC_BUILD_DLL
-
- IDL_Files {
- GPSEI.idl
- }
-
- Source_Files {
- GPSEIC.cpp
- GPS_tracing_exec.cpp
- }
-}
diff --git a/TAO/CIAO/examples/handcrafted/Display/GPS/GPSE.idl b/TAO/CIAO/examples/handcrafted/Display/GPS/GPSE.idl
deleted file mode 100644
index 44b08652d0e..00000000000
--- a/TAO/CIAO/examples/handcrafted/Display/GPS/GPSE.idl
+++ /dev/null
@@ -1,75 +0,0 @@
-// $Id$
-
-// ===========================================================
-//
-// @file GPSE.idl
-//
-// Generated based on $(CIAO_ROOT)/docs/templates/Executor.idl
-//
-// @author Nanbor Wang <nanbor@cs.wustl.edu>
-//
-// ===========================================================
-
-#ifndef GPSE_IDL
-#define GPSE_IDL
-
-#include "CCM_Container.idl" // Found in $(CIAO_ROOT)/ciao
- // For various definitions of container
- // internal/callback interfaces
-#include "GPS.idl" // Original component IDL definition
-#include "../HUDisplayE.idl"
-
-module HUDisplay {
-
- // Component Main Executor Interface. We currently do not
- // support Executor-based implementation.
-
- local interface CCM_GPS_Executor
- : ::Components::EnterpriseComponent
- {
- };
-
- // Monolithic component executor.
- // For implementing monolithic component call back interface.
-
- local interface CCM_GPS
- : ::Components::EnterpriseComponent
- {
- CCM_position get_MyLocation ();
-
- void push_Refresh (in tick ev);
- };
-
- /**
- * Component Context Interface
- *
- * Notice that we are taking a shortcut here to inherit the
- * component-specific context from SessionContext directly instead
- * of CCMContext.
- */
- local interface CCM_GPS_Context
- : Components::SessionContext
- {
- void push_Ready (in tick ev);
- };
-
- local interface CCM_GPSHomeExplicit
- : ::Components::HomeExecutorBase
- {
- };
-
- local interface CCM_GPSHomeImplicit
- {
- ::Components::EnterpriseComponent create ()
- raises (::Components::CCMException);
- };
-
- local interface CCM_GPSHome
- : CCM_GPSHomeExplicit,
- CCM_GPSHomeImplicit
- {
- };
-
-};
-
-#endif /* GPSE_IDL */
diff --git a/TAO/CIAO/examples/handcrafted/Display/GPS/GPSEI.idl b/TAO/CIAO/examples/handcrafted/Display/GPS/GPSEI.idl
deleted file mode 100644
index d7604931f58..00000000000
--- a/TAO/CIAO/examples/handcrafted/Display/GPS/GPSEI.idl
+++ /dev/null
@@ -1,33 +0,0 @@
-// $Id$
-
-/**
- * @file GPSEI.idl
- *
- * Definition of the GPS component implementation.
- *
- * @author Nanbor Wang <nanbor@cs.wustl.edu>
- */
-
-#ifndef GPSEI_IDL
-#define GPSEI_IDL
-
-#include "GPSE.idl"
-
-module HUDisplay
-{
- /**
- * @interface GPS_Exec
- *
- * The actually GPS executor inherits from both CCM_GPS and
- * CCM_position interfaces as a monolithic implementation.
- */
- local interface GPS_Exec :
- CCM_GPS,
- CCM_position,
- Components::SessionComponent
- {
- };
-
-};
-
-#endif /* GPSEI_IDL */
diff --git a/TAO/CIAO/examples/handcrafted/Display/GPS/GPS_exec.cpp b/TAO/CIAO/examples/handcrafted/Display/GPS/GPS_exec.cpp
deleted file mode 100644
index da25ff45580..00000000000
--- a/TAO/CIAO/examples/handcrafted/Display/GPS/GPS_exec.cpp
+++ /dev/null
@@ -1,131 +0,0 @@
-// $Id$
-
-#include "GPS_exec.h"
-
-#define DISPLACEMENT 256
-
-/// Default constructor.
-MyImpl::GPS_exec_i::GPS_exec_i ()
-{
- ACE_OS::srand ((u_int) ACE_OS::time ());
- this->positionx_ = ACE_OS::rand ();
- this->positiony_ = ACE_OS::rand ();
-}
-
-/// Default destructor.
-MyImpl::GPS_exec_i::~GPS_exec_i ()
-{
-}
-
-// Operations from HUDisplay::GPS
-
-HUDisplay::CCM_position_ptr
-MyImpl::GPS_exec_i::get_MyLocation (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- return HUDisplay::CCM_position::_duplicate (this);
-}
-
-void
-MyImpl::GPS_exec_i::push_Refresh (HUDisplay::tick *
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- // Refresh position
- this->positionx_ += ACE_OS::rand () % DISPLACEMENT - (DISPLACEMENT/2);
- this->positiony_ += ACE_OS::rand () % DISPLACEMENT - (DISPLACEMENT/2);
-
- // Nitify others
- HUDisplay::tick_var event = new OBV_HUDisplay::tick;
-
- this->context_->push_Ready (event
- ACE_ENV_ARG_PARAMETER);
-}
-
-// Operations from HUDisplay::position
-
-CORBA::Long
-MyImpl::GPS_exec_i::posx (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- return this->positionx_;
-}
-
-CORBA::Long
-MyImpl::GPS_exec_i::posy (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- return this->positiony_;
-}
-
-// Operations from Components::SessionComponent
-void
-MyImpl::GPS_exec_i::set_session_context (Components::SessionContext_ptr ctx
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::CCMException))
-{
- ACE_DEBUG ((LM_DEBUG, "MyImpl::GPS_exec_i::set_session_context\n"));
-
- this->context_ =
- HUDisplay::CCM_GPS_Context::_narrow (ctx
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK;
-
- if (CORBA::is_nil (this->context_.in ()))
- ACE_THROW (CORBA::INTERNAL ());
- // Urm, we actually discard exceptions thown from this operation.
-}
-
-void
-MyImpl::GPS_exec_i::ccm_activate (ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::CCMException))
-{
- ACE_DEBUG ((LM_DEBUG, "MyImpl::GPS_exec_i::ccm_activate\n"));
-}
-
-void
-MyImpl::GPS_exec_i::ccm_passivate (ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::CCMException))
-{
- ACE_DEBUG ((LM_DEBUG, "MyImpl::GPS_exec_i::ccm_passivate\n"));
-}
-
-void
-MyImpl::GPS_exec_i::ccm_remove (ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::CCMException))
-{
- ACE_DEBUG ((LM_DEBUG, "MyImpl::GPS_exec_i::ccm_remove\n"));
-}
-
-/// Default ctor.
-MyImpl::GPSHome_exec_i::GPSHome_exec_i ()
-{
-}
-
-/// Default dtor.
-MyImpl::GPSHome_exec_i::~GPSHome_exec_i ()
-{
-}
-
-// Explicit home operations.
-
-// Implicit home operations.
-
-::Components::EnterpriseComponent_ptr
-MyImpl::GPSHome_exec_i::create (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::CCMException))
-{
- return new MyImpl::GPS_exec_i;
-}
-
-
-extern "C" GPS_EXEC_Export ::Components::HomeExecutorBase_ptr
-createGPSHome_Impl (void)
-{
- return new MyImpl::GPSHome_exec_i;
-}
diff --git a/TAO/CIAO/examples/handcrafted/Display/GPS/GPS_exec.h b/TAO/CIAO/examples/handcrafted/Display/GPS/GPS_exec.h
deleted file mode 100644
index 208c3594d75..00000000000
--- a/TAO/CIAO/examples/handcrafted/Display/GPS/GPS_exec.h
+++ /dev/null
@@ -1,127 +0,0 @@
-// $Id$
-
-/**
- * @file GPS_exec.h
- *
- * Header file for the actual GPS and GPSHome component
- * implementations. These classes are the implementations of local
- * interfaces defined in GPSEI.idl.
- *
- * @author Nanbor Wang <nanbor@cse.wustl.edu>
- */
-
-#ifndef GPS_EXEC_H
-#define GPS_EXEC_H
-
-#include "GPSEIC.h"
-#include "tao/LocalObject.h"
-
-// The namespace name for the actual implementation classes doesn't
-// really matter. Since there may be several different
-// implementations for a component, they can very well be in different
-// namespaces.
-namespace MyImpl
-{
- /**
- * @class GPS_exec_i
- *
- * An example RateGen executor implementation class.
- */
- class GPS_EXEC_Export GPS_exec_i :
- public virtual HUDisplay::GPS_Exec,
- // CIAO container implementation depends on correct reference
- // counting of local interfaces, so we take a short cut to
- public virtual TAO_Local_RefCounted_Object
- {
- public:
- /// Default constructor.
- GPS_exec_i ();
-
- /// Default destructor.
- ~GPS_exec_i ();
-
- // Operations from HUDisplay::GPS
-
- virtual HUDisplay::CCM_position_ptr
- get_MyLocation (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- virtual void
- push_Refresh (HUDisplay::tick *ev
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- // Operations from HUDisplay::position
-
- virtual CORBA::Long
- posx (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- virtual CORBA::Long
- posy (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- // Operations from Components::SessionComponent
-
- virtual void
- set_session_context (Components::SessionContext_ptr ctx
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::CCMException));
-
- virtual void
- ccm_activate (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::CCMException));
-
- virtual void
- ccm_passivate (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::CCMException));
-
- virtual void
- ccm_remove (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::CCMException));
- protected:
- CORBA::Long positionx_;
- CORBA::Long positiony_;
-
- /// Copmponent specific context
- HUDisplay::CCM_GPS_Context_var context_;
- };
-
- /**
- * @class GPSHome_exec_i
- *
- * GPS home executor implementation class.
- */
- class GPS_EXEC_Export GPSHome_exec_i :
- public virtual HUDisplay::CCM_GPSHome,
- public virtual TAO_Local_RefCounted_Object
- {
- public:
- /// Default ctor.
- GPSHome_exec_i ();
-
- /// Default dtor.
- ~GPSHome_exec_i ();
-
- // Explicit home operations.
-
- // Implicit home operations.
-
- virtual ::Components::EnterpriseComponent_ptr
- create (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::CCMException));
- };
-
-}
-
-// Executor DLL entry point. CIAO's deployment and assembly framework
-// invokes this function on the resulting DLL to get the home executor.
-extern "C" GPS_EXEC_Export ::Components::HomeExecutorBase_ptr
-createGPSHome_Impl (void);
-
-#endif /* GPS_EXEC_H */
diff --git a/TAO/CIAO/examples/handcrafted/Display/GPS/GPS_exec_export.h b/TAO/CIAO/examples/handcrafted/Display/GPS/GPS_exec_export.h
deleted file mode 100644
index a4fec34a45d..00000000000
--- a/TAO/CIAO/examples/handcrafted/Display/GPS/GPS_exec_export.h
+++ /dev/null
@@ -1,50 +0,0 @@
-
-// -*- C++ -*-
-// $Id$
-// Definition for Win32 Export directives.
-// This file is generated automatically by generate_export_file.pl GPS_EXEC
-// ------------------------------
-#ifndef GPS_EXEC_EXPORT_H
-#define GPS_EXEC_EXPORT_H
-
-#include "ace/config-all.h"
-
-#if !defined (GPS_EXEC_HAS_DLL)
-# define GPS_EXEC_HAS_DLL 1
-#endif /* ! GPS_EXEC_HAS_DLL */
-
-#if defined (GPS_EXEC_HAS_DLL) && (GPS_EXEC_HAS_DLL == 1)
-# if defined (GPS_EXEC_BUILD_DLL)
-# define GPS_EXEC_Export ACE_Proper_Export_Flag
-# define GPS_EXEC_SINGLETON_DECLARATION(T) ACE_EXPORT_SINGLETON_DECLARATION (T)
-# define GPS_EXEC_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_EXPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
-# else /* GPS_EXEC_BUILD_DLL */
-# define GPS_EXEC_Export ACE_Proper_Import_Flag
-# define GPS_EXEC_SINGLETON_DECLARATION(T) ACE_IMPORT_SINGLETON_DECLARATION (T)
-# define GPS_EXEC_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_IMPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
-# endif /* GPS_EXEC_BUILD_DLL */
-#else /* GPS_EXEC_HAS_DLL == 1 */
-# define GPS_EXEC_Export
-# define GPS_EXEC_SINGLETON_DECLARATION(T)
-# define GPS_EXEC_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
-#endif /* GPS_EXEC_HAS_DLL == 1 */
-
-// Set GPS_EXEC_NTRACE = 0 to turn on library specific tracing even if
-// tracing is turned off for ACE.
-#if !defined (GPS_EXEC_NTRACE)
-# if (ACE_NTRACE == 1)
-# define GPS_EXEC_NTRACE 1
-# else /* (ACE_NTRACE == 1) */
-# define GPS_EXEC_NTRACE 0
-# endif /* (ACE_NTRACE == 1) */
-#endif /* !GPS_EXEC_NTRACE */
-
-#if (GPS_EXEC_NTRACE == 1)
-# define GPS_EXEC_TRACE(X)
-#else /* (GPS_EXEC_NTRACE == 1) */
-# define GPS_EXEC_TRACE(X) ACE_TRACE_IMPL(X)
-#endif /* (GPS_EXEC_NTRACE == 1) */
-
-#endif /* GPS_EXEC_EXPORT_H */
-
-// End of auto generated file.
diff --git a/TAO/CIAO/examples/handcrafted/Display/GPS/GPS_stub_export.h b/TAO/CIAO/examples/handcrafted/Display/GPS/GPS_stub_export.h
deleted file mode 100644
index cce11e5fdc7..00000000000
--- a/TAO/CIAO/examples/handcrafted/Display/GPS/GPS_stub_export.h
+++ /dev/null
@@ -1,50 +0,0 @@
-
-// -*- C++ -*-
-// $Id$
-// Definition for Win32 Export directives.
-// This file is generated automatically by generate_export_file.pl GPS_STUB
-// ------------------------------
-#ifndef GPS_STUB_EXPORT_H
-#define GPS_STUB_EXPORT_H
-
-#include "ace/config-all.h"
-
-#if !defined (GPS_STUB_HAS_DLL)
-# define GPS_STUB_HAS_DLL 1
-#endif /* ! GPS_STUB_HAS_DLL */
-
-#if defined (GPS_STUB_HAS_DLL) && (GPS_STUB_HAS_DLL == 1)
-# if defined (GPS_STUB_BUILD_DLL)
-# define GPS_STUB_Export ACE_Proper_Export_Flag
-# define GPS_STUB_SINGLETON_DECLARATION(T) ACE_EXPORT_SINGLETON_DECLARATION (T)
-# define GPS_STUB_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_EXPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
-# else /* GPS_STUB_BUILD_DLL */
-# define GPS_STUB_Export ACE_Proper_Import_Flag
-# define GPS_STUB_SINGLETON_DECLARATION(T) ACE_IMPORT_SINGLETON_DECLARATION (T)
-# define GPS_STUB_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_IMPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
-# endif /* GPS_STUB_BUILD_DLL */
-#else /* GPS_STUB_HAS_DLL == 1 */
-# define GPS_STUB_Export
-# define GPS_STUB_SINGLETON_DECLARATION(T)
-# define GPS_STUB_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
-#endif /* GPS_STUB_HAS_DLL == 1 */
-
-// Set GPS_STUB_NTRACE = 0 to turn on library specific tracing even if
-// tracing is turned off for ACE.
-#if !defined (GPS_STUB_NTRACE)
-# if (ACE_NTRACE == 1)
-# define GPS_STUB_NTRACE 1
-# else /* (ACE_NTRACE == 1) */
-# define GPS_STUB_NTRACE 0
-# endif /* (ACE_NTRACE == 1) */
-#endif /* !GPS_STUB_NTRACE */
-
-#if (GPS_STUB_NTRACE == 1)
-# define GPS_STUB_TRACE(X)
-#else /* (GPS_STUB_NTRACE == 1) */
-# define GPS_STUB_TRACE(X) ACE_TRACE_IMPL(X)
-#endif /* (GPS_STUB_NTRACE == 1) */
-
-#endif /* GPS_STUB_EXPORT_H */
-
-// End of auto generated file.
diff --git a/TAO/CIAO/examples/handcrafted/Display/GPS/GPS_svnt.cpp b/TAO/CIAO/examples/handcrafted/Display/GPS/GPS_svnt.cpp
deleted file mode 100644
index 921d564a916..00000000000
--- a/TAO/CIAO/examples/handcrafted/Display/GPS/GPS_svnt.cpp
+++ /dev/null
@@ -1,857 +0,0 @@
-// $Id$
-
-// The generated filename for files using this template shoule be
-// GPSGS.cpp GS --> GlueSession
-
-
-#include "GPS_svnt.h"
-#include "../HUDisplay_svnt.h"
-#include "Cookies.h"
-
-#if !defined (__ACE_INLINE__)
-# include "GPS_svnt.inl"
-#endif /* __ACE_INLINE__ */
-
-void
-CIAO_GLUE_HUDisplay::GPS_Context::push_Ready (HUDisplay::tick *ev
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- ACE_Active_Map_Manager<HUDisplay::tickConsumer_var>::iterator
- end = this->ciao_publishes_Ready_map_.end ();
- for (ACE_Active_Map_Manager<HUDisplay::tickConsumer_var>::iterator
- iter = this->ciao_publishes_Ready_map_.begin ();
- iter != end;
- ++iter)
- {
- ACE_Active_Map_Manager<HUDisplay::tickConsumer_var>::ENTRY &entry = *iter;
- HUDisplay::tickConsumer_var c
- = HUDisplay::tickConsumer::_narrow (entry.int_id_.in ());
- c->push_tick (ev
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK;
- }
-}
-
-// Operations for publishes interfaces.
-::Components::Cookie *
-CIAO_GLUE_HUDisplay::GPS_Context::subscribe_Ready (HUDisplay::tickConsumer_ptr c
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- ::Components::ExceededConnectionLimit))
-{
- if (CORBA::is_nil (c))
- ACE_THROW_RETURN (CORBA::BAD_PARAM (), 0);
-
- HUDisplay::tickConsumer_var sub
- = HUDisplay::tickConsumer::_duplicate (c);
-
- ACE_Active_Map_Manager_Key key;
- this->ciao_publishes_Ready_map_.bind (sub.in (),
- key);
-
- sub._retn (); // Release ownership.
-
- ::Components::Cookie_var retv = new CIAO::Map_Key_Cookie (key);
- return retv._retn ();
-}
-
-HUDisplay::tickConsumer_ptr
-CIAO_GLUE_HUDisplay::GPS_Context::unsubscribe_Ready (::Components::Cookie *ck
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- ::Components::InvalidConnection))
-{
- HUDisplay::tickConsumer_var retv;
-
- ACE_Active_Map_Manager_Key key;
- if (ck == 0 ||
- CIAO::Map_Key_Cookie::extract (ck, key) == -1)
- ACE_THROW_RETURN (::Components::InvalidConnection (), 0);
-
- if (this->ciao_publishes_Ready_map_.unbind (key,
- retv) != 0)
- ACE_THROW_RETURN (::Components::InvalidConnection (), 0);
-
- return retv._retn ();
-}
-
-// Operations for ::Components::SessionContext interface
-CORBA::Object_ptr
-CIAO_GLUE_HUDisplay::GPS_Context::get_CCM_object (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::IllegalState))
-{
- // @@ How do I check for IllegalState here? When it's not in a
- // callback operation...
- // ACE_THROW_RETURN (::Components::IllegalState (), 0);
-
- if (CORBA::is_nil (this->component_.in ()))
- {
- CORBA::Object_var obj = this->container_->get_objref (this->servant_
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (0);
-
- this->component_ = HUDisplay::GPS::_narrow (obj.in ()
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (0);
-
- if (CORBA::is_nil (this->component_.in ()))
- ACE_THROW_RETURN (CORBA::INTERNAL (), 0); // This should not happen...
- }
- return HUDisplay::GPS::_duplicate (this->component_.in ());
-}
-
-//////////////////////////////////////////////////////////////////
-// Component Servant Glue code implementation
-//////////////////////////////////////////////////////////////////
-
-CIAO_GLUE_HUDisplay::GPS_Servant::GPS_Servant (HUDisplay::CCM_GPS_ptr exe,
- ::Components::CCMHome_ptr h,
- ::CIAO::Session_Container *c)
- : executor_ (HUDisplay::CCM_GPS::_duplicate (exe)),
- container_ (c)
-{
- this->context_ = new CIAO_GLUE_HUDisplay::GPS_Context (h, c, this);
-
- ACE_TRY_NEW_ENV
- {
- Components::SessionComponent_var scom =
- Components::SessionComponent::_narrow (exe
- ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- if (! CORBA::is_nil (scom.in ()))
- scom->set_session_context (this->context_
- ACE_ENV_ARG_PARAMETER);
- }
- ACE_CATCHANY
- {
- // @@ Ignore any exceptions? What happens if
- // set_session_context throws an CCMException?
- }
- ACE_ENDTRY;
-}
-
-CIAO_GLUE_HUDisplay::GPS_Servant::~GPS_Servant (void)
-{
- ACE_TRY_NEW_ENV
- {
- Components::SessionComponent_var scom =
- Components::SessionComponent::_narrow (this->executor_.in ()
- ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- if (! CORBA::is_nil (scom.in ()))
- scom->ccm_remove (ACE_ENV_SINGLE_ARG_PARAMETER);
- }
- ACE_CATCHANY
- {
- // @@ Ignore any exceptions? What happens if
- // set_session_context throws an CCMException?
- }
- ACE_ENDTRY;
- this->context_->_remove_ref ();
-}
-
-// Operations for provides interfaces.
-HUDisplay::position_ptr
-CIAO_GLUE_HUDisplay::GPS_Servant::provide_MyLocation (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- if (CORBA::is_nil (this->provide_MyLocation_.in ()))
- {
- HUDisplay::CCM_position_var fexe
- = this->executor_->get_MyLocation (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_CHECK_RETURN (0);
-
- if (CORBA::is_nil (fexe.in ()))
- ACE_THROW_RETURN (CORBA::INTERNAL (), 0);
-
- CIAO_GLUE_HUDisplay::position_Servant *svt =
- new CIAO_GLUE_HUDisplay::position_Servant (fexe.in (),
- this->context_);
- PortableServer::ServantBase_var safe_servant (svt);
-
- CORBA::Object_var obj = this->container_->install_servant (svt
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (0);
-
- HUDisplay::position_var fo
- = HUDisplay::position::_narrow (obj.in ()
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (0);
-
- this->provide_MyLocation_ = fo;
- }
-
- return HUDisplay::position::_duplicate (this->provide_MyLocation_.in ());
-}
-
-// Operations for consumers interfaces.
-// EventConsumer Glue Code implementation
-
-// Inherit from ::Compopnents::EventConsumerBase
-void
-CIAO_GLUE_HUDisplay::GPS_Servant::tickConsumer_Refresh_Servant::push_event (Components::EventBase *ev
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- ::Components::BadEventType))
-{
- HUDisplay::tick_var ev_type = HUDisplay::tick::_downcast (ev);
- if (ev_type != 0)
- {
- this->push_tick (ev_type.in ()
- ACE_ENV_ARG_PARAMETER);
- return;
- }
-
- // @@ This include the case when we receive a parent eventtype of [eventtype]
- ACE_THROW (::Components::BadEventType ());
-}
-
-// get_component implementation.
-HUDisplay::tickConsumer_ptr
-CIAO_GLUE_HUDisplay::GPS_Servant::get_consumer_Refresh (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- if (CORBA::is_nil (this->consumes_Refresh_.in ()))
- {
- CIAO_GLUE_HUDisplay::GPS_Servant::tickConsumer_Refresh_Servant *svt =
- new CIAO_GLUE_HUDisplay::GPS_Servant::tickConsumer_Refresh_Servant (this->executor_.in (),
- this->context_);
- PortableServer::ServantBase_var safe_servant (svt);
-
- CORBA::Object_var obj = this->container_->install_servant (svt
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (0);
-
- HUDisplay::tickConsumer_var eco
- = HUDisplay::tickConsumer::_narrow (obj.in ()
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (0);
-
- this->consumes_Refresh_ = eco;
- }
-
- return HUDisplay::tickConsumer::_duplicate (this->consumes_Refresh_.in ());
-}
-
-// Operations for Navigation interface
-CORBA::Object_ptr
-CIAO_GLUE_HUDisplay::GPS_Servant::provide_facet (const char * name
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException ,
- Components::InvalidName))
-{
- if (name == 0)
- ACE_THROW_RETURN (CORBA::BAD_PARAM (), 0);
-
- // We simply iterate thru all the facets this component provides
- // now. We can also use a hash map along with perfect hashing
- // (i.e., gperf) if we need faster performance since all the provided
- // interfaces are static to a component definition.
-
- if (ACE_OS_String::strcmp (name, "MyLocation") == 0)
- return this->provide_MyLocation (ACE_ENV_SINGLE_ARG_PARAMETER);
-
- ACE_THROW_RETURN (::Components::InvalidName (), 0);
-}
-
-::Components::FacetDescriptions *
-CIAO_GLUE_HUDisplay::GPS_Servant::get_all_facets (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- ::Components::FacetDescriptions_var collection
- = new ::Components::FacetDescriptions (1); // #99 = number of all provided
- // facets including those inherited
- // from parent component(s).
-
- collection->length (1);
-
- ::Components::FacetDescription_var x;
- CORBA::ULong i = 0;
-
- x = new ::OBV_Components::FacetDescription;
-
- x->Name ((const char *)"MyLocation");
- x->type_id ((const char *) "IDL:HUDisplay/position:1.0"); //
- x->facet_ref (this->provide_MyLocation (ACE_ENV_SINGLE_ARG_PARAMETER));
-
- collection[i] = x._retn ();
- ++i;
-
- return collection._retn ();
-
-}
-
-::Components::FacetDescriptions *
-CIAO_GLUE_HUDisplay::GPS_Servant::get_named_facets (const Components::NameList & names
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::InvalidName))
-{
- ::Components::FacetDescriptions_var collection
- = new ::Components::FacetDescriptions (names.length ());
- collection->length (names.length ());
-
- ::Components::FacetDescription_var x;
- CORBA::ULong i = 0;
-
- for (; i < names.length (); ++i)
- {
- x = new ::OBV_Components::FacetDescription;
-
- // We probably need a more efficient way, e.g., a hash map, to handle all these.
- if (ACE_OS_String::strcmp (names[i].in (), "MyLocation") == 0)
- {
- x->Name ((const char *)"MyLocation");
- x->type_id ((const char *) "IDL:HUDisplay/position:1.0"); //
- x->facet_ref (this->provide_MyLocation (ACE_ENV_SINGLE_ARG_PARAMETER));
- }
- else
- ACE_THROW_RETURN (::Components::InvalidName (), 0);
-
- collection[i] = x._retn();
- }
- return collection._retn ();
-}
-
-CORBA::Boolean
-CIAO_GLUE_HUDisplay::GPS_Servant::same_component (CORBA::Object_ptr object_ref
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- if (CORBA::is_nil (object_ref))
- ACE_THROW_RETURN (CORBA::BAD_PARAM (), 0);
-
- CORBA::Object_var the_other = object_ref->_get_component (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_CHECK_RETURN (0);
-
- CORBA::Object_var me = this->context_->get_CCM_object (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_CHECK_RETURN (0);
-
- return me->_is_equivalent (object_ref
- ACE_ENV_ARG_PARAMETER);
-}
-
-// Operations for Receptacles interface
-::Components::Cookie *
-CIAO_GLUE_HUDisplay::GPS_Servant::connect (const char *,
- CORBA::Object_ptr
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::InvalidName,
- Components::InvalidConnection,
- Components::AlreadyConnected,
- Components::ExceededConnectionLimit))
-{
- ACE_THROW_RETURN (Components::InvalidName (), 0);
-}
-
-CORBA::Object_ptr
-CIAO_GLUE_HUDisplay::GPS_Servant::disconnect (const char *,
- Components::Cookie *
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::InvalidName,
- Components::InvalidConnection,
- Components::CookieRequired,
- Components::NoConnection))
-{
- ACE_THROW_RETURN (Components::InvalidName (), 0);
-}
-
-::Components::ConnectionDescriptions *
-CIAO_GLUE_HUDisplay::GPS_Servant::get_connections (const char *
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::InvalidName))
-{
- ACE_THROW_RETURN (Components::InvalidName (), 0);
-}
-
-::Components::ReceptacleDescriptions *
-CIAO_GLUE_HUDisplay::GPS_Servant::get_all_receptacles (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- ::Components::ReceptacleDescriptions_var retv =
- new ::Components::ReceptacleDescriptions (0); // #99 is number of receptacles
- // this component has.
- return retv._retn ();
-}
-
-::Components::ReceptacleDescriptions *
-CIAO_GLUE_HUDisplay::GPS_Servant::get_named_receptacles (const Components::NameList & names
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::InvalidName))
-{
- ::Components::ReceptacleDescriptions_var retv =
- new ::Components::ReceptacleDescriptions (names.length ());
- retv->length (names.length ());
-
- CORBA::ULong i = 0;
- for (; i < names.length (); ++i)
- {
- ACE_THROW_RETURN (::Components::InvalidName (), 0);
- }
- return retv._retn ();
-}
-
-// Operations for Events interface
-::Components::EventConsumerBase_ptr
-CIAO_GLUE_HUDisplay::GPS_Servant::get_consumer (const char * sink_name
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::InvalidName))
-{
- // @@ We can omit this if clause if there's no event sinks in this component.
- if (sink_name == 0)
- ACE_THROW_RETURN (Components::InvalidName (), 0);
-
- if (ACE_OS_String::strcmp (sink_name, "Refresh") == 0)
- return this->get_consumer_Refresh (ACE_ENV_SINGLE_ARG_PARAMETER);
-
- ACE_THROW_RETURN (Components::InvalidName (), 0);
-}
-
-::Components::Cookie *
-CIAO_GLUE_HUDisplay::GPS_Servant::subscribe (const char * publisher_name,
- Components::EventConsumerBase_ptr subscriber
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::InvalidName,
- Components::InvalidConnection,
- Components::ExceededConnectionLimit))
-{
- // @@ We can omit this if clause if there's no publisher in this component.
- if (publisher_name == 0)
- ACE_THROW_RETURN (Components::InvalidName (), 0);
-
- if (ACE_OS_String::strcmp (publisher_name, "Ready") == 0)
- {
- HUDisplay::tickConsumer_var _ciao_consumer =
- HUDisplay::tickConsumer::_narrow (subscriber
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (0);
-
- if (CORBA::is_nil (_ciao_consumer.in ()))
- ACE_THROW_RETURN (Components::InvalidConnection (), 0);
-
- return this->subscribe_Ready (_ciao_consumer.in ()
- ACE_ENV_ARG_PARAMETER);
- }
-
- ACE_THROW_RETURN (Components::InvalidName (), 0);
-}
-
-::Components::EventConsumerBase_ptr
-CIAO_GLUE_HUDisplay::GPS_Servant::unsubscribe (const char * publisher_name,
- Components::Cookie *ck
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::InvalidName,
- Components::InvalidConnection))
-{
- // @@ We can omit this if clause if there's no publisher in this component.
- if (publisher_name == 0)
- ACE_THROW_RETURN (Components::InvalidName (), 0);
-
- if (ACE_OS_String::strcmp (publisher_name, "Ready") == 0)
- {
- return this->unsubscribe_Ready (ck
- ACE_ENV_ARG_PARAMETER);
- }
-
- ACE_THROW_RETURN (Components::InvalidName (), 0);
-}
-
-void
-CIAO_GLUE_HUDisplay::GPS_Servant::connect_consumer (const char *,
- Components::EventConsumerBase_ptr
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::InvalidName,
- Components::AlreadyConnected,
- Components::InvalidConnection))
-{
- ACE_THROW (Components::InvalidName ());
-}
-
-::Components::EventConsumerBase_ptr
-CIAO_GLUE_HUDisplay::GPS_Servant::disconnect_consumer (const char *
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::InvalidName,
- Components::NoConnection))
-{
- ACE_THROW_RETURN (Components::InvalidName (), 0);
-}
-
-::Components::ConsumerDescriptions *
-CIAO_GLUE_HUDisplay::GPS_Servant::get_all_consumers (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- ::Components::ConsumerDescriptions_var retv =
- new ::Components::ConsumerDescriptions (1); // #99 is the number of consumers
- // this component has.
- retv->length (1);
-
- CORBA::ULong i = 0;
-
- retv[i] = new OBV_Components::ConsumerDescription;
- retv[i]->Name ("Refresh");
- retv[i]->type_id ("IDL:HUDisplay/tickConsumer:1.0");
- HUDisplay::tickConsumer_var c
- = this->get_consumer_Refresh (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_CHECK_RETURN (0);
-
- retv[i]->consumer (c.in ());
-
- return retv._retn ();
-}
-
-::Components::ConsumerDescriptions *
-CIAO_GLUE_HUDisplay::GPS_Servant::get_named_consumers (const Components::NameList & names
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::InvalidName))
-{
- ::Components::ConsumerDescriptions_var retv =
- new ::Components::ConsumerDescriptions (names.length ());
-
- retv->length (names.length ());
-
- CORBA::ULong i = 0;
- for (; i < names.length (); ++i)
- {
- retv[i] = new OBV_Components::ConsumerDescription;
-
- if (ACE_OS_String::strcmp (names[i].in (), "Refresh") == 0)
- {
- retv[i]->Name ("Refresh");
- retv[i]->type_id ("IDL:HUDisplay/tickConsumer:1.0");
- HUDisplay::tickConsumer_var c =
- this->get_consumer_Refresh (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_CHECK_RETURN (0);
-
- retv[i]->consumer (c.in ());
- }
- else
- ACE_THROW_RETURN (::Components::InvalidName (), 0);
- }
- return retv._retn ();
-}
-
-::Components::EmitterDescriptions *
-CIAO_GLUE_HUDisplay::GPS_Servant::get_all_emitters (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- ::Components::EmitterDescriptions_var retv =
- new ::Components::EmitterDescriptions (0); // #99 is the number of emitters
- // this component has.
- return retv._retn ();
-}
-
-::Components::EmitterDescriptions *
-CIAO_GLUE_HUDisplay::GPS_Servant::get_named_emitters (const Components::NameList & names
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::InvalidName))
-{
- ::Components::EmitterDescriptions_var retv =
- new ::Components::EmitterDescriptions (names.length ());
- retv->length (names.length ());
-
- CORBA::ULong i = 0;
- for (; i < names.length (); ++i)
- {
- ACE_THROW_RETURN (::Components::InvalidName (), 0);
- }
- return retv._retn ();
-}
-
-::Components::PublisherDescriptions *
-CIAO_GLUE_HUDisplay::GPS_Servant::get_all_publishers (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- // @@ to-do
-
- // Need to add interfaces in the Context class to gather the information.
- // Or we can just relay it to the Context object.
- ACE_THROW_RETURN (CORBA::NO_IMPLEMENT (), 0);
-}
-
-::Components::PublisherDescriptions *
-CIAO_GLUE_HUDisplay::GPS_Servant::get_named_publishers (const Components::NameList &
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::InvalidName))
-{
- // @@ to-do
-
- // Need to add interfaces in the Context class to gather the information.
- // Or we can just relay it to the Context object.
- ACE_THROW_RETURN (CORBA::NO_IMPLEMENT (), 0);
-}
-
-// Operations for CCMObject interface
-::CORBA::IRObject_ptr
-CIAO_GLUE_HUDisplay::GPS_Servant::get_component_def (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- // @@ to-do: Connect to an IfR?
- ACE_THROW_RETURN (CORBA::NO_IMPLEMENT (), 0);
-}
-
-::Components::CCMHome_ptr
-CIAO_GLUE_HUDisplay::GPS_Servant::get_ccm_home (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- return this->context_->get_CCM_home (ACE_ENV_SINGLE_ARG_PARAMETER);
-}
-
-::Components::PrimaryKeyBase *
-CIAO_GLUE_HUDisplay::GPS_Servant::get_primary_key (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::NoKeyAvailable))
-{
- // This is a keyless component.
- ACE_THROW_RETURN (::Components::NoKeyAvailable (), 0);
-}
-
-void
-CIAO_GLUE_HUDisplay::GPS_Servant::configuration_complete (ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::InvalidConfiguration))
-{
- // @@ to-do
- // No-op. Don't know how to pass this info to monolithic executor.
-}
-
-void
-CIAO_GLUE_HUDisplay::GPS_Servant::remove (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::RemoveFailure))
-{
- // @@ to-do
- // Need to figure out what to do here. E.g., tear down the all the connections
- // this component has?
-}
-
-::Components::ComponentPortDescription *
-CIAO_GLUE_HUDisplay::GPS_Servant::get_all_ports (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- ::Components::ComponentPortDescription_var retv =
- new OBV_Components::ComponentPortDescription;
-
- ::Components::FacetDescriptions_var facets_desc
- = this->get_all_facets (ACE_ENV_SINGLE_ARG_PARAMETER);
- ::Components::ReceptacleDescriptions_var receptacle_desc
- = get_all_receptacles (ACE_ENV_SINGLE_ARG_PARAMETER);
- ::Components::ConsumerDescriptions_var consumer_desc
- = this->get_all_consumers (ACE_ENV_SINGLE_ARG_PARAMETER);
- ::Components::EmitterDescriptions_var emitter_desc
- = this->get_all_emitters (ACE_ENV_SINGLE_ARG_PARAMETER);
- ::Components::PublisherDescriptions_var publisher_desc
- = this->get_all_publishers (ACE_ENV_SINGLE_ARG_PARAMETER);
-
- retv->facets (facets_desc.in());
- retv->receptacles (receptacle_desc.in());
- retv->consumers (consumer_desc.in());
- retv->emitters (emitter_desc.in());
- retv->publishers (publisher_desc.in());
-
- return retv._retn();
-}
-
-// get_component implementation.
-CORBA::Object_ptr
-CIAO_GLUE_HUDisplay::GPS_Servant::_get_component (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- ::Components::SessionContext_var sc =
- ::Components::SessionContext::_narrow (this->context_);
-
- if (! CORBA::is_nil(sc.in ()))
- return sc->get_CCM_object (ACE_ENV_SINGLE_ARG_PARAMETER);
-
- // @@ Do we need to try the following case here? We are afterall implementing
- // a session component here.
- ::Components::EntityContext_var ec =
- ::Components::EntityContext::_narrow (this->context_);
-
- if (! CORBA::is_nil(ec.in ()))
- return ec->get_CCM_object (ACE_ENV_SINGLE_ARG_PARAMETER);
-
- ACE_THROW_RETURN (CORBA::INTERNAL (), 0);
-}
-
-void
-CIAO_GLUE_HUDisplay::GPS_Servant::_ciao_activate (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- ::Components::SessionComponent_var temp =
- ::Components::SessionComponent::_narrow (this->executor_.in ()
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK;
-
- if (! CORBA::is_nil (temp.in ()))
- temp->ccm_activate (ACE_ENV_SINGLE_ARG_PARAMETER);
-}
-
-void
-CIAO_GLUE_HUDisplay::GPS_Servant::_ciao_passivate (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- ::Components::SessionComponent_var temp =
- ::Components::SessionComponent::_narrow (this->executor_.in ()
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK;
-
- if (! CORBA::is_nil (temp.in ()))
- temp->ccm_passivate (ACE_ENV_SINGLE_ARG_PARAMETER);
-}
-
-//////////////////////////////////////////////////////////////////
-// Component Home Glue code implementation
-//////////////////////////////////////////////////////////////////
-
-HUDisplay::GPS_ptr
-CIAO_GLUE_HUDisplay::GPSHome_Servant::_ciao_activate_component (HUDisplay::CCM_GPS_ptr exe
- ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- CORBA::Object_var hobj
- = this->container_->get_objref (this
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (0);
-
- ::Components::CCMHome_var home
- = ::Components::CCMHome::_narrow (hobj.in ()
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (0);
-
- CIAO_GLUE_HUDisplay::GPS_Servant *svt =
- new CIAO_GLUE_HUDisplay::GPS_Servant (exe,
- home.in (),
- this->container_);
- PortableServer::ServantBase_var safe (svt);
- PortableServer::ObjectId_var oid;
-
- CORBA::Object_var objref
- = this->container_->install_component (svt,
- oid.out ()
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (0);
-
- svt->_ciao_activate (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_CHECK_RETURN (0);
-
- HUDisplay::GPS_var ho
- = HUDisplay::GPS::_narrow (objref.in ()
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (0);
-
- if (this->component_map_.bind (oid.in (), svt) == 0)
- {
- // @@ what should happen if bind fail?
- safe._retn ();
- }
- return ho._retn ();
-}
-
-void
-CIAO_GLUE_HUDisplay::GPSHome_Servant::_ciao_passivate_component (HUDisplay::GPS_ptr comp
- ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- PortableServer::ObjectId_var oid;
-
- this->container_->uninstall_component (comp,
- oid.out ()
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK;
-
- CIAO_GLUE_HUDisplay::GPS_Servant *servant = 0;
- if (this->component_map_.unbind (oid.in (), servant) == 0)
- {
- PortableServer::ServantBase_var safe (servant);
- servant->_ciao_passivate (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_CHECK;
- }
- // What happen if unbind failed?
-
-}
-
-// Operations for Implicit Home interface
-HUDisplay::GPS_ptr
-CIAO_GLUE_HUDisplay::GPSHome_Servant::create (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::CreateFailure))
-{
- if (this->executor_.in () == 0)
- ACE_THROW_RETURN (CORBA::INTERNAL (), 0);
-
- Components::EnterpriseComponent_var _ciao_ec =
- this->executor_->create (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_CHECK_RETURN (0);
-
- HUDisplay::CCM_GPS_var _ciao_comp
- = HUDisplay::CCM_GPS::_narrow (_ciao_ec.in ()
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (0);
-
- return this->_ciao_activate_component (_ciao_comp.in ()
- ACE_ENV_ARG_PARAMETER);
-}
-
-// Operations for CCMHome interface
-void
-CIAO_GLUE_HUDisplay::GPSHome_Servant::remove_component (Components::CCMObject_ptr comp
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::RemoveFailure))
-{
- HUDisplay::GPS_var _ciao_comp
- = HUDisplay::GPS::_narrow (comp
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK;
-
- if (CORBA::is_nil (_ciao_comp.in ()))
- ACE_THROW (CORBA::INTERNAL ()); // What is the right exception to throw here?
-
- // @@ It seems to me that we need to make sure this is a component
- // generated by this home before calling remove on this component.
- _ciao_comp->remove (ACE_ENV_ARG_PARAMETER);
- ACE_CHECK;
-
-
- // Removing the object reference? get the servant from the POA with
- // the objref, and call remove() on the component, deactivate the
- // component, and then remove-ref the servant?
- this->_ciao_passivate_component (_ciao_comp.in ()
- ACE_ENV_ARG_PARAMETER);
-}
-
-extern "C" GPS_SVNT_Export ::PortableServer::Servant
-createGPSHome_Servant (::Components::HomeExecutorBase_ptr p,
- CIAO::Session_Container *c
- ACE_ENV_ARG_DECL)
-{
- if (p == 0)
- return 0;
-
- HUDisplay::CCM_GPSHome_var x
- = HUDisplay::CCM_GPSHome::_narrow (p
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (0);
-
- if (CORBA::is_nil (x.in ()))
- return 0;
-
- return new CIAO_GLUE_HUDisplay::GPSHome_Servant (x.in (),
- c);
-}
diff --git a/TAO/CIAO/examples/handcrafted/Display/GPS/GPS_svnt.h b/TAO/CIAO/examples/handcrafted/Display/GPS/GPS_svnt.h
deleted file mode 100644
index 1b869b8da09..00000000000
--- a/TAO/CIAO/examples/handcrafted/Display/GPS/GPS_svnt.h
+++ /dev/null
@@ -1,482 +0,0 @@
-// $Id$
-
-// ===========================================================
-//
-// @file GPS_svnt.h
-//
-// Servant Glue code (supposedly should be) generated using CIAO'S
-// CIDL compiler. This file implement the servants that bridge the
-// executor and the container.
-//
-// This file is "generated" using the template code under
-// $(CIAO_ROOT)/docs/templates/
-//
-// Remember to refect any changes back to the code templates.
-//
-// @author Nanbor Wang <nanbor@cs.wustl.edu>
-//
-// ===========================================================
-
-#ifndef CIAO_GLUE_SESSION_GPS_SVNT_H
-#define CIAO_GLUE_SESSION_GPS_SVNT_H
-#include "ace/pre.h"
-
-#include "GPSS.h" // Source in the skeletons for component
- // client-view equivalent interfaces
-#include "GPSEC.h" // Source in the executor mapping
- // that component implementations use
-#include "ciao/Container_Base.h" //Source in the container interface definitions
-#include "tao/LocalObject.h"
-#include "tao/PortableServer/Key_Adapters.h"
-#include "ace/Active_Map_Manager_T.h"
-
-#if !defined (ACE_LACKS_PRAGMA_ONCE)
-# pragma once
-#endif /* ACE_LACKS_PRAGMA_ONCE */
-
-namespace CIAO_GLUE_HUDisplay
-{
- // Facet glue code has already been defined in ../HUDisplay_svnt.*
-
-
- //////////////////////////////////////////////////////////////////
- // Component specific context implementation
- class GPS_SVNT_Export GPS_Context :
- public virtual HUDisplay::CCM_GPS_Context,
- public virtual TAO_Local_RefCounted_Object
- {
- public:
- // We will allow the the servant glue code we generate to access
- // our states.
- friend class GPS_Servant;
-
- // Ctor.
- GPS_Context (::Components::CCMHome_ptr home,
- ::CIAO::Session_Container *c,
- GPS_Servant *sv);
-
- // Dtor.
- virtual ~GPS_Context ();
-
- // Operations for [component name] event source, and
- // receptacles defined in CCM_[component name]_Context.
-
- void push_Ready (HUDisplay::tick *ev
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- // Operations for ::Components::CCMContext
- virtual ::Components::Principal_ptr
- get_caller_principal (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- virtual ::Components::CCMHome_ptr
- get_CCM_home (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- virtual CORBA::Boolean
- get_rollback_only (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::IllegalState));
-
- virtual ::Components::Transaction::UserTransaction_ptr
- get_user_transaction (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::IllegalState));
-
- virtual CORBA::Boolean
- is_caller_in_role (const char * role
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- virtual void
- set_rollback_only (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::IllegalState));
-
- // Operations for ::Components::SessionContext interface
- virtual CORBA::Object_ptr
- get_CCM_object (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::IllegalState));
- protected:
- // We need to generate, in protected section, stuff that manage
- // connections and consumers of this component.
-
- // Operations for emits interfaces.
-
- // Operations for publishes interfaces.
- ::Components::Cookie *
- subscribe_Ready (HUDisplay::tickConsumer_ptr c
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- ::Components::ExceededConnectionLimit));
-
- HUDisplay::tickConsumer_ptr
- unsubscribe_Ready (::Components::Cookie *ck
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- ::Components::InvalidConnection));
-
- ACE_Active_Map_Manager<HUDisplay::tickConsumer_var> ciao_publishes_Ready_map_;
-
- protected:
- /// Cached component home reference.
- ::Components::CCMHome_var home_;
-
- /// session container
- ::CIAO::Session_Container *container_;
-
- /// Reference back to owner.
- GPS_Servant *servant_;
-
- /// @@ Cached component reference.
- HUDisplay::GPS_var component_;
- };
-
- //////////////////////////////////////////////////////////////////
- // Component Servant Glue code implementation
- class GPS_SVNT_Export GPS_Servant
- : public virtual POA_HUDisplay::GPS, // full skeleton name here
- public virtual PortableServer::RefCountServantBase
- {
- public:
- // Ctor.
- GPS_Servant (HUDisplay::CCM_GPS_ptr executor,
- ::Components::CCMHome_ptr home,
- ::CIAO::Session_Container *c);
-
- // Dtor.
- ~GPS_Servant (void);
-
- // Operations for provides interfaces.
- virtual HUDisplay::position_ptr
- provide_MyLocation (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- // Operations for receptacles interfaces.
-
- // Operations for consumers interfaces.
-
- // First we need to generate the event sink specific servant
- class GPS_SVNT_Export tickConsumer_Refresh_Servant
- : public virtual POA_HUDisplay::tickConsumer, // full skeleton name here
- public virtual PortableServer::RefCountServantBase
- {
- public:
- // Constructor and destructor.
- tickConsumer_Refresh_Servant (HUDisplay::CCM_GPS_ptr executor,
- HUDisplay::CCM_GPS_Context_ptr c);
- ~tickConsumer_Refresh_Servant ();
-
- virtual void push_tick (HUDisplay::tick *evt
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- // Inherit from ::Compopnents::EventBConsumerBase
- virtual void push_event (Components::EventBase *ev
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- ::Components::BadEventType));
-
- // get_component implementation.
- virtual CORBA::Object_ptr
- _get_component (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- protected:
- // Consumer Executor
- HUDisplay::CCM_GPS_var executor_;
-
- // Context object.
- HUDisplay::CCM_GPS_Context_var ctx_;
- };
-
- virtual HUDisplay::tickConsumer_ptr
- get_consumer_Refresh (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- // Operations for emits interfaces.
-
- // Operations for publishes interfaces.
- virtual ::Components::Cookie *
- subscribe_Ready (HUDisplay::tickConsumer_ptr c
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- ::Components::ExceededConnectionLimit));
-
- virtual HUDisplay::tickConsumer_ptr
- unsubscribe_Ready (::Components::Cookie *ck
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- ::Components::InvalidConnection));
-
- // Operations for Navigation interface
- virtual CORBA::Object_ptr provide_facet (const char * name
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException ,
- Components::InvalidName)) ;
-
- virtual ::Components::FacetDescriptions *
- get_all_facets (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- virtual ::Components::FacetDescriptions *
- get_named_facets (const Components::NameList & names
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException ,
- Components::InvalidName));
-
- virtual CORBA::Boolean same_component (CORBA::Object_ptr object_ref
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- // Operations for Receptacles interface
- virtual ::Components::Cookie *connect (const char * name,
- CORBA::Object_ptr connection
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::InvalidName,
- Components::InvalidConnection,
- Components::AlreadyConnected,
- Components::ExceededConnectionLimit));
-
- virtual CORBA::Object_ptr disconnect (const char * name,
- Components::Cookie *ck
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::InvalidName,
- Components::InvalidConnection,
- Components::CookieRequired,
- Components::NoConnection));
-
- virtual ::Components::ConnectionDescriptions *
- get_connections (const char * name
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::InvalidName));
-
- virtual ::Components::ReceptacleDescriptions *
- get_all_receptacles (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- virtual ::Components::ReceptacleDescriptions *
- get_named_receptacles (const Components::NameList & names
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::InvalidName));
-
- // Operations for Events interface
- virtual ::Components::EventConsumerBase_ptr
- get_consumer (const char * sink_name
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::InvalidName));
-
- virtual ::Components::Cookie *
- subscribe (const char * publisher_name,
- Components::EventConsumerBase_ptr subscriber
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::InvalidName,
- Components::InvalidConnection,
- Components::ExceededConnectionLimit));
-
- virtual ::Components::EventConsumerBase_ptr
- unsubscribe (const char * publisher_name,
- Components::Cookie *ck
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::InvalidName,
- Components::InvalidConnection));
-
- virtual void connect_consumer (const char * emitter_name,
- Components::EventConsumerBase_ptr consumer
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::InvalidName,
- Components::AlreadyConnected,
- Components::InvalidConnection));
-
- virtual ::Components::EventConsumerBase_ptr
- disconnect_consumer (const char * source_name
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::InvalidName,
- Components::NoConnection));
-
- virtual ::Components::ConsumerDescriptions *
- get_all_consumers (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- virtual ::Components::ConsumerDescriptions *
- get_named_consumers (const Components::NameList & names
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::InvalidName));
-
- virtual ::Components::EmitterDescriptions *
- get_all_emitters (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- virtual ::Components::EmitterDescriptions *
- get_named_emitters (const Components::NameList & names
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::InvalidName));
-
- virtual ::Components::PublisherDescriptions *
- get_all_publishers (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- virtual ::Components::PublisherDescriptions *
- get_named_publishers (const Components::NameList & names
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::InvalidName));
-
- // Operations for CCMObject interface
- virtual ::CORBA::IRObject_ptr
- get_component_def (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- virtual ::Components::CCMHome_ptr
- get_ccm_home (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- virtual ::Components::PrimaryKeyBase *
- get_primary_key (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::NoKeyAvailable));
-
- virtual void configuration_complete (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::InvalidConfiguration));
-
- virtual void remove (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::RemoveFailure));
-
- virtual ::Components::ComponentPortDescription *
- get_all_ports (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- // get_component implementation.
- virtual CORBA::Object_ptr
- _get_component (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- // CIAO specific operations.
- // Activate the object in the container_
- void
- _ciao_activate (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- void
- _ciao_passivate (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- protected:
- // My Executor.
- HUDisplay::CCM_GPS_var executor_;
-
- // My Run-time Context.
- GPS_Context *context_;
-
- // Managing container.
- ::CIAO::Session_Container *container_;
-
- // Cached provided interfaces.
- HUDisplay::position_var provide_MyLocation_;
-
- HUDisplay::tickConsumer_var consumes_Refresh_;
- };
-
-
- //////////////////////////////////////////////////////////////////
- // Component Home Glue code implementation
-
- // Foreach component home
- class GPS_SVNT_Export GPSHome_Servant :
- public virtual POA_HUDisplay::GPSHome, // full skeleton name here
- public virtual PortableServer::RefCountServantBase
- {
- public:
- // Ctor.
- GPSHome_Servant (HUDisplay::CCM_GPSHome_ptr exe,
- CIAO::Session_Container *c);
-
- // Dtor.
- ~GPSHome_Servant (void);
-
- // User defined and inherited operations
-
- // Factory operations
-
- // Finder operations
-
- // Operations for KeylessHome interface
- virtual ::Components::CCMObject_ptr
- create_component (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::CreateFailure));
-
- // Operations for Implicit Home interface
- virtual HUDisplay::GPS_ptr
- create (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::CreateFailure));
-
- // Operations for CCMHome interface
- virtual ::CORBA::IRObject_ptr
- get_component_def (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- virtual ::CORBA::IRObject_ptr
- get_home_def (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- virtual void remove_component (Components::CCMObject_ptr comp
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::RemoveFailure));
-
- protected:
- // Helper method for factory operations.
- HUDisplay::GPS_ptr
- _ciao_activate_component (HUDisplay::CCM_GPS_ptr exe
- ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- void
- _ciao_passivate_component (HUDisplay::GPS_ptr comp
- ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- // My Executor.
- HUDisplay::CCM_GPSHome_var executor_;
-
- // My Container
- CIAO::Session_Container *container_;
-
- // Components this home manages.
- ACE_Hash_Map_Manager_Ex <PortableServer::ObjectId,
- GPS_Servant*,
- TAO_ObjectId_Hash,
- ACE_Equal_To<PortableServer::ObjectId>,
- ACE_SYNCH_MUTEX> component_map_;
- };
-
- extern "C" GPS_SVNT_Export ::PortableServer::Servant
- createGPSHome_Servant (::Components::HomeExecutorBase_ptr p,
- CIAO::Session_Container *c
- ACE_ENV_ARG_DECL_WITH_DEFAULTS);
-}
-
-#if defined (__ACE_INLINE__)
-# include "GPS_svnt.inl"
-#endif /* __ACE_INLINE__ */
-
-
-#include "ace/post.h"
-#endif /* CIAO_GLUE_SESSION_GPS_SVNT_H */
diff --git a/TAO/CIAO/examples/handcrafted/Display/GPS/GPS_svnt.inl b/TAO/CIAO/examples/handcrafted/Display/GPS/GPS_svnt.inl
deleted file mode 100644
index ba2130b2dd1..00000000000
--- a/TAO/CIAO/examples/handcrafted/Display/GPS/GPS_svnt.inl
+++ /dev/null
@@ -1,197 +0,0 @@
-// $Id$ -*- C++ -*-
-
-// The generated filename for files using this template shoule be
-// [idl-basename]GS.i GS --> GlueSession
-
-// @@ Notice: [ciao module name] can expand to either CIAO_GLUE or
-// CIAO_GLUE_[module name] as defined in the header file.
-
-//////////////////////////////////////////////////////////////////
-// Component specific context implementation
-//////////////////////////////////////////////////////////////////
-
-ACE_INLINE
-CIAO_GLUE_HUDisplay::GPS_Context::GPS_Context (::Components::CCMHome_ptr home,
- ::CIAO::Session_Container *c,
- CIAO_GLUE_HUDisplay::GPS_Servant *sv)
- : home_ (::Components::CCMHome::_duplicate (home)),
- container_ (c),
- servant_ (sv)
-{
-}
-
-ACE_INLINE
-CIAO_GLUE_HUDisplay::GPS_Context::~GPS_Context ()
-{
-}
-
-// Operations for emits interfaces.
-
-// Operations for ::Components::CCMContext
-ACE_INLINE ::Components::Principal_ptr
-CIAO_GLUE_HUDisplay::GPS_Context::get_caller_principal (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- // @@ We don't support Security in CIAO yet.
- ACE_THROW_RETURN (CORBA::NO_IMPLEMENT (), 0);
-}
-
-ACE_INLINE ::Components::CCMHome_ptr
-CIAO_GLUE_HUDisplay::GPS_Context::get_CCM_home (ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- return ::Components::CCMHome::_duplicate (this->home_.in ());
-}
-
-ACE_INLINE CORBA::Boolean
-CIAO_GLUE_HUDisplay::GPS_Context::get_rollback_only (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::IllegalState))
-{
- // @@ We don't support Transaction in CIAO yet.
- ACE_THROW_RETURN (CORBA::NO_IMPLEMENT (), 0);
-}
-
-ACE_INLINE ::Components::Transaction::UserTransaction_ptr
-CIAO_GLUE_HUDisplay::GPS_Context::get_user_transaction (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::IllegalState))
-{
- // @@ We don't support Transaction in CIAO yet.
- ACE_THROW_RETURN (CORBA::NO_IMPLEMENT (), 0);
-}
-
-ACE_INLINE CORBA::Boolean
-CIAO_GLUE_HUDisplay::GPS_Context::is_caller_in_role (const char * role
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- ACE_UNUSED_ARG (role);
-
- // @@ We don't support Transaction in CIAO yet.
- ACE_THROW_RETURN (CORBA::NO_IMPLEMENT (), 0);
-}
-
-ACE_INLINE void
-CIAO_GLUE_HUDisplay::GPS_Context::set_rollback_only (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::IllegalState))
-{
- // @@ We don't support Transaction in CIAO yet.
- ACE_THROW (CORBA::NO_IMPLEMENT ());
-}
-
-//////////////////////////////////////////////////////////////////
-// Component Servant Glue code implementation
-//////////////////////////////////////////////////////////////////
-
-//////////////////////////////////////////////////////////////////
-// EventConsumer Glue Code implementation
-// @@ We are assuming that these consumers are declared under the same
-// module as the component (thus, we are placing this glue code
-// here under the same namespace. If they are not, we will
-// either be generating them in separate namespaces, or include
-// some other CIDL generated files to get the glue code
-// implementation.
-//////////////////////////////////////////////////////////////////
-
-// Constructor and destructor.
-ACE_INLINE
-CIAO_GLUE_HUDisplay::GPS_Servant::tickConsumer_Refresh_Servant::tickConsumer_Refresh_Servant
- (HUDisplay::CCM_GPS_ptr executor,
- HUDisplay::CCM_GPS_Context_ptr c)
- : executor_ (HUDisplay::CCM_GPS::_duplicate (executor)),
- ctx_ (HUDisplay::CCM_GPS_Context::_duplicate (c))
-{
-}
-
-ACE_INLINE
-CIAO_GLUE_HUDisplay::GPS_Servant::tickConsumer_Refresh_Servant::~tickConsumer_Refresh_Servant ()
-{
-}
-
-ACE_INLINE CORBA::Object_ptr
-CIAO_GLUE_HUDisplay::GPS_Servant::tickConsumer_Refresh_Servant::_get_component (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- return this->ctx_->get_CCM_object (ACE_ENV_SINGLE_ARG_PARAMETER);
-}
-
-ACE_INLINE void
-CIAO_GLUE_HUDisplay::GPS_Servant::tickConsumer_Refresh_Servant::push_tick
- (HUDisplay::tick *evt
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- this->executor_->push_Refresh (evt
- ACE_ENV_ARG_PARAMETER);
-}
-
-// Operations for emits interfaces.
-
-// Operations for publishes interfaces.
-ACE_INLINE ::Components::Cookie *
-CIAO_GLUE_HUDisplay::GPS_Servant::subscribe_Ready (HUDisplay::tickConsumer_ptr c
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- ::Components::ExceededConnectionLimit))
-{
- return this->context_->subscribe_Ready (c
- ACE_ENV_ARG_PARAMETER);
-}
-
-ACE_INLINE HUDisplay::tickConsumer_ptr
-CIAO_GLUE_HUDisplay::GPS_Servant::unsubscribe_Ready (::Components::Cookie *ck
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- ::Components::InvalidConnection))
-{
- return this->context_->unsubscribe_Ready (ck
- ACE_ENV_ARG_PARAMETER);
-}
-
-//////////////////////////////////////////////////////////////////
-// Component Home Glue code implementation
-//////////////////////////////////////////////////////////////////
-
-ACE_INLINE
-CIAO_GLUE_HUDisplay::GPSHome_Servant::GPSHome_Servant (HUDisplay::CCM_GPSHome_ptr exe,
- CIAO::Session_Container *c)
- : executor_ (HUDisplay::CCM_GPSHome::_duplicate (exe)),
- container_ (c)
-{
-}
-
-ACE_INLINE
-CIAO_GLUE_HUDisplay::GPSHome_Servant::~GPSHome_Servant (void)
-{
-}
-
-// Operations for KeylessHome interface
-ACE_INLINE ::Components::CCMObject_ptr
-CIAO_GLUE_HUDisplay::GPSHome_Servant::create_component (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::CreateFailure))
-{
- // Simply forward to the create method.
- return this->create (ACE_ENV_SINGLE_ARG_PARAMETER);
-}
-
-// Operations for CCMHome interface
-ACE_INLINE ::CORBA::IRObject_ptr
-CIAO_GLUE_HUDisplay::GPSHome_Servant::get_component_def (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- // @@ TO-DO. Contact IfR?
-
- ACE_THROW_RETURN (CORBA::NO_IMPLEMENT (), 0);
-}
-
-ACE_INLINE CORBA::IRObject_ptr
-CIAO_GLUE_HUDisplay::GPSHome_Servant::get_home_def (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- // @@ TO-DO. Contact IfR?
-
- ACE_THROW_RETURN (CORBA::NO_IMPLEMENT (), 0);
-}
diff --git a/TAO/CIAO/examples/handcrafted/Display/GPS/GPS_svnt_export.h b/TAO/CIAO/examples/handcrafted/Display/GPS/GPS_svnt_export.h
deleted file mode 100644
index 8ddf3049093..00000000000
--- a/TAO/CIAO/examples/handcrafted/Display/GPS/GPS_svnt_export.h
+++ /dev/null
@@ -1,50 +0,0 @@
-
-// -*- C++ -*-
-// $Id$
-// Definition for Win32 Export directives.
-// This file is generated automatically by generate_export_file.pl GPS_SVNT
-// ------------------------------
-#ifndef GPS_SVNT_EXPORT_H
-#define GPS_SVNT_EXPORT_H
-
-#include "ace/config-all.h"
-
-#if !defined (GPS_SVNT_HAS_DLL)
-# define GPS_SVNT_HAS_DLL 1
-#endif /* ! GPS_SVNT_HAS_DLL */
-
-#if defined (GPS_SVNT_HAS_DLL) && (GPS_SVNT_HAS_DLL == 1)
-# if defined (GPS_SVNT_BUILD_DLL)
-# define GPS_SVNT_Export ACE_Proper_Export_Flag
-# define GPS_SVNT_SINGLETON_DECLARATION(T) ACE_EXPORT_SINGLETON_DECLARATION (T)
-# define GPS_SVNT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_EXPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
-# else /* GPS_SVNT_BUILD_DLL */
-# define GPS_SVNT_Export ACE_Proper_Import_Flag
-# define GPS_SVNT_SINGLETON_DECLARATION(T) ACE_IMPORT_SINGLETON_DECLARATION (T)
-# define GPS_SVNT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_IMPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
-# endif /* GPS_SVNT_BUILD_DLL */
-#else /* GPS_SVNT_HAS_DLL == 1 */
-# define GPS_SVNT_Export
-# define GPS_SVNT_SINGLETON_DECLARATION(T)
-# define GPS_SVNT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
-#endif /* GPS_SVNT_HAS_DLL == 1 */
-
-// Set GPS_SVNT_NTRACE = 0 to turn on library specific tracing even if
-// tracing is turned off for ACE.
-#if !defined (GPS_SVNT_NTRACE)
-# if (ACE_NTRACE == 1)
-# define GPS_SVNT_NTRACE 1
-# else /* (ACE_NTRACE == 1) */
-# define GPS_SVNT_NTRACE 0
-# endif /* (ACE_NTRACE == 1) */
-#endif /* !GPS_SVNT_NTRACE */
-
-#if (GPS_SVNT_NTRACE == 1)
-# define GPS_SVNT_TRACE(X)
-#else /* (GPS_SVNT_NTRACE == 1) */
-# define GPS_SVNT_TRACE(X) ACE_TRACE_IMPL(X)
-#endif /* (GPS_SVNT_NTRACE == 1) */
-
-#endif /* GPS_SVNT_EXPORT_H */
-
-// End of auto generated file.
diff --git a/TAO/CIAO/examples/handcrafted/Display/GPS/GPS_tracing_exec.cpp b/TAO/CIAO/examples/handcrafted/Display/GPS/GPS_tracing_exec.cpp
deleted file mode 100644
index e0e2a642999..00000000000
--- a/TAO/CIAO/examples/handcrafted/Display/GPS/GPS_tracing_exec.cpp
+++ /dev/null
@@ -1,137 +0,0 @@
-// $Id$
-
-#include "GPS_tracing_exec.h"
-
-#define DISPLACEMENT 256
-
-/// Default constructor.
-MyImpl::GPS_tracing_exec_i::GPS_tracing_exec_i () : dx_(1), dy_(1)
-{
- ACE_OS::srand ((u_int) ACE_OS::time ());
-
- this->positionx_ = 20;
- this->positiony_ = 25;
-}
-
-/// Default destructor.
-MyImpl::GPS_tracing_exec_i::~GPS_tracing_exec_i ()
-{
-}
-
-// Operations from HUDisplay::GPS
-
-HUDisplay::CCM_position_ptr
-MyImpl::GPS_tracing_exec_i::get_MyLocation (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- return HUDisplay::CCM_position::_duplicate (this);
-}
-
-void
-MyImpl::GPS_tracing_exec_i::push_Refresh (HUDisplay::tick *
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- // Refresh position
- if(this->positionx_ > 500) this->dx_ = -1;
- if(this->positionx_ < 10) this->dx_ = 1;
- if(this->positiony_ > 300) this->dy_ = -1;
- if(this->positiony_ < 10) this->dy_ = 1;
-
- this->positionx_ += this->dx_;
- this->positiony_ += this->dy_;
-
- // Nitify others
- HUDisplay::tick_var event = new OBV_HUDisplay::tick;
-
- this->context_->push_Ready (event
- ACE_ENV_ARG_PARAMETER);
-}
-
-// Operations from HUDisplay::position
-
-CORBA::Long
-MyImpl::GPS_tracing_exec_i::posx (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- return this->positionx_;
-}
-
-CORBA::Long
-MyImpl::GPS_tracing_exec_i::posy (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- return this->positiony_;
-}
-
-// Operations from Components::SessionComponent
-void
-MyImpl::GPS_tracing_exec_i::set_session_context (Components::SessionContext_ptr ctx
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::CCMException))
-{
- ACE_DEBUG ((LM_DEBUG, "MyImpl::GPS_tracing_exec_i::set_session_context\n"));
-
- this->context_ =
- HUDisplay::CCM_GPS_Context::_narrow (ctx
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK;
-
- if (CORBA::is_nil (this->context_.in ()))
- ACE_THROW (CORBA::INTERNAL ());
- // Urm, we actually discard exceptions thown from this operation.
-}
-
-void
-MyImpl::GPS_tracing_exec_i::ccm_activate (ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::CCMException))
-{
- ACE_DEBUG ((LM_DEBUG, "MyImpl::GPS_tracing_exec_i::ccm_activate\n"));
-}
-
-void
-MyImpl::GPS_tracing_exec_i::ccm_passivate (ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::CCMException))
-{
- ACE_DEBUG ((LM_DEBUG, "MyImpl::GPS_tracing_exec_i::ccm_passivate\n"));
-}
-
-void
-MyImpl::GPS_tracing_exec_i::ccm_remove (ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::CCMException))
-{
- ACE_DEBUG ((LM_DEBUG, "MyImpl::GPS_tracing_exec_i::ccm_remove\n"));
-}
-
-/// Default ctor.
-MyImpl::GPSHome_tracing_exec_i::GPSHome_tracing_exec_i ()
-{
-}
-
-/// Default dtor.
-MyImpl::GPSHome_tracing_exec_i::~GPSHome_tracing_exec_i ()
-{
-}
-
-// Explicit home operations.
-
-// Implicit home operations.
-
-::Components::EnterpriseComponent_ptr
-MyImpl::GPSHome_tracing_exec_i::create (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::CCMException))
-{
- return new MyImpl::GPS_tracing_exec_i;
-}
-
-
-extern "C" GPS_EXEC_Export ::Components::HomeExecutorBase_ptr
-createGPSHome_Tracing_Impl (void)
-{
- return new MyImpl::GPSHome_tracing_exec_i;
-}
diff --git a/TAO/CIAO/examples/handcrafted/Display/GPS/GPS_tracing_exec.h b/TAO/CIAO/examples/handcrafted/Display/GPS/GPS_tracing_exec.h
deleted file mode 100644
index 07b81437cec..00000000000
--- a/TAO/CIAO/examples/handcrafted/Display/GPS/GPS_tracing_exec.h
+++ /dev/null
@@ -1,125 +0,0 @@
-// $Id$
-
-/**
- * @file GPS_tracing_exec.h
- *
- * Header file for the actual GPS and GPSHome component
- * implementations.
- *
- * @author Nanbor Wang <nanbor@cse.wustl.edu>
- */
-
-#ifndef GPS_TRACING_EXEC_H
-#define GPS_TRACING_EXEC_H
-
-#include "GPSEIC.h"
-#include "tao/LocalObject.h"
-
-namespace MyImpl
-{
- /**
- * @class GPS_tracing_exec_i
- *
- * RateGen executor implementation class.
- */
- class GPS_EXEC_Export GPS_tracing_exec_i :
- public virtual HUDisplay::GPS_Exec,
- public virtual TAO_Local_RefCounted_Object
- {
- public:
- /// Default constructor.
- GPS_tracing_exec_i ();
-
- /// Default destructor.
- ~GPS_tracing_exec_i ();
-
- // Operations from HUDisplay::GPS
-
- virtual HUDisplay::CCM_position_ptr
- get_MyLocation (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- virtual void
- push_Refresh (HUDisplay::tick *ev
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- // Operations from HUDisplay::position
-
- virtual CORBA::Long
- posx (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- virtual CORBA::Long
- posy (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- // Operations from Components::SessionComponent
-
- virtual void
- set_session_context (Components::SessionContext_ptr ctx
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::CCMException));
-
- virtual void
- ccm_activate (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::CCMException));
-
- virtual void
- ccm_passivate (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::CCMException));
-
- virtual void
- ccm_remove (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::CCMException));
- protected:
- /// Current GPS reading.
- CORBA::Long positionx_;
- CORBA::Long positiony_;
-
- /// Delta amounts to emulate the position shift of each reading.
- int dx_;
- int dy_;
-
- /// Copmponent specific context
- HUDisplay::CCM_GPS_Context_var context_;
- };
-
- /**
- * @class GPSHome_tracing_exec_i
- *
- * GPS home executor implementation class.
- */
- class GPS_EXEC_Export GPSHome_tracing_exec_i :
- public virtual HUDisplay::CCM_GPSHome,
- public virtual TAO_Local_RefCounted_Object
- {
- public:
- /// Default ctor.
- GPSHome_tracing_exec_i ();
-
- /// Default dtor.
- ~GPSHome_tracing_exec_i ();
-
- // Explicit home operations.
-
- // Implicit home operations.
-
- virtual ::Components::EnterpriseComponent_ptr
- create (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::CCMException));
- };
-
-}
-
-// Executor DLL entry point. CIAO's deployment and assembly framework
-// invokes this function on the resulting DLL to get the home executor.
-extern "C" GPS_EXEC_Export ::Components::HomeExecutorBase_ptr
-createGPSHome_Tracing_Impl (void);
-
-#endif /* GPS_TRACING_EXEC_H */
diff --git a/TAO/CIAO/examples/handcrafted/Display/HUDisplay.idl b/TAO/CIAO/examples/handcrafted/Display/HUDisplay.idl
deleted file mode 100644
index d26076beb39..00000000000
--- a/TAO/CIAO/examples/handcrafted/Display/HUDisplay.idl
+++ /dev/null
@@ -1,48 +0,0 @@
-// $Id$
-
-/**
- * @file HUDisplay.idl
- *
- * Definition of events, and common interfaces used in HUDisplay module.
- *
- * @author Nanbor Wang <nanbor@cs.wustl.edu>
- */
-
-#ifndef HUDISPLAY_IDL
-#define HUDISPLAY_IDL
-
-#include "ciao/CCM_Component.idl"
-
-module HUDisplay
-{
- /**
- * @brief interface opmode defines the "operation mode" interface.
- */
- interface opmode
- {
- void start ();
-
- void stop ();
-
- boolean active ();
- };
-
- /**
- * @brief a timed event that happens at some fix rate.
- */
- eventtype tick
- {
- // We could put a timestamp here if desired.
- };
-
- /**
- * @brief interface position allows querying of a coordination.
- */
- interface position
- {
- long posx ();
- long posy ();
- };
-};
-
-#endif /* HUDISPLAY_IDL */
diff --git a/TAO/CIAO/examples/handcrafted/Display/HUDisplay.mpc b/TAO/CIAO/examples/handcrafted/Display/HUDisplay.mpc
deleted file mode 100644
index b1d448a57ef..00000000000
--- a/TAO/CIAO/examples/handcrafted/Display/HUDisplay.mpc
+++ /dev/null
@@ -1,36 +0,0 @@
-// $Id$
-// This file is generated with "generate_component_mpc.pl -n HUDisplay"
-
-project(HUDisplay_stub): ciao_client {
-
- sharedname = HUDisplay_stub
- idlflags += -Wb,stub_export_macro=HUDISPLAY_STUB_Export -Wb,stub_export_include=HUDisplay_stub_export.h -Wb,skel_export_macro=HUDISPLAY_SVNT_Export -Wb,skel_export_include=HUDisplay_svnt_export.h
- dllflags = HUDISPLAY_STUB_BUILD_DLL
-
- IDL_Files {
- HUDisplay.idl
- }
-
- Source_Files {
- HUDisplayC.cpp
- }
-}
-
-project(HUDisplay_svnt) : ciao_server {
- depends += HUDisplay_stub
- sharedname = HUDisplay_svnt
- libs += HUDisplay_stub
-
- idlflags += -Wb,export_macro=HUDISPLAY_SVNT_Export -Wb,export_include=HUDisplay_svnt_export.h
- dllflags = HUDISPLAY_SVNT_BUILD_DLL
-
- IDL_Files {
- HUDisplayE.idl
- }
-
- Source_Files {
- HUDisplayEC.cpp
- HUDisplayS.cpp
- HUDisplay_svnt.cpp
- }
-}
diff --git a/TAO/CIAO/examples/handcrafted/Display/HUDisplayE.idl b/TAO/CIAO/examples/handcrafted/Display/HUDisplayE.idl
deleted file mode 100644
index cc3b97a73e4..00000000000
--- a/TAO/CIAO/examples/handcrafted/Display/HUDisplayE.idl
+++ /dev/null
@@ -1,47 +0,0 @@
-// $Id$
-
-/**
- * @file HUDisplayE.idl
- *
- * Executor definitions of events, and common interfaces used in
- * HUDisplay module. This file should eventually be generated by the
- * CCIDL compiler automatically when it becomes available.
- *
- * @author Nanbor Wang <nanbor@cs.wustl.edu>
- */
-
-#ifndef HUDISPLAYE_IDL
-#define HUDISPLAYE_IDL
-
-
-#include "HUDisplay.idl"
-
-module HUDisplay
-{
- /**
- * Executor interface mapping for supported interfaces.
- */
- local interface CCM_opmode : opmode
- {
- };
-
- /**
- * Executor interface for tick event comsumers. This interface is
- * only needed if a component implementation uses the
- * ExecutorLocator strategy.
- */
- local interface CCM_tickConsumer
- {
- void push (in tick evt);
- };
-
- /**
- * Executor interface for position facet interface that allows
- * querying of a coordination.
- */
- local interface CCM_position : position
- {
- };
-};
-
-#endif /* HUDISPLAYE_IDL */
diff --git a/TAO/CIAO/examples/handcrafted/Display/HUDisplay_stub_export.h b/TAO/CIAO/examples/handcrafted/Display/HUDisplay_stub_export.h
deleted file mode 100644
index 3c92ba87bd8..00000000000
--- a/TAO/CIAO/examples/handcrafted/Display/HUDisplay_stub_export.h
+++ /dev/null
@@ -1,50 +0,0 @@
-
-// -*- C++ -*-
-// $Id$
-// Definition for Win32 Export directives.
-// This file is generated automatically by generate_export_file.pl HUDISPLAY_STUB
-// ------------------------------
-#ifndef HUDISPLAY_STUB_EXPORT_H
-#define HUDISPLAY_STUB_EXPORT_H
-
-#include "ace/config-all.h"
-
-#if !defined (HUDISPLAY_STUB_HAS_DLL)
-# define HUDISPLAY_STUB_HAS_DLL 1
-#endif /* ! HUDISPLAY_STUB_HAS_DLL */
-
-#if defined (HUDISPLAY_STUB_HAS_DLL) && (HUDISPLAY_STUB_HAS_DLL == 1)
-# if defined (HUDISPLAY_STUB_BUILD_DLL)
-# define HUDISPLAY_STUB_Export ACE_Proper_Export_Flag
-# define HUDISPLAY_STUB_SINGLETON_DECLARATION(T) ACE_EXPORT_SINGLETON_DECLARATION (T)
-# define HUDISPLAY_STUB_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_EXPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
-# else /* HUDISPLAY_STUB_BUILD_DLL */
-# define HUDISPLAY_STUB_Export ACE_Proper_Import_Flag
-# define HUDISPLAY_STUB_SINGLETON_DECLARATION(T) ACE_IMPORT_SINGLETON_DECLARATION (T)
-# define HUDISPLAY_STUB_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_IMPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
-# endif /* HUDISPLAY_STUB_BUILD_DLL */
-#else /* HUDISPLAY_STUB_HAS_DLL == 1 */
-# define HUDISPLAY_STUB_Export
-# define HUDISPLAY_STUB_SINGLETON_DECLARATION(T)
-# define HUDISPLAY_STUB_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
-#endif /* HUDISPLAY_STUB_HAS_DLL == 1 */
-
-// Set HUDISPLAY_STUB_NTRACE = 0 to turn on library specific tracing even if
-// tracing is turned off for ACE.
-#if !defined (HUDISPLAY_STUB_NTRACE)
-# if (ACE_NTRACE == 1)
-# define HUDISPLAY_STUB_NTRACE 1
-# else /* (ACE_NTRACE == 1) */
-# define HUDISPLAY_STUB_NTRACE 0
-# endif /* (ACE_NTRACE == 1) */
-#endif /* !HUDISPLAY_STUB_NTRACE */
-
-#if (HUDISPLAY_STUB_NTRACE == 1)
-# define HUDISPLAY_STUB_TRACE(X)
-#else /* (HUDISPLAY_STUB_NTRACE == 1) */
-# define HUDISPLAY_STUB_TRACE(X) ACE_TRACE_IMPL(X)
-#endif /* (HUDISPLAY_STUB_NTRACE == 1) */
-
-#endif /* HUDISPLAY_STUB_EXPORT_H */
-
-// End of auto generated file.
diff --git a/TAO/CIAO/examples/handcrafted/Display/HUDisplay_svnt.cpp b/TAO/CIAO/examples/handcrafted/Display/HUDisplay_svnt.cpp
deleted file mode 100644
index 7a01b737b67..00000000000
--- a/TAO/CIAO/examples/handcrafted/Display/HUDisplay_svnt.cpp
+++ /dev/null
@@ -1,35 +0,0 @@
-// $Id$
-
-// The generated filename for files using this template shoule be
-// [idl-basename]GS.cpp GS --> GlueSession
-
-// @@ Notice: [ciao module name] can expand to either CIAO_GLUE or
-// CIAO_GLUE_[module name] as defined in the header file.
-
-#include "HUDisplay_svnt.h"
-
-#if !defined (__ACE_INLINE__)
-# include "HUDisplay_svnt.inl"
-#endif /* __ACE_INLINE__ */
-
-// get_component implementation.
-// get_component is a standard CORBA::Object operations that returns
-// the component reference that an object interface associates to.
-CORBA::Object_ptr
-CIAO_GLUE_HUDisplay::position_Servant::_get_component (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- Components::SessionContext_var sc =
- Components::SessionContext::_narrow (this->ctx_.in ());
-
- if (! CORBA::is_nil(sc.in ()))
- return sc->get_CCM_object (ACE_ENV_SINGLE_ARG_PARAMETER);
-
- ::Components::EntityContext_var ec =
- ::Components::EntityContext::_narrow (this->ctx_.in ());
-
- if (! CORBA::is_nil(ec.in ()))
- return ec->get_CCM_object (ACE_ENV_SINGLE_ARG_PARAMETER);
-
- ACE_THROW_RETURN (CORBA::INTERNAL (), 0);
-}
diff --git a/TAO/CIAO/examples/handcrafted/Display/HUDisplay_svnt.h b/TAO/CIAO/examples/handcrafted/Display/HUDisplay_svnt.h
deleted file mode 100644
index f5b4b6e416c..00000000000
--- a/TAO/CIAO/examples/handcrafted/Display/HUDisplay_svnt.h
+++ /dev/null
@@ -1,75 +0,0 @@
-// $Id$
-
-// ===========================================================
-//
-// @file HUDisplay_svnt.h
-//
-// Servant Glue code (supposedly should be) generated using CIAO'S
-// CIDL compiler. This file implement the servants that bridge the
-// executor and the container.
-//
-// This file is "generated" using the template code under
-// $(CIAO_ROOT)/docs/templates/
-//
-// Remember to refect any changes back to the code templates.
-//
-// @author Nanbor Wang <nanbor@cs.wustl.edu>
-//
-// ===========================================================
-
-#ifndef CIAO_GLUE_SESSION_HUDISPLAYGS_H
-#define CIAO_GLUE_SESSION_HUDISPLAYGS_H
-#include "ace/pre.h"
-
-#include "HUDisplayS.h" // Source in the skeletons for component
- // client-view equivalent interfaces
-#include "HUDisplayEC.h" // Source in the executor mapping
- // that component implementations use
-#include "ciao/Container_Base.h" //Source in the container interface definitions
-
-#if !defined (ACE_LACKS_PRAGMA_ONCE)
-# pragma once
-#endif /* ACE_LACKS_PRAGMA_ONCE */
-
-/// @@@ Notice that all component and interface names may need to be
-/// fully qualified as we are creating a new namespace for the CIAO's
-/// container glue code.
-
-namespace CIAO_GLUE_HUDisplay
-{
- class HUDISPLAY_SVNT_Export position_Servant :
- public virtual POA_HUDisplay::position,
- public virtual PortableServer::RefCountServantBase
- {
- public:
- position_Servant (HUDisplay::CCM_position_ptr executor,
- Components::CCMContext_ptr ctx_);
-
- ~position_Servant ();
-
- virtual CORBA::Long posx (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- virtual CORBA::Long posy (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- // get_component implementation.
- virtual CORBA::Object_ptr _get_component (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- protected:
- // Facet executor.
- HUDisplay::CCM_position_var executor_;
-
- // Context object.
- Components::CCMContext_var ctx_;
- };
-}
-
-#if defined (__ACE_INLINE__)
-# include "HUDisplay_svnt.inl"
-#endif /* __ACE_INLINE__ */
-
-
-#include "ace/post.h"
-#endif /* CIAO_GLUE_SESSION_HUDISPLAYGS_H */
diff --git a/TAO/CIAO/examples/handcrafted/Display/HUDisplay_svnt.inl b/TAO/CIAO/examples/handcrafted/Display/HUDisplay_svnt.inl
deleted file mode 100644
index e4ea00247cc..00000000000
--- a/TAO/CIAO/examples/handcrafted/Display/HUDisplay_svnt.inl
+++ /dev/null
@@ -1,41 +0,0 @@
-// $Id$ -*- C++ -*-
-
-// The generated filename for files using this template shoule be
-// [idl-basename]GS.i GS --> GlueSession
-
-// @@ Notice: [ciao module name] can expand to either CIAO_GLUE or
-// CIAO_GLUE_[module name] as defined in the header file.
-
-// Constructor and destructor.
-ACE_INLINE
-CIAO_GLUE_HUDisplay::position_Servant::position_Servant (HUDisplay::CCM_position_ptr executor,
- Components::CCMContext_ptr c)
- : executor_ (HUDisplay::CCM_position::_duplicate (executor)),
- ctx_ (Components::CCMContext::_duplicate (c))
-{
-}
-
-ACE_INLINE
-CIAO_GLUE_HUDisplay::position_Servant::~position_Servant ()
-{
-}
-
-
-// This is only a guideline... we always relay the operation to underlying
-// executor.
-
-ACE_INLINE CORBA::Long
-CIAO_GLUE_HUDisplay::position_Servant::posx (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- // Simply relay to executor. May not need to return the result...
- return this->executor_->posx (ACE_ENV_SINGLE_ARG_PARAMETER);
-}
-
-ACE_INLINE CORBA::Long
-CIAO_GLUE_HUDisplay::position_Servant::posy (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- // Simply relay to executor. May not need to return the result...
- return this->executor_->posy (ACE_ENV_SINGLE_ARG_PARAMETER);
-}
diff --git a/TAO/CIAO/examples/handcrafted/Display/HUDisplay_svnt_export.h b/TAO/CIAO/examples/handcrafted/Display/HUDisplay_svnt_export.h
deleted file mode 100644
index 842152afa02..00000000000
--- a/TAO/CIAO/examples/handcrafted/Display/HUDisplay_svnt_export.h
+++ /dev/null
@@ -1,50 +0,0 @@
-
-// -*- C++ -*-
-// $Id$
-// Definition for Win32 Export directives.
-// This file is generated automatically by generate_export_file.pl HUDISPLAY_SVNT
-// ------------------------------
-#ifndef HUDISPLAY_SVNT_EXPORT_H
-#define HUDISPLAY_SVNT_EXPORT_H
-
-#include "ace/config-all.h"
-
-#if !defined (HUDISPLAY_SVNT_HAS_DLL)
-# define HUDISPLAY_SVNT_HAS_DLL 1
-#endif /* ! HUDISPLAY_SVNT_HAS_DLL */
-
-#if defined (HUDISPLAY_SVNT_HAS_DLL) && (HUDISPLAY_SVNT_HAS_DLL == 1)
-# if defined (HUDISPLAY_SVNT_BUILD_DLL)
-# define HUDISPLAY_SVNT_Export ACE_Proper_Export_Flag
-# define HUDISPLAY_SVNT_SINGLETON_DECLARATION(T) ACE_EXPORT_SINGLETON_DECLARATION (T)
-# define HUDISPLAY_SVNT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_EXPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
-# else /* HUDISPLAY_SVNT_BUILD_DLL */
-# define HUDISPLAY_SVNT_Export ACE_Proper_Import_Flag
-# define HUDISPLAY_SVNT_SINGLETON_DECLARATION(T) ACE_IMPORT_SINGLETON_DECLARATION (T)
-# define HUDISPLAY_SVNT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_IMPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
-# endif /* HUDISPLAY_SVNT_BUILD_DLL */
-#else /* HUDISPLAY_SVNT_HAS_DLL == 1 */
-# define HUDISPLAY_SVNT_Export
-# define HUDISPLAY_SVNT_SINGLETON_DECLARATION(T)
-# define HUDISPLAY_SVNT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
-#endif /* HUDISPLAY_SVNT_HAS_DLL == 1 */
-
-// Set HUDISPLAY_SVNT_NTRACE = 0 to turn on library specific tracing even if
-// tracing is turned off for ACE.
-#if !defined (HUDISPLAY_SVNT_NTRACE)
-# if (ACE_NTRACE == 1)
-# define HUDISPLAY_SVNT_NTRACE 1
-# else /* (ACE_NTRACE == 1) */
-# define HUDISPLAY_SVNT_NTRACE 0
-# endif /* (ACE_NTRACE == 1) */
-#endif /* !HUDISPLAY_SVNT_NTRACE */
-
-#if (HUDISPLAY_SVNT_NTRACE == 1)
-# define HUDISPLAY_SVNT_TRACE(X)
-#else /* (HUDISPLAY_SVNT_NTRACE == 1) */
-# define HUDISPLAY_SVNT_TRACE(X) ACE_TRACE_IMPL(X)
-#endif /* (HUDISPLAY_SVNT_NTRACE == 1) */
-
-#endif /* HUDISPLAY_SVNT_EXPORT_H */
-
-// End of auto generated file.
diff --git a/TAO/CIAO/examples/handcrafted/Display/NOTE b/TAO/CIAO/examples/handcrafted/Display/NOTE
deleted file mode 100644
index dae5515157f..00000000000
--- a/TAO/CIAO/examples/handcrafted/Display/NOTE
+++ /dev/null
@@ -1,54 +0,0 @@
-$Id$ -*- Text -*-
-
-The root directory of this example (the directory this note resides)
-contains only facets and eventtype that are shared by all components
-under various subdirectories. Therefore, there's no actualy executor
-implementations for these interfaces instead, the example stop at the
-servant glue code library which can be used by the actualy component
-implementation.
-
-I'm not sure, at this point, how we can handle this (where neither
-actualy component definition nor cidl definition are available)
-situation with CIDL compiler. It looks like we should be able to pass
-a bunch of IDL definitions thru CIDL compiler and get the equivalent
-executor interfaces automatically. But we'll have to see.
-
-To try out this example, read the following document taken from a
-short note I wrote for a snapshot release:
-
- This is a multiple-component example. RateGen component
- subdirectory contains a run_test.pl that you can use to
- instantiate a component instance, like you would do with the
- Hello example. The other components require collaboration with
- other components and I don't have client programs to test them
- out individually.
-
- This example also lets you compose all the components into a
- distributed application using the Assembly_Deployer. Change
- directory to
-
- $CIAO_ROOT/examples/handcrafted/Display/descriptors
-
- and take a look at the file: NOTE.txt. This file describes the
- steps to compose the application using various different
- configurations and composition specs.
-
-* There are MSVC 6 workspaces and projects available in the workspace.
- Some of them also contain UNIX makefiles. If you can not find the
- Makefiles for unix platform you are using, you can use mwc to create
- them. For examples, to compile the multi-component example, use the
- following:
-
- $ cd $CIAO_ROOT/examples/handcrafted/Display
- $ $(ACE_ROOT)/bin/mwc.pl
- $ make
-
- To regenerate VC6 dsp files, do:
-
- > cd $CIAO_ROOT/examples/handcrafted/Display
- > $(ACE_ROOT)/bin/mwc.pl -type vc6
-
- Likewise, to regenerate VC7.NET project files, do:
-
- > cd $CIAO_ROOT/examples/handcrafted/Display
- > $(ACE_ROOT)/bin/mwc.pl -type vc7
diff --git a/TAO/CIAO/examples/handcrafted/Display/NavDisplay/NavDisplay.idl b/TAO/CIAO/examples/handcrafted/Display/NavDisplay/NavDisplay.idl
deleted file mode 100644
index 6cc554d2d45..00000000000
--- a/TAO/CIAO/examples/handcrafted/Display/NavDisplay/NavDisplay.idl
+++ /dev/null
@@ -1,29 +0,0 @@
-// $Id$
-
-/**
- * @file NavDisplay.idl
- *
- * Definition of the navigation display component.
- *
- * @author Nanbor Wang <nanbor@cs.wustl.edu>
- */
-
-#ifndef NAVDISPLAY_IDL
-#define NAVDISPLAY_IDL
-
-#include "../HUDisplay.idl"
-
-module HUDisplay
-{
- component NavDisplay
- {
- consumes tick Refresh;
- uses position GPSLocation;
- };
-
- home NavDisplayHome manages NavDisplay
- {
- };
-};
-
-#endif /* NAVDISPLAY_IDL */
diff --git a/TAO/CIAO/examples/handcrafted/Display/NavDisplay/NavDisplay.mpc b/TAO/CIAO/examples/handcrafted/Display/NavDisplay/NavDisplay.mpc
deleted file mode 100644
index a538a173ca2..00000000000
--- a/TAO/CIAO/examples/handcrafted/Display/NavDisplay/NavDisplay.mpc
+++ /dev/null
@@ -1,58 +0,0 @@
-// $Id$
-// This file is generated with "generate_component_mpc.pl -l .. -p HUDisplay -i NavDisplay"
-
-project(NavDisplay_stub): ciao_client {
- depends += HUDisplay_stub
- sharedname = NavDisplay_stub
- idlflags += -Wb,stub_export_macro=NAVDISPLAY_STUB_Export -Wb,stub_export_include=NavDisplay_stub_export.h -Wb,skel_export_macro=NAVDISPLAY_SVNT_Export -Wb,skel_export_include=NavDisplay_svnt_export.h
- dllflags = NAVDISPLAY_STUB_BUILD_DLL
-
- IDL_Files {
- NavDisplay.idl
- }
-
- Source_Files {
- NavDisplayC.cpp
- }
-}
-
-project(NavDisplay_svnt) : ciao_server {
- depends += HUDisplay_svnt NavDisplay_stub
- sharedname = NavDisplay_svnt
- libs += NavDisplay_stub HUDisplay_stub HUDisplay_svnt
- libpaths += ..
- idlflags += -Wb,export_macro=NAVDISPLAY_SVNT_Export -Wb,export_include=NavDisplay_svnt_export.h
- dllflags = NAVDISPLAY_SVNT_BUILD_DLL
-
- IDL_Files {
- NavDisplayE.idl
- }
-
- Source_Files {
- NavDisplayEC.cpp
- NavDisplayS.cpp
- NavDisplay_svnt.cpp
- }
-}
-
-
-project(NavDisplay_exec) : ciao_server {
- depends += NavDisplay_svnt
- sharedname = NavDisplay_exec
- libs += NavDisplay_stub NavDisplay_svnt HUDisplay_stub HUDisplay_svnt
- libpaths += ..
- idlflags += -Wb,export_macro=NAVDISPLAY_EXEC_Export -Wb,export_include=NavDisplay_exec_export.h
- dllflags = NAVDISPLAY_EXEC_BUILD_DLL
-
- IDL_Files {
- NavDisplayEI.idl
- }
-
- Source_Files {
- NavDisplayEIC.cpp
- NavDisplay_exec.cpp
- }
-}
-
-
-
diff --git a/TAO/CIAO/examples/handcrafted/Display/NavDisplay/NavDisplayE.idl b/TAO/CIAO/examples/handcrafted/Display/NavDisplay/NavDisplayE.idl
deleted file mode 100644
index e5e5637b973..00000000000
--- a/TAO/CIAO/examples/handcrafted/Display/NavDisplay/NavDisplayE.idl
+++ /dev/null
@@ -1,72 +0,0 @@
-// $Id$
-
-// ===========================================================
-//
-// @file NavDisplayE.idl
-//
-// Handlecrafted "generated" code. :)
-//
-// @author Nanbor Wang <nanbor@cs.wustl.edu>
-//
-// ===========================================================
-
-#ifndef NAVDISPLAYE_IDL
-#define NAVDISPLAYE_IDL
-
-#include "CCM_Container.idl" // Found in $(CIAO_ROOT)/ciao
- // For various definitions of container
- // internal/callback interfaces
-#include "NavDisplay.idl" // Original component IDL definition
-#include "../HUDisplayE.idl"
-
-module HUDisplay {
- // Component Main Executor Interface. We currently do not
- // support Executor-based implementation.
-
- local interface CCM_NavDisplay_Executor
- : Components::EnterpriseComponent
- {
- };
-
- // Monolithic component executor.
- // For implementing monolithic component call back interface.
-
- local interface CCM_NavDisplay
- : Components::EnterpriseComponent
- {
- void push_Refresh (in tick ev);
- };
-
- /**
- * Component Context Interface
- *
- * Notice that we are taking a shortcut here to inherit the
- * component-specific context from SessionContext directly instead
- * of CCMContext.
- */
- local interface CCM_NavDisplay_Context
- : Components::SessionContext
- {
- position get_connection_GPSLocation ();
- };
-
-
- local interface CCM_NavDisplayHomeExplicit
- : Components::HomeExecutorBase
- {
- };
-
- local interface CCM_NavDisplayHomeImplicit
- {
- ::Components::EnterpriseComponent create ()
- raises (::Components::CCMException);
- };
-
- local interface CCM_NavDisplayHome
- : CCM_NavDisplayHomeExplicit,
- CCM_NavDisplayHomeImplicit
- {
- };
-};
-
-#endif /* NAVDISPLAYE_IDL */
diff --git a/TAO/CIAO/examples/handcrafted/Display/NavDisplay/NavDisplayEI.idl b/TAO/CIAO/examples/handcrafted/Display/NavDisplay/NavDisplayEI.idl
deleted file mode 100644
index e82e48244cd..00000000000
--- a/TAO/CIAO/examples/handcrafted/Display/NavDisplay/NavDisplayEI.idl
+++ /dev/null
@@ -1,32 +0,0 @@
-// $Id$
-
-/**
- * @file NavDisplayEI.idl
- *
- * Definition of the NavDisplay (navigation display) component implementation.
- *
- * @author Nanbor Wang <nanbor@cs.wustl.edu>
- */
-
-#ifndef NAVDISPLAYEI_IDL
-#define NAVDISPLAYEI_IDL
-
-#include "NavDisplayE.idl"
-
-module HUDisplay
-{
- /**
- * @interface NavDisplay_Exec
- *
- * The actually GPS executor inherits from both CCM_GPS and
- * CCM_position interfaces as a monolithic implementation.
- */
- local interface NavDisplay_Exec :
- CCM_NavDisplay,
- Components::SessionComponent
- {
- };
-
-};
-
-#endif /* NAVDISPLAYEI_IDL */
diff --git a/TAO/CIAO/examples/handcrafted/Display/NavDisplay/NavDisplay_exec.cpp b/TAO/CIAO/examples/handcrafted/Display/NavDisplay/NavDisplay_exec.cpp
deleted file mode 100644
index 9ef2eee7fb8..00000000000
--- a/TAO/CIAO/examples/handcrafted/Display/NavDisplay/NavDisplay_exec.cpp
+++ /dev/null
@@ -1,128 +0,0 @@
-// $Id$
-
-#include "CIAO_common.h"
-#include "NavDisplay_exec.h"
-
-/// Default constructor.
-MyImpl::NavDisplay_exec_impl::NavDisplay_exec_impl ()
-{
-}
-
-/// Default destructor.
-MyImpl::NavDisplay_exec_impl::~NavDisplay_exec_impl ()
-{
-}
-
-// Operations from HUDisplay::NavDisplay
-
-void
-MyImpl::NavDisplay_exec_impl::push_Refresh (HUDisplay::tick *ev
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- ACE_UNUSED_ARG (ev);
-
- // Refresh position
- HUDisplay::position_var loc
- = this->context_->get_connection_GPSLocation (ACE_ENV_ARG_PARAMETER);
- ACE_CHECK;
-
- if (CORBA::is_nil (loc.in ()))
- ACE_THROW (CORBA::BAD_INV_ORDER ());
-
- CORBA::Long x = loc->posx (ACE_ENV_ARG_PARAMETER) % 500;
- ACE_CHECK;
- CORBA::Long y = loc->posy (ACE_ENV_ARG_PARAMETER) % 300;
- ACE_CHECK;
-
- ACE_DEBUG ((LM_DEBUG, "DISPLAY: Current Location is: (%d, %d)\n",
- x,
- y));
-}
-
-// Operations from Components::SessionComponent
-void
-MyImpl::NavDisplay_exec_impl::set_session_context (Components::SessionContext_ptr ctx
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::CCMException))
-{
- ACE_DEBUG ((LM_DEBUG, "MyImpl::NavDisplay_exec_impl::set_session_context\n"));
-
- this->context_ =
- HUDisplay::CCM_NavDisplay_Context::_narrow (ctx
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK;
-
- if (CORBA::is_nil (this->context_.in ()))
- ACE_THROW (CORBA::INTERNAL ());
- // Urm, we actually discard exceptions thown from this operation.
-}
-
-void
-MyImpl::NavDisplay_exec_impl::ccm_activate (ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::CCMException))
-{
- ACE_DEBUG ((LM_DEBUG, "MyImpl::NavDisplay_exec_impl::ccm_activate\n"));
-
- // @@ This hack work around a missing feature in CIAO's assembly
- // mechanism where a Softpkg descriptor can specify it's dependency
- // to a valuetype factory and instruct the deployment framework to
- // initialize and register the corresponding valuefactory in the
- // component server. Here, we are registering the valuefactory
- // explicitly to work around this problem.
-
- char *argv[1] = { "NavDisplay_exec"};
-
- int argc = sizeof(argv)/sizeof(argv[0]);
- CORBA::ORB_var orb = CORBA::ORB_init(argc, argv ACE_ENV_ARG_PARAMETER);
-
- CIAO_REGISTER_VALUE_FACTORY (orb.in(), HUDisplay::tick_init,
- HUDisplay::tick);
-}
-
-void
-MyImpl::NavDisplay_exec_impl::ccm_passivate (ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::CCMException))
-{
- ACE_DEBUG ((LM_DEBUG, "MyImpl::NavDisplay_exec_impl::ccm_passivate\n"));
-}
-
-void
-MyImpl::NavDisplay_exec_impl::ccm_remove (ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::CCMException))
-{
- ACE_DEBUG ((LM_DEBUG, "MyImpl::NavDisplay_exec_impl::ccm_remove\n"));
-}
-
-/// Default ctor.
-MyImpl::NavDisplayHome_exec_impl::NavDisplayHome_exec_impl ()
-{
-}
-
-/// Default dtor.
-MyImpl::NavDisplayHome_exec_impl::~NavDisplayHome_exec_impl ()
-{
-}
-
-// Explicit home operations.
-
-// Implicit home operations.
-
-::Components::EnterpriseComponent_ptr
-MyImpl::NavDisplayHome_exec_impl::create (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::CCMException))
-{
- return new MyImpl::NavDisplay_exec_impl;
-}
-
-
-extern "C" NAVDISPLAY_EXEC_Export ::Components::HomeExecutorBase_ptr
-createNavDisplayHome_Impl (void)
-{
- return new MyImpl::NavDisplayHome_exec_impl;
-}
diff --git a/TAO/CIAO/examples/handcrafted/Display/NavDisplay/NavDisplay_exec.h b/TAO/CIAO/examples/handcrafted/Display/NavDisplay/NavDisplay_exec.h
deleted file mode 100644
index 41354206d4b..00000000000
--- a/TAO/CIAO/examples/handcrafted/Display/NavDisplay/NavDisplay_exec.h
+++ /dev/null
@@ -1,101 +0,0 @@
-// $Id$
-
-/**
- * @file NavDisplay_exec.h
- *
- * Header file for the actual NavDisplay and NavDisplayHome component
- * implementations.
- *
- * @author Nanbor Wang <nanbor@cse.wustl.edu>
- */
-
-#ifndef NAVDISPLAY_EXEC_H
-#define NAVDISPLAY_EXEC_H
-
-#include "NavDisplayEIC.h"
-#include "tao/LocalObject.h"
-
-namespace MyImpl
-{
- /**
- * @class NavDisplay_exec_impl
- *
- * RateGen executor implementation class.
- */
- class NAVDISPLAY_EXEC_Export NavDisplay_exec_impl :
- public virtual HUDisplay::NavDisplay_Exec,
- public virtual TAO_Local_RefCounted_Object
- {
- public:
- /// Default constructor.
- NavDisplay_exec_impl ();
-
- /// Default destructor.
- ~NavDisplay_exec_impl ();
-
- // Operations from HUDisplay::NavDisplay
-
- virtual void
- push_Refresh (HUDisplay::tick *ev
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- // Operations from Components::SessionComponent
-
- virtual void
- set_session_context (Components::SessionContext_ptr ctx
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::CCMException));
-
- virtual void
- ccm_activate (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::CCMException));
-
- virtual void
- ccm_passivate (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::CCMException));
-
- virtual void
- ccm_remove (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::CCMException));
- protected:
- /// Copmponent specific context
- HUDisplay::CCM_NavDisplay_Context_var context_;
- };
-
- /**
- * @class NavDisplayHome_exec_impl
- *
- * NavDisplay home executor implementation class.
- */
- class NAVDISPLAY_EXEC_Export NavDisplayHome_exec_impl :
- public virtual HUDisplay::CCM_NavDisplayHome,
- public virtual TAO_Local_RefCounted_Object
- {
- public:
- /// Default ctor.
- NavDisplayHome_exec_impl ();
-
- /// Default dtor.
- ~NavDisplayHome_exec_impl ();
-
- // Explicit home operations.
-
- // Implicit home operations.
-
- virtual ::Components::EnterpriseComponent_ptr
- create (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::CCMException));
- };
-
-}
-
-extern "C" NAVDISPLAY_EXEC_Export ::Components::HomeExecutorBase_ptr
-createNavDisplayHome_Impl (void);
-
-#endif /* NAVDISPLAY_EXEC_H */
diff --git a/TAO/CIAO/examples/handcrafted/Display/NavDisplay/NavDisplay_exec_export.h b/TAO/CIAO/examples/handcrafted/Display/NavDisplay/NavDisplay_exec_export.h
deleted file mode 100644
index 81b8dae8a88..00000000000
--- a/TAO/CIAO/examples/handcrafted/Display/NavDisplay/NavDisplay_exec_export.h
+++ /dev/null
@@ -1,50 +0,0 @@
-
-// -*- C++ -*-
-// $Id$
-// Definition for Win32 Export directives.
-// This file is generated automatically by generate_export_file.pl NAVDISPLAY_EXEC
-// ------------------------------
-#ifndef NAVDISPLAY_EXEC_EXPORT_H
-#define NAVDISPLAY_EXEC_EXPORT_H
-
-#include "ace/config-all.h"
-
-#if !defined (NAVDISPLAY_EXEC_HAS_DLL)
-# define NAVDISPLAY_EXEC_HAS_DLL 1
-#endif /* ! NAVDISPLAY_EXEC_HAS_DLL */
-
-#if defined (NAVDISPLAY_EXEC_HAS_DLL) && (NAVDISPLAY_EXEC_HAS_DLL == 1)
-# if defined (NAVDISPLAY_EXEC_BUILD_DLL)
-# define NAVDISPLAY_EXEC_Export ACE_Proper_Export_Flag
-# define NAVDISPLAY_EXEC_SINGLETON_DECLARATION(T) ACE_EXPORT_SINGLETON_DECLARATION (T)
-# define NAVDISPLAY_EXEC_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_EXPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
-# else /* NAVDISPLAY_EXEC_BUILD_DLL */
-# define NAVDISPLAY_EXEC_Export ACE_Proper_Import_Flag
-# define NAVDISPLAY_EXEC_SINGLETON_DECLARATION(T) ACE_IMPORT_SINGLETON_DECLARATION (T)
-# define NAVDISPLAY_EXEC_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_IMPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
-# endif /* NAVDISPLAY_EXEC_BUILD_DLL */
-#else /* NAVDISPLAY_EXEC_HAS_DLL == 1 */
-# define NAVDISPLAY_EXEC_Export
-# define NAVDISPLAY_EXEC_SINGLETON_DECLARATION(T)
-# define NAVDISPLAY_EXEC_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
-#endif /* NAVDISPLAY_EXEC_HAS_DLL == 1 */
-
-// Set NAVDISPLAY_EXEC_NTRACE = 0 to turn on library specific tracing even if
-// tracing is turned off for ACE.
-#if !defined (NAVDISPLAY_EXEC_NTRACE)
-# if (ACE_NTRACE == 1)
-# define NAVDISPLAY_EXEC_NTRACE 1
-# else /* (ACE_NTRACE == 1) */
-# define NAVDISPLAY_EXEC_NTRACE 0
-# endif /* (ACE_NTRACE == 1) */
-#endif /* !NAVDISPLAY_EXEC_NTRACE */
-
-#if (NAVDISPLAY_EXEC_NTRACE == 1)
-# define NAVDISPLAY_EXEC_TRACE(X)
-#else /* (NAVDISPLAY_EXEC_NTRACE == 1) */
-# define NAVDISPLAY_EXEC_TRACE(X) ACE_TRACE_IMPL(X)
-#endif /* (NAVDISPLAY_EXEC_NTRACE == 1) */
-
-#endif /* NAVDISPLAY_EXEC_EXPORT_H */
-
-// End of auto generated file.
diff --git a/TAO/CIAO/examples/handcrafted/Display/NavDisplay/NavDisplay_stub_export.h b/TAO/CIAO/examples/handcrafted/Display/NavDisplay/NavDisplay_stub_export.h
deleted file mode 100644
index 27e2ffaa3c3..00000000000
--- a/TAO/CIAO/examples/handcrafted/Display/NavDisplay/NavDisplay_stub_export.h
+++ /dev/null
@@ -1,50 +0,0 @@
-
-// -*- C++ -*-
-// $Id$
-// Definition for Win32 Export directives.
-// This file is generated automatically by generate_export_file.pl NAVDISPLAY_STUB
-// ------------------------------
-#ifndef NAVDISPLAY_STUB_EXPORT_H
-#define NAVDISPLAY_STUB_EXPORT_H
-
-#include "ace/config-all.h"
-
-#if !defined (NAVDISPLAY_STUB_HAS_DLL)
-# define NAVDISPLAY_STUB_HAS_DLL 1
-#endif /* ! NAVDISPLAY_STUB_HAS_DLL */
-
-#if defined (NAVDISPLAY_STUB_HAS_DLL) && (NAVDISPLAY_STUB_HAS_DLL == 1)
-# if defined (NAVDISPLAY_STUB_BUILD_DLL)
-# define NAVDISPLAY_STUB_Export ACE_Proper_Export_Flag
-# define NAVDISPLAY_STUB_SINGLETON_DECLARATION(T) ACE_EXPORT_SINGLETON_DECLARATION (T)
-# define NAVDISPLAY_STUB_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_EXPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
-# else /* NAVDISPLAY_STUB_BUILD_DLL */
-# define NAVDISPLAY_STUB_Export ACE_Proper_Import_Flag
-# define NAVDISPLAY_STUB_SINGLETON_DECLARATION(T) ACE_IMPORT_SINGLETON_DECLARATION (T)
-# define NAVDISPLAY_STUB_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_IMPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
-# endif /* NAVDISPLAY_STUB_BUILD_DLL */
-#else /* NAVDISPLAY_STUB_HAS_DLL == 1 */
-# define NAVDISPLAY_STUB_Export
-# define NAVDISPLAY_STUB_SINGLETON_DECLARATION(T)
-# define NAVDISPLAY_STUB_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
-#endif /* NAVDISPLAY_STUB_HAS_DLL == 1 */
-
-// Set NAVDISPLAY_STUB_NTRACE = 0 to turn on library specific tracing even if
-// tracing is turned off for ACE.
-#if !defined (NAVDISPLAY_STUB_NTRACE)
-# if (ACE_NTRACE == 1)
-# define NAVDISPLAY_STUB_NTRACE 1
-# else /* (ACE_NTRACE == 1) */
-# define NAVDISPLAY_STUB_NTRACE 0
-# endif /* (ACE_NTRACE == 1) */
-#endif /* !NAVDISPLAY_STUB_NTRACE */
-
-#if (NAVDISPLAY_STUB_NTRACE == 1)
-# define NAVDISPLAY_STUB_TRACE(X)
-#else /* (NAVDISPLAY_STUB_NTRACE == 1) */
-# define NAVDISPLAY_STUB_TRACE(X) ACE_TRACE_IMPL(X)
-#endif /* (NAVDISPLAY_STUB_NTRACE == 1) */
-
-#endif /* NAVDISPLAY_STUB_EXPORT_H */
-
-// End of auto generated file.
diff --git a/TAO/CIAO/examples/handcrafted/Display/NavDisplay/NavDisplay_svnt.cpp b/TAO/CIAO/examples/handcrafted/Display/NavDisplay/NavDisplay_svnt.cpp
deleted file mode 100644
index 5464be3ea3b..00000000000
--- a/TAO/CIAO/examples/handcrafted/Display/NavDisplay/NavDisplay_svnt.cpp
+++ /dev/null
@@ -1,797 +0,0 @@
-// $Id$
-
-// The generated filename for files using this template shoule be
-// [idl-basename]GS.cpp GS --> GlueSession
-
-// @@ Notice: [ciao module name] can expand to either CIAO_GLUE or
-// CIAO_GLUE_[module name] as defined in the header file.
-
-/// @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
-/// @@@ Notice that all component and interface names need to be
-/// fully qualified as we are creating a new namespace for the CIAO's
-/// container glue code.
-/// @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
-
-#include "NavDisplay_svnt.h"
-#include "Cookies.h"
-
-#if !defined (__ACE_INLINE__)
-# include "NavDisplay_svnt.inl"
-#endif /* __ACE_INLINE__ */
-
-HUDisplay::position_ptr
-CIAO_GLUE_HUDisplay::NavDisplay_Context::get_connection_GPSLocation (ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- return HUDisplay::position::_duplicate (this->ciao_uses_GPSLocation_.in ());
-}
-
-// Simplex [receptacle name] connection management operations
-void
-CIAO_GLUE_HUDisplay::NavDisplay_Context::connect_GPSLocation (HUDisplay::position_ptr c
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- ::Components::AlreadyConnected,
- ::Components::InvalidConnection))
-{
- if (! CORBA::is_nil (this->ciao_uses_GPSLocation_.in ()))
- ACE_THROW (::Components::AlreadyConnected ());
-
- if (CORBA::is_nil (c))
- ACE_THROW (::Components::InvalidConnection ());
-
- // When do we throw InvalidConnection exception?
- this->ciao_uses_GPSLocation_ = HUDisplay::position::_duplicate (c);
-}
-
-HUDisplay::position_ptr
-CIAO_GLUE_HUDisplay::NavDisplay_Context::disconnect_GPSLocation (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- ::Components::NoConnection))
-{
- if (CORBA::is_nil (this->ciao_uses_GPSLocation_.in ()))
- ACE_THROW (::Components::NoConnection ());
-
- return this->ciao_uses_GPSLocation_._retn ();
-}
-
-// Operations for ::Components::SessionContext interface
-CORBA::Object_ptr
-CIAO_GLUE_HUDisplay::NavDisplay_Context::get_CCM_object (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::IllegalState))
-{
- // @@ How do I check for IllegalState here? When it's not in a
- // callback operation...
- // ACE_THROW_RETURN (::Components::IllegalState (), 0);
-
- if (CORBA::is_nil (this->component_.in ()))
- {
- CORBA::Object_var obj = this->container_->get_objref (this->servant_
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (0);
-
- this->component_ = HUDisplay::NavDisplay::_narrow (obj.in ()
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (0);
-
- if (CORBA::is_nil (this->component_.in ()))
- ACE_THROW_RETURN (CORBA::INTERNAL (), 0); // This should not happen...
- }
- return HUDisplay::NavDisplay::_duplicate (this->component_.in ());
-}
-
-//////////////////////////////////////////////////////////////////
-// Component Servant Glue code implementation
-//////////////////////////////////////////////////////////////////
-
-CIAO_GLUE_HUDisplay::NavDisplay_Servant::NavDisplay_Servant (HUDisplay::CCM_NavDisplay_ptr exe,
- ::Components::CCMHome_ptr h,
- ::CIAO::Session_Container *c)
- : executor_ (HUDisplay::CCM_NavDisplay::_duplicate (exe)),
- container_ (c)
-{
- this->context_ = new CIAO_GLUE_HUDisplay::NavDisplay_Context (h, c, this);
-
- ACE_TRY_NEW_ENV
- {
- Components::SessionComponent_var scom =
- Components::SessionComponent::_narrow (exe
- ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- if (! CORBA::is_nil (scom.in ()))
- scom->set_session_context (this->context_
- ACE_ENV_ARG_PARAMETER);
- }
- ACE_CATCHANY
- {
- // @@ Ignore any exceptions? What happens if
- // set_session_context throws an CCMException?
- }
- ACE_ENDTRY;
-}
-
-CIAO_GLUE_HUDisplay::NavDisplay_Servant::~NavDisplay_Servant (void)
-{
- ACE_TRY_NEW_ENV
- {
- Components::SessionComponent_var scom =
- Components::SessionComponent::_narrow (this->executor_.in ()
- ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- if (! CORBA::is_nil (scom.in ()))
- scom->ccm_remove (ACE_ENV_SINGLE_ARG_PARAMETER);
- }
- ACE_CATCHANY
- {
- // @@ Ignore any exceptions? What happens if
- // set_session_context throws an CCMException?
- }
- ACE_ENDTRY;
- this->context_->_remove_ref ();
-}
-
-// Operations for provides interfaces.
-
-// Operations for consumers interfaces.
-
-// EventConsumer Glue Code implementation
-// Inherit from ::Compopnents::EventBConsumerBase
-void
-CIAO_GLUE_HUDisplay::NavDisplay_Servant::tickConsumer_Refresh_Servant::push_event (::Components::EventBase *ev
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- ::Components::BadEventType))
-{
- HUDisplay::tick_var ev_type = HUDisplay::tick::_downcast (ev);
- if (ev_type != 0)
- {
- this->push_tick (ev_type.in ()
- ACE_ENV_ARG_PARAMETER);
- return;
- }
-
- // @@ This include the case when we receive a parent eventtype of [eventtype]
-
- ACE_THROW (::Components::BadEventType ());
-}
-
-// get_component implementation.
-HUDisplay::tickConsumer_ptr
-CIAO_GLUE_HUDisplay::NavDisplay_Servant::get_consumer_Refresh (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- if (CORBA::is_nil (this->consumes_Refresh_.in ()))
- {
- CIAO_GLUE_HUDisplay::NavDisplay_Servant::tickConsumer_Refresh_Servant *svt =
- new CIAO_GLUE_HUDisplay::NavDisplay_Servant::tickConsumer_Refresh_Servant (this->executor_.in (),
- this->context_);
- PortableServer::ServantBase_var safe_servant (svt);
-
- CORBA::Object_var obj = this->container_->install_servant (svt
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (0);
-
- HUDisplay::tickConsumer_var eco
- = HUDisplay::tickConsumer::_narrow (obj.in ()
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (0);
-
- this->consumes_Refresh_ = eco;
- }
-
- return HUDisplay::tickConsumer::_duplicate (this->consumes_Refresh_.in ());
-}
-
-// Operations for Navigation interface
-CORBA::Object_ptr
-CIAO_GLUE_HUDisplay::NavDisplay_Servant::provide_facet (const char * name
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException ,
- Components::InvalidName))
-{
- ACE_UNUSED_ARG (name);
- ACE_THROW_RETURN (::Components::InvalidName (), 0);
-}
-
-::Components::FacetDescriptions *
-CIAO_GLUE_HUDisplay::NavDisplay_Servant::get_all_facets (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- ::Components::FacetDescriptions_var collection
- = new ::Components::FacetDescriptions (0); // #99 = number of all provided
- // facets including those inherited
- // from parent component(s).
- return collection._retn ();
-
-}
-
-::Components::FacetDescriptions *
-CIAO_GLUE_HUDisplay::NavDisplay_Servant::get_named_facets (const Components::NameList & names
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::InvalidName))
-{
- ACE_UNUSED_ARG (names);
- ACE_THROW_RETURN (::Components::InvalidName (), 0);
-}
-
-CORBA::Boolean
-CIAO_GLUE_HUDisplay::NavDisplay_Servant::same_component (CORBA::Object_ptr object_ref
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- if (CORBA::is_nil (object_ref))
- ACE_THROW_RETURN (CORBA::BAD_PARAM (), 0);
-
- CORBA::Object_var the_other = object_ref->_get_component (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_CHECK_RETURN (0);
-
- CORBA::Object_var me = this->context_->get_CCM_object (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_CHECK_RETURN (0);
-
- return me->_is_equivalent (object_ref
- ACE_ENV_ARG_PARAMETER);
-}
-
-// Operations for Receptacles interface
-::Components::Cookie *
-CIAO_GLUE_HUDisplay::NavDisplay_Servant::connect (const char * name,
- CORBA::Object_ptr connection
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::InvalidName,
- Components::InvalidConnection,
- Components::AlreadyConnected,
- Components::ExceededConnectionLimit))
-{
- // @@ We can omit this if clause if there's no receptacle in this component.
- if (name == 0)
- ACE_THROW_RETURN (Components::InvalidName (), 0);
-
- if (ACE_OS_String::strcmp (name, "GPSLocation") == 0)
- {
- HUDisplay::position_var _ciao_conn =
- HUDisplay::position::_narrow (connection
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (0);
-
- if (CORBA::is_nil (_ciao_conn.in ()))
- ACE_THROW_RETURN (::Components::InvalidConnection (), 0);
-
- this->connect_GPSLocation (_ciao_conn.in ()
- ACE_ENV_ARG_PARAMETER);
- return 0;
- }
-
- ACE_THROW_RETURN (Components::InvalidName (), 0);
-}
-
-CORBA::Object_ptr
-CIAO_GLUE_HUDisplay::NavDisplay_Servant::disconnect (const char * name,
- Components::Cookie *ck
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::InvalidName,
- Components::InvalidConnection,
- Components::CookieRequired,
- Components::NoConnection))
-{
- ACE_UNUSED_ARG (ck);
- // @@ We can omit this if clause if there's no receptacle in this component.
- if (name == 0)
- ACE_THROW_RETURN (Components::InvalidName (), 0);
-
- if (ACE_OS_String::strcmp (name, "GPSLocation") == 0)
- return this->disconnect_GPSLocation (ACE_ENV_SINGLE_ARG_PARAMETER);
-
- ACE_THROW_RETURN (Components::InvalidName (), 0);
-}
-
-::Components::ConnectionDescriptions *
-CIAO_GLUE_HUDisplay::NavDisplay_Servant::get_connections (const char * name
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::InvalidName))
-{
- // @@ We can omit this if clause if there's no receptacle in this component.
- if (name == 0)
- ACE_THROW_RETURN (Components::InvalidName (), 0);
-
- if (ACE_OS_String::strcmp (name, "GPSLocation") == 0)
- {
- ::Components::ConnectionDescriptions_var retv
- = new ::Components::ConnectionDescriptions;
- retv->length (1);
-
- ::Components::ConnectionDescription_var x
- = new OBV_Components::ConnectionDescription;
- x ->ck (0);
- x ->objref (this->get_connection_GPSLocation (ACE_ENV_SINGLE_ARG_PARAMETER));
- ACE_CHECK_RETURN (0);
-
- // retv[0] = x._retn ();
-
- return retv._retn ();
- }
-
- ACE_THROW_RETURN (Components::InvalidName (), 0);
-}
-
-::Components::ReceptacleDescriptions *
-CIAO_GLUE_HUDisplay::NavDisplay_Servant::get_all_receptacles (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- ::Components::ReceptacleDescriptions_var retv =
- new ::Components::ReceptacleDescriptions (1); // #99 is number of receptacles
- // this component has.
- retv->length (1);
- CORBA::ULong i = 0;
-
- retv[i] = new OBV_Components::ReceptacleDescription;
-
- retv[i]->Name ((const char *) "GPSLocation");
- retv[i]->type_id ((const char *) "IDL:HUDisplay/position:1.0");
- retv[i]->is_multiple (0);
- retv[i]->connections (*this->get_connections ("GPSLocation"
- ACE_ENV_ARG_PARAMETER));
- return retv._retn ();
-}
-
-::Components::ReceptacleDescriptions *
-CIAO_GLUE_HUDisplay::NavDisplay_Servant::get_named_receptacles (const Components::NameList & names
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::InvalidName))
-{
- ::Components::ReceptacleDescriptions_var retv =
- new ::Components::ReceptacleDescriptions (names.length ());
- retv->length (names.length ());
-
- CORBA::ULong i = 0;
- for (; i < names.length (); ++i)
- {
- retv[i] = new ::OBV_Components::ReceptacleDescription;
- if (ACE_OS_String::strcmp (names[i].in (), "GPSLocation") == 0)
- {
- retv[i]->Name ((const char *) "GPSLocation");
- retv[i]->type_id ((const char *) "IDL:HUDisplay/position:1.0");
- retv[i]->is_multiple (0);
- retv[i]->connections (*this->get_connections ("GPSLocation"
- ACE_ENV_ARG_PARAMETER));
- }
- else
- ACE_THROW_RETURN (::Components::InvalidName (), 0);
- }
- return retv._retn ();
-}
-
-// Operations for Events interface
-::Components::EventConsumerBase_ptr
-CIAO_GLUE_HUDisplay::NavDisplay_Servant::get_consumer (const char * sink_name
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::InvalidName))
-{
- // @@ We can omit this if clause if there's no event sinks in this component.
- if (sink_name == 0)
- ACE_THROW_RETURN (Components::InvalidName (), 0);
-
- if (ACE_OS_String::strcmp (sink_name, "Refresh") == 0)
- return this->get_consumer_Refresh (ACE_ENV_SINGLE_ARG_PARAMETER);
-
- ACE_THROW_RETURN (Components::InvalidName (), 0);
-}
-
-::Components::Cookie *
-CIAO_GLUE_HUDisplay::NavDisplay_Servant::subscribe (const char * ,
- Components::EventConsumerBase_ptr
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::InvalidName,
- Components::InvalidConnection,
- Components::ExceededConnectionLimit))
-{
- ACE_THROW_RETURN (Components::InvalidName (), 0);
-}
-
-::Components::EventConsumerBase_ptr
-CIAO_GLUE_HUDisplay::NavDisplay_Servant::unsubscribe (const char * ,
- Components::Cookie *
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::InvalidName,
- Components::InvalidConnection))
-{
- ACE_THROW_RETURN (Components::InvalidName (), 0);
-}
-
-void
-CIAO_GLUE_HUDisplay::NavDisplay_Servant::connect_consumer (const char * ,
- Components::EventConsumerBase_ptr
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::InvalidName,
- Components::AlreadyConnected,
- Components::InvalidConnection))
-{
- ACE_THROW (Components::InvalidName ());
-}
-
-::Components::EventConsumerBase_ptr
-CIAO_GLUE_HUDisplay::NavDisplay_Servant::disconnect_consumer (const char *
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::InvalidName,
- Components::NoConnection))
-{
- ACE_THROW_RETURN (Components::InvalidName (), 0);
-}
-
-::Components::ConsumerDescriptions *
-CIAO_GLUE_HUDisplay::NavDisplay_Servant::get_all_consumers (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- ::Components::ConsumerDescriptions_var retv =
- new ::Components::ConsumerDescriptions (1); // #99 is the number of consumers
- // this component has.
- retv->length (1);
-
- CORBA::ULong i = 0;
- retv[i] = new OBV_Components::ConsumerDescription;
- retv[i]->Name ("Refresh");
- retv[i]->type_id ("IDL:HUDisplay/tickConsumer:1.0");
- HUDisplay::tickConsumer_var c
- = this->get_consumer_Refresh (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_CHECK_RETURN (0);
-
- retv[i]->consumer (c.in ());
-
- return retv._retn ();
-}
-
-::Components::ConsumerDescriptions *
-CIAO_GLUE_HUDisplay::NavDisplay_Servant::get_named_consumers (const Components::NameList & names
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::InvalidName))
-{
- ::Components::ConsumerDescriptions_var retv =
- new ::Components::ConsumerDescriptions (names.length ());
- retv->length (names.length ());
-
- CORBA::ULong i = 0;
- for (; i < names.length (); ++i)
- {
- retv[i] = new OBV_Components::ConsumerDescription;
-
- if (ACE_OS_String::strcmp (names[i].in (), "Refresh") == 0)
- {
- retv[i]->Name ("Refresh");
- retv[i]->type_id ("IDL:HUDisplay/tickConsumer:1.0");
- HUDisplay::tickConsumer_var c =
- this->get_consumer_Refresh (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_CHECK_RETURN (0);
-
- retv[i]->consumer (c.in ());
- }
- else
- ACE_THROW_RETURN (::Components::InvalidName (), 0);
- }
- return retv._retn ();
-}
-
-::Components::EmitterDescriptions *
-CIAO_GLUE_HUDisplay::NavDisplay_Servant::get_all_emitters (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- ::Components::EmitterDescriptions_var retv =
- new ::Components::EmitterDescriptions (0); // #99 is the number of emitters
- // this component has.
- return retv._retn ();
-}
-
-::Components::EmitterDescriptions *
-CIAO_GLUE_HUDisplay::NavDisplay_Servant::get_named_emitters (const Components::NameList & names
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::InvalidName))
-{
- ::Components::EmitterDescriptions_var retv =
- new ::Components::EmitterDescriptions (names.length ());
- retv->length (names.length ());
-
- CORBA::ULong i = 0;
- for (; i < names.length (); ++i)
- {
- ACE_THROW_RETURN (::Components::InvalidName (), 0);
- }
- return retv._retn ();
-}
-
-::Components::PublisherDescriptions *
-CIAO_GLUE_HUDisplay::NavDisplay_Servant::get_all_publishers (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- // @@ to-do
-
- // Need to add interfaces in the Context class to gather the information.
- // Or we can just relay it to the Context object.
- ACE_THROW_RETURN (CORBA::NO_IMPLEMENT (), 0);
-}
-
-::Components::PublisherDescriptions *
-CIAO_GLUE_HUDisplay::NavDisplay_Servant::get_named_publishers (const Components::NameList & names
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::InvalidName))
-{
- ACE_UNUSED_ARG (names);
- // @@ to-do
-
- // Need to add interfaces in the Context class to gather the information.
- // Or we can just relay it to the Context object.
- ACE_THROW_RETURN (CORBA::NO_IMPLEMENT (), 0);
-}
-
-// Operations for CCMObject interface
-::CORBA::IRObject_ptr
-CIAO_GLUE_HUDisplay::NavDisplay_Servant::get_component_def (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- // @@ to-do: Connect to an IfR?
- ACE_THROW_RETURN (CORBA::NO_IMPLEMENT (), 0);
-}
-
-::Components::CCMHome_ptr
-CIAO_GLUE_HUDisplay::NavDisplay_Servant::get_ccm_home (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- return this->context_->get_CCM_home (ACE_ENV_SINGLE_ARG_PARAMETER);
-}
-
-::Components::PrimaryKeyBase *
-CIAO_GLUE_HUDisplay::NavDisplay_Servant::get_primary_key (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::NoKeyAvailable))
-{
- // This is a keyless component.
- ACE_THROW_RETURN (::Components::NoKeyAvailable (), 0);
-}
-
-void
-CIAO_GLUE_HUDisplay::NavDisplay_Servant::configuration_complete (ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::InvalidConfiguration))
-{
- // @@ to-do
- // No-op. Don't know how to pass this info to monolithic executor.
-}
-
-void
-CIAO_GLUE_HUDisplay::NavDisplay_Servant::remove (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::RemoveFailure))
-{
- // @@ to-do
- // Need to figure out what to do here. E.g., tear down the all the connections
- // this component has?
-}
-
-::Components::ComponentPortDescription *
-CIAO_GLUE_HUDisplay::NavDisplay_Servant::get_all_ports (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- ::Components::ComponentPortDescription_var retv =
- new OBV_Components::ComponentPortDescription;
-
- ::Components::FacetDescriptions_var facets_desc
- = this->get_all_facets (ACE_ENV_SINGLE_ARG_PARAMETER);
- ::Components::ReceptacleDescriptions_var receptacle_desc
- = get_all_receptacles (ACE_ENV_SINGLE_ARG_PARAMETER);
- ::Components::ConsumerDescriptions_var consumer_desc
- = this->get_all_consumers (ACE_ENV_SINGLE_ARG_PARAMETER);
- ::Components::EmitterDescriptions_var emitter_desc
- = this->get_all_emitters (ACE_ENV_SINGLE_ARG_PARAMETER);
- ::Components::PublisherDescriptions_var publisher_desc
- = this->get_all_publishers (ACE_ENV_SINGLE_ARG_PARAMETER);
-
- retv->facets (facets_desc.in());
- retv->receptacles (receptacle_desc.in());
- retv->consumers (consumer_desc.in());
- retv->emitters (emitter_desc.in());
- retv->publishers (publisher_desc.in());
-
- return retv._retn();
-}
-
-// get_component implementation.
-CORBA::Object_ptr
-CIAO_GLUE_HUDisplay::NavDisplay_Servant::_get_component (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- ::Components::SessionContext_var sc =
- ::Components::SessionContext::_narrow (this->context_);
-
- if (! CORBA::is_nil(sc.in ()))
- return sc->get_CCM_object (ACE_ENV_SINGLE_ARG_PARAMETER);
-
- // @@ Do we need to try the following case here? We are afterall implementing
- // a session component here.
- ::Components::EntityContext_var ec =
- ::Components::EntityContext::_narrow (this->context_);
-
- if (! CORBA::is_nil(ec.in ()))
- return ec->get_CCM_object (ACE_ENV_SINGLE_ARG_PARAMETER);
-
- ACE_THROW_RETURN (CORBA::INTERNAL (), 0);
-}
-
-void
-CIAO_GLUE_HUDisplay::NavDisplay_Servant::_ciao_activate (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- ::Components::SessionComponent_var temp =
- ::Components::SessionComponent::_narrow (this->executor_.in ()
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK;
-
- if (! CORBA::is_nil (temp.in ()))
- temp->ccm_activate (ACE_ENV_SINGLE_ARG_PARAMETER);
-}
-
-void
-CIAO_GLUE_HUDisplay::NavDisplay_Servant::_ciao_passivate (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- ::Components::SessionComponent_var temp =
- ::Components::SessionComponent::_narrow (this->executor_.in ()
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK;
-
- if (! CORBA::is_nil (temp.in ()))
- temp->ccm_passivate (ACE_ENV_SINGLE_ARG_PARAMETER);
-}
-
-//////////////////////////////////////////////////////////////////
-// Component Home Glue code implementation
-//////////////////////////////////////////////////////////////////
-
-HUDisplay::NavDisplay_ptr
-CIAO_GLUE_HUDisplay::NavDisplayHome_Servant::_ciao_activate_component (HUDisplay::CCM_NavDisplay_ptr exe
- ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- CORBA::Object_var hobj
- = this->container_->get_objref (this
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (0);
-
- ::Components::CCMHome_var home
- = ::Components::CCMHome::_narrow (hobj.in ()
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (0);
-
- CIAO_GLUE_HUDisplay::NavDisplay_Servant *svt =
- new CIAO_GLUE_HUDisplay::NavDisplay_Servant (exe,
- home.in (),
- this->container_);
- PortableServer::ServantBase_var safe (svt);
- PortableServer::ObjectId_var oid;
-
- CORBA::Object_var objref
- = this->container_->install_component (svt,
- oid.out ()
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (0);
-
- svt->_ciao_activate (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_CHECK_RETURN (0);
-
- HUDisplay::NavDisplay_var ho
- = HUDisplay::NavDisplay::_narrow (objref.in ()
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (0);
-
- if (this->component_map_.bind (oid.in (), svt) == 0)
- {
- // @@ what should happen if bind fail?
- safe._retn ();
- }
- return ho._retn ();
-}
-
-void
-CIAO_GLUE_HUDisplay::NavDisplayHome_Servant::_ciao_passivate_component (HUDisplay::NavDisplay_ptr comp
- ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- PortableServer::ObjectId_var oid;
-
- this->container_->uninstall_component (comp,
- oid.out ()
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK;
-
- CIAO_GLUE_HUDisplay::NavDisplay_Servant *servant = 0;
- if (this->component_map_.unbind (oid.in (), servant) == 0)
- {
- PortableServer::ServantBase_var safe (servant);
- servant->_ciao_passivate (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_CHECK;
- }
- // What happen if unbind failed?
-
-}
-
-// Operations for Implicit Home interface
-HUDisplay::NavDisplay_ptr
-CIAO_GLUE_HUDisplay::NavDisplayHome_Servant::create (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::CreateFailure))
-{
- if (this->executor_.in () == 0)
- ACE_THROW_RETURN (CORBA::INTERNAL (), 0);
-
- Components::EnterpriseComponent_var _ciao_ec =
- this->executor_->create (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_CHECK_RETURN (0);
-
- HUDisplay::CCM_NavDisplay_var _ciao_comp
- = HUDisplay::CCM_NavDisplay::_narrow (_ciao_ec.in ()
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (0);
-
- return this->_ciao_activate_component (_ciao_comp.in ()
- ACE_ENV_ARG_PARAMETER);
-}
-
-// Operations for CCMHome interface
-void
-CIAO_GLUE_HUDisplay::NavDisplayHome_Servant::remove_component (Components::CCMObject_ptr comp
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::RemoveFailure))
-{
- HUDisplay::NavDisplay_var _ciao_comp
- = HUDisplay::NavDisplay::_narrow (comp
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK;
-
- if (CORBA::is_nil (_ciao_comp.in ()))
- ACE_THROW (CORBA::INTERNAL ()); // What is the right exception to throw here?
-
- // @@ It seems to me that we need to make sure this is a component
- // generated by this home before calling remove on this component.
- _ciao_comp->remove (ACE_ENV_ARG_PARAMETER);
- ACE_CHECK;
-
-
- // Removing the object reference? get the servant from the POA with
- // the objref, and call remove() on the component, deactivate the
- // component, and then remove-ref the servant?
- this->_ciao_passivate_component (_ciao_comp.in ()
- ACE_ENV_ARG_PARAMETER);
-}
-
-extern "C" NAVDISPLAY_SVNT_Export ::PortableServer::Servant
-createNavDisplayHome_Servant (::Components::HomeExecutorBase_ptr p,
- CIAO::Session_Container *c
- ACE_ENV_ARG_DECL)
-{
- if (p == 0)
- return 0;
-
- HUDisplay::CCM_NavDisplayHome_var x
- = HUDisplay::CCM_NavDisplayHome::_narrow (p
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (0);
-
- if (CORBA::is_nil (x.in ()))
- return 0;
-
- return new CIAO_GLUE_HUDisplay::NavDisplayHome_Servant (x.in (),
- c);
-}
diff --git a/TAO/CIAO/examples/handcrafted/Display/NavDisplay/NavDisplay_svnt.h b/TAO/CIAO/examples/handcrafted/Display/NavDisplay/NavDisplay_svnt.h
deleted file mode 100644
index d0087797151..00000000000
--- a/TAO/CIAO/examples/handcrafted/Display/NavDisplay/NavDisplay_svnt.h
+++ /dev/null
@@ -1,485 +0,0 @@
-// $Id$
-
-// ===========================================================
-//
-// @file NavDisplay_svnt.h
-//
-// This is a pseudo-meta generic servant implementations template
-// for CIAO's CIDL compiler. It demonstrates how a servant
-// implementation for a session component should look like.
-//
-// The generated filename for files using this template shoule be
-// [idl-basename]_svnt.h
-//
-// @author Nanbor Wang <nanbor@cs.wustl.edu>
-//
-// ===========================================================
-
-#ifndef CIAO_GLUE_SESSION_NAVDISPLAY_SVNT_H
-#define CIAO_GLUE_SESSION_NAVDISPLAY_SVNT_H
-#include "ace/pre.h"
-
-#include "NavDisplayS.h" // Source in the skeletons for component
- // client-view equivalent interfaces
-#include "NavDisplayEC.h" // Source in the executor mapping
- // that component implementations use
-#include "ciao/Container_Base.h" //Source in the container interface definitions
-#include "tao/LocalObject.h"
-#include "tao/PortableServer/Key_Adapters.h"
-#include "ace/Active_Map_Manager_T.h"
-
-#if !defined (ACE_LACKS_PRAGMA_ONCE)
-# pragma once
-#endif /* ACE_LACKS_PRAGMA_ONCE */
-
-namespace CIAO_GLUE_HUDisplay
-{
-
- //////////////////////////////////////////////////////////////////
- // Component specific context implementation
- class NAVDISPLAY_SVNT_Export NavDisplay_Context :
- public virtual HUDisplay::CCM_NavDisplay_Context,
- public virtual TAO_Local_RefCounted_Object
- {
- public:
- // We will allow the the servant glue code we generate to access
- // our states.
- friend class NavDisplay_Servant;
-
- // Ctor.
- NavDisplay_Context (::Components::CCMHome_ptr home,
- ::CIAO::Session_Container *c,
- NavDisplay_Servant *sv);
-
- // Dtor.
- virtual ~NavDisplay_Context ();
-
- // Operations for [component name] event source, and
- // receptacles defined in CCM_[component name]_Context.
-
- HUDisplay::position_ptr
- get_connection_GPSLocation (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- // Operations for ::Components::CCMContext
- virtual ::Components::Principal_ptr
- get_caller_principal (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- virtual ::Components::CCMHome_ptr
- get_CCM_home (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- virtual CORBA::Boolean
- get_rollback_only (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::IllegalState));
-
- virtual ::Components::Transaction::UserTransaction_ptr
- get_user_transaction (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::IllegalState));
-
- virtual CORBA::Boolean
- is_caller_in_role (const char * role
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- virtual void
- set_rollback_only (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::IllegalState));
-
- // Operations for ::Components::SessionContext interface
- virtual CORBA::Object_ptr
- get_CCM_object (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::IllegalState));
- protected:
- // We need to generate, in protected section, stuff that manage
- // connections and consumers of this component.
-
- // Simplex [receptacle name] connection management operations
- void
- connect_GPSLocation (HUDisplay::position_ptr c
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- ::Components::AlreadyConnected,
- ::Components::InvalidConnection));
-
- HUDisplay::position_ptr
- disconnect_GPSLocation (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- ::Components::NoConnection));
-
- // Simplex [receptacle name] connection
- HUDisplay::position_var ciao_uses_GPSLocation_;
-
- protected:
- /// Cached component home reference.
- ::Components::CCMHome_var home_;
-
- /// session container
- ::CIAO::Session_Container *container_;
-
- /// Reference back to owner.
- NavDisplay_Servant *servant_;
-
- /// @@ Cached component reference.
- HUDisplay::NavDisplay_var component_;
-
- };
-
- //////////////////////////////////////////////////////////////////
- // Component Servant Glue code implementation
- class NAVDISPLAY_SVNT_Export NavDisplay_Servant
- : public virtual POA_HUDisplay::NavDisplay, // full skeleton name here
- public virtual PortableServer::RefCountServantBase
- {
- public:
- // Ctor.
- NavDisplay_Servant (HUDisplay::CCM_NavDisplay_ptr executor,
- ::Components::CCMHome_ptr home,
- ::CIAO::Session_Container *c);
-
- // Dtor.
- ~NavDisplay_Servant (void);
-
- // Operations for provides interfaces.
-
- // Operations for receptacles interfaces.
-
- // Simplex [receptacle name] connection management operations
- virtual void
- connect_GPSLocation (HUDisplay::position_ptr c
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- ::Components::AlreadyConnected,
- ::Components::InvalidConnection));
-
- virtual HUDisplay::position_ptr
- disconnect_GPSLocation (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- ::Components::NoConnection));
-
- virtual HUDisplay::position_ptr
- get_connection_GPSLocation (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- // Operations for consumers interfaces.
- // First we need to generate the event sink specific servant
- class NAVDISPLAY_SVNT_Export tickConsumer_Refresh_Servant
- : public virtual POA_HUDisplay::tickConsumer, // full skeleton name here
- public virtual PortableServer::RefCountServantBase
- {
- public:
- // Constructor and destructor.
- tickConsumer_Refresh_Servant (HUDisplay::CCM_NavDisplay_ptr executor,
- HUDisplay::CCM_NavDisplay_Context_ptr c);
-
- ~tickConsumer_Refresh_Servant ();
-
- virtual void push_tick (HUDisplay::tick *evt
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- // Inherit from ::Compopnents::EventBConsumerBase
- virtual void push_event (::Components::EventBase *ev
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- ::Components::BadEventType));
-
- // get_component implementation.
- virtual CORBA::Object_ptr
- _get_component (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- protected:
- // Executor
- HUDisplay::CCM_NavDisplay_var executor_;
-
- // Context object.
- HUDisplay::CCM_NavDisplay_Context_var ctx_;
- };
-
- virtual HUDisplay::tickConsumer_ptr
- get_consumer_Refresh (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- // Operations for emits interfaces.
-
- // Operations for publishes interfaces.
-
- // Operations for Navigation interface
- virtual CORBA::Object_ptr
- provide_facet (const char * name
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException ,
- Components::InvalidName)) ;
-
- virtual ::Components::FacetDescriptions *
- get_all_facets (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- virtual ::Components::FacetDescriptions *
- get_named_facets (const Components::NameList & names
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException ,
- Components::InvalidName));
-
- virtual CORBA::Boolean
- same_component (CORBA::Object_ptr object_ref
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- // Operations for Receptacles interface
- virtual ::Components::Cookie *
- connect (const char * name,
- CORBA::Object_ptr connection
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::InvalidName,
- Components::InvalidConnection,
- Components::AlreadyConnected,
- Components::ExceededConnectionLimit));
-
- virtual CORBA::Object_ptr
- disconnect (const char * name,
- Components::Cookie *ck
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::InvalidName,
- Components::InvalidConnection,
- Components::CookieRequired,
- Components::NoConnection));
-
- virtual ::Components::ConnectionDescriptions *
- get_connections (const char * name
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::InvalidName));
-
- virtual ::Components::ReceptacleDescriptions *
- get_all_receptacles (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- virtual ::Components::ReceptacleDescriptions *
- get_named_receptacles (const Components::NameList & names
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::InvalidName));
-
- // Operations for Events interface
- virtual ::Components::EventConsumerBase_ptr
- get_consumer (const char * sink_name
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::InvalidName));
-
- virtual ::Components::Cookie *
- subscribe (const char * publisher_name,
- Components::EventConsumerBase_ptr subscriber
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::InvalidName,
- Components::InvalidConnection,
- Components::ExceededConnectionLimit));
-
- virtual ::Components::EventConsumerBase_ptr
- unsubscribe (const char * publisher_name,
- Components::Cookie *ck
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::InvalidName,
- Components::InvalidConnection));
-
- virtual void
- connect_consumer (const char * emitter_name,
- Components::EventConsumerBase_ptr consumer
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::InvalidName,
- Components::AlreadyConnected,
- Components::InvalidConnection));
-
- virtual ::Components::EventConsumerBase_ptr
- disconnect_consumer (const char * source_name
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::InvalidName,
- Components::NoConnection));
-
- virtual ::Components::ConsumerDescriptions *
- get_all_consumers (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- virtual ::Components::ConsumerDescriptions *
- get_named_consumers (const Components::NameList & names
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::InvalidName));
-
- virtual ::Components::EmitterDescriptions *
- get_all_emitters (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- virtual ::Components::EmitterDescriptions *
- get_named_emitters (const Components::NameList & names
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::InvalidName));
-
- virtual ::Components::PublisherDescriptions *
- get_all_publishers (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- virtual ::Components::PublisherDescriptions *
- get_named_publishers (const Components::NameList & names
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::InvalidName));
-
- // Operations for CCMObject interface
- virtual ::CORBA::IRObject_ptr
- get_component_def (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- virtual ::Components::CCMHome_ptr
- get_ccm_home (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- virtual ::Components::PrimaryKeyBase *
- get_primary_key (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::NoKeyAvailable));
-
- virtual void
- configuration_complete (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::InvalidConfiguration));
-
- virtual void
- remove (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::RemoveFailure));
-
- virtual ::Components::ComponentPortDescription *
- get_all_ports (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- // get_component implementation.
- virtual CORBA::Object_ptr
- _get_component (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- // CIAO specific operations.
-
- // Activate the object in the container_
- void
- _ciao_activate (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- void
- _ciao_passivate (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- protected:
- // My Executor.
- HUDisplay::CCM_NavDisplay_var executor_;
-
- // My Run-time Context.
- NavDisplay_Context *context_;
-
- // Managing container.
- ::CIAO::Session_Container *container_;
-
- // Cached provided interfaces.
- HUDisplay::tickConsumer_var consumes_Refresh_;
- };
-
-
- //////////////////////////////////////////////////////////////////
- // Component Home Glue code implementation
-
- // Foreach component home
- class NAVDISPLAY_SVNT_Export NavDisplayHome_Servant :
- public virtual POA_HUDisplay::NavDisplayHome, // full skeleton name here
- public virtual PortableServer::RefCountServantBase
- {
- public:
- // Ctor.
- NavDisplayHome_Servant (HUDisplay::CCM_NavDisplayHome_ptr exe,
- CIAO::Session_Container *c);
-
- // Dtor.
- ~NavDisplayHome_Servant (void);
-
- // Factory operations
-
- // Finder operations
-
- // Operations for KeylessHome interface
- virtual ::Components::CCMObject_ptr
- create_component (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::CreateFailure));
-
- // Operations for Implicit Home interface
- virtual HUDisplay::NavDisplay_ptr
- create (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::CreateFailure));
-
- // Operations for CCMHome interface
- virtual ::CORBA::IRObject_ptr
- get_component_def (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- virtual ::CORBA::IRObject_ptr
- get_home_def (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- virtual void remove_component (Components::CCMObject_ptr comp
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::RemoveFailure));
-
- protected:
- // Helper method for factory operations.
- HUDisplay::NavDisplay_ptr
- _ciao_activate_component (HUDisplay::CCM_NavDisplay_ptr exe
- ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- void
- _ciao_passivate_component (HUDisplay::NavDisplay_ptr comp
- ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- // My Executor.
- HUDisplay::CCM_NavDisplayHome_var executor_;
-
- // My Container
- CIAO::Session_Container *container_;
-
- // Components this home manages.
- ACE_Hash_Map_Manager_Ex <PortableServer::ObjectId,
- NavDisplay_Servant*,
- TAO_ObjectId_Hash,
- ACE_Equal_To<PortableServer::ObjectId>,
- ACE_SYNCH_MUTEX> component_map_;
- };
-
- extern "C" NAVDISPLAY_SVNT_Export ::PortableServer::Servant
- createNavDisplayHome_Servant (::Components::HomeExecutorBase_ptr p,
- CIAO::Session_Container *c
- ACE_ENV_ARG_DECL_WITH_DEFAULTS);
-}
-
-#if defined (__ACE_INLINE__)
-# include "NavDisplay_svnt.inl"
-#endif /* __ACE_INLINE__ */
-
-
-#include "ace/post.h"
-#endif /* CIAO_GLUE_SESSION_NAVDISPLAY_SVNT_H */
diff --git a/TAO/CIAO/examples/handcrafted/Display/NavDisplay/NavDisplay_svnt.inl b/TAO/CIAO/examples/handcrafted/Display/NavDisplay/NavDisplay_svnt.inl
deleted file mode 100644
index 9d575eb8306..00000000000
--- a/TAO/CIAO/examples/handcrafted/Display/NavDisplay/NavDisplay_svnt.inl
+++ /dev/null
@@ -1,202 +0,0 @@
-// $Id$
-
-// The generated filename for files using this template shoule be
-// [idl-basename]GS.i GS --> GlueSession
-
-// @@ Notice: [ciao module name] can expand to either CIAO_GLUE or
-// CIAO_GLUE_[module name] as defined in the header file.
-
-/// @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
-/// @@@ Notice that all component and interface names need to be
-/// fully qualified as we are creating a new namespace for the CIAO's
-/// container glue code.
-/// @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
-
-//////////////////////////////////////////////////////////////////
-// Component specific context implementation
-//////////////////////////////////////////////////////////////////
-
-ACE_INLINE
-CIAO_GLUE_HUDisplay::NavDisplay_Context::NavDisplay_Context (::Components::CCMHome_ptr home,
- ::CIAO::Session_Container *c,
- CIAO_GLUE_HUDisplay::NavDisplay_Servant *sv)
- : home_ (::Components::CCMHome::_duplicate (home)),
- container_ (c),
- servant_ (sv)
-{
-
-}
-
-ACE_INLINE
-CIAO_GLUE_HUDisplay::NavDisplay_Context::~NavDisplay_Context ()
-{
-}
-
-// Operations for emits interfaces.
-
-// Operations for ::Components::CCMContext
-ACE_INLINE ::Components::Principal_ptr
-CIAO_GLUE_HUDisplay::NavDisplay_Context::get_caller_principal (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- // @@ We don't support Security in CIAO yet.
- ACE_THROW_RETURN (CORBA::NO_IMPLEMENT (), 0);
-}
-
-ACE_INLINE ::Components::CCMHome_ptr
-CIAO_GLUE_HUDisplay::NavDisplay_Context::get_CCM_home (ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- return ::Components::CCMHome::_duplicate (this->home_.in ());
-}
-
-ACE_INLINE CORBA::Boolean
-CIAO_GLUE_HUDisplay::NavDisplay_Context::get_rollback_only (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::IllegalState))
-{
- // @@ We don't support Transaction in CIAO yet.
- ACE_THROW_RETURN (CORBA::NO_IMPLEMENT (), 0);
-}
-
-ACE_INLINE ::Components::Transaction::UserTransaction_ptr
-CIAO_GLUE_HUDisplay::NavDisplay_Context::get_user_transaction (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::IllegalState))
-{
- // @@ We don't support Transaction in CIAO yet.
- ACE_THROW_RETURN (CORBA::NO_IMPLEMENT (), 0);
-}
-
-ACE_INLINE CORBA::Boolean
-CIAO_GLUE_HUDisplay::NavDisplay_Context::is_caller_in_role (const char * role
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- ACE_UNUSED_ARG (role);
-
- // @@ We don't support Transaction in CIAO yet.
- ACE_THROW_RETURN (CORBA::NO_IMPLEMENT (), 0);
-}
-
-ACE_INLINE void
-CIAO_GLUE_HUDisplay::NavDisplay_Context::set_rollback_only (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::IllegalState))
-{
- // @@ We don't support Transaction in CIAO yet.
- ACE_THROW (CORBA::NO_IMPLEMENT ());
-}
-
-//////////////////////////////////////////////////////////////////
-// Component Servant Glue code implementation
-//////////////////////////////////////////////////////////////////
-
-// Simplex [receptacle name] connection management operations
-ACE_INLINE void
-CIAO_GLUE_HUDisplay::NavDisplay_Servant::connect_GPSLocation (HUDisplay::position_ptr c
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- ::Components::AlreadyConnected,
- ::Components::InvalidConnection))
-{
- this->context_->connect_GPSLocation (c
- ACE_ENV_ARG_PARAMETER);
-}
-
-ACE_INLINE HUDisplay::position_ptr
-CIAO_GLUE_HUDisplay::NavDisplay_Servant::disconnect_GPSLocation (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- ::Components::NoConnection))
-{
- return this->context_->disconnect_GPSLocation (ACE_ENV_SINGLE_ARG_PARAMETER);
-}
-
-ACE_INLINE HUDisplay::position_ptr
-CIAO_GLUE_HUDisplay::NavDisplay_Servant::get_connection_GPSLocation (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- return this->context_->get_connection_GPSLocation (ACE_ENV_SINGLE_ARG_PARAMETER);
-}
-
-// Constructor and destructor.
-ACE_INLINE
-CIAO_GLUE_HUDisplay::NavDisplay_Servant::tickConsumer_Refresh_Servant::tickConsumer_Refresh_Servant
-(HUDisplay::CCM_NavDisplay_ptr executor,
- HUDisplay::CCM_NavDisplay_Context_ptr c)
- : executor_ (HUDisplay::CCM_NavDisplay::_duplicate (executor)),
- ctx_ (HUDisplay::CCM_NavDisplay_Context::_duplicate (c))
-{
-}
-
-ACE_INLINE
-CIAO_GLUE_HUDisplay::NavDisplay_Servant::tickConsumer_Refresh_Servant::~tickConsumer_Refresh_Servant ()
-{
-}
-
-ACE_INLINE CORBA::Object_ptr
-CIAO_GLUE_HUDisplay::NavDisplay_Servant::tickConsumer_Refresh_Servant::_get_component (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- return this->ctx_->get_CCM_object (ACE_ENV_SINGLE_ARG_PARAMETER);
-}
-
-ACE_INLINE void
-CIAO_GLUE_HUDisplay::NavDisplay_Servant::tickConsumer_Refresh_Servant::push_tick
-(HUDisplay::tick *evt
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- this->executor_->push_Refresh (evt
- ACE_ENV_ARG_PARAMETER);
-}
-
-// Operations for emits interfaces.
-
-// Operations for publishes interfaces.
-
-//////////////////////////////////////////////////////////////////
-// Component Home Glue code implementation
-//////////////////////////////////////////////////////////////////
-
-ACE_INLINE
-CIAO_GLUE_HUDisplay::NavDisplayHome_Servant::NavDisplayHome_Servant (HUDisplay::CCM_NavDisplayHome_ptr exe,
- CIAO::Session_Container *c)
- : executor_ (HUDisplay::CCM_NavDisplayHome::_duplicate (exe)),
- container_ (c)
-{
-}
-
-ACE_INLINE
-CIAO_GLUE_HUDisplay::NavDisplayHome_Servant::~NavDisplayHome_Servant (void)
-{
-}
-
-// Operations for KeylessHome interface
-ACE_INLINE ::Components::CCMObject_ptr
-CIAO_GLUE_HUDisplay::NavDisplayHome_Servant::create_component (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::CreateFailure))
-{
- // Simply forward to the create method.
- return this->create (ACE_ENV_SINGLE_ARG_PARAMETER);
-}
-
-// Operations for CCMHome interface
-ACE_INLINE ::CORBA::IRObject_ptr
-CIAO_GLUE_HUDisplay::NavDisplayHome_Servant::get_component_def (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- // @@ TO-DO. Contact IfR?
-
- ACE_THROW_RETURN (CORBA::NO_IMPLEMENT (), 0);
-}
-
-ACE_INLINE CORBA::IRObject_ptr
-CIAO_GLUE_HUDisplay::NavDisplayHome_Servant::get_home_def (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- // @@ TO-DO. Contact IfR?
-
- ACE_THROW_RETURN (CORBA::NO_IMPLEMENT (), 0);
-}
diff --git a/TAO/CIAO/examples/handcrafted/Display/NavDisplay/NavDisplay_svnt_export.h b/TAO/CIAO/examples/handcrafted/Display/NavDisplay/NavDisplay_svnt_export.h
deleted file mode 100644
index 6fdaae1163f..00000000000
--- a/TAO/CIAO/examples/handcrafted/Display/NavDisplay/NavDisplay_svnt_export.h
+++ /dev/null
@@ -1,50 +0,0 @@
-
-// -*- C++ -*-
-// $Id$
-// Definition for Win32 Export directives.
-// This file is generated automatically by generate_export_file.pl NAVDISPLAY_SVNT
-// ------------------------------
-#ifndef NAVDISPLAY_SVNT_EXPORT_H
-#define NAVDISPLAY_SVNT_EXPORT_H
-
-#include "ace/config-all.h"
-
-#if !defined (NAVDISPLAY_SVNT_HAS_DLL)
-# define NAVDISPLAY_SVNT_HAS_DLL 1
-#endif /* ! NAVDISPLAY_SVNT_HAS_DLL */
-
-#if defined (NAVDISPLAY_SVNT_HAS_DLL) && (NAVDISPLAY_SVNT_HAS_DLL == 1)
-# if defined (NAVDISPLAY_SVNT_BUILD_DLL)
-# define NAVDISPLAY_SVNT_Export ACE_Proper_Export_Flag
-# define NAVDISPLAY_SVNT_SINGLETON_DECLARATION(T) ACE_EXPORT_SINGLETON_DECLARATION (T)
-# define NAVDISPLAY_SVNT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_EXPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
-# else /* NAVDISPLAY_SVNT_BUILD_DLL */
-# define NAVDISPLAY_SVNT_Export ACE_Proper_Import_Flag
-# define NAVDISPLAY_SVNT_SINGLETON_DECLARATION(T) ACE_IMPORT_SINGLETON_DECLARATION (T)
-# define NAVDISPLAY_SVNT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_IMPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
-# endif /* NAVDISPLAY_SVNT_BUILD_DLL */
-#else /* NAVDISPLAY_SVNT_HAS_DLL == 1 */
-# define NAVDISPLAY_SVNT_Export
-# define NAVDISPLAY_SVNT_SINGLETON_DECLARATION(T)
-# define NAVDISPLAY_SVNT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
-#endif /* NAVDISPLAY_SVNT_HAS_DLL == 1 */
-
-// Set NAVDISPLAY_SVNT_NTRACE = 0 to turn on library specific tracing even if
-// tracing is turned off for ACE.
-#if !defined (NAVDISPLAY_SVNT_NTRACE)
-# if (ACE_NTRACE == 1)
-# define NAVDISPLAY_SVNT_NTRACE 1
-# else /* (ACE_NTRACE == 1) */
-# define NAVDISPLAY_SVNT_NTRACE 0
-# endif /* (ACE_NTRACE == 1) */
-#endif /* !NAVDISPLAY_SVNT_NTRACE */
-
-#if (NAVDISPLAY_SVNT_NTRACE == 1)
-# define NAVDISPLAY_SVNT_TRACE(X)
-#else /* (NAVDISPLAY_SVNT_NTRACE == 1) */
-# define NAVDISPLAY_SVNT_TRACE(X) ACE_TRACE_IMPL(X)
-#endif /* (NAVDISPLAY_SVNT_NTRACE == 1) */
-
-#endif /* NAVDISPLAY_SVNT_EXPORT_H */
-
-// End of auto generated file.
diff --git a/TAO/CIAO/examples/handcrafted/Display/NavDisplay/run_test.pl b/TAO/CIAO/examples/handcrafted/Display/NavDisplay/run_test.pl
deleted file mode 100644
index 78bf1f98e49..00000000000
--- a/TAO/CIAO/examples/handcrafted/Display/NavDisplay/run_test.pl
+++ /dev/null
@@ -1,108 +0,0 @@
-eval '(exit $?0)' && eval 'exec perl -S $0 ${1+"$@"}'
- & eval 'exec perl -S $0 $argv:q'
- if 0;
-
-# $Id$
-# -*- perl -*-
-
-use lib "../../../../../../bin";
-use PerlACE::Run_Test;
-
-$status = 0;
-$daemon_ior = PerlACE::LocalFile ("daemon.ior");
-$svr_ior = PerlACE::LocalFile ("server.ior");
-$home_ior = PerlACE::LocalFile ("NavDisplayHome.ior");
-
-unlink $daemon_ior;
-unlink $svr_ior;
-unlink $home_ior;
-
-# CIAO Daemon command line arguments
-$daemon_args = "-o $daemon_ior -i ../CIAO_Installation_Data.ini -n ../../../../tools/ComponentServer/ComponentServer";
-
-# CIAO Daemon Controller location:
-$controller = "../../../../tools/Daemon/DaemonController";
-
-# Daemon controller common command line arguments
-$common_args = "-ORBInitRef CIAODaemon=file://$daemon_ior";
-
-# Daemon controller start_home command
-$start_args = "start_home -s NavDisplay.csd -m $home_ior -c $svr_ior";
-
-# Daemon controller end_home command
-$end_args = "end_home -c file://$svr_ior";
-
-# Daemon controller shutdown command
-$shutdown_args = "shutdown";
-
-# Client program command line arguments
-$cl_args = "";
-
-# Naming_Service process definition
-$DS = new PerlACE::Process ("../../../../tools/Daemon/CIAO_Daemon",
- "$daemon_args");
-
-# Client process definition
-$CL = new PerlACE::Process ("client",
- "$cl_args");
-
-## Starting up the CIAO daemon
-$DS->Spawn ();
-if (PerlACE::waitforfile_timed ($daemon_ior, 15) == -1) {
- print STDERR "ERROR: Could not find daemon ior file <$daemon_ior>\n";
- $DS->Kill ();
- exit 1;
-}
-
-## Starting up a ComponentServer running the RateGen home.
-$DC = new PerlACE::Process ("$controller",
- "$common_args $start_args");
-
-$DC->SpawnWaitKill (60);
-if (PerlACE::waitforfile_timed ($home_ior, 15) == -1) {
- print STDERR "ERROR: Could not find home ior file <$home_ior>\n";
- $DS->Kill ();
- exit 1;
-}
-
-$client = $CL->SpawnWaitKill (60);
-
-if ($client != 0) {
- print STDERR "ERROR: client returned $client\n";
- $status = 1;
-}
-
-## Terminating the ComponentServer running the RateGen home.
-$DC = new PerlACE::Process ("$controller",
- "$common_args $end_args");
-
-$ctrl = $DC->SpawnWaitKill (60);
-if ($ctrl != 0) {
- print STDERR "ERROR: Fail to end component server\n";
- $DS->Kill ();
- exit 1;
-}
-
-## Terminating the ComponentServer running the RateGen home.
-$DC = new PerlACE::Process ("$controller",
- "$common_args $shutdown_args");
-
-$ctrl = $DC->SpawnWaitKill (60);
-if ($ctrl != 0) {
- print STDERR "ERROR: Fail to shutdown CIAODaemon\n";
- $DS->Kill ();
- exit 1;
-}
-
-$ctrl = $DS->WaitKill (60);
-if ($ctrl != 0) {
- print STDERR "ERROR: CIAODaemon didn't shutdown gracefully $ctrl\n";
- $DS->Kill ();
- exit 1;
-}
-
-unlink $daemon_ior;
-unlink $svr_ior;
-unlink $home_ior;
-
-exit $status;
diff --git a/TAO/CIAO/examples/handcrafted/Display/NavDisplayGUI_exec/AddNavUnitCmd.cpp b/TAO/CIAO/examples/handcrafted/Display/NavDisplayGUI_exec/AddNavUnitCmd.cpp
deleted file mode 100644
index 32572eaf742..00000000000
--- a/TAO/CIAO/examples/handcrafted/Display/NavDisplayGUI_exec/AddNavUnitCmd.cpp
+++ /dev/null
@@ -1,28 +0,0 @@
-// $Id$
-
-#include "AddNavUnitCmd.h"
-#include "RootPanel.h"
-#include "NavUnit.h"
-
-
-AddNavUnitCmd::AddNavUnitCmd()
-{
-}
-
-
-AddNavUnitCmd *
-AddNavUnitCmd::create(RootPanel *form, NavUnit *unit)
-{
- AddNavUnitCmd *cmd = new AddNavUnitCmd();
- cmd->form_ = form;
- cmd->unit_ = unit;
- return cmd;
-}
-
-
-int
-AddNavUnitCmd::execute(void *context)
-{
- this->form_->addUnit(this->unit_);
- return 0;
-}
diff --git a/TAO/CIAO/examples/handcrafted/Display/NavDisplayGUI_exec/AddNavUnitCmd.h b/TAO/CIAO/examples/handcrafted/Display/NavDisplayGUI_exec/AddNavUnitCmd.h
deleted file mode 100644
index d156a8008ed..00000000000
--- a/TAO/CIAO/examples/handcrafted/Display/NavDisplayGUI_exec/AddNavUnitCmd.h
+++ /dev/null
@@ -1,27 +0,0 @@
-// $Id$
-
-#ifndef __ADDNAVUNITCMD_H
-#define __ADDNAVUNITCMD_H
-
-#include "Command.h"
-
-class RootPanel;
-class NavUnit;
-
-class AddNavUnitCmd : public CommandBase
-{
-public:
- static AddNavUnitCmd *create(RootPanel *form, NavUnit *unit);
-
-public:
- virtual int execute(void *context = NULL);
-
-protected:
- AddNavUnitCmd();
-
- RootPanel *form_;
- NavUnit *unit_;
-};
-
-
-#endif // __ADDNAVUNITCMD_H
diff --git a/TAO/CIAO/examples/handcrafted/Display/NavDisplayGUI_exec/Command.h b/TAO/CIAO/examples/handcrafted/Display/NavDisplayGUI_exec/Command.h
deleted file mode 100644
index 3c1e9ef6cdd..00000000000
--- a/TAO/CIAO/examples/handcrafted/Display/NavDisplayGUI_exec/Command.h
+++ /dev/null
@@ -1,20 +0,0 @@
-// $Id$
-
-#ifndef __COMMAND_H
-#define __COMMAND_H
-
-#include <qdatetime.h>
-
-class CommandBase
-{
-public:
- CommandBase() {timestamp_ = QTime::currentTime();}
- virtual ~CommandBase() {}
-
-public:
- virtual int execute(void *context = NULL) = 0;
- QTime timestamp_;
-};
-
-
-#endif // __COMMAND_H
diff --git a/TAO/CIAO/examples/handcrafted/Display/NavDisplayGUI_exec/DetailView.cpp b/TAO/CIAO/examples/handcrafted/Display/NavDisplayGUI_exec/DetailView.cpp
deleted file mode 100644
index 8a5c61d3c2f..00000000000
--- a/TAO/CIAO/examples/handcrafted/Display/NavDisplayGUI_exec/DetailView.cpp
+++ /dev/null
@@ -1,165 +0,0 @@
-// $Id$
-
-#include "DetailView.h"
-#include <qlayout.h>
-#include <qpushbutton.h>
-#include <qtabwidget.h>
-#include <qtable.h>
-#include <qlabel.h>
-#include <qlineedit.h>
-#include <qspinbox.h>
-
-
-DetailView::DetailView(QWidget *parent, const char *name)
-: QWidget(parent, name), current_unit(NULL)
-{
- QGridLayout *grid = new QGridLayout(this, 8, 10);
-
- // Create a label containing a QMovie
- separatorlabel = new QLabel(this, "label0" );
-
- grid->addMultiCellWidget(separatorlabel, 0, 0, 0, 9);
-
- QLabel *sem_id_label = new QLabel("FDN:", this);
- grid->addWidget(sem_id_label, 1, 0);
- sem_id_val = new QLineEdit(this);
- sem_id_val->setReadOnly(1);
- grid->addMultiCellWidget(sem_id_val, 1, 1, 1, 7);
-
- QLabel *descr_label = new QLabel("Description:", this);
- grid->addWidget(descr_label, 2, 0);
- descr_edit = new QLineEdit(this);
- grid->addMultiCellWidget(descr_edit, 2, 2, 1, 7);
-
- QLabel *x_label = new QLabel("X coordinate:", this);
- grid->addWidget(x_label, 3, 0);
- x_edit = new QSpinBox(this);
- x_edit->setMinValue(0);
- x_edit->setMaxValue(65535);
- grid->addWidget(x_edit, 3, 1);
-
- QLabel *y_label = new QLabel("Y coordinate:", this);
- grid->addWidget(y_label, 3, 3);
- y_edit = new QSpinBox(this);
- y_edit->setMinValue(0);
- y_edit->setMaxValue(65535);
- grid->addWidget(y_edit, 3, 4);
-
- QLabel *z_label = new QLabel("Z coordinate:", this);
- grid->addWidget(z_label, 3, 6);
- z_edit = new QSpinBox(this);
- z_edit->setMinValue(0);
- z_edit->setMaxValue(65535);
- grid->addWidget(z_edit, 3, 7);
-
- // Create a label containing a QMovie
- QString path_to_movie;
- char *ace_root = getenv("ACE_ROOT");
- if(ace_root)
- {
- path_to_movie += ace_root;
- path_to_movie += "/TAO/CIAO/examples/handcrafted/Display/NavDisplayGUI_exec/trolltech.gif";
- }
- else
- {
- path_to_movie = "../NavDisplayGUI_exec/trolltech.gif";
- }
- movie = QMovie(path_to_movie);
- movielabel = new QLabel(this, "label1" );
- movie.connectStatus(this, SLOT(movieStatus(int)));
- movie.connectUpdate(this, SLOT(movieUpdate(const QRect&)));
- movielabel->setFrameStyle( QFrame::Box | QFrame::Plain );
- movielabel->setMovie(movie);
- movielabel->setFixedSize( 128+movielabel->frameWidth()*2,
- 64+movielabel->frameWidth()*2 );
- grid->addMultiCellWidget(new QLabel("", this), 1, 4, 8, 8);
- grid->addMultiCellWidget(movielabel, 1, 4, 9, 9);
-
-
- QPushButton *apply = new QPushButton("Apply", this);
- apply->setDefault(1);
- grid->addWidget(apply, 7, 9);
-
- connect(apply, SIGNAL(clicked()), this, SLOT(apply()));
-
- QTabWidget *tabs = new QTabWidget(this);
-
-
- child_list = new QTable(0, 6, tabs);
- child_list->setSelectionMode(QTable::Single);
- child_list->horizontalHeader()->setLabel(0, "FDN");
- child_list->horizontalHeader()->setLabel(1, "Description");
- child_list->horizontalHeader()->setLabel(2, "X Coordinate");
- child_list->horizontalHeader()->setLabel(3, "Y Coordinate");
- child_list->horizontalHeader()->setLabel(4, "Z Coordinate");
- child_list->horizontalHeader()->setLabel(5, "Color");
-
- parent_list = new QTable(0, 6, tabs);
- parent_list->setSelectionMode(QTable::Single);
- parent_list->horizontalHeader()->setLabel(0, "FDN");
- parent_list->horizontalHeader()->setLabel(1, "Description");
- parent_list->horizontalHeader()->setLabel(2, "X Coordinate");
- parent_list->horizontalHeader()->setLabel(3, "Y Coordinate");
- parent_list->horizontalHeader()->setLabel(4, "Z Coordinate");
- parent_list->horizontalHeader()->setLabel(5, "Color");
-
- tabs->addTab(child_list, "Property set &1");
- tabs->addTab(parent_list, "Property set &2");
-
- grid->addMultiCellWidget(new QLabel(this), 4, 4, 0, 9);
- grid->addMultiCellWidget(tabs, 5, 5, 0, 9);
-}
-
-
-DetailView::~DetailView()
-{
-}
-
-
-void
-DetailView::currentNode(NavUnit *unit)
-{
- UnitLocation loc = unit->getLocation();
- descr_edit->setText(unit->getShortDescr());
- this->updateLocation(loc);
-}
-
-void
-DetailView::updateLocation(const UnitLocation &loc)
-{
- x_edit->setValue(loc.x_);
- y_edit->setValue(loc.y_);
- z_edit->setValue(loc.z_);
-}
-
-void
-DetailView::apply()
-{
-}
-
-
-void
-DetailView::movieUpdate( const QRect& )
-{
- // Uncomment this to test animated icons on your window manager
- //setIcon( movie.framePixmap() );
-}
-
-
-void
-DetailView::movieStatus( int s )
-{
- switch ( s ) {
- case QMovie::SourceEmpty:
- case QMovie::UnrecognizedFormat:
- {
- QPixmap pm("tt-logo.png");
- movielabel->setPixmap(pm);
- movielabel->setFixedSize(pm.size());
- }
- break;
- default:
- if ( movielabel->movie() ) // for flicker-free animation:
- movielabel->setBackgroundMode( NoBackground );
- }
-}
diff --git a/TAO/CIAO/examples/handcrafted/Display/NavDisplayGUI_exec/DetailView.h b/TAO/CIAO/examples/handcrafted/Display/NavDisplayGUI_exec/DetailView.h
deleted file mode 100644
index ef9e0070884..00000000000
--- a/TAO/CIAO/examples/handcrafted/Display/NavDisplayGUI_exec/DetailView.h
+++ /dev/null
@@ -1,51 +0,0 @@
-// $Id$
-
-#ifndef __DETAILVIEW_H
-#define __DETAILVIEW_H
-
-
-#include "NavUnit.h"
-#include <qwidget.h>
-#include <qmovie.h>
-
-
-class QLabel;
-class QLineEdit;
-class QSpinBox;
-class QTable;
-
-
-class DetailView : public QWidget
-{
- Q_OBJECT
-
-public:
- DetailView(QWidget *parent, const char *name = 0);
- virtual ~DetailView();
-
-public slots:
- void movieStatus(int);
- void movieUpdate(const QRect&);
- void currentNode(NavUnit *unit);
- void updateLocation(const UnitLocation &loc);
- void apply();
-
-private:
- QLineEdit *sem_id_val;
- QLineEdit *descr_edit;
- QSpinBox *x_edit;
- QSpinBox *y_edit;
- QSpinBox *z_edit;
- QTable *child_list;
- QTable *parent_list;
- QLabel *movielabel;
- QMovie movie;
- QLabel *separatorlabel;
- QMovie separator;
-
-
- NavUnit *current_unit;
-};
-
-
-#endif // __DETAILVIEW_H
diff --git a/TAO/CIAO/examples/handcrafted/Display/NavDisplayGUI_exec/MapView.cpp b/TAO/CIAO/examples/handcrafted/Display/NavDisplayGUI_exec/MapView.cpp
deleted file mode 100644
index 8f8f7ecd69b..00000000000
--- a/TAO/CIAO/examples/handcrafted/Display/NavDisplayGUI_exec/MapView.cpp
+++ /dev/null
@@ -1,38 +0,0 @@
-// $Id$
-
-#include "MapView.h"
-#include <stdlib.h>
-
-#include "worldmap1.xpm"
-
-MapView::MapView(
- QCanvas& c,
- QWidget* parent,
- const char* name,
- WFlags f)
- :
- QCanvasView(&c, parent, name, f),
- bg_pixmap_(worldmap1)
-{
- viewport()->setBackgroundMode(NoBackground);
- enableClipper(TRUE);
- if(!bg_pixmap_.isNull())
- {
- resizeContents(bg_pixmap_.width(), bg_pixmap_.height());
- }
- else
- resizeContents(100, 100);
-
- canvas()->setBackgroundPixmap(bg_pixmap_);
-}
-
-void
-MapView::clear()
-{
- /*QCanvasItemList list = canvas()->allItems();
- for(QCanvasItemList::Iterator it = list.begin(); it != list.end(); ++it)
- {
- if(*it)
- delete *it;
- }*/
-}
diff --git a/TAO/CIAO/examples/handcrafted/Display/NavDisplayGUI_exec/MapView.h b/TAO/CIAO/examples/handcrafted/Display/NavDisplayGUI_exec/MapView.h
deleted file mode 100644
index e640a63c985..00000000000
--- a/TAO/CIAO/examples/handcrafted/Display/NavDisplayGUI_exec/MapView.h
+++ /dev/null
@@ -1,23 +0,0 @@
-// $Id$
-
-#ifndef __MAPVIEW_H
-#define __MAPVIEW_H
-
-#include <qcanvas.h>
-#include <qpixmap.h>
-
-class MapView : public QCanvasView
-{
- Q_OBJECT
-
-public:
- MapView(QCanvas&, QWidget* parent=0, const char* name=0, WFlags f=0);
- void clear();
-
-protected:
- QPixmap bg_pixmap_;
-};
-
-
-
-#endif // __MAPVIEW_H
diff --git a/TAO/CIAO/examples/handcrafted/Display/NavDisplayGUI_exec/NavDisplayGUI.mpc b/TAO/CIAO/examples/handcrafted/Display/NavDisplayGUI_exec/NavDisplayGUI.mpc
deleted file mode 100644
index 8a747d24684..00000000000
--- a/TAO/CIAO/examples/handcrafted/Display/NavDisplayGUI_exec/NavDisplayGUI.mpc
+++ /dev/null
@@ -1,54 +0,0 @@
-// $Id$
-project(NavDisplayGUI_exec) : ciao_server {
- depends += NavDisplay_exec
- sharedname = NavDisplayGUI_exec
-// @@ Notice: Currently, we need to manually change the following Qt library
-// to qt-mt230nc.lib if you are compiling on Win32.
- lit_libs += qt-mt
- libs += NavDisplay_stub NavDisplay_svnt HUDisplay_stub HUDisplay_svnt
- libpaths += .. ../NavDisplay $(QTDIR)/lib
- dllflags = NAVDISPLAY_EXEC_BUILD_DLL QT_DLL QT_THREAD_SUPPORT
- includes += ../NavDisplay $(QTDIR)/include
- idlflags += -I ../NavDisplay -Wb,export_macro=NAVDISPLAY_EXEC_Export -Wb,export_include=NavDisplay_exec_export.h
- idlgendir = ./
-
- IDL_Files {
- ../NavDisplay/NavDisplayEI.idl
- }
-
- Source_Files {
- NavDisplayEIC.cpp
- AddNavUnitCmd.cpp
- DetailView.cpp
- MapView.cpp
- NavUnit.cpp
- NodeItem.cpp
- QuitCmd.cpp
- RootPanel.cpp
- UpdatePositionCmd.cpp
- Worker.cpp
- NavDisplayGUI_exec.cpp
- }
-
- Define_Custom(MOC) {
- automatic = 0
- command = $(QTDIR)/bin/moc
- output_option = -o
- inputext = .h
- pre_extension = _moc
- source_outputext = .cpp
- }
- MOC_Files {
- DetailView.h
- MapView.h
- NodeItem.h
- RootPanel.h
- }
- Source_Files {
- DetailView_moc.cpp
- MapView_moc.cpp
- NodeItem_moc.cpp
- RootPanel_moc.cpp
- }
-
-}
diff --git a/TAO/CIAO/examples/handcrafted/Display/NavDisplayGUI_exec/NavDisplayGUI_exec.cpp b/TAO/CIAO/examples/handcrafted/Display/NavDisplayGUI_exec/NavDisplayGUI_exec.cpp
deleted file mode 100644
index b422260940a..00000000000
--- a/TAO/CIAO/examples/handcrafted/Display/NavDisplayGUI_exec/NavDisplayGUI_exec.cpp
+++ /dev/null
@@ -1,184 +0,0 @@
-// $Id$
-
-#include "NavDisplayGUI_exec.h"
-#include "ciao/CIAO_common.h"
-#include <qapplication.h>
-#include <qevent.h>
-
-#include "UpdatePositionCmd.h"
-#include "QuitCmd.h"
-#include "AddNavUnitCmd.h"
-#include "Worker.h"
-
-static char *argv[] =
-{
- "NavDisplayGUI"
-};
-
-/// Default constructor.
-MyImpl::NavDisplayGUI_exec_impl::NavDisplayGUI_exec_impl ()
-: unit_(1, "Model T3+"), loc_(50, 20, 0)
-{
- ACE_DEBUG ((LM_DEBUG, "MyImpl::NavDisplayGUI_exec_impl::NavDisplayGUI_exec_impl ()\n"));
-}
-
-/// Default destructor.
-MyImpl::NavDisplayGUI_exec_impl::~NavDisplayGUI_exec_impl ()
-{
- ACE_DEBUG ((LM_DEBUG, "MyImpl::NavDisplayGUI_exec_impl::~NavDisplayGUI_exec_impl ()\n"));
-}
-
-// Operations from HUDisplay::NavDisplay
-
-void
-MyImpl::NavDisplayGUI_exec_impl::push_Refresh (HUDisplay::tick *ev
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- //ACE_DEBUG ((LM_DEBUG, "ENTER: MyImpl::NavDisplayGUI_exec_impl::push_Refresh()\n"));
-
- // Refresh position
- HUDisplay::position_var loc
- = this->context_->get_connection_GPSLocation (ACE_ENV_ARG_PARAMETER);
- ACE_CHECK;
-
- CORBA::Long lx = loc->posx (ACE_ENV_ARG_PARAMETER);
- ACE_CHECK;
-
- CORBA::Long ly = loc->posy (ACE_ENV_ARG_PARAMETER);
- ACE_CHECK;
-
- mutex_.acquire();
-
- loc_.x_ = lx % 500;
- loc_.y_ = ly % 300;
-
- this->unit_.setLocation(loc_);
-
- mutex_.release();
-
- //ACE_DEBUG ((LM_DEBUG, "DISPLAY: Current Location is: %d %d\n", int(attrs.x_), int(attrs.y_)));
-
- RootPanel *root_pane = worker_->getMainWindow();
- if(root_pane)
- {
- UpdatePositionCmd *cmd = UpdatePositionCmd::create(
- root_pane, &(this->unit_));
- QCustomEvent *evt = new QCustomEvent(QEvent::User, cmd);
- QApplication::postEvent(root_pane, evt);
- }
-
- //ACE_DEBUG ((LM_DEBUG, "LEAVE: MyImpl::NavDisplayGUI_exec_impl::push_Refresh()\n"));
-}
-
-// Operations from Components::SessionComponent
-void
-MyImpl::NavDisplayGUI_exec_impl::set_session_context (Components::SessionContext_ptr ctx
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::CCMException))
-{
- ACE_DEBUG ((LM_DEBUG, "MyImpl::NavDisplayGUI_exec_impl::set_session_context\n"));
-
- this->context_ =
- HUDisplay::CCM_NavDisplay_Context::_narrow (ctx
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK;
-
- if (CORBA::is_nil (this->context_.in ()))
- ACE_THROW (CORBA::INTERNAL ());
- // Urm, we actually discard exceptions thown from this operation.
-}
-
-void
-MyImpl::NavDisplayGUI_exec_impl::ccm_activate (ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::CCMException))
-{
- ACE_DEBUG ((LM_DEBUG, "ENTER: MyImpl::NavDisplayGUI_exec_impl::ccm_activate\n"));
-
- int argc = sizeof(argv)/sizeof(argv[0]);
- CORBA::ORB_var orb = CORBA::ORB_init(argc, argv ACE_ENV_ARG_PARAMETER);
-
- CIAO_REGISTER_VALUE_FACTORY (orb.in(), HUDisplay::tick_init,
- HUDisplay::tick);
-
- worker_ = new Worker(sizeof(argv)/sizeof(argv[0]), argv);
-
- if (worker_->activate(THR_NEW_LWP | THR_JOINABLE, 1) != 0)
- {
- ACE_DEBUG((LM_ERROR,
- "Cannot activate client threads\n"));
- ACE_THROW(Components::CCMException());
- }
-
- worker_->waitUntillInitialized();
-
- AddNavUnitCmd *cmd = AddNavUnitCmd::create(
- worker_->getMainWindow(), &(this->unit_));
- QCustomEvent *evt = new QCustomEvent(QEvent::User, cmd);
- QApplication::postEvent(worker_->getMainWindow(), evt);
-
-
- ACE_DEBUG ((LM_DEBUG, "LEAVE: MyImpl::NavDisplayGUI_exec_impl::ccm_activate\n"));
-}
-
-void
-MyImpl::NavDisplayGUI_exec_impl::ccm_passivate (ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::CCMException))
-{
- ACE_DEBUG ((LM_DEBUG, "MyImpl::NavDisplayGUI_exec_impl::ccm_passivate\n"));
-
- RootPanel *target = worker_->getMainWindow();
- if(target)
- {
- QuitCmd *cmd = QuitCmd::create(target);
- QCustomEvent *evt = new QCustomEvent(QEvent::User, cmd);
- QApplication::postEvent(target, evt);
- worker_->thr_mgr()->wait();
- }
-
- delete worker_;
-}
-
-void
-MyImpl::NavDisplayGUI_exec_impl::ccm_remove (ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::CCMException))
-{
- ACE_DEBUG ((LM_DEBUG, "MyImpl::NavDisplayGUI_exec_impl::ccm_remove\n"));
-}
-
-/// Default ctor.
-MyImpl::NavDisplayGUIHome_exec_impl::NavDisplayGUIHome_exec_impl ()
-{
- ACE_DEBUG ((LM_DEBUG, "MyImpl::NavDisplayGUI_exec_impl::NavDisplayGUIHome_exec_impl ()\n"));
-}
-
-/// Default dtor.
-MyImpl::NavDisplayGUIHome_exec_impl::~NavDisplayGUIHome_exec_impl ()
-{
- ACE_DEBUG ((LM_DEBUG, "MyImpl::NavDisplayGUI_exec_impl::~NavDisplayGUIHome_exec_impl ()\n"));
-}
-
-// Explicit home operations.
-
-// Implicit home operations.
-
-::Components::EnterpriseComponent_ptr
-MyImpl::NavDisplayGUIHome_exec_impl::create (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::CCMException))
-{
- ACE_DEBUG ((LM_DEBUG, "MyImpl::NavDisplayGUIHome_exec_impl::create()\n"));
- return new MyImpl::NavDisplayGUI_exec_impl;
-}
-
-
-extern "C" NAVDISPLAY_EXEC_Export ::Components::HomeExecutorBase_ptr
-createNavDisplayHome_Impl (void)
-{
- ACE_DEBUG ((LM_DEBUG, "createNavDisplayHome_Impl()\n"));
- return new MyImpl::NavDisplayGUIHome_exec_impl;
-}
diff --git a/TAO/CIAO/examples/handcrafted/Display/NavDisplayGUI_exec/NavDisplayGUI_exec.h b/TAO/CIAO/examples/handcrafted/Display/NavDisplayGUI_exec/NavDisplayGUI_exec.h
deleted file mode 100644
index a664df6accd..00000000000
--- a/TAO/CIAO/examples/handcrafted/Display/NavDisplayGUI_exec/NavDisplayGUI_exec.h
+++ /dev/null
@@ -1,110 +0,0 @@
-// $Id$
-
-/**
- * @file NavDisplayGUI_exec.h
- *
- * Header file for the actual NavDisplay and NavDisplayHome component
- * implementations.
- *
- * @author Nanbor Wang <nanbor@cse.wustl.edu>
- */
-
-#ifndef NAVDISPLAY_EXEC_H
-#define NAVDISPLAY_EXEC_H
-
-#include "NavDisplayEIC.h"
-#include "ace/Synch.h"
-#include "tao/LocalObject.h"
-#include "NavUnit.h"
-
-class Worker;
-
-
-namespace MyImpl
-{
- /**
- * @class NavDisplayGUI_exec_impl
- *
- * RateGen executor implementation class.
- */
- class NAVDISPLAY_EXEC_Export NavDisplayGUI_exec_impl :
- public virtual HUDisplay::NavDisplay_Exec,
- public virtual TAO_Local_RefCounted_Object
- {
- public:
- /// Default constructor.
- NavDisplayGUI_exec_impl ();
-
- /// Default destructor.
- ~NavDisplayGUI_exec_impl ();
-
- // Operations from HUDisplay::NavDisplay
-
- virtual void
- push_Refresh (HUDisplay::tick *ev
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- // Operations from Components::SessionComponent
-
- virtual void
- set_session_context (Components::SessionContext_ptr ctx
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::CCMException));
-
- virtual void
- ccm_activate (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::CCMException));
-
- virtual void
- ccm_passivate (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::CCMException));
-
- virtual void
- ccm_remove (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::CCMException));
- protected:
- /// Copmponent specific context
- HUDisplay::CCM_NavDisplay_Context_var context_;
- Worker *worker_;
- NavUnit unit_;
- UnitLocation loc_;
- ACE_Thread_Mutex mutex_;
- };
-
- /**
- * @class NavDisplayGUIHome_exec_impl
- *
- * NavDisplay home executor implementation class.
- */
- class NAVDISPLAY_EXEC_Export NavDisplayGUIHome_exec_impl :
- public virtual HUDisplay::CCM_NavDisplayHome,
- public virtual TAO_Local_RefCounted_Object
- {
- public:
- /// Default ctor.
- NavDisplayGUIHome_exec_impl ();
-
- /// Default dtor.
- ~NavDisplayGUIHome_exec_impl ();
-
- // Explicit home operations.
-
- // Implicit home operations.
-
- virtual ::Components::EnterpriseComponent_ptr
- create (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::CCMException));
- };
-
-}
-
-extern "C" NAVDISPLAY_EXEC_Export ::Components::HomeExecutorBase_ptr
-createNavDisplayHome_Impl (void);
-
-#endif /* NAVDISPLAY_EXEC_H */
diff --git a/TAO/CIAO/examples/handcrafted/Display/NavDisplayGUI_exec/NavUnit.cpp b/TAO/CIAO/examples/handcrafted/Display/NavDisplayGUI_exec/NavUnit.cpp
deleted file mode 100644
index 809117728f6..00000000000
--- a/TAO/CIAO/examples/handcrafted/Display/NavDisplayGUI_exec/NavUnit.cpp
+++ /dev/null
@@ -1,9 +0,0 @@
-// $Id$
-
-#include "NavUnit.h"
-
-
-NavUnit::NavUnit(const UnitID &id, const char *short_descr)
-: id_(id), short_descr_(short_descr)
-{
-}
diff --git a/TAO/CIAO/examples/handcrafted/Display/NavDisplayGUI_exec/NavUnit.h b/TAO/CIAO/examples/handcrafted/Display/NavDisplayGUI_exec/NavUnit.h
deleted file mode 100644
index 86dd2cccbd7..00000000000
--- a/TAO/CIAO/examples/handcrafted/Display/NavDisplayGUI_exec/NavUnit.h
+++ /dev/null
@@ -1,57 +0,0 @@
-// $Id$
-
-#ifndef __NAVUNIT_H
-#define __NAVUNIT_H
-
-#include "ace/SString.h"
-
-
-class UnitLocation
-{
-public:
- UnitLocation() {x_ = y_ = z_ = 0.0;}
- UnitLocation(
- double x,
- double y,
- double z) :
- x_(x), y_(y), z_(z) {}
-
- UnitLocation(const UnitLocation &ul) { operator = (ul); }
-
-public:
- UnitLocation & operator = (const UnitLocation &ul)
- {
- x_ = ul.x_;
- y_ = ul.y_;
- z_ = ul.z_;
- return *this;
- }
-
-public:
- double x_, y_, z_;
-};
-
-typedef unsigned long UnitID;
-
-class NavUnit
-{
-public:
- NavUnit(const UnitID &id, const char *short_descr);
- virtual ~NavUnit() {}
-
-public:
- UnitID getID() const {return id_;}
-
- const char *getShortDescr() const {return short_descr_.c_str();}
- void setShortDescr(const char *short_descr) {short_descr_ = short_descr;}
-
- UnitLocation getLocation() const {return loc_;}
- void setLocation(const UnitLocation &loc) {loc_ = loc;}
-
-protected:
- UnitID id_;
- ACE_CString short_descr_;
- UnitLocation loc_;
-};
-
-#endif // __NAVUNIT_H
diff --git a/TAO/CIAO/examples/handcrafted/Display/NavDisplayGUI_exec/NodeItem.cpp b/TAO/CIAO/examples/handcrafted/Display/NavDisplayGUI_exec/NodeItem.cpp
deleted file mode 100644
index e6fb43b7eab..00000000000
--- a/TAO/CIAO/examples/handcrafted/Display/NavDisplayGUI_exec/NodeItem.cpp
+++ /dev/null
@@ -1,63 +0,0 @@
-// $Id$
-
-#include "NodeItem.h"
-#include <qbrush.h>
-
-
-QBrush *NodeItem::normal = new QBrush(red);
-QBrush *NodeItem::highlighted = new QBrush(green);
-
-
-NodeItem::NodeItem(QCanvas *canvas, NavUnit &unit)
- : QCanvasEllipse(8, 8, canvas),
- unit_(unit),
- blink_timer(canvas),
- is_selected_(0)
-{
- setBrush(*normal);
- setZ(128);
-}
-
-
-void NodeItem::moveBy(double dx, double dy, double dz)
-{
- QCanvasEllipse::moveBy(dx, dy);
-}
-
-
-void
-NodeItem::timerDone()
-{
- if(selected())
- {
- if(brush() == *normal)
- setBrush(*highlighted);
- else
- setBrush(*normal);
-
- canvas()->update();
- }
-}
-
-
-void
-NodeItem::setSelected(bool yes)
-{
- is_selected_ = yes;
-
- if(yes)
- {
- connect(&blink_timer, SIGNAL(timeout()),
- SLOT(timerDone()));
-
- blink_timer.start(500);
- }
- else
- {
- blink_timer.stop();
- disconnect(SIGNAL(timeout()), this,
- SLOT(timerDone()));
- setBrush(*normal);
- canvas()->update();
- }
-}
diff --git a/TAO/CIAO/examples/handcrafted/Display/NavDisplayGUI_exec/NodeItem.h b/TAO/CIAO/examples/handcrafted/Display/NavDisplayGUI_exec/NodeItem.h
deleted file mode 100644
index 4ccc5599359..00000000000
--- a/TAO/CIAO/examples/handcrafted/Display/NavDisplayGUI_exec/NodeItem.h
+++ /dev/null
@@ -1,49 +0,0 @@
-// $Id$
-
-#ifndef __NODEITEM_H
-#define __NODEITEM_H
-
-#include "NavUnit.h"
-#include <qcanvas.h>
-#include <qlist.h>
-#include <qtimer.h>
-#include <qbrush.h>
-#include <qobject.h>
-
-
-
-class NodeItem: public QObject, public QCanvasEllipse
-{
- Q_OBJECT
-
-public:
- NodeItem(QCanvas *canvas, NavUnit &unit);
-
- ~NodeItem() {}
-
- enum {
- nodeRTTI = 1
- };
-
- void moveBy(double dx, double dy, double dz);
-
- virtual int rtti() const {return nodeRTTI;}
-
- virtual void setSelected(bool yes);
- virtual bool selected() const {return is_selected_;}
-
-public slots:
- void timerDone();
-
-private:
- NavUnit &unit_;
- QTimer blink_timer;
- bool is_selected_;
-
- static QBrush *normal;
- static QBrush *highlighted;
-};
-
-
-
-#endif // __NODEITEM_H
diff --git a/TAO/CIAO/examples/handcrafted/Display/NavDisplayGUI_exec/QuitCmd.cpp b/TAO/CIAO/examples/handcrafted/Display/NavDisplayGUI_exec/QuitCmd.cpp
deleted file mode 100644
index b8495973ead..00000000000
--- a/TAO/CIAO/examples/handcrafted/Display/NavDisplayGUI_exec/QuitCmd.cpp
+++ /dev/null
@@ -1,25 +0,0 @@
-// $Id$
-
-#include "QuitCmd.h"
-#include "RootPanel.h"
-
-
-QuitCmd::QuitCmd()
-{
-}
-
-
-QuitCmd *
-QuitCmd::create(RootPanel *form)
-{
- QuitCmd *cmd = new QuitCmd();
- cmd->form_ = form;
- return cmd;
-}
-
-
-int
-QuitCmd::execute(void *context)
-{
- return form_->close();
-}
diff --git a/TAO/CIAO/examples/handcrafted/Display/NavDisplayGUI_exec/QuitCmd.h b/TAO/CIAO/examples/handcrafted/Display/NavDisplayGUI_exec/QuitCmd.h
deleted file mode 100644
index a80d749640e..00000000000
--- a/TAO/CIAO/examples/handcrafted/Display/NavDisplayGUI_exec/QuitCmd.h
+++ /dev/null
@@ -1,25 +0,0 @@
-// $Id$
-
-#ifndef __QUITCMD_H
-#define __QUITCMD_H
-
-#include "Command.h"
-
-class RootPanel;
-
-class QuitCmd : public CommandBase
-{
-public:
- static QuitCmd *create(RootPanel *form);
-
-public:
- virtual int execute(void *context = NULL);
-
-protected:
- QuitCmd();
-
- RootPanel *form_;
-};
-
-
-#endif // __QUITCMD_H
diff --git a/TAO/CIAO/examples/handcrafted/Display/NavDisplayGUI_exec/README b/TAO/CIAO/examples/handcrafted/Display/NavDisplayGUI_exec/README
deleted file mode 100644
index cb10cbe5cd2..00000000000
--- a/TAO/CIAO/examples/handcrafted/Display/NavDisplayGUI_exec/README
+++ /dev/null
@@ -1,7 +0,0 @@
-This example is the Qt-based GUI implementation of NavDisplay component.
-
-It is NOT necessary to compile ACE/TAO/CIAO with Qt support,
-i.e. ACE_HAS_QT since this example does not relyes on Qt Reactor and
-communicates with GUI part using QApplication::postMessage() and
-simple Command Pattern based framework. But be sure that QTDIR
-environment variable is pointed to your Qt instalation directory.
diff --git a/TAO/CIAO/examples/handcrafted/Display/NavDisplayGUI_exec/RootPanel.cpp b/TAO/CIAO/examples/handcrafted/Display/NavDisplayGUI_exec/RootPanel.cpp
deleted file mode 100644
index c6737ee96c0..00000000000
--- a/TAO/CIAO/examples/handcrafted/Display/NavDisplayGUI_exec/RootPanel.cpp
+++ /dev/null
@@ -1,90 +0,0 @@
-// $Id$
-
-#include "RootPanel.h"
-#include <qmenubar.h>
-#include <qapplication.h>
-#include <qprogressdialog.h>
-#include <stdlib.h>
-#include <qsplitter.h>
-#include "NodeItem.h"
-#include "Command.h"
-
-
-RootPanel::RootPanel(QCanvas &c, QWidget *parent, const char *name)
-: QMainWindow(parent, name), canvas(c)
-{
- QSplitter *s1 = new QSplitter( QSplitter::Vertical, this , "main" );
-
-
- navview = new MapView(canvas, s1);
- s1->moveToFirst(navview);
-
- details = new DetailView(s1);
-
- QMenuBar* menu = menuBar();
-
- QPopupMenu* file = new QPopupMenu;
- //file->insertItem("&Fill canvas", this, SLOT(init()), CTRL+Key_F);
- //file->insertItem("&Erase canvas", this, SLOT(clear()), CTRL+Key_E);
- //file->insertItem("&New view", this, SLOT(newView()), CTRL+Key_N);
- file->insertSeparator();
- file->insertItem("E&xit", qApp, SLOT(quit()), CTRL+Key_Q);
- menu->insertItem("&File", file);
-
- setCentralWidget(s1);
-}
-
-
-RootPanel::~RootPanel()
-{
- clear();
-}
-
-
-void
-RootPanel::addUnit(NavUnit *unit)
-{
- NodeItem *el = new NodeItem(&canvas, *unit);
- nodeMap.bind(unit->getID(), el);
- UnitLocation loc = unit->getLocation();
- el->move(loc.x_, loc.y_);
- el->show();
- this->details->currentNode(unit);
-}
-
-void
-RootPanel::updateUnit(NavUnit *unit)
-{
- NodeItem *el = NULL;
- nodeMap.find(unit->getID(), el);
- UnitLocation loc = unit->getLocation();
- el->move(loc.x_, loc.y_);
- //canvas.update();
-
- this->details->updateLocation(loc);
-}
-
-
-void
-RootPanel::clear()
-{
- navview->clear();
-}
-
-void
-RootPanel::customEvent(QCustomEvent *e)
-{
- CommandBase *cmd = (CommandBase*)(e->data());
- cmd->execute();
- delete cmd;
-/*
- int elapsed = time.restart();
- int fps = (elapsed == 0 ? 1000 : 1000 / elapsed);
-
- if(prev_fps != fps)
- {
- prev_fps = fps;
- ups->setNum(prev_fps);
- }
-*/
-}
diff --git a/TAO/CIAO/examples/handcrafted/Display/NavDisplayGUI_exec/RootPanel.h b/TAO/CIAO/examples/handcrafted/Display/NavDisplayGUI_exec/RootPanel.h
deleted file mode 100644
index e3b9b0c11a9..00000000000
--- a/TAO/CIAO/examples/handcrafted/Display/NavDisplayGUI_exec/RootPanel.h
+++ /dev/null
@@ -1,45 +0,0 @@
-// $Id$
-
-#ifndef __ROOTPANEL_H
-#define __ROOTPANEL_H
-
-#include "MapView.h"
-#include "DetailView.h"
-#include <qmainwindow.h>
-#include "ace/Hash_Map_Manager.h"
-
-
-class NodeItem;
-class QMouseEvent;
-
-class RootPanel : public QMainWindow
-{
- Q_OBJECT
-
-typedef ACE_Hash_Map_Manager_Ex<ACE_UINT64,
- NodeItem*,
- ACE_Hash<ACE_UINT64>,
- ACE_Equal_To<ACE_UINT64>,
- ACE_Null_Mutex> NodeItemMap;
-
-public:
- RootPanel(QCanvas&, QWidget *parent = 0, const char *name = 0);
- ~RootPanel();
-
-public:
- void addUnit(NavUnit* unit);
- void updateUnit(NavUnit *unit);
-
-protected:
- void clear();
- virtual void customEvent(QCustomEvent *e);
-
- QCanvas& canvas;
- MapView *navview;
- DetailView *details;
-
- QPopupMenu* options;
- NodeItemMap nodeMap;
-};
-
-#endif // __ROOTPANEL_H
diff --git a/TAO/CIAO/examples/handcrafted/Display/NavDisplayGUI_exec/UpdatePositionCmd.cpp b/TAO/CIAO/examples/handcrafted/Display/NavDisplayGUI_exec/UpdatePositionCmd.cpp
deleted file mode 100644
index 65bc87e26bb..00000000000
--- a/TAO/CIAO/examples/handcrafted/Display/NavDisplayGUI_exec/UpdatePositionCmd.cpp
+++ /dev/null
@@ -1,30 +0,0 @@
-// $Id$
-
-#include "UpdatePositionCmd.h"
-#include <qlcdnumber.h>
-#include "RootPanel.h"
-#include "NavUnit.h"
-
-
-UpdatePositionCmd::UpdatePositionCmd()
-{
-}
-
-
-UpdatePositionCmd *
-UpdatePositionCmd::create(
- RootPanel *form, NavUnit *unit)
-{
- UpdatePositionCmd *cmd = new UpdatePositionCmd();
- cmd->form_ = form;
- cmd->unit_ = unit;
- return cmd;
-}
-
-
-int
-UpdatePositionCmd::execute(void *context)
-{
- this->form_->updateUnit(this->unit_);
- return 0;
-}
diff --git a/TAO/CIAO/examples/handcrafted/Display/NavDisplayGUI_exec/UpdatePositionCmd.h b/TAO/CIAO/examples/handcrafted/Display/NavDisplayGUI_exec/UpdatePositionCmd.h
deleted file mode 100644
index 4ba20755c3e..00000000000
--- a/TAO/CIAO/examples/handcrafted/Display/NavDisplayGUI_exec/UpdatePositionCmd.h
+++ /dev/null
@@ -1,28 +0,0 @@
-// $Id$
-
-#ifndef __UPDATEPOSITIONCM_H
-#define __UPDATEPOSITIONCM_H
-
-#include "Command.h"
-
-class RootPanel;
-class NavUnit;
-
-class UpdatePositionCmd : public CommandBase
-{
-public:
- static UpdatePositionCmd *create(
- RootPanel *form, NavUnit *unit);
-
-public:
- virtual int execute(void *context = NULL);
-
-protected:
- UpdatePositionCmd();
-
- RootPanel *form_;
- NavUnit *unit_;
-};
-
-
-#endif // __UPDATEPOSITIONCM_H
diff --git a/TAO/CIAO/examples/handcrafted/Display/NavDisplayGUI_exec/Worker.cpp b/TAO/CIAO/examples/handcrafted/Display/NavDisplayGUI_exec/Worker.cpp
deleted file mode 100644
index 4257dd69f46..00000000000
--- a/TAO/CIAO/examples/handcrafted/Display/NavDisplayGUI_exec/Worker.cpp
+++ /dev/null
@@ -1,48 +0,0 @@
-// $Id$
-
-#include "Worker.h"
-#include <qapplication.h>
-#include <qmotifstyle.h>
-#include <qcdestyle.h>
-#include <qwindowsstyle.h>
-#include <qplatinumstyle.h>
-#include <qsgistyle.h>
-
-
-int
-Worker::svc (void)
-{
- ACE_DEBUG((LM_DEBUG, "ENTER: Worker::svc()\n"));
-
- QApplication a(argc_, argv_);
- a.setStyle(new QPlatinumStyle);
- QCanvas canvas(600, 387);
- //QCanvas canvas(566, 679);
- //QCanvas canvas(550, 723);
- canvas.setAdvancePeriod(30);
- RootPanel root_panel(canvas);
- root_panel.resize(root_panel.sizeHint());
-
- root_panel.resize(600, 650);
- root_panel.setCaption("NavDisplay");
-
- a.setMainWidget(&root_panel);
-
- QObject::connect(&a, SIGNAL(lastWindowClosed()), &a, SLOT(quit()) );
-
- if(QApplication::desktop()->width() > 550
- && QApplication::desktop()->height() > 366)
- root_panel.show();
- else
- root_panel.showMaximized();
-
- main_wnd_ = &root_panel;
- init_complete_.signal();
-
- int retval = a.exec();
-
- main_wnd_ = NULL;
-
- ACE_DEBUG((LM_DEBUG, "LEAVE: Worker::svc()\n"));
- return retval;
-}
diff --git a/TAO/CIAO/examples/handcrafted/Display/NavDisplayGUI_exec/Worker.h b/TAO/CIAO/examples/handcrafted/Display/NavDisplayGUI_exec/Worker.h
deleted file mode 100644
index 73aa649bd36..00000000000
--- a/TAO/CIAO/examples/handcrafted/Display/NavDisplayGUI_exec/Worker.h
+++ /dev/null
@@ -1,35 +0,0 @@
-// $Id$
-
-#ifndef __WORKER_H
-#define __WORKER_H
-
-#include "ace/Task.h"
-#include "ace/Synch.h"
-#include "tao/corba.h"
-#include "RootPanel.h"
-
-class Worker : public ACE_Task_Base
-{
-public:
- Worker (int argc, char *argv[])
- : argc_(argc), argv_(argv) {}
- // ctor
-
- virtual int svc (void);
- // The thread entry point.
-
- void waitUntillInitialized() {init_complete_.wait();}
- // blocks the calling thread until the GUI is initialized
-
- RootPanel* getMainWindow() const {return main_wnd_;}
- // Returns the pointer to main application window
-
-private:
- RootPanel *main_wnd_;
- int argc_;
- char **argv_;
-
- ACE_Manual_Event init_complete_;
-};
-
-#endif // __WORKER_H
diff --git a/TAO/CIAO/examples/handcrafted/Display/NavDisplayGUI_exec/trolltech.gif b/TAO/CIAO/examples/handcrafted/Display/NavDisplayGUI_exec/trolltech.gif
deleted file mode 100644
index f674369efc4..00000000000
--- a/TAO/CIAO/examples/handcrafted/Display/NavDisplayGUI_exec/trolltech.gif
+++ /dev/null
Binary files differ
diff --git a/TAO/CIAO/examples/handcrafted/Display/NavDisplayGUI_exec/worldmap1.gif b/TAO/CIAO/examples/handcrafted/Display/NavDisplayGUI_exec/worldmap1.gif
deleted file mode 100644
index 99fe78a7673..00000000000
--- a/TAO/CIAO/examples/handcrafted/Display/NavDisplayGUI_exec/worldmap1.gif
+++ /dev/null
Binary files differ
diff --git a/TAO/CIAO/examples/handcrafted/Display/NavDisplayGUI_exec/worldmap1.xpm b/TAO/CIAO/examples/handcrafted/Display/NavDisplayGUI_exec/worldmap1.xpm
deleted file mode 100644
index 736de06f25a..00000000000
--- a/TAO/CIAO/examples/handcrafted/Display/NavDisplayGUI_exec/worldmap1.xpm
+++ /dev/null
@@ -1,651 +0,0 @@
-/* XPM */
-static const char *worldmap1[] = {
-/* width height ncolors chars_per_pixel */
-"600 387 257 2",
-/* colors */
-" c #59746B",
-" . c #3A6592",
-" X c #E7BEA4",
-" o c #6774BB",
-" O c #3E4CA0",
-" + c #94D6F4",
-" @ c #D5CFF2",
-" # c #475642",
-" $ c #444853",
-" % c #22558E",
-" & c #909FE3",
-" * c #0A2A66",
-" = c #ABBAE3",
-" - c #0A3987",
-" ; c #4385CC",
-" : c #69686A",
-" > c #508290",
-" , c #E0D5C1",
-" < c #0B2428",
-" 1 c #57666C",
-" 2 c #283C8A",
-" 3 c #303428",
-" 4 c #CEBCE1",
-" 5 c #A89A8A",
-" 6 c #E4E6D2",
-" 7 c #EFDDD3",
-" 8 c #1D1D47",
-" 9 c #6669B3",
-" 0 c #425AAA",
-" q c #97856C",
-" w c #6587E0",
-" e c #5C3511",
-" r c #82BDEF",
-" t c #0A182A",
-" y c #7A87B9",
-" u c #0A2641",
-" i c #C59964",
-" p c #1B466C",
-" a c #0B1417",
-" s c #575A86",
-" d c #C49D7A",
-" f c #D2BCAC",
-" g c #8E88B2",
-" h c #314446",
-" j c #FCF5D5",
-" k c #96A79F",
-" l c #956D45",
-" z c #99BDE4",
-" x c #475662",
-" c c #45453F",
-" v c #44588A",
-" b c #565DA9",
-" n c #95A8BF",
-" m c #A7A3B3",
-" M c #95B1E0",
-" N c #6A5435",
-" B c #150E27",
-" V c #808F72",
-" C c #0C1C49",
-" Z c #EECAA6",
-" A c #B49277",
-" S c #7FA8E8",
-" D c #8F888E",
-" F c #3C210B",
-" G c #081D66",
-" H c #7C93DB",
-" J c #576ABA",
-" K c #E3E8F4",
-" L c #3C75BD",
-" P c #DCC7B5",
-" I c #AEA595",
-" U c #1A3649",
-" Y c #D6CFDA",
-" T c #767489",
-" R c #191B27",
-" E c #1B4557",
-" W c #80A8C4",
-" Q c #CEB5A7",
-" ! c #A8A3D1",
-" ~ c #3E2913",
-" ^ c #4869B8",
-" / c #182D7F",
-" ( c #957E86",
-" ) c #847768",
-" _ c #845526",
-" ` c #6D766F",
-" ' c #655D85",
-" ] c #BDA5AD",
-" [ c #97B0B9",
-" { c #2357A7",
-" } c #C7C4B0",
-" | c #AAB59A",
-". c #B58A59",
-".. c #31578D",
-".X c #765D46",
-".o c #865D2E",
-".O c #C3C9E4",
-".+ c #ADC7F6",
-".@ c #5879BD",
-".# c #AC7D46",
-".$ c #998F72",
-".% c #BEBABE",
-".& c #C0A78B",
-".* c #080C29",
-".= c #253181",
-".- c #7E9196",
-".; c #7E9EE2",
-".: c #FCE8C9",
-".> c #A9AFDE",
-"., c #959D9C",
-".< c #5285A6",
-".1 c #AEC6DC",
-".2 c #A599AF",
-".3 c #C2C6C8",
-".4 c #6792DF",
-".5 c #675B51",
-".6 c #B99466",
-".7 c #F5D7B8",
-".8 c #302511",
-".9 c #69728B",
-".0 c #74698C",
-".q c #8D94E0",
-".w c #45496B",
-".e c #0A0B10",
-".r c #493319",
-".t c #CEAB8B",
-".y c #99C8F2",
-".u c #453C36",
-".i c #31544D",
-".p c #6994A5",
-".a c #1B2327",
-".s c #2C4887",
-".d c #0B344C",
-".f c #B2A383",
-".g c #81A7A2",
-".h c #C1E4F8",
-".j c #7C92BB",
-".k c #58452E",
-".l c #43644E",
-".z c #997A5A",
-".x c #6791C4",
-".c c #956935",
-".v c #2E4AA0",
-".b c #79552A",
-".n c #544D80",
-".m c #23546A",
-".M c #19273C",
-".N c #182B66",
-".B c #19489F",
-".V c #945E2A",
-".C c #5285C3",
-".Z c #3E3D53",
-".A c #C2B399",
-".S c #AFC5C5",
-".D c #3D3552",
-".F c #436F72",
-".G c #D9DAEB",
-".H c #3D2927",
-".J c #3B749F",
-".K c #5A5440",
-".L c #D0F4F9",
-".P c #2C63AE",
-".I c #A9865C",
-".U c #9D7543",
-".Y c #687C93",
-".T c #B0D5F4",
-".R c #A78F7B",
-".E c #687CBE",
-".W c #2A3B6A",
-".Q c #AC7D55",
-".! c #7674B8",
-".~ c #150D10",
-".^ c #684A26",
-"./ c #AB936B",
-".( c #E1C4A0",
-".) c #1A376E",
-"._ c #31566A",
-".` c #281B12",
-".' c #676788",
-".] c #867C8C",
-".[ c #7F9C9C",
-".{ c #528FC9",
-".} c #1B3226",
-".| c #BFAFB0",
-"X c #D5B694",
-"X. c #ABAEBA",
-"XX c #6B745A",
-"Xo c #665148",
-"XO c #A498C7",
-"X+ c #6687A1",
-"X@ c #B89B7E",
-"X# c #C6D4C7",
-"X$ c #F8ECEB",
-"X% c #82AEB9",
-"X& c #E4BC92",
-"X* c #4A4329",
-"X= c #1A3988",
-"X- c #171718",
-"X; c #BEBBDD",
-"X: c #81B0E3",
-"X> c #6586C1",
-"X, c #2F3640",
-"X< c #98BCBE",
-"X1 c #251D29",
-"X2 c #6A9CC9",
-"X3 c #7C8471",
-"X4 c #4A7599",
-"X5 c #554C58",
-"X6 c #3A67B1",
-"X7 c #6C948C",
-"X8 c #6A9EE0",
-"X9 c #70644E",
-"X0 c #93A8E4",
-"Xq c #41646F",
-"Xw c #949EBA",
-"Xe c #2E4763",
-"Xr c #7E9DC2",
-"Xt c #513B1F",
-"Xy c #BDB1DF",
-"Xu c #D0A774",
-"Xi c #3159A8",
-"Xp c #587796",
-"Xa c #3F3D77",
-"Xs c #263065",
-"Xd c #5D3D2E",
-"Xf c #4A76BD",
-"Xg c #896538",
-"Xh c #C5D7ED",
-"Xj c #5D3D1A",
-"Xk c #8A7350",
-"Xl c #575860",
-"Xz c #764D22",
-"Xx c #806B5A",
-"Xc c #7E8690",
-"Xv c #0B2B7F",
-"Xb c #1A4687",
-"Xn c #486893",
-"Xm c #767DBD",
-"XM c #556557",
-"XN c #FAFAF9",
-"XB c #688584",
-"XV c #3F3431",
-"XC c #7987D7",
-"XZ c #D0E6F4",
-"XA c #2B6394",
-"XS c #E5F6F8",
-"XD c #282B38",
-"XF c #0B356E",
-"XG c #586892",
-"XH c #ADB9C1",
-"XJ c #929296",
-"XK c #787C8D",
-"XL c #434B84",
-"XP c #867CB2",
-"XI c #2A2726",
-"XU c #9293B7",
-"XY c None",
-/* pixels */
-"X+ MXr.9 1 x `X9 cX9 ) 3.uXIX1XIXI.` c.8.`X5.H.ZX1.a h.M <.M vXG v.M u u.m % .X4Xm g.9.9.aXM : `Xx m.9XJ.9 xXp.9.Y.@ yXw.wXl.9.9.jXK : 3XV ( D.0Xw.C ; ;Xf.;XG 3 8.YXr r z.x.@X0XHXc x 3.aXI.8XI.}.}X,.@ yX>.9.YXl.K.K.] ) m T.9.iXc M & yXnX+X7.[ .iX%.Y.;X0.>.+XwXl.9XKXIXI 3XVXV.kX5.k.k.k.u.H.DXV.K.u 3XVXV.u 3 3 c #X,XcXw., I kXc.% :.} R R t R R R R.a R.a R R.a RX-X-.a RX, RX-.a RX- R a.a.aX- a.aX- RXIX- RX,.aXD XH } 5XJXHXJX,.Y.-.YXr.- nXD.u.D.kXV.HXV ~XV.rXVXVXV.8.u ) )Xk ~XVXVXo.HXV #X5X3XJ D : `., D kXJ., )X9.k.k.k NX9.kXx.k.k.X.kXgXg N NXx N NXx.^ ).RXt NXxXxXtXx.X.kX*Xo.r.k.X.r.X ~ 3.H.uXI.H.H.H.r.rXx (.].RXo.0.k m (XaXd.DX5 ~.uX,.M c 3 3 3.8.HXIX1XI.H 3XV.8.K 3.MXIXI.8XI ~.`.8XIXIXIXDXD.aXD 3XIXVX*Xo.^.H.8XVXIXD.Z c.uXVXVXD.HX1X5 :.KXIXI 3 3 3XI.H 3.8.HXVXIXV x.jXpXq.j [.[ nXh.YXB.[XqXe.g.9XwXpXr.{ > >._ h.w x x.j.[Xp.-XH [ n.%XKXHXKX1XI c mX3.3 m k I V.Z., kXK 3.u cX,XVX,XD.M R 3.aX,.ZXIXDXDXD 3X,X, B R.a RXDXIX,Xl.ZX5X, $XDXD BX5 RX-.aX-.aX-X,.ZXD 3XD aXDXDX-X,XIXD.a.a R.K #.u : cXIXD B :XP $ $.Z x.w.MXDXDXD hXDX,XD.} $X,Xl.w $X,XD.Z.M TXJ.w $XU c.wXDXD RXD.Z.Z.w $XeXlXK.MXD U xX, h $Xl $ x cX, hXIX,.aXD.a.ZXl.Z.M $Xl.Z c.MXIXIXDX5.H.Z c h $ hX,X,.wX,X, h U h U.a.}X,X,XD.a.}",
-"X+X+ y [.- : : 3X1 qXJ.5X1XDXIX1X1XVXJ.8XVXl.uXDX1.a RX,.} t.W.Y v 8.M t p %X6X:.EXsXa $.Z hXD $.M.Z : h UXcXw.pXr H.EX0 U 3.a.MX, UXD 3.8.KXDX, EXrXf.@.@ yXKX,Xc MXp.CX4Xn ^.E.WXK .- hXI 3XI.}.}Xn.E v.@Xr.jXcXJXV.$X.X5 $XwXJ h nXr J.jXGXe #.l .Y.E o.x M = =XUXH., cXl.K.K.K.5X9.5.K.kX*X5.Z.KX*.r.uXVXV 3 3 3 3 # DXc.-.]XJ `.,X..9X,.a R R R R RX- R R R R R R R.a R RXD.a R R R R R R R R R.aXI.a R.aX- R tX,XDX,Xc n.% |., D.-X, .-Xc n.,XwXIXDXV.kXVXVXVXVXV.8XV.rXVXtX*Xx.RXVX*.rXI.5.u.5 : c.5Xl #.u c c c :Xl.K.k.k.k.k.kXo q.zXkXt 5./Xt q./X9Xt.R.R.z.X.k./XxXd ) NXx.kXx.XXtXk 5.rX* qXk.K.r 3.H $XVXVXdX5.RX@ ( ] ] g ).2.5.2Xy g ! ( I.K 3.u 3.H 3.u ~ 3XI 3.` 3XI.8.8XV cXVXDXI 3.`XI.8XVXIX1XIX1XIXDXIX1 R.H.8.u.^Xo.`.HXI.HXI.HXI.HXVXV.uXD 3X5 D k DXlX5 xX5X, cX,.u cXV cXV $.Y 1XpXqXp.T xXq.[Xp.F.F <.9Xq h._Xq.m._XA.i.w h $.).-Xp.[.YXc xXD h h 3XlX,XI a c.u c.u $X,.ZX,XD 3 :.}XD.ZXl $X5X5.u $.M RXIX,X,XDXDXDXlXD cX,XDX-XD.a 8.aXDXDXD.aXDX,.a 3 cXl.aX1XI RX1X- RX,.a B 3 RX-XDX- hXI RXDXIX-.K.5 3 `X1XD $.9XD hXK.Z U $ $XDX,X, xXl x $X1 hXI.aX, $ $.ZX1.aXDX1 $XUXl $.Z.w t $.ZX,X,XDX,XD.'Xw.ZX, $ $ $X, RX,.Z $ x : 1X5XD hXDXD.M.Z hXDXD $ x c xXD.ZXD $X,XD hXD <XDX, $ UXeXlXDXDXDX, h.M.MX,X,XDXD",
-" . MX+.Y.w.9 : c c.|.$ `.5.5 x :XI c.5.H.uXVX1XIXIX1 3 3 x h.ZXs s U C uXeX4.xX>X>Xr v._Xe v sXc.Y nXeXc.iXKXw.j.jX>.@ y.W.}XI 3XIXD.H.H ).H xXK.Y.pXGX+.Y $X,X, vX>.@.....s.@.EX>X0 J.Y x.M 3XlXl.M y.;.....E.-XwXc D ! DX;.3 D mXJ sXwXr.@XnX>.jXBX,.i._ 0.C M &.- mXc :XD.8XV.uXVX*.K.k c.k.K.uX*X9.K.K.K.K.KX5.K c.uXJ nXUX;XK., IX..,Xc c.a.a.M.a.a RX1X1X1X- RX-X-X- R RX- 3X- R.aX- t RX- R RX-X- RX- RX- RXDXDX,.-.>XwXHX. T D :XlXD h.j., nXwXJX,.uX5X*XV.H.H.r.u.u.r 3.r.HXx.kXV ~.rXVXVXoXIXIXV.HXX.]X3 DXJ.,XJ IXc.5.K.kXt.k.kXoXkXxXx.k.R qXt.R )Xx.^ qXx.R.k N.R q.k.$.X qXt.$ NX9X9 5 NX9.^XxX*.8XV.`.HXdX1.D A ]XyXyXOXO.0XO.2.> gXyXOXOXO ! mXJ.8XtXV ~ ~ 3XVXI.8.}X1 RXI.8X1.H $ 3.HXI 3XVXIXIXV.u 3 3XVXV.u c.u c c cXJX9 c.uX5XVX5XVX5.uXVX* 3.u.uXI c.K ` k.-.9 Xp Xq xXD.8XI.a.}.9X+XpXBXqXn n.FX4.p .X+Xe XpXpX+ >.<X4.F.F._ xXe t u.M U t.M tXD RXD aXl 3X1XDXIX1XVX5X3 : 3X,XDXIXIX,.aXIX,X, R.Z.u $X,X,.aX, 3X,.a.a R.ZX-.MXDX- RX,XD RX1.aX1XIXD c tX5X- R.a R R.aXI.a.aX1.a.aX1 R.a RX- hXD RXD.` aXI :.u :X-X1.aXD gX..'.9.w x s hXD.MXD.ZXD 3XD.a RXD 3XDX, $X,XIXDXDXl.ZX, $.ZXcXKXD h s $ $XD x.-.ZXl $.M $.Z xXD.aXDX,XDXD $XlXlX,.aXD.a $.M.M.a x $ 1X5 hX, $ $ $XD U.w x 1 1Xq 1Xq 1 U UXD.} $ xX,X, RXD",
-"Xr vXeXe.M.Z 3 3XlXxX3Xl c #XlX1XDX1 ` 3XIX1XIXI R.~ 3.aX5 c CXD.w.N.MX,._Xn 2 0XiXn.@.EX>X>Xp.YX>.j [ 1.Y.jXpXnX4 0XiX>X>XB # aX,XDXI cX,.MXKX+.Y y.[ $.aXD $ 1XfX> %..Xi .X8X4.4 ^.@X>.w UXlXw.1.>.T M M H.jXr xX,XcX5XJ.0 cXlXx `.9XcXwXrXf 0Xe t.a.a.WXnXfX:.jXw.,Xc D 3XV 3XV ~XVXV.rXVXVXV.u.K.K # 3 ~.u.H.H.`XI :.% D m.wXw : x.3XHXlX,.}XD 3XDX, 3XD 3XDX,X,X, 3X,X,X,X, $XDXDX,XD 3XDXDXIXDXDXDX1.aXDXD R.aX,.Z.9XwX.XwX.XcXl.9 $X5 xX, $ $X, hXI.H.K.H ~.HXV.H.8 ~XV ~ ~XX ) ~X*XV.HXVXV.kXVXVXV 3.u #.5 :X5.K.K.5 :.K.kXd.u.k.k.^.5.kXo.r.^XtXt NXd N.r.^XjXdXt.^ NX9.r.^ N.kXt.^.k.^.^.kXj.kX*XV.`.HXdXo (Xo ' Q.2 ]XOXOXO.>XO.>.> !X; 4.>Xy.>XyXK $.u.u.kXt.u.KX* #.u # c # cX5.u.u c )X5 cXVXV c.u 3 3XVXVXV.H.H.H.8.KX5 : )X,XIXI.8.8XI.8.8 3X1 R.` 3.`XI 3XDXD x XpXnXqXnXqXnX+.Y $ c.M.M.}Xe.F >Xq WXrX+XqX:.FXB E 1X4._.FXBX+XpXBXq.iXe 1.d t < t.MXD <X-.a R 3 $ cX1.`XI c $.u x : ` :.ZX5X,.u $X, cX5 3XDXD $ c $XDX,XD.Z c D 1 $ $ c 1 $XJXJXl.ZXDXD.aX1.aXlXI.aX-.aXIX-.aX-.aXI RXI.a.a.aXI RXD RXD 3X- 3XI 3 3 : #.ZX, $X,.MXD 1X.X,.wX,Xl RXDXDXI.Z hXDXDXD.aX, :XlXI.Z 1.Z hX,Xl $ hX, mXlXl.MXJ.M c x.'.9 R U.Z.Z $ h.Z x.Z.aXDXD.MX1X,.ZXl.a.a RXDXDXD RX, c.Z $ hXD x U U.WX,.i._Xq.FXqXqXqX+ 1.WXDX5.'XK D $X1 R",
-"Xp o._XG.MXDXDX5.5 ` )XI.5 3 3 3.Z.u c c.5 c c.uX5.K.K : ) `X1XD.N 1XMXe.}Xs.w..Xe ....m......Xf...@.j n HXn.s...s 0 0 ^X6.@.YXpXe._.pXe EXqXr...p yX+ 1 yXp.xXf ^.s.. %.mXA.x SXf wX+XG U hX,.9.E o.@XGX0Xr.jXpXDX,X5 RXlXD.8 3.} ) :.'XqX0.EXi ^ y $.MXs.@.<.CXw.-.'XcXc.8 3X*.u.uXV ~XVXV ~XV ~.K ) ).k ~XV 3.8XD.HXD `.%X..,.,Xl 1.3XJ s t tX-X- RX- RX- R.`X-X- a R RX- RXDXD RXI R.aXI R.aXD.aXIX,XDXDXIXDX,X, $X, $.9XcXw.- ' c '.Z.ZXlX.X.XJ : :.K.K )X5Xo.KXo.K.k.K.K.K.5.$X9.K.K.k.k.k.kX5X* c.kX5.K.5.K :.K :.5.5X9Xo.5.5Xo.XXo.5.XXo.X.5.X.X.XX9.XX9.X.XXx.XX9Xg.X.zX9.X.XX9XxX9X9XxXx.XXxX9.K.K.kX5Xx.7XO A 4 4 4X;.> ! g ! !.>.O.O !Xy ! =.>.> =Xc.' `XH.].K.8.u 3X*X*XIX-XIXI $ :.2 D IX1 3X1.aXIXDXIXIXI.8 ~.8 F cX9 c ` 1X, 3 RXI.H.8.H 3.~ 3 3 3.`XIXI.8 c # hX,XqXBXq..._Xq._XqXB > XB xX, t xX+X7X+Xn._ . WXp x < U x.YXpXp.p._XnX+XnXe.i._.}.M.} t.a.a.a.aX-XIX-.uX5X, 3 :XlXDXc cXIXD `XIXI 3 R.u.ZXlXK cX,XIX, 3Xl.Z $ 1.9 $XKXKXK $XKXl :.9X5 UXDX,X,X,XD $ $ RXI RX1XD.aXD RXD hXDXDXI $.Z xXV.Z c x $X,XI R 3.~XlXD RXDXIX,XDX,Xl.aXK s.w.9.Z R UXD.Z.Z.M 3.M $XJXHX,.MX,XDX,.ZX,.Z.a.MXD h $XcX.XD.M.9 : $.ZXD.M RX,.Z h $ x $X, hXD.aXDX,.ZX,XDXDXD.ZXDXD.M h h.a.Z 1 xXD.N.MXeXn._X+.[X+.[ [.yX< yXH.9XKXl.' $.ZXI",
-" b._XsXG 8X,X5 $XJ.5 ) :XcX5 $ $.5 ` ` : :Xx $.kX5XX ).5 c.u.5X,XDXG.Y UXD t.a.9.W E p.m . %Xf %Xn H.j M o..X6 2.sXL.v %.sXiX6X4X>.<.x.<X2Xf.<.E.pXp.WX+ v ^ { { %Xb E.dXA %X>XiX6.@.M.a.9 yXq.EXp.@.s . H E UXD 3 cX1.5 cXD.}.aX,X,XDXc y MX>X>.E.+ y.Z 8X+Xf W = D.wXVXD.u.uXI ~XVXVXVXV.r 3XV.K.u.kXtX*.uXV.H.HXV.` 3.u :Xl.ZXDX,.9XHXJ.a.a R R.a R R R.`X- R.aX- R.a RX-.aX,X-.a RX- R.aX-.aX-X-X- aX-.aXDX- tX- h t t.M t.M 8.M 8 8X-.DX..2 cXDXIXIXVXVXo.r.u.H ~.u.uXVXt.KXxXV.k.r.rXVX*XVX* c.H.HXV.u.kX5.K.5.K.K.K.kXoX5Xo.k.k.K.kXoXo.K.^.kXo.K.kXo.kXo.^.k.^XoXd.kXo.XXo.k.k.kXoXdX5.kXtXo.uX* 3.`.H : ] ].R 4 ]XUXUXPXP gXmXU sXw =Xc.- .-Xw nXw.1 1.pXc.Y k 1 c.u 3.5 RXl ).,XJ m :.5.0.uXI.`XDXIXIXI 3.uXV.HXVXt.k.5 3X5 ` :.,X,XDXD.8XIX1XIX,XI.MXI.8 3XIXI 3 # h.i.M._.pXq E._.m._.m._Xq.FXpXB 1 h <XnXp.F._XeXq.lX4.9XD xXKXq._.F.<Xq E.- >.mXq._X,.a < <XD aX-XI aX1.a.K.u c T.K $XJ.5XKXIXMX1.a RXIXDXV 3X1 3X,X,XDX,X,X, $ : $ 1XDXI.aXD R.M RXD.a RX1.a.aXIX1.aXIXI R R.aX1XIXI 1X5 : IXKXJXcXJXJ.-XcXJ R cX1 RXIXIXD.aX5 c B RXDX-X1.a RXJ $ TXJ.wXl.Z.M.ZX, hXDXD $XZ :.MXD RXDXDXDXD.M $X,.a hX,X,Xl.}XDXwX,.MXlXcX, $.w.MXDXlX, xXlX,X,XDXD $ cXDX,XDXDXD hX, RX, x.aX, xXq._ E U v...<X+._ h nXr MX%.- s.Z 8XD.Z RXD 1",
-"XnXsXG U.w $X,X5 )XV c c c.K ` c # R 3.5.K cX9XV ~.kX9X*.K.5XJXV U vX+XG $X5.0 c.M U < U < EXFX6X2 M.+.jXn 0._ u E < u.N p.m.sXi.sXnXbXA % {Xf.JXr vXG HXf % % %.) U.M u.)X6X6XbX> ..M h n yX>XAX:X8X2.xX+.M 3XIXVXV.`XVXD.MXeXp o.j.'.Z $.Z W.xXp.p x t vXG S.+ =XcXV c.uXIX*XV.rXVXVXV.u 3.r.u.K.KX9Xo.u ~ ~XV.8XV.H.8 3XIXI 3 hXlXwXw.9.a.a R R R R.`X-X- RX- RX-X- RX- R.aXIX-.aX- R RX- R R.a.a.aX1 3 a $X, xXJ h.a.M t h xX,XDXDX, DXJ.KXI.H 3XV.uXVX*.k.HXV.r.u.r.rXVXo ).k.uXVXVXV 3XVXV.H.u.8.H 3XV.k cXt.k c.k.k c.K.k.k.k.u.k.kXo.k.kX5.k.kXt.k.KXt.^Xd.X.z.^.XXkXxXo.^.X.kX5Xt.K.r.^X5.rXd.HXV.u m m ]Xy 4 4 !XyXU.9 9.jXPXG y.>X.Xc XXX3 |Xh = WXGXp W.-Xq.Y.[XhXwXh kX..Y : hXVXIXI.u.HXD RXIXIXV.K.K :X9.5XlX*.KXIXV 3Xc `Xc xXI.a 3 3 3 3XJ x.}X,X,.} 3 ` `.YXc xXp XG x x h.M.m.m._.i._.lXe >.<XpXq.FXn x 1 1._.l.-XD.' :.g.FXq.JXrXq M [ >.gX<Xe hXD.a t.} RXI.a.`.` R.].K.%X. D :XJ mXl c RXIX, $ R RXD c 3XD 3XD.a.aX,XD.aX5 RXD tXI t RX1.a R R RX1 RXDXD 3XDXD $ c c hXDXDXc : :XKXc.,XcXlX5X, $X5 $X,XDXl h R R.aXI.a : k 3X1.a R R.aX-XDXw ' xXcXl.Z.ZX, h $X, 1XwXHX,XDXD.M R R.M.a.aX,.w.a $ x 1XD.MX,.ZX, xXDXD xXwXD.Z.>X,Xe.Z.YX,.M.a 3 1XD $XD.a R.ZX,.aXD $X, h.w xXpXp._.F.FX4Xp.j U .j >._Xn x.M.M.Z.M.M.ZXU",
-"XeXqXe.W.wX,X,.]XJ `X5 cX1 a.a.a.a.`XI.uX5 c.u.8.K.5 3XV.KX*.8 R.M.MXn y U.9.] 3XD h U h 1Xq.C.C.C.T.T MX0X+X+ h E 3.}.i u...W 0 O v.. % % {Xf.; H n HX> ^ {Xb.d u R.a C.W.).s..Xf 0 E x.EX6.P {XAXf.<X>X+XD 3 3.u.`.HXIXD x.E.@ JX>.wXJXJ.}X+.p ...Xe.MXqXLXC z !X.., 3 cXVXVXVXVXVXV.rXVXVXV.KXV.uXV.K.HXVXV.8.H.8 3X1 3.5X3 c ` m.-Xc R R R RX- RX- R R R.` R R RX-X- R.a.aXD R RX-.a RX-.a R RX-XD 1 ` a.9 ` $ s U h.a.}XG h.MXD.,XJXVXI.H.uXVXVXV.u.H.u.k.r.r.H.r.uXo.5.5Xo.5.u ~.uXV.H.rXVXV ~XV ~XVXt.u.kX5.k.k.k.kXdXt.k.k.k.kXo.k.kXt.u.k.k.k.kX5XtXo.k.^Xx qXd N.$.^ NXx I.kXd.k.kX5.u.HXVXVXx c ' ] Q !XyXU.> ! !.1.>XU g.jXw.j.> [ | k kXMXBXS nXpXp >.gX4._._ nXrX<.jX+X+ .YXM.MXIXI 3XVXIXIXIXI 3XM.uXVXI.} cXDX,XV.`XI 3Xl # $.MXD.MXD $.- .9.} xXB.Y.Y.9 1 x 1 .- xXeXe.a.M < U < h xXe._XqXn.J.pX4._ 1X,.i ._.9 1 :Xc [.T WX: n W W.[.TX%.,.Y h <.a.a R.aX-X1 RX- 3XI ) $ :XIX1X, :XIXD.aX1 3 :.aXV 3 RX1.}XDXD.aX1.aXDXDXIX, RXI BXDX,XDX,X,XD $ hX,X,XDX,XI R.aXDX,X-X1.aXIXD hXDXD.Z RX-.aX1.aXIXDX-XDX-XlXI.aX1.a R.3.ZXl cX1.aXIX-X1XD aXD T.ZXc.2 hX, $ $ $XK x $ xX,.ZXD.MXD R.M R RX,Xl.M x x.Z R.aX, $.Z.ZX,X,X,.a.wXcX,.Z.-.9 $ $., $XI.9 :XDXDX, RX,XD.M.ZXD 1.9 1._.FXp >X4.FXn.FXw._.[ W X4 Xe.w U.YXK.j.-",
-" sXe.w xX,.ZX,XK `.3 D `.]Xl.ZXIX1X*X5.kX5.k.u.5.KXV.K.$.5.aXI R.a.M v.YXLXDX1X1Xs $ cXl 3 UXL.v L SX:.;X0.; g k.-.Y.-.[X,XK 9.!.0.! C U.s %Xf S S.xX6X6.s...W uXD tX1.D.M.W.sXi.4.C.4.C.JX6.P { {.P %._XK h R.k.8.HXIX1.Z.EXG J.E.E.a x.5X,.jX>Xi 0.d.W U._..X>XhXh m V : 3XV.uXV ~XV.u.8.rX*.kX* qXxXV.r.HXV.H.HXV.HXV.K |.,X. m n : $ t.a t R R R RX-X- RX- R RX- R R RX-X, RX- RXI a.a R.~X,XD.9 h.'XG.Z $ t.M $ 1.M 8XeXc xX, : :XIXVXV ~.u ~.u.rXV.H.K.kXVX5 NXx )X9.uXtXX.5X*.8.8XVXV 3XIXVXVXV 3.rXVX*.k.k.k.k.k.kXt.kXt.k.k.k.u.k.kX*.k.k.k.k.k.k.k c.k.^ q.R.kXk.zXx N ( )X9.kX*XV.r.H.8.H D 5 (Xx.2XyXO !.q &X0.> &.1 = =.OXhXw =., [ | V V.g kXpXnXpXnXp.F x EXe._XeXeXe..XqX4.YXq.}.MXD cXIX1XI.8.u.KX*.$ `X3XH kXc hXIXI 3X1.} $.} h.Y Xc.Y `.,._X+Xn._XqXq._XeXqXnX+XpXe h.M u.M.a tXI RXDX,Xe.F WX4 ...XeXe.i.M U._ 1Xw h $ $.[XqXpX4.<.p n [ [ [.[ x < R R R.aXD c R.` R.`X- :.`XD cXI.a $ RX1.aXDXIXI.a T.a.aX-XD.M 3 RX,X,X,X,X,XlX,X,XDXDXDXDXDX,XDXD RXDXD RXD.aX- R.Z cX, 3X,X1XDX- RX,.u h 3.a RXI.aXDX1.aXD $X, R.aX1X.XKXIX,XlX5XIXI RXI RXI.a.Z D 1.'XD.ZXH.9.Z.'X, x $ $ $X,.ZX,.MXD.MX,.Z.Z x.ZX, $.ZX, $.9.9X1.ZX,XD.a tXDX,.w hXD.'X..aXDXc.,.ZX,XDX1XD.M.a hX,.Y.9X+XqXp k z.T.[ M M zXZ.T.-X+ X+._Xq E._.[.YXG",
-" xXG h hX5 UXI $X5 $Xw mXl.2 'Xc.KX5XV.u.u.K )X9.8.8.K : cXI RXI.aXlXD._ s U 8 xXKXDXIX1X1 R.=..XiX6XA.. vXaX1 R.}X,.} $.u :.n ( g.]XD.W .Xi ; S.J ;XAXb...) U.N tXDXDXD 8 C.. {X6Xf.P.P ..4 L LXi...@.E.W RX5.H.H.`XIX1 xXKX+ y v.MXI 3 3.} y S.C ^..Xe t E ..x.- Y.G., }XV 3.8 3.u.u.8X* 3 #.r.8.K.K ~XVXV.H.r.HXV.u ).,.%.,XMX..-.9.M R R R R RX- R.`X-X- RX-X- R.aX-.~.aXDX- R.a.eX- tXD 1 :XJ.w.MXD :Xw.9.a hXU.-.9.-.- n.9Xl h 3.uX*X9.5.5XxX9 :X9.5 (Xx.XXo.KX* ~.r.8.8.uXtXV 3.uXV.H.H.`.u 3XV ~XV ~.kX*.kXt.k.k.k.k.k.k.kXt.kX*.k.k.k.kX*.k.k.k.k.k.k.k.k.^ NXtXoXo.k.KXx.u.kXV.H ~XI.H.H.u ].| ].2 ! !.> &.>.+.+.EX0 =.> = nXhX; [XcX3X3 V X3 [XGXnX+._.i U u._ x.9 E._ p.i MX+ XnXp x.} hXD.}XI.8.u N.`.`XM.Y.Y.gXr 1.`X1XI.8XD 3 x XpXqXqXp W.-.YXq..._._XeXe EXeXpXq y._Xe 1.M R :.DXD RXDX, h.MXe ..m._.m._ x.FXe._ 1 x.} RXKXn x._Xe._XqXnXBXp XcXcX, hXD 3 R.a.5 RXIX1 $X1 3XlX-.ZXI RXI cX1X1XIX,XIXD c :XDX,X, 3X,.aXDXI.MXD RXDX,.aX,.a.a R.MXDXDXD cXD.aX,XDXIXD.a RXD $XDXI.,XJ x.aX-.a RXDX,XD aXD.a R 3.MXD $.Z aXIXH c 3XI.aXV #X5 $ 3 R R R.}XDXIX, $ hXU.Z.w nXD.Z ' $X, s $X,.wX,.DXD.M R 1 $ U.aXD $.'XKX.XK.YXl $.MXDX, 8 U $XD hXl $ xX5Xl.9X1X,XI.MXD.MX, h.YXp.p.-XcXq.[.1.3.[.pX+X4.M.} hXcX4XqXq._.mXnXqXp",
-".Y $.W hX, $.MXDX, R $XlXD RXI RXVX* :Xx :XoXV.`.5X9.u RX1 cXD R.` D XBXcXpXGXGXc.wXD.8X1X1 8XL._ %.....M RX1X1.MX-XDXI.`.k.5.ZXV.} R U vXpX> L.J.J.P %XA ^X6 v 0.sXn.}._.j % {X6 ^XiXfX4X8 rXf ^ w.9.w UX,XDX1XIXI 3X1 hXDX,.a.aX,XIXIXDXG.EX>.@.@.; v E.m % %X+.Y.S.G m., 3XVXV 3.H.uXVXV.K.k ).KX*XV ~.H.8XIXI 3 3X.X..O.3.3.1XH 1 R R.a R.aX- R R R R RX-X-.aX- a R.aXDXI.a RX-.Z $X5 :XKX,.a.eXI R $ [XH 1XwXJ.,.9 $ c.MXIXI cX9.5X9.5.X.5.k.u.k.u.uXX.uXt.H.rXV 3.r.uXV.r 3 ~XV.r 3 3.8 3.u.r.HXVXVXVXt.k.k.k.k.k.k.k.k.k.kXt.k.k.k.K.k.k.k.kX*X*X*X*.k.k.KXt.k.K.k.^.kXo.5 ~.r.HXI.8.H.HX5 q.2X@ ( ] ! !Xm H.; z z bXr.>.EX0Xw [XK.Y `X3 c #XXX3Xw [.pXp._.s E <XD.M xXD hXc.MXeX+X%Xn x.9.9.9 1X,XI.a.k c.8 3 3 `X%.<X+.[.' #.8.aXDXM.- 1._._ EXcXpXM x._ x p U U.M U.W = [ n.Y n.'XcXr.9XJ.2XV.H.~XVXD.M 1 U...p.F.<.[Xp.g.[ x.jXB.Y._ E._XeXe.iXq xXeXD $X-X,XD cXI R RX1XD.5.uX, : :.u.u cXl c $ 3X1 3 RXD.a RX- R.a R.a R.a.a.a.a RXIX,XD R a.a R.a.aX,.ZXDX, $X,X,.Z $.uXI.aXD c tX.XJX5.aX-XI.aXIXD cXlXK cX, : :Xl :XJXKX- :XlXD.`.a R RXI 3X5XM.KXDXD RXD.a R.Z RXD.Z.9 RXK.w.Z m.Z.] TX, $.Z xXD 8 R.w.Z.M RXD.M.Z.Z.'XcXK gXK T 1 h $ $X,X,.M 3X5XlX, RXIX,X, RXDXD.M $.Y.<Xr.iXD R.aXDX,.,Xp >X+.}X, R c.pX+XAXq._._.<X+",
-" x $ $ x $XD.a.ZXDXI.' RX,XD.a RX1.`XVXIXD.H.`.uXXXVX- 3 cX- aXI.8XV.KXc.iXsXe.j n hXIX-X-XI.u UXs E U.d 8 R R.HXI.ZX,.uXxX3., `.l 1 $ $Xe v.mXA %Xb.dXF..Xb.PXi %Xp.J.J.dXA.JX8 HX>X2.x.p.jX>XC HXL.N.a.a $XDXD.aXI.`.}XI.a 3.}X,.aXD $ gX+Xp.x.E.@.EXn._._XA.J.@ x $XwXhX. D 3XI.H 3X*XV.K ~.K.$X9XV.rXI.8.8 ~XVXl.2X.XU nXw n.3XU 1 R a RX-X-X-X- RX-.aX- RX- R R R aX-X,X- R.~XD $ `XlX, a RX1.} R a.u T 3XK : hXIX1 3XD c.KXXX9 c.kX*Xx.k ~Xt.8.rXV.rXo.8.H 3XVXV.r.u 3 ~.u.rXV ~ 3 ~XV.u ~X5 3XVXV.r.HX*.k.k.k.k.k.k.k.k.k.kX*X*.k.k.k.k.k.kX*.r.r.u.r.rXt.rXV.rXtX*.k.u.r.kXVXI.8XV.`X5.R.5Xo.k.2.R.2 !XU M o.v ^ H O s HXLXGXU.[ X3 : c h c 1 X7 W W.<._ v UXq #Xc.l $ kXq <.M.WXe._XeXq x.- XMX1X*.5.` 3XIXpX< +Xr.- ` 1XDXl `.-.Y.FXeXe EXp x $ $.Z U.} R < R.a.M tXq.WXG UX,Xe.Z.M.WXs.MX,.`X5.uXIX-Xl xX< zX<.y.1.SXh.Y.9.-.p.F.m._.M.M h hXe x $ hXD.Z x.a cX,.5.a.u 3 3 3 RX1 c.KXl B.`X1X1 3XDXI.aX-X-XD RXD R RX- R.a R R RXI RXD.aX,X, c.'.a tXD.aX,XDX,XD RXIX,X, h $ c cXDXI., :XKX-XD R.a R R.aXIXK VXKXl T :Xl :.5 3X1.aX-X-.aX1XIX, 3.a.5X, c :X5 R R RX1.ZX, RX- RX, $ $ 1X,XcXc 8.ZXl T $X,X, 8X,.w.aXD RXDXD.M tXD 1 hXK.9Xc.9XJ $ $XlXI.a :X,XIXDXDX, R.M.M.MX,XpX4.p x.MXVXIXVX1X,.-.gX+.} 3XIXIXB >X4._._Xq.pX<",
-" x hXcXUXK x RXlXlXl xXIXD t R.aXI RX1.ZXIXIX1XV 5 #.uX1 R RXD R.`.` 3Xl < U.d.YXwXlX,.a.a $ < c h.M.}.}.M h.Z 3 3X1X1X1.aX* h.SXBX,.a R T.n y.) E u E.F.m.<.{Xf.xXfXA %XA.m.PX6Xp U.ZXw yXJ n 1 $.Z 3 #Xl cXD.u $ c.a 3 3XV 3XI.M.D x.j.jX>X+.d W.x v 0 v ..J wXp.E.jX.XhXHX.Xc `.HXV.H.u.k.kX*X*.k.rXV.H.8.u :.5 :XJXcXcXK.9XcXc.- R.MX- RX- R R RX-.aX- RX-.a R.~ aX1XD.Z.e.aXlX,XlXDX-X- RX1X-X-.8Xl # 3 c.aX* c c 3.u c.5 :XVX*.r.rXxXx.k.rXV 3XVXV.uX5 ~XV.rXV.8 3 ~ ~ 3.rXV 3 ~XVXVXV.rXI.K.H 3.rXV.rX*.k.k.k.k.k.k.k.kX*.k.k.k.k.kX5.k.k.u.rXVXV ~XV 3 ~XV.rXVXVXtXdXV ~X5.8.H.8.`.k :.`.H ~.|XyXy !.'XCXmXp b o.jXGXG b.s.s.YXw ` .lXIXI c 3 X7.g.x..Xe._ 1.p.- Xq.iX..[ 1 xXD.wXq._XeXn 1XK # c c 3.8 3 XG > E.MXD.} RXG.lXp $X4 E.M u U h.aX,XD.a RX1XI.a.`X-.a.a aXDXD RX1 R.a t.ZX,.MX1Xw T.~ : 1 $ nX.Xh.jX<X+Xc.wXe.-.pXq.FXq UXDXDX,.a.i $ $ R RXDXD R RX1 h.~.aX-X- aXI 3 :.HXX cXlX5 c cX1.eXD R.e.a R.a.a.a.a R R.a R.a.a R.aXD.Z : 1 R R R R.a.MX,XDX,XD.a.aXDXDXDXD $X,.3XJXDXI a R RXIX-XDX1XDXD $XD aXV RXI R # 3.Z 3XIXI $ c 3 c cX, 3Xl.a 3Xl :X5 cX,XlXD.ZX5 h 3 $X1 c.DXI aX1.w.ZXD.ZX,XDX,XD.Z tXD.a RXD R.M R R.MX-XDXDX,.Z $.a $X,.u.Z.uXDXD.Z.aXD RXD U.9.JX4.[XD RXI.`.8XDX, h [XlXIXIXI.p ..FX4.FXn.[.Y",
-"Xl s hXw.'X,XD.,Xc TXD x ` cX, 3.aXDXDXD RX1X-.KX3X-XI RX-.a R RXDX1.u.u hXD x y XeXKXqXe.}.}.a U $X,XDXDXDX-X-X- R.a.a 3.a 1 $.3.M.a.a.] 8Xw tXD.a.e.h.x M.{X:X2X>X:.< %XAXnXrXwXl 1.'XcX5 cXI.aXI 3X-XI.HX1XDXI 3XI 3 3 3.Z.Z.Y.jX> yXC M._.F.p.1.+.+.xX0.;X>XnXGXp.TXc.O m DXJX5XVXVX5 3.5 qX*.u.HXV.8.u.K.K 3.,XH.j.9X+.Y.i sX, RX- R aXI R.aX- RX- RX-.a R.a.a R.a R c $ T ` x.eXI.aX-.a.a.` cXXXIXIXV 3XV c.8XV 3.K ).KXtXt.H.k.zXo.r 3.r ~XVXV.H cXV.rXV 3 ~XV.r.u.u.r 3.r ~XVXV.H.H.H.HX5.H.r 3.r.u c.k.kX*.k.k.k cXd.k.kXt.k.u.k.k c.k.rXV ~ ~ 3 ~ ~XV.8.r.r.`X* 3XV.8.K.8.8.8XV.uXV.uXdXV.RXy ! &XC.! yXmXGXeXH.WXaXeXG vXnXrX7 1 :.}.aX,.M # .gX+.pXqXp._Xp.[X+ 1Xq x.iXnXcXc.9X5Xp EXe._._Xq.9 h 3.8X1 3.9.9XnX+Xq R U < XGXe.i xXe <.a.MXDX,.a R RX- R.`X- R R R RX-.a.uXIX-.HXDX- h.ZX,XeX, `X, :XJX.XJ.,.,XB.1 [.-XcXr [X+.mXe.}.aX1X1 a $.YXc.9Xc T :Xc :XDX-.uXIXI RXIXI R #XV cX- c #X-XDX5.,XJX-.a.a R RX- R R R R.a R.aX-.MX-.M R.aXc $XI.M $XDXD RX-.a R R RXI.MXIXDXDXD cX,.a R.a.a.a R.aX- R aXIXD aX5XIXI RX1 RX-XVX-X5 $ 3XI.aX- RX-.aX1XIX1.}X1 R 3XD c :.5XI 3.`.aX1X,XIX,.ZXlX,.eXD.e RXD.Z.ZX,XD $.MXD R.MX,XDX,.a.aXD h.Z hXD.} cX1 $ xX,X1 cX,.DXDXD.a U.MXq.FXq.p xXI.H.`.8XI RXD 3 # R.H 3 .j WX<.jX% n.g",
-".w h.ZX..ZX,XD n : 1X,XK m ` $.aXJ k x 8XD 1XDXJX*XIX1 RXI.Z $Xl $ <XIXV V ` 1.Z.'.'XGXp.JXA.s p.d.M.M.a R.MX1.a.aXIX- $.M.MXDX1XD R.a.aXqXc ! R.a U.M y S.;...xXn.M.L.+Xn.jX+ g KXh TX5X. x.2 ' )X1XI.H.]X9X1XIXIXI.}.8.}X1.w.YXf...P...@.EXnXq MX2.;Xr.jXrXw & y HX0.+ =XhXhX..| '.HX9.5Xd.K.k )XV.uXV.8X5.KXI.aX3Xw k = n.SXG hXD a R.a aX-X- R R RX-X- RX- R a R RX-X,Xc 1.uXDXI.MX- R RX1X-.K.|.`XVXVXIXVXVX*.u.8.k.XXd ~.rXVXx )Xd.u ~Xd.HXVXVXV 3X5.rXV.HXVXVXV 3.8 3XVXVXVXVXV.r.8.HXVXVXoXIXVXVXV.r.k.kX*XdX*.kX*.k.k c.k.u.k.k.k.kXd c.u.HXVXV ~XVXVXVXVXVXV.8.u.8XV.HX5.8XI.8.uXVXI.HXd ( ] ! g.> 9.v 0XG s `.wX,X,.M.WX6.EXw k .Z.aXI $ `XMX7.[X4XpXq._Xq.Y nXpX+XpXp._Xq p . >.< M._ p._XnXe 1 1 RXIXVXI.a h.YXq :Xq 1 v >.F p.m U h.a R 3 RX5XDX,X,XDXDXDX, 3 3XDX, cXlX,Xl.KX5 c c 3.a h.Z.M.a RXlX- $.-.> n = [.[.1 =X4 MX7._Xq <.a R R R 3.wXl 'XJ 1 $ ' ) BXD R cXD R.a RX-.` R #X5.`XlXIXIXI KXVXDX- RXD aXD.a R.aX-XI R R.aXI R R.a t D :XD.aXc.Z 1Xc $.MXDXD.a.a R.a.a.a R $XD.u.aXIX- R R.aX-.a.a R.~XIX1 c.e.aXIXD 3 $XM.u RXI RX- R.aX1.a.aX1X1 RX1XDX1XI RXI #.5.aXIX-XIXIX1.aX-XD c $XDXD RXD R.Z.w h.M s $X,.Z hX,X,.Z.aXDX,X,XD c cXD.aX-XIX-.aXD $ cX,.MX,X,.W $Xn.mXn.[.a R 3.`.`.H F.H R c c.MXe n.gXpXc n.} $",
-" x.w $Xl x $.aXKXJ $X1XJ k :X- tX.XH RX, 8 mXI $XXXHX5 RXD ' : a R 3XI.8.K :XI.ZXPXs.NX=.s . .X4 JXqXLX,.M.aXDX, 3 3Xl.a a.a.HX,.H R 1X, u 8.M R.a.a C.mX=.P L .X> [XrXZXm.W s y.O nXl.Z ` 3 mXd TXIX1.u.2 :XDXDXIXIXI.8 3.M.Z.EX6 %Xi...4 yX>.xX>.@.;XwXwX5XD 'X0 WX0.j.jX. nXl.D 3.uX5.u.KXxX9.k.uXoX1X5 `X*.u # |.3X;.- y.g.i x.aX, 3.aXI RXI.aX1.a.a.a.a R R RX-X-.aXDXD R R tXDXI.* RX-.a T D.u.u.HXVXV.r.HX*.8Xd ).k ~.r.kXk.X.r.rXxXo.H 3.H 3.u.8XlXVXVXVXV 3XVXVXVXVXVXV.r.8.rXVXVXVXVXV.KXI.u ~XV.u.k.k.k.k.k.k.kX*.k.kX*Xd.k c.kX5.k.k.k.r.HXV.H.HXV.H ~XV.HXVXV.H.u.8.K.u.8XVXV.H.rXV.R.2XO !XC.+.EXm y.' TX5.KXI.M.W.W.W.sXnXrXc 1Xl.a.aX-XM XB.-.[ >.F._XqX7X+.9.[.pXpX+X4.F._ p._Xe._._XeXn.F.Y.Y 3.}Xl $ hX,.-XpXG.Y >XpX4._ x.W xX,XDXDXV 3 RXD.}.a.a.} cX,.aX-.aX, R RX5XI.`X- R.aXIX, h.aXI cXKX- c $ h._ x x.9Xe._Xq.FXnXq EXD.a R.aX1 RX,XDX, RX1X,.` x.aXIXDXDX,X-XI aXI.a.`X* :XI c c.aX1Xl.G cXD RX-X, RXD R.a RXDX1X-X, cXI.aXI RXD.M 3 sXl xXl xXl R.a R R RX1XDXI.aXD.a.ZX, hX1X1.a.aX-XIX-X-XI.a RX-XI.ZXI.u c cXI 3.u t R.a R RXD.aXI aXD RX- R R RX-XI RX-.u ) 3X1.aX1 3XIXIX- $ :.wX, RX1XIX,X, $.ZX, 1 $X, h.Z.wX, $XI.ZXD $.ZX,.ZX1XDX1 RX1XDXl.wX,.M.wXe x pXeXq.FXp.} 3 RX1XI.H.H.r $.u.K 1.}X+XGX<X+ XB.a",
-".w $XK.9XlXDX1XI : RX, 3XI xXIX,X3 : T :.5.,.e 3X,XK B R.' hXw cX1.3 ] x.KX3XM D ` D.D 8 t u u UXeXG.Y.j.EXn.} U 3X3 #XX :XK $XlX5XDXGXe.... U t.} t E.mXb.PXA %.P ;XpXr U xX>X6X8.x :X,.HXD D.2 ).8.H $X. hX, h.iX,.a 3XD hXeXCX6 % %Xf ^X6 .XfX> ..O.+ TXV 3 $.>.j y.Y nX; TXIXVXV c.kXV.kX9 ).8.k.kXoXo.HXI.`XJ., 1X, U x $X,.}X1.a.aXI.aX1XIXDX-XDX,X,.aXDX, 3.Z.a.Z hX,XG.-XwX..-Xl : c.2.$ c.k c.kX*XVX*X*.u.5Xk.K.r.K.XXx.5XtXV :Xx.uXV.HXIXI 3.8.5 3XIXVXV.8.u.~.HXVXIXI.8 3XV.8.8.H.HXDX5.H.HXVXV.8.u.kX*.kX*XdX*.kXtX*Xd.uXdXd.k.k.u.kXVXV ~.HXI.H 3XV 3 ~ 3.HXV.HXI.8.uXV.8.HXIXdX5 D !XOXO H &XC.E.9 =X5X5.]XlX,XD.W.) 0Xn vXr.-.9XX h.8X, 1 k :Xc n.[XrXq.p.jXr.p >.j x 1 `.-.-.-X4XpXpXpXGXq.,.9 U.a xXcXc 1XeXpXq xXeXe E $Xe h t.a tX, RX- RX-XD R.M R R $ a.a.ZX, cXD RX1XIXD RX1XIX-XDX, 'XlXDX,X5XIX-X-X1X1.M U $ x.wXe xXe x $.a.a R.a R R $ c.9 :Xc.9XK TXJ TXcX5X, BX-XI R RX-.aXV.K.uXl.8X5XcXJX5 $XlX,Xl., : 1X5.9 ` TXKXJX. 3 R.aXI 3.u 1 : $ $.Z cX,X, RX- c $X,XD $X,Xl.ZX5Xc cX, R.`XIX-.`XIX-X-X1 R RX-XI 3XIX,.a.a R x.u RX,XD <.9.Z $XlXcX,.'X- R RX1 RXIX1X- R ` c :Xl $ T $ ` mXJ D.Z.a RX, BXD $.Z.MXe x xXDXeXD.ZX, $X,.Z $X, $.Z cX,XD.a RX1.' xXG.YX+.j..._.mXeX4Xc.WX, h c cX5 c.8.H.` R 3 $.Y.F._XB.J >X2",
-" v xXc TXK ` ` ) T c.5.aXl cXM h.~XIXV ` :.K 3 R $Xl 8 R.Z.2 1XD R.|X5XV a.,.a 3 ` Y.DXD.D.- h U.W U.) 2.Y.W <.a hX9.`XVXIXIX1.~X5XD.W..Xb..._.m E U % % % L {XA %X>.x.sXe.@.P.P LX6X+ TXIXVXD.HXV.r cXI $ UX4.pXpX+XK.- n.j.x ; ....@ v vXe ^X4 ^X6 yXH cXV.u.uXK.jXK.jXKXKX, 3 3XV.KXV.rXtXt.XXx.XXo.u.r.H ~ 3 VXJXq xX, U < h RX- RX-.aX-X- RX- R RX- R R RX-X-.~ RX,.M t.,X+ $ n xXc.%XJ.5XVXV.u.r.uX*.u.k.uX9XxX*.kX9X9.$.5 N.5XxXxXV.0 )Xl $.u.K 3 :X5 :XVX5X5.ZXc 'X,X5 $.u.u.k.K.k cX5Xo.5 c.k.kX5.k.5.5.X.5 N.5.X.5.5Xo.X.X.5.k.5.X.5.XXoXo c.k c.k c.kX*.k.KX5.k cX*.KX9.KXV.5Xo.5 ( f @X; !X0 H yX> g s (.0 : 3 :XqXeXG.+Xh.EXw.- `X3 VXM $Xl.uXcXX k k nXqXpXqXq..Xn.p.Y $XDX,.iXM 1.9 .9Xp < h x.9Xq._.FXpXr._Xe E x.W U U t.M t.aX,X-.a R RXD.a a.aXDX,X1.aXI.Z R R R R R.ZXD a RXDX,XDXDX1 R.KXV c 3 : 3X-XI R.M U U.MXD UXD.M.MXDXI R R.aXD : 1XD T xX, T : $ 1 R.u.aXD.~.a.aX1 aXI $.KX5X5X1.HX1X1X, aXKXcXK m mXcX.XcXc 1 1XD.a aX- c 3.a RXDX,X,XDXD 3.Z cXl.9Xc T k.2Xw m 1 k $X5Xl :.8X-.uXV.~XIXVX,.u.Z 3.~ R RX5X- R.u $Xc TXKXK.ZXl.Y 1.'XD h.a R.a.aXIX-.e RXDX1X5X. TXKXHX. TXKXKX,X, R $X, R.a 8XD xXD.}.W x $.M.Z.aXD 8XlXDX,.ZX, sXl x x.'XGXcXH.j.O [X+.pX4._Xq.FXn.pX<X,.MXD.u :.u TX5XIX1XIX1 sX7Xq rX%XA.p",
-" x $.wXl x 3XJ ) :.5 cX1.KXK :.KXl cX*.5 3.KXK # R R.a.M a.MX,XI.`X5XJXD 3 YX1 c 5 D.D B $X; 1.M u uXsXnXe C < $ : cXV.5.5.kX-X- # 1.YXn.C.P %.s.s...v 0.4Xi.v vX>XG.MXsXpXfXA.B {.BX6Xf.9X,.uXV.H.K cXDXqX0 M.; S.+.E M M.4X:.P %XqXq x.D.W.W uXi.sX> M c 3.rXIXK.O.9XcX,XD.u 3XV.k.kXV.r.k.KXxX*.r c.H.`XI.8X-.,X..9 1Xe hX,X, <X-X- RX-X- <X- R.aX- R RX-X,XDXIX- R c.a RXc xXKXK :Xc c 3XV 3XV ~XV.u.rXVX* ).KXV.r.u.8XXXtX9.K.5X*XI '.] D T cXDXD $ 3 $.wX5X,.D.Z.'XG.' gX, 3.8.8.r 3.r 3Xt.u.HXVXV.r.H.k.kX5.kX*Xt.kXo.kXt.k.k.kXdXt.k.k.k.u.uXV.r.H 3.HXV ~.HXV ~ 3.HXV.H.uXdXV.8.H.k ) 4 K @.q & o OXLXeXJ $XVX1XD UXG.sXe HXGXG.9.[.- VXMXMX*XX.}X* | VXc [.Y.-.p._ 1.iXcXq 1.Y h hXDX-XIX-XIXDX- h xX+X4._._Xe.mXn >X+._ $ < t t.a t.a R.aXDX, R R.aX,Xl xXIX5XlX-XD 3 $XIXI RXI R.aXD.u aXDX,XD RXDX1X1 # :.kX1.KXI R R.M.aX,.a R.M R aXD.aX, RX-XI R.aX- RXDX- R.ZX-X,XDX-XD 3X1 RX-X-XIX- 3.`.KX5 c 3X1XI RXD.u R R.a R RXDXl BXDXD c $XlX5 $XMXD RXI R $XDXD RX-.aXI $XlXlXl.9 3XD h $.Z 3X1XI.u D.KX9.5XXX5 cXIX-X-XIX5 3 BXI.u RX1 : $ h xX,.MXD R.a t.a R.MXI.a.aXDXD.,.%XIXD R.u 1.ZX,XD RXD.Z.a RXDX1X,XD R 3X,.Z.w.w h g.Y.9 : T.2X,XD xX,X,X,.w.1XcXHXBX< n.jXpXn.p =X+.[X4XpX+.-.YXc [ ` m.,XJ.%XX.K.H.`X1XD.aXJXp._X4 >.J",
-" x $X, 3.a.5Xl.` R 3X1X1XM.u cXl cX5 c :X- ).uX1.u RX1 RXIX1X- RXI.uX- R R $X3 3.u :.uXI 'X.X,.M.M.d J.w.d 1.Z cX1.XXV.H cXV 3.u c $XpX:X8X8.@.J.. 0 0 S.qX>.EXm.Z.MXsXGXf.P.v % { L.PX6 y.ZXI.r.u c 3X,.9XG 0.@X>X>X> HX> ; {XA .Xp $ # R $.M U.) .X>.h.9 h.uXVX,.'XJ 1XI.uX1.uXV.5.8.r ) 5 ).r.r.8Xt.H.8.H.8 3X5.,X.XcXcXG h R R R.aX-X-.a RX-X- a.a R RXD #XlX- RX5 `XK : xXJ., ` # 3XV 3 ~XVXV.r 3.rX5 )X9.5XV ~XVXV.r.rXV.kX9XV.`.].R.'.2.w yXD.ZXK 'XK.'Xw.E.' o o v JXKXsXD.}.r 3 3.rXV.u c.H.HXV.r.r.u.k.kX*.k.k.k.k.k.kXt.k.k.k.KXoX*.k.kXtXVXV.8XV ~XVXV.H 3 ~XVXV.H.H.u.u.8XV.HXo 4XO gXy &XC J.s v h c ( 3.Z.M $ v v 9.E.q y y.,., VX3XM :.a.8.} # #XB [Xp._._ XK 1 $ hXq.Y a.uXIX1.HXIXI.} h.-._Xe._ p..Xe E._._ x._ t.a U < R R.a B.a $X- R.a.aXc.9 m 1 :.,XJ :XJXKX5 RX- R.a h R RX,XDX5 c RXI 3.8 :XX :XlXl R.a R <XDXD.a.aX-.a R.e 3.a RXIX- RX- hXI R.aX-.a R.u R R 3 3X-XI R RX-X-X-.8XX :.KX-XIX1 RX,XI.a RX- R a R.aX1 B.e R aXD R aXI R aXDX-.Z.a 3XD.a.a R.aX-.aXD R.M RXDXDX,XMX1X-XI : c.5XI 3XI.~.uXlXl ' ` `Xl.0 D s aX1XD RX, R.a.aXD.aXD.a.aXD R R RX1XcXNXJ RXDXD cX,XVXDXDXDX, RXD R.a R x c TX,.9X. :.M [XJXwX.Xc.'.wXD R $X,X, UXqXp >X+X+ >X+ XG.pXp.[.-.[X%Xh.T [XZX#.GX.X. )X1.HX1.8 3XI.`.H h.[ .p.T W",
-".M.Z.MXDXD.a c 1 3X1.aXI.uXlXIX-XIXVX1 R 3 :.KXJ Y #.DXI 3 3 ` DXJXKXl.u.w.KX1.`.`X-X1XD.Z R.a.M.MXq x h xX,.ZX1X1 B.`.H.K 3 3.a.}.}XeX4.C rX8Xr.@X+X> v vXG $XDX,.wXnX>.P.B.. JX>.xXf.CXpXDXV.H.5XV.uX,XJ oX+.E.Y o.-Xw =.x . %..._ E .W U U t E pX8 W =XJX5 3.DXIX,.HXD.u.u ~X*.k.kXx.5.XXx ~XVXV 3.H.8XI.8 3 3XH.,.jXw 1 1 t R R RX-X-.a.aX- R R.* t.aXDXKX-X1.~.,.5 3 3.a.u.}.uXI 3XV 3.rXV.r.k.5XxX9.kXV.k.r.HXV ~ 3XV.H.8.u.H.]XJXUXP.!.'XUXa J.!Xm bXL 9 b 0 v b 2XG y.9.ZXI 3XV.r 3 ~X*.u.rXV ~XV.HXt.kX*Xd.k.k.kXt.kXt.kXdXtXtXd.k.kXd.u.uXt.H 3 ~XV.8.HXVXVXV ~ 3.HXV.u.kXVXIXVXx ] g g.>.qXC 9.sXs $ 1 c `X1XDX0 &X4.9 =.9Xl h 3X*XX.,X3XM #XI.a c `.gX+.i._.M 3 #.l.9.FX+.F.M.8.8.8XIXI.a.aX,.pXqXe.i._ < E._Xe._ h hX, t a R.M 3.aXIXDX,XD.aXI R $ R $.ZX,XD 3X1 3XI cXDXI.aX1 R 3XDX,XD.9.9X1 RX-X- 3.5.5 ) c.`.a tXI RX, R R RXIX-X-X, R.`.a.a.a hXI a RXI RX- R.} 3X1.aXI hXI 3X, RX1XIX- 3.KXl c RXI.aXIX,.aX1.M RXD R R a 8XDX1XDX-X-X-XD RX1 RXD.aX1 R R RX1X-.aX-XD R R R.a aX,X-X5XD.`XIXIX* ` ) 3.~ RXI.DXc D.' T :XK # cX1.e RXDXIXD R RXD R.e.a R tXD.aXDX-.3X.XNXDXV 1XD aX,X, RX1.ZXD R.a RXD c :.wXK.' :XGXD h.D.WX, s RXD.aXD.MXqXqXp.Y >XpX+.FX4X4X4XG n.-.} $ ` 1 1XcXHXcXJ., )Xl.H 3XI.H.8.`.`.HXIXI.9.F.YX4 >",
-"XDXDX,.a.MX,.aX, :XDXD.u c 3 #.K cX5 3.uX-.K 3X9 : c q : m.$XX ` `.u.DX,X1 R.5X9X-X1.H cX- 8 u.MXGX+XM <.e #X5.u.`.H.HX5.8XI.a .a.d...PXf wX>X>XrXrXw.M.a.eXD 3XcXKX>X>X6X6Xp.EXeXpX>XrXrXc.u.kXV 3XV 3 hXlXG $.DX1.H.DXKXwXn ..m...d EXn.s pXq.m .XA...@.>.]XVXV.HXV.u 3.8XV ~.KXo.X.k ).k.r.r 3XV.HXV.HXIX1.}.uXw nXw nXw $ < R R RX-X-X- R R R tXDX1 1XD.e ` 1X9 | 3 3.uXV 3XV.rXV.kX*.k.KX9XxX9.kXtXV ~.u.KXV.8.u ~.u.H.8XI.H.8 $XoXa.M.! 9 y y s J v.W OXL OXe.vXn 2.s.sXGXcX,XI.8 3 ~ 3.kXV.rXV.H.u.r.u.k.kXt.k.kXt.kXt.k.k.kXtXt.k.k.u.k.k.kX*.r ~ ~XVXV.HXV.rXV ~XV.HXVXV.u.H.H.H.0XN @ 9 & H o vXL U $XDXI 3.Z.w.. M.j [Xl c.a 3.}.a 3 VXX., I h.MXJ .Y k WXq._ 1.a.` c xXeXqXp U.5XI : 1X,.M u.M h.- ._ Xp uXBXeXc UX,XlXlXcXl ` TXlXK :.M.u R.aXI t.aX-.a R R R.a R RXI.}XD.aX-.aX, t.ZXD RXDX1.aXIX-.`XV.K :XI.ZXI.a.a RXD 3 a.a R RXI 3X-X1X-X-XI.a.e 3.}X- R.a.~XDX,.~XDX-XIXIX,X1 3 3 3XV c c.u.KXDX1.aX1XIX,X- R RX- R RXD R R R R R RXDX- R.MXIX-XDXD RXD R.a.a R R R RXDXI.aXD a 3XD $.a.` RXV.u 3 :XIX1XD $XK x.aXD.eX5.ZXIXDX1 RX- RXDX, R R.aXD.aXD RX1.aXIXDXSXlXN.3 x RXI.a.aX,XI R $XDX1 R.a.aXD cXD.a RX, $.Z.MX,.DXl $Xl $.Z $XD h.9XpXqXqXp.pXr W.j n [ k.3 c 3.Z 3 x.iXJ k.]XlX1XI.`XI.`.8XVXV.`.`XIX-.9XqXq >Xr",
-"Xl.a.aXD cXD cX,Xl.uX,X1 cXl.5 : ).K ).5XIXoXVXVXl )XJ ,.| D ( |.]X3Xl D T.H )XXXt.8 c R.a RXD.9.9 U t 3 c c.kX1X5X5.HX-X1 $ ` C.).sX=X6 JXf 0 M.'.' :XJXK T.] 1XK v =Xr.jXw y $.w.M nXG.<.j ` h.} 3.}.k 3 3XIXDXIXDX1XV.Z.9X>.@.. % %X4XA.v . p.... S.x.EX0Xc c.H.u 3XV ~.rXVX*Xk )XtX*XtX9XV.rXV.u.KX5XI.HXI.uX, kXHXUXwXw.iXDX- R.a RX-X-.aX- t R t.M.9XlXDXlX3.u c 3.r 3 ~ ~.rX*X9 NXxXx.K.rX*Xo.k NX9.kXd.K ~XV.uXVXI.HXIXI.8XIXD.DX,XPXw yXGX0XKX0.j &.j.s.Y.@.j.E.EX0.j s.>.ZX1 3XVXV.HX5XV.r.u.r.kXtX*.kX*.k.k.k.k.k.k.kXt.k.k.k.kXoX*Xt cXd.u.HXV ~.H.H.H ~.8.8.rXV.H.H.u.k.HXIX5 (Xy !Xm &.q.EXnXeX,.wX, R 3 RXe o 2 v.9.ZX1 3XI.a 3 V V 6.%XJ kXc |XH.,.[.[X2.[ :XlXIX,.i pXp 1X,XVXB 1Xp.9XM x E x.Y.YXw.S nXBXw.-XcXHXKXcXc.,.] $ `XJXcXI hX1.a R.M R.a.a.e.aXI R RXIX-.a.u.a RX,.MX,X,XDXD R R.aX1.a.aX-.KXl.HXIX-.a B.a RX,XI.aX-.aXDXIX-X1 RX1XI 3.a R aX-.a R.a RXIX,X- R R RXIX- RX1.~ 3 3 RXIXI cXl h.e.} 3 3X1XDX1.a RX1XDX, R R $XDXDX,.ZXl.ZXlXD 3XD R.a R.a R RX-XI R.a.a aXD.a R RX5X-.` 3XX ) :Xl.e 3.3XNX1XIXIX- aXIX1X-X-XIXI R.` 3 3 RXDXDX1.aXD.aXD.a :XN.O kXN $ RX-.aX1 3XDX, $ aX-X,.~ 3 R $X5X,XI.Z h xXl x $XD.w $.Z.a.M.MXeXqXp k W =.[X<.j.S gXcXJ 'XV.`.8.u hXI c c R 3.8 3.`.`XV 3.8XIXIX1XD $ X4._ . >",
-"XlX5X5 cX, 3XD.a 3 TX,.u.5 ).8.8.` 3.5X*X*.u 3.H.5 ( TXd.H.`.H )XJ.5 : ' T.HX5X9XV 3X1 R RXeXq.YXp.MXIXc ).~X1XVXxXlX- 3.a U tXe.m.v ^.@.@ oXm.nX,.'.uXl : T 1.].- 1 MXHXH.YXJ h.YXc.9.[XH U.i 3 3.KXlXV.KXV 3XVXV.HXV.H c ` =XrX6.CX6X6.4 HX2X> 0 %.x.y.E.q.].HXIXV.8.8XV.u.r.X ).r.r.k N ~XtXV.u.k.2 DX5.5.K :XcX#XHXw [Xc $ R RX- RX-.a R t R R R R $ c.a.}XD 5 #.uXVXVXV.kX9 NXx.k.kXt.8 ~XtXtXkXxXxX9.k.5XoXVXx I.u c.8 :XV c.8 : g =XK.nXGXL =.T yX% [Xh._ [.O nXh &XUX0XK.]XDX1XV.H.H 3.k.r.uXtX*.kX*.k.k.k.k.k.k.k.k.k.kXt.k.k.k.^.k.k.kXd.k.k ~.r 3.r ~ 3 3XVXV.r.8 ~ ~ ~X5X5 DXyXU ! g & &.E vXGXlXGXD R.}.M.-.Y b JXCX5XDXIXI.8.}.8X3.,., .,.} $ 3X3 :XB kX+._.l : c.a.a E E xXp.M.a hXG.Y xXp XpXr XhXB x x.M xXD #.aXD R `.a R R RX1 3XDX, $ h R R R R aXD R a.`.a R RXDX,.aXDX- R $X,X,.a aX1 RX-XI.` R $.k.KX-XI R.a tXI.aX, B.aXI.aX- R RXI 3.}.aX- RXDX- R R.aX- RX,.a.a R R R RX1 3X,XIX1X1X-X-XIX5 $XMX1X-X,.aX-.a.aXI R k c sXcXDXJXcXKXc `Xc DX, RX, a R R.~.aX- RXI.e.a R R R RXDX1XI.u R 3.aXV.`X-XI.eXc KX,.aX-X1XDX- R.5 c R RX1XD RX,X,X1XI.aXIX1 RXD a.OXc aXD KXh c.a.aXD.a RXD 3XDXD.a.ZX,X, : cXl.ZXI.MXDX,XDX,X,.D h.ZX,X, < x xX+XGXe 1 1XK ' $XIXDX1.H.`.H.` R c cX1XIXIXI.8X1.8XVXI.H.r.8.8XI.a 1X+Xq._ .._",
-" T 3X1X1X1X-XIXDX5XI.u.uXIXoX9X9.5.K 3.r 3 3.kXl.K.kX1XIX1Xo g (XM.u.u.ZX1.`X1.`X-XI.a.a.N xXGXGX,.a x )Xl.k.uXVXI 3.a.M <._ y.. vXn.j.jXL x UXD $XIXIXDX1X1XI.aXIX1X,X,X,.u 1.w.9 $.9 :.' x cX, 3 T D.H.u.HXVXV.HXV.r.H.u.Z =.T.T H z.;.TXrXh = J ^XiXf.;Xw m.K.8Xt.8 ~.r ~X* ).K ~.uXX )Xo ~.r c.K.K.].] ).]., D K.j.jXUXG t.a R RX-XI RX- R R tXD $.9XDXK mXJX5.K.H.H.kXkXxXoXt.X.kXx.k NXk.5.kXk.5Xo.k.kX9.uXI ( 5.2.| D.| q D.2Xc DX.Xc &XG s.9 oXG h vXB n : xXc hXKXwX..nX,X1.H 3.HXV 3Xo.H.rXV.rX*.kX*.k.kXt.k.kXtX*.kXd.kXtXt.k.k.K.k.kX*.k.uXtXV ~XV.r.r ~XV.HXVXV F 3XV.KXI (X$ !.' b.>X0XCXLXeXs.w 'XDXD.aXM y v 2 O T.HXIXIXI.`XM DXX .5 c.,.5 `XMXM.-XH.[Xq xXn.}.a.a.M $._., 1 $XD.a hXpXqXe ..FXnX4X+.Y 1 x.a.aX,X,X-.aX-XIX- RX1.aXVXDXIX, R.a.a R RX- R R R RX-XIXI.u 3 RX-.aXD h.Z 1 T cXDX,XI B RX1.u 3XlX- R.a.a aXD RX,X, R R R R.a a R RX-.a R.a R R R R RX-XD B.Z R R RX1.a RXD B.uXD 3 $ : TX..u.aXl hX-.u RXI a $Xc.ZXlXlXlX,XD.aXDX-.a R a RXl.%.3X-X- 1.Z.] h : $XlXl : :XD RXD R.uX1XI cX- h RXI R :XNXI.aX1 R.`XIXI :.8X5.u R.`XIXI.Z 3 RXlXlXl 1XlXJX. :.MX,X,XDXIXD.aXIX,.Z $X5X, $XD.aXI.a $ RXI.Z.ZX-XD.M $X,X,.D $ R RXeX,.iXnXcXe.}.MXVX1X1X1XI.8XI.`.8XI.8.8X1 3 cXI.8X1.8.H.HXVXV ~XVXV 3XI.a h.YXpXqXqXA",
-"XD.a.a.a 1X-.DXc 1 RX,X1XlX5.K.5 3X* 3X*.u.K c.u.`.`XI.` :.5 $.8.~XIX1.HXIXI.`.`.K c t.ZXe v x U R #.ZX1XIX-X-.aX- a.M t.Y HXnXnXn y.j.jXcXc h VXlXV c :.Z.H 3 3X1 3 RXDX,.9XK.YXcX,X, 3XVXlXIXVXI.u.u.H.u.HX1.HXVXV.H.HXV cXc [Xp.@.E 0 o y XqXr.@X4XfX+Xw.].r.8XVXV ~ 3.r ).5 ~X*.rXt ~.8.K :X9XlXV ) : :X5XM 1.3 xX, 1.M.a.a.~.a R RX- R R R RXDXc.H 1 :.u.K c.kXVX9.5.u.r.kXxXo.rXkXxXx.XXx.k N.k.k.k.k.X.u.r.u c.5 c )X5XJ ) `.5.u T.'.O.O.9Xe v x v.9XL x.Z cX1.' DXJ.'X1XIXI.H.8XVXV.HX5 3 ~XV ~X*.uXt.k.kX*.k.kX*Xd.kX*XdX*.kXtX5.^.uXd.kXdX*XV.rXV ~ 3 ~.u.`.HXV F.u ~.H c.2 K @.q.'.9.> M.q b yXs C.W x.M.M <XG 2.v 0 s.` 3XI.`XM.$ `.5 : c h 3XMX5XMXc V V.1 Xq .W <.}.a h $.9 1.Y x.Z.} 1.YXeXe._ .._Xe._ h RXI RX- 3XV 3X1 RX-X-X- RXDXDX, 3XD t R R R R R.aX-X-X- R.aX,.aX-.aXD.MXD $XD R c R R 3.u 3 3.uX5.K.e `XlX, c 1 1XlXc :X,.aX-.a.a.aX-X- R aXI a.aX1.a R s RXD RX, R R RX1X1 3XlX3 TXJ :.' :.ZX,.aX- c $ 3XIX-XI cXDX5XI R.aXDX5 $ cXD t R $ $XNXcX. :X, T.,XJXlXKXc., xXKXcXD.aXDXDX1 x a.u RX-.u.~ R.5XS.ZXI.aX1.aXIXl :Xl ) cX3 cXI.aX1 c., D `XKXD $.e.a RX,XD.Z h $X, cX,.uX, $.a 3 R.aXIXDXIX,.DX,XDXD c.aXD R.DXDX,.ZXD.a.aX, 1._.pXp RXIX1.8.8.8.8XIXIXI.`X1.`X1.8XI.`.kXV.H.8.u.8 ~XV.8XI ~.8XI 3XD.}X+XnXqXn",
-" UXs.W.Y U.MXq xXKX. n 1XJ.Y `XK `.KXK c.Z cXIX,XI RX1 ` D 3X1 RXIX-X-X-X1X-X- 3 hXDXeX, xXG u < h cX1X- R 8XI.a.}.a Xe v pXn.YXc.Z.ZXlXlXlXH V VXX.KX5 ) (XJ.]XIXDX,X, yXKXKXGX,.DXIXVX*.HXV.`.ZX, 3 3.H 3 3.K.u.8.rXV.H.DXlXw yXr ^.vXnX>XM UXpXr.h MX.X,.8.` 3 ~XVXV.r.K ).r.u ~XV ) ).u.kX9 )XJ.R.2.$ D 5 5 I.GXwXcXUX, RX-.aX-.~.a R R aXD a :.Z $Xc D.% c.KXoX9Xo.rXo.k.X.XXd.kXo.^.k.kXt.k.k.kXt.k.K.5XtXV.H.r.HXV.u.HX5 3 ~ 3.`.' T.O.OXm.'.! s vXaXL sX5Xd D.X.ZXI.`XI.HXI.HXVXV 3 ~.k.8.rXV ~XVXVX*XtXtXd.k c.kXdX*Xd.kXdX*.k.k.K.kX*X*XV.r ~ ~XV ~.r 3XV.rXVXV.H.H.8.8.|XJX.XO.'.q.+ & MX> b.9 v.Z.M 1 1.M.W.W 2XG.'.Z.HX-X*XX 5 kX3XJX, # :XD.uXD.5 1.-XH |X7 .[ E._.M $.} cXc EXe 1.Y.Y.9.YXp E UXq._ h $Xe.a R.` R.a.aX-XI 3XIXIX1XIX-XDX,X, c R.a.aXI.M R R.aXI R R.u 3 B.a RXD.a.Z hX,XI.a hX- RX1X1XIXI.uXlXl.u.9.,XK # T `Xc 1XD.a a R R a.a RX1XI.eX1XD.eXD.ZXcXlXD aXDXD.a R $XK.2XKX1X5X, R.H T.wXI R.a R 3.K $X1X-XD 3XD h $ c 3X,.a.a $ cX5 3X-XNXH.ZX,XJ $X,XD 3.a R RXIX, 3 RX-X1 RXDXI.Z.}.uXIX,XDXIX,XN 1.eXI.aXD.5 3 3.uXl `XV : : :XIXl TXc m m k m.9Xw : 1 $X,XlXDX1XDX, $X, RXDXD.Z R.aXD R cX-XD 3XD.ZXlX-XD 3.Z.H $X, tXD <Xq.FX4 .} R.` 3.`.8.`.`.8.a.8.a.HXI.8.~ ~XI.K.uXV.8.HXV ~ ~XV.r 3 ~ 3.`.a ._._",
-" .Xn._ v._Xn.i.WXe._.YXe.Y.9.Y.-Xc 1X, 8 R.'Xl.Z a 3Xl #X, R RXD R RXDXD.u c c.e hX, <XeXG.dXe h cX3 R 8.Z RXl.}.M <._XL..Xn.YXpX, RXIX1X1XDX,.a.a 3XI.u.u.DXD.5 RXI.`X5 1XGXDX1XDXD 3Xl (.HX1X5X+ y.Y X,.a.}Xl h 3.u.HXV.H c n.Y.EX>Xi.. ..pXe UXD.'XyXlX-.u.8XV.8XV.rXV ).k.8.r.r.kX9X9X*X5.k.u.r.u.uX5XV c cXlXHXJXw.M R R.aX-XI.aX- a.aX- R.D 1X, )X. ]XXXV (.k.k.u.kXx.r.k.kXt N.k.k.k.k.k.KXtXo.k.kXoXo.u.8X* 3 3.u.8.u.8XVXVXIXI.u $Xl.w s.' y sXL.'.'.0 ( (.H.`XI 3.H 3XV ~XV.r.rXV ~.K 3XV.r 3 ~.rXV.rX* c.k.k.k.k.u.k c.kXtX*.k.k.uXtXV ~ ~ 3 ~XVXVXV.8 ~ 3XV.HX1.5XoX5 4XyXwXP y.> HX0 0 bXLXL sXD.MXw.>.YXsXs 9.E 'XV.8 3 ) 5 V.G kXcX. m 5X1X. ).,.% | |X#., [X+.F U.i.aX-XIX,XcXq p hXe._ E._ tX,.M <.aX, 3.e.aX-X-XI R.aX1 RXDX1 R RX-XIX-X,.a R.a.a.a.aX- RX1XI RXD 3 R.aX-XD RXDXDXl aX-X, R RX-.aX1.a.` #X3 `.a aXI.a R.eX- xX-.a.a.a.aXD a RX-.a R.aXI xXJXKX5X1 tXD cXlXl T.2 $X1 RXDX- R '.G.3X. tX-X1 R.aX1 # : $ c.Z.aXI R.MXD.aX,XD.a.a $X,.a.,XNXNXcXI 3 RXD R R.aX-.a.a.uX, R.aXDXD cX5 cXIX, R 3XD :.GXc.ZXDX-X1 c R R 3X1X,X3Xl `Xl.9 $XV 1XD $ ` $XlXc :XcXKXJ k.ZX,X,XD.eXDXDX1 RX,XDXIXD h : 1 $.Z.Z.9XJ T.9X1XDX, $XIXD <.a E.FX+Xp < 3 3.`.8.` ~.}.`.aXI.}X-.8X- 3.` 3.H.k.uXVXV ~ 3 ~.r 3 ~ ~.8X- 3 $.Y x._",
-" %.......<XnXnX4XnXnXGX+ vX4X+Xp $Xs.M.M uXK.9.Y.YXc.-Xh $.}.M.MX, h.aX,X,XIX3 1X,.MXe s.W hXD.a #.eXI RXw.ZXc h._Xn.Y pXG y.MX,.aXI.8.HX1X5.HXD.}XI 3.`.H.8.HX1.H.8.HX1XI R 3.D.HX1 '.2.'X,X,X>X4X6.JX> >Xn . >.- h.}XV.8XV.u 3XM E.j .Xi %Xp.<.M cXD gXd.u.} 3.r 3.HXV.r ) ~XtXt.k.XX9 N.k.k.k.K.kXV.kXd.kXV.H 3 T Y.9 tX1 t a RX-X-.aX- R.a 1Xl.Z $ m.% (XI q.5X*.r.X ).5.k.k.kXtX*.k.k.k.k.k.kX*.k.KXtX9.KXt.HXV ~.HXVXVXVXV.8XV.8XI.8 3XIXDX1Xl.'.0XK.0.'XV.8.`XV.8.H.8XV.8XV ~XV.8XV ~XV.K ~XVXV ~XVXV ~XV.rX*.kX*.k.kXd.k.kX*.rXV.r.r.H ~XVXV ~XV ~.H 3 ~XVXVXV.H.HX5 (.|.2X$.GXy b &.q 9 y b.w.wX, tX,.MXG v.= 2 v.'.Z R 3.5XX., V ) | ) ` :XcXJ IXl.| 'XVX3 | D k.[.pX4._ x.a 3 : h xXeXe p._Xe h U.a $.a 3XI.~X- c.ZXIXI R.a.a RX-X-XIXDX- R.~.aX-XD R R R R.a.aX1.a RX-XDX- 3X,X1 RX-XDXD.Z 1 D h.u.aX- RX1 BX-X-.aXI.K ` :X1 RXDXI.a 3XD.a RXD R $ xXD RXDX1 3.] $Xc c R RXlXD `XcXc.ZXIXD 3XIXI 3.a.3XHXD $ R RXDX-X- R RX5 cXD RX1.a R.aXI R.a.a.aX1XDXDX5Xl $.,XNXD.ZX-.aX- RX-XIX-XDXc.9 T :XUXc T.,Xw :X-.uXDXD h R R RX, c $ :.Z.u cX,.uX1X, c $XlX-XD R $ R.u $ a.a.a.Z $.Z $ hXIX,X,X,XDXDXI 8XDXDX,X5XlXl $Xc m kXcXJ.,.9 3X-.D.uX, t.} RX,._ >Xr.}.M RXIX-.8.`XIXIXIXI.`.`.`.H.`.8.`XIXI.kX5.8.8.u.8.8.rXV ~.r.HX-.a 1 ._",
-" % * pXp p pXpXsXe.WXpXe v vXp vXn xXGXG sXr v n.-Xp 1.YX+.[.YX+.Y t.M.a t $Xc.MX,Xe.Y oXeXD RX,XI `X-.Z $.9._Xw W z.jXr yXD hX1 3XI.H BXdX1XI.`.}XI.8X*.HXV.H.8 3.8 ~ ~ 3 cXV.`.`XDXcXKXD.M x.< { {XbXAXf.<Xf . >Xc h 3 3XV.` # c.a s o.<X>XfX> 1 3.HXdXd.r 3 3XV 3.r.8.r.KXt.k.k NXxXxXo.^.k.k.r.K cXd.u.kX* 3 3 cX..MXD aXDX- R R aX-.aXI.e aX5X5 4.% :XVX9 ).r.X ) NXt ~X*.k.k.K.k.K.k.k.k.k.k.kX*.kX*X9.u.rXt.8.u 3.u.8.H.8XV.r.uXVXV 3.8 3.HXIXl.`XVXV.8XI.HXV.H.8.u.u.8.u ~XVXV.H.rXVXV.k 3.H ~ 3.H.r 3 ~XV.r.uXdX*.u.r.u.rXV.H ~XVXV ~ 3.8.H ~XV ~XV.H ~XV.~ 3.HX5Xx (.2 ] ! @XLXm.+.E J O vXG y $ $.9.ZXe o.EXL y.a.D 3 c :.f.$X3XM ` RX- x.5XX.KXdXVX9 3 a c q }X3 k.pXqXpXMX-XI.8 $ a < u < U.a <.a.a.u.uX-XDXI.~XIX,X,.a R RX-.a RXVX,X-X1 R.a.a.a a.a R.a.a.a R.aXI $XVXD R RX, RXD RXDX1 1 m cX-X1 RXI R R.aXIX-X-X-X1 cX3 3X-XIX-X-X5XcXNXl 3 :XN $.a D :XK TXDXDXIX,X3XcXKXc h.uX-X,X- R 3XI.aXI 1XNXNX. 3 R.aX-X1 RX1 3X. $X5 $XKXl TXK.MXD.a.a.a 3X, 3XN.,.]XH aXD.Z.eXIX,.}XD.a.e.Z $ $.a.ZX, 3XIXI $X5XD $X5 $ $.ZX,XD R c.DXIXD RX1X,XD.aXI.a RXDXDXDXI hXDXl $X,XDX, 3X,XD RX5 3X5XlXJXcXc DXc.ZX,Xl ` D :.Z.ZX, T.M.aXD cX,X1 $XDXI.M < U._.iXrXcXIXD.HXVXl c 3 3XI.8X1.H.`.8.`XIXI.8.8XI.r c.u.8XV.r.8XV ~.8XVXI.aX,.Y 1",
-"Xe.)XG.).M U.M.MX,.Z C t.M.M C.M._.1Xe E vXr v vXp yX+.pXp.EX+.E.-.W.WX, $ $.} U x.jXGXs t R # ` :XI c h < RXe 2...@.jXG U.a :.K cXD.K.k.r.H.rX5.H.HXV.HXV ~ 3 3.r 3.rXV.`.8X1.}XI 3.5X1X, U EX>.. ....s.sXiXiXAXfXr.9XIXI ~ 3.K.8.uXDXD.DXq.9XmXM.rXVXdX1 FXV 3XV ~XVXV.K.r N.k.k NXk.z N.^.k.k NXd.kXd.5.u.k.uXI cXHX5X1.M.eX-.aX-.a.a a t.a TX,.3.5.u.HX9.5.X.k.XXk.KX*.K.k.k.u.kX*.kX*.k.k.k.K.k.k.k.kX9.r 3.H.u ~.H.8 3X*.HXV.H ~.8.u ~XVXV 3XV cXI.u ~XVXV.H.u.HXVXI 3XV.8 3XV.H.HXVXVXV $XVXV 3 ~XV 3 ~XV.r.HXV.r.H.r.u.rXV ~.H.8XV.r 3.r.H 3.HXV 3.H.H.HX1XV.H )XJ.2.2.2.0 g.0 s.9X0.q J OXe.M 1 R.wXH.9XnXs o y vXD.uXI 3 DX3XMX3XM.}X, hXI.`XX ).$ ~X*XX )X*X* |XJ.-.pXq.m h.a.aX-XX cXI.a.}X-.e.aX-.} RXl RX- a RX1 R.a 3X, 3X1XDX-XDXI BXI.a.e BXI.} R.a R.a RX-.aXIX,.e.aXI.a $ c.wXl $ $XI 3XD.a R R R a R RX-.a.a.` 3X-.uXl cXIX1X- 3 3XNXlX1XDXNXlX-XI., c.a R a R.eXK : cXDXIXD 1.~XIX-.aX-.aX-.ZX5 mXNX..e R.a R RX1 BXK.%XJ TXc : $ $XD h RXD R.aX-X,XcX.XHX5 hXDXl x cXDXI $X, 3XIX,X,X,X,.Z.Z h 3 3 hXI RXV $ 1XlXl $.wXc RXIX,XDX-X, $ R.aXD.a aXI RXD.Z.ZXD cX5XDXD $ R.a.aX,.a T 1XJXcXcXcXlX5X,XDXDXD x RXD RXDXD RXD B 3 c 3 3.a.a.a.}Xp E [ vXc.uXl.0Xx TXlXD.8.r.r F.H.`XI.8.H.8 3.`.`.kX*.HXVXV.8.r.H.H c.5Xl h.j ",
-".)XnXe UX, RX5 $X, R R.a.a RXD.M hXS.Y u U.) UXeXpX+.YXLXe.s.s.s.E.Y.YXw.[Xq 1Xq.Y &Xe.s $.w.9 :.M U t h x._.@.@XC.j...MX,X1.X : 3XI.k ) F.`.5.uXx.`.HXx.K.8 3 #X9.u.8.u cX*.a 3X1.u.8 3.a.MXpX4.....).sXnX4 v 0 O.@.j.M 3.aX*XVXt ~.HXV 3 3.MXl c DXd.r.H.u 3XVXV.H.HXt ).k.k.k.kXj.k.^.kXt NXt.k.^.k.k.k.k.k.rXVXDX.X..Y.a t.a RX- R R R R.a : c : '.HX9Xo )XoXkX9.k.k.k.kX*.k.K c.k.k.K.kX*.k.k.k.k.K.^.k 3.r.rXI.r 3.rXV.H 3.H ~XV ~.u ~ 3XV ~ c.u.rXV.H.H.HXV.8XVXVX*XV 3XV.H.rXI.HXVXVXV.kXVXVXVXV.HXI ~.uX*XV.8 3.H.H.u.H.H ~ 3.rXV.u.H.8XV.H.H.H.H.H.HXIXIX5Xl.2 ] m.2.> @ g.w s &.>XC 0XL.sX,XDXDXJ =.wXL.EXG 9.aX1 3XV 3 VX3XMXM 3.a.u.}.8.aXVXXX9.8.`X9.K.f q 5X3.gXB._XeX, <.8.`.5X5.5.8.~.aXI RX-X-X, h.aXI R.a R R R R.aXDX,X5XD R c R a R R 3 $ c c.aX- R 3.uXDXI.a.ZXIX-X1.,XN.3 K.G 3XD c c R.a RX-X1XD 3.eXIX-X- R.`X- 3 c.5 3.`X1XMXNXJ.u $XN DXJXcX5 c $.uXl.KXH $ 3 cX, 3 3 3XIX-X-X-X-XI a D kXD D k R 3X, 3 RXIX, cXlXK.ZXl.' :.'.Z $ R.a.aX-XDXDX-XIXD.Z cX,.uXlX, cX, 3 c x 3 R.M R B R R R RXDXI cXD.eXK.9XK T TXlXlXlXDX1 $X,X,X,XD RXD RXD.aX, RX,X,.ZX,.ZXlXD $ RXDXD $ RX1.ZXD.Z.Z.eX1 8X-XDX,.Z $.Z R 8XDX1XD RXIX1XD $XI.a.a.aX,._ v [ R.0.] g ).Z 3.H ~.H.H.r.H.8.uXV.8.8XV.8XV 3X-.u.K.HX* :X9XX.$.] `.3 :.,.Z",
-"XrXG UX, h c.} R R.M <.M.aXDX1.~.% m.O t._.M h ` x.KX5 cXD B.M tXD xXhXc.WXG.jXnXp v._.9XrX.Xc.YXG.@ v._.s %.s vX+.W R.M.a.aXV.HXIXI `X5.8.8.5.K.uXVXVX9X5.8XV.5 #X*.8.u ).K 3.`.HXdX1X1X, >Xp 0.m.s h < h.M.N.s O o y.WXDXI.u ~ 3.r ~XV 3 3 cXD.5.2.H.H ~XV.rXV.r.H.r ) ).k.k.K.^.k.K.k.k.^Xt.k.k.k.kXd.kX5Xo.uXI c DXH.9XD.M R RX- < R < t.}.u R ~.k.kX9.r qXX.k.k.k.k.k.k.k.k c.k.k.k.k.k.k.k.kX*.k.kXo.K.r.uXt.8Xo.kXVXV ~.H.rXVXVXV ~XVXV ~XVX*Xd.HXV.rXV.r.uXd.u.k c.r 3 ~XVXV ).5X5.HXV :.HXVXI.8XI.uXI., ) ` DXK.$ $.$ ) 3XV.8XV.H.uXV.8XV 3.rXV.8.8.8.HXo ].|.2 mXw g !X.XPX,XP g &.q J.s.W U 3 R.ZXs.s.W b.9XDXIXD 3 3.} c., :.K 3 3.KXI c ~XVX9.8.`.8X-.KXx V., |XpX+XqXeXMX-XI ~XX.k.KXV.~.`.a.~.a R.u.aX, a.a R R R R R R.a R., :X5.- :XK :.'XJXcX.XKXJX, hXI.a.} 3X1 3X,X1X-X5XNX, $XN.ZXD hXl hXD aXD.a R 3 R.aX1X-.` R.a.`XIXVXM.K `XVXN.2X, cXNXJ 3 c $.a 3X1X- R 3.5X, RX-X-.a R.u R.a.`X-.}.~XX 7 KXHXD.a R.9XK.9XK.9XcXw TX.Xw TXlXKX1XD $.Z $ c h $X,X,.Z.aXD.a.a.aX, R RXI.a RXI.uX1 RX-.a RX-.aXI.a.a 3X, RXl 3 $ RX,.uXDXl R 3X,X,X,X,X-X1.aX1.MXDX,.aX,.ZX, $ $Xl R $ RXDX5XD.aXDXDXV $XDXD.a R.MXDXl.ZX5.`X1XDX1XDXIX-X1.aX-.a.a a.}X,XqXqXK.MXDX,X5.`.`.H.H.H.H F ~XV ~.8XV ~ 3 3 3.8.K.5 ) :.|.|.5.] 5 D qXl c.5XD 3",
-"Xn.M h.}X- R RX1.a.M.a.a.a R.D TX$.GXNXl.M $Xw x c cXoX5.K : $ c.aX-.SXN $.NXhXpXe E.W.W.YXG.Z.MXeXq p % ... ..jXG $ $X, h 3XV.H.8XV.u.8.`.`XI.` 3.HXIXV.`XV.8 #.uXIX-.k c cX1.HXd B.HXlXpXr . % v U <.a :Xl.M.w.s.vXp.pXc.- :.` 3.H 3.rXV 3XI.u.DX5.8X* 3XV ~.8.H.u.k )X9.k.k.kX*.k.k.^.k.K.k.k.k.k.k.^.5.k.K.k.u.u :.%XJ $ a.} R.a t < t.aX,X-X5 5.kXx.rXV.5.5.k.k.k.u.k.k.k.k.k.k.k.k.k.k.k.k.kXd.^.HXx.k ~.H.rX*X9Xx.H ~ c ~ 3XV.H ~ 3 ~.HXV ~X5XV.rXVXt.u.k.k.u.k.kXt.uXV ~XV ~ :.K.$ D 5 DXJ 5 ) D I ,.% :XlXJ $ `X3.Z : ) c ~ 3.8.uXV.8XVXV.HXV.H.HXV.r ( ] ] ! m !.! sXGXc s.ZXK 9XO & o.B 2.M RX1XD C.N._Xn ' R.`.8 3 c.a $ V ` :.KX-.KXxXM.rXX.rX9XX 3.8.rXX V.[.SXq $ hX-.a.K.`.K.uXV cXI.`X1XIX- R 3XI 3XI R R.aX- RX1.aX-.aXKXcXJ m $ :XcXlX5 :XK $ $X-.a RX- R.aXI R.~ RX1 $XNXJX.X..MXD :.- $X,XD.aX-.a.aX-X1.~.a RX-.~.aX-.a 3.a.uXl Y 6 3X,X$XJX-X-.a.uX- RXIX1X1 R 3 cXlX,XIX-XI.~X-.a.`X-XIX-X- RX-XIX1.M $Xl x h $XlX,Xl 1XlXlXDX,X,XDXDXD R.aX- RXI.a.aXI RX-XDX-X- c a RX-.a 3 RX, $.u RXI R.` aX- R.aXIX, aXIXD.u `XD 3.a :XIX,.ZX,X,Xl.ZX, cXlXlX5 n $Xc h $ $.Z xXD R.a x.ZXD RXDX,XD.ZX1.a.a R UX,X,.D.ZX,.u.D $X,.ZX,.aXI.a.a.a.MX, 1._.- UXDXIXIX5.H.` ~.r.`.u.H.8 ~XV ~XV ~ 3 ~XV )XJ IXJ.2 D.5 'Xt 3XV 3XV.8 3.H",
-"Xs U t.a 3 $.ZX,X,X, 3.} RXIX, ` : x.3.1.Y xXD 8 RX1.`.8XIX- 3XI.aXD.% tXh K.hXs u.a U U.M.a < R R C *XbXb . y.9XN :XI 3.H.`.8 3X1XV.`X1.8.8 3XV.K c.H 3XVXIX* 3 #.uX5XdXV c 3.5 cXo.uX,X+.x.@ O.M.M R RXI.u.M t u...s.sXr $XD 3 : :.`.`XV 3XV 3XoXV.HXV.8.uXV.r ~.kXxXx.k.k.k.k.k N.k.k.k.k.k.k.k.k.k.kXx ).&.% 5.| k I.3 Y mX. Y.3 KXw h <XDXHXxXx.5.kXxXx.K c.k.k.k.k.k.u.k.kXdX*XdX*XdX*.kX*.k.kX*.k.kXV.rX9Xx )Xt.`X*.H.8 ~XV ~XV ~XVXV.uXt.k.5.k cXdX*.k.k.k.k.k.u.kXd.u ~.HXV.8XV 3.H cXV.HXI.H.u.`.5XV ` :XcXK ).u 3XVXVXV 3 ~.` 3XI.`.8.8XI.8.u.H.8Xo ] ] ! ] gXK T =Xc.Z.w.9 s TXm.>.q w 0Xa.'XUXD.M.w o v.9XIXVX-X- VX3Xl V.%XMXX.kXX ).5.uXXX* 3.$.KXXX3 # [.-.9 `X,X, 3.5XVX1X1X-X-XIX* 3X5.e RXIXDXl RXIX,X-XI R R.a.e RXDX-.a.a BX-X,XI.eX- R.aX-X,X1 RX-X- R.aX-X-XI RXI.a 3XNXl $XNXJ a.aXDX,.u c.a RX1 R RXI.a.~.aXDXI.aX-X- RX-X-.a.~XKXDX-X- t a 3 a.ZXD 3XD 3X,XI.u 3.u.} 3X5 ` cXDX1Xl c 3XIX- aX-.a a R R.MX-.a R R a R.aX,XIXD $X,X1 RX1.aXDXD.a RX- R aX-XD a RXI.e 3.M c 3XD.Z c RX1XDXDX-.aXI.aXI R R R.u.a c $ 3.aX1.M RXD $XlXD.-.9XlXVX,.ZX,X5.aX1X,.Z.a.Z h.Z $.ZXD.ZX, xX1XDXD c.9Xl :Xl g xXJXK k D TXD RX1 RX,.aXD x.a.a RX,.M._ .X7 x.a.}.8.`.u.`XI 3XV.8.u ~ ~ ~.8.8.8.8.8 3 3.rXVXIXV.Z.5 ( TXJ ) I I.] 5Xc",
-".M.M.aX, c.a RXD.a R RX- aXIX1.aX, h.MX, 1Xe.*.M R RX-.e R 3 3.a 3.$XS :.'XSXH R <.MXD.aX- RXIXDX,XD.W.sXn H x.SXw YX-X1.`.`XI.` 3 3XI.8 R 3 3XVXDX$ Y.3 )XIXI.`X- B.8X1XD.HX3.K qXX s U.j HXpXn : '.D.DX,.u.i h U.m.. vXr.M.a c `.D.H.`.8XVX- TXx.8.rXVXI 3 3.H.u.5.R.k.k.kXo.k.k.kXt.k.k.kXo.k.k.k.^.k.k.k.kXoX9.kXV c IXH.2.%.,X. nXK $.MXD `.u ).kXxXgXx.k.kX*Xd.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.uXtXt.k.r.k ).8XV.HXV ~ ~.k.H ~ 3XVXV.r.uXt c.kX9X*.k.k.uXd c.k.k.kXd.k c.rXV.8.u.H.u ~XI.k.u 3XV.8 3.8XlXI c.u 3.Z 3.Z.H.H FXI.HX1.H.` 3.8X1.`XI.H.8XV.u.r ]Xy ]Xy gXU = [.Z $.u.9.Z y.n.qX0.q 0 vXa R RXs.WXe.E.ZXI.~ 3XI : :X3 ,X# } IXM `.$XX.K ) I., 5XXXX.[.,XJ .9 1.uXV 3.u.k 3 R h c 3Xl ) :.KXIX-.~X,X-X- 3 R.aX- R R.aX-X- R aX1 3 h cX, 3 hXIXIX,XD.a R R R.aX1.aXI a RX- R :X$X.X, `.%.YX1XIXD x.MX,X,.aX- R RX1.a.a.a R.aXD 3XI hX,X,.uX3X5 cX, c 3XD 3 cXIX-XDX1.aX- R.a aX- RX- R :XIXI.K.uXl :X1 c R.eXI a.a a R R R R.a.a R B h RX1 c $XI R.aX-XI.aXI.aXI RX- R.aXD aX5.M.uX,X-XIX- R cX1XI cX-XI.e RXDXDXDX1 RXD :.u.Z RXDX-XD RX,X,X5Xl.Z : $ x :X, RX,.M.wXe.Z t.9 $Xl.wXD.Z.ZX5XDXD.D : T :.' 1 :.ZX,XDXD.aX,X,.M.M RXDX,.M.a $X,X,XJ U._XqX+XM.aX- 3.8 3.u.` 3 ~ 3.8 ~ ~XV ~XV ~XV ~XV ~ 3XIXV 3.k.2 IXJ 5 (.0X9 :XV.k",
-".a.aXDX, RXD R RX1X1 RX-.8.a aXD h.M hXG E t.M C R R.MXIXI.aXI 3 3XJ.,Xl :XKXw B.a $ R.aX, ' 3 3.HXD.sX>Xp.EXwXSX#XSX, 3XI.HXIXI.uXIXI.}.`.8XIXI.` 6 :.DXN.5 3.aXI 3XI.`.kX5 3 3 3X,X, oX4X>.j v.aX-.`X1X1 x c U.iXp.;X0X>.Z c.u.Z $.u c c $XK.2XK.8XV 3 3 3.u.H.kX9 )Xd.k.kXt.k.k.k.k.^.k.k.kXt.^Xt.k.kXt.K.kX9X5.kXlXVX5.uXIX, : 4X. m.9 : T $ ( ~ NXkX5X9.kX*.kX*XdX*.k.k.k.k.k.kX*.k.k.k.k.kX*.k.uX*X*.5.rX9.u.r.H.r.uXV.H.rXV.r.r.uX*.k.k.k.kX9.r.k.kX*.k.kXd c.k.k.u.r.r.H.u ~.8XVXV.HX5.8.u.` 3.H.u.8XIXV 3XVX,.HX,XV.HXVXV.`.`.8XIXVX1.8XI.8XIXV.8XVX9.2 ]Xy !XOXU s x x h.ZXK :XG g.jX0.E 0 2.N T.a x.W.=.n.9 UXIX1XI 3X,XI D.,.%.%.% } I D.KXXXX ) DXXX3.gXpX+ yXpXc `.u ~XV 3X5.u.a a.a 3.uXD B $X1X1 3 : 3 3XD a R R RX- R.aX-XI hX1.aX-XI.a.~ R.} R 3X, RX- RX-X-X-X-XI 3.ZXI $XD cXDXI RX-.} TXcXl.w $ $ $Xl cX,X,X,X, 3XDXDXD.M.aX-XDX-.aX5 hX1X- aXI a.a.a 3XI aX- R.aX- t RX- <.a.aXDXl $Xl #.Z.5XI 3.~ 3 RX-X-XI RX- R.aXI aX1XI B.u.a.eXI ` 3X1.aXD R.a R.aX,X,XDXD 3.Z R 3.Z :.~XI RX1.uXD c 3 :.aXl $X,XcXc ` D DXH mXI cXIX,.e.M RX,.a U RXDX, $ RXl.M.MX, $X,X,XD.ZXG c xXD R h.Z $ RXD $.ZXI R.*X,XDXD.MXD.M R hX, R.M.aXD R $XK $.SXD x...FX+XeXI.8X-.8.a 3 c.a 3 ~.`.8.`.8XV.8.r.8.H.8.H ~XV ~XV.k.u.5.kXl.kXI.H.8XVXV",
-" 3 3 c.a.M RX, 8 R R.`X-X- aXD h.M.MXn.w u.M R < R.a aXD 3X-.`XV RXl c ' : T $X1XD R.a.e c 3 RX-.~ R u p %X8.LXc.YXN.5X1XIX-.a c 3.aXI.`.}XIXIXIXI K : 3XH I.~ 3XIX1X1Xd.D.uXIXDXDXeXpXp J.sXSXw.H `XlXIXDXD t U p p...EXpX1X- ~XIX1.`.HX, s.E.9XJ.uXVXI 3X,XdX5.XX@XxXxXx.X.XXxX9.X.X.5Xo.^.X N.5.^Xo.^Xo.^XtXx.k.k cXd.u.u 3XIXV $.3XcX.XJX.X9XoXo ).^ N.X.rXo.k.k.k.k.k.k.kX*.k.k.k.k.k.k.kX*.rXV ~Xx ) F ) ~.H ~XV.k.k.k.rX*.kXtX*.k.k.k.kX*.K NX*.k.k.k.k.k.k.uXd.kXtXV ~XV.HXV.u.u.8XV.KXV.8 3.H.k.5.uXVXVX5XD 3 3XV.uXo.`X1.8X5XIX1.H.`XIXI.8XI.H.H.u.kXy ] g gXK.' $XDX,.Z TXGXO.9Xw.qXC.WXa CX,.' tXsXsXLXG.ZX,.DXJ )XV.uX3 I., V VX. | VXH }XJ I.,XJXc.- 1X+ .wXc xXM.uX*XI.K.u c.aX-X1X-X-.` 3X5X,.~XI 3 RXD aX-X- R.a a R 3X,.a.a R.a R R.}XD.a cXD.ZXD 3X,X,X,.u.ZXlX, 3.u h.u.Z.5X,XD.uX-.9XcXD $X,X,X5 h.} cX,.a t.a.a R t R.a.a.a RXD $.a 3.a R.aX-X- tX- 3 hXI R aX-.a x xXl.u.Z cXK.KXlX5.KX* R.8X-.e.` R RX- aX, 3 :Xl.Z 3 $ c $ cXl 1.]Xl 1X-X1.aXIX, $X-XDX, 3 R RX, RX-XIXI RX-X1.~XK `.K D mXJX- c.' TXc :Xl T hXIX,X, RXDX, a.MXDXD.aXD.Z RXD.'XD.a.Z $.MXDXDX,X,.wX, x.ZXDXDXlXl.DXDXI $XDXD.ZX,X, R.M <.M.a xXD.M.a.a.Y.ZXw.Z sX,.MXnX4.- h.aXI.8.8.8XI.} cXI.8.`.8 ~.`.8.8.8XV.r.H ~ ~ ~.H.8.8.r 3XV.8.k #.r 3XV ~",
-"., TX-.a R t.M R RX1X1XI.a 3 1 x.d.s._.M t t.a < a h $.aX-XIX-XI :XD :X. :.Z.`X1X5XI.H cXIX- RXIXI R.M UXf.J 0.j.w.] T 3XI.a 3 3 RXIXI.`XIXIX- 3 3X$XVX- K.K 3 R.a.a.8XVXVXVX1XGXKXp.@Xn %Xr =XZX- 3XIX, h t.)Xe..Xn HX+.Z.M 3.`.8 ~ c 3Xe.j H.@Xc.M.}XIXIX1.H.HXd (.r.k.k N.k.k.^ N N.^ N N N.X NX9.X.XXx.5Xx )XxXxXxXX.XX9.5.k.u.5.%XH Y.3 5Xl.5Xx ).^XxXoX5.kX5.^.k.k.k.k.kXt.kXt.kXt.k.kXtXtXV.8XVX9 5X5.8 ~Xt ~X*.k.u.k.k.k.k.k.kXt.k.k.kXt NXo.k.k.k.k.kXt.k.k.k.uXV.r.H ~XI.r.5.5 c.8.KXIXVXVXVX9XJ I ( mXJ I.] D.2.u (XxXI : ).8.H 3X1XI.`.`.`XV.H.8X5X@XOXPXOXO.'.w.-XJ.wXw !XPXK sXmXw 9.EXs C.a.MXDXLXs.sXUXG 1X1 :.2 fX..% } Y , } V `X3 }XS 5XM 3X1X, R.M .Y X7 1.iX. m., :X-X. '.5.,Xl T T T m.3X3 T.$ T IXl hXD 3X,X5Xl cX, 3 3X, 3X, 3XDXIXIXDXDXD c RX1.a R R 3X-X1 aX1X-X-X-X-.K R RX-.a RX, $.9.'XcXl :Xc : ` c R R R.a R R.a B.a.a #X-.}X-.aX- R.`XIX-X- RXI 3.}.a.e.M 1 T x D.,X5 `XJXJX- 3 `XV R 3XI.~ 3 3 cXIXIXl : m `XJXJ.,.2 ` TXKXV $ 'XM.DX5X,X1.ZXlXlX5Xl :XJXD R R.Z RX1XDX-X3 ) m 3 #.uXD aXD RX1XV c.u RXD.a xX,.M R.MXD.a RXDX, 3X,X, 1.MX, x.ZXD.Z U RXD.ZXlXD.ZXDXD.wXJ 1 R RXD $ RXD.M.MX, R.a tXlXKXcXc ` sXJ hX, R 8XDXeXGXqX+Xl R.H # )XI.`.` c.u.`.H.`.8X-.` ~.` ~.H.H ~XV.r.rXV.r.8 ~.r.r 3 NX* ~ 3 ~",
-" `XKXK n XK $X-.aXIX-X-X1 U :Xn.jXrXc.M R.a < cXKXX h.a RX-.` RX- $XJ ' BXIX1 T.k 3.H.8X-.` RX-X-.aXD E.. %.P o 8X-XIX-XI.}.uXIXIXI.` 3.`.8XIX1 :XN I m.].H RXI.8.a.8.8X*X1 : TXn .Xb...sXS.-XN $.a.a t.a u.W....Xf.x M.Z 3.`.8 3 3 R 1.@.@.C ^Xr.a.}.8XIX1.H.HXxXx.k.k.k.X.KXx NXk.zX9.zXx.kX9.^Xk.X.k.X.^XkX9.kX*.k.k.kX*.k.rXV.u.K.5 I.] )X9 5.XXoXx.z.5.XX9X9.XX9X9.XX9X9XxXxX9XxX9X9Xx.5.5Xo.5.5.5.5Xt.K.K.uXoXoXo NXo.KXo.KXo.K.^.K.K.^XoX9XoXo.k.k.kXo.k.k.K.k.u.rXV.rXV.k.KX* qXV.rX5.H.HXV.8X9 :.5.].K :.] :X5XxXDXoX9XV IXlX1XI.H.`X1X1.HXI.`.rXVXV.2.2XyXO.' x 1.jXw.OX;.GX; @.O.qX0 o v.' U.MXDXDXsXGXm v xXl.0Xl.2.%XxX5X3 ) k.%., |., k ` h c $X5Xl.wXl h.iX%X7.T.SXHXH mXJ.u.0.] DXJ m.0XcXKXJ m.2X# DXM.%XI RX-X-XI 3X-X- RX- RX- RX- RX- R.aX- R a $X- RX1XI.aX1 3 R RX-XI RX1 3XXX-.`X1X-X1XDX,.Z RXcXcXJ 1 cXK hX-.a.a R R.aX- RXI a.5X- 3.5 RX1 R.~X-XIX-X-X- RXDXI.aX- x c.9XlXlX,X5XK 3.`XIX-Xl.5 3XI.uX1XIX- R R 3X,.u.aXIXIX1XIX5XIXIXI a c ` :XJXJ.2.,.2XJ kXlXK :X,.MX1XIX,.` RXIXIXMXX.5 #XIXI R RXDXD $X,.a RXD.aXDXl.aXD.a.aXD.M h xX1 $.aXl : x 1 1 1Xl.'XcXc.w x $XD.ZX, $ TXJ.2 $XcXl 1.ZXl c sXl s a.9XJ x.3.9 :.W $.wX, UXD xXn vXK UX, ` cX3X- 3XI.`XV c.8X1.8XIXV `.8XI.8.r.H ~.8.r.8.r.r ~ 3 ~ 3 ~.K.k ~ N",
-".5.ZXI $.wXq h.aXIXI.~XIX,.9.w EXwXLXn.M.aX- R 3.a.a aXI a R 3XV : 1 : 3 RXVX5.5X-.uXXX-.`.aX-.aX1 c < C..XbXnXGXDX1 3.8X- c.H FX1.8XI.` 3.` 3.8.HXI.D.`XI.`XIX1 3.`XI.u ~.` c.- JXbXi p WXB.w YXcX-.M.a <.N...s.4.; M.p.YXD.HX1XI.} $Xw.J.@X6 w M.iX-.}XI.` F.H.z.k.^ NXt.XXg.$Xg q qXk./Xg N.f.^XkXk q N.$.$.RXo.^.k.k.k.k.k.kX*.rXMXkXX.KX*Xx ).K.^.k N.k.kXd.k.kX*XtXt.uXt.k.u.kXt.k.kX*Xt ~X9XX.kX*.r.uXVXtX*.k.KXo.KXoXo.^XoXoXoXo NXo.5.5.zXo.5.5.X.X.5.5.X.kXo.k.k.K.5.5XxX9.5.5.k.KX9.K.KX5.KX5Xo.K c.K c $.u.Z.u.u.k.u.k '.5.u c $.u.u.u.u c.uX5.k cXx 4X;Xy y g.YX.XcXy ! 4.O K K.GX0XmXL.9 h $ xX,.MXa.w.W.w xXc :.HX5 cXo.u 3.u 3 V #.}.M.}.Z x $XDXI.H.a .Y.FXB.p.j.Y 1 $ $X1XD BXDXD.aXD RX1X1XI R cX-Xl., c.M 3.Z 3 RX1 RX-X-.a R R R R a R.M R R RX,XDXDX,XIXD 3 RX,XI t.aX- R.K c R R R RX,Xl 8Xl 3.MXD.MXI aX- 3.uXD R RX1X1 R RX1X- cX,.aXX 3 cXVXI R.`X1X- RX-XI a.a.a.a.} R.~.aX-.a cX1 RX-X-X-XI cXI.`X-X-X1X-X- R R.` R RX- R R 3X-X1XD.u RXD T 3.uX,X,XD 3 R.ZX, $.Z.u.a RXIXDX1.aX1.u : 3 : 3XI RXDXIX5.uXI.aX-XD RXD.} x.a.a R $X,X. T.9.,XcXKXJ.'XK.9XKXcXK.- x $.ZXl UX1XDX, R x D.9Xc 'XJXl.9.9XKXK 1.Z 1 $XlXl TXlXl x.ZX,X, x.[.YX0XH.Y x.M $ c cXIXIXI R cX, RX1XI.8 c D.H 3.8XV ~ ~.8.r.8 N.rXx N ~ ).r.K NX9",
-"XJ.0 x xXe.} a.a.} 3 $ hX,.MX+ yX+.M.-XDXD.aX-X-XIXD cX-X1 3X5 3 $Xc.}X-XDXI.8X-.u.5X*.KXX aXI 3.u BXD._ p...EXe RXD.8 RXVXVXI.`.HX1.8.KXX ~XI.` 3.kXI.8 $.H 3.`.` 3.`.u.` 3XI.w.;.@ %Xn.gXe RXc.O.Z RXI U.M v JXf.;X>XGX+ $ R R $.Y.[ >X6.B ;.P.x h.} 3X1XI.HXV.U.kXt.k.^Xk.X.^Xk qXg qXx qXg.z q.zXx qXx.zX@.z.K.^.k.k.k.^.k.k.kX*.k.r 3X*.rX*.X.k.k.XXo.k.^.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.kX9.r.5X9 3 ~.u.u.r.u.k.k.kXd.k.k.k.k.kXd.k.uXd.k.u.X.uXdXd.uXt.H.H.8.r.`XV ~.8X9 ).k.uXVXV 3 ~ c.8 3XI.5.u.H.uXIX1.` RXD 3.8XI.`.8X-.H.8X-.`XIX1.`XI.`XI.`.H 3.H.5.2.2XU.9 g s.DXG gXP 4XyX; = @.>.O y n 1Xc TXK .Y n.1.>X..2.DX1.k.`.H cXI 3 3.a.a $Xc.3.- K [Xw.% mXcXc.-.FXeXp E.i.M h.a R R R.a RX1.a RXI R.DX- c.8 a R c 3XD R.a R R R R R R R a.a R.a RX- RX1X1XD.uXD B R a 3XIXIXDX-XI.a.a 3 # 3X1X1X1XDXw $X, sX,.a 3X, c 3X-.a.Z.uX1 R RX1X-.aX1.5.~ 3.K : 3.5X5.KX- 3XV 3.`X-X-XIX-X-XDXDXDX- RX1X1XDX- RXIXIX-.` cXV.uX,.uX,.uX1X-X-.a RXI c 3.Z `XI RX-XDXVX-X,XDXI R.~.a R R.aXI RX, $.D RX,X1XI.u DXl.K c.a RXIXDX- T cXD BXIXIXI.M.a.ZXDXD hX5 1 : V.]XM.ZXl 1 $.'XDX, x.ZX,.a RX,X, xX1XDX,.a B.M.u.wXl x.9 $XqXlXKX5X5XD.u c $ cX..9XJ.9Xw.[., nX..1 [.jXrXB.YXK V RXIXXXc `Xw XM xX, ` 3XH.uXI 3XV.8XV.rX* )Xt ).K.kX9 ).`XoX9",
-" c.'.0XcXK $.} <.u.a R.e C.M M nXK.Y.3XJ :X5 : $XV.].}X- R.u 3 3 ` h R.aX- 3 :XKX3.K :X- 3 cX,.aX1 a._.s % .Xp u UXDXD.M.u 3X1.HXI.`.`.5XX 3.8XV )XVXI.`.5X9XI.8XIX1 cXV.8.8.}.}.s.@ %.m t <XI R RX1XDXDX, U._.sXpXn._ . W.+XG.9X>X>.j..Xb.P L.4 =.wX1XI.a.8.8.kX9.k.k.k.k.k.k.k.k.k.kXt.^X*.^.k.k.^.k.k.^.5X9.^.k.K.k.k.k.k.k.k.k.kX*.r.rX*X*.k.k.k.kXx.k.k.k.k.k.k.kX*Xt.k.k.kX*Xd.k.k.u.kXt q.u.k.K.H.r.uXt.kX*.k.kXdX*Xd.kXt.kXdX*.kXd cXd.k.X c.k.u.r.u FXV.rXV.r.r.u.r c ).u.rXV.r ~.u.k.HXVX5 ).$XJ 5.] `.] : cXc cXV.u.uXI 3.8X1 3.8XIXIXI.`X1.8 3.8.H.5.%.|XyXPXc o x g.'XPXUXO.2Xw.G.>.q.>XH VX3Xl 1 !X.Xw yXUX.XJX1.HXVXI.KXxXIX- 3XIXMXcX#Xh n n M.G.3.3.GXh nXp.W .WX, < cXDXD a R < a R R B.~.~ :X3 $ R.`X-.u aX-X-X- RX1.a RX-X-X-XD R a $ $ h RXD RXI $ 3X-XIX-XD 3 RX, R.a RX-X1.5.uX- RX-.ZXl.Z R xXDXD R aX-XI 3 R aX1X, 3XI RX-X1X- #.5 c.u.5 $ 3XV.5.u ( c :XI.`X1X-X-XIX-XI 3 B R.aX- 3XDXDX-.eXI RX-XI #.` RX-X- cXI aX1.`.ZX1 RX1 R cXV RXIXIXI $XIX-.a RX1 R R.a RXDXDXDX,.ZX1 3XIXI cXJ 5XJ.] )Xc D.2 m `XVXI tXD.a.a RX, h $ c $XcX5X,Xl RXD 3 x $ hXlXDXDX,XDXDXD $X,XD $X,X-X,XJXD $ 1XcXc.9 $.w.W $ $ $.Z `Xl : :XcXJXcXK.9Xl $ h UXK ._._ .Xq .9X3 $.a kXp.FXrXwXH.[.9.-.S k.9XIXIXI ~.8.k.$.rX9.k.k.r.H.r ~X*",
-"XD a.a.MXD.a a c.} < < u U.wXqXe # : : c.K '.uXlXJXJX5.` R.u.- `.Y.a.a RX5.' c.u.~ 3X-X1 R aX-.a.a.M.)...x.;XpXnXpXpX+.wXD.MX1.`.`XIX1.u.u.` ~.uXVX5.8XI.KXI.8.8XI.H `XI 3.8.a.a...@..Xe < R tX1XV.D 3XD.M R U.WXn._X> n HXhX0X0 w M MX4.C w.{.@Xw xXIXV 3.8 3.XXX.^.k.k.k.k.k.k.k.^ N.X NXg N.^.k.k.^.k.^XxXt.K.^.k.k.k.k.k.^.k.kX*.r.k.^.k.k.k.k.k.kXxXt.k.k.k.k.k.k.k.k.kX*.k.k.kX*XVXdXkXo.5.k.HX*.r.kX*.kX5.kX*XdX*Xd.k.k.kXt.kXd.k.kXd.k.KX9Xd.r.rXV.rXI.rXV ~XV.5.k.H.r ~XVXV.8 ~ 3XV.k 3.H 3 ( :X5 ) : ` 1Xl $ :Xl : D.8XIXIX-.` 3XIX-.`XI.`XIXIXV.H.HX5 ).].> !.!XU !XPXU ] !.] ' ! !Xw v 1 c.K.aX1.M x v.WXa s.2 $X1.`.uXV.`.K 3.5 D.] k.-Xw.1 y.Y.pXc., 1XcXL.WXe.W U U R 3XD., ` 1 1.' : 1 ' ` T `.% c.K 3 RX- 3 R.a.a.` R.~X-X- R.a.a R R aXcXJ $ ` DX. mXKX1.a RX- RXIX-XI RXI RXIX1.~ ` :.%., $X, 3.w : $ hX-XI.a RXI c cXIX1X,XV 3X-XD.u c.e.u 3.u c.5 `.K c c c.k 3XIX- R RX-.~X- RXIXIX- R.a 3 RX-.a RX- RX1 R $XV.aXIX-.ZXIXD.Z R.eXD aX1 $X,XIX1 R RX-Xl.H RX1 R.aX1X- RX1 R RXD c.DXD TXI c D } }.$XKXX $ c cX,.Z.aXIX,X,.M.aX, $ :.aX5Xl.KXKXcXl.-Xl.Z 3XDX, $.ZX,.aXDXD RX-.a.Z $XD R 1XK.9.YXGXcXs U U.MXsXDXDXl :XlXl cX, $X,.Z $ UX, h h x U.m._._._._X7.-XB UX7X+.J.pXh.[.,.[ xXc 1 VX, 3XI.r.8 ~ ~XV.H.8.8.rXV ~.H",
-"Xl $X1X1.a R h 3 <.a t.M.W v.W h.].5 c c R RX-.`X-X5X1X- RXM.a x xX-X, $.wXIXD.~XI.~X1XI.a.eXD a a hXpXf.4.4.@ ^ ^XAX6.x o $.}.}XI.`.8.8.` 3.8X1 3.~.8XI.8XI.8.a.8.5 $X1XVX*.a.}XnX4.sXn x : $.Z 3 R B RX1 R t h xXq.) E v.@Xp.E.@ M.;X>X2 r S S.>XKXVX1 3 3 c.rX9.X.^.k.^Xo.^.k.kXt.^./ N./.X.k./.k.^.k N N.k.k.k.k.k.k.k.k.k.k.k.kXt.k.kXt.k.k.k.K.k.5Xt.k.K.k.k.k.k.k.k.k.k.kX*.k.r.r.KXkX9 ~XVXt.K.k.k.kX*.k.k.k.k.k.k.k.k.k.k.k.kXtX*X*Xt.kXoXVXV ~ ~XV ~.H ~.k.5 ~ q 3 ~.u ~.rXVXVXVXt c.HXV.uXI.HXI.`X1 R c.aX-X- R k cXI.`.8.a.`XIXIXIXI R.8X1.`XI 3.8 3Xx.2 ! gXP.'Xm.0XO.0.D.D.uXcXPXL s $ 3 :.5 $Xa.W 9 y 9 'X5XVXI 3.8.KX5.u.HXI.% m.3.GXHXH.1.T.+Xr.hXM.iXp.w.W C.MXIX- :.] 1 :.Y xXw 1.9XD T $XK : c.u c.~ R c.e.~ R.aX-X-XI.aX- a a.aX-X, $ x.aXl 3X-X1 3.a.~XDX-.a.a R R R RX1 R $ D D mXl.%XcXJ k.2 `XDXD R R R RX-XI c 3 RXI 3XJ `XV RX1XI R R.uXIXMX5 3.u c # cXIX-X-XIX-.a RX- 3X1X-.aX-XDXI R RXl x.~ R R.~ $ T R.~X- 3 $X-X1 hX1XD R.e TX5 RX-X1X1.eXl :XIXDXIX,X, :X, :.9 TXJ.-.3 m D RX- c c c )X1X1X1X-X1.uXDXI.aXD R.a RXlXlXl c.5 T :X5 cXlXlX,.DXDX,X,XD $ $X-X-XDXDX, cX,.ZX,X, h.M.M a < t.M.M.M UXDXD.} c `XD.aXDXD.Z s x $ h.} R.M.} u U.mXqXq.YXpXcXB.YX4.FX4X7XwX%Xr k E.Y .Y `.}XIXVXV.8 ~.8 ~XV ~XV.8.8.r",
-"XI.KX,XDX1XI c.e.a.a tXs sXe.M.a.5.5.K B.5 1XlXDXV.~.`X1Xl U $.9XD $ $X,XD.aX1 R.~ T #X1XD.ZXD $ $ h p.).@...sXi.B.BXf LXp.pX,.Z 3.`XIXIXI.8.a.`.8XIXIX-XIXIXI ~XI.KXI.5 c 3 3.aXp o.. y x cXI a a.aXIX- R.aXDX,X,.} C u.WXe.sXe.).Y.W CXF .XfX4.E gX5.8 3.8 #XV NX9.k.k.k.k.k.k N.k.X qXk qXkXx.I.X.kXtXxXj.K.k.k.K.k.k.k.k.k.k.k.kXt.k.k.k N.k.k.k N.K.k.k.k.k.k.k.k.k.k.k.k.k.r.k ~ q.r.5 ~.r.r.K.^.KXt.kXt.kXt.kXt.kXt.kXtXt.k.k.k.k.k.k.kXo.K.r.rXVXV ~X*.8 )X*Xx.K.8X* ~ 3 ~.8XV ~.H.u.u.H.HXI.H.8XI 3XD 3X1 1 x 1 1XMXIXI.aXI.`.aXI 3XI.`XIXIXI.`XI.H.H.H.K DXO 9Xm.'XK m (XD.u.uXI.5.!XL s.9.5.HXd :.' b H &.q.DXD.HXIXVXIXoX9.5.` ).%.%X.XUXw.+X0 W W.y W.g Xp.WXe.aX1.ZX1X5X5 $ t t.* h $ R a a RX-X-.`XV # cXI R 3 R RX-X- R.aX-X-X-XIX-XI a.aX-.e RXIX,XI R.u RXDX-XI RXI.a R R RX1 3 `XDX1Xl.e #X,XD xXI $X1X-XDX-.a RXD.a a 3 h c :XlX5., ` :XJXJ., mXc cXVX-.`X-.` 3.k #XD RX- RX1X-X- R R R R RX, tXI $XlXK :.2Xc 5.3XJXJX1 R mX, :XJ 1XK.]., D.,.2XI.a.` $Xc.3 TXJXH.,X. 1XcXKXK 1Xc.Z.ZX5X5X1XI.u.5X5XIX9 3.`X1X1 R.u RXDX,X,XIX, cX5 c.u #.5X, 3.5XMX5 $XM $X,XD.a RX,.Z.aX1.ZXDX,X- hXD.M $X,.M.M.M U.Z._._.w h UX,.}XM $.aXDX1X1.wXD.a.aXD.} a.M.M.M uXe._XG xXqXp.FX4.m._Xp MX<.Y >.F U.p.F .-.a R 3XV.8.r 3.r.8.8.r ~.u",
-"X- 3.u.uXV.uX-.a R t.N x._ C.a R.K.XX-.5.u 3X,.u :XV.`XlXl $X+.p 1 )Xl 3 3 RX- c : :.,X. D ` T $ h.ZXeX+.s.s.sXb.s.P.J % %Xp 'Xc $X5 c.`XI.`.` 3X1X1.` 3.`.8.}.`Xx.KXl : #X5.u.'Xw.; vXa.M RX-XI.a.a < R.a.aXDXD.Z R.M t.M.M u.M.M.Z C.W.m.JXb.@XwXU.DX1.` 3XV.HXo.5.r.k.k.kXd.kXd.K.k N.K.X.kXg.K N.k.kX9.k.K.k.k.k.k.k.k.k.k.k.k.k.kXo.kXd.k.k.k.kXX.k.kX*.k.kX*.kX*.kX*.k.k.k NXtX*XxX9 ~.r.u.k.XXt.k.k.k.k.k.k.k.k.k.k.k.k.kX*.kX*.k.k.kX*Xo.r ~ 3 ~ ~ ~.5 3Xk )X*XV.rXV.8.r ~XVXV ~.u.kXd 3.HX1XIXI.8.0 )X- x `.9 ` 1 `XIXI.8XIXI.8XIXIXI.`XIXI.`X1X1XI.HXI.HXa g !XP g.2.9XDXI.u.u 3X5.> 9.9Xs BX1.H $.Z.W 2Xa TX,.`.H R 3 3 : 3.8XI :.2.5 RX, x.9X2X>.jX>XnX>XrX4.F h.W a.uX1.H c cX-X-.} a <X- RXDX- R.`.a.` 3 3 c 3 cXI $ 3X-X-X-X-X-.a a.aX- a.a.a.a.aX- 3 cXD.u.aXIX- R a B R.aX, $ $ $.2 :.a RX-.aX-X-.a.u.}XDXD RXIX- R t R R.aXI 3 `XMXl.,.Z.9.D $X,X,X5XD hX-X-.aX-X- aX-.u c RX- R RX-X- RX-.a a.}XD aX, $.9 $ $ $.D :X1 c R.Z.]XJ.9Xl : xXl.w.9 D.u cX1X-Xc.5 cXlXD.ZXDXI.ZX- RX,X- aXDX,.w 3XDX1X1.5XlX9XV.5 3X1X-X1.ZXDX1XDXD R 3.Z # $Xl.] ( )Xl T mXK ).9 $ 3XDXD.uX,X, RXIX, cX, R.a $ c U.a.a.W x._XnXG.F vXq._ h E h h.aXD U 8X,XlX,.ZXD RXIX,.a.M R U.Z x._XGXnXqXq._Xr.YXq.p M W >X4.i > 1.YX3X-.8.8XV ~ ~ ~.kX9.r ).k",
-" #X3 #.5X5.HX1.a R.M._ y U.a RX-.k.`.` 3 a R.K #.kX9XlXD._ sXn uXDXV 3 R.uXIX, 3X-XX c $.K 'X9XcXKXwXKXc.j u * v ..@XF p.. .XwXG :.2 `.`.}XIXIX1X1.8XI.a.aXIXI.uX* D :XJ.,XcXKXw.+Xr.;XKXK T #X- <.a.a R.a R.ZX1XD B R.M.a t.}.M.a $.M.WX4 -.PX4.E yXDXV.8 c.H.8.u.XX*.k.k.k.k.^.k.k.k.k.^.kXo.k.^Xt.k.X N.k.k.kX*.k.k.k.k.k.k.k.k.k.kXt.k.^.k.k.k.k.XX*.k.^X*.k.k.k.k.k.k.k.k.k.rXo.K.k ~ ~.k.kXtX9.k.k.k.k.k.kXt.kXt.k.kXt.k.kXt.k.kXd.kX*Xt.kXV ~.r.rX*.u q.X.K.8XV.r.8 ~XV.8 3XV.H.r.u.KX*.HXD.HXI.` :X3.ZXDXK .-Xc 1.a.}.aXI.8X-XI.8 3XIX1.a.`X1.8.8.`X1.HXIXVXD.' g T x.H 3XV 3.u.8 R TXPXa.=.D 8.K.K.WXG o.s gX1.8.H :.5X1 ) )X1XI.uXVXD.ZXD CX+.YX>X8.CX>.<X>Xr._ hX, a 3 R.`.8XI.`.a.a.a.a.a <X-XD.`X- R.`X-.`X-XIXl x cX5 # $X5 #.uX-.a.aX-.a R R R RXIX1 R.a c D 1.Z $ : 1.,XJXJ.,XKX. Y.5 aXIXIX-.a.aX- RXD $.a TX1.M.a.a.a.aX- RX-X-.aX1 $X5X1.M RXD.a h 3X,XI.aX-.aX-.a R a.u hX-X- RX1X-X- R R R RX,.a t a R RX1X-X- $X1XIX, RX- R R RX1 R R.aX,.H.ZX- cX1 :.aX1XIXIXI RX,XD.a.MXD UXDXDX,XD.DX,.H 3.5XI.5X*XVX5X1X1X-.u RXDXDXD.M.aX, $.u.K )XXXlXl :.5 x.Z $ $XDXDXI xX,XI.aXD h.uXD R R.M hXD hXe.iXe._XnXqXn ..mXq._.i.l $ $.ZX,.w.ZXl.ZX,X,.u.D R.a RXD h.W.WXe xXe.MXq xXeXqXq._.pX%X4 >.p.Y.F.YXMX-XI ~.r ~.kXo.X.k 5X9",
-"X,X..,X1X. 5.a k <Xe yXL t R R.]., 3.0 R s xXXXV.~.8 R.a.W v.W.M.a cX-X-X1X1X1X- cXDX1X-X1.`.`.K c.a.}XeXe.W v v v u CXs.s.@.;.j.WXD ~ ~X-.8.8.`.8X1XI.a.}XI.`.$XJ., ).}.8 3 $XH yXGXGXG.,., :X- RXI R 8 tXV.a c 8X1X1X1X-.a tXD R h vXnXb.P L.x yX.XV 3.H c.` 3.rXXXt.kX5Xd.kXd.k.k.k.k.k.k.^.k.k.k.kX9.kX*.K.k.^.k.k.k.k.k.k.k.k.k.k.k.k.k.k.kXt.X.5Xt.k.kXt.^.k.kXt.k.k.rX*.K.k.rX9.rXVX*.kXt.k.X.k.k.kX*Xt.k.k.kXdX*XtXdX*Xt.kX*.kXt.k.k.H.K ~ ~.u.8X9 ~.5.KXV.r 3.H.H.H.8.H ~.H 3.u.k.5XV.8XI.H.HX5Xx.5XI `XpXp.jX%Xe $ h c 3X1.8X1X1XIXI.8.`.8.` 3.8.`.HX1XIX1.HXI.HXI.8 3X1 3X1.5 cXI.uXPXL.=Xs C 3.}.}.).=XLXK.a 3 $ TX1XI $X, 3 R s.9XKXDXD.a v.@.@ L w.4.{.;X>...m U <.}XI.aX1XV B.u.K R.a.aX-X-.` RX-.`X-X-.a R.a.aXDX-X- 3.u 3XD :.aX-.`.aX- R R.aXD RXl $XlX-X.X.XJXJ.,X5X.Xl : $ : :XI.aXIX- R.aX-X-.a.MX-X,X,X. x.,.w.-.a 1XK.l T ).' :X. T.,.]XKXw :Xw h a $ R R.a tX- <X-.a # R.a RX-X-X1.` B.`X-XD 3.a R R.a RX1 B 3XD.`X,X,XD R R R.aXDXIX1XIXDX,XIXIX1X5.K.a R 3XDXIX,X,.aXIXDXD.DXD.DX,.Z R.u B.uXI 3 : 3.KXV.8X1X1.u RXDXDXD RXD c c cX*.K hXD.Z xX5X, $X,XD.ZX,X5 RXI.aX,XD.Z R.a a.a.} hXeXe..Xn.@.x.x H.<.J ..F._._.FXBXq.M U 3X,.M $XD.ZX, x xXD 8 tXs $X,XD $X,.Z $ R h x 1 v.F z.[XpXB.p X4 >.l.a.8 ~.r.rXx.^.u.kX*",
-" $.2XJX- T.i :.1.Y.EXe <.M R 8 5 m.5X;X,X; x m.5.K.5XD U._ v.*XwXlXK $.] 3.] ` D.KX,XIXVX-XI.H cXD.}.iXe vXn.W.NX, CXD.MXn . . S MXJ T cXM hX1.8.` F.} aXIXIX5.%.|XlXIXIX,.aXK yXG sXp x $X1.KX1X1.a R RX1 h.a.u R BX1 R RXD.}.a.a $.W.@ %.CX>.+.+X. :X5.5XlXIXI 3.KX*.kXdXo.k.^.k.k.^.k.k.k.k.k.kX*.KX9.k.k.k.k.k.k.k.k.^.k.k.k.kX*.k.k.k.k.k.k.kX9.kX*.k.k.k.kX*.k.kX*.k.k.rXx qXtXt.r.kXd.k.k.K.5Xt.k.kXd.kXt.kXt.kXt.kXt.kXd.k.u.kX*.uXt.H.K.rXVX*.XX9X9.r ~ ~ 3.H 3.HXI.8.H.8.rXtX*.u.5.r 3.HXI.`.5.k.$Xl `XpX+ WXr > 1 :.5.8X-X1 3 3XIXI 3XI 3.`XVXV.HXVXV.H ~.8.8.8XI ~ 3.~ ' mX5XDXV.0XL.=.= 8 < E.M.=.=XaXGXDXI.0 'XDX1.KXDXD U.YXGXGXc U UX+ ^.@Xf.C L 0 LX> . E h.}.}.M R.DXD.8.u q.} tX-.aX1 R.`X-X-.~X1X1 a R.e h.~X-.a.e.a a c.K.a.a.~.u c.u :.5 kXKXlXJ a :.ZXlX1.a R.KXD.~ 3 cXI RXIX-.a.a.a R h : c R.a.ZXD tXUXc.O 1.3XKXcXc :Xl `.2 :XcXl.Y.iXeXH 1 `.M.a.a ` R <.aX- a.u.a aXI RX1X- BX- RXI.e.}.a RX1 RX1X-X1 c 3 aXI 3.uX3 x cX1X1XDX,X,XI $ : $X3XMXl 3XI.~X,.ZXI h R.M.Z.Z.DX,X,X,X,XD.aX,X-.` R.5 # 3.5XI.`.`XI.D R.a.M.MX,.Z.KXV.KXVX5X, $ x.wX,X-X,XD.Z 3 xXD.a.aXDXI 8.a.a.a.a RXpXp.xXr.x.@.@ ^.P.C.4X2X2.x.<X4..X+.-.Y xXcXl.'XwXJXcXcXlXDXD t.a.Z.ZXD.Z $ $ c.uX,X,.WX,XeXG.pXp.[XeX+ >X4XBXcXIXI.8.r.`Xd.8.8XV",
-" R $ $ $ $XD sXe n.YXe UXD $X- : ` :XJX..2Xc.OXlXM.a.a yXG.N tXJXH.| DXc 7 5 IX. ' ` mXK 6 x kXD.Z.W vXp.. U t h.a.a.} hXsXe vX>X>X0.9.9.iXc.aXI.HXI 3 RXDXIXo (XlX1XD.M.}X+Xp b.sXe.* #XIXXX5X- RX- R.M.} 3.a hX1XI R R.a aX-.a.} x.W ^ %..X2 y =XJ D 5 mXJXM.}.r.K.5.k.k.k.k.k.k.k.k.k.k.k.kXd.kXt.5 N.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.kX*.k.k.k.kX9.k.k.kXt.k.kX*.^X*.kXt.r.5 ~X9X*.rXt.k.k.k.kXo.^.kXt.kXt.k.k.k.kXt.k.kXt.kXt.kXt.k.u.rXV.r.kXI.r q.5.k.u 3.r 3 ~ 3 ~.8.8.H.H ~.u.k.k.k.5.uXV.u c.u qXMXXXHXHX+ W.p.pXnXp XB cXIX-.`XIXIX1X1XX.k.K :X9 :Xo :X5.5X9X- 3.8XI 3Xl.]Xw kXl cXIXDXGXL 2 2 h t uXa 2 OXKXK 3 `.KXVX-.]X- kXG =.+.j.j.1XGXS = S M H.4.{X:X> ^ . E E.} h.MXDX-X,.u.KX5X-XDXIX-X- cXVXl.u.eX-X1X-X-X,XD a RXIX-.aX-XMX1 3XHXc :.]XK :Xl.u h $ a.aX,XD $ R R RX-XIXI.u R R.a.~X1X-X-X-X- a.a tX- hX,.M $ $X,XDXD.a.MXI.a RX1.}.a a < a UXq.FXnXq h hXe hXD.a.aX- #X5.8X-.a a.aXI RX1 RX-XIX,XK 3 c B R R c.u B RX-.a RXlXJX. `XcXJXJX.Xw 1.OX3.%.5XI.`X-X- RX1 hX, $XDX,X, hX,X,X, h $X1.u RX1 RXI cX1.KXX cX-X- cX,XD.aX1 cXDX5.HX5.HXlXD.Z $X, $XDX1XD xXlXD.a R a.a R R.a a.a.M <X+Xp.@XnXi %XbXb.v.s.vXi ^XfX>.x SXpXrX< [ xXl x c hXD R tXDXDXD.ZX,X,XD $ $.Z.ZX,XD.a 8 U.M.- n.-.F <.i.Y .FX+X, 3XIXV.H FXV ~",
-" :X.X, $ h U.W x t < R R.*X1X-.` a :X1X,XD.a c cX-.Z.9Xe R.aX1.ZXI.D )XJ D.5XxXlX;XJ kX#XH.O.W.WXGXL U C < U.}.a cXD R R u.W.s.. vX4XnXqXeXsX1X-.` RXI.8XVXVXVX1XD.} 1 yXn 0.s.s.M.a.a.KX9.KXIXI.a.a.a h.a R h.M.M R R a cXM.M c.WXGXn.s ..+XrXw.-XDXV.Z.Z 3 3 3.KXxXtXo.kXt.K.k.k.k.k.k.k.k.k.k.kX9.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k N NXt.k.kX*.k.k.kXt.k.kXt.K q.r ~Xt.k.kX*.k.kXt.X.k.kXt.k.kXt.kXt.k.k.kXt.kXtX*X*Xt.u ~.r.H.r.u qXo.uXx.`.rXV ~ 3 ~XV.HXI.8.H.u.k.k.uX*X* N.u.H ) kX3X. ) I.3XH.[.L M.yX<X% [XKXI.8XIXIX1.HXI.H.kXX.5Xo :.5.u.Z.5 :X5.8.8XI.8XJXHXH g mXDXIXIXD $XG 2 bXeXeXe /.=XLXmXl R 3 c 3.H ) D.9Xw.j 0.@.;.; M.+.;X0XC.;X: S SXf.x...s p p.F $.i.aX-.a R.a #X1 B 3 cXD :XIXl 3.a R R RXI R.a RX-.a.eXD.~ :XK :XJXl cXlX,.uXD.eX-XDX1 3 BXD c RXIX1 RX-.a.uX-XI R.aX-.a.aX- R.a.a RXDX,.aX- R.a R.a.a aXD.a a h.a a.} hX7.iXAXq >.F.-Xq.i h x h 1 $XD.`X-.a.a $ UXD EX,.aXD.aXVXc T.Z.wXl.5XJ `XJX-X-XI R a x xXlXK.Z.ZX,X,.a.Z cXl # R.aXIXD RX,X,XDX, xX,.Z $ $.Z hXD $X1X1.uX1.`X- 3 3 3.5 c.}XI.a 3X,.D.ZXDXDX9XIXxXo.D xX,.ZXD.wXD $ $.Z RX-.a tX,.a R.a R R.M.a.M._X+X> .XbXbXb.s...v.v.v.v.v.v ^ H.x >.. x < a.M.ZX, a RXD RXD RXD.aX,.aXDXlX,XD.M.MXD 3 $XlXqXe.FXB 3.a.} 1X4.FX+X,.}.HXI.rXI ~",
-"X,XU 1.,.[Xc yX0.j x 1.}XDX,.e.a.a.a.8.aX1X1X1XDXM 1.[.' RX, cXlXD.u `X9.5X-.DXVXI RXD.YXpXqXnXp vXeXs C u t U.a 3XIX1XI RXD u.W ..@X6.JXf.@XK TXD.H 3.8 RX*.H R 3.ZXm HX>X6 p.s.M t.}X-.uX-.`.~ R R R R 3.a.}X,.W.}.M U.a R.}.a h U.s J pXb.x.@.xXw h c.DXV.H.r ~.r.5.k.^.k.k.k.k.k #.k.k.k.^.kXd.k.X.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.kX*.X.k.KXt.k.kX*.k.kXt.K.kX9 ~XtXt ~XtX*.k.kXt.k.kX9.k.k.k.kXtXt.kX*XtXd.k.k.kXt.kXt.u.r ~XV ~.uXtXo q.kXI ~.u.r.8XV ~XV ~ ~.H.r.u.k.kXdX*.uXo.8 3 $Xl ).u : #X..[.SX2 W.pXpXr.[.i 3X-.`XIXIXIXI 3.8X-.`.8 3.8.H.HXI.`.8XIXIX1 cX.XHXJXGXw.ZXVXI 3.M v b 2XL b oXa 2 b g hXI.K.8 )Xt.8XV.MXGXn.@ ^X6X6 0X6Xf w.CXf.4 %XbXA.4.P....._ vXq xXeX,.a.a.aXI x 3 c RXI.~X1 R.ZX1 a.aX-.aX, R R R.aXIX-X,XlXJ : c #.u xXI cXl :XI 3XD :Xl.~XIX,X1.Z $Xl : $XD RX-X-X-XDX-.a RXD RXD.a.Z.a 3.` RXI.a.a.a a.M tX,.}.} U.}.i.m.J.p WXrX<.y.S.1Xr.,.OXKXh R.a a.MXHXHX%.SX<X< kXwXJXJ.%XcXJ x.,.|X3 k 3.a a.aXD.eXD.aXI h R RXD t.Z cXD :Xl.K B.~XDXDX,X,XD.MX,.WX, h.WX, 3.ZX, RXD 3 RX1.~.u.} R #X5XIX1XIX1XI.eX1.H.5XVXV.5X,.Z.w cXD.Z.ZXDX, RXDXD.eXDXD tX- R RXD t.M.M pXG H.{X6...BX=X= /XaXL 2 2.B.BXiXf HXn._Xe $ R.aXD.aX1 R BX1 RX,XD.ZXD.} x.a.a.M.M.MX-X1 :X,.wXqXB :.MXI < >.FX4.-Xe.a.}.r ~ ~",
-" R $ cXe xXn.jXw.9.9 TXJXKX3.a.a.a.a a.`X1XI.D.i x XU.9.uX*.]X3.`.KXJ ).`.5.k.` RX5 1.M UXeXn._ u C t < u $ h.ZXD BX1.` cXI.u U._XbXb.BXA . oXl R.`.}.8 c ` T.9 y.YXn v 2Xp v E.} a <XI c c :XVX-XI.` R 3X,X, U.MXsXnXn.d < U.a vXnXn p p.. w =Xr ` # B.8.r F.8.8.^X9.rX*.k.k.k.k.k.k.k.kXd.k.kXo.5.k.k.k.k.k.kXt.k.k.k.k.k.k.kX*.k.k.k.k.k.kX9Xt.KXt.k.k.k.kX*.kX*.r )X9.r ~X*.kX*.k.k.k.k.k.XXt.kXt.k.k.kXt.kXt.kXt.kX*Xt.u ~ ~XV.8.rXI.k.u.u.H.8XV.HXV.8XV ~ 3XV.HXV.H.u.k.uX*.k.kX*.5.8.5XV.HXI.8.K c.,Xc yXcX+.pX+X7XB.MXIX-.`.a.`.HXI.`.`XV 3.`.8.].XXJX9XJ : :.5X3XlXZ.,.+.9Xw kXMXI.a.M 1 J 2 &XGXmXG.q.' 'Xc c.uX9.`.8.` $ 3.jX>.;.;.;X0 H H.q M H.@X8.sX6 w.CX>XfX> .Xn.p._Xe .M RXD RX1XIX- RXD.aX- R.,X..u m.DXH.Z RX,X1X,XI c ' 3 RX-.` R R.` R RX-.`Xl.% `.3X5.]XlXHXJ., k.u BX-XD c cX,X- aX1 a :.- R.aXDXDXD R R.a a a <.a.a t.}X,Xe x E._.m.F.<X<.gX<.L.S.TXH [X%.[Xq.-XM.M.M.a.[X%.g.TX< nXh `XlXD.9 3.M.a.a cX5.u : c aX- R.}.a R tXD $.a RXD.a $XDXV :XlXI.a R.a RXD.aXlX,.aXDX,X5 x.ZX, cXDX-X,.uX- R 3 RXI cXM.u 3 R RXIXIXI.5 TXV.u $X1XDXlX, $XD RXDXD.D.aX,XD.a.MX- RXI.a R R.M t s._.@X>X> ^..XbX= C.D.N G.N.s.m.v % ^.4 ^...W x.i RXDX,XD RXI RX-.u.aXI R.Z.w.}.wXe.w c.}.8 ` a hXe.F.[X,XDX1 EX+XnXp.p.l.a 3XVXt",
-"XD.* < U CXe v u h RXDXDXV.ZX-.aX,.a 3XI.u.uXIXD uXqXeXDX9.KXX.HX5.KX5.`.8X-.` RX-XlXl xXG...).d.a.a <X,X, $ R R B.H BX1.DX-.a.a < u % %XbX4XGXI 3 3.a 3Xl gX>.@X> v 2.s.w.M R.a h c 3 $ $X5 cX-XVX5 3.u.DXD R.d v...JXp v.M u.M.)Xq .Xb E uXi.;X>Xw [ ` :.HXI ~.8 ~.u.5.k ~Xt.u.kX*.k.k.k.k.kXj.kX9.k.k.k.k.k.k.k.k.k.kXj.k.k.k.k.k.k.k.k.k.k.kX9.k.k.k.k.kXt.k.k.kXk.^ ~.K.r.rXt.k.k.kX*.k.k.K N.k.k.kXt.kXt.k.k.kXt.kXtXd.r.r ~ 3 ~.H.r.8.kXV ~ 3.r.H.8.H.8XVXV ~ ~.H.r.uXdX*.k.kX*.kXV.5.u I $Xx.].5X5.]X3XJXHX< M =.j MXn <XIX1 3XIXI 3.8X1.8.`.` 3.` T.5XJ ' : ).,XJXc.-Xh n.OX+Xw.9XIX,.u `.> b bX0.O.+.O !Xw., D )XI.k.HXI.HX, t.9Xw.EXCXCXm.q.qXCXCXU M.;.; S H ^XiXfX6X>.CXrXpXqXq < <.aXIXD RXDX1.aXIX,X, mXH.D D.O IXJXJX.Xc.9 mX. k KX,XD a R R.a R RX-X1X-X1 :.| k.3.2 I D ` : c.aXIXIX- hX, 3.a.a.a aX1X, R hXD.ZXD.3XlXc 1X, uX,.[.W.9 1 = Xr.g.[.1.h.[XB .-X+.gXp._Xq E._.FX+Xn.i._.F.<X%.p.F x U R.a.a cX-XIX- c $ 3.~.aX- 3X-.aX-.M 3 RXDX,X1.Z B c $ ` 3XK.uX,X5.Z.9XJ.9.-XcX, 8X1X, $XlXlXD h R.M cX,.Z 3XI 3 RX5XMXI.~XIX1X1 3Xl.K.u cXIX, hX,.wX1XDX-X,X,XD 8XD.M RX, 1XlXDXl x.uXD $Xe._ v .X>.C.B 2.s.MXD.M.a UXe.s vXb 2 ^ w.E v EXp.M R.aX,.}X- RX1.ZX-XIX,.9 1 1Xc 1.[XHX, DX*XDX,._XeXp.[X,X1XI.Z yXqXpXB .aXlX9",
-" R.}.M t.WXn.) tX,XD RX1 RXI h c c #X,.u BX-XD t pXn U 3.k NXo.kXV.u ) 3.~X1 3 R 3 `.-.9.W U t < a.} 3 cXM.} RX-X1 B 8X5X-X-.a.a < <XFXA...YXD.}XI #X- h xX+ ..s %.sXe.).*.a.a.`X-X-.a R.a BX-.Z.H.k.uXx $X1 <.w.sXpX+XnXnXG vXp..XnXe u <.MXe JX>.+X#X<., 3X1.H.H.H FXtXx.r.r 3XtX*X*.k.k.k.^Xd.kXxXt.k.kXt.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.X.kXt.kXt.k.k.k.k.kX9 5.k ~.k.k.kX*.kXt.k.k.kXo.k.kXt.kXt.kXt.k.kXtX*.kXt.kXt.r.u.r ~ ~XtXV.K.8XVXV.H.H.HXVXV.H.H.8 ~XV.rXt c.k.kXtX*.kX*X9XI ]Xx m ( )XJ I.3.GXh.O.OX<.1XZ.-.YX,XIX-.`X1XI.`XI.8.`.H.`.8.8XIXI 3X5 3X1 R.MXD.[ yX+.YXw x x.]XJ.3Xh.> &.nXc.W cX, 3.uX5.HXo.`X1.8X1 cXD $ =.> &XO 4 !XOXOX;XUXh.O.T.T ^.@X6 ^ 0X6Xn.@X>.@._ U <.a.a.u R.aXD $X,XDX-XD.ZXIXc :XK.'Xc.'XlXl.' 1 $X5XI RX1.aX1X-.uX-.`X- R.8 3 '.K 3X-X-X-.aX- R.a c :XKXJ # $ c RX-.a.M R RXDX,X,X, U.YXq.Y = [ [Xw.1.[.LX<.h.1.TX#X#X# | ` XB .p.g.FXq.J.F._XqXqX+ X7X%.gX7.FXeXe U.a <.}.} <XI.u.eX-XI R RX-X1X-.a R R.a :Xc m `.9 :.,.%X.XJX..2 T.jXJXc mXcXPXIXDXDXDXIX, h $X,.a.}X, x tXDX,XDX,XDXl $XDX1XV c.k :XoXlXJ #Xc '.a.a $XDX,XD.DXDX,XD RXl.YXDXcXJXc.]XH x h.M E E..X>X>...v.s R hXD.a.M U.M U v.s.v.v w.<._.F h U <XKXKXD :XK IXKXwXJ.3Xc.-XG h 1 h h | cX-XD h E .X+ yX,.`X1.ZXUXpXpX%X7 1.2",
-".a a t.d vXe <.a.}XIX1 RXD.u h.}X- a.a RX1X- R.MXn 2 $XM.X.5Xx.K.r.k.5 BX5X, x $ $.Y $X, t <.MXDXD 3.` h.K 3.` c cX-.ZXI R R RX-.a t.. {..XpXs RXD.a 3 hX,X+.<.. p.N tXlXlXIX-.`X1 B R R.aX, cXDX1.`X5X9XlXDX, sXn ..E UXeXe.ZXK x.W.M.a.a < v O 0.+.h.F.j y y.Z 3 F 3.H.K ~.u ~ 3XV.8.kX*.k.k.k N N.k.k.k.k.^.k.k.k.kXt.k.k.k.k.k.k.k.k.K.k.k N.K.k.k.kX*Xt.kX*.k.k.k N ~X*.kXtXt.k.k.k.u.kXtXx.k.k.k.kXt.kXt.kXt.kXt.k.kXt.kX*Xt.k.u.k.u.rXo.H.H.HXV.8XV.H.H.r.rXVXt c.kX5XtXdX*.k.K.rX5.k.`.D.HXVXDXIXIXl $XcXJXK [.wXpXpXe.Y XDX1.a 3XI.`XI.`XIXIXVX5.u 3XI ).Z.K : ` x.,XH [.O = =X.XJXH.%XHXH g.n.' TX1XIXI.}.`XXX*XI.8.`.8XI cX1 x.G = g yXPXPXU.q.' yXG.E.+ H ^ 2.)X= .Xn / ^.@.E._ E h xXDX, RX, 1 c.Z.Z $XcX5 RXDXIX1X-X,.e R a hX1 R RX- R R R R RXI 3X1X-X1X- c.KX- 3X1.a RX-X-.a.a $Xc ` TX. `.GXD.aXI.e.a.M 3.Z.}.WXe x M.p.YX+.jX+ n.pXHX<.g.gX7 VXMXXXM 3 h.l VXBX% >X%X7.g.< > .mX%X%XB.gX7.F.F.iXeXeXDX, 3X-X-.u.D.HX-X1 c.e R RX1 RXI RXK.wXlXw T $XlXK x :X,XlXD RX,XD UXDXDXD 8X1XDXIXDX,XD h.aXe h.-.M.w.W.Z 1 1XwX. `.u # D.$ }XJ.,X3X.Xw.Y RX, $ xX1.Z 3X,XDX,X, TX,XK 1 c.Z 1 : h.a.a <XeXqX4 H.. O.).M.M.u.a R.} h UXs.s O 2..X2XA >._.i t.-.[Xw kXc.-.u $ xXl R.MX, $ $ :X5X,X3.a 3.MXe v >.jX. c.kXV x.[.F.FXBXp.}",
-" <.a U v.s.M t < a c 8XV :XM a aXI.M R.a RX1 8XeXn.M x :Xx.r.`X9Xt.X.5.5XlXl.-., =XlX,.9 3.uXDXIX1 R.~XV.8X-.`.uXVXI.uX-X1.a.a.M.MX,Xb.s.E vXDXIX1 3 3.} xXrXrX8.Y XBXM cX* :.DX1X, $ $.u.}.aX-XI R :XlXDXD.WXn G xXq U.Z $ sXl $ R.a tX,Xe 0 0X:XAX4XpXnX+.-X5XI ~XV ~.8X*.8.rXV.r.k.k.k.^XjX9.k.k.k.k.k.k.k.kXj.k.k.k.k.k.k.k.k.k.k.kXt.kX9.k.k.k.k.k.k.k.k.kX*.k N.rXt.kX*.k.k.k.kXt.kXtX9Xt.k.kXt.k.kXt.kXt.kXt.kXt.kXtXtX*X*Xt.u.kX*.k ~XVXIXV.rXV c.rX5.KXoXo.^X5.k N.K.k.K.kX5.kX5XVX1 3X,X5 `X,X5.} 1X,.9Xq $._XqX4._.Y.aXD RXIXI.8X1.H.`X1XVX3XIXl.KX5 DX3 V m.9XJXw.1 M.>.GXh.3.%XHX.X5X,.nXD h.uXM.8X* N 3.K.8XI.HXI.8 h 3XB.Y.j HXw g 9XaXL b.w b.qXm b.s /.W.).).s b ^.vX>...F .-.,X. TXJXcXw.-XK mXKXJ 3X, $X,.Z $.ZXlX5.ZXD R R.a R 3X, RX-X1X,X- 3X1.a.K.5 R.u.~XIX-XI R t RX-XlXIXD 3XDX- c.}.ZXJ cX1 h $ RXe._._.mXq.J.FXpX7 [ k.g V .lXM.5XM.8.a.a 3.g `X7X<X%X<X%X<X< > X%.[ >.[ kX+Xp._ pXB [Xl $Xl.5 c TXKXJ.]X3X1 RX- RX1X- RX1X1 RX,X1.a $X5X, R.Z RXD.aXD.aXDX,XIX1XIXDX1X1XD.} U hX%.j [ z [ nXh n M n 1Xe.3 :.5X5.5X3 : : $X, h $.9X,.w xXD.9.w 1XKXK x t.a.MXDXD xX,.a.} < <.iXGXnXr.@X= 2.M.M U.Z 3 RX, $Xs.W.vXn 2Xf W >Xq.m xXe < x c hXD x R TXHXcXJXJ.,XcXJXK 3 `.u hX,.Z._XnX4.[.-XIXI R.lXB >X% n.-",
-".a <.N vXs.M <.a.a a.5.'XJX5XMXl ` $X,.ZX,.MXDXGXs._X, `X5 F.H.u F.K.uXI hXq.9 x.Z.MXlX5X*XI.`X-X1X1.H 3.8.`.8.a.8 :X-.aX-.M R tXD.s ^XfX+ U RXD.` 3 c.aX+X> H yX..2 , 6X# I.GX.X,Xl $.uX-X5.a c.9XI : h.i.MXL v 8.9 < $ #XlXl.uX5 c BXD t._..X>...{ W.LX: MX0.wXDXI.u.8 3.k.`.u.r 3X*.u.k.k.k.kXg.k.k.k.k.^X*.^.k.k.k.k.k.k.k.k.k.k.k.k.kXt.KXx.k.kXt.k.kX*.k.k.kXjX*.kX*.k.kXt.kX*.k.kX*.k.k.5.kXt.k.k.kXt.k.k.kXt.kXt.kXt.kXt.k.kXt.k.k.uX5 ~.8Xd.5 m q D 5 Q ) 5.& 5.A q ] q }.k.| q 5 `.u.] D.OXhXhX. 1 < #XK 1Xp.-.<.F E x R.}X1 3X-XIXI.8XV.5.5.K.uXl RXIX-.8X5.a RXl nXmXwX0.OXJXl : m :X1X1.HX1.H D.5.8XXX*.8.uX*XI.M.iX%.[X2.p.<X2 WX0.9 bXPXL.0.O.> HXmXC b uXe.W.N 2 O bXC.E [.pXw $Xe.M hXD.aXDXDX-XDX,XDXI tXI aXHXKXH ` :.- :XlXc TXlX- a.a.eX1X,.~X-XIXl.~ RXI.8.e R aX1.a RXDX- R.aXI RXIX- c.a 1X,XD $X,X, EXe.F.pX%.g.gX%.g [ X3 XM.l # h.a 3.aX-.a.aXMXBX7XB XBXBX7.g.[.g.g.[X3 XBX7X%X%.F v.Y =.-XH.'XKX3Xw ) T.u x.uX-.aX1X- R 3XDXDXDXI x 3XDXl.ZX,.w.ZXD.aX,.ZXDXD $ c $X1.DX1 t.M <Xp.S [Xr nXh.x.YXp.YX+ v x h : :XlXVX5.HX1 $.,XKXe.-XK kX..9XlXKXKXU.,.'XDX,.M.MX,.a cX, <.a < E.FXqX>.@ O v.)XD.MXe.wXlXDXD 'X,XsXn JX4 S z z ..m EXe EXq xXcX. x.[XK.-.9XK.0X5.DX1 # ` $XIXI RXD E._.F.p XI.`.a XB.p E E",
-" <.WXG.W t <.aX- RX1Xl 3XK `.,XcXwXJXJXc.-., &Xw.jXl #.$.`.`XV c.k.k : `X, `XGXq x R.H 3.`.~.`.8XK.H.D.8 :Xl.5 :.$ 3.a R.ZX, x $Xp..Xf w.EXGXlXIX- )XDXD.E b.sXeX5Xx.u.K `.i # #XI R.~XI.~ :Xl.,XcXw k [X+.jXe U a.5.K ) $XK.KXX '.ZXe v .Xf.{X8 S MX2.jXG.Y.M RX1XV.8.K.r ~XV ~X*X*.k.k.k NX9.k.k.k.k.kXt.k.k.k.k.k.k.k.kXt.k.kX*.k.k.k.k N.kXt.k.k.k.kXt.kX*.kX*Xt.kX*.k.kXt.k.k.kXtXtXo NXt.kXt.kXt.k.k.k.k.kXt.kXt.k.k.kXtX*.k c.k.k.k ~.H.8.kXxX9 (Xx.$Xx ) ) ( 5 ) 5 ) ).5 q :XJ.].] DXhX;XHX<Xc.1X# h x ` XMXp.F.m .Xq.Y U.aXI 3.`.`.`.H.`.`X1.`XI.8XDX1 3XIXIX1X1 xXKXU !XU $Xl D.2 DX1.H.u.D.HX-.5XX.k 3X*.5 qXJX3 R.l.[X<.pX2.xX2X: M y v.!.nXU.G.+.qXCXC.j y.jXK H ! 2 0.@X>._.iXeXe.M <.a t RXI.ZX, 3X1.MX5XJ.a $ $ :XK T.'XK.9Xl T cX,.aX-X-X, 3.a.aX1X-.u :.u.K 3X1X-.a RX- a RX-X-.a RX-X, aX,.aX-.aXD cXD.W.}.m.pX<X7 >X7 .lXBXB VXM h a.a.a R 3X-X-.a.a 3 ` 1 #XBXMXM #.[.g [X3.l X3X3 XBX+ n.<XG._.9.Y h R.MXI.e.a.a R cX-XI B : 'XHXlX5 x : mXDX, $ $.ZXD $.Z xX,.aXIX1XD.ZX1X1XI cX,.} x.FXq.xXr y n.jX+Xp.<X+X4.Y 1 x : 3.u cXDX1 h.MXeXc 1.YXK.'Xl.MX,X,.Z tXDXDXD U.M h.W hXD U.}.} U.FX4X+X>.@.sXe u.w sXlXw TXK gXc.>Xw M W.4 z WXr....XqXnXpXr.Y._ x $ x.Z tX, 8X1XD B.MX, xXIXI.~.}.M._.m >X% c c : U.[.[X<XB",
-" u xXL uX-.a R.aX-X,.}X1X-X- B $ :X,X, U U v oXG $ cXK 3 R.8.`X9XV.uXl `X,XrXp s x : :.K.k cX*XV.u cXIX1X-XI.H :XD.a a c.}.a.a.MXnXnX:X0Xn.0XJ.D.HX5X1Xl J..XL.}.KXoX1X-X1 t.a.a.aX-X1X1 BX1XVXDX1 $.a.FX7Xe v v $ c.a VX9XX DXw x.- U.j.Y.E.+ M.TX: ^X2.;X>X+ n.9.WXDXI.8.5 ~.r 3XV.r c.kX*XtX9.^Xj.k.^Xj.k.^.k.k.k.kXj.k.k.k.k.k.k.k.k.k.k.k.K.k.k.k.k.k.k.k.kXt.k.kXt.kXtX*.k.k.kXt.kX*X*Xo.KXt.k.k.kXt.k.k.kXt.k.kXt.kXt.kXtX*.kXtXt.k.kXt.HXV.r.8.rXdX*Xd.uX*Xd.uX*.kXd.k cX*XV 3.H : 'X1 $Xy.O.j.9X+X<.,.[.a 3X, <.FXqX4 E._XG .w.aX, 3X-XIX1.`X1XI.` 3.`X-.8.` 3.`X1XV.H.0 m g ! g $.9X1X1Xl.0.|XJ.`.H c.K 3X* D VXX : DX3XJ | [X% W [ W n n nXwXC J.q.> & b O v.WXD.w $ xXG.n O J v.<._._Xq x t.a t R.a R cX- aXJ a.9 :Xc :XH aX,.a.e R tX-.* RX- RX- 3 RX-.a R a.aXI :XV 3X-X1.a.e.a.a R.a.a RX-.aX-.M 3X1.a.a.uXDXD 3Xe._.FXBX%X7X7 XB.,XBXMXM :Xc xXc.-XlXc ` c <.}XM # $ h #X9 XXXBX3XX h.a cXB ` X7.[ >.F._ 1Xe.a t.MXD tXI R.a $ a.a `XJX.XcXH T.,XKXIXl RXlX,X,X,.MXD $ aXD hXD.uXDXI RXDXD.M UXeXqXr n.j &.+ nX>X+.xXpXn.Y.Y $ xXV.a.a U $ h u.M.}.M U.M h 8X,.Z.MX,.a R.M.M U._ 1._ 1 U.wXeXp.1 W.x z.;.;Xr nXU = nXPXc.].'X5 xXeXGXL v 0Xf.;.;X4.@ . v.<Xe._Xe EX, h.aX, CXD BXD a.a.i.}X1 RXVXD UXq.JX4XH 1 DXJXw.O.1Xw",
-"XGX+ <.a.aX- RX-.ZXIX-.a.a RX1 BX1 R.a t uXq...* RXl.$ 3.`.}X5X5.K RX-.M.9 1.W.Z $ c.K.5XX.KX9.KXlXX.~X1XIXV $ : : 1XJ 1 RXJ x.9XeXi ^.E.W h : 3.uX1XD 1Xp.s._XI :.`X1XI 8X-.a.aX-.}X1 8XIX, D #.DXD 1 h.1.<.@ b y c.`XV ` x x.Y.9.i.w v.EX> z.T z.;Xn.@ H S S.@XpXcX,X1 3.KX*.r.r ~XV.k.k.k.kX9 N.X N N.KXj.kXj.k.k.k.k.k.k.kX*.k.k.k.k.k.k.kXt.k.kX*.k.kXt.k.kX*.k.k.k.kXtXt.k.k.kX*.kXdXt.5.k.k.kXt.kXt.kXt.k.k.kXt.k.k.k.kXt.kXt.kX*XtXoX*.H.HXtXo.uXtX5.r.k.kX*.k.kX*.u.H.rXV.H 3.`.3 Y.%Xy K.GXh.OXZ.[Xc $X-XK $ :XcXHX4.xXpX+.i.9.l.aXIXI.`X1XI.H.8 3X-XI 3XIX-.8XI.8X1X1X5 !.0 gXw.2.'X5.].2 D.2 g.5.H c )X3XJX3XMXMXMX3 V 5 V V XB.9XB .- n.>X0 & b 0 0.WXs.MXK.%XlX; = 9 & M.x zXpXnXeXnXq.M < a.a.` hX1X- a.MX5X, #X,Xl R t R.aX- R R R R.a R.a m hX,XDX, c.u 3XJ :X9 c.aX-.aX- a R a.aX-.a.aX-.~ h.a $X5 h aXD hXr >XBX7.[X7X7 `.SX3X.XcXKXUXl.9.,Xl $ ` `XI.a.aX,X- <X- a.} 3 c #XM h.a a.a.a XB [ >.m p xXe t.} h.}.a.a.a.a $ $X,X, xXD $X5XD RX,XIX, $ x.M.Z $.Z $ R 3 <XDXD $ 3.ZXD.} UXqXpX+Xr H.9 9 y nX0XrXrX2Xp._.Y h.M.M h xXpXpXq.w.FXeX, U.M.M xX,X,.aXI.MX,.} UXpXq.YXp o._._._Xp.TX%X:.TXh.;X>.w._ hX,X, x $ xXlXl.Z.Z.WXa.=.s...@ H.x.;.J SXn p._Xp.9 U.M U R.M < U.i U 1 x.aX1XIX,.}XeX4.F.-.j $ $ $XlXKXK",
-"X0X0 h 3 <X-.` B :XI a.}XlX-XDX1X1 B a UXe.. E.M R.k.5.$ #X*.~.u :.a.a.Z._.M.M t R.8.~.k.`XI.a cXX.a 3.} `XI ' : 1XJ.M x $ 1 g.9Xr M SXw 1.a.u.uX*.8X, yXAX6Xq h #.u.aX1X1 BX1X-X1.a.eXD a R.KX5.u.u.Z .p.;X0 zXw.ZXI.} cXe v.).aXD c U vXf.C.<X4XA ^.. ^.x.4 vXG y hX,XIX*X9 ~XV ~.r.k c.k.K N././XkXkXk N.k.k.k.k.k.k.k.^.k.k.k.k.k.k.k.k.k.k.k.k.k.k.kX*.k.k.k.k.kX*.kXt.k.kXt.kXt.k.kX*.X.kXt.k.k.kXt.k.k.kXj.kXt.kXt.kXj.k.kXt.kXt.k NXt.r.k.k.u.k.k.K.k.kX*.k.kXV ~.r 3XV.HXV.`XI.2 Y.O !XOX; @X;.O.>.Z.HXV.k.~.2X,Xh._Xp.LXe v 1 1X,XI.`.8XI.`X1.`.` 3.` R 3.r.`.`.H.H.H.5 g ! T.] Y YX.XO.2 g ] @.%XJ }.$ | :.l ` k V | `.[.,., [XH k Xc.j.E b.v.v ^.vXL.NXDXcX. : kXw.9X0Xh H.y.x.<XnXe.F.M tXDX- R.8.aX1XI.a.a UXD.aX,XI.a R B.a R RXD R R R R T.9.OXKXHXJ mXJXc }XHX$ cX-XD aXD aXD tX- <X-.a.aXD c T :XDX-X,X,.wXh.YXBX+XB.[X% ` `.}X,.eXl.a R.aXDX-.a.~XI.eXI R.}.a R R.aX-X-.` RXIX- R R.a.a.aXXXM XB.g.pXq._Xq h.WX, < t.a.a < RX-.a.a.} $XD.aXl $ 3XDXD hXl $ $X,.aX, x h c.i $ $ $X5Xl x x.YXq.j = HXmXm ' ! v y.@X0 WXpXn.i x.iXn.Y.FX4.< .W x._ h.MXDXe xX,X,XDXD.aXD._.F.[.x.YXpXn J.<X4.< .X4.<.y.EXp o xXs UXDXDX,.ZX,.M.} c.D 8Xs 2 2Xi ^ ^X6X>.C W.@ .Xp._Xq U.} U.a E h._.mX7 x UXD R B.n BXGXp > [ 1.0XJ.|.DXc",
-"XC.M < c.u 3X,.5X, #.a cXI 3XI R R.a.a.M v p C.a.u :.8XX.`.aX- $XM R.N 1.W < a.a.`X-Xl D 3.uXM $X3.} 3XIX-X1X- aX- a.aXI.a BXD.W EX>.T M.YXIXIXV 3X5.Z y.4X: MXw # :.'XJ 8X1 TXcX1X, T.9X5.Z 3.K.0X-.a.MXsXr.EXG.j.MXX $.YXp.< v.MXI.a U v.W.sX4 % %Xb %.<.;XfXi.@.- R.aX* ~XXXt.r.rXV.u.k.kX9.K.XX9.K N.X.kXt.^.k.k.k.k.k.k.k.k.k.k.k.k.k.k.K.k.k.kX*.k.k.k.kXtX*.k.k.kXt.kXt.kXt.k.k.kXtXtX9.r.kXt.kXt.kXj.k.k.k.k.k.k.k.k.k.k.k.k.kXt.k.X.k.k.kXtXt.k.rXtXtX*XtX*XtXV.8XV ~ ~ 3.` 3X5 TX.XP.0 'XU s 9 TXOXDX1X1.`.` ` D.1.p.j MXw.p.-.[ 3 R.}XI B.HX1XIX1X1 3XI 3X1 3 ' (.2XlXU gXO @XyXyXy @ 4X; @ !.G Y K 6 |X#XXXMX,., XHX# 1 |X# .3 k kX3 V 1.[ o J 0XiX=.WXsXs.MX1 hX1X1.a R.WXn.s.@X6Xp.<._XeXGXD <X-.a R 3X- aX, R.aXD.a.aXD a R.aX,X,.a R.eXD.a RXcXl 1 x c 3 h.K :.KXlXlX-.aX-.a t.a a R.a R R RX-.a 3XD.a R RX, R U y z.h.hXhXHXH.[ 1 R RXD :.Z.aX- R $X-.aX1.}X- aXDX, R.a R RX1X-X1 R R R t.aX-.8.}X3 XMX7X%.p.FXn.iXe.i.i h.M.}.M h.i h U.a hX,X,XD $XI c.a $ c.9 UX,.M.MX, xXq x hX,X, UX,Xe xXBXrXr M =XmXmXP.0 gXG.w M = [XpXGXpXpX+.<.x.p.-.j.-Xq x.wXq 1.M x x x U.MX, xXpX2.p M MX0.; M M MX>.xX>.xX4...WXG.M h.} h.}.M.} $ 3XIX1X,.Z 8.N /.s.v.sXb.v..Xf r WX+Xq._.m U U E.m.m.FX+X<Xr.Y.j.w 1 DXc k z.g.1Xw T (.0.kXV",
-".M.M RXD c $X,XD R.aX5 1XJ :.O.Z.M.M.W x v U R R.Z.8.5X9.a.aX-X5.-.}.w xXsXMXMXMX- :.u.|XI aX.X3 :.}XM.3.0.~X1 ).u cX5XMXDXI RXD.sXn.JXn.E hXD.uXM :X+Xn...y 1 xXl DXJXH.ZX-XcX3.uX1 T.% xX1 h YXo BXVXK.M.) v.EXG.d.M U.-.@.s._.d.} UXD.W v vXG p U u.d ..xX6 % y s.MXI.8.rX*X9.H.H.H.r.KX*Xx.k.kX*.k.^.k.k.^.^.k.^.^.^.^.^ N.^.k.kXt.k.kXt.5.k.u.k.k.k.k.kX*.k.k.k.k.kXtXt.k.k.k.k.k.k.k.K N.kXt.k.k.kXt.k.k.k.k.^.k.^XtXtXt.k.XX*Xd.kXtX9Xt.kXt.k.kX*.k.k.kXt.k.r 3.rXV.HXV 3.8 ~X- D kX; @.O.qXy gXK m.G.5XIX1 ' :X,.iXwXn._ vXeXG x.F h.}.}.`XIX1XD.D D XJXK.S.% =XKXU yXO.> s gXUXOXU.].0 TXl.'.'XK gXHX..Y.3 h.a.} <.- `.9XcXK :.9X, xXKXMXMXMXcXr.s.v / 0 vXq $ 1X1Xl.Z : x x x M pX>X>.< ..m p._XqX,.a <.} 3 < R RXD 8 R.Y.aX,.aX-X,.w.Y $Xe.9Xl :XlXl.} tX-X1.`.`.u c R aX, < t <.a.a < t <.M R a.aX-X1 a.a.a.a.aXD.M.M._XG.[XhX%.SX<X. kXM x 3XDXI aX,.a cX-X-.`X- R.aX-X,X-X- R RX1 RX1 R RX- RXI R.aX-.} `X3 1XB.g.[X4 >Xe._._.i.m.i E.l._.iXq E U h.ZXD R.Z RXIX, h $X, U UXe x x._Xq._XeXq xXqXqXeX4X7 WXr M M.qXm '.9XKXL y.j = =Xw H.jXw MX0 & =XwX0X+XGXGXpXnXqXqXpX+.FXqXp.p.jXr M.;.j.j HXm H.q H HXC M ..Y.Y.jXw.Y.9XK t RXD $ cXD.aX- $ R t CXD 2.s O.= 2.v 0.4X8.< ..m._Xq EXq.JX2X% r z W.-.-.,.-.' 1 y xXr h.i.H.8XV.`",
-".a R < t t R R R.a.a.M :X. 1.,X.XH = n.1XU.9X,.ZX- R # 3.`X-.uX5Xe.M.' U.aX,XV c.` 3 5XJ.u.5XH.% #XI.e.,X1.Z.0 YXl 3 c | `.aX,X. C p M . J vX,X5.w.YXn.s.s.).j 3X-X1.K : 3 3., `X,.~XJ D.0 cXlX. :X1XlXcXD.M.NXGXnXpXe p vX>Xe u U E.MX,XDXa._.) * C *.d.).J . ^X+ x.aXI 3XV.k.X.r.H.u.HXV.kX9X*.k.^.k.kXj.^ N.X.X.oX9.o.X.oXg.o N NXj.k.kXtX9.k.k.k.kXtX*.k.k.kXj.k.k.kXd.k.k.kXt.kXt.k.k.^.K.k.k.kX*.kX*.k.kXj qXk.z q./ N NXo.X.kX*.k.k.XXt.k.k.k.k.kXtXtX*.kX*.u.r.H.8XV 3.H 3XVX-.] DXy @ @Xy.OXw.2 4.GX5XIXIXDXc.9.9.p._XqXe $XnXe._ <.}.aXIXIX1XD : 1XH XrXrXw y.q 9 o 9.! x.n.' $.n.' $ 8.M '.9XwXy.YXl X,.a.aXDX-.ZX, t RX,XD.*XD a a 1 x .jXn 2 /Xp.>.j v.-.w m ` n '.Y.E.T.) ^.J %Xb.mXAXn._ E E < h a.aX- RXI RXl.-XwX,X-X-XcX, 1.-XcXc.9Xc ` :.a.a.aX-X-.` c 3X- t < hX, h.iX,X, U.M.} U h.} < < <.} t.a R.M < UXeXB.p nX7XB.Y 1 1XK k.-XJ TXKXJX1 cX- R.aX-.a aXI RX, R R aX- RXD.~XI BX-X-X- aXI.a.aXlX7XlXB.p.pXB >X+ >.m._._._.FX4Xn.FXq._.WX,X,XD c cXI.a.M U.F xXn x xX+.pX+X+Xp.@XpXpXpXq.FXpX+Xp.j &.>.Y ' s.0 CXl g.jX0 = =X0X0.> yXmX0Xw ! = MX0.YXnXnXpXn M._._Xp.YX> &X0.jXG sXG b o & o &.+.+.+ zXr.jXG.9.M C.M RX, h.ZX,XI R h.a R.a 8 tXs 8.N.=.v 2...@.x.< % %._ . . S.<...{X>Xn.F.W.}.a t.M s xXqX4 hXlXoXV F",
-".WXe.W.W U U U U u.M u UXe t t U u.j.9 n x y.Z 3X- 3X5 cXIX- xX5 hXGXeXD a R 3 BXI B.~Xl.5XDXl.a 3.a 3Xl.H B :.9 `.a hXH.,XV 3XJ tX,XGX>.xX> vX+.[.jX>Xn._.Z R 3.u hX*.e.` R.e a.a 3.} 3X,X1XJ c :.K.Z :.M 8.M.NXe.@XnXn ..YXnXGXG x.YXpXp.<Xf .XAXiXn v bXp.+Xq y.ZXDXI ~.8 ~.kX9.H.H.HX*X9.K.r.k.k.k.k.k.^ NXg.XXgXg.X.oX9Xg.X.b N.^.k.k.k.X.k.k.k.k.k.k.k.k.k.k.kXt.kXt.kXdXt.k.k.k.kXt.5.k.kXt.k.kXt.kXt.k.kXk NXx.XXk.k NXgX9.k.^.kXd.X.kXd.^.b.bXo.kXjXd.k.r.r 3 ~.8X5.k.KXV c cXI.w s ! !XO T s '.0XyXVXIXI `Xc XeXn._Xp x.WXp h Xp.9 ` 1.a.`XIXIX-.MXwXwXGXL b 9 & b.n v s.9 $ : R R B.Z.Z RXK n KXH.G VXM c 3XMXI R RXD.ZXIXDXIX1 R $ x ` .-X+ v.s / 0Xn v vXLXe.WXL.W U.W vXn.v ^X4X4.<X>.p.xXn.mXeX, < h a.a.M RXc.9Xc.e.u.a RX-X- R.M t R R t BX-X-X-.a aXIX-XMX5 < <.M x E hXe.i EXeXe E.i E h h < < < < UXe.iXeXe.m >X<.gXpXB Xq.} x $XDX,X1 `.] c R 3 B R 3 c 3 c 3 cX-X-X5XlX-XH :.] 1Xl : T $ R RX- < c., 1XB.gX7X7X%.[X+.FXq.F.pXr.g >Xp._._Xe x U <.M h $Xe U pXnXnX4Xr.j z nXr nXrXw.jX+ v .XnX+ J o.E & gXK '.9.Z sXUXUXU & M.> n.9 yXU.' y vXP.j.j nX>XpXnX+ & vXp.j M M.>Xm.Y.n v s s b H J o J.E 0X=.N C C.W U.Z.M t.M $ hXDX,X1.aX,.e a a R CXD.N.NXeXGX0..XfX2.@XnXi 0 S ^Xi.vXf HXiXnXG h UX,XD vXc nX<.-XH q.$.u",
-"._....._...s.m.s._XeXe..Xe p p.N.W._Xn vXG.9 h.W $Xl 1Xw.S xX, sX+Xc h.ZX, B.ZXo.0.kX1.~.8 #XD.~X-XI.~ R.e.a.a R.a t.aXI.aX-X1X1 RX, s v._.@.< ..sX4._.W v $ RXIX- R cXV # I q.KX-.a h.a.}XD 3 3XX.l $XD R.N.M u uXF * *.W u C 8 C.N u t.d.x % { %Xf.@.EX>.EXG 1 XDXIXI 3XVXVX* ~.5X9XV.r.5.r.K.k.k.k.k.kXj NXg.X.oXg.X.XXg.XXg.oX9.b N.^ N NXt.k.k.k.kXj.k.k.k.k.kXj.k.k.k.k.kXt.kXd.k.k.XX*.kX*Xt.kXt.kXt.kXj.kXtXjXj.kXj.k.k.^.^ NXo.^ N.^.X.X.X.X.b.X N.k.k.k.r 3 ~XV ) ( I `.AXJ.2.G 4XyXy !X;X; ! YXJ x 3 1 $XwXwXGX+.j.gXe.FXB.F._.i._Xe : c.a.` 3 3 x.O &.q.+ b y &.+XUX.Xc.3Xl mXw $ g mXl TXPXJXc `XSXHXH., c : :X,X1X1 R R 3 $X.X. T.].[ `XB.jXG.v.. 0.s 0XG . J v 0 v 0 ^.. 0Xf wX>.@ >.JX+.x.pX+._ EX,.M aXH.9Xl.a t.a hXIX5 c.~ R a RXD t R t c R.aX- 3.5 c.~X- R t.a UXqXp.[.-X% >XBX7.g.[ >._ E E._XpXp.FX4.F.F.m.m.F.F.F.g.gXB 1 h.a aX-XI BX-.aX- c 3 cX-.`X-.eXDX-X,X- mXcX,XD RX-X- aXI aX-XI.a.aXc `Xc V.h.S.hXZ.T.SXBX%.g nX+ X+Xr [.-XpXe.FXqXe x._ EXqXqXn.j [.+ [ =.YXrXm.j.9 o &.> z = MX0Xr &X0.> g s s.DXD.DXI U.w.'Xc y.9XGXD $ s s.Z.j.9XmXGXU.+.>X0.+ = = nXm.Y o.9 xXs 8.MXL b.!.q O 0Xi 2 2.s.=Xe.W.w.s tXD t.w.WXDXDXD BXI.Z RXDXD hXl.9XKXGXe C.s OXnXi 0 ^ 0 ^ 2.BX= { HX> v.;._ 1.W $XeXGXG >.MXI.8Xo.H",
-".@X4X4 0.. .....Xb % %..X6.s.m...mX4..Xq.@Xr.jXpXp._X+.YXr.)._._ v.-X, h 3.uXVXl DXVXl.K h c a h :.uXI.e R R.e a R aX- R RX-X1 3XV $ C.W v.JXA % %.. v CX,X1XI.~.aX1 a.uX9.KX-X-.a.a c h.a xXI.aXM 3 uXD v vXe p...sXb p %...).) u U uXFXAXfXi.J.j XeXeXL.Y =.OXl 3.u 3 ~ ~.8 ~.u.8.kX9X*Xd.k.k.k.k.k.^.k.k N.XXg.XXgXg.oXgXg.XXg.XXgX9 N.z.kXj.k.k.k.k.kXtXj.kXj.kXd.kXjXt.k.k.k.k.k.k.k.XXt.kXt.k.k.kXt.kXt.kX*.k.k.kXt.kXj.kXt.^ N N N.^.^.o.X.b.b.X.o.o.X.^.r ~ ~XV.8.u.8.u.uXVXV 5X.XU.0.0XO m.' $ !.2XKX. kXw.S [Xr.F.WXqXe < t U._._ x 1 1XD.8XIX-.aXcXmXr.+.h.q.q =XyXw., :.O #.3 mXKXw T.O $Xw.D sXK n mXXXc c R R.~ RX-X1.aXI.ZXV $XJXh }., [X<XG o & S H.;.x ^.@X6XiXf %X6Xi w.@.@.@X4 >Xn.pXpX>.p.F.. E E.-X, h.a R.a.aXKXl V.]X3 D.]XcXKXK., TXcX,X-.8Xl.`.aX-.} R.} EXe.iX+.gXBX7 [.gX%.g.[.p.<.F.F.F.m.m.FX+Xr W.g._._Xq.FXq.FX7 V x 1 R.a.~X-XIX1.a R.a 3 R R R.aXI R.u c 3Xl.e $ B.}.Z RXIX-.a RX- RX-.9 :.9XM 1XK.[ nXH.,.-Xw.,.[.-.,.,.- nX< WX7.[.p.[XpXpX4X4X4X> W.+ =.9XGXG.9XG 9.' s vXG.!.jXC y.j & H y.9 '.Z.D 8X, sX5.wXe.ZX, 8 R :XK g gXPXwXwXU.+.>X0 y.jXm.'X0XmXm.9.w.D RXDXD C.D v.q & b 0X=X=X= 2 O 0 O.sXL v.N U.Z.Z.Z.MX1XI BX,.aXKX3 `Xc k $ R.M u C.N 2 b.v b.@.v.= 2X= 2 ^ H ^Xq._ U h R.M ._X+Xq 3XV.HXo",
-".;.;X8 H.4.xX>X>X>.;.x.@.xXfXfX6XfXnXf .X4XnX6XpX> M zXr p...s ..-XpX, 3XM.aX-XIXI 3.KXI cXD $Xc.9 $X, $ 3 hX,X,XD 3X,XIX,.Z.Z.D.uX-Xl vXn.C pXb.d u.Z a RXI.~.8 R R.KX3.~X* ~XIX1XI $Xw x h aX, hXK x v._.. v......XiXb...J %._.s p pXAXb.C.@.EX,.}.M.aXq oXr.Y 3.`.H 3 ~.u.rXV.8X*.r.5.KX*Xd.k.k.k.k.k.k.k.b.XXg.X.X.o.o.X.o.XXg.XXgXg.o.z.^.^Xo.b.X.b.^.^.k.^.k.^Xd.k.kXdXtXd.k.kXt.k.K.5Xt.k.k.kXt.kXt.k.k.kXj.kXtXtXt.k.k.kXj.k.^ NXg.^ N.o.b.X.X.o.X.o.b.X.^X*XV.r.8XV.HXV ~ 3XIX5 4 ]XO ! TX5 B R 3XD $ $Xw.[ nX7XpXp.<XqXq UXq.Y p vXn.9 UXJXc cXlXc.O.>.jXCXZ.G.+ y g '.Z.Z cX5 $X,X,X, $ 8XD.'XD.'XlXw.,Xc : `.}X- 3.aX-XI RX- c.a RXDXKXMXhX..1.L.+.T M S H.@.4.{ w.4.4 w w.;.; SX>.x.jXnXq.<.<X+.xXn.m._Xe.F.M < < t <.aXD.~Xl c : c.a : x.Z $ x $ RXIX-Xl.a.aX-.M U E.i.m.F k.p .[XBXM.F.FXB.[.p.FX+Xq.FXrX%.g WX% > > >.gXBX7 kXB # aXI RX1.eX-X1 RX1 a.~ c R.~ R $ : $ D.eX1XD 3Xl aX-X1.e R RX-.M.a.aXI.M 3 n $ xXw 1.9Xc.,.,Xw |.S [Xc V k.gX%XB.F W.pX4XnXp.<.E z [.j y.'.W.D.ZXD.Z.'XGXP b.' bXG.9XmXK.9 g 'X, 8X1 'XD B R.MX,X,.aXIXD.0XJ $.Z $Xs.Z.W sX+XK.' y.9 9Xw.n.DX1X,XDXDX1 8XD.'Xm H.q.v 0 0 O.E &XC.@ O.v J.).=Xe.WXaXD 8XD R.HXIXK : : 3 3.}.a R tX, C.NXL O v.N.W.N.N.=X= 0.4X2 .._._ < R R.wXpXqXBX1.8 ~.H",
-"X>XmXC y H H H & HX0.; HX0X0 M M r.+X: SX:.+.+.+ r.;.y.;Xn .X6Xn W.Y 1 U.M.M t.a.a < <.a UXD.- x x.W t <.* aXI aXIXIX1XDX,XD 3 x 3.D xXw M.TX>.pXn.9 nXlXlXlX, h.DX1X,.~ 3X- RX1.~ $.D 'X.XG.Y.[Xe y.jXpX>.<.<.J.@X4XpXn.xXnX6 {Xi 0.<.sXpX0.Y.w R 8X1 y.E.E =Xc.}.8XV ~.HXV ~ ~.u 3 ~XX.X ~.r.k.k.k.k.kXjXj.^.XXgXg.XXg.XXg.o.X.o.o.XXgXx.z.X.X.o.XXg.X.X.b.X.o N N.b.X.bXo.k.k.k.kXt.k N NX*.k.k.k.k.k.kXt.k.k.kX*.k.k.kXt.kXt.k.k.^ NXkXd.^.X.o.o.o.X.b.b.X.b.k.r ~.r 3.r.H 3XVXV.`X1 T T '.DX1X1 ) ) RXDX, xXc y.SXc.L.1.F v xXq.1.+X+.Y.- U.Z :.9Xc =X;.OX0X0 o.; =.G.+ ! 8X-X,X1X, c.M < R RXD.M.DXm.w sXKXw.- `Xl `.aX-X-XIX-.aX- c B.aXIXD hXM Xw.S z z.+.hXf.@Xf.@X>.C.@X>.xX>.@ MXrX+Xq.M uXeX4XpX2Xr.<Xn.m._Xe E hXe.}.a.} hXDXI aXI.a 3 aX- R RX- RX-.` c c.a.i h.iXeXq X+X%XBXM `XX .lXM.FXB.[XBX%.[.[.[Xp XBX7.gX%.g.y.S.gXBXBXl $ a.aX-X- :X- B R R.~XM : $ #X5 `XJ mXJXKX3Xc.,XJ I : xXl.Z 3X, :XDX, h.aXc $ nXcXH :XH kXJ k mX3 $ #X3 VXcXB kX< [.SX%X>X> H M M =XU.j.] g $X,.wX,.Z :.0Xl.'.'XG.' s x.w $XD.w.Z.ZX,XlX1XD <X,XDXD $ $ 1X5X,XDX1X,XDXD.ZX, s $.W s.Z.M '.DX1XDX,.H RX1X,.Z.!XG y.q oXC.; HXC.q H & H J ^ ^ 2 v.WXs.ZXDX1XIX, K.Z :X,X1.~XI.-.e R t.a 8 t 1 U.M.M t.*.NXa 2 ^X2X4 ..i <.a.M hXGXqXB 3XV ~.H",
-"Xm 9 s v.n 0 s 0XG oXG oXGXmXC.O.h.+.TXh.T M M.+XrX0 z.4.;.4X>X0XL y v.w._ UXe < < < <XLXeXe.YX+ v.sXeXe U.a aX1.`X1X-XI.Z.a t c R R.WXGX> .._ s.9Xc I.%.-.9X.XU D m.DXlX5X,X,.u $ $ $XKXw.Y.-XrXGX0Xr.TX<X+Xn.YX4.Y.pXrXr.<X+X>.@.EX>.< W xX, R.H 3 s o oXrXG hXI.r 3XV.rXV ~XV ~ 3.rXX.K ~.KXd.^.k.k.k.k.k.^.X.X.b.X.o.X.o.X.o.o.XXg.X lXgXg _.XXg.X.o.XXg.XXg.X.X.X.X.X N.^XtXt.kX*.kXo.k.k.k.k.kXj.kXt.kXtX*Xt.k.k.kXt.k.k.kXjXtXd N lXd N.o.b.b.X _.X.o.o.X.kXtXV.r.H.u.k.r 3.rXIXI.HX1X1.HXIX1 DX1., D.9XwXc.[XH.F n nXG XwX<.jXw xXqXGXB.i <X, sXG 9.q & M.TXr & y gXKXO.'X1 $.a cXD.a R R.a.Z v.'Xm o.qXrXU.Y `XM : #.}.aXI.a.a cX-XI t 3.a #XM `XrXr.YXpXpX4X4XpXnXGXp.@.@XG.YXn [Xr.YXe < <.WX+Xn.<X>X2.xXp p.m._ E E E.W < U $ h R.aX-XDXD R RX-XIX- RX- c h $ h._Xq.F >X%.[X7XB.l hXXXM 3.a #XMXMX7 k.[XB.[ XM V [.1 [.SX<X#.T k | 1 3XI.aXIXIXlX, h 3 h c.9 kX..%XK ` m., DXK : 1.uXl 1 : $X1XIXDX- $XD R aX,XDXK.Z : $.Z c $XD 3.a.aXIXIXD 3 `X3XXX7XH.[X< W.; M &.j.j yXP !.w ! g D.]X5.`X5XD RXD 8.M R.MXD x x.ZX,.uXDXI x.ZX5XK $ h $X5X5.].K ` ' k `.,XcXH.3 yXD.wX,.Z.w x 8X,X1XI RXD $ RX, s sXC.qXC oXC H.q O 0 wX0 H J 0 0 v UXD hXI.a $ R.aXI B cXK TXlXDX-XD.aX- a c h < h hXJXsXe.s .XfX+ .Xe UXD.aXe.F._X+.uXI.H.8",
-".DXl '.w.nX5.n s.0Xa s.w.n x s.!.'.j.! b s b b b 9.!Xm.!XmXCXC H y vXmXp.s..XpXb E.dXeXnXGXn g.Y ...._ pXe E R <.eX-X1 3X1 R a.Z R 8 U._Xn u t RXI.uX5XI aX- R.aXD cXDXD R R R.MXDX,.Z.9Xe._ vX> 0.@.jXrXq $ hXe xXG s h $X,XV.9 s v $ 1 #.aXV.u 3Xe.E.YX> U hXI 3.8.r.8.HXV.8XV.8 3.r ).k.r.kXt.k.k.kXj.k.kXd N.XXgXx.o.o.oXg.o.XXg.o.o.QXg.XXg.XXg.o.X.o.o.o.XXg.oXx.b.X.X.XXt.k.k.kXt.X.k.kXt.kXj.k.k.k.k.k.k.kX*XtX*.k.k.k.k.k.k.k NXkXt.b.X.X.b.o.X.o.X.b.o.^Xt.r.8XV.k cX*X*XI.r #.K.` cXV.H.H.u.5Xl x 3 x h.-Xp.Y.9X< n.1XHX.XKXG.9.Y ` #X,XB.-.w vX> =.;.;.+ & HXG.!XDXa ' D D.Z $.} a.} U.Z b.n yXC =.q zX0 nXcXB `XM x.}XIX- hXIXIX-X,.} h XM.- [.xXpXp E u uXeXe v x x._Xq.w [ [Xw 1 $.MXD.w.pXpX>.<X2.< . ....F ..m.iXe._XeXp <.a R R 3 RX- RX1XDX-X- hXl EXeXp.p.p.F.[XpXMXB.}X-XV.`XI.a.aXM ` XcXBX3 ` `XMX3X..S.SXHXH.3X<XH.l $.}.}XIXIX- c.u 3X-.aXD 3XDX-X- a R R x a $.eX-.a.a.a.a.~ R R 3X1.aX1.a R R aX-X-.eX1X- RX, RX1.aXI a.aXDXI cX3X3XX XB n M HXC M &.j 9X; !XU g ! D.0XVXIX*XVXIXIXDXDXD RXDX, h $ R.MXDX,X,XJ 1XwXJX.X. mXJXJXw.%X..-Xc.' $Xw Y :.a x $.a $ $X5.aXDX, T 3XI R.Z.O.n.' v.n v v b v v O b ^ H H w O v.W.M.a h.a 3 $XDXD xXK T c BX1 RX- 3.a R h h kX3XKXJXL.N.s.vX6.xX4 p $ 8 t hXnXqX+ 3.H.8.H",
-"X5.0 '.Z.Z.n.Z g D gXK.n.Z.wX5XG.' '.' '.wXL '.nXL.!XaXa b.nXL 9 y &XrX0 0Xb.B %Xb...JXe.E =Xh M n.xXpX+.< E.d tXl x RX1 R RXDX,X1 R p v.m u.MX1.`.u.eXI.M <.a.aX1X-X1X,X- tX1 aX,XD xXw.w v ..@ 0.EX+XD h 3X,XD.wXc TXK.w 3.uXVXI $X, $ 3 c c $ $.-.jX2.j k.O 5.KX5X5 cX5.k.K.u.KX*X* ).KXt.k.K.k.k.k.k.k.kXt.k.b.X.X.b.X.o.X.b.o.b.X _.z.X _.X _.X.X.o.X.b.X.b.o.XXg N.X.X.XXo.k.k.kX*X9.k.k.k.k.r.k.k.kXtX*.^.5.X.X.5 N.^.^.k.kXt.k N.zXoXg.X.o.b.X.b.X.o.b.X.X NXdXtXt.kX*X*X* ~.k.KX*Xx.KX9 cXoX5XIXIX-.M # #XK n.1.1.1.SXH `., $ $.Z h 3.a.l VXB.- v 0 = w =.+ =X0 s 9.DXI BXl : m.-XwXD.M.w.n.9Xm &XC M.E =XhX<.TX< kXB.-X3 x h.u.}XI hX,.} ` X7.gXw.[XpXBXe.M t C R R t t R.M.e.9XB.O $XJX..9 n.MXLXnXp.@X8.j.x.<.{X+ . p.m.m EXp x U.M RXD 3 3X1XD 3 3X, 1 Xq.F.g WX<.[ [.gXc V hX* 3.5XI.u 3.uXM ` `XMXM.}.}.a R $ $X5 hX, $ a aX-X-.aX-.a.u 3.a R RX-X- c RX,.ZXD R.a RX1XD.a R aXI.~.e RX-XIX,X-X,XI.a.aX, TX-.5XM aXD a 3XD RX- aXDXIX1XDXl #X* # V.[ n.T 0 ^.q.T =Xm 9 g.! sXU.9.'.5X5.u :.KXIXVXDXDX,X,.aX, hX,.aX, 3XD.9.- 1.Y s s.9 R.ZX,XD.aX,X-XD.ZXl xXDX, $ xX5 mX,.w.ZX,X,XHX-X-XDXl YXK x.n sXa s s s.n J J H H HXC wXn vXe.} a 3 t :XcXcXJ.ZX1 RX-.a R c R c #XMXJXK.-X, 8 tXa ^ 0.C.4X6Xq v.M.MXeXpXqXB c.H ~.H",
-"XK K :X-X1 RX5 m.2.Z c D $X-X-.HXDXD 8X1XD 8XD.D ' TXa.w.Z.n T.' vXUXC.jX8.@Xi.P.PXA . S M.O nXJXr M M.yX: M W u.j.- :X5 cX1.8XV 3XDXG.F.) tXDX-.`XVX- R.a.a R.` aXIXD 3.aX-.a.}X, uXeXpX4XqXn n y y hX,XD h 3XDXD.DXK 9XK sXD.}XV.HXIXdXIXVX1 RXp.@X>X2.j.jX5XI $ cXI.H 3.u ~ c.r.u.K q c.kXoX9.XX9.XX9XxXx.XXxXx qXk.z.I q l.IXk.U.z.z.6 l.z.U l l l.z lXk l l.X.o.X.b.^.^Xo.^.k.k.k.k.X.k.k.kXt.k.kXt.r.KXtXtXt.K N.X N.X.X.X.^.kXt.^Xk.b.X.b.X.X.o.X.b.b.X.b.X N.^XdXtX*.kX*.uXV 3.k #X*X*X*X*.r cX1XIXIXI xXHXJX#.3 `XDX,XIXIXI 3.`.} 3.}.a h V X7.gXp 0 v.@X>X>Xh.+ !Xw 8X,X, BX, $XK U.ZXL 9XC.q HXC.T z z.p zX%.hXh.L.1XZ.Y 1 #X7XHXhXc.,XB.,.gX#.S.yX<Xp.9.M < R.aXIX1XIX1.aXDXD U hXc.2.5 : $.9 U UXG.j.x.xX2X2X%XrX:Xr.xXr.pX4.<X+.Y.9 hXDXD c.u.u.aX1.a ` U xXq.gX7Xp.[ kX7Xl.lXI.eX-.`XV B RX-.a h h c.}.} a a.}X-XIX- B RXIXI $X, RX-.a.e.aXIXDX-.a a.a.aX- RX5 $ RXDX,X, $.a RX,XlXK a xXH.% T.eX,X1 Y s.aXI tXH.% xXl.~ R R.~XD a R R.a.M R 3 hXl 3 3XB [.pXp J ^ ^ z &.;XC HX0 bXmXPXKXl :.5 :.5Xl hX,.ZX,X,.MXDX,.MXD a hXDX, x $ xX,.Z x.wX1 1 n.Z.ZXeXD 1 T.-.9.ZX, $ x nXD $.wX, tXH R.aXIXcXDXw 8XDXD 8XaXL bXm &.qXC b w J ^ J v.MXeX, <XK c 1Xc 3 R.aX-XD R.u hXJXH :.3 x.aX,.a.N.W.s J ^ %X4Xp._XeXD.M EXn._X+ 3XI ~XV",
-" cX5 ` RXD 3X. D.%X. :Xl m., ` ` :XJ cXc.5Xc.u $XK T.*.MX1 1Xl $ sXL.9XrXr.;X8.;.@.@.< nXBX, hXD c EXe MXn.JX4.)X>X+Xw : `.~ cX*.0 $ [X4.M U aX1XI.8 R.} `.a c 3XI.aX-XI.8.a.}X,.M pXnXnXn M.p v <.W._ XK.Y.9.wX,X,Xa T.!.9 .aXIXV.u.uXV.`.a 1.E.P.x.< HXrXw.2Xw D cX1.u ~ 3 ~XV 3X9X9XV.r.kXt.k.kXtXt.uXt.u.kXd.^.^.X.bXg.XXgXgXxXg l.z.X l.X l l lXk.U lXk l.z.QXk l.b.X.X.XX9.X.XXx ).XX9.XXkXxXkX9X9 NX9X9X9Xk.z.z.z.z.zXk.zXk.XXx.IXk.zXk.z lXkXkXxXkXkXk lXxXx.X N NXoXoX*.u 3X*X* ~.8XV.8XVXI.HXVXVXlXJ.3XK xXlXD 3 h cX3XXX*.}.8 h.a c.[ VXB .[ nX> H.E 0 y.>.1X;XH Y.2XJ T RX,.ZXD v.n.q &XC & H.+ zX>.xXrXr n z M =.TXw.g nXH.SXH.1 kXhX#.hXh z.1Xw.j.9 h.ZXDX,X,XDXDXDX,XDX, hX,XD 3X5XDX1X, $XDXeXG.j.Y SXrXfX4.<.pX2.x.x.pX4Xn._._ 1 h 3X5 3X-X-XIX1 .}XeXq.p.p.FXB XM 1 c cX- R BXI 3 a.a RX-.a.a <.a.a.a.e.a R.e R RXI RX,XI.a $XM cX,.ZXI kXD.a RXIX.XlXc a.a 3.G.e Y R.a $ 6 xX- $Xl.% RXDX- cXH.3X-.M.eXJ xXN s R R t.aX,XI.aXD.aXD 3XDXI : : cXB [X> ^X6.v ^.sXn.E M M.q =.q gXPXc 'X-XV.'.K $ $.Z $.ZX,X,X,X, xX.XlX, xXG.G.YXc U.Z $.ZXUX,.Z R.MXD.Z = $XK h.wX,.ZXHXKX, $X, R xXDXI R RXDX1 R R 8 8 s.nXC.q b O.v.v.v O.vXGXe.W <.MXJ xXK.u.a $.aX-.a a.u.a xXJ T 1.Z.MXDXDXe.* s o.@X>.@.<X+ v x U t.WX4XqXBX,.HXV.k",
-"XIXD 3X, $XKXJ.9 x.uXl cX.X3XJXJ.- m D :XM., h.GXJ.wX1 R R.aXD 3.D sXm gXm &.j H M MXG 1 .a RXI RXDX,X+Xn.J.s...d.M t cX1.H cX5X5 sXH.jXpXB.9 `.5XDXD : $X3XJX5 RX-X- 3XM.5X, UXe._.@Xn.x.s U pX4.x.<Xf . vXpXK.a 3.HXD cXoX,XI.8.8.K.H.HXD sX+XpX2.J %.<XpXZ.j y.YXcXD 3X1XtXV ~.u (XV ~.8.k.k.k.K.k.k.k.kXd.k.k.^.k.^.^.X.o.X.o.o.XXkXgXg.oXg.X.o.X.o.X.XXg.X _.bXz.X.^.kXdXt.kX*XtXo.K.kXtXt.R q.X NX* NXtXt.k.k N.X.XXgXx.o.X.X.b.XXk.XXg.oX9Xg.oXgXgXgX9XgXgXxXg.X.^.kX*.u.rX*.8.uX*.K.r.8XV.HXV.8.K.5XI.u 3 3 3.KXM D.K 5 #XV 3 3X*.5., VX3XX XBX0X0 J.@Xm &X0 v s.9XK ` 'X1X, 3.a $XG bX0X0.q w MX8 . . . p...s ^X8XrXr [.[Xr k.-.[.-X+ kXr.-X4 v U R.* t RXD $XKXKXlXlXc.9 t.,.9 R T.% cXKXJ.aXh.9Xw vXZX+.YXpXpXp.< >X4.x.x WXnXq.Z.M.a.~XI cXIX1XDXl h U.F Xr 1.l x # a.a c RXD.e.Z aX-.a a a.aX- < a a., $XJXIXD.e Y $ 3 RXD `.G.Z h 3.u.GXMX1 R.a.3XHX-XDXD RXhXJX# R.aXDXK.O $XDX,X.X- RX1XcXlX# : R.e.,.M.ZXl a R RX- RX, 3 $XIXI 3X, : `XK `.FXH WX>XfXi 2.) vXn z H b HX0 &XCXP.' $.DXIX,XIXl.,.'XU.ZX,.w xX. :.a.a.Z hXH = nXD.ZXD.Z nXJ.Y RXDXD CXl.'X,.w $XD.a t R.MX- h RXD.eX,.aXD RXD 8 R 8.ZXa b.qXC O O 2 b.v.s 2XL vXD.W 8XD hX1 RXD.K.uXI 3.u 3X-X..Z $ R R R BX, $Xe J.s.@.4.) E.p.i.l h.MXeXn.F.pXK.kXo.]",
-"X, hX.XcXlXJXJ.Z R.a B cX- x R 3.ZXD h $XD xXl.%XU RXD RXD.} c R 8.D.n 9.9 gXw.9 'Xs.a.u RXI.8XI.8.` h sXpX>...s p t R.a.e #XD.a 8Xe 1 UX, $ cX5Xl 3.}.} 3.K 3.KX1 3X- a # x hXp ...X>.C.m...@.<.< L.JX6 . .X>.YX1.aXV.8.H 3XVXI.r 3.K.`.H $XmX> W ..JXfXn .X2.+.Y y $.a `X9 c.K.K.] )X*.5.5.r.KX*.kX*.k.kX*.k.k.kXt.k.k.oX9Xg.o.X.X.o.z.oXg.X.o.o.oXg.X.o.o.o.o.X.o.oXg.b.bXo.k.kXdX*.X.k.kXt.k N q 5 N.r.r.k.k.k.k.k.^.b.b.o.b.X.o.X lXx.o.X.X.o.X.o.X.o.X.o.X.bXg.X.b.kXt ~ ~XVXIXVXIX5 ) #.u.kX1.8.8 3.` 3X1.u.` 3.K.8.k #XV VX3.`.}XI V )XXXM.l # h.lXM X+Xw & y.j =XKXUXK.> 'X,XD RX,.aXD v s.q &X0X> H zX>.CX: r.P.@ SX0.y.x.[X+.g.g.[ n k =X7 n.g.j n v RXD 8 R.M.a.M.[ xXG x K.9.*XH s.eXJ.3XX D k.u `Xc.9 a =XG U UXqXp.9.@X+.<.<X:.< p.i.M R RX-.` cXI.5.- `.Y n.gX< [XBXH : ` VXHXI R.aXIXD.uX-.aXIX- R RXD.e.-.% $ aX-.ZX.XH a.Z R :X.XI.u.e DX. m aXI RXh mXwXD.aX, Y.e Y RXIX,XHXJ a R $Xc.eXDX1 $XDX, 3.M.a R.aX- aX- R R R.a x $X1 `XHX, `XcXJX3.,.SX% MXn 0 0 oXGXnXL v 0 2 0.+X0 & g.! '.ZX,XDXD $.GXHXw.M.ZX, $X;.,X,.a xXDXw.Z 1X, $ $X, RX,X, R R.aXDXD R h.ZXD.a.a.M.aX-.M RX, R.M R.aXD RX1 CX1Xs.w b JXC b.v /.) J.Y.N.WXs.w.W.D $XDX1XI 3 #.~ 3 : cX- R RX-.a.M R R.eXD.a 8 vXn..X>Xp.@XeXqXe $ < u.M._X4.S xXJ f )",
-"XDXKXcXc.OXhX..9XK.'.'.9 $X.XlXIX1 RX,XDXD a 'Xc $XD BXD.HX5.`.u.w.n.nXPXO '.HXIXD.HXIX1Xo.u.`X1.8.` $ U v J .Xe.W a.} RX- : R R C x.WX,.}XI RX- R 3.a.8XIX-X1.H RX-.a.M < U pXLXn M.<..X>Xf.. .X6.C w H J.j.9X,.a 3.` 3X*.8XI.DX1 #.r 3XJXU ^.@.P.J %...BX6.C...x.jXs 1 ) ) I.$.| f ) ) D 5.kX*.k.k.kXtX*.r.H.u.r.kXtXt.X.b.bXgXgXg.X.z.o.X.o.XXg.o.X.o.X.o.X.oXg _.X.o.X.X.b.^.k.kX*XxX*.k.k.kXtXt.k.k.k NX*.kXtXj.k.b.b.o.X.o.X.X.X l.o.X.b.b.o.b.b.X.b.X.X.o N.b.X.b.kXt.r 3 ~.H.HXV.5.K.5X5X3.8XI.8.`.HXV ~ #Xx.8 c.K.`X* 3XX VX3 :.5XJ VX3XXX, ` hXK `XM .p.[ y.O.1.OX;.OXP.w $ RXD R R.Z v b.j & w ^Xf ^X>X>.4 . w.;.; HX:X:XrX<.h [.T.1 [XZ.T z.1X>X+X,.D.a R.}.W xXH MX%XcX<Xw h $XKX, x 3Xl 3XMX3.5X- 3XDX,.Z.a.M.M U.d E.pX>.x WX4._Xe < R.a.a a 3.2.% ,.-X.X<XH.hX#XHXHXc $X..YX. <XI.eXV 3 cX-.`X-X-X-X-.~ RXc.%.S.a aXKXXX#.Z h.e YXJXc $XV.2.eX. 3.a.aXJXD :Xl.a.a.wX,X,.MXI t.aXD R R a.e R RX-.a aX1 RX-X-.aX-.a.a.a aX-.}.eX5 3.aXDX.., Y.3.3.GXZXHX# WXr o 0XG v.M v.YXG O.@.@X> M & g.! sXDXDX, xXK :Xw $.Z.w $X5.'X1X1X,.ZX, x $X,XDX, 3 c 3 a.}XI 3X,.a.a $X,XD.M R R.a.a.aXIXIXDXD R R s $XeXDXsXL s b o H 0 2X=.s._.N t.MX,.}X5X,XDX-X1 RXIX- RX- 3XI cX1 3X1 t.u.M.aXK.e.w U v &.s ^.@.pXn .iX, < U.).mXqX+ :.H.uXd",
-".Z RX, sX.XP.Z 'XK.Z 'XcX5 m $.Z RX1XDXDX1XD DXK T.ZXl.5.'.KX5 : '.0XP gX1.D.8 c.`.HX5XJ :XVXI.8.`.8XI RXL o.s.s C.M tX-XIX,.a RXs v h.MXI 3XIXVXlX1XIX-.}.aXI.aXX $.a.M.N .Xe..Xp.x ^X>XiXfXfX6XfX8.;.E.@.wXDX1XD.` 3.a.8 3X5X5XD.K 3 3.w.@ 0.P.PXA LXi %Xi SX8 JXw.jXl `X3.5 ).X :.uX5.KXVX*XtX*.k.uXVXV.8 ~.u ).A 5.^.X.XXxXgXg.XXg.z.o.oXg.o.X.o.o.o.X.X.o.o.X _.o.b.o.X.X N.k.uXdX9Xt.kXt.k.kXt.kXtXtX*Xt.k.k.k.^.b.X.X _.X.o.b.bXkXg.X.o.o.X.o.X.o.b.o.b.b.b.o.o.X N.kXt.rXV.H 3XV.HXI.`.8.`XV.`.`.u.5.k ).5X*.8.`.`.8.8X*X* VXXX3X3XXXM.5XlX,Xw $XH.- V.[ k.S k [ k.> =X;.j.n.w 8.Z.a RXs.9 T.q HX0.4.@Xn.xX2X>X> ^X>.xX8 W.h.T.1.h =.1.+Xh.hXhXh.T & yXG x x.9XpXpX4X4X4Xq >Xp y.9.M t RX-.a.aX-X- 3.` cX1 RXD.*XD t R t.M.MXn.{ WX:.xXeXeX,.a aX-XIXl.k.u ` :.S XBXh.- X< `.i.a < 3.aX-.a 3X-X-.`X-X-X-.a R R.~.0Xl $.a.a .aX,.Z.}XDXDX,.aX-.DX,XI a a.a.a.~ RXDXIXD tXI aX1 RX1 3XDX,X-.aX-X-X- RX-X-XI RX- RX-X-.aX- a.a.a aX-.aXD #X- hXl hXcX.XJX. [Xw n MXr J vXL U $.M 8.N.W...s HXm &X0 oXOXL $XD cX,XD.a 8XDXD $.Z RXIXDXD $ h x.Z.Z xXlXDX, cX,.aX,XD R.a.ZXDX, RX5XDXlX- $X1.9 $.9Xl '.-Xw.w.n.nXa s 9XCXC.@Xi.)XeXL x <.}.aX,XD $XlX-.aX1X-X-XIX-XDX5XDXl.a `.,XI :X,XI DXDXl.M._.j.@.v ^ HXpXq.i E E U u._._X+ c 3.H.u",
-" R 8XD.9 m.w.wXD.DX,XD.Z.]Xl $ R RXDXIXD 8XlXcXl.0.%XKXK.] mXc.G gXU.!.n.].'X,Xl $ D.2 :X,XI.`XI.8.`XDXDXp ^.v.s u uX-X- 3X-X-.D.w T C R R.`.a.5Xl R `Xl.a # $.aX, u U..._ 0X> S wXf L LXi %XbXA LX6X>.' 'XD.HXIXI.` 3X* :.0.]XD xXD.Y.EXn ^ {Xi {.J L.PXiXf.@.;.Y x s.| ).2 )XJ.] (Xl q : )X9.u.5.5X5.5 3 ~ c.r.u.& P NXx N.X.X.b lXk.X.b.X.b.b N.X _Xg.o.X.o.o.b.o.X.b.X.XXd.k.kXtX9.kXtXt.kXt.k N.kX5.kX*Xt.X N.b.X.bXg.X.X.X.XXg.&.I.z.o.b.X.o.X.b.X.b.X.o.X N.b.o N.^Xt.r.r.kXt.k.u ~.8.`XxX*Xo.5X9Xo.KXV.8.8.u.KXX # 3.} 3.,XMXM.KXMXM hX-.a $ R.,XD |Xc ` [.S ` 1.3.3XZ mXK.9.'.w x D :.ZX,Xw y =.>.OX0.j.SX7 k.gXrXC.@.y >.p.p o.j.j.jXwXw & z.;.jX2.p y.[.Y.-.j.xXr W W W.x.<.Y.Y.w t.a < R R.a.} aXI R 3.uXI RX- B RXD R v.<Xp.<.{ W.< x U R RX- h.aX-.8 a R hXUX+ WXB.F 1.lXM U h.a a.} c c.} R.}XI.a a.a a.a.e RX-.aX- a.a a < RXD.a a.`X-X- R R R R RX- 1 $XI.a aXI a R R 3XV B R 3.a.aX-X-.aX-.`X-X1 R.~X1X-X1 R.a RX-X-.a.a.aXD hX,.a 3 hXM VXwXH.EXC.4Xp ^.s v U.MX, c.Z.'XqXw.>XG JXC M &.OX;.n.Z.DX5.D.DXD.DXDX,.Z.Z.a.a.MXD #.aX, :.2XJXDXDX1X, c.aX,.aXIX,X,XD.' T.-XKXJXKXK.]XUXcXU.9XK.!.9 o b O OXCXC O.v 2 2XGXG U R.aXDXD.aX, $ RX, T.9.e.' hXDXc.ZXlX-XlXl.aXMXD.a R R.MXD.}Xs.E...v ^ HX4._.m._.m p._XqX+ 1XI.uXd",
-" $XDXlX. g mXJXUXU D DX.X$.GXH ) 'Xl.w.DXlXl g $X,XD $XlXlXl T.0 D.2 gXUXO 'XU.2 m.GXOXO.]X1XI.H.DXd c U.jXp.B.sX=.d UX,X5 RX1 ` v.'.M.MX-.aX1X3.H c.5.,XK.,.,.[.9XpX+.<.. ^.j HX0.@ z w S rX>X:.CX2.@.@XKXI 3X1.H $ )., I.]X5.] :XJ.9.1 y.jX>Xr.x.x.xXr.@.@ J.x.jXLXUX, :X5 ).5.KXJ `Xc (., )XJ ) 5XJ.$ q.u 3 ~XVX*X* , ]XxX@.7X@.zXk.oXg.o.oXx.z A.&.z.b.X.b.o.oXg.o.X.z.z (Xx.5X5.k N.rXt.^.k.^Xt 5.k.kX5.5 qX9.o.bXg.b N.X.XXk.X.( A.XXg.X.o.b.o.X.o.X.o.X.o.b.o.b.X.b.^.^.kXt.kXt.kX*XV ~.8Xx.k.k.k.KXV.`.`.u V.$ V V., V V VXJXM.l # h.aXI.aXI RXI cX,X,.a.aXD c $ 1 [ K KXh.> @ =X.X;XU !XD.wXU.O =XhXhXZX#.h |XZXB n.+.x.T z MX0.+Xh.T KXh.+.TXZ M.;.;X>.;Xr.; WX8.;X> SX8 WXr WXrXr =.F x $ hXqXD tX,.e RX-XIXIX-XD.aXD.M sX+.xX2X8 W M._.Y c R.a.K hXIX-X-XIX- RXqXK >X+.[X7.[ .l.l h.} # #XM ` #XXXM.l #.a.a R RX1 B R R a a.a.a R R.Z.eXIX-.aX-XI t RX-.aXI.aXD RXIX-.aX-XDX- 3X-X1 R.aX-.~.aX- R.`X- R.`X-XIX-.`X- RX-X-X-X-X-.aXI c.a c.aXl : #Xc V M o 0 0 0 v.s U 8X,X,XKXwX. g.9XKXn o.@ M &.E gXaXD.'.]X5 CXDX,XDX1XD.W R.M 3.M $X1X,X,XKXKX..9Xl c.Z.9XI R.MXDXD R aXD.ZX,.ZX, BXD C 8 sXs x o &.qXCXC J H.E.v.v / v v x aXDXD R RX,XD R $.M.-XK a.w.Z RXDX1.a.a.aX- a 3.a a : $ :Xl.9.YXs J 2Xi.4.x.F.J._ p.m._XnXc :XI c.r",
-"XwXlXc D.n $.wX5 '.'.0XJX.X. Y Y.G Y YX.XUXJ.'XD R RX-.aXI 'X,.n.'.! s s.!XU ! s.!X;XUXP g.0.n.] g.]Xw x.j J...s % . p .Xe u < xXe [ U RXD.a.` 3 cXl ' T.] 'XK : TXJXr.@.h.yX> y HX0 S S S M.;X0 ^.TX> o h.a 3 : mXK ` D.' :X5 I 5 q c :.uX, $XG x x.YXwXp.-.jXwXrXUXhXKXK cXIXI : c 1X1X,Xl.u cXV cX* cX5 ~ 3 3XV.rX*.R j qXo.&Xz.b.I.X l.X.b.z ZXk AX$.bXgXg.X.o.bXg A.z.R j ) ,X@XoX5.k.k.kXtXtX9.7 I j I.$Xo NX9.b l.XXg.7 X (.R 7.Q.X.X.o.X.X.o.b.X.o.b.o.X.o.X.b.o.X N N.^.^.^.k.5.^Xt.r 3.K ~XV.8 ~.`.8 3 3.$ VXX.KXXXXXXXX.lXMXM.a.}.a.a RX-.aXDX1 R.}X,XD.M., `XBXJ = = yXO.q !XmXO sXK @XOXLXH.GX. nXw n n., [.1.LXZ M =XrX0XhXh K.GXhXHXZ.+.+XZ S H H SX0.;.;X0.@ ^.@X6 z.T.+.h.hXHXHXcXwXH [XH h.MXD.a.}X- #.a a.a U v.jX2X2 WX: [ WXh.YXlXD 3.] :XI 3.~ R R t.MXqXc.[X+XB.[.[ .F # ` # 1XXX3 XX.,XBXMXX x.aX, $XD B R.aX-X-X- a RX1XD.aX-.a.eXI :X,X,XlXDX-XI.a R.a.e a a 3XI BX-X- RX-.a.u RX- R 3.`X-.`X-.u cX5.k cX5 c c.kX5XlX5 R.uXD.uX,X5XJXB.1X> J 0.vXeXe v $XK.9XJ.nXIXDXD.WXL yXn.@X0X> 9.' 8XPXKXD.D $ x $ 8XDXD.D.a.a.M c hXDXD R.W.Z T.YXKXKXcX..-XK :Xl $XlX,.M.*X-X-.} a.a R.M.ZXL.9XC 0 bXCXCXC ^.v /XL vXG.M tXDXD.e RXD.*.MX, xXD RXDX1X-X1X- $.aXIX, # D.eX.X, :X3XKXKXKXH.) v 0.B 0 H.@.p.[X+X%Xp kXcX3.R 5",
-"XD.9XU s.w 8X,.wXI RX,.9.ZXD R 8.u ' DXO.G.O mX,X,.Z.a.ZXDXD.'.] sXl.n sXL.' sXU s 9XU g.!XP g g g g g m.9.- o.@Xn . . p.m._ EXe.M.1.j h t.a.a.a.Z.uXI.~X- 3X-.HXDXDXG.j.yX:.@ wXZ =.O & M.O &X>X>.@ oXr $XM # m c TXl.% m : m `.5Xt.8 ~.H.`X1X1 RX1 3.Z.].'Xl.9XGX+X; $ T `XD c.,.]XcXKXJ 3 I 3XVXV.8.8XV.8.8.8.r ~.k 5Xk j q.6.X.o.I.b.X.oXx.7 d.X.o j qXg.bXg.b.oXk.b.XXkX$.r Q.|.k.K.k.k.r.XXt.z.kX5 7 3.k.k.^.^Xd N.X.b P AXo.t.tXx.X.b.X.o.o.X.b.o.X.X.o.X.o.b.X.o.X.o.b.X.b.5.^Xx N.k.kXt.r ~ ~.` ~.8.8.` 3X3.$X3X3XXXMXMXMXM #.}.a.}.a.a.aX,XVX1 aX1.}X, 3.}.S., K nXh.OX0.>.> & 9Xm b bXm gX.XwXw.-.9.9.9 x x XHXh.OXw y HX0.>.G.O K.O.jXG &.+.q o J H.E S z.E w JXb ^.@X>.<.<XrX<.1.Y.[.jXr y y.9 $X-.} 3 cXM <X, hXpX+X4X4XrX+XnXr W.O.3Xw.| D.2XJ.,X-X1 R R t.M.M.i.YXB XqX7.[ XMX3 : V V.- 6.% 6X#.SXH kXJ.,XcXD RX-.~X- R RX-X-.a 3 aX-X-XM 1 ` : `XcXD 3 RXIX- <.a.a R.aXDX-X1X-X-.a.eXl 3Xl.KXXXl.K.~ 3XV.k :XV.uX*.u.u.u c.k 3X1.~.ZXDXD 1 .,.gXG O.).).N.[.-.9XcX1 8 8.a.a.M CXs.sXn b.j J.9 v.'.' 1Xq $.j g.M.M.Z TXDXD R R.a h R U.Z R.MXD aXD.MX, $ $Xl.9XKXK 1 a R.a.a a.aX- R R RXD x s.q & 2 O.vXi 2 2.sXGXq.W.aXD RX1 RXD.aX,XK 1XlX,X,XlX,.9.Z `.%XJXK.|XKXl.e T c.% h cXD h hXe.s 0 2.B wX2Xn.1.1XwX<X#.GXc ) ).$",
-"XUXUXK xX.XD.Z.j TXcXl Y :Xl.] :Xc.ZX,.w.2.3 1XJXc :XD.ZX- c.2.w.aXsXD $.w.9 9.'XmXG.nXwXyXUXU g.! T gXJX. $ s v.E.E.<Xn.@.E.jXp._Xw [ [.[XKXKX,.a.MXDXDX1 R R 3 : 'Xp v.PXf.@ M =.> =X0Xh.+.+ M.y W.hXr.Y.3XlXl 'Xx.] x c h.Y h.u.r ~.HXV 3.8XIX1 : TXc ' RX, DXwXp x.M cXV.a cX5 $.Z.uX,X1XlXV 3.8XV.r 3.8 3.r.8X* NXx NX .:.zXxXgXkXg.o.XXg jXxXk.X.: l.bX9.bXg.bXgXg.X./ 7 P P.uXxXd.kX*.k qX9.RXd 5 PXV.u.kXtXj.^ NXg.X.7 Q.& jX@Xk.oXg.X.b.b.o.X.o.b.o.X.o.X.b.bXg.o.X.b.X.X.o N.z.X.b N.kXt.k.k.HXV.8.8.`.`XI.u # V k.,XX.l.K h a.}.} aX,Xl.u x.D 3 U a $ hX5.,.-.[X;.1XZ.+XhX0.>X0 =.O.O.O.O KX;.O.1 D.-Xc ` `XwXc.>XwXmXUXU gXy.G = @.1X;.+ KX0.T H.+.+X0.+ z.v.v ^ 0 0 ^ w ^Xf.j M z.1X+.pXw MXU &Xw $X, ` hX, #.FXpXp.@ >X>XrXp.Y.1.S [ nXJ.9 $XXXx.5X- RX- RX- t RX,.i.-XpXB.l.-.-XMXB V D 3 3 cXl # : |Xc 1 xXI 3.aX- R.aX-X-X- R R.`.u.5 3.}.8X- a.a R RX1X-.~ a.a R R.a a 3.eX-X-X-X1XIXI.uX,X*X*XV 3XI 3.K 3 c.~.`.` B.`.`.` R.`X-XIXD cXD $ `XcXM [X> bX=.) U.9.-.M :.wXD.DX, $.w xXp y S.@ H H o JXmXG 9XG vXG.9 'XLXK.>.wXDXJ.ZXI.a a.a h t.M.a.M R.a t RXDXD xX, R R.M R t R.a a.aX-.aXD t.nXG.q o J 2.vXv.v.) xXp x.M.a.a a.eXI R.e.9.Z.,XHX.X.X..,.,X.XKXK.,X5XM.D.eXIX- RX5.KX-.a a.W v.. 0 w 0XnXw v `XK kX. [X5 3.8.rXV",
-" y g $.wXc s.Z D :XJX. Y TXcXl : '.] DX,XJ.' RXD.Z :.,.uX1.w D.ZX,.M R.* $Xe 8.w.w.n gX;.].OX,.D 8.n.].H.uXoXc '.'.j x y.jXn.Y U C.dXe.-Xw.YXwXc.YXcX,.MX, 3XD.2Xc x v . w w.; = 9 oXP.j =.; ..@.. pXnXpXp.O m 1 ] m.0X1 h.Y.Y xXD ~ 3XV.8 ~.`.`XV.5 'XcX1XI $ xXKXGXDX, R 3XIX1 c.a RX1XI 3.` ~ 3.r 3 3.8.8.8 ~.rX9.&X Xk N.7.X.o.z l.X.X.XXg XX XxX .&.X.XXgXg.b.o NXg N P IXtXNXxX9.u.k.k.kXk q.RX* f (.k.k.k.k.kXt.b.X.XX$.X N.7Xk l.X.X.bXg.X.o.o.X.o.b.X.o.b.X.o.X.b.X.o.X.o.X.b.z.X.b.X.b.XXo.^.^.k.r.H ~.8.8XI 3 3.KXX VX3 XX h 3 hX,XJXKXKX.XH cXJ.,.Y `.YXh [Xc [XrX0 =X0 J y.T.O.hXh.+Xh = n.3.O.O [XH.O [.3XcXH y.9.!.!XP gX; TX.XHXU.+ = b J & v v .XnXn v v.sXG.s..X6X>X0.T.T.1.y =.T.+XZ.+.O.1 =.[.M tXMXnXp JXpX+ yXq x._XqXp x xX, tXD.u.eX-X-X1 a 3 xX5.a.M.M.M < Xc.[.- k `.,XBX-XIXI.8.}.`.a `X3XM #.} a.aX-X-X- RX-XIXD 3X1Xl.K.K.5.a 3.aXDX- RX, R R.aX-X-.} a $XDX1X-.uX1X-XlX- c.8X- a.`X*XI.uX* c ~ 3.`X-.`X-X-.` R R.aX-.a $X3.9 `X7 kX%.j JXLXL UXcXl 3 TXc T g.Y kXK 1XLXpXp 0.@ H &.q &.>.q HXC oXG 9.'.'.9.DXaXKXDX,X,Xc RX, $.a R RXD R.a RXDXD tXD.M R t R.a.aX-XIX-X1.a a R 1.w.j H J.v /.B *._XG x.M.aX- aXIXD B.*.a.ZX.XK TXK DXlX5X. #XIXIX,X1.~X,X1 BX1.`XIX3XD R.M uXe 0 ^X:XCX> n # RX1 R.u cXIXVXV.k.k",
-"XcXH g.w.MX- R hX, `Xl c R.Z 3 $ $.ZXl.ZXJ T.e RX-.aX, TXc.|XKX1.w.- xXl nX,.Z.w sXKXJ.ZXK., T.D 'XUXU sX3XXXD ' m TXD <XG JXp.s.M t.N.WXn 1XeXn xXw.j.-.j <XGXq._.x W r z.hXh & @XO = = KX:.<.J.....s .Xp x n K.2 TXVX,XG.[.<Xe.}XI 3.8 3 3 3XIX-XlXKXl.u.M :XBXlX,XD RXIXIX-.uXV.`.HX1.8.8.HXV.8 ~XI.rXV.r ~.r.k.^ NXk.oXg.X.X.o.zXg.bXgXk.b.XX@.t.z.XXg.X.b N.XXg.X.b.$.& IXo )XNXx.k.k.kXt.kXx.XX9 j 5Xo.k.uXtXjXt N.^.z j.IX@XN.RXk.X.b.X.o.b.X.X.b.o.X.o.o.X.b.o.o.X.o.b.b.b.X.b.z.X.X.X.X.X.X N.XXoXdXd.8.`.8.`XIXI h cXJ V :XM.a.} 3.a `X,XKXJ.2XK.9 :.9., k k.O [Xw MXZX0XnX>.E.LXh.+.S = [ =XcX7.- k nX. [., [ nX;.1 !X;.O.O.OXPXc.O =.>.+ o OXs.W tX,.W.MXn v.W.NXe v.s 2.@X2.T.x.y W.jXr.1Xw.j.jXUXw.j XqXpXGX+.j y.Y xXD x.Y xXeXn U t UX-.ZXV.` aXD x : T :.- :.-.M.} .Y [.- k # $.`.}.8X1XIXIXI 3.,XM x 3 < aX- a <.} cXM :.K ` q.5.K c.uXK c.eX1X-XlX1 TXl `.9 `XcX3Xl R 3 :.u.u :X5.K #X5.K : c.K 3.u cX1X- R RX-X-X- RX-.a.a.a hXM.[ `X7 kX< zX0 HXGXe.M RXD 3XDX1XD xXD.ZXD h t.M.W v ^ b J oXCXCXC H.; & HXm v s s.w.D.Z.ZX,.2.,X, $.- x $ cX,X,XD R.eXlXD R RX, aX- R.a R R R R B R 8 mXL b o H.@X=.B.sX+Xl.} R.a.a a 3 BXD R R R U.Z xXl.' $.eXI R.~X- a c RX- 3.DX-X1X1X1.ZXs.M.)Xe % ^ w = n.S 3 3 ~ 3XV.HX*.rXd.u.k",
-"XU !.9XKXJXJ.- : cX. :XIXIX-X1XD R B TX.Xw.ZX,.' 3 R RXl.%.O.Z R.a x $ 1XH.' s sXK.2XcXMXI :.5., g y.'XJ m #.HX1.Z.5X-XI.9 &.jXrXGXL.M CXeXp vXpXpX> =Xr S zXG._..Xb . ^X> M.+.!.j gXU.O MX2.T.y.@....X4XrXn._XwX. s.' TXwXwX+Xp R.aXI 3 3 3.8.`XIXI.H $X, #XMXM :Xl.Z 3X- 3XIXVXI.H.`.H.`.8 ~XV.8XV ~ ~.rX*.k NX9 NXgX9.b.XXg.o.X.z.o.o.X.b.XXg.XXzXg.XXgXg.XXg.o.X.X.X.5Xd.r.k c.R ,.k.5.k.kX*Xj.k.kX*.^X5.r.kXj.kX9.^.^Xk.XXx l.X.I.o.b.oXg N.o.o.o.X.o.b.X.b.b.o.X.b.b.X.o.X _.X.b.z.b.X.o.b.X.X.b.X.X.X.b.r ~.8.8.` 3.`X-X3X3XMXMX5.}.a.a.aXDX1 RXDX,X,.aX,XM., [., k.jXr.+.; o ^X0 H M.1 M zXwXr.1.1.1XHX< kX< n =.1 [X..> nXO.'XJ.j gXw y & & OXa.W UX- < < hXs.MXD C.M.W v.v...<X4.F.< z yXcXe g n n.jXpXpXGXnXp.YX+XeX,X1.`XI x.9Xq._ E.. U t t.a RX1 xX- hX5 $ c.Z.Z $ x.} E 1X#Xh k `X, 3.aXIXIX-XI.` 3 3.,XMXM.}X- < < 3 #XM #XMX9XX q.k.KX*.K 3XIX,XIXDXlX5 : :.Z c cXI $X, c RXVXl c.5 cX9 3 c.uXVXVXI 3.` c.KXIXIX-X- RX- R R RX-.a.a x .-X<X<X7XB.p HXm vX, RXD R.uX, 3X- g.-.-X3Xc $ C.)XL 2 O O b b 0 0 0 J oX> & & oXm 9 sXDX,X,XD.ZX,XDXcX,XI.9X..ZXDXD 1.a R.a R a 3.a a RX-X-X-X1 RX1 RXw.9Xe O H.@.s.)X>Xw.}.a.a $ RXI BX- RX-XD.Z $X, $X,Xl $ RX-.a.a R RXDX, BX-X- RX1XD 8XD xXL v.s.sX> W.pX< |X* ~.HXtXtXt.k.rX*.^.r",
-"XK x.Z 1.'X,.u ` c.,.,X-.aX-XDX1.a BXJ @X. R $ mXcXlXl., DXc $ B R R.aXJ $Xl.'.0XO g.'X1 3Xl 4XyXw s.nXO.'.,.] 'X1 mXI.}.w M & n.j.[.-Xr n MX>.T M.s.x M MXh.v v.B ^ SX8 z M g.YXK g.9XwX0Xn..XnX>XGX>XrX6.{.CXf.j.-XHX.XwXcX.XDXI R.8 3 ~ 3.r.`.8X1.`X1X1XI.8 c ` : : ` ) :XI.K 3.8.H.`.8.H ~ ~XV ~.uXt.k N NX9.o.X.X.o.X.o.o.X.o.Q.XXg.o.oXg.o.o.X.o.X.b.oX9.oX9.b N.^.k.kX*.k.k.k ).& q.k.kXt.k.k.k.kXtXtXt.k.k.k.kXz.X.X.X.b.X N.z.X.b.X.bXg.b.X.b.o.X.bXg.b.X.b.b.o.X.o.o.X.b.X.o.zXz.o.b.X.o.bXg.bXg N.XXoXd.r ~.8X1.8 3 3X3X3Xl # #XD.a RX-.MXIX1XDX,X1X, `.,XZX#.h.1.+.;XC SXC.; S zX0X0X:.<.; n M [XhX< =X< [ zXw M.h y.YXK.>Xw o = =.E.q.E O.=.W.M 1X3 `.-.9 sXlXJ.w y H oXrX>.<X4.p M k.w R.9 n.-.[ n.j.pX+X+.- U.aXI.` F 3 R .p v E.i.M t R R R R.eXl RXD $ BX-.a R t U hXcX<.OX#XJ.,XK.5X5.5.K cXIX- #.,XMXMX, < a h.lXM.FXB.-., #X9X* qX*.z # 3XI.}XI 3 3XV RX-X- RX-X-XD 3.aX1X-X-X1.~.Z.~ R.`X-X-X-.` RX-.k c 3 3.a.}X- R a.a t.a < x Xr.1X+X+XpXnXn &Xm.w sX-XDXDX5XVX,X,X,.ZXD.M.M t.MXsXL.N 2.W O 2 2.s.=.s.. bX> & & 9.'.nXs.DX,.ZXDXDXDX, R $Xl RXD.Z :X- R R.a.aX- RX-XI R R B BXD B 8X,XL s b.q ^ vXn u U a.M a B R R.a BX- RXD t RXD hX,.Z $X- R RX-X- RXIXDX,X- R.`X,XI B.W v.=.W ^Xn.@ MX7 |XX 3XtXtXt.kXtXtXdXtXt.k",
-".Z.DX,X, R a.a.e.aXI x.KX-.a 3.~ RX, mXJ '.ZXD $XK.,XK T $XJ.0XD RX-X, $XD.n.nXO g.]XD.H '.2XUX;.!.n.nXOX5.` ' : DXJ.}.} 1.jX+Xn._ pXnXnX4.jX2.T.+.yX0X>X0.;XC ^ S S M H K.O =XyXHX;.> K.jXG.@.;.E.YXn SX8 wXf.C.x.p.jXH.%XK 5 ' :XlX-XI 3 ~ 3.H.` F.8X1.`XI.`.aXI $.l $ hXK.a I : D 3 3.H.8.u.kX*.k.k.k.kX9XgX9XgX9.o.X.o.X.o.oXg.U.o.o.o.oXg.X.o.o.X.o.X.o.bXg N.^.k.k.kXdXt.uXtX9X5.r.r.k.k.kX*.kXt.k.k.kXt.kXtXt.k.k N.X.o.X.o.X.zXg.XXg.b N.b N.o.o.X.b.X.o.X.o.b.b.o.X.b.b.b.o.b.z.b.X.b.o.X.b.X.b.X _Xg.X.bXdXt.H F.8.`XI.u `X3 1 #.}X- <XI B R 8 RX, h.a ` V.SXZ.S zXr M M M.4X0Xh.h = z.+.+ z z.+Xh.TXZX<.+.T.j z.;XZ.OXZ.+.OXh K.O.G M.;.E 0XL.WXs k k D 1.2.%.' m.9.9XwX0.;.+..Xr.x.jXmXIXIXI.} 3Xe._.p.p W W $.} RXI.8 3.~ x.[.F._ E.WX, a R.~XI.Z 1.,XwXJ.uX-X1 a t.a hXe.-.- $ c cXl ) ` I | (X3.$ ` k kX3.l c a hXM.FXB.[.,X7XJ k.&XkXx.5 ).5.5 #X-X-.aX-.~ 3 cXD.}X-.} 3.a.`X-XV 3XIXI 3.H R R B.` R.~X- R RX3 3X, 3X, 3XD.eX-.M.aXD h.-XpX<.1.jX>X> J.+XrXK m.] mXJ D hXH RXD t R R.a R.M C CXsXs vXs.N.) 8.; v 2.s OX0 = y O sXsXD 8.MXD.MXD.DX, R RXDXDXD.WXDXDX,X1X-XDXD R R B R R $.'X, R.M s bXmXm 0 o.;._.M R a.M R.eXIX1XD.e.aX- R.a cXDXDX,XD 3XD.a R.a.a.*.a $ R.a.aXD h.aXaXs o.v vX2.1X< k.,.rXtXdXtXjXtXdXtXt.kXt",
-"X, $XD R.a R R.aX-X,XlXIX-XIXI RX1X5Xc 'X, 8X1.* R t a R R $XJ $ RXIX5XDXI.Z.0 gXO 8X1.D g '.0XPXc !.0 g.`.HX1.Z =.S.g.i.pX>Xn.s v.m v..Xn.4 H z &.; H H =.> &X0 & &XmXUXO ! gXU =XKXwXy =XU.9XeXe.d v.x w.CXfX0.C y.- 1XD.u T : : T 5 )X9.KXd.8.H.`.`.`.`.8XIXI.a ` $ h $ h.} 1XK.5 D (X9X3 ) :Xt.^X* N.XXgXg NXg.X.o.X.oXg.X.b lXg.oXg.o.o.o.o.o.X.o.X.o.o.X.b.^.kXj.kXtXt.uXd.u N.k.K.k.kX*XjX*XjX*Xj.kXt.k.kXtXt.kXt.k.^.^.XXg N l.b.b.X.oXgXg.oXg.X.b.b.X.b.o.X.o.X.b.b.o.X.b.X.oXk _.X.o.X.o.b.oXg.o.X.o.X.oXo.^.r.8.` F.8.`XX VXMXl 3 <X-.a tX1XD RXD xXD ` XJXZXh.h M zX0.;.+.+ =.+ z MX2X>X8 M.q &.+ n z.h.h.T.T z & &X0Xh.+ &.j.EXr y J 0 /.v.s.w.Z $XD.DX1X1.ZXDX,XsXL o.s.E.C.4.xXrXI.HX1X-.a 3.}X+.j.p.EXG y.a.`.8.`XI.aXBX4XqXe._ $X,XV.5XK DXc x sX,XDXD.a R B.M.M h.i.Y U.aXD.`XIX-.KXI 3X*., | | kX3XBXM # a.l xXrX%.pXB.-., h.AX3 N qX*XXXMXM $.a a.a.aX-XIX-X, cX- aXIX-X-X- 3XI 3XDX5 3.uX,XIXD BX-XI R.%XMXXX- aX1X, $ B RXI.a h 1XcXw =.jX> v J.>.9.' 1.n.wX, c.a 3.} RX,XDXJ RX,.' tXsX, vXU U.M u UXc._.N.s.sX>.E &.E s vXL.Z.Z.DXDXDXD.wX,.W.Z.Z $.ZXDXDXDXDXDX1XDX,XI.a R 8XlXU s.wXL.w oXC 9XC.E v.M R $Xl R RXD s.Z.Z c RX1 RX,XDXl.uX,XDX, 3 t.aX,XlXD.-X,Xl a aX3Xc xXmX0.>.O M.1.T.hX3 k.$.K.kXt.kXdXt.^.r eXt e",
-"XDXD R aX-X- R R 3X1.5X-XDX1.HX-.'XJ.].].9XK TXlXJ : D.Z.u.9.2 T RX,XV.~.Z.0 g gX5XD.D g.! '.w 9 g.>Xy.D.HXI.a.nXp W r +XrX> . yX>._.. 0.@X0 &.EXn vXn.9 &XG yXGXm s.! '.!.' bXP.! T g !.] R 8.NXG.jX>X4.@.E.4 z.1X+ .uXD.DXV.`.DXVX5X5 ( D.A D )XV ~ 3 ~.`.`.8X1 h x 1Xc x 1 x.a.Z : `XJ I.$ I.f.$.^.b.X.X.XXgXgXg.b.o.o.X.o.o.U.o.oXg.oXg.oXg.oXg.o.b.XXg.b.^.k.k.kXt.k.k.kX*XdX9Xt.kXtX*XjX*XjXt.k.k.kXtXd.kX*X*.k.kXtXj N.b.X.o.z.XXg.b.o.o.b.b.b.o.X.o.X.o.b.X.b.o.X.o.b.X.b.b.X.z.X.X.o N.b.X _.X _.o _.X.o.b.^.k.r.8.8.8.}.K V :.l c <.a a R.aX1.aXD $X-XlXc kXZXSXh.+.+.h.+.hX0Xn.E._X+..Xn ^ o J H oX0Xh W M MX0 = HXh.+ =.+XhXwX0.+ z.; O.. 2.N.= uXDXsX,XDXDXD.Z.ZXsXL J.v.E M.E M.w 8.8X-.r 3 aXK [Xw M & MXw.2.0 ` D T .YXq._Xe.gXc D :.%.]XDXD.-.Z hXD B.HXDX,.aXqXqXpX<X,XI.` 3XIX- cXIXI.5X3 `XXX3XX # h.a x .[XBX+Xp.FXK 3.A.5Xt.5 3XX V.lXM $.a a.a a a.a.a.} $.a.a aX-X-.~X- R.~ 3 R R R $ 3.u 3.~ xXMXc 1X.Xc RXD R.u.aX1.}XI 3Xc.-.> [ J S.E.; gXc.]XU DXKXIX,X,X,.ZXD 1.>.Z.ZXK R RXDXeX,.M t.a.}.i.M.d.M 2 v.v o.q oXG b v v s s s vXGXG s x s s.9XG.nXsXD C R RXD.DX,X,.w.w.'XL v.w JXC &X0 o 9.N.M.M $.Z T.9 TXwXKXKXlXK.}.aXIXJXKXw 'XJ xX.XKXw.[.>.j.O s.[X,.3.9 Xc = H =.+XH.T.S [ VXJ.,XX.5XtXtXtXtXd.k.k.k.k",
-"XcXc T :.'.5X5 $ :XD.]Xl BXIXDX1XK.].' T D gXcXU YX#.G.O 4.GX.X; ` )X,.D.Z TXc T 8X1.'Xc.n.n.n.nXU.j.> D.Z t.wXp.JXbX2 r.{XA b 0Xp.@ HX>.O.+.+ =.q.> !.9.9XO @.!.'.'.n.n g.OXO.>.q !.0 'XD 8XlXr.EXnXp y M yXl x cXK.'Xw T )XD $XVXIXIX-.8.8.8.uX* ~ 3.8.8.}.8X- 3 a.a.}X,.i.9 `XD 3.u.k cXtX9.K.XXg.k.XXxXg.bXg.X.o.o.X.o.o.o.X.z.bXgXg.bXgXg.o.X.b.b.X.X.o N.kXj.kXj.kXtXdX*XdX*.X.rXt.^X9./ N.kX*XtXtXd.kXtXtXdX*Xt.k.k.k.bXx.b.X.Q.b.XXzXg lXk.U lXk.b.^XjXj.b.b.o.X.o.b.X.o.X.oXg l.XXzXx.bXg.o.X _.X.b.o _.X.X.X.^Xt.8 ~XI.8 3.,X3XMXl.aX- R RX-X1XDX1 x h c h `X..O.1.h.+ z M M.h.YXe v._.)X= 0X> y s.Y.T = W.@XCXn.+ &.+Xr.1 M M.+X0.T = MXp 0 2 2 pXa.NX,XDXe $X5 x.wXG O v.= H J & JXGXDX1.`.8X-XV 3., M.>.+X;X; @ YXJ.5 xXc XpXn.S n., 1X,X1.aXD `.-XwXK.2XJ T :XwXJ n = [Xc < 3.`.`.8X1.u cXI 3XJX3XM.lXMXM # a.a #._Xr.jXnX+Xn # # |Xx ).$XM.,.[X7.lXM #.} h h # #XX.lXMXX.a.aX-XIX-XI R RXDXD.~.a k s hXD h 3XD $ ` `.,XUXK.2X,X5 c cXMXMXM.,.-.1 zX0 bXw.jXcXJXKXUXw : ` $ 1 $ T mXl xXl $XDX,X, h.a.} RX,XD.a.a.W C UXL v bX> HXC o J J J 9 b bXG.E J o J.E 9 s s s sXaX, 8 C TXU vXG v o yXC & HXm & o J.W.M.M RX,XlX,.Z.Z.Z.a.aX-.aX-.uXD sX.XJXcXH :.Y x 1 sXGXe &.W.M C.Y h.M.W._ o o n.- k.[X7.9.,X3XJ.5.5 NX9X9.r.kXtXtXd",
-".9 :XK.]XKXcXUXJ.2.2 ! D.uXlX5XI.'.2 $.'.w.] $ c x 'XlXcXK m 4.|XKXK.Z $.w T DX1 cXDXJ.'.n.n s s &.'X; =.wXD._.@XA.B.PX:.y M.E.9 v.9.WXL.OX; & @.'.G.% g.w T.>X; sXPXl ' g.O.OXO.M.DX1X1.H.M.-XGX> ^X+ x.9 g `XI 3X1XIXD T.9 ).,.5X9 : )XK.5X5 3X*X*X*X*.8 ~.8.`XIXV R.}.a.a h 3 3.H.K.k.r.K.k.^.kXg NXg.o.o.X.o.o.XXg.o.o.o.X.o.z.b.o.o.b.o.o.o.o.^.^.b.X.^.kXj.k.k.kXtXt.kXdXd.kX9Xj.KXj.fX*.$.kX*.k.kXdXtXdX*XdX*.k.k.k.kXz.o.XXg.z.bXgXg q.6 iX@.I.I.b.^Xj N.b.b.b.X.o.X.o.b.o.X.XXk.X.X.I.z.X N.b.X.o _.X.X.b.o.X N.kXt 3 ~.8 h I VXMXX.a <.a R RXD.aXDXlXD cX, `.-X<XH =XZ.j.E 0XpXn v.M.M.v.s b &.9XJXwXKX+Xw.;.;.TXZ.hXHXh.T.O.h.Y.+.YXr..XpX> . 2 O 2XL v.w xXq x.w xXeXe.W 2 o 2 vXC.9XD 3XI.`.8 ~X- 3 B.9 y.j.>XK.DXDXIXIXDXB .iXe E xXD R RXDX, xX, $ $X,XDXDXD._ ._X+ U.}X-.8.`.~.8 3.K.,X3 V VXMXM.i h aX-.aX, .[X+XnXn u < x.5X*XV $XJ .g.gX7.F.lXMXMXMXMXM.l XM.l `X, 3.eX- RX-X1.a.u.MX,X.Xc ` x.9 hXc `XM .,XcXB.% ` `X3XX.[ ` .- [XwX> v o.w h.Z.Z.9 s.[X. x $ :X.Xw vX,X, xX,.u h `X,.,X3 1 xXK.9 1 x.W 8 p b O ^.q H H.q.;.q.;.q.q M & H &XC.q H b b sXa s.n.W.9 & b o HXC w ^.@.@ H.;XC.W.W.M R t R.e R.a.Z $.a a.aXI RX, $X5 $XD 3 hX,.a x.WXs.s.sXL.s v.W.-XpXpX+ H =.+XZX<X# kXK.,X..3 } I I 5.A.&Xo.kXt.kXt",
-" RXD R RXD.DXD.n.Z $X5XUXJXJ.2 T D.2 T 'XcX..O ' m.e.eX- RXlXU :.D.' =.n.'XP.nXDXK RXHXK.!XG y.! g !.!XUX, u.YXn.v.vXnX>XH 1 R 8XIXDX,XU m g.] gX5.nXU.].nXK g ! = !Xm !Xw g y 1 $.8.`XIXI hXp.@X>.E x.} cXlXc (XXXXXcX,XD 3XV.uXX.5 ( :XxXJ 5 )X*X*.kX* ~XV.8.H.`.`.8 R 3 3 3X1.8XtXt.kXj.^.k.k N.XXg.o.b.XXg.oXg.o.o.o.o.X.oXg l.bX9.o.X.b.X.X N.^.k.^ N.kXtXj.kXj.k.kXtXt.kXt.k.bX*.r.kXg.z./X*.kXtXtXdXtXd.u.kXdX*.uXtXdXd.b NXg l.b.X.b.oXkXg.bXz.^.^Xj.bXgXg.o.o.b.X.o.X.X.X.b.X l.X.XX@X@Xx.X N.o.X.o.o.o.b.X.b N.k.u.r 3.8.KXJ V 1 :.}X-.aX- RX,X,.Z c.a xXD `XwX#XZ z MXG 0 0 v 2XLXn.WXLXn =X;XUXKX- 1XKXrX+ H.O.T.O.1.S.SXH.1.1XZ.1Xr.g.<X%.@ ^X8X> J.@ vXL.W U v v H v &X+ oXLXG 1.Z $X,XV.kX5.zX5.uXDX3XH.3 T `., :Xx.8 3 c x XpXpXq._Xq U.M t RXD.a $.MX1X1XD U.M._.m.FXpX,X1.`.8.8XI.`X* cX3 VX3XM.l a < aX-X-XI.l.p.pX+Xp.M <.a 3XlXl.5.j.pX+.p.gX7XB.F XBXB X7 kX7 .lXX 3 #.aX- R.a R 3XD.a.a hXK.,.,.S kXcX7 .lXM ., [ V kXM XXXB .Y.g z M oXL.M $XK.a h xXKXc .>X.XK.-.ZX,X,XDXDX,XD $ $ 1 yXcXy.] T T.9.Z 8.N v.v OXi 0 J ^ ^ 0 0 ^ 0.v J ^.; 2 b.E &XCXC o OXLXLXL b wXC b.v.v.v.v.v w 0 OXLXe.a.a.a aX, R.MXDXD t R aX-.a RXDXD BX,X, $.M.M.MXe.W b 0.E.=X0 HXw M W MX0 M.OXh k [.,X#XhXH.3 6.,X9 qX3 q.kXtXt.kXd",
-" R a R R RX1 8XDXD.n tXl ' $.].2.0.ZX,Xl R.w.Z xXKXDXc.wXD : !X,XD.DXw ' s gXDXIXJXK KX; =XUXw !.> =.'XU.W.EXp...s..XC.Y x.9 D T.ZXD DX$X; DX. 4X5.G m.'.9 g 'Xm g.OX; mXl R 3 x.]X3Xo ~ R x.jX>X+.W.MXI R.8.uX3XX D ` D.,.5.8 ~.8.r.u.kXo )XxXx.k.kX*.k.k.k ~ ~ ~.`.8X1.8 3XV.8.H.kXtXd.X NXgXg.o.b.X.o.X.o.o.b.oXgXgXg.b.oXgXgXk.X.o.XXg.b.o.bXjXj.kXjXd.k.kX*XtXt.kXtXt.kXt.k N.KXj.k.kXjX*.^.kXt.kXtXdXdXd.k.k.u.kXtXtXt.^.X.oXkXg.oXgXg.b.oXgXj.^Xj.X.bXx.oXkXgX9.o.b.b.o.X _.XXgXx.X N.& 5 QX@ ).z.X.X N.X.X.X N NX*.r.r 3.` : VX3XX #.a.aX-.a < $ hXD 1.3 1 : [.,.S.1X0.Y 0.sXG JXL O y.sX>.j &XwXDXlXV h $.- MX+.jXh.1 k [X7XHX<.1.- .hXh.yXrX: MXhX2.@.v.s vXe vXs.Y.T n M M = M.> kXKX.., D I.| IXo ~.H 3Xl # ` | :X3.$.rXV 3XV $.l.YXpXGXpXe x h.}.WXDXJXJXK m xXc tXeXeXq x XI.8.8.`XIX-.uXI.u V XM.l.} < <.aX-.a.l.-Xr Xp._ t.a.aXlXcXG.j.y W.<X7X%.g.[ kX%.[X%.g.[X%.[XBXMXM h 3 RXI.aXDX,X,.a x ` 1 ` [.3.L.L k.[XB X7.Y [X#.-.,.g., [ [Xr MXr.E.)XD x ` x.9 $.9Xw g.2.w.D.wXD U h $ 3 hXK.Z s.ZX,.DXsXDXDXDX- R.a CXa.s 2 2.v.v 2.v 2 2 2 2 2.v 2 0 / 2 O 0 o o H HXmXC JXCXC.v.B 2X= 2...s 0 v O 1.M.} a.a 3XD.MXDX,.Z.a a.aX- aX- RX1 $.a.M.aXI.M.M._._ JXa 9 b.s.)Xp.) v 0Xp M.[ `X3XM xXcX.X. }.K 3X* :.r.kXtX*.k.k.^",
-" R.aX-.a a RX, R xXl :.Z.wX-XKXHX.X-XDXDX-.M R t.eXK $ : m.'.OX.Xw.] T sXO T BXDX1.' g '.9Xm y s.E.>X0X0XpX4 ......@X>.E = !Xm.2.OX. !.2XcXy 'XJ.' 4X;.9 g.'XwX; gXU.]XUXK $XDXIXV.]X3 `Xl $ 1 x.M R.aXIXIXIXI.`X1XVXV.] 5XoXV.r.k.k.kXt.kXdXtXt.k.kXj.kXj.k.r.8.8XI.8.`XI.u.`.H.r.uXd.^.b.X.o.X.o.X.o.X.bXg.X.o.o.o.X.oXg.X.b.z.o.oXg.b.X.X N.^.kXt.k.kXtXt.kXj.k.k.k.kXtXt.kXt N.k.k.kXt.k.kXtXtX*Xt.kXt.kXd.uXdX*.k.kXdXt.^.XXzXgXx.b.X.b.X.X N.kXj.k.b.oXg l.o.X.bX9.o.X.b.X _.XXgXgXz.k F.rXx T 5 ) ).k.k.k.u.kX*X*X*.r 3.8.`Xl VXMXM # R.a.a a.a $ h x x.3 x = xXc.-X<.[.j JXmXmXP.9.w.x HXr.E v.E U g .% 1 YXl k yXZ.h.1Xh [X#X<X#.T.F WX%XrXZ.jX%Xh =XC.j.EXn &.Y.jXn.1 n.T.1.1.jXJ x x ` cXVXl.kX5.k ~.H.rXV ~X*X*X*.r.rXjXt.kX*.u.uX, TXw.[XG.FXe._.FXe y x x hXl x.M UXe.w gX3 3.8.`.8.8XVXV.`.KXJ .l.l h.}.aX- a.iX7.j yXn x < u.i.YX+XpX2 z.yX4X%.p.g.p.pX+.[X+.{.x.p W.pXB.lXX.} cXc 3.u.ZXM ` VXB X+.FXp k n.+X: zX% WXH [ [ MX< n M M M [Xr.+.x MXe.M U R.9 1.9XJ.9XKXD.ZXDX,X,XIXDXDX,XDX,.}X,X,.M 8X, R.M.a.M.M t 8 C 8.WXa.sXa 2.W.= 2Xs.W.)XsXLXL.N.N 2.s 2.v O ^ w wXC HXi 2 2.).N UXe.wXe.Z h.wX,.a.a h.u h RXDXD $XD R a tX- R RXVXD.Z cXD 8.M.}.)Xn s.M 8.w J 2.sXb.s v.j.[XcXB.-.lXcXK [ mX. c.KXK 5XJ 5.5.XXx.^Xo",
-"XD 3XD.aX-XDXD.e hXc.'XJXJ c.0 KX. D.9 TXKXJ : ` R.9 m 1XUXJXh Y Y.O.O 4.G.ZXI 8XDXO.0 x.w.9.> vXGXmXZ.+ & M.+.jX0 zX+X0 = y vXaXyX;.%Xw mXwXJ.9X,XKXPXK g sXyX;X; TX,.u T D ` c :Xl 3 :.]XJXl.uXIXIXIXI.`.8XI.` 3.8XI.r.KX*.r.KXt.k.^ NXjXtXj N.o N.b N.k.kXt.u ~ ~.8.`.8.u.` ~XV.k.kXj.^.b.X.o.XXg.bXg.b.b.o.o.X.o.X.oXg.b.o.z.X.o.o.X.o.^.k.^.kXt.k.kXt.k.k.kXd.k.kXt.kXt.k.k N.k.r.rXt.kXt.k.kXt.kXt.kXtX*.kXtXt.kXdXtXd.k.^.XXkXg.XXg.X N N.kX*Xj.k.XXg.cXg.o.X.X.X.o.X.b.b _ _XxXx.kXtXV.8XDX1 cX3 I 5X9.K.k 3X*X*X*.u.r 3XIX3XX # #.} 3XI.a.a.}XqX7XcXK.,X7.lXM.Y ` [.S M.j y 8XD.wXc o ^.@.@.s J.Y.-XcX5XJ cXc.OX. !.TX<XwX3.g.SX<X%XrXpXq.j.h.S.O.hXSXh M.+ = = =X0.Y = k n.YXw.-.9 R.aX* 3XV ~XV.r.H.r.rXdXt.k.kXt.k.^.k ~Xt.k.kXt.k.K.KXH.3.1X% MX>XpXq.j.-Xw.[XB.jXc = .YXq 1.- h.a.}X-XI.8XV.H.`XX VXX.l.lXM h c.a.i .gX+XpXp U XpX4X2X2X+ rX+ z.T.xXrX+.<Xn.<Xf.<Xf.<.pX%.[XBXM cX-Xl.,.-.KXH.SX%.T.g.gXr [XrXr.J.x.h.h.j WXrX+Xr.jX>XpX0.E S M.y zXr..Xs U a xXJXK 1.M.Z $X,.Z.uXI.ZXIXDXDXDX,.M.a $.a.a R R R R.a RXD.M.M.M 8.M.M.MXs G 8 C 8 C t t.NXe C.N.N.).)X= 2.v.vXi.v 0.v 2.) C C.M.Z xXlX,.ZXD x.a 3 3.ZXI RXD.w h.W.a a.a.a.e.ZXDX,X, RXoX,.M.MXnXn.9X1X,XDXC 0X=X=.s JX0 k.-.SXHXH [ K.3X#X3 I ,.$.| I }.HX*XV.kXt",
-" 1X.XlX.XD.- $ 1 ' x.a.Z R R $ mXl.D c $.ZXcX5.Y hXlXD RX1XD TXy cXKX. g 4XI.DXI.0 T.n.nXD.Z s s K !Xh.O.T.jXwXr =X0.>X;.G.! s s mXH.2 g.2.'.' mXOXwXwXUXK.'.'.> D.DX5X- cX5 ) DX3.5.H R 3.k D.uXI.8.H.8.8.8.8 ~ ~.r.kXo.k.kXtXt.^ N.X.b.^XjXz.X.oXg.X.X.^.kXjX*.r 3.8.8.8XV.8 3.r.k.k.r.k.b.o.b.o.X.o.o.X.o.X.o.o.o.b.X.o.XXg.U.bXg N.b NXjXt.X.^.kXdXtXdXtXdXt.kXtXt.kXt.kXtXtX9Xt.k.^.uXt.kXtXt.kXt.kXtX*XtX*Xt.kXt.k.kXjXt.^.bXk.b.X.o NXjXjX*.k.k N.oXkXg _.b.b.o.b.X.o.o.X.X.X.b.k.u.rX1 3X, R R.~ 3 c T ].].kXV.r.8 3 ~XV.` V `XM.u.a.8 3X-.a h.Y.[.,.[XJ ` :X3.-., nXhXc R.DXVX,XD.Y v.) 2.s JXr.TX;XK ! D I (.O =.O MX.XwXwXZ.L.1.FX4X4 hXrXp.-.1.1.1.gXHX< zX..1 kXB 1 .9XcX..8XI cXV 3.8X* ~.kXt.k.^.k.^ N.X.X.k.kXk NXg N.kX9.rXX.].,.> =X0.+.+ SXr W z WXH WXr.pXrXn._XnXB.i.a.8.`XI 3X5.8 3 cX3 VXX VXMXM #.l #.FX7X#Xr.p y M.<.x W M.<.x > zX2 W.hX+Xp XnX4XnX4X4.x.p [X7.FXM < #XDX,.}XcXBXBX%X2X2X2X2X: zX>X6 z.4XnXpX> yXM EX,XeX4.x.yX2 w S HXG.W $ x.w ` $ h cXD $XD 3XDXlXJXc c $ $XD.M.aX,XDX-.a.a R R.a a 1X1 R t.MX,.MX,.*.M.M C 8 < 8 t.MX,Xs.*.M.N.N.N.).) /.)X=X= 2.N C._.9XD x $ D :XDX5XlXcX,X,XI R.M R.MXlXD.a.aX-.a 3 R.aXD 3X,.% mXeXmXr.jXU m.%X. K b J ^XC.> = =XS.GX#XJ.,.3X# 6 `XMX3 ) ) :Xo.u.k.kXtXt",
-"XJ k.,Xc.9X.XK.,X..' :X.X1XDXl m.2XD.* R.eXKXw aXl :Xc.wXKX5XJ.2 8.w s.0 KXDXI TXU '.w s.Z.n vXPXOXm g.w.DX, h.Z xX.X.Xw g.' '.D.w $ 8X,.Z 1.'.9.GXU 'XU s 'XPXw D.]XcX5X1 RX1.u T IX3.K 3X- 3XI.8 3 ~ ~ 3.r.r.r.r.k.rXxXt N.b.X N.X.XXg.b N.bXg.b.b.X.o N.^XtXjX*.r ~ 3.`XV.rXtX*XjX*XjXj N.b.X.o.o.X.o.b.o.b.oX9.o.b.X.o.b lXk.bXg.b.bXjXt.^.X.kXdXtXt.k.kXd.kXt.kX*.k.kXt.k.kXx.r.k.H.^.r.kXt.kXtXtXtX*Xt.k.kX*.k.kXt.kXtXt.k.b.z.X.X.b N e.^.^.^.^XgXgXg.o.b.o.oX9.bXg.X NXzXd N N.k 3 3XD 1.9.9 1 1 x.' xXl g.,XK.}XI 3X-XI #XcXMXl x $ c # c.} $.- k [X.., k V `XKXc.GX# `Xc.2.$.0 : :Xr & s.s.s 0 0.jXm y.H.Z.D DXlXU n.-XH.-.Y.O.+X0 [.1 W.F.jX<Xp.[ n.gXBXB.-XJ.Y.Y `XB ` ` : ` D `XI ~X*.u.rXx.z.k.XXtXg.XXk N.k.f N.k.k./.^ qX9 N./.k.k.KX,Xl.'.E y.; z SXr.pXnXn.jX4X4._.F._Xq.p # <XIX1.` c.k 3 3XI.8X9X3 V VXMXM x .lXB.h.T.1 z.h zXZ.T.+ z WX>X4Xf z z UXr E.M.M u UXGXp >.[X% 1.l 3.aX-.i X7.pX:.<Xf %X6.<.<X8.@.JX>.@.@ o y.YXG >.xXfX8.4.4 M.; J s.W.WXD $XDX, 3X,X, 3XI `.2 kXlX. 1XJ ` RX-X1X,.a BX- R R R.eXc x X5 x a.M UXD.a.M t < R a R aX, h t t t t t.M u.M.)Xs.).).N.*XGXH 1X.X.X..G.%.%Xw.G x `X,X-XD R.Z h.Z.a.aXD.}.a $ $ :X. cXh.O.OXh & M g.] ).' K 0 JXm HXKXK k.3 V.,.,X3.- V., #.a 3X1.u ~.5X*.kXo.z.5",
-"XDX,XlXI $.aX,X,.Z 1.' TX,.D DX.XU.] 1.Z h $.9X1 R.M.Z.3X;X.XU $ BXD.nXU ! ' gXU.'.' s ! 1.' y yXD 'XD 8XDXs.n g.>XwXPXK g :XK mXJ g.,Xw m m T.0X. T.'.' s.wXy.G $ : :XK :.u.Z 3 3.uX5XV ) D.KX*.rXtX*XtXj.k.k.kXt.k.^Xk.^.X.XX9.o.X.XXg.XXg.XXg.X.b.oX9.o N.^.k.kX* ~.r ~.r.u.k.kXt.k.^ N.b.o.X.o.X.o.X.o.X.o.X.o.bXg.b.o.X lXg.X.o.o.XXjXj.^.X.^ N.^.k.^.^XtXtXtXdXtXd.kXdXt.k.k.k.5.I.r.kXt.kXt.kXtX*XtXtX*Xt.k.kX*.k.kXt.kXjXtXk.X.o.o.b.k.^ N N NXg.XXg.oXg.c.c.cXg.b.b.^Xt.kXt.5.K 3 xXGX+ .X6.<Xn.@Xf.@X>.E.E M nXGXpXGXG.pX7.YXq 1 xXB.Y #XK k mXl 3 #XM : I.2.%X. D., D D D D I DXPXw 9 o 0.@ ^ 0.; &.wXdXV.RX5XJ Y.OXH KX;Xh.OXr v.1Xr z W z.1Xp.g.S k.-.Y .9 : `.l xXKXc.,.8 ~X*.8Xt.r ).$.X q.XXx qXxXx.XXk )X*.X q N.z.o.XXx.kX5.k.uXl 3 $.Y y H H M z.jX2Xr M W.xX4Xn.FXpX7.i c.uX*X*X3X9XXX9.k.K.KX9 VX3XKXBXK.F [X7.pX2.xXr W.@Xn.;.+ W.<XpX4XnX4Xr.M U < <.M hXpX+.pXr.<.FXM.} h h .lX% z W rX8.4.x.y.<.x.x MX+ =X0.j nX+ nX:.T.4.4.4 S.; & H v.W.D.DX,X,X, R.a.aX-XI 3.Z x.u :.ZXIX,XDXD R a.DX1.aXD.a RXD.aX-XD `Xc.Y ` :X,.}XD.a.a.a RXDX- R.a cX-X-.a R < a t t t t C a.M < $XJ : m $.Z.ZXD.ZXlXJX5X5X. cX,.Z $.9X. `Xl $X,.ZX,X,X;.OXl.9 s.= o JXO $X1.` :Xc._ =.+.].O # 3XIX-.u k.3.[ 6X# [ `.9 kXJ.| ) P.|.A.A.|",
-"XIXD T.9.2XUXJ.2Xc TXUX5.O TX.XKXJ T.' T.2XwX.X.XJXKXlXwXl.wXKXKXD 8.w T.9 'XlXl.n.Z !XK gXK.9 gXJXOXUXU T s.! ' T s.n.9.0XUXDXDX,.]Xc.,.'.0.9.9.n.O.>.DX.XNXUX;X; 5 `XIXI.uXl.K (XI 3.8 3X*X9.X.kXjXj.k.^ N.b NXg.b.zXg.X.o.o.o.X.X.o.X.o.oXg.o.o.o.X.oXgX9 N.^.kXtX*X*.kX*Xt.k.kX*.^.bX9.o.XXg.X.o.o.X.o.b.o.o.X.b.o.X.o.o.z.oXg N.oXg.^Xj N N.oX9.o.X.X.b.^XdXd.k.kXt.kXtXtXoXoXdXt.k.k.kXt.kXt.kXtXtXt.kXt.k.k.kXtXt.k.kXt.k.kXxXt eXj.^.b.o.bXg.o.o.o.cXg.c.c.cXkXgXg N.^Xt.kX*.K c.iXcX> ^X6.P.P.J ^Xf ^ ^ ^XfXp.EX>XG .X> W M W M M.jX%.g.-.g K.G D.$.,XXXJ }.] m )X.X*X* c.k.uXo DX1.] $.9.qXmX>.;.; =.E =XIX1.`.8XIXI 1.K.9XcXhXU.9.jXr.jXpXn.j.x.[.y.T K.SX.Xc [XJ k [ [X..S.O I ) 3.r.kX9X*Xt.kXdXt.k.k.r.k.k ~.uXV.r ~ ~.r.k.kXj.kXdXt.k ) D mXl D =X> HX> H.T JX4 0Xn M.T WXr . .-.,XD #.r 3X*.r.8.8.8X-.KXJXK.' 1 xXrXBX7X2 >X2.x.. v.W / /.vXf z.;X>XpXpXp.[XhX,.a h.* xXG >.xXr [ ` XB.l.[X< W W SX: H r r SX>X6.<.xX4Xn vXn oXn .X>.4.4.4X:.C.EXn.EXG.W 8XD 3X, $X, h cX5 x.aXIXl 3X, xXKX,.u.-.' 3XIX.X5.eX1.a.e RXD RX,XI :XDX, $ :.[XKX3.MX- RX1X1XDXI 3 aX-.a R.a.a.}XD.}X,X,XDX,X, c 3X5X1XVX,X1XDXDXKX, :.ZXIXlX,X,., $.Z h.ZX, hXDX,X, :XD sXs.s O & !.~.u R 3.aXK.G.n RX-.`.a.`.8X-X3 6., VXXX<.,X<XJX,X9 c.u.kXV.u.r",
-".ZX5Xl 1X,X,X,.Z.Z $X,XD R.'XJ T TXUXJXKXJXc Y.O.G mXJXKX,X,.Z.2XK R s.!XJX.XJ g.].9 g.- sXw.OXw =XUXw s.n.'Xl.9XD s 1XD.MX,.wXlXc.>X,.9 T sXK g.-Xw @.2XyXy.G.G kXl D mX3XlX1.u TXVXV 5 )X* c.k.k.k.^.^ NX9XgX9.o.b.I.bXgXg.o.bXg.oXgXg.o.o.b.o.o.o.o.b.oXgXgX9.^.k.^.k.XX*.k.k.kXj N.XXg.bXg.b.o.X.o.o.X.o.X.o.o.bXg.b.o.X.z.oXg.X.b NXjXj N.o N.b.X.X.X.X.X.^Xt.kXtXt.kXtXt N.^.rXt.k.kXd.kXtXt.kXt.kXt.kX*XtX*.k.kXtX*XtXt.kXt NXt.b.X.o.o.b.oXg.cXgXgXg.U l.c l.UXgXg.b NXtXt.kX9X*.}Xc.E JXf ^Xf ^.J 0 p.sXeXL.W.MXe x sXG.@.J.x.4 WX:X:X2.y.1 nXH ` c 3X9 c.5.KX9XxX9X*X*X*.rX9 5 ).K c 3XD T &Xn.s.... v.! TXIXI.HX1XI.8.}.`Xc.2XhXw.OXh.T zX0X2.;X+ M [XZ IXcXc.3Xc.- V X3X7.-XK aXV.rX*X9.k.r c.^.uXd.k.H.u ~ F.`.uXV.r.r ~ ~.r ~Xt.k.k.k.2 5X. T.,.O &.q w yX0.@ b S M.x.h M.h.+ MXHX<XHX3 #.H.5.8Xt.8.u R ' : 1 RXD.wXpXr.p W.p.CX> 0 2 /Xs.= / 0 S HX8X>.xXnXpX+ xXc c $.}XGXp.<Xp.[.[XB.SX7.SXS z.h M.+X:.T.TXh.y z.;.T W SX4Xf.CX> w.4.; S S.4X>XnXaXs.w 1 tXDXKXDXD k ' RX, m R R $.Z a c `X, RX5 $X-.Z $.%X5.~X1 RX5.* 3X,.ZX, $.ZX- RXD :Xw.2XlXDXD.Z.Z $.K.D 3XDXDXDXD.a.a.a a.a a a.~.~.`XlX-X1XIX,.`.a.e RX,X-X- $XD RXDXH.3XcXl xXD.Y xXK.] `XZXwX0 o =Xw D.uX9XI.} DXJX, RXI.`.`.8X-.` 3., V XB V [.Y.9XJ c.uXD.8.K.HXV",
-"X.XcX..2 kXUXJXK.9 : ' : '.'.2X, R B sXl.9 ' T.ZXK.GX; D.eXlX,XDXw.wXK T.].' TXcXK m g.D x.Z sXK yXw.9Xl.w TXw TXJ yXJ.MX,X,.F n.9.Z : s.'.2.2XU ' g.2X;.ZX1Xl DX. 3.aX5.9 D.].uXVX1.K (X9.$.& N.^.kXz N.bXgXg.b.oXk l.bXg.bXgXg.o.o.b.o.o.o.o.o.bXgXg.o.oX9.o.o N.^ N.k.XXt.k.^Xt.k.XXg.X.X.o.o.X.o.X.o.b.o.X.bXg.X.o.o.X.o.z N.bXgXg.^.^Xj N.o.X.XXg.X N.b NXjXt.kXdXt.kXt.k.X.kXt.k.kXtXtXt.kXt.kXt.kXt.kXt.kXt.kX*Xt.k.k.k.k.k.5.r.X.o.b.o.c.U.cXk l.UXg l l.c.U.UXgXg.X.^.k.k.rXMX*.a.YXC.@X6 ^X6 ^X6Xn.) u u.M.MXD.M 8.Z vX4..X4 . ..C.{ ; W.;X<.O :.`XD 3XV 3XxX*.uXtXtX*XtX*X9.$ I ~.5 cXcXcX. oXp v v & = yXc.u.D 3XI 3 3XI )X. m.G K K K =.hX0.+.@ S nXH.3 YX#.3XHXS k.- [.,XH., :XI 3.r.5.rX*.rXV.k.HXV.XXJ DXJ.]XOXx.`XV ~.H.r.u ~XtX*.r.uXVX5XV 8Xl 0.v 0.@ b.v 0.+.h ^.+.4.+XZ.T.+ z.1X;X,.`.k ~ ~ 3.HXDX1.9XlX, U.wXLXp.[X:.x.4 w 0.NXs C.N.).v H.;.; M SXr.@XpXp 1.MXHX, U._XpX+Xr.[X<X<.[.h.h.; z z.L.h.h.LXZXZ.h.y.+X: r.{.4X8 w.4 z S wX>.@ vXeXe.M.ZXc.u xX5 RX1 hXD.MXDXDXD RXI R R R BX-X,.uX-X1X-X- D :Xc :.0 g D.'XwXJXU D.wX,.ZX,.D xX5XH.DX, RX1.ZXDXIX-X- RX-X-X- t R.a.eXI RX- R B 3 c R RX,.a.M.a aXIXDX-XVXD R.ZX5XH.YXcX#XJ.%XwXJ.,XK.1.L MXLXsXK D D.2 m `.3X5 DXoXl.`.~.`.`.8XV.,XXXX VX7 kXp x.-XZ.u ` c 5 : )",
-" $XlXKXl :.'XcXKXKXy DXy.GX. !.0XDXD.'.% ! :XUXIXJXU :XcXw.ZX- 8XDX.X;Xc 8 RX-.a.ZXw 1X-XK RXD t.MXD UXDXJXh m nXlX,X, h UXcXw $XD 8 ' sXc.>.O g ].2XK TXJ cXDXVXl I : c.u c.] (Xo.H.5X5.^ ( 5.X.o.X.oX9Xg.bXg.X.b.UXgXg.o.o.bXg.V.oXg.o.o.o.o.o.o.o.oXgXg.o.o.X.o.XXg NXx.^Xt.k.k.^ NXg.X.b.X.b.bXg.o.X.o.bXg.b.o.b.X.o.bXgXg.oXg.X.o.b.b.X.b.X.b.o.^XjXjXj.kXj.kXtXt.k.kXdXt.X.kXt.k.kXt.k.kXtXtXt.kXt.kXtXt.kXt N NXt.kXtXtXt.k N.^ N.oXg.c.c l.U.c.cXk.c l.c l.U.cXk.c.b.XXdXt.kX9X* 3 g.q.q H.4 S.;Xf...m.).M <.}.a.M h U.MXL v._XGX4.C.P ; L.<.Y.G k.0XJXJ ) 5.2.R D ]Xx.|.k.u.r IX. : DX5 m : $ T n = nXw.+ =XhXh.G.OXI.u 3 3XVXV.8 $XU.OXhX0 H.+.T.@ y.j.1XH.S [., kX< [ [ =.jXw !XJ.D.8.5X*.u ~.H.8.H.5.2.%.0.0.'Xy gXUXP mXV.H.8.H.r 3 ~ 3XV.H.KX,.DXP wXCX0 H.@ O ^.@ MXfXi ^Xf.4 S M.+ M M =X5XJ.^ )Xo D.K.9 D.3 c :X,XL v.@X6X6 ^ 0.vXs.N C C.= / 0 O.vXn.s wX2XpXp v $.-.e.[.wXn.-.[.-Xp [Xp nX:X0 z z.x + [X2.;.; M.4X4.<.C.4 SX8X: r H J 0.v v v h U.a $.Z c.aX-X-.aX- R R.MX1.MXD.aX,X1 3 3 3 3X, : 3X, 3 DXJ TXK $ $.Z.w.Z 8.w $ R B 8.MXD.DX, R.wX,XD R RX,X5 R RX1 R.aX1 R B RX-.aX- RX1X-XDX5 RX-XD RX-X, a a 3X-XI #X1X,X,X. $ 'XK.9 xXl n cXl x v v bXDX-.H c mXc : `X3 I D D.`.`.`.`.8X-XX V., V k.gX< n 1XhXh.1XcXH I.%",
-" BXl.Z.e 8 R.a c 'XcX.Xc D.2.GX;.2Xl T.9Xl.wXD s m T h gXJ.ZX,X,X,X..O.'X,XDXDXI '.2.wXcX5 $.a R R RXl.9.GXwXcX1 8XD x.9., kXc UXDXs.0 T !.2X;.%.O DX1 #.] ` IXJ :XV T ( : (X1XV T.X P 5Xx.X.zXx.X.o.XXg.b.XXg.o.o.z.o.X.oXg.cXk.U.U l.c.c.V.o.o _Xg l.U.z lXg.b.X.X.X N.X.kXt.^XtXj.k.b.o.X.o.o.X.o.b.o.X.o.o.X.o.o.X.o.oXkXg.o.X.bXg N.o.XXg.b.b.X.b.^.^XjXjXj.k.k.kXtXt.kXt.5.kXtXtXt.k.k.rXtX*Xt.kXt.kXt.kXt.k N.X.k.k.k.k.k N N N.oXgXg.U.U.c.U lXkXg.c l l.c.UXk.cXk.X.b.k.kXj.XX*XIXc.qX0 M MX:X0.;X4 v E h.} hX,.aX, $XD.Z 8.Z U.)Xn LXA {X4XrXw IXJ.5 m.] 5.$ I 5 5.R Q.kX9X9 | PX5XJXK.K.,.'XJ $ Y.>.q J H.j.jXmXm $Xw ) c.KX*X5XV 'XN.GX0XGX>X> 0.@.;.1 zXH =.1X< n [ nX0Xw 9.0XOX1X-.|.5.].| :.2 m.G.2.OXyXO.>Xy 'XU g.2.2 TX5.8X1XV.H.H.HXI c B.DXU & M z.+ & H.; S H S.xX6.;.4.;.T.+ = z.OXU.,XJXJ ) D.] DXlXK x hX,XeXe.v 2XbX=X= 2.N.M t t.M.=.s 2.)X=Xb.v.{.xX4XpXq t hXK x <XG.Y.9.g.j.pXrX2 M.JX2X2X2.x.{X8X:X8Xf L.P.4X: S.4 w w.E w b J.W.w.Z h c $ 3 # c.u 3X,XD hX,XDXDX,XDXIXD.aX1 R.aXDX-XIXIX1 R RXDX- B.a R R R.aX-XD B tX,XD.D.Z $.w $.MX5 $.aX- aX,X5XIX-.aX1 B.eXD RX-XD R t.e RX-XD 3X1 a.aX- a R.aXI R R x.eXIXD c.w h $.M x `XD.Z c UXL 0 s s.Z 3XD.MXDX, c 3 '.u 3.`X-.8.8X-.8X*., k VX7 kXhXh.p =XcXH 1 x $ c",
-" a.,XlX,X,.a R s $.aX,XD.Z.nXH.] TXl TXKX5 RXIXD D.'.u BXJ., a.a.aXJXyX..ZX,.MX,Xc.O.2 1X,XK.3.'Xl.'X..%.O.].n.D.Z.Z.ZX..w 1 KXJ.'.0.0.GX;XO.D.]X# T cX-XV.8X3 5 T.u.8 c.2 I 5XxXoX5Xx.R fX@ QX@XxXgXgXg.oXgXg.X.o.U.o l.c.c.U.U.c l l l.U l l.U l.U.U.U l l.o.bXg.b.^.b.b.kXj.k.^Xj.^.^.X.o.b.b.X.o.b.X.o.X.o.b.X.o.bXg.bXk.o.X.I.U.I.#./.o.o.X.X.oX9.X N.kXt.kXtXtXtXt.kXt.k./.z.KXt.kXtXt.k.kXt.kXt.k.k.kXtXt.^.X N.^XtXtXj.k.X.X.b.X.c.c l.c.U.c.UXgXgXgXg.U l l.cXk.U.b.o.^XdXt.XXtXV.9 g.jXm.EX0 M.; wXn s.MXDXIX1.uX,.a.aX,X1XD.Z.W.< 2.P.@.j.GXD 3.HX5XVXdX5.kX*XtX*.k.u ) IXXX.X3X,Xl : D :.uX5X1.0 T.9.EXL..Xn v y s.' T D I m I ].G.G K.+ o.+.+ S.T.T.+.h z.hXZ.+ KXhXh K.> 'XPXO.2 ( ! ( @XyXc.G @X;.%.OXyX;X;.>.>.9 b 9.!XUXOXU TX5 $ : gXc g.2.% n.>.>.OXh.+Xh = &.x.<.;.y S.4 z ^X> ^X> y n s xX1XI.uXV.` R c x h.w.).NXb /X=.).N.M.MX- t < C.NXL *X=.)Xb.P.;.C.<XnXq.W < UX. h.M h.YXpXpX>X8X2 r rX: r r + r ;.{ ;.{X8.y r H ^.4X>X>X> H b vX,XGXl 1XDXDX1.u a.a.a a a aX-.a.e a R R.a R.aX-.~XD.ZX5X- RX1 c R.a RXDX- RX, R R.a RXD R.aXD.M.Z $ h.M $ hX5X5.a $ $X1XD $.9.9X,X, hXKXlX5Xl.'X5 kXD a.a.a <X- t.e.a.Z RX5 a.aXD.ZX,XD.DX,.9X. nXl T.W vXC b yXU Y.9XJ.YXH DXw., 1 RXD.`.`.`.`.8XI.8.}.}.a Xw.-XGXp._.9.[ 1 xXJ",
-"XD ' $XJ mXc k.,XcXUXD TX,X1.2X..,.9 :X,X1 R B B.'.2 $.Z cXlX- RX-Xw $.D k D.eX5X; mXDXDX-XD.DXcXI.2 gXU.2 !.2XUXOXUXPXO.!.0Xy gXPXU.>.O.O D T.DXJ., , ( :X5.r T I.%XJ.2.5.0 5.| DXx.^XxXx.&.&.(.X.o.XXg NXg.b.b l.#Xk.U.z.U.U.c.U.U l.U.U.U.U.U.U.U l l l.U lXg.b.b.^Xg.XXd.^Xj.kXjXt.^.b.o.XXg.o.o.X.o.o.o.X.oXgXg.b.X.o.z.o.o.6.I.6./X@Xg.o.o.o.o.b.^.^XtXtXt.kX*.k.k.kXt.k 5.&.zXoXt.kXt.r.kX*Xt.uXtXtXt.kXj.X.X.b.X.kXjXd NXk.XXgXgXk l.U l.cXkXg.o.b.o.c lXk.cXg.cXkXg.XXz.X.^XxXt.H.n !.!XU & M &.E.vXe.N.M 8XDX1X-X1XIXD.H 8XD RXn .X>X>XmXlXD.HXtXdXt.kXdXVX*X*X*.k.uXdXV.5.Z h.9 hXl.] :.uXV.Z.8X1Xs.D vX>XG.. O JXG.YXP.Z.kX5.H.u.0X;.> = &.; z.+ z =X: M zX0 M MXwXwX..> ! g gXPXO.| ! !XyXUXOXU.'.' s.D.WXDX,XD $.w.n s.! 9.! !XU !XOXU.9XOX.Xh.1.O.OX. = nXyXh.1 MX0 W.xX2X>.@.xXC 0X4 v...Y.+Xh T.H.5Xo.r.5 $Xl.WXeXs.;.EXe.N t u t t t a t.e C C.W C C 2X=.sXf S.x.@X+.p x sX<.ZXB h.j H WX8 r rX8X: rX8.{ r ; ; ; ; L.4.; wXf OXf vX>.j MXe y gXwXcXlXDX1XI 3.a a.aX- <.aX-.a.a R R t R.~ RX1.a.uXI 3 R R.a.MX,X- $XD ` $ :X,XD.MXI RXDXDX1 R.M.Z x $X,XD hX, $XlXD.}.ZXD., $XJXcXKXK.9XK TXcX,Xl 3 R.}X- R.a ` $.eXMXD #.aXI hX5XKX, R.M R.aXc T mXm.E.>XC 4.q ! MXcXl.9XKXUXw oXDXD 3.`X-X-.`.`.a.`.}.a.a.9.YX%X+ zX<.p.1.O.9",
-" $XDX-XD.9 R $ $ $XJ.ZX; 1.n.,X;X5XJXJ.,Xl B RXI $ mXl $ T.ZXlXD.u D 8X1.DX,X- D.O $X1 R B RXI ' m gXU.].0XOXU g g.2 g.0 ' ' g !XO.2 K 4 :X5XK :.H.u.] I 7 ] :.R :.5 I f.5 q )Xx.& ,.7.R q.R.z./.I.z l.U.U.z.I.U.I.I.U.U.U.z.U.#.U.U.U.U.c.c.c lXg l.c l.c l.o.bXg.o N.z.o.^ N.^.k.^.k.^ N.b N.o.X.o.X.o.X.b.bXgXk.c.X.o.oXk.o.X.o.oXg.b.o.b.X.b.X.X.^.kXt.kXt.kXtXdX*XtXt.kX*.^ )X9.kXt.k.uXtXdX*Xd.kX*XtXd.^ N.X N.b.X.^ N N.XXk.o.XXg l lXk.c.U lXg.o.oXg l.U l l lXk.U.cXg.X _.XXxXd.DXo gXm.'.q.> J O O 2.WXD.ZX1X,.D.DX,XD R U R pXe v n.WXD 8XV.H.rXdXdXo (X9 cXtX*X*Xt.k.DX5.'XG.9XG c #.2 ).Z.kX5 ).5.Z.D @ y.E b 0.j.q nXwXy D ).2XyX;.O =.y.;.@X>X>.; HX>.;XL.Y.wX,X5Xc.2 g g.DX1.`X1.! !.> ' 9 ' s 'XDXD RXD x., $.a y.ZXGXG g gXm.'.' '.0XU g @X; g $ $ : D.>X;.>X0XZ.hXp W.;.@.h z W S M.x W.+.O :X5.XXx.K.K $.' bXn.=.jXe & .9 ` $X,XDX,XD hX,XDXeXD.N.W.s.s.. H.4X8.xXnX+ v h U =XGXp.{.{X2X8.JX2.<.x.C ;.{X8X8 ;.4 SX:X8.4 ^ 0 v vXcXG g.-.[XK.Y : $ R c B 3XI R R t tXI a aX-.aX- aXI.a.e.aX, RXI R R R R R.Z tXl `.Y $X, $X, $ 1 $ $ UXD.a a R h.ZXD x.Z h c $XM RXIX, $ $ $XD tXD R t.*.* RX, h.~ a.a.a a.]X,Xw :X.X.XJX3.%XJ.>.3.' RXD.M.9Xl $XD xXKX,.WXs.EXG.W.MX,.E.s 0 bXnXG.'XDXI.HX1X-.H.a.`.a #.a `.h n WXr k nXH x",
-"X. RXwX,XJXl.YXD R.e.MXD R $XU.u hXDX, :X3.DX-X1.Z.% D.9 : 1 DX, :.Z R R R R T.3XJ 'X1X-X1 BX,XlXOXU.0.w.Z !XwXKXPXU s '.nXP g ! @XUX; Y.'XVX5 5XJXx.5.5.| ).5.R YXxXV ).5 5.$.RXxX9./ q.z.7Xx.I.zXgXgXk.U.#.#.zXu.I. .I. . .I.6. . . . .6.6.6.6.6. .6. .6. .#.z.U.U.U.IXkXgXgXk lXkXgXgXgXgXgXg.o.oXg.o.o.oXgXg.UXg.o.bXg l.b.o.b.o.b.b.b.o.o.X.b.X.^Xt.k.kXd.rXt.k.k.u.k.k.k.u.r.rXVXdXt.k.kX*.u.kXt.kXtXd.^.XXg.X.o.X.b.b.X.b.z.XXg l l.U.cXkXkXkXg.X.oXg l.c.c lXk.cXkXkXgXg.XXg.XXV.H TXK @.O K.+XC M HXG 1 yXl m.|.w $X, hXD.M U..Xe.@ nX,XD.H.r.HXtXx.z.k.R.R.KXtX*Xt.kXd.H.w.'XL bXKX, : P.| Q I P 5 I.2.O RXG vXG.s.E & =Xw.2 g TX5.2.O.+.O M H.@X6X6.; y yXw.ZXDX1X1X5.` 'XyXOX5 g :XcXw.!.q s.nXeXa C t.M 1XDXHX.XK.,.3 1.1X. !XZXOXmXOXUXP yXU.O.>.> m.GXy K K K KXhXZ z M W WX8.h.+.h.h.L M.hXpXG.wXVX*.KX*XVXVXl vXG.sXG.NXK.j 1 } h.] 1.M R t.eX-.} R.M t CXs 2.sX>X>X>.CXpXpXn.YXq n.< WX2X2X2 + + r r.yX:X:X2X8.y M r S.4X6Xi.v.s.WXe UX, R <X, a.M RX1X,XI R.Z.e R.aX- aXD.aX-.e.a a.eX1.a 3XIX1.e.MX-.a.M $X. 1.w x.Z U.Z hXl.Z x.M $ c.Z $X,X,X,X,XD.aX, R.uX, :XD.a a tXDX,X, h R.MXD.aXDX- 3 3X-.` a R B s xXc : 1XlX3 $ cXDXlXD RXDX,XDXI x.ZXD.e c aXs v 2 2.E yXKXU.v.v 2 2 v.w :X1X-X-.HXIXIX- aX-.5Xc.[XnXq UXn x .9",
-"Xw :X.Xc.9.,XcXK tXH.% @ RXJ.'XKX.X. VXJ.GXJ $Xl DX..2XI RXDXD.Z :XD B 8X5XJX.X. gXc.Z $ '.u TXU 5 Y.ZXlX.X; n gXK s.9.'XU ! ! ! K 4X5.2XJXX :.5XX I ]XX.uXdXl 4Xx I (Xt.k q.f.& }.6XkXgXx.t.z.& l.b.b.c.UXk.U.U.# l.U.U.U.U.c.U.c.c.c.U.U.c.c.U.U.c.c.U.U.U.U.#.U.#.z.I.UXkXkXkXkXkXkXk.UXk.z.U.z.z.z.z.z.z. .I./.I.z.U./.I.z.z.U lXk.Q.z lXx l lXx.bXo NXo.K.KX5.k.kXo.k.HXo.kXVX5.kXV.k.u.r.k.k.k.kXtXt.k.^.^.X.b.X.b N.b.XXz.z N.oXx lXgXgXgXgXk.cXgXg l l.c l l.UXg l.c l.X.bXoXoXV.H g.'X;.OXZXZ M M HX4 [.S ` mXHXlX, t.M.M u....XnXpX,.~.H.H.`X5 (X3 `X*.k.k.8X*.k.r.rXt.`X1 s 0 O.EX, c.KX9 D (./ )XxXx :.D.HXD 9 b.sXCXe 1.'Xl.w.H.wX..> M.;Xf.v w.@ HXeXU ! ]X5XVXV.u g !.2XOXOXUXw.2 g.9Xw g.w.ZX,.Z.Z g.3X.Xc.]Xc TXw.YXcXK sXJ.Y T.9 x.w.Z $.-XcXc.n gXl yXUXw.> M z.pX2.x S SX:.CX2 M.xXn.jXG a c 3 ~.8.8.` RXIXD.@ p.WXs tXD $ ' cXh $.' sXlXDX-.a.a a B.*.=Xs.=X=Xf SX8.CXpXpXpXp..X4X2.<.J.JX2.J.T z.y M M z W M.< ..<.xX>XfX6X6 vXeXs.WXD 3 c.Z.M.ZX1XD.HX-.D $XD.a.M RXc '.Z.Z.ZX5Xl.,XVXDX1 a.a.a.Z.-XKXw $ x.Z.W.D.Z R.9XU x.ZX, $ $.W hX,X,.w U T xX,XDX, 8XD xX-XD.M.aX- tXDXDXDXDXD R RXDXV.aX-X-X1.e.* R R.aX, h c.aX- R.ZXD 8XD hXD.M T :XlXw c x.a x p.+ v M 9X0 MX2.4 2.j.+.9XDXV c.uXx.5 DXX )X-XK XnXnXc.pXwXpXZ",
-"XD c aX, hX-.ZXDX,XN xX,X5XU.ZXJ mXNXH.|XD RX- RXJXN.'X1 RX-X, : KXJ.2.w.3 !XJ.]XcXO mXU DXc D.O.0XDX,X, n mX. y x.nXG @.G K KX;X;XJ.ZXI TXJ.|Xo.K.K q.A ].]Xo.X.5 Q Q 7X@.t.X.z./.&X .fXk.XXg.z.U.oXg.U.U.U.c.#.I.U l.U.#.c.U.c.U.U.U.U.U.U.U.U.U l.c.U.U l.c.U.c.U.#.#Xk.UXgXg.o.X.b.o N.o.b.b.b.o.b.b.oXg.cXkXg.b.o.bXkXg.b.o.X.o.oXg.XXgXgXxXg.X.^.K.^X5.k.kXd.k.k.K.k.uX9Xt.k.k.k.k.k.u.k.K.X.5.5.X.X.X.X N.zXk.z.U.I.z.z.z A l.I A. .I.z.#.z./.I./.I.6./.Q.I A.6.Q.I.R.I.I qXk (Xo $.2 gXU.> z =.@XpXnXe h # xX5XKXl E.w hXeXnXp ^.jXGX, c c.k.2.3XKX5X3.K.5 NX9X9.5X9.X.5X5.w.! o bXw `.$X9X9 N )XxXk.5.5.k.kX9.Z.'.9 o.jXe.w.ZXU.5 $X5Xl = =X> wXf ^.CX0XaXl.]Xo.u.uXt 5Xd.2 g 9 9.' s vXl s.9X,.M R.aXD RX,.,XlXD B.a B.ZX,XDX, xXlX,X,XDXIX,X,.Z.YX,.M x.w C.Z.9.!XmX0.1.yX2 WX2.xX: S z WX0X+ y.>XD c 3 3.8XV.8.`.8.a.YXe.WXs C B t R.MXD sXKX.XcXK ` h c R RX1.* 8.).WXF.v.@X: wX>.@Xp.x.<.{X:X%.J.p.y.pXr z M.jXSX+ M.x.[.pX4X:.@.4 ^.J ^ vXsX,X1XK :.ZXc : T., : `.,XKXcXJ RXKXKXJXKXJ.-X5 `X- R RXIX- m `Xl.wXD.ZXGXe.ZX,XDXs $.9 nXcXc.wX,.aX, c.W.Z xX,X, h.ZX, cXDX5X,XD R.a.MXI.M R.ZX,XDXIX, #XI.e R R B R.a.a.a.a.M 3.uX, RX1X,XD RX,XDXD $ ) x 'Xc.| | DX<XsX+ O =XmXC r W H.s.> x k D IXJ 5.2 D ] ( (.`XI.-.1.-XrX<.h.[Xh",
-"XD RX1X-XIX, RX- RXcXNX.XcXc RX, : K : R RXIX- R.3XN D R RX1X5Xy.2 KXyX.XJ.2 m.'XN.% @.9XJ g T.].3 Y.3 'X.XwXl x.!.9 !X;X$.! @X$ !X5XJ.u 3.5XJ 6XJ ( DX5Xx 5.kXJ.X.XXx.R.&.:.z.oXgXk.IXu.o.X.XXg.b.oXg.U.U l.o.I.U.U.U.U.c.U.U.c.U.U.c.U.c.U.U.U.U.c.U.U.c.c.U.U lXk.6Xk.UXk.UXk.UXgXg.o.b.X.o.o.o.o.o.bXg.U.UXg.o.o.b.b.I.o.b.X.o.o.o.b.b.o.X.b N.k.kXjXt.k.rXV.8 3.r.H.r.H c.H 3.8.8.8.r.8 ~XVX*XtXtX*XtXtXt e.^.b.b.X.b.b.b.b.zXz _.o.b.b.b.o.bXk.cXg.U.U Z.t.t.t Q.R Q.t.R 5.& ) I.H.0XU 'XPX0.> M w.j nXM.- D c.]XD.' x $Xq u._ vXnXp.M.}.KX3XJ D.'.0XD cX* FX*X*Xt.rX*XVX* 3XI s bXa 9 $XXX9Xk qXkXk.zXg.I.zXx.^XX.5.!Xa o 8XD 3.H.8 ~.8.5XH y H.. JXfXi.j.-X1XlXV.H.kXVXxX5XJXOXO s s.w.w.Z.MX, 3.a.a R.aX1 RX1 3 hX-X, 8.Z.D.ZXl h.a.M.a.M.Z hXI.a cXD h.WXDX,X,Xa.n g =.>.[.1XrX2.< W zX%.[X%.jXrXG.a $.H.r.8 ~XI.`XI.a R v.s.NXs u u u.M.).NXsXeXq n U [ `XlX, B B R R.N.N.).sXf J S wX>.<.<X+X%X2.g r.T +Xq.jXrXr.pXr.j.y W.T MX%X2 M.4 wXf.. v.WXDXK :XyXU.'XK T `XKXlXMX5 hX-.uXDX1.aX1X1 RX1XD R R RXD $XD.Z hXDXD.w $.w UXD.M.M R 8 $.9XJXJXKX, m $.w.Z.' s.ZXD $ U $.wXl.Z.u hXV $XDXDX,X,X,XlXD R.a aX-.a.a R R t R.a.aXD $ cX-XIXI.aXDXDXDXDXD R a a R hXV # `X1Xq.'XeXs.W.)Xn J.>.w m c.K c.5 (XIXIX1X1.~ FXV.5X#XwX%XpX+XBX4",
-" B R.eXI a.u R R s TX,X$XwXl R.a.Z K 3XD B.*XD.ZX$.OX$.DX1.H g (.'.GXJ m '.Z mXl K B.wXlXPXl g.wXNX5 mXy.] s $.'.'XPXO !.G.%.2X. Y cXl.2 5 c.k ( I 7.R ).5XJ.5.f.AXoX@.X.z d.X.oXg.o.o.UX9XgXg.b.oXgXgXg.U.c.o.I.c.U.c.U.U.U.U.U.U.U.U.U.U.U.c.U.U.U.c.U.U.c.U l l.c. .U.U.U.c.U.c.cXg.o.o.o.o.o.o.o.oXgXgXkXg.X.o.o.X.o.z.b.b.o.o.b.o.X.X.o.b.^Xj.r.kXt.k.rXV.r ~.HXt 3.H.8.k.8.H.rXV ~.8XV ~Xt.u.kXtXt.k.kXt.^.b.X.o.b.o.X.o.o.U.X.bXgXg.oXgXg.c.c l l l.z.t AX@X@ fXx.z ( I.& 5 I }Xl.].!XP.q.> w ^Xi._.y $ m.] ' @XD k $ [., u..XL.E.n.} 3X* | '.Z.] DXVXIXVXVXtXtXtX*.k.kX*.uXI.n '.nXP $XM N N.b.^XxXgXg.b.^.X.X N #.' s b T 3.8 ~.r ~ ~.8 TX;XU.E.x.TXn.;.G :X;.u `XxXV D (.].wXO.'.n 8 t 8 RXD 3XDXI B 8X1XI R.aX5 3 RX1X,X,.ZX,X-.M.a R RXI $.uXIX,X,XDXD U.a 8X1XP.0Xw.O y.[ z [ z zX%.[XpX<XrXw.Z RXVXV.8 ~.8.rXI.` R.}.9Xa b.).N EXe.Y.N.sXp.).M.NXGXeX<.9.'XK.Z a R R U.N /.@ MX6.@.;X:XfXrX2 r r WX%X+X+ >X:.1 zXr ..pX+ [Xp.hX: z H S w v v x $.Z 8XD 8XD R.MX5.a R.a h.~ a.a BXI R R R R RXDXIXD.Z $ BX,XD $ 1 1 x 1XeX,.M R R.a.a 3.eX,XDX, 1 x gXcXcXw 1Xe.ZXD.nX, 1XJ 1 xXD hXD : hX1 $XD.9 R R RXD.aXDXI a.aXD.MX- R.a cX5 R R.aX1XDXDX,X,X,XI RX-X-X- cX1 #X.Xl 1Xe.WXn.v .XUX; R 3XI.`X-.u.8 3.`Xd cX*XtX*X1 :XB x.FXqXA .",
-"Xl c $.ZX, $X1XD : K @.O DXD RX-XDXNXD R.aX1.e m.-X;XN $.D T ( g DX;Xl.5 R.a BX5XN.3 :.D D TXKX-X.XN.O TX,XDXy.' @.w gXU KXy m.2.0 DXI.u.2 I.XX*X9 ) P I f qXt.k ).&.z.X l NXg.b.o.o.b.o.oXg.bXg.oXg.oXg.U.c.c.I.c.U.U l.U.U.U.c.U.U.c.U.U.c.U.c.U.c.U.U.c.c.U.c.U.U.I.c.U.U.UXk.U.UXk.c.o.o.o.oXgXg.c l.cXg.o.bXg.b.oXgXk.b.o.X.o.b.b.o.o.X N.^.kXj.kXt.K ~ ~ ~XV.8.r.H.8.H.k 3.8.8.8XV ~.r.8.k.kXtX*.kXtXj.kXj N.o.X.b.b.o.XXg l.b.oXkXg.c.c.c.UXg l lXk lXg.XXk.k.rXgXoXoXxXxXx.KXo IX;XK '.!XC.q ^Xi..X%.F.[X,Xc.9 1.-XM hXB CXA.sX>XeXD.} 3.KX,.H.DXD.8XV ~.rXt.k.k.k.rX*.u.u.H '.n gXUXIX*.KX*.k.k.z.bXg.XXgXjXtX*.8.}XGXG TX5.KXt.r.8.k 3XV.9 =X+.; HX> M.1Xc DXJXx D.H ) D.] 'XOXP.'XD 8.MXs.ZX,X1 3XI 8 RXDXVXI 3XI $X,.Z T c tXDXI R.nXl.u : 1 :.2Xc 8.DXDXJ :Xl '.0XPX.XHX7X7 kXw.[XcXp., k.[XH hXD.uX5 ~ ~.8 ~.`.8.} aX< &XC.q.;.j z M M =X0XeX0X>.).WXs nXGXU.wX. < t.M.M *.E ..+ M.h.T.h.T.T.h.T.h.x.<X4X+.+ SX0 zX2 . .X4.p zX:.T r.;.4 0 vXG.ZXDX,XDXD.MX, BXl R R B.uX-XD R.a.~ RX-X- R R R.a R R 1.aX,X, $ c T.w x x.Z h.M RX-XDXDXDX-.aX,XI.M.a.M.M.Z.Z.wX,.ZX,XHXKXH TXJXJXK.,.ZXl xXD 3XDXD.e R.a R.M xXDX-.aX,.M R R.a :X1 RX-XI.aX, R UXDXI R R.~X-X- :.5 R T.wX;.E..Xi H.>X5 BX5.u.K N.K.~X9 3.u.5.5 )X*.}XlXBXq._XAXqXA",
-"XU mXUXJ.2XJXKXJXK gXJXJ.9 B.a RX5 `X5 aX1.aXl.3.uXKXNX. D D.0XDXI D.e R RX1X1Xl 6.e aXJXwX..].0 mX.XNXK.DXD 1 sXU.q.' !.%.2.OX5.HXI 5.5.k.5.5Xo ].X ) ( Q ,.R f.X.z.I N.b l.b.o.bXgXg.X.oX9.bXg.o.oXg.c l l.U.I.U.U.U.U.U.U.c.U.U.U.U.U.U.c.U.U.U.U.c.U.c l.U.U.U.U.IXk.UXk.U.U.c.U.cXk.c l l l l l.U.UXgXg.o.bXg.X.oXgXk.X.b.b.b.^.b.b.X.X.b.^XtXd.k.r.kXtXt.u ~.8.H ~ ~XV c ~XV ~ 3 F.8.H ~.uXtXVXdX*.rXt.kXt.b.X.b.b.X.o.bXg l.bXg.U lXk.cXk.cXk.cXk l l.b N N.b N (Xt A.R.&Xk ).5 YXN ! s O o z.EX6XA.d U <.a.M.aXI <.aX, C uXbXbXGXGX,.a 3 ).HX1XD.kXV.k.u.k.rXd.k.rXd.rXtXtXIX9.0X5.%X3.KX9.u.u.k qXxXk l.XXtX*.r.}XDXqXG.] :.KX9 qX9XgX9.5 DX, yXmXpXiX> nXcXcXD 3Xo c.`.`X1XD.ZXO.9.nXD.DXD.u $.,X. $ RXI B.,X*X. R.*X1 : m.- R t.MXI.3 TX1 )XVX1 ] gXDX1XD :.%.D.n.].!XwXHXcXMXBX7.-Xh.S.-Xh [XhXU cXDX*.`.r ~ ~.8 3.8 3 :.q b 0 H &.p.j =.1 MXG.+ =Xs 2.=XL.s.D.- tXc :XD t tXeXGXeX4X>.; H =X2.x.; WXpX>XnX+.+ n & =X:Xn.< >X4XnX2 S z w w 0 J o.w.WX,XDXDXDX1 R s.D $XlX, x RXDX, t.a R.a R a RXDX, RX5.aX,X,.Z R U.a.M.MXD R.aXDXIX, R.eXD RX1 x.* R.a RX,X,XDXD.ZXlXcXJ.] n., 1XJX.XJ c.Z.a.aX,XK.e 1X,XK ` g.3.9.- `Xc R RX- cXl BX- R RXDXDX,X, RX- aX-XIX- c 1 R.eXDXs v.N.; &.O `X1.u.uXoX* N.K N.k.K.8.r.`.` 3.a.YX<.y._Xn >",
-"X.XJ D 1 D mXl.'.0XK g.2.Z R BX- BX- aX1 a R.M.a $ TX.X..2 TXDX-XD.].ZX5 $ $ BXJ.GXy.O.2X; YXUX;XN Y.G.Z c.}X1.M.'X;XO.> 'Xl.% DX5X5.| I )X9XxXx.R.&.& A Q QX .7./.&.^Xg.X.b.o.X.o.oXg.oXg.oXgX9.o.o l.# l.U.I.# l.c.c.U.c.U.U.U.c.U.c.U.U.U.c.U.U.c.U.U.U.c.U.U.U.I.#.U.U.c.U.U.U.U.U l.U l.U.U.U.UXgXgXg.b.X.o.b.b.oXk l.X.b N.^XjXj.^.b.X.X.^Xt.kXtXt.k.k.k.r.H ~ ~ 3.8XtXV.8.rX5X9.k.u.k.r.`X*.k.kXtXdXtXtXt.X.b.o.X.b.b.oX9.c.X.oXk.c.c.c.c.U.UXgXk.cXk.o.o N.XXd.tX@.t Q.t.&.| )X9X;XP.nXLXC & JXi.s.d t.a R R R 8XD 8X1.M *Xb.s..XpX5 3.a.KXV.u.rX*.rXt.r.R.X.I ~.^XoXg.k.k.r ~XI.uX5 5 I I.2Xx.5.kXVXtX*XtX*.r.} # # v yXIXo.k.K N NX9 NX9.5.Z.'X+.E.x H.@.j nXUXXXVX*.H.HX5 :X5XU.9 s CX1.M R 'X1 D BXI R B m.ZX.XVXI.a hXHX3 R.M.aXDX. ]XV 3X9.uXJXOXDXa.DX5.O c.Z.0.!Xc =XH VX3 }XK.- K.S Y.3.SXJ.`.K 3 ~.8 ~.H.H.8.a h vXa.= J.j kX<.-X+.j n M yXn.s 2 b.s.)XeXG g x., $ $ <.*.).N 2 J ^ w.;X0 MX2XrXpX>.EX0 MXCX0 =.@Xq.s.p.x M M S.4.@ ^XfX4.s.wXe 3XD UXDX, 1XlXKXc.9 DXJXB `.a t a.a R.} $ h hX,.a 1 R $.- 3.9Xl RXJ.Z.MX,XD x R R R.e t tXD.a R RXD.ZX,XDX,XIXD.DXD.D cXDXDX, #XDXD 3.u.Z :XJ $.%XcXw.9XKXK.9 DXl.9X-.a RX1Xl 3 :X5X1X5Xc RXDXD RXI D R :.u : ) :Xc R.N.).) v $ cX-.8XI.8.H.8.`.~.`.`XI.~.` 3 $ 1.g n._X4.g.p",
-"XK T.9 ' kXJXD.eX- BXw.2 ' :.'.'XlX5 $.ZXl xXl $ $ TXJ.' D TX5 $.ZX1XK.2.0XHXD B.DXK m.2X; T.'.Z.Z T.]X,X,.a.MXD.n.> @X$Xc.2 3 `XJXx ) :.&.& )Xd NX@ ]X@.z NXkX@X X@.(.XXg.X.o.oXg.b.o.o.oX9Xg.bXg.b.U.U l.U. .c.U.U.U.c.U.U.U.U.U.U.c.U.c.U.U.U.c.U.c.U.c l.U.U.U. .U.c.U.U.U.U.U.U.U.U.U.c l l.UXgXg.o.o.b.b.o.X.b.XXkXg.b.^.^XjXtXt.k.^.^.^.^.k.kXt.kXt.rXt.r.8XV ~ ~.HX*XV.HXV.kXo.8.` ~.H ~.HX*.uXt.k.kXt e.X.b.X.o.X.b.bXgXg.X.o.o.bXg.cXkXg.UXg.U.cXkXg.X.o.X NXg.X.XXz.X.b NXo.D.]XU.0 b & &Xf.s p.d.a.aX1X1 RXDXD 8.*Xa %X= ..E xXIX-XV.H.8.8.rXt.k.r.^ lXxXx e.r q.bXt.k NXx.k.H ~.uXo.K )X9 5 5 DX9 ~XV R 3 3 h $.' T.HXI.8.k.rXtX*.r.rXoX5.wXGXpX2X>X>.E.9X#.GX*XI ~XV.uXJ.2XJXO sXa.D $.ZXlX,XJXD $XIX1.Z.5 xXI R aX,X, $.M RX, 8.DX1X*.` 3.5X1.0 8XDXDX1.'.0XK.9XK y nXHXMXX.K R.uX,XMXcXc.-X. xXI c.r 3 ~.8.8 ~ 3 3.a bXa O yXrXp 1Xq 1XpXcXw.g &Xw o..Xp.) 2 u.w.9 $XH R t <.N.W 2.@ H.EX0 &.jX> HX+XG &Xw &.!.q.+X>Xp.jX+ M M = r z SX:X>Xf..Xn x.W $.Z.Z $ : 1XD $X,Xs hXD.a.a.MX, hX,X, $ $XlX, hXK.aX5 T.a.9Xl RXGXDXlXD :.ZXcXl a $.aX1 h.}XDXDXDXDXD $.Z 8X,X, $.Z.wX5X5 $ $.u hXD 3 x 1Xl 1XD.Z.9.9XDXD a t R aX-.a.~X-.uXl YX# R.ZXJ $., DXKXJ.-XJX.XJ.|XHXKXw C 8 2.) o hXVXI.8.8.`.` B F.H FX-XIX9.K.2XXXKXJ.-XcXK [ 1",
-" B R.aXDXI xX1.aXDX, DXcXUXJ gXJXUXJXwXU.2Xc gX. g.> m gXOX. g.2.2XJ.2X. m.2 mXUX.XOX;.O m.' sXlX5Xl $.D.uXD RX, v 'Xy.O DXIX1.HX5 5 :.rXo ).&.f.XXxXx.I.IXxXg.XXk.& Z NXgXg.bXgXg.oXgXg.b.o.bXgXg.oXgXk l.U.I.c l.c.U.U.U.c.c.c.U.U.U.U.U.U.c.U.U.c.U l.c.U.U.U.U. .U.U.U.c.U.cXk.c.U.c.U.U.U.UXgXg.o.b.o.b.o.X.o.b.X.U.b N.^XjXjXt.kXt.kXt.kXt.kXtXt.kXt.r.^X* ~ ~ ~ 3 ~.kXV.8.8 ~.H.8XV.H ~.H.8XI.r.r.u.k.kXd.b.X.b.X.b.b.XXgXg.b.b.b.b.oXgXg.cXk.cXkXk.cXg.X.^X9Xz.X.X _Xg lXx.X.X.uXI gXGXL H & J.s...MXD R.8XIXDX,X,XeX,._ 2Xn.x vXDX,XI ~.8 ~.rXtXtXt.k.kXt.k.^.kXt.z.5.kXtXk N qXt 3Xx.5 F.H.8.u.k ).,Xw.9Xa.w.n sXKXcXD.H ~.rXt.K.k.^XtXjXt.k.5 tXGX>.@Xn.E.j.O K Y q.0 ).u $ T m !.]XP $X,XD.wX1 :XDXI.~XIXIX- RXIX-XD.a.a tXDXD 8XD.DXIXI.u ) h RXe.'XG.0.!.w sXKXmXGXmXwXHXHXMX3XIX1XI.a hXK TX. `.~ 3XI.8.r.8 ~.8.8XI a.9 v v.jX7XM XM x XMXB .pXrXwX+Xn /.).NXsXDXV.e.M u.).) O & o & &.j &X0Xw HX0.>Xm & vXm =.q.EXG.; M M.y.TX:.4X8 S.yXf.m...WXeXqX, XK cX,.ZXD RXD t < RXD $ $XDX,X,.9 k.ZXI.' $ x `X, $.w $XlXlX,XD : xXl $ RXJX,X,.Z $Xl x $.Z $ c.ZXl RX,X, $XcXJ $ RX1.aXD.ZX,.aX1 $XS.2 RXJXUX-.MXDX1 R.a R B.a.eXDXl.%.GXlXl k.9Xc T.Z :XD.u #.`.}.8 : :XhXe.D 2 v.w RX, RX-XIX-XxX5.DX9Xo.|XJXK T I ).8 `.$XK )XV",
-"X,XDXDX- R.a cX-.~.DXJ.'.DX1XD 8 $.D sX. T.9XUXyXH.'.'XU.%.nXl ' ' TXK T T T T g mXJX;XO ! g.2 gXUX. gXKXcXJ T 1.n 'XU !.3 TX3XI 3Xo I.$X9.^Xk.R.z.7X@X@Xx.o.XXgXg.bXgXg.b.bXg.bXgXg.b.o.XXg.bXg.oXg.o.o.U.U.IXk.cXg.c.U.U.U.U.U.U.U.c.U.c.U.c.U.U.cXk.U.c.c.U.U.U. .cXk.U.c.U.U.U.U.U l.U l.UXg.o.b.o.b.o.o.b.b.X.b.o.z NXjXjXt.kXtXt.kXtXtXt.k.kXt.k.r.r ~.X.k ~XV ~ ~.8 c ~ ~ 3.H.`.r.uXt.H.`X9Xx.K.HXtXt.r.^.X.b.b.X.o N.oXkXg.b.X.o N.o.oXgXg.b.b.o.X.o.b.b.X.b.XXzXg l lXx l.oXo.u.Z.2 s.9 H H ^.. v u.M 3XVXIX,X,.W E.W ...Xn.EX,.}.u.8.HXt.rXtX*.kXt.k.r.kXtXjXtXtXVXdXtXj N NX*.HXVXx.u.HX* q.k 3Xl x.' JXG b b '.D.u.H.H.HXt.r.$.5 N N.bXo ~X5 x.9.@ JX>.jXqXc.,XJ Y f ( D f.$ K.G.0 s.w.Z R :X,X5XD 'XD RXIXDX- BXD RX1XDXD.w xXl.w.wX,.]Xc `X5.Z 1.nXGXL 9 HXm.q M y & MXwXH V : c 3 hX,.} `XBXc k VX3.5.a ~.8XVXI.8 3 3.aXc n k.l .}.}.} h 1 1XM.Y.p z.<XpX=XaXsXs C t tXs.).vXm y OXL 0XG o yXr gXm y.9Xm.OXy M M H M.+.T M.y.;.4X>.h MX8X: MXp.E.sX,._XKXc.a nXK U :.M c $ 3Xc.9.MXD $XDX,.ZXDX, R cXlXlX5 cXDXD R $XDX,X1 B.a c x TXc `Xl n T 3X, $ $X,X, $XDX-X,X5XN.]XlX-X1X-.aX-X, RX, t.O KXHXlXw a.a t.a t RX- a RXI.e., YX# Y $Xl $X,XIXl.9 ` :.}.`X-X- aXI s 8.N.=.s s s 1 $.aX1.~.2 D.0 7 :XxXVXI.H ~Xt ~Xx ).5X*X5",
-"Xc DX.XD.aX-XDX,X- 1 DX5X,XDXDX-X1 $ $ TXcX;.G KX;XJ TXc !.2 $ @Xc.D.~ BXDXIX5 c '.,.GX. DX5.n :.n D T.9.3.2.-XUXUXPXU.2XJ.5.]X9.u c.$.|.A )X9XkXkX@.& Z./.X.XXg N.o.X.b.oXg.o.o.o.o.b.o.o.o.b.o.bXg.b.oXg.I.U.U.cXg.c.U.U.c.U.U.c.U.U.U.U.U.UXk.c.c.U.c.UXk.U.c.I.U.# l.c.U.U.c.U.U.U.U l.cXgXg.o.o.o.X.o.X.o.b.o.X N NXj.kXtXj.kXt.kXt.k.k.kXtXtXd.k F ~ ~XoXkXx ~XV ~ ~.K.8XVXo.kX3XxXx ) ).5XV.H.8XV.rXtXj.^.b.b.X.o.b.b.bXk.o.b.b.b.b.b.b.b.b.b.o.b.b.b.^XjXj.k.^.XXg l l lXg.XXo.H.D g.' y &XfXi %X6 vXw.w.WX, x.jX4 . ....Y.jXJ.aXV.rXV.uXt.rXt.kX*X*.r.u.u.kXtX*Xt.k.kXtX*X*X*X*.8 3.D.kXI.^Xo.8.8 3XK.Y v.n OXLXU.DXVXVXt.r.kX5 qXk.zXkXkXg.rXV.HXGXp.sX>.E.j.'.a ).uXx (XV :X5X5.5 s '.' T.w $ 1 TXl 'Xl.w 3X,X- RXD.w sXyXw.] y.!XP 9.' y s x vXq v.j & H.q.q M HX+Xr MXrXw.1Xw.iXc.aX,X,.} # :.,X3., |.SXM.8.} ~.8.8XI h hX3 V ` h.a.M.M.a.} h h x XM .gX2.pX2.sXsXs.D C CXsX=.v H.!XLXL.n v v vXG xXG sXh s.>Xw z.;.+ zX8.xX4X>Xf.J.; M.@XrX0 HX0Xp H._ U.[ $XKXlX, $.9X,XJ TX,Xc :.a 8XD RXDXD.ZX5X, c.ZX,X1XcXHXlX-X,XD R.aXD.Z.Z cX,XS.' aXS xXDX,X,X5.ZX,XD 3Xl $X1 KXc TXDX,.w.D $.Z $X,X-.% 1 K K m.a a R.aX-X- RX-XIX-.e Y :.ZXNXcXDX,.ZX5XI :XMXI aX- a aXI.e RX,XeXs.W.=XLXLXK s a.a #.5.r.8.`.`.`XI.`.`.rX-.k.5X-XV.5",
-"Xc R xX- RX-.K.Z.Z TXKXIXDX1 RXD RXDX,X-X,Xl.%.,.wXDX, :Xc :.u cXDXI RX,XlXl ' mX;.%XK 3.D $XDXlXDXD 8 8.' m hXyXP !XU ! 'X-.5 D.AX5 )X9 q.A Q.zXx.X lX@XkXgXg.b.oXg.o.o.b.b.o.b.o.o.o.o.o.oXgXgXgXg.b.o.o.U.o.cXk.c.c.U.U.c.c.U.U.c.U.c.U.c.U.c.U.c l.c.c.c.U l.I.U.U.c.c.U.UXk.#.U.UXk.cXg.o.b.o.X.b.oXg.o.X.b.b N.oXg.^XdXt.kXt.kXtXtXt.kXt.kXt.kXt.rXdXt ~.kXo.r.uXtX*Xo.r c.&XJXx (.% 5 D.$.H 3 ~.rXt.kXdXj.X.X.b.b.b.X.X.z.b.X.b.o.b.o.b.b.b.b.b.b.^ eXtXjXt.^.X.oXg lXg.o _Xo.kXVXd.,XKXm n HX4.sX:.@.;Xw =X0 W MX2.y ..<Xm.DXIX* 3.kXtXtXt.rX*XtX*X* 5.5 q 3.5.K.kXtXV.KX*X*.u 3.Z s 1XlXI ~.u 3.` : xX, s.E s.n.!.H.uXtXdXd.r.HXd.rXtXtXd.bXt.uXD.Z.9XG.E & x 1 RXV c FXVX*.`.8.5 $.2 !XPXUXl g.'.].0.' ' ' ' $ 8X,.n gXOXU !.G.OXhX;X0 @Xy.j yXm y HXC.E.E.E ^.;XnXnXn.j.j & [XH., `XM.} 3 $ $.} 1.,.[ V.,X.X3XVX-XV 3X*., |.[ VX3 ` X,XD.a.9 tXK hX,X-.,XBX<.p.[.j.@.s.N.= 8 / G 2 0.q vXs.N 8.M.w s ' nX. sXwXw TXp H z r.xX8.{Xf . . v pX+ y =.; = z.<XpX+X>.j.WXq.- `X,X5 RXDXl.Z.ZXD 8 R R R $XD $XDX,X,XDXIX..2.-XJX-XD c.ZXlX-XIXDXD.M.GXHXwXNXlXDX1X,X,X,.u $ $XDXD.Z Y.' s.DXl $.Z $ $ $Xl RXH.ZX,XH [ aXD aX- R R RXD.~.3.].,XcXl $X5 RX,XD cXcXc.aX-XI a.a.`.e.aX-.* U.nXe.= /.=.E b h.a.a 3.K.KX*.u.K.e R.`.`.~.]X3XXXl.%",
-".~.u.~ RXI cXc 3X5 m.9.Z.Z.aXI RXI.~X,XI BXc., $ RX-X-XcXK.,X5Xc :Xl $ D T DX; DXc.w $.DXc 'X,.D.ZXD 8.w.9 R.0 1 !.>.2.ZXxX1XIXd D.A N.k N.z.$X .b.z.RXkXg.bXgXg.o.o.oXg.o.o.o.oXgXgXgXg.oXg.c.cXgXg.o.o.b.z.bXg.U.U.U.U.UXk.U.U.U.c.U.c.U.U.c.U l.cXkXgXgXgXg l./.U.U.U.U.U.U.U.U.U.cXgXg.o.o.b.o.o.o.b.b NXz.k.^.^.X.X N.kXdXtXtXt.kXtXt.kXtXt.kXt ) qXkXx.rXtXtXtXt.kX*.5X*.K.5.5XXX9.5 ` )X9XV ~.r 3XtXtXjXj.b.o.X.b.b.b.b.z.b.oXgXg.oXgXg.b.b.b.X N.^ e.rXjXt.^XzXz.XXg.c.o.b.^.^X1.5.0.0XJ v.ZXp.@Xf.sXf 0XG v J.@.@.; vXrX, 3X*XV.k.kX*.u.kX*X*.K 3.u }XJ 5 | 5 V.A }.,.A :X* c $.9 1XwXhXD ` 3.H.H c.kXIXIXlX.XcXl.DX*X*.rXtXt.kXdXd.kXtXt.b.k.k.uXD TXK y.Y.wXD.H.H.u.uX9 q.KXV :.% ! Y @X;XyXy.O @Xy.2XU.0.0 '.n '.wXPXy ] !X;Xw ! =.>.>.q.qXCXC w.E.v.s..Xi w ^.@.F._X<X+ =XG.1X<X7 [ ` $ xXD.} $ `XB.[ V | | [.,XJXJX3 `X3XM kX#X# 1XwXJXw., n.9 nXU nX3X#X7.FX7 yXe.=.= O.=.v 0X>.j.nXD B C.* t.9.Z.W.2 RXa.*.w g.j M z w %Xf.J %.. %.s vXn.;XG MX+ M.x y ^.E 2Xe.n.jXl # c.K c c $ B RXD.MXD.ZXD.aXDX- B x.u.3X,XlX,.YX, :XI a.aXD $X1.M Y.,Xl K.9.}.ZX- RX, : x TXl $ a.G DXlX,X,XlXD.Z.Z.ZX,XlX. ` $ R $XD.a h 3.a aX- kXcXl.a R.ZXDX,XDXlXl s m : c a.a 3 aX- a.eX- RX- a t.wXs.W 0.WXn s hX- #.KX9X*.k.K.8XIX-.} R.5 h.]XHXH",
-"X1 T ` : $.aXIXKXc D.DX, $ cX, RX1XDX,X1 1X.XK.' :.w :XK TXJ T D.2.% m.]XJ.] TXKXJ.0 :.n.Z.DXI.w.Z R BXKXOXK.9 ' gXUXJ m.5.8.8X*.kXx.A q.f.X N AXk.&.tXg.IXk.o.XXg.o.cXk.cXg.oXg.cXk.U.UXk.U.cXkXg.o.o.oXg.U.oXg.U.U.cXg.c.U.c.U.U.U.U.U.c.U.U.U.U.cXg.b.o.X.oXg. .U.U lXk lXk.c.cXgXg.o.o.o.b.b.o.X.o.o.X.o.b N.^Xj.X.k.^XtXtXtXt.kXt.kXt.kXtX*Xt ~.k.r.r.kXtXt.r.kXt.k.k N.u.K 5.| )XJ.% 5.$XJX*XVXV.rXt.k.b.X.b.b _.X.b.b.b.UXg.c l.cXk lXg.o N.o.b.^Xt.k.kXdXtXj.^Xz.b.o.b.^Xd.rXd.u.HXIX1.HXIXD 8.jX4.s.. vX>XwXr.j &.j.j 1X1 3.rX*X*.kXt.r 3Xt 3 # IXJ.%.3XHX#X3 }X#X. }XH k VXw.[XGXL M.hXwXH :XIXo.uXo.r 3 : )Xl.].5.u.rXt.kXtXtXtXtXdXtXt N.k.5XoXVX5.Z TXK :X1XV.HXx.r.5.r.u.u (XJ.2.%.2 YXyXO @ !.D.Z.'XPXO.n.0.!.] m.0.n T T.WXw.q o b 0 o.v 0 O.v 2.s ..4.@Xn._X+XB.S.T [Xh.1.h.h.h VXB x #.MX,X, $XK.- xXc IX.X3 T : :XXX3 [.OXJ gX.XJXJ., :.9XK.nXcX, h .F.-Xr vXs 2 2 b J w H ' $ 8 t R.wXDXKX.XD UXDX,.M.w.9 H 9 M.;Xf ^ {X:.<X4 p.@Xp.Y &.+XqX+X> z.@X> O OXe.Y.[ $X5XM.5Xl.M RX,.ZXDXD.aXDXD.a tX5.9 :XNXD R.aXDXI.MX,.a BX- h R.e.%Xw.Z KX..ZXDX,X,XDX, xX,XIXcX5Xc 1XD : 8 $ : $XIXD $.aX,XD.Z.}.a.aX-X-X-X, cXcXJ $XIXD.aX,X,.aXD 1X.., :X-X1.a a tXDX-.`.a.eX-X-X- < R.i xXG.= O._Xq.a h.8.8 3.8X-.`X-.`.~ R RXIXDXK $",
-" $ D ` T ).2X1.%XHXH TXcXcX5.- RX-.DX1.ZXO.2 g gXcXO m gXU.2XJXUXU.2 m DXU g DXy gXwXO mXc.'.D $XD.M 8 8.'.OXU T mXP D.KX*.8.uXd.k.k.I P./XgXg.XXg.I d.I dXk.b.c.c.c.U.#.U.cXg.o.c.c.U.U.U.U.U.c.o.b.X.o.UXgXg.oXk.UXg.o.c.c.c.U.U.c.U.c.U.c.c.U.U l.o.o.o.o.oXg.I lXk.c lXg.o.o.X.o.b.o.X.o.X.o.b.o.o.b.o.oXg.X.b.k.XXj.k.r.k.kXt.kXtXt.kXdXtXt.r.X.r.HXt.kXdXt.kXtXt.k.k.5.u )X9XMXX :.K :X9.5.KXt.r.rXj.^ N.o.X.o.X _.b.X.o.zXg l lXg l lXg.b.X.o NXjXtXjXt.r.^XdXdXj.^XjXjXj l (.z.5X9X5 cX5XV : $ XwXnXpXw.9.}X,X,XDX,.H 3.8X*Xt.rX*.kX* #XXX3 V }XZ.S : : `XHXJ.,.-XcXH `XX.[Xw.jX>X=.. z.YXHXM D.2.2 ).| FXIX*XI.~ DXXXtX*XjXtXtXdXtXdXtXt N.k.K NX5.r.HXMXI TXI.H.`.H.H ~.k cXV.8XIXI.H 3 cXy g 4 (XD.k cX5 gXPXPXP ! :X1.DXI 8.9 ! & 0 O.= O 2.W 2 /.v.vX>XfXnXb p E 1 x $ 1.j y.pX%X<X<.[.9X3 hX,X, $ U h.-.[X3Xh 6Xw.,Xl.9.' x $X,X,XDXIX-XDXI.~.a a 8 RXDX, # `.FXwX+XG 0 2 O &XC s s s BX-.ZXDXJX,.9XD.a.wX,X,.Z sXmXGX0X0 ^.P LXf.C.CX2X4.... MX2.j.h &Xp.@.E O.s vXp.w h : xX1 RXIX, hX, RX,.MXI R.MXI.a.}.ZXHXSXHXc 3.MXD :.a R.M R RX,XUXJ x.9 : xXlX, $X,XD cX,X,.ZXlXl R.a.Z $.a R.Z xX1XD $ $X,XD $XDX,.Z x $ T x.G xX,.M.a R.aX,X, :XJXlXDX- R.a a t.a RXD.eX-.`X- RX-X- a.K c hXe.W O v h RXI.`.`.`.`X1.8.`.`.` F.~ F.u m",
-"XV 3.Z c $.ZXD.9Xy DXKXKXK `X.X1 RX,.Z gXc.nX1Xs.Z.'.2.0 D.nXlX5XU ' '.0.'XKXU.0 x.D.Z ' T.2XK., xX1.M.w.nXU g mXyXVX5X* ~XtXtXt.k N NXk.X.o.XXgXg.o.zXg. .#.U.c.U.U.U.U.U.c.cXg.U.U.c.U.c.U.cXkXgXg.o.o.I.bXg.b.c.UXg.oXg.c.U.U.c.U.c.U.c.U l.U lXg.o.b.o.o.oXg.z l lXgXg.o.o.o.o.o.o.b.o.o.o.o.o.b.X.b.b.b N.XXg N.X.kXtXdX*Xt.kXt.k.kXtXtXtXt ~Xo.X.rXtXtXt.kXtXt.kX*.kXoX*X3.$ ` )X3XXXM ` :XX.XX*.k.k N.b.b.b _.b.b.XXgXg.IXg.c.c.c l lXg.X.b.^Xj.kXtXtXt.k _Xo.^Xd e e.^.XX@.R.7 I f ( I.$Xo D `.,.TXw.jXD.} 3 3XDXV.H.r.8XVXtX*.rX* c.5XJ V k V.[X#XJ T.-XKXK.9XcX.XH., VXB [ =X>Xi.s .X+X+ U.M.ZX5.HXdX5X*XV 3 DXl ).r.kXt.^XtXtXtXdXtXt.k.K.kX*.k.^.k.k.rXI.XXV.H.H.H.8 ~.8X*.`.u.HXoXJX*.u.D ) 'X5.uXV.u.uX5XPXP.]X5XIXI.HXIXD s &.E O.=Xn.WXL.s.NXs.s 2 ^.@Xn._._ < 3.} <.ZXlX+ WX%X7.SX<.,Xc.ZXD RX,XDX, $ $ 1Xc.3Xl k.' x h $.MXD.M 3.Z.uXIXIX- B.a B RXD.a $ ` .[Xw.j.q oXC &Xm s.nXDXD T., xXlXDXD a.Z x.Z R U T '.!XC M.;.C.P.4X8.CX>.<.@X0.;X0.>.OX0.OX0.E.E ^ 0XpXc v xXD #.Z $XDX, R.MX,XD t.a.a x.M cXe.a x $ < 1Xl.} t 3XDX-XIX,X,X,XD $ s.M.M $ TX, hX,X,.Z.e c $ :Xl $XDXlX5XD.a.a h.uXDX, hXlX,XD.M 3 x 1XcXD $.ZX,XDXD RXD.,Xc m 1.MX1 RXI RX1 a R aXIXDXD.~XD.~XI RX1 #.KX-.'XGXGXLXGXDX-XI.`.~.8.8X-.` F.8.~ F.`XI.5",
-".u.D.u.HX-X1 R.' g.9 8XlX1X, h.}X1.u D.2 $X1XDX-X1.,.' RXI $XV : DX,X5.Z.D '.]XlX1X1 $XDXD T.' m VXDXD s.w T @.O 4 D.uXV.rXtXoXd.^.XXg.oXgXg.b.o.oXg.QXgXg.c.#.U.U.U.U.U.U.U.U.U.U.U.U.U.U.U.U.U.cXgXg.o.z.o.o.oXgXk.UXg.oXg.c l.U.U.U.c.U.U.U l.cXk.b.o.X.o.XXkXgXgXg.o.b.b.o.X.o.X.o.XXg.X.o.b.o.o.o.X.o.X.b.X N.^.XXtXt.k.rXdXtXtXtXtXt.kXt.rXt.r q.^.k.k.k.kXtXd.kXtXo.K.uX9.K :X3XX ` V I V q ) N N N.o.X.b.b _.b _.oXg l.I l l.U.c l.c.o.b.^Xj eXt.kXt.k NXo.b.bXo NXz.X.X.z.z (XkXx.5.KX9XlXl 1Xp n UXD 3.8 3.H.Z.HX1.r ~ ~X* #.8 V.,XJ VXBXBX3 .9 Xl.YXJ [XhXHXwXMXB.[.[ MX>XiXbXA.xXr 1XUXK T.0X9Xx : |.5.G.2X9.r.kX9.z NXt e.kXtXt.u.k.5X*X*Xj e eXt.r ~Xd.H F ~ ~ ~ ~.`.u.u.H.8.k.uX*.u ( Q.2 ) ) ) ( (X9.5X1.H.HXI 3XVXI 1XGXG ^XpX>.9XeXw $.9 &.v.BX>X4 pX,.M.}XI.a.Z.j.+XpX% rXZXHXH K 1.DXD RX,XDXq.w x x.} 3 Y.SXlXH.a.M.M.u.uXI.HX, BXIX-.`XI RX- R $Xc s.,Xw.EXG.qXm b.n.'.ZXIXDXc.'X5.eX, RXl $.Z.aXwXw.YXm.!X0.; wX6 L.{ ;X: M S = M = H &.O.>.OX0Xh zX> vXpXC._.Z $ $ #X,X,X,.M.} R <.M.a U.}.a < R.} <XDXM 1 h.ZX,.a.M 3.wX,XDXlXlXl.ZXDXD.MX5.9XlX,.M $ h a.M $.Y.Z x `XD 3 $ c.aX,X,X-XIXDXD xX, $.GXK k.aX,.M R c R.9.9X.XKXKX,.M RX-XDXKXc.Z.Z 'Xl.,Xl m., :.3 #XI ~.~X1X,XUXeXLXL s.* B.u.uX-.`X1.`.~.`.`.`.~.H.`",
-"XJ D DXK T T $ D T.% sX; x.OXD.uXDXJXJ c.DX-X1 B $ m.K RX-.~.Z 3.].DXDXD.Z.D.]XK.D.D.2XV.9 c.a :.9Xl s.w.9XU.9 DX; ).u.r.KXtXt.^.X.o.X.o.o.bXg.bXg.#.#.c.U.U.c.U.U.U.U.U.U.U.UXkXg.cXgXgXg.o.oXgXg.b.oXg.U.o.bXgXg.c.UXg.bXg.U.U.c.c.c.U.U.U.U.U.U.UXg.o.o.o.o.UXg.bXg.o.XXg l.z.o.o.b.o.o.o.X.o.o.b.b.o.b.^XjXj.^XtXoXt.r.kXtXt.k.kXj.kXjXt.kXt.kXt.kXt.u.r.k.rXd.kXtXt NX*Xt cX* cX* cX*X*XXX*X9.K.X N.X.b.b.b.b.b.oXg l.UXk.I.c lXg lXg.oXz.^ eXtXjXtXtXt.K.X.b.X.b.b.b.b.X.b.XXoXo.k.r.kXV.8XVXl 1.} M 1XGXD 3 3.8.HXI.H.8 ~ 3 3 )X3 DX3 `XM `XXXB h x.Z x 1XHXwXKXl UX, h MX>Xi.P ^.{.j H.9XK.5 ) D.K : :Xl D.u TXx q N ).kXt.kXk.^.kX*X* N.rXjXtXjXjXtXt.H.r.uXd.H.`.8.` 3.H.`XV.H ~.u.rXt ).R.f 5.$ IXJ IXJ I c #Xl qXIXIX, v.Y OXp = t n t.3 xXG.T H ^.{XnXe._ t.a c.~ R aXG.jX2.g.TX#XHX.XK.HX,X1XD R x.w.}X,Xl.a `X# }XH :Xl c 3 3X-.8 $XV RX, 3 3XI RXc.]Xw D =Xh.+ 9 v.n.n.n 8 RX- D $ : s xXDXc.wX,XDXw nXh g gXm.;.;.@ L.4X8 S.y S H HXm.>.>X;XOXwXwX+ =X0 =.; ^Xp.s.w U h.i x.9.W t.d U t.i x U h U.MXq._ x.i.9 k $.aX,XD.aXD R.a.Z x.wX,XD $ x.w 1XK.uX, x.ZXI tX5 $X5.Z 3XDX- R xX5 RXD R.MX, R x tXlXU.a $X,X, nXwX..-XJ h $.ZX, RX- RXVXcXK DXc k.9 : :XK.5XMX, R.~ B.`.~X1 U.> = bXm gXl : : D.].$X5 RX1.`.~.8X-.`",
-" T :Xc.0 T D gXUXKXD $X,.w $ sXD D.2Xl RX,X1.a aXcXK.Z.~X-X1X-.u D RXDXDXIXIXl.].ZX,XUXK T $.n.'.w.'.n.9 g.wX1.a 3 ).,.f.X.k.k.b.X.bXg.o.oXgXg.c.U. .c.U.U.U.U.c.U.U.U.c.UXkXg.o.oXg.oXg.oXg.oXg.oXg.bXgXgXg.X.bXg.c.U.cXgXg.U.U.c.U.c.c.c.zXg lX@.QXg.b.X.o.X.z.bXx.z.^.X _X@.o.o.X.o.X.o.b.X.b.X.o.b.o.XXjXz.kXt.z.z 5 (Xt.K.rXtXjXtXtXt.5 q IXt.kX*.k.k.kXtXtXt.r.kXtXx.u.kX*.kXt.r ).^.kX*.o NXg.o.X.b.b.b.o.b.o.b l lXx.U.I.z l.UXg.b.X.^XdXdXtXtXdXt.k N N.b.b.X.b.X.b.b.b _XoXzXdXd.k.r 3.8.K 1Xe yXn.@._.M.}XDXI cXIXI 3.8XXX3XM :XX : x x h h h $ x : :.SXc 1 R.WXDXe hXBX+ W.<Xi ^ .X> JXG x tX1X-.8.H FXV.`.HXI ) (.2 )X9.KXtXxXkXkX*XtXo ).k.kXtXj.rXjXtXV.8 ) D D.9.9 T $.kXDXo ~.8XV.r.kX9 ).X.]Xx ) :XX ` [XZXZ.SX5.HX1 3XDXG v O v.M hXD UX,X, v J.PX> ..m U <.aXI.} RX- E.iX4 WX% k.Y `.Z.Z.DXD.D.M.DX,.MX, : c 3 `.] D V.3XK | $ ` R R 3 R.u.a.ZXD c VX3X#.1XH.G.OXm.O.'.w R.~X5XD.9Xl xXZ.wXH.-X.Xw gXc 'Xw sXC gX0.4.C.JXn.xXn.y zX0 o.9 yXm mXP ' gXP g.T.+ HX>X8 v.dXeX,.w.iXrX+XqXq.<XAXr.<X4XqXq.mXp Xp 1Xq x.YXl h RX,X-XD RXD.a 8X, x $Xe $.wXl $X5 'X5 T : TXl g.-XU D.wXD.Z R R.a RX,XDXIXDXD.Z.Z R.a.a R.aX-XK.ZXJ $X, $ $ #.M c h R.aX,XD RXD 3XD R.aXIX- cX- RX-X-.`.~., TX.XZXm.O [.>XJ ` :X9XJ.5.`.8.`.8X-.8.`",
-"X1 BXIXD RX,Xl D.2X, BX1.eX-.e.Z m $X1X, R.* R.ZXJ :X- R RX1 3.DXJ $XJX,X1.e.Z.] :XDXDX; T.'Xc.9 gXPXU m x.uXD.aXI ) 5 5 q.^Xk.X.o.o.o.o.o l l.U.#.I.c.U.c.U.c.U.cXk.UXk.cXg.o.o.o.o.XXg.o.b.oXg.b.o.o.oXg.oXg.o.oXg.cXk.cXg.U.c.c.U.U l l.U.z.#X&.X.b.o.X.o.bXk.o.&.(X .t Q l.XXg.b.oXg.X.z.& A l.b.o.b.o.b.XXjXt.5Xo.H P q.r.k.k.k.r.kX*Xx.k Q.|Xt.kXo.u.k.u.k.k.k.kXtXoXx.k.r.r.k.X.z.^.XXg NXg.^ N.o.b.bXg.b.b.b lXgXg.o.z A.I lXg.b.X.b.^XjXjXt.kXtXtXt.kXd.b.bXzXg.b.b _.X.b _ _XdXtXtXt ~ 3XVXD.NXn.).v.EXp s 1.'.0.'Xl x V V :XMXl 1.ZXD.} hXD.M.}X. sX. h.M R 8.Z $ $XlX7X7 WX+Xi.@Xf.E..XG v.aXIX-.H.`.H FXV.8 ~.8.uXo.$ I.$X9.K.KX9XtXt.z q.rXtXt NXtXt.k.rXVX1 $ $XK DXKXKX3XV.8.8.rXjXt.k.R ( 5.| D 7X3 IX#X#.SXhXc T 3XV 3 3XG b.s.s.N C R R R C._Xb ^.@.. E x < <X-.u a R UXe.F.pX7.9 V xXI 3X,XD.M.D U.ZXD x 3X5 cX1XVX1XD.a : m DXH :XD.uX-.uXD R R.a cXXX3.-XwXU.9.9.w.ZXDXI : D.| $X, xX.XwX.XwXK T DXK o.n.q.O & S.4X6.@XnXrX2.LXh zXm s 9.' T :.0.D g T.!Xh zXfX2 S.YXn x U U .XqXAXA.d.m.m.d E.m E U.d u E u.M a.M tXD R.aX1.aX,.M.a h h $.wXl sXl $X5X,XDXcXJXwXUXJ T.9XK x 1X,.a.ZX,.aXI.Z.a.Z R.ZXD UXlXD R R R RXKXlX,XD RX,.e.ZX- R 3Xl RX-.aXI.a.aX-XIX-.a R $X, a R.eX- 3X3X5.w gX0 M oXpXH h RX1X5.8X-.`.`X-XI.~XI",
-" R.eXDX1 R BX,XJXK.0Xl.w.9 'Xl.0X..] 'XlXK.ZXl xXJ.w RXI BX1X1.ZXJ.Z.2Xl.]Xl sXc g $X,.' TXwXJ !.GXOXU mXK DX3.].8X*.k.k.X.^.X.bXgXgXg.cXg.U l.c.I.#Xk.U.U.U.U.c.U.c.U.UXg.o.b.o.X.oXg.b.o.o.o.o.oXg.X.b.b.oXg.b.o.o.c.U.c.c.U.c.U.cXk.U.U.zXg.: Z.bXgXg.b.oXg.z.^ f.X.(X XzXzXg.b.oXg N.oXg j.IXg N.o.^.b N.b.k.k.XXtXo ) 7.k.kXtXt.kXt.I q.r.k j q.k.R PXx.kXV.r.k.kXt.5 ,.& f.AX@ ).X.o N.b N.o.X.t.(./.o.o.b.oXgXgXk.o.RX@X . Xg.b.b.b.b.kXtXtXtXtXj.k.rXt.k.XXzXg.X.^.b.X.^.bXz.XXz.kXt.uX*.8.DX1.n 0 /.W.. vXL J bXL b.9X+X3 .lXM.} cXD.}.Z h <XcXHXl x R tXD.a.Z $.wXlXB.-Xr W.j.CX6 .X> v.Y xX,X-.8.`.`X1.H.`.8 3 3 ~.8XVXo q.& q.r.r.k.kXk.zXt.k.^.z.kXdXdXxXo.k 3.8.} 3 h 3.`.8.rX*.rX*XtXtXx NXxXo.k.5Xo : 5 m DXcXD.8.8.8 3XI.jXw v.).WXs R C.a * vX=X4X>.jX4Xq <X, #XIXI.a U EXqX%X7 .Y 3 $X,XI.ZXDXDXD.ZXD 3XI cXV 3X5 R.~X5.u $Xl :XI 3 BXI 3.H RX1.aX- hXX [ nXw s.w.n.a RXIXIXJ ' c $.w UXD h RX1 $.Z.D.ZXG.j.> H.4XfX4 vX+.j.;X0.+.+.jXm.9Xa $X, sXl.DXU gX0 M.; H.@XnXG x s E E u <.m E <Xq._Xe u < UX,.}.M t t < t.aXD $ h $ $ $ $ x $.W xXl : :XK : $XD.DXD.Z x h h 1X,.a $.Z.a.ZX,X5.M hX1X,.aX, hXDX, 1.eXDXDX, a.a R aXD t 3X,.a R a $X5.Z.eX- RX-.aX-.aX- a x ) 1X-X1 a.8 c.eXD v.! b b v.9 `X1.HXVXVXI.`X-X1X-.`XI",
-".3.eX5 $.~XI $.,.2XK.2XJ DXc D ! mXJXUXc gXc ! D TXKXl.0XIX..e.5Xw a RXcXwXP 1 m.OX. mXKXHX. mX.XPX5 $X5Xl :.5 qXVXVXd.k.^.X.bXg.b.bXkXg.z.U.UXg./.U.U.U l.U.U.U.U.UXkXg.X.o.X.oXg.bXg.o.o.oXg.o.XXg.o.o.o.b.o.o.o.oXg l.U.U.c.U.U.U.c.U.U.cX d jXk.U.U.b.b.UXgXgXx.b.7.RXgXg.XXg.bXg.bXk.o.:.X.bXgXg N.^XjXtXdXtXo.k.k 5.7.K.rXtXjXt.k.K q.KXo.fX$.kX9X9.r.k.kXt.k.r.K.z q.k.:XoXt.^ N NXz.X.o NXg./.7XgXx.U.U l lXkXg.(X&.I.7.z.o.b.X.X N.^XtXtX*.rXtXtXtXt.^XzXz.XXz.XXz.b.b.b.b.XXo.k.k c cXVXD 8.' 2.W.s.)XG v 0 O 0 0 2.@.[ XM c a 3X, cXc hXK s $.a R.M.a h $X,X5 $XMXc.-X%X% MX>X4 HX>.j.Y 1 3.u.8.`.`.`.HXV ~.8.8 3XI.H.H.rXo.^.kXjXt.kXt.X.r.^ N.zXj.r.^.zXx.K.K.uX* 3.r #.rX*X*.rXtXtXj.k.rXdXoXdXdXdXdXo P.0 ) : : )X9 )XJ 3XJXr.j 0.=Xs.* <.W.N.. v.E.@XqXe x $X-.uX1 c B U._XqX2X+ XB hX5XD 3.ZX,XD UXlX, 3 R RX1 3X1.u.ZX, aX-X5 R R cX1.e RX- BX, 3XI.i `Xc., nXU v.w 8X1 T $XVX, x.ZX,.a.Z R.Z.D c.Z.w.Z s.'.+X0X>.x.+.1 =Xc.< 0X2.;.; 9XG.9.nXDX,.2.Z.w y & =X0 &X> v v.W hXn.[X7Xq._.F >.pXBX+.a.MXDX1 R R t.a.MX1 t.M c.MX, $ $.Z.MX, h $ $Xl : x.9 :XlXDXD.Z.w : 1.MXM x RX,XlXD.a $.Z.ZX1XDXD h.M.Z h.* $.ZX, $.Z $X,X,.} R.aXDX, cXI.} T kXJ 1X-XIX-X-X-.~XIX- : D T.,Xl D.a.K $ RXaXLXC.q o.9 !XD Y $ ]XX 3 D.5.| T I",
-" 3X-.~ 3XD R T D $ :XDX5XI.Z $XJXl BX,XDXDX,XlXw sXl T.9XJ.] :Xl.,X,X, UXD.D.Z $Xw.9.0XcXJ gXw.]X1X1.`.`X-.8.8.8 ~XtXtXoXg N.o.oXgXg.UXg.U l l.U. Xk.c.UXk.U.UXk.cXgXg.b.o.XXg.X.o.o.X.oXg.X.oXg.o.o.b l.o.o.o.o.o.b.V l.U l.U.U.c.UXg.U.U.IX&Xu.:.#Xg.z.zXg.U.oXg.X.o.:Xg.o.b.oXz.cXz.o.b.z j.bXg.zXz N.b NXt.k.r.X.uX@ ) j.X.KXtX*Xt.k.k.k )XxX9.$ 7 ) N.k.rXt.r.u.k.k.5.k.5.:.k.k N.o NXg.o N l.X.(X&Xg.UXgXg.cXg.U.6 jXx.z A.o _ N.o.b N N.^ N N.^.^.K.^.^.X NXkXzXoXg N.X N.b NX Xk.5 ).u $.5XIXa v.=.WXeXs =XG.jXCXpX=Xb.@.[ x hXM : xXc x T t R 8 RXIX,X,.ZXDXl x ` `Xw [X+ M SX0.;.T nXKXwX3XcXl.`X1.`.`.H.8.8 ~.8 ~ ~XV.k.u.rXtXtXtXt e.X.r.kXt.kXtXd N N.X.rXdXVXtXVXt q.5Xt.k.k.^X*.k NXj.kXoXtXt.rXo.r P.|Xy ( I : PX3 q kXS MX> 0.v.N.NXD.s / ^X>XnXe p h.M.}XI cX5XIX, h._._X<.gXB XM .}X,XM U RXl 1X,X, RXIXI 3X, 3X- RX1 R.}XD 3XD R RX1.a R :XlX,.aXM.-.YXw y 1.nXD.D ` DXDX5 RX1XDXDX1X,.u.HX,.Z TX1.> o.+.h.y.y [.[X, 8.WXn.C S M.; & 9XG.'XU.w ' $.'.0 9 MX0 &Xm.9.9.Z.iXqXp UXe.iXeXq x UXDX1 RX- $X- R R.M.} R.eX,X5Xl t R h.M $ U x #.iXMXM 1X, $ ` x hXD $.n TXD x 1 U 1.Z.aXD x c.MX, t $ tX, x.Z xXK.a.MX,.aX,.ZX,XDX,X, h $.M.a.9.G.,XK : `X1 RX-X-X-X-XIXIXlX3 )XJXcXcXUXwX, UXK.EXG 2 ! g T.% mXJ D YX3X3.]XH",
-".~X1.e.e.a c D `.`XcX1X..DX1.u m $ hX5X- 8.a.'XUX, R.e aX5 # c :.- $XJ.Z :.Y g.w gXc TXw.0.%XlXI.8.8XI.8.r.8.u.8Xt.kXt N.oXg.o.oXg.c l.#.U.z l.z.I.U.U.UXk.U.z.UXg.X.o.XXg.o.b.b.oX9.o.bXg.o.oXg.b.o.o.U.o.b.o.o.o _Xg.c.U.c.c.c.c.I.U.cXkX&.U.I j.t.I l.U.U.I.UXgXg./ jXg.bXg.oXg.o.b.b.b.(X .b./.f.oX9Xg NXt.kXdXoXxX9.k f./ ~.^Xt.k.r.r.k.kX9 N.r f ,XtXt.KXt.kXtXV.kXo.kX9.7 ~ N N.X.b.b.^XgXkXg.7./.cXg l.UXgXk.o X.(Xg. .X.b.X.b N.^.^ N N.K.k.kXt.kXj.^.^.oXjXg.b N.X N.o.XX9.& 5 PX..3XwXc x ! vXs.NXe.[XG U n nXq.) 0XiXrX+ $ # 3XD 3.Z CX,XDX,XD h hX,XDXD # cXX k y.xXp.<X2 H.;._ x x.w.uX5.`.`.HX-.8XV.8XV.8.5X5.8.HXt.K.kXt.k.k.r.X.kXt.rXtXdXtXt.rXdXd.r.k.r.kXo )Xt.r N.^XtX*Xk.zXtXtXx.^Xo.X.XXx.X.5.X.0.X.5 (XxX5X; KXh.+.@ M . v.s .Xn.;.xXGXq 1 1.}.a.u 3XI.~X-.YXH [.T.T.S [.S.S., 1XH `XcXH ` x R.aX1 RX,.uXDX-XI.a R R RXDXD.e.a RX- RX, 3 cXDX,.,Xc [ g s.Z y.wXDX,X,X1XDXD R.Z.ZX1.D.ZXD $ gXw.1.+.h.TXfXp x.9X1X,.W vXn ..+ MX0XC bXL.nXKXl $ gXwX0.> K.j o.Y x.W.M U.w U E xXe.M.ZXD R RX1X5X- RXDX,XDXI.MX5 1XlXIX,X, $X, $.Z xX,.}X, $ 1 : x cXl 'XDXI.Z 1XlXD $XKXK.YXK t.Z 1XDXI.M.D h $ $Xl $ $.' R.MX,X,.MX,X,.ZX, $ $Xl $.Z x hXJ.2X. : :X1X- R.`X- RX-X1 RXD Y.'XJ.-Xc 1._.j b s 2XK ` $ c.H 3 3XIXIXI.0",
-" R.e.u.Z.~X1 D `.DX-X-X- B c.2 :X- $.ZX, aXlX..wX-.ZXD RX. kX.X#.] a.*.a.M 8X, x s.2 gXI $XDXD.`XI ~.8 ~ 3 F.r.k.rXd.bXg.bXg.b.U l.z iX XuXuXuX i./.f i./.I././.I.U q.U./.^Xj.^.o.b.X.o.bXg.o.o.o.o.o.U.oXgXg.cXgXg.c.U.c.U.U.U.cXg.U d. .U l l l l.U.c.c.z.I.U.U.U.c.o.X.bXgXz.b NXgXg NXz N.b N.o.kXjXjXj.kXd.^.kXtXd.k.r.rXkXtXt.kXtXtXtXt.kX*.k.kXt.kXjXtXtX*.kXt.5.kX9XxXxXx N.b.X.b.X.o.b.o.I./. XkXg.#Xg.UXg.cXkXu.t./Xk.bXzXd.^Xj.k.^.kXtXtXtXtXj.^ N.^X XzX ].t ]X@ ,.f.f IXJXJXl nXwXU v H.W.).M <.MXD.M v.M.).W..X4 W.p x x.} 3X- aXIXD.M.M.M.M.}.aXI R R.a.a.a # XcXpXp.s v.s pXi.@.E.Y.M RX1XIX1XI.u )XV.5.2.R :.^XVXt.rXt.r.r.kXd.rXoXdXVXd.k.r.kXtXt.kXt.rXdXt.rXd.kXtXd.k.rXtXt.kXtX*Xj.K N.f I q 5.RX9 ).5X5.5XxX5XdX.Xw H ^X=.@ 2 ^X> H.4Xi >Xe.d U U.a aX-.`.~XI.Z.aXq U x .[ [.T.- [X3 .} h.}X, $ 3XDX1 c c.2 $ `., `.9.,X5Xc ` ` B.aX1Xl : $.aXD.a `XKXcX. yXU.'.D.D.MX-.a.a RX5 3XIXD.HXD.D.wXlXa '.EX0.;.@ E n.- ]Xc.>Xq.xX4.<.. 0 o.q & &.nXw T gXUXm & J OXGXL.w $ x 8.DXeXwXw C U.M RX,XIXDXDXI.Z 3 $.ZXKXDX5XDXJ T., g mX..- nX..,X.XJ $XD.a.}XI c c h.,XJXJX;X.Xc U h T xXD $ U $.MX,X, 1 s $ x.w T $X- $ BXD RX, R.- 1XK 1Xc `XK :X, R R 3X,XI.5XH c RX-X-X-X-X-.uXVX-X- R t UXKXwXhXw <.a.a c 3X-.~X1X1X-.` 3",
-"X- B 5 $ R R D.0 3XDX-X1XD.2 T 3 B $ :Xc.2XH.GXl., TXlXc.aXIXJXH kXc `.wXD R.w.w TXU.ZXD.uX1.8 3 ~ 3.8 ~ ~.rXt.k.k.k.^ NXg.o.c.U l.#XuX X&.fXuX X X X&X .t./X .t.(.t.t.&.tXj ~.r.XXg.b.XXg.o.o.o.o.oXg.z.o.c l.U.U.U.c.U.c.c.U.#. .6 i.I.c l.U l.#Xg.U.U l.#.U.U.UXkXg.oXg.o.bXg.oXg.o NXg.o.X.o.o N.bXjXt.k.kXt NX5.k.kXj.k.IXk N.rXt.k.kXtXt.k.^.r.k.k.kXt.kXtXt.kXt.X.kXt.r.kXt.^ N N.o.b.b.o.b.b.zXg l lXg.U.cXg lXgXg N.z.^.b.^XtXtXt.rXV ~.r.r.r.k.^ NXg NX@ d.| A ] ]X@.A 5 5 ) TXKXUXy oXpXe.) U <.MXeXDXeX, xXD UXe .XiXp.j.FXq 3.}.aXI.aXD 8XDXD.a.MXD.M.M.MX-.a.aXM xXcXwXGXn p %Xb.v.. 0XGXGXq.aX1XI.u c D T ) :.HXI ~XI.r.u.k.r.kXt.uXtX5.k.k.rXV.u.r.HXd ~Xt.k.kXtXjXt.rXd.r e.kXt.kXt.kX*X* N.kXVXt.H.5.5.5 )X* '.u T.5 '.2X0.E 0XbX= 2.@.@ ^.{ pXn u < < t t.a.~ RX1 $ B.uXDXl.iXp.-.Y.- k.g k.9 h hXD $ R RXD $XlXHXJXcXJ YXJ D.- m.9.9XI.a.a c 3 $.a R.a #.Y `XwXOXh !.w RXI.M.MXDXI #XDX1XIXDX1.Z.'.nXG vXG S MX>._ hXKXlX5 sXw z.1X2.x ^.@ &Xm.OX;.ZXD xXPXy &Xm O.=Xn.wXe.w BXD.ZXc.' 1XD RX,XDXK.e 3XI.a RX, h.a 3 x 3 $XcXc k.-.'.9Xw.9.n.wXl $Xl $X5X, < c xXB.9.w.[XG x.a.MXe.-.MX,XD 1XD $Xl.' x 1Xc.- x nXc.-.9 kXc.,XJXHXJXJX,.Z xX,.Z.9X, 3XV `.8 : )XV ).uX-X-X-X-.5.e RX- R R.M.WXs y o o.9XqX3XJ.u.u.H 3XVXV 3",
-"X1 RXK DX5X5 :.]X1XV BX-.5.2.ZX1 R $ $.Z TXw m s T.'XlXlXD R `XKXDX,.9 T.-XU.2.2.2 $X1XDXV.` 3.8.8 ~ ~ 3 ~X*.kXjXtXj.^.o.b.oXk.c l l l l.U.U.#.I.z.I.I.z./.U.zXkXgXxXk l.^ q F.^.o.X.o.b.oXgXg.b.o.oXg.cXgXg.c l.U.c.U.U.U.U.U.U.I.#Xk.U.c.U.c l l.c l.c.U.I.U.U.U.UXk.o.o.XXg.b.bXg.o.b.bXg.o.X.b.X N.kXj.kXtXt.5.^XdXtXtXt./ q q.kXt.kXjXtXt.kXjXjXtXj.kXj.kXjXt.kXtX9Xt.kXtXt.kXt.^.b.X.o.b.b.bXg.c.c.cXg.c.c.c.U lXgXg.o.z NXjXjXjXt.k.r F.8Xt ~Xt.^.X.b.b.o N.^XdXd e.HXt.5.kXV RXI xXL s.NXs.) U t h 1X,.w $Xl.W hXe.sXr.WXnX+.Y x.l.u RXI R R 8.M.M R.a.M.a R.a R.a < h x .YXrXn.sXb p %XiXb 0XnXwXm.Z s.G.2XlX5.uXV.HXI.H.8XVX*.rX*XtX* ~.H.r.u.H.DX5 :Xo.u.`.H ~.HXtXtXtXt eXj ~XjXd e.rXt.k.r.k.5.u.kX5.8.]XJ 5 f T 5 D f.0.%.2.>XCX6Xi LXf ^Xi.sXf p . E U u.Y a tXlXJX5.5XD.Z k RXlXpX< [.[.Y.[ [X7 `.i.a.MX5 x.Z R.aXI xXlX5.a.Z hX, RXD.a.a t 3 R.a RXD R.a 3X, V : nX.XKXK sXD R.a RX,X,Xl.uXDX5XD s.'.nXG y.j.qX0.;.EXq x UX-X1X1XD 1 UXr.{.; S.> &Xw.Z.a aX,.O.O @ & o O 0XnXL $ $X-XD x $.i.Z.9XD hXK :X,.a c a.2XcX5 c $.Z :Xc R $ RXD UXl.ZXe.D.Z.W.a.a.} h x UXc xXn U.w.W.-.M.M.}XK RX,Xq s x.Z x sX..9XcXKXcXJ :.9XlXH '., $.9X,.MX,.MXD x., D mXl c )XIX5 D.u :XIXI )X3.8XDXV.Z.}.D.WXL o O 0 O b.E :.8X-.`.`.`.`X-",
-" R B $ RXIX,.] TX-.ZXV '.2XJ.].]XcXK 8XD.ZXl.'X;.'.D.Z $.'XKX;.9X1 R RX5XU.]XU @ m ! D D DXV.8 ~.r 3.r ~.rX*.k.k.k.k.k.b.XXg.U.U.U.U.U.U.U.U.I.z.U i.f.UX .tXgXkXgXg.X.X NXz.^ N.o NXgXg.b.o.o.c.o.o.#.cXg.c.U.c.U.U.U.c.c.c.U.c.c.c.c.c.U.c.U.U.c.U.U.U.U.#.UXk.cXgXg.o.o.o.o.o.oXg.o.o.o.b.^Xj.k.^.^XjXj.kXtXt NXtXtXd.kXtXk.X NXt.kXt.k.kXtXt.kXj.k.^ N N.k.kXjXjXt.XXt.kXt.kXjXt N.b.b.b.b.b _Xg.cXg.c.U.U.U.cXg lXk.o N.zXjX*.^.k.k.rXd I.H.H.r N N.b.b.b.b.XXdX5 e.0.XXxX9 5 : :.'X0 s.!.jXL.9 x [ 1 h x.ZXeX,.W.w & 0X>X=._ >.j x 1.}.}XDXI t R.M.M R.a $.w x <.}.a.} x 1.Y XrX+ 2.mXb.B {Xb.v J HXmXUXw Y.3 D.0Xa.HX1.5XV 3.8.8 ~.uXV.8.HX1X5.D $ D g D gXJ T.D.8.u.r.^XtXtXtXtXtXj.rXdXtXd.r.k.HXoXo.u.`XIX5 : :.0 :X9 :.0.K.2.>.>X0.h.4.T.4X: w.4 S.4X%._._.WX%.* <X,X;XlX1.e : } xX, 1 k.-.1Xq.YX7 [ `.- c h $.M $XD.a.a.D 3 h R.aX1X,XDXD.a.MXI t.M R 3 3 R.ZXD.aXKXB VXwXcXP $ sX,XD h., ` m.,XDX..w sXG J HXr &X0 H oXpXp U 1 RX1X-XKX,X% % ..h wXC s sXDX, 3X5XG.>Xm & J J H.v v x R.' 1 <.W hX, xX5XDXlX, :.Z : $XH : RXK $X,XwXlX,.Z x x.Z.2 n.Z yXe.W x.W > xXq x._.YXe.[XpXqX+XH.Y.Y.[Xw.M $ xXl.9 $ x.w $ t.M.Z.MXDXDX,X- R $XD $X, R h $ $ xXlXJXJ.] cX3.H :XVXX.uXIXV 1 ) 5.r.`X1.e.~.M.a tXs O 2 / / 0.Y s.8.8.`X-.`.8.`",
-" R B.eX1.e.DXKXl B B B T D TXU ( TXP TXP TXyXKXyXy.OXyXy.OX; @.Z t RX1 B $ $.'.2X,XD.HX5 ).`.HXV ~.8.8 ~XtX*XjX*XjXjXj.b.o.oXk.c.c.U.U.U.U.U. .U l.6Xu./X .f.UXk.bXg.o.o.o.X.b.X.o.bXgXg.o.oXgXgXg.b.#.U.U.c.U.U.U.U.U.U.U.U.U.U.U.U.c.U.U.U.U.c.c.c.U.U.U. .cXgXgXg.o.b.o.oXg.o.X.b.X.bXg.X.o.bXtXt.kXj.k.kXtXtXk.r.kXtXtXj.k.^XtXt.k.r.rXj.^ NXz N.^ N.b N.^Xj.k.^.kXxXtXt.kXtXtXt.^.b.b.o.b.oXg.c.c.V.c.cXg.c.U.c.o.o N.oXkXt.^.^ N NX9.k F.8.`.HXo N.b.X.o.b N NXtXdXx P 4.fXlX.XwXH.n =.j.WXy v YXlXKXsXa x.Z x.j.j.@ 0.sXb pXGX7 1 1 3XD.a.aXDXDXDXDX, x 1 sXJXc., `.YXc.[., n >Xr.<XiXbXbXi { ^ H y v.w s s.n '.] ( '.8 ] D :X9X9 : q qX9 :Xx.]XOXU.2.'.w '.nXKXPXIX1XV.`.HXdXt.rXtXt.kXt.rXd.rXdXoXV.8 (X9.0Xo $.5.u.5 TXM.5XX.2.3 = =.TX: S SX8X0 r r.T SX4._._.pXeXe x $ h R.a $.u.u a.a C.Y .[.,XBXc.}XD $.,X,X, RXD xX.XJX-X-XD aX,XDX..a.a.aXDXI.aXH.9XKX-.} 1 :XcX..> n.'XlXGXc :.-XJ : #.Z x s o.j.>XZ.;X0 HX0 & yX+XwX+Xc.0.] 5 h.- p %.s.@.>Xm.0 xX1.a RXD.9 9Xm.q o w.@.EXn oX+ n.j.- y nXH s R c.uXD cXM 3 $XDXDXDXD.Z.,XK $.wXlX,X, 1.9Xe.pXp.pX4.pXr MX: WXn.< >X4 WXp xXw x.w xXc.9.a x xX5 x $X,Xl $X, $.ZX,.Z x $ c 3 $ : h $Xw., mX.XH :.Z 3 R.u `X5.`XIX-XIX-X- RXx.`X-.`X- R RX-.} U C.s.WX=XiXGXK.8.`.`.`.`.~.`",
-"X1X,XD.DXD '.]XDXD.uXl T.]XD m.2XyX; !X.XyXy.2XUXU '.'Xa gXm g.nX5.D.ZX,.n.wXc ' R.HX1.KXV.8 ~.8XV ~ 3.rX*.k.kXj.k.kXj N.XXg.U.U.U.U.U.c.c.c.6.I i./.U.6.I.#Xu.z.I. .oXkXg.c.o.oXk.c.b.cXg.o.cXgXg.U.6Xk.U.#.U.U.U.c.U.U.c.U.U.c.c.UXg.U.c.U.U.U.U.c.c.c.U.IXgXg.o.o.o.o.o.X.o.o.oXg.o.o.b.b.X.bXj.kXjXtXjXjX*.^.X.r.rXt.kXtXj.kXtXtXj.kXjXtXj.X.X.b.X.b.X.o N.^.X.o N.z.^XjXdXt eXj.^.b.oXgXg.c.c.c.c.U.U.c.cXu. .fXu././X@./ qX9.& 5XX q.R q )Xx.^.b.X.b N.o N.X.kXdXV ( (X@X3.|XlXU.j.q.9 n vXK T.'XU s x s.n y.Y.+.EXnX>Xn.@X+.jXcXp $ h.aXD R.aXD.a RXDXD.D xXD.9 # < $ h x x.[XM.YXr.< {Xb.PXf wX> &.E s.w '.n.nXa 'XU.5XJ D 5 ).] I.$XX (.2 D D 4Xl g.!XK.> yXOXwXy !.n.nX5X1XV.kXVX*XtXt.kXtXd.r ~.r 5.]XJ D.5 m ]XJ.%X3 I.,Xc 4 K !.pXf % {Xf w.x.x.xX>.pXr >Xn EXe.) E E.M < R a.uX-X1X-.a aX,Xp X7.S V h.}X-.OX, hX,XDXlXHXKXlXD RXD a : Y.'.a.M RXDX-XJXc D a.MX,Xc 1.,X#.O @X;XwXU 1 3.a R B R.wXLXmX0 M.;XhXr &.T.O nXrXHXK g m D 5 h u EXiX6Xm & '.' sXDXI.a.M s.'.!X0 =.+ =XnXeX0.j yX>X>XGX0.9 1.Z.ZX,XIX1.a.aXDXDXD RX,XD.aX1X,.a.ZX,X,.w x._Xp.FXe.FXn...JX4.<.<.JX4 >.d >.MXGXpXD.W.-.9XK x :.9.9.9X5.w xX,XcX, xXIX5 $X1 $ 1X1XD.aXJ.- x.9X, R.aX1XD.8 c.8X-.8XI R.aX-X-.5.u.k.~XI a a.a a.a t.M.W.).s v T.H.~.`.`.`.`.`",
-".w.n $.wXl s $.w.n.w '.0.2 KXy Y.O.> ! g mXU g mXOXUXO g.wXLXPXU !X;XJ ! 1.0.2 $X1XDX1XV.H.HXV ~.8 ~XV.rX*X*.k.^Xj.^Xj.^.bX9.cXk.U.c.U.U.U.U.6.IXuXu.I iXu.U.(.6.U. .bXu.6Xk.o.b i.zXg.6 iXg. .6.cXuXu.U.U i.U.# i.c.6. .U.#.c. . .c.6.U.#. .U.#.c.#.# l.U. Xg.bXg.o.o.X.oXg.o.b.b.b.b.oXg.XXzXdXdXdXt.kX*Xj.kX9.$.k.kXtXt.k.rXjXtXtXtXjXjXjXj.X.o.X.o.b.X.b.o.X N.o.X.z NXj.kXjXj.k.b.XXgXk.c lXg.c.c.c.U.c.#.AX X&./.f.f f }.A ).f I./.A 5X ././Xx N.X.b.b.b.^Xj.r.rXdXdXV.rX* 3XD s sXLXs.*.M R 8XDX-Xl.w.M._XGXLXn._ &.p.[.[X7.[ X, $.aXD.M.a.M.}.M R R R RXD.a RX, < R t.a h.lXqXpX2..XA.@ H.E O H.'XP.W R 8Xs.w 'XcX5XIX1.H R.8X9.K.8.HX-.HX5XU $XO.w y.'XPXK ! !XU g gXO.'.D.Z.uXV $XV.u.r.kXt.r 3.k 3.KXDXIX1X1XI.` 3.}XI $Xw 1.9 zX> %.4 r S.; M.xX4X:Xr WXrXrX2.F._XeXe E t a RXV 3 3XI a.a 1 x k.[ `XBXX : h.S 3XDX,XD 1XJXcXIXl.a R.~ `X,.-.aX, a RXIXJ a $ R R.a ` 1 :Xh.3XZ ! sXl 8.DX1X1X1.M.w v H.E.E ^ o.@XnXLXe.M.'.w E RX- 3 R R.d.s ..@ &.! b.nXsXK R.MX1.ZXeXP y & o = M.@ O..XnXi vXn v.OXL.jX1 $X1 hXIX- t R R R.9X,Xc x.9XJXJ.wX,X,X, x xXq.W...@ M.; S.C SX2X2X8.{.J.p.M.- U.wXhXwXK xXc.' k.'XHXK.%.-Xc k.%XcXH ) KX,XVXDXI BX5X,.a.M.aXDXIX-.H : : c R R.~X- RXDX-XV.uXM 3XD.~X- aX-X,X,.a.WXe.) v T.H.`.`.`.`.8XV",
-".'XKXU.0 T g 1 'Xl.0 g ! D gXU.0Xy.]X1XI.nXl.' $ 8XDXc T T.'XP.> @XwXOXUXyXU m s.DXI.Z.K.` 3.H.8XV.H.H.rXj N N.X.X.X.b.bXgXg.c.U.U.c.U.U.U.#.#.#.c. .cXu.U.U.#.#.U.#Xz.U.U.o.c.c./.I.c i. .c. Xu.UXuXu.#.I i.U.6X&.c iXu. .U.UX& i.UXu. . Xu.c i.U iXu.U.U.I.UXg.oXg.o.o.o.b.X.o.^Xj.^Xz.X.oXz.k eXt.kXjXj.k.^X9.A qXtXt.kXt.kXtXt.k.rXt.k.^ N.o.b.b.X.o.o.b.b.b.b.XXgXg.bXtXjXj.^ N.o.oXg.UXg.c.c.cXk.c.c.cXg.zXgXkX9.&XxXX )X9X9X9 ).X qXx NX9Xk.b.b.X.b.X.^Xt.k.k.kXdXt.k.k 3.uXDXGXLXmXe nX,XDXDX,XlXMX, U nXn ..EXr.g >XM .9 x xXDX,.M.a.a.a R R RX1 RX1 R.a R.a.e R.a.a.a < #.lX4XrX6X6 S o v vXL.w.9 xX5.w R 8Xs T g RXI 8XV.H.`.H.H.H.HX1X5 m.w TXs B RXsX,Xa s sXLXG.>.9 ' s.w x $ 3.H.5.8 #.8XVXJXHXJXlXUXl $ BX,.~.a.M.ZXO g.EXn.. w.{.TX:.y z WX4.1 z z M.y.TXrX4XA EXe U < < aX1X1 3 c.}.Y `.g.[.[X3XMXMXX ` # h.MXI 3X1XIX,X,XV aX, R R.aXDXD.MX1XI xXlX-.a R a.Z xXMXcXwX. y.n.wXI.DX1X- BX,.wXGX0X>.@.sXpXe t.M.M.M 1X,.ZXD R.Z R.M p.s 0 &XC.nXa.D 8Xc.aXl h T gXlXU x s & K.+X> S H M M yX0.+.OX; s x xXK.9 xXl x n 1XHXwXcX..SX.X. TXHXD hXD.WX,Xe.wXe w z.y.;X8.4X8 WX8 WXnXL xXL 1Xw.9X;XH m.3 n.%XhX.XH mXKXK `Xl Y T 3.~ R.u $X, aX,.MXDXl B RXD.Z #X5.K.~.`.a R.e RX-Xl 5 I., c.9.'XK.9 : kXlXh & &.+ m c.`X1.`X-X1.k",
-" @X. KX;X.XO g gXOX.XOXwXO.2XOX$.GX. ' cXV 3XVXV.uXV.Z.'X. gXK !Xw !.O g !.O.OXKXwXc.%X.XJXJ I.u.8 ~.8 ~.r.^.bX9.o.X.b.b.o.b.o.c.U.c.U.U.U.#.U.U.#.c.U.c.U.c.#.c.U.U.c.o.o.o.b.b.o.o.bXg.o.b.U.U.c. .#.U.U.#.c.#.I.U. .#.U.c.U.6.#.U.6. .UXu.U.6.U i i.U.I.#Xk.o.o.b.o.b.o.X.o.b.b.^.k.^.^.^XjXjXdXdXj.kXj.kXj N q NXjX*Xj.kXtXtXtXjXj N.o.X.b.X.b.o.o.X.o.b.b.b.o.oXgXx.b.^Xj.^.b.b.X.bXg l.cXk.cXk.c.cXk l.cXxXg.X N.&.$ I.% I kXJ 5 |.RXx N.b.b.X.o.X.b NXdXtXt.rXtXt.kXt.r.` c $.YXmXwXGX, h.}.Z xXq $Xr v o 0 0.jXrXB ` 1 1 x c U R.a.M.a.a.}.MX- t R R RX1.u.aXD R.a RX-X-.a.a # .x.@ ^ & b.sXL.* RXD c # ' xXa.Z.n g.'.kXd.HX1.H.H F.H.H.H 8 D.0.nX, t B R.*.M.Z.W.nXm @Xm oXK y 1XUXUXc m T.9 :.>.1 s.9XL.Y sXK.'.ZXeXLXGXPXU.q.> JXiXiXb ^.;.;X>.x < v.p.YX+.<.x.x.{.p.J E EXe a.a a.`X-X- cXB.l k., k.[ k V X3 ` 1 $X,.M hXDX1 3XlXlX-.aXDXD a.a.MX, BX.XK :X,Xl $ 1XX., |.,X;XKXL.D 8.DX1XD.Z.w s b.; o HX2XpXr xXe 1XJXJ.9.]X- cX- R u.).@ w &XP s s 8XD.-XK kX.X..%XwXPXU.> @XhXh.1.1 nXrX%.+.j n.jXw o.'.1XwXwXw.9 `XHXwXl xXlX, $ sX,X,X5X5X,.ZX, $ y n oXh.+ =X0.+ M w ^ ^X> v.YXe.9X,Xw.[.' 1.' hX5 $ m.9 xX..a R B 3XlX5 RX1XI RXIX, $XDXD RXDXDX, c.H.u.u.uX-XI a.eXD.} RXlX3 `XJ.9XHXc.9 :.5 ` ` yXm O.q ! c.~.`.`.`.`.K",
-"XwXy K g 8 8.D 1.]X, g.]XO.0 TX;XJX.XlX-XIXI.8XI 3XIXIXD 5Xw D.D.nXK.0.'.9 g n $ 1 :.] )XK ) q.KX5.k.k.k NX9XkXgXgXk.cXgXgXg.c.U.U.U.#.c.c.6.U.U.c.#.c.U.c.U.c.UXg.U.o.oXg.oXg.oXg.oXg.oXg.U.U.U.U. .I.c.c.#.U.c.c.U.c.c.U.#Xk.c.U.U.U.c.U.c.#.c.c.U.U.U./.cXg.oXg.o.o.o.X.o.b.b.X.oXg.X.b.^XdXj.kXtXjXtXj.k.k N.o.kXt.kXt.kXt.kXj.kXt.X N.b N.o.o.b.b.o.X.o.b.o.b.XXg.o.o.^Xj.b.X.o.b.bXgXk.c.UXk.c.cXk.cXkXgXkXg NXxXxXx.$ ) ) ).$ I q.IX9XgX9.b N.^.^Xj.k.rXdXt.^XoXoXt NXxXXXJ.%.j.EXG 8 U.aXe.i x.Y uXnXnXn 0.EXp.-XBXMX,.}.a.a < R.aXD.a <X- <.a.a R R B R.e.ZX1.*.a.aX-.a.aX-.a.lXM.pXp ^ HXmXL.w 8 aX- a.a.a $.w '.9XKXU g g.2 TX5.HX1.H.HX1X1 D.'.wXa B R.e.a R.*XD.w.q.OX0X0.E.>.E y nXyXwXUX0X; y.OXG g v b.' &Xm s s s v H.q &.q.@ %X6.PXi.@X2XrXp E.*.Z.d vXnXn.<Xf.<.p.J._ U h.M tX-.aX-.M 1 xXq.[.S.,XX.,X3., `X3 1.a.aXDXDX,XDX1X1Xl a R.a.M R.aXl : `XcX.., xXc.-.3XHXH k.j.9.!.'.'.nX5 :Xl s s ^.; S M M M =.-Xw.[XK TX.., #Xl 3XDXn.xXf H.q 9 s.ZXD.a R RXI $.K.0 D.!X;Xy.G.GXZXw n.[.Y.[X<.1 n.j.j.Y.T.jXmXpXwXwXc 1.,X. 1 $ s xXc.wXl s x T 1.Y = n =.OX0X0.>X0 M = M.; 0 0.jXq yXnXe C.Z.W $.ZXI.Z.ZXD.Z $.u 1 x `Xl #XDXI R RXDX, c.0 1X1.aX,X, $XV 3 : :X9.Z.uX- R R R.a 3 a.a <.a R tX-X- RX- R tXa.= o.'.u.`.`X-.8.~.`",
-"XJ.0XKXJ DX- RX1XIXI R D.2.2XUX. (XV.2 ( 3.HX1.H.HXI.`XI 3.H.aXI RXP.n.wXa.'XK RXIXD cXI.8.H.8 ~.r ~.r ~.XXgXk.oXkXgXgXkXk.U.U.z. . . . .6 iXuXuXuXu.t. .6. .6.I.#.#.UXk.cXk.c.U.cXgXg.cXk.U.U.U.U. .U.U.U.U.c.c.c.U.c.c.c.c.U.c.c.c.c.c.c.U.c.U.UXk.U.c./.cXg.oXg.o.bXg.o N.X.k.^.^.^ N NXo.^Xt.k.k.kXj.k.k.rX9Xd.k.kXjXtXjXjXjXjXj.^.b.o.X.o.o.X.o.o.X.b.b.X.o.b.b l.o.X.b.X.b.b.b.X.bXg l.U.c l.cXg.UXg.UXkXg.o.X.b.X.b.XXx.X.^Xg.X.b N.X.b N.X.^.rX*XtXt.uX*.r.|.f.$ I.f VX9 k xXL.s.s.iXeX, xXp.YXe v v v ^.EXwXr.[ xX3.}X-.a < R <.a.a R R <X-.M.}.Z 1Xl R.9X5XDX, t t R.aX- <.a #XqX+.@Xn.q o x.w R R a RX- B.a 8 'Xw.> s.'.n s.0 g gX5 8XD.D.DXO.'.w.9.w RX1X- a R 8XL bXP J.s.s *XsXs.W.W.W.WXa O /Xa.N $.'XK v.ZXGXp JXm J y & M H.4 M.4 r S S.+.TX<.Y aXDX,.M.M pXqXp.J.x.p ..m E U.} t.e t U h E .gXH.S.3., | }X.XJ.- k $X,.aX,XI 3X,.5.Z 3X, h hXDXDX,.Z.u x x 3 c c.,.- mX;Xw.j.!.'.0.! 1 o y.E.j &X0.;X> JXe U h R.a R 8 $.~XV.rX- aXpX=X6 HXG.n.w R B R R.a RX,X-X1XDXI.D TXU.>Xh k.[.,.[XB [.,.g n.9.Y & &.T = o.- y k.9.,., x R 8Xs.MX,.W.w.wXG.j =X> &XC =.q.> o HX0 & &.E J JX0XGXG y.M U.ZX,Xl 3.ZX,XD.ZX, : TX5XDXD RXDXD R.a.ZX,XwXDX.XcXK T.GXJXwXJ mXw.3.,., R R R a BX,XI.a.}.a.aXDX1X- 3.a < C.v 2 b :.8X1X-.`.`X-.`",
-"X,.uX1 I D.5XI.`X1.~XIXV : c D.` 4X5 B q.2.8 ).u.8 3.8.`XI.8X-X1XlX..'.!.9 yXwX,.Z.u.u.H.8.8XV.8.8.8.r.^.b N.o.o.X.b.o.b.o.X.o.o.c.cXk.c.#.I.6.6Xu i i.#.U.U.U.U.I.U.U.c.cXg.c lXk.U.U.I.I. .I. .6 d. . . .6.6. . . ./. . .I. . . .I. .I. .I. .I.I.U.I.# i.z.UXkXg.cXgXgXxXgXg.^.k.k.k.^.k.^.kXtXt.^.rXt.rXtXj NXjXtXtXj.^.b NXj.k.^.^ N.b.b N.b.b.X.b.b.b.b.b.b.b.X l.X.o.b.o.b.X.b.o.bXg.c lXg.U.c.c.UXg lXgXg.b.b.b.X.X lXg.b.X.b.o.X.b.b.b.X.r.k.k.r.8.8XtXdXVX@.2 qX3.5 c cXI UXG vXn.).W h._._.YXp.s.W J.j.>X+ ` XM h h.a.a R a R.aXD < R.M t.a $Xl 1 x $Xl TXK `XcXJ.M <.a aX-.i x.Y.p o H 9XL.Z t RX-X- R R R R a.D.' TXwXKXU s.'.' T gXD.D gXK.D x.D.w B.eX- a tXDXL bXC 0 /.) C u 8 8.).N.).= /.NXe 8 R.jXU.> H H & 0 o.E J wX0 S S.CX>Xf H.; MX0 [.iX1.ZX5X,.M U._Xn.p.<.x W.< . .._Xe hXe._XnX+ zXS.3X#.,.] 6XH.3 K.S [X,XD c $XJ.].K : :.aXl.}X,.}XIXI.a.a.a.a 3.aX-XK :.- n y o.EXm 9 H.j M.;X0 H w J.4XfXG._ hXD.a.M.a.M sX-Xt #.uXe._.vX6 H 9 xXD 8 R a R BXD 3 R RX,.*XD.w.9XwX; k.-.[ kX<X#.g.- [.1XrXGX+.E = M n s y n 1 y x.MXLXeXG o y.j &.T z H.@.q.>X0XmXw.j y.q.q.; H w =XhX0XGXp v.* $ hXl c ` R.Z $X,X3XI.}XD 3X, U $ UX,X,XD.9XcXJXJ.,.9XK :Xw xXlX,X,X,X- RX,.aXc.9.5XD.a h.a $ :X5X5XJ $.j.W.) 0 b $.`.`.`.`.` R.`",
-"XIX-.8 R ) m.5XIXI.`XIXIX-X1.u R.u.8.HXI.` )X5.$.`.`.H.`X-.`XI.~ DXyX;XU !.GX;XK D ).%.`XV.H ~ ~ 3Xt.r N.X.o.X.o.X.oX9.o.o N.oXgXk.U.c.c.I.U.U.U.U.U.#.U.c.U.U.#.U.UXkXg.o.oXgXg.o.oXg.U.UXk.cXk.U.#.cXk.U.c.c.U.U.U.U.c.U.U.U.c.U.U.U.U.U.U.U.U.#.U.I.I.6.UXkXg.U.UXk.UXk.UXk N.o.X.X.XX9.X.XXx NX@XxXkXxXx.X q.XXgXgXk.U q.z.U.z.U.z.z.z.z.z.zXk.UXk.UXkXk.cXkXkXg.IXkXgXxXgXg l.cXg.c.U.z.I.#.z.U.#.z.#.U.z lXgXgXgXg.b lXx.o.o.XXgXgXx.X.XXdXoXdXdXt.H.rX*XtXV.kXV.H c.kXV.H.DX, o.s.).N.W.= MXpXG.s.sXn.jXcXB XMXM #.} 3.a a.aX-.a RXD R.a.e.a.a R.M $ $ R xX,X5 hXD xX,.a.M.a.}XM x.-.;.jXC bXaX,.a R R R R RX-XD.M.aXD.W.w 'XK g.'XU.' gXOXU.] gXl.wXD RXDXIXD 3.a.n s.!.q 0.s...)Xs.ZXa hXLXeXL 2Xa.nX,.wXK =.O.>.> H H.; &.;X8 zX0 wXfX6 ^.4.;.pX+.Y CXDXIXD.a.M.M.M.dXnXG >X+.x >XA E EXe p p._.@Xr.1XZ T V 3X5XVX3XJ.3.-X,XM.G.a m.,.% T.] T.% :XcX-XI.aX1XI R BX,XD aXM : `.[XmX+.4 &.;.4.@Xf.J.@.@ 0X6.@Xn..Xe.Z.ZXIXDXDXD.Z.aXlXM.aXL.sXi HXCXL.>.> cX,.ZXJ.a :.ZX-XDXI R 8.D sXKXH.-XK.-.SX#XH.-.gXr n [Xh M.T.1.j.+.>.E yXw.YXG o JXnXC W.j z.+.;Xp J H & &.j.jXG gXe J.jX0X0.>.+ H.T n M =Xs.9 $ # D.]Xl.Z.Z.ZXKXDXD.Z $ h.wX,XD.MX,.aXDXD.ZX1X-XDXI xX5 t.a R.MXD $.*X. :Xw :.,X..- |.9X. T.2XJX.XK n.).= b vXVX1.`.`.`.~.`.`",
-"X-.`X-.8XI V )X3.u.` R.`.`XI.u.`.8 3 ~XV.u.K.$.$ ) :.8X1X1.8XIX-XVXUXOXKXmXPX. : :X3 D.uXV.8.8 ~XtX*Xj N.b.UXg.bXg.b.oX9.oXg.bXg.U.c.U.U. .U.U.U.c.c.U.U.U.U.c.U.c.U.U.o.b.b.o.o.c l.U.U.U.U.U.U.I.#.c.U.UXk.U.U.cXk.U.U.c.U.c.U.c.c.c.c.c.c.U.U.U.c.U.U.I.cXg.o.b.o.o.X.b.bXz.kXtXt.kXtXtXtXtXt.k NXkX9.rXjXtXz.k N.X.X N.b.XXg.o.X.o.X.o.X.o.XXgXgX9Xg.oX9Xg.oXgXg qXgXgXgXgXgXkXgXgXk.#.z.#.z.#.U.Q.Q.Q.z.Q.QXxXg.z lXx.Q l.zXk.zXgXk.X.z.X.^Xo.^Xo.5XoXo.5.5 N.K.k.K.5XoX5X5X5 $.Y.s v ^ oXp.E y H.Y.E n [.[XB.,.l.l 3X, cXlXDX,X,XD 3 hXDX,X,.MXD h hXDXDXDX,XD 3X,X,XDXDXDX, 3.}XX .- MXw yXL.wXDXD.a 3XD.aXI 3XD cXD.aXD.MXD.M $XlXPX5.n.0.0.w.' $.a tXD RX-.a.aX-X,XL s.q OX=.) u t.M 8.M t.w t t x hXcXcXwXOXL v o o 0.v.).s v.; wXiXi {XfX2 ^X+XGXG C R RX1X-X- R a.*.a._.FXn.<.pX4XA.m.m.m.m...jX+ M.O :X5XlX-XI c x.-XJ.lX,XMXKXJXJ mXc., cX..]XKX,.a RXDXD 8 R.*X-X- c `Xr WXp 0X6 ^.BX:.{ % M.. v.;X2 vXr vXcXcX,.,Xw.MXc.[.}.1X+X>X= 0 w.E.WX; 1XHXHXlXJ mXJXl I.eXIXD.aXD.n 1.>Xw n [Xw.1 n.-XwXH [ n WXHXS MXnX> &X0.+Xw.E J ^.@ ^.y zX%X%.j.4 0 0 H H b s y.w oXG =XG.>Xp H.T nX<.1Xh.jXh n.,.% `X..2XUXlX,XcX1 hX1 hXDXD hXD R.MX,.} c RX,X, R.M.ZXD.aXD R RXDX, RX-.e : RX5 : 3XcXlX,X, 8XI h.a.E.w.s.s.!XD.`.`.`.`.`.`.`",
-".8.8.aX-.8.~ 5Xl }XI RXI.`.u.8 3 ~.8.r.rX*X*.`.5X9 qXV.`.H R.`X1 8 T.0.n x gXw m.aX5X*.H.`.8.k.rX*Xt N.bXgXkXg.b.b.b.X.oX9.b.o.oXg.c.UXk.6.U.U.U.#.U.c.U.c.U.c.U.c.U.c.c.oXg.cXg.U l.U.U.U.U.c.U./.U.U.U.U.c.c.U.U.c.U.cXk.c.U.c.c.U.U.U.U.c.U.UXk.U.U.I.UXg.o.X.o.X.o.o.X N.^XjXj.kXj.k.kXj.kXt.kXtXkXxXj.k.^Xx.b.X.o.X.o.o.b.X.b.o.X.o.X.o.oXg.X.o.o.oX9.o.bX9.o N l.b.X.b.o.b.b.bXg.cXk.c.c l l.U l l l lXx.z.bXz.XXo _.z.XXz.^.b N.o.X.^XtXd.rXdX*Xt.rX*.k ~ 3.8.8XI.H.H.` FX1.nXa.N.s...s oXrXrX0Xr n.[.9XM # a a aX-XD s.~X- a a a 3.* a aX- R a a R < a.e.a a a.a.e t R a.a a h.lXl.Y.jXm.D.W.*X- a a.~X-.~ R aXI.e t R t R R.* t R.D.wX5 $ $ $ R.e.MX5 RX-X- aX-.aXaXLXm o.s.).d C t R aXKXqX, n `Xc k :.9.'Xa 2 J J.s 2X=X=XiX8X> w.P ^.4.<XpXqXnXs R tX-X,X-.~X-X-X- a RXeXpX4.<.{.{.< >.J.<.@.; H = K g kX5XX ` I V 6 V .u h c 3 RXIX-XD :XIXDX5.H $ cX,XD 8XD RXDX-.} hXXXBX<.x ....sXb.y S p.+Xr.MXh.j <XwXl T !X1XlXl t nXZXeXr.{.;.B b.q 9.w gXUXDXc $ xX5XlX, Y mXI 3 BX1.n.wXU.>Xw !XH n.,.-.gXZ [.-.,.[ [Xh.1X0 o zXC &X>XG.@ ^ ^ SX:X:.y >.x & H =.q.q.9 v.Z.9XG.'XG bX0 n = W [Xh MXw.j.9XKXDXD $X..e $X5 1X1X, RXDX,X,X,XD.MX,.Z $ RX,X-.a.aX,XlXDXI R.a RX-X,.a aXD aX-XD R RXD.a RX1 R BX, U.M p.s.W.jXD.`.`.`.`.r.8.`",
-".a.`.8.`.8.8.~.$X9 I.k.` 3X*.}.r 3 ~X*X* ~.kX*.8.u I.$ :.~X1XI RX1.].'.w.n.j @XJ m q T q D.X |XxX9.k.X NXgXg.b.o.o.X.o.bXgXg.o.o.U.U.U.#.I.c.U.U.U.c.c.U.c.#.U.U.U.U.c.cXg.c.U.U.U.U.U.U.U.c.U.c. .U.U.U.U.U.UXk.c.U.U.U.U.U.U.U.U.c.c.c.c.c.c.c.U.U.c.IXkXgXgXg.o.o.X.b.o NXjXj.kXj.kXjXt.kXj.k.r.kXdXt.^Xt.^XkX9.b N.o.b.X.o.b.X.b.o.b.b.oX9.b.X.b.X.b.b.b.X.b.b.o l.X.o.b.X.b.b.oXgXk.cXk.c.c.oXg l lXg lXgXg.o.X.XXz.XXg.X.b.X.X.^.^.XXtXtXtXtXt.u.rXtX*.r.r.` F 3.8.8.8.HXV.H.0Xs.s vXnX>X0Xw.-XcXK Xl.lXMXX h.a.a.aX- R 8 RXI a R R $ aX-X- tX- t t RX- R R aX-.a a < R B tX- a.a #.i.9.j yXL.Z <X-X-X-X- RX-X-XD 3 RX-X- a <.e R R R RX-XDXD BXD t B h $ RX-X- a R t.DXL b.E...N.).M 8 R.e.3 $ |XM # cX- a.wXa 2 b v J 2X= 2 0X> wX8.;X8X>.<X4 v.M t a a RXI.~X-.`.~.~X- a.MXeXqX4.<.<.<.p.{.<X>.4X> & &.9.D cXl.u VX* #.,XX.l.a.a #XIXDXDXI BX1XIX-XIXIXIX, $X,XDXD.eX1XDXD x.F.pX< WX4..XbX:XF vXe y.M.-XK 1 1 s.wX5 RX,X,XD.-Xn .Xi.B.B 0XCXC v.nXD.e t.e.* a RX- R VX. cX-.ZX1XDXl s.9Xm.jXw.>XH n.,XHXH.[ [XZ.T.O.L.T = &Xh.+ y.+ = MX:.L.T.y.T.j.;.+.+.>XC.jXG.wXwXD.W.9 sXG 9.Y =.-XB n.1Xw v.wXK $XDXD `X,.aXK.aXIX,X, t.Z xX, <XD hXD aXD RXDXDX,X,X-X, aXDX-XDXDX, R.aX-X-X1XDXI aXI a B 8X1 R.a hXe.)Xn.j yX1.`.`.`.`.5.8.`",
-"XV.8.8 3.8XV.8X1 : I D.$.8.5.8.8.8.rX*Xt.k.rX*.KXt.` ).,.RXVX1X1 B @.]Xa.n.nX.Xc.K c D.$.5 ).$.fXk.^.X.bXgXg.b.o.o.X.bX9.b.o.b.o.cXk.U.#.#.U.U.U.U.U.c.U.c.U.c.U.c.U.c.c.U.U.U.U.U.U.U.U.U.U.U.U. .U.U.U.U.U.U.U.c.U.c.c.c.U.c.c.c.c.U.c.U.U.U.U.c.UXg.zXg.o.o.oXg.oXg.X.o NXj.k.kXj.kXtXj.k.kXt.k.kXt.kXt.^XkXg N.o.b.X.o.b.b.o.X.o.X.o.X.o.o.bXg.b.o.X.X.b.o NXg.bXk.b.b.b.o.b.bXg.c.c.c.c.c.c./. d d.f d.& AXx A A.z.R AX@X@ AXkXtX*.rXt.^.u.rXdX*.k.kXVX*X9.r 3.8XIX* ~X1X1.w.'.sXn.@X+Xr.p.9 1 x 1 h h a aX- a R.aX- R.aX-.~.a c.e a RX- a RX- t a R RX- a.a a R a t BX- aX- 3 #.F.- gXL.Z tX- tX-X- B R RXV.~X- a RX- aX- RX-X-X-X- R.e RXDXD R a RX- RX- a.a a 8.n bXC O.).d C.* a R.a.' R.a.aX- 3.aX1.wXD.=.sXG.s J.).= 0 ^.4X>.{X>X4.FXq u t a RX- aX,.~X-X-.~.`.~X1 a.* EXnX4Xn.F .X4 >.@XpXp.EXwXUXD RX1.KX9 3.8 VXXXXXX # $.a.} a a 3.aX-XI.8XDXIXD 3X, RXVXDX1X-X, h 1.F.[.g M nXn.)Xe.* t BX,.a h.a h.D.D RX1.M.MXqXeXn .X> LXi J SXC.! $X1.a aXK `.ZXK c $XIXl.aX- RX,.Z.Z g = !.' oXw n =X.Xw [ k.[ K kXhXSXZXhXH.>Xh =Xh.+ M =XZ.T.jXrX+.; M =.; y y.w $X, $.' sXG.!.j.>.SXH.Y k.1 n y.- x : R.Z.9XIXDX. $XD.w $X, $ x.9 $XK.a.aXD.a.a 3.e 3XD RX,.}XDX-XDX,XDX-.a a.a RXVXI R.a.,XDX1X, $Xc.M.jXn J JXKX,.`.~.8X*.K.8.`",
-".8.8XV.8.8XI.8.H.8.H.$.AXXXV.8.8.rXtXtX*X*.k.r.rX*X*.8XV.K I 3XIX1 mXU.O.' sX..uX5.`XI.8.8XV.rX*.k.^.oXg.b.oXg.b.o.o.bXgXg.oXgXg.U.U.U.I.#.U.c.c.U.c.c.VXg.c.U.U.U.U.U.U.U.U.c.U.U.c.U.c.U.c.U.U. .U.U.c.U.U.U.c.c.U.U.U.U.c.U.c.U.U.U.c.U.c.cXk.c.UXg.U.o.b.o.o.o.o.o.b.o.X.^.k.kXjXj.k.kXj.kXj.r.^Xt.kXt NXk.oX9.b.X.o.b.o.b.b.o.o.o.X.b.oX9.b.o.b.b.o.b.o.b.b.X.o.z.b.b.b.o.b.o.c.UXk.c.cXk.c d.6X .t.t.&.&.RXx.&.&.R.t Q.& A.fXx ~Xx ~Xt.u.r.u.kX*.r.u.rXt.5.8.u 3XI.aX-X,Xl.n s.. 0X> WX+ ` ` x $ h $Xl a hXI.aX- RX-X1X1X- RXV aX,X,X-X- a RX- a R R RX-.e.a aX- < R R R R.~X- <.a # 1Xc.j.nXa RX- aX-X-X-X- R 3 a R R a R.* R R aX-X-X-X-.aX-.a R R a B BX- a tX-X- 8XL.nXm vX=.M.N B RX-X- BX1 aX- RXDX- R $ s.N o.s J.v / o 0 yX>.@X4Xp.F.d t R.aX-X- a 3X-X-.`.~X-X- a B < t.MXeXnXn.FXnXp.FXnXpXp y y y RXI.`XXX*.8., V `X3 ` ` h.aX,.}.aX-XIX-.}XDXD #XD c R R.DXDX-.D a c.F 1XBXB.-XpXG p.M v RXIXV :X, $ h.Z.a B a $Xe.s.. w S w H.;X0 =XyX.XcX.XD.9XlXJ TXcXcX-XIX,.eXIXD R.2 g.9.w s.9.nXKXU.>X;.1X..O.S.1 |XHX#XhXw k.1 n.O.+.+ =.T.T.1.+ M z.O.hXh.>Xh x.9 $ s x sXm ! = =.S.SX7X7 n =.j o ' 1.a.Z `.Z $.,XUXcXJXKX. g kX.XwXH x.OXIX, cXI hXD.a.aXDXDXI.a 3XD.a R a R a R B c aX1X. #XJ TX3 m.j M M =XZ.>X5.`.8.uXxXV.8.`",
-".8 ~.8.8 ~.H.HXI.H.u.`X9.KX*.rXVX*XtX*Xt.r.kX*.k.r.u.8 3.8 3.`.a RXJ.n g !X..GX. 5 D 5.`.H.u.r.k.k.bX9.b.o.o.bXg.b.oX9.o.o.bXg.U.U.U.c. .U.U.U.U.U.c.cXgXg.c.U.c.U.c.c.U.U.U.U.c.U.U.U.c.U.U.#. .6.#Xk.U.U.U.U.U.U.U.U.c.U.U.c.U.U.c.U.c.U.U.U.U.UXgXg.z.bXg.o.X.o.oXg.bXg N.^XjXjX*.^XtXk N.kXt.kXt.kXjXj NXk.o.b.o.b.o.o.b.o.b.b.b.b.b.o.b.o.o.X.o.b.b.b.o.b.b.oXgXk.b.o N.b.o.cXk.c.U.c.c.U.c.c.UXk.I./XgXk qXk qXkXk ).RXk.z )Xo.8Xo.`.H.u (X9 ]XlXo.5 ` DXV.k.].u x 3 $.9 v.wXi.v 0XrX+ #XD X, 1 : x RX-X,X1X-.aX-X-X-.aX-.aXIX-XI.e RX-X-X-.e BXI t RX-.a a.a a a RX- R.eX-X-.a #XM gXUXL.Z 8 aX1 a R RX-XDXDX- R.e R RX- a RX- t aX- a R aXD.aX- R s c.e RX- t B 8.ZXLXC 0X=.N u t R BX- R BX-.~X- 3 a c 3X3XeXs v J._XG O o vXmX+XGXp.. u u t R aX-X- R 3X-.e.e R.~X-X- a B a.a t t C t u U.d uXnXnXpXp yX, RX1.8XXX*X*XJ.$ V XMXM.}.aX,.}.} a h :XM kXhXX 1XK.u D.0X5XJ.DXKX3.l.l.F .<Xq 0.N.YX, kXc.,.- kXw.j., TXwXG....X6.; HXCX> J JXG.9 $X1X, a h.Z.MXDX,.aX- a 3 3.~XJXJXJXc.w $XD.wXw gXGXUXw.>.G K.GXSXZX. [ nXJ.-.3 k.1.O.+ =.OXZ KXh.O.O.+.O K.O =XU.a $.9 :.'X. [Xw.-.-X. V k.1.jXa x.9 RX, T :.aXU.,XK T.ZXK xXl.wX,XJ $Xl.}.Z 3 R R.aX- 3 RX,.M.a.a aXD.aX-.aX- aX-.DX1.a #X1 : c c h.d.s.s v b.0.Z.8.`.`X* 3 ~ c",
-".8.8 ~.8.8.8 ~.8.8.8XtXV NXtX*.rXtXtXt.kXtXt.rX*XtX*.r.8.8.}.8.` RXc.n.'.' gXH.] D.k )XV.H.8 3X*.k.XXg.b.o.b.b.o.b.X.o.o.bXg.c.c.U.c.U. .c.U.U.c.U.U.U.c.U.c.U.U.U.U.U.U.U.U.U.c.U.c.U.U.U.#.U.6.I.#.U.U.#.z.U.#Xk.c.U.c.U.c.U.c.U.c.U.c.U.U.c.UXkXgXg.U.b.o.b.o.o.bXg.b.o NXjX*XjXt.r.K.fXkXj.^.kXtXjXj.^ N.U.X.o.b.o.b.b.o.o.b.b.o.b.o.b.o.b.b.o.o.o.o.o.b.o.o NXgXg.b.o N.o.bXg.c.c.U.U.c.c.cXkXk.zX@.& 5.fX@ q.AX@.A.&X X@.f.$.K.u.8XV.KX3 ].u m.|.%.] P ] ] $Xx.9.'.j =XC ^ 0 ^XfXi.jX7.- ` # xXJXc $ x.a B R R 3 RX- R.e RX- RX-XD.e.a R a a.e a R a.a R.aX-.a a a a.aXD R B RX- a 3XMXM.-.q s.W B.aX-.a B RX-XI B RX- R B a aXD $XIX-X-X-.a.e.uX, $ R.M TXD.a R h a R 8.n OXC 0.=.) C R.~ RX- BX- R R.e.ZX-.u 3X, xXs.=Xp vXLXGXG.9.-.YXpXqXq a.}.* R.8.~X- aX-XDX- a.eX- aX-X- R.~.e.eX- BX1.* a a aXq .Y o.Y yXDXI.8.r.K ~X*X*XX.$XBXM # h.} 3XX `.-X#.3 Y.- DX. mXJ $.u 1XX a #.l.FX+.<Xn.sXmXGXK c x 1XB 1.w $.ZXl.W ..P w & b bXL v.w._ 8.uXl R cX,.aXDXl.e R RX-X-XIXl TXVX,X,.%.9X5 TXw 4Xw.OXy.O.OXw.3 m.O.1XH [ n., k.- n.O.>.+.O.+.OX;X; =.+ MXw y.' xXl $ $ s.jX. nXcX. V.-XBXB.,.S &.s v `XlXl cXl $ x T.e.aXDXDX-X, U.aXD.a a.a.aXDXDXI R.a a R.u.aXD a.aXI aX-.MX- R BX1 3 a.aX-.`X-X- < u * / 2XL.9X5.8XVXX.8X-X3.5",
-" ~.r.8.8.r.r 3.rXt.rX*.k.5.k.rX*XtXtXtXt.kXtXtXjX*Xt 3.8.8.`X-X-X1.2XKXa.'.'XJ DXIX*.`.H.8.H ~ ~.^ N N.bXgXg.o.o.b.o.b.bXg.c.U.c.U.U.U.I.c.U.c.U.U.c.U.c.U.U.U.c.U.c.U.U.c.U.c.U.c.U.c.U.I.I.#.6.#.#.U.#.I.#.#.U.U.U.U.U.U.U.U.U.c.U.c.U.U.c.U.c.c.o.c l.b.o.o.bXg.bXg.X.X.^XjXjX*X*.^.kXtXk.z ~XjXt.k.k N.b.z.b.X.b.o.b.o.b.V.o.o.o.b.o.b.b.o.o.b.b.b.o.b.b _.b.oXgXg.b.o.b.o.b.c.cXk.c.c.c.c.c.UXgXk.UXkXg q.XX9XxXx.X.X q.X.X NXV.u.8.kXV.5.u 3 5 $.H cXl.` 3X1XaXGXG oX6 2X=X=XiX= %X2 yX< :XBXM h.a.a.e.a RX-X-XDX1 a R R aX-.e a.uX-XI.e RX- R a R t a.e R aX-X-.a a 3 R.* B RX- a h # .-XUXaXa.M.eXwXD R.*.* R RXI.e aX- R a #X. `.*.a BX-XD.ZX. :.e R a R BXD.G a.a B 9XaXm J 2.N C R t.~X- R R.eX-.*X,.~XI #X5.M.WXsXaXm.W x.9.}XI `XcXp Xe < C a R B R B R.M a.*XD.e R a.~X1.e.`.` BX-.~X-X1.}.e.gXq MXqXGX+ TX,.`X*.8.5XVX-X-XMXJXXXM ` ` V.G.,.,X3 1Xl R.ZX5.H.Z c.uXIXI.}XM >X%X: ^ pXe.D R R 3 R.MX, 3.e cX,.W 0X6.; wXa.n.n.D.W t t $XK m `Xc mXc TXHX,X- R RX- ` cXI R.~ 1XJ.' :Xl x.9 'Xl 1 ' s sXP.9.j MX; =.>XH.O [.+ =X0 =.>.+XC.!XcXm.'.E !.j x $X,XcXK = @X;Xh [.-X3 .9X7 n &Xa v.-.9XKX,.ZX.XlXD 8XDX,.MX, RXDXI.} RX,.a.M 3X,.}.ZX,X, a.Z.aX,X5X-X, :.ZXIX,X-X-X-X,X1.a.a.~.a.a < C.s /.v s.0XoXV.K.u aXl $Xc",
-".kXtX*.r.rXtXt.rXtX*.r N NXtXt.k.rXjXj.rX*Xj.kX*.kX*.r.8.8.`.` 3.a.0 D.w ' : mXK.` c.u.5XV.k.K 3.^.XXg.b.X.b.b.b.X.o.X.o.c.c.U.c.U.U.#.I.c.U.U.U.c.U.U.U.U.U.U.U.U.U.U.U.U.U.U.U.U.U.U.c.#.#.#.6.I.#.I.#.#.#.I.U.#.#.#.U.U.U.c.U.U.c.U.c.U.c l.cXg.b.UXgXg.bXg.o.o.o.o.oXgXjXt.kXt.k.rXj.kXjXt.^.k.^.^.^Xg.b.z.b.o.b.o.o.b.o.b.b.b.o.o.o.b.b.oXg.cXk.UXk.c.cXk.cXg.#Xg.b.b.bXgXgXg.c.c.c l.c.cXk.cXgXkXk.XXk.f 5.& q./.X.X ) N.XX*.rX9.8 3.r.rX* ~X3 ~.u.H 3XVXDXl gXG O 0 0.vXi ^X6Xi.P.jXBXJ :XlXMX-.aX-XI.a.~XlX,X1 RX- a RX- $ )X1XD.a.a aX1 1.Z a.e R RXlXK $ R aX-X-X,XlX5 R.eX-.a c `.3.[XU.n.w 8.*.,.a 8 R R.e R.a.eX- RX-X- $XJX. RX1.* C R.eX..Z.aX- a.a.eXc.,XlXD.'.wXLXC b 2 / C.a.~X-.e R aX- R R 3 R R # c sXsXs.sXGXpX,.a 3 3.}XK.9XGXG a t R.e B R.eXDX1 t a.* t R RXD.eX-.e.H.H.` B.~.e.a h x.-.F.1 = y.-XcX1 c.`X*.5 #.8X* :X3 VXXXMXX :X3.,., `XX 6X. n.3Xl., ` 3 3XV a.a R h.FXq.pX2.xXf v CX1 RXD R.M.Z.}.eXl BXeX6X6.4.q.!XL.nXs t.M aXKX5XX.ZXJ.Z $.a $.a R.e.aXIXIXIX5 cXIX-.ZXV.~XJ.ZXV.ZXK.0.'Xa 'Xw y.' b.9X0.> = n nX0.+ M =.+.O &Xm.j y [.>XUXUXUXK n.>.GX;.GXSXHXH c 1 $XB.[ n M b v.>XJ 1 kXJ m.9 R U.a.ZXD.M RX,.M.M.aX- R.a.a R tX- RX,.a 3Xc :XMXKXKXcXcXKXl R RX-X,.aXIXIX-X-.M.* u.W 2XLXm.Z.8.r.5 3 `.O.GX,",
-"XtXt.rXt.k NXtX*.r.^XtX9Xt.k.rXt eXt.r.r eXtXt.r.rX*XV 3.`.`X-X-X1 ' g s.w.n.2X5XV.8 q ).]Xd.KX9 N.X.b.o.o.oXg N.o.bXgXg.c.U.U.U.c.U.#.#.c.U.U.U.U.U.U.U.U.U.U.U.c.U.U.U.U.c.U.U.U.#.U.c.#.U. i.#.#.#.#.U.#.#.#.#.#.#.#.U.U.c.c.U.U.U.c.U.c.U.cXg.b.U.oXg.b.o.o.o.b.o.X.o.kXj.kXjXtXj.kXjXj.kXj.^ N.b.X.o.b.z.b.b.o.b.b.o.b.o.o.o.oXg.o.o.oXg.c.U.c.U.c.cXg.cXk.c.I.c.o.o.bXg.c.cXk.c.c l.c.c.c.c.U.UXg NXg q./.$ q q.XXk l.b.^XtXt ~X*XtX*.k 3X*.8.u.uX*.8XVX1XKXG J.@ ^.C J J ^ wXf ^Xr.jXc : #XZ hX-.}.eX- a.-X, R.e.* R a xXlX,X-X,X-X1.aXDXH c R R t.e `XJ T B RX- 3 a 1 $ R R.~ a.} kXZXcX0 s.nXD t T.'.Z t R t B 3.eXI.eX-X- h :X, a a R R R t 1X, BX-.uX5.a h R xX- B.wXaXm J.=.) C t B.aX- aX- a a.eXD.~X- c 3 1 RXs CXLXGX,XIX-.8 3 c.-.YXn s t t.9.eX-.a aXHXI R a aXJ.M m.eX1.e ` DXJ.~XI.e )X5.a a.}XnX7 [Xh.1XcX,.H.`.8.u 3X*.u 3XX 5., V V kXJ., 3XM.,X#XHX# XJ.- #X- 3X- 3.}Xl X+Xr.{ ..s v.MXIX1X,XDXDXDXD RXl.* UXnXi L.; &.!Xa.n.Z t R.e B a.}XI a RXI R.*X, c.aXlXl :X- 3 3 c 3X#X5.G $ 4Xc m g.%X. m.2.w.9.9 &XyXZ.9XGXG.qX0 H &.;X0 M.EXL vXLXL.9 T.wX,XD s.!Xw.O.> ` 1 h 1 1 kX7Xw &.E.w x 1.2 1XJXJ TX,XDXD xXKX-.aXDXD RX,X,.ZX5 tX5.a.aX-X, 3.*Xl.a.9Xl c.Z hXDX, RXI aX, R.a 3X- R.M R.) 2.= v 'X-.`X9.5.a sXw [XG",
-"Xj.r.^X9XgX9Xk N q NXk N.z.X N.k.X.X NXk.X.^.k.k.rX* ~.8.`.uX*X5.DXlXK.w ' TXJXIXI.8.H.u.`.8XV ).k.X.X.X.b.bXgXg.b.XXgXk.U.c.c.U.U.U.I.U.U.U.U.U.U.U.U.U.U.U.U.U.U.U.U.U.U.U.U.U.c.U.U.U.U.U.I. .#.#.#.#.#. .#.#.#.#.#.#.#.U.#.#.#.#.U.c.U l.c lXg.o.U.bXg.o.X.o.o.o.o.o.XXjXj.k.k.kX*Xt.k.k.^ N.b.X.o.b.X.oXk.b.o.b.b.o.oXgXgXg.cXg.U.c.c.c.c.c.c.UXk.U.c.U.c.c.c. Xk.cXgXg.c.c.c.c l l.c.cXgXgXg.cXkXg.b.b.bXx.X N N.b.X l.^XjXd.rXtXt.rX* ~.kX*Xt.u.k.uXV.`.5XGXG.sX=.v 2.v.v.v ^.vXiXr.j `XMX. | k a.a.aX- aXJ :.Z R.a R a.Z VXJ hXD 3.a.a.aX. $ RX- t aXKXwXK RX-.a.} a :Xl.e aX-.a.} [ | =XU s.n.M t.9.M R $ xXI #.e a.e R.a.e.a.eX-.a.eX- R.e c RXDX-X- 1 s R.a t a R B.w.nXC o 2 O.w a.aX,Xl.aX-.aXl.Z $XDX1XKXJ cX,XK.q o v 1.a 3XV.`XD :XK.Y v U t :.MX-X-X, Y.'.e R.eXJX- m.eX- RXl c.-XD B.~ T.u RX- < a UXB.j [.O.SX,X1.`.8.8.K.K.K.KXX.5X3XJ c ) 3X1XIXIXJ VXM #.} h RXI h.a aXM xXB.[X+.@ %..Xe.M tXDXD CXDXe.W R.u $ t._ % % ^ HXC b.w.nXD.e R R.u.~ R RX5.*.MX5XlXc mXc 3 #X-X-X-XIX9XMXIXXXl $.ZXD : $XIXDX,.5 TXy T g s.n s vXC.q H HXr M =XG v s.' s.n s v.n.DXK.'XwXHXw XMXDX, 1 kXBXH HXm U x $ h.a.aXD $ $XDX, mXJ xXKXcXJ mX..-.,.S.,X.X, 3 R.M.u.M c $.e a.* R.aX- RXD.aX- 3 :Xl 'XDX,X,._ 0.@.@X0 h.`XVXo.ZX1XG v v o",
-".kXt ~./.rXxXk.^ q.^X9 N.$.bXj NXgXg.X q.b.kXt.r.kX* ~.`.`XMXJ m `XK @ !.' gXJXI.HXI.8.8.8.8 ).k.k N NXk.I.f dXgXgXgXgXk.c.U.U.U.U.U. .c.U.U.U.U.c.U.U.U.c.U.U.U.U.U.U.U.U.c.U.U.U.U.U.U.U.U. .I.#.U.U.#.#.#.#.U.U.#.#.#.#.#.#.#.#.#.U.U.c.U.c l.c.o.U.b.o.b.o.b.o.o.o.b.bXj.kX*Xt.k.^Xt.k.k.^.b.o.bXg N.bXkXg.o.X.b.o.oXg.c.c.c.c.U.UXk.cXk.cXk.c.c.U.c.c.cXk.cXg./.cXk.U.c.c.U.cXk.c.c.c.c.c.c.c.c.c l.o.X.^.b.b N.X.X.bXg.rXd.rXt.rXtXtXtXt.rXtX*.uXt.u.`XV ' yX>.@ M.+.;.; H J.;X0.v.EX%.- `.-XlXc h.a < aX-X, c.a a a a.a a 3X, R R hXI aXD x 3.a a.a.eXDXDX, R R 3.a a.a.a RX- tX-X,XMXqXwXwXL.wX1 R x TXw.9.'XKXcXlX- R a a BX-X- a.a.a.aX-.aX-.aX,.e.aX- aX-.a.e R a B s.'Xm o 2.; y RXI.' $.a.a aXK m.aXIX-.|.,XM R R.>.=.v 9X,X1.8 3.8.} yXGXpXG.e `.}.a.eXKXlXJ R RX- $XcXKXD t.e x.9 h.eX- B $.Z.~ B.e a a UXpXpXp =XlX9 R.8X-.~.8X*X5.u.`.`.8X1X- FXI.H.a VXXXBXBXB ` 1 #.iX3 `.-.[ JXnX6X6._.N E._ v.s...s.mXe 8 c.M u.mXA.B H.qXC.!.ZX5X1XDXIX-.~X-.eXlXJ mXU kXlX,X-.aX-.e.a 3.uXVXV cXI 3 3.eX-X-XD.uXJ.2X..] D.5 'X5Xl.nXa bXC & H H =X0Xm s 9 9.!.qXP.!.' s o s !.1.-XMXMX, h : [ k [ JXL y h x.w cX, RXaXDXJX..9Xc `XJ :XKXc TXc $ $X5.SXIXDX, R c.a.aX, R.a RX- R t.eXI.a.a a `XKXUXJXw gXwX0.;.>Xw 3.`.r NXV.ZXGXG.s H",
-".r.kXt.^Xk.^XgXkXkXk.IXg.zXtXtX9XkXk.X.zXt.r.k.kX*.rXV.8X-.u.5.K : T.2.O T.G.0XIXI.8.` FX5XV ).KXo.RX .(X Xu./XgXgXk.UXk.c.c.U.U.c.U. .c.U.U.U.c.U.U.U.U.U.U.U.U.U.UXk.U.U.U.U.U.U.U.U.U.c.U. .#.U.U.U.U.#.U.U.U.U.U.#.#.U.U.U.U.U.U.c.c.U.c.U lXg.o.U N.oXg.b.o.oXg.o.b NXtXjXj NXtX*.^XjXtXzX9.o N.o.o.b.UXg.o.b.b.b.o.cXk.U.cXk.U.c.c.c.c.c.U.U.U.c.U.U.U.c.UXg. .c.c.U.cXk.c.c.c.c.c.c l.c.c.c.cXgXgXz.o.b.X.b.XXzXzXx.bXd e eXtXtXt.r.k.rXtXt.uXd.rX1X1.Z 'Xs.@ ^ ^X4.@.v OX6 b O..Xr.-XJXwXK ` x 1 c a.a a R aX-X-X-.a a.aX- RX- a.u.a RX-X- < aX-X-X- R t B RX-.a a.a t R a R R a # x `.[.j.n.w C RX,.MX,X,XD R h a tX- B RXK R R t R a.a a h.a RX, a B BX- B t RX-X- B.DXa 9.E / &.Y tXIXU.9 $X-X- hXKX-XI RX. a c #.e.>.N.=XL 1X1 3.8 3XDXl yXGXn.i < a tX-.~XV.~.~X- a.e.e.eX- a t a.e < < $ RXVX1X5.D x : <.F.M [ MXw.O mX5XI.u (.HX9.k 5.k ).H qX5X- DX5X-XM., VXXX3XB 1XBXBXB V .g.jX4 % { %.m.. vXq.s.mX6.P %.. $XD x < uXAXbXf ^XCXP.n '.DX1 RX-X1 RX-.9 R.M RXD.e RX-X- R a.HX-X-X- 3X- 3 c c.K.u 3.] }XJ : 3 3.8.] D.|X..2 ! & 9XCX0X> M MX0 & M &.>.> ! y s.!.' sXw KXHX< kXKX. k.SXHXr J b pXcXG R #.uX,XDXD ' x $X-.aXD $ $ RX,XD RXD.MXl.}.a.a.MXDX,.aXDXD B R RX-.a.a a.a a.a 3X, xXD.M.NXe.W.vXnX,.a.8X9XV 3XG =.; H.+",
-"XtXtXt.r.kXt.rXtXtXt.XXt.k.kXtXt.^XtXt.kXtXtX*XtX*Xt ~.8.aXI aX1 RX1X1 D.] g.u.H.`.8.`X-.K #XH I 5.t.RXx _.o.b.c.c.U.c.U.U.U.c.c.U.c.I.c.U.U.c.U.U.c.U.U.U.U.c.U.UXk.U.UXkXk.cXk.U.c.U.U.U.c.6.U.U.U.U.c.U.U.c.U.c.c.c.U.U.U.c.c.c.c.c.U.U.cXgXg.oXgXk.o.b.o.o.b.o.b.b NXjX*Xj.k././Xk.kXj.kXj N.bXg.b.b.oXkXg.b.b.o.bXg.c.c.c.U.U.c.U.U.U.c.c.U.c.U l.c.c.cXk.c.c./Xg.cXk.c.cXk.c.cXg.o.o.o.c.U.c.c.cXg.b.b.o.b.X.b N.XXg.^XtXt eXd.r.kXtXtXjXtXt.r.8XI.H.w s.s.)X=X=.) 2 2 / 2 /XiX= O.q 9XGXUXUX+ 1XM.l 3 <X-.a RX- a.~ R t aX- a aX- tX1 R.}.u 3 aX- a a RX- R RX-.a R a R a t R a.a.i xXB.- g v.w C t 1 x t <.e < R.a a B $X, x c.- :XJ 1XKXK `.9.aXD R R R.D $.e R RX-X-.DXLXC H 2Xn 9.* RX,X5 t RX-XDX, a.Z.~X, RX- h c.DXs.N.WXnX, h ~ ~ ~XVXmXGXp 1X, <X-X-.~XI.`.~.`.* t t RX-X-.~.~ a R.eXwXKXKXK.] kXl.3X,XHXq [ MXh mX5., $XJX5 : Y 3.RXI Y.5.%Xl 8Xc.9 R.}.KX3., 5 k., V V V VXB nX+XiXi .XfX6 .....X+.@.@X2Xf.. v.a U U u.d.. .Xi.@XC b.0.DX-X1 R R R RX-XI RXDXI.e RX-.e.eX-XIX-.~.eXIX-X-X-XI.a 3X, c.aX1X- :XI R.eXlX1 :.9Xl.O.jXm.qX>XCX%XrX2.jX>.x H M & 9.9 bXw @XZ.SXH.SXc :XHX#XHXrXn w v.. y h # 'XDX,X1 :Xl.aXV 3.uX,XD.aXDXD.MX,.a #.a.a aXD 3 3 c hX- R.a t a <.aX- a.a a.a.} t.M 2 2 2 sXG.aXVXX F.8.` sXwX> H H",
-"XtXtXt.k.rXj.^XtXt.rXx.r.kXt.kX*XjXt.^.k.rXt.rXtXtX* ~.8.`.8.`.a.8XIXVXJ.2.5 3XIXI R.` # c cX5X5.RXV.^.X.X.X.oXg.U.c.U.c.c l.U.z.#Xg.#.#.c.c.#.c.U.c.U.U.c.U.U.UXkXkXkXk.I.U.U.c.U.U.U.U.U.c. .U.U.U.U.U.U.c.U.c.U.U.U.c.U.U.c.c.#.U.c.U.c.cXg.b.oXgXg.o.o.X.o.o.o.oXz.^ e.kXj.k N./.^XjXjXj.kXg.b.o N.o.b.U.XXg.b.o.oXg.c.U.c.U.c.U.c.c.U.c.c l.U.U.c.cXk.U.cXg.c. Xg.U.c.c.c.c.c.c.o.b.bXgXk.c.c.c.c.o.o.b.b.o.b.b N.b.X.^XtXt.r.k.rX*.kX*.H.r.8XV.8.`XlXLXL / 2 * 2.s.v 0.v 0 O b O 0 H b O.n.jXU V XM # h.a t.e a.a RX- R tX- a a aX-XI.M.u 3.uX-.e.a a R aX-X- B.a a.a t.aX- aX-.a # xXB.[Xc.n.Z R.M.Z.* a :X,.* a.* R.a.e RXDXIX, $ h x h $ hX, RXD B RX-.'XlX-X-X-X- BX, s.>.;.s / C t B.* R BX- t.eX- RXJ a 3 c cX5 `Xc sXs.=XnXeXDXI ~ F.8.ZX; yXp ` R a.a.~.8.`.~.e R t t a.~X-X-.a a R aXc :XlXl 1 cX5 xXl.W xXGXc.YXw.Z gXy.9 m `XVX5X5 cXV x $ $XG vXK a.8.}.8X* 3X*XMX3 k k.[XJ.,Xr HX+X>.@X>X>X>.Y.E.Y._Xn *.x 0.w.WXe E t t.m...s b.;Xm 9.w.DX-X1 a.aX- xX1X,.a c.'X-XD D 3 RXI RXHX.X. 3.~.aX-X, 6 3X1.~.a R K V a.M.a R B.e.Z.n yX0XCX>X+X2X2X4.<X>.x H.; &.E y s ' =.OXc `X3XDX, x.-XpX<X>.@ bXnXe h xX,X5X5 BX,X,XlXI # R.a <X, R 8.M 8 <.M $X- h $XDXIX5X1X1.ZX-.a RX-.a a.a R a <.} < u.W / v 0XpX5 RXI.`.k.~ c 'XG.s 2 w",
-".rXt.k.b N.^ N.b.X.XXkXt NXt.k.^Xt ~.k.r.kX*.kX*Xd.u ~.8.`.`.8.aX-X-.` c.5.rXt.HXIXIXD : m ,.K.`.5.kXt.5Xg.o.b.U.U.U.U.UXk l.U lXg l.U.c.U.U.U.U.c.U.z l.c.U.UXk.U q.IXu.IXk.U.U.U.U.U.U.U.U.6.U.U.U.U.c.U.U.c.U.c.U.U.U.c.c.U.U.c.U.U.c.U.cXg.o.b.cXgXg.b.o.oX9.o.b.^XtXt.kXj.k.^.I.^.bXjXjXz N.o.o.b.o N.U N.b.b.XXg.c.U.c.U.c.c.U.c.c.U.U.c.U.c.c l.U.U.c.U.c.c.IXg.c.cXk.cXgXk.cXg.o.o.c.cXgXk.cXkXg.b.b _.b.b.XXz.X N.^XtXtXVXtX*X*XVX*Xt.uXV.`X-X, vXe /X=.) / 2XCXC HXC H H & HXCXC '.nXL.n.EXw.[XB.l #.lX1 R RX- a a R R R aX-X- aXD R.ZX- 3 a aX-X- a R RX1XD.M a.a R R.a t R a h x `.[ yXL.n.M RX-X-X, ' RX-Xl RX- aX- aX- R.*.e tX- <X- tX- aX,X-X-X-XD B R R.~.~X1XD.n 0XC.v.NXs t $ $ : $ xXIXD.a.eXc.5Xc DXK.]XK $ g.M.N.sXG.WXI F.k q.u .-X+.j U.M RX-X-.8X1 R t t t aX-.eX-.~.e R a a.eX- a.e R a t a < a tXq.9XK x = @ mXK.].uXV :.8XV.a R x o.9.E.M.`.`.r 3 ~.8.8.8.8 #X*.K `XJ.- = n.WXK 8XqXc x $ xX; xXw.EX> 2Xn.) E E pXA ^X= o.qXC.wX, RX1 a RXI.G RXDXI R 6.3 a.| a 3 R.e.%X5 :.G.e R.`X- YX,X,XI cX5.,Xh.aXD.e R 8 R.Z s.'.>X> o JX%Xr.<.<.pXrX> M H.'.qXUXOX;X..Y.-X,.a c :XJ.- MXp M.x vXG.j xX,.ZXlXDXD.M.w $X, U.M.ZXs._ v._.W.W.M.M T : BX5.DX5X5XVXV : DXVXl ' $.MXGXs.*.W G.= 2 2 J.Y xXDXI.rXtXt.` :.9 y v O H",
-"XtXj eXk.I.z.b qXgXj.I q.^ q.b NXtXk NXk.r.rXtXd.rXt.r ~ ~ ~X*.rXI #X*X* ~.rXVXIX1 RX5XlXJ IXt F q.8.k.^ NX9.X.zXgXg l l.QXgXk l.UXg.U.U.U l.c.z.#Xg.c.U.U.UXk.#.I iXkX d.6Xk.I.U.U.U.U.U.# i.I.U.U.U.U.U.U.U.U.c.U.U.U.U.c.c.U.c.c.c.U l.U.cXg.X.cXgXg NXg.b.o.o.o.^XjXj.k.kXj N.X.X.X.X.b.X.b.b.o NXg.b.zXzXg.b.oXgXk.c.c.U.U.c.U l.c.c.U.c.UXg.U.c.c.c.c.c.U.c.I.c.U.c.c.c.c.U.c.c.c.c.U.U.c.c l.cXg _Xz.b.b.b.b.X.b N.^X*.r.k ~.r.k.r.u 3 3.` cX, $.E.s.s.W p.=.s.E oXG b J bXmXGXG sXLXaXa.s.n.YXw.,.Y 1 x x.} a aX-X-X- tX-X- R a R.aX-XI a cX-XI aX-.a.a :X,X, c $ t RXDXD R R R.} # 1Xc ! 9.wXa BX-X1X-XD.~XD.9XI `.a aXD R.eXD R R a aX-X- aX- 3X-X- R.e.a a.e.a R B 8XL.n w.v.N.) RXIXK : ' : $XlX-X-.Z.e RX- a RX- $ R 8.WXs 2 sXD ~X* N 3 h yXpXG u.M a RX1X1.~.e R t t a RX- R a a.eX- R RX-X-X-XIXDXD $ R.M t C 1 yXc gXh ' D :XJ 5.] T m a x oXGXCXO 8 3 ~X9.k ~ ~.r 3 3.K.8 ~.`.8 3.G m :.G DXU 5.%.% :.%.,X. !XhXnXCXe p.. ..s..Xi ^X0.9XL.D.M aX- R R.3.e 3XD a.| D.3X..aX1XI a.| 1X-X# a.aX1X, KXI R R.eXcX. Y T.*XD R R RX,.wXG.> MXr.<X+.p._.x M M.L =Xm 9 !.G.O.GXH ` `.}XI $ hXc.- [ = z.Y.;.O.EXU yXJ.- g.-XcXc n.wXs U GXe 2Xe.s v .XqXsXcXl T D.2 ( Y } IXJ.%X. m DX; y =XL.s OXa 2 O O.E.9 tX1.`.`.~.`.~XD RXK v.s.E",
-"XtXt.kXx.z q.b./.oXx./Xg.X N q.8.^X9.rXxXj.k.r.kXt.k.r ~.8.`.r.`.`XV.` ~.8 N.8.8XI R : :XVXI.`.8X*.K.K.$ P.X.(Xk.(.tX@Xu.Q.&.z.t.z.f.t.zXk.U.U.U l.#.U l.U.I.#Xg.f d.6.6XkXg.#.c.U.U.c.U.U. . .#.#.U.U.U.U.U.c.U.U.U.U.#.U.U.U.U.c.U.U.c.U.U.c.o.b.UXg.b.o.o.b.b.bX9XzX*Xj.kXj.k.kXzXg.^Xg.o N.o.X.b.o.o.b.I N.o.b.o.c.U.c.U.U.c l.U.c.c.U.U.U.c.U.c.U.U.U.cXk.c.U.IXg.c.U.c.c.U.cXk.cXk.cXk.c.cXg.cXgXg.b.b.b.b.b.b.X.^.^.kXj.rX*X*XjXtXt.HXV I I.,Xl.+XC.EXwXn.;X> & HXmXLXL sXa.9Xa.n.w.wXDXa.n s b.!.jXwX+ .l cX,.aX-X-.a aX- a a BX-X1 B R RXI.a aX- aXlXl.9 TXJXwXK a tXD.MX1 RXI.M xXM.9Xw y.q.' gXD '.u B.`.` 3X- ` 3 aXl.Z.eXl : R 3X1 a RX-X- 3 aX- R RXD a.aX-.e BXDXa o.O J / u.*.MXDXIXIXDXD BX-.eXDX1 RX- B.~ R 3.K B C.=.= bX, 3 ~ ~.8 3X,.-Xp p u tXD R.HXIXDX-.* RXDX- a.e.~ R a RX- R.e.~.ZXJ D $XH x s 1 x.YXH.hXw.j $X, 3.8.H 3 3XD .jXq z &.+.'XD.H.5.^XoXtX9.X.kXt F.r e ~.H qXkX9 D.X.kXx.5.XXxX*.H.uX1XG nX+ p..XpXn ^X> J.E.j.EXe x R RX- R RX#X- c.a.eX.X-X3X$.eX,X-.eX.XJ T D.eXI.Z B 6.ZXIX-XD.% aXlXHXD RX-.aX- R.w.w.Y y = M zXrXp.hXS.+.1 K K.+X$ K.G K k : xXDXD xXD.Y.Y.g.[X% nXrX0 &Xh.Y nXK.[ =.j.Y.) bXn b.....@ ^X>..X6.@Xn & n 1.-X3 1 $ mX,.Z $.Z xXs.'.s v.v 0 O.N.=.=.= v $ aXI.`.`.`.` F.` RXq yXL =",
-"Xt.r.k.^X*.^.k.X NXk.k N.k.r.k.X.rX9X9.r.8Xt.K.rXtX*.r ~ ~ ~.u ~.8 ~ ~.8.8X*.`.H.`X1.H T.H 3.`X-.`XVXX.$.A ).7.&.( Z./.7.t X Z.7.I j.7.I.QXg.IXgXg.z.U.c.U dX Xu.z.IXkXg.U.U.U.U.U.U.U.U.U. .#.U.U.U.c.U.U.cXk.U.U.#.#.#.U.U.c.c.U.c.U.c.U.cXg.b.o.z.b.o.b.b.b.o.bXg.bXjX*XjXjXtXj.^.b.b.o.b N.b.b.b.o.b.b.U.b.b.oXgXk.U l.c.U l.c.U.U.c l.c.c.U.U.c.c.U.#.#.U.c.U.#.UXk.c.c.U.c.c.c.c.c.c.c.c.UXk lXg.o.b.b.b _.b.b N e NXtX*XtXtXt e e.r.rX-.u 3.KXGXwXn..Xp v . bXn yXmXa.w.DXs.'XDXsXIXs R.Z.Z.!.q.qXC &.j.- 1 .l h.a a.a.aX- aX- a BXD.* R.e.a.uX,.a B.} RX-X,X, h.M.MXD RXDXD R.a R # x.9Xw = !XUXUXUXyXl.~X-X- R.e RX- R hX, tX, c.eX-.~.~.`X- aXIX- tX- aXK $ a.eX1 R BXLXLXCXiXe.N a a.~.eX1.eX- R.~ BXD.e R.~ R RX- R cX, 8.=.NXL.'XI 3.8.8XVXD yX+Xn.i.MXDXl c DXJ $ x : :Xl.u x.a a t B.e a R.e.`.,XK $XJXc xXK.[Xc.1XH n nXD.MXIXIX1 R R x.1.+X8.+XZ.O.G :X1.H.r.XXkXxXk.r.R.X.zXdXx.o ~ ~.r.r.r.r eXj ~Xd ~ F.`XI U.j yXn.YX+ v...j vXs.j.' x.Z R R RX- R.3.aXI R.aXJX,.e #X1 3X-X1XlXlXIXDX1.eXI 3XDX,XI aX1.a RXDX- R.a R BX1 R R.w s y.j.j.Y.p MXh.hXHXh.+ @X;X; @XHX. | : $ h c 1 R 1Xw.,.,XH [.1Xm.@.>.s xXe.w._ vXp o...sXf ^Xi.@ S.4Xf .Xi 0.s v C a a RXDXD.M < t.a a 8.W.).@ w 2 2 O 0 J 9 sXD R.`.~.`.`.`.`X-XI.Z.G.jXZ",
-".kX*.rX*.r.kX*.r.r.5.8 ~.`.`.8.~.8.8.` ~XtX*.r.kX*X*.uXVXI.8XI.8 ~ ~.H.8Xt.k.H.8.`XI.`.] c 3 R #XIX-.K.5 ) q.X.&.A AX X@X X .t XX .t.7.6Xk.z.c.Q.I.I.6X Xu.I. .I.UXk.U.I.U.U.c.U.U.#.U.U.U.#.U.U.U.c.U.U.U.c.U.U.#.I.#.#.#.#.U.U.U.c.c.c l.cXg.o.b.U.bXg.b.o.bX9.b.X.X.kXjX*.kXtXjXj.bXg N.bXg.o.o.b.b.oXgXk.o.bXg.c.c.c.U.c.c.U.c l.c l.c.c l.U.U l.U.U.#.#.U.U.#.U.U.c.U.cXk.c.U.cXk.c.c.c l l lXgXg.X _.b.b.b.X.b.^.r NXtXtX*X*XtXj e F.H F.`XI.aXD v 2.) <.*.s /.sXC y.n.n 8 B.ZX- R.e t B $.n.E o O O O 0.Y.j x x x.}X-.}.a.a a aX-X1 BX- R R R.a.eX- <X- tXDXD.Z R R RXDXDX,X1 RX-X, 1 `XwXwXc gXG.Z.n.D R R BX- RX- R R.* a RX- a R.~ RX-X-X- BXI R aX- RXD a a < aX-XD.wXL.q 0 G.).* <X- t.e RX- aX- t 3 $.e t.e a.ZX-.a 3.*.NXs.=XG xXI.8.H FX1 '.[XnXpXe.M.-.ZXK T `XJXc : T :XJ h aX-.e RX1X- RX- R R R.~ RX,X,.a CXeXpXG.jXJXDXD hX,.w x x =.x.J.4 H ! g m.DXt.` F.HXtXt.^ NXx.bXd.bXk q.X.zX9XxXjXd.rXdXt.r ~.`.`X1 hXwXc.Z t R RX,.}XD 1 s $XD BX-.a a R BX-XIXD.~X-.~ R.~ R R.Z R RX- BX, aXD aX,X-.a.aX1 R RXD.aXDXDXD $XlX, $Xl.' g.>.+ n.1XrXZXh.hXhXh.G = !.>.>X..-XJ.i.a.aXI c.}XDX,.i .-XB.j &XG.;XG U EXpXnX=.. 0.@ J ^ ^X2X8.CX2 SX8.4X6.s .._X,.M.aX, U.a <.* < 8 C.W 2 0 oXp v.1 =.'.Z t RX-.`.`.~Xo.HX5.`.DX1 $XKXU",
-"X*X9X9X9X9X*X9X9XX.K.uXVX*XVX-XVXV.u.uXt.5Xj.K.k c.K c c.Z cXD 3 3XD.8XIXVXI FXI.`.`X-.5XV 3.a.a 3XI.`XI.`.8.K NXxXkXk.z lXk.UXk.U.6.z l.z.U d.I.6.tXuXu. .U.z l.U.U.UXk.U.U.UXk.c.U.U.U.U. .#.U.U.U.U.U.U.U.U.#.#.#.#.#.#.#.U.U.#.U.c.c.U.cXg.o N.# N.o.bXg.b.oXg.b.X.^XjXt.^XtXjXj.b.b.o.b.b.b.X.o.b.bXg.c.o.o.c.cXk.c.U.U l.c.c.U.c.U.U.c.c.#.#.#.I.#.U.U.c.c.U.U.U.cXk.c.c.cXk.c.c.c l l lXg l l.o.b.b _.X _ N.bXj.r.X.k.rXtX*.r.rXj ~ F.`XIXI.j.j.jXrXp yXe.T b =XU y.n.ZX1 R.D R R RX-.a.WXa.! o 2X=.=.).s.F.jXK 1 x #.}.a a a aX- aXI a RX-X- RX-.a.a a R R R.Z.ZX,.M R R RXDX,X1 R.} # 1XcXH nXwXU o.w.w.M t a R B R.* R R t R B R B B BX-.~ B.eXD.a a R a aX- a R.~ B BXaXLXC & v.N u a a R t a a t t a.ZX. x.- :.Y.-.9 VX.X, C.N.NXe o $.8.H.XXxX, x XGXpX, tX, t a B.~.e R a.e t a RX-X-X-X-X1X-X-X- BX,.a a R a.Z t tXp.9X+.jXpXqXKX+.9X+XpX4 p.C.;Xh.O.>Xy 4XO FX1.`.H.H.K.kXo.rXd.^.k.^XxXx.oXxXtXtXtXt.r ~ F.`.`X-X1.~ $Xx TXlXlX5X5 $X1 :.DX1X1XDX1XD.aX,XDXIX,XIXDXI 3.a.3 c.3XKXKX,XD $XIXDX, c.ZX-X,X,XD.aX1.a.9XlXlXl m DX..' !Xw.>Xh =.OX;.+.hXZX#.OXh.q.O.>Xh.,.- V `XIX, R cXDX,X, c.aX3.[.YXw.j.E & E.s..XfXf ^ w.@.4X:X>X8 WX+..XfXfX> w...s G.).WXe.WXe t u u CXsXs.W 2 vXq.-.GXHX#X3X. : m.5 TXx.~ D fXd 5 : ].2 D Y",
-"X*.rX*X*X*.r.u.8X*.`.`.`.a.`X-.`.8.8.K I q.%.$.% I |XHX3XH.9.GXHXG h U R.kXI ~.8.8.`XI.`.}.8.` ~XI.H T ~XVX*.rX*XxXgXkXk.z.I.I.I q d.6.IX .6.(Xu.Q. .6.Q.I.#.I. ./.U.I. .#.I. .U.#./.U.#.#.6.I.U.#.U.U.#.U.U.#.#.#.#.#.#.U.U.#.U.U.U.U.c.cXg.o.bXgXg.b.b N.o.b.b.X N NXt.k.k.^Xt.^.X.b.b.o.b.b.o.b.b.o.oXgXg lXk.c l.U.c.c.U.c.U.U.c l.c.c.c.c.U.c.c.c.c.#.c.c.U. .U.U.c.c.UXg.U.c.c.c.U.c.c.c l.UXg.o.b.o.b.X _ N.bXdXt.5.rX*Xt.r.kXV.8 ~.8X1XD y ...XF.).d * p.).v vXm oXl.Z 8 R c R.a a.a a.ZXL 9Xm O / / * *.)Xe.s.9.j 1 # h a.a aX-.a.~X-X- B a R R.M t R.M.M U x.Z UXD RXD B.a RX1.M.a c x `.9 x.YXwX+ vXL.wXLXLXD.M.D.w.w.W.w.w.Z 8 BX1 BXD B RX1 t.e.aX-.a #.a <.e R 8XaXLXC J 2.W.*.M t < a a a <.* a u < a.e < a t.e.l.*.M.M C u.N v TXD.H.H F F 3 hX7XpXH.1 U.a RX1X.XJ.eX1.a RX. n.e RX1X5.,X.X- RX- D.DXDX-X,XH.3 a U y M.O.+ z MXpX>.+.x z.xXi.4X0XG.n '.].0.0 ( @X$ D D ) I.X.X.XX9.UXt.K.k.K.kXtXdXt.r ~.8.8 3.8.`X-X1 B ' (.0.0XOXOXP.DXa.DXa @.'.% ' a BX1 RXD cX-.]X1 RX, :X5 x :XJ.,X..%Xc :.a.aXl mX5XcXKXKXlX,XI $.9Xc T g.'Xw.q KX0.>.E.Y.j.-X..-.9 K =.O KXhX#XH.- kXw k `XH.'XK 1 x 1.,.Y [X0Xp.@X> 0...4 S.4X8 S wXn ..p..Xq._._XnXnX8 L {.v.. O 0.W 2.s *.) 2 p v v oXG $ h : aX-.`X-XI.8X1 5.5.`XV.H.H.K.k c.KXJ.$",
-"X*XdXt.r.H F.8.`XV.`.a.`.`.aX-.`X- 3XV.k.K (.5 ` ) 1.- nXH n.O zXn.<.Y.-.0X1.H.HXtX-.8 3X-.8X-X-.`.`X9.u ~.8.H.r.k N N.XXgXkXg l l.6X@.tX&.Q l.U.#Xg l.#Xg.U.U.U.zXk.z.z. ./Xg.I.#.#.U.#. i.#.U.I. .I.#. . . . . i. . . . . . .#. . . .I.U.U.U.I.zXg.z.#XkXg.z.U.zXg N N.X.XXtXgXk.UXg lXk.UXkXg.cXk.c.z.I.z.#.U.c.U.#.U.U l.#.U.# l l.#.U.U.U.#.c.U.U l.c.U.c. .c.U.UXg.U.U.cXkXgXg.cXk.cXg.U l.X.b.b.b.bXz NXz.X eXt NXt.k.uXVX* 3XV.8X-X1 s.xX>X4XnX4..XnXn.@ ^X>.q.9.w.Z B.e `X-X- R.e RXD v vXC 2X= * C.d u.N.s OXGXm.F xXM 3 a a.aX- aX- aX- R a t t R tX, R.Z $ x.M.a.aXD.aX-.e 3.ZX5.l VX< |Xq 1X+ n.@XpXnXLXe.nXa.w.n.' y o.n.w.w.Z 8 BXD RX-XD 3.a.e R.a <.a a.MX1 B.nXLXC.E.s.) UXp h.} UXe U h._.iXqXe.M._Xq._ x x.g xXe.WXn.vXn o.DX5Xd.r.r # $XKXw.T.1Xw.MXD $ mXcXl.} R.9 h., xX1 aXl D TX- R.` `X,.a.e : R 1X,.*.wX+X>.jX>Xp.@ ^Xn ..{ ....xX>.w.wXsXa '.!X5.].GXJ D.2 I 5.|./.R qXtX*XVXt.rXtXtXd.r.H ~ 3.8XI.8.`.HXV B.n ]XP.0XP.0.n '.DXa.' D m g.DXlX-X1 R.O.wXc k D nX5XD R B B 1.Z hXD.aXI B.ZXc 1 TXD aX- aX,X,X5.0.w.Z.D.'XcXy =.GXwXGXwXcX3 x.Z.>XU = = [XBX7 1 UXl.aXD ` c.Z.a :.aXB k.S nXh M.@.; {Xf w S.; SX8.p ..iX7.d U U v .X>.{ wXi 0Xm J v.s ^X= 2.s bX> s.'.jX.XJ ` q.].X I : cX-XI.8.8.8.H FXdXd.rXtXo.r",
-"Xd e.r F F.` F.`.H.`.`.`.`.`.`.8X-.8.8 3.8.u.8XIX,.9.Y.9XcXq x X> pXAXq.YXa RX1XI.8X-.8.`.` F F ~.`.`.`.5X9 ~ ~.r.r.k.oXg.b.U.z./.IX&. .I l.c.U l.#.U l.c.#.U l.U.IXu.t.:.I.#.U.U.c.U.U.I.#.U.c.U.U.U.c.U.c.U.U.U.U.U.c.c.c.c.c.c.c.c.cXg.o.b.oXg.X.bXg.b.b.b.b NXg.^XjXjX*Xt.^Xj.XXg.b.oXgXgXgXgXgXg.o.I.#.U.#.I.U.#.I.I.#.U.U.U.6.U.U.I.I. .I.#.I.I.U. .6. .U d.IXu.t iXuXu.6.#.#.#.I.#.#.I.#.I.Q l.U.z l l l.zXkXo N ).X.5.k.X.5 cXV 3X*.Z.' O ^.. % EXe . ^X> & & & gXG.ZX,.Z $.}X,X, hXD.wXG y H 0 v p p u EXe.s O.sXm n.-Xq 1 .}.} 3.a 3XD 3 a.ZX,.aX, h.ZX,.w.Y.9XK $.Z.9 T : ` ` V kXBX3 V.-.-X7.j.jXrXr.; H.j oXLXm.q & 9XC &.! sXL.n.ZXD R RX,X,.a.aX1XI.a h.a RXDXIXLXLXmXC.@ 0 pXGXnXq v.F v._Xn._Xe._.) E._.F p._X7.F.F U.)XFXb.s.E.wXI F F.H.` 3.}.-.YXG.Y t aX- R.~ B B a a R a.e a BX-.e.eX- R.e a.~.eX-.e.a.e.e.M.MXGXpXp.TX:.T z.y z z.+X6.x.YXL x 8 8X5.D s s.wXwXKXIX5.KXtXt.kXj.rXtXjXt eXtXt.r.r.r.r.H.8 ~ ~X- 5.]X5.u D.D D @.0 sXaXL.! D.' T.] DX.XJ ' $ : :Xl.2 1.2XJXw.,XlXcXI $X-X- R a.a R.a R.e.a RXI.aXD R R B B.D.n.wXP.-XyXyX;.j.O.Y RXI t.w g [.1X<.- V $ h hXl a cXc :XwX.XK.3.3Xh.LXhXZ =.+.4 ;.4 ; wX2Xr.pX+._ U Xe U E._XnXfX+.j s.w.N 'XG oXL 0Xm.nXDXDX,X1.5.5.5Xk.5Xo '.kX*.8X- ~XI.8.8 FXV.rXdXd.XXt",
-" e.H.` F.`.`.` ~.H.8.`.`X-.`X-.8.a.8.8.8.H.r.u.`.9.9XKXp.MX, h.-.<X> ..EX+XK.j 1XK #X*.`.8 F.`.`.`XV.u.8.r ).8.k.k.r.kXt N.X l.(XuX .zXgXg.z l.Q.#Xg.#.U.U.cXk.IX&.6.7 dX .U.U.U.U.U.#.c.I.U.U.U.U.U.U.U.U.U.U.U.#.#.U.U.c.U.c.U.U.cXg.cXg.o.o.b.UXg.o.o.bXgXg.bXg.bXtXt.kXjXtXtXd.^.o.oXg.o.bXg.o.b.oXz.I lXg.U.c.c.cXg.c.c.U.U.c l.c.c lXgXg.U.UXg.c lXg.o l.c.I.c.6 i.#.6.6.#Xk.cXg.cXg.cXg lXg.bXz N _.bXzXz.X.bXo.rX9 ~.uXdXV.H.H 3.`XI 8 s 2 / u C u.w.).vX> y.E.9 vXaXD RX-X,.a aX- aXl U.w bXC O /.) < a t <Xs G.= 2 0X+.YXq $.l a.} aX-.a.e.a R RXD t t a.MX,.Z.[.9XcXcXJXJX5X,.a a.} c # .l.YX+Xp._.s v..XpX> yXmXC b 2.s 0 bXC o vXL.wXsXs R.aXDX- a aX-XD x $ a R B.DXL.E JXb.) *.d u.d.d C u u C u.s p.*.d.d.)._ E ..d uXF...BX6.@X>XG R.H.8.rX9XIXD xX+.F.Y < t aX-X- a t a t.eX-X-X-X-X- a.~.a.eX-X-.e R.~ aX-X-.~.a.*XeXpXp n z.y MX: z z rX>.;.j vXL.wXsXs 8 8.w.w sXUXc.D.u.kXdXdXtXtXj.k.rXtXtXd.rXdXtXt.r ~.` 3.8 ) ).,.$.G m.G.>XKXy.w.n y !Xy.OX.XD 'Xc.3 m.%.9 :Xc RX,XDXl $ c.9.e c R.a R.aXI aXIXD RX1.a.aX- 3 a.~XDXa.w.w.'.2XP @Xy K.G.3.,X,XI $X,Xw.jXHXBXB.-Xe $ $ $X5.a RX, T sXK $XH k k [.T.+ = r w.4.C.{XfXr.< >.-.F xXB x 1XH .XqXw.jXs B.Z B.DXm 9 g 8XI.~.8.`XI B.`.`.~.`.~.~X-.`.8.8 ~.`.8.H F.r.r.r.r.^Xd",
-".H.H.`.`.`.` BXVXIX-X- RXIXI.`.aX-.8 3.rXd.`.u.] D : $.a x cXDX,.9.[Xr z z vXhXh YX3.H.8.8.8.r.8Xt.r.`X9.`.8X*X9Xt.kXo q.X././Xu.z l.U.zXg.QXgXg.#Xk.U.U. .U.t.7 d ZX@.#.U.UXk.#Xk.UXk. .U.UXk.c.U.c.U.U.c.U.#.#.U.c.c.U.c.c.U.c.U.c.U.c.o.b.b.U N.oX9.o.b.b N.bXg.^XjXt.kXtXjXj.b.^.b.b.b.b.b N.o.b.b.6.c l.c l.U.c.c.c.U l l.UXg.U.U.U.U l.cXg l lXg.Q.U l l. .c.U l.c.U.c.c.c.c.c.cXgXg.cXgXg.o.b.o.b.X.b _XdXo.b.kX9XV.u.rXtXt.8XI.`.a.Z.n 2 8 * <.MXq.) O & o vXLXl.Z R t RXD a.M < `.ZXDXGXG.qXC vXL.N h h.M t.WXs.=.s bX+X+Xq $ x.aX- aX- R R.9X,.' h T.Z.M.M.- sXc.Y xX,XD.a.a a.} # .lX7X7.p n v.W pXeXeXqXLX+ H 0.v /.v o 2 0XCXCXG OXa xXLXD.aX- RX1 R.e.}.M a R R.DXa o o / /.).sXF.).).dXFXF.d.)XF . ....d.<.< WXA >X4 .Xb.J.xX2.<.x .ZXI ~.k.8 cXD.-XGXp.W R.*.e RX- t R.*.a.eX- aX-.aX- a.eX- a aX-.eX-.~.e a $ 1X, sXw M.pXrX+ = MXhXr.yX>X> HXwXGXa.n.* 8 8 8.Z s 'XUXdXV.HXtXt.r e.r eXtXjXt eXd.rXdXtXt.r.r.8 ~.8XI.`XJXJXJXK s.nXGXG.! @ T.GXU.0.Z 8X1XDXD :XJ.-X.XK.,.wXJ a.a a RXDX, RXIX-.a.a 1 $XD 3XDX- aXIXD R 8X5.n gXJX5.]XJ.]XlXl : : D DXJ DXHXH.1X7.- V.} $XD.ZX,.~.ZX-X,XD R.M 1.l.- k.[ n MX8 wX8.4XfX8 r r .X4 W.-XpX7XhXhX<X<XhX.XKXJ.] DXwX.XhX.XUXc.`X-X-.`.8.`.~.` BX1XI.`.8.8 3 F.8 ~.8.8.rXtXj eXdXo",
-".H.`.`.`XIX1 RX, a tXD 3X,X,XD hXI.8.8.`.rXt.k.K 3.u 3 x `X5.H.H $.'X5XhXhXp z =X+.OXh R 3XI.r.8 ~ ~.k.r.`XVXV.`XV.KXt.8XkXk.R.X./Xx.U lXg.IXgXu.6.z.z.cX&.(X .UX q.UXgXk.U lXk.c.UXk.#. .UXkXg.U.U.U.U.U.U.U.U.U.U.c.c.c.U.U.c.c.c l.cXkXg.o.b.z.b.o.o.X.oXg.b.o NXjXt.r eXt.^.rXk.o.b.o.o.o.b.o.X.o.b.IXg.#.c.c.c.c.U.UXg.c.c.c l.U lXgXg l.U l.U.#Xg lXg l l. .U lXg.U.cXg.U.c.c.c.c.U l.c l.o.o.b.b.b.b.b.XX@.zXoXtXo.z.5.u.r.X.8.`XI.a s.W /.N 8 t U.W.= O & &.>XG y.n.w $ TX,.a R R $ 1.2 & ! = = &XC.YXq 1 ` a.W.wXs G.=.sXp.-Xq.i x 3.} a.aX- x :.9Xc 1.9 U.Z x x $X, R U 3X- aX,.l #XB >X%XB.F.Y.j.j.-.[Xw [X%X0.@ ^X= 2Xi J.. J.s J H yXG.w s.9Xl B R BX- R tX- aX-.~XaXa 9 w.BXbX=XF.).)XFX=XFX=XvXFX=.J .XfX=X2X2.J L L.P.B %Xf.{.{.JX4.x.-.ZXI ~.8 R R.Y.YXp x U.a c R.e.e.*X-.e RX- a.e.e.e.a aX-X-.e aX-.~ aXI.~ #.,X.XcX+XHXwXH.1 [.j.T MXhXp.@X> & y v.w R R.} B.Z.w '.2.`XVXdXtXdXtXjX*XtXt eXt e.r eXtXtXtXt.r.r.8.r.8XIX-.Z gXP.9.n = g.G.O ' DXOXlXD RX1 R.aX-X- RX5.'XcXJ.9.e R RX-.}.u R.aXDXDX- DXJ $ x :Xc c : T 8.Z.wXP TX1 RX-.`X-XIX-XI cXVX5.0XlXJ K.SX%.- [.[ :., T cXK.ZXwXK sXJ x `., $XS [XH z.4.{.C ;.JX:.h.T.y.+.h.y.1 zXp [.F.g XDX9 :.5.0.DXKXc x 1 :.`.`.8X-.~XI.`.`X1.`.`X- 3.8.8.8.H.8XV.8.r.r.r.rXt.b",
-"XV.8X- 3.`X,X- $ x x vXGXn vXnXK.ZXI.8X*.rXt.k.rX*X*XIX9 ).`Xt.r.H.kX5 cXl.Y.p.x .Xn.xX+X,XI cXtX*.rXt.rX*X*.rXIX*.K 3 ).K.8.r.k lXg.z.z.U.IX&X& d.#.I.:.6.t.f l l.zX ./.UXkXg.#.U. .U d./Xk.#.U.U.c.U.U.U.c.c.U.U.c.U.c.U.c.U.c.U.c.c.c.cXg.o.bXk.b.XXz.b.b.b.bXg.bXg.I.$ NXt.rXj./.bXg N.b.b.b.X.o.o.o.IXg iXg.U.U.V.c.c.U.I.6 d.6XgXg.#XkXgXk.U.c d.(Xu lXg l.Q l l.U.U lXg.c.c.cXk.c l.c.cXg.b.b _.b.b.b.b.XXk.I.|.& ) I.$ ] ( 5.]XJXB x ..sXs.N C C E.)X=.vXm.'Xm.n.9XK.9 $Xc x R a t R RX, v v.q oXaXa 8 8.a.e.a tXe.M.)XsXe.).Y y xXq x.}.a a.a.M.a a <.a.a R.wXq $ $ UXI h B.} xXM x Xc.gX+XeXeXe.iXD.WXDX,.WXe.. p.C.s *.) G ^.@X=X> O.@ HXm o g o.Z 8X- BXD.e <.a.~X-.DXL 9XC 0X6X6X6...@Xi ^XiX6 0XiXi ^X6X6.J.;.C.4 ;.{ w {X8X8X:.{.<X%.< = & 3 3 ~ 3XIX+ Xp._ $., mXl : 1.9 $ 1.~X-X- a RX- a.e a R.e.a.e a.~ aX- 3 x.aX,X,X, hXI.M h.Z xXqXnX+Xn.E & 9XL.w $ R R.a.wX5.!.0 BXo eXtXt.rXt.r.rXtXtXtXdXt e.rXtXtXtXdXt.r.r.H.HXV 3.D @ @X; 4Xy.9 T.'.ZXUX5 m.u hXIX-X, cX, 3X-.e 3.a.aX-.aX, 3XDX-.aX- hXcXK :.,XcXJ D ` `X,X-.w.w gX1.H R.`XI.` RX1.a.u.`.~.`X1X-.[ k [XB.L K $ m cXK YX5XJX. sXH.YX.Xh.- 6XH [.1.; L L.PXfX2X8.y.y.y M.+ z.jXqXpXq.Y <.aX-.`XIX1X1XDXJ sXVXI.`X1.`XI.8.~.~X-.`.~X-.8 3.8 ~.8.H.H.8XV.K.^Xo.^Xo l",
-"XJXX qXM.- 1.YXwXn v.W.)X=.W 2XG.n.kXV.rXt.b.X.X N.K.r.`.` F.` F FXdXtXoX1X- uXp.. %X6Xn.@ xXD 3.rX*XtX*Xj.8 3.u.u.8.8.8XV.r ~.k N.bXg./X X X .I A d./.(.A./Xk.zX@ PX&X l l.IXk.6.f.UX d.#.UXk.U.UXk.U.U.U.U.U.U.c.c.U.c.c.c.U.c.U.c.c.o.b.X.o.U.b.IXuX .I.X.b.b.oXk.z.X.r.X.I.zX N.o.oXg.b.o.^Xg.U l d.QX&.cXg.U.U.c.U l.#.#.U.7 d lXk.c.#.c.b.z.b.b ZX .oXg.I l.# lXg.U.c.U.c l.c.U l l.o.o.b.b.b.b.X.b.b.b.R.zX@ 5.X (.5 (.5.K.KXl 1 y.s / / /.W.N...).= OXCXG.n 8 8 8.e.a aX, < R `.9XD R.n v.! 9.=.N.M R t R a B t t t.d.NX0 2XpX+ $ x 3 tX- aX- t.a tXDXD.9 $ g x.Y.a.a.} xXMXM .-XB.p._ E E.M 8X- <X- x.[ u.W pX6 %XFXF G u * oXC.v o bXmX0 =.OXyXa.D 8 a.aX5 `X1 BXD.w 9 HX>X>.CX>.4.L.4.C.@X> w.@.4.4.4X>X8X2.CX>.C.4X8XfX8X>.J.<Xq.m.CXp [X,.H.8.8X,Xc.YXpX% U.9X5 TXlXl 1Xl T.~X- t.~ a.e aX- a.~ aX-X- aX-.eX- a 3 a t t a.e.aX-X- a < <._XnXp HXC s vXD $.% $XDX5.nXOXdX1.k ~XtXtXtXtXtXt.k eXt eXtXtXt.rXt e.rXdXt.r ~ ) ) T ]Xy 4Xy.n.nXl g '.ZX. 4Xw ' DXJXKX.XJXK.~.a R t R aX-.9XJXcXK hXDX, 3XlX, h.Z c $ hX- R.e.D '.0 mX. R 3.K.5.8.HXV ).D.`X1.8X-XI 3 k V k k.,., ` ' $ $.'XlX, $ 1 $ `., kXc nX#X0Xf.PXiX6X6.@X4X6X>Xi.@X8.C.p..._.p.Y.a.8X-.`.`X1 8.MXG 1.Z.'.].HX5 5.u.KXo.K.u 3X*.KX*.kX*.rXd.u.k.KXo.k.^.^Xj N",
-"X3.K #XXX3 n n o vXF.).s 2 2.NX0 T.X.5 ).R.R q./.$XgX*XjXt ~ ~.r.rXt.k (.$ $ R Xq v %.s .XpXpXl 3XVX*X* ~X9.$Xt.k cX*.K 3 ~.u.k.XXtX X .t.Q A Q Q X.A.zXk././.7 Q.7 AXk q./ d.( iXu i./. .U.c.U.UXk.U.c.U.U.c.U.U.U.c.U.U.U.U.c.c.U.o _.b.o.bXgXx A.(.XXk jXg.X.bXg.k.b./.R.(Xo.zX .b.b.b.o.o.X.o./Xk.:.tX X&Xg.U.U.c.U.c.c.c l l.I jXg.QXg.z.c.o.b.o.b.X.: AXx.t Z.6.z l.cXg l.c.c.c lXgXg.o.b.o _.b _.b.b.o N.b N.^.k N.r.uXV ~ 3X1X-.w v.= 2.= 2.=.) 0Xv /.vXC 'XLXD R RX- R RXD R R m.aXD R.wXLXm o 2Xs 8 t R tX-X- R t R.MXK MXeXe v.pXp.i x 3 < a.eX-X-.aX, cXlX, =X. s.M h.l.l.FX7.[Xp._XqXGX, <X- a R R.*XwXc a.N pXn %X=.) t.N t.MXe y o O b.E.T.G HXLXL.Z.D BXIX1.~ B.DXa 9 H.EX> W ..y.+.jXn . ^XnX4X4Xp .XpXrXnXn MXr.@.x S.;.xXp.Y.MXpXpXpX2.9.` ~.8XI `XSXp.j t.aXI.eX1.eX1.e.eX-X-X- a.~ aX-X-X- a R a a aX- a a tX, a R.e.aX-X- a a R a.MXpX4.Y.q o.w.n.MXy 1.ZXlX5.0 (X1 FXdXt.rXtXt eXtXtXtXt.r.kXjXt eXt.k.r.rXtXt.rXtXd Q : (XI.Z g (.0 g (X1X1.] @X..w : $XD :XDX5X-.e R.~.eX- R a.e.,.GXl.%XwXcXHXc mXcXl.aX- $ 3.D.Z.n.'Xy.] T )XJ.$ T.% ) f.5.H.8X1.`.`XI 3 | 5.,XX k.,X#.Z :.9 :X. hX.XlXS., |.[.O =.O HXi..XnXp.Y v.T.x.P ;X8X8X2.x >XwXcX, c.HXV.uX,X,.n.Y &.>XwXcX. D m D DX3 D.8 ~ ~.8.8.8.8.8 F.8.uX*.r.rXt.r.kXt",
-"X1.a.a a RXq b /.).) *XG ^.N v.'XD ) q f q.A.$X .f q.b.^ N.^.^.k NXt N IXX.KXM X+Xn.<XiXbXi ..<XDXD.r 3 ~X9.K.8X*.`X*X* ~.rXdXoXo.k q.R.z.7 X Q f.IXk q./ fX Q.I.R.IX@.t./.(Xu.z.z.U. .UXk.#.UXk.zXk.#Xk.U.c.c.c.U.U.c.c.UXk.c.U.cXg.o.b.o.XXkXg j.zXg.o jXgX9.b.b.k.kXjX$ N.^ N.I.bXg.b.b.b.oX9 N N.:.Q.R.I l.cXk.c.c.U.U.U l.z.t.:.z l.c l.c.b.b.o.X.X.tX$.z.z A.XXkXg l.U.c.c.c.cXg.o _.b.b _Xz.b _.b.b.b.b.b N.k.k N.rXtXt.u.8.HX-.n s J 0 J ^Xn ^ 0 0 0 b.q s.w s.e R aX- RXD.a R.wXc.eX1.WXL.E 9 2.N.N t t a.eX- BX- R.aXU.j v.) pXn.<X+ x 1 $X- a.aX-XD.a 1.Z s TXwXe h .l .[XB.F._ p E x R R R R a a.9 $Xw aXD pXn .X=X=.N u.M R C.n v v HXC.+.O = o.nXLXaXsXD.eX1X1 8.n s HX>X4X+X4.gXr.xXqXGXqXnXq v.j 1.pXGXpXqXrX+ [.j.jXr.pXG.- R.' vXp.x.j $ F.8 ~X,.[Xr zXn.wXc ' :.Z : :.e RX-.~ RX-X-X-.e.e a.~X-.~X- aX-X- aX,.e aX- a.e RX, c h t._XnXp.j H.n.nXs R a sXl.n.0 gXaX1.`X5XtXtXtXtXtXtXtXtXtXj.rXt.rXt.r eXtXjXt e.kXt.r.k.r.`.HXV.` '.2X5XD.`.`.Z.].wXD.e.a aX- BX-X-.~X- R RX- a R a $Xl xXl :XcXc R $.Z.MX-X-X-X-XD.'.0 4Xy.].H.k cX*.u.u.u.`.k.uX-.8 3.`.8.8X*XX.,.,.% k.3 1XK V T.- x.3XH.3.SXh.3 = =.>.T.; & &X+Xp.E.<X6.P.P ;X8 ;.< >XMXIX-.~X-.` B R x v.. 0 v v.ZXDXIX1.`.`XV.8.8.8.8.8.8 ~ ~.rXVXt.rXt.r.kXtXt.rXt",
-"X1X1XI.a.M x O.) C t.).< / v.nXX.8.8.r.kX9 N N.b N.o.KX9X9 NXt.^X*.rXM.kX*.K., # h.i v.@...s.CXpX+.9X, 3.r.8.r.r.a.r 3Xt.u.kXt N.X (.z A ZX@.t AXx l./Xu.7.tX@Xx l.t.( dX X .z.z.UXkXk.z.I.U.c.z.z.zXk.6.U.U.c.U.U.U.U.U.c.U.c.c.c.UXgXg.b.o.bXkXg.:X9.X.z.7Xg.o.X.bXtXt.kX$Xd N.XXz.b.b.b.b.oXg NXg.z jX X .U l.U.c.U.cXg.c.c.c.6.&.: i.U lXg.o.o.b.^.o.z.R ( jX@Xk.bXgXg l l.cXgXg.o.o.b.b.b.b.bXz.b.b.b.b.X.b NXjXjXtXoXtXt.u.8.8X-XIXK gXCXP.q H & yXC yXCXCXP.n s.Z a a a R.a.a R.ZXcXD.a t.ZXa o o.s.N.d t t RX- RX-X- R.a h.M.W.N.)XeXnXp .i c.} a a.aXDX,Xl.M x $ x h `XBXBX7X7.FXe.m.W UX, a.e.aX- t aXD.eXD t.* E...@.sX=.N.* t.M tXDXL v y o.. y 0XC.q 9.n.w.nX, R.*.MXaXG.q oXq C.d.M.M <.M.M.M t.M < h.M 1.M.M.M.M.W.W._Xq._XL.M.* RXD UXpXp.j `XI.8XIXDXJXHXh.1.1.-XwXK.%Xc D 3XDX-.aX- aX- BX1X-.~ R.eX- a a a a.~X, a.a.eXIX-XD.a x.9.M.9XnX>Xr.!.w.w.*Xl $.n.w T g DXV F.8.kXdXtXtXtXt.rXtXtXtXt eXtXt.kXt.r.kXt.rXtXt.r.k.kXt.u F.8XVXIXI BX-XI.~XD g s RX- aX- B.~.e.~ a.e.e.e.e.~ R aX-X, 3 RXDXDX,X,XD RX1X,.MXDXI '.0 ' TXy.DX5.u.uX5.KX5Xo.KX5.5.k.u.kX*.uXt 3X9.$ k | `.-XMXD hXI a.aXKXc k kX.XUX0.!.>X0 w w.. y._ *Xn %.P.CX8X2.<.F.p h a.8X1.`.`.~.aXG v 2 v v.9 RX1X1.` 3XV.8 ~.`.8.8 ~.r.r.rXtXtXtXt.rXj ~Xt e.kXj",
-"Xd.D 3 cXG 9 oXL E E.xXG.vXK.}X*X* NXk.XXkX9XkX9.f qXkXkX9Xo.KX5X*.rX9Xt.K 5 ).8.a.MXGXnXb.. % . v.9XK 3 3Xt 3.rXVXI.HXI.rX*.r.& ].R.t.7.t X.I.I ZX&.7 X.&.U.z X.t A.7Xu qXg.z.UXk.zXk.IXk.I q.I./.I.U.&.I.UXk.U.c.c.c.c.U.U.c.U.c.U.U.c.o.b.b.U.XX Z.U Z q N N.XXj.k.r N 7 ).X.R.o.X.o.b.b.o NXg N.z.:.z.z d l.U.cXg.U.U.c.U.z.t.IX&X XgXgXg.b.b _.o.X l lXo.t.:Xg.o.X.o.o.oXg.o _.o.b.o.b.X.b _Xz.b.b.b.b.bXz.kXtXtXd N.uXt.r ~.H.`X1 T.!.! 0XG J.nXn.wXGXa bXL '.Z RXD.e R a RX, R.* aX- R R.WXa 9 o 2.N.N t t a aX- B B a t t a C u.N.sXsXn y.Y.F # $.} <XDXD x.a.}.} #.l XBXr.- vXeXe U u C h t.~ RX- a R aXI B R 8 E.)X4XiXb.W vXe 1XD 8.WXe x v.w H 9 0 vXCXC 9XaXaXLXD.DXL b y.E J t < aX- a R aX- tX- aXD $ 3X- R.e $.9XD.Y.W v.YXD 1XI.'.dXnXp [.Z.8.HXIXI.K n.-XwX+XpX,.}X,.`.aX,.eX-XIX,XIX-.~.eX-X-X- aX-X-.~X-X-X- R R 3 $Xc tX3 1 s xXqXnXp.x H vXLXDXDXwXw.' 'XU.0.0.k.`.8Xt.^.rXt.r eXt.r e.r.r.rXt.r.r.rXt.rXjXjXtXtXt.r.kXt.r.u.8.u.`X1XI.H.8XVX,.2 TXlX,X,.aX,X,X,XD.u h 3 3 hX, 3 c.,.,.]XK.ZX5 :X,Xc T xXl TXl.'X..2 !XJ.Z.HXIXV.H.`XI.H.~ F.8.u.`.H.`.8.8.8 ~X-.8 #XJ ` `XM 3.a.}.a.aXc.[X.XwX..>XK b & =X0X0 HXr.s.m GXAXA.C.{XA.J.{X2 # R.`.`X-.`XI < v.sXb.s b x BXIX-XIXI.` 3.r 3 ~ ~.r.r.r.rXtXt.rXd.rXtXt eXtXj.X",
-"X-.`.`.M vXL vXs tXp.s.) 0 v.}X*Xt.XXgX9XgXkXkXg.f.$ } I.A.%X# IXX.|X9X5Xt.5.k :.0XJXwXUXr.j.p nXr g.Y.K 3XVX* 3XV.u.Z c.ZXdXx ,.X.f ,.7.&.z.I.I Z fX d.I.(X XuXu.z.U l l.QXg.zXk.UXg.f.zXkX q././Xk.IXg.c.#.c.c.U.U.U.UXk.UXk.U.c.c.c.c.o N l.o.b l q.bXzXg.b NXjXj.kXt.k ).IXg.b.b.o.o.o.bXg N.z.7.: i.7. .zXg.c.U.U.c.UXu.7 i.U.(.:. .z l _.X _.X.z.7.t.zXxX .^Xg.b.b.o.b _.b _.b.b.b.b.b.b.X.b.b.b.X.b.b.kXj eXt.kXoXt.u ~.8.H.`X1.H.' g.nXmXL xXa.w.w s.wXaXy sX5X, c.a R.aXI R R R B.a t.DXLXGXm O.N.N C tX- RX- RX-X- t R <.*.* C 2.N 2 v.EXBXM.l #.} < <X,.a h h .l X%XcXqXeXe.W < u.* h R.aX- RX- t t a R a a U pX6.@ 2.)X+.Y.> nXH n.jXe._.W.>.= 9XC v JXCXm bXeXLXLXe b H.E s 1 t.a aX-X-.~.e.` B.~ 3.KX1X-X1.~.uX, <X,.M.M.M.MXDX-XD.dXqX4XwXlXIX1XI.uX1.0.,.YXpX4Xn t R.a R 3.e a a.e R 3 3X, RX-.~X-X-.e R.eX-.eXI.ZX..e.[.9 sXq.wXnXp.EX> WX> s.w.D R RXc.w.0 g 8.H 3X*.K.5.XXo N N N N.X.XXo.XX9 N.X.X.X.X.5 NX9 N NXx N.K N.5Xt.u.kXI 3.H 3.8 3.DXJ 'Xl $.a cXIX-.~X-.e.e RX-.e.~X-.e R D 1 `Xc.,XcXK DXJ xX.Xw.'Xw !X;X; 'X5XV D.u.5X9XoXo )XoX5.$XV.8.H.8 ~.8 ~.8.8.5 I DXXX3 #.a.}X-.}XKXKXHXw yXUXm s.qX> w & SX0X6.sXFXf...JX8.{XA +.y x.aX-.`.`.~.` t v..X= 0X+.w.9X5 ( ) q D ).f.r.8.rX*.r.rXt.r.r e.r NXg N.r eXj.b",
-".`X-.a h b.s.s u UXn.)..XG x.`.8.^ N.b.b.b N N.5.kX9Xx.KXlX5 c cX*.K.X ~.r.r.^.&XxX5.wXDXeX, x x hXDX,.ZXV V I.,XMXl.-XK.%XJ : T.$ } Q.t.AX&.:.tX& XX .7.7X .(X&Xu.6X .( Z./.6.6.fXu./ Z.f./X ././.I.I.I.I.I. .I.U.U.z.#.z.U.U.U.U.U.U.UXkXg.o.QXgX9.oXgXkXg.X.b.b.k.^.r.k.k.^Xj NXg.bXg.b.b.b.b.oXg.bXkXk l.o.c.c.cXg.c.c.c l lXkXg.z.#Xg.oXg.b.b _.b.o.b.X.^XgXk N.b.bXz.b.oXz.b.b.bXz.b.^.b.b.bXz N.b.b.^.k eXt.r.r.k.k.r.r.r.H.`.8.` BXI.!.0 sXa RXD.MX1 8XD T.n 1 :.,Xl aX- R R R a B.M R RX,XaXGXC.sXv.N.* t aX- a B.e aX- a a t t.* 8Xs.N.)._X+XB.FXM # h.a <X,.i.l XB.[Xc._.WXe U 8 t t <XD B.e B B R a R a a t.* U E pXfX6 2 vXL ' xXG.9.wXe $ UXsXsXG.) J J OXC.q o.s v.E J.q.E v.M a.~.eX-.~.~X- R.~X-X1X-.K.eX-X1 R R RXD.M <.M.aX1 R 3 tXG.x [.9.u.uXlXxXxXIXJ.[.jX+.pXp U.a #.a 3X,XIX,XDXIXDXI 3XI 3XIXD cXDXD.ZXD h $Xw.9.wXl._.9.jX> y.jX0 H o s.w $X.X,.nX5XP.0.HXV ~.rX*Xd.X.rXtXtXtXtXtXtXtXtXt.rXtXtXVXt.rXt.rXt.r.rXt.r.H.r ~.H.u.`.`X1X-.`.~.HXU 1.GX,XK :XK `.] 1 5 hX- RX1 a RX-XIXDXl.a.aXI.a RX, a RXD $ 8.0.w.2.2 5X9.% q.$ ] 5 Q.A.R.$ 5 )XI.H.8.8 ~.8.8.r.`XI 5X# |.,Xc.}XD c h.,X# K.>XwXw 9XDXm yXG HX0 SXn %XnXi . w.T.T.{ rX% aX1.`.`X- B.aXG.s.v.. y s.5XX ).5 )XxXX.5X*.rXtXtXtXt e.rXtXtXjXg.IXj e e.b.^",
-" 3.a.}._XL...=.WXp *.).).9.w.r e.^Xg N.X NXgXo.kXdX9.5Xl )X3X*.5.rX*Xt ~.^.^.^Xx N.KX9.KXM.5Xl ` : cX5XV.uX5X3 I.,XH.Y nX>.j.9Xh.0 5 ).$X .7.(.t./.& PX ZX@./ i.& d.7X&.6 d.z lX@.&./ d.I qXk.z.UXk l.U.I.U.U.#.U.#.#.#.#.U.z.#.#.#.U.U.U.cXk.IXgXk.UXkXgXk.cXk q./.XXx N N N.XXk.U l.U.U.#Xk.IXk./.6X@.6.I.6. .I. . .I./.6.6. ./. . .I./. .I.U l.z l.z.z l.z.I l.UXk.UXk l.z l l l lXk l lXk lXkXg lXkXg.X.bXo NXo N.X.XXoXo.K.rXt ~XVX,XD ' ! 'XlXDXD.ZX1X1XD RXs.aXD.a.}XI.M.}XDXDXDXD R RXD.W.n 9 & b.WXe.M.M.MX1XIXIXDXD.M.M.a.MXI RXDXs.WXL 0X4.p kX+.F `.i ` n W [.9Xq x.w U.M.}XDX,XeXDX, 3XIX,XDXD 3XDXI h h.. .X>.4Xn vXG s.' '.9.9.YXG x sXDXL.w M b.@ 9.E &X0X0X0.;X0 y yXDX,X,X,XDX,XDX,XDXDXI c 3 :XI 3XDXJXl 3XDXl $.9XcXDXV ' xXp nX%Xw 3 3.k.XXVXVXl x.YX+XpXn h.M c RX-.eX-.~ RX- aX-X-XD.e.a.e tXD UXJ.M h.M h._XnXGX4 J.YX> & yXGXL.0 s.,.2 $.Z.nXP 'X1.`.8 ~.k.r.X.rXt eXtXtXdXtXtXtXt.5X*Xt.rXt.k.k ~XdXd.rXoX@.z.RXV.8.kX1X1.K c.8XVXD.2 g.OXcX.XKXM DXKXJ : 3 R.e.~X-X1.a a.`X5X-X1XI RXI RXI R 8.M s x gXIX5 3.r.uXtXV.r.r.X N.K ~.8XV.kXt.k F.8 F.r.H.k ~.$ }X.XHX#.% kXc.-XJ K K.O @ !XUXD.wXK J =.xX8.@..Xi.v w S.y.4.4.{ LX2 h RX-.`.`.` R x oXe ^ T.*XI.8X*.8XtXt ~.r.rX*.rXt.r e.rXt e.r.^Xz.^.^ e e.k.b",
-".u c s ..)X4 vXp.).s.)XL.9X1.HXo.b.b N.b.b.k.rXtXt.k q.KXkXXX9X*.r.X.^.X.o.bXg.^Xg P./XoXtX*X* I.|.K Y.k D I )X#.SXh.T & . OXn.j.3.5 N }.(.f./ qX@ f.7 Q./ lXk l Z.(.6.I.I.IX&X .#.6.U./ l l.U.U.z.z.UXk.U.U.c.U.c.c.c.cXk.c.c.U.c.c.cXg.o.b.b.U.o.o.b.b.o NXg eXt.^./.kX*.kXt.r.b N.o.b N.b.b.b.b.XXg. Xg.cXk.cXk.c.c.c.c.c.cXk.c.cXk.UXgXg l.b _ _.X.bXg.X.b.zX9Xg.o.bXg.o.b.o.o.o.o.oXg.X.b.X.b.X.X.b.^Xd.kXd.^Xd.k.5Xo.k.kX*Xt.r.u.8.HX1.' g.n.nX1 $XVXDXIX1 8XD.aXDXD.a.aXIX1.Z.MX1.M.a.MXDXDXLXG.q 0.= 2 C <.a.a R RX1 RX- <.aX- R RXD 8XL.s.).)...<.[XBXM XB XB.pXw.Y._XeXe U.a <.a.a.M t.Z RXl R 3 a R.aX-.aX- t.M E.m.@Xi.)XeXsXD.W UXa.M xXe x 1 $ t C u.WXm.NX> O.@.;.@.@XGXGXG $ a.e.e.e.*X-.* a a aXD R.u a.* RXJ :Xc DXc.Z h D.]XJXcXJ.1 z WX#XD.H.8.H.r.8XV.Z.M.pX4XnXq.M h.~X-X-X-X-X-.~.~ RX,XJX,.w hXc.9.eXeX+.FXpXpXpXpXnX4Xp.jXrXrXG.nXa.'XD.*.9 'X1.nXa ' DX-.8 ~XVXt.rXo.rXtXtXtXtXtXtXt N ) PXk ) ) q.$ ( )XxXx (.XX$ Y Q D.R.2 Q.| ).%Xo.%Xx.2XU.'XD R.~XDX,X- RXI hXD.u 3 3X,XI.u RXl 3X-.eX1 R.aXD.a R x.n T mX1XI.rX*XtXtXd.k N.$.XX*.k q F.k ).u.r ~.rXd.r.rXV.H.k.,.-.,XK.}XDXXXX [X..OXGX;X,XD.w.jXU zX0 MXi w ^ z = & = w L.{.CX+XBXqXl.`X-.`X-X-Xe s s.WXI.8 ~ ~X* ~ ~X* ~ ~ ~XtXtXtXtXtXt e e e.^ N e eXt.bXj",
-" <XpXeX=.).. ..) /.sXpXG $.8.rXz.o N.b.^ N e.rXtXtX*.rXt.kX*X*X*.^.UXgXk.o N N N N.5.k.K 5Xo.kX@ 5 5.& (.5 5.K 6X7.hXpX6Xi..Xi & yXc } 5X3 N |.( Q Q.$Xk.5.A )XxXkXg.z.&.(.IXu.I.z.U.Q.Q l.U l.U.UXg.Q.U.c.U l.c.o.o.V.o.V.U.c.cXk.U.o.b.o.b.o l.bXz.oXg N.o.bXjXtXtXtXjXjXtXj.k.b.b.o.b.o.o.X.o.bXg.o.I.c.c.U.c.U.c l.U.UXk.c.U.cXk.c.c.U.c.o.b.b.b.b.o N _.b.U.b.b N.b.b.b.b.b.b.b N.b.X.b.X.b.X.^.^Xt e.rXtXt.rXt.u.k.k.rXd.uXt.8 ~.8X1.`XK.0.w.w.D.e RXI B R R RX1X1X-X-XD R.aXD RX1 R R R R R.nXLXC 0.N.) t t a R.e aX-.* a a t a a.~XIX,.* u *.)X=..Xr 1Xq kX+.-XpXnXe.W.} < t.a RX-XD tX,X1XJ.5 TXJ 1 :.MX-.a <.M E.sXfXi.)Xe U.9XK ' y y nXK.9XK xX- t C C CXG.E 2.v ^.xX4 .XGXq.Z R.a xXI t.* a t.eXD.M.a h.e a RX,X- :.5Xl 3XD.ZXI 3 c.M xXp.YXw.M.8.8 F.r ~.H cX- $.pXpX4 UX,X- RX-.`.~X-X-.e R.uXH.a.[ $.YXqXqXqX4 ..<.J.<.<.x.xX2XrX> v.n.w.n.nXOX5 BXaXaX5.0 (XP.H.8 ~.rXt.rXo.r e.r.rXt.rXtXt.5Xk f.f }.&.|.f f P.R 5Xx.X ].R I 5 QXJ 5 ).] 5.5.| : '.0XKXl 1 '.a.e R R BX- a aX-X-X-.~X- 3XD cXI R R RX1X1XDXs.9.' g.]X1.rXVXt.k.r.rXt.X.z.X.^X9 )X*.5Xx ~Xt.rXt.rXtXt.r.rXI #., `Xc.}X-.} ` [.%X.XhXy.jXw., @X;.GXZ.T.O.L =Xh.OXC.E =.@X6.4 ;X2X# X1.`.`.`X-X1X- tX,.H.8 ~.8 ~.8.8.8.8.8.r.rXtXt.r e.r.rXjXj.bXg.b.r eXzXt",
-"XLXn.sXvXF..XFX=.v 0XGXBXI ~.r.X.^.X.b.bXjXtXjXj.rXj NXkX9XgX9.bX9.IX9.o.k.k F 3.H 3XV I.k.HXoXdX*.r.K.K ~ NXMXJXh.1Xp..Xb 0 SXh.O.OX..K.kXt.X 5X5.K.AX9.A.$Xd.5 N q.A.&X@.I.z.z. .#.U.Q.U.c.# l.#.U.c.U.U.c.#.c.b _.o _.o.o.U.#.o.b.b.b.b.b.oXg.o.b.b.b.b.b.bXj.^.kXjXt.rX* N.o.X _.b.b.o.b.o.b.bXg.b.I.cXk.c.c.U.c l l.U.c.UXk.c.UXk.c.UXg.o.b.b _.b.b.b.X.bXk N.b.b.b.b.o.b.b.b.b.b.b.b.X.b N.^.kXdXdXt.rXt.rXd.rXt.^X5.rX*XtX*.r 3.8.8X1 T.'.DX.XlX..e m.* DXl c kXK hXc `.,X,XHX. x $.2 a.>X1Xa.wXC 0.=.N C a R.eX- R.e a t a.e R.e.~X- 3.e C.* *.) 0.j.p.Y.p.[X7Xp._Xe v h U a.a R a.a.a.a 8X, RX1.Z.~X,X,X,Xl.e a R U E...CX=.s.).M.9Xw sXK.YXK x hXD.aX- t a < R uXs / /Xi.CXf.F E < t.*X,X,.YXlXK $ :.9 1XcXl.9 a R RX- 3.u.~XVXI t aX-X-.~ R.MXp.< [XD.8 F ~.r.u.rXt R RXBX+Xp v UX1.~X- RX-X- R aX- UX,.a U 1.FX4Xn.F.J.<X2.p.pX+X+ .X4 HXqXLXa.D.DXd.D.].*X5X5.0XP 'Xo.`.8 ~.rXt.r NXtXt.r eXt.rXt.rXt.k NXt.kXt.kXtXt.k.k NXV.rXdXdXV.rX5Xd c.8.~.`.`.~.~.~ gXO.O gX. : ' D TXJ 3.aX-.`XI.~X-X- aX1 3.Z RX1 RXIX1XDXl.0XKXy.Z.DXVXkX*XdXxXx.bXo.^.K.kX9.z.kXx.KX9XxXdXd.r eXt.r.r.r.8 VX3 :XMX-.} `., [.2 nXw.'Xl.n.] !.q.>.+.+X0.+ @ = 9 b H.;.C ; r.{XrXp.aX-.8.~.`.~X1X1.HXV.8.` ~.8 F.8 ~ ~.r.rXt.rXt.k.r eXd e.^.I./ l.r e.kXt",
-" ^.v 2 2X6XnXbX= 0 JXc x.`Xt.^ N.oXoXtXt.r eXjXtXjX9Xk N.z.f q.z.A./ qXx ).u D.0XUX5X5XD.8 ).R.r.H q.$ qX3X9XM IXZ KXp o oXG.j.O !Xc :.8 3.k.5XoXo ( T.A :.uXx.0.zXx.f.X.XXkXg l.z.Q.#. .U.c.#.c.U l.U.#.U l.U.c.b.c.oXz.c.U l.b.o.b.bXgXz.oXgXg.b.b.o.b.b.b.bXj eXtXtXj.k N.b.b.o.b.b _.b.o.b.o.b.b.o.IXg.c.c.c.c l.c l.c l.cXk.c.U.c.cXkXg.b.b.b.b.b.o.b.b.b.UXz.b.b.o.b.b.b _.b.b.b.b N.^.^.^XtXjXtXtXt.rXt.rXtXVXd.k.k.r.uXtXtXt.8XV.8.`Xl gX5XyX..2 xX.X5Xc T x mXJ $ :.Z 1X,.% :.-XlXJ h.2 1.w.sXC 0.= *.M.* < aX-X-.e R.* a R.eX-X- R 3 a a t C.) v.@.EXp.YX+Xp.W.i.W 1.a.M < R <X-.aXI.a.aX, R B.~ R R R R aXI a R U E.s ^.B 2Xs <.}XD.} RXD.M t RXD R R B RX- a R C.)X=XiXf.JX4 U t.}X- RXMXDXlX, $Xc c.u : #.u.e R.eX- $X-.~ 3 3.e RX-X-.~.a t xXp.Y U 3.8.8.8XxXx.K.`X-.'X+XnXpXe RXD R R RX-.aX- a a t u._XnX4Xn.<.<.{.p.{X4 ...XA.mXn WXn.wXaX1 B.H.0.D.n.nXa g.Z.` B.` FXVXt.r.rXoXdXtXtXtXt.r e.rXtXtX*Xt.rX*XtX*Xt.r.kXt e.kXtXtXdXd.k.kXo.r.8.8 F.`XIX1.2 T 'XcX1 TXc 'Xl TXI.eX- RXl R.eXIX-X-XIXIX, RX1 8XD.w.nXP @.].2.R.| ].I Q X.R 5 f.&.t f Q 5.f.A P.f.fXtXtXtXtXtXt.r.r.a ) VXX V h #XX ` k =XUXP.9.wXD.nXP.! &X0X0 yXCXU.!XL s 9.;X0.yX8 r.C.p.w.a.8X-.` F.` B F.k.8.8.8.`.` ~.8.` ~XtXVXt.rXtXt eXtXz.bXg.XXgXjXt eXt",
-" /.v 0 ^.j.@Xi 0.@Xn.9 3XV.r.^ N.k.X.X AXk N N.XXgXgXkXz.XX@X Q.|.&.& I.] DXJ T.GXq m |XV.$.8.H.$.KXX 5 q.$.$Xc.% n.'XmXG.9 TXDX,.u cXV.H ) (.2 ] YX5X9.8 cXVXJXVXVXo.k.KXgX@ dXu.Q d. . d iXu i.I.U.z.Q.6.I.#.c lXg.I.z.I.zXg.o.b.o.bXz.b.oXg.b.b.b.o.b.o.bXj.k.kXtXt.k N N.b.b.b _.b _.b.b.b.b.b.b.#Xg.cXk.c l.c lXg.c.c.c.U.c.cXk.c.cXg.oXz.b.b.b.b.b.b.b.U.b.b.X.b.b.b.b.b.bXz N.^XjXjXtXt.rXt.rXtXtXdXt.rXt.rXt.^.kXt.r.u.rX* ~ ~XI.`.DXU '.'.M.ZX,XD hX, $X,X,X,X,X,XDXD.ZXDX,X-.aX,.Z R.ZXaXa.E b.=.N C t tX- a.e a R.e a aX- a B.aX-X- < <.*.N.s O.s..XpXn U E UX, h < t $XI.e RXD.aX, tX, RX- RX- t.a t.a.e.e < U U.. ^.v / u 1 h aX- t R R R tXD R.* aX- a a.a 8.N / {.CX4 . U < x cX-.eX-.e.eX1XD a.aX-.~ c.~.a.e.K RX-XI.eX5 R a a.~ R.~ t EXpX+.[XI 3XI.8X*.H.k F.`X,.-XG.YXp.Z RXD.M.a t t t t t t <XnXG.<.p.x.{ >XA ..m E p U p._X>X> x.nX1 BX1X1 $.wX5 ' (X1X1.`.8 ~.rXt.r.r.kXj e.rXt.rXtXtXt.rXt.rXtXt.k.rXtXtXtXt.rXt.rXt.rXt.r.rXt.K.r ~ F.~.`.~X1 g.'XPXDX1X1 B.~ B.eX-X-X-.eX-X-.a.~X-X-.Z.~X, R R R $ T sXO.] B ' :XxXoXx ).X.XXoXx qXx NXjX9.k.XXo.k.kXdXt e.r.rXtXt.r 3 # VXXXXXJXM.,XBXJXH nXwXP.'XaXs gXLXO &.q 9 s.n.n.w.wXL 9X0 rX:X:.{.@Xr.- k ~.`.~.` F.~X*.r.8.8.8Xt.`.8.H.`.HXtXtXt.r e.r.b.X.b.b.^.b NXjXt.r",
-" ^ 0 &.jX0 &X0.xXpXp xXI.8.rXxXx.& ].R PXk.X.^ NX9.o.X.X.R 5.z (.R IXX ).$ :XJ.2 k IX# 6 V 5 c D D.u.u.r.8Xt.r 3X1 'XK.Z.D.u.K.r.u 3.8.K.~Xx ]XO.2 (X5.8.8.8.8.H.8.K.8XtXtXo fX@X@.Q ZX X Xu.6 X.tX&.f X ZX&X .I.7.&.(.6.t.t.(Xg N.b.b N.o.oXgXgXz.b.o.b.b.X.b N eXtXjXtXj N.oX9.b _.b _.b.b.b.b.b.bXg.IXg.U.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.o.b.b.b.b.b.b.b.b l N.b.b.o.b.b.b.b N NXz.^Xt.rXt eXtXt e.rXtXt.r.uXtXtXtXo.kXtXtXt.rXt.r.8.8XVXDXOXl.nXD R R t R tX- R.aX- t B R.aXD.a a.a R a a R.*.DXaXm bX= /.M.*.a a a R.~.e.aX- a R.e aX-X- R a.e tXsXs.) 2.).@Xn E h t.}X, 3.% 3.9XI RXJ.ZXD $XU x.~X-.9 D a a hXJXK.e.} p.m.@.B.) u.Y 1Xc :Xc.Z U.a aXD a BX-.eX-X-X- t.N / 2 wX6X4 E a R aX-.~.eX- R.~.~.~.~X- 3.u R.~.HX,X-X-X-.` 3XD a RX-.` a.a u vXpXr.- RXDXI.` ~Xt.8.8X1 x.-XG.pXG U U UX, U.M < t < tXe.F >X+X4XA.m p U . E U E.d.W EXn n v.nXD BX1.n.n.0XU D T B.`.` ~.8XtXt.r e.k.k.rXt eXtXt.rXtXtXt eXtXt.r.rXt.rXj.r.r.k.r e.r eXtXtXt.X.r.r ~.8.`.`.` g.0Xl 'X-X-XIXD BX- aX-X-X-.~.e.eX- cX,X1 R.ZX5.D.D.w.0X;.].DX1X9.uXd.r.rXd.rXt.k.r.r.k.rXt.r.kXt NXt.rXtXt.rXt e.rXt.r 3X*.,XXXM VX3 k V V.-., =XU 9 sXD.!.n sXm.' 9.n.n $.DXs.w v &XCXA {.{.4 W.TX+ a 3 c.`.`XIXtXI.`.8.8X-.r.5.8.8.8.H.kXV.r.r.^.^.^.b. . Xg.^XtXt e",
-" w J &.!.!XG.;.@X+Xp :XV qXk 5.K.A.A.A.A.z N N N.^X*.^.k.r.r.HXt 3 3 ~X-.8XI.`X1.HXI 3 c V ).5.HX5.k.k.KXk NXo.k.u :.5X*.KXt.XX*.rX*Xt.^.rXd.H.H.H.H ~.8.r.8.8.8.~.8XV.` ).^Xo.z.IXk d.I.I.I.z.I.I.I.Q.R.Q.I./.z q.I./XxXg.I.$Xg.XXg.^.b.X.b.cXg.b.o.b.o.b.bXgXg.^XjXtX* N.o.b.o.b _.b _ _.b.b.b.X.b.c.UXg.cXg.c.c.c lXg.c.c.U.c.c.c.U.c.cXk.c.b.b.b.b.b.b.b.b.U.b.b.o.b.b.b.b.b.bXzXjXt e.rXtXtXtXtXtXtXt.rXd.rXt.u.rXo.kXt.r.rXd.HXt.H FX1XI @X; : 8XD <X- t tXD B.eX, BX- a.e.aXDX- a a R.e R R.ZXa o J.=.N.W.j.aX3.e.a.eX-.e.ZXc.e a a a.a.u T.e B RXs v H 2X>...W U U # c 3XK.|.Z R.e nX,.M.- x.'.eX- :.Y.M.a.}X. `.*.M E pXfXb.) 8XeX,.9 x 1XD 3.a aXDX1 RX- a aX-X-.*.N.=.B.CX6XnXe a.e.~.~.a R.e BX-.eX-X-X-XI.eXx ` DXl 3 1X5X- 1XK.Z.a R.~.~ t tXeXpX+ nXcX,XD.H.`Xo F.8 RX-.9.YX+XpX4Xp.Y.<Xp 1Xe.M C.* xXpXnXr.m p E E U h U t t <.WXeXn M.YXe.Z 8.H.D.'Xc.DXVX-X1.`.` F.8.rXtXt.rXd N.rXtXt.rXtXt eXt.r.rXtXt.rXjXtXtXtXt.r.r eXtXt.r.rXt.r N.rXt.r.8.r.~X1Xo g '.' R.~.~X1XDX- a.` aX-X-.e.% c mXJXJ.9XJ.]Xw.3XU @ @ (XJ.$.A.r.rXdXt.r.kXj ~.k.kXtXtXdXtXt.kXo.rXtXtXt e eXtXtXt.rX* 3.$XXXXXX VX# V.[.[ `X.X.Xm.!.w.n.' s.'.n x.DX, 8 B R v.n.q HXf.vXi ;.{X2.g.i.,.] : (Xx 3.r 3.r.r.k.`.kX9XVXVXV.k.r.kXt.z.X.b.o.#.IXg.^ eXtXt",
-" =Xh.OXO.G.>.+.T.h [XJ I I.R |.f./XkXg.^.KXj.^Xt.rXj.r ~Xt.r ~ 3.8.r.`Xt.8 F.H.HX1XV.8XV.`XX.].2.kXt.r l.(.zXx.RXd.H.r.KX9.XXk.^.^XtXt.rXjXxXzX5.^.k.r ~X* ~.8.8 3XV.`.$.r.K.z ) AX@ f.&X@ AX@.RX@Xg.I.I.R.f./.z./.zXk q.z.$XgXk.z.z.X.#.^XzXk.b.b.b.X.b.b.bXg.z dXxXjXj.bX9.b.b.o.b _.o.b.b.o.b.o.bXk.#Xg.cXg.c.c.c.c.c.c.c.c.c.U.c.c.cXg.U.c.b.o.b.b.b.b.b.bXk.b.b.b.b.b.b _.bXzXzXd e.rXtXt.rXtXt.rXt.r.r.r.rXtXd.r NXtXtXtXtXt.rXt.H.`X1.H @X;XP n : $ h $ $ 1 x $.9 x.w.'XKXcX1 a R a aX-X-.e.WXa b o O.=Xe = [ D.eX- a B t.'.3 R R <.a < c 'X- 8 8 C.W.j *X4 v p x.a.}X- 3 :XIX, R R 1X,X,XDXJXlX-.eXl 1XD.*X, xXM R.} E.sX> ..)._XDXD.ZXDXD.M $.} R.a R.e a R.eX- R RXs.=.s.@ ^XnXe tXI.K.e.~.e R a R.eX- BX-XI.~ 1 :X5XKXDXM.KXJ :X..Y k.uX1 R.e u v >.jX2XH 1X1 3.`XdXI.`XI.8XI.Y.YX>.J >X4.<X+.<Xp.F xXe.FXn >.< . EXF u t RXD.e R a.M EXn yX> v.w.Z.wXaXP.0 3XV.H.`XI ~.8.r.rXtXtXt.r N.rXtXjXtXt.rXtXtXtXtXtXj.rXt eXt.rXjXtXtXt.r eXt.rXt e.^.k.kXtXt.`.`.H.D gX5.0.Z.~X-X- RX-.u.aX-.aX- a cX, : ` : 'XJ.9XUXOXP.G D.0 5X9.fXjXj.rXt e.r.rXjX*.8Xj.kXjXtXt.5Xx.rXtXtXtXtXtXtXtXtXtX*.8.,XXXX |.,XS.l V |X3.[XHXU y.' sXD.W $Xl 8 '.ZXl 8 BXaXL yX0 ^.B.PX6 ;X2 ;.T h #.5XoXd.H.u R.`.`XV.`X* ) D.$ I ) ).$.k q./ N.bXz _.b.bXt eXt",
-".@Xm =Xc.!XK.j z.1XB : ].$ )X9.K.K N N.KXt.r.r ~ ~.8.`.8.8.8.8.8.8.8.r.`.8 ~.r.kXV.`.8.`.HXIXV ).f.R.XXxXxXg ( QX9.k.AXgXk.IXk.U.X q.6.fXkX NXg.b NX9 N.kXV.r.H.8XV.5X-.`.k.AX@.(.f.tX X .A.tX Z.6.&.(.(.tX ./.:X .( ,./.7X .f.tX .6.(Xg.b.z.o.o.b.b.o.o.bXg.z A.oXtXj.b.o.b.o.b.b _.b.b.o.b.b.b.b.U.I.c.U.c.c.c l.c.c.c.c.U.c.c.cXg.c.c.cXg.b.b.b.bXz.b.b.b.U.b.b.b.b.b.b.b _.X NXj eXtXtXtXt.rXt.r.rXtXtXtXtXtXt.rXoXtXt.rXt.r.k.rXI FXIXV g.n T x gXc.9XcXJXJXK T x :Xc 1Xl.9.a aX- aX-.e tX-XDXa o o.= G b x $ V a.eX- < R.'.w x a a cX- cXJXl.e t C._XC pX4Xp.F U <.M 3X-.~X1.eX1 R R.MXD <X, a.e R a.e a.a a a a t U E.m.xX>.j.jXGXcXw.]Xw `X, a t RX1X- tX- B c R.*Xe / 2Xf.@ ^Xe a.eX-X-.a.e R.e.e R a.e RXD R.aX1XDXD a 3.a RXD 1 h R RX-X- R._Xp . WXr.x.jXDXD.HXo :.k.8X-.a.a.pXp >.x.{ WX2.pX4XnXpXp ..JX2.F p E u RX- R.a.e $.* <.WXnXn.jXGXL.n.n ' T T.~.8 3.8.8.r ~XtXt.rXtXt e N.rXtXt.rXj.rXtXtXj eXtXt eXt.rXtXt eXtXt.rXdXtXt e.rXt.K.k.r.r ~.r ~.`X- g 'X5 :X5X5 R.`Xl.H 3.` R RX1XI R.`.e x $ B.ZX5 '.0 g B F.`Xt ~Xt.r e.r.^.rXt.k.rXt N.X.zXt.5XkXxXt.rXtXtXtXtXtXtXt.u ~ 3.,.$X# }X# V.} 3 |.[ VXH n.q g x $ $X. T 1.2XKXJ.9 gX..! b.q.qX6Xi ; r ;X8X+.TX,X- BXIXI.k.`.8XV.`XI 3XI qXX.5.KX*.r ~.k.X.o _.b.o.b.b eXjXt",
-"XiXn H y v.Y M hXV.5Xt.rX* 3.rX*Xt.r.r.`.8 3.8.8 ~XI.8 3.8.8.8.`.8.8 ~.8 ~.8.8.8.8.8.8 ~XV.K.&.R fX (.X.^XoXj.k./.^./.cX@XgXk.&.A.6Xg.tXgXgXg.^Xg N NX* ~.8.`.8XV.8.kX* ~.X.X.I./Xk.I.Q.z. .z l./.Q.U./.U.z./.I.I.z.U.zXk.I.UXk.UXkXg N.U N.b.o.b.X.o.X.b.z./ NXj.^.b N.o.b.o.b.b.b.o.b.b.bXg.c.U.U.c.cXg.c.c.c.c.U.c.U.cXg.b.b.o.b.bXg.o.b.b.bXz.o N.bXgXg.b.^.XXz.b.b.XXz.bXzXd.r.r.r.r.uXt.rXtXtXtX*.r.uXtX*.r.5.rXdXtXtXt.rXV F.H RX5Xc.w.w.w.w.Z C t.* t a t t a a t R.a.a a.e a t a a a 3.Z J.E.v /.N R aX-X- aX- R a a.* aX- aX, a a a.e t <.* *.d 2.xX4.m U < <.}XI RX1 R R aX,XDX,XDXDXD a a R.a BX-.~X- R t <._XeXf ^.sXe.N.9.a.M.a.a R aX- R 8 a B.aXl ` 1Xl y.E.sXfXf .._ a.aXI 3.~X-X-.eX- a.~X- aXIXIX-X- a RX- a RX-X,XD R.u a R a.MXnXp.<XfX6X4 &.w.MXI c.5 FXIX-.8 a 1.jX>.x >X2.<.{Xr.<.@.<X4.<X2XA.m U t t RX- cXc.g h C E v x.j.9.'XPXU.2Xx.u.8.8 ~Xt.rXtXt.rXjXj.rXt.r.bXj.rXtXt.r.k.^XtXt.r.kXj.r.^Xj.bXtXj e N.^XjXtXjXtXt.kXg.^XxXt eXV.8.8X-X9XP 'XO.2XK.5XKX3Xc :.%.].].'.$.a.aX*X, s.0.n.0 gXO (.`.HXtXtXtXtXtXtXd ~XtXt.rXjXt.bXxXg.r.X NXoXdXt.rXtXdXt.kXx ) N DXJ 6 , } V.,X-.a.a # VXX.-.>XOXGXK $ cX,XJXKXcXKXl $ '.wXKXa.! &X0.4.T.{ L.xX2.TXw RX1.`.`Xd F.8.8.`.8.8 3XM.5 V ` q :.$.kX9 N.b.bXzXg.^Xt.^.r",
-".v O J & bXGXr .aXV.8 ~.rXMX*.r 3 ~.8.8.r.8.`.`.`X-.`.`.8.8.8 ~.8.8.8.8 ~.8.8 ~.8 ~ 3 ~ ~X*.r.K.kXx q f 5.&.k.r.^ N.X lXk.6.zXg.$.zXk.b.c.bXz.b q.b.RXkXx.5.u.5 #XV.`.8 ~.r N.X.X.Q.z.z.c.z l.U.Q.cXk.UXkXg.UXkXk.UXk.cXk.b.b.b.b.o.b.o.b.z.b.b.X.b.b.b.^.rXj.XXjXtXj.X.b.o.o.b.o.b.o.b.o.b.bXgXk.#.c.cXg.c.U.U.c.c.cXk.cXg.o.cXg.o.b.b.b.b.o.b.b.b.b.b.b.oXg N.o.b.bXz.oXz.b _Xd e.r.5Xo ~X*.r.rXt F.8.rXtXt.u.r.r.XXtXtXtXtXtXVXt 3.` B :XK.w.n.w.w.w.w.Z R RX- R R a R.a.eXD RXI T.a a.M.aXIXIXe b H 0.=.N tX-X- R B.eX- aXD RXI R a.u.~X-X-.a < t u.)XvXn.< . E U < a.aX-X- R a RX5.'X,X,.a 1.aX,.a.e.e.~X- R.e R t U.W p.@.B *.).*.a.aX- R R a R.*.aX1X- R.eXIX, :XG y w 0.@X4XnXe tX1 # R aX1.e aX-.e R.eX1X,X,X-.eXI.e R.eX-XD.% #X- R c a a.MXp ..4Xf %Xf.@.j.aXIXV 3.H.`.`X*Xl.}.-X>X4.J %.mXAX4X+.x.{.x.{.{.mXe U a.`.~ R.M :Xe E.} UXqXq.YXwXU.0.Z 3.H.` ~Xt.rXt e.^.^Xj eXtXt e.r.X.b NXg e.rXxXkXkXtXjXt.z.rXj N.IXk.rXt.IXdXtXt q N.r.rX@Xk.X.r.kXt ~.`XV.DXU.nX5 sXlXM :XM c ` ` DX5XlX1.a.uX-XD.9.n.0XP.0X5.H ~.r.rXtXtXtXtXt.rXt eXtXtXtXt.rXd.r.^Xd.r.X.rXtXd.r.rXt.5 fX9 7 D 5 | , k.$X9.`.a < 3.$XB VX0 y.'.' ` x.,XD R BXDX1X,X1.eXD sXa o.;.@.C...@.{.CX4X+XqX-X-.`Xt ~.8.8.`.8.}XVXMXMXX : :X9XxXo N.b.b _.^Xz.X.^ ~.k",
-".@ 0.!.q bXU yXp <.}.`X* ~.8 3.8.8.`.8 3 3XV ).`.`.`.8.`.`.8.8 3.8.8 ~ ~ ~.8 ~ 3.r.r.r.rXV.r.k.rXj.k N.X.X NXk.k.^.r NXg NXk N.b N.o N.b.X.bXgXg NXuXk.& qXx qX9 ) qX9XV.` ~.` FXk A.zXkXg.I.Q.U.z l.U lXg.z./XgXkXgXkXgXk.c.bXg.o.b.b.b.b.b.U N.bXz.^XtXtXj e.r.rXtXjXj.b.o.b.o.b _.b.b.b.o.b.bXg.c.I.UXg.U.c.c.c.cXk.c.cXg.o.b.cXg.c.c.o.o.b.b.b.b.b.b.b.b.oXk.b.b.b.b.bXz _.XXz.XXz.rXdX9.r.8 ~.r.r N.`Xt.k.rXtXV.u.X.rXdXtXt I.X.ZXVXVX5XU.' s T yXK.'.wXa.ZXI B.~X- RX-X-X-XIXI.~Xl.5.9 TXc TXUXU.j.O.;Xp.j sXlX-.~XVXD.DX5 3X, 3.uX-.u.~X-.e a.*.* u.N 2XfX4._.W.M < R RX-.a 3 R :XKXcXcXJXw T k 1 $ a R.~X- B aX- t U.d...@.s.).) U.* R 3.a 3 a.e.a 3.a B R $ 3 t t t G.N - ^.@XnXq.}.aX,XI.e.eX-.~X- R.eX-XI $.e RX-.e R.e.aX- `XJXIXlX1.~ 3 R UXG.JX> {XA %.@.j EX-.uXV F.`.`.$ k.a.wXr.@.s._.m.m.m p ..<.JX2 >.m E.a R B.0X- 3 <XD t EXe.F.9 : x.`X1.HXI.r.rX*.k eXt.r.b N.^.r e.kXt.r.b.o q.I.rXtXg./.kXt.kXk AXjXjXg.zXk eXj q.r.kXgXkXkXjXt.z q.XXkXo.r N.H.HX1 g.'.n.'XD R.eX-.a aX-X1X-X, cXI RXI $.' TXU mX1XV.H.HXtXtXt.rXd.rXt eXd ~XtXjXtXt.r.rXt.r.rXdXd.kXdXoXx.R fXxX9Xx )XV.`.`X* #X9 3X-.~.` aXM V.,.>Xm.9XaXU.ZXJXwXJX. !X.XK T.e R.n s.w H z ^.vXA.{.4.JXpXB 3.} 3 3.r F.H F.8.`.8.uXVXV.u.rXo.^ N _.b.o l lXzXtXjXt e",
-".> !.q.q b.q.jXG c.}X9.` ~XVXI V #.5.$.u }.K.A 3.`X-.`X-.8.8 ~.8 ~.8.8.8 ~.8.rXtXtXtXt.rXjXt.kXtXt.^X9 NXjX*Xt.k.r.^.^.k.^Xk.o.X.oXzXg.b.o.b.b.o.b.I.z./ qX9Xx.5.K )X5.`.u (Xo.k qX@X@ A.t.tX .t dXu./Xu.t.IXu.f i./././.I.IXkXkXg.oXg.b.oX9.U.b.^ eXjXt eXjXjXd e.kXjXt.X.b.b.b.b.o.b.o.b.b.b.o.b.c.I.U.c.c.cXg.cXg.c.cXg.o.o.b.cXg.U.UXkXg.b.b.o.o.X.o.b.b.oXg.o.b.XXz.b _.XXz.b.bXoXt.8 F.u ).H.H.8Xo.`.k.r.rXtXd.r.X.r.uXtXd.$ 5 5 5 DXJ.OX.XwXUXUXwXU.9.n.wX5X1X1X1XD B BX1X1X1 B 8XD.ZX,.DXaXsXG yXr.E 0.s x x $ cX1X1X1.~.~X-.~X1X,XIX- a R R t 8.N * 0 0 v pXe <.a RX-X1X-X-X,X, R.MXc $XD s.aXDXD.e a RX-.e R t u.W._.J.s 2.W y x.*.e.- : `.eX1 h.3 R.a.e k.9 $ C 8.NX= /Xf.@XnXq.M R.eX- BX-X-X,X-.~.aX1X1XDX-.e.eX-X-X-.~Xl B R `XcXJ 1Xl.aXeXp.<X8 { { {X4.[ h.` 3 F.`.H.8 DXX.,.j M.YXe EXeXe._.m E p.J WXn EXe tX-X- I :X, t < u.i h.Y.} a.8 3.r.rXt.kXtXt.r.rXtXt.^ N.bXj eXj e e.b.X.b.UXj e.X.k.o.k.^Xj.bXj.r.X.bXjXjXt.bXtXj NXt.^Xt.k.^ N.r Q.f.z 5 q ) T ] 4 !.O.0 B RX-X-.aXI 3XI 3X- aX- $ s T g 'Xl.`.8 ~.rXtXtXtXtXt eXtXt.rXtXt.r.r eXjXd.^ ]Xx.X.RX@.| Q.| (Xo.^.r.u.r 3.`.8.`.`.`.~.8X1.8.aX* VXJ !.q sXaXlX, $ c.ZX,X,.Z.ZX,X, $.Z.9 &.q z ^Xi 0.C.{XA.J a.aXIXt.` F F ~.8.8.rXVXt.r.k.^.bXz _Xz.#. .^ e eXtXtXt",
-"XU.j.!.q.0XU MXw n V V 5 VX3 k., }X#.G }X#.,X9 3.`XI.`.`.8X- ~.8X* ~.8.8 ~.rX*.^.k.rXt.^.r.kXjXj.bXgX9XjXtXj.^.rX*.kX*XjXt.X.r.^.b.b.o.b.o.b.o NXgX9.b.X.kXt.`.8.8XI.8.8.KXx ~.8.R ]X@ A.&X@X X@X&X@X X .f./. ./.AXu.& d.f.6.UXk.cXgXg.b.b.oXk.o.^XtXj.^XtXtXtXtXtXtXj e N.b.b.o.b.b.b.b.o.b.o.bXgXg.I.c.c.c.c.U.c.c.c.cXg.o.b.b.cXgXk.c.c.cXgXg.c.c.cXg.o.oXg.c N.o.XXgXg _.o.V.X.XXg.XXdXV ~.H.`Xd.H.`.r.r.H.kXtXtXtXo.rXtXtX*.k.kX*XV 3 : IXJ.-Xc.9.9.,XwXc sXa.DXa.nXaXa.D 8XaX5XaX1.D.M.w.0XG s.9 y H w bXe.W RXI 3.`.`.~.~.`X-.e.~.uX, B.a.* t t G.) 2 ^ J v pX, 8 t BX- RX1X-X-X-.a tX1XD 8X1 R t B aX- a a a <.M E._.J...s *Xn 9.MXD.eXJ :XK a a :., xX- a., s.Z.M.= / /X= ^X>Xq v.a.* aX-.e a x $ ` $Xl $ :Xl.5 x :.Z $X5 :XDXI.e.e.~XD `XcXK.jXG.@ SXb.P.B % WXB aX*.K.`.`.8.KXM V Xw.+X+ v.M U U UXe.m.F >._Xe x : :XIXlX,.Z.e < U hXq .a 3.8.rXt.r.r.r.r.r.rXtXtXtXt.k.b.^Xd.^Xj eXzXz.b.bXdXj e e ~ e eXtXjXtXj eXt.r eXt eXd e.rXtXtXjXt.k.b.r 5.R 5Xk 5 q ) TXyX; 'XlXD RX-X- RXI.e ` $.e.uX5.w.wXO ' RX- ~.rX*XtXtXtXtXtXtXtXt.rXjXd e.rXj.r.r.r.zX@.| X.R (.tXo.rXdXV.H.k.HXt.HX-.`.`X-.`.`.`.~.~.8.}.,.,X..GXO.> T 'Xl.]XD.9XwXD.Z.O.Z.G.>XK =X0 M.;.BXi L LXA >X% [.}.} 3.r F F F F F.rXtXtXt ~.^.b.oXz _ _ _.c.b.b.XXk.Q.X",
-"XKXP gXU s gXwXH VX3XMXXXJ.S |XH |.S }XHX3.K.aXDXI.`.8.`.` ~.`Xt.5 ~.rX9 NXt.^.IXk.rX9XgXjXg./Xk.^.I.I.bXj.zXg.^.^XgXg N.^./.^Xx.b.o.b.o.b.bXg.b.X.bX9.X.K.k.rX*.k.8X*.u FXV.uXxXoX@Xx.^Xx.zXk.RXk.I./.z.UXkXkXkXk.cXkXk.UXkXgXgXk.U.cXg.b.bXg N.b eXtXtXtXjXtXtXjXtXtXt.b.X.b.b.b.o.b.o.b.b.b.b.oXg.I.U.c.c.c.c.c.c.c.UXgXg.o.o.UXg.cXg.c.c.c.UXg.cXkXg.cXgXk.U d.I d.I.tX .7Xx.z.t d f q PXx.A (X.XxXx.`.^Xt.rXtXt.r.XXt.u.rXtX* ~XV.8X-XMXcXXXMXM xXl.9Xc., g.n.nXa.n.nXLXLXL.n.wXa v.ZXaXG s b g.j H M z.E JXn xXI.e.HX5X1X- aX- t R CXl.* tXs.M.).N.).vX6 ^Xe U.N R RX-X- R.~X- R R a.M R RX-XD R R a.aX- a a < a.W.W . .Xb.).N C xX,.e.eX,XI $.e R h R # a aX,XD t.N.=X=.v.v ^.pXn 1 < a a aX-.eXDXK `.]XcXcXK.,.9 $ TXKXJ :Xc.,XIX1.e R R R RXc = z.@.; { % % %XnXwX, cXoXV.~.8XI a a $XB.YX< 1.Y $.M.M E._XeXp.W $ n.,.S R.a < 1 xXqXe E.i `.}.`.rXtXj.rXjXtXtXtXtXj.r.r eXj.^.^.b.b.^ e.^ l _.b.bXjXjXt eXtXjXj.rXt eXt e.^.rXd.r e.r.k eXtXt.r ~.X.rXd.rXV.r.5.8.` B.k g 'XlXl R B RX, c :XJ.]X3 TXc ! !.O D R ~.8X*.r.rXtXdXtXtXd.r eXt.r.r.rXjXtXt eXt.k.^.^.rXt.XXt.k.r.rXtXt eXt.r.`.`.~.8.`X- F BX1X-.8.`XX k g @.nXy g DXcX.XlXK.2 $XwX;.jXOX0 9.+ &.;.; 0 w ;.P.J.p.1.[ < R c F F F.8 ~ ~.r.rXj eXj.bXzXzXz _ _Xz.o.o.z.: 7.I",
-".] g.0 DXUXHXH.-XB |XH., | [.[X< VXBXc.,.-XJ.K V D I :.8.H.`.5Xx.H NXkXkXt.X.$.c.r.b.b.r.U. Xk.o./.I.^.r./ NXt N.6.$Xj N././ _.o.o.b.o.b.o NXk.&.f.f.$./ ) ).k ) ) ).R.uX9 ).R }.f f ,.R./.7.&.(X@X .tXkXk.UXgXkXkXk.cXk.UXk.U.c.c.cXg.oXgXk.bXjXt eXtXt.kXtXt.kXtXjXt.b.b.X.b.b.b.o.b.b.b.b.b.b.o.I.c.c.cXg.c.cXg.c.U.c.cXg.U.c.c.U.c.cXk.c.cXgXg.c.c.c.U.#.I.( qX&X&X&XkX . .^.(Xx X.R P.& D (.|Xx.r.rXt.rXzXdXjXt.X.rXd.uXt.u.8.8.8.aX3XX #XM # #.lXM 1X3XJ.9XL.nXmXm bXL v.' y b b 9XGXG bXG J s J o b 2.N.w a.a.K.K cX-X- C C.).M.N v.s.W G.).N.)XbX6.@ ..W.W < <X-X-X-X-X- R R.e.a.e R.a.*.D BX- R aX- a a < t E p ..sXv.N u 8 a R.~ RX- 3.~X- R a.a.M a.a a.M C.= / 0 w H.4.jXGXq R t tX-.a a.e.a.eX, R a.* R a R a.e.e.eXIXK $X-X-.eX-X-.a <XrX+.+.CXi { %Xi W.h.j xXJXIX1.`.8 3.aXI.Y.i E.Y.SXH.a UX, E.[Xw x UXq.F < < h.MXqXeXq x .9 c.a 3X*.rXtXjXtXtXt e.rXtXtXtXtXt e N.b.bXzXjXz.oXz.b.o.oXj e e e.rXj lXj N.^Xk.b.r e.^.X.r eXdXt e.^.r.X ~XtXdXtXt.k.8.u 3X1 gXU '.'XDXD 3.eXI.a `X5Xl c 'XPXUXU gX-.`X*.rXtXtXtXtXtXt.rXtXt e.rXd e.rXdXjXtXjXt.kXjXj.k.XXj ~.kXjXt.^ ~Xt ~.8.`.`.`.`.~ FX-.`.`X-X- c., m !Xc T.'.n $ 3XDX,XDXG s s.q.q.q.q & H.4 w w.4 w LXfXb z [XB.a 3.r.8.8.r.rX*Xt.rX*.r.rXj.bXz.o _.U.#.oXzXz l.t d.t",
-" s ' n.-Xw [.-X7 [Xh.[.[.[X7XBX7XB.,.[.[.S.G.3 YXK )XVXV.8.8XV F qXtX9XjX9.rXgXjX9Xj.c.^.^.IXkXg.bXk.oXj.bXkXgXj.I.X. N.Q.X l.X.o.b.oXgXgXk.X./.A./.&X9XXXx VX9 ).fXo I ~Xx.kXoXo 5X9.XX9Xx.5.z./ A A./ lXkXk.UXk.c.UXkXkXk.c.UXk.UXkXg.oXg.o.^XjXjXjXt eXtXtXtXtXtXtXt.k NXg.b.b.o.X.b.b.b.b.o.b.o.U.oXg.b.o.c.c.cXgXg.c.c.c.U.c.c.c.c.c.U.c.c.c.c.c.cXkXg.U.U l.I.U l.z.oXgXg.b.b.XXxXx.XXo.X.u.kXV ~.r.r N NXdXd.r N.rXt.uX*XV ~ 3.8X* qXMXM.}.a < 3 #XlXBXJ.-XGXG yXCX> y HXr HXCXmXC wX>XCXmXC &.+X0 O.=.N.w < a hX- t R 8 U.N.).W C 2Xn.) ..;..X6X>X4.@ v p E t t t a RX- a R a.a tX3.ZXlX-.a R aX- a.a a a < U U.s.s -XF.d.*XU 1 R R aXIXD a t a RX-.} a a a t.N /X=.@ H zXpXGXq x t.e tX-.e RX- $XJ xXlXDX, :XKX,.u.MX5Xl x.%.%X1X-X-.e < aX, yXn S.@Xf H.4.+ MXh.>.> $XI.aXI.~XIXIXI `._ E hXwXl T k U.MXq ! x < < < < UXe E 1Xq X7Xl.}.aXIXV.uX* ~Xt.r eXj.r.rXt.rXtXtXtXt.^.b.^.bXz _ l.b _Xz.bXz.^ eXjXjXk l e e.b.zXjXjXdXg q eXtXt eXt.r e N.kXt.X ]X9XtX*.8XVX1 ' m.0.'XlXD.eX- a R.e.e aX-.e.w.w gXJXl.5.8.X.$XdXtXdXdXt eXdXt e.X q.kXd ).bXt.X.z.X.r.X.XX9X*.^.z ~X* l.rXt ~.`.`.8.`.`.` B.`X-.`.a.8XV `XHX.Xw.n sX5XDX1 R R.D.n.n.qXC J o J J.E w w S w {Xf ; .Xq x.- cX-X*.8.r.u.r.rXt.rXj.rXt.^.b.b.b _.#. .V _.o.b.XXo.b",
-"XU.+.G = =.1.1.S.S.SXB.[ X7 >XBX<.TXhXhXH n.3X,X1 3.8.`.8 ~.8.H NXt.rXtXtXtXtXj eXj.r.^.bXz.b.b.bXjXjXjXtXj eXtXjXg.b.bXg.o _.o.b.b.UXk.U.z qXk NXX.K.k.KX*.r.rX*.K.k N.u.8.8 ~ 5.$ ).K NXkX9Xx l.I.z l.6XuXk.U.UXk.U.c.U.UXgXk.cXg.c.b.o.cX9.bXtXjXtXtXtXtXjXtXt.kXt eXtXj.^.o.X.b.b.o.b.b.o.b.b.b.U.o.b _.c.c.cXg.c.c.c.cXk.c.c.c.c.c.c.c.c.c.UXg.cXk.c.c.#.UXk.UXk.cXg.b.b.b.b.b N.X N NXt.H.$.% q F.rXj.b.b.b.^ A.zX*.K NX*XV.H.`X- : ` # $ a <.a a.} x x ` n.jXG H 0 HXCXi b ^.s 2 2 2.v 2 2XLXG.q 2.WXs.M # # a U R u.N.N.d.)Xe ...._ v.. M zX4XrXn.... E E.M t t < t aX- a R t tXDXw k.Z aXD R a a < a < < <.W.W .X=.) * C.* [ x.eX-.`XIX- B.e R.* tX, a t a t.N.).vX6X0.4XnXn 1X, <.* t a aX- t $ TXK :.,Xc 1XcXcXc TXc D : `X3X-.~.a.eX- a.WXhX+.+.T z M.@ J w H H M M y xX, xXI.uX- #Xp E E.MX,.M [.M U.aXe.M t < u E.iXq XcXB c.a.`.8 3 ~.r.kXt.rXt.rXj.rXt e.r.k.rXtXj eXtXzXz.b.b.o l _.b _.bXzXz.^ eXj.U q.^.r lXk.o.r.o N.Q.^ e.^.^XjXjXj.k.kXdXx ).f f.f }.$ D D @ 4XO.G :.,.e.e R R aX-X- R.Z.nXw Y D 5.|.R IX@.t.R fXoXd.rXt.r.X.Q N.r.IXo.rXx l NXtXk.bXkXtXx )Xt.XXx.K ~ F 3.` 3.8.8 N ).`.`.~.~.` aXcX. m.>.1.9.9Xc.9.wXaXa.n.!.q O 2 2 2 2.v.v.. H wXb %.{X6.s._.Y.9X-.rXV.r.r.r.rX* ~Xj.rXjXz.b.b.b.b.I.U.V _Xz.X.b.b N",
-".>X;.+ n.jXrX< n.-XB k.LX<.S.1.S zXrXe.W.WXe s.aXIX-XI ~ 3.rX-.r.k.rXtXtXtXj.^ N N i.z.b.c./.o NXgX@XtXtXj.rXjXj N.^.o.b l.o.b.o.b l.z./Xu.f./X9X9 N.5XX.$Xx 3 3.8.rX*.r.uXtX9XV.kXX.K.X.K.5 NXxXk.&.I.I q l.I.I. .#. .#.U.c.c.U.c.c.c.o.b.c.X.b.b NXz N.^XtXtXtXjXtXt.kXjXtXtXj.b.b.b.b.o.b.b.b.b.o.c.b.b.b.cXg.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.U.c.c.c.UXk.c.UXk.cXg.cXk.cXg.o.b.b.^XgXg N.^.XXx.X.kXtXt N.^.b.b.X.^X .z.& 5.& 5.$.5 DX$ }.3 k.,X3.S XH $ X3.-Xh n z J.s.s.s.N.s.W G / / G.N G C * bXG.N.N C RX, a < a.).N.sXn.pX+XpXq._.<X+ W._Xn.sXqX+.[X7XpXqX+X7Xq hX,.M < <.*.a tX,X,X, a.aXD R R.a t a t.} h._XeXp.) G / C u $ $.e cX-X-X- B R.e a.aXD a a R U *.s.@.;X>X+.* < t t.e.a a aXl.9 xX- xX, a R RXD t a t t R a cX-.~ 3X- aX- <.a.MX+Xp y.@ HX0 &.>.+ =XCX0X0.Y.jXw.'X5 c.u.a ._.i.W.M.M U.a EXeX,XeXl EXeXeXq.M < h.uXIXV ~.`.XXxXk.^XtXtXtXj e eXt.k eXt.r.r.rXt.rXjXjXz.b.b l.bXz.b.b.o.bXz.o.b.b.oXzXt.^XjXj eXj eXd.^.b.b.b.b N N.^.^.r.rXt ~.8.8.8.8XVXV BXU TX5 ' B RX- R.e.~X-X- aXD '.n !XI.`.H.HXd.HXd.r.kXd.r.k.r.k.rXt.r eXdXt.r eXtXd.r.^ N.k qXt.kXoXd.^ N.k.8.`XI.8 ~.8X3 }.% D 5 5X3 IX3.3.O.G @.OX;.3.G.].n.n OXmXC ^ 2 / *.NXs.) 2Xe.@.s.BX>Xf vX+.Y [.aXIXt.u.r.uXtXt.r.k.b.X.oXzXg.b.Q _ _Xz.b.b.b.^Xd e",
-" =Xw =Xp M M.jXr.[ n.1.L.hXrXrXrXn...=.s.W.n.wX-X-.a.8.8.8.8.8 ~.kXtXtXtXtXj N NXg q./.^./.IXgXgXk./.X.^XjXdXjXt e N.b.b.UXzXgXzXg N.fX ./.$ NX9 q q.$ q.KX*XI ~ ~X*.k.^.u.r.`X9 : 5XV.5.5Xx.5 ).I.I.z l l l.U.U.cXg.c.UXg.c.c.c.c.c.c.o.b.U.b.o.X.X.bX9 NXjXtXt.kXtXtXtXtXjXjXj.^.b.b.b.o.b.b.o.o.oXk.bXz.b.c.c.c.c.c.c.c.c.c.c.c.c.c.U.c.c.c.c.c.c.c.U.c.c.#.U.c.c.c.U.c.c.o.b.o.b.I.t.f d.&.I.5.r.^.X.o.^.o.b.b.b.XXo.rXtXVXV 3.8XIXXXJ.3 k |XH ., kX3.- V.,.g.3 =.j.;.j.s vXeXL U.*.* C uX+Xn.* t.* C.* a a h U C C.) * %.pXnXM.l.i.FX7 ._XB.i U t t < U U E E U.W EX, UX, u < < a < a.M hX,.} < a.M < R <.W U.FXpXnXL.s.N.M t t.e.a.~.~X-XI.eX-XD R.*X,X- t a.N.N.sXf.x.@._ t.M R.e.a R a.e.Y : :XDXK 1Xl.e a RX1 R.e R a.e c R.~.8 3.eX- a < <Xn.j WX0.+.> oXU & H MX0.+ HXC oXm B B.8.` Xn hXe.M.d U.m E x x._ $ x `.} 3 3.KXt e.^Xj.cXgXz.r.rXtXt.r.r e.rXtXtXtXt.r eXt e e eXj N.b.U.o.b _.b _.b _.b.b.^.b.oXzXz.^XjXjXj.bXz.X _.b.b.o N.o.^ N.r.k.r.H ~XV ~ ~.`XI B.ZXU '.0X- R R.*X1X-X-X-X-XD.w ' m $X1.~X1XdXd.uXtXt ~.k.r.k.r.k.rXt.k.rXtXtXd.rXdXt.A q ] 5.A.& I I.|.R (Xd.H.8 N 3 ~.r.u.kX*.8X-XX )X-XI.,XJ = gXwXl $XU 9Xa bXC.! 2.vXn U t B.M C sXG *Xb w.C.. ..L n $.8 c.r.r.rXt eXjXzXzXz.bXz _ _.c. .o _.b.^ NXjXt.r",
-"XD t.9X0Xh.h y y y [X7X<X+X>XG.@ v v.N.N.N s 8 R R.8.`.8 ~.8.rXV.kXt.r.rXt N N N N l.b N.oXx.b.X.o.^Xg.XXo.X.X N.o.X N.b l.X _Xx.X.RXk.XXxXkXkXk.f.$XxX*X*X*.8 3 ~.rXV.rXt 3X9 IX9X9.r ) ) 5.&.fX@ d.: lXg.U lXg.c.c.c.c.c.U.c.c.c.c l.o.b.U.b.b.b.b.bXg.X.^XjXjXtXt.rXtXtXtXjXtXj.X.b N.b.o.b.o.b.oXg.b.b.oXg.c.c.c.c.c.U.c.c.c.c.c.c.c.c.c.c.c.U.c.c l.c.c.I.U l l.c.cXk.cXg.o.b.b.U.IXgXxXgXdXz.X.XXzXz.b.XXzXz.XXzXkXd.u.k.kX* ~.8.`XXXcXX x # `.l.l.l # #XM xX3 yXa.s.jXGXr.-.[XlX,.*.a 3 #Xc .Y kXcXK g.9XwXL u.)X=.sX>X+XM.l h.l # .-.i UX+.M.YXe.>.,XlXqXnX+.F.-Xn x U h.W.M.w U.M.a xXB 1Xp x., 1Xp x hXeXnXnXL vXs C.N U t.M.a.eX- $XlXl.D $XI.0 $ $ a R U.)Xi.@.@.xXn t.e aX-X- t.a.a.eXD.aXD `XKXc ' h $.aX- t R aX- cX-X-.~ 3X- a t < <XGXGX> W 9X0.! oXmXp y H.+ = & !Xm.!XIXV 3.iXn x E U E._._._.iXq x 1 TXlX,XI.8XV.r.^.k.^Xz.U.o.^ eXj eXt ~.r.kXtXtXt.r.rXtXjXtXt.r.rXj.^.XXz l.b.b.b.bXz.b.o.b.b.o.b.b.b.o.b.b.b.b _ _ _.b _.b.b.b.b.^.bXt.r.rXt ~.HXt.`.8XIX1X1.2.' TXD.e.~.e.e.eX-X-X- R s sXU 'X1.R.].X.u.^.KXtXx.kXx N.R.z 5 N.r.f.^Xo.^XoXxXdXo ).X (.5 :.5XxXo.5.HX9 ~.8X*XkXx.rXV.r.8.8.8.`.~XI 3.K k !.>XwX,X- '.!.n OXC oXC O W XJ TXUXc x KXp W.y.x .XnX4 XBX-.k.HXV e.r e.^XzXz.V _Xz _XzXz.b _.b.bXz.bXj e.r",
-" cX5.[ sXpXH =.OXwXpXc WX+.s J v.s 0 v.=Xa s CX1X1.` ~ 3.r.8.`.k.kXt.uXtXt.k.^.k.^.k.^.kXjXjXjXj.X N.^.^ NXt.^.k.kXt.^.KX9Xd N.R.f.tX9XxXg qX N.I NX*X*.r 3XV.8.8.KXtXt ~.8 ~ cXdX5.u.KXoXxX9Xx.RXk.Q.z.z.z.U.U l.U.cXg.U.cXg.c.c l l.c.o.z.o.b.b N.b.b.b NXjXtXtXt.k.kXdXjXtXjXj.b.oXz.b.o.b.b.b.oXg.b.bXg.c.c.U.c.c.c.U.U.U.U.c.c.c.c.c.c.U.c.c.U.c.c.c.c.#.c.c.c.c.c.c.c.cXk.o.b.o.o.b.b.X.X.^Xz.b.^.X.b.b.bXx.X.XXkXo.r.k.k.uXI 3.` #XJ V ` k.[Xc X3XMXM #XM y o v.= vXL u.w tXDX, RX- a c < c h c.- sXK.jX0Xw.j 0.s.Y.p.F x $.a c.iXM.-.FXeXpXq =._.9.+.jXh.T M.O =.O.Y v U.W E UXe 1.pXwX+Xw.[ nX0.>XcXn.W E xXG.N xXa.WXs.N.MX, a R B.K :XKX3 T 1 x m : xXs.N.NX6X2.JX+Xe t tXDX1X-.a a a.aX-X- R aX- $ `Xc `XwXI BX-X- a.eX5 RX-XV.eX- a < uXpXn.j H v s y !XG s v vX0XU o.j.qXP 9 #X1.a.YXe._._._ E.FX+X+ 1XK # R.H.r.8.k.kXj.cXj.^.^ e e.rXt.rXt eX*Xt ~.k.kXtXt.k.r.rXtXtXjX*.^Xz.b.c.b.b.b.b.b.VXz.b.o.oXz.b.b.b.b.o.b.oXz.bXz.oXz _.b.bXz N.X eXt.k.r ~.R ].K.K ).u.]XUXO !XcXl.' `.u $XVX-X-.a.w.wXPXNX5X9.5.| 5.& f.R P P.R.$.z 7 Q f.& f.&X@ Z.|.z.r.u.r )XJX9 : )XxXJ )Xx.5.H.r.K N.8 F ~Xj.k.8.8.`.8.~X* c k k !XUX, R 'XO.!XPXm.q &.EX+.p., `.9X5 1 gXq ^Xf.{.x.m E >Xc.aX*.r.rXt e e.^.b _Xj _ _Xz i.o.bXzXzXzXj.kXtXt.r",
-" 5 D D.M.}XHXc.GXU.ZXw.pXL.sXG b bXeXe v v.n.* RX-X1.8.u.`X9Xx.5Xd.rXdXtXtXt.r.r.rXtXtXdXt ~XjXt e.^.r.rXdXtXtX*.rX*.r.r q.5 q.R )X* NXkX@Xu.I NX9.oXt.r.kX*.8.8.r.rXt.k.8XV.H ~ cXVXd Y ).|.R.|.&.& f AX .& Z iXg.c.U.c.U l.c.U lXg.c.cXg.U.b.b.X.b.o.X.oXg N.^Xt.kXtXt.kXtXtXjXtXz.X.b.b.b.b.b NXgXg.oXg.c.c.c.c.U.c.c.U.U.#.U.#.#.#.U.U.c.V.cXg.c.c.c.c l. .c.c.c.c l.c.c.c.c.c.V.^Xz.X.bXzXz.X.b.b.o.b.b.bXz d.z.t ( Q.R 5.%Xx.$X9X9Xl }.-X.X7.S |.[.[.- .l.lXBXw.s.s 2 v U x h R.MXIX1X-X-.a.a.aX,X, CXs vXe.EXp =.h.1XB #X5XI aX-.i xXpXc.FXeXp v CXq h v y.j.jXm.jX0.j.Y vXe v v._.)XeXe._Xq v._XGXG v.sXe vX+.[XsXl s ' v.W v C t a.~ RX- R.e aXI.~ 3.e.* t.s . ^.{ .Xp.M.aX1 BX1XI a tX-X-.a a a R a R R RX5Xc t.e.M R R RXVX1XIXVX, R a tXeXpXp.j y v.w 8 $.9.w x v &X+ yXCXC.>XU $.M.aXK._.i._._._XnXcXD 1XM.a R.H.H ~.r.^.^XkX9 NXjXtX*XtX*.rXj.r.r ~.rXtXt.r.k N.^.k e.k.rXj.r NX9 NXk.b.b.b _Xz.b _Xz _.b _.b.o.b.o.bXz.b.o _ _ _Xz.bXz.o.b.b.bXt ~.k.r.H 5 I 5.|.$ IXJXOX$ mXyXJ #.2 3.2 $X-X- BXD.'.0 gXI D.5 qXk )XxXxXx D.X.^.5Xo NXx.kXx.^XoXo.^.kXt.kX* ) I.$ 5.R | 5 ) :.5.r ~ ~ q N F.r ~Xt.8 ~.`.`.`.8X*X3.,X. !X5 B.H.w.' T g y o 0 U.WX, c R.*.e.'.)Xb ..C.pXAXqXp X-XV.rXt.rXtXj.b.b.b.bXzXz.#.z. .V.b.bXzXt e.rXtXt",
-".RX9XV #XK c `X, B YXr.1X+X0 v.j CX< y._.O x.]XlX9XX.r )XI ].%.XX5.r.rXt.rXtXtX*.k.k.(.K.k.^.rXdXt e.^Xt.r.k.r ~.r.8.r.}.A.$X9.KX*.r.R.f.RX9Xg.b.b.X NXj.r.r.r ~.r.kXt.u.`Xx.~.8.u cXx.5X9 ) qXxX@ A.R A q d.I dXkXg l lXg.cXgXg.U lXg l lXg.o.b.o.b.o.b.b.b.b.X N NXtXt.kXd.rXjXj.^.b.b.b.b.o.b.bXg.c.oXg.U.c.U.c.c.c.U.U.U.U.#.U.U.U.U.c.c.cXg.c.U.c.c.c.c. .c.c.c.U.c.c.c.c.c.cXg.o.bXz.X.b.b _.b _.oXzXz.o.b.t.t.t f Q P 5 Q 5 DXX |X.XS k.O.3.SXH.S.SX# VXM.l .[Xr 0 vXn.MX, <XD.D t.* RXI.uX1 3.eXDXeXL.)XGXrXr.gXH [.3 V 3 R.a.a.}.l.lX7 > E U.F E xXqXqXU vXa s b.'XGX0XnXp.<X> >Xn._ pXqX>X2.j.;.j yXGX4.j y.Y 1 x.D.w v.sXL C.*X- R.~XI 3.aX-X-X-XMX1 C.D 2.)X6.x.<Xq U aX1X1XU : R.a.a., c 1.eX- R $X.XJX- :Xl R 3X..e RXIXV.].2 VXI < C._XGXp.q.E v.M : $ s R 8XaXK.n.' yXm.q.>X+ h <Xq .m._XnXH 1.> ` kXcXJXJ.K.rXt.b.zXj q.kX*.rX*.^.rX*.r ~.8.`.`.8.5.r.r.k.X.bXt.^.^XgX9.^X9.^.bXkXz N.b.b.b.bXg _.b.b.o.bXz.b _.b.o.b _Xz _ _Xz _ _.b.b.b.o.rXjX*.r.H.k.uXtX*.5 3 ].Z m ' '.uX1XIX-.eX-.~ aX1 $.'.'XJ B.` ~ 3Xt.H.k.H.k.r.r.H.rXtXVXt.k.r.rXtXtXdXt.r ~.kX* DXM.rXM.k cXV 3X9.r F.r.U ~ ~ ~Xk.UXk ).` F.rX*.kXX k m m.0.`X1.` BX-XMXJ & 0 OXs.M.M.M C.! s.s.s.C.x .._X4 Xc c 3XtXVXt.rXj.^.b.^.b.bXz.c./.o.^.^.b.bXjXt.rXt.r",
-"XdXd.&XX VXXXIXIXIXc.3Xw nXw v.+X+.+X+ y.GX;XlXl ).,X9 ,.k Q.2 , )XoXt.uXtXtX*Xt.r q P ZXx.HXd.r e.r.k.rXt.HXV ~.` 3.`.8X3 #XM DXxXX q N.z.b N.X.b.b N eX*.r.`XtX*.rXtXt.`.8 (XXX5.H ).5 ).HXx.X q ( ).z.I.z.z.IX@ l.I. .z.6.6 l i. .I. . .z.U.U.z.U.zXkXkXgXg.IXxXk.X N.XXoXtXdXt.k N.o.b.b.b.b.oXgXgXgXg.U.cXk.c.c.c.c.c.c.U.#.U.U.U.c.c.U. i. .#.U.c.cXg. Xg.U.c.c.c.c.c.c.cXk.o.oXg.bXzXz.XXz _.b _.b.b.b.bXx.XXxXxXx N.X.K.u.u 3X-XJ.3X..O.1X# nXH.S.SX7 .l XBX+Xp v.sXe EXeXs v.w.D.ZXlX-.~X1X, t U /.WX+Xp .Y ` `XX.,XlXI a a a.l.lXB .F._Xq.m E EXq yXG.! &Xw.!.9.>X0X0X0 MX0 yXp.Y.EXr.j oXG o.q &Xw y vXGXwXJ : 1XG 0.W.D.W $ : x.a RXIXD.a.eX,XD RXL 2.sX>.@.JX4 U < RX,XcXw R aX-.,X, :.e.~ RX,Xl `.ZXD a.eXKX;X, RX1X,.5XX K t.a._XnXG.EX0Xm s T xXc m.-XG mXwXJ n 9XGXG.q H.-XK.}XBXBXB .9 h : T.] `X3X9.KXjXtXgXkX*X9.rX*.r 3.K 3.r.u.`.K.5.5XI q ).R.R 5X&X@.fXx.& q.f.f.fX@ dXg.o.b.b.b _Xz.b _.b _.b _.b.b _.b.o _.o _.o _.b _.b.o.^ l eXtXtXt ~.8 ~.8X9.uX9X1X1.0XK.n.wXIX3 RXI.eX-X1X-.w.n.0.OXJ c.rX9X*.&.5X9 5X9Xx ) )Xo.kXd.HXt.u.r eXtXt.r.k.u ~ 5.$ )., ) 5.K.8.u.K FXt.XXgXt e NX9Xg.^.r.`X-.r 3.K., 5 ! :.~X1 R.`.`X-Xc.q b O.=.W.*.j.jXG.=XiX>XfXf p...[Xh.,XIXI.r.8.r.rXjXj.b.o.^.o.o.^Xz ~ e.b.^.^ ~ ~ F.rXt",
-".R 7.X }X*.8 ~.`.`XD 'XK kXJ xXDXGXq v b.j $ T.HX9X9Xo.K.^.uX* 5 5 ].z.XXdXV.k.rX*.k.z.A 5 )Xo.rXd e.rXt.8.8XIX1X-.8.a.r :XVX*X3.5.&.K N.X N.b.o N.X.^X*Xt.8.rX*.rX*XVX*X*.K 3.kXJ #.|XX ).u.5 ]X@.&.(.& PX@ Z.z.tXg.7 d Z.tX&.I.&X@ ZX X&.I.&./.7 d.&X X .&.A.&.t ].AX@.&.RXtXtXtXj.^ N.X.b.b.o.bXgXg.b.c.cXg.c.cXk.c.U.c.c.U.U.#.U.U.U.#. .6 i i. .U.c.c.c. .c.c.c.c.cXk.c.c.c.c.cXgXg.o.bXz.o.b.bXz.b.b.b.b.X.o.X.oXk.b.X N.k.r ~XI.`.5X3XJXc DXUXwXHXwX7.-XBX7 kXBXBXp ^.) ..s.)Xn.E = n.-XJ $.ZXc h x.j._X+.[ XM.l :XH `XI.HXI.e R < # #XXX7X7.pX+ p._ .Xp.jXP.w.9.'.>.> =.O.>XwXw =XUXU.j y o s s s v sXmXP v.nXLXcXU.-.9 yXs M.YXa.9Xc : $ $ ` #Xl xXlXl.MXe.NXi.4X>.CXn._ t.MX,.2XK R a aXKXKXM.e a.e c D $ RX1 R 8Xl $ : a R.u #.a #X, UXpXnX>X0.j.'X..ZXJXcX. :XKXwXwXU.wXsXK b.j nXw =.Y hXM $ c.}Xl.u cX5.k.5X9.kXx N.c.XXj.X.r.r 3 ~.rXVXV.8.`.uXXX9.uX9 )Xk q.I A.z i.o.I.U q.IXk q.z.o.oXz.b _.b _ _ _ _ _.bXz _.b.b _.b _Xz.o _Xz _.b.b.b.bXg e.rXd.r.r ~.8.8 5./ } ) TXO 4XO.2XJ `X5XI 3X-X1 8.n.' YX. : I I 5.&.%.& 5 5 f 5 q.X.fXtXt.rXd.rXtXtXtXtXjXt.rX*Xx qX9XxXX ).K.`X9.r.8 ~XxXg.XXjXjXt ~.8.8.` ~ 3.8XX } Y.G : $XI.u cX5X-.,X. =.! oXr._.1XhX= ^.CX6XA.FXq.FX+XZXKX1.`.K.` ~.k ~Xj.b.b.b.o.z.XXz.^ F e.k.r F F.8 F.r",
-" ].t.AXg.k.r.` 3.8X1 B g.O.O.iXD CXL.).s s B ~.8.`XV.8 FXd.k.r.5.5Xo 4 A Q.K #.rXt.kXt.k |.R.R.X.r.k.r.8XI.DXl.9 c.`X- 3.}.uXX.KX3X9 3.k.kXt.kXtXj.^XtXt ~.8 ~.uX* ~.k.uXV 3XV 3 c.u c.u.H.k.k.k.XXk.XXk.zXk NXkXkX9Xk./.U./.zXg.IXk.I././.z.z.zXk.z q.zXkXk.I q.z.z.z.XXxX9XtXtX*Xj.k.^Xz.b.o.b.bXg.o N.o.oXg.U.c.c.c.c.c.c.c.U.U.#.U.U.U.U.U.U.U.U.c.c.c.c. .c.c.cXg.c.c.U.c.c.c l.c.cXgXg.o.b.b.b.b.b.X.b.b.o.b.bXgXxXz.X.bXd.k ~.`.`XX., mX.XwXUXwXUXr [X7.g.[.[X<.[X> JXi.s % ^.@.s &.9.'XK m.,XK y.jXr &X%.gXM m k $.eXc.2 : R a a.i #.l.lXBX+.x SXnXnXw =.WXL B C t.w x '.9 s.n 1.n.j.!.n 9.9.w 8.w.'.wXa.nXaXa.!.j., =.T yXnXK C.-XlXKXJ `XK.9XK 1XKXwXD.N.N OXi H ^XnXq.M.M.Z.M a R R t.e.e t R.~ a B.e.~ RX,.e.a.M.e BX1.~ $X-.a a hXqXp.@XC y y.nXl.D BX, $ RX, tXl xXD.n.9XKXw.> MX#XH.- DX3 } D.5.|.0.$ T ) 5Xg NXg.k.r.rX9 3XV.`XI.uX*Xt.8XV.}.a.`.` 3.r.r.^Xz.b.b.o.^.o.^ N.X N.o.oXz.b.bXz.bXzXz _ _.b _ _ _.b _.b.b.o _.b _.b.b.o.b.o.b.XXg.^Xj.rXt.r.` ~ ~.5.R ( D.5.R g Y.0X.XD.e.e :X- B.D s 'XcX5XI.u.K.kXoXo.k.k.k.k.k.k.kXx ~XtXtXt.rXt.r e.r.rXt.rXt.k.k.r.u.rXV.r.8XX.r.8.r.^Xg.^.r.r.rXt ~.8.`.` ~X9 ) | } YX. DXJ DXJXJ 3X3X5.O yXC.YX+ v = ^X6Xf ..mX4 EXe.[.[XK BXIXVXI F ~.k e.^.b.b.oXkXgXd F.`.K.r ~ ~.` F.8.8",
-" 5 (.k.XX9.X.k ~.8XI ].' Y.2 $ x U.sXe.s.wX1.~ ~ 3.8.8.rXt.HX* 5X3Xt.k.X.2 I I :.k.k.rX*X*.KXx Y )X5.8 RX-XlXl :.5.aXI.,X9 3 hXV.`.K.k.8Xo.^ ~ ~.rXt.r ~.`.8.r ~.`XVX-Xx.KX3 :., D ) 5XXXJXo.fXx.&.X.X.XXgX9Xg N.b.o.o.oXk.c.U.c.U.cXgXk.UXk.X.o.^ N.b.b N.bX9.X N N NXjXtXjXtX*XtXtXj eXj.^.b.b.bXk.V.b.b.o.oXgXk.c.c.c.U.c.c.U.U.U.U.U.c.U.c.U.c.c.c.c.c l. .c l.c.c.c.c.c.c.cXg.cXg.c.c lXg l.oXg.X.o.X.b.b.X.o.X.XXg.X.b.X.XXVXd.H 3X5.2XJ.] T.! s s.jXwXpX+.- z MXr H S w 0.@.@.;Xi bXs C.eXD.e.*.).N.).s.YXB kXlXKX-.a ` I $.a a a.}.} # # xXpXnX4 M..XZ.jXP.9.' xXl x sXJ 8XDXs.nXK YXK =XOXUXcXl RXDX,.ZXsXDXLXL.9Xw n = v.N.* R tXIXM aX- <.e R.eXD a.* 8.) 2 2.@X2XnXp U U h.ZXc.Z a a RX5.e.e.e.a.e RX- BXD R :X5X,.Z $.D c.~X- a $XpXn H HXGXG.Z.Z $X1XD ' x x.DXG $.M x s.YX..j.,Xh ]., ) D I : IXo D 5XoX9./.k.b.k ~XVXD cXIX5Xl.H.H.k.`.H.`.`.8 3.u.r.rXtXj.b.o.b.b.o.bXz.b.b.b.b.b.b.o.b _.b _ _ _.b _.b _ _.o.b.o.b.bXz _.o.o.b.b.b.b.o.bXg.XXtXtXdXt ~.r.`.8 ~XVXxXIX1 B g TX5.w B R 3XI B.Z.n.0 D.DX-.H.r.u.uXdXd.kXd.r.r.r.rXt.rXtXtXt e.rXtXjXtXtXdXtXtXtXoX*.uXt.u.u ~ ~.r.8X*XtXk.X eXdXt.r.8.8.8.`.~ ~ # I.,.]X,XI R.8 R.`.`X-.aXl.0XL.= 2 G.@.4 0.C.@.y._._Xp 1 1.Z.uXI.k.H.uXo.X N.XXoXkXdXg.X.r.r.`.k.r ~.r.` ~.8 F",
-".u.X.r N.^X9Xx.5 ( DXJ.DXl.9.w hXe.s 2XG hX-X* ~.r.uXVXdXt.r.k q V )X9.XXt D 5 f q ( qXo 3 3XV.KXJ :.9Xl.9 1 DX3.aXI 3.$XX.aXIX*X5XV.8.HXo.r.` F ~.r.r.k ~.`.`.8 ~.` ~ 3.u ) `X3 5 VXl ) ).R D q.&Xk.o.X.^.b NXg.b.o.b.b.oXgXk.cXkXk.cXk.UXg.b.bXg.b N.oX9.b.b.X.o.X.b N.kXt eX*XjXtX*XjXt e.^.XXzXk.o.b.b.b.b.o.cXg.c.c.c.U l.c.c.c.c.c.c.c.U.U.c.U.c l.c.c. .c.c.c.c l.c.c.c.c.c.cXg.c.UXg.QXu dXu.t d.t.t d Q A A.z ] X d A A ]Xo.2.uXxXJX. @Xy.G.>.q.jXr.Y.<XrXr.jX>.; & M w.;XfX0 o 0.N.W t h <.M.N 2 bX>.g .SX3 x `.-.a.aXD aXD h h h 3 # 1 .Y ..sXn.j.>X;XO.].0Xc T TX1 R R RX1Xl.0 ' s.' 'XM x c R B RX-X1.*.N.n 9Xw.j J G.= C <X-X- a a RX- R R BX, R 8 tXs 2 2.v.@XfXqX+ UX,XDXlXwXc.'XJ xXJ B a.eX-.eX-X-XDX- : 1X3 T ` :Xc.a R <Xq.YX4 & H v.n.Z :X,Xl x.Z s.MXD.wXU s.w 1 g n kXc.3 D.uX5XV.H.u.`X1X1.8.`.k ~ ~ ~XVXIX1.DXl x s s.Z.`XIXV.`.8 3.rXtXtXtXjXj.^.b.b.bXz.bXz.b.bXz.b.b.bXz.oXz _Xz _Xz.b _.o _.b.b _.b.b _.oXzXzXz.b _.o.b.b.b.X lXgXoXdXt.u.8.`.r F.8.rXV.H.H.HXo D.n 'XDX- cX-X-XDXl 'XUXdX1XIX1XdXtXtXt.r.rXt.kXjXt e.kXt.r e.r.r.rXtXtXt.rXtXtXtX9.r.r.r.u.r F.`.` ~.rXt.X.z.k.rXt.r ~.8.`.8.`XV.5.$X. $XI.uX-.`X-.`X-XI RXD.9 9 OXa 2 ^ z.@.<.<X+X< [.[X3X1 V #XJ TX5.k } 7.R.z.&.&X@ ~.r.r ~.` ~.kXV.8.8.8.8.8",
-"Xt.5.H.rXt NXk f./ qXI.` R TXJ.w v.W vXq RXI ~.r.rX*Xt.HXVXd.k #X* 5 ) I.5X5.uXx.] ] (XX.uXIX1X,XDXrXh nX. k h.a.}.`.aXX.,XXXM 3XI.` 3.8.8.8.r ~ F ~ F.`.`.`.8X-X-.`X-.`XIXIX-X1X5.~XI.H.8XV.kXd.k.X.o N l.o.b.o.b.b _.oXz.o.b.o.o.oXg.o.UXg.b.b.b.o.b.o.bXg.b.b.o.bX9.o NXt.kXtXtXtXj.kXj.rXj.b.b l N.b.b.o.b.b.oXgXg.c.c.c.c.cXg.c.c.U.cXk.c.c.c.U.c.c.c.c. .c.c l.c.c.c.c.c.U.c.c.c.c l.c.#.tXu.A.t.tX .tX X X d.Q.t Q ].t X ] ] 5 (.] I.3 7.G @ @.G K.h MXZ z.1.; y.jX0.xXC S.j.;.; 0.=.N h.}.e.N.N.sX>XB .[.gX3.-XH [XM.lXM # #.l.i.lXM x `.YXr J.. 2.EX0 T.w 8X-.e a.e t R BX-XD $ R.a.e R.MX1XIX-X- R.e.eX- 8Xs.nXP n.- o /.N.*.* a aX-X- R R a R BXDX-.eXD C / /.v w.@.jXp xXs R.a.ZXl.Z : $ sX1.e a BX-X-.eXD a.aX-.aX-.a.e c.e t.aXp.Y.Y & JXa.W R $ DXcXK nXUXK.j TXU.nX. !XH m.[.>.G.OXJ.].]Xx 5X5X9XoXl.2X9XI 3X1XIXD.w vXG v OXm.0 :XVXd.kXo.^XtXk.^.kXj ~Xj.b.b.b.bXz.b.b.o.bXz.b.bXz.bXzXz.b _.b _.o.b.b.b.b.b.b _ _ _ _.X.Q.Q.R A.&X@.I.R.&.AX@ 5 D qX9XV.`.8 3 ~Xt.k.HXIX1 g ' '.ZX1X- 3XDXD.' TXJ.ZX1.`.H.r.rXtXd.rXt e ~Xt.r e ~ eXtXj e e.r e.rXtXt eXtXtXo.rXtX*XdXV.`.8.`.rXtXt.^.I.k e.rXt F.`XV.`.`X9X9., m.u RXI.e.`.`.`.~.`.8 B.Z.w ' O O.@.y >._._X+X<.T I.,X- k cXJ.$XlXo.& 5.$ q 5.I 5.KXtX5.`.` ~XVX* F 3.8 ~.8",
-".uX9.k.kXoXk PX@ fX* ~.`X1.u gXw.j.j vXGXD.` ~X*X*Xt.rXdXt.r.k.KX*X*.K q } 5 q cXdXo.R mXXXDXD.9 v.Y.j zXZ kXM aX-XMX3 k V VXJXc 3XI.8.8.8.8X-X-.`.8.8.8 ~.`.8.`.`.8.`.8XIXJ I #.5.].K cXV 5.5 fXkXk.X.z.o.b.oXz.o.bXg.b.b.o.b.b.b.o.b.o.cXg.o.bXz.b.o.o.b.b.b.b.b.o.o.b.b N N.^XjXtXtXjXt eXtXj.X.U.b.X.b.b.b.b _.b.b.VXg.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c l.I.V.c.c.U.c.c.c.c.cXgXg.c.oXgXg.c.z.U.z.z.U l lXx.U.XXx.X.zXx.o.X.XXo.k.8XV.8XlXx T.2 ! = y.j.EX>X+XG vXn.j M.Y.EXr W.x W.x w.s.sXe t U GX=.=XpX7X7X#., `.[XH .F #.l.l.iXB XB :Xq gXGXG z.v 2 w.q y.n R B RX-XI.~ a R.e.eXc $.uXlX5X5.} 3 R.e.~.aXI.~.Z.wXLXU.-XK o /Xs C aX-X- R a B.a RX- RXI aXD 8 8 / G.v.B.;X>XqXq <.a R.eX,.e.*.e.e R R.eX-.eX- aXI a a aX-XIX-XIXD.a R 1XGX> &X0 9 v.Z RXDX,., :.9Xq x 1 $XwXlXOXKXK =XcXw.>XcXU D ) D q ( 5.2XJ T.9XD.Z.Z s s vXe v 2 2 JXJX3 m.R (X@.A.(.tXg.bXz eXj.b.b.b.oXz.bXz _.bXz.bXz.b.b.b.oXz.o _.b _.b.b.b.b.b _ _XzXzXz.c.6.f.tX@X@X@.f.&.& 5.AXx.$ qXV.8.`.8 ~.8.u.r.H.HX1.XXPXa s RX- RXI $ T.] !X5.H.`.`.H.rXd.kXtXdXtXt N.XXx.b.X.^ ~.rXdXt.r eXtXtXt.r.r.X.rXt.r.r.r ~.X ~XV.rXt.kXk.bXtXtXt.8.8 ~.8.`.5 : I.2XI.H 3.`X-.`.` F.~.~XIXI $ ' sXmX4.<X% >.FX+ [ : 3 3X-X-.}XIXVXV.`XVXt.r.k N 3.r ~XxX9 ( ) D q.$X3XV.H.8.8",
-"X*XxX*X9 P.RXk.k.o.X.r 3.~ 'XUXPX0XwXmXK $ 3.`.k.r.r.r.rXtXd.KXt.K.8X*.r.k.A 5 Q.].uXI TXw K.9._XnX>X4XwXhX#XB ., VXX kX3XX V `.8.a.8X-.8.8.8X*X-X-.k VX* a.aX-X-X-.` R.$ : mXH ).KXx I I.u.f.| Q X QX .o.X _.b _.b _.b.b.b.b.b.o N.bXg.c.b.b.o.b.b.b.o _.o.b.o.b.b.b N.o.b.b N.^X*XjXtXtXtXt.^.U N.b.b.b.o N.b.b.b.b.o.o.oXg.c.c.cXg.c.c.c.U.cXk.c.c l l.#Xg.c.c l.c.c.c.c.c.c.c.c.c.c.c.cXgXg.cXgXk.cXg lXx.b.oXgXx.b.bXo.bXVXd.8.8.8X*., c ` m gXc.p.Y.j.< v h._ 'XeXp.Y.[.pXB >.xX6Xb.. * * G / 2.v.jXB.[.[.iX.XH n.jXB.[XBXBXB.[X7.[X+ g.Y v.sXC . 2 ^Xm s.]XD B.a BX-X- R a kXD m 1 m 1 ` m.5 R R R BX- R 8.w.wXPXw .-XGXL.s t R t R.eX1.e B.a R.eXI 3.e 8.N / 2.v ^.4XfXpXp < t R.eX- B R.e B.eX-.~ aX- R.~.}X-X- aX-.eX- cX, a U 1XG yXwX0XG.nX,XDXDXD RX,X, $.a.a 1.Z $XD sXl yXOXU H v b.MXK.HXV.`.uXVXDXD s v v vXL.WXa.N.s.sX= 0 $.}.r.uXo.R e.bXgXzXz.b.^ eXjXjXz.o.o.bXzXz.o.b.bXz.b.b.b.oXzXz _.b.b.b.o.b.b.b.b.b _ _.bXz.o.oXz.bXgX9XgX9.X.$ N.rX*.k ~ 3.8.8 ~.r.r.kXt.u.8.DXO.nX5X1.a RX- h.wXl.] 'Xo.D.r : q 5 NXtXt.r e.X.z.I.z.z.bXt eXtXj.r.rXt.rXtXt.r NXd.rXtXt ~.` ~ ~.`.r.rXtXg.XXt.r.r.8 F.~.`.8.k.u ] g.D.~XI.`.8.~.`.` F.`XI.`X1 T $XqX+.FX7XBX% x k.Z D ].]X3 3XV.K.K.5 N.5X9Xk.f.zX9.5Xk | )XX.$ 5 q I.r.k.r.k",
-"X9 , ( PXxXdXtXtXtXk.k.8XIXV g.0 sXm.qXU.'X1 ~.r.k.rXt.k.r.r N.KXV q.rX*.kX9.kXk D.$ '.Z 1 y v.s.s.sX+ M.[X< 6 VXXXX V VXX X7X3X3 a 3X*XVX*.8.`.8.`.}X*XXX*X*X9.5.5.KX. } :.e c cX1X*XI.k.kXt.5.XXxXoXx.X.X.^.XXz.XXz.^.X.b N.X.b.b.o.bXg.o.b.b.b.b.o.b.o.b.o.b.o.b.o.b.o.o N.X.X.X NXjXtX*XjXt.rXg N.o N.b.X.b.o.bXz.bXz.b.o.o.cXg.c.c.c.c.cXg.U.c.cXg.c.U.Q.c.c.c l.c.c.c.c.c.U.cXg.U.cXg.c.c.cXgXgXgXgXkXgXg.b.b.X.o N.b N.b.k.r.8.8.a.`XV 3XIXcXc nXw M.<.YX% $.1.[.T k.d.S.F >.<Xr wXi.PXv.) 2 / / OX+.[.SXXXH.-.-XrXnX+.<X+X>.pX+X+ n.jXwXL.n.) CXv.) O H.n.' $X1 R.aXI RXD RXI.Z.aX, cX1XD $X, RXDX-XDX1 RXD.wXGXwXcXB.g &Xn.W.w t.eX- BX- R R R a.~ h.a t.N.N 2X6 wXf.C.CXnXpXq a a R.eX-.eX- aX- a BX-.~ aX-XD.eX- aX-X-XI.u a R sXp.Y & & & b.wXD.ZXD.aX,X, XD.}.a x.9 $ 8.w.n v.n y.4X=Xn v t.M.a 3.,X.Xw.-X0.E.@X>Xm.W.N.).).)Xv b.}.8 3 FXdXdXoXz.b.oXz.o.^ eXjXj e.^.bXz e.^Xz.b.o.b.b.b.b.oXz.b.b.b.b.o.b.o.b.b _ _.b _.b.b.b.b.b.X NXgX@.$ qX q qX*Xt 3.8 ~.` N.r.r.r.kXd.k.`.].0Xa.w B aXD T.0 4Xy.].2 (XJ )Xx I N.k.kXt.kXj.kXj.k.^XjXd NXt.k.kXo.^Xt.^Xo.^.XXoXo NXo.^.kXtX*X*.k N.^././ N N NX*.k.K.kXVXxXJ.%.|.ZX5.5.rXV.K.u.H.k.uX*.8.`Xt hX,.iX+XqX7XB h.2.5Xx ) : :X-.8.8X* ~.uXt.rXkX9 N.8.r.rX*.8.u.8XV ~ ~.8.8.8.8",
-" 7 } qX9XtXtXtXdXt.k NX*.H.0 g.2.9.j.OXOXO.HXI.HXtXt.r.r.r ~.5.k ) P q.rXt.r.r.rXV )XJ.1 vXa.).) /XfXr n ` V., VXX.lXMXB hX, ` V kX3 |X#., |X*.a.`.8X-.KXXXJ., VXX.KXI | } DX3 D ).0Xx : (.$X9 (Xo 5.uXx (Xx d.z.z.t.Q.RX@Xg.R.o.I.z./.bXk.o N.o.b.o.o.o.o.b.o.b.o.o.b.b.b.b.o.b N.X.b.kXjXtXjXtXt.bXj.^Xz.b.b.b.b.b.o.bXz.b _.b _Xg.c l.cXg.c.c.c.U.V.cXg l.I l.c.c.c.c.c.c.c.cXg.c.c.c.c.cXgXg.c.c.c.c.o.o.oXg.X.bXg.X.o N N NXtXV.8.r.`.`.}.`.a 3 1Xw.1 M.p.+.+X+.h n =.O.YXHX+.pX:X> wXf ^X= 2 O O 0.v.jXZ kXM x VXc.j . ..s.. .Xn.4.@.@XCXm v.v.N.4.s.)Xi.j.'XUX, 8 Y $ :X, D.MXKXK.aXc.,.} ` kXc.eXw 8X,XH.*.w.w.' [ n.[X#.hX+ y.jXc g s : :X- R.e.a aX, R.N.d.) 0Xf.v.BX6 wXfXn.F.M aX1X1.~.~X-X-X-.e aX- a.~.aX,.eX- R BX-X1 3 < <XqXG.Y &.9XP.9 s $ c hX,XD hXl.a.} < $ 1 $ B 8.D.n.w J H...s..XnXL.wXw y.E.jXmXG.Y &.Y 9 C t C.NX=.WXG `.8.a ~.r N.b.bXz.b.bXzXz.^XjXj.b N.^XjXj e.^Xz.bXz.o.bXgXg.b.oXg.oXg.o.o.o.o.bXg.o.oXg.cXg lXkXgXgXk q.f.f.&.A.f.f.X.5.k.k.KXo 5Xx ( ( q 5 A ( !Xy.0.'X,XD sXU 7 K.2.|.0.5.KXtX*.5Xo.5X9.^.5 N N.^ N N.^Xo.^.^.^.^.^.k.^.^.k.k.X.k.k.kXd.r.H.r.H.8.r.r.r.^.z.rXt.r F.8.`.8.`.`X5 ( gX1 BX5.e.k ~.k.HX5 N.`X* #.K.8.a.} ._.i n.M.8.` B.` cXIX-.8.8.r.rXt.k.r.`.X ~.8.r.u.rXV ~XtX*.r.8 ~.rXV.r",
-" |X9.5Xo.5Xo N N.^.^X9 )Xd :X..G @ 4.G 4Xy g.u c.5 NX9Xx :.$ ( P f I 5Xx.X N.5X9.kX,XKXKXG J.s % ^.@ n [.- k h V VXX kX3.i $ k.-.,.- 6 6 |X#.%X3 # hX3 V., V V VX3X- : 5.,.K `XJ.$XJ.$.$ 5 I.R.A I 5Xx.f 5.&.R AXgX@.&.6 ,X X .A.f i.&.oXkXg.o N.o.b.X.b.X.b.o.b.b.b.b.b.b.b.X.b.o.b NXjXtXt.kXtXt N.rXjXt.^ N.b N.^.b.bXzXz.b.bXz.bXg.c.c.c.c.c.c.cXg.cXg.c.#.o l.c.c.c.cXg.V.cXg.cXgXgXgXg.VXg.oXgXg.o.bXzXz.bXzXzXg _ NXzXz.^ ~.8.8.` 3X-X-.` RX-X,Xc.Y >X+.x W.pX+.YX+X+X+ >.i.dXG J w HXC.v.sXC H 0 9.; [.- xXl 1 1.-XnXbXbX=.s .Xb..X> & o O 2 G GXFX= bXC ' 'XDXD :X. 1XDXK h ` :.M.9.9.aXXXH s.eX. aXc.3.nXe sX+XwXpXc.1 =X0 M.wXGXlXcXc : a.a.a.*XDX, <.NX=.vXiX6.B.B.BXfX8X4Xp x 3 B 3 3X-X-X-X-X-XI.~.a R BX,XDX-X1XIX1 c c.a U 1XpXmX0 &XmXU.'Xw.Z `.0 1 1.9 h hX,XlXKXlXD.ZXDXaXG TX0X> 0 0 b b J.vXL..Xn.W._ v U hXs.Z U.d v v bXG hX*.k.^.X.z.U.U.U.#.U.#.zXk.UXkXk.U q.c.b./.b.bXg l.zXg.c.c.U l.c.c l.c.cXk.c.cXgXgXg.VXgXgXgXgXgXgXgX9XkXgX9 qXgXX.kX* ~ 3 ~.r.$.z I.R.R (.R.] )Xy '.nXDXDXPXU ! 'X1 B TXDXM a q.| ).kX*.k.r.rXtXt.rXtXt.rXtXt.rXtXt.rXtXtXtXt.k.^XtXt.rXt ~ ~ ~.8.8XtXt ~Xk e.r ~ ~.8.8 F.`.8.D.RXO.0.H '.`XV.K.8.5Xd.r.`.r.8X*X- a c.FXeXq.Y.~.`.`.`.` RX-.`.` F.k.r.rXk F ~ F F FX* ~XV ~.8.` ~.r ~.8.rXt ~",
-".K.kX*.r ~Xt.r.r.r ~XtXx.] ) 4 Y m.2XyXO.! !.nX1.8X*X*X*.5 ) Y (XxX1 ~ 3 ~.K.r.uXV.aXl vXe.=XvX=X= 0.1X+XJ.K.aX*.,XXXB X, U .-.-.,X..SX#X. |Xh.%.,X3 XB.- X3XJ 5XX #.u 3 3 c.K cX*X5.5.5.XX9.5X9.5X9.X.5.z.5XkXk q q.z./ q.I q.z.IXg./XkXk.UXk.U.U.U.U.U.z.U.z.U.z.U.U.z.U.U.z.z.U.X.b NX9 N.X.z N.X N.oXk.U.U.UXk.U.z.U l.#.U.#.#.I.I. . .I.I. .I.I. AX@.Q. . .Q. . .I. . .I. .I.I.I.I.I.I.I.I.Q.Q.z l l l.z l.Q.z.z l lXx.X (X9.u c.H.u.uXl.u h s n.j.jX: rX:X:X:X: M MX+.p UX> w &.>.>.qX0 HX0 & &XU [X;XcXw.-XwX<.x . .._XnXn ^...@ & H &.E 0.;Xi 0 JX0XPXc.nX, 'X5 x x.9.Z.9 y h.9XK x x x.j $XK $XM $.j.'XK.>.[ [.j.E.j HXG s xXDXD.Z h.MX, U 1.WXL.s.v {.@ w L.B {.PXfX8.jX+ h.aXD 3 3 3 3X, hX-Xc c T 3.]XI.0XD $.uXl.a.}.WXpXp.;.q y.'.nXU.O 1XKXHXw.,XD h.Z.M.- n T.ZXD R.a x v o.q 9 0 /.= 2X=.).) u.) UX1 RX1 RX- a <.W.NXL.Z a ~ ~ ~.^.bXz.b.^XzXzXzXzXz.^ NXz N.^.r l.^.o e.rXj.^Xz.o N.bXz.b.b.b.b.bXz.b.b.b _.b.b _.bXzXz.b.b.b.b N N N.z N.b NX*.r ~.8.8 F ~Xt.r.r ~.r.rX1 T TX5.wX5.nX5 gX1X1.`.3XJXB } V q 5.R P.kXt.k.rXt e.rXtXt.rXtXtXt.r eXtXt.r.rXo.^.rXtX*Xt.8.8.8.H.8 F eXt eXt.k ~.8 ~ FXI.`.`.k.2XO.0.]X5.8X5X*Xt.~.`.`.kX-.8.`.8X* 3.9 vXn $XI.`.~.`.~.`.`.~ ~.`Xd.8.r NXk.` F.` ~.HXd.`.8.H ~.r.r.r.8 ~.r.`",
-"X9.r.r.u.rXoXxXd.K )Xt ).&XJXoX5X1.%XOX$.O.> ! x.Z cXXXH.% T ) D.%.]XKXIXIXVXtXV R.a v xXL.s.)XF.s.x n `X3XM.}.} V `XB xXe.MXM 3XM x # xXlXwX#X.XHXHXc V 1 $XX XJX3.$., #.`.` 3 3XIXI ~.u.kX*.rX*X*.rXt.uXtX*.r.kXj N N.X N N.^.b N.b N.U N.b.b.b N.b N.b N.b.b.b.bXz.bXz.b.b.bXz N NXjX*.rXt.rXt NXtXt eXtXj.^ N.b N.b.b.bXz.b.bXzXz.b.b _.o.o.o.o.b.o.o l.QXg.VXgXgXgXg.c.cXkXgXg.c.c.c.cXg.o lXg.X _.b.b.b.b.bXz l.XXz.bXo e.K (Xl ).5 )X5 :XJX,XK 1 $ M zXpX8.<.<X4X4 SXrXq >.)XpXGXCXm b y 9XL v yXqXG yXUXw.2.jXwXrXpXb.).d.d p.).) ^ H JXC b 2 ^ / OXCXCXa.] R R.e a.e R.* R a.*.a <.e < aXD RXD a a.aXDXa.n yXw y.Y v v.. OXpXsXs t R a h R hXL u.NX= /Xv.vXfXiXbXF - -X=.{.xXnXpX, aX-X- R 3.aXIXIXD :Xc `XJ.,X.Xc D 5.0X5 a a EX4Xn H y o s R gXJX..jXJ.9.>X, U $.a n @ m., T kXK.9.w.nXCXC O O 0.@.@Xb p.W EXDXD.DX1 3.a a.*.WXaXL.ZXIXV F ~Xz.b.b.b.b _.b.b.o.b.b.bXg.b.o.^ e.^Xj.k e e.^.^.b.b.b.b.b.b _.b.o.b.b.b _.o _ _.o _ _.o.b.o.b.o.b.b.b.z.b.X.^Xj.k.r.r.8 ~.r.r.k.k.kXtXV.8.KXP.n ' $ 'XP.2 $XVX-.'.- h 3X*.k.KXo.k.r.r.rXtXtXtXtXtXtXtXjXt eXtXt.r.rX*Xt.kX* ~.r ~.r.H.8.r.` ~XtXt.k.z N ~ F.8.` F.`.~Xx (XP !XO.2X-.K ~Xx.uX9.K.KX9.K.5X9X*.` 1XG.}X-X-.~.`.`X-X-.`.~ F.`Xt ~ F.`Xt F ~.H.r.k.k.H.`XV.r F.8Xt.r.r ~.`",
-" NX*X*.r.H.$.R.|.f 5.kX9Xt cX9 : ).0X5 @Xy.>.E nXq.3.YXc h x mX..G.O =.,Xw VXJ V.1Xw.>.WXeXL.s /Xi.;XrXcXBXJ.a c.[XMXB.Y h.Z $.M aXDXD.MX- tX,.9 1.3XHXcXHX3 k $XXXX )XX 5XM.` 3.8.` ~ 3.rXt.u.k.rXt.rX*X*Xt.r.k.`X9Xt.^.^.o.^.o N.o.X N.U.b.XXz.b.b.b.b.b.o.X.o.b.X.o.b.b.b.o.b.b.o.b NXjXtXtXj.r.X.rXjXtXtXjXj.^.b.b.b.b.bXz.b.b.b.b.b.b.b.b.b.bXz.b.b.bXg lXg.c l.c.cXg l.c.c.c.cXg.cXg.cXg.cXg _ _.bXz.b _.b.bXo l.X.b.b.bXdXo 5Xx.|XJX@.2 D f.].uXH $.1XZ.<X2.JXA pXAXp zX4X+._XG o HXUXa.!XL.n sXGXL s.9XPXO.!.'.EXw.@ %X= u h < p.sXn H 0XC w O ^.= JXC.nXP.'XIX1.aX-XD.e R R.M 8 R.MXD RXDX,X,XD.a.}X, $XK.9Xw [XH.1 M &.E z HXw M R t R.*Xp U.N.) /.v.v.BXfXfXb pXFXFXbXf.;Xf.@.Y C.e.a R RX- aX-.e.aX,XDX1XD :X5.KXl.5Xl 3.M < EX4.@ yXCXL.n.DXDX,.wXD.ZX,.w $ n.>.M.'XcXl sXD $ h :.- '.!XOXC.! J w.@ z.y.EXw = 1 TXJXJ.a.e.aXsXs sXDXI ~ ~.^.bXz.o.b.b.b.bXz.b.bXz.b.b.^.b.b.^.^XuXgXt.r.^Xj.^ N.o N.b.b.b.b.b _ _.b.b.bXz.b.o.b.b _ _ _.b.b.o.b.bXg.o.b.bXtXt.r.r.H.rXt.rXt.rXt.r.rXVXVXU.0.n.n g.].HX1XI #Xc xXB U.a.`.uXt.k.HXtXt e e.rXt.r.rXt.r.r.r.r eXt.rXt.^Xk qXk )Xx )X9.uXx.u ~.r ~.r.r N N ~.8 ~ F.8.8.~X5 gXP 4XPXO.H.u ~X-.k.r ~.r.r.8.8.8 3.~ `X5 a.aXX.8.`X-.`.`.`.`.` ~.r ).r ~.`.` FX5.R.$.| (.$.R 5.k ~ ~.rXV.8.8",
-"X9Xt.r.r.u.K 5X9.K.r.KXx 3 q ,Xx | ) :.0XwXw.xXZ = [XG v yX0X.XHX..- o z 1 x `Xl.E.9.EXsXs.Z.s.....x M [ V.[ # VXB.-.,._X, h a.u R.a.aX-.aX- a.a R.a.a 3 `.lX3 3 #X3XX V.,X3.` 3.8X-.8.8.8.u.rX*.r.kXt.r.kXt.uX* ) q.X.r.b.X.b.X.b.bXz.b.U.b.o.b.b.b.b.b.b.b.b.b.X.o.b.b.b.o _ _.b.b NXzXjXt.r.kXt N.rXtXtXtXtXtXjXz N.b.b.b.b.b.b.b.b _.o.b _.b.b.b.b.b.b.o l.b.oXg.cXg.c l.cXgXgXg.o.b.o.oXgXgXz.b _Xz.b.bXzXoXzXzXg.o.bXo.bXd.r.k.k.r.H.H.D.H F.8X1.K R.9 n.gX4XA._._ .Xf MXp.pXG >XGX+.qXG.9Xa.w v.'Xc.9XG.!XU.'XaXL.;.@.s p U $ CXe *.@ & =XZXm 0 2 O 9.q oXO.KXlXI.~X1.~.a RX,XJX, T $ :Xs.Z 1 $.aXD.u R.w.w g.>.-.-., yXGXLX=XeXL.w R t t U v v.v ^XiXiXi.@ ^.v pXF u.)..X>.C.;X2Xr [.W.9X,X,X, T $ xXI cXl $XI.u.uX- c.e.` aX, x._X4X4 H H.n.nXlX;XK.9XcXwXl TXeX.XH $X,.9 t R R 8.}XD.Z yXUXC.>.>.qXmXn O 2 p.@.MXG.M B t t <XD.= v s B.8 ~.^XzXzXz.bXzXz _.b.b.b _Xz.b _ _.b.b.oXjXz.r.bXjXjXtXj.o.b.b.b.b _.b _.b.b.b.bXz.b.o _.b _ _Xz.b _.bXz.b.b.U _.b.oXd e.r.r.uXtXt.k.rXt.rX* ~.8.`.0XP.n.0 gX1.` ~.8.8.[XeXn .~.`.H.rXd.r eXtXtXt.rXt eXtXt.r eXtXtXtXtXt.k.5.A.A ).$ 5 f.A 5 5.`.8 FXt e.r./.k F.8 ~.8.`.8.`Xo.2.0XPXPXO :X-.`.8.~.`.~.`.~.`.~.`.~.`.8X-.~.u.8 a.8.`.~.`.~.`.8.~ q.8 ).`.r.8.`.r.5X9 ).K.k.K N F ~X*.r ~.`X*",
-".X FXt.k.r.rXVX9 ).%X9 Y qX*.&X3.K.8X-XJ.jX0 .X8XrXrXp.j.xXwXhXc.MX4Xn.@ y UX- x O.s G U R U U 0.sX4X> [.YXX V.[.S.1Xr.O 1XlX5Xl ` cX-X- aX- R aX-.aX-.a a a a < a #X3 V.fX3.` 3.8.8.`.`.8.rX*.r.k.rXt.r.r.kXx QXxX* ~Xd e.^XzXz.b.bXz.b.U NXz.o.b.b.b.b.b.b.o.b.b.b.o.b.o.b.o.b _.oXz N.kXtXtXt.k N.r.kXtXt eXt eXjXz.b N.b.b.bXzXz.b.b.b.b.b.b.o.b _.o.bXg.o.bXz.b.o.o.oXgXg.V.o.b.b.b.b.b _.b.b _.bXz.b.bXzXz.b.bXg.X.bXz.b N.b.K.r.kXVXV FXdXV.H.8XI 3 a #.Y x E....XqXp.xX+.x >.@ J.E.;X+.9 s s.DXl.9 1XOXPXw `.nXLXCX>Xi.s.M x U.W / o H y &.jXC H oXC s.n.5.Z.u c cX-X-XIX- :XHXKXwXUXw.,XJXc.%X5X, R.w.n sXm m XM 1.[ yXn.=.W.W C t t CXa 2X= w ^Xf w wXi.v.).) U t.s ..4X8X>X>Xn [X< 1 1XJXD 1XlXKXlXcXl 3.e.u c.` ~X-.~ R $X+XpX4XnX>.q sXa.2.2XJ.O n.OXw YXD.9 # h $XM aX1X,X,Xe.w.w._ g.j.'.j.q & H J v.s /.) /.).W.W.* t C GXLXl RXV.r.^.b.b.o.b _.b.b.bXz _.b _XzXz.o.bXz.bXjXj.I q NXj.rXj.^ N.o.b.o.b _ _.b _.b.bXz.o.bXz.oXgXz _.b.o.bXzXz.b.c.o.b _XdXtXt.r.r.r.HXtXtXt.k.r.8.8.K.'XyXP.0.0.~.`.8.8 hXc E.F.<.u.8 F.u.r.r.r e e.r e e e.r.r eXt.rXt e.rXtXt.kXtXxXo.5.5.k.uXo 3.u.r.8 ~.rXj.X N F ~.`.8 F.` F.u mXO 'Xy.! m.8X-X-.`.`.`.`.~.`.`.~.` B.`.~.8X-.`X-.` a.`.`.`.~.` ~ ~.$.r.8.` F.8.8 ~ 3.k.8.8.8.`.8Xt.rXV.8.8.5",
-".5.uXtX9Xx.$ I.| D ( ) (Xk.kX* ~X*XI.H.K.9XwXp.@Xq...j.;.+.TXG a.MXnX>Xf.jXp._Xq 2.).= C.e h CXqXF..Xp zX7XM XBX<XwXHXc.-XcXl.] | `X- RX- RX-X-.a.e.aX- a a.a a 3XXX3 V kXM #X3X-XIX-.`.8.` ~ ~.rXtXt.k.f ) 5XV.H F F.rXd e _.bXz.b.b.b l.o.b.b.b.b.b.b.b.b.b.o.b.o.bXz.b.b _.b.b.o.b.b N.kXtXtXt N.rXjXtXtXtXjXt e.^.b.bXz.b.b.b.b.bXz.b.b.b.b.b.b.bXz.bXgXgXz.b.o _Xz.b.b _.b.bXz.bXz.b.bXzXzXzXz.b.bXz.b.b.bXz.bXg.b.bXoXz.b NXk.&XdXtXtXtXoXtXV.8.8X-XI hX7Xe.mXeXq._._.<.xXr.x.<X4.x H.E.9.n.]XDXc 1.a T $Xc.Z.Z.w o H ^.s vXl.W.W.NXm H = HX0XG oXC 9.D.wX-.KX5X*XI #.KX-.aX1 :X,.aXD $XD :.]Xl.Z.aXDXa.n.!X..-X3 # 1.9.x.s 2.W 8 C.N.N.vX=.vXi ^ {.vXi / wXn.W x._XpX+.@ ^XfX>.@XpXn h t RX-.~X- B.}XKX, R a 3 c.u.`.~X-XD xXGXrX+X>X> H.n.0Xl.n x x.wXK.Z.w.aXl h $XDX,X, $Xe.Z.w.w.Z.W $.j.9 9.' 9Xm.qXC o 0 2X=.= /.N.WXw.jXG 9.a.8.r.r.b _.b _.^.o.b.b _.b _ _.b _ _.^.o.bXz.^ e.^.kXj.^.k eXj.oXz.b.b.b.b.b _ _XzXzXg./ i. .6.#Xz _ _Xz _.o _Xz.c.o _.b.^Xj.k.k.^Xt.rXt.r.rXgXx )X9 IXJXPXO gX5.`.`.rXI 3.-Xe EX4XMX-.`X*.r eXd.r e e eXt.r eXtXt eXt.r.rXtXt.uXt.k 5.$.5XJ.$., 5 q.5 ~.k FXt.rXkXx.r.8 F.8.8 ~.`.r D.0XOXPXP.| c.`.`X-.`X-.`.~.`.`.~.`.`.~.`.~.`X-X-X-.`.`.~.~.`.X.K.8 ~.8.` ~.8.`.8 ~.r.r ~.8.8 FXt.r.8XV.8.`X*",
-"X9.r.k.$X5 I ) q.$Xo.K.r.rX*Xt.rX* ~.8.`.`Xc.wXc.xXr M M W xX,.a R.M.CXfXCX>XGXnX=.) 8 aXD R.M.w *.s ^X0.[Xp VXc x.ZX,X,.~XIX-X-XIXIX-.a.` R B RX-.a aX- 3XV.u.K.8 3XM # VX7 V.gXB.}XIX1X-.8.` ~.8 ~X*.k qXk.r.8 F F.H F ~Xd.^.^ lXk.^.o l.b.b.b.b _.o.bXz.b.o N.b.b.o.b.o.o.o.b.b _.b.o.b.b.b N.bXg.kXjXt e e eXjXjXz N.b.o N.o.b.bXz.b.o.b N.b.b.b.b.b.bXg.o.b.b.bXz.bXz.b.b.b.bXz.b.b.b.b.b.b _.bXz.b.b.b.^Xd.b.^Xx.b.bXz _ N.b ).&.&.f Q.&.|.R 5 I.2 V T :.GXc UXe.m.m ..x.x.xX4.{X>X2 &.+.j ' 1.w 3Xl :.ZXl.5 s.9 yXG &.@ 0 x 8Xe xXsXmX>X0.+ y 0 ^XC 9Xa.D t R.5Xl :.8XIX*.`.a.~.aX1XD RXD R c $X- R.Z.w.9 ! n TXMXMXM.l 1Xr v.s.N.=.N.N /X6.v LXf.PX=Xi p.E s.YXmXUXw y.+ J.sX6.@.4X> .Xn U tX- aX-.`.H.e.e t tX,X, #.`.eX-.} xXpX> H H & y.'.9 8XDX, hXDXG $.}XD $XDX,X1XlX, 1 $.w $.ZXeX,.wX, sXl.nXGXa s 9XC H o 0 0 0 O /X+ =XL 1XI.8.r.^.bXz.V.o _ _.c.cXk.b _.b _.bXz.o.o N.b.^ eXt lXk.^ eXjXtXj.b.b.o.b.b.b _.o _.b.o.c.U.U.U.c.o.b _ _.b _ _.bXgXg.^.o.^XtXd.k.u.u.uXoXx q I QXx (X*XVX- cXV.`.` F.8.8X* `.i pXq.Y.}XI ~XtXtXj e ~ e.r.rXt eXt eXt.r e.r.rXtXtXtX* 5.$.$X3 q V D ) : FXt F.r.r.^X9.r.`.8 F F.8 ~.`.5XoXPXOXP.2.0.~.`.`X-.`X-.`.`.~.`.~.`X-.`.`X-X-X-.`.`.~.`.`Xt.`.5.8Xt.8.`.8.`.8 ~ ~XV ~.8.8.8Xt ~.rXt F F.`XV",
-".kX* 3 I q N.5XtXt.rXtX*X*.rX*.r.8 F.8.r ~.`XI.a sX+ MXpXc.WX,X-X1X,Xp.@ wXC.;.. pXe B.D.ZXI.} hXs 2Xn.;.[X7 k.i $ UX5 cX, cX, c h :.aX1XDX1X1XI 3X-XM : cX-XV #.~X-XM.FXM.F >X%.lXc.a RXI R.`.` ~XV.5 IX* F.8.8 ~.8 F F.r.k.R.&.( q.XXx.z.bXz.b _Xz.b.b.b.b N.o.b.b.b.b.bXz _.o.b.b.b.b.o.b.b.b.oXk.b.b NXz.^.^Xz.^.b.b.b.bXz.b.b.b.b.b.b.b.b.b N.b.b.b.bXgXg.b.b.bXz.bXz.b.b.b.b.bXzXzXz.bXzXzXz.bXz.bXzXdXt e.^ N l.b N.b N.b.^ (.b (XxXk.RXk.z.].k.5.k $ : KXw E.m E EXn.@Xn ^Xf.@Xn W yXU ! s T cXJXc.uX3XlXKX.Xm ! H.E.@ .Xs.MXD h x.9 b.+.> & oXCXP b vXD RX-XD R 3 # c c 3XI cX1 RX-.Z R T.8 x.* R s.wXcX.XcXMXM c.a # x.Y > 0Xv.v 2X=Xi ;XfX6 {Xi p..Xs u.W.M.w.Z.w.ZXe v.. -XiX6.{.J.F.i a.eX-X-.e TXl x.M.a.a.} c.~X-.eX,XpXG.j HXC.E s.w.DXlX. $XD.O.,.ZXw :.3XVXlXK 1XJXwX..MXK.3X.XD nX5X,.9Xw 8X5XLXL.n JXm H HXC.vX= GXG.YX5X-.r.r.^.b.o.c.cXg.c.c.c.U.V.o _.o.b.b.o N.b.b.^ e e.^XtXk.r.rXj.rXz N.b.o.bXz.b _ _ _ _.b.b _.b.o.b _.b.b _.b.b.bXg.bXg.^XjXx.A.X ) ).R.| I (XxXoXt.`.H.H.`.`.`.`.` ~ ~ ~XVXc.i E._X+Xc a 3.H.^.rXj.rXt.rXtXt ~Xt e.r e.r eXt.rXt.u.rXXX9 cXVXX c cXt.H F F.`.`XtXtXt.8 F ~.8.8.8.` F.`X1XVXP !X..2 3.a.`X-.`.`.~.`.`X-.`X-.`.`.~.`X-.8.e.`.`.`.~.8Xx.^.8.r.8.` ~ F.8.`.8.8.8.8.8 ~ ~.rXt F.8.`.`.X",
-"Xo.rXt.r F.r.k ~Xt.r ~Xt.r.r.r.8.8.8.8 ~.~X* $XJ $.-.jX+XKXKXDXIX1XDXp.x.@ J...s..Xe CXDXI RX,X,.N p.sX0X%.[X<.S.S 6 kX-.-XJXBX-X3 c.uX#XJXlXw.$ T $ |Xl.e.%X* 3 h 6XMXB.gX7.[._Xq XDXI.`.8.` 3 )XlX3X1 3.` 3.8.` 3 ~.r V./.f.5.X.Q ,.Q N.o.b.o.b.b _.o.b.b.o.o.b.b.oXg.b.b.b.o.b.o.b.b.b.b.b.b l.b.b.b.b.X.b.b N.b.b.b.bXz.b.b.b.o N.b.b.bXzXz.b.b.b.bXg.oXz.bXz.bXz.bXz.b.b.b.b.bXz.b.b.bXz.bXz.b.b.^Xj eXt.rXdXx.oXzXzXz lXxXgXx.XXgXxXxXo.5Xt.5.u cX- #XlXq.9.F._ E.<XnXi 0 0Xf.< M.Y.qXOXD 'X- xXl `.uXl s.0XO M y.@.. 2Xs.* tXMXIXK o =.EX0 w o.q bXaXD RXI.a a.~XI.u.HXlX1X-XD $ R kXc m.nX.XPXG.j n =.OXc 1 c.}.aXMXMX+X%...s ^X=Xf.@ w.PXF.@ v MXG [XKXK.-X..Y ` 1.-.N U 2X= % .Xf.JXn U C aX- T `X.XJ.- `XKX,XD.~.`.a.MXGXG y H HXmXL.n.ZX, mXDX,X..Z UX.XwX. t :Xc 1.3.Z nX,.w.3X, tXJ U RXJX;X1 8XD.wXaXaXL 0 H 0.v G.).N sX,.H.u e.^.o.o.c.c.c.c.c.c.c.o.b _.bXz.b.b.b.b.b.^ eXtXj.^.IXjXt e eXj.b.b.o.b.b.bXz _.b.b.b _Xz _.b _ _ _ _.b.bXz.b.oXkXz.b.o.8 qX9.5.5.K )X9Xo ~.k ~ ~ F F.HX1.`.` ~.r.r.u.u [.[X% >XZX+X3 : q.&XkXdXt.r.r.u.rXtXd e.r eXtXtXt.rX*XtXVX9.$ V.$.,X3.f NXd.r FXd.` F.r.8.8.8.8 F.8.H FXI.`.8.~ c.2X.X; 'X-X1X-.~.`.~.~.`X-.`.~.`X-.`X-X-X-.`X-.` N.8 F.~.`.8.k.8.`.8.`.8 F.` F.8 F.8.r.rXt ~.8.`.`.a V",
-" N.r.k.rXtXtXtXtXtX*.rXt.r.u ~.` 3.8.8XIXo ).] 1.-XD x : :XKXI.`.` R 1X4 b JX=.W p.W.DXDXDX1 3 U.M.s 0 WX<.[X7.L.-XMX#.[ # X3Xh 3 V # 3X.X1XD.] 1 #XI.% 3X1 | :.aX3XZXcXBX7XqXp._ E.l a 3XI c D TX1XVXIX1.~XIX-.` 3 # IX3.K.u 5 A Q.&.(.b.b.b.^.o.b.b.b.b.b.b NXz.b.^Xz.b.o.o _.b _.b _.b.b.bXgXg.b.b.b.b.b.b.b.X.b.b N.b.b.b.^ N.b.b.b.b.^.^.^.^ N.b NXg.o.b.b.b.b.bXz.b.b.b.b.b.b.b.b.b.b.b.b.bXz.b.^Xd.rXtXt e.X.bXz.X.c XX@ Q AX Q A f.z.7Xt ].k.%Xx : I KX<.1.lX4 J M ^.vXi.@ HX0.'.nX5 8.eX- 3X5.e R B B.D.'Xm y...).s 8 t R.}XM $.j H.> & b JXmXLXLX, a.9XJ.u xX1 g.K 'X5 cX-X-.,XlXJXUX;.> n ! !.q.G = ` `.i 3 #.l XBX+Xi ^XfXfXf 0 ^XnX=.j v.-XK 1.- $ :.-XB `.-.-.i C u p p %.CXf . vXD.* BXl.ZXIXD $X,XlX-.u.~X-.e U._Xn.@.@.EXr.E.s ' s g.'.*X. x.MXcXlX. 3.'.- TXG n xX,XlXc.Z.aXKX,X, :X5.K.~X- R.Z x v.j J.vX= H.=XL.w.u.8XtXj.b.b.c.V.c.c.c.c.c.c.oXz.oXz.b.o.b.b.b.b.^Xj e eXt NXg.^XjXj.r.^.^Xz _.b _.b.b _ _ _.o _ _.b _ _Xz.b _.b.b.o.o.oXg.b.^.r.^ ~ ~.` ~.5 P.5XtXt.r.` ~.8 ~.`.8 ~.HX*.r # $X#.TX4 >X7XHX. D )Xk A ~Xd.rXd.rXVXtXt.rXtXtXt.rXtXtXtXt.uX9X9X9.KX9.5.5 N.^.r FXx.r ~.u.r ~.8.8.8.8.`XI.8.~X-.8X-.] m TXUXlXlX1X1.`.`.`X-.`X-.`.~.`.`X-X-.`X-X-X-.5.X.`.` ~.8.u.`.H.8.8.8 F.8.`.8.8.r.r.r.r F 3.`X-X,.-",
-".^.r.r eXj ~.rXt ~Xt.rX*.rXt.8.8.` 3XI qX9.% q.uX-X1.aXlXo.u.H ~ 3.H UXGXe.v.s.)XeXe.ZXDXD.DX,XD u.)XL.@ zX<X%.1 W.[.h [XB V.} # < XMXM `Xl.e TX3Xl 3 ` '.~ (XJ.}XJ.[ kXBXw.FXr.p.g.i .iX3 c ] c.HX-.`.~XI.8.~X- cXJ ( :.u.5 qXx f A.z l.^.o.bXz.b.o.b.b.b.o.X.b.o.X.o.b.b.b.o.b _.b.b.b.b.b.bXg lXz.b.b.b.b.b.b.b.^Xj eXjXj e eXjXj.^.^XjXjXtXt eXj.^.bXg.b.b.b.b.b.b.b.b.b.b.bXz.b.b.bXz.b.b.b.^Xd.^Xd eXt eXd.r N.bXo _.XX .&.&.&.tX@.t.& AX@Xx.&.$ ] )XJX5 `., [.jXpX2XC.=.E 0 H 0 = v ' ' BX1X-X-.K.a.~X- R.w.'XC H bXb.).a.a.a.}.Z s y MXC.O O J.q b.Z K.wXc T.2 m DX. gX; DXKX-XIXDX,.w.n sXU 9 o x.Y nXK ` x.a.a # # X>.@.@XfXiXi.v.B.)Xn.M.* CX1XD 3 BX, R.}.M.a < h R.a.* uXFXb.{.C.@X%X+ U R.eXl.~XIX, a RX-XIXV.~ t.*XeXpXq v.@.j y.9XGXm $XDX,.ZX5X,XDX,XD $Xl h x x $ $ h.ZX, cXD t R.eXI.~X-X-.` R.wXLXp.E 0X=Xv.s.) xXD c.r.r.^ _.c.U.V.c.V.c.c.c.o.bXz.V.b.b.b.o.b.b.bXz.k e.rXj././.k.k.r eXjXj.^.^.b.b.b.b.b _Xz _Xz _.b.o.b _.b.b.b.b _.oXg _.b.b.kXt ~ ~XX F.k.R qXt ~.^.r.r F ~.u FXVXVXx ) I.,.[Xr E .Xq 1XDXIXt.k NXd.rXdXV.k.k.k.rXd e.rXt e.rXtXtXt.r.5.rXVX*.uX*.r.k.^Xj.8Xt.H.H.H.8.8.8.8 ~.8 F F.H.`.` aX9 #Xw ! g yXU.n R.eX1.`X-.`X-.`.`.~.`X-.`X-X-.`X- ~.K.~.`.~.~Xt.`.8.`.8.8.8.8.8 F.8 ~.r.r.8.8X-.` <XM 1",
-".^XjXt.r.rXjXtXtXt.rX*.r.rXV.8 3.8 : )X3.$.kXt.uXVXI cXI 3.KXt.H.r cXDXnXG O v.N UXq BXIXDX,X, < 8.W.)Xe.@.pXrXnXpXG nXB #.l.lXM x # aX-.*X- a R c.e.eX-X1 3X- <.i `XBXB n.[.p.g >.m >.} `.,XI.`.`.8XI.`.`.~ h.5.2.K R.u T.5 4.fX9.^ NXx.^.o.^.b N.o.b.o.^Xg.b l.b.^.b.o.b.b.b.b _.b _.b.b _.b.oXgXz.b.b.b.b.b.b.o.b.^ e eXj eXt eXt eXt.r e eXt eXt.^XzXk.X.bXz.b.b.b.b.b.b.bXzXzXzXz.b.bXz.bXzXd e eXt e.r.r.r.r N N.b.b.^.X.b.b.b.b.^.X.b N N.X.X.k.uXt.HX* 3.a $.Y.YXLXp &X0 J ^ O & 9.nXoX1X- RX- 3X-X1 RXD oX; =.+Xp MXe.j :XM.Y.Z.9 oXm.qXC 0 9Xm v $ s.w.nXlXDX, BX,X5X,.D R.* R R.w 1.>.O.G =XU.jXw nXcXc.u.}.} #.FXcX>XiX= /.B.BXb p U C a B.e RX1XIXI R.a a R < a a a.e t tXs p.PXfX2 z WXr.-Xc k :Xc D.Z $X1.eXVX1 R a a U..XpXn.@ & &.9 s TXa $.DX,.ZXDXl xX, UX,XG.wXq xX,.ZXVX, $X, R.u 3 3.~ B R $.w s H 0 2Xv.).).)XG aX5.rXj.b _.V.c.c.c.c.c.cXg _ _Xz.bXz _.b.b.o.b N.bXz.^XjXtXgXt NXgXjXt e.rXjXj.b.b.b.b _ _ _ _Xz _ _.b _.b.b.b.b.b _.o.cXz.b.b.r.r FXt.r.8.kX9.kXtXt.rXj ~XtXd.r.uXd q I.A.5.u x .i._ $XB )XJ.| (Xx e.|.X Q ) Q.r Q ~XtXtXtXtXt.rXtXtXt.k.k.kX*.r ~X*.^.XXj F.8.8.` ~.8 3 ~.8 F.8.8.`.~.`.`.~ 3 ) kXG y =.+.j.Z 3X- a.`X-.`.~.`X-.`.`.`X-.`X-.`X-.~.`.`.`X-X*.8.`.8.`.8.8.8.8.8.8 3Xt.H F FX-X-X,.Y.i",
-".kXt ~XjX*.rXt.r.rXt.rXV.r.8XVXV DXX q ).rX* ~Xt.8 ~ ~.kXV.$ N qXtXo #.M.j y J u UXM RX,.Z.ZXD a <.W.) 2 v.@Xn vXi.s.j.j.F.F.l.l kX,.} R.e.eXDXD aX- RXIXVXI h.l X%.Y.FX+ > >.F.FX%.TXc.a.a 3.~X-.`XDX5Xl ( c cXI : 5 m IX9Xt.rX*XtXg.rXtXj.k e.^.^ NXx.zXx.(./.o N.b.o.b.b.o.b _.b _.b.bXzXg.c.b.o.o.b.b.b.b.b.^.^XjXt.^ N.b NXzXjXt eXtXtXd.rXdXj.^Xg.X.b N.b.b.b.b.bXz.b.b.b.b.b.b.b.b.bXz.^ eXtXtXtXtXt.r e.^Xd N _.X.bXz.X.^.b.b.^.XXz.bXx.bXx N.kXt.H.8 3XI.Z.Y.s b H.+ H 2.v &.!Xa 'XDX-X-X- 3XJXcX-.DXK.T.OX0 WX2X>Xq.- ., 1.ZXmXC.!.> b.+ !X; gXc ' '.'.' :XlX1.ZXD RX- 1.ZXc ! =.3 KX.Xc.j kXwXcX7XM.}.} h.l X+XnXb.)._Xb.j vXr.9., $ : s.ZXc.w ' sXDXJ c.,X5Xc :XlXl.- x....X:.{X2Xr.[ xX, x.} c h.a 3X- RX1X,.e R s.} t._X4Xp.E HX0 y s.'.Z.Z $.Z 1XDXD.Z $ x Xq $ xXeXI.ZXK $ TXK `X- 3 RX-.ZXL OXC 0.v.).; 2 *XL.D RXtXt.^Xz _.V.U.c.c.c.c.c.oXg _.b _.b.b.b.b.b.b.b.o.b.^XjXt N.^./ NXt.rXt eXtXj.^.b.b.b.bXzXz.o.b.b _.^.b.b.b.bXz.b.b.b.U.^.b.b eXt F.8.k.8.r.f N.rXtXtXj.k.X.r.$ q.fX@XxX*.u 3XM.Y.i x : # q.A.z.zX@ q.R.X q A (.R NXtXt e.rXt e.rXtXt.^.^.r.r.kXt.r.^.KX*.8 ~.8.8.u cXV ~.8.8 F F F.`.~X-.`X- 3 xXK vXw &XCXrXcX1.`X-.`X-.`X-.`.~X-X-.`X-X-.`X-.`.`.~X-.` 3.`.8XI.`.8.8 F.`.8.8 ~XV.`X1.~X1 R 1 1._",
-".k ~X*.r.rX*.rX*.rXt.r ~.8 FX9 D q D c.rXtXtXt.r ~.8X*.u ~.A f f.R |.$.-XU & H.j.Y.,X5.Z.wXD a tXD CXa C v 0.s 2.= /XGX+XcXBX7X7.-X7X< kX, x x 1 :XM 3 a.e 3.`.} #.i .-.lXq EXq EX+ [X<Xh nXp RX- 3X- R :.,X3 `.a :X9 T.5X5XI.8X*XtX*.^.K q.kX*.r.kXtXx N.& Q.&./.z.o.^ N.b.o.b.b.b.b _ _.b _.bXg.cXz.b.bXz.b.b.b.b.b.b.^Xj.oXk./.IXk.^XtXtXd.rXt.rXt.rX*Xg.X.b NXz.b.b.b.bXzXz.b.b.b.b.bXz.b.^.b.^Xt eXtXtXtXtXt.r.X.^ NXz.b.^.b.o.^.o.^.o.^.b.b XX@X@.z.R.z )XkXx : ` oXw.O [X0.E.v w & oXG.n.K R.~ R RX. mXD $.ZXU.OX+..XF U.M t u.a.w sXmXC.O.G yXZ @.O.O Y @.G @ !X;.% : 3XI.aXl gXUXwXmXwX..,XB 1XK.-.gXcX3.i h hX, 1.YXcXn . ..NXe.jXU n cXH x g.9XeX.XGXKXJ R.3 : mXl T 'XKXK n.YXnX0..X6X2X4X4Xn.l a a.e.a a.a.` a.~XI : cXc XKXpXqXnXpX> & y sXK sX,X1.w D xXl.n $ $XG x.wXDXlXIXD.5 c.D 3.u a 3 R UXaXLXC 9 O.N /.N H.W xXsXIXo.rXz _ _.c.c.c.c.c.c.o _Xg _.bXz _.b.o.b.b _.bXzXz N.b e.o e.r.^ q.bXtXt eXtXjXz NXz.oXz.b _.b.b.b.b.b.b.b.b.b.b.b _ l.o.bXzXt.r.r FXo ~.r NXx.^XtXj ~X@.k.&X@ qXkXt.r.k.r.u 3 VXMXB #.`.8X*.b N NXzXdXt e.r.r.r.r eXt e.rXt.r.rXt.rXt.k.^XtXt e.rX*.^.^X9 ~.` 3X*XVXo 3.` ~.8.8.8 F.`.`.~.`.`X- 3.9XnXnXh.+Xw.Y.i aX-X-X-.`X-.`.`.`XV.e RX-.~XV.~X-X-XVX-.HX-.8.`X5.8.`X-.`.`X1.8.8.`.`.~ R h.Y x._",
-".KX*.r.KX* ~X*X* ~X*.8 F.8 ~XV.X.k.uXt.uXt.rXt ~ ~ F.r.r ~.$./ 5.f.A 5XcXw H & yXc.S x $.w.aXD.aX, a U.M._Xe U.N.).N 0XG.jX>.EXpXGXp kXM.- ` :X,XX ` c.e 3X-.`.KXB .[XB.mXq._Xq.mX%XpXpXpXe Xq aX-.8 R 3 :X-.8 : q |X9.u F F.H.rXV.K ).& I.k.r.K.X 5X9.7 ) ).5.^XtXtXjXj.o.b.b.b.b.o.b.b.b.b.bXgXg.bXz.b _.b _.b.b.b.b.b N.XXg.X N.kXtXtXtXtXt.rXtXtXt e.b N N.b.b.b.b.b.b.b.b.b.bXz.bXz.bXz.b.^Xz N eXt eXt.rXt.r.^.^.bXo.^.bXzXz.bXzXzXz.b.b.oX@X d.t.tX@.Q.R q.R.] | :X. n vX0.@.@X>XC.!.' ' 3 B.a : $ $.*.w.w.Y KX0 n.x .XrXq n.W U 9 vXm.OXH g.9 m ].5.5 $ T 4 !.] 'X5X, 3 B.'.DXU s gX.Xc ` `XM .Y .- V 3 $ a h.Y.-Xn.... E.M CXDXD.D.aXD h U hXe t.i <.M.a.a x cXD 8 R U U U U U..XnXi ;.4XfXn.YX, < < a a.} < a.a a cX-.K c.i.a <..Xp.@.j H vXw sXDXDXJXc T DXHXl.9XKXK n 1.9 :Xl :X5 3 3X- aXD U.w.s 9XC.v.N.N.N t C.W vX- 3XoXj.o.b _.c.c.V.V l.c _XgXg.o _.b _Xz.b _.b.b.b.b.b.bXz N.X.rXj lXk.kXtXt eXt e e.bXz.b.b.b.b.b.b.o.b.b.b.b.bXz.b.o.b.c _Xz.^Xd e.r ~.u N.8XoXoXtXtXtXtXk./Xk.k.r e.rXj.rXt.k.r.K #.r.`.8.r.k N.b.b.b.bXzXdXj e eXt eXjXt e e e eXt e.r.^.kXj ~ eXt e.k N N.r.8.8XI 3 :X5 $X1X1X1XI.`X-.`.`.~.`X-.a.lXGXnXC M MXn hX-X-X-X-.`.~.`.~ DXV c c 3.5XVXl.`X3XI.5XlX5 3 5.KX5X5 c.K.K :.K.5 3 a #XcX7Xq >",
-" V qXMX9X9XX.KX9X*.8.8.8.8.8.r.k.k.rXtXt e.rXt ~.8 ~X*X*XVX9X*.r.uXd.r 3 v v 0._X,Xl.MX,.n R.a.}XD tXDXDXe.M.a < t.NXG.s vXa.s 2.)XpXc.Y.} t a.a a.a 1.a.}X-.}XXXXXX.[ ._.m._X4 UXrX+XnXeXe p x $ hX,.G `XKXcXX :.K.8.` F.~.`XI ) 5.$.5XVX9X3XX 5.$ 5XxX9.rXtXj.rXjXj.^.b.^.o.b.b.b.b.b.b.b.bXg.b.b.b _Xz.b.b.b.bXz.b.b.b NXz N.^Xt eXtXt.r.rXt.rXtXt.r N.kXt.^.^.b NXz.b.b.b.bXz.bXz.bXz N.b.b N.b.rXtXt.rXtXt.r N.k.^.bXz.b.bXz.b.b.bXz.bXz NXz.b.^.b.^Xo.oXdXd ~X*.u.}.u.Z.9Xe.+.j 0 O.q 9.0.n R :XU.Z s.Z.ZXa.' =XrX>Xp.<._XnXrXe.W s.jXUXKXcX,X1X5 D 3.`X1X- 'XU ( $X5.uX,X- BXsXa s.>XK ` x XcXcX3 $XI.}.a h.9.-.x.... u <X1X1X1.0.w R U uX4 C._.iXe E < <.aXD t.* C C u u EXnXeX=XbX6.@X>.@X>Xq t < t t.M.} a a a 3XV.~ a t < t C .XGX>Xr.EXUXG 8XDXK.]XK DXwXH ! n gXK :XU : 'X1XIXI s x.ZXG v b & O.) b.9.W CXs.wX5XIX1.X.b.^ _ _.U.V.c.cXg.o.o.c.c.VXz _.b.b _ _.b.b.bXz.b.b.o.o.b e.r.r.k.oXk.^Xj.rXj.rXj.o.b.b.o.b.b.b.bXz.b.bXz.b.b.b.b _.UXz.bXz e.rXt.k.r ~.`.z.f.kXt.r.rXtXt.rXtXjXt.r.r eXtXt.r.^ ~.8 ~.rXj.^.b.b.b.bXzXzXz.^XjXjXj.^.b.^ e.r e.r eXt eXd.k eXj.k e.r e.^.b.r F F.8X1.5 xXl.w h $ U RX-.`X-.`X-X-XD.,XG._X4.J.F._.lXB h aXI.~X-.`.~X- qXc qXM (XX k.5.~ 1 ).,.5.K.H.] )XK ) DXJ.$ ` m 1 h X+X<X2 [",
-" c 3 )XMX*.u 3 3.r.`.8.8 F.r.r.r.rXt.rXt.rXtXt.r.r.r.r.r ~.K.u.u.r.r.u.H s.s.W.W.i cXD.w x RXIXD.aXDXD cX, < <.aX, u.Z u.N * / / vX+ .9 x x x $ h.} #X, c 3 3 3 h # X7.[Xq >.xXqXq p [ U EXq.xXnXe.s vXn v.1X+.-.- `XM.8XMXV., ) B c `., # 5 I.u.KX*X*X*X*.rXtXt.r.^.^.^.k.^.b.b.b.b.b.b.b.b.bXgXg.bXz.b _.bXz _.b.b.b.b N.^Xj.kXtXtXtXt.rXtXt.uXtXtXt.r NXt e.r.^Xz.b.b.bXzXz.bXz.bXz.bXz.b.b.b.^.^ e.rXtXtXtXt e NXj.^.b.b.bXz.bXz.bXz.b.bXz.o N.b.b.b NXz.b.^XzXtX* ~.r 3 3 $ x.W.xXn.+ 0.qXl.] @ g '.9XwXP @ K.O y ! o.W 2 2Xp = = : 3 <.}.`XXX.X5XVXo ( 5.K.`XI '.!.0.5XlX1X,Xa.n.nXcX;XJXKXS.-.3.O kXK.YXHXc $ [.YXh.LXr.jXb U.MX- RX-.D.DXe v..Xn .Xp...m.d < t U.M.WXs.).)X=..XnX> M =.{ M..XpX>XpX>XG v 1 .9.FX, < <X-XIX-X- a < <._ ..@.@.jX>.1.>XcXc s.ZXD $.n.ZXD.w.ZXe.wX, R.D.a $.Z.n.9.!XCX0XC J.s.NXs.* v tXDXsX, R.u.r.K.b.o.oXz.c.c.U.c _.b.c.c.c.oXzXz _.b.b _Xz.b.b.b.bXz.^.b l.^Xj.r.r.kXtX* ~Xj e eXt e.^Xz.b.b N.b.^.^ eXj.^XjXz.b _.b.U _ _.X e.r.k.r ~.` ~Xo q NXdXt.rXt.r.r.r.r eXt e.b N.b.X l.^.b.^.^Xz.b.bXzXz _Xz _Xz _Xz.^Xz.b.bXz.^XjXj.^.^XjXj.^.o.r.kXjXt e eXz _Xd ~ F ~XI.DXl.nXL vXL.. xXl.aX1X-.8.~.`.}Xp._.m E.d.d._.l 1 $X-X1X-.~.8.~.~X-.`X-X-.8X-.` R.`X-X1X1X1.~ I : ]Xl.5 `X. :XcXKX+.1 MX+.J.mXA",
-" kX*.,XX )X3 5X*.8.`.8.8.`Xt.r.r.rXt.rXtXtX*.rXtXtX*.r.r ~XoXVXd.u.rXt.8XG.s.)Xs cX,XD.D.w R.M a 3XI xX,.MX-X-.} a 3Xs.*.* C /.)XLXrXn.} h.a.aX, c hXl hX, 3.aXM.}XM.l X7Xr WX+Xn v [.g._._X4.x . 0..Xb ..@Xn.j >.F .[.l # :XIXD `.5 mXHX5 c cX9.$X3.rXtXtX*XtXtXt.k.^.bXt.^Xz.b N.b N.b.b N.bXg.o.b.b.bXz _.b _Xz.bXz.b.b e.r e.r.r.rXt.rX*Xt.r.rXt.k.r NXjXt.r.^ N.b NXz.bXz _Xz.bXz.bXz.bXz N.b.k e eXtXtXtXt.r NXj.^.b.bXz.bXz.bXz.bXz.bXzXz.b NXzXz.b.b.^Xz.b N.r.rX*Xt.8 #X-XG.W v MXmXP.nXU @XUXO.].0 D.2Xl 'XPXwXGXL v 9 b y.} aX*.} 3X*.rX3 cXVXd.H 5 )XVXI.H !.0.0.,X5.n.w.nXmXUX..SXH `XwXB yXK.9 :Xl xX3 $XK.[XwX%.@.T.Y <XD.DXDX, CXG.W.m .X>XrXn.m p.) pXq.W pXeX=.mX6Xp.<X4.jX+.j.p.pXr W yX+.@XnXGXnXp.YXq h tXlXl c.e h.MXeXpXpXpX2X4X+ =X..jXK y T C.D.ZXl.Z ' yXc s.w.w.' $.nXaXPXC.! o b w b.NXn C C.*.MXs.D 3 3XVXV.XXt.o.c _ l.c _.b.V.c.c.cXg.bXz _.b _Xz _.bXz _Xz.b.bXzXz.U.^.^XjXj ~Xj.rXg./Xt eXjXjXjXjXj.^.b N.^.r.r.r e eXzXz.bXz.#XdXz.& A.r (.8.`.5XVXtXx.r.r.rX*XtXtXtXt.r.r e e.^.b.b.b.U.^.o.b.b.b.b _Xz _ _ _Xz _Xz _.b.b.bXz.b.b.b.b.b.b.^XjXkX@.IXx l.rXj eXzXz.^ e F ~X1XI.w v.s 2 HX8..XG.D.~X-.~.8.}.a x ..i E u <.m x.9 x a.`X-.`X-.`.`.`X-X-X-XI.~.`X- R RXI.`.`.~ : :.5X5 `Xl c x.- z.<X2X8.<Xf.C.C",
-".K.u.K.K #.k.K 3.8.8 ~.8 ~X*.rXt.rXt.rXt.r.r.r.r ~.r.r.8.8.K ~XVXt.u.rX1 s.s pXe xX- h xXD xXH $ nX.Xl x.uX, : cX5 :XD t < t.d.WXn.[ x h.}.}XI 1.l : $ #XX ` `XBXcXr nXr HXq._Xn U._X+XrX4.xXG.) p vXeX+X7 #XM.l 6XX.} c : T.ZXJ.u # ).,X3X*X*X*Xt.rXtXtXtXtXt.k N eXtXj.b.o N.b.b.X N.b l.X.b.b.b.b _.b _Xz.b.b.b.bXj eXtXtXtXtXtXt.r.rXtXtXtXt.r NXt.r e.k.b.bXz.b.bXz.bXz.bXz.b.b.b.b N.bXjXtXtXt e.rXt.r.b.^.b.bXz.b.bXzXzXz N.bXz.b.bXzXz.bXzXz.b.b.b.^Xz.^XtXt.r eX5XI xXGXe s.q.!X; 4.].ZXD 8.D.].2XVXIX1XD.w T.' xX,.MXD.`.K ~X*.r.rX* D NXdXt.k 5XX.`.Z T.] '.0 :.'.n.!XUXw V :XBXc x.ZX, R.Z.*X1X,XI.a a x.-Xw.@ M M n.-XB.-.j.jXr.<.1.g.p.pXrXn..X=X= 0X=.sX4.@XpXr.pX+.pXB.F XMXBXnXp.jXpXG HX> y.jX+.F._ U 1 UXw.Y.[ =.TX+.<.xXnX4.jXr.1XU nXGXKXG.D.W.DXmXc y.' o s.n s s v yXm OXa.=.= 2 v.N.j.j C.NXsXsXw 'Xo )Xx ).z.&.t.6. i.6. .6Xg.c.o.o _Xz.bXzXz _.bXz _Xz.b.b _ _XzXk.b.^.rXjXtXtXjXkX9Xj N.r eXt.rXj.^ NXzXj.r eXj.r eXz.bXzXz.#.oXz d.t Q.z fXx f.$.k ).^.rXt.r.r ~.rXt e e.rXjXj.b.bXz.c.b _.b _XzXzXz _XzXz _XzXz _Xz _.bXz.b.b.bXz.b.b.bXj.^.b.z.^.b N.r e e.^XzXz e F ~ FXI 8 x s ^.x.vXi J.9XDX-X-X-X- 3 x x E.m u E xXqXq : t.eXI.e.`.~.`.` R.`.eXIXIX-X-.`X1X1 3X-XV.~.eX- 3.e.e R.a x.JX2X2X4.CX8XfXf",
-".rX* 3 3.r 3.` 3.8.`.8.`.r ~X*Xt.rXt.rXt.rX*X*X*XV ~.8.` FX5.H.k.u.r.HXI v 2.W._X,XD.W.ZXI 1XH :.,XHXH nXwXU.,XJ `X.Xl t.e <.W p v.j.F h <.a h XX.- XBXM xXBXMXBXK k.jXw.j.j y v pX+X%.pX4XrXpXe U C CXq.<Xp.pXM.l.l.l., | k IXH.5XlXM : `XX.u 3XVX*.uXt.r.kXjXtXtXtXt N.k eXt.^ NXz.^ NXzXz.bXx.o N.b.b _Xz _XzXz.bXz.b.bXjXjXt.rXtXtXtXtXtXtXtXtXtXt.r NXt e.r.^.^.b N.bXz.b.bXz.b.bXz.bXz.b.b.bXj e.rXtXt.rXt.r.o N.b.bXz.b.b.bXz.bXz.bXz.bXzXzXz.o.b.bXzXzXz.^ N N.k e ~XdXo.HXIX,XG s gXy.|.D.HX1X5.5 5 IXV ~.8.8.HXIXDXD.aX-XI.`.r.kX*XtXt N.r.fX@.rXtX*.r N D (.0 !.].%XyX.Xw.2XUX. D VX3X3Xc hXDXDXDXD cXI.a R.a 1.[XrX+XC._Xp._Xq WX4 .._ z.h [XM nX+.@Xn.s.@.s.@Xr.[X7 > x XM.l c # #XB.[.[X+.[.-Xr W.jXpXpXp.p.-Xw n n & zXrX2 >.mX4Xn n.Y y n &.YXG.9 x.9.'Xm g.> & s v y.qXC w.v.=.= G.NXs.w =X.Xe u C *XaX5 T ] ).R.&.X.tX@XuX X d. iXgXg.o _Xz _.b _Xz.bXz _ _.bXz _.bXz.b.U.bXgXj ~Xj.rXtXtXjXk.bXjXj eXt eXj.kXtXt.rXt e eXj.b.b.bXzXgXz.X l.XXxXo.k.k I qXt q.rXt.rXtXj.k e.r ~ e.r e.r.b.b.b.U.o _XzXz _XzXz.bXz _Xz _ _XzXzXz.b.bXz.b _.bXz.bXzXj. .z.z e.rXj.rXj eXz.b.b.^ ~ F.8.HXI R v.WX=...v.s v x R.`X-.8 3.}.Y._ E._ uXe.-.,X< R.}.e.2XI.8X9XVX-X-X- I : 3 R ` V.` 3XVXJX-.` 3 `X-.M.}.3.FX4.<.JXf.{XfXi {",
-".rXt.r.r.8.8.8.`.8 ~.8XV.rX*.k.rX*.rXt.r.u.uX*XV.r.8 ~ ~.8.k FXV.rXV F.u b.s p s a.M $Xe.MX, 1X,Xp 1.9 $XU xXlX1X5Xl.Z.* < u U *Xq.jXM.} a a # #XB., k.-.YXB V.[.,XwXw.q y ' H MXpX4Xe.TX2.g MXr._XeXqXGXn.9Xp.[.l.F # X3XZ |X. R 3.~ `XV c.} 3.8XV.8XtXt.k ~XjXtXtXtXt.^.bXtXj e.kXj eXjXtXj.^XgXg.b.bXzXz.bXz _XzXzXz.bXz NXdXt e.r.rXtXtXtXtXt.rXtXt.r.XXdXtXtXt.^.^.bXzXz.bXz.bXz.bXz.b N.b N.bXtXt eXtXtXd.kXtXg N.bXz.b.b.bXz.bXz.bXz N.bXz.oXz.^.^.b.bXz N.b.b.^.^XjXt ~Xz.D.HXIXD.ZX; !.uX1XV.u.| ( 5.kXt.rX*Xt.8.`.8.8.8.`.8.r.r.X ~.rXt ~Xj NXtXtXtXtXV.8.u ].w : mX. YXKXy 'XHXK k }.[X3 VXM h cX5 c ` :XI.u <XXXB.g.+.;.s .Xb - {.B.B..X>.S.F.i 1 `.-.-.jXrXr.p.pXB.lXM #XXXX # # h.u 3 h # # X7.[X7XB.FX7 W.jX4XnXr >Xn.<X>X+.x MXr .._ .X4.j.Y.YX> M.q.Y 'XG s.9Xw &.j.j H.;.j H 0Xi 2 /.N.N C 8 aX, 1.*.M.W.)XL.D.8XV.u.r N.^.^ NXg.UXg.oXg.UXg.c.oXz _Xz _.bXz _.b.b _Xz.b.b _Xz.V.cXz.b N eXtXtXtXt.kXj.^. .k eXtXtXt e.rXtXt.r.rXj N.b _ _.b.#.b.b.b NXt.rXV ~.`.`.r.$ NXtXt.r.r.rXtXt e.r.r e e N.b.b.U.bXzXz _Xz.b _ _ _.b _ _ _ _Xz.b.b.bXzXz _.b _.oXz.^.^XjXk ~.k.r.rXt.^ N.bXz.^ e F ~.8.8 R $.Y o.) 0X6.. HX,X-X-.8 3.aXM._.s v.M xXBXh.OX-X-.u IXX.~ :X9XIX-XV I |.u.`.u.5.`XI.u I 3.`XIX3 aX- `.3.- . rX2.J.xXfX6..",
-".r.rX* ~ F.8.8 ~XVX9.K ) 3X9XxX* qXk ) )X9.5X9.5.u.8.8.H.8.k.8XtXV.r.H '.YXL pXG <XD.w $XD.M U $ h $ a.aXD R.~X-.~ BXD.* a t.) vXp n.l.}.a t xXM.,XZXH [ n n kX. n nXc.'.nXLXG.j.jXe .X+Xn.<Xr.-.jXpXGXpX+.+.p k >.i V.SXHXJ.1XUXl RX-XV 3.`XI.8 3.8 ~X*.r.rXtXj.rXtXt e.k.XXtXtXtXj e.rXjXtXt NXg.X.b.b.b.b.b _.b.oXz.b.bXz.b.b.k.kXtXt.rXt.r.rXtXtXtXtXt NXd.rXt eXj N.bXzXz.b.b.b.bXz.b.b.b.b.b.b e eXj.^.^.^.^ NXk.b.bXz.b.b.b.b.b NXzXz.b.b.^.o.^.b.b.bXzXz.b N.^.bXzXj e e.X.H.H.uXVX5.R.Z.8.k.5 ).A q qXtXtXj.r.r.r F 3.r.r.rX*.^.b.X.^.^XjXj.kXt.rXtXtXt.H.H 3.k.2 'XIXV 3.ZX5 $X,.KXc | V., VXX.u 3 |.-X5 :X. V.,XH [XhXh.+.sX6.B.P ^.P {.v.@.pXM #XM :.lXMXBXpX+.-.gXBXM.lX3X3 D :Xl.5 :.K.` #XM #.l.l.l.l.iXM.[XrX+X> nXrX> y M & WX0 WX4 .._Xq.-.jXK yX+XrXr y oXG.YX0Xp..XnX>XCX> 0Xn / *.N C.* RX, aXD R.M.N C.s xX1.rXtXtXt.^ NXg.bXgXkXg.U.c.c.c.c.o _Xz _Xz.b _.b _Xz _.bXz _XzXzXz.c.oXz.b.^.rXj.rXjXt e.z.U.k.^Xt.rXtXjXtXt.r eXt.^.o.b.b.b.b l.b.b N.XXtXt.8.`.8.8Xt.r.r.rXtXt.r.rXt e.r eXt.rXdXz N N.#Xz _Xz _ _ _Xz.b _XzXzXzXzXz.b _.bXz.oXz _.bXz.b.b.^XtXj N e.rXtXt.^ N N.o N.X.^.r.^.k qXVXD.9Xw.> H z.@Xh v 1X1X-XVX-Xe.9XeXe E 1XG.YXK <.aXIX-.u.` ~.u.~.a ~X- :.8X-XIXIX-XVX- ~.`X-.a.a R < $.YXq >.p.{...{.@.v..",
-".r.r.r.8.8.8.8 ~ c.$ V 5.k 5.,.KXJXJ., 5 |., 5 V.k 3.`.8.8X*XV.u.H.5.`X, yXnXn v.MX, h $ 8XD $ h $X- RX- a.~X- BX-X- 3 3XD h.w.) v.pXB # a R.ZXlXH.SXZ = ! ! =Xc.'XG.n.w.w.wXG &.<Xq pXnX+ z.x.. p.).d p.s._.s.jXB.gX< kX< kXcXcXcXIXIXIXI.`.~.8.8.8.8.H.rXtXtXtXt eXtXjXj.X.b NXz.b.^XjXt e.^.bXx.oXz.b.b _.b.b.b.b.b.b NXz.b NXtXjX*XtXtXtXtXt.rXtXtXt.r.5XtXt.r.rXdXj.^ NXz.b.b.b.b.bXzXzXz.b.b.^.^.^XzXz.^.b.b N l N.o N.bXzXzXz.bXz.bXz NXz.bXzXzXzXzXzXzXz N.bXz NXz.^Xj.rXo.r.^.H q.f.5.kXx 5 I.fX9Xt.k.r.rXt.r.r.rXt.rXj.^.bXzXz.^.o.b N.b.b N N.^XtXtXtXt.rXV.8.u ) mX5.8X1X1X1.`.0X# D c k., # h.}.[ `.} 3 3XI.a.}XMXp.[.j 0X6 wXf ; L.@Xf.<.- x.lX, # #.l x.l `XB #XM ` : ` : VXJXM 3 3 hXMXXXXXM #.i 1 X3XwX0.qX0.q.q n y &Xr H.j._._ E x.ZX.XrXrX>.;.; & MX0X+Xq.m.mXAXf...) v.d u.M.* a : 1 $ R.N 8Xs.NXGX, 3.r.r.k e NXg.^.oXg.c.cXg.c.c.c.V.bXz _XzXz _Xz _.b _XzXz _Xz _Xz _Xg.o.b.bXz.r.rXjXj e.k.rXtXgXk.o.r.rXt.k ~ eXt e.^.b.^.b.b.^.U.b.^ NXzXtXdXt ~ ~.8Xt.rXj.r e.rXt.rXt.r ~ eXt e.r.^.bXz l.b.oXzXzXzXz _ _.bXz _Xz _Xz _.b _XzXz _XzXz _.b.o.^Xj.r.bXtXt e.^.bXz.b.b.b.b.^.^.X , f D mX.XJX;.j.E.@ H 0 b.'XD 3 R.~XG W.1XnXq x.9 s a.a.`.`.`.~XV.K.`.`X-.8 a.`X-.`.`.`.H.`.~.`X-.`.a a t.9Xq.F >X2XAX4.4Xf.B %",
-".r.r.8 F.8.8.8.r.r 3.rXX # 3XM.u c.u #.K #.u 3.8 3.`.8XI.8.k ~Xt.k.` D 1 =.E =Xe U $ $X,XDXD.M hXIX- RX- a.a.eX-X-.` #X-.M a.N.).W > .lXD.eX1 #XX.,XhXh.G.'X;XOXK.w.n.D.n sX+Xr v p pX4 zXrX>.J.. p pXF.d 2..Xn.pXM.S.lX7XcX+ 1 gX1X1X1.8.`.`.`.8XI.8 ~.rXtXtXtXt.rXtXj.k.b.bXz.b.X.b.^XdXj N.bXg.o.bXz.b.b.b.b.bXz.bXz.bXz.^XtXt.rXt.rXt.rXtXt.r eXt.rXt NXt.rXt.r eXt.^.b.b.b.b.bXz.b.bXz.bXz.bXzXzXz _ _Xz.bXz NXk.b.b.b.b.bXz.b.bXzXzXzXzXz.b.b.bXz NXz.bXz.bXz.b N.bXz.^XjXk.^.^ q.&.^Xj N.7 qX NXt.K F.^.kXjXt.r.r e.^.^.^.b.^.bXz.b.b.bXz.^.X.^.^XdXd.rXt.HXdXVXI F ` DXI.`.HXI.`.5 Y.K.aX3XJ.K # a.a < a t.a.H 3 3.iXMXB.p.@ ^ ^ {.B {Xi 0Xn.[ 1X,.} a h h # # #XM # 3 aX-.a 3 3 3X-.eX-.aXI a a.a.}.iX3X, ` VXB m.jXU.qXUXm b s b s.j.xXn..Xe $ xX,.Y n WX+Xn.@XnXp.F.m EXAXfX6 2.N U.M.a a B.e : ` $.MXs.N.N s h 3XtXtXj.rXjXx.X.o.b.c.c.c.c.c.cXg.cXzXz _Xz.b _Xz _ _Xz _Xz _Xz _Xz.b.c.o.b.bXzXj.b.^Xj N.^XjXt.o.z ~.I.^ ~ e eXjXjXj.X.b.6.6.z.IX@.z.fX@ A.&.X.z.8 ~Xt ~.r ~.r.r e.rXt.rXjX* e.r e eXz.b.b l.b _.bXz _XzXz.b _Xz _Xz _Xz.bXzXz _.b _Xz.b _.b.bXjXt e N.r eXj.^.bXz _Xz.b.b.bXoXo.$ q.5 :.uXV 3.9.sX>.; OXa v.9 $X-.} hXH =.p.9Xq vXq a #.~X-XV.k.`.8.~.~ R.eXI.e.`.`.~X- F.`.`.`X- < h 1.9.F._.yX2.mXn.4XfXi 0..",
-" F ~.8 F.8.8 ~X*.rX*.5X9X9X3 qXX V V V VX3X3 # 3.8.8XI ~ F.k.rXt.r :X.Xc.>.EXw CXs hX5 t.DX, RX, a R.e.eX-.e.e.e.e $.a a.e C u.= 2.E 1 3 c.}XMXXX3 MXm.'XaXO g =XJXwXI.D.0 yXr v E E E.1XrX>.<.PXb %.mXb.)..Xp.Y.FXM .YXc.9.nXcXDX1.HXI.`.`.`.`.8.8 3.r.rXtXtXtXtXt e.^.bXz.b.b.b.b.bXz.^.bXzXx.oXz.b.b _.b _.b.bXzXz.b NXd eXtXtXtX*XtXt.r.rXtXt.rXd.r NXtXt.rXt.r eXd.^.bXz.^Xz.b.b.b.^.b.^.bXz.b _XzXzXzXz.bXz l N.b N.bXz.bXzXz N.bXz.b.bXz.b N.b.b N NXzXz.bXzXz.b N N.^Xk.X Q.tXgXo.X.X.& q.X N.^.k N N N.b N.^.k.^ N.b NXz.b.^Xz.b.bXzXo.b f A.&.R qXkXx 5.R ( D 5.5.$.K ` )XV.8XM.5X-.` #.$XMXM #.i 1 x.5.u #X1X-.}.l.l.[.[.4.@.BXv - - 2Xq.- xXM 3 3X- a aX-.a.a.}.} a.aX-X-X-X- R.~ aX1.~ R BX-X-.aXX `XGXc.S Y =.> g.nXG.wXL.n ' bXmXrXp._._ UXlX-.} xXr MXwX0.Y.@Xq._.m.m.J.sXv.N U <.* BX1 B aXD.*.W.N.).w sXD.u.rXt.rXd.X.o.o.b.oXg.U.c.c.c.c.cXgXzXz.bXz _ _Xz.b.bXz.bXz.bXz.bXz _ l.o.b _.b.^.U././.I.IXg.r e ~.zXk.r eXtXj.r ~ e.b.bX Xu.&Xu.( dX@ A.RX@.RX@ ~ ~.8.k q ).^.r eXt.r eXj.^.^.r e e.^Xz.b l _.bXz _XzXz _.b _Xz _Xz _Xz _ _.b.b _ _Xz _.b.bXzXjXt e.XXtXtXj.^.b _XzXzXz.b.b.b.^Xt.H.5.kX1 3XI.Z v.v.YXe.N.v vXpX-X-XI.9XGX+.TXn k W `.,X3 c.uX5 ( ` D ) D : :.5.,X- R.`XV.~.`.` x XpXq._XqX% >.m.m.<.C.@ O.s..",
-".8.8.8.8 ~ ~.r.rX*.rXV.K.5.KXMX9XMXXXMXM #X9X*.8XI ~ ~ F.8.^.r.r.` 3 8.9.W.s.+Xe x n gX,XUXD.MX3XJ a T.}Xl cXKXc $ 1 .*XB.N.W 2.@X> 1.l.a h 3XM #.[ m o vXL.w.DXD $ ' !.'XU.j.Y.m.i.d.}Xq.d >Xf.JXbXbXb.vXb.s.pXB.l.i `.[XmXaXa DX,X1XD.8.`X-.`.`.`.8.8XVXtXt.rXt eXtXt.^ N.b.XXz.bXz.b N.b.b NXg _Xz.b.b.bXz.b.b.bXz.b.b.bXzXjXtXt.rXtXtXt eXt.r.rXtXt.r NXt.r.r.rXtXtXtXj.^ N.b.b.b.b.b.b.b.b.bXzXzXzXzXzXzXz.b.bXk.b.bXz.bXzXz.b.bXzXzXz N.b.bXz.bXz NXzXzXz.^Xz.bXz N.^Xz N.I d A.X N.b.^ NXg.^ N.X.b.bXz NXz NXzXzXz.b.bXz.bXz.bXz.^.o.^.b.b.oX&X@.&X@.&.R QXx ) 5 D.%XJ D ( I.$.5XVXx.8 3.`X9., $ #XJ [.3XJ., DXJ 5 ` V V.l XB.jXf.vXFXF /.).Y.Y #XM.aXVX-X-X-.~X-XI a.` R.aX- aX- R B a B RX-.* a a a a a R.a $ ` X.Xw gXa v.n.DXs 8.n s &.jXp._ hXIXI.}.M U E vXG.Y [Xe.i.m.JX6X=.) 8X, B B 'Xl R R a u.sXe.W 'XD.uXdXtXt.kXo.b.XXg.b.o.c.c.c.c.c.c.cXg.oXzXz.bXz.b.bXz.b.b.bXz.bXz.b _.b.c.o.b.b.b.b.UXgXgXgXz e eXjXt.^XtXz.r.r.r eXt e.^ N.bXg.b.bXgX9.b.X N e.k.r ~X*.rXt.^Xd.r.r.r.r eXt.^ N.^Xj e ~ eXz.b l.b.b _Xz.bXz.b _.b _.bXz _XzXzXzXz _ _ _XzXz _.bXj e e.r N eXt e.^.bXz _ _ _Xz.b _.^ N.r.X (.kX1.HXD b.WXGXrXL.) 0.j hX-X-Xl.9.jX<X+.yXHX<.- | cXV I.2 : ) `XJ.5.2 :X*.u.~X1XV.~.`.uXBXA.m E >X2.g.F.mXq ..x b.vXeXe",
-".8.r ~ 3.r.r.r.rX* ~X*.r ~X* ~.u 3 3.u.u.u 3.8.8 ~.r 3.8 ~ NXV ~.8 h x s.W = v.MXH.Z.OX5.OX1.9Xl : 1., k.3 hXK.1.Y hXK.*.+.Y.N.s 0.@ 1.} a.lXX.[.[ yXO.' v.n.M R R.D.0XUXUX> pXe.d a >.F.x ..C {X6.PXfXf.@X+ .l x ` g s.nXa.!.n B.HXI.`X-.`.`.`.8.8 ~X*Xt.rXt.rXt e.^.bXz.b.b.b.b _.b.b _.bXg.o.bXz.b _.b _.b _.b.bXz.bXz N.kXtXt.rXt.rXtXtXtXtXt.r.rXoXt.u.r.rXt.rXt eXtXdXtXjXjXjXjXjXjXj.b.b.bXzXzXz _XzXzXz l.b.bXz _.b.b.bXz.bXzXzXzXz NXz NXzXz N.b.b.b.bXzXzXzXzXzXz./X@.X.b.XXz.b.b.b N.oXz.o.^.bXz.bXzXz.^Xz.b.o.b.o.b.bXzXzXgXz.b.^.^.z.U.zXkXk.b.k ).XX9.5X9 :XxX9X9.5 N I.r 3.8.`XM VXMXX `X#.,X#XHX# |.S.SX# V.lXB.[ ^ 2XvXF / 0.jXBX9 h.~ 3X-.r 3.K c.~X- RX-.~ RX1 R R.*X1X-.e RX-X1X1X-X-XI.a a $ ` ` nX. gXlXlX, RXD B.n s.E &Xn x $.} cX-.} < t <.a h s UXq EXf ^X= / CXD.eX-XD m.n a.M.sXG.s.- x c.u.rXtXd.IXg.X.Q.XXz l.cXgXg.c.c.c.cXg.V.b.b.b.b.b.b _ _.b.bXz _.bXz.b.b.c.o.b.b.o.bXz.o.b.b.o.^ ~XjXj eXt ~XtXj eXtXj.r.^.b.^Xz.oXz.z.o.XXz.^XjXjXt F ~.8 ~ 5Xx.rXdXt.r e.^ N.b.b N.^ e eXzXz lXz _Xz _Xz _Xz _XzXz _XzXz _Xz.b _.bXz.b _.bXz.bXj e N.^ ).rXj eXz.bXzXz _ _XzXz.o _.oXz.k ~Xx F.HX1 s xXLXn v.v 2.EXn._.n.eXI `Xn._.m EXB 1.a.aX-.~X-.`.`X-.K.eX-.~X- 3 aXIXVX-X- $ >.m p.J.JX<.F.m.mXAXf w OXn.n t",
-" ~.r.r.r.r.r.rXt.rXt.rXt.rXVXtX*XtXtXt.uXt.8 ~.8 3.r ~.8 3Xo ~ 3XI.Y.w.W 2 =Xr x., mXU.D.OXK xXH `X5XK VXcXl.9XK.> sX+.-.E.+ 0.v 2.sX+ | 3 #XX |.[.O =.+.>XU.' R.a.~X- '.! =XpXe.m h EXp.hX+X4.CX6.CX8.;X: M.pXp ` Xc y.0XaXL.0.' RXDXIX-.`.`.a.`.`.` ~XVXtXt.rXtXjXt.^ NXz.b _ _Xz.b _Xz.b.bXg.o.b.b _Xz.b _Xz _.bXzXz.b.b.b.kXtXt e.rXtXt.rXtXt.rXt.r NXd.rXtXt.r.rXtXtXt e e eXjXd eXtXdXtXzXz.b.b _.b _Xz.b N.cXz.b.b _XzXz.b.b.b.b N.b.b.b.b.bXz NXzXz.bXzXz.bXzXz NXzXzXxXz _ _.^.b.bXz.bXz.o.^.bXzXz.b.bXzXzXz.o.V.cXgXg.oXg _XzXgXz.b.b.b N.b N.^X9 N.RXx 5 q., 5 I., QX9.|X9XV (.K 3XIX3 kX7X7.-., kXwXwXJ.-Xc.[.- ` .i .p OX=XF.) /XGXK.K #X*.KX3Xo.K cXt 3.` 3 : :X1XI R $XD R.eX-.~ R B.e.e <X- a.aXI x ` 1.,X;.O.OXwX5XJ $ ]XPXy.>.L.YXp.iX,.u a.a.a.a.a t R a <Xq E .XnXv.NXDXI.~.~.*XD t.N.NXw.TXJXH |.$.R.R q.6.(X@.tX . .6.c.c.c.c.c.c.cXg.cXg.o _.bXz _.b.b.b.b _.bXz _.b.b.bXg.o.bXz.b.b.b.b.o.b.^.bXz eXtXt.r eXj ~Xt eXt e.^.b.b NXz.bXg.b.b.bXjXj ~.r.k.8.8.kX9 NXd.r e eXt.^.b.b.b.bXz.^XzXzXz l _XzXzXz _Xz.b _.b _Xz _.bXz _Xz.b _.b.b _ _XzXz e eXk.z./ e eXj.bXz.bXzXzXz _ _ _XzXz.b.b.b ~.r.5XtX-.w .).W O.s.@.s . xXGX5 RXq ._._ xXB a.aX1XI R.`.`.`X-.8.` 3XI.aXc $XDX- < x.F E >.JX%._.m.m E..X>X> ^ O.M.a",
-" ~X*.r.r.r.rXt.r.r.rXt.r.rXt.r.r.r.r.r.r.rXt.r.8.r.r 3.8.r.KXIXI.M.w 2.N.sXe 1X,.i 1X,XlXlXl $XDX,.e h.e R.}Xs U.N._ v.s p b.s 0 O.j.[.SXH.,XM kX3XZ.O.+Xh =.'.a aX1.e.'.'.jXwXnXe E U.-.pXn..X> ^Xf H.@ y n.[.- nXc gXP s.D.D.n.!.n.uX1.`.8X-.`.`.a.`.8 ~.rXtXt.rXtXtXj.b.b.b.b _Xz.b _Xz _Xz l.o.b.b _.b _.b.b.b.b.b.b.b.bXzXtXtXt.rXt.rXt eXt.rXtXt.rXoXtXtXt.r.r.uXtXt.r.r.rXt.r.rXt.r e.rXj.^.b.bXzXzXzXz.bXz l.b.b.b.b _.b.b.o.o.oXgXgXg.o.b.o.b _.bXzXzXzXzXzXz.bXz.b.^.z.o.^.^Xz.bXz.bXz.bXz.bXz.bXzXzXz.^Xz.o.V.oXgXg.cXgXgXzXz.c.b.b.^.b.b.o NXz.b.^.z.fX9.f q qX9 q 5 I ).R.kXV )XVXDXGX+.@.@X> & gXU g.jXC vXpX>.jXcXBXB.j 2Xv /.N.s y.-XXXX.K.K.K N DXoXo.KX5 q.] ` ` :., T TXI RX1X-.eX-X-X1 c.e a aX- 3XXX3XJXc !XH.2XcXl )XVX5 gXU =.;XG x x 3 :.Z xX, 3 #XDXD xXe pX4 ^ /.NXsX1.~X- t.M.N.N.=Xw.%XX ).$XxX3.&.f.&X@.IX@ A.6Xu l.c.c.c.c.U.c.cXg.c.bXz.b _Xz.b.b _.b.b.bXz _Xz.bXzXgXg.b.b.bXz.b _Xz.b.c _Xz.bXjXt eXt.r.r.rXt eXt.^Xz.oXz.b.b.cXg.^.b.^ e.r.r.`Xt.r.r.k.5Xt.rXt.r eXz.b NXz.b.oXz.b.bXz.U _Xz.b _.b _Xz _.bXz _XzXz _Xz _Xz.b _Xz _Xz.b.bXj e.^ NXk.r.r.^.o.b.b _XzXz _ _ _ _ _Xz.bXj.^ F.~ ~.8XD U v.s O.> &.sX=Xi y $.a a 1.F x xXpXDXDXI.~.`XIX-X- ~.8X-.8 R c .YXpXn a.FX4 E WX% >XAXAXA.J.<.4 0 2Xe.M t",
-" ~.r.r.r.rXt.r.r.rXt ~Xt.r.rXt.r.rXt.rXt.r.r.rXt.r.r.r ~XVXo.8XIXDXe / / CXe U # $ c $ cXD R t RX- 3.~.a t R.*.WXs.sXpXG 0 J.@XC.E HXHXBXM h.- V `Xc M.qXw sXG.Z aX- a.H $ g.9 & vXe._XpXG.Y.p H.x H.j H bXn y.j.[.-XU y.Z '.D.w.n TXOX5X1.a.`.`.a.`.`.`.`.8.HXtXtXtXtXt e.b.b.bXz _Xz _ _.b _Xz lXg.b _.b.b.b.b _ _ _.b.bXz.^XjXt.rXt.r eXt eXt.r eXtXt.r NXtX*.r.uXtXtXt.rXtXtXtXtXtXt.rXtXtXtXt.^ NXzXzXz.^.b.b.^ l.bXgXg.c.cXg.o.c.cXg.cXgXg.oXgXgXg.o.o.bXzXzXz.bXzXz.bXzXz lXz.b _.b _.b _Xz.b _.^.o.^.bXz.b _.VXg.c.VXg.cXg.VXgXz.^XgXzXz.b.b.^.b.b.X.X N.X.r.r.rX*X*.uXV.k.r N.k.uXdX5.Z.D.EXn.vXi.@XC OXL OXC.E.v 2 2 vXG yX+ y.v /.).NXL.j VXXX*XXX3.$.K.8XV.`X-.~.~ ` cXDXD RXDX1 $ 3 3 3 3XD R 3Xc # c :Xl | V.,X3 3XK.w T c ).k.D.u.] vXrXrX+XqXh.wX.XDX..,XVX3Xc tXh x._XnXi.).) RXDX- t R U.N.sXKXl 3.rXt.rXj.rXkXg.^.bXz _.o.o.VXg.c.c.c.c.c.cXg.c.c.bXz _.bXz _XzXz.b _XzXzXz.b.b.b.c.o.bXz.b.bXz.b _ _Xz.b _.b.bXt.rXtXtXjXj.r eXt.^.b N.^XzXz l.b.b.b.b.r e.r.r ~.8XV fXx.rXd e eXjXz.b.b.b _.b.b _ _Xz.z _ _.b _ _.b _ _ _ _.bXz _.b _.b _ _ _Xz _Xz.o.bXj e eXt.bXt e.b.b.b N.b _ _ _ _Xz _ _Xz.b.b NXtXt.X 3X1 tXnXL 2 H M 0XFX= ^ v.9 : a x.FXwX;XJ T :.2 '.H I.K.,.5.] mX5X. vXpX>Xp.< > >.JX4 M.pX> SX8.<X8X6 2.. v.M.M",
-".r.r.r.r.rXt.r.rXt.r e.r.rXt.r.rXt.rX*.rXt.rXtXtX*.r.rXt.u.uX1XD 9.s.= /.N.) xXe $ hXDXD.a.a R RXD RXDX- R a.*.N.N O & H.j HXCXCXC.E.j.S.3.Y kXH.3.1 =.> ! =X. 1 ` 1X1XVXlXK.n.j yXnXG.j.j.j.jX4XG J.E.EXeXG.'.' s.9 g.n.w.n BX,Xa s TXU.H.a.`X- a.`X-X-.8.8.8.r.rXtXt.rXj N.b.b.bXzXz.b _.o.bXzXg.o.b.b.o.b _.b _.b.b.b _XzXj e eXt eXtXtXtXtXt.r.rXt e.r.X.rXt.rXt.rX*.r.r.kXtXt.r.r.rXd ~.kXtX*.^.X N.b N.b.b.b N.U.^.b.oXg.c.c.o.V.c.c.c.cXg.cXgXgXg.c.o _XzXzXz.b.b.bXz.^.^ l.b.o.oXgXgXg _.bXzXz.bXzXz.b.b.V.oXgXgXgXgXgXg.VXg.o.oXz.o NXz.b.^.X.^.^ NXz.^.kXtXt.r.rXV.k.r.A (.RXx qXo I DXKX0 &X>.; ^ H bXLXaXC.E ^.v 0 2 2Xa v.j.sX=.).N v y V.$X3X9.uXVX-X-.a R.~.aX- a.5X-X- RX-XIX1X-.~.aXIXI 3.uXc.5X3 x k }XH., hXc.n.n 1XlX5.K.k.] ' gX0.xXp v n 1 !Xl T 1X,XM 3 :.9X+ p.JX6X=.) t U.e.M.N.NXG v s 3Xt.r eXj.r N N.X.b.o.b.bXg.cXg.c.c.cXg.c.c.c.c.cXg.b _.b.b.b.bXz _.bXz.bXz _Xz.bXzXgXg.b.b _Xz.b.b.b _.b _.b.b.b eXt.r eXt.rXt eXtXj.^ e e.^Xz l.o.b.bXz.^Xj.r.rXtXt.r.k.k.rXt e e.^Xz.b.b _.b _.b.bXzXz l _.b _ _.b _Xz.bXz.b _Xz _Xz _.bXz.bXz _.b _Xz _XzXj.rXj N e.^ N.b.b.b.b.b.bXzXzXz _Xz _.oXz.b.kXtX9X9X-XD.D O.=.v.s.W.WXFX=.sXGXKXI.a KX#XJX9 :Xd.' '.5 )XV.5 c.0.nXw.v ^.4 ^.JXf.T.{.; W.; o z.;XiX:X0 p v y.M 1",
-"X*.r.r.rXtXtXt.r e.rXt.r.r eXtXt ~X*.r.r.u.r.r.r.r.k.r.u.HXd.HX1XU 2.N 2XL.) s U.M U.}.aX- a a.* BXIX- cXV.9.ZXa v.v.; wXG OXL OXa.EXw [XJ ` k n.> =.>.9X0 1 ` :.a :X-XIX5 $ xXGX>Xm y H y.YXGXL.w.nXa.nXa.ZXeXl s.n.n.wXa R R B.wXa.nXJ.Z.`.`.`.`.8.`.`.`.`.`.8.rXtX*Xt.k.^.b.b.b.b.bXz.bXz.bXz l.X.b.b.b.b.b.b _.b.b.b.bXz.^XjXdXtXt eXtXt e eXt eXtXt.r N.r ~.KXtX*XtXoXt ~XtXtXtXtX*XtX*.k.k.k NX9 N.o.^.bXkXz.^.z.o N.oXgXg.c.c.c.c.o.VXgXg.o.o.b.o _XzXz _XzXz.b.b.o.o.o.o.IXgXgXg.oXz _XzXz.b.oXg.oXg.oXgXgXgXg.cXg.c.c.cXgXg.o.o.^XgXz N.zXg.z.I.zXg A.z.IXo.5Xx )X9 ~.uXxXx.5Xk.5X9.5.5Xw.j HX>.E oXCXLXLXLXm.+X0 z J 2.= /.) 0 0 G.N.s vXcXM V 3X- R 3.e.e.eX- R aXI a.aXl.uXI 3.HX-.e R.~.eX- RX1.aXDXD.KXX :XHX3 : ' x.Z RX-.K.5X9 : s.> MX> vX4 xX,XDXD.M.a a cXD t.}._ EXnX6.) * C.M R U.W bXGXaXIXtXt e e eXj N.b.oXz.b.b.bXg.c.c.c.c.c.V.c.c.c.c.o _XzXzXz _Xz _Xz.b _.bXz _.b.b.bXzXg.oXz.b.b _.b _Xz _Xz _ _Xz.^.rXt eXtXj eXt.r eXtXt e eXj.bXg.b.b.b.bXz.^XtXj.8 ~.H.f.z.r e e eXzXz.b.b _.b.b _.b _Xz l _ _XzXzXz.b.b _.b _Xz.bXz.b.bXz.b _.b.b _Xz.b.b.b.^ e.r.^XtXz.o.o.b.b.b.b.b.b _ _ _ _.o.b.b N.^XjXo :Xd BX1 bX=.)Xi U.N.= / *XLXUXc :XIX3 D ).u.`.~.~.~.`.e.KX-X1.*XsXn.sX= wXf.@.@.y.x J.; o 2.@Xi OXp.@.WXs.YX,X,",
-".r.r.r.r.r.rXt.r.r.r e.r.r.r.r.rXtXtXtXtXdXdXt.rXt.rX*.r.8.H.Z.'Xm.j.v.sXLXG v.@.wXs t t a.a a.a a RXDX5XJXc.! y H =X0.E & bXLXaXL s.>Xc.-Xc.-XwXU.'.9 s.n.M h.a a.e R ~.KXI.wXL v o.E.' vXa._XGXsXDXa.D 8X1.D R 8 'Xa.D 8X,XD.a.Z.0.]XUXVX1X-.`X-X-.`.a.`X-.` F.8 ~.r.rXt.k.^.^.^.^.b.b NXz.b.bXk.oXz.b.b.b.b.b.b _.b.b.b.b.bXz.^.^XjXjXtXjXj.kXtXjXj.k.r.^Xt.^Xx.z.rXx 5Xk qXx.XXoX9X9X9Xx ) ).kX9.A.$Xk.zXg.t.I q.f.IX9XgXk.c.b _ _XzXzXz.b.^.bXzXz.bXzXz _.o.c lXgXg.cXgXg.o.UXz.bXzXzXz _.b.b.o.oXgXg.V.oXgXgXgXgXgXgXgXg.c.o.cXgXg.b.o.^XzX X@ Z./Xu NX X@ 5.f ,.|.f (Xk.k.rXt.r ~Xt ~.8 3 ' g M.q &.+XUXU ! !X; =.> H w.s.=.N.= G._.W.N.)XG.j `XXX-X- RXD DXc c kX,Xc 3 `Xl mXc.,.KXcX- 5 RXHXcXJX,XwXDX1X,XMXl mXHXw sXl.Z R.aX-X5 c (.]XPXh M M n =.Y R h R RXD c < 3.a < x pX4X6 / * u U pXs s ' $XIXdXV.r eXtXj N.b.o.b.b.o.b.bXg l.U.c.c.c.c.U.c.c.c.b.b.b.b.b.b.bXzXz.b.bXzXz.b.bXz.bXzXgXg.b.b.b _.b.b.o.b.b.b.bXz.^.r eXt.k NXt eXt e.r e.r eXj.^Xg.o _Xz.b.b.^Xt ~X* ~.rXoXt.kXt.^Xz.b _.b _ _.b _.b.b _Xz l _.b.bXz _Xz _XzXzXz _Xz _Xz _.b _Xz _XzXzXz _.b.b.bXj e.b N.b.^XzXz.b.b.b.bXz _ _ _XzXzXz N.b.XXt.rXx.u.HX1XG.sXb.. U U C.= / vXG y :XK c.KX*.`.~ F.`.`.`XI.`X-.~.aX, 0.)XF ^.s.s %.s ^Xi 2XL.NXs.N.w.WXDX,.M BXD 8",
-".rXt.u.r.rXtXt.r eXtXt.rXtXtXtXt.r.r.r.r.r.r.rXtX*.r.r 3 c D gXJ J =.OXCXL ^ bXGXn.w U t < a a.e a B.~X, 3XD.W v 0 b 0 vXC sXaXa.Z xXcXw n = m n s s.n.w.M R tX-.a a.uX1.KX1.M.ZXeXLXaXa.w.Z 8XDXD B 8X1.* RX1XD B 8Xs.* RX-XDXl ' ' T.2X1.`.`.8.`.aX-.`.`.`.`X-.`.8.8.r.uXtXtXtXj.^.b.b.b.b.b.XXg.b N.b.b.b.b.bXz.b.bXz.bXz.bXz.X.b N NXz N.b.b.b N.b NXd.bXtXdXk.RXoXkXoX@Xx 5Xx N 5 ) 5.KX3.$X9.5 N./././.oX@ d./.t.IXg.o.bXz _ _.bXz.b.b.o.bXz.b.bXzXz.b _.oXg.o.o.o.bXzXz.^.zXzXzXz.b.b.o.o.cXg.c.c.cXgXgXg.oXgXgXgXgXgXg.oXg.cXgXg.bXgXzXz./.z.z./Xx.^.R.X.I.0.X.z.]X9.u q.rXt.k.rX*.r.8.8 :Xy !XUXm =XyXU.0 '.' s v o o 2.=.N G U.s.).).NXG.- V.K aX1X1X-XK xXK kXDXHXHXKXc.u kXJ : Y 3.%.Z.'X1XcXJXDXD R.a x :XHX; g.'.ZX- B R c.u , : Y @.O = zXrXr xX,.Z.'.9 x.a < RX- U x.d.J ^ %.W U.).sXG v $.H.u.rXdXtXtXjXj.bXzXz.bXz.b.b.bXg l.c.c.c.c.c.c.o.V.b.bXz.bXz.b.b.b.b.b.b.b.b.b.b.b.bXzXzXg.oXzXz.bXz.b _.b.bXz.b.b.bXj eXjXt.^.bXt eXt eXtXtXt eXtXdXgXg.b.b.b.bXzXt FXtXtXt.&Xk ~XzXz.b _ _.b _Xz.b.b _.b _.b l.bXz.bXz _.b _Xz _XzXzXzXzXzXzXz.b _.b _.b _.b.b.b.bXj.r.X N.bXz.o.o.b.b.b.b.bXz.b.b.b.b.o.bXgXg N.rX5.H.`.e.wXLXbXp E.M C 8.W.=.s v g.'.ZX-X*.8.`.`.`.~ 3.`.`X-.8X- UXn.)X= 0 / O.N.) %.s.= G 8.* C R.M.ZXDX, R RXD",
-" ~.rXt.r.rXtXt.r.rXt.rXt.r.r.r.rXtXt e.rXtXtXt.rXtX* 3.8X, mXl.W.Z.>.+.> o.E.q 0 v.s v u u.* < R a RX-.eXD.a 8.W.= J H.;X0XKXL.D 8.ZXlXc yXJ o s.w.w.a.*XD.a t <.aX-.`X*X1.~XI 8XsXe.n.w.D C B RXI.e B RX1 a cXD.Z.*XD.e R R.Z.'.w g.].2.~.8.~.`.`.`.`X-X-.`.`.`.`.8.8.r.rXtXtXtXtXtXj.k.^.kXjXt.X.o.X.b.o.b.b.o.b.b.b.b.b.b.X.b.b.b.b.b.b.b.b.bXg N.b.b NXx.r ~.r.r.k eXd.r.uXt.r.uX*Xx.5.u.uX* #X9.rXtXt N.b.^Xz.^Xk N.b.b.b.bXz.b.o.b.^Xz.b N.b N.b NXz.b.b.bXzXz.b.b.b.b NXz.UXz N.b.b.oXg.oXgXgXgXgXgXgXgXgXgXg.cXgXgXgXgXgXg.cXgXgXzXgXz N.^.^.^.^.b N.b.X fX9.2 D 5 (.r.5.rXt.r.k.r ~.8.`.O.G g !Xw '.'.wXIX1 '.Z.wXC 0 O /.N C C U v.).W.'., c.a a R R.9Xl 3XK 1 #X, 1 # ` RXJ.u : DXI 1XlX,.9 3 :XD aX,X5.,.,X;.q 1.D 8 c $.%.%.|.%.%XO.9XnXBXq x $XwXwX.XJ x RX- a.M.}XqXq.<XfXb.s.s.)XpXGX5.`.r.rXt.r.u.r.k.^.o.bXz.b.b.bXzXz.o lXg.c.c.c.c.o _.bXzXz.bXz NXz.b.b.b.^XzXzXzXzXzXz.^.b.b.o.o.bXz.b.b.^.b.bXzXz NXz NXjXjXjXj.^.k.r.r.r.r e.rXt.r e.r.o.oXz.^Xz.b NXj F F.` ~Xt.z.^ N.^XzXzXzXzXz _Xz.bXzXz.bXzXg.bXzXzXzXzXz.b.bXz.bXzXzXzXzXzXzXzXzXzXzXz _.bXz.b.bXk.bXg NXz.b.b.^Xz.bXzXz.bXzXz.b.^.bXz NXz.b.bXt F.H F.KXDXG.WXnXn 1 s g.WXa 0 O vXL.nX- 3.HX-.~.~.`.~ 3X-X- ~ a RXq.W.s J C C.N.W.s.N t.* tXD.M.Z.ZXI R 3 RXD R",
-".`.8.r.r.r.r.r.r.r.rXt.rXt.r.r.r.r.r.r.r.r.H ~.8.8.rXI 3 3XU.W.n xX,.!X0 &.q &X0XpXe.sXLXGXe.M.e.e.*.e 3 aXD C.N.).@ H b v.n.0XI R R.w.Z s s.w.DXD BX- a.e.* RX-.eXIX1 c.`.e R.M.* R R B.e.~ B a.} aX-.e a.~ mXc.' 1 : $XlXcXP g 4 T.].] :.`.8.`X-X- RX-X-.`.`X-.`X-.~X-.8.rXt.rXt.r.rXt.rXt.r.r N.^.^.b NXz.^.bXz.b.b.b.bXz.bXzXz N.b.bXz N.b.b NXzXz.X.bXk.^Xt.^ eXtXt.rXtXt.kXtX*.rX3XJ q V q )XkX*.k.k.^.b.X.o N.UXz.o.bXg.c.cXgXgXg.o N.b N.^.^.^.^.b.b.X.b.b.b.b.b.b.o.b.bXk.b.o.bXgXk.U.c.cXg.cXk.U.c.c.c.U.c.c.c.c.c.c.c.c.U.cXg.bXg.X.b.X.o.XXgXoXzXx.z f 5 I 5 5XJXt (.k.kXtXt.k ~X* 3Xy.G.].n $.DX,XD 8 c R s.n y 0X=.=Xs u x n.jXG.sXc nX3.K.aXIX1.Z R R.a.a aXIX,.aXD R 3XD.} R `XD R.aXD.aXI.aX, RXM `.,.1.G yXP.DXD.5 c.% f 5 D 5 D XZXp [X..%Xl 1 xX, c cX,.aX,.FXq.x.@.v 2.s o.E x.u.5 N.bXo.5.5 NXkXkXk l.c.c l l l l.Q. .Q.#.I.#.I.U.c.c.c l.c l.c.c.c l l l.U l l l l.U.c.cXg.I.U.cXk.c.c.U.U.U.U.U.U.U.U.UXkXkXk.UXg.X N.X N N.X N N N.b.z.I l.U.UXk.U.o.kXo.k N.A.z.X.z.U.U.U.U.U.U.U l.U.U.U.U l.6.U l.U.U.U.U.U.U.U.U.U.U.U.U.U.U.U.U.U.U.U.U.U.U.#.zX@./.6.c l.U.#.U.U.U.#.U.U.U.U.U.U.U.U.U.z.I.IXg.XXtXX #.u.ZXmXmXGX+Xp.,.WXe.s.v b o TXVXX )XVXtXV.u.u.HXVXI.r.uX,XKX0.E.h y.Y.j &.Y.Y.9XKXlXBXw `.uX, cX5 xXD h",
-".k.kXo.5 N.5 N N N.5 N.5 N N N N N.5.5.X N.K.k.kX*.5X*.u ' m.'.'XaX;.9.+.>.+ =X0 M.xXpX> yXm yXJ.YXJ.- VX, $.Z.E J wX0XnXG.'.wX5 $X5.ZXl.w $.wX,X,X,X,XVX,.u.}X,.}X5 `X9XV.H $XD.}X,XD 3 3XVX,XD c 3 3XD $.a ` D `X3XJXX k m ! @XO m D ] (.].u.u.uXVXV cXV.uXVXVX*.u.uXt.k.5.5Xx.X.X.X.X.X.X.X.X.z.z.z.z.z.U.U.z.U.z.z.z.z.z.z.z.U.U.U.z.U.U.U.U.U.z.z.z l./.UXk.zX9.zXk.b N N N.5.5.5 )XXXXXXX3XX ) NXxXgXk.#Xg.U l.6.z.U.z. . .I.zXk.cXgXg.X.b N.b N.b.XXg l l l l.cXkXg lXgXg.IXxXg l.cXk.#Xk.#.U.#.#.#.U.U.U.U.U.U.U.#.U.U.U.U.# l l.oXkXgXg.X q.R.z.I.RXg ( q q ) ) qX9.k.u.k.^XoXoXdXVXV.uXUXU.O s g x 'XK xXl T.' gXCXi.v 2XsXD.WX+.j JXLXw VX3XM 3X*.a cXI.ZXI.a RXI aXDXI RXI $X1XI h 3XDXDXDX-.}XI.a 3 #XM k.,X;XK.Y.w.u.k.2.5 c.r.K :X3XcX<XBXc 1.ZX5X5Xl x x hX, h cX, x._X4X6X= / 2 bXOXK `.k.KXt.kXd.u.^ NXgXg.X.o.o.o.o.o.oXg.Q.c l.U.c l.o.o.b.o.o.o.b _.o.b _.b _.b _.b _.b _.b.b.b.cXg.b.b.o.b.b.b.b.b.o.b.o.b.o.o.b.o.X N.^XtXt eXt.r eXt.rXt.oXgXz.b.bXz NXj ~ F.r.rXt.^.^.b.o.b _.b _.bXzXz.b.b.b _.b.c.b _.b.b.b.b.b.b.b.b.bXz.bXzXz.bXzXz _.b.bXzXz _.b.b.cXkXkXjXjXzXzXz _.b _Xz _.b.b.b.b.b.^Xz.o.oXg.b.r ~.K.8.aX1.D.!Xa.s._ C u t * /.=XLXG.a.}XX.8X-.~.~.~.~.`.`.e.`.~.' yXmXG.jXG x xXc.]XlXJXw n $X-.e t <XD.M h",
-" ~.8 ~.rXt.rXtXt.rXtXtXtXtX*X*X*.uX*Xt.uXV ~XV.8.rXV.HXVXJ.].n.n $.>X..O !XU H M z = n &XC.jXG v x x `X, R t 8 C.v J H.EXe.w.a B.~X-.Z 8XD 3XD.a B R 3X- aX- aX- a 3X5.5.`.eX1.a a.~ aX-.`.e.e.a.8 aX- a aX-.e a.a.e a.8XI 'XLXUXOXO.] (.] (.] TX5XI B RX1X-.`X-X-.`X-X-.` ~.r.r.r.r.r.r.r.r.r.r.^Xd.^.^ NXz.^ NXz.b NXzXzXz.bXz.^XzXzXz.bXzXz.bXz.b.b.^.^Xk N N.^.b.^.^XtXtXt.r.r.r ~ 3.r.rX* 3Xt.r.^ NXz.z.oXz.I.zXu i.U.c.cXg.bXz.^.kXj.r.r.rXt.r e.r e.^.^ N.^XzXz.^.bXz.^.^ l.^Xz.^.^Xz.bXgXg.V.o.VXg.o.c.cXg.c.U.U.c.c.cXg.oXg.o.o.^.oXz N.^./.t A./ QX .& q.f 5 I.AX3.rXt.r.rXt.H.H F.` $.] = g.0X. T hXHXlXK :XK =XC w.= / C U XG.wXLXeXJX3XM.K 3.a 3.u.}.u 3 cXDX- 3.aX-X,XI #.aXD cX, 3 tX- h a h.a a #XXXJXK !Xm ' TX5 ' : 5Xt.kX*.K V # U.MXDXD $ $X,Xl.}.a aX-XDX,.l EXnX6X=.N.=XP T.u.$.R.R.f./.A./.A.&./.U.b _.b.oXz.b _.V.U.c l.c.V.c.bXzXzXz.bXzXzXz.b.b.bXz.b.b.b.bXz _.bXz.bXzXgXgXz.b.b.b.o _.b.b _.b.b.b _.b.b.b.b.bXzXt eXtXtXtXtXtXt e.XXg.b.o _.b.o.^Xt N FXtXj.r.bXz.b _.b.b _Xz.b _.b _.b.b.b.U.b.b.b.bXz.bXz.b.b _.b.bXz.b.bXz.b.bXz.b _ _.b.b.b.^.r e.^.r.^.b.b _Xz _Xz _XzXz.b.bXz.o.b _.b.b.I i N F )X1.8XI B.!XLXL v.) <.d.M.= 2 bX,.}X3.8X-.`.`.`.`.`.~.`.`.` BX5XG.) v G t t.a aX1X-X- R U.M $XDXD.e.a < t.W",
-".8.` ~ ~.`.r.r.rXt.r.rXt.r.k.r.rX*.r.u.H.8.H.H.8.uXVX-XlXJ s.'Xs.M.w.-Xw.O K =X; =XZ.jX+X+._XL v.W h $ 3.8.e RXs.N o ^ H J.wXD aX-.~ 3 c 3XI.} 3 #.` 3 3.u.a.~X-X-XD.~X-X-X-X1.aX- aX-.e a R aX- 3 aX-X-X- RX-X- R 3X- RXl $.0 ! g mXPXP.!.0 '.0 T R $XDX- R.`XI.`.`.`.`.`.`.r.rXt.r.kXtXt e.rXtXoXd e.k N.b.b.b.b.bXz.b.b.b.b.b.b.b.b.bXz _.b.b.b.b.b.b N l.b N.b.o N.^.oXtXtXt.kXt.rX*X*.rXtXtXj N.UXk.#.6XkXg.z. X .I.c.bXz.o N.^.kXjXtXtXt eXtXt.rXtXtXt.k.b N.^ N NXz.b.bXz lXz.bXzXz.b.bXg.cXg.c.c.c.c.c.c.V. i i iXu.IXg.o.b N.^Xz.o NXz N. .XX@X@./.z.z.&.R q.X q.z.rXtXt.rXdXt.8.HX1 : T TX; v $XG c.9XD `XlX5.9 J H.v /XsXs._.jXL v 1.[X3 #.a.a.8X-XIX,X.Xl DXcXKX.XJ $Xc `.O : `XH : :.e TXK ` | $ <Xl V.,.O &XC yXrXK T.u (.X.X )X9 |.i._ h U hXD.Z.D.D c.a.a.} aX-.i x E.J.JX= / v.Z.H )XoXxX9Xx.X.XXk././.z.c.o.b.bXz _.bXz.c.U.V.c.o _.c.oXz.b.b _XzXz.b.bXzXz.b.b.bXzXz.bXzXzXz _Xz.o.o.bXz.bXzXz _Xz _Xz.b.b _.bXz _.b.b.b.k e.rXt.r.r.r eXt.r.b.o.bXz.b.bXzXzXj e ~Xt e.r.^.b _.b _ _.b.b _XzXzXz _.bXz.c.b.bXzXz.b.b _.b _Xz.bXz _XzXzXzXz _.bXzXz.b.bXzXz.kXj e NXj.^.b _ _Xz _.b.b _Xz.b.b _Xz.o.^.b.b.U Z.AXkXJXx :.]Xl nX>XL.W.w.* 8.W 2 2 0 8 RXI.8.~.`.~.`.`.~.`.`X-X-X-X,XG.W O *.) t u <.a RXD.}X,.MX1 RXI a <.M.N.)",
-".r.5.` ~.8 F.8.8 ~.rXt.r.rXtX*.r ~ ~.$ 5Xo.$ D.5 I 3.%.5.GX;Xw.9 g.3XD kXl.n.w.' gXH [ VXBXq 2.).W t a aXIXIX1 t.N O ^ HXG.s $.eX1X1.5 c.u.K cX9XI.5XI.~.a.u.8.Z B 3.eX- R.eXI R.e.eX-.aX-.eX-.aXI.e.eX-X-.~ R aX-.~XD.~.n.Z.0XO.0.2.!.nXaXa.w.!Xl 'XK DXc 'XDX1X1X1.`.`.`.` ~X*.rXt.r e.r.rXtXd.^.k ~Xt.^.b.b.b.b.b.b.b.b.b.b.b.bXz.bXz.b.b.b _.b.bXz.bXzXk.b.b.bXz.o.bXz.^.^XjXjXj.k.^Xt.^ NXk.I.c.I i./.#Xg.U.c.o.U.b.b.bXz.^.^XjXt.r.r eXtXt.k.kXjXt.rXtXt.^.^.k.^.^.^.bXzXz lXzXzXz NXz.b.o.V _.b _Xg.c.c.V.c.c.U.U.U.U.c.o.b.bXzXz N.oXzXzXz.k.o.k.^.X.k N N.kXtXt ~Xt.rXt.r.rXt.r.8.8X9.O m g '.*.a.e.eX5Xl.~XD.e x.qXm.v /.) v.EXC.sXGXwX3XX.i.aX-.aXI cXD.3 1.-XlXc :Xl `XJXK k IXc IX..ZXD.- x :.- a.aXM., n.>.>.>.>.> nXw.HXx.^.k ~X5XBXMXq._ $.WX,X5.Z $XD.a <.a.} a h._ E..X4X=.s bXI.`Xt.r.r.rXt.rXjXz.X.o.bXz _Xz.b _ _Xz _.c.#.c.c.o.b.V.o.b.bXzXz _Xz.b _.b.b _.b _.bXzXz.b _Xz.bXz.o.oXz.b.bXz _Xz _ _Xz _.b.b _Xz _.b.b.b.^ e e.r eXt e.r ~ e N.o.b.b.b.bXz.bXt e.rXtXt eXzXz.b _Xz.b _ _Xz.bXz _Xz _Xz.U.b _ _ _Xz _.b _.b.b _Xz _Xz _XzXz.bXz.b.b _.bXz.bXjXj.r.bXj.^.b.bXz _ _.o _.b _.b _Xz.o.b.b.o.b l.I.f.& D I I :X3., n.sXsXLXD C C.W /.sXG $X,.`.~.`.`X-.`.~X-.~.`.`.`.aXKXn J *Xs.d t a.-XJ 3X5 ` 'XDXV h R U U.s 0",
-"XV.r.8.`.r.` ~ ~ ~.8.rX*Xt.r ~.8XV.8 IXo.A c.5 ) ] 1 6XHX; m.O.Z g.1 xXM.aXDXs.nXGXw | X7X7 v.).W.N.M.* a.a.a.}.N.)XnXC y.w.ZX1.eX-.e 3.u.KXV.`.a 3X-X-X-X1 ` mX9 :X5X5X5 ` : :X5X-.eX-.eX-.~ 3X1X-X-XI.eX- aX-X- a 3X-X, '.0XOXP g.n '.w.n s g.wXw ' s.0 T TXJ.HXI.`.`.`.`.` FXtXt.rXtXt.k.r.r.kXo.k e.r.k.^.^.^.^.b NXz.^.b.b.bXz _.b _.b _.b.bXz _.b.b l.o.b.bXz _ _Xz _Xz.b.o _.c.c.#.#.6 i.6XgXg.c.bXz _.c.oXzXgXz.b.b.bXzXjXt.r eXj.^.^.^ N.b NXt.r.rXt.rXtXt.rXjXj.^.b.^.cXzXzXzXzXz N.b.bXzXzXz _.VXg.VXg.VXg.oXg.c.o.o.bXzXzXzXz.b NXz N.bXzXkXg.XXg NXX NX9.K.kX* ~.k.r e.r.r.H.`X5.|.3X..OXJXJ 1 x ` $XOXcXUXUX0Xm O /.NXG.O.WXG nXBXM # 3.` a.~X1X,XI t cX, hXDXDXD x.uX,.uXD :X,.5XD.eX, c <.} a h `.- n.G =X0X0 y.j T.uXxXtXg.kXJXH z.pXr.[X+Xe nXJX,.aXDX, R a.aX, x E._Xp vXn.M.H.r.rX*Xt.rXjXt.^.^.b N.b.b.b.b.b.b _.b _.U.U.c.V.V.b _ _ _Xz _XzXzXz _Xz _Xz.bXz.b _Xz.bXzXz _Xz _.o.o.b.bXzXzXzXz _XzXzXz.b.b _Xz _.bXz.bXj.r e.rXtXtXt eXt.rXz.b.b.b _.b.b.bXt e.rXt eXj N.b.bXz _Xz _Xz _Xz _.bXz _Xz.c _Xz.b _.b _Xz _.b _.bXz.b _XzXzXz _Xz _.bXz.b.bXzXt e.r.b eXzXz _ _XzXz _.o.o _.b _.b.b.b.^Xz.bXz.o.b N.H.0.H.` 3 :.w v b.w CX, x.j.W.).WXG 1.e 3X1.`.`.~.`.`.8.`.~.`.8 :X,XG 2.N C < B gXUX.Xc TX..'XJX. VXw & MX0",
-" ~X-.8 ~.` ~.`.8 ~.r.r ~ ~.k.r ~.8.`.5 :.u ) ~ : ).KX5.3XJ ! 8.'Xa xXl.aXD.M v.n oXw.[X7 XB.-Xn.) *.N.* t t.M.M UXnX4 o H.n.w B.~.`.eX-.~X-X-X-X-.eX-X-.~ RX1 ` :XH c c # )XJXJ ` RX-.e RXD aX- 3 3 R.~ RX-.~X-X-X-.~ 3 R.0XU g.]XU.Z s.n.wXc.wXU K '.9.D s.0 g g.5XD.`.` F.`.8 ~Xt.rX*Xt.r.kXtXo.r.KX9.z.$.I.rXdXd.^.^.^Xj.^ N.b _Xz.b.b _XzXz _.b.b.b.b.U.b _Xz.V.U.o.#.#.c. .U.6 iXu.#.#.V.VXg _.b _.^.^.b.b.^Xz.U.b.bXzXz NXjXj.^.^.^.b N.b N.b.^ e.rXt.r.r e.r e.r e.^Xz.^ lXzXz.^.bXzXz.b.^XzXzXz _.bXg.VXg.VXgXg.cXgXg.bXz NXzXz.^.bXzXz.^.b N d.f.& 5.&.A.A./.f.K.rXt ~Xt.r.r.r F.8.8 T 4.0 ! 'X-XlXD 'XOXUXPXmXU HXC.vX= 9.TXeXe.YXcXl # # 3X- aX- RXDXD.a.e.e R R.e.eX1X,X, RX-.a.~ $XIX-Xl hX,X, hXM.,X..> & = 9X0 H.Y.- c.k.r.XX9XKXpXGX>XpXqXnXq.T.,.3.,X, c xXI h U [ xXnXLXp xXD.8Xt ~XtXt.rXtXt N.X.b.b.b.b _ _.b _Xz _.o.U.U.c.c.cXz _Xz _Xz.bXz _XzXzXzXzXzXz _XzXz.bXzXz _XzXzXzXg.o.b.b.bXzXz _Xz _ _XzXz.b _.b _.b.bXz.^ e e.r e.r.rXtXt.r.b.o.b.b.b.bXz.b eXt eXtXjXj.b.bXz _Xz.bXz _Xz _.b _Xz _Xz.U _Xz _.b _Xz.b _.b.bXz _Xz _.bXz.bXz _.bXzXz.b.b.b eXjXtXk N.o.bXz.^ i.6 i.6.#.c.o.b.bXz N.o.b.o.b.X l.X.H.0X9 3XI cXD.' 2Xa.W t.i.} U.) o.N g 8.a $.u 3.`.8.~.~.~ BXI ~ R B o.=.=.N 8.M.D.ZXDXI.}.a.K 3 c x.w.s 0 o",
-".`.8.8XV.8XV.r.r.HXV.rXt.rX*.8.r.8.8.8.8.8XV.uXV 3XI c gXlXK.W B.W xXD.M.M s.w.'Xw [ ` XX XBX+...)XF.N.).N.M *.).s.s wXCXa.ZX1 R B.~.eX1X-.~.~.e.~X- R B.e R.e.~.eXl.eX-.e 3.u.a.e.~ B.u x.5XDXIXl 3 3.e R.~X-X-.`XI.Z : g.Z 'Xl xXl.nXl.0.! sXU 'X; !Xc gXP ! g.%X. '.~ B.`.`.`.8Xt.HXtX*Xt.k ) 5 5 q I q.k.r.rXtXt eXt eXt.^Xz.b.b.bXzXz _.bXz _Xz _.b l.b _ _ _ i i.#. i.6. .#.U.o.oXz.V _Xz _Xz.b.o.b _.bXzXzXkXzXzXzXzXzXz NXz N.bXz.^.^ N.^Xt.r eXt.rXtXtXtXt eXt.^.^Xz.cXzXzXz.bXz.bXzXz.b.bXz.b.o.oXgXg.oXg.cXg.bXz.bXzXzXzXz.^.oXz NXz.X N.XXgX9 NXXXx.k.KX*.k ~X*Xt.rXt.r.r.8.8.`.5 g.0.0.DXsX,.wXaXa b b.n J.9XC 2.v MXn o x nXMXM c c # aX-X-X-XD.eXDX-.e aX- RX-.e RX-XI.~XI RXDXI B x.'Xc `., |XhXHXU =Xh.>XZ HXZ.> ,XxX 5 } T =Xe.JX>X>X4 > W.i.-.S.].%XK.,XK nXh M.j x TX, 3.rXtXt.rXtXtXtXj.b.b.b.b.b.o.b _.b.b.b.b.V.U.U.V.V.c _XzXz _XzXzXz.bXz.bXz.b.bXz.bXz.bXzXzXzXzXz _Xz.c.o.b.b.bXz _Xz _Xz _Xz _.b _.b.bXz.b.b NXjXtXtXj e.r eXt eXg.o.bXz.b.o.b.b e.r e.r e.^.b.bXz.bXz _.b.b _Xz _.b _.b.b.c.b.bXz _Xz _Xz _Xz _ _XzXz _Xz _XzXzXzXzXz.b.bXz.b.X.^.^Xg N.b.o _ _.o.o.cXgXg.o.bXz.b.oXz.b.b.^.X.b.o.XXdXV :XV.8 cX1.wXL.sXL u < <.}.d.j 0X0.>XJX#Xh )X1X-.~.8.`.`.HX1 BXs.!.=.= 8.M R t t R t < < a.eX, R.N.) O J",
-" ).KX3X9X9X9XxX9.RXxX9XtXt ~Xt.z.5 3.8.8.uXV ~.uXVXIXV.2XU g.W.' s.Z $ R.Z x vXw nXB XX.l # .- >.sX=.N.= / *.) *Xb.vXCXm s ' 8.H 3XV c c : $ cXD cXD $.e R.e tX-.~ 3 3.eX-.a cXl.eX-.eXlXVXc D : k :.3 $.e RX-XIX5 # 3.~Xl.ZXl '.5Xl :XK.' T T '.DX;XK.2.0XUX;XO.OXy.].DXIX1X1.`X1 ~.8XV c ) qX3Xx.KXt ~.r.rX*Xt.rXt.rXt.r eXt.^.b.bXz.b.b.b _.b _XzXzXz lXgXgXg.o.#.U.U.U.U.U.c.c.b.V.o.cXzXz.b.o.bXz _.bXz.b.b.^.c.b.b.b.b.b.b.bXz.bXz.^XzXzXz.^ e.r.rXt.rXt.rXtXt.r eXjXz.^XkXz.^Xz.bXz NXz.bXz.^.b.o.cXg.oXgXgXg.o.b.bXzXzXz NXzXz.^.bXz.b.^.fXgXkXXXk qXk ) q.5X9X9X*.r.r.rXt.rXt ~X-.`X1.2XP '.Z.wXaXa.n 9Xm &.!.E o.E /X>X=XC.W.[X3 # #.a 3.5X-.~ a.~XI aXIXl $.uXDXI $XD.e $ $ h $.~ 1 R x.Z.Z $ a hXMXJ., y.OXZXrX0.; x.- $X9 (.RXx xXn.s.s..X4X2.p._XA x.w c $X, h Xr s.YXK.u.} ~X*.rXt ~XtXtXt N.b.b.b.b.b.b.o.b.b _.b _.c.U.U.c.V.c _ _XzXzXz.bXzXz.b.b.bXz.b.b.bXz.b _Xz _XzXzXzXzXg.oXz.b.bXzXzXz _ _Xz _XzXz.b.b.bXz.b.b.bXj e e.r eXtXtXt.^Xg.o.bXz _.bXz.bXt eXt.r e.^ N.b.b _.b _Xz _.b.b.b _.b _Xz.c _.b _Xz.b _.b _XzXzXzXzXz _Xz _XzXz.b.b _ _.bXz.bXzXk lXk.o.^ _Xz _ _ _ _.b _.b _.b.b.o.I.b.b _ N lXgXzXo.H.HXI ~X*XIX5XL.=X= U.a < a u G.v 9 HXGXc TX, a.`.`.` B.` '.HX1XD bXa.= J.M s.w R t a a a c x.i.*.M.=.v J",
-".$.K D 5 ) I.R I q q.z.H.rXd.K.$Xx ).5 5 ).$XJ ).| :XJ.|XwX; !.'XK.Z.n.9XL x.jXwX3 x # h.l #.lX3X2..X= 2.v.s.s.s.sX=.vXC bXa.D.~.~.eX1 cX5.,X3.,.5 ` c k.e a a BX- a.eXl.e.~ 3X-.`XI.a.8.e.uX1XIXI.K.5XIX5.K.e 3 $X-.e.a.~ $ BX5XI 8 RXD.Z '.n.nXa.Z.nX1XI.a 8 $.n.nXlXJX5.~.~X1.H c.`XlXx.5 D.uXV 3.`XV.u.kXt.rXt.rXtXtXt.rXdXt e.^.b.b NXz.b.b.b _.b.bXz lXg l.UXgXgXgXgXkXgXg.cXg.c.c.cXg.c.cXg.c.c.cXg.c.o.bXzXz.c.bXz.bXz.bXzXz.bXzXz.b.b.bXz.^Xj.r eXt.rXt.r e.r.r e.^.^.^.UXzXzXz NXz.bXz.bXz.^Xz.oXg.c.o.oXg.o.b.^.b.b NXzXzXzXz.^.b N.b.^X@ q./ q.&.$.$.$.$.f.$X9.r.r.rXtXt.r.r ~.`.8 R.0 gXPXa.n.w.qXC.!.q bXC & H.v w b z ^ v.[ #XMX* a.8 #.`X-X-X-XDX-XIX. $.,XJXlXHX-X5X5 : :XJXH.]X3 hXl.9.Y h #XM k.jXP y.>X0 z.qXn yXM D.k ) c $ t.).WX=.@X+X8 >Xq E.FXl RX1 t UXeXp xXK 3XI ~X*.r.rX*.r.rXjXj.b.b.b.o.b.b.b.b _.b.b _ _.c.U.U.cXg.V.b _XzXz _XzXzXz.b.b.b.^.^.^ N.b.b.b _Xz _Xz _.bXg.o.b.b.b.b _ _Xz _ _Xz _Xz.b _.b.b.b.b.bXj.rXjXt.r e e.rXjXg.oXz.b _.b.b N.^.rXt.rXj N.b.b.b.b.bXz.bXz _.b _.bXz _Xz.U.b.bXz _Xz _Xz _Xz _.bXzXz _Xz _XzXz.V.bXzXz _XzXz e.r.r.b.^Xz.bXzXz _ _ _ _Xz _.b.b.V.z Z d.A.& A.tX Xu dX@ (.k :X*.8 3 s.s.sXe t.} < <.W.) 2 v.w.} s.D.aX-X-.`X1.~.%.ZX- a 9.s.N =.+._XC C G.N t uXM [X..Y G.= O 0",
-".K.u.K c NX*.k.u NXoXt.r.rXtXt.f 5.A.$ }Xx 5.A 5.| ).3.% 4 @ ! s 1.9XKXG.9 y.,.[.lXM.i < aXM.lXM.[XpXp.@.j.j.p.p...v J.E b.nX1.~.~.~.~XD.u.`Xl c RX- a.e R.* aX- aX-X-XI 3X- RXIX-XIX-XIXV R.kX5 # c.eX1 3XK.,., 3 RX-X- 3X,X1 R $ B RX1 R.'.Z.w $ 8 3X- aX- 3 R.D.w.n g '.wXlX5 `.] 5.] 3XI.` R.HXI.8.H.8XVX*.r.rXt.rXtXtXt.rXd.r.k.b.b.b.b.b.b NXz.b.b.b l.X lXgXgXg./.oXk.U.z./.UXk.c.c.cXg.V.U.b.c.c.o.VXg.cXg.b lXz.bXz.bXzXzXzXzXzXzXz.bXz N.bXjXt eXt.r eXt.rXt eXt.^.bXz lXz N.b.b.^.^.^.bXz NXz.oXg.cXg.oXzXzXz.bXz.^.bXzXz.bXzXz.bXz N N N NX9.zXX.XX9.5 N.K.5.kX*.rXt.r.r.rX* F 3.`.`X1 gXw.nXa sXC 9 J J O 0 J.@ 2 w /.. /XG.-XM #X-X-XIXVX-.~X- RXD.~ aXJ 3 mXK :XJ $XI., c mXl cX. :Xc `XJ 1X, # # kXUXGX0 MXS.> z M.1 YX.Xx.u.uX- t t.N.W.s .X+X2.JX4 WXcXJ U $.wXq.- [ 1 3.K.k.rXt.rXtXtXtXjXj.b.b.b.b.b.o _.b _.b.o.b.b.c.U l.c.c.VXz _Xz.b _XzXzXzXzXz.^Xj eXjXzXz.b.bXz.bXz _Xz.b.c.o.b.b.b.bXzXz _ _ _ _XzXz.b.b.b.b.b.b N e eXk.z.k e.r e NXgXg.o.b.b.b N.oXj.r eXtXj N.bXz.bXz _Xz _Xz.b _.b _Xz.bXz l _.b _ _ _Xz.bXz _.b _XzXzXz _Xz _.bXz _.b _.b _.^ eXjXt.b e.^Xz _ _Xz _Xz.b _.b.b.b.^ l.z.I.t.Q A.z A d (X@.z.r.8.5.`XV.nXa 2.s U.M <.* t.N.= JXG.Y s.n #.` R.HXV.~ |.8.} <.'.s.NX> yXZXp / / /X= uXp.9._ M *.=.v o",
-"XX.5 q D.KXxXk q ) q q.XXt.rXtXt.rX*.rXt N.^Xt.rXxXV.`X5 D ! g s sX;XU yXUXH n `XM.i < a a <Xl XXX7 V.[ XB XB.p.p.@.jXa.wX-X-.8 # cXV 3 c x c h a aXc x.K tX- aX1.~X1 c.~X-.`.~X-.` a.` c cX- cX- aX-.uXD c ) :X3.] `XK.]Xc.0 m gXJX,.Z.u R BX-X- 3.eX-.`.aX- 8.Z.nXc 'XJ g.] 4XJ $.ZX1X1X1XD.D.`X1.`.`XV.rX*.rXtX*XtXtXtXt.r.rXtXt N N.b.b.b.bXzXz.X.Q.z.oXgXk.$Xk fX@X@.t.&X@.IXgXk.o.oXg.VXg.c.VXg.VXg.cXgXg.o.#.b.bXz.b.^.bXzXzXzXzXzXzXz.bXz N.^.r.rXt.rXtXt.r.rXj NXz.^Xk.b.bXzXz.b.b.bXz NXz.bXzXz NXzXz.bXz.^Xz NXzXzXzXz.^.^Xz.oXzXz N N NXg ) q q V./.$ 5./X3X*.rXt.r e.rXt.r ~.`X-.`XV m 'XL.!XC O O.=X= 2X=.. 2 ^ M 2 2.YXc # c.}.u cX1X-.eX-X-.}.~ RXI.e.uX, RXV R.eXI RX, 3X1.u aXD.a tXD <XMXM.,X; & = =.+ S H z y 1XD.K.` R R.a < t < U.s..Xf.CX8 [.[X. n.[.1XH.Y.$ q ).R.r.rXtXt e.r e.^.b.b.b.b.b _.b.o.b _Xz.o.b.c.c.U.c.c.cXz _.b.b.o.b.^Xj.^.^XjXt eXt e.^.o.b.^ _Xz _Xz.bXz.b.b.b.^.b.b _Xz _ _Xz _ _.b _.b.b.bXzXj e.r./.UXg.rXjXt.b.c.b.b.oXg.o.o N NXt.kXj NXg.o.^.o.b.bXz.b.b.bXz.bXz.b.bXz.U.b _.bXz _.b _ _.bXz _ _ _.bXzXzXz _XzXz _Xz.b.b.^XjXj ~.o.kXz.bXz _ _Xz _ _Xz _Xz.b.b.bXzXg.& AXgXg.z.z.Q _XoXoX*.$ 3XVXD s 2 2.s.M.M MXG.WXh.Y.+ s.9 cX- c.5 '.~.%.u.a a.- s.w =Xp =.E /.= 2 2.NX> =Xw.s.W 2 v 2",
-"XX.KXX ).kXXXxXx.5Xx.X.KXt.r.r.rXtXtXt.r.kXtXt.kXt ~.`X1 'Xc g.! !.>Xh K KXh |X#.[ | a a tX-.}XX #XM #.l #.l.l.FXB.j.EX0XGXK #.8.K a.~.e.e 3.e c.uXI R I.3 1XJ :XJ :XJ ` DXJXM D.e.~.~.eX* c.8 3.`.eX-X- c.~X-XlX5XM.u.uX5.KX3 B 1.Z.u 3 3 3.eX- RX-XI.eX-.aX-.*XDXaXlXOXU ' 'X5.!.] g !.] y.]XU D.0X1.`.`.8 ~X*.r.k.rXd.r.XXdXo.zXxX@XtX9.b.^.^.zXx.z N.(.6.t.f.(X .o.fX@Xk./Xk.z.UXg lXg.c.c.cXgXg.cXg.cXgXg.c.cXg.Q.b.^XzXzXz.bXzXzXzXz.bXz.bXz N.b.^Xt.r.r.rXt.r eXt.^.^ N.^ lXz.^Xz.^ NXz NXz NXzXz NXzXz.b NXz.bXz NXzXz NXzXzXzXz.^.o.b.^ NXz N.XXxXk )Xk qXk q )Xk.^Xj.^XtXtXtXt.r.8.8.8.`X-XlXwXl 9Xm.E.=.BXvXFXF * *Xv G.N.=.j.-XXXX.8.~X- 3.8.e aX- 3.~X-X1 R.~X-XD.eX-X-X- R 3 R.~.Z 3 R R R.aX- hXM k.1XO = M & zX>X>XeX, 3XIXD.u.a.a R <.a.M.W.s...4 +X:.YX7XKXBXr.jX7 X* 3Xt.k.r.rXtXtXt.r.kXz.b.o _.b.b.b.b _.b.o.o.o _.o.U.U.c.cXz.b.b.b.bXz.^ e.r eXjXt e ~ eXtXj.^.b.b.b _.b.# iXz.^.^.^.b.bXzXzXz _ _Xz.b _.b.bXz.b.^.^XjXjXj.z d.r eXtXz N l.b.oXgXgXgXk.c N.^ N.k.oXgXg.oXzXz.b.b.bXz _.b.bXzXzXzXz.U.o _ _.b _ _ _.b _.b.b.b.b _.bXz _.b _ _ _.b _.bXj e e.r l.b.o _XzXzXz _Xz.b _Xz _.b.^.b.b.UX&.(X&.(X P X Z X f NXXXkX- 3 sXL.N O.WXD.Z.Z <Xs u 9.jXU.>XJ c c : T.H 3.`.`X-.ZXs xXl UXlXL 2 O b 0 O.s.s.s.N.=.sXG.N",
-".K.kX*.kXVX* ~.r.rX*.r.r.r.rX*Xt.rX*Xt.r e.rXt N.k.`.`XIX1 gXO.9XK.G =.1Xc `.- ` h 3 < aX-.e B.MXXXM # #.i #XMXq yXG JXCXaXa R a c.eX- c.KXIXD 3 # c RXMXlXM D $ : ` T D $ 5.] D #X5.K.K 3.8 3.eX-X-X- R 3.~X-.e.eX-.eX-X- 3XD 3X1X- a.a 3X*.e.aX-X-.`X-X-XIX-X- 8.wXa gXU.n.ZXaX5.n.0 s.0.n s.w.' D T.D.`.`.`XV.k ~ N N ) ( ] ] ]./.A.kXg )Xk.X.t.t.&.X.Q.R.zXgXkXk.cXgXgXkXg.cXgXgXgXgXg.c.c.o.V.VXg.cXg.VXg.oXg _.U.bXz.b.b.bXz.b.bXz.bXz.bXz N.b N.^XjXt.r.rXt.r.r.k.^ N.^.^XkXz.^.b.^XzXz NXzXz N NXz.bXzXzXzXz.^XzXz.^.bXz.^ NXzXz.^.oXz NXz.^ N N N N N N N N N N N N N.^.^.^XjXj.r.8.8.8.` RXV.ZXP o.jXC.v.= * u.d.) * *.WXs.W.j : #XMX* 3X1X-.`X,.`.a.aX-.eX-.eX-X-.~X1X- a R.u m )Xl $ 3 $XD.9.a.aXMXX k.3XZ.>XZ.TXZ.+.+ y.9.' m ` :Xc.u aX-.~ R 8Xs...@X:.T.T.1.1X%X<.Y 1 3.a ~X*Xt.rXt eXtXt e.^.b.b.b _.b _.b.b.b.bXzXz.bXz.o.#.cXg l.b.b.b.b.^.b.b.rXt.r.r ~ ~.r.rXtXt.k N.b N.b _.I d.^.^ e.r.^Xz.b.bXzXz _Xz _Xz.b _.bXzXjXj e e.r.r.r.^.r e.X.^ l.o.b.b.b.b N NXt.r.r.r.^.bXz _ _.b.o _ _.b _.b _ _.b _Xz.U.bXzXg.c.cXg.V.bXz _Xz _Xz.b _Xz.bXz _XzXzXz _XzXj eXj.rXg.^XzXz _ _ _XzXz _Xz.bXzXz.b.oXz.bXg.c.b.X.X l l.c.oXxXoX9XX.8.`XD s O O.= sX1 R t C *XL.N gXU m.].| `.%.uXD.8.`.`X1 B B a aXM v s s.W.wXG vXm /.=.s O.E.M",
-" q q V qX* ~XtX*.r.r.r.rX*.rXtXt.rXt.rXt.rXtXt NXt.8.`.` gX..' v s.O K., ` # h ` aX- a 3.a a R.~ a.i # c # #.lXcX+XL HXm bXKX,.uXl.eX- 3 cX3XX DX5 VX-.e 3XD.e a.~.~.eXI.u cX1Xl.8X*XX.5.8XI.8X-.~ a.e.e 3 a.~.a.~X1XI.eXD cXV.}X- a a.a 3 cX-.`X-X- RX-X-.aX-X-.e.w.w.0.'.w.DXs.Z s.nXa.n s.n.w.nXl.0 DX5X1.5 ~XoXk 5 I QX@ )Xx.k.k ~ ~.tX@ AXtXg.X.X.XXoXk.XXg.z.cXgXgXg.o lXgXg.U.c.V.c.c.c.c.V.cXgXg.o.V.oXg.bXz.U.b.b.b.bXz.bXz.b.bXzXzXzXz.bXz N.^Xt.rXt.rXt.r.rXj.^ N N.^Xk.^.^Xz.b NXz.^Xz NXz.b.bXzXzXzXzXzXzXz NXz.b NXzXzXzXz.^.bXzXzXzXzXz NXz N.^.^Xz N.^.^.^ N.b.^.b.b N.^Xj.r.8.8 ~.~ ( T.9XO 9 oXi /X= *.)XqXs G.N.N x nXM.l c c 3X1X, 3.~XIX,.KXDXVXIXDX1X- 3X-XIX1XI cXJ m.,.2 kXcXJXJXKX3 k., K K KX0.+.1.+.xXpXn x $ R.u x 3.}X- 3.KXD.wXsXn.@X: M.<XpXpXq.YXBXM 3 3.8 ~Xt.rXt.rXtXjXjXz.o.b _.b _.b.b _.b _.b _ _ _.o.U.UXg.o.b.b.b.b.b.b.k.r.rXt ~ ~.` ~.8.r.rXt.^XzXzXz.b N.c.b eXt eXj.bXz.b.b _ _Xz.b _Xz.b _.b.^.^ e.rXjXj eXt eXj e.^Xk.b.b.b.b.b.^Xj eXt eXt.b.b _.o.b _ _.b.bXz _ _.bXz _.b.V.I.c.c.o.c.cXg.c.o.b.VXzXz _XzXz _XzXz _Xz _XzXzXz.^Xz eXt.b.^.b.b _XzXz _ _Xz _.b _.b _.bXz.b.bXg.b.b.^.o.UXg l.b.5 N.8.k.8 3 8 s OXaXs C t t.*.*Xa.=.M R.ZX5.] ` k.].|.0 5 '.R.eX1.8X-.KXIX,XD.e RXD C s v.=XL.'Xm $",
-"XVX*.r.rX*X*.r.rXtXtXtXtXt.r.r.r.r.r.rXt.rXtXj N.r.8.K V kXw.n s.9 [.YXK.}X-.a : : : : cXMXl cXM V c 3.lXM # k [ g.jXO o.w.w.ZXI 3X-.aX-X-.e.e.eX-X-.` c #.u c.K c.5 :.K 3.uXI.e #XVXVX- a.~.~X-X-X-Xl.`.e RX1 R 3 : $.`X- RX-X-.`X-.` 3.uX-X-X-.~X1X- RX-X- aX-XIX-XI.eX1 a RX,.e R t t.WXD.MXs.D.w $ T 4.|.`.5.H.H.r.u ~XV.rXt.r.r F.`.^.rXkX A dX@.t.t PX& fX& fX&.I X.(XgXgXgXgXg.c.c.V.c.c.c.V.V.V.VXg.c.oXz l.b.bXz.^Xz.b.b NXzXz NXz N.b.^XjXjXt.rXt.rXtXt.rXtXj.^.kXj.b eXt.^XzXz.^Xz NXz.bXz.bXzXz.^XzXzXzXzXz NXzXz.^XzXz.^.^.b.^Xz.^XzXzXz.b.b.b.b.b.bXz.bXz N.^XzXzXzXz.b NX*.r ~ 3.`XX.5.ZX, &.E 0 o ^...s J.E 9.OXZ.9 [X.XX.Z 3XIX3X5X1 RXl cXV R.uXI.HXI.8 3 3X-.~X-X-X- 3 R 3 3X-.a a.8.a #.5., k s n.+ H...s.W t.* t RX-X-X-X-.e R.`.e.D.W._ vX>X2 z WX2Xp.[XK.K.K.u.8.r.rXtXt.r e.^Xz N.b.b.b.b.b _.o.b.b.b _.bXzXz.oXg l l.b.^.b l.z.&.XXg.X.kXV.r.`.8.` ~.`.8.rXtXj.^.b.b.o l.IXj eXt ~.rXjXzXz.b _Xz _ _.b.bXz.b.bXz.^ eXgXj.r.rXtXtXt.rXg N.b.b N.b.^ e.rXt eXtXg.b.b.o.c.c.c.c.cXg.cXg.V.o.o.o.b.U.b _.b.V.o.o.o _Xz.b _.bXz _XzXzXzXzXzXz _Xz _Xz.^Xz.zXgXk.^.bXz _ _ _Xz _Xz _.b.bXzXz _.b.o.b.UXg.V.b.b.b.c.c.cXg l.r.` ~.`X1XD.9.s.w s.N < C u G 2XDX-X1 B.~.` R.`X-.`.~XoX5X1.`.~.8X-X1.e BX-X-.a.aX,XM.a tX- hX-",
-".r.r.rX* ~.rXt.r.r.r.r.r.rXt.rXt.rXtXtXt.rXt.k.KXt.rX3 D m n.YXn [.- :XM.aX- RXD.eXI.eX-X-.eX- a cXM # #XXX3 V.-XU n @ = gXw :Xl `Xl 3.aXI.e.~ aX-.e R.e.~XI.~X- ).`XXXI.~X-.K.5XV.`.~XIX-.`X-X-.~X-XIX3.] :XlXJ.] $XcXK.].e.eX-X-X- a R.u h.8.~X-X-X1 R R aX-.~ aX- R RX- 3 RX-XlXl R.*XDX,XD a 8XDXDXa.w.'.2.D BX1.`.8.8.r.`.8Xt ~Xt.r N.^XtXzXx N.RXxXx./.zXk.z.t.z.zXk.z.UXkXgXgXg l.U.c.oXg.V.c.c.cXg.cXgXg.c _ l.b.bXzXz.b.bXz.b.b.bXz.^XzXj e.r e.rXtXt.rXtXtXt.r e.k e.r.^ eXj.^Xz N.^.b.bXz NXz NXzXzXzXzXzXzXzXzXzXz.b.^ NXz.^.^.oXzXzXzXzXzXzXz.b.bXz.^Xz.^.bXzXzXz.bXzXz.^.b.^.^Xt.r.8.r.k.~X1X1.ZXL.s ^ ^.s.) y o vX;XS.,XHX..9 VXJ.,.]X. D mXJ.,XJXV RX-X-.e.e.eX- 3 a.~.e aXDX-X1.u.uX-.aX-.a #X5 kXc hXw & 0.sXe t R.aX-X-X- < < RX-.`X-X1XD c U vXGXnXf.x.pXn X, 3XI.` ~.r.r.rXt.rXj N.b.b.b.b.b _.b.o _.b.bXz.b.o _.o.o.cXg.b.b.o.b.X.t ).t q.$ 5 ) ).$.K IXV.`.8 ~.r.r.^ N.bXz _Xk eXtXjXj e e.^.b.b _Xz _.b _ _Xz.b.b.b.^.^.^ qXzXt e.r e.r.oXz.X.bXj e ~ ~ eXt.r.^.c.o _.V.cXg.c.c.c.V.VXzXz _.V _ _.#.o.VXgXg.b _XzXzXz _.bXz.b _.b _XzXz _Xz _Xz.b _XjXjXj.^.c.^.oXz _Xz.b.bXz.b _Xz _.b.b _Xz _.bXgXg _Xz.bXzXg.o.o.V.z eXj.` F 3.~XDXG.w.sXL.N.) ..s.W R.u BX5X1 cX-.8 3.u.8XVXV.H.~.8 3X-.HXIXI.8.a ~X-X-X-XIX1XI RX1",
-".rXt.r ~XtXt.r.rXtXjXtXtXtXtXt.r.rXt.k.r.rXt.^.K.8.K., kX..1 nXw =.[XB `.a.aX-.H.~X1X1.eXV.a.a 3XM.K `.-.- g gXm yXw.9 s $.*.aX- RX- 3.eX-.eX-.~ R.~X-.u.eXI 3 3X*X-X-.`.K c c.`X-.e 3.u.~X-.e.~X-.K.e c ` `Xl ).9.K T `XIX- a.~.e B RXV.u 3.~X-.~ R RX1.eX- a.aXI R.e.~X1X,.ZXc.e ` :Xc 1XcXJ hXD C.D.w.n.0XUXdX1XI.`.8.~.`.`.r e N NXj N.b.R A.z.z.zXx.f qX&.IXkXu dXkX .&.I.I.6./. .6.6Xg.V.c.V.c.c.c.VXg.VXgXz lXz.b.b.b.b.^.b.^.b.^.^.^XjXt.rXtXt.rXtXt.rXtXt.r.r.r.r.r ~XzXd.^.b N.bXz.b.^.bXzXzXzXz.^XzXzXz.bXz NXz.b.^ NXzXzXzXz.oXzXzXzXzXzXzXzXzXzXz _.b.b.bXz.bXzXzXzXz.b.b.^.kXt.r.r.HXt.H.8 R.a s JXCX0XpXLXcXKXcXw.G } V : $ h h c # $ $ c $X5 $X-XVX-.~X-.`X- a.8X1.e R.e.uX-.aX-X1X5X- a.a c.lX3XK $.Y.E v p u u RX-.e.a a a a t a BX-X-X,.M U U.WXf .XfX2.j.M cXV.8.8.r.rXjXtXtXt.^.b.b.b.bXz _ _.b _.b.b.b.bXz.b _.bXz.Q.b.o.X.b.X N.bXk.X.kXt c.rXVXV D.% ).`.` F ~.rXjXj.^.b.^Xg NXj ~.rXt.rXz.b.b _Xz.bXz _ _Xz _Xz.o NXz.k ~ e.rXtXt.rXt.b.^.b N e ~ F ~.r.r e.kXgXz.o.V.c.c.c.U.c.c _ _.c.V.c.c.c.#.c.cXg _ _XzXz _.o _Xz _XzXzXzXz.b.b.b _ _.b _XzXj e.b.XXkXz.o.^Xz _Xz _Xz _Xz _.b _Xz _XzXz.V.c.c.o _Xz.b.b.U.c.V.Q _.r.8 ~.8.8XI.}.9.)......X0 2XL `.K )XlXoX5 #X3 h.uXX cXJ.5.`XI.5 $ TXD., 3 ) cXXX5.~.uXV.].`.5",
-"X*.rX*.r.rXtXtXt.rXt.r.r.rXjX*XtXt.rXt.rXt.k N.^ 3.K qXc.,.,.jXH.1 kX3 xX, 3.DXVX-X-XI.u.a c.8XM.l XB V.jXc o sXa.n 9.Z.w R aX- aX-.a.a.eX-X-.e.~.~.e 3.eX1.~XI.r.~X- ~.uX*X- c.e.~X-.~ 3.eX-X-X-XM.eX- 3.` 3XI.e.eX-XD.eX-.eX- a R BX-XI 3 3X-X-.~.~X-.a.~X-X- aX1 aX-X- a.u : :Xl.9Xl :.9Xc 1.WXD tXD 8.w.'.0 g 'XIX1.`.H.`.8 ~.r N.o.b N.o.I.R.t.I.& PX .t.AXu.$.AX q d.&X d.&XuXuXuXu.UXg.c.c.c.cXgXg.c.c.oXzXg.b.bXz NXz.b.^.b.b.^.k e.r e.r eXt.r.r.r.rXt.rXtXtXt e.r.r N.k.^.b.^XzXz.bXzXz.^XzXzXz.bXzXzXzXzXzXzXz.^XzXzXz.^.^.^.bXzXz.^XzXzXz _.b.o.oXz.b.^Xz.^.bXz NXz.b.b N N.kXtXtXt.u.k.8.8X1 R xXU.j.j y.p.,XwXc : V., #XMXD.a aX-.e x T ' $XlXlX1X-.K.KX- R.~.~X- 3XI.e.eXIX-X-X- RX,XIXI a cX5X3 V.M.-XGX>Xr UX, $.eXMXD $ <.9 h R '.e $ 1 1.Y.M.wX4 .Xi.@ x h DXI.8 ~ 3XtXt.rXtXj.^ N.b.b.bXz.b _ _ _ _.o _.o _.b _.b.o Z.t X d Q.t.t f.| Q.H.8.8.u ~ 3XVX9.8.`.`.`.8.r.rXt.^.^.b q.U.k.^.r e e.^XzXz.b _ _ _Xz _Xz _.b.b.b.b.b.^ e.r.r.r.k.r NX*.^Xj.r F F F.r.rXtXzXg.b.o.c.c.c.c.c.c.c.c.c.V.c.c.c.c. .c.V.c _ _XzXz _.bXz.b _.b _Xz _.b.o.V.cXg _.b.bXjXj N.b.c.^.oXz _ _Xz.b.b.bXz.bXz.b _Xz.bXz.c.c.o _ _ _.bXzXg.c.V.#.c.^ e.8.8 ~.8XI.WXG %.sXiX= 2.s hXIX1.HXV.` 3 3.8.}.uXV cXD.`.u cX1 c.` h.8 #.8.r.r.~XVXI : 3.u",
-"Xt.r.rXt.r.rXt.r.rXtXt.rXj.^.^.^Xt eXt e e.^ N.k.r.8X3X3XM kX7XHX#.[.9 $.}X, $X. :XVXI.~XI 3X-XM #XB., y.'.w.wXL.n.D.' $ RX- RX5.e cX5XI.eX-.eX-X-.eXI.` aX-X-XI.~X-X-XVX*.e 3 3.~ a a RXIX- R.e c.`XV.a 3 3.K.a.` a aXV c RXl.e a.*.e x R 3.K.eXIX-X1.~XI.e R aXI aX-X- aXIXI.e 3.e.e.e aXD.a aXD.D RXD BX,.0.D '.!XPXPXP.].D.`.HXd N N.^.o.bXz _XzXgXkXgXk q qXgXxXgXk.zXkXg.cXg.cXg.cXg.cXg.c.cXg.c.V.c.cXgXg.bXz l.b.bXzXz.b.^.b.^XjXj eXt e eXtXt.rXtXtX*.r.r.r.r.rXtXt.r.r NXtXtXtXjXz.b.^.^XzXz.bXz.^XzXz.bXz.^Xz.b.bXzXz.^XzXz.^Xz.oXzXzXzXzXzXz _.o.cXgXg.b.bXgX9 N.^ N.XX9X9 N.^X9.k.kXo.k )XI.k.uXIXD.9 k : X3X3 kXX 1 ` 1 # kXc #XD a.a.a h., ' :X. :XH., I.aX-.e B B.~ 3.~ B aXIX-.` B 3X,.a.a 3.K : kX,.p.E.@ n t x.%.*.' k :.e.,.aX,.O R.Z.>., k t.- z 2XpX> h #.5.H.8.8.k.rXt.rXdXt.^.o.^.o.o _ _ _ _.b _ _.bXz.oXzXz.V.b.I.6.I.QXk A (.z.zXx F.`.`.kXVXt.u.8 F.`.`.` F.8 ~XtXt.^.bX@ l.oXj e e eXz.bXz _XzXz _ _ _.bXz _.bXz.b.^.b e eXjXj.^ e.X.rX*.r N.kXt F ~Xt.rXzXg _.V.c.c.c.U.c.c.c.c.c.c.c.V.c.U.#.c.UXg.o _ _ _ _ _.V.V.b _Xz _.o.V.c.c.V.c _Xz.bXj.k.b.XXk.^ _.bXz _ _XzXz _.bXz _.bXz.b _.b.c.c.o.o.c.b _.o.o.V.c.#Xg.bXt ~.8.8.8XIXD.D b.sXb %X= v aX- F.~ FX-.aX- a.}X-X*XK.%XV.3XI.8 a.~.8X-.e.aX-.`.~X-.`.~.`.~",
-".k.rXtXtXt.r.r.r.rXtXtXt.^ N N.^.^.^XzXz N.b.X N ~.8 q VX3XSXH [XHX# X,XeXJ.3XJ mX* 3 3X* a cXM xXcXUXGXe.nXsXD 8 8X,.e.~.}Xl.9Xl.]XcXI R.eX-.e a 3X-.e.e.e 3.`.e.K.` : a c :XMX,XIXDXlX-.aX1 cXl.e.~.`XI.5XI.8.e.`X- RXc `.,.9Xl .9X3 1XJ 3XJ 3 3XI 3X1X- RXIXD a.e.aX-.aX-.` 3X- RX- RXD 3 RX1.wX-X- a cXD.wXa.n.0 '.n.0 gX1.H.rXzXz.b.b.b _ _.b.c.cXg.zX@.AX@.fX@.6.f.UXg.cXg.c.c.cXgXg.c.c.c.c.c.c.c.c.cXg.bXzXg.b.bXz N.bXz.bXz e.r.r e.rXtXjXjXt.r.r.r.rX*Xt.rXt e.r ~.r.k.rXt.rXtXj.^XzXzXzXz NXzXzXz.b.^.b.b.oXg.oXz.^.^.^Xz.^Xz.bXzXzXz.^.b.b.oXg.cXg.bXk.b.tXk.& q.&X3 5./ q ) q.z 5 f 5 5.|.$XJ.5.% )XJXK `.,.GX#.S.3.3.SXHX#.[ $ # a <X-.a $ 3.Z.Z.a c 3.}.K RX-X-.~X- 3.e B B 3.a.e R.D.}X- 3 #X5XM IXe.YXG.s y.M 1 x.M $XDX,XDXc h $ $ x.D $ xXc.M xXpXn v.Y <.5 5.5.H cX*X*XkXx.r e.X.o.o.o.b _Xz _ _ _ _.b.b.o _.#.UXg.U. Xg.b.^ d N.R.zXo ~ ~.u ~XVXo.r.k.rXt.8.` F F.8.8.r.r.r N l.^.bXz e e e.^.b.bXz _Xz _XzXz.oXzXzXzXg.I.#.o e eXj.bXz.r.5Xt.r.r.` F.`.`.rXtXjXg.b _.c.c.c.V.c.V.U.c.U.c.V.c.c.c.c. .c.o.c.V _XzXz _.o.c.c.V.V.o.V.c.c.c.V.c.V.bXz.bXj e.^ N.c N.b _Xz _Xz.b.b.o.b _.o.o _Xz.b.o.c.c _.oXg _.b.b.V.V.c.U.U.o.^.r.r.8.8.8X1XI.n v 0.. vXL 8.`.`.`.~.`.e.-X*.K k.2 $ I.0 5.H c.`.8X-.`.`.`.`.~XI.r.8.`.`.`",
-".r.rXtXjXtXt.r eXt eXj.^.^.b.bXzXzXz.b.bXz.b N.^.r.`X*.S V k.[ |.S.%Xl.MXD.w.MXJ.,.~X-X-.e.aXM # `.-.j.w.wX, t C B RXD a a aXIXDXDXVX, B.e RXIX1XIX-X-XV 3XVXIX-X-.K.K.` c.K mXJXKXJ `XK : :X3Xc.]X-.e 3.~.` 3.KX-X-X-X-.K 1 $ 1.'.a :.9Xl : 3 c.~ 3X- 3X-X-X-XD.~ R a.~X-.` a 3X-X-.~ RX-XDXD RX,X, R RXIXD.e 8.D.wXaXaXaX5 gXd.HXd.^.^.oXz _Xz _.o l.cXk.U./X@.f.f.fX@.6.IXg.c.cXg.c.c.c.c.cXg.c.c.cXg.cXgXg.c.bXzXg _.bXzXz.b.^.b.^Xj eXtXjXj.^.^Xz.^XjXt.r.rXtXt.rXt.r.r.rXt NXtXt ~ eXjXzXzXzXzXzXzXz.^Xz.bXzXz.b.b.o.b.b.^.^Xz.^.^.^.bXz.^XzXz.b.VXgXg.V.o.c.oXkXk.zXx q./XxXkXkXk NXk.5Xk ).5 )X*X5.KX5.u `.2XJXc.G.>X.XH.>X;XHXHX;., x.l 3.e xXK $.a.Z 3 3Xl.a hX- c 3.eX-.~X5Xl T :.e.5X5 B 1 ` | c )Xc | V.}.jX4.s.W.M.aXI ` $.* aXD.a t.e a.*.*X,X,XD.M uXq.) J.wXK.` I.K I I q.|.$X@ fX@X@ N.b N.b.b.o.bXz.o.o.oXzXz.b i i. i.t.U.oXg.& fX .&.f ~ ~ F.k.k.A.k ~Xt ~ F F ~ F.8 F ~ ~Xj e l l.b.b.^ e.^Xz.b.b.bXzXz _Xz.b _ _.bXz.o.#.I.UXj.^Xz.bXjXj N.rXt.r.`.` F F e.r.^XgXz.o.U.c l.V.c.c.c.V l.V.U l l.c.c.I.U.c.c.V.V _ _.o.V.c.c.c.c.c.c.c.c.c.V.cXg.bXz.bXj.r eXj.X.b.b.b.b _Xz _.o _.b.oXgXg _.b _.o.cXg.oXgXg _.o.o.cXg.U.c.c.c.bXj ~.8 F.8.8.8 3 1.Y s o.'XDXD BXd TXV ) DX; ' ]Xl.HX-.`.`.r ~.kXo.`Xd.HXoXd.8.`.5.` N.HXt",
-".^Xt.^ N.^.^.^.^.^Xj.^Xz.b NXz N.bXz.b N.b.b.o N.k.`XtX3XM VXM.i $.} <.Z hX, $XD c aX-X-.} c #XM.-.-.9.w v.* B t.*.e 3 aX-X-.e aXI.aX-X-X-XD.eX-.e.e c.eX-.e.~.`XlXVXI 3.eXIXI cX1.a 3X-.a.aXI c.`X-.e 3.~.u.H 3.`X-.~X-X,.e.e a.e.*.e a.a.e a.e.~ 3.e 3X-X- RXD.e RX- aX-.`.e.8X1X- a B aX,.aXDXDXD R R $XI RXD R 'Xa.D.w ' T '.`XdXj N.bXz _ _ _.c.cXg.c.UXkXkXgXkXgXkXgXg.oXg.c.c.cXg.c.c.c.c.cXgXg.c.c.VXg.cXzXzXg.b.bXz NXz.bXzXz.^.^.^XzXz N.b.b.^XtXtXt.r.rXt.r ~.rXt e ~ N.r.r.rXjXjXz.^Xz.^XzXzXz.^XzXz N.b.^Xz.^XzXz.bXzXz.^Xz.^.oXzXzXz.b.VXgXg.o.o.b.oXg.oXgXz N.^ N N.^.^ N N.^ e ~.r.rXoX* ~.8.`.`XV., TXU T.0.! 9.! g y.9Xc kXM # h a.l., `XH., kXZ |.,XJ V.,XJ.e.e.]XX k D.0., D ` #X3.,XJ., kXHXH.- h.YXGXe.s U R aXc :XK :.- :XKXJXK :Xl :XD.}XD < vXL o.NXhXX (.0X9.5X9XkXxXxX9 qXt.X.b NXg.o.^.b.b.o.bXz.bXg.b.o.o.bXz.c.o.bXz.b.o.X.X.r.k.~.RXX.r q.KXt ~.k ~ ~.r.r.8 F.8 ~.rXt q l q.oXz.bXz.b.b.b.bXzXzXz _XzXz.b _.bXz.o.U.o.b.b.b eXj.r.b.r.r ~ F.` F.`.r.r.^.XXz lXgXg.V.V.c.U.V.V.U l.o.o.o.c.U.QXg.c.c.c.c.V.V.c.c.c.cXg.V.c.c.V.V.V.V.c.V _.b.b.rXjXjXj.b.b.o.c.cXg.o _Xz _ _Xg.c.c _Xz.bXg.c.o.o.c.o.oXgXg.c.V.U.U.o.UXkXzXt ~ F.8.8.8.`XV.0Xl.w.] RXDXI B.| T 4 'X5XIX1.D.5X5.`.8.r.`.rXx.H.H.`.H F.~XtXt.`.r F.r",
-".b.b.b.b NXzXz.bXzXzXz.b.bXz.b.b.bXz.b.bXz N.bX9Xt.8 )X3XMXX.l.}XI.M.a.}.Z hX,X, $ B.a c h.aXMXM.-Xw.'.wX, t RX-.a a.Z a.e.eX- aXD R aX- aX-.eX-X-X-.8 RX-.e : 3 c.`.H.eX1 aXIX,.e RXI a.~XD c a.~X-.eX1X-X-XX.8 3.`.~ aXV.aX-.e a RX- RXI.e.aX-XI 3.~XIXI.~.aXI RX-X-X-X-X-X-.a 3X- R.eXDXD.a.} x.Z cXc.YX3 : : mXJ sX,XD '.' g FXd e.bXz.bXz _ _.c.c.V.c.U.UXk.cXkXgXgXgXg.c.c.cXg.cXg.c.c.cXg.c.c.V.cXg.VXg.c.bXzXg.XXz.bXzXzXzXz.b.b.b N N NXz.^.^XjXt.r.r.r.rXt.r e.r.r.r.r N.rXt.r.^.^.bXz.^XzXz.b.^Xz.^XzXz.^Xz.^ NXzXz.^XzXzXz.^Xz.bXzXzXzXz.oXgXg.o.o _.oXg.cXg.o.bXz.^ N N N.b.^.^ eXtXt.k N.8.8.8XIX-XI.] gX5 sXaXa.nXaXaXaXlXG.,.9 x c a h aXXX3 1X3 `XK | #XIX-.a a.a #X1XIXD 3 `X, a 3 3.} 3 #X3XM., h.-.YXnXL._.MX-X3 : ` :.'.0.5Xl.ZXcXMXl.}X-X,Xe v.s H.sXl 1.H.HXI.8XVXV.rXt.r.rX*.^ N.b.b.bXg.o.b.b.b.b.b.b.oXz.oXg.b.U.oXz.o.^.X.b N.k.X FX* q.rXt.r ~.r ~.r ~.r.r ~.8 F ~.rXt.o.r.b.^.b.^.^.^ N.b.bXz.b.b _Xz.bXz.b _Xz _.b.b.b.^Xz e ~ e N.r e F.r.`.`.r.zXk.I.R.I i i.&.#.I. d d iX@. X .t./.I AX@.I dXg.c.c.c.c.c.c.V.c.c.V.c.c.c.c.c.c.V.V _Xz.b e eXjXj.^.b.b.c.c.c.c.bXz.oXg.c.c.c.o _ _Xg.V _.o.c _.o.cXg.c.o.U.UXg.cXkXgXjXt.r F ~.`.8.H.H.`X5.ZXlXw.OXc.SXD.uX-X-.`.`.8 3.8X-X-.`X-.~.8.8.uX* ` 5 ).2XV.`.`.~.8",
-".b.^Xz.bXzXz.bXz.b.bXz.bXzXzXz _Xz.b.b.b.b.b.b.b N 3.rX3.$X3XMXMX, 1XD < h.wX, R h 3XI a.a h 1XUXwXK.w.Z R a a.eX-.aX-.5 hX,XD R a a RX-XI.e a.e.e.}.`.~ c.u.KX1 3X-.e.~ BXIX,X-.eXI B 3XIX- a a.~.e 3.e.~X-.u #.eX-X-.e c.eX-X- a a.e hX-.e aXI.a.~ RXI aX1X- a.~ a.eX-XI.a RX, R a.M RX, tXDX1 #X, 3.uXK.Z x ` h.ZX1XsXl.n g.HXt.k.o.^.b _.b.V l.c.c.c.U.#.cXkXgXgXgXg.VXg.V.c.cXg.c.c.c.cXgXgXg.c.c.cXg.cXg.bXzXg _.bXz.b.bXz.bXz.b N.^.^XjXjXj e e.r eXt.rXt.r.rXt e.r.kX9 qXgX9 NXz.^XzXzXz.^XzXz.b NXzXzXzXzXzXzXz.bXz.^XzXzXzXz.^Xz.^Xz.^.b.oXg.V.o.oXz.o.V.o.o.o.b NXzXz.^.bXz.^.^Xj e.rXtXoXt FXIXd D.H : D.n TXa.DXsXa.ZXa s.'Xw.Y # # a.a # XMXc `.- ` x # # #.e.a a.8X- B B 3X- a a hXIX-X-XI xXM.- 1 h s.Y.sX>XD.a 3.aX-XIX1.~ BX-X-.e a aX- h h.MXe.) v &XH : ).u.HXVXV.^.H ~.uXtXk.XX9XkXg N.b.^.b.bXz.oXgXz.b.b.b.bXz.c.b.o.^.o.b.6.^Xt.z.K.rXtXt.rXtXtXtXt.r.rXtXt ~.8 F.8.r.r.XXj e eXjXj e e.^ NXz.b _Xz.b.b _XzXz _Xz.b.bXzXz.b.r eXj.k.b e ~ ~ ~ F F.rXx.I.f.tX X .&Xu.IX X&X&.& i.t.(./.t.tXu.( ZXu.t.c.c.c.c.V.c.c.c.c.cXg.V.c.c.c.c.c _.c.b.b.^ eXt e.^.^.b.bXg.V.V.c _ _.VXg.c.c.c _.o.VXg.o _.oXg _.o.c.c.V _.c.c.c.o.c.U.bXj e ~.`.r F F F.`XI.D x.>.1XG.Y 1 ' R.` F.~.u.`.` 3X1XI x ) :XJ D.5 I.K :.$X*.8.`X- ~",
-".o.bXzXz.b.b.b.bXzXzXzXzXzXzXzXz.b.b.b.o.b.b.b.XXjXt.8.a # V XM # x h a.ZX, $X, $ B.a c.} ` .- nXUXm.n $ tX-.aXIX-XXX3XKX5XcXl 1.9XKXlXJ $.e.~XIXIXI.eX-XV.KX-XV.e.~X-X1.eXD 3.eX- 3 a.u aX-X-X- a.~XI aX- 3 3XVX-X-X-X- R.8 aX-X- a RX1 R a.u.a aX- 3X1X- RX1 RXIXI 3 3 $.uX, $X5 3Xl.Z x h $ : xXD a t.}.a $X- a.a B R s sXUXo.rXd.b.b.b.b _.c.c.c.U.cXk.UXg.cXk.c.c.c.c.c.c.c.V.c.c.c.c.cXg.VXg.cXg.cXgXg.o.bXz l.X _ NXz.b.bXz N N.^.kXtXtXtXt.r.r e.rXtXtXt.r.rXt.r.r.^Xk.IXxXg.X.b.^XzXzXz.^Xz.bXzXzXz NXzXz.^Xz.^.^Xz NXz.^.^Xz.^.bXz.b.b.o.VXg.o.c.U.U.V.c.c.o.c.bXz.^XzXz.^.bXz.^.^ eXtXt.^.H ~.HXd.]XP g 4.OXU s s.*.* C 8.w s g.- x # <.}.lXXX3., n k.-.9 :.l.KXM.a a.`.a.}X-X- RX- a a.8 3 R B < h # V., 1XDXK v y sXMX5.5XMXI BX1 B.~.~.8.a a.}.aX- t U...=Xr.G 1 I 5.].k 5.`X@ ) (.r.AX9.6X@./.6X@./.t.&XgXz.b.b N.o.b.b.b.UXz.o.cXu.^ q./ ~.8Xt.r.r.r e ~.rXj F.r.r.rXt.r ~ ~.8 ~.r N N./Xg.r.r.r eXjXj.^.^.bXz _.b _.b _.bXzXzXz.o.bXz e eXj.X.XXt ~ ~ F F ~ F.k.k.X N.z q.I./.U.IXk.U.I.#.I.z.#.#.# l.#.I.c.c.c.c.c.c.c.c.c.c.VXg.c.c.c.VXg.c.c.c.c.bXz.^.^ eXjXg.b.o.o.cXg.c.c _ _Xg.c.VXg.c.bXg.c.c _ _.cXgXzXgXg.V.oXz.c.c.cXg.V.UXkXzXj.r ~.`.8 ~.`.H FXl.W._XnXF.s.sXn.DX-.~.~Xd.e }.] kXc mXK.0 : 3.` 3.` a 3.~X-.`.8XI",
-"Xg.bXzXz NXzXzXzXz.b.b _XzXz _.bXzXzXzXz.bXz.bXg N.r.rX-.aX*XJXM #X, ` t.}.wX, 1.M.a.aX, $ 1 V nXwXU s.nX, R 3X, 3X1XD.e # cXD RX5XI $ :XD.a.a a.eX1.`X-X-X-.` 3X-X-.~X-.e RX1 cX1.e RX1 3XIX- a.~ a.e.aX-X-X-X-X- c aX-X- c R.~ R BX,X- 3.eXIXDX-.eX-X, RX-X- RX-X-X-XDXV 3X- 3 :XcXK.,.-XKXJXK 1.,.9X,XD.Z $.aX-X- aX, R.'.n.0Xx.H.k N.oXz.b _.cXg.c.c.c.U.#Xg.cXgXg.c.c.c.c.c.c.c.c.c.cXg.c.c.V.c.c.c.c.cXg _.bXzXg _ NXzXz.^Xz.b.b.^.k.rXtXtXt.r eXt.rXt.r.r.rXtXt e.r.r.r.r.^.r eXj.^XzXz.^XzXz.^XzXz N.^XzXzXzXzXz.bXzXz.^Xz.^XzXz.^.o.b.o.o.o.o.oXg.U. i i i.#.c.o.oXzXz.b.^.bXz.^XzXzXj.rXt N.r.H.`.HX5.H.HXl g : R B tX- B R.w.n yXJXM # # # #XB.,XJXwXUXc.-Xw VXM X* a a.`X-.~.eXI.~ a.aX-.uXVX1X-.} #.l., | x x.Y.E.Y $ # 3.u.8.`.~.`.`.a.`XI 3XDXD R t UXs.s.sXw 3.3Xx.| qXx.u Q ).f.r.&.A ,.f.& Z.(Xu.tXu.c.b.o N.b.b N.b.b.#.c. XzX .IXz.^Xj ~.rXtXj.r.rXtXt ~Xt.r ~.rXtXt ~ ~ ~ F ~ NXjXgXjXtXj e.r e.r e.^.b.bXzXz _Xz _.b.o.U.^Xz.oXjXjXjXz.XXg.r.r ~ F.r.K ~Xt.k N N.$.&.A././X XuX X .AXuXu./.cXk.U.U.#.U.U.c.c.c.c.c.c.V.c.V.V.V.VXg.V.c.c.V.cXg _ _Xj l e.^.c.b.b.V.UXg.c.c.o.oXg.c.c.c.o _.c.c.c.b _.c.cXzXg.V.o _Xz.c.c.V.cXg.o.U.cXj eXt.r ~.`.r.`.] ` v.sXbX4.xX=.v.Y.nX5.Z xXl.9Xh nXU s.N t tXIXI.`.`X-XI.K.~XIX-.`",
-"XgXz.bXzXzXz.b.bXzXz NXz.bXz.bXz.b.b.b.b _.b.b.b.XXt.r.`.8.aXXXKXMXDXM h.M hXl $.M 3.aXl.lXMX7XH.-.'.n s.Z $XIX-X- a 3 R a a a t a aX-.a.e R BX-X1 3 RX-.~X-X- 3.e.~.~.e R.e : :.0X5Xl : ` : :XlX- aX-.aX-X- a RX-XIX1X-.uXI.~X-X-X, 3 $ x cXl : #X5 c $.~X- R.~ B.` B.u #.e.`X1 c t a.'.ZXD a tX,X, RXK.* R a a a.aXDXD.M.w '.! ( F.kX9 N.o N.bXg lXg.c.cXk.#Xg.c.c.c.c.cXg.c.c.c.c.c.cXg.cXgXg.c.c.VXg.c.cXg.o.bXz.o.oXzXz.b.b N.X.b.r.r.rXt.rXt.r.r.r.r.r.r.r.r.r.r.r.r eXt.r NXtXt.rXz N.^XzXz NXzXz NXzXzXz.^.^.^Xz.^ N.bXzXzXzXzXz.^.o.o.c.o.oXg.VXg.c.U.U.c.U.c.c.o.o.b.^XzXz.^Xz.b.bXz.^ eXt N.r F.`.HX1XIXI.HXJ $X1.eX-.e R B.D xXK.jXc # #XM #XKXw y.' y.j gXw., ` : hX- aXI aX-.eX-X- a R.8.`.~.D a.a hXM V k VX,X+ yXcXD R.aX-.`.`.`X1.`.~X*XM.~.Z.a R R < pX= .XK R.u.8.rXV.u.rX*Xd.kXt.kXj.bXgXg N.bXg.b.o.bXzXz.o.o.b.oXgXg.I.tX .b.o.o NXg NXt.rXjXjXt e.r eXt.rXtXtXt.r.rXt.r ~.8.8 N F.rXjXt e.rXt.rXjXtXj.b.bXz.b _.bXz.b _.VXz.oXz eXjXz.^.b N.rXt F F ~.^.rX*.K 5X9.z q.$.z.$X3./.$ q.$./.$.cXkXgXg.U.U.c.c.c.c.c.c.c _ _ _ _ _Xz _ _.V.c.c.c.c.V.b.b.^.#.z.U.UXgXgXg.c.c.cXg _.o.c.c.c.V.b.o.c.c.o _.V.cXgXz.V.cXg.VXz.#.VXg.V.c.c.c lXg.^ eXt.r.r.r.HX1X,XGXp M.; S.sX=.@ ^ 0Xn ^.hX>..Xb 2X4 v.9 sXl.9XMXD 3XDXJX3.K D 5",
-" lXz NXz.bXz.b.b NXz.bXz.bXz.bXzXz.b.b.bXz.b.b.o N.X.r.`.8XI.u VXX xXD 1X,.9XqXD RXD h 1 ` [X..j 9 s s.w B.eX-.e BXDX- a B.eXD aX-.e R 3 RX- 3XD R.e.eX-.e 3.~.~X-X-.e R.~ 3Xl R 3 `XK c D c `XDX- aX- aX-X-X-.a.~ 3X-.uX-.eX- B 3 xXlXJX,Xc :XlX5 DXM :.e.eX1X-X, 3.u 3.a a.- `XKXDXc.-Xw.-XK kX..9.e.a t R R R.} R.aXDXa s g '.8Xt.k.^ N.o.o l.U l.cXg.U.z.c.c.c.c.c.c.c.c.c.c.c.cXg.cXg.cXgXgXg.cXgXgXg.cXg.bXzXg.XXzXz.b.b.bX@XkXx )Xx.5XXX9X9Xx.` F.k ~.rXt e.r.r e.r e.r.^Xt.r.r.^XzXzXzXz.^XzXzXzXzXz.^XzXzXzXzXzXzXzXzXzXzXz.b.bXg.oXgXg.cXgXg.VXgXg.c.VXg.o.oXg.o.bXzXzXzXzXzXz.^Xz.^.^.^.k.r.r.r.8.8.HX-XI.]X5XI R.~ a B.*XD.w s mXc 1 x XK.- !.! v.n s.'.! k : h aX-.}X-.e RX-.~ R.e.u.`.~XD c cXM XX.,., hXp y.9Xw.9XlXl : #X5.5.k `.5 :X5 :.Z R.a <Xe 2 0 a.K.8 ~.HXtXtXtXtXt.rXt.^ N N.bXg.o.bXz.b.o.o.o.b N.bXz./.U l.I.b.b.o.b.b.X.bXjXj N.^.^Xt e.rXt e.r.rXtXt.rXtXt.r ~.`.k.rX9.oXt.rXtXt.r e.rXj.b.bXzXz.bXzXz _XzXz.b.bXj e.^.^.^Xd.kXtXt.8 F ~X*.r.rX9X .f.f.A.f.A } 5.$ |.A.A.f.A.A.f.I.U.U.#.c.V.c.V.c.V.V _ _Xz _Xz _Xz _.c.cXg.c.VXg.o _Xj e.r.oXk.cXk.U.c.c.c.c _.o.cXgXg.o _.V.cXg.V _Xg.c.VXz.c.c.VXg _. .VXgXg.V.o.V.c.c.c.oXt eXj.r.u.k 3.2.1 M.+.s 0 0.4 /XiXb.;Xb -XbX=Xb.).s H.Y.> Xl.] : P T Y 5 D.]",
-"Xg N.bXz NXz.bXz.b.bXz.bXz.b.b.b.^.b.b.b.b.b.bXg.U.XXt.rXI 3 3XlX3X3.}.-XJ.9 kXD xX.Xh.3 .Y.-.,.j.nXUXm.ZXl xXD x $ $Xl x 3XDXK.u R x ` $ R.Z.~.eX-.~X-X-X-.`.a.eX-.e.~.e.a 3XV R.e.eXI B 3X1 R 3.~ a.~ R aX-.aX-X-XD.~ #X-X-.~.eX-.eX-XD.e RX- a aX, R.eX1X-.eX-XD.H aX-XI.e : x : t.Z.9 : 1.Z $XJ $.*XDXDXD a.aXI RXDXs s.0 ! 4Xx.A.XXgXk.zX@Xg.^Xg.c.U.U.#Xg.c.c.c.cXgXgXg.cXg.c.c.c.c.c.c.c.VXg.c.VXgXg.cXg.bXzXg.o.bXz N.b.X.R.R.$ ) q ( 5 (.$.X.5 F.rXtXt.r.rXt.r.r.r.r.r.kXt.r e.^Xz.^XzXzXzXz NXz NXzXzXz NXzXzXzXzXz.^Xz.^Xz.o.bXg.oXg.b.o.cXg.o.o.o.o.o.o.o.o.o.o.bXzXz.^Xz.^.^.b.^Xz.X.^.X e.r ~.8.8.`.8.` T :.Z B B RX-X- a.w.Z yXwXc y gXwXw ! v sXaXLXL.9XwXKXM # R.e 3X-X- 3X-.~ R.`XV.HX-.8 : .lXM `., | #XnXw v y.9 x $ c c 3Xl.8 3.u.u $ BXV 3Xe._.@Xn y :.5 ~.8.rXdXV.rXt.r.rXtXt.^Xz.X.b.b.oXgXzXzXz.o.b.o.tX9.I i.U.b.o N.b.b.b.b.X.^ e.b.b.b.^Xt e.rXt.rXtXt e.rXt.rXt F ~X*.`.o q.XXt.r e.rXt.rXj.^Xz.^.bXz.b _Xz.o.b.bXzXjXz.b.^ eXt.^.rXt.8 ~ ~X*.rX*Xk )X3Xk././ 5 q.$.z.$./ 5././X@./.U l.U.c.V.c.c.c.c.c.V.bXzXz _ _ _Xz _.V.c.V.c.cXg _.^Xz e e.b.#.c.c.c.cXg.c.V _.V.c.V.c.V.o.V.c.UXg _.c.cXg _XgXg.c.c.o.#.V.c.c.c.c.c.V.c.#.#.c.o.^ ~.r.R ( T.0 xXK bXLXG J.EXn M.;.s.vXf.v.v 2X=XZXe gX3X. `.u :.uXVXIX1Xd",
-" lXz.bXz.bXz N.bXz N.b.b N.b NXzXz.b _.b.b.b.oXg.(.z.z.kX9X9XJ #XJXM x h.- nXK.M.'.,XK.,.-XMXB n n.'Xm.0 xXGX,XK.0.9 : : x c $X3 :XIX3 :X, R.e.e R B aX-X-.e 3XI R.eX-.eX-XV.e.Z RX1 RXI 3XDXDX-.aX-.~ aX-X- R aX-XIX1.~.uX-X-X-X-.e.~.e 3.~ 3.a.e.eXD.eX- a.eXIXIXDXI R.e a.eX-.e.* RXDXD.a c.ZXD $XDX,X, R aXIXDX,X,X,.W.0 9XU.'.z.AX .A.A dX@ ZXg.c.cXgXg.I.c.c.c.c.c.c.cXgXg.c.c.cXgXgXgXg.c.c.V.cXg.c.c.cXg.bXz.o.XXzXz.bXz.X.^XtXo.5X9 cXx c.r.r.r ~.rXt ~.rXt.r e.r e.r.r.KXt.rXt.^XzXzXzXzXzXzXzXzXzXzXzXzXz.bXz NXzXzXzXz.^.b.b.oXg.o.o _.o.o.oXg.VXgXg.cXg.o.oXg.o.oXzXzXzXzXzXzXz.b.b.^.bXk.kXtXt ~ ~XVXI.`X5 g.Z B.*.e B B.*.DXl 'XwXwXw gXmXUXU.n b 8XaXa oX..- : x t RX- a.e R.~X-XI 3 c.eX1XD.l ` k V.- [.S x uX+ vXe v.9Xe.M.a R.a cX- R RXI.eXI.~XD < UX=.@ 1 <X*.8.r.r.r.r.rXtXt e.r.r.k N.b N.b.^.b.X.oXgXz.z.o i.c.^.^.U N N.b.bXz.X.bXgXz eXz.b.b.^ eXt e e.r eXtXtXt eXt.r 3 ~.r F.r.r ~XtXt.rXtXtXt e.^.b _Xz _XzXz.bXz.b.b.o.bXz.^ e e.^.kXt.r.8.rXt.rXtXk.$XgXk qXk VXk q.&./ qXk.z q.IXk.z.U.U.#.U.c.c.c.c.c.c.V.V.V _ _Xz _Xz _.c.c.cXg.cXg.oXzXj e.^.o./.c.VXg _.c.c.o _.V.c.c.c.c.V.c.c.c.c _.V.c.c _.V.V.c.c.c.IXgXgXg.VXg.c.V.V.V.U. .c.# A d Q.f.kXI.HX1Xl v s vXLXn y.;.; 2X0 O.B.= H JXG.j y 1X1X5 IX5XxXx.H.8",
-" lXz.b.b.bXz.b.b.b.bXz N.bXz.b.bXz.b.bXz.b _.b.o.I.&.$.A.$ q., 5 VX3 ` # 1X,X,.'.a.-XlX, `XBXM.- nXU.Y v R a.e R R R 8X1 a a.e a.e.e R.eX-.e.e.a.e.e a.a.e hXI h.e aX- a.~ 3.e.8XVX-.~ c 3 : c.a.~ aX- aX-X- R aX-X- x ` :.~X-X-.~ R R.e 3.eX, a DX. m.-X1X-.~X-X1 c aX- a.3 1 a.M aXDX,.a.ZX,X,XJ K TXD BXD.aXDX,X,.DX,.w.0.'XU.uXo.5.zXk.IXk l.IXj.bXg.c.U.UXg.U.c.c.U.cXgXg.cXg.cXg.cXg.VXg.c.c.c.cXg.c.c.cXgXz.bXgXgXz.bXz.bXz.^.rXd : ).K 5X*X*.r.r.k.r eXt.rXt.r.r.rXt.r.r.^XtXt.rXj NXzXzXzXzXzXzXzXz.^XzXzXzXz NXz.^ N.^XzXz.b.o.oXg.o.c.o.o.oXg.VXg.V.o.V.o.o.oXg.V.o.o.^XzXzXzXzXzXzXz.b.X.X.^.r.k ~ ~.`XVX-XIXJ $ 8 8 B B.* B R $.wXlXP.n v s 'Xm '.w tXD.n.'Xh m |XJ ` :XJ c : c.~X- 3.5X- RX- c # ` 1Xc XB.[X+ xXrX+ .X4 v.sXe UXe.i.a.a aXDX, R RX1XI <XeXbXnXn a.u.8X*XtXt.rXtXt.r.r.rXtXjXt.^ N.o N.o.XXzXg NX i.o N.o NXk NXz N.^.^.^.b _ _XdXjXzXz.^Xj eXt.r.rXtXt.rXt.rXtXt.r.8.r.8 ~XtXjXtXtXt.r.rXt eXjXz.^.oXz.b _.o.#.# l.c.o.^ e e e.^.^.r.r FXt eXtXt.I q.f./.(X .tX Xg./X@X .A.t.A.t.&.t.t.6.6.cXg.c.c.c.c.c.c.c.V.c _ _Xz.VXg.c.c.cXg.c.b _.o e e.^.b. .cXgXg _.c.V.o _.c.c.c.c.c.c.V.cXg.V _.c.c.c _.c.V.c.c.c.#Xg.c.c.o.V.U.c.c.c.#.7.t.7X .t lXd.rXt.r 3.8XIXI R $ T !XU 9.v O / 2 JX0.vXn 0.s.YXD :.AXJ 5.K.~ ~",
-" lXz.bXz.bXzXz.b NXz NXz.bXz.b.b.b.b.b.b _.b.b.bXgXg.X q ) 3.r.} aX3 x.Z U $.Z R c x.a.- 1Xw.j g v $ 8 t R 8 B 8XDX-X- RX-X- aXI R.eX-X-.e R R.~ aXI m K | 6 3.e.~.e 3.e.aX-.HX- $XN m.G.%X-X-X-.e a a RX-X- R cXN.,.uX1.~.~X-.e.~ R.MXD.a T 1XN : a a.~X-.Z R.eX- aXN.aX- aX1X,X,XDXDXD 3 xX$ $.ZX,X,X,.aXDX,XDXD s.9.'XO.H.rXjX*.b N.o.b.bXz _Xz.c l.U.c.c.c.c.c.c.c.c.cXg.c.c.c.V.c.c.c.cXgXg.c.c.cXg.V.bXzXg.X.bXz.b N.b.^.r.r N.KX*X*.k.rXtXtXj.^.rXt.r.r.r.rXt.rXt.r.kXt.rXt e.^.^.^XzXz NXzXz.^XzXz.^.^XzXzXzXzXzXz.^Xz.b.o.o.c.o.cXgXgXg.VXg.o.VXg.o.V.oXg.oXg.o.VXzXzXzXzXzXzXz.^ A.b.z.XXoXd.k F D.HXV m @.n B B a.~X-.~X-XD.w x.!.n.wXa s '.wXD BXs.n.'.3., k., $ x # # : hX1XI 3XI B t 3 # # ` h Xe._XqX7XpX4X>.<.@ . %XnX4 [ yXr.w.MXD a 3X-XVX-.M u.s ^X+ aX* ~Xt.r.u.rXtXtXt eXt eXtXj.k.^ N.o.^.^.b.tXkXg.UXg.b NXgXkXj.rXt ~ e e.b.b.VXz e.^.b.b.^Xj.r e.rXtXtXtXtXt.r.r.r.8.r FXt.zXkXj.r.rXtXtXt eXt.b.bXz.bXzXzXzXz.U.UXg.^ eXjXd.^ NXtXt e.r.r.rXtXj.X NXgXgXk.zXk.z l.UXg.I.U.z q.z.z.U q.U.I.c.c.c.c.c.c.c.c.c.c.c _Xz _.V.cXg.V.c.cXg _XzXz e e.b.o. Xg.c.c _Xg.V.V.V.c.c.c.c.c.cXg.c.V.c.o.c.cXg _.V.cXg.c.c.U.c.c.c.c.c.#.#.U.cXgX&X X .I.UXg.^ eXt.rXt.k.r.uX9 qXM TXD.Z.'.' bXG 0 J JX> b v o.9X5 `X5.a.u 3X-",
-" l.b.bXz.bXz.bXz.bXz.bXz.b.b.b.b.b.b.bXz.b.b.b.b.b.o.X.XXV.r cX-.a V x ` $ 1.}.Z 1XDX,.Z 3XM.YXBXw.[Xw x xXD aX,.Z.wX,XD.e.`.}XIX- 3X-.~X-.eX1 R.a aX-.a.} cXN.e.G : a RX-XI a.` R R 3XI K : c KXIX1X-.~.e BX- R.a BXK.% KXV 3X- R.eX-.eXD.u.e R.e., K B R.~.aX-XDX-X1 a RXN <.a.MX,X,XDX, 3XD RXlXNXIXI.eX5XDXIXDX, 8 $ 'Xl T T.8XdXt.o N.b.b.b.b.o.bXz.o.c.# l.cXg.c.c.c.cXg.c.c.cXgXg.cXg.cXg.c.c.V.cXg.c.VXg.b.b.oXgXz N.b.bXz.^ eXt.rXVX*.rX*.r.r.rXk.I.6.r.rXt.r.r.rXt.r.r.KXt.r.r e.^XzXzXzXz.bXzXzXz.^XzXzXzXzXzXzXzXzXzXz.b.o.o.o.cXgXgXg.V.VXg.VXgXgXg.VXgXg.VXg.VXgXg _XzXzXzXzXzXz.^XuXx.t.R Q.R P g.2.RXy Y.G.ZX1 BX- aX-.e.e.* R 8.Z.Z 8 R.D.ZXDXD.*.Z.nXKXwXX # c.*X-.a.e.e.eX-XV.`.~ aXD.i #XX ` 1 x U .Xq .Xn.F ..J.C.{Xf.x.x.+.+X% = = y.,XJ.8XIX-.a p.v...YX, c ~.r.rXtXtXtXt.r.k.rXt.r.^.^.k N.X.r ~ ~./.I.b.oXz.b.bX9.b.r ~ ~ F ~XjXz _ _ _XzXzXz.b.bXjXt eXt.rXtXt.r e.rXtXt.rXV ~ ~.rXt eXt.r.r.r eXt e.b.bXzXz _Xz eXzXg.c.b e eXd.b.b.bXdXtXtXt.r eXj.^.b.b.bXg.UXg lXg.c.c.c.c.c.c.cXgXkXg.cXg.#.c.c.V.c.c.c.c.c.U.c _ _Xz _.V.c.VXg.c.o.V.oXzXjXj e.o l.IXg.c.V _.c.c.c.c.c.c.c.c.c.c.c.c.c.c.V.c.c.V _.c.V.VXg.c.#Xg.o.cXg.c.#.U.cXg.c.I.U.o.U.c.#.X e.rX* ~Xo 5 ) PX9.rX* 3.` RX1.Z h.Z 1.ZXsXG b s.Z.'.9 s.Z s T x",
-".U.b.bXz.b.^.b.b.bXz.bXz.b.b.b.b.b.b.bXz.b.bXz.b.o.^XkXg.k ~XV.`.a ` VXM x c.Z.w.u R $.Z ` ` XBXwXH.YXlXe h x.w s.n 1XD.}X-.8 3X1XI R.D.w $.w $.Z.MXD t #XN.3XN ` 3 3.eXI.` RX1XI.~X1 K.3X$ $ 3X1.e R aX- aX- R RX#XcXN ` RXI R.e a.~X,.a a R hXN $X-.a B.e RXI R.e t RXNX,XD.ZX,XD 3 R.DXIXDXlXNX1.e #.~X,.a.a R BXl '.nXJ $.rXt.b.^.b.o N.oXg.b.b.VXz.c. .o.c.c.c.cXk.c.c.c.cXg.V.cXg.c.c.c.c.cXg.cXgXgXg.c.bXzXg.oXzXzXzXz.b N e.rXtXt.rXtX*.rXt.rXz.6.^ eXt.r.rXt.r.r.r.r.^.k.rXt.r N.^Xz.^XzXzXz.^XzXz.b N.bXzXz.^XzXzXz.^.bXgXg.o.cXgXgXgXg.oXg.c.o.VXg.o.V.c.V.oXg.V.c _.bXzXzXz.b.bXz.I A.t.R 5XxXxXx (Xx 'XJ (X,.*X-X-X-.e $ $XD.' RXl.w RXDX, h 3X, R.D.n.]Xw ` 1XM.a x hX,XI :XM 3X5 3 xXD `XM.[ VXp h E.m E vXqXp p..XAXf.;X8X> W MX>X>Xe.wXl h 3X- R <.d.).sX> h c.8.rXtXt.r.rXt.rXt.r.k.rXt.k N N.K.r.^ FXt.X e eXz.b.b NXk ~Xt F F ~ NXz _Xz _XzXz.^.bXzXj.r eXt eXt.r eXt.r e.r ~ ~ F.8 F F.8.r.rXt.rXtXt e.bXz.bXz e e.^.bXg.bXzXjXjXzXzXo.bXd.r e.r.rXjXj.^.bXzXgXg.cXgXg.c.c.c.c.V.U.cXg.c.c.c.c.c. .c.c.c.c.c.c.c.c.c.V _Xz _.o.cXgXg.o.V.c.oXzXzXz l.b l l.#.c.cXg.V.c.c.c.c.c.V.c.c.c.c.c.c.c.c.c.cXg.V _.cXg.V.c.U.U.c.V.c.V.V.cXg.V.c.c./Xg.cXg.UXg.zXjXt.^Xk.A.& qX*.rXt.K.r ~.8.8.8.8.8X1XIX1X1.D '.wXG.OXD.' 1.' s",
-"Xg.b.oXzXz.bXz.bXz.^Xz.bXz.^Xz.b.b.bXz.b.b.bXz.o.b.bXgXg N ~.^X-.` #X3XMXB.l x h h.w 8X, $ 1 1 Xc.gXw nXG.wXG.n oXK.' 'XD a.eX-.~.e 3.Z.W x sXa.w x s t t #XS.e :XNX-XI.eX-X-X1 3.~ aX- K :.3.S.e 3 3XIX-X-.e 3 R $XHX5Xc 7X-XD.~ R.~X-.Z RX- a.% YXD.- RX- R a R.} aX-.aXNX, cXD 3.ZXIXl c 3 3.ZXNXl V T a 3.uXIX1XD.n.n.].0XI.r N N.X.o N.b.c.c.c.oXgXg.U.IXgXg.c.c.c.c.c.c.cXgXgXgXg.c.c.VXg.c.c.VXg.c.cXgXgXgXg.cXgXzXz.bXzXz.b.bXz N N N.K.^.^X* ~ NXk qXj.r.r.r.r.r.r.r.r.kX*.r ~ e.^.^.^Xz.^Xz.^XzXz.^.^.b.^.^.^XzXz.^.^.b.o.o.o.oXg.c.oXg.oXg.V.oXg.V.o.o _.o.V.o.o.o.o.b _Xz.^.^.^.^Xz.^.^Xg.k.r.r.r.H.`X1 B.0.0 : R RX1 RX1 x 3XJ TXJXKX.Xc.9Xc.,X,XD B.D.w.0XUXc : `X,XcX, : h xXJXD `.Z ` h kXKXB.- 1Xe E U t.M.Z v._.W._X>.xX4._.YXpXnXn.M 8 c a RX- a < E.)..XG h R 3X*.rX*.rXt.r.k.rXtXt.rXt.rXt.X.k.8.8X*.k.X F.oXz.b NX9 ~ ~ e.r eXz.b _Xz.b.b.b N.b.^XtXtXjXt.rXjXjXtXj eXt.rXt.r F.`.k.5.r F ~Xt.r.rXtXtXj.^.^Xj eXj.b.o.b.b.bXj.^Xz.b.^ lXd.r.rXt e e.^Xz.b _Xg.c.c.c.c.c.c.c.c.U.c.c.c.c.V.c.c.c.IXg.c.c.c.c.c.c.c.cXgXz _.oXgXg.c.c.b.bXg.b.b.bXj.V.# i l.U.cXg _.c.c.c.c.c.c.c.c.c.c.V.c.c.c.c.c.cXg.o.o.c.c.VXg.U.U.V.c.c.c.V.c.c.c.UXuXu.o.cXg.c.U.QXg.IX@.&X9.^.r ~Xj.r N.rX*.8 ~.8.8 ~.8.8XVXV.`.k D.KX1.u : ' ' '",
-" l.b.^.^ N NXz NXz.b NXzXzXzXz.b.b.^.b.b.b.o.UXz.bXzXgXkXgXj N F.`.8X3 `XX .l x 8Xl.DX,.Z h.-.F .,X<.1Xc s v oXw.>.9.9.ZX- R RX- B.w.w b.E o.q y o.Z U a :XSX3XH IX- 3 R.e 3.eXD.aX- 3 K kXD YXJ 3 RXDX-.e R.e cXH :.~ 1X# `X-.~X- B.e.u.e R.H n.3X. `.e a a t a.M R a.eX. :XIXIXD cX5 c 3.e R :XcXK.].} RX-X-XD.DX5 '.0XPXVXd.k.b.b.b.b.o.o.cXg.U.c.c.c.U. l l.U.c l.c.c.U.U.U.U.U.U.U.U.U.c.U.U.U.U.U l.U.U.U.z.#.zXgXg l.XXg.oXgXxXgXgXg.XXx N.^.^.KXj N.^.k.^.K.^.k.k.^.k.X.5.^.^ N.X.XXgXxXgXgXxXgX9XgXgXgXgXgXgXgXg.U.U.U.U.U.U.U.#.U.U.U.#.U.#.U.U.#.U.#.U.#.U.#.#.#.U.U.# lXg l.cXgXkXk.z.IXx.X N N N.k.kXt ' g ' $ $ c c.u cX5 $ $ $XlXM.9 x `XK s x.DXl 9.9XUXH.[X3 XX 1.i c h x h $ 3XM h 1.[.- [XBXq xXq U U.i.9 x XqXpX+.;XrXnXnXw.@ ^XL x c cXIXDX, U.W .XnX> v 3 cXtXo.k N N N.k.5.k N.^Xo NXo.k.5 N.kX9Xt.r ~.bX9XgXkXx.k.k.kXj.b.o.o _ _.o.o.b.o.o.o.^XjXjXjXj.X.bXjXd.kXjXt.k ~.`.`.5.z.`.`.`.8.rXtXtXt eXtXtXdXjXz l.6. .b.b.^ N.b.bXzXxXt.r.r e.r e.^XzXz.b.o.V.V.c.c.V.U.c.c.V.c.V.c.V.c.c.V.o.#.VXg.c.c.c.c.V.c.b _XzXz.cXg.VXg.o.^.bXg.o.oXzXj eXj l l.UXg.o _XgXg.c.c.V.c.c.c.c.c.c.c.c.c.V.c.c.V.o _.c.c.cXg.#.c.c.c.c.c.VXg.c.o.VXg.#.VXg.c.UXg i Z d.&.oXt.r.rXtXt.r.X.r.r.r.k.r.r.r.kXdXt F.R.R./.k ~ ~.8X1XI.u",
-"Xg.b.^.b.b.b.b.bXz.b.bXz.b.b.^.b.o.b.b.b N.c.f.#XzXz.o.cXkXz N.8.8.e # V.l #XMX,X,XDXsXIXD.l 1 1XB ` n nXw.j.>XwX0.9.'.Z.* t.eXD s.w b & H w o.q.9.wXa R xX5 x c a c a.a R.uXD 3XI RXD 3 $X,XI 3XIXI.a 3X1 3XDXDX1 3.a $.aXI.} 3X1XI 3 ' 3XD 3XI.u.a 3X, 3XDX,.Z $ 3XD.Z $ $X5 c : :X5XI 3 3 c.a $XD $X,.a h.u.Z.n g.0XO.5.5Xo.XXk.zXx l l.U.I.#.I.#. .I.# i.#.#.U.#.U.U.#.U.#.U.U.U.#.U.U.U.U.U.U.#.U.U.U.#.#.z.U.I.# l.XXg.o.o.o.X.o.b N.^.^.k.k.k.k.kXt.k.kXjXjXj.k.k.kXt.k N.^Xj.k.^.b.b.o.b.b.b.b.b.b.b.b NXzXzXz.b.bXgXgXg.oXz.o.oXg.oXgXg.VXgXg.cXgXgXgXgXgXg.cXg.c.VXg.cXg.oXz.b NXz.b.b.bXx.^XdXtXt.r.8.8X1.HXOX5.Z R RX- R.~ c a aX- R R hX-.M $ hXD RXD.D.wXKXwX3XX #XMXM # $ 3.a.a a.M.a.aXMXc.-.-Xq E U x a.aXD.ZXD U.M.F.@.pX>.j uX+Xn %.WXe.M.}.M u < uXF....XnXw x.`.uXt.k.k.H.KXt.kXt.k.^XdXtXoXt.k.K.K.zX9 NXtXxXg.^.K N.kXd N N.b.o.oXg.cXg.cXgXgXgXg.o N.kXt.^XxX9Xx N N.^Xo.K.kX*.rXV.K.r.r.rXt.k N N N.X N.bXg l.U.#X Xu l.U.z.U.zXk.o.z N.b.X N.b.oXk.U.U.#. . .#. . . .#.#.#.#.#.#.#. . .#.#.U.6.U.#.#.#.U.#.#.#.VXg.cXg.U.U.U.c.o.o.cXkXg.o.b _Xj _.U.U.Q.U.V.o.U.c.cXg.c.c.c.c.c.c.cXg.c.cXgXg.c.V _.bXg.V.c.o.#.oXg.b.o.cXg.o.cXgXg.c.cXg.^.o i.zXz.zXg.z.^.^Xj.r eXtXj.X.r e.r.r.r.rXV.H.rXd ]X@ )Xt.^.rXj.k.r.k ~",
-".oXg.o N.b.b.b.b.b.o.o.b.oXg.o _.bXg.b.X.o.o.UXg l.c l.U.I.z.z N.k 3X*.,X3XB XK 1.' 1X5 $ xXHXH 1.-.- nX<.SX. [X. =XUXKXG s.w s.'.!.+.T S.@X6 =.+Xm.9Xl.D.H.wX,.a.M $ R RXDX, R.ZX, RXIXDXIXD 3X-.aXIXI $ R R RX1.a.a a.uX-.aX- R.~X-XI $X1.~ a.eX, t.ZXDXD.eX- a tX,XD.aXDXDX-XDXD.uXIX-.a.` R.e.ZX-.a.a R.a R.D $.0XU.5X1.u.u.^.^.bXz.b.b.b.c.c.cXg l.cXg.#Xg.c.cXgXg.c.c.c.cXg.c.c.c.cXgXg.cXg.c.c.cXg.o.cXg.c.c l.zXg.bXzXz.b.bXz.b.^Xj.rXt.rXtXt.rXtXtXt.r.r.r.r.r.rXt.r.r.KXt ~Xt.^ N.b.^Xz.b.bXz.b.bXz.bXz.bXz.b.b.o.VXg.o.bXz.o.o.cXg.c.oXgXgXgXgXg.cXgXg.oXg.oXgXgXgXgXgXg.o.b NXzXzXz.b.b l.k e.r.r.r F.8.H.`.0X5 $ 8X-X-X- RXIXD.e R aXDX, R.a $ cXDXD R.W.nXKXwX3XX #XMXM.l c.lXMXc c $ xXM V V.gXB x.M h <.aXD 3X, U.MXpXn .Xr.Y U.9Xf...WXs u.M uXsXe p pXbX= 0XK., 3.`.8Xd.r.^.uXt.k.k.rXdXtXt.r.kX*.r.r.K.^ ~.^X9.XX*.k.K.u.k.rXj N.b.b.^XzXzXzXzXzXz N.b.k eXt.k./.5 NXk.X.K.K.r.K.`.~.`.`.~.`.~.` F ~.r.r.r e.k.^.^.bXzXgXg.^.bXz.^Xj e e.b.r.r.r.r e.^Xz.b.oXg.cXg.V.U.c.V.U.c.c.U.c.c.U.c.c.c.U.U.#.c.c.c.c.c.U.U.c _.o.c.c.c.cXg.oXgXg.U.U.c.cXg.oXz l.U. .Q.#.U.U.U. .U. .#. . . .#. . .#. .I.#. . .I.U.#. .I. .z i.#.I.#.6.I.I.U.z.Q.#.z.z lXgXk. .b l.I.6.I.UXk.o.b.^ eXj.bXtXd.k.r.k.rXd.^ ) ].$ N.k N N.^XtXt e F.r",
-".z.z lXgXgXgXgXgXgXgXgXg.cXg.cXgXg.cXgXgXgXg.o.o.b.o.o.oXk.UXk NXt ~.`XM V .lXq h $ h.D.'Xh., n.aXD 1 : `XMXBXc.[.YXn.wXLXe.n.s.jXh MX: r.s.T.T.>XO.2.0 gXlXcX, a.M.M.e $X,XIXcX5 R 3X-Xl $ 3X-X-.e.~ 3X-.e aX-X-.e RX,.eX-.e a.~X- 3XIXI a RX-XDXIX3 $Xc 1 ` :.a :X3 : : : )XJ.]XK.u RX- R RX-X,XD.M RXD.aX,Xa.n g.]XoXt.H.r N.bXzXxXz.bXzXk.cXg.c.c.c.c.I.c.c.cXk.cXk.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.cXgXgXg.U.U.oXz.^.b.^Xz.^.b.^.r eXtXtXt.r.r.r.r.rXt eXt.rXtXtXt.rXt.^XjXt.^XzXzXzXzXzXzXzXzXz.^XzXz.^Xz.^.b.o.o.o.o.b.V.o.o.o.c.o.o.o.o.oXg.o.V.oXg.V.o.o.V.V.o.V.oXg.o.o.bXzXz N.^.b.bXg.^.rXd.r.r.8 ~ ~ B.DX5.w.D R RX-.a R 3X- a.e R.aXD R hX,X,.} 8.Z sXK nXcXc.-.-XcXBX3 xX#X#.-XB k.,XZ.SXh.h k h h h R.aXDXDX1.a U vX4.<.@.jX,Xp.@X6.s p.. p.s.sXn.sXb.s 0X>.> gXI.HXt.u.r.rXtXt.rXd.uXtXtXtXt.r.rXtX*.k.K.^.K.5.K.5 )Xx.5 (.X N.bXz.b N.b.bXz _XzXz.b.b N.k FXx.f.A } 5 5 5 | ).$XV.` #X9 #.`.`.8.rXt e.rXj.b.o.bXz.bXz.b.oXz.^.^XjXj.r e.oXt.k.r.r.^Xz.b.b.V.c.c.c.c.c.c.c.c.c.c.c.U.U.c.c.c.c.c.U.#.c.cXgXg.c.c.c.c _.o _.V.o.o.b _.o.o.cXg.bXzXzXj e.o.o.U.cXgXzXg.V.c.c.V.c.c.c.c.c.c.VXg.c.c.oXg.cXgXz.V.c.c.cXg.#XgXgXg.6. .&.I.6.6./ AXk l.o.z.b.^.^ iX .#.I.#.#. .UXu.#Xu. Xg.b.X.XXxXk.A 5.&Xo.5.X lXg.z.z lXkXx.o",
-".o.o NXz.bXzXz.b.b.^Xz.b.^.^Xz.b.bXj.bXzXz N.o.^ _.bXz.b.oXkXk.XXt.8.8 3XJ .l.l $ $.WX,X,.'XH.-X,X, 3 # ` .-X3 ` nXc y.9 9 JXGX>XC.@.@ %XA {.xX0Xm.n ' 8X1.DX, a.a.e XD : 1 $ T D DX5X. :XKXJ.e.~.a R a.a c 3XI.e.uXD 3 aX-.~ aX-.~ 3X1 3 a.~X-XDXl.ZX-XlX, hXlX,X,X,XMXlXl $ : : T 3X- RXD RX- $ R.a.a t t.Z.n.0 4X5.%.z (.R A.R.t.6./Xg.b.o.c.c.c.c l.c. Xg.c.c.c.c.c.cXgXg.cXgXg.cXg.cXgXgXgXgXgXg.cXgXgXg.c.c.c.z.b.b.b.bXzXzXz.^.^ e.rXt.r.rXtXtXtXj.rXtXt.rXt.r.rXt.r.r.^.k.^.^Xz.^Xz.bXzXzXzXz.bXz.bXzXzXzXz.b.o.VXg.o.oXgXgXg.b.cXgXg.o.o.V.oXgXgXg.oXgXg.VXgXg.VXgXgXg.oXg.oXzXz.b.b.^.bXgXd.r.rXt.r ~.8.8.HX1.0X5XD R RX-X- R RX,.e R.eX,XDXD.u x.Z 3 <.D.'.EXOXUXw g.jXw k.9X3X7XX `XB ` 1 k.[.Y.iXM.Y RXD.uX1 R.a.ZXq.x WX> MX,.9.E.@ b 0 . . 2 0Xn..X6 ^XC HXUXwX5XxXx.$.R 5.R ( 5.$ QX9.R 5.&XtXtXt.r.r N ) q D q I.A 5 : 5 qXg NXzXz.b.bXz _Xz _Xz.b.b.b.^.k.kX9 q.5XM.KXk.u.rX*X*X-.8.u ~.`.8.r.r.rXj.k.^.^.b.^Xz _.oXzXz.^Xj.r e.r e.^XkXjXj.rXt.^.b.bXz.V.c.V.c.V.c.c.V.c.c.c.c.#. . i. .U.c.c.U.c.c.o.cXg.c.o.oXzXzXz.o.V.o.V.o.VXg.c.c _Xz.^ e e.oXg.#.c.oXz.o.V.c.c.c.V.c.c.c.c.c.c.c.c.V.c.c.c.VXz.o.c.c.cXg.#XgXgXg.f.6.t.6.fX .&X&.& f.Q qXz.o F.#. .U.c.U.c.U.U. . i.6Xg.XXg././X Xk.r.k.r.r ~.r.b.^.^.^.^XgXd",
-".^ lXzXz N.^.c.bXz.b.b.b.cXg.^.bXzXg.oXk.b.b.b.o.UXg _.b.bXgXkXkXt ~.8.`.lX3XM # h U h.ZX,XcXl aX5.} $ 3 h : c.l 1 k.,X<X0Xr.; & H H._Xb p .X4 .X>.E.w.w R B.e B t.eXD a 3X,X,.eXIX, $ a 3XDX- 3 R R.e.~ 3.u $ TXlXKXlXcXK `X1 aX-X- aXI R 3X-.e.eXD.e a R.e.e a.e.e.aXI.a aXI.aX,.e.~.~.a RX-XDXD.ZX,.M R t.M.w.w gXD.] ).R.XX d.I X AX@.o.o.^.o.c.cXgXg.V.#.o.c.c.c.c.c.c.c.c.c.cXg.c.c.c.c.c.c.c.c.c.c.c.cXg.o.cXg lXz.bXzXzXz.b.b.b.^.^Xt e.r.rXtXt.r N NX*.rXt.r.rXt.rXtXt N N.b.bXzXzXzXzXzXzXzXzXzXz.^.^Xz.b.b.o.VXgXg.V.o.o.o.o.oXg.V.o.V.oXgXg.VXg.VXg.o.VXg.VXgXgXg.V.o.VXg.o.^.^.b N.b.b.XXd.rXd.r.r.8 ~.8.H B.5.n.Z.aXD R.aX-X- 3 aX-.e.aX- cXD c c.}X,.w s sXP y 9.9 9Xw y.-X7.gXq.F xXMXqXBXB.-XB.l U.-.-.a 1.e.` R.Z._.jXn.x.h.j.uXl.jXC J JXi %Xi o w H.;.; HXm g g.kXJXx.R.$.|.| 5Xk.R.& 5.z q.A.^XtXjXtXjX9.$.$ ) :.K.5.5.kX9.XXx l l.oXzXz.bXz _Xz _XzXz N N.X.$ qXxX9 ).5XMXXX9 cX*.`.8.`X-.` ~ ~.r eXdXz.b.b.b.b.bXz.oXj e e e.r e ~Xj NXkXtXt.r eXz.bXz.bXg.c.c.c.c.c.c.V.c.V.c.c.#. i i. .U.c.U.U.c.c.o.c.c.c.b _ _ _.bXg.V.cXg.V.b.V.o.b.b.b e e e.bXg. .c.b _.V.c.c.c.V.c.V.c.c.c.c.c.c.V.oXg.cXg.o _Xg.V.c.c.c.I.oXgXgXk.z N.b.XXkXk NXx.X N NXzXj.^.o.o.cXg.c.V.c.c.cXu. .#.U.U.UXu.f.rXj.kXt.r ~Xt e e.^.^.b.bXj.o",
-"Xg.tXk.b.b N.6.I.b.oXzXg i.IXz.b.^. .b.I.^.b.b. ./.c _.bXz.oXkXk.^Xt.8.8.` V 1.i h $.aX,X,.ZXlXlXDXI.ZX,.a.a 1.lXc.[.g.j.jXp HX>.@ p.)Xe._..XbX>.jXL.Z 8 B R a aX-.aXDX, T :Xl : :XcXl : ` $X- 3X-X-X-XDX- a.u cXMX5 1 c x.aX-.~ a.~ 3X-XDX-X-X- 3 aX- a R.e RX-.a.e.a.a.aXDXIXIX- R R R R RX,XD $X,.a.M t.Z.w 9 TX1XV.r eXd.^XoXz.z.b.b.^.b.oXz.o.c.V.cXg. .c.U.c.c.c.c.c.c.c.cXgXg.c.c.c.c.c.c.c.c.c.cXgXg.cXgXgXg.cXz _XzXz.^Xz.bXz.b.^.k.rX*.r.rXt.r.XXgXgXt.rXtXt.rXtXtXtXg.oXz.^.bXzXzXzXz _XzXz.bXzXzXzXz.b.oXgXg.o.o.oXg.o.o.o.o.o.oXgXg.o.o.o.o.oXg.V.o.o.VXgXgXg.o.VXgXgXg.oXzXz.b.^Xz.b.oXd.H.rXt.rXt ~.`.HXD '.n 8X, $X,.ZX-.ZXDX,X5 3XDXDXK.ZXDX5X-X-XD '.w.n.nXL s b yXqXnXq.[X7 1XpX7.SX%X7X<.S [X% kXhX#.,Xc.]Xc.[ [ M.<.@.jXw.DXV &.> &.jX>X>.E &XrX0 y J b O gXJX1.H.u NXV.k.r : I ~X5.r.K.k.kXt.rXt.r.rX*.5 ).KXxX3XJ D q.RXoXzXz.bXz _ _Xz _XzXzXz.bXz.b N.o./.f.&.f.f.f q qXX q ).8 ~X- F.` F.rXjXdXz.b.b.bXjXz.oXz.Q.UXg ~ eXt e.r N.bXg eXt e eXz.bXz.o.V.V.V.V.c.c.c.V.c.c.c.V.V.c.c.V.c.V.c.U.U.c.cXg.c.o.oXzXzXz.b.o.cXg.cXg _Xz _Xg.oXzXz e.I i.#.o.#.cXz _.c.c.c.c.V.V.c.V.c.c.VXg.V _Xz _Xg.V.oXzXg.o.VXz.b.c.b.oXgXkXu.z./X@X@././ q./.IXk N.bXg.c.c.c.c.V.V _.V.VXu.#.c.cXk.cXkXgXk.o.X.^.^.^ e.r.r e e eXj.^Xj",
-"Xg d.oXz.bXz./.UXz.o.bXg. .#Xz.b _.U. .#.o.^.oXk.oXz.^.b.b.o.o.I N.r ~XVX-XX VXM.l $ hXK k $X,XlX- 3 3X,XIXD.M $.lXM XpXrX+ ^ . %Xn h u.W p...@ w 0.wXsX- aX- R.eX-XI cXDX5 c.u $ cXD $ c.} R RXI.e.~X,.eX-X- a.eXDX-.eX-.e a.eX- aXIX- c.e.~X- 3.~ a.e.a aX- aX-X-.a RXIX-XI.aX- R R.a RXDXD R.D.M R.a.MXaXaXKX5.H.k.rXt.^.X _XoXz.b.b N.b.b.b.b.cXg.U.o. _XgXg.cXg.c.c.c.c.V.c.cXg.c _.cXg.U.o.cXg.c.cXgXg.c.o.b.c.b.b.bXzXz.bXz.^.b.^.k e.r.r.rXt.r.r.r.r.r.rXtXtXt.r.r.^Xg.XXzXz.bXzXzXzXzXzXzXzXzXzXz.bXz.b.o.V.o.VXg.VXg.o.oXg _Xg.V.o.o.oXg.V.VXg.VXgXg.V.o.c.V.V.c.o.c.o.c.o.^.^.bXz.b.bXoXd.r.r.rXt.k.`.8.HX1X5.'.DX.XKX,.9 mXc.e gX,.Z.~.2 : 1 R.,.e.~.wXyXs.nXa 1XL x.jXq E E.F.p.[.p.-.g [.SX<X<Xr >.O.g.9XKXlXK `XcXpX%.J.@XpXK.DXIXU.> g.q.; &Xr.j o o v sXaXyXOXU.`.8Xt c.k cXx P ,.KX*.u.r.r.k.r e.rXt.r ~.rX9 `X3Xo.KXoX*.^ N.b.bXz _XzXzXzXz _Xz _Xz.b.bXz.b.b.X.XX9.XX9X9.^X*X*X*.8 ~.8 F.8.r eXj.^XzXzXz eXjXzXzXz.c.U.o eXd.r.r.k.b.X N.r e.rXj.b.bXz.V.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.V.#.c.c.V.c.o _Xz _ _Xz.b.c.V.c.c.V.b _ _.c.o NXj eXj.#XkXg.#.bXz.VXg.c.c.c.c.c.c.V.c.c.c.V.bXzXz _ _Xz.bXz.c.VXz.bXgXg.b.b N l.z q./.$.I.$./.& q.t q.oXg.U.o.o.VXg.V.VXz _Xz. .cXg.cXgXu.U.oXg.b _.c.U.VXg.c _XzXj e e e e",
-"Xz.I NXzXz N.cXg.b.b.^.bXg.bXz.bXz.bXz.^ N.b.bXz.b.o.o _.o.b N.IX@.^.r.8.8.a `X3XB #.-.- x 1.Z x 3 3XDXl CX,.D.aXM.l.l XpXrXnXbXb.d.*X, tXe.) L.; J.s.s.Z $.aX-X1X-X- BXI 3 B 3 a RX-.a.a a a a 3X-X- 3X-X-.~ RX-.u a.*.eX-X-X-X- R 3.~ c.e aX-XDXDXDX- a.e.e R a.a RXIX- aXIXI.e `.' aXlXDX,XDXD ` c x.n.w 'XJX1.u ~XjXd.b.^.^ _ N.b.b.b.oXz.o.b.b.o.cXg. .U.c.#.#.c.c.c.U.6. .c.c.c.c iXgXg.V.V.6 i.U.c.c.U.o.c _.6.b.bXzXzXzXz.b.^.b.^Xj.rXt eXtXtXt.r.r.r.rXtXtXt.r eXt N.o.b.^XzXzXz.bXzXzXz.bXzXzXz.^.bXz.b.oXgXgXg.oXg.VXg.oXg.o.cXg.o.c.c.o.cXg _.o.VXgXg.o.o.c.cXg.c.o.b.c.b.bXzXzXz N.bXg.r.r.r.kX*.r.r.H FXaX5.n $ TXJXD :X,XK RXlXJ.w.e.9 :XD.D DX5X-.0.] sXDXlXs.w v.jXG.W E.mXqXq .FXBXB.Y.p.[ ._X7.9 U $.e R.M.M._Xn...@.T g.HXVX; g.! gX0 o.9 o.'Xm.nXaXaXy 4.G.2., 5 I 5 I q.5 qX-.8.`.8XtXt.rXt.rXt.r.r.u c 3XlX1 cX*Xt.k.b _XzXz _Xz.bXz.bXz.bXz.bXzXzXzXz.b.b.b.b.b.b N.k.r.r.k ~ F.8.`.r.r.r eXz _XzXz e.^.b _.^Xz.^ e e.r e.k.b N.^.^ e.r eXjXz.b.b.V.V.c.V.c.c.c.c.V.c.c.c.c.c.c.c.c.c.cXg.#.c.c.o _ _XzXzXzXz _ _.cXg.c.c.oXz _Xz.c.^.bXz e eXz.V.c.U _Xz.V.V.c.c.c.c.V.c.U.V.c.V.oXz _ _Xj.bXz _Xg.V l _XzXgXg.^Xz.XXj.X N.^.b N.^.k N.^ N N.o.oXg _.o.V.V.V _Xz _.^.U.^.b.o.o.IXz e e _ i.U.c.c.V.U.c.U.V.V _.oXg",
-" NXg.b NXz.b.^.b.bXz.b.b.^Xz.b.bXz.b.b.b.b N.o.oXz.bXzXz.b.b.b.z.A dX .AXX |.5XZ } XM $X,.MX, $ cXI cX5.*.D.M x h c.}.iXBXq.j.< .X6 t.*X, B.Z.s 0.;.4.@XGXK.W 1X,XD BX- R.eXDX,XI R R.aXDX- aX-X-X1X- a RX-X-X- aX- a 3X- aX- t a RXI 3 R $.~ R R 3 T ` : $X5 c cX-.a R 3.eX- R 3 aXK.KXH.,XwXJ.- 1X..OXcXy s T.0.8X*XtXt.b.bXzXz.XXz.^.b.^.b.bXz.b.b.cXgXg.#.c.cXuXu.U.c.c.UXu i.c.V.c.UX&.U.c.U _. . _.V.c.#Xg.#.b d.oXzXz _XzXz.bXz.^XjXt.r.r.r.r.r e.rXt.r e.rXt.rXt.rXt.^.X.o.^.b.bXzXzXzXzXzXzXzXzXzXzXz.^.b.c.cXg.o.VXg.o.o.o.V.o.cXg.o.o _.VXgXgXg.c.c.V.o.V.V.o.VXg.V.o.c.U.bXzXz.zX&.b.X.X.rXoXt.k ~ ).u.HX1 TX5.w B.* a.* R 8X,XDX,.e R.e BX- RX1 R RX-.DXaXa.n s.wXe v HXn p E U E E h EXq X+.p.-X%X% WX+XeX, UXD x.1.g._Xf.@ yX,X1 (XyXwXyXPXy n s.9 'XD 8 BXa.]XO.|.u.u.kX9X9.5.5.u.`X5XI )X-.kXtXt eXt e.r.u.rXI 3XJ RX5.8.rXtXz.bXz _XzXz _Xz.b.b.b _Xz _XzXzXzXzXzXz.bXzXz.b N.kXt ~.r.kXk N.r e eXj.bXzXj eXz.^XzXz _.oXz.^XjXjXj N.b.k.^XtXt.r e.^XzXz _.c.c.c.c.c.c.V.c.c.c.c.c.c.cXg.c.c.U.c.c. .V.c.oXzXzXzXzXz _.bXg.c.c.cXg _XzXz _Xg.o.o.^ ~ e.^Xg l.cXzXzXg.c.c.c.V.c.c.c.c.c.V.o _Xz _Xj e.cXg.bXg l.V l.Q l.oXgXx.^.XXxXo.X.X.b N.oX9.^.b.b.cXgXgXz _ _.o _XzXz _Xz.z.b.b.^ e.^ eXj ~Xz. _Xz.V.#. .#.U.c.U.#.#.U",
-".b.o.o.bXz.o.^.b.bXz N.oXz.b.b.^ _.b.o.b.b.b.b.bXz.o.#. .b.b.b.c.tX@ q.zXx 5 c YX#Xl.lX,X,X,.Z h :.}.Z $ R.DXDX,X, h.}.} xXBXr.C.J 8 B.H.~ C.WXb ^.@XCX0 = M nXwXcXKXc.9XK R.DX, R RXDX- a.MX- RX-XDX- 3.e a.~ aX-.~.aXI aX-.eX-.~X,XDXI 3.e.e B a c $ :X5 :Xl $XIX-XI RX-X-X1X, a xX,.Z xX, x.Z.wXJ.0 gXUXPXU.`X* ~ eXd.X.^.XXz.bXg.^.b.o.^.o.b.b.o.b.UXg.6.c.c i i.U.c.c.c. .6.c.U.o. .#. .V.V.c i i.UXg.c.U.VXg _ i.z _Xz.^.bXzXz.b.^ e.r eXtXtXtXtXt.r e.rXt.r.r.r.r eXt.^Xg.XXzXzXzXz.bXzXzXzXzXz.bXzXzXzXz.b.o.cXg.oXgXg.o.V.oXg.oXg.o.V.cXg.c.b.c.c.o.VXg.c.cXg.o.VXg.c.c.V.bXz.bXz.zX&.t ZX@ A.A 5 5 f.R ].0 ]XO $X, t RXDXlXlXDX,XI.Z.~.eXDX1.*.eXI.a BXD.w.Z 9XG.9XGXG.Y HXe U E U.d h.W h E.i 1XqX7.y.TX<.1.YXp xXq t nXp.. J ^.j !.H DXy g ( '.0Xl.Z.Z B RX1X1.D ' (XU.H.8X* 3 :X9X9.k #XV.5 #X*.8.rXt.rXj.r.rXV.8.} T xXlXD.rX*Xt.^ _XzXz _.bXzXzXzXzXzXz.bXzXzXz _ _ _XzXz.b.b.bXj.r.rXt ~.`.XXgXt.r e.^.^.^ e.^.bXz.^.^Xz.bXz.o.^.b N N.^Xt.^Xj e eXjXz.b.b.V.c.V.c.c.V.c.c.c.c.c.c.c.c.c.V.c.c.c _Xz.# _ _XzXzXz.b _XzXz.o.c.c.c.c.cXzXzXz _ _XzXzXj e eXz.c.cXg _.b.V.c.c.c.c.c.c.c.c.V _Xz _XzXz F e l.6.6X X .Q. X X&X .t./X@ AXk.I.&.RX@X@.t.6.oXg.o.o.c.cXz _Xz.b _XzXz.b.b.X eXjXj e e eXz eXz.c _Xz _.V i i.V.V.V i.#.c",
-"Xz.o.X.^Xz.bXz.b.bXzXzXz N.b.bXz _XzXzXz.b.b.b.^.b.o.I i.oXz.bXk.o NXtXt.u.`X- 3 V XM c.}.M 3 $ $ $ R TXcXD.ZXD x.u h hXM.FXB W.{.. u B.D.~ B.N.)Xn.s.j.>Xr.q = &.Y.E yXKXG RX,.W $XsX5Xl RX-.e BX-X1.eXV R aX-X-.e.a aX-X- B.a R.e 3X,XD.}X-X-X-.eXD aXI.e a.e R B R 3X- RX-XI 3.e., c 1XKXw.,.9.9 k TXUXP (X5Xx.R.K.k./.^Xg.bXg.6.b.oXk.o.I NXg.#Xg.IXg. .Q.cXg.U.U.c.V.c.o.c.c.c.o.c.VXg.c _.U.c.V.V.c.c.c.c l _.b.oXzXz.b _XzXzXz.^.^ e.rXt.rXt.r.r.r.rXt.rXt.rXt.r e.rXt.^.X.b.b NXz.^.bXzXzXz.b.b.b.b.b.^Xz.b.b.oXg.V.o.VXgXg.o.c _XgXgXg _.U _.V.V.o _.U _.V.V.V.VXg.V.c.V.o.cXz.^Xz l.zXgXxXx.^ ].X.XXoXoX5 (XOX5Xa R aX-XI T.,XJ :XlXK x D : TX5 $X,X1.e.DXLXmXU.qXw H y y.j vXs U t.M t < t UXe XqXh WX<Xh.y kX<.YXH UXB.mXnXf.s yXc B T.O ! !.D.D cXIXD.u R BX1.Z ' T.]X-.8X*.r q.| I 5., 5., 5 I.5.rX* e.rXt.rXtXIX, x s.'XlX-.rXtXj.bXzXzXzXzXzXzXzXzXzXzXz _Xz _ _XzXzXz _.bXzXzXj.^.rXj F FXt ~Xt e.r eXj.^.^XzXzXj.rXj.b.o.b.^Xz N.bXj.r.r.b eXtXjXz.b.b.V.c.c.V.c.c.c.c.c.c.c.c.c.c.c.c.V.c.c _XzXz.UXzXz _ _ _.o.V _ _.o.c.c.cXg.oXz _ _XzXz.bXzXj e e.oXg.U.o.b.V.c.c.c.c.c.c.V.c.U.VXzXz _XzXz e ~ e.b.o.U.c.z.I.z./XkXg.XXkX@.o N lXk l.Q.I.#.oXg.V.oXg _.bXzXz.b _.bXz.b.b.^ eXj eXj e.^Xj eXjXz.bXzXz _.U.#.V.c.V. .#.V",
-".^.oXg.bXz.b.b.^Xz.b.bXz.bXzXz.bXz.b.b.b.bXz N.o.oXz.oXz.o.^.oXg N.X.X A F.u ~XIX*., `Xc.M $.MXl sXh a m.,.a $X, U $ h `XBXB W.< % tXI F.~ R <Xe U._.W.jXw M ^ M =Xh.+.j =XL.W.w.ZXD $ $XDX5X,.u $ 3.a.a.a.~X- aX-.eX,X,X-.e.e.e R aXIX1X1.eX-.e aXDX1 RX-.e a.e.e R RX-X- RXD aXDX-.aXD hX,.a tXD '.nXPX5X1.uXx.R.I./ l AXg.t.U i./.U.bXg.#./.I.I.z.6 i.Q.I.c.c.V.c.cXg.c.VXg.c.c.c.c.c.V.c.c _.U.c.cXg.o.cXg _Xz _ lXz _XzXzXzXz.b.b.^ e e.rXtXj.rXtXt NXg )XdXt.r.r.rXt e NXg.XXzXzXzXz.bXz.bXzXzXzXz.bXzXzXzXzXz.o.oXg.o.o.oXg.VXg.b.V.V.c.c _ _X .o.cXu i.U.c. .6.c.U i. Xg.U.UXz.b.I.IXzXo.X.^.rXtXVXt.uXVXxXPX5Xa.*XD.aX-XD.aXDXIXIXIX-X-X1XD 3XD RX, R.M.Z.w y 9Xe.WXe._.NXGXeXK x.YXK nXK $.9 h h U x.F.Y.FXp.Y.- t.MXq U .X+ 0.. b.GX5.]Xw.j.] '.5 RXI a R.D B.].Z : g.0.~XI ~XV.rX9 ) ) :XXXMXM :.K ~Xt e.r.rXt 3.HXqXGXL.'XlX-.rXtXj.bXz.b _Xz.b.^Xz.bXzXz _XzXzXzXzXzXzXz.bXzXzXz.r.^.r ~ FX9Xg.^.rXtXtXtXj.bXzXj.r eXjXz.bXz.bXz.^ eXtXt e.r.b e eXz.b.b _.c.c.V.c.V.c.c.c.V.c.V.c.c.c.c.V.c.c.VXz _ _XgXz.o.c.o.V.c.c.o _ _.o.o.o.b _Xz.b.bXz.b.b.^Xj.^XjXg.b.# _.VXg.c.c.V.V.U.V.c.c.c _XzXz.b.b.b.o.b.b.o.bXg.c.U. .IXu. q.I./.I././.oXzXz.o.V.c.c _.b.c.o _Xz.b.bXzXzXjXj.^Xg.bXzXz.^XjXj.b.^ e.^XzXzXz.b.o.o.VXgXgXg.cXg.o",
-".^.bXgXz.bXzXzXz.^.b.b.b.bXzXz.b.b.bXz.b N.b.bXzXz.b.VXz.o.o.b.oXg NXx ,.R I I D ` |.3 |X<Xc [ xXc.ZXc Y kX5 c <.uX,X,.W.-.-.- [.<XA t.Z.~.`.~ <.e U.e.a._.n..Xb 0Xi ^X>.;.q yXG x sX, RXD BX-.e.e RX-X1.~XI.a a.~X- aXX.]XMXl 1Xl TXl T 1 :.ZXV 3X-X-X- R 3X1X- R aX-.eX-X-X1 3.aX- tXDXD.Z hXDX,.Z.!.n g '.HXV.rXj.r.^ N.^.oXd.oXz.^Xz.b.b.^Xz.b.bXz.bXk.o.# l.UXg.c.c.c.c.c.c.c.cXg.c.U.c.V.U.c.c.o.V.cXg.V.V.b.o.b lXz.bXz _Xz _Xz.b.^.^XjXtXtXt.r.r e NXg.zXtXt.r.r.r e.r.^.b.b.^Xj.^Xz.bXzXzXzXz.bXz.bXzXz.bXzXz.bXg.VXg.VXg.V.o.o.oXgXgXg.o.U _.I.c.V.U. .U.V. .6.V.c. .#.o.U.I.o.b l.UXz NXdXd.r.rX*Xt.r.D ( '.nX1XDX,.a.a 3X- 3 3.~.aXD RXI cXI.}XI 3.a t.wXL y.EXe U._ E U xXB 1 s cX, 8 a t $ t.M.i U U.p.iXrXqXw x ._Xe...j.J bXC.jXlXlXwXw g.]X1 3XI.aXDX- R.,.2XOXU.0 B.H.8.r.r.5.KXX VX3XJXXXX.$X*Xt e.rXt.r.HX5 xXL v o sX1.8XtXtXz.b.b.b.b.b.bXz.bXz.bXzXz _XzXzXz _Xz.bXz NXz.r.^.r ~.`.r ~X*.r.rXtXj N NXj eXt eXj.b.b.b.^XjXj.r e.rXt e.X.r.^.b.bXz _Xg.V.c.c.c.c.V.c.c.V.c.c.c.c.c.V.c.c.VXz _.o.VXzXg.c.o.c.c.V _Xz _ _ _.bXzXz _.b _.^.b.^.^.b.#.I lXg.I _Xg.c.V.c.c.c.c.c.c.c.c _ _ _ _XzXzXzXz.bXg.b.cXkXg.c.I.IXg N.^.^.^.bXz.^.o _Xg.c.c.cXzXz.V _.VXzXzXz.^Xj.r.rXj.cXz.^Xz.b.b.oXz N.bXg.cXgXg.cXg.cXgXgXgXg.o.c.c",
-"Xt eXg.^ N.b.^.b.b.^XzXzXzXz.bXzXzXz.b.b.bXz.b.b.b.bXz.o.^.#XkXgXg NXg q.RXk ).KX* # k V :.i.M R R.W $ 1 3 3 :XK DXlX, hXcX3 [X<X2.. uX,XI 3X- a <.}.eX-X-.w u.)XbXb.s ^ ^ ^X>.j o v.Z 8X1X-.~ RX-.eX-XI aX-XIX-.~X-.~ cX, :X, :XlXl `., ' : `.aXD.eXI RX-.aXIX-X- BX-X- R RX- 3 aX-.a.a.aX,X,XD UXDXKXaXP.D.8X*Xt.r.k.b.b.X.^.X.b.^.b.o.b.b N.b N.bXz.o.oXg.#.U.c.c.cXg.c.U.V.c.V.c.V. iXu. Xu.#.c.c.c.V.cXgXg.V.oXz lXzXz _XzXzXzXz.bXz N.^ N.^.^XzXtXt.r.r.r.r.r.r e.r.r.rXtXjXj.r eXj.^.b.^.bXzXzXzXzXzXz _XzXzXz.o.cXgXgXgXg.o.o.o.V.c.c.VXg.o.c.VXg.c.V.c.V.c.o.V.c.c _.o.c.o.o.^XzXz.bXoXz.k.^.rXt.r.r.uXo g.D.n 8XD.aXIX-.aX-.`X-.aX-X-X-.aX,.aXDX- $ a.MXeXL yXpXe.i <.} a t.e.e.eX1 B RX-X-XI t.e t U E.-Xp M [.1 M n [ M.h =Xh.+.OXU.O.w y HXU T.u.`.a.a.~.MX1X,.'XlXP.0.~.8XVXtXt.rX*X*.u.u.uX*.uXVXt.r.r eXt.rXV.'Xp 2.s b g aX*Xt e.^XzXzXzXz.b.bXzXzXz _Xz _Xz _ _.b.b.b.bXzXz NXj.k.8 F.`Xt.r.rXjXt.rXj.^Xt eXt eXt.^.b.bXz.^ e e eXtXt eXtXk e.^.bXzXz.b _.V.c.c.c.c.c.c.c.c.c.c.c.c.V.c.c.c _XzXz.oXgXg.c.c.c.c.c.o _Xz _.b.b.oXz.bXz.^Xj e.^.b e ~Xg.I.cXg.c.bXgXg.c.c.c.c.c.c.c.c.c.V _.bXzXz _.bXzXg.c.bXg.V.c.c.I.#.U.b.b.b.b.b.b _Xz _.c.c.c.V.V _ _.c.o.bXzXj.r eXjXj.^.U _.o.o.o.b.c.b.bXg.cXg.o.cXgXg.o.c.c.c.o.V.c.c",
-" e ~.b.k.bXz N.b.bXz.^.bXz.bXz.bXzXz.b.bXz.b.bXz.b.b.bXzXg.z.I.UXgXz.b.bXg.X.rXt ~.` V :XMX, < t <XD.Z.MX,XD T.] ` :X.XwXHX<.h.T.pX4 UX,X1 cX-X-X-XIXIX-X- 1 t t G.) p 2.s %XiXf.;.E.Z $X1.~ R.e a a.eXDX-X-.`X-X-.eX-X-X-.eX-.eX-XI.uXI.e.a R a.~XIXI.eX- RX, R B.eX-.aX-X-XIXI aX- a R.a UX, hX,XDXP.n.] '.HXVXt.r.^.X.b.bXz.b.bXz.bXz.bXz.b.bXz.o.b.bXz.o.z.UXg.c.V.c.c.c.U.c.c.V.c.U.U.#.#.#.U.V.U.VXg.c.V.cXg.oXz.cXz.b _.bXzXzXzXz.b.b.^ N N.^.K.rXtXtXt e.rXt.r.r.rXt.rXt.k.k eXt eXj.^.bXz.^Xz _XzXz _Xz _XzXz.V.o.V.o.oXg.o.oXg.oXgXg.VXgXgXg.c.VXg.oXg.V.c.c.VXg.VXg.c.o.cXz.oXz.^ NXz NXd.^Xt e.rXt.r 'XPX5Xa BX,X1X-XI.aX- 3 a RX-X-.aX-.aX,XI t cX- t $._.j.@Xe U h <.e R a.~.aX-XDX,XDXD R.~ B a $ kXB.Y.YXp.p vXn =.j &X0.>.>.+.E.OX0 9XC !.n 'XD 3.D D 3XD B.Z.'Xc TXl.u.K.8X*X*.K.K.uXdXd.rXtXt.u.r.k.r.rXt.HXc.s.s 0 bXKX1.r.rXt.^Xz.bXz _.bXzXzXzXz.bXzXz _XzXz _XzXz.b.b.b NX*.5.8.8X-XxXk.rXtXt e.r.r e.r eXjXjXz.o.b.# N ~ eXj ~Xj.rXj.U.rXz _.bXz _.V.c.c.V.c.U.c.c.c.U.c.c.c.c.cXg.c.c _ _Xz.U.cXg.UXg.c.o _XzXz.b.b _.b.b.b.^.^ eXt.rXt.^.r ~XjXzXg.c.c.V.c.cXg.c.c.c.c.V.c.c.c.V.V.b _.bXz.bXz.o.c.b.c.c.c.c. .U.U _.bXz.b.b.bXz.V.c.c.V.#.c.V.c.c.o.c.bXzXj eXj.r e.b.IXg.cXgXgXg.U.c.c.c.cXgXgXgXg.VXgXgXg.c.c.c.c.c",
-".r.r N.k.b NXz N.b.bXzXzXzXzXz.b N.bXz.b.b.bXz.bXz.bXz.^Xz.o.oXz.#Xz.^.b.X.b NXkX9.5 I V | #.} < a hX,.MX,XDX1 $.] ' :XlXB k.- r W.x.NXeX-.`.e R.~ R 3.~.~XI R <.* t *XeXb -.B {.;.EXa.D.` RX-.a aX- a aX1 3.~ 3.`X-.~XIX-X-X-X- 3 RX1 3 a.` R.~XDX-.e a a.a 3 aX- RX-.aX-X-X1 3.~X-X- a R R.a.M.M B.'X5 g.Z.K )Xt.k.X.^.b.^.b.bXz.b.b.b.b.b.b.b.b.b.b.b.b.b.U.U.c.c.c.U.#.c.V.c.c.c.#.V.c.U.V. .U _.c.c.U.c.c.c. .Q.o lXz _Xz.bXzXzXz.b.b.^.kXjXtXtXj ~XtXt.rXt.r.rXt.r.rXt.rXt.kXd.r e.r.^XzXz N.b.^XzXz.bXzXzXzXz _.o.c.b.c.oXg.V.oXg.o.cXgXg.V.V.o.oXg.VXg.c.V.cXg.o.V.cXg.c.c.o.o.^Xz.^.b.^ N.^.k.r.r.kXt.H.XXP.D.D R R R.KX-.e.~XIX-.eX- RX-.a R.Z R.~.Z.a R $XL yXpXe E h t t.eXIX-XI 1.-XJ RX- RX- a R aXwXB._.FXpX+X+X>X0XU yXm y.+ &X0.j oXC J.>.'.n.Z 3XcXl T R 8XD '.].2 D.2 D.f q.$ 5 D.I F.r eXt.r.rX* ~XtXtX-Xl.'.s.... o.!X-.rXt.r.^.bXzXzXz _Xz _.b _ _Xz _XzXz.bXz _.^.bXzXz NX* #.8.8.8.5 N.r.r.rXtXj.^Xt e.r e.b.^.b.o iXu.^Xt e ~Xt.r.k.cXj.^ _XzXz.o.V.c.c.c.c.c.c.c.c.c.c.c.c.c.c.cXg.o _.b.b.U.c.c.c.c.o _ _Xz _.o _.b.bXz.^ e eXt e.rXtXt ~ e.^.b.VXz.cXg.c.c.c.c.c.c.c.V.c.c.c.c _ _ _.bXz.bXz.o.VXz.V.c.c.c. .#.U.b.b _XzXzXz _.V.c.V.c.c.c.V.c.c.VXg.o.o.^Xj e eXj.X.#.V.c.V.c.c.cXg.VXgXg.c.V.cXgXg.V.c.cXg.c.c.c.c",
-".r e.bXz NXz NXz.bXzXzXzXz NXzXzXz.b.b.b.b.b.b N.b.b.b.b.bXz NXzXkXz.b.b.b.b NXk 5X9 }.,.,XX h.a.a hXDXDXD $XD.D.ZXD RX,XK.[ .1XrX4 U hX1X-X1X-.a.eXI R 3XK 3X,XD U 8._ C.PXAXi.4.;Xa.wXDX- B a aX- RX-XI RX-X-X-X-.}XI.e R aXIXI.eX-XI.~ R R.~XD.e R.~X-.aX,.eX- RXDXI R R RX-X-.e RX- R RX,XD R.aXGXaXU : (.$ 5 (X .z./.I.b.b.b.bXz.b.b.b.b.b.b.b.b.oXz.b.c.UXg.U.V.#Xu. .V.c.V. Xu.V.c.c.c i. .V.c.c.I.U.c lXu i.c lXzXz.bXzXz.b.bXz.^.k.r eXtXtXtXtXtXt ~Xt e.r.rXtXt.r.rXtXt.kXt e.r.^XzXzXz.bXz.^.b.bXz.bXz.oXz.c.bXgXg.cXgXg.oXg _XgXg.cXgXg.V.o.oXg.V.o.V.o.VXg.VXgXg.V.o.c.o.^.bXgXgXx NXV.^Xd.5Xt.u.H g.'.w sXl $XlX.XKXcXK `XcXK `.*.a.eX-XDX- RXVX1X1.w.nXmXpXe h h a.a.u T :XK #XcX-.e RX-.e R a t E xXeXr M &Xr y.9.!XG s vXU = & = & & b.>.0.' R.a.e `.e R R.D.9.0.O 'X5 qXJ.$ ).$ ).R.rXd eXt.r.k ~X*X*.8.5XUXpX>.@ 0XG.9 BXtXt e N.bXzXzXz.bXzXzXzXzXz _Xz.o.bXz.b.X NXk.fX9.$.$ qX9.5X- F.rXt e.r e.^.bXj eXjXz.b.oXz _.c _.o.^.r e.r e.^X9.^ _XzXz _.V.c.c.VXg.c.c.c.c.c.c.c.c.V.c.c.c _Xz _ _ _.#Xg.c.V _ _XzXz _.b.b _ _.b.^ e e.r ~ ~ e.r e F.rXj.oXg.b.V.c.c.c.U.c.c.c.c.V.U.c.c.c.o _.b _.b _.b.oXg _.c.V.c.c i.c.# _.o.o _.b _.V.c.c.c.#.#.V.V.c.cXgXg.V.bXz.^ e e.^.c.U.V.cXg.c.c.c.b _.b.o.cXg.cXg.c.VXgXg.VXgXg.c.c",
-"XtXj.X.XXzXzXzXz.b.b.bXz.bXzXz.b.bXz.bXz.bXz.bXz.bXz.b.b.b.bXz.b.c.bXzXz.^.o.X.bXtX*.` : V.5XM #.} h hX,.M.9 x hXlXD.a #XKXBXw.gX2...W.W.aX1XDX- aXIXDXIXD c.9XlXKXlXcXp n W ^Xi.CX0.W.Z 8X-.M RX-.e.aX1X-.eXI aXIXIX-.~.a aXIX-X-X-XIX-X-X-.aX-XDX-.e a.e 3 R.e RXDXD.e R.a.uX-.a.eX- a a RX,XDX, R.'X5XUXPXx D.z.R 5.t.6XuXzXz.b.b.b.b.bXz.b.b.b.b.b.b.b.bXg.UXg.cXg.#Xu. .c.c.c. Xu.#.c.UXg i i.c.o.V. .#.c.o. .QXg.UXz.bXzXzXz.b.bXz.^ e.r.r.rXt.rXt.r.r e.r.r.r.rXt.rXt.r.rXj.kXt eXj.^ NXz.^Xz.b.b.bXz.^.b NXz N.bXg.oXg.o.o.o.oXg _XgXgXg.o.VXgXg.VXg.o.VXg.V.o.V.VXg.c.oXg.c.o.^.o.oX&.&.$.$.& ) I q ( :XUXa.n.W s x 1 Xl T.w $., sXl R R aX-XD.H.e 3 BX1.w.n y JXe h E a.}XK ` c 3 a.M.e.K :., a.e t.}.W EXnXrXrX+ 1 sXG v.w.n.n 9.9 & &XG b J !XG.9X, RXD.e 8 R.D.0 g.2.]X1.H.H.r.`.5Xd.u.H.r eXt.rXtX*.rX*.8XI.- x v.) % 0XL.]XI ~Xt.r.bXzXz.b _XzXz _ _.b _.b.b.b.b.b.^XgXkXk.$./.fX3 ) 3.8.r.kXt.r.r e.^.b.bXjXj.^.oXzXz _ _Xz.bXzXzXjXt e.r.kXg N.o.bXz _.cXg.V.V.V.c.c.c.c.c.c.c.c.c.c.c.V _XzXzXz.o.I.V.V _ _Xz.b.V.V.V.V _Xz _Xz e.r e F F.r.rXt ~ eXz _Xz.VXg.c.c.c.c.c.V.c.c.V.c.c.c.c.c.o _ _Xz _ _.V.V _.V.c.c.c i.c.#.c.VXg.V.b.V.V.c.c.#.#.c.c.c.c.c.cXgXg.b _.^ e e.b.U.U.c.V.c.cXg.V _Xz _ _.V.cXg.V.cXg.c.cXg.VXgXgXg",
-".^.^XgXg.^.b.b.b.bXzXz N.bXz.b.bXz.bXz.b.bXz.bXz.bXz NXzXz.b.bXz.U.b.^.b.b.b.b N NXt.`.8XX V #Xl : $ hX, hXw `.Z $ hXDX,.-.- [.[X>.mXe.MXDXI.e t R a R 3.uX1XVX,XDXDX, h.W ....C H H s.n RXD B.M R 3.u R R.a.eX-XDXI.aXIXIXDX- a.~XIXI aX- RX1XI.eX-.~X-.~XD aX-.aX,.aXI R.eXDX- R.~X-XI RX,X,X, cXD T.n.0 :.`XVXV.HXz.^ N.^Xz.b.b.b.b.b.b.b.b.b.b.b.b.b.bXz.o.#Xg.c.c.c.U.c.c.c.c.U.U.c.V.c.V.c.U.V.c.c l.o.c l.o.oXz lXz.b.b.b.b.b.^XjXt e.r.rXt.r.rXt.r ~.X.rXt e.r.rXt.rXt.r.k.^.rXd.^XzXz.b.b.^.b.^.^.b.o.^.^.b.bXzXgXgXgXgXg.V.o.o.oXgXg.V.o.o.VXgXg.V.cXgXg.V.c.c.VXg.VXgXg.c.cXz.^.#Xk d.f.& I ( q.$ D D @XaXLXD.D.e aX-XD a.e.* $XD.a a aX1.e RXD.e.u.e B.w.n yXGXe E $ a $.aX-.e a RXI.~X1.,XX hXB x._Xe._XG.jXw.>XU gXl.w CXLXL.!.9 & H o b o.q y.2XK xX,X,X,.wX. g KXy.| D.2 D.& (X@XJ (XtXd.r eXtXt 3X*.8Xl 1 v O.sXb.) J bXc.D ~Xt e.b NXz.bXzXzXz.b N.o.^Xj.o.b.6.6.t.X q NX9 N.K 3.K.`.8 ~ NXk.r e.^Xz.bXzXz.^ _XzXz _ _Xz _ _Xz.b.^Xt.r e.^XgXz.bXzXz _.o _Xz _.c.c.c.c.c.c.c.c.c.c.c.V.o _XzXz _.o.# _ _Xz _ _.V.c.c.c.oXz _.bXzXj e e F F.r.r e.r.rXz.oXz.V.V.c.c.c.c.c.c.c.U.V.U.U.c.c.cXgXz _Xz _.o.c.c _.c.V.V.c i.c.#.c.V.V.c.V.V.c.V.c.#.c.c.c.c.V.V.VXg.c.o.oXzXj.^Xg.z.c.c.c.cXg.b.bXzXzXzXz.oXg.c.V.cXg.cXgXg.V.c.c.c",
-"Xz.^.o.c.^XzXzXz.^Xz.bXz.bXz N.bXz.b.b.b.b.b.b.b.b.o.bXz.b.b.bXzXg.oXz.b.b.^.^.k.^.KX*.rX-X3 qXX # ` :.iXK.-.W h x UX, hX3.-.-XwX+Xn nX.Xl $XwX..a.>X,.Z.2XlXKXK $XH.* x [.N pXi.4 H b.nXsXD R.a R.Z.e.M.eXD : $XI x R $ aXD RX-X-XI.eX-.~ R.aXI R.e R.e 1 cXlXcX- R.a RXD `.ZX-.e a R 3X, cX, 3.aXI.n '.0XP.H.H.r.rXoXgXz.b.b.b.bXz.bXz.b.b.b.b.bXz.b.b.b.bXg.U.c.c.c.cXgXg.cXg.c.V _.cXg.V.c.V.cXg.V.o.c.V.o _Xz.bXz l.b.bXzXz.bXz.^Xt e.r.rXtXtXtXtXt.r.rXgXtXt.r.rXt.r.r.r e.k.^XjXj.bXzXzXzXz.bXj.b e.z qXxXg./ q.zXg.U.U.cXg.o.o.V.o.c.c.o.oXg.c.o.VXg.V.o.o.cXgXg.c.V.o.VXg.o.o.bXz.^.b.^ N.kXt.r.H.H.H T.0.nXa.D hXD RX-XI BX1.e.] 3XJ.ZX, $.Z.u.Z h $XD.*.w v yXG.w U 1X,.e.e.~.e IX1 3 3X, $XD x.S [ E.F.<Xr M.>.O Y !XH !X; =XP.> =.G.>.q v.q.>XU n m 1XDX,.DXD ' g m 4 DXx.5.f ( ( ( (XxXtXt.rXt.r 3.8.` c.9XK.EXn.; S 0X>XK.0.u ~.rXj.bXzXzXz _Xz.^Xz.X.^Xk.I.&.&.&.IXg.XXg.b N.X ~.rX9.`.`.8 ~Xt.r e.^.bXz.b.bXzXz.bXz _XzXz _.^.bXz N e e.r.b.oXz.b _XzXzXz _Xz.b.V.V.o.V.V.c.c.c.c.cXg _Xz.b _.b _Xg.UXz _Xz _.V.V.c.c.c.o _Xz.b _ e ~ e.r ~ e.r.r l.^Xz.cXz.c.o.cXg.cXg.c.V.c.c.V.c.cXg.c.c.V.o.oXz _.V.c.V _.c.c.c.c.#.U.#.U.c.c.V.V.V.c.c.c.#.c.V.c.#.U.c.V.V.cXg.o.b.b.oXg.#.c.cXg.c.o _Xz.b _XzXz.o.V.c.cXgXg.c.c.oXg.c.cXg",
-".bXzXzXgXz.^XzXzXzXzXzXzXzXzXz.b.b.bXz.b.b.b.b.bXz.bXz.b.b.b.bXzXg.bXz.b.b.^XjXt ~.k.^X* 3.8 V VXXXMX3 1.} U $ h.wX,XD hXK k 1 [XnXn.jX#.' mXDXcXqX. a.Z m.eX..2.eX..eXcXh.dXb %.@.;XaXL.DXD.wX5XDXVXDX1 : x $ x x 1 1Xc :XcX1 R.a R.e.e.~X-X1X- R.eX-X,X. DXc D.-XlXw D TXcX5 k.~X- RXIXIX1 RX- R a.Z.' T (.`.H.HXd.r N.b.^.b.^Xz N.b.b.b.b.b.b.b.b.bXz.b.b.b.UXg.c.c.c.c.c.U.V.cXg.c.c.c.V.c.c.c.c.c.c.V.bXzXz _ _Xz.U.b.bXz.b.b NXj e.rXt.rXt.r.rXt.r.r.r.^.r e.r.rXt.r.rXtXtXt.^.^.^.^.bXzXz.b.^ _ F.^.X A.zXx./.t.& X.tX .t.oXg.oXg.o.cXg.V.cXgXg.VXg.cXg.V.V.c.V.V.c.c _Xg.V.c.b.b.^.b.^.bXz.k.^.rXdXVXd gXl.n.DXaXD B.~ 3.` B.`.~ '.] TX..] 1 .9 kXJXl.M aXaXL.jXGXe U.[X, a aX-XI :X-X- B.a a.,.Y n.- >.[.gX% [ nXH.O.%X;X.XKXUX; y.q =.j.qXL H = yXcX, h.Z.M 8Xa.n.0 !XV.e.8.rX*.rXV.H.rXVXtXtX*.8.aX1XlXc s.nXG.s / ^.@ vXGXG :.u.r e.^Xz.^XzXzXzXzXz e./.$ d./.zXk.b.^Xz.X.^.b.XXt.^X* c.8.8Xt ~Xt eXj.^.bXz _ _.bXz _.bXz _ _. iXz.b.b.rXj eXg NXzXz.bXzXz _XzXz _ _Xz _Xz _.o.VXg.V.o _ _XzXz.bXz _.VXgXz _ _.c.V.c.c.c.c.V _ _.b.b.^ e.r eXt e.r e.I.z.U _Xz.c.V.cXgXg.V.c.c.c.c.c.c.c.c.c.o.o.c _Xz.o.V.c.VXz.V.c.c.#.#.#.c.c.c.c.c.V.c.c.#.#.c.#.#.#.c.#.c.c.c.V.c.o.o.oXg.c.#Xg.c.V.c.bXz _.b.b.bXz.o.V.cXg.VXg.VXg.cXgXg.c.c",
-".b.^Xz.UXz.bXzXz.bXz.b.b NXz.b.bXz.b.b.b.b.b.b.bXz.b.b.b.bXzXz.b.oXz.b.z.I.b.r eXtXt.k.K.rX* ~.K VX3 `XM 1 1 h.M h.M.}X, `X. h $.< v.1Xw.O :.S.j $.1 :XlXH.eXl $ 8X. $XKXqX+ pXb ^.; bXaXL.w.w 1.'XD RX,Xc.}Xc $ `.9 T 1 :XK 3.aXI.e R.eX-.eXD.e.aX-X- B ` c : ` s $.-.9 1Xl xXKX-X- RX-X- a RX1.}.u.'.0.0 gX1.`.`.rXtXj.^.o.^.bXzXzXzXzXz.b.b.bXz.b.b.b.b.b.b l.o.cXg.c.c.VXg.c.c.V.cXgXg.c _.c.c.c.V.cXzXzXz.bXzXz.^ l _.bXz.b N.bXj.rXtXtXt.r.rXt.r.r eXt ~.r.r e.rXt.rXtXt.rXt.X.^.bXz.bXz.bXz.bXj e.`Xd NXxXx.z.z.zXkXg _.c.VXg.o.c.oXgXg.o.o.VXg.V.U.U.c.V.c.U.c.c.U.U.V.c.cXg.#Xg.b.bXz.^.b.^XdXd.r.r.H.2.n.n.n g.'X1X- B.H B.` BX- BX-X, a R R.Z 1 aXD t.M.wXeXwXGXe EXH $ aX- a B R.~ R a VXKXc.Y.MXq.[X+ X7., k mX. !X.XUXc.'XPXm.0.q.!XGXC.>.OXmXcXsX,.DXD.w.n 'XP.2 B 3 ~Xt.r.rXtXtXtX*Xt.8 ~XIXl TXK v.EXa O.=Xe u.N 0XG $.0.`.rXj.^.bXzXzXzXzXzXj F.bXk.X N.I lXk.z.zXkXg.fXgX9 ~ 3.r.8XtXkXkXj.r eXz _.bXzXzXz _Xz _ _Xz.o i.I.o.b.^ eXt e.UXz.bXz.b.bXz.bXz.bXz.b _XzXz _Xz _ _ _ _ _ _.b _Xz.bXz.o.o.b.V.c.V.c.V.c.c.c.V _.b _XzXzXj e.r e.r.r.r eXjXgXzXz.#.V.c.c.c.V.c.c.c.V.c.V.c.c.VXz _.U.c.V.V.c.#.V _.c.c.c.#.#.#.U.c.c.c.V.c.c.c.c.#.V.c.#.#.c.#.#.c.c.V.cXg.o.c.c.c.#.o.UXg.o.b.b.b.bXz.b.b.b.o.c.c.V.o.c.VXg.c.c.cXg",
-"Xz.o.^.cXzXzXz.bXz.b.b.^.U.bXz.b.^.U.^Xg.bXg.U.U.b.b.b.bXz.b.bXz.o.^Xz.IXzXj.rXjXtXtXt.k N.k ~.8X*X3 VXXXM .9.i h R h.} kXK ._.jXpXcX5.a x xX,Xe.Z.aXD.uXI.eXD R R a t u.d.s ^.; w b.!.9.E.9.'X. : $ x $ hX, $ $ hXD aX-.eXD a.a a.e.a.eXD B.eX1.aX1 B a.e.e.a.a.e R.aX-.e RXD.eX, R R RXIX,X, R.D.n.].]X1.`.H.r.rXdXj.b.bXz.b.bXz.b.bXz NXz.bXz.b.bXz.b.b l.b _.c.cXg.c.cXg.c.c.c.V.c.c.c.V.cXg.c.cXz.bXzXzXz.bXzXg.XXzXz.bXz N.r.k e.r.rXtXt ~XtXt.r.r.rXt e.rXt.r.r.r.rXtXtXgXoXdXz.^XzXzXzXzXz.^Xd.^.^XkXk.R q.t lXgXgXgXgXg.VXg _.c.cXgXg.VXgXg.cX&.U.c.#Xu.c.V i. _.#.UXg i iXgXz.b.^.b.^Xj eXt.HX5XJ.n.n s 9 '.wXD.Z.DXDXIXDXDXIXD.DXDX1 RXD B BXD B B.w.w.j.Y._ x U U.a t R B aX-XD `X+XwXe h x .[XX.l VXBX3XKXcXJX.XH.>XOXm.!.! g &XC.q & &.O.9.MXD.w.w.n '.0XOX5.8 ~ ~X*.rXt.r.r.r e.r.}Xl.'XLXL 0Xa b 2.= bXe.M.)XeXG.Z.`.8XtXj.bXzXzXzXzXzXzXz ~ e _XzXz. .IX .z.t Q.A./ 5Xx.r.r.`.8 ~.8.^Xt e.^.b.^.b _.bXz.^XzXz.b _ _.o.U.b.^Xj e e N lXz.b _.^.o.b.b.bXz.b _.b _Xz _Xz.bXz _ _XzXz _.o.^.b.^.c.c.U.V.c.U.V.c.c.c.c.c.c _Xz.b.b.bXz.^.^ e ~ eXt e.V.o.b.U.cXg.U.V.U.c.V.c.V.c.o.c.o _ _.c.6Xu i.c.c i i _ _ i.#.#.#X&.#.c.# i.c.V i i.c.c i. .#.#.#.#.#.U.V.c.c.V.cXgXg.c.U.cXg.VXg _.b.bXzXz.b.b.o.V.c.V.o.V.c.c.V.cXg.V.c",
-". i.bXg.b.^.I.U.bXz.b.c.f.cXz.b.^. Xz.b.oXg i i.b.b.bXz.b.b.b.b.b.b.b.o e.r e.rXt.r.r.^ N NX*Xj 3.`XXX3 V.-.l # x.} $ $.a kX3.Y.pX+XrXK.Y.aXD h.Y.FXD R R.~XDX1.~XD.~ R t.e.).)X6 w H H H HX>.; y s.9 sX. 1X.XK xXwXc.9 BX, ` RX-X1.ZXD.e RX, a B.eX-.aXI.eX-X-.} RXD aXD a R R : :X..u 1 :XK : $ $ $ ! g.2XIX5.5Xx.XXjXj N.b.^Xz.b.b.bXz.b.b.b.b.bXz.b.b.bXz.U.b _.cXg.V.c.c.cXg.VXg.c.V.o.V.cXg.c.o.c.b.bXz.b.bXzXz l.b.b.^.o.b.k e.r.rXtXt.r.r.k ~.rXd e.r e.r.r.rXtXtXt.r.rXt.k.^.b.bXzXzXzXzXz _XzXz.b N.b.IXk.I.6.U.bXgXg.V.o.cXg.o.cXg.VXg.o.o.V.c i.UXg.#. .U.c. .#.c.#.UXg.#.U _.bXz.b.^.b.k.r.r.H.5.2 'XC g & y x.n.0.w.w.w.w.w.w.w.w '.w.wXl 8X1XD B B.ZXa sXr.9 UXe.i.i h U.W.M $ nXp.Y U h x.l c XM.lX3.lXX `XK.9.-XJ.>X; g.0.!XUXC @XCXm.9 9.Z $Xl s.w ' g g.DXV.8 3.rXt.r.r.r.rXt ~.8 3Xq.W.s / /.= O.=Xa.9 1 xXsXL.9 cX- FXtXz.b.bXzXzXz.bXzXzXjXzXzXzXzXzXz.X.I.z N.r.k 3 ~X-XV F.8 FXt eXt eXj.bXz.bXzXz.^XjXjXzXzXz _Xz.bXz.^ e.rXjXz lXz.bXz.cXzXz.bXz.bXz.bXz.bXzXz.b _.b _.b.b.oXzXz.b.bXz.U.cXz.U.c.V.U.c.c.c.V.V.cXg.o _.^Xz.b N.^.rXj e eXjXgXz.o.#.V.c.o.UXg.c.U.U.c.V.V.V _ _.c.U.#.#.#.c.#. .# _.V i. i.#Xu. .c.#. .V.#Xu i.U.U iXu iXu iXu i.#.c.c.cXg.cXg.V.U.U.c.VXg.o.b.b.b.b.b.b.bXg.c.c.V.o.o.o.V.c.o.c.U.b",
-".Q i.bXg.c.b i./.bXz.^Xg.6.c.bXz.^.#.bXz.b.o.U.I.b.b.b.bXz.b.b.b.^Xz.^XzXjXj eXt.^XjXj.k N.X.bX*.r ~.8.}X9.,X3 #XM 1.}.a `.-X7 n.jXZX.XJ tXc < =XcXc.-XIXD.eXDXI.~ F.~.~ R.) pX=Xn ^.vX6XfXf HXp s.MXD t R.M.a.a R R a R `Xl : ` 1 `Xl.,Xl :XK : x R.~.a R.e R.e t t a R R.eXJ :X.XcX. m 1 : `.-XJ.9XU ! ! I IXx 5.AXkXjXjXz.b.b.bXz.b.b.bXz.bXzXz.b.bXz.bXz.UXz _Xg.cXg.c.cXg.c.c.c.c.c.c.c.o.c.cXg.c.oXzXzXz.bXz.bXgXg N.bXd.bXjXjXtXtXt.r.r.r.kXt ~Xt ~ eXt.r e.r.r.r.r.rXt.k.^.^ NXj.^.bXzXzXz.bXzXz.b N.^.^.^XgXg.o.c.o.VXg.oXgXg.o.c.VXgXg.V.o.oXg.U.VXg.VXg.o _.c.c.VXgXg _.VXzXzXzXzXz N NXjXt.u 3 :XwXw &.j.j.q.9 o.9 v v sXn s v v.n.9.n.w.Z 'X1.H B B 8.w.D 9.jXGXe EXq.m.d.p._X%.i E U U x xXJX3XM # h.a.a.iXM V.-.Y m.OXU s.' ' ! =.> 9XmXa.'.w.n T.] g ( B.DXV ~.rX*.r.r ~ ~.r F F B.ZXL.N / / / C.sXa.M.Z $XDXaXn.9X5X-.rXt.bXz.bXzXzXz.bXz.b.b.^.b.^.b.o.b.IXg.z.I )Xx.z.k.8.r.8.` q.k e.r eXjXz.oXzXz.bXj eXj.b.bXz.bXz.^Xj e e.rXj.b lXz _ A A.7.z.b.b.b.b.b.bXzXz _Xz _ _ _Xz _.o.b.b.b.b.o.I.o.#Xg.c.V.c.c.U.c.c.c.c.c.oXz.b.oXz.^XjXt F e e.^.VXz.V lXg.c.U.c lXg.c.V.c.c.V _.V.c.U.U.c.c.c.c.V.c.cXz.V.c.U. .U.#.#.#.#.V.c.#.#.#.c.c.#. .#. i. . .U.V.c.V.cXg.c.o.#.c.V.c.V _.b _.bXz.^.b.oXgXgXgXg.V.V.c.V.c.oXg.oXg",
-".c l.o.oXgXz.o.b.b.b.b.b.c.b.bXz.b.b.bXz.b.b.^.b.b.b.b.bXz.b.b.bXz.bXz.^.r.r e.z N e.r.^.oXgXg.bXj N.r.r.8.aX3 VX3XlXMXM 3XBXcX7 MX+.+ x.,XcXwXD 1XqXJXJ $ R RX-XI.`.`.HX- a.* UXb.)..XbX=.B ;.4 b v.n.M.*.a R R aX- RX1.eXl., :XK :XJ.0 1 : TXJXlX,X-X1.aX-X-.e R R aX- R a R aX1 h.Z.e.e t.a RXDX-.w s T.5X-.8 3.rXt.r.rXt.^ N.b.^.bXzXzXz.bXz.bXz.b.bXz.bXz.UXzXz.cXg.c.c.c.c.c.o.VXg.c.c.VXgXg.o.UXg.c.o.^.b.^.b.bXg.bXz.o.b.^XtXt eXt.r ~.kXt.r.rXtXt.kXd.rXdXt.rXt.r.r.r.rXt.^ ~XtXj.r.^Xz.oXzXz.bXzXzXz.bXgXgXgXgXg.cXgXgXg.VXgXg.o.cXgXg.c.V.V.cXg.o.V.cXg.o.V.c.c.c.c.V.cXg.oXzXz.bXzXz.b N.kXt c.HXl.j y.E.@ oXr M M.j & & &Xr.q HXU.qXw &.0.n.n ' '.uXa.D.n.wXLX>.j...mXA W %XA zXq E E EXq 1 1X3 #XX #XI c a.a a.a $Xc `Xw =XO.!.! s y.G.GX;XG.' '.0.] D gX5XDXV.8X*.r.rXt.r.r.r ~ F FX1 R v.s.) *.N u u.Z.M t.ZX1.~XL 9.9.K.8 ~Xj.b.b.bXz.b.bXz.bXzXz.^.oXz.b.bXz.I./X .zX q qXx.`Xt.8X*Xx q.rXjXjXj.^ NXzXz.bXj e e.o lX@.I.o.^ e.rXtXj.^.b.cXz _ NXzXg j.bXgXgXg.o.b.bXzXz _Xz _XzXzXzXzXz.o.^.oXg. .o.V.c.c.U.V.V.c.c.c.c.c.c.o.b.o.^.b.bXtXj.r ~ e.b.o.^.#.U.I. .V.c.c.V.V.U.c.VXz _.c.#.U.c.U.U.cXg.U.V.U.b.V.c.c.#.c.#.#.c.#.#.#.U.U.c.c.c.c.c.V.c.c.c.c.V.c.o.VXg.VXg.o. .VXg.V.o _XzXz.^Xj.^Xz.bXgXgXg.cXg.o.V.oXgXg i.IXz",
-"Xz.^.b.^.c.b.^.b.^.b.b.b.bXz.bXz.b.^Xz.b.b.o.^.b.b.b.b.b.b.b.bXz.^ N NXj.^.kXt.X./.^.r.^ N.^.b.cXg.X.k.rX*.8.8XM., VXMXX x [.SX2X2.M hX1XD R U.a.M.a a 3X,XD t a 3.8.~X1X1 8 C uXF.. *XbXbXf.4.EXG v.w a RX-.~X- B.e.e R R a a a.e a a R.eX, R B R BX-X,.~.eX-.a aX- t aXIXD.aXD $X-XD R R.a.}.M.M.n.'XPXlX1.` ~.r.rX* eXtXjXz.b.b.b.b.b.bXz.b.bXz.b.b.b.b.b lXz _Xg.cXg.c.c.c.c.c.c.V.oXg.c.c.VXgXg.UXgXgXz.b.bXz.bXg.bXg.^Xz.b.b.k eXtXt.rXtXtXt.rXt.r.r.z.X.r.r.r eXt.rXt.rXt.KXt e.r e.k.b.QXzXzXz.b _.o.o.o.o.c.o l.b.6.z.cXgXg.o.o.cXg.VXgXgXgXg.c _XgXg.V.o.V.oXg.c.VXg.c.V.V _XzXz.bXz.^Xx.kXtXV 3XMXcXGX>X>.@.jX>.E.@X>X>.@.EXp.EX+.EXmXmXwXG.n s gXa.wXaXL v 9.E HX8X>X2.<.x.x.J E E.m x.-Xc V #.K 3.u.e.}.e aXD <XD .Y nX;XwXP.'.'.' !XwXP.!.0XlXO.]X5X1XI.8.8.kX*.r.r.rXt.r.r.r.8 F B.DXL 2 * * u < t h.lXJ.9 B.n o.9X1 3.8.k.^XzXz.b.bXzXz.bXz.b NX9Xz N.b.^Xz.X.^Xk N.X.rXt F.8.k.8.rXj.r.rXj ~ e eXj.^Xz NXt e.^.^.o.:.RXzXt e.r eXj N.oXgXz _ _Xz.b.I.bXg ZX@.b.b.bXz _XzXzXz _ _.bXg.I.IX X&X .I l.UXg.c.V.c.c.c.VXg.c.c.c.#.U.o.o N.^Xj e ~.r e.bXg.^.#.#.# i.7.c.U.U.c.c.c _ _.c.#.U.c.c.6.7 i.UXg.c.c.V.o.U.#.#.U.#.c.#.c.#.#.U.V.c.c.U.c.c.V.c.U.c.c.c.V.c.V.cXg.cXg.#Xg.c.VXzXzXz.^ e e.r e.^.b.o.o.o.o.c.cXg.cXgXu.&.z",
-".bXz.bXzXk.b.b.bXz.b.b.b.bXzXzXzXz.bXz.bXz.b.o.bXz.b.bXz.bXz.b NXzXgXzXj ~XjX*.^Xj.r.k.o.b.b _.o.c.o.o.k.r ~.8.8 3XXXXXM.lXM.g [ WXp.N.M 8.M $.aXGXBXJ.9 tX,.}.M.aX- 3.`X-X-XD t.* t U CXe.sXbX6XC H s s t.eX-X-.~X-X1 B 3XIX- aX-.e R.eX- 1.2XlX,XDXl : :XD h c 1 3.a RXD B.aX1X, R R R a.aX,XD R.a.n s.' T.~.`.`.`.8.rXjXtXj.r.bXz.b.bXzXz.bXz.b.b.b.b.b.bXz l.bXz.cXg.c.c.c.c.c.cXgXg.U.c.V.oXg.#.V. XgXgXg.b.o.b.^Xg lXd.XXz.^.o.b.^Xt e.rXt.r ~Xt.rXt.r.z.R.X e.r.r.r.r.rXtXtXo.X ~Xt.rXd.IXgXzXz _ _.oXgXg.cXg.o.cXg Z.I.U.c.c.o.o.o.cXgXg.oXg.VXgXg.VXg.VXgXgXg.VXg.c.VXg.V.oXg.o.^Xz.b.^.bXgXdXV.r 3 xXc x.< vXnX2XpXp JXGXnXGXnXn JXnXnXGXG y !.j.j &XU.jXm yXC.; H.4X8Xf.<Xf.C.x W.<.F ._X#XZ ` | D #XJ 1XK ` 1 k $.a ` [ =XU.'.Z.w.n.0.' ' T.'XP 'X1.`XV.8.8.8X9Xt.rXt.r.rXtXt.r.H.`.`.w.s.N.) C.a.a.a c < x 1 C.wXG.9.aX* ~ ~Xz.b.b.b _Xz.bXzXzXz.b.b.^.b.b.b.X.b.bX X@./ q.RXt.`X*.r.XX*XtXt eXj e.r eXj NXj eXt.k N.^.:.^Xd eXt.rXjXj.bXg _XzXzXz.X.b.I.7.^.6.^.b.b.bXz.b _ _ _.bXz.b.oXgXz.7.6 A j.IXg.c.c.c.c.c.c.c.c.c.V.o. jXg.oXz.^.r.r.z.^.^.o.oXz.Q.cXg _ ZXu.b.c.c.c.VXz.V.c.#.U.cXg.#Xg.:Xu.c l lXg.c.o.#.U.c.#.#.#.#.U.c.V.c.c.VXg.c.c.V.c.U.c.c.V.cXg.V.c.o.c.c.#.VXg.V _Xz _Xj ~ e.r.r e e.^Xz.o _Xz.o.bXgXgXk./.t",
-"Xz.bXz.^XkXz NXz.b.b.^.b.bXz.b.b.^.b.b.bXz.^.b.^Xz.b.bXz.b.b.bXz N.o.rXj eXg.^.rXtXjXz NXzXz.b _.c lXg.o.^.kX*.8 3.8XJ ` Xq [X<X2.@XG x x.~XD.w.wXK.9 x $.eXD h < < $.,XIX1X,X, x.M.}.YXq v . 0 w &.EXG R R.eX-.`.e.~X- RX1 aX- a a B aXc :Xc.' D 1 B., :XJX5XJXKX. aXIXD a.aXDXD.a.a RX,XDX, hX,XD.w TXU.Z R.`.`.`.8 ~.rXtXt eXz.bXzXz.bXzXz.b.bXz.b.b.b.bXz.U.b _.o.cXg.cXg.c.VXg.V.V.UXg.o l.Q.I.6. XgXg.c.o.b.oXz N l.b.z AXg.^ N.^XjXt eXtXtXtXt.XX@.R N A.RXoXdXt.r.r.r.rXV.X ,X@./X@.A l.^Xz.XXzXzXg.c.c.IX& X.U.tX&.XXgXg.VXg.V.b.cXgXg.VXg.o.V.oXg.VXg.o.V.o.o.V.o.V.o.V.c.VXg _Xz.o.bXz.bXjXd.r ~.}X3XpXGXe p.YXp.YXGXq sXqXq v._Xq v..X4XpX4.x.j W H.; H S H w.@ ^Xf.4.{.4.{ ^.@.-.[.g.,.S., [XH.9 xX.Xc.-.YXc.O :X, 1.YX. =XcXP.D.DXD $ T.!.n.0 m BX1.H F ~.r.kXj.^XtXt.rXtXdXtXV.r.8 RXeXL.N E tXDXDX- $X,.a h tXs s.'.aX*Xt.rXzXzXz.b _Xz.bXzXz.bXzXz _Xz.b.b.bXz.X./.f qXx V.8 3.k.rXkXk.k.rXt.r e eXt e.^Xt eXtXt.XXg.:.rXd.r.r.rXt.^.^.cXzXzXz _.XXd.6.: d.6 NXz.bXz.b _Xz _Xz _Xz _.b.X.^ jXk.z.7X&.b.c.c.V.c.c.c.c.c.c.oXz. Z.^.o N.^ e ~.^.o.cXg.b.o.#.o.cXg.7.7.c.U.c _ _ _.c.#.U.U.U.c.oXg.Q j.U.I ZX&. .c. .#.U.#.#.#.c.#.V.c.c.c.oXg.c.c.c.V.c.V.c.c.c.c.oXg.V.c.U.c.c.c.V.bXz.b.^Xt.rXt e.r.r e eXjXz.^Xj.b.o.^.^.k ~",
-".^.b.b.^Xg.b N.b N.^Xz.b.bXz.b.b.b.b.b.^.o.b.^.oXz NXz.bXz NXzXz.^.o e e.rXgXk.^Xj.^ N.c.U.bXz _ _.o.U.c N./.f.K.8.u # VX3 1X<XpX2 H._XsX,.Z.MX,XlX,.w TXw.9.9.W.} hXHXK.] !XK.9 XH UXKXq.9X> H M.E M x.M.eX-X-.~X-X-XIX-X- a a a a a B a.e.aX, RX-XIX1 BX- 3 3 3X- a.` hX-X- R RX,.aX,X, hX,.M t $.wXP.0 BX-.`.`.`.8 ~Xt.rXtXtXzXzXz.bXz.bXzXz.b.bXz.b.b.bXz l.b _Xg.V.cXg.c.V.c.U.c.cXg.o.UX&Xu.U Z.z.cXgXgXg.U.b.b.o.z Z l A.7.b.b.b.^Xt.r.r eXtXtXt.:.X.uXkXkXj ~Xt.r.rX*.rX*.^X9Xx.:.X.^.X NXzXz.^.bXgXgXgXg.:.zXz j.I.XXg.o.oXgXg _Xg.V.VXg.o.VXg.o.c.o.c.V.o.V.c.o.V.c.VXg.V.o.o.o.bXzXz.^XgXdXt.H.r.` .9XqXp U u.MXe.M.a < t < t t t uXeXnXnXnXnXp.@Xf.C.@.@.CXi.v.BXi.{X>.P.s.s vX+ `XM 1 $.a R RX,X1X,XD R $ R $.FXc.1XH.'XKX,X1X; gXaXO DXU.0X1XI.`.8XtXt.rX9.rXt.rXt.r.r.r.rX* ~X-.wXe.).N R 8X1X1Xl xX, h.MX, v sXIXVXt.k.b.XXz _.b.bXz.bXzXz _ _XzXz.bXz.6 q.$XkXxXXX9XM.5.KXX.^X9 N.rXj e.r.r e.rXtXj ~.r eXt.^.R P eXt.r e eXt.^.^.UXz _ _XzXzXz i.o j./Xz.b.b.bXz _XzXzXzXzXz.bXz.b.U.:Xg.z.:Xu.c l.c.c.c.c.c.c _.c.oXzXuX .^.b N.^.r.r F e.^.o.o.c.#XgXgXu.6.:.cXg.V.oXz.V.c.#.U.c.c.c l.U.# Z.:.U.6.U.c.c. .c.#.#.#.c.#.c.c.c.V.V.c.c.V.c.c.V.U.VXgXg.c.c.V.c.cXg.#.c.c.o.VXz.^.b.^ e.r.rXt.r.r e.r e e.r e e.^ N.k ~.r",
-"XzXzXzXz.o.oXz.b.b.bXz.bXz.bXz.bXz.b.b.b.b.b.b.bXz.b.b.bXz.b.b.b.^.XXtXj.^ eXjXz.o NXg.UXz.b.o.^Xz.oXg.cXkXg.$.&.A q 5 DX# [XZX4X6 SXn p UXeX,X, h xX5XDX, 1XK Xl x 3XVX-XIXI R.M.M.}.d.M t.d vXi.@.; 'XDX1 3X1.a.a.a a.eX-.eX-.eX- a.eX- aX-XIX-.a 3 3XI 3X-X-.aXI a.a :X- a R RX,X, hXDXD h.aXD $.ZXm :.`.~.8.`.~ ~.rXtXtXt e.b.^ _Xz.bXzXz.bXzXz.^ _ _.^ _Xg.o.b l.cXg.c.c.o.V.V.V.U.V.V.cX .: A.IXkXg.o.c.c.cXg.b.b.:.RXoXz j.oXg.^.^.b.^.^XdXj.kXt.:XtXdX9.^.r.rXtXt.r.u.r.r N.r./.(.^.X.^XzXzXz.b.b.oXgXk l.:.t.R j.X.o.X.oXg.V.o.oXgXg.c.o.VXg.oXgXgXg.c.VXgXgXg.c.VXg.c.VXg.cXg.o.bXz.^Xz.oXd e.r.H.8.8.Y.9Xq x u t.MX,X1.u.a 3 c.e <.* tX, xXq vX4 > ^ wX6.sXb 0X= -.v.PXiX= p.) pXrXn # #.lX5 aX- R BXDXD.wXIX1XDX, $XMXc.1.>.'Xc 8XU.O.n ' g.2 $.`.`.8 F.H.rXt ~ NXtXtXt.rXt.rXt.rXt.` :.'Xa.=Xs.M R R RXcXc h hXs y.w.wX,XV.rXt.bXzXz.XXz l.^Xz.^.bXz.b.bXz.b.^./.$.$.f VX3X3X3XX V.f.$.k.kXtXt.rXtXt.rX* ~.rXt e.r.r N././.^.^Xj.r.r e.bXz lXzXzXz _XgXu Z.b l.UXzXzXz.b.bXzXz.bXz _Xz.b.c.U.t.7.#X& Z.c.U.V.c.c.o.c.c.c.c lXz.^.7.U.b.b N.^.r F ~ eXz.bXz.U l.c.IX&. j.UXg.o.b.V.c.U.#.c.c.U.c.c.c i.U Z ZXu.c.c.c. .#.#.c.c.#.c.c.V.V.V.c.c.c.V.c.c.c.cXg.V.c.c.VXg.V.c.c.#.c.V.c.o.b.bXz.^XtXt.r.r.r.r.r e.r.r e.r.rXt.r.r.8.8",
-".^XzXz.^.oXgXz.b.b.bXz.b.bXz.b.b.bXz.bXz.b.b.b.b _ NXz.b NXz.b.b.b.o.r N.#.^.^.b.b.^Xz.o.bXz.b.oXz.b.o.c.UXgXgXk N NXt.r.u.-XpXn ..4.. v U h :XDXD.nX, $.w h.a x.S VXK.Z B.e.* R.M u E p E *.) 2.B w H.nXI.~X-X-.a.a.e a.eX-XI.eX-.eX-X-X- R.aX5XI 3.~.e.~.e RX- a 3 aX, c a.aX-.*XDX,X,X,.}XD.a.a s.w gX9.e.H.~.`.`.8X*XtXt.rXdXz.b _XzXz.bXzXz.b.b _Xz.^ _.bXg.o.o.oXg.c.V.c.V.c.c.V.o.c.U l.U.A j.(Xg.U.c.oXg.c.o l.b.:Xg N.X j.o.^.^.b.b.^.b.^Xo.b.X 7X* ~ ).kXtXtXt.r.r.r.r.k N ~ f.I NXz.b.bXz.bXz N.oXgXg.z.:Xz l.:.o.bXg.V.cXg.cXg.c.cXgXgXg.VXg.VXgXgXgXg.c.o.o.o.V.V.o.V.c.c.c.oXz NXz.^.XXd.r.H.8.8.a c.-XGXG u a.MXD R.KX*XI aX-.eX-.e t.* < <..XG ^.{XiXb.W.s 2.sXFX=.).) *.).d.pX+.l.S :.ZX3 :X, m B DX, m #Xc.,.,XH kX; n.9 s.aX1.0.n.0XO T.~XI.8 F ~.r.rXt.r.XXtXt.rXt.rXtXtXtXt ~.HXD sXs.= 8XDX-.aXD.[XHXrXp.OX. D D.$.& A AX A d.& d AX .IXzXzXzXzXz.b.X.^ NX* 3 c 3 cX*.uX* N.k N N.b ~Xt ~Xj ~.r.^ e.r eXt.r.r.r.r e.z.6.U e e.b.b lXz _XzXz _.^Xz.^.o.^XzXz.b.b.bXz _Xz _Xz.b.o.c.Q.U.Q.I.6Xg.cXg.U.c.V.c.c.c.c.o.c.c.#.7 i.b.b.^.b ~ F.r eXz.bXz.U.z i ZXg.U.: d.#.bXz.o.c.U.U.c.c.c.c.c _ d.c l.:X&Xg.U.#.#.#.V.#.#.#.c.c.c.c.c.cXgXg.c.c.c.c.c.V.c.VXgXg.c.V.c.c.#.cXg.V _XzXz N.^Xt ~.r.r ~.rXt.rXt.r.r.rXt.r.r.8.8 F",
-"Xz.bXzXzXz lXzXz NXz.bXz.bXzXz NXz.bXz.b.bXz.b.b N.bXzXz.b.bXz N.^ N e e.X.^.b N.o.b.b.^.b.b.o.b.oXzXz.V l.UXk.X.b.k.r ~ 3XDXhX8.;X8XpX4 x E x 3X,XV $X, xX, $ a.M.9.-.-XU v.j.) p.)Xb {XbXb.BXb { w.j.' RX1.e.e.a.e hX- c.eXD.e.eX- RX- RX-XIXD.~ aX-.e.~X-.e.~ a 3.~.e.Z a R tX-X,X,.aX,X,XD.M R.W.n T.0X-.`.`.`.` ~Xt.r.r.rXdXgXz.^.b.o.bXz.bXz.b.^.b.o.^.oXg _Xg l l.V.c.VXg.VXg.cXgXg.o.6X&.o.z.:.U.oXg.c.c.o.U.bXz j AXx.t.&.b NXz.b.b.bXz.b.^ NXk.7XtX5.z ~ e.r.rXt.r.rXt.8.X N.:.I.X.^.^.bXzXzXz.b.b.o.X d.7.XX@.7 lXgXgXgXg.oXg.V.cXg.o.cXgXgXg.o.o.V.oXg.o.o.V.VXg.VXg.o.VXg.oXz.^.^.b.k.X.r.H ~ ~.8.} a.Y 1.Y x a R R B.`X1.e.` aX-.e.a.a R a t EXp . wX6XF.N.W.* u.wXq._ C t u pX4.p XH xXc., $.,XlXJXlXc T :Xw 1X#.- = ! gXG x.n.w.0XO.ZX1.H.e.8.8 ~ eXt.r.r N.rXtXt.r.rXt.r.r.r ~.`.aXGXsXs.M 8X1XD R hXh.YXp 9XwX5XJ )XxX@.t l A.t l.z.Q.Q.I.^Xz _XzXzXzXz.bXt e.r.r.rX*.r.k.^.X.^.^XgXd eXj e ~ N.^.r.k.rXt.rXtXV.r.r.r.b.X.^.rXj N.bXgXz.bXzXzXz _Xz.bXzXz.bXzXz.bXzXzXzXz _Xz.V.V.o.U _Xz l. .o.cXg.cXg.V.c.c.c.U.c _XzXzXz.^.b.b.bXt.r F e eXzXz.b.#.c.I iXg.#Xu. XgXz.o.c.U.U.c.c.c.c.c.UXu.: i.V iXu.c.U. . .#.c.#.c.c.c.V.c.c.cXg.c.c.cXg.c.c.V.V.V.c.c.VXgXg.o.c.U.V.o _XzXzXz.^Xj.r ~ ~.8 ~ ~ ~ ~ ~ ~.r 3.r 3 ~.8.8.`",
-" NXz.bXz.^ l.^XzXz.bXz N.bXz.b.bXz.b.bXz.b.b.bXz.b.b.bXzXz.bXz.b.b N.z.^ e.^.bXz.b.^.oXzXzXg.z.b.bXz _Xz _.cXk.c NXzXj ~.`X,.9X0 S w.T n z xXl x.DX, 8Xl.3.9 x 1 h.M u 8XqXrXrX8 ^ {Xi L {.P.P.BXi.4 M.>.0 T :X5.9XKXc :Xc.eXIX-X- R.~X- RX5.e 3X-.~.eX- R.eX-.eX-X-X,X1.ZX- RX-X-XDX, RX,.aX-.M.a.D.wXP.] F.~.`.`.~XV.rX* eXdXdXz.b.b.bXz.^.^.bXg.^.b.b.b.b.^XgXg l.o.c l l.c.oXgXgXgXgXgXg. .f.&.tX@ lXg.o.c.oXg.c.bXg.zX@X@.z NXz.o.^Xz.b.bXz.^.^.^XtXx.RXk.rXtXt.r.rXtXt.rXtXtXg q./.RXzXg.bXz.bXzXzXz.b.bXz.I q l. ./XgXk.bXg.c.o.VXgXg.V.VXg.cXg.c.oXgXg.c.V.o.VXg.o.VXg.V.c.o.o.b.b.bXzXzXt.^.r F.`.8XI.8.a 1.Y nXw t < RX-X-.`.e a RX1 R R t.a a.*XeXpX6.{.PXb U U a < a <.M a C tXeXn.xXB .l.l.a.a RXIX- R.ZX,X, $.}Xl VXc =Xw g.n $ '.0.| @.Z.K c.k.8 ~.rXtXtXtXt.X.rXt.rXt.rXt.rXt.r.`.HXD vXa.W.W RXlXlXl.* $Xe..XL.9.~.K.u N NXj.bXzXz.^.b.^.^Xz.bXz _Xz _XzXz.oXj F.8 ~XV.rXt.r.X.b.X.bXjXj e e ~.rX@Xk )Xk q ) qXxXx qXxXt ~Xt.r.rXt.^ N.o.^Xz _.oXj.b.oXzXz _Xz _Xz _Xz _Xz.bXz.b.V.cXg.c.o _.b.#.c.c.b _.c.U.o.cXg.c.cXzXz.oXz.o.b N.^Xj.r F ~.^.bXz.o.IXg.c.o.U.c.c.o.b.bXgXg.c.c.c.c.c.VXg.UXg.V.c.#.U.U.#.#. .#.U.c.#.#.c.c.V.c.V.V.c.c.c.V.c.V.c.c.c.VXg.c.o.cXg.o.U.oXzXzXzXzXzXzXj.r ~.8.8 F.`.8.8.8.8 F.8.8.8 ~.8.8.8.8",
-"XzXz.b.^Xz l.bXzXzXz.bXz.bXzXz.b.bXz.b.bXz.bXz.bXz.b.b.bXzXz.bXzXj.^.IXg.^.b.^XzXz.^XzXz.^.c.U.b.bXz _ _ _.o.oXkXkXg NXt.H BXG 0 *..X0 M.Y xXe 3X, $X5XcX;XwXUXc xXG 1.p.pXf.@X:X8 ;Xf.4 L L ; L.P.4XmXcXDXd 8 $X,.MX,XD.uXI.eXDX-.~X-X-.K.u.e.u.e RXI.a.~.e R.eX1.e BX-XI BX- R RX1 hX1 c a a.M.ZXG s ! : B.`.`.`.`.H.r.r.uXtXtXz N.b.b.b.X.b.b.^.^.oXzXz.X.b.o.o.o.bXg.o.oXg.c.oXg.cXgXk.b.XXg.b.b.oXg.o l.o l.cXzXz.bXgXd.^ N.b N.^Xz N.^.^.^ e e e.rXt.rXkX9 N e.r.r.r.rXt.r.kXx.^.^.^.^.^Xz.^.b.bXz.^.^Xz N.b.oXgXg.o.oXg.cXg.cXg.o.oXgXgXgXgXg.VXgXgXg.oXgXg.cXg.V.o.b.b _.b.bXzXzXz N.^ e.r.^.r ~.H.8.H 3.aX,.- y n.*.M R R.eX-X-X1 hX1 BXD R R a <XeXp ..4.PXF *.MX-X-.e 3.~ B a.* C.sX4.j x.i.i t.a.e a 3.MXD.ZXs h hXB.9Xw.>.! y.GXy @XU gXJ 5 (X9.K.r.r.r.r.rXt.^.rXt.rXt.r.r.r.r.r ~ 3 B v 2.N U t.ZXc U.M U.W bXGXlX1X9Xt.^ NXg.^.b.X.I l.^.^Xz.b l.b _.oXzXx.^ N ~ F ~.r.r.X N ) N.b.XXdXjXtXtXt.rXXX3.$.,XX ).$ D.$ (.5.r.rXt.r.rXtX* N.^.^.^.b.bXzXzXzXz _.b.bXz.bXz.bXzXzXz _Xz.b.V.cXgXz.o.o.#.o.oXz.U.c.V.c.c.V.c.oXzXz.^.b.bXz.bXj ~ eXt e.^Xz.o.c.U.o.c.cXg.VXg _.o.o.cXg.c.c.c.c.UXg.c.c.U.c.U.U.c.#.#.c i.#.c.#.c.#.c.V.c.c.c.V.c.c.VXgXg.c.c.VXg.VXg.c.o.cXgXz l.bXzXzXzXzXzXj e ~ F.8.8.8.8.8.8.8.8.8.` F.`.8 F.`.`.`",
-"XzXzXzXz.^Xg.bXz NXzXz.b.b NXzXz.b.bXz.b.b.b.b.bXz.b.b.b NXz.^.^.r.^.b N.^.b N.bXz.oXz.b.b.oXz.bXzXzXz _ _.b.bXk.cXk.bXt.HXD x b.)X=X2 vXe.w $X,X,X,.ZXD 'XlXJX.Xw.-XpXnX>.x ;Xf ^Xi.BXi.B.B.P L.C H.Y.nX1 B.e B t t aX- R.eX-.eXIX-.e :.G.uXl.,Xl R c.] `Xl 3Xl $XlX5XlXJXK.'.H 1 3XD RX, a R R $.n.'.2X1XI.H.HXI.H.H.kXt.^Xd.^.XXz.b.X.o.b.o.XXgXg.XXxXg.oXx l.UX9 l.XXg.U.I.U.I.U.U.z.I.I.U.I.I.z.#.U. .#.Q.Q.Q.z.z l. Xk.zXk.z lXk l l l l.UXg.X.^.o NXgXx.R.z.X N.X N N.X NXg q.zXx lXk l l l l.U l.c.U.U.U.z.I.Q.U.I.#.#.#.#.#.I.#.U.#.I. .#. .I.#.#.#.#.#.#.#.I.#.U.cXg.c.cXk l lXx.oXz.^.^Xx.^Xt.rXt c.u c 3XcXc =.M hXDX1.Z cXl $ 3 $ $ $.w 3 U.M x.jX>.4 ;.. v $X,.H #X5XD 3XDXDXe vXnX> W.gXB ` h 1 cXlXJ s x 1 1XwXJ.[X;X;.!.0 ! ! '.Z.5.HX*.K.k.k N N N.^ N.XXxXo.^ N.k.K.^ N.^.kXtXVXD yXnXpXG $.ZXI.Z.ZXL v.@XG.ZXV.5.^.X.X.b.b.b.b XX d AX&Xk.IXx.IXkXk.I.I.k.rX*.H.rX9 N N.z lXo.o.XXt.r.kXV.8XX c.K h 3 $ ) c.k.u.rX*.r.r.r.rXt.r.^Xt.kXj.^Xz _.o _Xz _Xz _XzXzXz _Xz.b _XzXz.VXg.cXgXz _.c.UXgXz.V.cXg.o.c.cXg.c _.b.oXzXz.b.b.^Xj eXkXk.b.^.bXg.U.U.o.cXgXg.c.c _ _Xg.c.U.c.c.c.c.c.cXg.c.c.V.c.#.#.#.U.#.#.#.#.#.c.#.U.c.V.V.c.cXg.VXg.c.V.c.V.c.c.cXg.c.c.o.oXzXg.^Xz.b.b.^Xj e e.r F F.8.8.8.8.8.8.8.8 F.` F.` F.`.`.`",
-".^XzXzXzXz.oXg.bXzXz.bXz.bXz.b.bXz.b.b.bXz.b.bXz.b.b.b NXz.b.^ e.^.X.X e.b.b.b.b.^.bXzXz.b.bXz.o.^Xg _XzXzXz.bXgXk.UXkXj.rXIXDX> 2X= & y 1.-X,X,XI.uX,XV $X,XD.ZX, R u.)XbX6.P.BXFX= /.v.)X= -.P ^X0X0X. 8.DX-X,XDXDXI RX- 3X1XIXI.uX-X3.%.3.,.%.%XK :.-.,X.X.XcXJXJ IXw 5.,.% : mXK x.K $ c $ c g g.>XOX5 '.k.u.k.uXoXo.5.^.^.b.X A ].z.X.XX@Xg Q.Q.I.z.z q l ] (.^Xd.rXx A iXk l l.&.6.z.z./.z l.I./.I.c l l.cXg _Xz.bXk.b N.o.^.b.b NXz.bXz.^.^.b.^ e e ~ e.rXj.r ~.r.r.rXt.r.r N.^.b.^.^.^.^Xz.^Xz.^Xz.b.o.o.cXg.bXg _.V.c _.oXg.o.o.b.V.o.o.o.o.o.o.o.o.b.o.o.o.b.bXz.^Xz.^.^XzXz.^Xj e.r.r.r.^ ~ F.` F.`XIXI a cXK.j.a.e a RX,X- a.eXD 3 a B.a.e a.e._XnXn ; {XF.M.eX,XV.`.HXI.H B.e tXe._.. .X+.Y $X< :X.Xl #XJ x v.9XB., [Xw.OXm.nXa.0XUX1XI.~.8.8.8.8.kX*XtXtXt.r.k.kXt.kXjXjXjX*XjX*XjXVXI.D v.WXe.M hXlX5Xl.wXGXG 0 y 3XoXxXx.U lXgXk l.z d.z.t.t.IX@.&.& fX .( f ,.R P q f f.| Q.t Q Z.f P.& QX@ ] ) cXJ IXJ |.,XJXc.,.$ q.$ qX9.XXxX*.kXt.5XtXjXj N.b.bXzXzXz.bXzXzXzXzXz.^XzXz.^XzXzXz.V _.VXzXz.cXg.cXj.c.V.c.c.cXg.o.bXzXz _.bXz.b.^.^ e.r ~.oXk.^XzXg.#.UXgXg.oXg.VXgXz.VXg.V.V.c.c.c.c.c.c.V.c.c.#X&.c.#.# i.#. i.#.#.#.#.U. .#.c.V.c.c.V.c.c.V.c.c.c.VXg.c.c.o.b.bXzXg.^.^.^.^Xj e.r ~ ~.8.8.` F.8.8.8.`.8.8.8 F.`.`.`.`.~X-",
-"XzXz.^Xz.b.bXgXz.bXz.b.bXzXz.b.bXzXzXz.bXz.b.b.b.b.b.b.b N.^.^.r.rXd lXj.^.bXzXzXz.^.bXz.^.^.b.^.b. .UXz _.o.X.b.o.U.z.oXtXVX,XK 2.s.j MXeXK 1 c hX5 $ x $ 1 x :.' sXeXpX6 ;.4.v.. O.s v.s.v 2Xi.@ H.+ y.2 D.,.-XJ.- h RXD R R.a RXV R.5Xl.K RXVX,.e cX5X1.MX-.a.u 3.a.uX-X-X-X-.eX-.~.Z B aXI 8.9XPX..] D ).$ (.RXx.$XxXk ~XtXjXd.RX@ A.RXk.t N./.RX@.& Q.t.&.t.f.8.r.rXg.R.AX&.(.zX&X&X&XuX XuX .cX&X X&.U.c.c.c.o.b.b.U.^.^.b.o.^.b.b.^.bXz.bXzXz.^Xj.r eXt e.r eXt.rXt.r.r e.r.XXjXj.b.b.^.b.bXzXzXz.bXg.c.c.o.V.c.c _Xg _ _.o.c.oXg.V.c.cXg.oXgXg.V.o.VXgXgXg.V.b.bXz.b.^.b.^.^.^Xt e.r.r e.r.^.r ~.8 FXI.8.8.8XIXKXG.Z U.9Xl R :.M `XK xX5 mX, ` <.9.iXp.@.{ {.d.W UX5X-X-.~.~.HX-.uXDXe._.).mXn.p.F 1 x k.-XJ n.3XcXH.3.1Xh.G @.w.nXL.'XPX1X-.8X-.8.8.8.rXtXtXtXtXtXd.^XtXtXtXtXt.rXtXt.u.8.H.n.s.).) UXwXcX, $XL s.s o v.`XV.b N.^.b.bXz.bXzXd.X.^.^Xz.^.^.XXt N N.^ FX@ 7 qXk.$.z.I.R d.R.R.I (.I ].R )Xt # c #Xl # :XM.5X9.5.5XxXo NX9Xo N.kXk.^ N.^.b.U l.U.c.#.U.c.U.U.c.U l.U.U.c.U.U.V.I.I.UXg.c.6.#.V.U.U.U.U.c.c.c.o.bXg.b.^.oXzXz NXj e ~ ~ ~.rXz.^.o.c.b.o.o.c.cXg _ _ _.c.c.cXg.c.cXg.c.c.c.c.V.#Xu. .# iXu. .#Xu i.#. . .U iXu.#.c.V.c.cXg.c.c.c.c.c.c.VXg.c.o.b N.bXgXj.^.rXtXt.r.r.8 F.8 F.8.8.8.8.8.8.` F.`.`.`.`X-X-X-X-",
-".^.^Xz.bXz.^.c.^.^XzXz.^Xz.^.^.^Xz NXzXz.b.b.b.b.bXg.b.b.oXg.^.^Xg NXk.bXkXgXk lXk.c.U l.U l.U.U dXu.z.U l d d.t.R.t.t Q q.]XJXwX>.) &.j.M E.M hXD h 3X,.MX, $.a hXD.).).BXf { - * C.* 8 t.*.N G 2 wXmXc $XD RXK aX, cXD.~.~X- B.~X-.` cX5.`X- RXI a.e a R aX-X-X-.uXIX3.u.aX-.~.aX-XI.ZX- BXD.9.' g.2X1 DXo ) q 5.$X9.$.&Xt.r e.k.^ N.^Xj.^.^.k.bXgX9.bXxXg.XXx.X.r.8.8Xt.X.U q.#.U.U.U.#.U.U.U.c.c.c.#.U.cXg.cXg.o.oXz l.b.b NXz.bXzXz.b.b.bXz.^.b.b N.^.^XjXjXt.r.r e.rXt e.r.r.^Xj.^Xz.^.b.bXz.bXz.b.cXg.V.VXgXg.o.V.V.cXg.o.cXg.VXg.oXgXg.VXg.VXg.oXg.c.V.o.oXz.^XzXzXz.^.^.bXjXj eXtXj.^.^ N.X ~.r ~.H ~.8.` 3X-.9.'XJ hXc.- x.OX5 |X.X5 xX.XKXK xXHXpXnX4 w %.).W $.a.e a a.e.u.e 3 3.a u.)X= ..jXM.l h.a.aX5XD $.}.} ` `XH n.9Xa.>XPXP g.5.`X-.`.8 ~ ~.u.r.r.rXd.H.^X5 e.rXt.rX*.rXtXt.r.8.ZXL.=.).N <.}.u.aXD.M O.sXG U.8.k.X.bX .I./Xz NX@ d NXz.XXg.X.XXtXtXj.^.b.rXjXk e.X.^.b.^XzXg.b.^.^.b.XXg l.r.rXt.rXt.r.r.r.r.r.u.r.r.r.r.r.r.rXt.r.k ~.r e eXzXzXzXzXzXzXzXzXzXzXzXzXzXz _Xz.b _.o.V _ _.U.6.U.c.U.U.U.U.c.V.c.c.c.c.U.U.U.U.U.U.o.b N.b.bXgXk.#.U.I.c.U.c.#.U.#.U.U.#.#.U.#.c.c.c.U.U.U.c.c.V.c.#.#.#.#.# i.# i.#.U.#.#.U.#.#.#.c _.c.V.V.c.c.c.V.c.c.cXg.c.bXzXzXk.^Xj.rXj.rXt.8 ~.` ~.8.8.8.8.`.8.8.` FX-.`.~X-.8X-X-.~.`",
-".o.oXgXgXgXg qXg.c lXk.cXk.U.U.U.U.U.U l.U l.c.U.c lXgXkXg.b.^.^.b.kXg.X.o.b.o.b.b.b.bXz.b NXz.b N.o.^XzXz.zX@ f.& Q.t Z.& qX3.jXG.) WXr E.M t h.}.}.MX,.}.M U x.MXD pXbX6 L {Xv.N.*XlX1 8 R C.) 2 ^X;Xm.w R.ZXD ` < cXV.eX-.*X-.~.eXV.K 3 3XI RX1.e aX-.e.e R a.~.e.u c cXI.eX1.eX1X,.*X1X-.w TXcXO $X1.u.`.r 3.r.r.HXtXt.^.^ N.k.^ NXj.kXtXtXj.^ N N.b.b N.b.z.$ c.u.r NXkXk lXgXgXg.V.c.c.cXg.cXgXg.cXg.oXg.V.cXgXg.b l.^.b.^.b.b.b.bXzXzXzXzXz.^Xz.b.bXz.^ NXt.r.r e.r.r e.r.r.b.^.^XzXzXz.bXzXzXz.b.cXgXgXg.VXg.V.cXg.V.V.V.cXgXg.V.oXg.V.o.o.oXg.oXgXgXg _XzXz.^Xz NXz.^.^XtXtXj ~XjXdXz.^.I./.XXd.r F.8.8.8.`XI.u.jX;.i.M CXD.Z h.aXDX,X,.wXDX,.M U.jXnXf.CXfXe.W.9XM 1XlXM c TXXXJ :XM x.@.s vX+.F xXM.l 3 hX,.a 3XXXMX3.,XUXl sXaXOXPXU '.~.8 ~.` ~.k q q )XkXxXo.kXt.rX*XtXj ~XtX* ~ ~.H sXs /.N C UX, cX,.M s 2XL.9 a FXoXg.^.t.t.tXg A.t A P QX@.&.(Xg P N e e.^XjXj.r.b N.^.b.oXgXg.b.bXg l i d d e eXt.rXt e.r e.rXV.r.r.r.r eXtXt.rXt.k N.r e e eXzXz _XzXzXzXz _XzXz _Xz _Xz.bXz _ _Xz.bXz _.U.#.c.V.c.cXg.oXzXzXzXzXzXzXzXzXzXzXz.^ e.r e ~.r.^.bXgXz.UXz _.b _.U.U.U.U.U.U.U.U.U.U.#.#.#.#.#. . .# i i. i iXu.#. . .#. . . . .U.U.c.c.U.U.c.c.c.V.cXg.c.c.cXgXz.^.^Xg e.r.r.r.r 3.8.8 3.`.`.8.`.8.` FX- FX-.`.~ 3.~.~.`X-.8.~",
-".o.o.o.o.b.o.UXg.b.b.b NXzXzXz.^XzXz.^.^XzXz.^XzXzXz.bXz NXj.r.r eXt.b.X.b N.b.^XzXzXzXzXzXz.b N.b.b.b.o.^ N.X.QXo.oXg.6 N ~XI 1Xn.) 0 &X>XG._.W.W <.M U.M.WX,Xe._ u - - { ;.BXv C 1.>XK.a t.*.N / 0 = =X;XK.Y.-.-X..aX-.~.~.eX-X-.eX-.u.eX-.`X, 3 BX-.e R.eX- aX- aX-X9 R.K.}X-XI.aXDX1.M.*.Z.0XPXJX1.H c.8.k.rX*.r.k.rXd.5 NXz.^.b N NXg.^ eXj.b.b.b.b.b.b.o q f.$ 5 5X@.f lXgXgXg.c.c.c.V.c.V.cXg.V.o.o.V.VXg.cXg.c.o.UXzXzXzXzXzXzXz.^Xz N.b.b.^.b.^.^.^ N.b e.r.r.r.r.rXt eXjXg N.b.b.^.bXz.bXz.b.oXg.c.V.c.c.c.c.VXgXg.VXg.VXgXg.o.o.oXg.o.V.o.VXg.o.V.o.bXz.^XzXz.^.^.kXj e.r e eXd.^Xz.b.^ l.k.r.r ~ ~ ~.8.8X1 B 1.' x.M.aXD.aX- tX- R RXDXD RXe.-Xr.. H S.4X0XsXD.WX,X7 h 1 #., cXlXK xXnX4X2.EX+ .lXM 1XK.}.} c.lXX.-XH g $.w.D ' '.0.0.`X-.8.8 3.X.$ q q D q.HXdXdXtXt ~X*XtX*Xt.r 3 $.w.=.= u.W `XD.} c.M v O b xX- ~.o.XXz.U l.UXgXx q (XkXx.z.z q NX ./ F.r.^Xz.^.^.X.b.^ NXz.o.b.o.z.6X& A.z _ ~ e e.r.r.r e.r.r e.r.rXt.r F e F e ~.kXj e.r eXj _XzXz _XzXz _XzXzXzXz _XzXz _XzXz.bXzXz _.o.U.U.c.c.cXgXg.VXzXz _.b.b _.b _Xz.b.^Xz e eXt e.r.^.bXgXz lXzXz _ _.oXgXg.V.cXg.c.c.V.V.c.cXg.V.c.c.c.V.#.c.#.#.#.#.U.#.U.c.#.#.#.#.c.U.U.U.U.#.U.U.#.U.#.#.#. .#.I.U lXk.I.b NXz.kX*.r.8XV.` ~X* 3.r.` 3.8.`X-.`.e.`.e.`X-.~.~.`.~",
-".b.b.b.bXz.^.o.oXzXzXzXzXz.bXz.bXzXz.bXz.b.b.b.b.b.b NXz.^XjXjXt.r.r.bXg.^Xz.b.b.b.bXz.b.b.b.b.bXz.b.^.o.bXz.^.X.b.oXg.z NXtXI x JX= 0 w &Xf v.W u.W._Xe.N U.N.) p._XF.B {Xf.B.).N U aX-.a R t C /.NXC.j s.WXDXD UXD.~.eX-.~ B.e.eX-.~ 3.~X-.eX- cXD a RX-.~.eX- a.`.e # c.~XDXI R.e B.D R.DXl.wXU.0X-.`X*.`Xt.r.r.r ~XV.^.b N.b N.b NXz.b.b N.o.b.b.b.b.b.b.bXg 5.z./ q q.z lXg.o.V.c.c.c.V.c.c.cXg.c.V.cXg.cXg.o.VXg.o.UXzXzXzXzXzXzXzXzXzXzXz.^.b.b.^.r.^ e ~Xt.r.r e.rXjXd.^.^Xg.b.bXz.^.b.bXz.bXz _.o.cXg.c.oXg.VXg.V.V.o.c.o.oXg.o.o.VXg.VXgXgXg.VXg.o _XzXz.b.b.^.kXt e.r.r.r.r e.^XzXz.b.^.X e.rXdXt ~.` F.8.`X-.w xXp 1 R a < R a R t $ '.M h.- M.h.y.y.+ H.@Xs.M t t a < < aX-.~X-.*.* < p.)XnX+.jXB.Y.iXBXM.lXMXM `.- g '.'.w B 8X5.n DXIXI.`.8.5.5X9 c.k ).r.HX9.rXtXtXt.r.k ~.rXV.uXK.W.WXs.NXw.9X, <XDXeXe vXG.}.8.r.X.b.b.b.^ NXx Z.RX@Xk.R.z qXkXxX*Xx F.rXt.X N.o.k N N.bXk.U././X@.6XxXzXz.b.r e.r.r.r.r e.r e.r.r.r eXjXd.zXkXx.r.^Xt.r e ~XzXzXz _XzXz _XzXzXzXz _ _Xz _Xz _Xz _XzXz _Xg.#.c.c.c.c.cXg.VXzXzXzXzXzXz.bXz.bXz.b.b ~Xj.r e.r.^.b.o.oXg.bXz.bXz.b.VXg.VXg.V.c.c.c.c.c.c.c.c.V.c.c.c.#.c.#.#.#.#.U.c.c.c.c.c.c.c.c.cXg.o.V.o.V.o.o.o.o.o.o.V.o.o.#Xz.bXg.^ e.r ~ ~ ~.u c qX*XIXVXV.K 3X,.uX,.uXV 3XVXD.u 3 x.uXM",
-"Xz.^.^XzXz.^.o.c.^Xz.bXz.bXz.b.bXz.^Xz.^XzXzXzXzXz.bXz.bXj.r.rXjXt e N l.^Xz.b N.bXzXzXz.bXzXz.^.b.bXzXz.b.b.^ N.b.b.c.c.o.k.8XD.EXv 0 0 SXC ^.s.s...s........Xn . .Xf.J.B.{.B *.).* tX,XJXc.* U.N.vXC 9.wXLXeXL U.Z.eX1.~.eX-X-X1X-.aXIX-.eX-.~XDX-.HX- B.e R.e.~ R.~XI.uX- RXD.D B R R 8.ZXK.'XO.0.`.`X*.H ~.rX*.r.uXd.rXo.b N.b.bXz.b.^XzXz.bXzXzXz.b.bXz.b.o qXkX9XgXgXk.c.c.c.VXg.V.VXg.V.o.VXg.c.VXg.cXgXg.V.o.c.o.UXzXz.b _ _.bXzXz.^Xz.^ NXz.^Xj e.z q.zXt.r e.rXtXj.b N.^XkXzXz.^XzXzXzXzXzXz.b.o.c.o.V.o.V.VXgXg.V.o.cXgXg.VXg.o.oXg.oXgXg.oXg.V.o.bXzXz.^.^Xj e.r.r e.r e.rXj.^.b.o lXgXg e.r.r.rXt ~ F.`XIX-.aXcXnXpX,.* RX- <X- `XHXw nXw.1 MX:.4.4 ^.v.W.*.9.- xXBXKXKXJ 1X..2Xc.9X+Xn M 0 0 ^.j.jXBX7.lXMXM gXU s.w.DX1.' R.nXa (.uX-.8XV 5 I.$.$ I q.|.k.KXd.uXtX*.r ~.K ~.HX5 s.NXs.NXDXD.9 RXD.M v v bXG B ~.r l.b.bXz.b.oXg././.f.&.f.f QX@ 5.8 F ~.r.k.X N.XXk.R.R.&.&.I.z./XkXj.o.^.bXjXj.rXtXtXtXt.r e.rXt e.H.r ~ eXgXg.X e N e e ~ eXz.b _XzXz _Xz _XzXz _XzXzXzXzXz _Xz.bXz _ _.c.#.c.c.V.c.V.o.bXzXz.b.b.b.b.b.b.b.bXz eXj.bXkXjXt.^.o.b.c.o.bXz _Xz.b.c.c.c.c.c.V.c.c.c.c.c.c.c.V.c.c.#.U.#.U.c i.#.#.c.c.c.c.c.c.cXg.o.o _.oXg.c.VXg.VXg.VXgXg.VXg. Xz.c.b.b.^.r ~ F.8.`Xt.$ ( ) qXV ) :.5.u : `X, h RXq.aXG.-Xp.Y",
-"XzXz.^.bXz.^Xz lXzXz.b.bXz.^.^.^ N.b NXz.b.b.bXz.oXz.^.b.rXj N.I.rXt.bXk N.b NXz.b.b.b.b.b.b.bXzXz.bXzXz.b.b.b.oXz.b.U.c.oXt.8XD y ^X=.@.@.;X> 0....XnXp....Xn._ .X4..XA.CXfXb * G.* R tXU h.e.N.)X=.E o.sXaXL.s.wXa.w.~X1X1X-.e.e.~ 3.e a.`.e aXIX- R 3 R.~ a.~ B.e B BX-X-X1X-XDX1X,.' T s s 'XK.0.~.8.k.`.kXtXt.8XdXd.r.^.b.^.bXz N.bXz.b.oXz.b.bXz _.bXz.oXg.I.UXg.cXg.V.c _.c.c.V.cXg.c.V.VXgXg.c.o.V.V.cXg.VXg.c.o.UXz.bXzXzXzXzXzXzXzXz.^Xz.^XtXj FXj e.r.r.rXt eXtXd N.b.^XgXz.bXzXzXzXzXzXzXzXz.oXg.VXg.c.c.VXg.VXgXg.cXg.VXg.o.o.VXg.VXgXg.VXgXgXg _XzXzXzXj e.r eXt.rXt.r e.^XzXz.o.#.I.z eXd.r.rXj ~ ~ ~.H R tXc.pXr.a.a a aXD 1.2XH y $XG.F.EX2XAX6Xi.)Xs C 1XKXK : U 1 :XlXl.9.- vXpX4 S.@Xv.vX6.;X+ n.-.-XBXwXw.'Xa.n t : c.0XaX5 gXl.8.H 3 ).KX*X*.k.u.5XV.5 ~Xg q ~.K.rXVXVXVX5XL 0._ u 8 R.~ 8XD U v.s.Y.Z.` ~Xt l.bXzXz.b.b.X./Xk.5Xx N N N N.k N N.XXx.I.I q.&.AX@.$.I.z.I.b.^ N.oXz.b.bXj ~ eXt.r.r.r.r.r.r.r.r e e e e.^.k e ~.^.r.r e.^.bXzXzXz _XzXzXz _XzXzXz _XzXzXzXzXz.bXz _.b.c.#.c.c.cXg.o _XzXzXz.bXz.b.b.b.bXzXz.bXj e.6 q.o e.b.o.b lXz.b.bXz _.b.c.c.V.V.V.V.V.c.V.c.c.c.c.c.V.c.U.c.U.U.U. .U.U.c.c.c.cXg.cXgXzXzXzXzXz.o.c.o.o.o.o.o.V.V.V.c.cXz.U.^.^.^ e ~.`.8.`Xd.8.X.5.uX*X5.K.,XM.3X. [.Y.[ =X< 1XqXq._",
-".b.b.^.bXzXzXzXgXzXz.^Xz.b.b.b.bXzXzXzXz.bXzXz.bXz.^.bXzXt ~.rXj.rXj.^Xk.b N.b.bXz.bXz.bXz N.b.b.b.b.bXzXzXzXz.^.bXz.V.cXg.^.HXI o...) ^..X0 S .Xi .X2X:.xX:X2 ..x.xX2.xX>X4.s U.N.*.*.*.DX,.eXw.s 2 HXmXm o & b vXL $XD.~.H.e RX- 3.e `XKX- RXIX5 3XIXI.ZX- B.~.e R.~ RX- B RXl.w.'XK.].' TXP ! g.D.`.~.kXV.r.rXtXt.rXd.HXzXo.oXz.^.bXz.XXdXz.bXz.bXz _XzXz _Xg.# l.c.c.o.c.c.c.c.V.VXgXgXgXg.o.c.VXg.V.VXg.V.cXg.c.c.b.UXz.bXzXzXzXzXz.bXzXzXzXd e eXt eXt.rXt.r e.r.r.r.^ N.^Xz l.^.b.bXzXzXz.^Xz.bXz _.o.V.V.V.o.o.oXg.VXgXg.o.VXgXg.oXg.cXg.VXgXg.V.V _.bXz.bXjXj e.rXt.r.r e ~ e.b.^Xz _.cXg lXd.r.rXt e.r F FX-X1XDXK nXr.Z RX- a.-X.Xc s.Z U.wXnX4X2 { - - p.M a R.e R a.e R R BX-.* a.d.*Xb.)..Xi ^.@Xi.vX4XpXn s.q oXa.w 8.eX1 TX,X5.n g )X- 3.u ) )XX )X3Xx ) ~X9 ~ ).$.f ~X*.u.H.D.n.N.) t aX,.wXDXD.MXs v vXpXD.8.HXd.cXz.b.bXz N.b./ q.f.f 5.&./.A N.&X .6.6 d.I.#.Q l.o.oXzXz lXz _ _.^XzXz _Xz.o.^.^ e e.r eXt e.r.r.r.r ~ e ~ e.r.r.X e.r e.^.^XzXzXzXz _XzXzXzXzXz _XzXzXz _Xz.bXz _ _ _.c.#.VXg _ _XzXzXzXzXz.b.b _.b.b.b.b.b.b e e e l.rXj N.bXg.cXz.b _Xz.b _.V.c.c.V.c.c.c.c.c.V.c.c.c.c.c.U.#.#.U.U.#. .U.c.U.c.cXk.c.oXzXz.^XzXjXzXz.V.o.o.o _ _XzXzXzXz.o _.U.bXz.^XjXt F ~ F F F.`.`.8.` 3X5.a.i.Y.YXB x E U EXeXp",
-".^.bXzXz.^Xz.^Xg.oXzXzXz.bXzXz.^Xz.b.bXz.bXzXzXz.b.bXz.r.r.^Xg NXjXj.^Xg.oXzXzXz.b.b.bXzXzXzXzXz.bXzXzXz.b.b N _ _Xz.o.UXgXzXtXIXp.s M J..X>X8.<.p r.y.p.<.[X+ W.jX%XpXnXp.pXpXLXeXa C.*.M R.* C /.= O.W 2.=.v.E 9Xa.Z B.~ 3.aXVXDXIXl $ cX1XIXDX1XIX-.eXI 3 R 8 RXD 8.M T T.]XJ DX;.%.G K.O.0 D '.` ) P (.A.k ~ QXx f ( fX@.( d.tX&.t X l.bXzXz _.bXzXz.o l.o.#Xg.c.c.V.c.c.V.cXg.c.c.c.cXgXg.cXg.V.cXg.c.o.cXg.c.c.b lXz.XXzXzXzXzXzXzXz.^.^ e.r e.rXt.r.r eXt.r.r.r e.^.^Xz.^ lXzXzXz.^ N.b.^.^Xz.^Xz.b _.o.o _ _.o.o.V.o.V.cXgXg.V.o.oXg.o.o.VXg.o.bXz.^Xz.^Xj.r.r.r.r.r.r.r.^.^.^Xz.#.U.b.^ l.^Xt e ~.r.r ~.8 FX1 R.Y.pX+XD a aX-X- a R x.Z v xXpXf.xXAX6 u E t.} RXIXI.Z.aX1 3X,.} a < *X=X=XiXf %X=X=X=.sXn.) 2.s o.j.nXa R B.eX- BXaX5 T.0X-.8XIXt 3.u.rXV.r.u.k.KXt )Xk.KXxXoX9.5X5.n 2.).M.}X,.Z R.aXD.d v.@ hXI.H eXj l.bXz.bXzXz.b.^.X N N N N.K.bXz.b.^.bXzXz _XzXzXj.bXz.b.bXg.bXzXz _Xz _XzXz.b.bXz.^ N.b.^Xj e.r e.r e eXt.r e.^ e.^ ~ eXd.b.bXz.bXzXz.bXz.bXzXz.bXzXz _XzXz _ _XzXz.b _.c.# _ _Xz _ _.b _XzXz.bXz.b.b.bXz.b.b.^Xj ~ eXj e.^.b.o.UXgXz.b _Xz _.b.V.c.o.c.V.V.c.V.c.c.c.c.c.U.#.#.U.#.U.c.U.#.c.c.c.c.c.c.o.^ e e ~ e e e.^XgXg.bXzXz.^XzXzXz _.V.U.c.o.bXz.^.^.r.r F.` F.`.8X-.}.} 1.- h h.}X, h E.} < t a.} t",
-".^.b.^Xz.^Xz.b.b.c.^Xz.^XzXz.bXz.bXz.bXzXzXz.b.bXz.b.^ e.^.r.rXt.r.b N.bXkXz.bXzXzXzXzXz.bXz.bXz.b _Xz.b.b.^.b.^.^Xj.o.cXg.X ~XVXq & vX0XL 0 S.x rX<X+X+XpXB.YX7.[XB.l.l.l.F.jXn.).N.WXs.M < <.e U x.>.n.NXs.N 2 ^XmXa.ZX1.e 3.a a a aX- t R cX, c $X-X-.~X- R.uX- R RXDX5 'Xw.2Xw !X. m 4.% IXJ.2 (X- 5 } 5.A.r ) f.R P A A.&.(.IX@X@.zX&.X.b.^.bXz.^.bXz.oXgXg.U.U.cXgXg.cXg.c.V.c.c.c.cXg.c.c.c.oXg.c.cXgXg.c.c.cXgXg.cXgXzXz.o.b _Xz.X _.XXd eXdXdXd e.kXjXdXtXd.k.kXd.k.bXx.b.zXgXg.o.o.o.oXg.o.o.oXgXg.o.b.oXgXg.c l.U.U.UXg.U.U.U.U.o.#.U.U.c.U.U.c.oXgXg.X.^Xj.^ N.^Xj.^ N.o lXd.#X@.QXg.o.zXgXzXd.^Xo.k.k.8.uXV 3XcXr M h CX1.aXD.ZX1 $ x 1._X+X>X8Xf S._Xw xX,XKXlXcXl ' :.- cXM a.).s.BX6.C 0.v.NXa O.N.w *.W.s JXrXP.wXD.e : 'XD.n.nXPXo.H.` ~X*Xt.u.r.k.rX*.u.K.r VXk IXX m.,.,.' v.=.=Xs aX1.H R 8.N.WXnXG tXI.r e.^Xg.bXzXz.b.^XzXzXz.b.b.^XzXz.b.^.bXzXzXz.bXz.bXzXz.bXzXz.oXgXz.b.bXzXzXz.b.bXzXz.bXz.b.b.bXz.^ eXt.r.rXt e.r.z ) qXtXj.rXjXz.^XzXzXz.b.bXzXz _XzXz.b.b.b.b _.b.bXzXz.bXz.U _.bXz _Xz _XzXz.bXz.bXz.b _Xz _.o.b.^XjXt.r e eXzXz.o.UXzXzXz _XzXz _.o.c.c.V.c.c.c.c.V.U.U.c.c.#XuXu iXu.V.V.#.V.U.c.U.c.cXg.o.^ e e e e e e.^Xg.o.b NXj e.^.b.^.b _. .o.V.o.bXzXz.^X* F F F.`X-.}.F >.l h xXM.a.}XD.a a a.e a.} a",
-".b.b NXzXzXz.^Xz.U.b.bXzXzXzXzXzXz NXz.b.b.bXz.^.bXz.b.rXxXg.k eXt.^XzXz l.^.bXzXzXz.bXzXzXzXz.bXz.^.b.o.I N.^.^ eXtXzXx.U N.^.` $ =Xs = J vXr W WXr.pXB $.YXB.lX3.l.l h.i.lXBX+ v.W.N.N.N.w.a <.a xXU.n.N C.)X= ^.E.wXa.DX,.u.e a.eX-.e R.e.e RX-.K : 3Xl.` R.u h BX,.w.wXJ.2XO.u.D.H.~XI 3XV.8 3.HXV.5 N.X.5.k.k.kXoXo.XXj.X lXx.I.^XxXg l.X.U lXg.o.U.#./.#.c.6. .I.#.#.I.#.#.U.#.U.#.#.U.#.#.#.U.U.#.#.U.U.#.U.U.U l.z l _XgXg.X.o.bXgXg.bXdXd.^.^.^.rXd N.k.kXt.k.^.kXd.^.b.XXk.b.b.X.b.b.b.o.b.b.b.o.b.bXz.oXg.VXg.c.cXg.c.o.c lXg.c.oXg.c.c.o.VXg.oXz.bXz N eXtXtXj.r.rXj e _.^ _.o.b. .^.X l.bXjXtXtXt.k.u ~.H.8.aXc.j.+.M t.aX-X1XDX-.aXD hXpXnX>.4.. %.Z.M.MXD.a.a RXI 8X1X-.} u.* %.vX6XfX6Xb.N.= 2 8XDXs u._.s J.q o T.ZXDXlX;.D.0.0 gX5.uXtX*.^Xo.^Xd N N N NXX.K.$XX.u.5X9 `X5X, 1.@ vXaXw.9.Z x RXGXn.jXn 3X5.X N.o lXgXgXg.c.oXg.o.o.o.o _ _.o.o.o.b.b.o _.bXz _.b.bXz.^.bXg.oXzXzXz.^XzXzXzXz.^XzXz.bXzXzXzXz.^Xj.r.r.r e.r.r.XXgXk eXj e.^Xz.b.oXzXzXz _.b.bXz.b.b.bXzXzXzXzXzXz.b.b.oXz.c _XzXz.b.bXz.b.bXzXz.bXzXz.bXzXz.b.b.b e e eXj.^Xz _.c.U _Xz _ _ _Xz.o.c.c.c.c.c.c.c.cXg.V.V.c.c.c.U.U.c.U.c.c. .c.c.V.V.cXg.c.oXz.^Xj e ~.r e NXg.bXzXj e eXj.^XzXz _.U.o.V.VXzXz.^ N.r.r.`Xt :.}.[.l.m.m E U a 3.a.e.eX- a.a.eXD.e",
-"XtXjXj.^.^Xz.bXzXg.b.bXz.bXz.b NXzXzXzXz NXz NXzXz.b.b.^XjXk.^.r.rXz.b.^XkXz.bXz.b.b.b.b.b.b.b.b.b.bXg.z.I.b.b.r e e.bXg.z.X.^ cXG o.W 9 v s.@.<.p WX7.9.i $X,.i x : h <.}.l.l.-Xr v.sXe.WXL.M.M U xXG aXDXD 2 2 ^ H o.n.n g.0.ZX-Xc.-Xl `XI x 3XlX. }XlXl DX,.2 s.OXcXc.2Xw 'XIX,XI.H.` 3 3XV.8XV ~.kX*X*.5X*.k.k.H.^Xd.kXd.b.X.b.o.^.b.o.b.bXzXz.b.o.cXgXg.cXgXk.UXgXgXgXg.VXg.o.V.o.c.V.o.c.oXg.V.V.oXg.V.o.o.oXg.o.b.o.b.^.^Xz.bXz.^.^Xz.^ eXt e.r eXt.z.k.r ~ e.r e.r.r eXt.^ l N.bXzXzXz.bXz NXz.b.^XzXz.^ _.oXg.o.VXg.V.o.o.V.c.oXg.oXg.o.V.b.V.o.V.b N.^.^Xt ~.r.r ~ ~.r e.^XzXz.b.bXj.bXzXxXz e e.r.r.r ~.8 ~.8 RXcXq.j.M a R a RX1 B.* < U.YX4X>.{ %.).M R.*.*.a.* aX- a R a t t.d /Xi.@XiXv.) G t.* B.MXD uXe 0 0.q 9 '.D.* D.].Z.D.0 gX1.`.8 ~.r.r.rXt.r.r.rX*.k.uX3XX q )X3XX :Xc.wXG 2.jXw.a.a <XsXn vX+XDXI ~XtXz.b.o.o.bXz _ _.o _ _.V.o _.b.oXgXg _ _Xg.c.o _Xg.U.cXg.oXg. .UXg l.c.cXg.c.U.c.cXg.c.cXg.cXg.c.c.o.k.^.^.kXj.k.^.k.X eXt.^.X.bXz.b.b.o.^XzXz.b.^.b.b.bXzXzXzXz.bXzXz.b.bXzXg.b.b.bXzXz.bXzXzXzXz _ _.bXz _.bXz.b.^XjXt ~XjXz.^ _.c lXzXzXzXz _Xz.V.V.V.V.V.VXg.V.c.c.c.c.c.c.c.c.V.c.c.c.V.#.V.V.c.U.c.c.c.o.b.^ e e e e.r.^.o.o.bXj.r e.r e.b.^.o.U.o.c.oXz.bXzXt.r.`.8X3.}.Y.F.m U h.}.e a aXI.} cXD.a aX,XI.e",
-".r e eXj.^ NXz.^Xk.o.bXzXz NXzXz.b N.b NXzXzXz.b.b.b.kXz.rXjXt e.r N N.^Xg.bXz.^XzXzXz.^.b.^ N.bXz.b.b.b.^ NXt.k.^Xj.XXk.zXxXo.k xXpXLXs.EXG.@X4X+.1X%.Y x 1 x $ x : $ $ 3 # k.[XB.TXp v.W.E v U.W u.a.wXw C.=XvXb J.E o 9XP.w.D.eXKXJ c m T.,XI 3.%Xl.2., m.,XJ mX;XPX$XO mXVX1.`X-X-.`.`.8XIX1 FXV.r.rX*.^XtXt.r.rXtXtXj.o N.b N.b NXz.b.^.b.^.b.b.bXg.o.c.c.c.U.U.c.c.c.cXgXg.V.c.V.cXg.V.cXg.VXgXg.VXgXgXg.oXgXg.o.b.oXgXzXzXzXz.bXzXz.^.XXz.^.^ N.^.kXx./Xg.r.r.r.r.rXt.^.^.^Xg.^Xz.^Xz.^XzXzXz NXzXz.bXzXz.b _ _XzXz.oXg.VXg.o.c.oXgXgXg.V.o.VXg.o.o.o.o.^.^Xj e.r.r F F.r e.^.^ l lXz _Xz.^Xg.^Xj e e.r.u ~ F.8X1XIXK XrXe.* RX-XI B R R.a <.jX4.4.@ %Xb C R t t t t.}.* t t.M t UXF.s ^.@X= * C C C B 8 RXIXn.x =XmXC.q g.D B BX-Xa.n.0 gX1.8 ~.rXtXt e.rXtX*.r NX*X* N.K.5XX ) :.5 :Xl.s *.)Xq t <XsXe vXG.9XI 3.rXj.bXzXz.bXz.^Xz _.bXzXzXz _XzXzXz _XzXzXzXzXzXzXzXzXzXzXzXz.^.c.^.^XzXzXzXzXzXzXzXzXz _ _ _.b.b.b.o.o.kXz.^XjXj.kXt.^.X e.k.bXg.b.b.UXg.c.o l.U.U.o l.c.c.c.c.c.c.c.o.V.c.c.c.#Xg.c.o.o.oXg.o.o.b.o.b.bXzXz _.b.b N.^.z.^.^ e.bXzXz l.c.bXzXzXz _Xz.V.c.V.c.c.V.V.c.o.V.c.c.c.V.c.U.c.U.V.c.U.U.U.c.o.V.V.VXg.o.bXzXz e ~ e.^.o.cXz.^ e ~ e.r.r.b.^Xg.c.o.o.bXzXz.k.r.8XIXM ` .FXq.i U.M a a a a a R VXHX-X- kXI.e",
-"Xt.r.r.rXjXzXz.^.b.o N.^Xz NXz N.^.^.^Xz N.^.^ eXt.kXzXkX@ N.k.^.^.oXg.XXg.UXgXk.oXgXk lXgXg l.z.XX .X.R.&Xk.X.&.z ( A.IX@.R QXl =.+.MXs vXnXnXn.p.1.Y # $.i.M.MXaXKXlXlXc h., k [ kXh.1 W.+.jXrX2.W.M.M x.* CXF.)X6X> HXm.q.w.wXD.]Xc.'.,Xl.].a R.9.e : $.w ' ' ' g TXUXoX,.~.`.`.`.8.8.8.` ~.8 ~XVXtX*.rX9 ~.kXt e.r e.X.^Xz.b.^.b.^.b.^ _Xz.bXzXz.b.c.c.c.c.V.c.#Xg.c.c.cXg.c.V.c.V.c.c.VXg.V.o.VXg.c.c.c.c.oXgXg.bXz.bXgXzXz.^XzXzXz.^XzXzXz.b N.^.^XjXgXjXt e.r e.r eXj.^.b.^XgXzXzXz.bXzXz.bXz NXz NXzXzXzXz.bXzXzXz.o.VXg.V.oXg.oXg.cXg.o.V.o.V _.V.o.oXzXz.kXt.r ~ ~ F ~ e.r.^.b.VXgXz.b.^XgXz.^Xj.r.rXt.u.8 ~ FX1.9X+.j 1 a a.aX, BX1 R t.M.Y.pX>.4 -XF._XG h x.iXD.Y C., tXp.M J.@ 0.C 0.=.) C t a.eX,Xl k.-Xe 2.=.!.!Xa.0XD.nX5.w.n.0.0.`.8.8XtXt.r.r.rXtXj ~ NX*.rX* ~.rX*.r.8 cXVXl.).) u C t tXs vXaXmXlX1.8Xt.^XzXzXz.b.bXz _Xg _XzXzXzXzXzXzXzXzXzXz.bXzXzXzXz _Xz.b.bXzXz.cXz.bXzXz _XzXz _.bXzXz.b.bXzXz _Xz.bXz.^ NXjXj.r e.rXt.^.r e.r e e.b.^Xz.b.bXz.^XzXzXzXzXzXzXzXzXzXz _.b _ _XgXg.o _.V _.o.V.V.o.o.V.c.c.cXg.c.cXg.c.b.b.I e.cXkXg.c.# l.oXg _.oXgXg.c.c.c.U.c.c.c.c.c.V.V.c.c.c.V.c.V.V.o.V.#.V.c _.V.c.c.cXg.c.o.o.b NXzXz.b.oXg.b.b.k e.r eXj.^.b.cXg.o.bXz.^.^ e ~.8XD >Xq.m.i x t a a.e.e a aX-.a 3XD.eXc 3.e",
-".rX*Xj.k.k.^.XXgXgXkXgXgXxXgXgXkXg.b.b.XXgXgXz.k.oXz N N l N.^.^.k.o.b.oXzXkXz.o.^Xz.b NXz.^ N.b l Z.&X@.&.R.&.R.f.(.&.( , f 5 5 n o.).NXG vXLXnXrXwXB 1 h $X, tX,XO TXc $ $ `., k.,.Y.gXH.1X+Xp._.d.).MXD u.9 C *.s.v 2 OXC s.wX,.*X-.e.e.e.eX-.e.aX- B B B.wX5.wXP g R B.`.`.`.`.8.8 ~ ~.8.8.8X*.r.r.r.r.X.8 e.rXt.r.r.b.^XzXzXz.b.bXz.bXz.^XzXzXz.V.cXg.VXg.cXg.U.oXgXg.V.V.c.c.cXg.cXgXgXgXg.VXgXgXgXgXg.o.o.o _.bXz.bXg.bXz.bXzXz.b.b.bXzXjXj.r e e.r ~Xz.r.r.r.r ~ eXt.^Xj.^Xg.^XzXzXzXz.b.b NXzXz.bXz.b.^Xz.bXzXzXz.oXg.o.oXgXgXg.o.cXg.V.o _.c.o.V.oXgXz N.^Xj.r ~ F.8 F.r.r.^Xz.^Xz.bXz.^Xg.^XzXj ~.r.rXt F ~.8X1 $.YXnXG.MX- 3XD RXD R t <XpXf H.C { -XG.W.w.WXGXeX+._Xn t._Xe z.T.@ 0.v.= C C a RXD ).-XK.WXe.= 2XC.!.n ' '.ZXa.0.] g.D.`.8 ~Xt.r.rXtXj e.r.r N.r.rXjXt.^ ~X*.r.rXVXl.W / * t u pXLXL.n TXI.8 ~Xj.b NXz.^.bXz.b _.c.V.b _XzXzXz _XzXz.bXzXzXzXzXzXz _.b.bXzXz.bXgXzXzXz.bXz.bXzXzXzXzXzXzXz _Xz.bXzXz.b.b.bXjXj.r.r.r.^Xk.X.k e ~ e.^.bXzXzXz.b.b.bXzXzXz _Xz _ _Xz _XzXz.bXz.c _ _XzXzXzXzXz.bXzXz.bXzXzXzXzXz.bXz.^ ~ e.r.r N.b.b.o.I l _.o.b.b.V.c.U.U.U.#.U.U.U.#.#.#.U.#.#.#.#.#.#.U.U.U.6.#.U _.V.U.c.c.VXg.o.o.o.o.b.o.oXg.c NXz.^.r.r e.r.r.^Xg.o.oXz.^.^ e F.`XI U .m.m E U <XD.eX-.e.e.e a.eX-.a.a.uX- a.e",
-"Xt.^ N.^Xj.k.^.X N l N.^.^.^XjXjXj.r ~.r e.r.r.r e ~XjXz F.k.^XjXz.b.bXz.^XgXzXz.b.b.bXz.b.b.b.^Xk.^XkXkX9.X.k.^.X.o.A.zXkXkX9X-.wXp *.W v vXG [ z.-XM x x h h y.* TX,.D.e.'X,Xl.-Xc.- 1Xp.[.pXn pXsXsXsXw *Xp.N.d / / OXmXG.wXD R B.a B RX- B aX1 R.* R.Z.wXlXU.]X1X1X1X-.~.`.` ~.8.8.8 ~.rX* ~Xt.rXt.r.kXjXt.rXj e e.^Xz.bXzXzXz.^Xz.^.bXz _.b.b _.V.VXg.c.cXg.#.o.c.c.c.V.c.c.c.V.c.c.VXg.VXg.o.o.o.b.b.b _.b.bXzXz.oXgXzXz NXz.^XzXd.^ e.r.r eXtXj.rXt ~.r.r.r e.r e.r eXt.^Xg.^XzXzXzXzXzXzXzXzXzXz.bXzXzXzXzXzXzXz.b _.o.b.c.oXg.o.oXgXg.c.V.V.oXg.o.oXzXz.^.^.r F.8 F ~.r l.zXz.oXzXz.bXz l.^Xz.^ e.r.r.r.r.` FX1X,X+XG 1.M tX, 3 RXD R a < vXn.4.@X6.v.j p.*X+.).. 2 2.s U.)X=.@ M.B /.N.w t <.ZX5 `XJX5.}._Xe.= O oXP.nXa.0 D g.] 'X1 B.` ~ ~Xt.r.r e ~ eXj.r.bXt.k.rXt ~Xj.r.kXt.r.Z v.N.).) 2.W.).W 9Xa.`.HXt.^Xz.b.bXzXz _.oXg.c.V.o.o.b _XzXzXzXz _XzXz _ _.b.b.V.o.VXzXz.oXg.b.bXzXz _XzXzXzXzXzXz _XzXzXz.bXzXzXz.b.b.^ eXt e.r.o qXk.^ eXj e.r eXzXz.^XzXzXz _.bXz _XzXzXzXzXz _Xz.bXz.c.bXzXzXzXzXzXz _Xz.bXz _.bXz _.b.bXzXjXjXj.r eXzXz.b.o.#.oXz _Xz _.b.c.o.VXg.VXg.V.VXg.V.V.V.c.c.V.V.c.c.cXg.V.#.U.c _.V.U.U.U.U.#.U.U.c.U.#.I.U.c.U.UXg.^.^Xj.^.k e.^.o NXz N.^Xt F F.`.` h.F E E.d <.* R.u.e a.`.e aX-.e.a.e 3.a.e 3",
-".r.rXt.r.rXtXt.r ~ N e.rXj e ~ e.r eXj.^.kXjXj.^.k.^.b.fXg e.^Xz.b.^XzXz.^.c.bXzXzXzXzXzXzXz.b.bXz.X N.z.fXgXtXt.b.X.b.XXgXk NXV $Xp.WXe o.Y M n.,.9 : x h $.MXl c D.,Xl.D T.] T :XcXH .lXMXBXp.p y v.=Xe.YXw u u.NXs.N.sXmXGXeXD R BX- B.e R.e.eXD 8 R.Z.w 'XU T RX1.`.~.`.`.`.`.8 F.8.rX*.r.r.rXtXd.rXd NXt.r e ~Xt eXz.b.bXzXz.^Xz.bXz.bXzXzXzXzXzXg.cXg.o.VXg.#.oXg.V.cXg.c.V.V.V.VXg.V.cXg.b _.^XzXzXzXzXzXz.^XzXz.X.oXzXzXzXzXzXz e e e.r e.r e.r.r.r e.r e.r.r.r.r.r e e.bXg.^XzXzXzXz.bXz.bXz NXz.^XzXzXzXzXz.^XzXzXzXzXz.c.oXg.o.o.cXg.o.o.V.o.V.V.oXzXz.^.^.r ~.8 ~ ~Xt.b.t.oXz.VXjXz.bXg.^Xz.^ eXj.r ~Xd.` F.HXD.-XnXG.M a cXD RXD R t <XGXn SX6.CX6X> yX%.; M M M S.;X: H.y ^.@Xv.) 8Xs.* $., x.u RX. =.j.....v.qXm.nXP g T c BX1X1XI.8.8.rXt.rXt.r eXjXj.r N.r.^.k.^XzXjXj ~.k.r.k s 2Xs.N.W v v b.0X1.H F.^.b.^.b.o.bXzXzXgXg.c.VXg.V.V _ _Xz _XzXzXzXzXzXz.V.c.o.V.c.b.b.V.bXzXzXzXzXzXzXz _XzXzXzXzXzXzXzXzXzXz.bXz.^.b e eXt.r.^.k e ~ ~.r.r e e.^Xz ~.bXzXzXzXzXzXz _Xz _Xz _.bXzXzXz.UXzXz.bXzXz.bXz.bXz.bXzXzXz _ _XzXz.^Xt e.rXj eXjXzXz.c.#XgXzXzXz.bXz.c.c.c.c.V.c.c.c.V.c.c.c.c.V.c.c.V.o.V.c.c.UXg _ _Xz.o.V.o.V.V.c.oXzXz _.o.oXg.cXz N eXtXtXjXj.r.^Xk.X.bXg N.^ ~Xt c 3 ._Xq.m u tX-.`.a.8.e aX-.e.e a.eX- #.e.e a",
-".r.r.r.r.r.r.r.r.r.^.k.rXt.^.^.^.^.^.b N.bXzXzXz N.b.b.zXjXj.^.^.^ _.^.b.^Xg.b.b.b.^ _XzXz.oXzXzXzXz.oXg.b.^ eXj N.b.b.o.cXk.b.r hXL.N.s.s.j M.Y k kXl.- mXl x x.a.} a aX-.e.eXlXDX,X,X, h h.Y x y.[XrXp = y U t CXs.N.NXL.EXGXLXJ R R.eX, 3XD c xX1XD.D.w.9Xc mXI.`X-X-.`.`.`.` F F.8 ~ ~.rXtXt.rXt.r.r.r.kXdXt eXj.^.^XzXzXz.b.bXzXz.bXzXzXz.b _XzXz _ _.V.c.VXg.#.V.o.c.c.V.cXg.c.c.cXg.VXg.o.bXz.bXz.^XzXzXzXzXzXz.bXz l.^XzXzXzXzXd e e.r e.r e.r.r eXt e.r e ~ e e e.r e.^.b.bXz.^XzXz.bXzXz NXzXzXzXzXz.^XzXz.^XzXzXzXzXzXz _Xg.o.bXg.c.V.V.V.V.V.o.bXz.^.^Xz e.r F ~ F ~Xt.^ _XzXzXzXzXzXzXgXz.^XzXjXt.r.r.r F.8X1X,XKXGXG < RX,X1.a.Z.M t UXnXn SXi.CXiX6._XnXn ^ HXf.@.@Xi..X6 ^ ^ * * C.M $XKXB aXI R.Z y vXn 0.@ &XmXPX;.' :X1XIXIX1.`XV.`.rXt eXt eXj.^.b.^.o N.b.b.bXz.^.^XjXt.rXVX5 sXLXe v 9 s $X1X1 F eXz.bXz.b.o.b.bXg.c.VXg.c.oXgXg.o.bXz _XzXzXzXz.V.V.V.V.c.V.VXg.VXgXz _XzXzXzXzXz _XzXzXzXz _Xz.bXz.bXz _ _Xz.bXz e e e.r N.rXt ~Xj ~ e.r e.^ e e.^XzXzXz.bXzXzXzXzXzXzXzXz _Xz.bXgXz _XzXzXzXz _Xz _Xz.b _XzXzXz.b.b.^ e e.r ~Xj.^.b.b.U.U.c.oXzXz _ _.c.V.o.c.c.V.o.c.c.V.c.V.c.c.V.c.c.VXg.V.#Xg.b _XzXz _.V.c.V.c.o.c.V.oXzXg.c.cXg.b e e.r e ~Xt.rXj.^XzXj.r F.` F.`.`.uXB.i E U t t.~X-.8.aX-.a.`X1 a.a 3Xl c.e 3XI",
-".r.r.r.r.r.rXt.r.rXj N.r eXtXt.^.^.^XzXz.^.^XjXjXj.^.^.bXj e ~ e e.^.bXzXz.b.o.^.b.b.b.^ _.^ _Xz.b.b.^Xj.r.r e.^Xz.bXz.bXgXk.X.r 3XG.).W 0.@ [ n |.SXHXc n nXKX3.i a 3.a a R.*.e `XJ : ).Y., k.,Xw =XHXh.TX0.)XG &XK 8.D v oXG =.w g : D 1 DXc TXHXlX. sX;XOXw '.a.`.`.`.`.`.`.`.8.8 ~ ~ ~.rXt.r.rXt.r.r.r.^ eXtXj.^XzXz.b.bXzXzXz.bXzXzXzXzXzXzXzXz _Xz _.o.o.cXg.#.c.c.c.c.cXg.VXgXg.VXg.c.V.bXzXzXzXzXzXzXzXz.^XzXzXzXz l.^Xz.^XzXzXj ~ e.r.r.r.r.rXt.r ~.r.r.r.r.r.r.rXt.^.^ N.o.b.^XzXz.bXzXzXzXzXz.b.^XzXzXzXzXzXzXzXzXzXzXzXg.oXg.oXg.cXgXg _ _XzXzXzXzXzXzXj ~.r.` F F.rXj.^XzXzXzXzXzXzXzXgXzXzXz.^.r e.r.r F F.8XD.Y 1Xq 8 t hX,.M.Z R a <XpX>.4X6 wX6 2 pXbXb ^.vX=XiXf.@Xf ^ 0Xi * u a R.,XHXl R.wXlXsXLX4X>.; ^X0.OXP m.|.2 D TXJ )Xx 5 )./.k.r ~Xt.^.b.b N.c N.b.b.b.bXzXzXzXjXj.r.8XI.Z '.n R.e.a.8 ~ ~XdXz.b.b.b.cXg.o.cXgXgXg.c.V.V.V.V.b _Xz.b.o.b.V.U.U.#.U.c.#Xg.VXg.#Xz.b _XzXzXzXz.bXzXzXzXzXzXzXzXzXzXz _XzXzXz.b.^Xj ~Xd.^.r.rXj.r e ~ e ~ e.r e.b.b.^.b _Xz _XzXz _XzXzXz.bXz.o.VXz.b _.b _XzXzXz.bXzXzXz _XzXzXz.^Xg.k.rXj.rXtXjXz.b.UXg.c.oXzXz.b _Xg.V.c.cXg.V.c.V.c.c.V.c.c.c.c.c.c.V.cXg.#.o _.bXzXzXz.cXgXg.c.o.c.o.V _ _ _Xg.oXj e.r.rXt ~Xt.r NXtXj ~.r.` F.`.` aXX 1X, E t.e.e.~.~ a a.aX-.e.eX-.e aX-X- a.~ a",
-".r.r.r.r.r.r.r.r.r.r N.r.r.r e eXj.^Xz.^XjXj e.r e NXz N.^ e e e.rXz.^.b.^.b.c.bXzXz.b.bXz.bXzXz.b.^XzXj.r e.rXj.b.bXzXzXg l.o.kX-Xq v 2 2Xn n.- XJX, R.wXDX, hX, #.} R t.~X-X-Xl 3XM #.5 # 1 x.5X3 XBX%...N.NXK.MXs.N.n =Xr =XwXyXU T hXl `XlXK TX; gXH gXUXI.`.`X-.`.`.`.8.8.H.H.r.r.rXt.r.r e.r.rXd.rXdXdXj.^.b NXz.bXzXzXzXzXz.bXz.b.bXz.bXz.bXz _Xz _ _Xg.o.#Xg.VXg.V.V.V.o.V.c.VXgXg.oXz _Xz.bXzXzXzXz.^XzXz.^.bXz l.^XzXzXzXzXd.r e.r.r.r e.rXt.XXg N e.r.r.r.r e.^.^ NXz.bXzXz NXz.bXzXzXzXzXzXzXz.b.^XzXzXz.^XzXzXzXzXz _.oXg.oXgXgXg _XzXzXzXzXj.^.^Xj e.r F F F ~Xt.^XzXzXzXzXzXzXzXzXgXzXzXz.^ e.r.r.r F F.8XI.YXn 1 U tX, h RX, t t.WX+.E.;X6X6.C.B.4.s w.@XiX=.v 0X6 0X6 0Xn.W u.a h.aXl < 3.w.w y.).@ S.x.x.O KX; : TXJ I V.|XX IXx.R.&.r e.^Xz N.b.b.bXkXz.b.b.b.b.b.bXz.^Xj.r.r.`X-.` RX1XI.8.8.r eXd.^.b _.b.U.c.cXg.VXg.c.o.c.c.c.c.V.VXg.V.o.V.c. iXu iXu i.c.V.V.I _.oXz _Xz _Xz _ _XzXz _Xz _Xz _Xz _ _Xz.b.^Xz.b.b.k eXdXd e ~.r ~.^.rXt e.rXjXz.^Xz.^Xz.bXzXz _Xz _XzXz _Xz.c.oXzXz.bXzXz.bXz.bXz _XzXzXzXzXz.o.b.z.6 N.r.rXjXz.b _.c _XgXg _.b.b _.cXg.c.V.c.c.V.o.c.c.c.V.c.c.c.c.cXg.c.c.UXz _XzXzXz _.VXg.V.c.V.c.VXg.VXzXz.o.oXj e e.r e ~.rXtXgXt.r F ~ F.8.`X-X9 ` $X, <.*.e.e.eX-.e.e a 3 R R.~ 3.~ 3 a.e.e.e",
-".r.r.r.r.rXt.r.r.r.r.bXt e.r.r.r e.^.b.^ e.r e.r.rXj.k.^.^ e.k F e.^.b.^ N.^XgXj.b.^.b.bXz.b.bXz.b.^Xj e ~ e.r.bXz.b.b.b.c l.o.k.` s v /.. 0X%XcXB :XDX,XeXe $XI h.M.a $ a a a.~ aX-X- a a a cX-.~.}.l.i.@.s.N C.a.*.Z.q 2 &.j.[.'.w $ 8XI.a.eX-.* B.Z x.nXU TX-X-.`X-.`.`.`.8 ~.r.rXt.rXt.r.rXt.rXt.r.r.rXdXo.^ NXz NXz.bXzXzXz.bXz.bXzXzXzXzXzXzXz.bXzXzXz.b.o.V.#.c.VXg.VXg.V.V.cXg.o.o.V.b.^Xz NXzXzXzXzXzXz.^XzXzXzXz l.^XzXzXzXz e e.r.r eXd ~ ~.r.b q.z.r.r e.r.r e.k NXz N.b N.^XzXzXzXz NXzXzXz.bXzXzXzXzXzXzXzXzXzXzXzXz.o.oXg.oXg.o _XzXzXzXzXz.^ e.r e ~.r F F.r ~ eXzXzXzXzXzXzXzXz.b.cXjXzXz.^Xj.r.r e F F.8X1.9.9Xp._ t h x.* $ t a UX+X> S 0Xf ^Xf S r.+.; MXC HX>.; M H &.j.j.9 : TXc a a.a t.9 b.s r.+X>.x W.OXU.~.u.`.`X*.u.`.8 ~.`.kXt ~.r.b.bXz.b.o.cXzXzXz _XzXz.b.bXzXj.rX*.8.8.`.`.8 ~ ~.r.rXjXdXz.b.b.b.#.cXgXg.V.V.V.V.V.cXg.V.V.VXg.c.c.V.c.U.c.U.c.c.UXg.c.c.#.o.cXzXzXzXzXzXzXz _XzXzXzXz.bXz _Xz.b _Xz.b.bXzXzXd.^Xd ~.rXt eXt ~ e FXjXj.b.^.bXzXz.^XzXzXzXzXzXzXz.bXzXz.UXzXzXzXzXzXz _XzXzXzXzXzXz _XzXzXz.^.IXg e.rXjXj.^.^.b.cXz.VXg _Xz _.oXg.V.V.V.V.c.c.V.c.V.o.c.V.c.c.cXg.c.o.U.oXz.bXz.bXz.oXg.c.V.c.V.c.VXg.o.b.b _.o.bXj e.r.r e.r.k l.r ~.` F.`.`.`X- ` x hXD.e R BX-.e a.eX- RX- BXVXD.e a.` aX-.e a",
-".r.r.r.rXt.rXt.rXt.r.^.k.r eXt e.rXj.^Xj.r.r.rXtXjXt.r.r ~.rXjXt.r.^.^ N N.^Xk.b N l.^.#.^XzXzXzXz.b.rXj.I qXjXz.b.b.b _.c.U.o.kXVXG v * 0...j.g xXM h.MX,XlX,X,X, 8 R RX,.eX- a a.~.eX- aX-.a #.8 a .lX4.).) C.M t H o v.E.Y.-Xw s.wX, a.aXI.a 3XD.w ' T ! g R.`X-.`.`.`.8.8.r.r.rXt.r.r.r.rXt.r e.r.r.rXdXz.^ N.bXzXz.b.bXz _Xz.bXzXzXzXzXzXzXzXz.bXzXzXz.b.b.c.U.UXgXg.V.c.c.V _ _ _.o.b _XzXzXz.^ NXz.bXzXzXzXzXzXzXz lXzXzXz.^XzXj eXt.rXt ~Xj.r e.X.z.b.r.r.r.r e.r e eXjXz.bXzXzXzXz.bXzXzXz.bXz.bXz.b.^XzXz.^Xz.^XzXzXz _Xg.oXg.b.o.b.^XzXzXz.^.^Xj e.r e e F.r F.o N.bXzXzXzXzXzXzXz.^.bXgXzXzXz.^Xj.r e ~ ~ F.`X1 y.j.Y._ xXc.w.9.9 $XGX+X> SXi.@X6Xf.@ H b.v O 2.M 2.WXe.)XeXeX, RXl `X-XD <XJ $.MXG 2.+.LX: z =Xh.2 c ) c.K.KX*.5.`XV FXt e e.^ N.b.bXzXg.o.b.bXz _.b _.b.bXz.k.rXj.r.8 F.8.`.8.k.rXt.r.kXz.bXz _.#.cXg.c.VXg.V.c.V.V.VXg.c.c.c.VXg.V.V.c.V.c.c.c.V.V.c.U.U.V.c.bXzXzXzXz _XzXzXzXzXz _Xz _Xz.bXz _Xz.b _.^ _XoXz.rXd e ~Xj.r.zXk.r ~Xj.^.^.b.^.^.o.bXz.bXzXz _Xz.bXzXz.UXz.bXzXzXzXzXzXzXzXzXzXz _Xz _.bXz.^ ~.^.rXt.r.r.bXz _.VXzXg.VXzXz _ _.V.c.c.c.V.V.c.c.VXg.V.c.c.c.V.c.cXg.b.cXz e.^Xz.b.b.o.V.c.c.c.c.V.V.VXg.V.bXz.b.o.^Xj.r e.r.r.k.X.r F F.8.`X-.8.a.l.[ ` hX-XI.eXIX-.e.e.e.e a.e.- I.e R R.eX-.e.e",
-".r e.r e.r.r.r.r.r.rXt NXt.^Xj.^Xt e e.r eXtXt.r ~.r.kXtXt N.8XtXj.X.XXx NXj.K N.^./././.6.^.b.b.^Xj e.^.XXg.b.bXz.b _.bXg.UXg N.HXl v.N.s..X>XwXBXBXD.}.WX,X,X5.w.M gXVXD aX-.aX5 # $ R RX-.a 3.K # #.F.s.).N C.*.a p G 2X+XBXKXw 9.wXD a.eX-X- B 8.Z ' T.]XU B.`.`.`.`.`.8 ~.r.rXt.rXt e.r.rXtXt.r eXd.r.rXoXj N.b.^.b _XzXzXz _XzXzXz.bXzXz.bXzXzXzXz.b.bXzXz.c l.U.V.V.o.o.V _XzXzXzXzXz.^ _ NXzXzXzXzXz.^Xz.^.bXzXzXz l.^XzXzXzXzXjXt e.r.r.r.r.r ~ F eXj.r.r.r.r.r.r.r.rXt.^.b N.^Xz.^.bXzXzXzXzXzXzXzXzXzXzXzXzXzXzXzXzXz.o.V _.b.^.bXzXzXz.^XzXzXj e.r.r ~ e.r ~XtXg.#.cXzXzXzXzXzXzXz.b.b.oXzXzXzXzXj.r.r e ~ F.8X1 x.- W.j.[.-XHXc.9.9 1 kXrX> M.v.@.@.@.@.v.v.= C.M t.* a u.* a.e.aX1XDXIXD.* a.e.9.W o O.y.TX2 M.+X;X..2XJXJ.% D ) 5.r.` ~ ~.rXt.^.bXz.b.bXg _.b.bXz _ _Xz.b.b N.^Xt ~.r F.` ~ ~ ~.rXtXt e.^.bXz _.o.I.c _.c.c.c.c.V.c.c.c.c.c.c.c.c.c.c.c.c.V.c.V.V.c.V.V.U.c.c.V _Xz _XzXzXzXz _XzXzXzXzXz.bXz _XzXz.b.b.^.b.^ FXo.rXd F.rXj.IXg.^XjXt ~.k.X.^.b.^.zXzXzXzXzXz _ _ _Xz.b.cXzXzXzXz.^Xz.oXzXz _.^XzXzXzXz _.^Xj.^.rXtXtXtXz.^.^.c _XzXgXg _XzXzXzXz _ _.o.c.c.c.V.V.V.V.c.V.cXgXg.V _Xz.o e e.^.b.b.oXg.c.c.c.c.c.o _.o.VXg _Xz.oXg.bXj.r ~ e.rXd.k.r F.8.`.8.` 3.a [.[.Y.1XK $XJ., ` : D :Xl.uX-X..G.e 3X-.e.eX-.e",
-".r.r.r.r.r.r.r.r.rXjXt.o.kXz.^.^ e e ~.r.rXt.r.r.XXxXx.XX* qXx qX9 ).f.$./.r.rXt.8Xk.$.UXk.b.bXz.bXj.rXt e.k.b.^Xz.bXz.bXg.UXg.bX1.DXL pXbXn.j WXKXc h.a hXD RX, $XI.]XK.,XJ : R kXU sXJ.-XlXwX. c h .. /.N G u.N *X= v.[ X3Xw s.w.Z t.a a aXD RXD.wX5XP.]XDX1.`.`.`.8 ~.rXtXt.rXtXtXtXt.rXt.rXtXtXt.r.r NXt.bXz.bXz.b.bXzXzXzXzXzXzXzXz.bXzXz.bXz.bXz.bXz.b.o.c.UXg.cXg.V _XzXzXzXzXz.^Xz NXzXzXzXz.bXz.bXzXzXz.^Xz.^ lXzXzXzXzXz.^XjXd e.r e.r.r eXt.r ~ e.r.r.r e.r.r.r e.kXz.^Xz.^Xz NXzXz.^XzXz NXzXzXzXz.^Xz.^XzXz.^XzXz _XzXz.^XzXz.b.^XzXz.^Xj e ~.r.r.r eXj.^Xj.c _XzXzXzXzXzXzXzXz.bXgXzXzXz.^.^Xj e ~ e F FXIX,X+XpXp.M.M $ tXD.M tXGXr & M 0XfX6Xi.sX= G 8 C.e aX- a a a aX-X1 R.` RX1.3., $.aX,Xe v.xX2.xXrX+XK $XI.u 3XVX1.8 3.8.H F.rXtXj.b.b.b.bXzXk.b.b _Xz _ _.b.b.b.b.^X*XtXV.8 F F.` F.r.r.r.rXjXzXz _.o.#.c.oXg.c.VXg.c.VXg.c.V.V.V.o.V.o.V.o.c.V.c.V.V.U.V.o.#.c.V.bXzXzXzXzXz _XzXz _XzXz _Xz _Xz.bXz.bXzXz.b.z A.t l.rXt.rXt ~ e e ~ ~XjXt.^Xt eXj eX@.^.bXzXzXzXz _XzXz.V.oXzXz _ _.bXz. Xz.b.bXzXz.oXzXzXz.^Xj e N N N ~ NXz N.UXzXzXg.V.bXzXzXz _Xz _ _.o.V.c.o.c.V.cXg.c.cXg.V.b.^.^.^ ~ eXz N _.o.c.V.c.c.VXg _Xz _ _.V.o.oXgXg.b.^XjXt.r.r.^.r ~ F F.8.`.`.r.aXB.m hX,.} $.a # h.~.uXlXo c | K.KX,.~ a R.e.e",
-" ~ e.r.r.r.r.rXtXt.^.kXx N.^Xt e ~.r.r e.r.r.rXt N.$ q 5X9.f.&.$.k N q ).z 3 ~.rXtX9.z.bXk.^.&Xg.z AXgXg.I q.z.I.^.bXz.b.o.cXg N.H.Z.s.W %XiXn n.- 1.iX, hXD U.ZXDX1Xl x DXl.ZXDX,X,X,.wXK hXDXMX- # #XBXe.).N.NXs.).).m.[Xc.lX3XU.'.w $ R.a.a R aX- 8.D.'.'Xw.DX-X-X-.`.8 ~.rXtXtX*XtX*XtXt.r.r.r e.r.r e.r N e NXzXzXz _XzXzXzXzXzXzXzXzXzXzXzXzXz.bXzXz.bXz _ N.o.c.o.V.o.V _Xz _XzXzXzXz.bXzXzXz.^Xz.bXzXz.^XzXzXzXz.^ lXzXzXz.^Xz.^ NXz.^Xd.r.r.r.r.r.r.r.r.rXt.r.r ~Xt e ~XjXz.^XzXzXzXz.^XzXzXzXzXzXzXzXzXzXzXzXz.^XzXzXzXzXz.^XzXz.bXzXzXzXzXzXj e.r.r e.r.^Xj.z.bXzXzXzXzXzXzXzXzXz.^Xz.X.oXzXzXzXz.^Xj.r.r e F FXD R.9.YXqXpXn.Y <.a t W H S ^X= /.N /.= G C R a.~ a.e aX-.~X-.`.~X- R R.'XwXD a.M v.sX> H.T =XZ =X..kXJ (X3.r I ) q q 5 ~Xj.k.bXz.b.b.o.U.b.b _Xz.b.b.o.b.b.b N.k.r.8.8 ~.` ~ F F F.r.rXtXjXz.b.o.U.c.c.c.VXg.c.V.V.V.V.c.c.c.V.c.c.V.V.c _.c.V _.V.V.V.U.V _ _XzXzXzXzXzXzXz _XzXzXzXz _XzXzXzXzXz.bXj.I Q eXx jXd.r.r e.rXj.rXtXj.r e.rXtX& qX@X Xj.bXz.bXz _XzXz.b.c.bXz.b.z.Q.Q.UX Xz.bXzXz _XzXzXz.bXz e.o N N.(Xk.^.bXzXgXzXz.V.oXzXzXz.b.o. X&.6.b.o.c.oXg.c.V.c.VXg.c.oXzXj.^ e e e.bXzXz.o.cXg.cXg.o.VXzXzXzXzXg.cXg.VXg.o.b.bXj eXt N.r.r.8 F F.~.`.} aXp._ E.M aX-.a a R.e.~.`.~Xl.3 hXJ.3.e.e.e a.~.e",
-".r.r.r e.r.r e.rXt.^XjXg NXt.r.r.r.r.r.r.r.r.r.r.r.r.rXtXj.k.kXt.r 3.rX*.KX*XV.KX-X9.A.A./.U.6.& i.f./.z.f.6.I.U.^.bXzXz.oXkXg.bXVXVXe.sXb..Xn.Y [X+XM h.iXD.DXDXG : c c $.ZXJ c.aX,X, c $ x $.Y .l.lXB xXe / 2.).s.W.jXB.iXXX3.>.!.9 $X,.aX-XDXI RXD.ZXl.'Xc.0 B.5X5XV.8X5 ~XtXV.^.k.rXt.u ).^.k.rXt.r.r.r.b.^.b.bXz _XzXz.bXzXz eXjXz _XzXz.bXz.b.bXzXzXz.bXzXz.b.c.^XzXzXzXzXzXzXzXzXzXzXzXzXzXz.bXzXzXz.bXzXz.^XzXzXz.c.bXzXzXz.^.b.^.^ N.^Xt e.r ~ e.r e.r.r.r.rXt.r.r e.r.r e e.^XzXzXzXzXzXzXzXzXzXzXzXzXzXzXz.^XzXz.^Xz.^XzXzXzXzXz.b.^.^Xz.^ e e ~ eXt.^.^Xz _.#XzXzXzXz _XzXzXzXzXzXz.b.oXzXzXz.^Xz.^ e.r.r F.8.`.8 $.9XnXGX4.xXp x u <Xp.[Xr H ^ /.N.NXD C t C.*.e a.eX-.e.` 3 #.~X- RXcXD.*.D.eX- h $ p ^.@.;.E.jXKX5 ) )XxXx )XXX9.5X9 N ~.rXz.b.I.I.I.UXu.b _XzXz _Xz _.b.b.b.b.^ ~ ~.8 F F F.8 F ~.r.r.r eXjXz.c.#.c.cXg.c.V.c.cXg.c.c.V.c.VXg.c.VXg.V.V.c.V.c.c.c.V.o. _ _Xz _Xz _.bXzXz.bXzXzXz _.^ _Xz.bXzXz.bXjXj.: l NXkX$.^Xt e.r e.r.rXj e.r ~Xj.7Xk ~ e.z.^XzXzXz _ _ _Xz.b.c.b.o.z _ 7.6.IX&XjXz.bXz _XzXz _Xz.b.r e.rXtXg.:.^.o.o.oXzXz.c _ _ _Xz.bXg.b.^ ZXu.o.^.b.b.o _.c.c.c.b.b e e.bXj.^.^Xz.bXz.cXg.c.cXg _ _XzXzXzXz.V.VXg.VXgXg.o.oXzXj.^XjXt ~ 3.`.`.`.X #XMX%.<Xe EX, U a a.~.e.~X-.eXIXVX- 3XKXI a a.~X-.e",
-".r.r.r.r.r.r.r.r.r.r.r.^ N ~ e.r.r e.r.r.r e.r.rXt e.rXt eXt.r.r.r.rXxX9X3XX q V.kX* N N.X.^.bXz.^.b.b.^.oXk.b.b.b NXzXzXg lXg N ~Xl.d.s % ^X+ zXr.-X7 $ $XD.Z U c.ZXJXKX. cXl c DX3 :XcXc.9.-X. XM.[.[.j.E.EXGXnX<.[XH.,Xc.,.!.w ' #X- 3X,X- 8XDXD.ZXl.0Xm ! $ mXo T ) q I q./.f 5 I./ 5 I.$.RXtXt.r.k e.k.b.b.bXzXz _.b.b.^Xz.^XzXzXzXzXzXzXzXz.b.b.b.bXz.^Xz.b lXzXzXzXzXz _.o.V _ _.b.b.b.b.o.V.oXg.o.o.bXzXzXzXzXd l.bXz N.bXzXz.^.b.^.^ ~.rXt.r e.r.r.r.rXt.r.r.r.r.r e.r.r eXj.^XzXz.b NXz.bXzXzXzXzXzXzXzXzXz.^XzXz.^XzXzXdXzXz.b.bXz.bXzXz e.r.rXj.^Xz.VXzXj.oXz _ _XzXzXzXzXzXzXzXz.o _Xz.^XzXz.b.^.r e.r.8.8 F.`XIXK oX+ H.pXnX4.w <.pXr &X2 0.=.N 8.* R a.e R.*.e.~.e 3 3.8 c.e a tXJ s 8 8 C < x._ UXL O O O yXDX-.8.`.`.`.`.`.8 ~ ~ ~.`Xt.^Xz.U.#.#.U.6 _Xz _Xz _.b.b.b.b NXzXj ~ ~ F.8 F.8 ~ ~ ~.rXt eXtXjXjXg.c.c.c.c.V.cXg.c.VXg.VXgXg.c.c.c.V.V.V.VXgXg.V.cXg _.o.UXzXzXzXzXzXzXz.bXz _XzXz _Xz.oXz _.b _.bXz.b.X j.X.XXk.:Xt.r.r.r.r.r eXj.bXt e.r jXj.kXtXj.r.b.b.^XzXzXzXz.oXg.^.b N N.:.z.IXg.^Xg.^.^XzXz _Xz.^ N eXt.r.r q j.XXzXgXz _XzXg _Xz.bXz.b.b.bXg.b.:.z.X.&X&.#.VXzXz _.b.bXj.bXg.^XzXzXz _Xz.b.o.o.V.o _ _XzXz _.o.V.cXgXg.c.V.V.o.b.^.o.^Xt ~.8.8 F.~X9 `XHX% [ [.- x `.] :Xc 3.a 3 3X-.e aX- R.e.e.e a.eX-",
-".r.r.r.r.r.r.r.rXt.r.r ~.b.rXt.r.r.r.r eXt.r.rXt.r.r.r.r.r.rXt.r.r.rXX.X q q.f.fXXXtXt.^.b.b.b.b.bXz.^Xz.U dXgXz.^.b.b.b.oXk.c.b ~X5 v 0..Xn H.[Xc.[.- x h.a.M RX,.M #XD 3XI 3X-X-.aX-.a.e t.} $XBX..- V.l :.YXBX7 VX<.[Xh.O.3 @XU =XOXc.,XJ 3 3.a RXD.w sXlXPX..5.5.8 : qX9 q.$XxXkXk.RX9 )X9X9Xk.rXt.r.r.r.k.o NXzXzXzXzXzXzXz.bXz.bXzXzXz.bXz.b.^.^.^.^XjXjXj.^.^ l.^.bXzXzXz _.oXg.cXg.cXg.VXgXg.o.V.o.o.b.bXzXzXzXzXzXg.b.bXzXz.^.^Xj.^XdXj e e e.r.rXj.r e.r.r.r.r e.r.r.r e e.rXj.^.b.^XzXz.^XzXzXzXzXzXzXzXzXz.^XzXz.^Xz.^XzXzXz.^Xz.bXzXzXj.b e e e.^.o.c.I.cXzXz _ _ _XzXzXzXzXzXzXzXz.o.XXzXzXz.^.bXj e.rXt ~ F.`.~.` $X+.EX2Xr.xX4XpX+ yXpX2X> 0 v C.* a R a R a.e B.eX1.8.e.eX-XDXG t.).s.N.N C.MXe U.W / 0 OXL mXI.8.8.8 ~.8 F.r.r 3.8.8 ~Xj.bXz.b.bXz.oXgXzXz.bXz _ _.b.b.bXzXjXt ~.r ~.r ~.r.r.r.r.r e.r eXt eXk.o.V.c.c.c.cXg.V.c.c.V.c.c.c.c.V.c.c.V.V.V.V.c.V.V _ _.V.bXzXzXzXzXzXzXz _.bXz.b.b.^Xz.o.o.oXzXz.b.bXz.tX&Xx Z.X.r e e e.rXj.^XzXjXj.rXj jXt.rXj.k.r.^.b.b _ _Xz.^.VXgXz.b.b l.:X@ d.^.bXzXz _.bXz _Xz.bXz.r.rXj.X.z.:.U.^.#.^XzXz.V.bXz _Xz.bXz.^Xz NX .:XgXx./Xz _ _ _.bXz.bXzXg.o.bXz.b.bXzXz _ _Xz _Xz _Xz _Xz.o.VXg.V.c.c.VXg.V.c.oXz l.^.r.8.`.8 ~.~X9 :.[XpXqXe h R.MX,Xl.K 3XI.eX-X-.~X-X-.aX-.e a.~.e.e",
-".r.rXt.r.r e.r.rXt e.r.r NXt e ~.rXt.r.r.r.rXt.r.rXt.rXt.rXt e.rXtXtXj.rX*.^ N.kXgXtXj NXz.^.^Xz.b.b.b.b.U.$.o.bXz.b.b.b.o.U.c.b ~.DXG...s ^X< nXBXB hX,X, R R.aXD.aX,XD.a aXI.eX-.eX- aX-.eX. K.G.,XXXXXMXM #.l.l.l.l.- n.- yXKXK.' $X, h $X- RXD.a B.w.w.' g '.e.`.`.`.`Xt.r.r ~.rXj.k.rXt ~.r.r.rXt.r.r.r N.oXz.bXz.b.b.b.b.bXzXzXzXz.^Xz.^Xz.^Xj e e e e.r.r eXjXg.^Xz.^XzXzXzXz.o.VXg.cXgXg.V.o.o.bXzXzXzXzXz.bXz.bXzXg.o.b.^Xz.^ e.r eXt eXj ~ ~XkXk.z.rXj.r.r.r.r.r.r.r e.rXj.r.^Xz.bXzXzXzXzXz.^XzXzXzXz.^XzXzXzXz.^Xz.^XzXz.^Xz.^.bXz.^Xz.^.^Xj eXz.bXg.U.6. Xg.b _.o.VXz _XzXzXzXzXzXz.o.oXz.^XzXz.bXj e e.r ~.8.`.`X- t.w.j ..4X>Xn o.EX>X+.; WX0XLXG xXK.aXD.}XlX,XI c 3.~ R aX-.* = WXb.) / 2.sXeXn U.N / OXaXL `X-.8.8.8 ~.8.8 ~ 3X* ~ ~.r.^.b.bXz.b.b.oXg.o.b _ _Xz _.b.o.b.^ e.r e.r.rXt.rXtXt eXt.rXt.rXt e eXk _XgXg.cXg.V.c.c.c.cXg.c.c.c.c.c.c.cXg.c.c.c.c.V _Xz.o.oXzXz _XzXzXzXzXz.bXzXzXzXz.b.oXj./.#Xz _.^Xz.b.b l.Q.X e e.r.r.r e.^Xz.^.r.rXjXtXk.& q l eXtXz.^XzXz _ _ _.V.o.b.^.oX@ ZXz.X iXz.bXz _XzXz _Xz.^Xz e.r.r.& q.7.6.^.cXzXz _ _XzXz _.b.bXz.bXz.U.z.t ZXg.IXzXzXz.bXzXz.^Xz.c.^Xz.bXz _XzXzXzXzXz _Xz _Xz.b _.VXg.V.VXg.VXg.V.V.oXg.V.c.^Xt ~.8.`.`.`XM `Xp Xe E u aX-.e.e a.~.~.e.e.e.e.eXI.e.e a.e.e.}.u",
-".r e.r.r.r.r.r.r ~Xt ~.r.^.k.r.r e.r.r.r.r.r.rXt eXt.r.r.r.r.rXt.r.r ~Xj.k N N.^Xk.^Xz.bXz.b.^Xz.^.^.b.^.b.bXz.b.^.bXzXz.oXk.c N ~XlXe ^ ^.@ WXH.h.-X,X,X, R hXI hXDX-.eX,X-XIX-.~ R.e.e a.a.eXM Y.eXIXM 3.} # #.l #XB.- y s.w.W 8 R R tX-X- a RX1XD 8.nXl sXK T.`.` F ~.8.r.k.rXt.rXtXtXtXtXtXt.rXt.rX*Xt.r.^.XXjXzXz.bXzXz.b.b.b.bXz N.b.b.^.^Xj e.r e.r.r.r e.r.r.oXt.^.^XzXzXz _.oXgXg.cXgXg.cXg.o _Xz.^XzXzXz.bXz NXz.X.oXz.^.b.^Xj.r e.r.r ~Xt ~ e.r.zXj ~.r e.r.r e.r.r.r.rXjXj.^Xz NXzXzXz.b.^Xz.bXzXzXzXzXzXz.^Xz.^.^XzXzXz.^.^XdXz.b.^XzXz e ~ e _Xg _.o.U.UXg.V.VXg.V.b _ _.b.bXzXzXz.o.XXz.^Xz.b.^ e e.r.r.r.8.`.`.`.a RXq.s 0 S w.@.@ o w v ^X0XpXw.9XJX3 VXl :X3XKX5.5.e.e B t C o *X=X6X>.4X> 0X>.. v 2.s b T 3.8.8 ~.8 ~.8.8Xt.r.r.`.8Xt N.bXz.b.b _.o.o.oXzXzXzXz.b.b.b.b.^ e.rXtXtXt.rXt.rXtXt.r e.r.r eXtXt.U.b.V.cXgXg.cXg.c.c.cXg.VXg.c.c.c.o.V.V.VXg.V.V.oXzXz.V _XzXzXz.bXzXzXzXzXzXzXz _Xz _.b.V.o.6.cXz _XzXzXzXzXgXgXj e e eXj.^.^Xj e e.o q qXt ~.r.r ~Xj.bXz.bXzXzXz _XgXz _.b.zXu.t.6.( l.^.^ _XzXz _Xz.^.oXz ~.o PXg NX .(Xk.bXzXzXz.b _XzXz _XzXz.b.^.zXg.^.:.(Xz.oXzXzXzXzXzXjXzXkXz.b.bXz _Xz _Xz _XzXzXzXz _Xz _Xg.c.V.VXg.V.o.V.V.oXg.c.b.bX*.8.8 ~.`X-X*Xc 1.i UXD t.e a.~.~.e.e a a a.e a.e.aX,X5 c.ZXI aXI",
-".r.r.r.r.r.r.r.r.r e.r.rXt N.rXt.r.r.r.r.r.rXt.rXt.r.rXt.rXt.rXt.r.rXt.^Xz.^XzXzXg.bXzXzXz _.bXz.o.b.bXz.b.^.bXz.b.b.b.b.o.cXgXz.8X5XsXb.@.j nX#.S.lXD UXDXDXMXI.}.aX-XDX1X-.~ 3X-.eX-X-X-.e.a.eXl.,.eXl.u.~ aXMXM x.-XcXG.w.DXDX-X-XI RX-X-XDXIXD R 8.nXm TXcXl.~.`.` ~ F.rXt.r eXj.rXt.rXtXt.rX* ~Xt.r.rXt.r.b eXjXz.^Xz.^.b.^ NXz.^.^.^.^.^Xj e.r.r eXtXtXt eXt.r N e.r.^XzXz.b.b.V.VXgXg.V.o.o.o.o.bXzXzXzXzXzXzXzXzXz _XgXzXz.b.^ e.r eXt.r e.r.r.r.rXj ~Xt.r.r.r.r.r.r.r.r e.^.^ NXz.^.^.b NXz.bXzXzXzXzXzXzXz.^XzXzXzXz.^XzXzXzXz.^.b N.^.^Xj e eXd.b.#XgXg.o.o _.c.o.c.VXg.VXg.o.o.o.bXz.o _.^Xz NXzXj.r e.r.r.r ~.`.`.`X- t.w._.s ^.@ H wX> 0 vXe u 1 a R.a hX-.aX-.D.5X-X1.eXDXK.*.N.).v ^.@X>X>.4Xn ^.sXi b OXcX,.a.8.8XV.rXV.r.rX* ~ ~ ~.r.k.b.bXz _Xz.bXgXg _.o _ _ _.b.b.bXzXj.r e.r.r.rXt eXt.r eXt.rXt.r e e.kXg.b.c.c.c.VXg.o.oXg.o.o.o.oXgXgXg.V.c.c.c.V _XzXzXzXz.cXz _XzXzXz _XzXzXz.bXzXz.bXz.b _Xj.o.c _XzXzXzXz.oXz.o.VXz.^.^Xz.bXzXj e e ~ q.^.z eXt ~XtXt.^.b.^XzXz _Xz _.cXz _XzXz.^XzXjXz.bXz _XzXzXzXz _XzXzXj.^.oXkXkXg./.I.I.b.b _XzXz.bXzXz.b.b.b.b.z Z./.oXg.(.^.^Xz.o.o.^XjXj.oXgXz.b.bXz _ _XzXzXzXz _ _XzXz _.VXg.c.cXg.V.c.VXg.V.o.c.#Xz N.^.8.8.8.8.` R E U E U.e.aX1.e.eX-.e.~.e.e.eX- RXl #XK 1 :XMX5.9",
-".r.r.r.r.r.r.r.r e.r.r.r ~.b.rXt.rXt.r.rXt.r.r.r.r.r.r.r.rXt.rXtXt.r eXjXz.^XzXz _.VXzXzXz.b.^.^XjXz.b.^Xz.b.bXzXz.b NXz.o l.o.^ F.ZXL.) ^X%.j.-.- h.MX,X1X,.K <.a.a 3.eX- 3XD.eXVX-.e.~.e.~ a.~XIXIX- 3XlX-.a c x `.jXK.w.W 8X- a.~.aX- R R R R.aXD.w '.0 gXlX1.`.`.8.8.`Xt.r.r.rXtXtXt.r e.r.r F.rXt.r.rX*.r.X e.^.b.b.b N.X.^Xt e.r eXt e.r.r e.r e.r.r e.rXtXt.r.^Xt e.^XzXzXzXzXzXz.b.b _.bXz.b.bXzXz.^XzXz.^XzXzXz N _.XXz.^ NXj e.r.r.r.r.r.rXt.rXt ~.r e.r.r.r.r.r e.r.rXt N.k N.^.^.^.^Xz.^Xz.^Xz.^XzXzXzXzXzXz.^XzXzXz.^XzXjXzXz N.b.^XjXj e.rXd _.Q.I.c.o.o.o.c.V.o.V.VXgXg.VXg.o.oXz.X.XXzXzXz.^.^ e.r.rXt.r.8.`.`.~.~XI R v 2 2X= 0 2X= 2.N.w t.MX,X-.e 3.}.e 3.uX-.e 3 B., yXp.N.s.@X4XnXp.x.;.@Xf.v 0XnX+X,X- 3.`.8XV.rXtXt.r.r.8 F ~XtXj.b.b.oXz.bXz.c.o.bXz.bXz.b.b.bXz.k eXt.r eXtXt.rXtXtXtXt.rXt eXt.rXt.bXg.b.c.cXg.o.oXz _XzXzXzXz.o.c.c.c.c.cXg.V _XzXzXzXzXz lXzXzXzXzXzXzXz _Xz _Xz.bXz.U.c.b _.b.bXz _.VXz _XzXj.U.V.^Xz.b.b.^Xj e e.r e e.oXt.r eXtXt.rXj N.^ e eXzXzXg.c.^XzXzXzXz.b.o.^XzXzXzXz.oXzXzXzXz.b eXj.^ N N.^.^ N.c.bXz.^XzXzXzXz.^XzXz.b.bXg.b.o.^.^.o N.b _.bXz e e eXg.bXz.b.^XzXzXzXzXz _.bXzXzXz _ _Xg.c.c.cXg.cXg.V.cXg.c.c.U _Xz.^.r.`.`.`X-.` Xe h a.eXD.a.e cX1.~X1.} R aXD.eXI #.~X-.aX-X, c 3",
-".r.r.r.r.r.r.r ~.r.r.r.r.r N.r.r.r.r.rXt.rXtXt.r.r.rXtXtXt.r.rXt.rXt.r.^XzXzXzXzXz.cXz.^.^.b.^.^ eXj N.b.o.z.o.bXz.bXzXz.o.cXg N F c.).WXq z k.- 1 U.M.D R $.}X- RXI R aXD.e R.u.eXV.e.~X-X-.e.~.a.8.~ c.K.e.u #XMXKXUXGXa.D a aX-X-X-XD.e aX- RX1 8Xa.wXOXc R R.`.8.8 ~.8.rXtXtXt.rXt ~XtXt ~ F.8 ~.8.rXt.r.rXzXtXz.b.bXz.b.^ e e.r eXtXt.r.rXt.rXtXt.r.r.r e.rXt.r.^.^Xt.bXzXzXzXz.bXzXzXzXzXzXzXz.bXzXz.b.b.bXz.b.^Xz.b.oXg N.bXz.k e.r.r e ~Xt.r ~.r.r.rXt.r.r e.r e.r.r.r.rXt.^.^.^.^XtXtXj.^XzXz.bXzXz.bXzXzXzXz.^Xz.^.^XzXzXz.^Xz.^.X.^XjXt ~ ~ e ~Xz.c.U.o.o.VXg.V.V.V.c.V.V.V.o.VXg.bXz.o.b.^ N.b.^Xj.r.r.rX* ~ F.8.`.`.`.~ BXl.s / /X= /.N.N.N U R.~XD.e.a aXI.uX-.e.u T D.eX, 1 UXLX>Xh MXnX> S.+.J 0 2Xn y.a.a.}XI.8.8.r.r.rXtXt.rXt ~.rXt.^.o.bXz _.b.b.U.V.bXz.V.b.bXz.b.^ e.rXt e.r.r e.r.r.r.r.r.rXt eXtXtXjXgXgXzXg.cXz _ _XzXz.b.bXzXz.o.c.V.b _.V.V.oXzXzXz _Xz.b.cXzXz.bXzXzXzXzXz.bXz.bXzXz. .U.cXzXzXz.oXzXzXzXzXz _.c.^.b.b.b.^ e.r eXjXj.rXj ~Xt.r.r ~.r e.r e eXjXjXz.^.c _ _XzXz.b.oXz.^ _.b.b _Xz _Xz _XzXz.b.r e.k.^ N.^.b NXg.^.b.b.b.^XzXjXj.^XjXjXj e.^Xj eXj NXz.b.^.^.^ e e eXk N.b.bXz.bXz _XzXz _ _XzXzXz _.oXg.VXg.c.cXg.VXg.V.c.c.c.U.c.^ N ~.8.8.8X-.a.F._ U.i.MXD aX- DXl.e 1 : 3.eXJXDXD :XM.a x :.e.e $",
-".r.rXt.rXt.rXt.r.rXt ~Xt.rXt N.r.rXtXtXt.rXt.rXtXtXt.rXt.r.r.r.rXt.rXtXj.^XzXzXzXz.UXzXzXz NXjXt.rXzXzXz.IXg.#.^.bXz.bXz.b lXg.^ F : n.y.h.T.[.-Xq $XDX,.aX,XI.a hX1.aXlX3XlXIXI c RXI.~.e.~X- aX-.a 3X-X*X- #.K `.- y.w.ZXI B.~.~X-X-X1.e B.*.aX,.Z.n.n m.Z RX1.`.8.8 ~ F.r.k.rX*Xt.rXtXt.r.r.8 F ~.8 ~ ~ ~.r NXj.b.bXz NXz e.rXj.r.rXtXdXt ~.r.r.r.r.r ~Xt.r.r.r e.kXj.r.^.^.^.^.^Xz.bXzXzXzXzXzXzXzXzXzXzXzXz.^.bXz.bXz.^ l.b.^.b.^Xd e.rXtXtXdXt.r.kXtXtXtXt.kXjXtXt.^XtXj.kX*Xj.^.kXj.^.^.kXg.XXg.b.oXgXgXgXg.o.o.o.oXgXg.oXg.o.oXg.X.o N.^.^.^.^ lXgXz l.c.#.U.U.U.U.U.U.U.U.#.U.U.U.U l.V.z l.oXgXgXg.b.^.^.k.^.k.uXV.HXV.8.8XI.w s O.s.s.s.sXs.ZX, c T.u R.MX1.a.a.` :X1 c.2.a.a CXs.; z.h M M.T.+.x vXn.s.qXGXJXl.`XIX*.KXVXtX*.r eXt.r.rXt.rXj NXzXzXzXzXz.UXzXzXzXzXzXz.b N eXtXtXtXt.r e.rXt eXtXt eXt.r.rXjXjXzXk.b.b _.b.bXzXzXzXz.bXzXzXz.b.b.bXz _.b _XzXzXzXzXzXz.o.o _.bXz _.bXz.bXzXzXz.b.oXz.U.6XgXzXzXz.bXzXz.b.bXz.b.UXz.bXzXzXj e e.^XjXt e eXt e.r.r e.r.r.rXj.r e.^.bXz.UXzXz _XzXzXzXzXzXz.bXzXzXzXzXzXzXzXzXz e.r e eXt eXtXz.^.^.bXz.^ N.b.^ e.r eXt.r e.r e.rXj.^.b NXz.^Xj e.r.^.oXz.bXzXzXz.bXz _XzXz _Xz _Xz.oXg.oXg.V.V.o.V.c.c.V.c.o.I.o.c.b.^.r.8.8.`.a c.g._ h.a a a.e.~.~.` #.` # R.e.5X,.~X5.a.e :X3.e.a k",
-"Xt.r.r.r.r.r.r.r.r ~.r.r.rXt N.r.r.r.r.r.rXt.rXt.r.rXt.rXt.r.rXt.r.r.r.kXzXz.^XzXz l.bXz.b.^Xj e e.^.^.^.b.b.o.^.bXzXzXz.b l.c.b.H `Xc.1Xp.T nXK 1Xq.aX,XI RXKX, 1XD :X,.%Xc : D ` D c 3XD 3.eX-X- 3 3.a.u 3 #.lXcXJ.w.w.w.*.~X-X- RX- R a R.a.D.Z.w.w.wXO RXI.`X-.H.8.8.`.u.8X* ~XtXtXt.r.k ~ ~ F ~ F.8.r.8.r NXd.X.b.X.b.^Xj.kXdXd.r.rXt.r.k.r.k N N.^.X N.^.b N NXx.X.b.X l.z.z.QXg l.c l.U.c.U.c.c l l.c.c l l.U l l.U l.I.o.zXg.X.b N.b.X.k.k.^.k.k.^.^.k.^Xd.k.^Xj.k.^.k.^.^.kXjXj.k.^.^.b.o.X.b lXg.o.b _.b.b.b.o.X.o.b.b.b _Xz.b.^.^XjXjXtXjXd _.Q.o.b.U.c.c.c.c.c.c.c.c.c.c.c.c l.c.o.b l.o.b.X.b.b.^XjXjXt.kXt.r.H.8.H F.H.8X1.'.W.sXL.dXs C 8XI.u.u.ZX1 R 3XD R.,X5 'X1XlXIX, $XrX>X+ z.L.+.T.EXf o.@XGXw T.]X. ( Q 5 f Q.AX@Xx N N.X N.X NXg.U.U.U.U l.c. .U.U.U.cXk lXgXg.^.k N.^.^.k.k.kXjXtXj.k.kXj.k.^ N.b.b.z.o.b.b.b.bXz.bXzXzXzXzXzXzXzXzXzXz.bXzXzXz.^XzXzXzXz.c.oXz.bXzXzXz _Xz.o.^.oXz.b _.^.oXz.^.o _.bXzXz.bXzXz.b lXz.bXz.^XjXj.^.^Xt e ~Xt e ~.r eXt.r e ~ e.r e.^.b N.VXzXzXzXzXz.bXzXzXzXz.bXz.b _ _.^Xz.^.^ e.r eXtXj.rXt.^Xj eXjXj.^Xz.bXj e e e e e e.r e.r.rXtXj.^.^Xt e.r e.r.o.b.b.b.b.b _XzXz _ _XzXz _ _.o.o _.VXg.VXg.c.VXgXg.c.c.#.V.c.b.^.r.` ~.` a $XG E U a a.e.e.~.~.~X- c.e.e.~.eXI.e.e.~ a.eX- a aX-",
-".r.r.r.r.r.r.r.rXt ~.kXt ~.r.X.rXt.r.r.rXt.r.r.r.rXt.rXt.rXtXtXt.r.r.r.^ NXzXz.oXz.b.o.^ NXj.rXtXj.b.^.b.^.o.^Xz.b.b.b.b.bXgXg.^.HX1XB.TX<.T.-XK $X,.aXD R.'XDXJ : k cXK : c : DXK.a.eX-X- 3X1.eXIXD.a.} # # `.[ y.wXL.ZXD R.~ RX-X-XDX, R $.9Xc T gXO m.`.HX1X*.uX*XV ).z.kX9.X.5 NX9.5.K.X N.k.kXtX*.k.k.^Xx.XXgXg l.b.^Xo.^Xd.rXt.r.XX9.k ~X*.r.kXtXtXt N.^.kXtXj.^ eXt.^Xz.^XzXzXzXzXzXzXzXz.^Xz.^.^.^.^.^XzXz.^Xz.^XzXg.^.^XzXd.k.^ ~ ~ e.r.rXx NXtXt.r.r e.r.r.rXt FXt.rXt.r ~.r e ~ e.^.^Xz.^XdXz.b.oXzXz.bXz.^Xj.^.^XzXzXzXz.^ eXdXt eXjXtXg ~.^ eXz.o.V.o.VXg.c.VXg.V.o.VXg.V.V.o.bXz.o.oXzXz.^.b.^.r.r e.r.r.r F F.8.H.~.H.~.wXL.N._.N t t R 3XI.e.`XD BXlXJX-X5 DXl.~ $ c 1 n.[.W.;.TXrX2 ^ 2.v O b.9.ZXI.XXdXxXoXdXxXxXxX9Xj.r.r e.rXjXj.^.b.b _ _ _.o.c.b.b.o.o.b.o.b.b.k e.k.k.kXjXjXt.r.rXt.^.k.^.b.bXgXkXg.IXg.U l.c l.U l.U.c l.U.U.U.c l.U.U.c.c.c.c.c.cXg.c.o.#Xg.o.o.VXgXg.o.^.o.c.6. .bXzXz.bXzXz _XzXzXz.b.bXzXz l.o.^Xz.b.^.^.^ N.k eXjXjXj.r.r eXt ~Xt e.r e e.^.b.b.o l.b _.bXzXzXzXz.b.bXz _XzXzXzXz.b _.bXj e.r e.r.r.rXj.^.r e.rXj eXjXjXj.r.r e.r.r.r e.rXt e eXjXt.r e F e e.rXz.bXzXzXzXzXzXzXzXz _XzXz _Xg _Xz _.o.c.c.c.V.c.V.cXg.U.c.c.V _XzXt.8.8.r.e #Xq U.} <.e.e.e.e.e.~.~.e.e.e a aXI.e a.e 3X-.e.e aX-",
-".r.r ~.r.r.r.r.r.r ~.r.r.r ~.^.k ~.r.r.r.rXt.rXt.r.r.r.r.r.r.r.rXt.r.r.^Xz.^Xj.^.b.b lXz.b.^.k.^.^.b.^.b.b.^.b.bXz.^.b.^.bXg l.b.r.u.1Xr.j.TXw.YXc h $ aXDXD.MXD x.~XDX- cXI R 3 $.u.uX- :.ZXI.uX, $Xl c.l `X7XH nX0.j oXG s.D.DXDXDXD RX,XD sXl.!X$.O YXy.]Xl ) 5X9 ).8 } 5.$ q.f q q.&.r.k FXt ~.8 F.8 ~ ~.r.kXg.X.^Xz ~ ~ e ~.` F ~.r ) NXx.8 F.8 ~XjXtXj.^ N.^Xj.k.^.rXdXz.^.b N.bXz.b.b.b.bXz.b.b.b.bXz.b.bXzXz.^.^XzXz lXz.^.X.b.bXj e.r.r.r.rXt N.z ~Xt.rXt.rXt ~.rXt.r.r.rXt.rXtXt.r.k.b NXz.bXzXzXz.^XzXjXzXzXz.bXzXz.b.^.^XzXd eXj e.r e.IXg e.r e.o.VXzXz _.oXg.VXg.V.c.V.o _XzXzXzXzXg.b.^XzXz.^.^Xt e.rXt.r.H ~.8 F.8 F.`.`XD x.W.) u.*.*X1X-.8.~ DXl RXcXlXD.e.e.D cXJ `., s M = M.4X> .X=.v OXG.0X-.H.r.H e.rXd.r ~.r e.r.r e.r.rXjXj.^.b.bXzXz _ _Xg.b.o _ _XzXz NXj e.8Xt.r.r.r.r ~ F F.rXtXtXtXj.^ N.bXz.cXzXzXzXzXzXzXzXzXzXzXz.bXzXzXzXzXz.b _.b.b.b.b.b _.b.I.oXg.oXg.o.o.c.c.c.U. iXg.U.U.U.c.U.U.c.U.U.cXk.cXg. .c.cXgXg.o.X.o.o.b N.b NXj.^.^ e.r e ~ ~ e ~.^.^ N.^.o.b.^.^XzXz.bXz.bXzXz.bXz _.b _.bXz.b.^ e e e.r e.r e.k.^.r e ~Xj.r.r.r.r eXt e e.r e.rXt e.r.r.rXj.r.r ~.r.r e N.bXz.bXz _ _ _.b _ _Xz.b.VXg _Xz.V.VXg.cXg.c.cXg.cXg.#.c.V.c.oXzXt.r.`.r.e #Xq E U a.e.eX-.~.~.eX-.~ a.`.~ c.H.~.~.eX-.e.~.e.e.e",
-".r.r.r.r.r.r.r.r.rXt.rXt.r.rX* N.r.r.rXtXt.r.rXtXt.rXt.rXtXtXtXt.r.rXtXt.^ NXz.b.^.bXg NXz.^XzXzXz.b.^.^.bXz.b N.o.oXg.o.oXk.UXk.5XI.Y.. v.1.1.- k ` x c c $ $ $X5XM.5.uX, 3 R 3XD R cXIX3XJ.3 m.HX1X,XDXM # .[X8X> w.; vXa.wXs R B.e.* a.e.D.Z.'XU.Z 4.k.2 q.uXJ.R.$ ~ q 5 I q.A q.X 5XtXtXtXtXt.r.r.r.rXtXj.kXg.^.b.^ e N N.^ N.k FXtX* N.r.r.5.r.XXj.X ~.zXkXgXkXgXk.r e.^.b.b.^ _Xj.bXzXzXz.^Xz.bXzXz.bXz.^.b.b.b.b.b.^Xg.^.b.^.^ NXd.r e.r.r.k.r.r F.k.r.r.r.r ~Xt.r ~Xt ~.r ~.r.r ~ e.^.^.b.^.b.^.b.bXz.b.bXzXz.^.^.^Xd.^.b.^.^ e ~Xj eXj.z d.I F eXz.b.oXzXzXz.VXg.VXg.VXg _ _XzXzXzXzXzXg _XzXz.^.b.^Xj e.r.r.r.r ~ F.8 F.H.8X1.~ s.w.)Xs t RXD.8X1.e c m.~ 3.a aX- R RXKX5XD.e x.M.Y JXnXfXnX=.v.s v 9.Z.H.rXt e FXd.rXtXtXtXtXt.rXj eXtXj N.b.o.o.bXzXz.oXgXz _.b.b.b.bXzXj.r F.r.rX*.r.r ~ F ~.r.r eXj.^Xz.b.b.oXg.b.b.bXz.b.bXzXzXz.bXzXz.bXzXz.b.bXzXz.bXzXzXz.b.bXz.cXzXzXz.bXz _Xz.bXz.^.#.U.b.^XzXzXzXz.bXz.oXz.o.o.b.o.z.o.o.o.o.o.o.o.o.o.XXgXk.o.zXk.^.zX@.b N.b N.UXkXgXg.6 l.c.cXgXg.V.o.o.o.b.b.b.b.^Xz.^XzXz.^.r.r.r.r.r.r ~.^.rXtXtXtXt eXtXt.r.r.r.r.r.r e.r e.rXtXtXt.rXt ~.r.r e.^.^.bXz.bXzXzXzXzXzXz _ _Xg.c.o _.oXg.c.c.V.V.V.c.cXg.c.#Xg.V.c _.b.^ ~ ~.8.` cXq U U.e aX-.e.~.~.eX*.~X-.a #.uXI.~.e.~.~.e.e.eX-.e",
-"XtXt.rXt.r.r.r.r.r.k ~XtXt.r.r N.r.r.r.r.r.r ~Xt ~.r.r.rXt.r.rXtX*.kX*.^ NXgX9XgXgXg.I lXk lXkXkXkXg.UXk.IXu.U.cXgXgXgXg.o l.UXg.k 3 v.W...;.1Xc `.i hX, B.a.a R R R.aXI.a R.eXIX- aXDXDX1.,.3XD.H BXV 3XX # >.[ 0.P 0X>XCXG sXa.ZX1 tX- t R.Z.w.'XO B.2X1.u.`.8.8.r.8X*.uXtX*.^ q.kXt.rXtXt.rXt.r.r.r.rXt.r.rXt.o.^.bXj eXgXg.o NXk.`Xk N.z.kXtXk NX9.oXj.^.z.cXk.z.o l ~ e.r.^.^.b l.^.b.bXz.b.bXz.b.^.^XzXz.bXzXz.^.^.^.^.c.XXgXg.XXz e.k FXtXt F.r.rXtXtXk.IXtXt.r ~.kXtXt.rXt.rXt.r e.k.^.^.b.bXd.b.^.#.^XzXz.^XzXzXz.^.bXz NXjXt e ~.^Xj.^Xj.QXz.r e.IXj.bXzXzXz.o.c.o.VXg _ _XzXzXzXzXzXz.cXz.bXz.bXz NXj.r e.r e.r ~ F F.8Xx.uXVXlXD.E.)Xe.M.eX1.~.H RXI R.eX-X- a a.e R R.eXDX, $XK U.W.. 0 0...s v.E TX-XV.r.rXj.r ~.r.r.rXt.rXt e.r.r e.k.b.bXg.o _XzXz.VXg _.b _.b.bXz.^.r ~ ~.r.rXtXt.r.r.r.rXtXtXt.^ N.b N.b.o.o.b.bXz.bXz _.b.bXzXz _.bXzXzXzXzXz.^.bXz.bXzXzXz.b.o.VXz.bXz _Xz.bXz.U.oXz.bXzXz.b.b _.b.bXz.bXzXz.b.bXz.b.cXz _ _XzXz.bXz.b.b.b.b.b N.r eXkXgXjXjXtXt e N.^Xj.^Xk.b.b.o.o.o.o.oXg.c.c.U.c.U.U.U.U.UXkXg N N.b N N N NXx.k.kXtXt.rXtXt.r.r.rXt.r.r.r.r.r.rXt.r.rXt.rXt.rXj.r.r.X.b.b.b.b _.b _Xz _XzXz.o.cXg _ _Xg.c.c.c.c.V.c.VXg.V.U.c.c.V.c.VXz.^Xt FXt.eXM._ E.} a.e.~ R.~.e.~.e.eX*.` R.`.~.e.~.e.e a.~.e.e.e",
-" ~ ~.r.r ~.r.r.r.rXt.rXtXt.kXj.X.K.^.k.^Xo N N NX9.XX9.X NX9.X.X.^ N.^.^.^.^Xz.o.b N.oXgXz.b NXz N.^.b.bXg./.o.^XzXz.bXzXzXg l lX* 3Xs.s ^ MX0XK V h 3 h 3XD.M.a RX-.uXDX-.eX1.a R.a #Xl K.,X-X1XV.~.u 3XM.lXBX2XA.v.BXfXr W y v.w.w.ZXI.*XD.w.w.!Xl.n :.~.u F.8.8.rX*.rX*.rX*.r 3Xt.rXjXt.r.r.rXtXtXtXt.rXtXtXt.o.^.b.^.r.^.kXt.^.kXt.r ~ ~.8Xt ~.k ~XtXj.r e.^.b.bXj.oXdXj eXzXzXx.o.bXz.^XzXzXz.^Xz.bXzXz.^Xz.b NXz N.bXz.z lXg.I.(.X.b eXt.r eXt ~Xj.rXg.^ ) 7.kXt.r ~.8 F.kXt ~ eXtXj.^.^ q.^ e.b.b. .b.b.^.^.^.bXzXjXz.bXd.^ e ~ e e.b.^.bXz.^Xd e e.RXz.bXzXz _.V.V.V.o.V _ _XzXzXzXzXzXz.VXzXzXzXzXzXz eXt.r.rXt.r ~ F.8.r.KXo.| 'Xc.> yX> =XDXKX-.~ 3.a RX- a.e.e a t.eXDX, 3 cX,.wXs CXL.v 0.s H.EXHX5 `.5XkX9 NXtX*X*.rXtXt.r e e eXt.rXj.b.bXg.c.o.o.bXg _Xz _.b.b.b.^Xj e F ~X*XtXt ~ ~.rXtXt.rXj.^.^Xz.b.bXz.c.o _Xz.b _.bXzXzXz.b _.bXz _Xz.bXz _ _XzXzXzXzXzXzXzXg.bXz _XzXzXzXz _.#Xz.bXz _Xz _.b _.bXzXz _.b.b _.b.b.c.o.bXz.bXz _XzXz _XzXzXz NXjXjXj N.I.z.k.r e.rXj e ~.^.^Xz.b.bXzXz.bXz.^ _XzXzXzXz.^Xz.^.^Xj e e eXtXjXjXtXj NXj.k.^.^ N N.^.K N N N N N N N N N.^.^.^.^.^.k.k.kXjXd.b.b.^.^Xz.bXzXzXzXz _.o.c.c.V _.o.cXg.c.c.c.c.c.cXg.c.#XgXg.V.c.VXz.^Xt.r.8.` #Xq U h a a.e.K.`.~.eX-X-.8.}X9.~.e.~.e.e 3X- a.e.e R",
-" N N N NX9 N.XX9 N N N N N.^.k N.X.kXtXtXtX*.rXt.r.r.r.r.r ~.r ~.r.r.r.r.r.rXj.^ NXz.bXk.b.bXzXz.bXzXzXz N.o.b.b.bXz.b.bXzXg lXg.k.8 v 2.v &X<XB `.}.aXlXc c.a RX, cX-Xl.aXD.e.}X-.e R : xX3X.Xl.8.~.K 3 h.l.F W.J.4XbXfX:X>X0.E 9XLXa x U.Z.w.0 gX1 D 3.`XV.`.8 ~X*.rXt.rXt.rXtXj.rXt e ~Xt e.rXt.r.rXt.rXt e.r N.^.b.^ e eXj eXt e.rXt ~ ~ ~.r.XXx eXt.r eXj.^Xz N.^XkXk.^.^Xx.I AXzXz.^.b.bXz.^.bXg.I.I.XXz.b.^Xz.b.bXz.^Xg N.bXdX@X ~ e.rXt ~Xt.rXt.r ~Xj ~.z 7.r N./.&Xk ~Xt.rX* e N NXk.7.t.7.t.&.c.^.^.b.bXz.b.^.^.zX .t.^.r eXjXj.o.^XzXj _ e A.tX&XjXzXzXz _.o.cXg.V.c.VXzXzXzXzXzXzXz.cXz.bXzXz.^ N e.r e.r.r e.r ~ F.8X*.r.uXD RXe.E v.W.M.H.`.~ a R 3 BX-X- BX- B R.aX1 1 hX,XDXDXs.sXL o b &XJ ` k q 5 f.$.AX*X*.r.rXtXt.rXt.r.r e eXj.b.b.c.c.VXgXg.c.oXz.b _Xz _.^Xj.r ~.r.r.r ~ ~.8 ~Xt e.r.r.k.^.^ NXz.^.UXz.bXz.b _.bXzXz.b _XzXz _XzXz _Xz.bXzXzXzXzXzXzXzXz lXz _XzXz.bXz _.^.oXzXz _Xz.bXzXzXzXz.b.b.bXzXz _Xz.b.c.b _Xz _ _XzXz.b.bXz.^.bXj e.r e.r.r ~ e.r eXt.rXtXt.^Xj.^.^XzXz.b.bXzXzXz.b.bXz.b.b.b NXzXj e e ~ ~ ~ ~ ~Xt.k ~ ~.r.r ~Xt.r.r.r.r ~.r.r.rXtXtXjXtXjXj.k.k.K.^.^ N.XXg lXk.U.U.U.c.c.cXg.V.U.U.UXg.o.V.c.VXg.cXg.oXg.V.c l.#Xg.V.c.V.c.b.b.^ ~.8.a 3Xp EX, aXI cXIX-.~.e.e 3Xl.K.~.~X-.~ a.e 3X-.~.~.e.~",
-".rXt ~Xj ~XtXtXtX*Xt.r.rXt.r.r.r N.r.r.r FXt.r.r.rXt.r.rXt.rXt.rXt.rXt.r.rXt.r e.^ NXzXg.o.b.bXzXz.^Xz.bXz.bXz NXz.bXzXzXz.bXg l NXV s.s b z nX+.- h 3 k T., ' )XcXlXcX5 1 : x Y.a.a.e BX-.~ a.eXI 3 3 a #XM .[ . 0Xb % %.s.sXi 0 &X>Xp v.n.n Y ( m 5 D )., m 5 I fXtX*XtXt.rXtXt eXtXtXt.r.r e.r e e.r.rXj.^Xz l.b.b.bXz.^.bXz.b.^ e.r e.r.r qX$Xd.kXjXj.b.b.^XjXt ~.R ~.R.&XtXzXoXzXzXzXzXzXz N.X.b.: _.bXzXz.b.^.b.^.b.^Xg.^.rXxXx.:.k.k.rXt.rXg qXz ~ e.r.rXx.k , 5X9.^Xt.r eXt.^ NXzXz.bXz.fX .XXzXo.b.^Xz.^Xz NXd.bXt.:.kXjXjXjXz.^.bXz.^.b.b.:.bXz.b.^XzXzXj _.o.V.V.oXgXg.oXzXzXzXzXzXz.cXzXzXzXzXzXzXzXt.r e.r ~Xt e.8.8.8.8.`.`.*.N b.W.WXDXD.~.`X-X-X- R.e $XD.D.DX1X,X1 $X,.M.MXs.N.WXe.9 sXI.D.5 ~.rX*X*.rXt.r.rXt.rXdXt.r ~ ~ F.r.r.^Xz.o.c.c.c.c.c.# _Xz _Xz.b.b NXj e.8 F.8 ~.8.8 FXtXtXtXtXt.rXjXt.r e.^Xz e e.bXz _Xz _XzXzXz.bXz _Xz _XzXz _.bXzXzXz _.^ _.b.cXz _ _.b i.UXzXz _Xz.bXzXzXzXz.bXz _.bXz.b _Xz.bXz.o.c.^ _.bXzXz.bXzXz.bXz e eXt.r.r.r e e.r.r.r.r.r e.r.k.^.r.^.b.b.^Xz.bXz.^.^.^Xz N.bXzXzXz.rXt.r ~ ~ F ~Xt.r NXtXj.^XjXj.r.r ~ ~.8 F F F.8.8.r.r.r.r.r.r e.rXt.rXtXt NXt.^Xz N.bXz.bXzXz _.V.oXg.oXz.VXg.c.V.V.V.V.V.V.U.V. .c.U.#.U.U.#.cXkXk.XX*.K.-Xq.iXD.a.8X-X9.e.~.~.e.e.e 3.}.e.~ a.e a.e.a #.eX-.~",
-".rXj.r.r ~Xt.r ~ F ~XtXt.r.r.r.rXt.^ ~.rX*.rXjXt.rXt.rXt e.rXt.rXt.r.rXt.r.rXt.rXj.^ N.oXgXzXzXzXz.bXzXz NXz NXz.^XzXz.bXz.b.b lXx.HXl v v.;X<.-.,.Z.}X,XDX,XI.Z c aX- a <XD.M 3 xXDX, 3.e.eX-X-.eXl.e ` x #XBX7.. %XF *.d.) *.sX=.@.4.jX>XL ' g.].`XV 3 3 $X*X*.k.K ~.rXtXtXtXt eXtXj.^XjXjXtXtXjXjXjXjXj.^Xz.bXg.o.bXz.bXz _Xz.b.^Xj e.r.rXd q.7.XXd N.bXzXz.b e.rXt.K.r f q.r.b.bXz.bXzXzXz N.^.o.X.:.^Xo.I.bXzXz.^Xz.b N.bXd.r.|X9.:X9Xt.rXt ~Xk.8.z.r.r e ~X9.5.k.:.A ~.rXtXt.^.oXz.^ N.b.^ Z A.k.bXz.b e e e.^.^.^.k.k.:.^.^.b.^.^.^.b.b.^Xz.b.:.^XzXzXzXzXzXzXz.b.VXg.VXg.V.o _ _ _.b.b.b.UXz.bXzXzXzXz.^Xj e.r e e.r.r.r.8.8.8.8.` R.nXe.)XLXD 3.eX-X-.e RX- RX,X1 8XD.D.MX,.M.Z R.NXeXL.w y.'X1 3.8Xo.u.k.r ~.uXtXdXd F.r.r.r.r ~ F.`.8 eXzXz.o.c.o.c.c.c.I.b _ _Xz.bXzXzXjXt ~.8.8.8.8 ~.8.r.r.rXt.rXt.rXjXjXt.k.^Xj.^.bXz.bXz.bXz _XzXzXzXzXz.bXzXz.b _XzXz _XzXz.b.o.VXzXzXzXz.#.oXz _Xz.bXzXz.bXzXz _.b.bXz _ _.b.b.b.bXgXgXz.b.b _XzXz.bXzXzXj e.r e.r e.r.r.r.rXt e.r.r.rXj.k.^XtXj.^.b.bXz.^Xj eXjXz.bXz.b.b.bXj eXt ~.8 F F.r.r.^.^.^.b NXzXz.^.^XjXt.r ~.8.8 ~.8 ~.rXt.r e.r eXt eXt.r.^XjXt.r.^.^.b.bXz _.V.cXg.c.V _.o.V.V.c.V.c.c.V.V.c.V.U.U.V.c.o.c.c.o.^Xz NXt.8.} 1 E.i.}X-X- cXV.`.8X1 3 3 3 hXI.} RX1 3 c aX-X,.~X-.e",
-".r.r ~XtXt.rXtXt.kXt.r ~.rXjXt.r.r.X.r.r.rX9.r.rXt.r.rXt.r.r.rXt.r.r.r.r.r.r.r e.r.^.bXzXk.^Xz.^.bXzXz.bXzXzXzXz.b.b.^.bXzXzXzXgXg.uX,.'.s.@.1X7 [ hX,.iX5X,XD :.2Xl.Y :Xc : ` mXJ :Xc c.eX-X-.e.~ c.e h #.l.l.[X4XF p t < t U U 0 %...@XrXG TXO.k B.`X-.`.8X* ~Xt.rX*Xj.rXt.r e.r.^.^.b N NXz.^.^.^ N.^XzXz N.b.bXgXz.b.bXz.bXz.bXz.^XdXj.r.r.z P.f.b.b.bXz.bXz.k.k F.^.k 7.^.k.b.^.bXz.bXzXzXzXz N./ Z.b.Q AXz.^XzXz.b.^ NXz.X fXt.r f f.rX* ~XtXt.rXzXtXt e.k P.K.rX9.tXt ~ e.^.^.b NXz.^.bXg.:X@.b N.^Xj e eXj e e.b.^Xk.: NXd.^XzXz.^XzXz.^XzXd d.Q.6.^XzXzXzXzXz.b.VXgXg.VXgXgXg.o.o.V.V.V.UXz _XzXzXz NXzXj e.r.r.rXt.r ~.r.` ~.`.`XlXG.W.NXeXD x.a.a R a a.a aX,.} R.M R.M t 8 v.N.W.s v M.> :X5.5 )./.k )XtX9 q.k.$ (XxXk N.r F.8 F ~.rXj.b _.V.cXg.c.c.U.#.o _.bXz.bXzXzXt.r F ~.8 ~.8.8 F.rXt.rXt.r e.rXt.r e.^Xz.^.b.b.b.bXz.bXzXzXzXzXzXzXz _Xz.b.b _Xz _Xz.oXzXz.V.o.bXz _Xz _XzXzXzXzXz.bXz.bXz.b _.b _.b.b.b _ _.bXz.c.oXzXz.b.bXz.bXzXzXz e.r e.r.rXt.r.rXtXtXt.rXtXt.rXj.^XjXt e.^.b.^Xj e eXj.^Xz.bXzXz.^Xj.r.rXt F F ~ ~ e.r NXt N.b.^.b.^XzXzXzXz.^ e.r F.8 F ~.rXtXt.r.r.r.r ~Xt.r.^.rXj.r.bXzXzXz _ _.V.cXg.c.o _.V.V.c.c.c.V.c.c.c.c.o.#.V.U.c.V.cXgXz.VXz.^X*.8XM U U a.e.e R.e.e.e.e.e.eX- aX-.eX1.~.`.HXI.`XIXIX-X5",
-" e.r.r.r.r.r.r.r ~.r.r.r.r.r.r.r ~ NXt.r.r N.KXt.r.rXt.r.rXt e.r.rXtXt.rXtXt.rXt.r.^.b.^Xg.bXz.bXzXz.bXzXz.bXz.bXz.bXz.bXz _.b.oXk.K c y yXn.TX#Xw k., :XcXJ :Xl 1Xc #.Z.MXDX, 1 $XD R.eX-.e.~X-.~.k.e 3 a.l.lX7Xn p p u.a hXl $.)...s . yX0.n.2XdXV.`.~.8.`X*.8X*.rXtXt.r.k.rXtXt.^ N.b N.b NXz.b.b.b.bXz.b.bXz.b.c.^ _XzXzXzXzXz.b N.^Xt e.X.X.t 7Xk.^.bXzXzXzXj.r.kXt 5.7./Xd N.bXzXzXzXzXz N.^.c.t.t AX .o.o.^.bXz.bXz.^ NXxXx.5 NXxXx.X F.k.r.r eXt ~.r.r.bXxXk.rXt.k FXj.kXzXz NXz.b.^.b l.I l.bXz.^ e ~ e ~ e.r.rXt.XX9Xj e eXjXz.^XzXzXzXzXz e.o.^Xz.^XzXzXzXz.o.VXgXg.o.c.c.c.c.cXgXgXg.UXzXzXzXz.bXzXz.^ eXt eXt e e.rXt F F ~XIXD s.sXs.).M x.a R u.M.W U U.M.WXe.N U.WXs 2Xe.sXL vXp $XK DX..A ].RXtX@ q.| qX@ ]X@.t.RXxXt ~.8 F F FXj.b.bXg.c.V.c.c.U.UXg.o.bXz.b.bXz e.r F.8.8.8 F.8 F.r.r.rXtXtXtXj.r eXt.o.b.b.^.b _.b.b _Xz.bXz _Xz.bXz.bXz _ _XzXzXzXzXzXzXz.cXz _ _ _XzXzXz.bXz.bXzXz.b.b _Xz.b.b.b _.bXz.b.b.b.b l.b _XzXz.b _XzXzXz.^ e e e.rXt.rXt e.r.r.rXt.k e.r.r N.rXjXjXj.^ e e.rXjXjXj e eXz.^.^ e e.r ~ F F ~.rXtXt NXj.b NXzXzXz _XzXzXzXz.^Xj.r F F ~ ~.rXt.rXt.rXt.rXt e N.rXj.rXj.^Xz.b.V.c.c.c.V.c _ _.c.V.c.V.c.c.c.cXg.V.c.#.o.V.VXg.V.c.c.^Xz NX*.8 ` h U.d a a a.e.~.e.~X- aX-.} a.e.e.eX-.e c.`X1XI $XlXl",
-" ~Xt e.r.rXtXt FX*.r.rXtXt.r.r.r.r.k.KXgX9.t.kXtXtXt.rXt.r.r.rXt.r.r eXt.r.r e.r.r.^.^.^.o.o NXzXzXzXzXz.bXz.bXzXz.b.^.bXz.b.^.^.V (Xc.O.+.; =.T.S [Xc.} $XD R 3 aXD.e.a a a a.aX- a.aX-XI.e.e.~.e.KX-.} 3 #.l >X%.@.pXp.1 mX3Xc xX4.@X>X0 TX$ ! ].8.` R.`.8X*.8Xt.r.rXtXtXj eXj e.^XzXzXz.b.b.bXzXz NXz NXz.bXzXz.U.^XzXz _XzXz _XzXzXz.b.rX@ NXkXg.b.b.^Xz.oXz.^.r.rXj N.rXt eXzXzXzXz _XzXz.b.oXj.^.bXdXzXz.^Xz.bXz N.b.kXj.^.r ~Xt ~Xt ~Xt ~.rXj ~Xt ~ e.r.r ~Xt.r.rXt eXtXj.^Xz.o.^.b.^XzXzXj.b.^.^Xz.^Xj e e.rXj.r.r e ~ eXt e e.^.^Xz.^.bXzXj _XdXzXzXzXzXzXz _.VXgXg.VXg.VXg.VXg.V.V.o.o.#XzXzXzXzXzXzXz.b.o.X N.^Xt.rXoXd.H.r.`.8 RXLXe /Xs.).w C.M.W.= 2 v 2Xa.sXe v v.=.W.W.s x.s v.MXIXIX*X*.k.k N.rXd.k.r.kXV.rXd.rXt.r ~ F F.8.r eXj.b.o.V.c.VXg.c.#.c.c.o _Xz.b.b.^ e.r F.8 F.8.8 F.8XtXt.rXt.r e.r eXj.^Xg.b.bXz.b _.b _.b.b.bXz _XzXz _ _Xz.bXzXz _XzXzXz.V.^.UXzXzXzXz _XzXz _ _XzXz.bXz _.b.b.b _.bXz _.b.b.b.b _.cXz.oXz.b _XzXz.bXzXzXjXj.^Xt eXtXtXt.rXt.rXt.^ NX*.^ NXt.r.r eXt e.r.r e e.r.r.rXj.^Xt.r eXt ~ F ~.r.r.r.^.^.^ NXz _Xz _XzXzXz _Xz _XzXj.r F.8 F ~ ~.r.r.rXjXt.r.^XjXt e eXj.^ _Xg.VXg.c.c.V.c _.oXg.V.c.c.c.V.c.V.c.V.U.UXg.cXg.c.c.oXgXz.^.b.r.8 1Xe E U.e.aXI.eX-X-.~ 3.eX- a.e a.e.uX, 3 xXKXK ` 1.i.a",
-"Xt.r.r ~.r.k./ ,.X.k ~.rXt.r e.rX*.r P q.k.A.^Xt.r.rXt.r.rXt e.rXtXt.r.r e.r.r.r.r.^.^.^.bXkXzXz.bXz.bXz NXz.b.bXz.b.b.bXz.^.^Xd.X.k.kXs y.@X+XH.T., kXBX,.aX-XD.aXD R.e.a t.e.M R.e mXJXl :XDX- ~.`X*.`.}.i.l.[Xr M M nXH c `X3.9.Y.Y & =XU.G D (.eX1.` a.8X*.8.rXjXt.rXj.r e e e.^XzXz.bXz.bXz NXzXzXzXz.bXz.bXz.UXz.bXzXzXz.bXz.b.bXzXzX@Xg.b.b.b.b.b.oXzXz.b eXjXtXt.b.r eXtXzXzXzXzXzXzXz.bXz.o.^XzXzXz.bXzXz N.^.^.^ eXt.^XtXt ~XtXt.rXtXt e.rXt.r e.r.r ~Xt.r.rXt.r.r.^.b.^Xz.oXzXzXz.^Xz _Xz.^.b.^.^.b.r.rXt F FXtXtXtXt e e eXz.^XzXzXzXzXzXzXzXzXzXjXzXz _.oXgXg.V.oXgXgXg.V.oXg.oXg.o.UXzXzXzXzXzXzXz.b.&Xg lX9.QXd.z.R.XXd.kX*.Z s M v 2.W v.W.sXs.) 2.= 2.s vXG.s._ b.9 o.j y 1.aXI.}.u.u.u ~.^.k.r.rXt.rXd.k.rXtXt.r e ~ F F F ~.r.^.oXg.V.cXg.V.c.#.c.c.oXz.b.b.b.^ e e F.8 F ~.8.8 ~.rXt.r e.r eXj.^.b.b l.b.b.bXzXzXz.bXz _XzXz.b _ _Xz.bXz _ _XzXzXzXz.#.I.c.cXz _Xz _Xz _XzXzXz.bXz _.b.b.b _Xz.bXz.bXz.b _Xz.bXg.cXz.bXz _ _ _XzXz.bXz.^.b.bXjXt.r.r.rXtXtXt q.z.zXt.^XtXjXt.r e.r eXt e.r.r.r e.r.rXt e e ~Xt ~ ~.r e.rXtXz.^.bXz.^XzXz _XzXz _XzXzXz.bXz.^ e.r.r ~ F F F ~ ~ e.r NXt e.r eXz.b.o.cXg.cXg.VXg.c _Xg.V.c.V.c.c.V.cXg.V.c.#.o.o.c.o _.c.c _.b.^ NXVX- `.i E < aX-X-.e.e.e.eX-.eXI.eX-.eXlXl ) 1XK U 1.e.e.e a",
-" e ~.rXt.r.8Xk P ~.rXt.r.r.r.rXt ~.$ ,.8X*.KXt.r.rXt.rXt e.r.r.r e.rXt.r.r.r e.r.rXjXtXj.kXg NXz.^XzXzXz.bXzXzXz N.^.b.b.X.^.X.z A.RX3Xc.+.;.EXr.O.[.SXH.M.MXIX- 3 a R : R.e tX- TX- 1 1 mXH.~X1.e.e.uX. 3 # XB.p.@XpXe C hXDX, <.}.N.s.YXw m.H.`.`X1.a.`.}X*.rX*.rXt.rXt.rXj.^Xj.^Xz.b.b.b.b.b.b.b.b.bXz.bXz.bXz.c.b _Xz _Xz _ _.oXzXg A.o.^Xz.b.b.b.^.bXzXz _Xj e e.r.X.rXj.bXzXzXzXz _XzXz.b.^Xz.bXzXz.bXzXzXz.b.b.^Xt.r.r.X ~Xt.r.r ~ e FXt.rXt ~Xt.r.rXt e.r.r.r.r.r.rXz.^.b.^.bXzXzXz.^.bXzXzXz.b N.^.^.r.r ~.r e.rXj.b.^Xt eXjXzXz.b.bXzXjXzXjXzXzXj _.^ _.oXg.VXg.o.VXg.VXgXg.VXg.VXg.V.#XzXzXzXzXzXzXz.^.t.6.(.( Z.XXg.X ].R.A.$X3XJXhXC 2 2.s.W.W.).W.n 9.9Xm.9 s 1.9.j $ = T.2XD.K.5.r }Xk.z.^.5.^.zXdXd.X.X.rXt.rXt.r.r.r.rXt e.rXjXz.oXg.c.c.c.V.c.IXg.U _.bXz.bXzXj.rXt ~ F.8.8.8 F ~Xt e.r eXt.kXzXzXz.o.c.b _.b.b.bXzXzXz.b.b _XzXzXz _Xz _Xz _.bXzXzXz. . .#.o _XzXzXzXz _Xz _Xz _Xz.bXz _Xz.bXz _Xz _Xz.bXz.bXz l.bXzXz _.bXz.bXz _XzXzXz.bXzXt e.r.r.r eXt e.r.r.^.r NXtXt.r eXt.r.r.r eXt e.r.r e.r.rXtXt eXt ~.r.rXt.rXj.X N.o.b.^XzXzXzXz _XzXzXzXzXz.b.^.^.^XjXj.r.r ~.r e eXtXz.r e.r eXz _.oXg.c.c.c.cXg _ _.V.V.c.V.c.c.V.c.V.o.c.U.V.c.o.c.cXg Z i.oXgXxXx.aXM._ E U a.e a.e.~.~.~.eX- 3.e.e.eX1.`X-X-.e.e a.e < a.e",
-".r.rXt.r.rXt q.t ~.r.r.r.rXtXt.r.8.& }.^ ~.rXt.u.r.r.r.r.r.r e.rXt e.r e.r.r.r.rXt.r.r.rXtXg N N.^.^.^.^Xz.^ N N.b.^.X.^Xo e.X.RX@./ : TX> vX> n.1X.XZXHXe.M t.e.ZX,X, $ a 3.e.a T.}.e.e.eX-.~.e B BX- : # # XcXp.sX= u.M a t a t u.)Xe v y #X-.`.`X-.8.}.`.r.k e.r.r.kXj N.^.b.bXz.b.b _Xz.b.bXzXzXzXz.bXz.b.b.^.V.oXzXz _XzXzXz.U.Q.#XzXz _Xz _XzXz _XzXz _Xz.b.^.bXjXgXo.oXzXzXzXz _XzXzXzXz.bXz.^.bXzXz.^.b.bXz NXz.r.k.r N.r.r e.r.r.r.r.r.r ~ e ~ eXt.r.r.rXj ~ e eXjXz.^.^.^.oXz.^Xz.bXzXzXzXz.^Xz.b.rXt e ~ F eXt N.^.bXzXz.^Xz.^.bXz.^XzXzXzXzXzXzXz.b.o.V.V.oXg.VXg.o.c.VXg.o.o.o.VXg.#XzXzXzXzXzXz.b.bXz.bXz.R.bXzXoXdXd.r ~.8.a #XU.9.= vXL.WXL._XG xXD.~ RX-X- BX,XD.~.~X9X9 5 (.&.k.tXxX@X@.& X.t.& fX X@.zXt e.r.r e.rXt.r ~Xj NXz.V.c.V.c.cXg.U. .V.c.oXz.bXz.^Xj e e.r ~ F F.8 F.8XtXt.rXtXjXzXz.b.b.bXgXzXz.b _.bXz.bXzXzXz _XzXzXzXz _XzXzXzXz.oXzXz _.c.cXg _Xz _Xz _XzXz _.bXz.bXz.bXz.bXz.bXz.bXz.bXz _.bXz.UXz.b _.b _ _.bXz.bXzXz.b.bXj.r.rXt.rXt.r.rXtXt.rXtXj N.rXtXj.r.rXt e.r.r.r.rXt.r.r.r e.r.r.r.r.rXt.r e.r.^XgXzXz.^ _.^ _Xz _Xz _ _XzXzXz.bXz.b.b.bXz.^.^.^Xz.^.^ NXz e e e e.^.bXg.cXg.V.c.c.VXz _ _.c.c.V.c.c.c.V.c.o.#XgXg.c.o.o _.c X.U.7 A.f | :XB.- U U a.~.e.e.~.e.e.eXI.~ a.~.` 3.eX-.~.~ a a.e a.e a",
-" e ~Xj ~Xt ~.&.$.r.r.r.r.r.r.rXt.rX9.:.5.KXk.r.rXt.r.r.r.r.r.r.r e.r.r.r.r.rXt.r.rXtXt.r.rXt.oXt.r e.r.k eXd e.^.z.U.^XoXtXtXt.k.R NXI.}XG 0X>.h.TXw.- X, x.Z :Xc 5Xc.e R RXl.-XcX5.e.e a.eX-.e B.e B.e hX3.[X7Xm.s.W p.N.W < t u u -Xv.s.9.aX-X-.`.`.H F.rXd.^XtXtXt eXj.b N.bXz.b.b _XzXz _ _Xz.bXz.b _.bXz _Xz.o.o.bXzXzXz _XzXzXzXzXz _XzXzXz _XzXzXzXz.bXz.b.bXz.^ l.b NXzXzXzXzXj.VXg.o.o.oXzXz _XzXzXzXz.^Xz.^ eXtXt.r N.r.r e.r.r e.r.r e.r.r.r.r.r.r.r.r.r e.r.rXjXz.^Xz.^Xg.^Xz.bXzXzXzXzXzXz.^.^Xt.r ~ ~.rXt.^XzXzXz NXz.^Xz.^ _XzXz.^XzXzXzXzXzXz.VXg.o.o.VXgXg.VXg.o.V.c.VXg.cXg.o.U.oXzXzXzXz.bXzXz.b.bXzXz.b.b.^Xd.rXt.r.r.8.aX- $.nXLXG s x $.a.`X-.`X-.`X-X-.`.`.`.8.r FXz eXo.^Xx.z.z.z.6.I.I l.z.zXg.bXtXt.r.rXt.r.rXtXt.^Xz.oXg.c.c.V.cXg.c.#.c.cXz _.b.b.b e.rXt ~ F.8 F.8 F ~Xt.r.rXt.^.^Xz.bXz.o.o _.^ _Xz.b _Xz.b.bXz.b.b.^ _XzXz _.b _.I _XzXzXzXz.#.c _XzXzXzXz _XzXz _Xz.bXz _.bXzXzXz.o.bXz.bXz.b.b _XgXz.bXzXzXz _Xz _Xz.bXzXz e e e.r e.r.rXt.rXtXtXj.rXtXjXt e.r.r.rXt.rXtXt.r.r.r.rXt.r.rXt.rXt.r.rXt.rXj ~Xg N.b.b.bXzXz _Xz.bXzXz _XzXzXz.bXz.bXzXz.bXz.bXzXz N.^.z.^.bXz.^.^Xz _.cXg.V.c.c.c.c _.oXz.V.c.c.cXg.c.c.c.V.U.b.bXg.o.^ _.b.o.b.U.k )X9 1XH [ E U a.e.~X-.e a.eX-.8.e.~.e.~X*.~.~.~.e.~.e.e a a <",
-" ~Xt ~.rXt.k f.f.r.r.r.r.r.r.r.r.r.r.X 5Xx ~.rXtXt.rXt.r.rXt.r.r.r e.rXt.rXt.r.r.r.k.8.rXt.rX9 F.r.r.r eXt eXjXx.:X9.R q.&.z Q.R.t.& 5Xw = z 0.jXw.1.[.-.YXJXc ` $ $ cX-X5 kXl c.a a.e.eX-.~.e.~.e.e a a.8.i c k.YXG...s.s.).) p pXF -.s..Xq a.8.8.`.8.8.r.r.r.o.r.rXjXj N.o.b.^.b.b _Xz _XzXz.bXz.b.b _Xz.b.bXzXz.o.cXzXz _XzXzXz _XzXz _XzXzXzXz _Xz _.bXzXzXzXz.b.b.^Xk.b.bXzXzXz _Xz. l. .#.UXz.^XzXzXzXzXzXjXj e eXt.r.r N.r e.r.r.r ~ e ~ ~.r ~.r.r.r.r.r.r e.r.r e.kXzXz.^Xz.o.^Xz.^.^.^XzXzXz.^Xj e e ~ ~ ~Xt.^.^Xz.^XzXz.^XzXz.^.bXzXzXzXzXzXzXz.b.o.o.o.o.oXg.c.VXg.c.V.VXg.o.o.c.o.c.#.V.bXzXzXzXzXzXzXzXzXz.b.bXz.bXd e.rX* 3.8.8X1X- $.' x R.eX-.8X-.`X-.`X-.`.`.`.` F F.r ~.^XdXzXj.bXzXz.^Xx.^.^XjXz.^.^Xj e.rXj.rXtXtXj.rXj.^.b.V.V.c.c.V.c.c.U.UXgXgXz _.bXz.b e.r e ~ F F.8.8 ~.rXtXt.r eXj e.^.^.b.c _.b _Xz.b _.b.b _.bXz.b.bXz _XzXz _.b.bXu.#.b _XzXg.#.oXz _XzXz _XzXzXz _Xz.bXz.bXz _Xz.b.bXz _.bXz _Xz.o.V.b.bXz _Xz.bXzXzXzXzXz.^ e e.r.rXtXt e.rXt e.r.rXt.^.^.r.r eXt.rXt.rXt.rXtXtXtXt.r.rXt.rXt.r.r.r e.rXt eXg.bXz _Xz.bXzXzXz _XzXzXz.bXz _XzXzXzXz.bXz _XzXzXz.b.bXg.bXzXz.b _.b.o.cXg.c.c.c.c.o _.V _.VXg.V.V.c.V _Xz.V.bXz.b.bXzXz.b.bXz.b N ~X-XI $ 1X7.i t aX1.e.e.e a.eXIX-.~.~ a.uX- a.e a.e a a.a.} EX,",
-".r.r e.r ~.k.X N.rXtXt.r.r.r.r.r.r.rX*.k.rXt.u.r.r.r.r.r.r.rXtXt ~Xt.k ~Xt.rXt.rX*.r.r ~ ~.r.XXtXt.r.r.r.k.kXd.bX P.7X .A.A.R.&.( Q D.3Xr M.s oXpXZXh.SXw x 3 R.eXc 3 T ` T R.e.e aX- a.eX-.e a R <.e.e.}X* #X3.iXeXpXpX4..Xe.m.W.).s %.YXeXDX-X-.`.8XVXtXt.r.bXdXj.^ N.b N.b.b.b.bXz.bXz _.bXz _XzXzXz.b.bXzXz _.b.cXzXz.bXzXz _Xz _XzXz _XzXz _XzXz _XzXzXz _Xz _XzXzXg.o.bXzXz _Xz _.o.V.b _XgXzXzXzXzXzXz.^ e e.r.r.r.r.r N.r.r e.r.r e.r.r e.r.r.r e ~ e.r.r.r e.r e.^Xz.^.bXzXg.^XzXz N.bXzXz.^.^ e.r ~ F ~.rXj.^.b.^XzXzXzXz.^Xz.^ _.bXzXzXzXzXzXz.V.o.o.o.VXgXg.VXg.VXgXgXg.c.V.o.VXg.c.#.o.b _XzXz _XzXz _XzXzXzXzXz.b.^ e.r.r.r ~.8.`.~.` 3X1X-XI.~.~.`.`X-.`.`.`.` F.8 ~XtXj N.^.b.^.b.bXz N.b.U.b.b.b.bXz.^.^.r.r.r.r eXt.r eXj.^.o.c.c.V.c.c.cXg.U.U.c.o _.b.b.b.bXj eXt.r ~.r ~.r.r.r.rXt e e.r e e eXz l.^.b.b.^XzXz _XzXzXzXz _Xz _ _.b.b _ _Xz.# _XzXz _.U.U _Xz _XzXzXz _XzXz.b _Xz.b _.b.bXz.b _Xz.b _Xz.bXz.c.b _Xz.b _Xz _ _Xz _.b.^ e e.r.r.r eXt.r e.r eXtXj.r N ~Xt.rXtXtXtXt.rXt.rXtXtXt.rXt.rXt.r.r.r.rXt e.r e NXgXz.bXz.bXz _Xz _XzXz.b.bXzXz.bXzXz _XzXz _XzXzXzXzXzXg.b.bXzXzXz _ _.V.c.c.V.c.c.V.o _.V _.V.c.c.oXgXzXz.^.b e.^Xz.b.^.oXz.^.^.^ ~.8.a a.-., [Xp.i $Xl.u 3XIX, $XI.e 3.~.~X-X- a a.e < < E h U.i U",
-".r.r.rXt.r ~.r ~.r.r.r.r.rXt.r.r.rXt ~.r N.r.r.r.r.r.rXtX*.rXt.r.k ~ ~.rX* ~.r.r.r.r.r ~ ~.r.^.K ~.k.^.XXxXk l./X@.oXkXxXg.k NXx.U.kXx.9._ 2.)Xr =Xh.S.,Xc.i xXl 3Xl DXD.a.e t.a R a.e.e.e.eX-.e.e 3XX.eXI.u hX3 m E < <XeXnXrXhXrXrXp y.W tX-.H.8.8 ~.u.K ).X.X NXzXj.b.bXz.b.b.b _.b.b.bXz.bXz.b _.b.bXz _XzXz.bXz.UXzXz _Xz.bXz _XzXzXzXzXz _XzXzXzXz.b.bXz.bXzXz.bXzXg.o.bXzXzXzXzXzXzXz.^XzXz.^Xz.oXzXzXzXzXj e e.r e.r.r N e.r.r.r.r.r.r.r.r.r e ~.r.r.r.r.r.r.rXtXt.^ N NXz.^XgXj.^.^.^.^XzXz.b.^Xj e ~ ~.r e.^ NXz.^XzXz NXzXzXz.^ _XzXzXz.^.^ _.V.o.oXg.V.o.cXg.V.o.o.o.c.o.cXg.V.cXg.c.#.o _XzXzXzXzXzXzXzXzXzXzXzXzXzXz e.rX*.r.H F F.`.~ 3.` a.8.~.`.`X-.` F.8.8.8 ~.rXt.^ N.b.^.bXzXzXzXz.b.bXg.^Xz _XzXz.bXzXj.rXt.r.rXt.r eXjXz.V.c.c.V.c.c.c.c. .c.c.o _.b _.b.b.^Xt e.r.rXt.r.r.r.r.rXtXt e e eXj eXz l.^.o.b.b.oXz.b.b.b _.b.b _Xz.b.o.#Xz _.bXzXz _Xz.o.U.c _XzXzXz _ _Xz _ _XzXz _Xz _Xz _ _.b _Xz _.b _.b.b.U.b.oXz _ _ _Xz _Xz.bXzXz e e eXj e.r.rXt.r.r.r.r.r.^.^XjXtXj.r.r.rXtXt.rXt.rXt.rXt.rXtXt.rXt.r e e.r eXj.c.o.^.bXz _XzXz.bXz.bXzXz.bXz.bXz.bXzXzXz _Xz _ _XzXzXz.U.bXzXz _ _Xz _.o.c.c.c.VXgXg.V.c.c _.oXg.c.V.VXz.^XzXz.rXjXj.^.^.^.^XjXtXt.8.`X- XM x x.YXMX5 T 1 `Xl `., `.,XKXM.}.a.e a < U.}.m.}.m.iXq >",
-".r.r ~.rXt.r.rXt.r.r.r.rXt.r e.r.r.r.k ~.X.rXtXt.u.k.r.k.r.^Xo.X.r N.5Xx.r )X9X9 ) q.5 q ) ).&.A (.&.R Q.I.t qX@.^.b.b.bXt.^ N.X.bXtXI.MXG.).s.s o.+.[XB k m :Xc c.~.e 3X- BX-.e.e R R.eX-.e.e.~ B.aXK.u 3XIXMXcXhX# ` h a <.gXhX5 YXh.9.,.0.$ IXx I.$ D 5.%X@ P.(.6.X.b NXz.o.b.b.b.b.bXz.bXz.b.b _XzXz _.b.b _.bXz lXz.b.b.bXzXz.bXz _XzXzXz _Xz _Xz _XzXz.b.bXzXz _.b.oXg.bXzXzXz _ e.oXz.b.b.bXzXzXzXzXzXzXz.^XjXj e.r.r.r N.r e.r.r.r.r.r.r.r.r.r.r.r e.r.r e.r.r eXj.^ NXz.^.kXz eXt e e.rXj.^Xz N.^XjXj.r eXj.^XzXzXzXzXzXzXz.^XzXzXzXzXzXzXz _.oXg.V.V.V.o.o.VXg.o.VXgXg.V _.oXgXgXg.V.c.U.o.o.bXzXzXzXzXzXzXzXzXzXzXzXzXz.^ eXt.r.r.H F F.`.rX-.`.`.~.`.`.`.8.8.8 ~.r.r.^Xj.b.^Xz.bXz.bXzXzXz.b.o.X.^Xz.^XzXzXz.bXj eXt.r eXtXtXj.^.oXg.c.V.V.U.V.cXg.I.c.c _ _Xz.b.b.b.^ eXt eXtXt.r eXt.r.r eXt eXj.^.^Xz.o lXz.b.^Xz.b.b.b _ _.bXzXz.bXzXz.V.#Xz _ _ _Xz.o _.o.UXgXzXzXz _XzXzXzXzXzXz _XzXz.b _Xz.b _Xz _.b.b.b _ _ lXz _Xz _ _XzXzXz _XzXzXz.^.^.^.^XjXt.r eXtXt e.rXt.k.^ ~.r.rXtXjXt.r.r eXt e.r e.r e.r eXt.r.r e.rXj.^.^.c.o.^ _XzXzXzXz _XzXz.b.bXzXzXz.b _XzXzXz _ _XzXz _Xz.o.o.bXz.bXzXzXz.V.o.c.V.c.V.c.V.V.c.c _ _.V.c.oXzXzXj.b e e.r e eXj e e.rXt.8.8.a a 1 $ E h.e a t a a.e.} 1 h.M hXDXD.a t <.} h E EXe xXpXB $ <",
-" e.rXt ~.rXt ~Xt.r.r.r.r.r.r.r.rXt.r ~.r.k.k q qXkXx.f q.A ).& qX9./ 5.$X* q.$ q I.$.KXx ) q ) qXkXk q l.z.z.U l.b.o.b.^.b N.o N.oXt.HXDXn..X=.WXG MXH .- xXlXDXI R.~XI.eX-X- RX- m.eX-.e.e a.e.e.~.eX-.u R c # |XMXB V 3X-.u.K.H ` ) `X3 : 'XoXxXx.XXXX9.$X9.zX@XkXz.b.b.o.bXz.b.b.b.b.bXz.b.b.b.b.b.b.bXz.b.b.b.^.c.bXz.bXzXzXz.b _XzXz _XzXz _Xz _.bXzXzXzXz _Xz.b.b.bXg.bXzXzXzXzXz.^Xz.^.^.bXz.^XzXz.b.b.^Xz.^XdXt.r.r.r NXtXt.r.r e.r e.r.r.r.r.r.r.r.r.r.r.r.r.rXtXj.^XjXt e.^.r e.r.r.r eXj.^Xz NXz.k e e e.^Xz.bXzXzXzXzXz.^XzXd.bXzXzXz _.o.o.o.V.o.o.o.oXgXg.VXg.o.V _Xz _ _.V.cXg.c.U.V.o.VXz _XzXzXzXz _XzXzXzXzXzXzXz.^.r.r.r.r F.`.` 3.`.`.~.`.`.`.` F F ~ ~ e.^Xz.^.bXzXz.bXzXzXzXz.^XzXg.o N.b _Xz _Xz.bXj.r e.rXt.rXjXj.b.V.V.V.V.c.c.c.c.c.#.V.VXz _XzXzXz N N e.r.r.rXj.rXt.r.rXt.r.r e.^.bXz.bXg.oXz.^ eXjXzXzXzXzXz _Xz.c.V.bXzXz.o _XzXzXzXzXz.o.o.# _ _XzXzXzXzXzXzXz _XzXzXz _Xz.bXzXz _XzXzXz _.bXzXg.VXzXzXzXz _Xz _XzXz.bXzXz.bXz.^XzXj.r.rXt e.rXtXtXj.z.zXkXjXjXt e.r e.r e.r.rXt.r.r.r.r.rXt eXt e.^Xz.bXzXgXz _ _XzXzXz.bXz.bXzXzXz _XzXz _Xz _Xz.b _Xz.bXzXzXz.U.bXz.^.VXzXz _.V.c.V.c.c.cXg.c.c.c.V.V.o.V.o.bXz.bXj.^.rXt.r.r.r e ~ e.r.r.` 3 aX, h h h h <.e.a a < < <.} t a < t a.e.a E E.l.Y.[X% `.-X- R",
-" ~.k.r.rXt ~X* ~Xt.r.r.r.rXt.r.rXt.8.k.rXt q.$./ ) )XxXxX9.XXXX9Xx.5.k.K.^.KX*X*.uXtXt.r.r.r.8.^Xt.^Xd.XXjXz.^.bXz.bXzXz.b.bXz.bXz.r.` U v.N...sX>.+XwX3.l.} R RX,.e RXI.a.e a a.a Y.,XK :.~.e.~ R.e.~X-X-XD.a # k kX*XM V.uX9.5XIXV.~X-.~.`.~.` F.` ~X* ~X*.rXj.z.b.b.b N.b.b.b.b.b.b.b.b.b N.bXz.b.b.b.b _XzXz _XzXg.oXzXz.bXzXz _Xz _XzXzXzXz _XzXzXz.b.^XzXzXz _Xz _.b l.bXz.bXzXz.bXz.b.b.b.^XzXzXzXzXzXzXz.b.^Xz.k eXt.r.^.k.r.r.r.r.r.r.r e.r.r e.r.r e.r e.r.r.r.r.r e.r e.r.^.rXtXtXtXt.r e.k.^.^XzXz.^ e.^.^XzXz.bXzXz.^XzXzXz.^Xz.bXz.b.o.c.V.o.o.V.V.VXg.VXg.VXg.V.oXzXz _XzXz.VXg.c.UXg.c.oXzXz _Xz _XzXzXzXz _XzXzXzXzXz.kXt.r e.r ~ FX*X-.aX-.`.`.` F.8 ~.r e.^Xz.^XzXzXzXz.^XzXzXz _XzXz.o.b.bXzXzXzXzXzXzXd e.r e.r eXj.^.oXg.c.c.V.c.c.c.cXg.UXz _Xz _Xz.b.bXz.bXjXtXtXt.r.rXt eXtXt.r eXj.^Xz.b.^Xg.b.^Xj e e.^ _ _Xz.b.b.o.I.#.VXzXz _ _ _Xz.o _XzXg.c.UXzXzXz _XzXz _Xz _.b.b.b.bXz.b.b.bXz.b.b.bXz.o.bXz l.b _XzXz _Xz _Xz _Xz _XzXzXzXz.^.^Xt.r.r e.rXtXt.rXjXk.zXk.k ~Xj.rXtXtXtXt e e.r e.r e.r e.r e.rXj.b.b.bXzXzXzXz _XzXzXzXz _XzXzXz _XzXzXzXz.bXz.bXz _.bXzXz.b.b.c.b _Xz.V.o _ _.c.V.c.c.c.cXgXg.V.c.V.c.V.o.oXzXz.^.^.k.r.rXt.r eXt e.r.r.r.8.a #XB.i h.F a a.e.a.e UX,.d x U h UX, U U hXn X%.S [XB.K c cX-.`",
-"Xt.r.rXt ~Xt ~X*.r.r.r.r.rXt.r.r.rXt.r ~.r N.r.u.r.r.u.r.r.8XtXV.rXV.r.kXXXx.5.5XxXXX*XVX*XV.k.kXoXt.^ N.XXz.bXz _Xz.o.^Xz.b.^.o.^.kX-X, v p.N 2Xm M nXBXX.}X-XDX- c.~.eXD.e.eX-X, m # D `.eX-.e.~.~X-.e BXD.e $ } kXM : ).8X*.r.KXV.8X-XI.~.`.` ~.8Xt ~Xt eXt.b l N.b.b.b.o.o.b.o.b.b.b.b.b.bXz.b.o.o.o.o.b _Xz.bXz.oXg.bXz.b.bXzXz.bXz _Xz _XzXzXzXz.bXzXzXzXz.bXz.b.b.b lXz.bXzXzXz.bXzXz.bXzXz.b.bXz.bXz.bXz.b.^.b.^.r.r.r.^XtXt.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r NXt.r.r.r.r.rXtXtXt.^.^.^Xz.^Xz.b.^Xz.^Xz.bXzXzXzXzXz.o.b.b.V.o.VXg.V _.oXgXg.VXg.oXg.cXgXgXzXzXzXzXz.VXg.c.UXg.V.o.b _XzXzXzXz _XzXzXzXzXzXzXz.bXzXjXt.r e.r.8X*.`.8X-.` F.8 F F.rXj.^.^XzXzXz e e e e.bXzXzXzXz.b.o.b.b.bXzXz.bXzXzXz e.r.r eXj.^.bXg.c.V.c.c.V.c.c.c.o.cXz _Xz.o.b.b.bXz.bXt eXt eXt.rXtXtXt e.r e.^ N.b.^ e.bXj e.rXt e eXz _.b _XzXz.#. XzXzXzXzXz.b.oXg _.b _.U.oXz _XzXzXzXzXzXzXz.bXz.bXz.bXz.bXzXzXz.b.bXz _.bXz.UXz.bXz.b.b.b.bXz.bXzXz.b.bXz.^.bXj e.rXtXtXt.r eXt.k.b.X.X.^.r e.rXj.k.^XjXtXt.r e.r.r e.r.r e.rXj.^Xz.^Xz _.b.bXzXzXzXzXzXzXzXzXzXzXzXzXz.b _XzXz.b.b.b.b.b.b.o.o _XzXz.c.U.c.o.c.V.c.V.c.V.V.o.V.c _.c.o.o _Xz.bXj.bXt.r.r.r.r e ~Xt.r.r.8 3 a :Xq.l.F < a a.a.M h U h._.i E h EXe n xX%.g.p [.} 3XI.a.`.8.`.8",
-".r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.k N.r.rXt.r.r.r.u.rXt.rXtXt.k.5XX )X3 qX3X*.r.r ~Xt.r.bXz.^Xz.bXzXz.^XzXzXzXz.b.b.b.b N.r.` h.' J.@ M.@ HX<X+XBX,.a.aXIXI 3.aXI.~X-.~XIXl.e.e.~.eX-.~.e $ RX-.eXD a.a #Xc.3 V V.`.a.8X*.K.K.~ ~.K.` ~.`.r.rXt.k.r.^ NXg.o.b.^.b.b.b.b.b.b.b.o.o.b.b.b.b.o.c.c.o.b.b.b.bXz.o lXzXzXz.b.b.bXz.b.bXz.b.bXzXz.bXzXz.bXz.b.bXzXzXzXz l.b.bXz.b.bXz.b.^.b.bXzXzXzXzXzXzXz.^Xz.b.^.bXd eXtXt.kXt ~.rXt.r.r.r.r.r.r.r.r.r.r.r.u.rXt ~ F F ~.r ~Xt N.r.r.r.r.r.r.r.rXt.rXtXtXt.^.^.^Xz.^XzXzXzXzXzXzXz.bXg.VXg.o.o.o.o _ _.o _.o.o.VXg.V.oXg.V.o.bXzXzXzXzXg.c.cXgXg.o.oXzXzXz.bXzXzXzXz.bXzXzXzXz.b NXz.^XjXt e.r.k.8.8.8.8 ~ ~.r e.k.^.^ NXz.^ e eXt ~ e.^.bXz.bXzXz l.^.bXz.bXzXzXz.^.^Xj e.r eXj.bXgXg.cXg.c.VXg.c.c.b.b.oXz.bXz _.bXz.b NXzXj e.r e.r e.r.rXtXt.rXt N.bXj eXt.b ~Xt eXt e eXzXz.c.^ _Xz.oXg.bXz.b.b.^XzXgXg.o.b.o.U.b.o.bXzXzXzXz.bXzXzXz.bXz.^.bXz.bXzXzXzXz.^.bXzXz.bXgXz.bXz.bXz.bXz.bXz.bXzXzXz.bXz.^.r.rXt.rXt.rXtXt.r N.r.r.rXt.rXtXtXt.IXgXk.z.z.^.r e.r.rXt e.r e e eXz.^Xg.^.^.bXz.b.bXz.b.bXzXzXz.bXzXzXzXzXz.b.bXzXz.b.o.^.b.U.^Xz _.bXg.c.UXg.V.c.c.c.c.cXg.V.V.V.o.o.V.o.oXz.^.oXj e e.r.r.r eXt e.r ~.`XI 3 1.i $ < t < U E.i U.iXqXB Xp 1.-.[.YXBXB hX*X*.K.K N.KXtXt",
-".r.r.r.rXV.r.r.r.r.rXV.r.r.r.r.r.rXt ~Xt.rX*XoXt.r.u.r.u.r.r.u.r.r.r.rXt.uX*X*X* 3 c ~.uX*.rXV e.X.b NXz.^XzXz NXzXz NXzXzXz.b N NX*X-.uXO.T =.;XpX+ =X+ `.i.aXI 3 RXIXD 3.e.e.e.e.a.e.e.~.e a.e.~XlX3.e.e 3.e a.e cX3 ,X. V c.`X-.`.`.8.K.5.k ~ ~.^Xt.r.r.k N NXgXg.b.b.b.b N.b.o.oXgXgXgXgXg.oXgXg l lXg.o.b.bXz.b.bXgXz.bXz.bXzXz.bXzXz.bXzXz.bXzXzXz.bXzXzXz.b.^.bXz N l.b.b.^.b.^.b.^.b.^.bXzXzXzXzXz.^Xz.^ N.^ N.^.kXt.rXt.kXtXt.rXt.r.r.r.r.r.r.r.r.r.r.r.r.r.r ~.8 F.8.rXV.r NXV.r.r.rXV.r.r.r.r.uXt.rXt.r.k.^.^Xz.^.^.^XzXzXzXz _XgXgXgXgXgXgXgXgXgXg.oXg.oXg.oXgXgXg.o.o.b.bXzXz.b.o l lXgXg.oXg.oXg lXg.o.bXzXzXzXzXzXz.^.^Xz N N.^.^Xt.r.k.8.8.8 ~.r.rXt.^.^.b N N NXt ~.rXt.r e N.^.^Xz N.b l.b.XXz.^Xz.^Xz.bXz.^Xj eXj.^XgXg lXg.c l.c.cXgXg.b.b.b.b.b.b.b.b.b.b.b.^Xd.r.rXtXt.rXt.rXt.r.rXt.k.k.rXtXt N.rXtXtXtXt e.b.I AXgXz NXz.bXzXzXzXz.bXg lXg.bXz.oXk _Xg.XXzXz.bXzXzXzXzXzXzXzXzXzXz.b.b.b.^.bXz.b N.bXgXg.b.b.b.b.b.b.b.b.bXz.b.^Xz.^.^ eXtXt.r.r.r.r.rXtXt N.rXt.rXt.r.rXt.r NXt.k N N.k.r.rXt.r.r.r.r.r.r.rXdXj.X.b.b.bXzXzXzXzXzXzXzXzXz.^XzXz.^.b.^XzXz.^.b.^Xz.^.bXgXz.b.b.b.oXg.c lXgXgXgXgXgXgXgXgXgXg.V.oXgXg _.^.b.XXd.r.r ~ e.r.r e.r.r 3.8XI.}Xl h E.} u.} U EXe.l.FXq x h UX, xXcXc ` $ <.8 ~Xt.k.k.k.k.k",
-".r.rXV.r.r.r.rXV.r.r.r.r.rXV.r.rXV.u.rXVXV.r.K.u.r.rXV.r.u.r.rXVXt.u.kX*.u.uXV 3XV.u 3 ~.u.rXt.k.X.X N N.^Xo N N N N N N N N N NXo ~X1 $ s.Z.WXLXnXw.[ n., $ $.~.aX1XI R.u cX,.~.~.e.e.~ a.e.~.~ a $ T.e.~.a R.e.e.e.u :., YXHXVX-.8.`.`XV.kX9.HX*.5.k.k.r.^.5 N.X.X.X N.X.b N.XX9XgXxXkXxXkXxXkXk lXxXgXkXxXg.XXg.X.X lXo.bXo N N N N N N N N N N N N N N N N N N N N N.^Xx N.X.^ N N N.^.^Xo N N N N N N N N N.^Xo NXo.KXtXt.k.kXtXV.r.u.r.rXV.r.rXV.r.rXV.r.rXV.rXVXV ~ 3.rXV.rXV.k.r.u.r.u.r.r.u.r.r.r.r.r.rXtXt.^Xo N N N.^Xo N N.^.X.X.o.XXg.XXg.XXg.XXg.XXgXxXgXxXgXxXg.XXxXg.X.XXg.XXx lXkXg.X.XXg.XXxXgXx.o.X N N N N N.^ N.^.^ N NXo N.kX*.k ~.uXV.uX*.k.k N N.5 N N.^Xt.r.r.r.r.rXtXt.k N.^ NXx.^ N N N N N N N N N NXt.k N.XXx.X.oXg.XXg.X.X.b N N.X.^.b N N N N N NXtXt.rXtXt.u.r.rXt.u.r.r.rXt.u.r.u.r.k.r.u.rXt.r.k N.I q.z N.b N.^Xo.^ N N.b.XXg.X.X N.bXk.XXx.o NXo.^ N N N N N N N N N N.b N N N.b N N N.b.X.X N N N N N N N N N N N N N N.k.r.r.r.u.r.r.r.r.uXt.k.rX*.r.r.r.rXt.rXt.r ~Xt.r.r.r.r.r.r.r.r.r.rXt.r.r.r.5.^Xo.^Xo N N N N N N N N N N N N N N N N N.X N N N.X.X.b N NXz NXgXxXgXxXgXx lXxXgXxXgXgXgXgXxXgXx.X N N NXt.r.r.r.u.rXt.r.r.H.8.` R.a ` h hX,X,.i xXqXB.9XM.M < a.a RX-X,XI.e.a.a a.~.`.`.8.8XVXV ~XV"
-};
diff --git a/TAO/CIAO/examples/handcrafted/Display/README b/TAO/CIAO/examples/handcrafted/Display/README
deleted file mode 100644
index b6421aeeac4..00000000000
--- a/TAO/CIAO/examples/handcrafted/Display/README
+++ /dev/null
@@ -1,30 +0,0 @@
- $Id$
-
-This directory contains a multi-component examples. We will likely
-evolve this example in the future to show case how easy it is to
-configure and assemble a new application using component.
-
-The starting example is an imaginary car (software) instrument
-assembly which updates the display of current coordination of the car
-periodically. It consists of 3 components as shown in
-<Configuration-0.png>.
-
-These components are all placed under their own subdirectories:
-
-* RateGen - A component that allows it's client to start/stop the rate
- generating event.
-
-* GPS - A component that interact with GPS hardware. When this
- component receives an event from the Refresh port, it will
- query the GPS hardware and updates the internal cached
- coordinations (so that the current location can be read by
- accessing the MyLocation interface,) and generates an event on
- its Ready port to inform the event consumers that a new GPS
- reading is available.
-
-* NavDisplay - A navigation display component that projects the
- current location of the vehicle on the windshield.
- When a navDisplay receives an event notifying the
- availability of new data on its Refresh port, it will
- acquire the current location of the vehicle by querying
- the interface connected to the GetLocation receptacle.
diff --git a/TAO/CIAO/examples/handcrafted/Display/RateGen/RateGen.cidl b/TAO/CIAO/examples/handcrafted/Display/RateGen/RateGen.cidl
deleted file mode 100644
index 2baa114f735..00000000000
--- a/TAO/CIAO/examples/handcrafted/Display/RateGen/RateGen.cidl
+++ /dev/null
@@ -1,12 +0,0 @@
-// $Id$ -*- IDL -*-
-
-#include "RateGen.idl"
-
-composition session RateGen_example
-{
- home executor RateGenHome_exec
- {
- implement RateGenHome;
- manages RateGen_exec;
- };
-};
diff --git a/TAO/CIAO/examples/handcrafted/Display/RateGen/RateGen.idl b/TAO/CIAO/examples/handcrafted/Display/RateGen/RateGen.idl
deleted file mode 100644
index e5ec2552762..00000000000
--- a/TAO/CIAO/examples/handcrafted/Display/RateGen/RateGen.idl
+++ /dev/null
@@ -1,34 +0,0 @@
-// $Id$
-
-/**
- * @file RateGen.idl
- *
- * Definition of the RateGen (a rate generator) component.
- *
- * @author Nanbor Wang <nanbor@cs.wustl.edu>
- */
-
-#ifndef RATEGEN_IDL
-#define RATEGEN_IDL
-
-#include "../HUDisplay.idl"
-
-module HUDisplay
-{
- component RateGen supports opmode
- {
- publishes tick Pulse;
-
- /// The attribute can be configured via the home or the
- /// component property file.
- attribute long hertz;
- };
-
- home RateGenHome manages RateGen
- {
- // Explicit operations
- factory new_RateGen (in long hertz);
- };
-};
-
-#endif /* RATEGEN_IDL */
diff --git a/TAO/CIAO/examples/handcrafted/Display/RateGen/RateGen.mpc b/TAO/CIAO/examples/handcrafted/Display/RateGen/RateGen.mpc
deleted file mode 100644
index f2fa898c8aa..00000000000
--- a/TAO/CIAO/examples/handcrafted/Display/RateGen/RateGen.mpc
+++ /dev/null
@@ -1,86 +0,0 @@
-// $Id$
-// This file is generated with "generate_component_mpc.pl -l .. -p HUDisplay -i -c RateGen"
-
-project(RateGen_stub): ciao_client {
- depends += HUDisplay_stub
- sharedname = RateGen_stub
- idlflags += -Wb,stub_export_macro=RATEGEN_STUB_Export -Wb,stub_export_include=RateGen_stub_export.h -Wb,skel_export_macro=RATEGEN_SVNT_Export -Wb,skel_export_include=RateGen_svnt_export.h
- dllflags = RATEGEN_STUB_BUILD_DLL
-
- IDL_Files {
- RateGen.idl
- }
-
- Source_Files {
- RateGenC.cpp
- }
-}
-
-project(RateGen_svnt) : ciao_server {
- depends += HUDisplay_svnt RateGen_stub
- sharedname = RateGen_svnt
- libs += RateGen_stub HUDisplay_stub HUDisplay_svnt TAO_Valuetype
- libpaths += .. $(TAO_ROOT)/tao/Valuetype
- idlflags += -Wb,export_macro=RATEGEN_SVNT_Export -Wb,export_include=RateGen_svnt_export.h
- dllflags = RATEGEN_SVNT_BUILD_DLL
-
- IDL_Files {
- RateGenE.idl
- }
-
- Source_Files {
- RateGenEC.cpp
- RateGenS.cpp
- RateGen_svnt.cpp
- }
-}
-
-
-project(RateGen_exec) : ciao_server {
- depends += RateGen_svnt
- sharedname = RateGen_exec
- libs += RateGen_stub HUDisplay_stub RateGen_svnt
- libpaths += ..
- idlflags += -Wb,export_macro=RATEGEN_EXEC_Export -Wb,export_include=RateGen_exec_export.h
- dllflags = RATEGEN_EXEC_BUILD_DLL
-
- IDL_Files {
- RateGenEI.idl
- }
-
- Source_Files {
- RateGenEIC.cpp
- RateGen_exec.cpp
- }
-}
-
-
-
-project (RateGen_client) : ciao_client {
- exename = client
- depends += RateGen_stub
- libs += RateGen_stub HUDisplay_stub TAO_Valuetype
- libpaths += .. $(TAO_ROOT)/tao/Valuetype
-
- IDL_Files {
- }
-
- Source_Files {
- client.cpp
- }
-}
-
-
-project (controller) : ciao_client {
- exename = controller
- depends += RateGen_stub
- libs += RateGen_stub HUDisplay_stub TAO_Valuetype
- libpaths += .. $(TAO_ROOT)/tao/Valuetype
-
- IDL_Files {
- }
-
- Source_Files {
- controller.cpp
- }
-}
diff --git a/TAO/CIAO/examples/handcrafted/Display/RateGen/RateGenE.idl b/TAO/CIAO/examples/handcrafted/Display/RateGen/RateGenE.idl
deleted file mode 100644
index dacd2f25c33..00000000000
--- a/TAO/CIAO/examples/handcrafted/Display/RateGen/RateGenE.idl
+++ /dev/null
@@ -1,68 +0,0 @@
-// $Id$
-
-/**
- * @file RateGenE.idl
- *
- * Executor definition of the RateGen (a rate generator) component.
- * This file should be auto-generated by the CCIDL compiler when it
- * becomes available.
- *
- * @author Nanbor Wang <nanbor@cs.wustl.edu>
- */
-
-#ifndef RATEGENE_IDL
-#define RATEGENE_IDL
-
-#include "CCM_Container.idl"
-#include "RateGen.idl"
-#include "../HUDisplayE.idl"
-
-module HUDisplay
-{
- local interface CCM_RateGen_Executor
- : Components::EnterpriseComponent, opmode
- {
- attribute long hertz;
- };
-
- local interface CCM_RateGen
- : Components::EnterpriseComponent, opmode
- {
- attribute long hertz;
- };
-
- /**
- * Context interface. This interface defines the mapping. The
- * container framework provides the implmentation.
- *
- * Notice that we are taking a shortcut here to inherit the
- * component-specific context from SessionContext directly instead
- * of CCMContext.
- */
- local interface CCM_RateGen_Context
- : Components::SessionContext
- {
- void push_Pulse (in tick ev);
- };
-
- local interface CCM_RateGenHomeExplicit
- : Components::HomeExecutorBase
- {
- Components::EnterpriseComponent new_RateGen (in long hertz)
- raises (Components::CCMException);
- };
-
- local interface CCM_RateGenHomeImplicit
- {
- Components::EnterpriseComponent create ()
- raises (Components::CCMException);
- };
-
- local interface CCM_RateGenHome
- : CCM_RateGenHomeExplicit,
- CCM_RateGenHomeImplicit
- {
- };
-};
-
-#endif /* RATEGENE_IDL */
diff --git a/TAO/CIAO/examples/handcrafted/Display/RateGen/RateGenEI.idl b/TAO/CIAO/examples/handcrafted/Display/RateGen/RateGenEI.idl
deleted file mode 100644
index 00c01bbb39e..00000000000
--- a/TAO/CIAO/examples/handcrafted/Display/RateGen/RateGenEI.idl
+++ /dev/null
@@ -1,31 +0,0 @@
-// $Id$
-
-/**
- * @file RateGenEI.idl
- *
- * Definition of the RateGen (a rate generator) component implementation.
- *
- * @author Nanbor Wang <nanbor@cs.wustl.edu>
- */
-
-#ifndef RATEGENEI_IDL
-#define RATEGENEI_IDL
-
-#include "RateGenE.idl"
-
-module HUDisplay
-{
- /**
- * @interface RateGen_Exec
- *
- * The actually RateGen executor need to support
- * Components::SessionComponent interface. Therefore, we need to
- * define the component executor interface explicitly here.
- */
- local interface RateGen_Exec : CCM_RateGen, Components::SessionComponent
- {
- };
-
-};
-
-#endif /* RATEGENEI_IDL */
diff --git a/TAO/CIAO/examples/handcrafted/Display/RateGen/RateGen_exec.cpp b/TAO/CIAO/examples/handcrafted/Display/RateGen/RateGen_exec.cpp
deleted file mode 100644
index 235618b410f..00000000000
--- a/TAO/CIAO/examples/handcrafted/Display/RateGen/RateGen_exec.cpp
+++ /dev/null
@@ -1,279 +0,0 @@
-// $Id$
-
-#include "RateGen_exec.h"
-#include "ace/Timer_Queue.h"
-#include "ace/Reactor.h"
-
-//=================================================================
-
-MyImpl::Pulse_Handler::Pulse_Handler (MyImpl::RateGen_exec_i *cb)
- : active_ (0),
- done_ (0),
- tid_ (0),
- pulse_callback_ (cb)
-{
- // Nothing
- this->reactor (new ACE_Reactor);
-}
-
-MyImpl::Pulse_Handler::~Pulse_Handler ()
-{
- delete this->reactor ();
- this->reactor (0);
-}
-
-int
-MyImpl::Pulse_Handler::open ()
-{
- return this->activate ();
-}
-
-int
-MyImpl::Pulse_Handler::close ()
-{
- this->done_ = 1;
- this->reactor ()->notify ();
-
- ACE_DEBUG ((LM_DEBUG, "Waiting\n"));
- return this->wait ();
-}
-
-int
-MyImpl::Pulse_Handler::start (CORBA::Long hertz)
-{
- if (hertz == 0 || this->active_ != 0) // Not valid
- return -1;
-
- long usec = 1000000 / hertz;
-
- this->tid_ = this->reactor ()->schedule_timer (this,
- 0,
- ACE_Time_Value (0, usec),
- ACE_Time_Value (0, usec));
-
- this->active_ = 1;
- return 0;
-}
-
-int
-MyImpl::Pulse_Handler::stop (void)
-{
- if (this->active_ == 0) // Not valid.
- return -1;
-
- this->reactor ()->cancel_timer (this);
-
- this->active_ = 0;
- return 0;
-}
-
-int
-MyImpl::Pulse_Handler::active (void)
-{
- return this->active_;
-}
-
-int
-MyImpl::Pulse_Handler::handle_close (ACE_HANDLE handle,
- ACE_Reactor_Mask close_mask)
-{
- ACE_DEBUG ((LM_DEBUG,
- ACE_TEXT ("[%x] handle = %d, close_mask = %d\n"),
- this,
- handle,
- close_mask));
-
- return 0;
-}
-
-int
-MyImpl::Pulse_Handler::handle_timeout (const ACE_Time_Value &,
- const void *)
-{
- this->pulse_callback_->pulse ();
-
-// ACE_DEBUG ((LM_DEBUG,
-// ACE_TEXT ("[%x] with count #%05d timed out at %d.%d!\n"),
-// this,
-// tv.sec (),
-// tv.usec ()));
-
- return 0;
-}
-
-int
-MyImpl::Pulse_Handler::svc (void)
-{
- this->reactor ()->owner (ACE_OS::thr_self ());
-
- while (!this->done_)
- this->reactor ()->handle_events ();
-
- return 0;
-}
-
-//=================================================================
-
-MyImpl::RateGen_exec_i::RateGen_exec_i ()
- : hertz_ (0),
- pulser_ (this)
-{
-
-}
-
-MyImpl::RateGen_exec_i::RateGen_exec_i (CORBA::Long hz)
- : hertz_ (hz),
- pulser_ (this)
-{
-}
-
-MyImpl::RateGen_exec_i::~RateGen_exec_i ()
-{
-}
-
-CORBA::Long
-MyImpl::RateGen_exec_i::hertz (ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- return this->hertz_;
-}
-
-void
-MyImpl::RateGen_exec_i::hertz (CORBA::Long hertz
- ACE_ENV_ARG_DECL_NOT_USED)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- this->hertz_ = hertz;
-}
-
-// Operations from supported interface(s)
-
-void
-MyImpl::RateGen_exec_i::start (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- if (this->hertz_ == 0 || this->pulser_.active())
- ACE_THROW (CORBA::BAD_INV_ORDER ());
-
- // @@ Start the rate generator
- this->pulser_.start (this->hertz_);
-}
-
-void
-MyImpl::RateGen_exec_i::stop (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- if (! this->pulser_.active ())
- ACE_THROW (CORBA::BAD_INV_ORDER ());
-
- // @@ stop the rate generator
- this->pulser_.stop ();
-}
-
-CORBA::Boolean
-MyImpl::RateGen_exec_i::active (ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- return this->pulser_.active ();
-}
-
-// Operations from Components::SessionComponent
-
-void
-MyImpl::RateGen_exec_i::set_session_context (Components::SessionContext_ptr ctx
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::CCMException))
-{
- ACE_DEBUG ((LM_DEBUG, "MyImpl::RateGen_exec_i::set_session_context\n"));
-
- this->context_ =
- HUDisplay::CCM_RateGen_Context::_narrow (ctx
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK;
-
- if (CORBA::is_nil (this->context_.in ()))
- ACE_THROW (CORBA::INTERNAL ());
- // Urm, we actually discard exceptions thown from this operation.
-
-}
-
-void
-MyImpl::RateGen_exec_i::ccm_activate (ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::CCMException))
-{
- ACE_DEBUG ((LM_DEBUG, "MyImpl::RateGen_exec_i::ccm_activate\n"));
-
- this->pulser_.open ();
-}
-
-void
-MyImpl::RateGen_exec_i::ccm_passivate (ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::CCMException))
-{
- ACE_DEBUG ((LM_DEBUG, "MyImpl::RateGen_exec_i::ccm_passivate\n"));
- this->pulser_.close ();
-}
-
-void
-MyImpl::RateGen_exec_i::ccm_remove (ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::CCMException))
-{
- ACE_DEBUG ((LM_DEBUG, "MyImpl::RateGen_exec_i::ccm_remove\n"));
-}
-
-void
-MyImpl::RateGen_exec_i::pulse (void)
-{
- ACE_TRY_NEW_ENV
- {
- ACE_DEBUG ((LM_DEBUG,
- ACE_TEXT ("Pushing HUDisplay::tick event!\n")));
-
- HUDisplay::tick_var ev = new OBV_HUDisplay::tick ();
-
- this->context_->push_Pulse (ev.in ()
- ACE_ENV_ARG_PARAMETER);
- }
- ACE_CATCHANY
- {
- // @@ do nothing?
- }
- ACE_ENDTRY;
-
-}
-
-MyImpl::RateGenHome_exec_i::RateGenHome_exec_i ()
-{
-}
-
-MyImpl::RateGenHome_exec_i::~RateGenHome_exec_i ()
-{
-}
-
-::Components::EnterpriseComponent_ptr
-MyImpl::RateGenHome_exec_i::new_RateGen (CORBA::Long hertz
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::CCMException))
-{
- return new MyImpl::RateGen_exec_i (hertz);
-}
-
-::Components::EnterpriseComponent_ptr
-MyImpl::RateGenHome_exec_i::create (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::CCMException))
-{
- return new MyImpl::RateGen_exec_i ();
-}
-
-
-extern "C" RATEGEN_EXEC_Export ::Components::HomeExecutorBase_ptr
-createRateGenHome_Impl (void)
-{
- return new MyImpl::RateGenHome_exec_i ();
-}
diff --git a/TAO/CIAO/examples/handcrafted/Display/RateGen/RateGen_exec.h b/TAO/CIAO/examples/handcrafted/Display/RateGen/RateGen_exec.h
deleted file mode 100644
index 24e11a795e3..00000000000
--- a/TAO/CIAO/examples/handcrafted/Display/RateGen/RateGen_exec.h
+++ /dev/null
@@ -1,180 +0,0 @@
-// $Id$
-
-/**
- * @file RateGen_exec.h
- *
- * Header file for the actualy RateGen and RateGenHome component
- * implementation.
- *
- * @author Nanbor Wang <nanbor@cse.wustl.edu>
- */
-
-#ifndef RATEGEN_EXEC_H
-#define RATEGEN_EXEC_H
-
-#include "RateGenEIC.h"
-#include "tao/LocalObject.h"
-#include "ace/Thread_Manager.h"
-#include "ace/Task.h"
-
-namespace MyImpl
-{
- // Forward decl.
- class RateGen_exec_i;
-
- /**
- * @brief Active pulse generater
- */
- class Pulse_Handler : public ACE_Task_Base
- {
- public:
- // Default constructor
- Pulse_Handler (RateGen_exec_i *cb);
- ~Pulse_Handler ();
-
- int open (void);
-
- int close (void);
-
- int start (CORBA::Long hertz);
-
- int stop (void);
-
- int active (void);
-
- // Handle the timeout.
- virtual int handle_timeout (const ACE_Time_Value &tv,
- const void *arg);
-
- // Called when <Time_Handler> is removed.
- virtual int handle_close (ACE_HANDLE handle,
- ACE_Reactor_Mask close_mask);
-
- virtual int svc (void);
-
- private:
- /// Tracking whether we are actively generating pulse or not.
- long active_;
-
- /// Flag to indicate completion of this active object.
- int done_;
-
- /// The timer id we are waiting.
- int tid_;
-
- RateGen_exec_i *pulse_callback_;
-
- ACE_Thread_Manager thr_mgr_;
- };
-
- /**
- * @class RateGen_exec_i
- *
- * RateGen executor implementation class.
- */
- class RATEGEN_EXEC_Export RateGen_exec_i :
- public virtual HUDisplay::RateGen_Exec,
- public virtual TAO_Local_RefCounted_Object
- {
- public:
- /// Default constructor.
- RateGen_exec_i ();
-
- /// Initialize with a default frequency.
- RateGen_exec_i (CORBA::Long hz);
-
- /// Default destructor.
- ~RateGen_exec_i ();
-
- // Attribute operations.
-
- virtual CORBA::Long hertz (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- virtual void hertz (CORBA::Long hertz
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- // Operations from supported interface(s)
-
- virtual void start (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- virtual void stop (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- virtual CORBA::Boolean active (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- // Operations from Components::SessionComponent
-
- virtual void set_session_context (Components::SessionContext_ptr ctx
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::CCMException));
-
- virtual void ccm_activate (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::CCMException));
-
- virtual void ccm_passivate (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::CCMException));
-
- virtual void ccm_remove (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::CCMException));
-
- /// Helper function to be called back by Pulse_Handler
- void pulse (void);
-
- protected:
- /// Frequency
- CORBA::Long hertz_;
-
- /// Copmponent specific context
- HUDisplay::CCM_RateGen_Context_var context_;
-
- /// An active object that actually trigger the generation of
- /// periodic events.
- Pulse_Handler pulser_;
- };
-
- /**
- * @class RateGenHome_exec_i
- *
- * RateGen home executor implementation class.
- */
- class RATEGEN_EXEC_Export RateGenHome_exec_i :
- public virtual HUDisplay::CCM_RateGenHome,
- public virtual TAO_Local_RefCounted_Object
- {
- public:
- /// Default ctor.
- RateGenHome_exec_i ();
-
- /// Default dtor.
- ~RateGenHome_exec_i ();
-
- // Explicit home operations.
-
- virtual ::Components::EnterpriseComponent_ptr
- new_RateGen (CORBA::Long hertz
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::CCMException));
-
- // Implicit home operations.
-
- virtual ::Components::EnterpriseComponent_ptr
- create (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::CCMException));
- };
-
-}
-
-extern "C" RATEGEN_EXEC_Export ::Components::HomeExecutorBase_ptr
-createRateGenHome_Impl (void);
-
-#endif /* RATEGEN_EXEC_H */
diff --git a/TAO/CIAO/examples/handcrafted/Display/RateGen/RateGen_exec_export.h b/TAO/CIAO/examples/handcrafted/Display/RateGen/RateGen_exec_export.h
deleted file mode 100644
index 3893178879b..00000000000
--- a/TAO/CIAO/examples/handcrafted/Display/RateGen/RateGen_exec_export.h
+++ /dev/null
@@ -1,50 +0,0 @@
-
-// -*- C++ -*-
-// $Id$
-// Definition for Win32 Export directives.
-// This file is generated automatically by generate_export_file.pl RATEGEN_EXEC
-// ------------------------------
-#ifndef RATEGEN_EXEC_EXPORT_H
-#define RATEGEN_EXEC_EXPORT_H
-
-#include "ace/config-all.h"
-
-#if !defined (RATEGEN_EXEC_HAS_DLL)
-# define RATEGEN_EXEC_HAS_DLL 1
-#endif /* ! RATEGEN_EXEC_HAS_DLL */
-
-#if defined (RATEGEN_EXEC_HAS_DLL) && (RATEGEN_EXEC_HAS_DLL == 1)
-# if defined (RATEGEN_EXEC_BUILD_DLL)
-# define RATEGEN_EXEC_Export ACE_Proper_Export_Flag
-# define RATEGEN_EXEC_SINGLETON_DECLARATION(T) ACE_EXPORT_SINGLETON_DECLARATION (T)
-# define RATEGEN_EXEC_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_EXPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
-# else /* RATEGEN_EXEC_BUILD_DLL */
-# define RATEGEN_EXEC_Export ACE_Proper_Import_Flag
-# define RATEGEN_EXEC_SINGLETON_DECLARATION(T) ACE_IMPORT_SINGLETON_DECLARATION (T)
-# define RATEGEN_EXEC_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_IMPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
-# endif /* RATEGEN_EXEC_BUILD_DLL */
-#else /* RATEGEN_EXEC_HAS_DLL == 1 */
-# define RATEGEN_EXEC_Export
-# define RATEGEN_EXEC_SINGLETON_DECLARATION(T)
-# define RATEGEN_EXEC_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
-#endif /* RATEGEN_EXEC_HAS_DLL == 1 */
-
-// Set RATEGEN_EXEC_NTRACE = 0 to turn on library specific tracing even if
-// tracing is turned off for ACE.
-#if !defined (RATEGEN_EXEC_NTRACE)
-# if (ACE_NTRACE == 1)
-# define RATEGEN_EXEC_NTRACE 1
-# else /* (ACE_NTRACE == 1) */
-# define RATEGEN_EXEC_NTRACE 0
-# endif /* (ACE_NTRACE == 1) */
-#endif /* !RATEGEN_EXEC_NTRACE */
-
-#if (RATEGEN_EXEC_NTRACE == 1)
-# define RATEGEN_EXEC_TRACE(X)
-#else /* (RATEGEN_EXEC_NTRACE == 1) */
-# define RATEGEN_EXEC_TRACE(X) ACE_TRACE_IMPL(X)
-#endif /* (RATEGEN_EXEC_NTRACE == 1) */
-
-#endif /* RATEGEN_EXEC_EXPORT_H */
-
-// End of auto generated file.
diff --git a/TAO/CIAO/examples/handcrafted/Display/RateGen/RateGen_stub_export.h b/TAO/CIAO/examples/handcrafted/Display/RateGen/RateGen_stub_export.h
deleted file mode 100644
index d1cc20aa005..00000000000
--- a/TAO/CIAO/examples/handcrafted/Display/RateGen/RateGen_stub_export.h
+++ /dev/null
@@ -1,50 +0,0 @@
-
-// -*- C++ -*-
-// $Id$
-// Definition for Win32 Export directives.
-// This file is generated automatically by generate_export_file.pl RATEGEN_STUB
-// ------------------------------
-#ifndef RATEGEN_STUB_EXPORT_H
-#define RATEGEN_STUB_EXPORT_H
-
-#include "ace/config-all.h"
-
-#if !defined (RATEGEN_STUB_HAS_DLL)
-# define RATEGEN_STUB_HAS_DLL 1
-#endif /* ! RATEGEN_STUB_HAS_DLL */
-
-#if defined (RATEGEN_STUB_HAS_DLL) && (RATEGEN_STUB_HAS_DLL == 1)
-# if defined (RATEGEN_STUB_BUILD_DLL)
-# define RATEGEN_STUB_Export ACE_Proper_Export_Flag
-# define RATEGEN_STUB_SINGLETON_DECLARATION(T) ACE_EXPORT_SINGLETON_DECLARATION (T)
-# define RATEGEN_STUB_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_EXPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
-# else /* RATEGEN_STUB_BUILD_DLL */
-# define RATEGEN_STUB_Export ACE_Proper_Import_Flag
-# define RATEGEN_STUB_SINGLETON_DECLARATION(T) ACE_IMPORT_SINGLETON_DECLARATION (T)
-# define RATEGEN_STUB_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_IMPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
-# endif /* RATEGEN_STUB_BUILD_DLL */
-#else /* RATEGEN_STUB_HAS_DLL == 1 */
-# define RATEGEN_STUB_Export
-# define RATEGEN_STUB_SINGLETON_DECLARATION(T)
-# define RATEGEN_STUB_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
-#endif /* RATEGEN_STUB_HAS_DLL == 1 */
-
-// Set RATEGEN_STUB_NTRACE = 0 to turn on library specific tracing even if
-// tracing is turned off for ACE.
-#if !defined (RATEGEN_STUB_NTRACE)
-# if (ACE_NTRACE == 1)
-# define RATEGEN_STUB_NTRACE 1
-# else /* (ACE_NTRACE == 1) */
-# define RATEGEN_STUB_NTRACE 0
-# endif /* (ACE_NTRACE == 1) */
-#endif /* !RATEGEN_STUB_NTRACE */
-
-#if (RATEGEN_STUB_NTRACE == 1)
-# define RATEGEN_STUB_TRACE(X)
-#else /* (RATEGEN_STUB_NTRACE == 1) */
-# define RATEGEN_STUB_TRACE(X) ACE_TRACE_IMPL(X)
-#endif /* (RATEGEN_STUB_NTRACE == 1) */
-
-#endif /* RATEGEN_STUB_EXPORT_H */
-
-// End of auto generated file.
diff --git a/TAO/CIAO/examples/handcrafted/Display/RateGen/RateGen_svnt.cpp b/TAO/CIAO/examples/handcrafted/Display/RateGen/RateGen_svnt.cpp
deleted file mode 100644
index d54f3bac062..00000000000
--- a/TAO/CIAO/examples/handcrafted/Display/RateGen/RateGen_svnt.cpp
+++ /dev/null
@@ -1,725 +0,0 @@
-// $Id$
-
-// The generated filename for files using this template shoule be
-// [idl-basename]GS.cpp GS --> GlueSession
-
-// @@ Notice: [ciao module name] can expand to either CIAO_GLUE or
-// CIAO_GLUE_[module name] as defined in the header file.
-
-/// @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
-/// @@@ Notice that all component and interface names need to be
-/// fully qualified as we are creating a new namespace for the CIAO's
-/// container glue code.
-/// @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
-
-#include "RateGen_svnt.h"
-#include "Cookies.h"
-
-#if !defined (__ACE_INLINE__)
-# include "RateGen_svnt.inl"
-#endif /* __ACE_INLINE__ */
-
-//////////////////////////////////////////////////////////////////
-// Component specific context implementation
-//////////////////////////////////////////////////////////////////
-
-void
-CIAO_GLUE_HUDisplay::RateGen_Context::push_Pulse (HUDisplay::tick *ev
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- ACE_Active_Map_Manager<HUDisplay::tickConsumer_var>::iterator
- end = this->ciao_publishes_Pulse_map_.end ();
- for (ACE_Active_Map_Manager<HUDisplay::tickConsumer_var>::iterator
- iter = this->ciao_publishes_Pulse_map_.begin ();
- iter != end;
- ++iter)
- {
- ACE_Active_Map_Manager<HUDisplay::tickConsumer_var>::ENTRY &entry = *iter;
- entry.int_id_->push_tick (ev
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK;
- }
-}
-
-// Operations for publishes interfaces.
-::Components::Cookie *
-CIAO_GLUE_HUDisplay::RateGen_Context::subscribe_Pulse (HUDisplay::tickConsumer_ptr c
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- ::Components::ExceededConnectionLimit))
-{
- if (CORBA::is_nil (c))
- ACE_THROW_RETURN (CORBA::BAD_PARAM (), 0);
-
- HUDisplay::tickConsumer_var sub = HUDisplay::tickConsumer::_duplicate (c);
-
- ACE_Active_Map_Manager_Key key;
- this->ciao_publishes_Pulse_map_.bind (sub.in (),
- key);
-
- sub._retn (); // Release ownership.
-
- ::Components::Cookie_var retv = new CIAO::Map_Key_Cookie (key);
- return retv._retn ();
-}
-
-HUDisplay::tickConsumer_ptr
-CIAO_GLUE_HUDisplay::RateGen_Context::unsubscribe_Pulse (::Components::Cookie *ck
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- ::Components::InvalidConnection))
-{
- HUDisplay::tickConsumer_var retv;
-
- ACE_Active_Map_Manager_Key key;
- if (ck == 0 ||
- CIAO::Map_Key_Cookie::extract (ck, key) == -1)
- ACE_THROW_RETURN (::Components::InvalidConnection (), 0);
-
- if (this->ciao_publishes_Pulse_map_.unbind (key,
- retv) != 0)
- ACE_THROW_RETURN (::Components::InvalidConnection (), 0);
-
- return retv._retn ();
-}
-
-// Operations for ::Components::SessionContext interface
-CORBA::Object_ptr
-CIAO_GLUE_HUDisplay::RateGen_Context::get_CCM_object (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::IllegalState))
-{
- // @@ How do I check for IllegalState here? When it's not in a
- // callback operation...
- // ACE_THROW_RETURN (::Components::IllegalState (), 0);
-
- if (CORBA::is_nil (this->component_.in ()))
- {
- CORBA::Object_var obj = this->container_->get_objref (this->servant_
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (0);
-
- this->component_ = HUDisplay::RateGen::_narrow (obj.in ()
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (0);
-
- if (CORBA::is_nil (this->component_.in ()))
- ACE_THROW_RETURN (CORBA::INTERNAL (), 0); // This should not happen...
- }
- return HUDisplay::RateGen::_duplicate (this->component_.in ());
-}
-
-//////////////////////////////////////////////////////////////////
-// Component Servant Glue code implementation
-//////////////////////////////////////////////////////////////////
-
-CIAO_GLUE_HUDisplay::RateGen_Servant::RateGen_Servant (HUDisplay::CCM_RateGen_ptr exe,
- ::Components::CCMHome_ptr h,
- ::CIAO::Session_Container *c)
- : executor_ (HUDisplay::CCM_RateGen::_duplicate (exe)),
- container_ (c)
-{
- this->context_ = new CIAO_GLUE_HUDisplay::RateGen_Context (h, c, this);
-
- ACE_TRY_NEW_ENV
- {
- Components::SessionComponent_var scom =
- Components::SessionComponent::_narrow (exe
- ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- if (! CORBA::is_nil (scom.in ()))
- scom->set_session_context (this->context_
- ACE_ENV_ARG_PARAMETER);
- }
- ACE_CATCHANY
- {
- // @@ Ignore any exceptions? What happens if
- // set_session_context throws an CCMException?
- }
- ACE_ENDTRY;
-}
-
-CIAO_GLUE_HUDisplay::RateGen_Servant::~RateGen_Servant (void)
-{
- ACE_TRY_NEW_ENV;
- {
- Components::SessionComponent_var temp =
- Components::SessionComponent::_narrow (this->executor_.in ()
- ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- if (! CORBA::is_nil (temp.in ()))
- temp->ccm_remove (ACE_ENV_SINGLE_ARG_PARAMETER);
- }
- ACE_CATCHANY
- {
- // @@ Ignore any exceptions? What happens if
- // set_session_context throws an CCMException?
- }
- ACE_ENDTRY;
- this->context_->_remove_ref ();
-}
-
-// Operations for provides interfaces.
-
-// Operations for consumers interfaces.
-
-// Operations for Navigation interface
-CORBA::Object_ptr
-CIAO_GLUE_HUDisplay::RateGen_Servant::provide_facet (const char * name
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException ,
- Components::InvalidName))
-{
- if (name == 0)
- ACE_THROW_RETURN (CORBA::BAD_PARAM (), 0);
-
- // We simply iterate thru all the facets this component provides
- // now. We can also use a hash map along with perfect hashing
- // (i.e., gperf) if we need faster performance since all the provided
- // interfaces are static to a component definition.
-
- ACE_THROW_RETURN (::Components::InvalidName (), 0);
-}
-
-::Components::FacetDescriptions *
-CIAO_GLUE_HUDisplay::RateGen_Servant::get_all_facets (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- ::Components::FacetDescriptions_var collection
- = new ::Components::FacetDescriptions; // #99 = number of all provided
- // facets including those inherited
- // from parent component(s).
-
- return collection._retn ();
-
-}
-
-::Components::FacetDescriptions *
-CIAO_GLUE_HUDisplay::RateGen_Servant::get_named_facets (const Components::NameList & names
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::InvalidName))
-{
- ::Components::FacetDescriptions_var collection
- = new ::Components::FacetDescriptions (names.length ());
-
- CORBA::ULong i = 0;
- for (; i < names.length (); ++i)
- {
- ACE_THROW_RETURN (::Components::InvalidName (), 0);
- }
- return collection._retn ();
-}
-
-CORBA::Boolean
-CIAO_GLUE_HUDisplay::RateGen_Servant::same_component (CORBA::Object_ptr object_ref
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- if (CORBA::is_nil (object_ref))
- ACE_THROW_RETURN (CORBA::BAD_PARAM (), 0);
-
- CORBA::Object_var the_other
- = object_ref->_get_component (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_CHECK_RETURN (0);
-
- CORBA::Object_var me
- = this->context_->get_CCM_object (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_CHECK_RETURN (0);
-
- return me->_is_equivalent (object_ref
- ACE_ENV_ARG_PARAMETER);
-}
-
-// Operations for Receptacles interface
-::Components::Cookie *
-CIAO_GLUE_HUDisplay::RateGen_Servant::connect (const char *,
- CORBA::Object_ptr
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::InvalidName,
- Components::InvalidConnection,
- Components::AlreadyConnected,
- Components::ExceededConnectionLimit))
-{
- ACE_THROW_RETURN (Components::InvalidName (), 0);
-}
-
-/*
-##foreach [receptacle name] with [uses type] in (list of all 'uses' interfaces) generate:
-## if [receptacle name] is a simplex receptacle ('uses')
-## else ([receptacle name] is a multiplex ('uses multiple') receptacle)
-## endif [receptacle name]
-##end foreach [receptacle name] with [uses type]
-*/
-
-CORBA::Object_ptr
-CIAO_GLUE_HUDisplay::RateGen_Servant::disconnect (const char *,
- Components::Cookie *
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::InvalidName,
- Components::InvalidConnection,
- Components::CookieRequired,
- Components::NoConnection))
-{
- ACE_THROW_RETURN (Components::InvalidName (), 0);
-}
-
-::Components::ConnectionDescriptions *
-CIAO_GLUE_HUDisplay::RateGen_Servant::get_connections (const char *
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::InvalidName))
-{
- ACE_THROW_RETURN (Components::InvalidName (), 0);
-}
-
-::Components::ReceptacleDescriptions *
-CIAO_GLUE_HUDisplay::RateGen_Servant::get_all_receptacles (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- ::Components::ReceptacleDescriptions_var retv =
- new ::Components::ReceptacleDescriptions; // #99 is number of receptacles
- // this component has.
- return retv._retn ();
-}
-
-::Components::ReceptacleDescriptions *
-CIAO_GLUE_HUDisplay::RateGen_Servant::get_named_receptacles (const Components::NameList & names
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::InvalidName))
-{
- ::Components::ReceptacleDescriptions_var retv =
- new ::Components::ReceptacleDescriptions (names.length ());
-
- CORBA::ULong i = 0;
- for (; i < names.length (); ++i)
- {
- ACE_THROW_RETURN (::Components::InvalidName (), 0);
- }
- return retv._retn ();
-}
-
-// Operations for Events interface
-::Components::EventConsumerBase_ptr
-CIAO_GLUE_HUDisplay::RateGen_Servant::get_consumer (const char *
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::InvalidName))
-{
- ACE_THROW_RETURN (Components::InvalidName (), 0);
-}
-
-::Components::Cookie *
-CIAO_GLUE_HUDisplay::RateGen_Servant::subscribe (const char * publisher_name,
- Components::EventConsumerBase_ptr subscriber
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::InvalidName,
- Components::InvalidConnection,
- Components::ExceededConnectionLimit))
-{
- // @@ We can omit this if clause if there's no publisher in this component.
- if (publisher_name == 0)
- ACE_THROW_RETURN (Components::InvalidName (), 0);
-
- if (ACE_OS_String::strcmp (publisher_name, "Pulse") == 0)
- {
- HUDisplay::tickConsumer_var _ciao_consumer =
- HUDisplay::tickConsumer::_narrow (subscriber
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (0);
-
- if (CORBA::is_nil (_ciao_consumer.in ()))
- ACE_THROW_RETURN (::Components::InvalidConnection (), 0);
-
- return this->subscribe_Pulse (_ciao_consumer.in ()
- ACE_ENV_ARG_PARAMETER);
- }
-
- ACE_THROW_RETURN (Components::InvalidName (), 0);
-}
-
-::Components::EventConsumerBase_ptr
-CIAO_GLUE_HUDisplay::RateGen_Servant::unsubscribe (const char * publisher_name,
- Components::Cookie *ck
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::InvalidName,
- Components::InvalidConnection))
-{
- // @@ We can omit this if clause if there's no publisher in this component.
- if (publisher_name == 0)
- ACE_THROW_RETURN (Components::InvalidName (), 0);
-
- if (ACE_OS_String::strcmp (publisher_name, "Pulse") == 0)
- {
- return this->unsubscribe_Pulse (ck
- ACE_ENV_ARG_PARAMETER);
- }
-
- ACE_THROW_RETURN (Components::InvalidName (), 0);
-}
-
-void
-CIAO_GLUE_HUDisplay::RateGen_Servant::connect_consumer (const char *,
- Components::EventConsumerBase_ptr
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::InvalidName,
- Components::AlreadyConnected,
- Components::InvalidConnection))
-{
- ACE_THROW (Components::InvalidName ());
-}
-
-::Components::EventConsumerBase_ptr
-CIAO_GLUE_HUDisplay::RateGen_Servant::disconnect_consumer (const char *
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::InvalidName,
- Components::NoConnection))
-{
- ACE_THROW_RETURN (Components::InvalidName (), 0);
-}
-
-::Components::ConsumerDescriptions *
-CIAO_GLUE_HUDisplay::RateGen_Servant::get_all_consumers (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- ::Components::ConsumerDescriptions_var retv =
- new ::Components::ConsumerDescriptions; // #99 is the number of consumers
- // this component has.
- return retv._retn ();
-}
-
-::Components::ConsumerDescriptions *
-CIAO_GLUE_HUDisplay::RateGen_Servant::get_named_consumers (const Components::NameList & names
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::InvalidName))
-{
- ::Components::ConsumerDescriptions_var retv =
- new ::Components::ConsumerDescriptions (names.length ());
-
- CORBA::ULong i = 0;
- for (; i < names.length (); ++i)
- {
- ACE_THROW_RETURN (::Components::InvalidName (), 0);
- }
- return retv._retn ();
-}
-
-::Components::EmitterDescriptions *
-CIAO_GLUE_HUDisplay::RateGen_Servant::get_all_emitters (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- ::Components::EmitterDescriptions_var retv =
- new ::Components::EmitterDescriptions; // #99 is the number of emitters
- // this component has.
- return retv._retn ();
-}
-
-::Components::EmitterDescriptions *
-CIAO_GLUE_HUDisplay::RateGen_Servant::get_named_emitters (const Components::NameList & names
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::InvalidName))
-{
- ::Components::EmitterDescriptions_var retv =
- new ::Components::EmitterDescriptions (names.length ());
-
- CORBA::ULong i = 0;
- for (; i < names.length (); ++i)
- {
- ACE_THROW_RETURN (::Components::InvalidName (), 0);
- }
- return retv._retn ();
-}
-
-::Components::PublisherDescriptions *
-CIAO_GLUE_HUDisplay::RateGen_Servant::get_all_publishers (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- // @@ to-do
-
- // Need to add interfaces in the Context class to gather the information.
- // Or we can just relay it to the Context object.
- ACE_THROW_RETURN (CORBA::NO_IMPLEMENT (), 0);
-}
-
-::Components::PublisherDescriptions *
-CIAO_GLUE_HUDisplay::RateGen_Servant::get_named_publishers (const Components::NameList &
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::InvalidName))
-{
- // @@ to-do
-
- // Need to add interfaces in the Context class to gather the information.
- // Or we can just relay it to the Context object.
- ACE_THROW_RETURN (CORBA::NO_IMPLEMENT (), 0);
-}
-
-// Operations for CCMObject interface
-::CORBA::IRObject_ptr
-CIAO_GLUE_HUDisplay::RateGen_Servant::get_component_def (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- // @@ to-do: Connect to an IfR?
- ACE_THROW_RETURN (CORBA::NO_IMPLEMENT (), 0);
-}
-
-::Components::CCMHome_ptr
-CIAO_GLUE_HUDisplay::RateGen_Servant::get_ccm_home (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- return this->context_->get_CCM_home (ACE_ENV_SINGLE_ARG_PARAMETER);
-}
-
-::Components::PrimaryKeyBase *
-CIAO_GLUE_HUDisplay::RateGen_Servant::get_primary_key (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::NoKeyAvailable))
-{
- // This is a keyless component.
- ACE_THROW_RETURN (::Components::NoKeyAvailable (), 0);
-}
-
-void
-CIAO_GLUE_HUDisplay::RateGen_Servant::configuration_complete (ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::InvalidConfiguration))
-{
- // @@ to-do
- // No-op. Don't know how to pass this info to monolithic executor.
-}
-
-void
-CIAO_GLUE_HUDisplay::RateGen_Servant::remove (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::RemoveFailure))
-{
- // @@ to-do
- // Need to figure out what to do here. E.g., tear down the all the connections
- // this component has?
-}
-
-::Components::ComponentPortDescription *
-CIAO_GLUE_HUDisplay::RateGen_Servant::get_all_ports (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- ::Components::ComponentPortDescription_var retv =
- new OBV_Components::ComponentPortDescription;
-
- ::Components::FacetDescriptions_var facets_desc
- = this->get_all_facets (ACE_ENV_SINGLE_ARG_PARAMETER);
- ::Components::ReceptacleDescriptions_var receptacle_desc
- = get_all_receptacles (ACE_ENV_SINGLE_ARG_PARAMETER);
- ::Components::ConsumerDescriptions_var consumer_desc
- = this->get_all_consumers (ACE_ENV_SINGLE_ARG_PARAMETER);
- ::Components::EmitterDescriptions_var emitter_desc
- = this->get_all_emitters (ACE_ENV_SINGLE_ARG_PARAMETER);
- ::Components::PublisherDescriptions_var publisher_desc
- = this->get_all_publishers (ACE_ENV_SINGLE_ARG_PARAMETER);
-
- retv->facets (facets_desc.in());
- retv->receptacles (receptacle_desc.in());
- retv->consumers (consumer_desc.in());
- retv->emitters (emitter_desc.in());
- retv->publishers (publisher_desc.in());
-
- return retv._retn();
-}
-
-// get_component implementation.
-CORBA::Object_ptr
-CIAO_GLUE_HUDisplay::RateGen_Servant::_get_component (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- ::Components::SessionContext_var sc =
- ::Components::SessionContext::_narrow (this->context_);
-
- if (! CORBA::is_nil(sc.in ()))
- return sc->get_CCM_object (ACE_ENV_SINGLE_ARG_PARAMETER);
-
- // @@ Do we need to try the following case here? We are afterall implementing
- // a session component here.
- ::Components::EntityContext_var ec =
- ::Components::EntityContext::_narrow (this->context_);
-
- if (! CORBA::is_nil(ec.in ()))
- return ec->get_CCM_object (ACE_ENV_SINGLE_ARG_PARAMETER);
-
- ACE_THROW_RETURN (CORBA::INTERNAL (), 0);
-}
-
-void
-CIAO_GLUE_HUDisplay::RateGen_Servant::_ciao_activate (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- Components::SessionComponent_var temp =
- Components::SessionComponent::_narrow (this->executor_.in ()
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK;
-
- if (! CORBA::is_nil (temp.in ()))
- temp->ccm_activate (ACE_ENV_SINGLE_ARG_PARAMETER);
-}
-
-void
-CIAO_GLUE_HUDisplay::RateGen_Servant::_ciao_passivate (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- Components::SessionComponent_var temp =
- Components::SessionComponent::_narrow (this->executor_.in ()
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK;
-
- if (! CORBA::is_nil (temp.in ()))
- temp->ccm_passivate (ACE_ENV_SINGLE_ARG_PARAMETER);
-}
-
-//////////////////////////////////////////////////////////////////
-// Component Home Glue code implementation
-//////////////////////////////////////////////////////////////////
-
-HUDisplay::RateGen_ptr
-CIAO_GLUE_HUDisplay::RateGenHome_Servant::_ciao_activate_component (HUDisplay::CCM_RateGen_ptr exe
- ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- CORBA::Object_var hobj= this->container_->get_objref (this
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (0);
-
- ::Components::CCMHome_var home = ::Components::CCMHome::_narrow (hobj.in ()
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (0);
-
- CIAO_GLUE_HUDisplay::RateGen_Servant *svt =
- new CIAO_GLUE_HUDisplay::RateGen_Servant (exe,
- home.in (),
- this->container_);
- PortableServer::ServantBase_var safe (svt);
- PortableServer::ObjectId_var oid;
-
- CORBA::Object_var objref
- = this->container_->install_component (svt,
- oid.out ()
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (0);
-
- svt->_ciao_activate (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_CHECK_RETURN (0);
-
- HUDisplay::RateGen_var ho
- = HUDisplay::RateGen::_narrow (objref.in ()
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (0);
-
- if (this->component_map_.bind (oid.in (), svt) == 0)
- {
- // @@ what should happen if bind fail?
- safe._retn ();
- }
- return ho._retn ();
-}
-
-void
-CIAO_GLUE_HUDisplay::RateGenHome_Servant::_ciao_passivate_component (HUDisplay::RateGen_ptr comp
- ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- PortableServer::ObjectId_var oid;
-
- this->container_->uninstall_component (comp,
- oid.out ()
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK;
-
- CIAO_GLUE_HUDisplay::RateGen_Servant *servant = 0;
- if (this->component_map_.unbind (oid.in (), servant) == 0)
- {
- PortableServer::ServantBase_var safe (servant);
- servant->_ciao_passivate (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_CHECK;
- }
- // What happen if unbind failed?
-
-}
-
-// Operations for Implicit Home interface
-HUDisplay::RateGen_ptr
-CIAO_GLUE_HUDisplay::RateGenHome_Servant::create (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::CreateFailure))
-{
- if (this->executor_.in () == 0)
- ACE_THROW_RETURN (CORBA::INTERNAL (), 0);
-
- Components::EnterpriseComponent_var _ciao_ec =
- this->executor_->create (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_CHECK_RETURN (0);
-
- HUDisplay::CCM_RateGen_var _ciao_comp
- = HUDisplay::CCM_RateGen::_narrow (_ciao_ec.in ()
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (0);
-
- return this->_ciao_activate_component (_ciao_comp.in ()
- ACE_ENV_ARG_PARAMETER);
-}
-
-// Operations for CCMHome interface
-void
-CIAO_GLUE_HUDisplay::RateGenHome_Servant::remove_component (Components::CCMObject_ptr comp
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::RemoveFailure))
-{
- HUDisplay::RateGen_var _ciao_comp
- = HUDisplay::RateGen::_narrow (comp
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK;
-
- if (CORBA::is_nil (_ciao_comp.in ()))
- ACE_THROW (CORBA::INTERNAL ()); // What is the right exception to throw here?
-
- // @@ It seems to me that we need to make sure this is a component
- // generated by this home before calling remove on this component.
- _ciao_comp->remove (ACE_ENV_ARG_PARAMETER);
- ACE_CHECK;
-
-
- // Removing the object reference? get the servant from the POA with
- // the objref, and call remove() on the component, deactivate the
- // component, and then remove-ref the servant?
- this->_ciao_passivate_component (_ciao_comp.in ()
- ACE_ENV_ARG_PARAMETER);
-}
-
-extern "C" RATEGEN_SVNT_Export ::PortableServer::Servant
-createRateGenHome_Servant (::Components::HomeExecutorBase_ptr p,
- CIAO::Session_Container *c
- ACE_ENV_ARG_DECL)
-{
- if (p == 0)
- return 0;
-
- HUDisplay::CCM_RateGenHome_var x
- = HUDisplay::CCM_RateGenHome::_narrow (p
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (0);
-
- if (CORBA::is_nil (x.in ()))
- return 0;
-
- return new CIAO_GLUE_HUDisplay::RateGenHome_Servant (x.in (),
- c);
-}
diff --git a/TAO/CIAO/examples/handcrafted/Display/RateGen/RateGen_svnt.h b/TAO/CIAO/examples/handcrafted/Display/RateGen/RateGen_svnt.h
deleted file mode 100644
index bcebc34740d..00000000000
--- a/TAO/CIAO/examples/handcrafted/Display/RateGen/RateGen_svnt.h
+++ /dev/null
@@ -1,400 +0,0 @@
-// $Id$
-
-// ===========================================================
-//
-// @file RateGen_svnt.h
-//
-// This is a pseudo-meta generic servant implementations template
-// for CIAO's CIDL compiler. It demonstrates how a servant
-// implementation for a session component should look like.
-//
-// @author Nanbor Wang <nanbor@cs.wustl.edu>
-//
-// ===========================================================
-
-#ifndef CIAO_GLUE_SESSION_RATEGEN_SVNT_H
-#define CIAO_GLUE_SESSION_RATEGEN_SVNT_H
-#include "ace/pre.h"
-
-#include "RateGenS.h" // Source in the skeletons for component
- // client-view equivalent interfaces
-#include "RateGenEC.h" // Source in the executor mapping
- // that component implementations use
-#include "ciao/Container_Base.h" //Source in the container interface definitions
-#include "tao/LocalObject.h"
-#include "tao/PortableServer/Key_Adapters.h"
-#include "ace/Active_Map_Manager_T.h"
-
-#if !defined (ACE_LACKS_PRAGMA_ONCE)
-# pragma once
-#endif /* ACE_LACKS_PRAGMA_ONCE */
-
-namespace CIAO_GLUE_HUDisplay
-{
- //////////////////////////////////////////////////////////////////
- // Component specific context implementation
- class RATEGEN_SVNT_Export RateGen_Context :
- public virtual HUDisplay::CCM_RateGen_Context,
- public virtual TAO_Local_RefCounted_Object
- {
- public:
- // We will allow the the servant glue code we generate to access
- // our states.
- friend class RateGen_Servant;
-
- // Ctor.
- RateGen_Context (::Components::CCMHome_ptr home,
- ::CIAO::Session_Container *c,
- RateGen_Servant *sv);
-
- // Dtor.
- virtual ~RateGen_Context ();
-
- void push_Pulse (HUDisplay::tick *ev
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- // Operations for ::Components::CCMContext
- virtual ::Components::Principal_ptr get_caller_principal (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- virtual ::Components::CCMHome_ptr get_CCM_home (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- virtual CORBA::Boolean get_rollback_only (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::IllegalState));
-
- virtual ::Components::Transaction::UserTransaction_ptr get_user_transaction (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::IllegalState));
-
- virtual CORBA::Boolean is_caller_in_role (const char * role
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- virtual void set_rollback_only (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::IllegalState));
-
- // Operations for ::Components::SessionContext interface
- virtual CORBA::Object_ptr get_CCM_object (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::IllegalState));
-
- protected:
- // We need to generate, in protected section, stuff that manage
- // connections and consumers of this component.
-
- // Operations for publishes interfaces.
- ::Components::Cookie *
- subscribe_Pulse (HUDisplay::tickConsumer_ptr c
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- ::Components::ExceededConnectionLimit));
-
- HUDisplay::tickConsumer_ptr
- unsubscribe_Pulse (::Components::Cookie *ck
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- ::Components::InvalidConnection));
-
- ACE_Active_Map_Manager<HUDisplay::tickConsumer_var> ciao_publishes_Pulse_map_;
-
- protected:
- /// Cached component home reference.
- ::Components::CCMHome_var home_;
-
- /// session container
- ::CIAO::Session_Container *container_;
-
- /// Reference back to owner.
- RateGen_Servant *servant_;
-
- /// @@ Cached component reference.
- HUDisplay::RateGen_var component_;
- };
-
- //////////////////////////////////////////////////////////////////
- // Component Servant Glue code implementation
- class RATEGEN_SVNT_Export RateGen_Servant
- : public virtual POA_HUDisplay::RateGen, // full skeleton name here
- public virtual PortableServer::RefCountServantBase
- {
- public:
- // Ctor.
- RateGen_Servant (HUDisplay::CCM_RateGen_ptr executor,
- ::Components::CCMHome_ptr home,
- ::CIAO::Session_Container *c);
-
- // Dtor.
- ~RateGen_Servant (void);
-
- // Operations from supported interfaces and inherited components
-
- virtual void start (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- virtual void stop (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- virtual CORBA::Boolean active (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- virtual CORBA::Long hertz (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- virtual void hertz (CORBA::Long hertz
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- // Operations for provides interfaces.
-
- // Operations for receptacles interfaces.
-
- // Operations for consumers interfaces.
-
- // Operations for emits interfaces.
-
- // Operations for publishes interfaces.
- virtual ::Components::Cookie *
- subscribe_Pulse (HUDisplay::tickConsumer_ptr c
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- ::Components::ExceededConnectionLimit));
-
- virtual HUDisplay::tickConsumer_ptr
- unsubscribe_Pulse (::Components::Cookie *ck
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- ::Components::InvalidConnection));
-
- // Operations for Navigation interface
- virtual CORBA::Object_ptr provide_facet (const char * name
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException ,
- Components::InvalidName)) ;
- virtual ::Components::FacetDescriptions * get_all_facets (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException));
- virtual ::Components::FacetDescriptions * get_named_facets (const Components::NameList & names
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException ,
- Components::InvalidName));
- virtual CORBA::Boolean same_component (CORBA::Object_ptr object_ref
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- // Operations for Receptacles interface
- virtual ::Components::Cookie *connect (const char * name,
- CORBA::Object_ptr connection
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::InvalidName,
- Components::InvalidConnection,
- Components::AlreadyConnected,
- Components::ExceededConnectionLimit));
- virtual CORBA::Object_ptr disconnect (const char * name,
- Components::Cookie *ck
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::InvalidName,
- Components::InvalidConnection,
- Components::CookieRequired,
- Components::NoConnection));
- virtual ::Components::ConnectionDescriptions * get_connections (const char * name
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::InvalidName));
-
- virtual ::Components::ReceptacleDescriptions * get_all_receptacles (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException));
- virtual ::Components::ReceptacleDescriptions * get_named_receptacles (const Components::NameList & names
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::InvalidName));
-
- // Operations for Events interface
- virtual ::Components::EventConsumerBase_ptr get_consumer (const char * sink_name
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::InvalidName));
- virtual ::Components::Cookie *subscribe (const char * publisher_name,
- Components::EventConsumerBase_ptr subscriber
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::InvalidName,
- Components::InvalidConnection,
- Components::ExceededConnectionLimit));
- virtual ::Components::EventConsumerBase_ptr unsubscribe (const char * publisher_name,
- Components::Cookie *ck
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::InvalidName,
- Components::InvalidConnection));
- virtual void connect_consumer (const char * emitter_name,
- Components::EventConsumerBase_ptr consumer
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::InvalidName,
- Components::AlreadyConnected,
- Components::InvalidConnection));
- virtual ::Components::EventConsumerBase_ptr disconnect_consumer (const char * source_name
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::InvalidName,
- Components::NoConnection));
- virtual ::Components::ConsumerDescriptions * get_all_consumers (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException));
- virtual ::Components::ConsumerDescriptions * get_named_consumers (const Components::NameList & names
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::InvalidName));
- virtual ::Components::EmitterDescriptions * get_all_emitters (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException));
- virtual ::Components::EmitterDescriptions * get_named_emitters (const Components::NameList & names
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::InvalidName));
- virtual ::Components::PublisherDescriptions * get_all_publishers (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException));
- virtual ::Components::PublisherDescriptions * get_named_publishers (const Components::NameList & names
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::InvalidName));
-
- // Operations for CCMObject interface
- virtual ::CORBA::IRObject_ptr get_component_def (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException));
- virtual ::Components::CCMHome_ptr get_ccm_home (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException));
- virtual ::Components::PrimaryKeyBase * get_primary_key (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::NoKeyAvailable));
- virtual void configuration_complete (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::InvalidConfiguration));
- virtual void remove (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::RemoveFailure));
- virtual ::Components::ComponentPortDescription * get_all_ports (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- // get_component implementation.
- virtual CORBA::Object_ptr _get_component (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- // CIAO specific operations.
-
- // Activate the object in the container_
- void
- _ciao_activate (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- void
- _ciao_passivate (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- protected:
- // My Executor.
- HUDisplay::CCM_RateGen_var executor_;
-
- // My Run-time Context.
- RateGen_Context *context_;
-
- // Managing container.
- ::CIAO::Session_Container *container_;
- };
-
- //////////////////////////////////////////////////////////////////
- // Component Home Glue code implementation
-
- // Foreach component home
- class RATEGEN_SVNT_Export RateGenHome_Servant :
- public virtual POA_HUDisplay::RateGenHome, // full skeleton name here
- public virtual PortableServer::RefCountServantBase
- {
- public:
- // Ctor.
- RateGenHome_Servant (HUDisplay::CCM_RateGenHome_ptr exe,
- CIAO::Session_Container *c);
-
- // Dtor.
- ~RateGenHome_Servant (void);
-
- // User defined and inherited operations
-
- // Factory operations.
- virtual HUDisplay::RateGen_ptr new_RateGen (CORBA::Long hertz
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- ::Components::CreateFailure));
-
- // Finder operations.
-
-
- // Operations for KeylessHome interface
- virtual ::Components::CCMObject_ptr
- create_component (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::CreateFailure));
-
- // Operations for Implicit Home interface
- virtual HUDisplay::RateGen_ptr
- create (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::CreateFailure));
-
- // Operations for CCMHome interface
- virtual ::CORBA::IRObject_ptr
- get_component_def (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- virtual ::CORBA::IRObject_ptr
- get_home_def (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- virtual void
- remove_component (Components::CCMObject_ptr comp
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::RemoveFailure));
-
- protected:
- // Helper method for factory operations.
- HUDisplay::RateGen_ptr
- _ciao_activate_component (HUDisplay::CCM_RateGen_ptr exe
- ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- void
- _ciao_passivate_component (HUDisplay::RateGen_ptr comp
- ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- // My Executor.
- HUDisplay::CCM_RateGenHome_var executor_;
-
- // My Container
- CIAO::Session_Container *container_;
-
- // Components this home manages.
- ACE_Hash_Map_Manager_Ex <PortableServer::ObjectId,
- RateGen_Servant*,
- TAO_ObjectId_Hash,
- ACE_Equal_To<PortableServer::ObjectId>,
- ACE_SYNCH_MUTEX> component_map_;
- };
-}
-
-extern "C" RATEGEN_SVNT_Export ::PortableServer::Servant
-createRateGenHome_Servant (::Components::HomeExecutorBase_ptr p,
- CIAO::Session_Container *c
- ACE_ENV_ARG_DECL_WITH_DEFAULTS);
-
-#if defined (__ACE_INLINE__)
-# include "RateGen_svnt.inl"
-#endif /* __ACE_INLINE__ */
-
-
-#include "ace/post.h"
-#endif /* CIAO_GLUE_SESSION_RATEGEN_SVNT_H */
diff --git a/TAO/CIAO/examples/handcrafted/Display/RateGen/RateGen_svnt.inl b/TAO/CIAO/examples/handcrafted/Display/RateGen/RateGen_svnt.inl
deleted file mode 100644
index 3c0f58fc5f8..00000000000
--- a/TAO/CIAO/examples/handcrafted/Display/RateGen/RateGen_svnt.inl
+++ /dev/null
@@ -1,224 +0,0 @@
-// $Id$ -*- C++ -*-
-
-// The generated filename for files using this template shoule be
-// [idl-basename]GS.i GS --> GlueSession
-
-// @@ Notice: [ciao module name] can expand to either CIAO_GLUE or
-// CIAO_GLUE_[module name] as defined in the header file.
-
-/// @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
-/// @@@ Notice that all component and interface names need to be
-/// fully qualified as we are creating a new namespace for the CIAO's
-/// container glue code.
-/// @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
-
-
-//////////////////////////////////////////////////////////////////
-// Component specific context implementation
-//////////////////////////////////////////////////////////////////
-
-ACE_INLINE
-CIAO_GLUE_HUDisplay::RateGen_Context::RateGen_Context (::Components::CCMHome_ptr home,
- ::CIAO::Session_Container *c,
- CIAO_GLUE_HUDisplay::RateGen_Servant *sv)
- : home_ (::Components::CCMHome::_duplicate (home)),
- container_ (c),
- servant_ (sv)
-{
-
-}
-
-ACE_INLINE
-CIAO_GLUE_HUDisplay::RateGen_Context::~RateGen_Context ()
-{
-}
-
-// Operations for emits interfaces.
-
-// Operations for ::Components::CCMContext
-ACE_INLINE ::Components::Principal_ptr
-CIAO_GLUE_HUDisplay::RateGen_Context::get_caller_principal (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- // @@ We don't support Security in CIAO yet.
- ACE_THROW_RETURN (CORBA::NO_IMPLEMENT (), 0);
-}
-
-ACE_INLINE ::Components::CCMHome_ptr
-CIAO_GLUE_HUDisplay::RateGen_Context::get_CCM_home (ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- return ::Components::CCMHome::_duplicate (this->home_.in ());
-}
-
-ACE_INLINE CORBA::Boolean
-CIAO_GLUE_HUDisplay::RateGen_Context::get_rollback_only (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::IllegalState))
-{
- // @@ We don't support Transaction in CIAO yet.
- ACE_THROW_RETURN (CORBA::NO_IMPLEMENT (), 0);
-}
-
-ACE_INLINE ::Components::Transaction::UserTransaction_ptr
-CIAO_GLUE_HUDisplay::RateGen_Context::get_user_transaction (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::IllegalState))
-{
- // @@ We don't support Transaction in CIAO yet.
- ACE_THROW_RETURN (CORBA::NO_IMPLEMENT (), 0);
-}
-
-ACE_INLINE CORBA::Boolean
-CIAO_GLUE_HUDisplay::RateGen_Context::is_caller_in_role (const char * role
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- ACE_UNUSED_ARG (role);
-
- // @@ We don't support Transaction in CIAO yet.
- ACE_THROW_RETURN (CORBA::NO_IMPLEMENT (), 0);
-}
-
-ACE_INLINE void
-CIAO_GLUE_HUDisplay::RateGen_Context::set_rollback_only (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::IllegalState))
-{
- // @@ We don't support Transaction in CIAO yet.
- ACE_THROW (CORBA::NO_IMPLEMENT ());
-}
-
-//////////////////////////////////////////////////////////////////
-// Component Servant Glue code implementation
-//////////////////////////////////////////////////////////////////
-
-ACE_INLINE void
-CIAO_GLUE_HUDisplay::RateGen_Servant::start (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- this->executor_->start (ACE_ENV_SINGLE_ARG_PARAMETER);
-}
-
-ACE_INLINE void
-CIAO_GLUE_HUDisplay::RateGen_Servant::stop (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- // Simply relay to executor. May not need to return the result...
- this->executor_->stop (ACE_ENV_SINGLE_ARG_PARAMETER);
-}
-
-ACE_INLINE CORBA::Boolean
-CIAO_GLUE_HUDisplay::RateGen_Servant::active (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- // Simply relay to executor. May not need to return the result...
- return this->executor_->active (ACE_ENV_SINGLE_ARG_PARAMETER);
-}
-
-ACE_INLINE CORBA::Long
-CIAO_GLUE_HUDisplay::RateGen_Servant::hertz (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- // Simply relay to executor. May not need to return the result...
- return this->executor_->hertz (ACE_ENV_SINGLE_ARG_PARAMETER);
-}
-
-ACE_INLINE void
-CIAO_GLUE_HUDisplay::RateGen_Servant::hertz (CORBA::Long hertz
- ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- // Simply relay to executor. May not need to return the result...
- this->executor_->hertz (hertz
- ACE_ENV_ARG_PARAMETER);
-}
-
-// Operations for publishes interfaces.
-ACE_INLINE ::Components::Cookie *
-CIAO_GLUE_HUDisplay::RateGen_Servant::subscribe_Pulse (HUDisplay::tickConsumer_ptr c
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- ::Components::ExceededConnectionLimit))
-{
- return this->context_->subscribe_Pulse (c
- ACE_ENV_ARG_PARAMETER);
-}
-
-ACE_INLINE HUDisplay::tickConsumer_ptr
-CIAO_GLUE_HUDisplay::RateGen_Servant::unsubscribe_Pulse (::Components::Cookie *ck
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- ::Components::InvalidConnection))
-{
- return this->context_->unsubscribe_Pulse (ck
- ACE_ENV_ARG_PARAMETER);
-}
-
-//////////////////////////////////////////////////////////////////
-// Component Home Glue code implementation
-//////////////////////////////////////////////////////////////////
-
-ACE_INLINE
-CIAO_GLUE_HUDisplay::RateGenHome_Servant::RateGenHome_Servant (HUDisplay::CCM_RateGenHome_ptr exe,
- CIAO::Session_Container *c)
- : executor_ (HUDisplay::CCM_RateGenHome::_duplicate (exe)),
- container_ (c)
-{
-}
-
-ACE_INLINE
-CIAO_GLUE_HUDisplay::RateGenHome_Servant::~RateGenHome_Servant (void)
-{
-}
-
-// for factory operations inherit from parent home(s), they should return
-// the corresponding component types their homes manage
-ACE_INLINE HUDisplay::RateGen_ptr
-CIAO_GLUE_HUDisplay::RateGenHome_Servant::new_RateGen (CORBA::Long hertz
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- ::Components::CreateFailure))
-{
- Components::EnterpriseComponent_var _ciao_ec =
- this->executor_->new_RateGen (hertz
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (0);
-
- HUDisplay::CCM_RateGen_var _ciao_comp
- = HUDisplay::CCM_RateGen::_narrow (_ciao_ec.in ()
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (0);
-
- return this->_ciao_activate_component (_ciao_comp.in ()
- ACE_ENV_ARG_PARAMETER);
-}
-
-// Operations for KeylessHome interface
-ACE_INLINE ::Components::CCMObject_ptr
-CIAO_GLUE_HUDisplay::RateGenHome_Servant::create_component (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::CreateFailure))
-{
- // Simply forward to the create method.
- return this->create (ACE_ENV_SINGLE_ARG_PARAMETER);
-}
-
-// Operations for CCMHome interface
-ACE_INLINE ::CORBA::IRObject_ptr
-CIAO_GLUE_HUDisplay::RateGenHome_Servant::get_component_def (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- // @@ TO-DO. Contact IfR?
-
- ACE_THROW_RETURN (CORBA::NO_IMPLEMENT (), 0);
-}
-
-ACE_INLINE CORBA::IRObject_ptr
-CIAO_GLUE_HUDisplay::RateGenHome_Servant::get_home_def (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- // @@ TO-DO. Contact IfR?
-
- ACE_THROW_RETURN (CORBA::NO_IMPLEMENT (), 0);
-}
diff --git a/TAO/CIAO/examples/handcrafted/Display/RateGen/RateGen_svnt_export.h b/TAO/CIAO/examples/handcrafted/Display/RateGen/RateGen_svnt_export.h
deleted file mode 100644
index ad773523aa8..00000000000
--- a/TAO/CIAO/examples/handcrafted/Display/RateGen/RateGen_svnt_export.h
+++ /dev/null
@@ -1,50 +0,0 @@
-
-// -*- C++ -*-
-// $Id$
-// Definition for Win32 Export directives.
-// This file is generated automatically by generate_export_file.pl RATEGEN_SVNT
-// ------------------------------
-#ifndef RATEGEN_SVNT_EXPORT_H
-#define RATEGEN_SVNT_EXPORT_H
-
-#include "ace/config-all.h"
-
-#if !defined (RATEGEN_SVNT_HAS_DLL)
-# define RATEGEN_SVNT_HAS_DLL 1
-#endif /* ! RATEGEN_SVNT_HAS_DLL */
-
-#if defined (RATEGEN_SVNT_HAS_DLL) && (RATEGEN_SVNT_HAS_DLL == 1)
-# if defined (RATEGEN_SVNT_BUILD_DLL)
-# define RATEGEN_SVNT_Export ACE_Proper_Export_Flag
-# define RATEGEN_SVNT_SINGLETON_DECLARATION(T) ACE_EXPORT_SINGLETON_DECLARATION (T)
-# define RATEGEN_SVNT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_EXPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
-# else /* RATEGEN_SVNT_BUILD_DLL */
-# define RATEGEN_SVNT_Export ACE_Proper_Import_Flag
-# define RATEGEN_SVNT_SINGLETON_DECLARATION(T) ACE_IMPORT_SINGLETON_DECLARATION (T)
-# define RATEGEN_SVNT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_IMPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
-# endif /* RATEGEN_SVNT_BUILD_DLL */
-#else /* RATEGEN_SVNT_HAS_DLL == 1 */
-# define RATEGEN_SVNT_Export
-# define RATEGEN_SVNT_SINGLETON_DECLARATION(T)
-# define RATEGEN_SVNT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
-#endif /* RATEGEN_SVNT_HAS_DLL == 1 */
-
-// Set RATEGEN_SVNT_NTRACE = 0 to turn on library specific tracing even if
-// tracing is turned off for ACE.
-#if !defined (RATEGEN_SVNT_NTRACE)
-# if (ACE_NTRACE == 1)
-# define RATEGEN_SVNT_NTRACE 1
-# else /* (ACE_NTRACE == 1) */
-# define RATEGEN_SVNT_NTRACE 0
-# endif /* (ACE_NTRACE == 1) */
-#endif /* !RATEGEN_SVNT_NTRACE */
-
-#if (RATEGEN_SVNT_NTRACE == 1)
-# define RATEGEN_SVNT_TRACE(X)
-#else /* (RATEGEN_SVNT_NTRACE == 1) */
-# define RATEGEN_SVNT_TRACE(X) ACE_TRACE_IMPL(X)
-#endif /* (RATEGEN_SVNT_NTRACE == 1) */
-
-#endif /* RATEGEN_SVNT_EXPORT_H */
-
-// End of auto generated file.
diff --git a/TAO/CIAO/examples/handcrafted/Display/RateGen/client.cpp b/TAO/CIAO/examples/handcrafted/Display/RateGen/client.cpp
deleted file mode 100644
index 1e894f82d81..00000000000
--- a/TAO/CIAO/examples/handcrafted/Display/RateGen/client.cpp
+++ /dev/null
@@ -1,66 +0,0 @@
-// $Id$
-
-/**
- * @file client.cpp
- *
- * This is a simple client test program that interact with the RateGen
- * component implementation. This test uses the explicit factory
- * operation in the home interface to create a RateGen component
- * instance, run it for a while, and destroy the component instance.
- */
-
-#include "RateGenC.h"
-
-int
-main (int argc, char *argv[])
-{
- ACE_TRY_NEW_ENV
- {
- // Initialize orb
- CORBA::ORB_var orb = CORBA::ORB_init (argc, argv ACE_ENV_ARG_PARAMETER);
-
- // Resolve HomeFinder interface
-
- CORBA::Object_var obj
- = orb->string_to_object ("file://RateGenHome.ior" ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- HUDisplay::RateGenHome_var home
- = HUDisplay::RateGenHome::_narrow (obj.in ()
- ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- if (CORBA::is_nil (home.in ()))
- ACE_ERROR_RETURN ((LM_ERROR, "Unable to acquire RateGenHome objref\n"), -1);
-
- HUDisplay::RateGen_var pulser
- = home->new_RateGen (8
- ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- pulser->start (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- ACE_OS::sleep (5);
-
- pulser->stop (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- home->remove_component (pulser.in ()
- ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- orb->destroy (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_TRY_CHECK;
- }
- ACE_CATCHANY
- {
- ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION,
- "Who is the culprit \n");
- cerr << "Uncaught CORBA exception" << endl;
- return 1;
- }
- ACE_ENDTRY;
-
- return 0;
-}
diff --git a/TAO/CIAO/examples/handcrafted/Display/RateGen/controller.cpp b/TAO/CIAO/examples/handcrafted/Display/RateGen/controller.cpp
deleted file mode 100644
index b681531fc53..00000000000
--- a/TAO/CIAO/examples/handcrafted/Display/RateGen/controller.cpp
+++ /dev/null
@@ -1,121 +0,0 @@
-// $Id$
-
-#include "RateGenC.h"
-#include "ace/Get_Opt.h"
-
-/**
- * @file controller.cpp
- *
- * This program interact with a RateGen component, using its supported
- * interface "opmode" to switch it on/off, and set the rate of the
- * RateGen.
- */
-
-char *rategen_ior_ = 0;
-int rate = 2;
-int turn_on = 1;
-
-int
-parse_args (int argc, char *argv[])
-{
- ACE_Get_Opt get_opts (argc, argv, "k:r:of");
- int c;
-
- while ((c = get_opts ()) != -1)
- switch (c)
- {
- case 'o':
- turn_on = 1;
- break;
-
- case 'f':
- turn_on = 0;
- break;
-
- case 'k':
- rategen_ior_ = get_opts.opt_arg ();
- break;
-
- case 'r':
- rate = atoi (get_opts.opt_arg ());
- break;
-
- case '?': // display help for use of the server.
- default:
- ACE_ERROR_RETURN ((LM_ERROR,
- "usage: %s\n"
- "-o (Turn on the rate generator)\n"
- "-f (Turn off the rate generator)\n"
- "-k <RateGen IOR> (default is file://rategen.ior)\n"
- "-r <rate in hertz> (default is 3)\n"
- "\n",
- argv [0]),
- -1);
- }
-
- if (rategen_ior_ == 0)
- rategen_ior_ = "file://rategen.ior";
-
- if (rate == 0)
- rate = 3;
-
- return 0;
-}
-
-int
-main (int argc, char *argv[])
-{
- ACE_TRY_NEW_ENV
- {
- // Initialize orb
- CORBA::ORB_var orb = CORBA::ORB_init (argc, argv ACE_ENV_ARG_PARAMETER);
-
- if (parse_args (argc, argv) != 0)
- return -1;
-
- CORBA::Object_var obj
- = orb->string_to_object (rategen_ior_
- ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- HUDisplay::RateGen_var pulser
- = HUDisplay::RateGen::_narrow (obj.in ()
- ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- if (CORBA::is_nil (pulser.in ()))
- ACE_ERROR_RETURN ((LM_ERROR, "Unable to acquire 'RateGen' objref\n"), -1);
-
- if (turn_on)
- {
- pulser->hertz (rate
- ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- ACE_DEBUG ((LM_DEBUG, "Start up the Rate Generator\n"));
-
- pulser->start (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_TRY_CHECK;
- }
- else
- {
- pulser->stop (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- ACE_DEBUG ((LM_DEBUG, "Rate Generator stopped\n"));
- }
-
- orb->destroy (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_TRY_CHECK;
- }
- ACE_CATCHANY
- {
- ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION,
- "Who is the culprit \n");
- cerr << "Uncaught CORBA exception" << endl;
- return 1;
- }
- ACE_ENDTRY;
-
- return 0;
-}
diff --git a/TAO/CIAO/examples/handcrafted/Display/RateGen/run_test.pl b/TAO/CIAO/examples/handcrafted/Display/RateGen/run_test.pl
deleted file mode 100644
index 8e080d8d4bd..00000000000
--- a/TAO/CIAO/examples/handcrafted/Display/RateGen/run_test.pl
+++ /dev/null
@@ -1,112 +0,0 @@
-eval '(exit $?0)' && eval 'exec perl -S $0 ${1+"$@"}'
- & eval 'exec perl -S $0 $argv:q'
- if 0;
-
-# $Id$
-# -*- perl -*-
-
-#
-# @@ Run this script from ../descriptors/ instead.
-#
-
-use lib "../../../../../../bin";
-use PerlACE::Run_Test;
-
-$status = 0;
-$daemon_ior = PerlACE::LocalFile ("daemon.ior");
-$svr_ior = PerlACE::LocalFile ("server.ior");
-$home_ior = PerlACE::LocalFile ("RateGenHome.ior");
-
-unlink $daemon_ior;
-unlink $svr_ior;
-unlink $home_ior;
-
-# CIAO Daemon command line arguments
-$daemon_args = "-o $daemon_ior -i CIAO_Installation_Data.ini -n ../../../../tools/ComponentServer/ComponentServer";
-
-# CIAO Daemon Controller location:
-$controller = "../../../../tools/Daemon/DaemonController";
-
-# Daemon controller common command line arguments
-$common_args = "-ORBInitRef CIAODaemon=file://$daemon_ior";
-
-# Daemon controller start_home command
-$start_args = "start_home -s RateGen.csd -m $home_ior -c $svr_ior";
-
-# Daemon controller end_home command
-$end_args = "end_home -c file://$svr_ior";
-
-# Daemon controller shutdown command
-$shutdown_args = "shutdown";
-
-# Client program command line arguments
-$cl_args = "";
-
-# Naming_Service process definition
-$DS = new PerlACE::Process ("../../../../tools/Daemon/CIAO_Daemon",
- "$daemon_args");
-
-# Client process definition
-$CL = new PerlACE::Process ("../RateGen/client",
- "$cl_args");
-
-## Starting up the CIAO daemon
-$DS->Spawn ();
-if (PerlACE::waitforfile_timed ($daemon_ior, 15) == -1) {
- print STDERR "ERROR: Could not find daemon ior file <$daemon_ior>\n";
- $DS->Kill ();
- exit 1;
-}
-
-## Starting up a ComponentServer running the RateGen home.
-$DC = new PerlACE::Process ("$controller",
- "$common_args $start_args");
-
-$DC->SpawnWaitKill (60);
-if (PerlACE::waitforfile_timed ($home_ior, 15) == -1) {
- print STDERR "ERROR: Could not find home ior file <$home_ior>\n";
- $DS->Kill ();
- exit 1;
-}
-
-$client = $CL->SpawnWaitKill (60);
-
-if ($client != 0) {
- print STDERR "ERROR: client returned $client\n";
- $status = 1;
-}
-
-## Terminating the ComponentServer running the RateGen home.
-$DC = new PerlACE::Process ("$controller",
- "$common_args $end_args");
-
-$ctrl = $DC->SpawnWaitKill (60);
-if ($ctrl != 0) {
- print STDERR "ERROR: Fail to end component server\n";
- $DS->Kill ();
- exit 1;
-}
-
-## Terminating the ComponentServer running the RateGen home.
-$DC = new PerlACE::Process ("$controller",
- "$common_args $shutdown_args");
-
-$ctrl = $DC->SpawnWaitKill (60);
-if ($ctrl != 0) {
- print STDERR "ERROR: Fail to shutdown CIAODaemon\n";
- $DS->Kill ();
- exit 1;
-}
-
-$ctrl = $DS->WaitKill (60);
-if ($ctrl != 0) {
- print STDERR "ERROR: CIAODaemon didn't shutdown gracefully $ctrl\n";
- $DS->Kill ();
- exit 1;
-}
-
-unlink $daemon_ior;
-unlink $svr_ior;
-unlink $home_ior;
-
-exit $status;
diff --git a/TAO/CIAO/examples/handcrafted/Display/cleanup_mpcfiles.cmd b/TAO/CIAO/examples/handcrafted/Display/cleanup_mpcfiles.cmd
deleted file mode 100755
index 4c11d847420..00000000000
--- a/TAO/CIAO/examples/handcrafted/Display/cleanup_mpcfiles.cmd
+++ /dev/null
@@ -1 +0,0 @@
-del /q /s *.plg *.pdb *.ilk *.lib *.dsw *.dsp *.ncb *.exp *.opt \ No newline at end of file
diff --git a/TAO/CIAO/examples/handcrafted/Display/descriptors/CIAO_Installation_Data.ini b/TAO/CIAO/examples/handcrafted/Display/descriptors/CIAO_Installation_Data.ini
deleted file mode 100644
index 245a0c5e4d9..00000000000
--- a/TAO/CIAO/examples/handcrafted/Display/descriptors/CIAO_Installation_Data.ini
+++ /dev/null
@@ -1,9 +0,0 @@
-[ComponentInstallation]
-DCE:75309233-0E0A-4cfb-B186-3E99F69B1D40=GPS_svnt
-DCE:82C2B032-37F0-4315-A59F-7020D3264E4D=RateGen_exec
-DCE:8E92655E-CA07-46C8-B127-0F0872A8CC29=GPS_tracing_exec
-DCE:93D254CF-9538-44e8-BB98-AABCD134ADD3=RateGen_svnt
-DCE:CDC06FCA-50FC-43ca-8ECC-BEFBD33FEE78=NavDisplay_svnt
-DCE:8E6C468D-A39F-46b4-962B-265F1AA8D538=NavDisplay_exec
-DCE:D7984625-8561-431d-9927-4E498B317C02=NavDisplayGUI_exec
-DCE:3148F760-F2ED-4204-A775-6B972C10E8CB=GPS_exec
diff --git a/TAO/CIAO/examples/handcrafted/Display/descriptors/DuelDisplay.cad b/TAO/CIAO/examples/handcrafted/Display/descriptors/DuelDisplay.cad
deleted file mode 100644
index 6707868b2cc..00000000000
--- a/TAO/CIAO/examples/handcrafted/Display/descriptors/DuelDisplay.cad
+++ /dev/null
@@ -1,114 +0,0 @@
-<?xml version="1.0"?> <!-- -*- SGML -*- -->
-
-<!-- If this file is moved to a different directory, make sure to change the
- path to the DTD below. Otherwise the examples won't work. -->
-<!DOCTYPE componentassembly SYSTEM "../../../../docs/XML/componentassembly.dtd">
-
-<componentassembly id="Single-process HUDisplay assembly">
- <componentfiles>
- <componentfile id="com-RateGen">
- <fileinarchive name="RateGen.csd"/>
- </componentfile>
- <componentfile id="com-GPS">
- <fileinarchive name="GPS_tracing.csd"/>
- </componentfile>
- <componentfile id="com-NavDisplay">
- <fileinarchive name="NavDisplay.csd"/>
- </componentfile>
- <componentfile id="com-NavDisplayGUI">
- <fileinarchive name="NavDisplayGUI.csd"/>
- </componentfile>
- </componentfiles>
-
- <partitioning>
-
- <!-- A plain vanilla partition. We don't even need the processcollocation tag here. -->
- <homeplacement id="a_RateGenHome">
- <componentfileref idref="com-RateGen"/>
- <componentinstantiation id="a_RateGen">
- <registercomponent>
- <!-- writeiortofile is a non-standard CIAO extension. -->
- <writeiortofile name="rategen.ior"/>
- </registercomponent>
- </componentinstantiation>
- </homeplacement>
-
- <homeplacement id="a_GPSHome">
- <componentfileref idref="com-GPS"/>
- <componentinstantiation id="a_GPS"/>
- </homeplacement>
-
- <homeplacement id="a_NavDisplayHome">
- <componentfileref idref="com-NavDisplay"/>
- <componentinstantiation id="a_NavDisplay"/>
- </homeplacement>
-
- <processcollocation>
- <homeplacement id="a_NavDisplayGUIHome">
- <componentfileref idref="com-NavDisplayGUI"/>
- <componentinstantiation id="a_NavDisplayGUI"/>
- </homeplacement>
- <destination>Remote</destination>
- </processcollocation>
- </partitioning>
-
- <connections>
-
- <connectevent>
- <consumesport>
- <consumesidentifier>Refresh</consumesidentifier>
- <componentinstantiationref idref="a_GPS"/>
- </consumesport>
- <publishesport>
- <publishesidentifier>Pulse</publishesidentifier>
- <componentinstantiationref idref="a_RateGen"/>
- </publishesport>
- </connectevent>
-
- <connectevent>
- <consumesport>
- <consumesidentifier>Refresh</consumesidentifier>
- <componentinstantiationref idref="a_NavDisplay"/>
- </consumesport>
- <publishesport>
- <publishesidentifier>Ready</publishesidentifier>
- <componentinstantiationref idref="a_GPS"/>
- </publishesport>
- </connectevent>
-
- <connectinterface>
- <usesport>
- <usesidentifier>GPSLocation</usesidentifier>
- <componentinstantiationref idref="a_NavDisplay"/>
- </usesport>
- <providesport>
- <providesidentifier>MyLocation</providesidentifier>
- <componentinstantiationref idref="a_GPS"/>
- </providesport>
- </connectinterface>
-
- <connectevent>
- <consumesport>
- <consumesidentifier>Refresh</consumesidentifier>
- <componentinstantiationref idref="a_NavDisplayGUI"/>
- </consumesport>
- <publishesport>
- <publishesidentifier>Ready</publishesidentifier>
- <componentinstantiationref idref="a_GPS"/>
- </publishesport>
- </connectevent>
-
- <connectinterface>
- <usesport>
- <usesidentifier>GPSLocation</usesidentifier>
- <componentinstantiationref idref="a_NavDisplayGUI"/>
- </usesport>
- <providesport>
- <providesidentifier>MyLocation</providesidentifier>
- <componentinstantiationref idref="a_GPS"/>
- </providesport>
- </connectinterface>
-
- </connections>
-
-</componentassembly>
diff --git a/TAO/CIAO/examples/handcrafted/Display/descriptors/GPS.csd b/TAO/CIAO/examples/handcrafted/Display/descriptors/GPS.csd
deleted file mode 100644
index bfa23d08744..00000000000
--- a/TAO/CIAO/examples/handcrafted/Display/descriptors/GPS.csd
+++ /dev/null
@@ -1,64 +0,0 @@
-<?xml version="1.0"?> <!-- -*- SGML -*- -->
-
-<!-- If this file is moved to a different directory, make sure to change the
- path to the DTD below. Otherwise the examples won't work. -->
-<!DOCTYPE softpkg SYSTEM "../../../../docs/XML/softpkg.dtd">
-
-<!-- GPS's Software Package Descriptor -->
-<!-- This file describes various GPS executor -->
-<!-- implementations. -->
-
-
-<softpkg name="CIAO-GPS" version="1.0">
- <pkgtype>CORBA Component</pkgtype>
- <title>Rate Generator</title>
- <author>
- <company>Washington University in St. Louis</company>
- <webpage href="http://www.cs.wustl.edu/~doc/"/>
- </author>
- <description>A GPS executor implementation.</description>
- <license href="http://www.cs.wustl.edu/~schmidt/ACE-copying.html"/>
- <idl id="IDL:HUDisplay/GPS:1.0" homeid="IDL:HUDisplay/GPSHome:1.0">
- <fileinarchive name="GPS.idl"/>
- </idl>
-
- <!-- We don't need a property file for this example. However, -->
- <!-- what to do with this element? Cache it in ComponentInstallation? -->
- <!-- A better question maybe, when do we actually read the file and -->
- <!-- build the attributes defined in the file? By Assembly perhaps? -->
- <!-- Notice that this property file applies to the implementation itself. -->
- <!-- Whatever that means. -->
-<!-- <propertyfile> -->
-<!-- <fileinarchive name="empty.cpf"/> -->
-<!-- </propertyfile> -->
-
- <descriptor type="CORBA Component">
- <fileinarchive name="GPS.ccd"/>
- </descriptor>
-
- <implementation id="DCE:3148F760-F2ED-4204-A775-6B972C10E8CB">
-
- <!-- CIAO extension -->
- <dependency type="CIAODLL">
- <softpkgref>
- <!-- .ssd stands for Servant Software Descriptors which is a CIAO extension -->
- <fileinarchive name="GPS.ssd"/>
- <implref idref="DCE:75309233-0E0A-4cfb-B186-3E99F69B1D40"/>
- </softpkgref>
- </dependency>
-
- <!-- What happens when one define descriptors for both softpkg and -->
- <!-- implementations? -->
-
- <code type="DLL">
- <!-- No need to specify extension below since ACE takes care of that, -->
- <fileinarchive name="GPS_exec"/>
- <entrypoint>createGPSHome_Impl</entrypoint>
- </code>
-
- </implementation>
-
- <!-- Let's add more implementation description later when we try to -->
- <!-- compile this stuff on, say, Solaris and Linux. -->
-
-</softpkg>
diff --git a/TAO/CIAO/examples/handcrafted/Display/descriptors/GPS.ssd b/TAO/CIAO/examples/handcrafted/Display/descriptors/GPS.ssd
deleted file mode 100644
index 5e33124bf1a..00000000000
--- a/TAO/CIAO/examples/handcrafted/Display/descriptors/GPS.ssd
+++ /dev/null
@@ -1,48 +0,0 @@
-<?xml version="1.0"?> <!-- -*- SGML -*- -->
-
-<!-- If this file is moved to a different directory, make sure to change the
- path to the DTD below. Otherwise the examples won't work. -->
-<!DOCTYPE softpkg SYSTEM "../../../../docs/XML/softpkg.dtd">
-
-<!-- GPS's Servant Software Descriptor -->
-<!-- This file describes various GPS servant -->
-<!-- implementations. -->
-
-
-<softpkg name="CIAO-GPS-Servant" version="1.0">
- <pkgtype>CIAO Servant</pkgtype>
- <title>HUDisplay::GPS Servants</title>
- <author>
- <company>Washington University in St. Louis</company>
- <webpage href="http://www.cs.wustl.edu/~doc/"/>
- </author>
- <description>A GPS servant implementation.</description>
- <license href="http://www.cs.wustl.edu/~schmidt/ACE-copying.html"/>
- <idl id="IDL:HUDisplay/GPS:1.0" homeid="IDL:HUDisplay/GPSHome:1.0">
- <fileinarchive name="GPS.idl"/>
- </idl>
-
- <!-- Duplicate information. We should use the copy in GPS.csd -->
- <!-- So, do we really need this one? -->
- <descriptor type="CORBA Component">
- <fileinarchive name="GPS.ccd"/>
- </descriptor>
-
- <implementation id="DCE:75309233-0E0A-4cfb-B186-3E99F69B1D40">
-
- <dependency type="ORB">
- <name>TAO</name>
- </dependency>
-
- <code>
- <!-- No need to specify extension below since ACE takes care of that, -->
- <fileinarchive name="GPS_svnt"/>
- <entrypoint>createGPSHome_Servant</entrypoint>
- </code>
-
- </implementation>
-
- <!-- Let's add more implementation description later when we try to -->
- <!-- compile this stuff on, say, Solaris and Linux. -->
-
-</softpkg>
diff --git a/TAO/CIAO/examples/handcrafted/Display/descriptors/GPS_tracing.csd b/TAO/CIAO/examples/handcrafted/Display/descriptors/GPS_tracing.csd
deleted file mode 100644
index 5835d632f97..00000000000
--- a/TAO/CIAO/examples/handcrafted/Display/descriptors/GPS_tracing.csd
+++ /dev/null
@@ -1,64 +0,0 @@
-<?xml version="1.0"?> <!-- -*- SGML -*- -->
-
-<!-- If this file is moved to a different directory, make sure to change the
- path to the DTD below. Otherwise the examples won't work. -->
-<!DOCTYPE softpkg SYSTEM "../../../../docs/XML/softpkg.dtd">
-
-<!-- GPS's Software Package Descriptor -->
-<!-- This file describes various GPS executor -->
-<!-- implementations. -->
-
-
-<softpkg name="CIAO-GPS" version="1.0">
- <pkgtype>CORBA Component</pkgtype>
- <title>GPS tracing emulater</title>
- <author>
- <company>Washington University in St. Louis</company>
- <webpage href="http://www.cs.wustl.edu/~doc/"/>
- </author>
- <description>A GPS executor implementation that emulate a trace.</description>
- <license href="http://www.cs.wustl.edu/~schmidt/ACE-copying.html"/>
- <idl id="IDL:HUDisplay/GPS:1.0" homeid="IDL:HUDisplay/GPSHome:1.0">
- <fileinarchive name="GPS.idl"/>
- </idl>
-
- <!-- We don't need a property file for this example. However, -->
- <!-- what to do with this element? Cache it in ComponentInstallation? -->
- <!-- A better question maybe, when do we actually read the file and -->
- <!-- build the attributes defined in the file? By Assembly perhaps? -->
- <!-- Notice that this property file applies to the implementation itself. -->
- <!-- Whatever that means. -->
-<!-- <propertyfile> -->
-<!-- <fileinarchive name="empty.cpf"/> -->
-<!-- </propertyfile> -->
-
- <descriptor type="CORBA Component">
- <fileinarchive name="GPS.ccd"/>
- </descriptor>
-
- <implementation id="DCE:8E92655E-CA07-46C8-B127-0F0872A8CC29">
-
- <!-- CIAO extension -->
- <dependency type="CIAODLL">
- <softpkgref>
- <!-- .ssd stands for Servant Software Descriptors which is a CIAO extension -->
- <fileinarchive name="GPS.ssd"/>
- <implref idref="DCE:75309233-0E0A-4cfb-B186-3E99F69B1D40"/>
- </softpkgref>
- </dependency>
-
- <!-- What happens when one define descriptors for both softpkg and -->
- <!-- implementations? -->
-
- <code type="DLL">
- <!-- No need to specify extension below since ACE takes care of that, -->
- <fileinarchive name="GPS_tracing_exec"/>
- <entrypoint>createGPSHome_Tracing_Impl</entrypoint>
- </code>
-
- </implementation>
-
- <!-- Let's add more implementation description later when we try to -->
- <!-- compile this stuff on, say, Solaris and Linux. -->
-
-</softpkg>
diff --git a/TAO/CIAO/examples/handcrafted/Display/descriptors/HUDisplay.cad b/TAO/CIAO/examples/handcrafted/Display/descriptors/HUDisplay.cad
deleted file mode 100644
index 00fef2cea5f..00000000000
--- a/TAO/CIAO/examples/handcrafted/Display/descriptors/HUDisplay.cad
+++ /dev/null
@@ -1,82 +0,0 @@
-<?xml version="1.0"?> <!-- -*- SGML -*- -->
-
-<!-- If this file is moved to a different directory, make sure to change the
- path to the DTD below. Otherwise the examples won't work. -->
-<!DOCTYPE componentassembly SYSTEM "../../../../docs/XML/componentassembly.dtd">
-
-<componentassembly id="Single-process HUDisplay assembly">
- <componentfiles>
- <componentfile id="com-RateGen">
- <fileinarchive name="RateGen.csd"/>
- </componentfile>
- <componentfile id="com-GPS">
- <fileinarchive name="GPS.csd"/>
- </componentfile>
- <componentfile id="com-NavDisplay">
- <fileinarchive name="NavDisplay.csd"/>
- </componentfile>
- </componentfiles>
-
- <partitioning>
-
- <!-- A plain vanilla partition. We don't even need the processcollocation tag here. -->
- <homeplacement id="a_RateGenHome">
- <componentfileref idref="com-RateGen"/>
- <componentinstantiation id="a_RateGen">
- <registercomponent>
- <!-- writeiortofile is a non-standard CIAO extension. -->
- <writeiortofile name="rategen.ior"/>
- </registercomponent>
- </componentinstantiation>
- </homeplacement>
-
- <homeplacement id="a_GPSHome">
- <componentfileref idref="com-GPS"/>
- <componentinstantiation id="a_GPS"/>
- </homeplacement>
-
- <homeplacement id="a_NavDisplayHome">
- <componentfileref idref="com-NavDisplay"/>
- <componentinstantiation id="a_NavDisplay"/>
- </homeplacement>
-
- </partitioning>
-
- <connections>
-
- <connectevent>
- <consumesport>
- <consumesidentifier>Refresh</consumesidentifier>
- <componentinstantiationref idref="a_GPS"/>
- </consumesport>
- <publishesport>
- <publishesidentifier>Pulse</publishesidentifier>
- <componentinstantiationref idref="a_RateGen"/>
- </publishesport>
- </connectevent>
-
- <connectevent>
- <consumesport>
- <consumesidentifier>Refresh</consumesidentifier>
- <componentinstantiationref idref="a_NavDisplay"/>
- </consumesport>
- <publishesport>
- <publishesidentifier>Ready</publishesidentifier>
- <componentinstantiationref idref="a_GPS"/>
- </publishesport>
- </connectevent>
-
- <connectinterface>
- <usesport>
- <usesidentifier>GPSLocation</usesidentifier>
- <componentinstantiationref idref="a_NavDisplay"/>
- </usesport>
- <providesport>
- <providesidentifier>MyLocation</providesidentifier>
- <componentinstantiationref idref="a_GPS"/>
- </providesport>
- </connectinterface>
-
- </connections>
-
-</componentassembly>
diff --git a/TAO/CIAO/examples/handcrafted/Display/descriptors/HUDisplayGUI.cad b/TAO/CIAO/examples/handcrafted/Display/descriptors/HUDisplayGUI.cad
deleted file mode 100644
index 29ba52d8768..00000000000
--- a/TAO/CIAO/examples/handcrafted/Display/descriptors/HUDisplayGUI.cad
+++ /dev/null
@@ -1,82 +0,0 @@
-<?xml version="1.0"?> <!-- -*- SGML -*- -->
-
-<!-- If this file is moved to a different directory, make sure to change the
- path to the DTD below. Otherwise the examples won't work. -->
-<!DOCTYPE componentassembly SYSTEM "../../../../docs/XML/componentassembly.dtd">
-
-<componentassembly id="Single-process HUDisplay assembly">
- <componentfiles>
- <componentfile id="com-RateGen">
- <fileinarchive name="RateGen.csd"/>
- </componentfile>
- <componentfile id="com-GPS">
- <fileinarchive name="GPS_tracing.csd"/>
- </componentfile>
- <componentfile id="com-NavDisplay">
- <fileinarchive name="NavDisplayGUI.csd"/>
- </componentfile>
- </componentfiles>
-
- <partitioning>
-
- <!-- A plain vanilla partition. We don't even need the processcollocation tag here. -->
- <homeplacement id="a_RateGenHome">
- <componentfileref idref="com-RateGen"/>
- <componentinstantiation id="a_RateGen">
- <registercomponent>
- <!-- writeiortofile is a non-standard CIAO extension. -->
- <writeiortofile name="rategen.ior"/>
- </registercomponent>
- </componentinstantiation>
- </homeplacement>
-
- <homeplacement id="a_GPSHome">
- <componentfileref idref="com-GPS"/>
- <componentinstantiation id="a_GPS"/>
- </homeplacement>
-
- <homeplacement id="a_NavDisplayHome">
- <componentfileref idref="com-NavDisplay"/>
- <componentinstantiation id="a_NavDisplay"/>
- </homeplacement>
-
- </partitioning>
-
- <connections>
-
- <connectevent>
- <consumesport>
- <consumesidentifier>Refresh</consumesidentifier>
- <componentinstantiationref idref="a_GPS"/>
- </consumesport>
- <publishesport>
- <publishesidentifier>Pulse</publishesidentifier>
- <componentinstantiationref idref="a_RateGen"/>
- </publishesport>
- </connectevent>
-
- <connectevent>
- <consumesport>
- <consumesidentifier>Refresh</consumesidentifier>
- <componentinstantiationref idref="a_NavDisplay"/>
- </consumesport>
- <publishesport>
- <publishesidentifier>Ready</publishesidentifier>
- <componentinstantiationref idref="a_GPS"/>
- </publishesport>
- </connectevent>
-
- <connectinterface>
- <usesport>
- <usesidentifier>GPSLocation</usesidentifier>
- <componentinstantiationref idref="a_NavDisplay"/>
- </usesport>
- <providesport>
- <providesidentifier>MyLocation</providesidentifier>
- <componentinstantiationref idref="a_GPS"/>
- </providesport>
- </connectinterface>
-
- </connections>
-
-</componentassembly>
diff --git a/TAO/CIAO/examples/handcrafted/Display/descriptors/NOTE.txt b/TAO/CIAO/examples/handcrafted/Display/descriptors/NOTE.txt
deleted file mode 100644
index cbe28a6b459..00000000000
--- a/TAO/CIAO/examples/handcrafted/Display/descriptors/NOTE.txt
+++ /dev/null
@@ -1,141 +0,0 @@
-This directory contains various XML descriptors and configuration
-files required to compose the HUDisplay application in a variety of
-different ways. Let's go over a few important files first:
-
-test.dat:
----------
-
- This file describes the deployment daemons CIAO's Assembly_Manager
- will contact to instantiate ComponentServer's, home's, and component
- instances. Each line specify the name of a installation
- "destination" (I used this to specify <processcollocation>
- destination in various *.cad files) and the corresponding IOR for
- the CIAO_Daemon. The first entry is the "default" destination the
- deployment framework will use.
-
- For example, test.dat now contains:
-
- Default corbaloc:iiop:localhost:10000/ServerActivator
- Remote corbaloc:iiop:localhost:12000/ServerActivator
-
- You can copy and modify the copy to deploy the components in various
- different locations to let the application truely "distributed".
- For example, changing the remote ServerActivator to:
- corbaloc:iiop:deuce.doc.wustl.edu:13000/ServerActivator
-
- Remember to start up the Assembly_Manager in Step 2 using the
- revised "test.dat" you created, and start up the CIAO_Daemon's in
- Step 1 according to the specification.
-
-*.cad:
-------
-
- These files specify how an application should be composed. The
- specification includes, where to install a component, what
- implementation to use, and how to connect components together.
- Currently, we have:
-
- HUDisplay.cad: Plain vanilla assembly descriptor. This file install
- all components using the "Default" (the first daemon)
- in 'test.dat. You can see the application output
- from the default daemon shell.
-
- HUDisplayGUI.cad: Same as HUDisplay.cad, but instead of a text-based
- NavDisplay component and a GPS component that
- generates random coordinations, this descriptor
- instantiate a GUI NavDisplay window and a GPS
- component that emulate a trace.
-
- RemoteDisplay.cad: This descriptor causes the NavDisplay component
- to be instantiated in the "Remote" daemon.
-
- RemoteDisplayGUI.cad: Similar to RemoteDisplay.cad but uses a
- GUI-based NavDisplay and the tracing GPS
- components.
-
- DuelDisplay.cad: A combination of HUDisplay.cad and
- RemoteDisplayGUI.cad. This example uses 4
- components (two display components) and hooks them
- up together. I think this is really cool.
-
-Unfortunately, there's no run_test.pl for starting and running these
-example configurations/assemblies as these daemons/managers programs
-are still under development. You will need several shell windows for
-them. All the following step should be run from this subdirectory
-($CIAO_ROOT/examples/handcrafted/Display/descriptors/). Here are the
-steps to demonstrate the examples:
-
-Step 1:
-=======
-
- You need to start up all the CIAO_Daemon's as specified in the
- deployment configuration file 'test.dat' (Notice the endpoint
- specification.) I recommend running each CIAO_Daemon in its own
- shell window so you can tell where a component in the example
- application is running. Here are some hints on how to start the
- daemons:
-
- ${CIAO_ROOT}/tools/Daemon/CIAO_Daemon -ORBEndpoint iiop://localhost:10000 -n ../../../../tools/ComponentServer/ComponentServer
-
- ${CIAO_ROOT}/tools/Daemon/CIAO_Daemon -ORBEndpoint iiop://localhost:12000 -n ../../../../tools/ComponentServer/ComponentServer
-
-Step 2:
-=======
-
- Next, you will need to start up the Assembly_Manager which actually
- does the assembly work. This should also be started in a separate
- shell window.
-
- ${CIAO_ROOT}/tools/Assembly_Deployer/Assembly_Manager -o ior -c test.dat
-
-Step 3:
-=======
-
- You then need to instruct the Assembly_Manager to deploy a specific
- compoennt assembly descriptor. For example:
-
- ${CIAO_ROOT}/tools/Assembly_Deployer/Assembly_Deployer -k file://ior -a HUDisplay.cad
-
- Replace "HUDisplay.cad" with other '.cad' files as you like.
-
-Step 4:
-=======
-
- All the .cad files instruct the Assembly_Manager to write the IOR of
- the RateGen component to a file called "rategen.ior" in this
- directory. You will then need to use a controller program in a
- separate shell window to switch on/off the Rate Generator. Cont
-
- Execute the controller with:
-
- ../RateGen/controller -o # To switch on the RateGen
-
- See its source to check what options are available to start up the
- controller. (Hints: you can control the rate (hertz) of the Rate
- Generator component.)
-
- Once the controller is running, check out the Daemon window (for
- text-based NavDisplay component) or the GUI window for the output.
- Once you are happy with it, you can stop the RateGen by executing
- the controller as:
-
- ../RateGen/controller -f # To switch off the RateGen
-
- Repeat this step again to instruct the RateGen component to start
- generating events.
-
-Step 5:
-=======
-
- Once you are done with the test. Press <enter> in the shell window
- running Assembly_Deployer that you started in Step 3. This will
- tear_down the application, kill all ComponentServer's, and terminate
- both the Assembly_Deployer and Assembly_Manager process.
-
- Repeat Step 2-5 using different configurations and assembly
- descriptors.
-
-Step 6:
-=======
-
- Terminate CIAO_Daemon (either using ^C or DaemonController.)
diff --git a/TAO/CIAO/examples/handcrafted/Display/descriptors/NavDisplay.csd b/TAO/CIAO/examples/handcrafted/Display/descriptors/NavDisplay.csd
deleted file mode 100644
index 3384b95480d..00000000000
--- a/TAO/CIAO/examples/handcrafted/Display/descriptors/NavDisplay.csd
+++ /dev/null
@@ -1,64 +0,0 @@
-<?xml version="1.0"?> <!-- -*- SGML -*- -->
-
-<!-- If this file is moved to a different directory, make sure to change the
- path to the DTD below. Otherwise the examples won't work. -->
-<!DOCTYPE softpkg SYSTEM "../../../../docs/XML/softpkg.dtd">
-
-<!-- NavDisplay's Software Package Descriptor -->
-<!-- This file describes various NavDisplay executor -->
-<!-- implementations. -->
-
-
-<softpkg name="CIAO-NavDisplay" version="1.0">
- <pkgtype>CORBA Component</pkgtype>
- <title>Rate Generator</title>
- <author>
- <company>Washington University in St. Louis</company>
- <webpage href="http://www.cs.wustl.edu/~doc/"/>
- </author>
- <description>A NavDisplay executor implementation.</description>
- <license href="http://www.cs.wustl.edu/~schmidt/ACE-copying.html"/>
- <idl id="IDL:HUDisplay/NavDisplay:1.0" homeid="IDL:HUDisplay/NavDisplayHome:1.0">
- <fileinarchive name="NavDisplay.idl"/>
- </idl>
-
- <!-- We don't need a property file for this example. However, -->
- <!-- what to do with this element? Cache it in ComponentInstallation? -->
- <!-- A better question maybe, when do we actually read the file and -->
- <!-- build the attributes defined in the file? By Assembly perhaps? -->
- <!-- Notice that this property file applies to the implementation itself. -->
- <!-- Whatever that means. -->
-<!-- <propertyfile> -->
-<!-- <fileinarchive name="empty.cpf"/> -->
-<!-- </propertyfile> -->
-
- <descriptor type="CORBA Component">
- <fileinarchive name="NavDisplay.ccd"/>
- </descriptor>
-
- <implementation id="DCE:8E6C468D-A39F-46b4-962B-265F1AA8D538">
-
- <!-- CIAO extension -->
- <dependency type="CIAODLL">
- <softpkgref>
- <!-- .ssd stands for Servant Software Descriptors which is a CIAO extension -->
- <fileinarchive name="NavDisplay.ssd"/>
- <implref idref="DCE:CDC06FCA-50FC-43ca-8ECC-BEFBD33FEE78"/>
- </softpkgref>
- </dependency>
-
- <!-- What happens when one define descriptors for both softpkg and -->
- <!-- implementations? -->
-
- <code type="DLL">
- <!-- No need to specify extension below since ACE takes care of that, -->
- <fileinarchive name="NavDisplay_exec"/>
- <entrypoint>createNavDisplayHome_Impl</entrypoint>
- </code>
-
- </implementation>
-
- <!-- Let's add more implementation description later when we try to -->
- <!-- compile this stuff on, say, Solaris and Linux. -->
-
-</softpkg>
diff --git a/TAO/CIAO/examples/handcrafted/Display/descriptors/NavDisplay.ssd b/TAO/CIAO/examples/handcrafted/Display/descriptors/NavDisplay.ssd
deleted file mode 100644
index b82967b411d..00000000000
--- a/TAO/CIAO/examples/handcrafted/Display/descriptors/NavDisplay.ssd
+++ /dev/null
@@ -1,48 +0,0 @@
-<?xml version="1.0"?> <!-- -*- SGML -*- -->
-
-<!-- If this file is moved to a different directory, make sure to change the
- path to the DTD below. Otherwise the examples won't work. -->
-<!DOCTYPE softpkg SYSTEM "../../../../docs/XML/softpkg.dtd">
-
-<!-- NavDisplay's Servant Software Descriptor -->
-<!-- This file describes various NavDisplay servant -->
-<!-- implementations. -->
-
-
-<softpkg name="CIAO-NavDisplay-Servant" version="1.0">
- <pkgtype>CIAO Servant</pkgtype>
- <title>HUDisplay::NavDisplay Servants</title>
- <author>
- <company>Washington University in St. Louis</company>
- <webpage href="http://www.cs.wustl.edu/~doc/"/>
- </author>
- <description>A NavDisplay servant implementation.</description>
- <license href="http://www.cs.wustl.edu/~schmidt/ACE-copying.html"/>
- <idl id="IDL:HUDisplay/NavDisplay:1.0" homeid="IDL:HUDisplay/NavDisplayHome:1.0">
- <fileinarchive name="NavDisplay.idl"/>
- </idl>
-
- <!-- Duplicate information. We should use the copy in NavDisplay.csd -->
- <!-- So, do we really need this one? -->
- <descriptor type="CORBA Component">
- <fileinarchive name="NavDisplay.ccd"/>
- </descriptor>
-
- <implementation id="DCE:CDC06FCA-50FC-43ca-8ECC-BEFBD33FEE78">
-
- <dependency type="ORB">
- <name>TAO</name>
- </dependency>
-
- <code>
- <!-- No need to specify extension below since ACE takes care of that, -->
- <fileinarchive name="NavDisplay_svnt"/>
- <entrypoint>createNavDisplayHome_Servant</entrypoint>
- </code>
-
- </implementation>
-
- <!-- Let's add more implementation description later when we try to -->
- <!-- compile this stuff on, say, Solaris and Linux. -->
-
-</softpkg>
diff --git a/TAO/CIAO/examples/handcrafted/Display/descriptors/NavDisplayGUI.csd b/TAO/CIAO/examples/handcrafted/Display/descriptors/NavDisplayGUI.csd
deleted file mode 100644
index c19bb01a68c..00000000000
--- a/TAO/CIAO/examples/handcrafted/Display/descriptors/NavDisplayGUI.csd
+++ /dev/null
@@ -1,64 +0,0 @@
-<?xml version="1.0"?> <!-- -*- SGML -*- -->
-
-<!-- If this file is moved to a different directory, make sure to change the
- path to the DTD below. Otherwise the examples won't work. -->
-<!DOCTYPE softpkg SYSTEM "../../../../docs/XML/softpkg.dtd">
-
-<!-- NavDisplay's Software Package Descriptor -->
-<!-- This file describes various NavDisplay executor -->
-<!-- implementations. -->
-
-
-<softpkg name="CIAO-NavDisplay" version="1.0">
- <pkgtype>CORBA Component</pkgtype>
- <title>Rate Generator</title>
- <author>
- <company>Washington University in St. Louis</company>
- <webpage href="http://www.cs.wustl.edu/~doc/"/>
- </author>
- <description>A NavDisplay executor implementation.</description>
- <license href="http://www.cs.wustl.edu/~schmidt/ACE-copying.html"/>
- <idl id="IDL:HUDisplay/NavDisplay:1.0" homeid="IDL:HUDisplay/NavDisplayHome:1.0">
- <fileinarchive name="NavDisplay.idl"/>
- </idl>
-
- <!-- We don't need a property file for this example. However, -->
- <!-- what to do with this element? Cache it in ComponentInstallation? -->
- <!-- A better question maybe, when do we actually read the file and -->
- <!-- build the attributes defined in the file? By Assembly perhaps? -->
- <!-- Notice that this property file applies to the implementation itself. -->
- <!-- Whatever that means. -->
-<!-- <propertyfile> -->
-<!-- <fileinarchive name="empty.cpf"/> -->
-<!-- </propertyfile> -->
-
- <descriptor type="CORBA Component">
- <fileinarchive name="NavDisplay.ccd"/>
- </descriptor>
-
- <implementation id="DCE:D7984625-8561-431d-9927-4E498B317C02">
-
- <!-- CIAO extension -->
- <dependency type="CIAODLL">
- <softpkgref>
- <!-- .ssd stands for Servant Software Descriptors which is a CIAO extension -->
- <fileinarchive name="NavDisplay.ssd"/>
- <implref idref="DCE:CDC06FCA-50FC-43ca-8ECC-BEFBD33FEE78"/>
- </softpkgref>
- </dependency>
-
- <!-- What happens when one define descriptors for both softpkg and -->
- <!-- implementations? -->
-
- <code type="DLL">
- <!-- No need to specify extension below since ACE takes care of that, -->
- <fileinarchive name="NavDisplayGUI_exec"/>
- <entrypoint>createNavDisplayHome_Impl</entrypoint>
- </code>
-
- </implementation>
-
- <!-- Let's add more implementation description later when we try to -->
- <!-- compile this stuff on, say, Solaris and Linux. -->
-
-</softpkg>
diff --git a/TAO/CIAO/examples/handcrafted/Display/descriptors/RateGen.csd b/TAO/CIAO/examples/handcrafted/Display/descriptors/RateGen.csd
deleted file mode 100644
index 756960b7eaa..00000000000
--- a/TAO/CIAO/examples/handcrafted/Display/descriptors/RateGen.csd
+++ /dev/null
@@ -1,64 +0,0 @@
-<?xml version="1.0"?> <!-- -*- SGML -*- -->
-
-<!-- If this file is moved to a different directory, make sure to change the
- path to the DTD below. Otherwise the examples won't work. -->
-<!DOCTYPE softpkg SYSTEM "../../../../docs/XML/softpkg.dtd">
-
-<!-- RateGen's Software Package Descriptor -->
-<!-- This file describes various RateGen executor -->
-<!-- implementations. -->
-
-
-<softpkg name="CIAO-RateGen" version="1.0">
- <pkgtype>CORBA Component</pkgtype>
- <title>Rate Generator</title>
- <author>
- <company>Washington University in St. Louis</company>
- <webpage href="http://www.cs.wustl.edu/~doc/"/>
- </author>
- <description>A RateGen executor implementation.</description>
- <license href="http://www.cs.wustl.edu/~schmidt/ACE-copying.html"/>
- <idl id="IDL:HUDisplay/RateGen:1.0" homeid="IDL:HUDisplay/RateGenHome:1.0">
- <fileinarchive name="RateGen.idl"/>
- </idl>
-
- <!-- We don't need a property file for this example. However, -->
- <!-- what to do with this element? Cache it in ComponentInstallation? -->
- <!-- A better question maybe, when do we actually read the file and -->
- <!-- build the attributes defined in the file? By Assembly perhaps? -->
- <!-- Notice that this property file applies to the implementation itself. -->
- <!-- Whatever that means. -->
-<!-- <propertyfile> -->
-<!-- <fileinarchive name="empty.cpf"/> -->
-<!-- </propertyfile> -->
-
- <descriptor type="CORBA Component">
- <fileinarchive name="RateGen.ccd"/>
- </descriptor>
-
- <implementation id="DCE:82C2B032-37F0-4315-A59F-7020D3264E4D">
-
- <!-- CIAO extension -->
- <dependency type="CIAODLL">
- <softpkgref>
- <!-- .ssd stands for Servant Software Descriptors which is a CIAO extension -->
- <fileinarchive name="RateGen.ssd"/>
- <implref idref="DCE:93D254CF-9538-44e8-BB98-AABCD134ADD3"/>
- </softpkgref>
- </dependency>
-
- <!-- What happens when one define descriptors for both softpkg and -->
- <!-- implementations? -->
-
- <code type="DLL">
- <!-- No need to specify extension below since ACE takes care of that, -->
- <fileinarchive name="RateGen_exec"/>
- <entrypoint>createRateGenHome_Impl</entrypoint>
- </code>
-
- </implementation>
-
- <!-- Let's add more implementation description later when we try to -->
- <!-- compile this stuff on, say, Solaris and Linux. -->
-
-</softpkg>
diff --git a/TAO/CIAO/examples/handcrafted/Display/descriptors/RateGen.ssd b/TAO/CIAO/examples/handcrafted/Display/descriptors/RateGen.ssd
deleted file mode 100644
index b18c9f5f235..00000000000
--- a/TAO/CIAO/examples/handcrafted/Display/descriptors/RateGen.ssd
+++ /dev/null
@@ -1,48 +0,0 @@
-<?xml version="1.0"?> <!-- -*- SGML -*- -->
-
-<!-- If this file is moved to a different directory, make sure to change the
- path to the DTD below. Otherwise the examples won't work. -->
-<!DOCTYPE softpkg SYSTEM "../../../../docs/XML/softpkg.dtd">
-
-<!-- RateGen's Servant Software Descriptor -->
-<!-- This file describes various RateGen servant -->
-<!-- implementations. -->
-
-
-<softpkg name="CIAO-RateGen-Servant" version="1.0">
- <pkgtype>CIAO Servant</pkgtype>
- <title>HUDisplay::RateGen Servants</title>
- <author>
- <company>Washington University in St. Louis</company>
- <webpage href="http://www.cs.wustl.edu/~doc/"/>
- </author>
- <description>A RateGen servant implementation.</description>
- <license href="http://www.cs.wustl.edu/~schmidt/ACE-copying.html"/>
- <idl id="IDL:HUDisplay/RateGen:1.0" homeid="IDL:HUDisplay/RateGenHome:1.0">
- <fileinarchive name="RateGen.idl"/>
- </idl>
-
- <!-- Duplicate information. We should use the copy in RateGen.csd -->
- <!-- So, do we really need this one? -->
- <descriptor type="CORBA Component">
- <fileinarchive name="RateGen.ccd"/>
- </descriptor>
-
- <implementation id="DCE:93D254CF-9538-44e8-BB98-AABCD134ADD3">
-
- <dependency type="ORB">
- <name>TAO</name>
- </dependency>
-
- <code>
- <!-- No need to specify extension below since ACE takes care of that, -->
- <fileinarchive name="RateGen_svnt"/>
- <entrypoint>createRateGenHome_Servant</entrypoint>
- </code>
-
- </implementation>
-
- <!-- Let's add more implementation description later when we try to -->
- <!-- compile this stuff on, say, Solaris and Linux. -->
-
-</softpkg>
diff --git a/TAO/CIAO/examples/handcrafted/Display/descriptors/RemoteDisplay.cad b/TAO/CIAO/examples/handcrafted/Display/descriptors/RemoteDisplay.cad
deleted file mode 100644
index e0c62e29918..00000000000
--- a/TAO/CIAO/examples/handcrafted/Display/descriptors/RemoteDisplay.cad
+++ /dev/null
@@ -1,84 +0,0 @@
-<?xml version="1.0"?> <!-- -*- SGML -*- -->
-
-<!-- If this file is moved to a different directory, make sure to change the
- path to the DTD below. Otherwise the examples won't work. -->
-<!DOCTYPE componentassembly SYSTEM "../../../../docs/XML/componentassembly.dtd">
-
-<componentassembly id="Single-process HUDisplay assembly">
- <componentfiles>
- <componentfile id="com-RateGen">
- <fileinarchive name="RateGen.csd"/>
- </componentfile>
- <componentfile id="com-GPS">
- <fileinarchive name="GPS.csd"/>
- </componentfile>
- <componentfile id="com-NavDisplay">
- <fileinarchive name="NavDisplay.csd"/>
- </componentfile>
- </componentfiles>
-
- <partitioning>
-
- <!-- A plain vanilla partition. We don't even need the processcollocation tag here. -->
- <homeplacement id="a_RateGenHome">
- <componentfileref idref="com-RateGen"/>
- <componentinstantiation id="a_RateGen">
- <registercomponent>
- <!-- writeiortofile is a non-standard CIAO extension. -->
- <writeiortofile name="rategen.ior"/>
- </registercomponent>
- </componentinstantiation>
- </homeplacement>
-
- <homeplacement id="a_GPSHome">
- <componentfileref idref="com-GPS"/>
- <componentinstantiation id="a_GPS"/>
- </homeplacement>
-
- <processcollocation>
- <homeplacement id="a_NavDisplayHome">
- <componentfileref idref="com-NavDisplay"/>
- <componentinstantiation id="a_NavDisplay"/>
- </homeplacement>
- <destination>Remote</destination>
- </processcollocation>
- </partitioning>
-
- <connections>
-
- <connectevent>
- <consumesport>
- <consumesidentifier>Refresh</consumesidentifier>
- <componentinstantiationref idref="a_GPS"/>
- </consumesport>
- <publishesport>
- <publishesidentifier>Pulse</publishesidentifier>
- <componentinstantiationref idref="a_RateGen"/>
- </publishesport>
- </connectevent>
-
- <connectevent>
- <consumesport>
- <consumesidentifier>Refresh</consumesidentifier>
- <componentinstantiationref idref="a_NavDisplay"/>
- </consumesport>
- <publishesport>
- <publishesidentifier>Ready</publishesidentifier>
- <componentinstantiationref idref="a_GPS"/>
- </publishesport>
- </connectevent>
-
- <connectinterface>
- <usesport>
- <usesidentifier>GPSLocation</usesidentifier>
- <componentinstantiationref idref="a_NavDisplay"/>
- </usesport>
- <providesport>
- <providesidentifier>MyLocation</providesidentifier>
- <componentinstantiationref idref="a_GPS"/>
- </providesport>
- </connectinterface>
-
- </connections>
-
-</componentassembly>
diff --git a/TAO/CIAO/examples/handcrafted/Display/descriptors/RemoteDisplayGUI.cad b/TAO/CIAO/examples/handcrafted/Display/descriptors/RemoteDisplayGUI.cad
deleted file mode 100644
index e26597bc426..00000000000
--- a/TAO/CIAO/examples/handcrafted/Display/descriptors/RemoteDisplayGUI.cad
+++ /dev/null
@@ -1,84 +0,0 @@
-<?xml version="1.0"?> <!-- -*- SGML -*- -->
-
-<!-- If this file is moved to a different directory, make sure to change the
- path to the DTD below. Otherwise the examples won't work. -->
-<!DOCTYPE componentassembly SYSTEM "../../../../docs/XML/componentassembly.dtd">
-
-<componentassembly id="Single-process HUDisplay assembly">
- <componentfiles>
- <componentfile id="com-RateGen">
- <fileinarchive name="RateGen.csd"/>
- </componentfile>
- <componentfile id="com-GPS">
- <fileinarchive name="GPS_tracing.csd"/>
- </componentfile>
- <componentfile id="com-NavDisplay">
- <fileinarchive name="NavDisplayGUI.csd"/>
- </componentfile>
- </componentfiles>
-
- <partitioning>
-
- <!-- A plain vanilla partition. We don't even need the processcollocation tag here. -->
- <homeplacement id="a_RateGenHome">
- <componentfileref idref="com-RateGen"/>
- <componentinstantiation id="a_RateGen">
- <registercomponent>
- <!-- writeiortofile is a non-standard CIAO extension. -->
- <writeiortofile name="rategen.ior"/>
- </registercomponent>
- </componentinstantiation>
- </homeplacement>
-
- <homeplacement id="a_GPSHome">
- <componentfileref idref="com-GPS"/>
- <componentinstantiation id="a_GPS"/>
- </homeplacement>
-
- <processcollocation>
- <homeplacement id="a_NavDisplayHome">
- <componentfileref idref="com-NavDisplay"/>
- <componentinstantiation id="a_NavDisplay"/>
- </homeplacement>
- <destination>Remote</destination>
- </processcollocation>
- </partitioning>
-
- <connections>
-
- <connectevent>
- <consumesport>
- <consumesidentifier>Refresh</consumesidentifier>
- <componentinstantiationref idref="a_GPS"/>
- </consumesport>
- <publishesport>
- <publishesidentifier>Pulse</publishesidentifier>
- <componentinstantiationref idref="a_RateGen"/>
- </publishesport>
- </connectevent>
-
- <connectevent>
- <consumesport>
- <consumesidentifier>Refresh</consumesidentifier>
- <componentinstantiationref idref="a_NavDisplay"/>
- </consumesport>
- <publishesport>
- <publishesidentifier>Ready</publishesidentifier>
- <componentinstantiationref idref="a_GPS"/>
- </publishesport>
- </connectevent>
-
- <connectinterface>
- <usesport>
- <usesidentifier>GPSLocation</usesidentifier>
- <componentinstantiationref idref="a_NavDisplay"/>
- </usesport>
- <providesport>
- <providesidentifier>MyLocation</providesidentifier>
- <componentinstantiationref idref="a_GPS"/>
- </providesport>
- </connectinterface>
-
- </connections>
-
-</componentassembly>
diff --git a/TAO/CIAO/examples/handcrafted/Display/descriptors/test.dat b/TAO/CIAO/examples/handcrafted/Display/descriptors/test.dat
deleted file mode 100644
index d26b3d4e070..00000000000
--- a/TAO/CIAO/examples/handcrafted/Display/descriptors/test.dat
+++ /dev/null
@@ -1,2 +0,0 @@
-Default corbaloc:iiop:localhost:10000/ServerActivator
-Remote corbaloc:iiop:localhost:12000/ServerActivator \ No newline at end of file
diff --git a/TAO/CIAO/examples/handcrafted/Hello/CIAO_Installation_Data.ini b/TAO/CIAO/examples/handcrafted/Hello/CIAO_Installation_Data.ini
deleted file mode 100644
index 30e49defa84..00000000000
--- a/TAO/CIAO/examples/handcrafted/Hello/CIAO_Installation_Data.ini
+++ /dev/null
@@ -1,3 +0,0 @@
-[ComponentInstallation]
-DCE:05833d92-4783-4b85-ac14-e2575dac26f7=hello_servants
-DCE:530a6305-8181-47ca-bd82-0b834016db97=hello_executors
diff --git a/TAO/CIAO/examples/handcrafted/Hello/README b/TAO/CIAO/examples/handcrafted/Hello/README
deleted file mode 100644
index 84e837e673c..00000000000
--- a/TAO/CIAO/examples/handcrafted/Hello/README
+++ /dev/null
@@ -1,131 +0,0 @@
-// $Id$
-
-This example showcases a component implementation in its simplest
-form. The utmost purpose of this example is to demonstrate how easy
-it is to implement a component and a system using CCM and to provide
-ourselves an example implementation of how the CCIDL generated code
-should look like.
-
-To implement a component, all you need to do is to define the
-component, as in hello.idl. Then you have to define some aspects of
-the component implementations using the CIDL definition, as we do here
-with hello.cidl. And finally, the component implementor implement the
-component and home executors according to the executor mapping.
-
-
-User Defined Notes
-Files
---------- ---------------------------------------
-hello.idl Component and Home IDL definitions.
-
-hello.cidl Component and Home implementation definitions.
-
-hello_executors Executor implementations.
-
-
-Handcrafted
-Files Notes: They should relly be generated by some (C)IDL compiler
---------- ---------------------------------------
-helloC.idl Equivalent IDL definitions. This file is used for double
- checking the correctness of the generated code.
-
-helloE.idl Executor equivalent IDL definitions. Since TAO_IDL still
- doesn't generate code for the exeutor definition, we manually
- create define the executor mapping in this file and compile it
- to get the executor mapping code.
-
-hello_servants Generic servant implementation for interfaces which should be
- generated from hello.cidl using CCIDL (in the future. :-)
-
-
-We also generate 3 libraries and 2 executables in this example. They
-may look perplexing at the first glance, but when we have full CCM
-support, all but one library and one executable will need to be
-generated manually. The rest should be generated thru the tools provided by CIAO.
-Below is the list of libraries and executable in this example:
-
-Files Notes
---------- ---------------------------------------
-hello_stub A library contains the client stub implementation.
- Client programs can link to this library instead of including
- the stub implementation directly in the executable. The real
- purpose of putting the stub code in a separate library is
- to avoid code duplication when various interdependent components
- are installed into one component server (where they will need to
- interact with other components using the collocation code in the
- stub library.)
-
-hello_servants This library contains the server side skeletons and CIDL generated
- (currently handcrafted) servant implementation for the component
- and home defined in CIDL.
-
-server This is a minimalist's implementaion of a simple "generic server".
- We should be able to generalize the example into a "component server"
- in CIAO which will support component deployment and server configuration
- thru some property files.
-
-client A simple client program that access the component.
-
-hello_executors This library contains the CIDL generated executor definitions and the
- actual component and home implementations (business logic.) It it not
- clear to me whether we should package this file together with hello_servants
- library as most of the stuff included in these libraries are generated
- by CIDL compiler. We will see in the future.
-
-
-** Here's a more detailed break down of the process.
-
-1. Define the component, as in hello.idl which defines the client-view
- of the component. This view is equivalent to the interfaces
- defined in helloC.idl (for component unawared client.)
-
-2. Define how the component should be implemented, as in hello.cidl.
- CIDL compiler should generate the executor definitions as in
- helloE.idl.
-
-3. CIDL also generate the component-specific skeleton (container?)
- implementations as in HelloSkel.xxx. These skeleton
- implementations determine how the component should be activated,
- how to manage the servant lifecycle, their OID and such.
-
-4. If a component implementation needs to support more advanced
- features, such as transactional behavior, the developer needs to
- "extend" the executor definitions by inheriting from other
- components callback interfaces, such as SessionSynchronization.
- We don't have an example here because we want to keep this example
- as simple as possible.
-
-5. Component executors are implemention by implementing the desired
- executor definition.
-
-6. Packaging and deploying the component.... This example only shows
- how to deploy a single component implementation. The servant
- skeletons can either be packaged with the component implementation
- in a single DLL, or be packaged in a separate DLL which, in turn,
- can be deployed with the component implementation together as an
- assembly, or be put in some sort of repository.
-
-
-How to Run:
-----------
-
-1. Start the Name Service and store the name service IOR in some file
- <w:\ior>.
-
- Naming_Service -o w:\ior
-
-2. Start the Component servier with the config file and the
- NameService IOR we stored in the previous step:
-
- w:\ACE_wrappers\bin\Simple_Component_Server -ORBInitRef \
- NameService=file://w:\ior -i config -o ior
-
- The component server we use here will create the HomeFinder IOR.
- Store the IOR in a file <ior>.
-
-3. Finally, start the client program as:
-
- client -ORBInitRef HomeFinder=file://ior
-
- The client will try to use all thru operations to find the
- HelloHome interface. \ No newline at end of file
diff --git a/TAO/CIAO/examples/handcrafted/Hello/client.cpp b/TAO/CIAO/examples/handcrafted/Hello/client.cpp
deleted file mode 100644
index b85cfda64e5..00000000000
--- a/TAO/CIAO/examples/handcrafted/Hello/client.cpp
+++ /dev/null
@@ -1,116 +0,0 @@
-// $Id$
-
-#include "helloC.h"
-#include "ace/Read_Buffer.h"
-
-int
-invoke (CORBA::Object_ptr obj,
- const char *msg
- ACE_ENV_ARG_DECL)
-{
- // Narrow
- HelloHome_var hh = HelloHome::_narrow (obj
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (-1); ;
-
- if (CORBA::is_nil (hh.in ()))
- ACE_ERROR_RETURN ((LM_ERROR, "Argument is not a HelloHome reference\n"), -1);
-
- HelloWorld_var hw = hh->create ();
-
- if (CORBA::is_nil (hw.in ()))
- ACE_ERROR_RETURN ((LM_ERROR, "Fail to create a HelloWorld reference\n"), -1);
-
- CORBA::String_var name = CORBA::string_dup (msg);
- CORBA::String_var hi = hw->sayhello (name
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (-1);
-
- ACE_DEBUG ((LM_INFO, "%s\n", hi.in ()));
-
- hh->remove_component (hw.in ()
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (-1);
-
- return 0;
-}
-
-int
-main (int argc, char *argv[])
-{
- ACE_TRY_NEW_ENV
- {
- // Initialize orb
- CORBA::ORB_var orb = CORBA::ORB_init (argc, argv ACE_ENV_ARG_PARAMETER);
-
- // Resolve HomeFinder interface
-
-#if 0
- CORBA::Object_var obj = orb->resolve_initial_references ("HomeFinder"
- ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- Components::HomeFinder_var home_finder =
- Components::HomeFinder::_narrow (obj ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- if (CORBA::is_nil (home_finder.in ()))
- ACE_ERROR_RETURN ((LM_ERROR, "Can't resolve initial HomeFinder reference\n"), -1);
-
- // Now get the HelloHome
-
- obj = home_finder->find_home_by_name ("HelloHome"
- ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- invoke (obj.in (),
- "Frodo Baggins using 'find_home_by_name'"
- ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- obj = home_finder->find_home_by_home_type
- ("IDL:omg.org/HelloHome:1.0"
- ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- invoke (obj.in (),
- "Samwise Gamgee using 'find_home_by_home_type'"
- ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- obj = home_finder->find_home_by_component_type
- ("IDL:omg.org/HelloWorld:1.0"
- ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- invoke (obj.in (),
- "Meriadoc Brandybuck using 'find_home_by_component_type'"
- ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
-#else
- CORBA::Object_var obj
- = orb->string_to_object ("file://hello.ior" ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- invoke (obj.in (),
- "Meriadoc Brandybuck using 'file://hello.ior'"
- ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-#endif
-
-
- orb->destroy (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_TRY_CHECK;
- }
- ACE_CATCHANY
- {
- ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION,
- "Who is the culprit \n");
- cerr << "Uncaught CORBA exception" << endl;
- return 1;
- }
- ACE_ENDTRY;
-
- return 0;
-}
diff --git a/TAO/CIAO/examples/handcrafted/Hello/config b/TAO/CIAO/examples/handcrafted/Hello/config
deleted file mode 100644
index 3bfe3d3dbe5..00000000000
--- a/TAO/CIAO/examples/handcrafted/Hello/config
+++ /dev/null
@@ -1 +0,0 @@
-hello_executors|createHelloHome_Impl|hello_servants|createHelloHome_Servant|IDL:omg.org/HelloHome:1.0|IDL:omg.org/HelloWorld:1.0|HelloHome
diff --git a/TAO/CIAO/examples/handcrafted/Hello/hello.ccd b/TAO/CIAO/examples/handcrafted/Hello/hello.ccd
deleted file mode 100644
index 325a2a41e06..00000000000
--- a/TAO/CIAO/examples/handcrafted/Hello/hello.ccd
+++ /dev/null
@@ -1,70 +0,0 @@
-<?xml version="1.0"?> <!-- -*- SGML -*- -->
-
-<!-- XML doesn't really support the following $(CIAO_ROOT) syntax :) -->
-<!DOCTYPE corbacomponent SYSTEM "$(CIAO_ROOT)/docs/XML/corbacomponent.dtd">
-
-<!-- Hello World CORBA Component Descriptor -->
-<!-- This file describes features of HelloWorld and HelloHome. -->
-
-<corbacomponent>
- <corbaversion>3.0</corbaversion>
- <componentrepid repid="IDL:HelloWorld:1.0"/>
- <homerepid repid="IDL:HelloHome:1.0"/>
- <componentkind>
- <!-- This particular example can either be <service/> or -->
- <session>
- <servant lifetime="container"/>
- </session>
- </componentkind>
-
- <threading policy="multithread"/> <!-- No effect for now -->
- <configurationcomplete set="false"/> <!-- We don't support this yet. -->
-
- <!-- Use to set realtime POA policy? -->
- <!-- Or should we use unclassified componentkind with this instead? -->
- <!-- <extendedpoapolicy name="" value=""/> -->
-
- <!-- Can set the IfR reference here -->
-
- <!-- CIAO doesn't support segmented component now. -->
-
- <!-- You can specify the properties of a component here. -->
-<!-- <componentproperties> -->
-<!-- <fileinarchive name=""/> -->
-<!-- </componentproperties> -->
-
- <!-- You can specify the properties of a componenthome here. -->
-<!-- <homeproperties> -->
-<!-- <fileinarchive name=""/> -->
-<!-- </homeproperties> -->
-
- <!-- Ignore homefeatures for now? Yes. Nothing here worth worrying about -->
- <!-- Unless we are going to extend the operationpolicies element. -->
- <homefeatures name="HelloHome" repid="IDL:HelloHome:1.0">
-
- </homefeatures>
-
- <!-- Ignore componentfeatures? -->
- <componentfeatures name="HelloWorld" repid="IDL:HelloWorld:1.0">
-
- <!-- inheritscomponent ... -->
-
- <!-- Nothing to worry about here unless we extend operationpolicies. -->
- <supportsinterface repid="IDL:Hello:1.0">
- <!-- operationpolicies ... -->
- </supportsinterface>
-
- <ports>
- <!-- No Port for this component. -->
- </ports>
-
- <!-- operationpolicies... -->
-
- </componentfeature>
-
- <interface name="Hello" repid="IDL:Hello:1.0">
- <!-- inheritsinterface repid="" -->
- <!-- operationpolicies... -->
- </interface>
-
-</corbacomponent> \ No newline at end of file
diff --git a/TAO/CIAO/examples/handcrafted/Hello/hello.cidl b/TAO/CIAO/examples/handcrafted/Hello/hello.cidl
deleted file mode 100644
index dc4c4a256c6..00000000000
--- a/TAO/CIAO/examples/handcrafted/Hello/hello.cidl
+++ /dev/null
@@ -1,17 +0,0 @@
-// $Id$ -*- IDL -*-
-
-// Component implementation definition of hello.idl.
-// Since we currently don't have a CCIDL (CIAO CIDL) compiler available,
-// we need to generate the servant implementation manually.
-
-import HelloWorld; // Do we need this?
-import HelloHome; // This should import all related defitions.
-
-composition session hello_example
-{
- home executor HelloHome_Exec
- {
- implement HelloHome; // This implies that HelloWorld_Exec
- manages HelloWorld_Exec; // implements HellowWorld.
- };
-};
diff --git a/TAO/CIAO/examples/handcrafted/Hello/hello.csd b/TAO/CIAO/examples/handcrafted/Hello/hello.csd
deleted file mode 100644
index 92d4601d3a2..00000000000
--- a/TAO/CIAO/examples/handcrafted/Hello/hello.csd
+++ /dev/null
@@ -1,75 +0,0 @@
-<?xml version="1.0"?> <!-- -*- SGML -*- -->
-
-<!-- If this file is moved to a different directory, make sure to change the
- path to the DTD below. Otherwise the examples won't work. -->
-<!DOCTYPE softpkg SYSTEM "../../../docs/XML/softpkg.dtd">
-
-<!-- Hello World's Software Package Descriptor -->
-<!-- This file describes various HelloWorld executor -->
-<!-- implementations. -->
-
-
-<softpkg name="CIAO-HelloWorld" version="1.0">
- <pkgtype>CORBA Component</pkgtype>
- <title>Hello World</title>
- <author>
- <company>Washington University in St. Louis</company>
- <webpage href="http://www.cs.wustl.edu/~doc/"/>
- </author>
- <description>A Hello World executor implementation.</description>
- <license href="http://www.cs.wustl.edu/~schmidt/ACE-copying.html"/>
- <idl id="IDL:HelloWorld:1.0" homeid="IDL:HelloHome:1.0">
- <fileinarchive name="hello.idl"/>
- </idl>
-
- <!-- We don't need a property file for this example. However, -->
- <!-- what to do with this element? Cache it in ComponentInstallation? -->
- <!-- A better question maybe, when do we actually read the file and -->
- <!-- build the attributes defined in the file? By Assembly perhaps? -->
- <!-- Notice that this property file applies to the implementation itself. -->
- <!-- Whatever that means. -->
-<!-- <propertyfile> -->
-<!-- <fileinarchive name="empty.cpf"/> -->
-<!-- </propertyfile> -->
-
- <descriptor type="CORBA Component">
- <fileinarchive name="hello.ccd"/>
- </descriptor>
-
- <implementation id="DCE:530a6305-8181-47ca-bd82-0b834016db97">
- <!-- Perhaps we can list more OS here as ACE knows what to look for? -->
- <!-- Maybe not... But then selecting the right configuration becomes hard. -->
- <os name="WinNT" version="4.0"/>
- <os name="WinXP" version="5.0"/>
- <processor name="x86"/>
- <!-- What about configuration? Such as Debug/Release? -->
- <compile name="MSVC" version="6.0"/>
- <programminglanguage name="C++"/>
- <dependency type="ORB">
- <name>TAO</name>
- </dependency>
-
- <!-- CIAO extension -->
- <dependency type="CIAODLL">
- <softpkgref>
- <!-- .ssd stands for Servant Software Descriptors which is a CIAO extension -->
- <fileinarchive name="hello.ssd"/>
- <implref idref="DCE:05833d92-4783-4b85-ac14-e2575dac26f7"/>
- </softpkgref>
- </dependency>
-
- <!-- What happens when one define descriptors for both softpkg and -->
- <!-- implementations? -->
-
- <code type="DLL">
- <!-- No need to specify extension below since ACE takes care of that, -->
- <fileinarchive name="hello_executors"/>
- <entrypoint>createHelloHome_Impl</entrypoint>
- </code>
-
- </implementation>
-
- <!-- Let's add more implementation description later when we try to -->
- <!-- compile this stuff on, say, Solaris and Linux. -->
-
-</softpkg>
diff --git a/TAO/CIAO/examples/handcrafted/Hello/hello.idl b/TAO/CIAO/examples/handcrafted/Hello/hello.idl
deleted file mode 100644
index ba758eab9de..00000000000
--- a/TAO/CIAO/examples/handcrafted/Hello/hello.idl
+++ /dev/null
@@ -1,19 +0,0 @@
-// $Id$
-
-// A plain vanilla component definition.
-
-#include "ciao/CCM_Component.idl"
-
-interface Hello
-{
- string sayhello (in string username);
-};
-
-component HelloWorld supports Hello
-{
-};
-
-
-home HelloHome manages HelloWorld
-{
-};
diff --git a/TAO/CIAO/examples/handcrafted/Hello/hello.mpc b/TAO/CIAO/examples/handcrafted/Hello/hello.mpc
deleted file mode 100644
index c3f6b9537ce..00000000000
--- a/TAO/CIAO/examples/handcrafted/Hello/hello.mpc
+++ /dev/null
@@ -1,76 +0,0 @@
-project(hello_stub): ciao_client {
- sharedname = hello_stub
- idlflags += -I ../../.. -I ../../../.. -I ../../../../orbsvcs/orbsvcs
- idlflags += -Wb,pre_include="ace/pre.h" -Wb,post_include="ace/post.h"
- idlflags += -Wb,stub_export_macro=HELLO_STUB_Export -Wb,stub_export_include=hello_stub_export.h -Wb,skel_export_macro=HELLO_SERVANT_Export -Wb,skel_export_include=hello_servants_export.h
- dllflags = HELLO_STUB_BUILD_DLL
-
- IDL_Files {
- hello.idl
- }
-
- Source_Files {
- helloC.cpp
- }
-}
-
-project(hello_servants) : ciao_server {
- depends += hello_stub
- sharedname = hello_servants
- libs += hello_stub
- idlflags += -I ../../.. -I ../../../.. -I ../../../../orbsvcs/orbsvcs -Wb,export_macro=HELLO_SERVANT_Export -Wb,export_include=hello_servants_export.h -Wb,pre_include="ace/pre.h" -Wb,post_include="ace/post.h"
- dllflags = HELLO_SERVANT_BUILD_DLL
-
- IDL_Files {
- helloE.idl
- }
-
- Source_Files {
- helloEC.cpp
- helloS.cpp
- hello_servants.cpp
- }
-}
-
-project(hello_executors) : ciao_server {
- depends += hello_servants
- sharedname = hello_executors
- libs += hello_stub hello_servants
- dllflags = HELLO_EXECUTOR_BUILD_DLL
-
- IDL_Files {
- }
-
- Source_Files {
- hello_executors.cpp
- }
-}
-
-project (client) : ciao_client {
- exename = client
- depends += hello_stub
- libs += hello_stub
-
- IDL_Files {
- }
-
- Source_Files {
- client.cpp
- }
-}
-
-// Client for interacting with the Simple_Component_Server
-project (simple_client) : ciao_client {
- libpaths += $(CIAO_ROOT)/tools/Simple_Component_Server
- depends += hello_stub Simple_Server_Stbu
- libpaths += $(CIAO_ROOT)/tools/Simple_Component_Server
- libs += hello_stub CIAO_Simple_Server_Stub
- exename = simple_client
-
- IDL_Files {
- }
-
- Source_Files {
- simple_client.cpp
- }
-}
diff --git a/TAO/CIAO/examples/handcrafted/Hello/hello.ssd b/TAO/CIAO/examples/handcrafted/Hello/hello.ssd
deleted file mode 100644
index 76b4247da2a..00000000000
--- a/TAO/CIAO/examples/handcrafted/Hello/hello.ssd
+++ /dev/null
@@ -1,53 +0,0 @@
-<?xml version="1.0"?> <!-- -*- SGML -*- -->
-
-<!-- If this file is moved to a different directory, make sure to change the
- path to the DTD below. Otherwise the examples won't work. -->
-<!DOCTYPE softpkg SYSTEM "../../../docs/XML/softpkg.dtd">
-
-<!-- Hello World's Servant Software Descriptor -->
-<!-- This file describes various HelloWorld servant -->
-<!-- implementations. -->
-
-
-<softpkg name="CIAO-HelloWorld-Servant" version="1.0">
- <pkgtype>CIAO Servant</pkgtype>
- <title>Hello World Servants</title>
- <author>
- <company>Washington University in St. Louis</company>
- <webpage href="http://www.cs.wustl.edu/~doc/"/>
- </author>
- <description>A Hello World executor implementation.</description>
- <license href="http://www.cs.wustl.edu/~schmidt/ACE-copying.html"/>
- <idl id="IDL:HelloWorld:1.0" homeid="IDL:HelloHome:1.0">
- <fileinarchive name="hello.idl"/>
- </idl>
-
- <!-- Duplicate information. We should use the copy in hello.csd -->
- <!-- So, do we really need this one? -->
- <descriptor type="CORBA Component">
- <fileinarchive name="hello.ccd"/>
- </descriptor>
-
- <implementation id="DCE:05833d92-4783-4b85-ac14-e2575dac26f7">
- <!-- The following stuff should match those defined in csd file. -->
- <os name="WinNT" version="4.0"/>
- <os name="WinXP" version="5.0"/>
- <processor name="x86"/>
- <compile name="MSVC" version="6.0"/>
- <programminglanguage name="C++"/>
- <dependency type="ORB">
- <name>TAO</name>
- </dependency>
-
- <code>
- <!-- No need to specify extension below since ACE takes care of that, -->
- <fileinarchive name="hello_servants"/>
- <entrypoint>createHelloHome_Servant</entrypoint>
- </code>
-
- </implementation>
-
- <!-- Let's add more implementation description later when we try to -->
- <!-- compile this stuff on, say, Solaris and Linux. -->
-
-</softpkg>
diff --git a/TAO/CIAO/examples/handcrafted/Hello/helloC.idl b/TAO/CIAO/examples/handcrafted/Hello/helloC.idl
deleted file mode 100644
index 325254bd556..00000000000
--- a/TAO/CIAO/examples/handcrafted/Hello/helloC.idl
+++ /dev/null
@@ -1,38 +0,0 @@
-// $Id$
-
-// This is the equivalent interface definitions for Hello.idl.
-// tao_idl -I ../../.. -I ../../../.. -Sc helloC.idl
-
-#include "ciao/CIAO_Component.pidl"
-
-interface Hello
-{
- // Return the greating string as:
- // "Greeting from <helloname>. How are you, <username>?"
- string sayhello (in string username);
-};
-
-interface HelloWorld
- : ::Components::CCMObject,
- Hello
-{
-};
-
-interface HelloHomeExplicit
- : ::Components::CCMHome
-{
-};
-
-interface HelloHomeImplicit
- : ::Components::KeylessCCMHome
-{
- HelloWorld create ()
- raises (::Components::CreateFailure)
- ;
-};
-
-interface HelloHome
- : HelloHomeExplicit,
- HelloHomeImplicit
-{
-};
diff --git a/TAO/CIAO/examples/handcrafted/Hello/helloE.idl b/TAO/CIAO/examples/handcrafted/Hello/helloE.idl
deleted file mode 100644
index da04d01d64b..00000000000
--- a/TAO/CIAO/examples/handcrafted/Hello/helloE.idl
+++ /dev/null
@@ -1,50 +0,0 @@
-// $Id$
-
-// Executor interface definitions of hello.cidl.
-// tao_idl -I ../../.. -I ../../../.. -I ../../../../orbsvcs/orbsvcs -Sc helloE.idl
-
-#include "ciao/CCM_Container.idl"
-#include "hello.idl"
-
-local interface CCM_Hello : Hello
-{
-};
-
-// Component main executor
-local interface CCM_HelloWorld_Executor
- : Components::EnterpriseComponent,
- Hello
-{
- // attribute string message;
-};
-
-local interface CCM_HelloWorld
- : CCM_HelloWorld_Executor
-/*
-: Components::EnterpriseComponent,
- Hello
-*/
-{
-};
-
-local interface CCM_HelloWorld_Context
- : ::Components::SessionContext
-{
-};
-
-local interface CCM_HelloHomeImplicit
-{
- Components::EnterpriseComponent create ()
- raises (Components::CreateFailure);
-};
-
-local interface CCM_HelloHomeExplicit
- : Components::HomeExecutorBase
-{
-};
-
-local interface CCM_HelloHome
- : CCM_HelloHomeExplicit,
- CCM_HelloHomeImplicit
-{
-};
diff --git a/TAO/CIAO/examples/handcrafted/Hello/hello_executors.cpp b/TAO/CIAO/examples/handcrafted/Hello/hello_executors.cpp
deleted file mode 100644
index a6523607a2b..00000000000
--- a/TAO/CIAO/examples/handcrafted/Hello/hello_executors.cpp
+++ /dev/null
@@ -1,52 +0,0 @@
-// $Id$
-
-#include "hello_executors.h"
-
-HelloWorld_Impl::HelloWorld_Impl ()
-{
-}
-
-HelloWorld_Impl::~HelloWorld_Impl
- ()
-{
-}
-
-char *
-HelloWorld_Impl::sayhello (const char *username
- ACE_ENV_ARG_DECL_NOT_USED)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- static const char *fmt = "Hello World message for ";
-
- CORBA::String_var str =
- CORBA::string_alloc (ACE_OS::strlen (fmt) +
- ACE_OS::strlen (username) +
- 1);
-
- ACE_OS::strcpy (str.inout (), fmt);
- ACE_OS::strcat (str.inout (), username);
-
- return str._retn ();
-}
-
-HelloHome_Impl::HelloHome_Impl ()
-{
-}
-
-HelloHome_Impl::~HelloHome_Impl ()
-{
-}
-
-Components::EnterpriseComponent_ptr
-HelloHome_Impl::create (ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::CreateFailure))
-{
- return new HelloWorld_Impl ();
-}
-
-extern "C" HELLO_EXECUTOR_Export ::Components::HomeExecutorBase_ptr
-createHelloHome_Impl (void)
-{
- return new HelloHome_Impl ();
-}
diff --git a/TAO/CIAO/examples/handcrafted/Hello/hello_executors.h b/TAO/CIAO/examples/handcrafted/Hello/hello_executors.h
deleted file mode 100644
index 322a89dff48..00000000000
--- a/TAO/CIAO/examples/handcrafted/Hello/hello_executors.h
+++ /dev/null
@@ -1,53 +0,0 @@
-// $Id$
-
-// This file contains executor implementations.
-
-#if !defined (HELLO_EXECUTORS_H)
-#define HELLO_EXECUTORS_H
-
-#include "helloEC.h"
-#include "hello_executors_export.h"
-
-class HelloWorld_Impl :
- public virtual CCM_HelloWorld,
- public virtual TAO_Local_RefCounted_Object
-{
-public:
- /// Default ctor.
- HelloWorld_Impl ();
-
- /// Default dtor.
- ~HelloWorld_Impl ();
-
- virtual char *sayhello (const char *username
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((
- CORBA::SystemException
- ));
-};
-
-class HelloHome_Impl :
- public virtual CCM_HelloHome,
- public virtual TAO_Local_RefCounted_Object
-{
-public:
- /// Default ctor.
- HelloHome_Impl ();
-
- /// Default dtor.
- ~HelloHome_Impl ();
-
- virtual ::Components::EnterpriseComponent_ptr
- create (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::CreateFailure));
-};
-
-// We still need to figure out a way to clean up the object created by
-// the factory correctly. Like we did in ACE_FACTORY macro, with a
-// Gobbler function.
-
-extern "C" HELLO_EXECUTOR_Export ::Components::HomeExecutorBase_ptr
-createHelloHome_Impl (void);
-
-#endif /* HELLO_EXECUTORS_H */
diff --git a/TAO/CIAO/examples/handcrafted/Hello/hello_executors_export.h b/TAO/CIAO/examples/handcrafted/Hello/hello_executors_export.h
deleted file mode 100644
index 776ed8f606f..00000000000
--- a/TAO/CIAO/examples/handcrafted/Hello/hello_executors_export.h
+++ /dev/null
@@ -1,50 +0,0 @@
-
-// -*- C++ -*-
-// $Id$
-// Definition for Win32 Export directives.
-// This file is generated automatically by generate_export_file.pl HELLO_EXECUTOR
-// ------------------------------
-#ifndef HELLO_EXECUTOR_EXPORT_H
-#define HELLO_EXECUTOR_EXPORT_H
-
-#include "ace/config-all.h"
-
-#if !defined (HELLO_EXECUTOR_HAS_DLL)
-# define HELLO_EXECUTOR_HAS_DLL 1
-#endif /* ! HELLO_EXECUTOR_HAS_DLL */
-
-#if defined (HELLO_EXECUTOR_HAS_DLL) && (HELLO_EXECUTOR_HAS_DLL == 1)
-# if defined (HELLO_EXECUTOR_BUILD_DLL)
-# define HELLO_EXECUTOR_Export ACE_Proper_Export_Flag
-# define HELLO_EXECUTOR_SINGLETON_DECLARATION(T) ACE_EXPORT_SINGLETON_DECLARATION (T)
-# define HELLO_EXECUTOR_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_EXPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
-# else /* HELLO_EXECUTOR_BUILD_DLL */
-# define HELLO_EXECUTOR_Export ACE_Proper_Import_Flag
-# define HELLO_EXECUTOR_SINGLETON_DECLARATION(T) ACE_IMPORT_SINGLETON_DECLARATION (T)
-# define HELLO_EXECUTOR_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_IMPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
-# endif /* HELLO_EXECUTOR_BUILD_DLL */
-#else /* HELLO_EXECUTOR_HAS_DLL == 1 */
-# define HELLO_EXECUTOR_Export
-# define HELLO_EXECUTOR_SINGLETON_DECLARATION(T)
-# define HELLO_EXECUTOR_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
-#endif /* HELLO_EXECUTOR_HAS_DLL == 1 */
-
-// Set HELLO_EXECUTOR_NTRACE = 0 to turn on library specific tracing even if
-// tracing is turned off for ACE.
-#if !defined (HELLO_EXECUTOR_NTRACE)
-# if (ACE_NTRACE == 1)
-# define HELLO_EXECUTOR_NTRACE 1
-# else /* (ACE_NTRACE == 1) */
-# define HELLO_EXECUTOR_NTRACE 0
-# endif /* (ACE_NTRACE == 1) */
-#endif /* !HELLO_EXECUTOR_NTRACE */
-
-#if (HELLO_EXECUTOR_NTRACE == 1)
-# define HELLO_EXECUTOR_TRACE(X)
-#else /* (HELLO_EXECUTOR_NTRACE == 1) */
-# define HELLO_EXECUTOR_TRACE(X) ACE_TRACE_IMPL(X)
-#endif /* (HELLO_EXECUTOR_NTRACE == 1) */
-
-#endif /* HELLO_EXECUTOR_EXPORT_H */
-
-// End of auto generated file.
diff --git a/TAO/CIAO/examples/handcrafted/Hello/hello_servants.cpp b/TAO/CIAO/examples/handcrafted/Hello/hello_servants.cpp
deleted file mode 100644
index f7d61b94b55..00000000000
--- a/TAO/CIAO/examples/handcrafted/Hello/hello_servants.cpp
+++ /dev/null
@@ -1,717 +0,0 @@
-// $Id$
-
-#include "hello_servants.h"
-
-// @@: Denote stuff that need to be fixed later.
-// @@@: Denote stuff that need to be fixed now.
-
-CIAO_HelloWorld_Context::CIAO_HelloWorld_Context (::Components::CCMHome_ptr h,
- ::CIAO::Session_Container *c,
- CIAO_HelloWorld_Servant *sv)
- : home_ (::Components::CCMHome::_duplicate (h)),
- container_ (c),
- servant_ (sv)
-{
-
-}
-
-CIAO_HelloWorld_Context::~CIAO_HelloWorld_Context ()
-{
-
-}
-
-// Operations for ::Components::SessionContext interface
-CORBA::Object_ptr
-CIAO_HelloWorld_Context::get_CCM_object (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::IllegalState))
-{
- // @@ How do I check for IllegalState here? When it's not in a
- // callback operation...
- // ACE_THROW_RETURN (::Components::IllegalState (), 0);
-
- if (CORBA::is_nil (this->component_.in ()))
- {
- CORBA::Object_var obj = this->container_->get_objref (this->servant_
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (0);
-
- this->component_ = HelloWorld::_narrow (obj.in ()
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (0);
-
- if (CORBA::is_nil (this->component_.in ()))
- ACE_THROW_RETURN (CORBA::INTERNAL (), 0); // This should not happen...
- }
- return HelloWorld::_duplicate (this->component_.in ());
-}
-
-// Operations for HellowWorld attributes, event source, and
-// receptable defined in CCM_HelloWorld_Context.
-
-// Operations for ::Components::CCMContext
-::Components::Principal_ptr
-CIAO_HelloWorld_Context::get_caller_principal (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- // @@ We don't support Security in CIAO yet.
- ACE_THROW_RETURN (CORBA::NO_IMPLEMENT (), 0);
-}
-
-::Components::CCMHome_ptr
-CIAO_HelloWorld_Context::get_CCM_home (ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- return ::Components::CCMHome::_duplicate (this->home_.in ());
-}
-
-CORBA::Boolean
-CIAO_HelloWorld_Context::get_rollback_only (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::IllegalState))
-{
- // @@ We don't support Transaction in CIAO yet.
- ACE_THROW_RETURN (CORBA::NO_IMPLEMENT (), 0);
-}
-
-::Components::Transaction::UserTransaction_ptr
-CIAO_HelloWorld_Context::get_user_transaction (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::IllegalState))
-{
- // @@ We don't support Transaction in CIAO yet.
- ACE_THROW_RETURN (CORBA::NO_IMPLEMENT (), 0);
-}
-
-CORBA::Boolean
-CIAO_HelloWorld_Context::is_caller_in_role (const char * role
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- ACE_UNUSED_ARG (role);
-
- // @@ We don't support Transaction in CIAO yet.
- ACE_THROW_RETURN (CORBA::NO_IMPLEMENT (), 0);
-}
-
-void
-CIAO_HelloWorld_Context::set_rollback_only (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::IllegalState))
-{
- // @@ We don't support Transaction in CIAO yet.
- ACE_THROW (CORBA::NO_IMPLEMENT ());
-}
-
-
-////////////////////////////////////////////////////////////////
-/////////////////// CIAO_HelloWorld_Servant ////////////////////
-
-CIAO_HelloWorld_Servant::CIAO_HelloWorld_Servant (CCM_HelloWorld_ptr exe,
- ::Components::CCMHome_ptr h,
- ::CIAO::Session_Container *c)
- : executor_ (CCM_HelloWorld::_duplicate (exe)),
- container_ (c)
-{
- this->context_ = new CIAO_HelloWorld_Context (h, c, this);
-
- ACE_TRY_NEW_ENV;
- {
- Components::SessionComponent_var temp =
- Components::SessionComponent::_narrow (exe
- ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- if (! CORBA::is_nil (temp.in ()))
- temp->set_session_context (this->context_.in ()
- ACE_ENV_ARG_PARAMETER);
- }
- ACE_CATCHANY
- {
- // @@ Ignore any exceptions? What happens if
- // set_session_context throws an CCMException?
- }
- ACE_ENDTRY;
-}
-
-CIAO_HelloWorld_Servant::~CIAO_HelloWorld_Servant (void)
-{
- ACE_TRY_NEW_ENV;
- {
- Components::SessionComponent_var temp =
- Components::SessionComponent::_narrow (this->executor_.in ()
- ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- if (! CORBA::is_nil (temp.in ()))
- temp->ccm_remove (ACE_ENV_SINGLE_ARG_PARAMETER);
- }
- ACE_CATCHANY
- {
- // @@ Ignore any exceptions? What happens if
- // set_session_context throws an CCMException?
- }
- ACE_ENDTRY;
-}
-
-// Operations for supported interfaces.
-// Explicit opereations and attribute operations.
-char *
-CIAO_HelloWorld_Servant::sayhello (const char * username
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- if (this->executor_.in () == 0)
- ACE_THROW_RETURN (CORBA::INTERNAL (), 0);
-
- return this->executor_->sayhello (username ACE_ENV_ARG_DECL);
-}
-
-// Operations for provides interfaces.
-
-// Operations for receptacles interfaces.
-
-// Operations for emits interfaces.
-
-// Operations for consumers interfaces.
-
-// Operations for publishes interfaces.
-
-// Operations for Navigation interface
-CORBA::Object_ptr
-CIAO_HelloWorld_Servant::provide_facet (const char * name
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException ,
- Components::InvalidName))
-{
- ACE_UNUSED_ARG (name);
-
- // @@ We should probably provide a more generic contruct
- // (Hash_Map?) to manage the navigation/receptacles/events
- // interface.
-
- // This component doesn't provide any facets so whatever name you
- // pass in is not a valid facet name.
- ACE_THROW_RETURN (Components::InvalidName (), 0);
-}
-
-::Components::FacetDescriptions *
-CIAO_HelloWorld_Servant::get_all_facets (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- ::Components::FacetDescriptions_var collection
- = new ::Components::FacetDescriptions (1);
-
- ::Components::FacetDescription_var x
- = new ::OBV_Components::FacetDescription;
-
-
- x->Name ((const char *)"a_name");
- x->type_id ("repo id");
- x->facet_ref (CORBA::Object::_nil ());
-
- CORBA::ULong i = 0;
- collection[i] = x;
-
- return collection._retn ();
- // No facet for this component.
- // return new ::Components::FacetDescriptions;
-}
-
-::Components::FacetDescriptions *
-CIAO_HelloWorld_Servant::get_named_facets (const Components::NameList & names
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException ,
- Components::InvalidName))
-{
- // No facet for this component.
- if (names.length () != 0)
- ACE_THROW_RETURN (Components::InvalidName (), 0);
-
- // Or return an empty description sequence if you are not asking
- // for anyhing in particular.
- return new ::Components::FacetDescriptions;
-}
-
-CORBA::Boolean
-CIAO_HelloWorld_Servant::same_component (CORBA::Object_ptr object_ref
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- ACE_UNUSED_ARG (object_ref);
-
- // @@@ Need to contact the POA, get the object reference, and invoke
- // _is_equivalent on the object reference.
-
- ACE_THROW_RETURN (CORBA::NO_IMPLEMENT (), 0);
-}
-
-// Operations for Receptacles interface
-::Components::Cookie *
-CIAO_HelloWorld_Servant::connect (const char * name,
- CORBA::Object_ptr connection
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::InvalidName,
- Components::InvalidConnection,
- Components::AlreadyConnected,
- Components::ExceededConnectionLimit))
-{
- ACE_UNUSED_ARG (name);
- ACE_UNUSED_ARG (connection);
- // @@ We need to come up with a generic interface to manage
- // these connections.
-
- ACE_THROW_RETURN (::Components::InvalidName (), 0);
-}
-
-CORBA::Object_ptr
-CIAO_HelloWorld_Servant::disconnect (const char * name,
- Components::Cookie * ck
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::InvalidName,
- Components::InvalidConnection,
- Components::CookieRequired,
- Components::NoConnection))
-{
- ACE_UNUSED_ARG (name);
- ACE_UNUSED_ARG (ck);
-
- ACE_THROW_RETURN (::Components::InvalidName (), 0);
-}
-
-::Components::ConnectionDescriptions *
-CIAO_HelloWorld_Servant::get_connections (const char * name
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::InvalidName))
-{
- ACE_UNUSED_ARG (name);
-
- ACE_THROW_RETURN (::Components::InvalidName (), 0);
-}
-
-::Components::ReceptacleDescriptions *
-CIAO_HelloWorld_Servant::get_all_receptacles (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- // No receptacles. Return an empty sequence.
- return new ::Components::ReceptacleDescriptions;
-}
-
-::Components::ReceptacleDescriptions *
-CIAO_HelloWorld_Servant::get_named_receptacles (const Components::NameList & names
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::InvalidName))
-{
- // No facet for this component.
- if (names.length () != 0)
- ACE_THROW_RETURN (Components::InvalidName (), 0);
-
- // Or return an empty description sequence if you are not asking
- // for anyhing in particular.
- return new ::Components::ReceptacleDescriptions;
-}
-
-// Operations for Events interface
-::Components::EventConsumerBase_ptr
-CIAO_HelloWorld_Servant::get_consumer (const char * sink_name
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::InvalidName))
-{
- ACE_UNUSED_ARG (sink_name);
-
- ACE_THROW_RETURN (::Components::InvalidName (), 0);
-}
-
-::Components::Cookie *
-CIAO_HelloWorld_Servant::subscribe (const char * publisher_name,
- Components::EventConsumerBase_ptr subscriber
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::InvalidName,
- Components::AlreadyConnected,
- Components::InvalidConnection))
-{
- ACE_UNUSED_ARG (publisher_name);
- ACE_UNUSED_ARG (subscriber);
-
- ACE_THROW_RETURN (::Components::InvalidName (), 0);
-}
-
-::Components::EventConsumerBase_ptr
-CIAO_HelloWorld_Servant::unsubscribe (const char * publisher_name,
- Components::Cookie * ck
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::InvalidName,
- Components::InvalidConnection))
-{
- ACE_UNUSED_ARG (publisher_name);
- ACE_UNUSED_ARG (ck);
-
- ACE_THROW_RETURN (::Components::InvalidName (), 0);
-}
-
-void
-CIAO_HelloWorld_Servant::connect_consumer (const char * emitter_name,
- Components::EventConsumerBase_ptr consumer
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::InvalidName,
- Components::AlreadyConnected,
- Components::InvalidConnection))
-{
- ACE_UNUSED_ARG (emitter_name);
- ACE_UNUSED_ARG (consumer);
-
- ACE_THROW (::Components::InvalidName ());
-}
-
-::Components::EventConsumerBase_ptr
-CIAO_HelloWorld_Servant::disconnect_consumer (const char * source_name
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::InvalidName,
- Components::NoConnection))
-{
- ACE_UNUSED_ARG (source_name);
-
- ACE_THROW_RETURN (::Components::InvalidName (), 0);
-}
-
-::Components::ConsumerDescriptions *
-CIAO_HelloWorld_Servant::get_all_consumers (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- return new ::Components::ConsumerDescriptions;
-}
-
-::Components::ConsumerDescriptions *
-CIAO_HelloWorld_Servant::get_named_consumers (const Components::NameList & names
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::InvalidName))
-{
- // No facet for this component.
- if (names.length () != 0)
- ACE_THROW_RETURN (Components::InvalidName (), 0);
-
- // Or return an empty description sequence if you are not asking
- // for anyhing in particular.
- return new ::Components::ConsumerDescriptions;
-}
-
-::Components::EmitterDescriptions *
-CIAO_HelloWorld_Servant::get_all_emitters (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- return new ::Components::EmitterDescriptions;
-}
-
-::Components::EmitterDescriptions *
-CIAO_HelloWorld_Servant::get_named_emitters (const Components::NameList & names
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::InvalidName))
-{
- // No facet for this component.
- if (names.length () != 0)
- ACE_THROW_RETURN (Components::InvalidName (), 0);
-
- // Or return an empty description sequence if you are not asking
- // for anyhing in particular.
- return new ::Components::EmitterDescriptions;
-}
-
-::Components::PublisherDescriptions *
-CIAO_HelloWorld_Servant::get_all_publishers (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- return new ::Components::PublisherDescriptions;
-}
-
-::Components::PublisherDescriptions *
-CIAO_HelloWorld_Servant::get_named_publishers (const Components::NameList & names
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::InvalidName))
-{
- // No facet for this component.
- if (names.length () != 0)
- ACE_THROW_RETURN (Components::InvalidName (), 0);
-
- // Or return an empty description sequence if you are not asking
- // for anyhing in particular.
- return new ::Components::PublisherDescriptions;
-}
-
-// Operations for CCMObject interface
-::CORBA::IRObject_ptr
-CIAO_HelloWorld_Servant::get_component_def (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- ACE_THROW_RETURN (CORBA::NO_IMPLEMENT (), 0);
-}
-
-::Components::CCMHome_ptr
-CIAO_HelloWorld_Servant::get_ccm_home (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- // @@@ How? Should we cache the home reference here?
- return this->context_->get_CCM_home (ACE_ENV_SINGLE_ARG_PARAMETER);
-}
-
-::Components::PrimaryKeyBase *
-CIAO_HelloWorld_Servant::get_primary_key (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::NoKeyAvailable))
-{
- // This is a keyless component.
- ACE_THROW_RETURN (::Components::NoKeyAvailable (), 0);
-}
-
-void
-CIAO_HelloWorld_Servant::configuration_complete (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::InvalidConfiguration))
-{
- // @@
- return;
-}
-
-void
-CIAO_HelloWorld_Servant::remove (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::RemoveFailure))
-{
- // @@ Tear down connections and stuff?
-
- return;
-}
-
-::Components::ComponentPortDescription *
-CIAO_HelloWorld_Servant::get_all_ports (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- // No port, no nothing.
- return new OBV_Components::ComponentPortDescription;
-}
-
-
-CORBA::Object_ptr
-CIAO_HelloWorld_Servant::_get_component (ACE_ENV_SINGLE_ARG_DECL)
-{
- ::Components::SessionContext_var sc =
- ::Components::SessionContext::_narrow (this->context_.in ());
-
- if (! CORBA::is_nil(sc.in ()))
- return sc->get_CCM_object (ACE_ENV_SINGLE_ARG_PARAMETER);
-
- ::Components::EntityContext_var ec =
- ::Components::EntityContext::_narrow (this->context_.in ());
-
- if (! CORBA::is_nil(ec.in ()))
- return ec->get_CCM_object (ACE_ENV_SINGLE_ARG_PARAMETER);
-
- ACE_THROW_RETURN (CORBA::INTERNAL (), 0);
-}
-
-void
-CIAO_HelloWorld_Servant::_ciao_activate (ACE_ENV_SINGLE_ARG_DECL)
-{
- Components::SessionComponent_var temp =
- Components::SessionComponent::_narrow (this->executor_.in ()
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK;
-
- if (! CORBA::is_nil (temp.in ()))
- temp->ccm_activate (ACE_ENV_SINGLE_ARG_PARAMETER);
-}
-
-void
-CIAO_HelloWorld_Servant::_ciao_passivate (ACE_ENV_SINGLE_ARG_DECL)
-{
- Components::SessionComponent_var temp =
- Components::SessionComponent::_narrow (this->executor_.in ()
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK;
-
- if (! CORBA::is_nil (temp.in ()))
- temp->ccm_passivate (ACE_ENV_SINGLE_ARG_PARAMETER);
-}
-
-////////////////////////////////////////////////////////////////
-//////////////////// CIAO_HelloHome_Servant ////////////////////
-
-CIAO_HelloHome_Servant::CIAO_HelloHome_Servant (CCM_HelloHome_ptr exe,
- CIAO::Session_Container *c)
- : executor_ (CCM_HelloHome::_duplicate (exe)),
- container_ (c)
-{
-}
-
-CIAO_HelloHome_Servant::~CIAO_HelloHome_Servant (void)
-{
-}
-
-// User defined and inherited operations
-// (Factories, Finders, and explicit operations.)
-
-// Operations for KeylessHome interface
-::Components::CCMObject_ptr
-CIAO_HelloHome_Servant::create_component (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::CreateFailure))
-{
- return this->create (ACE_ENV_SINGLE_ARG_PARAMETER);
-}
-
-HelloWorld_ptr
-CIAO_HelloHome_Servant::_ciao_activate_component (CCM_HelloWorld_ptr exe
- ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- CORBA::Object_var hobj= this->container_->get_objref (this
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (0);
-
- ::Components::CCMHome_var home = ::Components::CCMHome::_narrow (hobj.in ()
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (0);
-
- CIAO_HelloWorld_Servant *svt = new CIAO_HelloWorld_Servant (exe,
- home.in (),
- this->container_);
- PortableServer::ServantBase_var safe (svt);
- PortableServer::ObjectId_var oid;
-
- CORBA::Object_var objref
- = this->container_->install_component (svt,
- oid.out ()
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (0);
-
- svt->_ciao_activate (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_CHECK_RETURN (0);
-
- HelloWorld_var ho = HelloWorld::_narrow (objref.in ()
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (0);
-
- if (this->component_map_.bind (oid.in (), svt) == 0)
- {
- // @@ what should happen if bind fail?
- safe._retn ();
- }
- return ho._retn ();
-}
-
-void
-CIAO_HelloHome_Servant::_ciao_passivate_component (HelloWorld_ptr comp
- ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- PortableServer::ObjectId_var oid;
-
- this->container_->uninstall_component (comp,
- oid.out ()
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK;
-
- CIAO_HelloWorld_Servant *servant = 0;
- if (this->component_map_.unbind (oid.in (), servant) == 0)
- {
- PortableServer::ServantBase_var safe (servant);
- servant->_ciao_passivate (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_CHECK;
- }
- // What happen if unbind failed?
-
-}
-
-// Operations for Implicit Home interface
-::HelloWorld_ptr
-CIAO_HelloHome_Servant::create (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::CreateFailure))
-{
- if (this->executor_.in () == 0)
- ACE_THROW_RETURN (CORBA::INTERNAL (), 0);
-
- Components::EnterpriseComponent_var com =
- this->executor_->create (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_CHECK_RETURN (0);
-
- CCM_HelloWorld_var hw = CCM_HelloWorld::_narrow (com.in ()
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (0);
-
- return this->_ciao_activate_component (hw.in ()
- ACE_ENV_ARG_PARAMETER);
-}
-
-// Operations for CCMHome interface
-::CORBA::IRObject_ptr
-CIAO_HelloHome_Servant::get_component_def (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- // @@ Not implemented yet.
- ACE_THROW_RETURN (CORBA::NO_IMPLEMENT (), 0);
-}
-
-::CORBA::IRObject_ptr
-CIAO_HelloHome_Servant::get_home_def (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- // @@ Not implemented yet.
- ACE_THROW_RETURN (CORBA::NO_IMPLEMENT (), 0);
-}
-
-void
-CIAO_HelloHome_Servant::remove_component (Components::CCMObject_ptr comp
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::RemoveFailure))
-{
- HelloWorld_var hw = HelloWorld::_narrow (comp
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK;
-
- if (CORBA::is_nil (hw.in ()))
- ACE_THROW (CORBA::INTERNAL ()); // What is the right exception to throw here?
-
- hw->remove (ACE_ENV_ARG_PARAMETER);
- ACE_CHECK;
-
- // Removing the object reference? get the servant from the POA with
- // the objref, and call remove() on the component, passivate the
- // component, and then remove-ref the servant?
-
- this->_ciao_passivate_component (hw.in ()
- ACE_ENV_ARG_PARAMETER);
-}
-
-
-
-extern "C" HELLO_SERVANT_Export ::PortableServer::Servant
-createHelloHome_Servant (::Components::HomeExecutorBase_ptr p,
- CIAO::Session_Container *c
- ACE_ENV_ARG_DECL)
-{
- if (p == 0)
- return 0;
-
- CCM_HelloHome_var x = CCM_HelloHome::_narrow (p
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (0);
-
- if (CORBA::is_nil (x.in ()))
- return 0;
-
- return new CIAO_HelloHome_Servant (x.in (),
- c);
-}
diff --git a/TAO/CIAO/examples/handcrafted/Hello/hello_servants.h b/TAO/CIAO/examples/handcrafted/Hello/hello_servants.h
deleted file mode 100644
index b83866b583c..00000000000
--- a/TAO/CIAO/examples/handcrafted/Hello/hello_servants.h
+++ /dev/null
@@ -1,312 +0,0 @@
-// $Id$
-
-// ===========================================================
-//
-//
-// = LIBRARY
-// CIAO/examples/handcrafted/hello
-//
-// = FILENAME
-// hello_servants.h
-//
-// = DESCRIPTION
-// Generic Servant implementations for hello world example.
-// This file is currently handcrafted but it should really
-// be generated by the CCIDL compiler.
-//
-// This example demonstrates how a servant implementation for a
-// session component should look like.
-//
-// @author Nanbor Wang <nanbor@cs.wustl.edu>
-//
-// ===========================================================
-
-#include "helloS.h"
-#include "helloEC.h"
-#include "ciao/Container_Base.h"
-#include "tao/LocalObject.h"
-#include "tao/PortableServer/Key_Adapters.h"
-#include "ace/Hash_Map_Manager_T.h"
-
-class CIAO_HelloWorld_Servant;
-
-class HELLO_SERVANT_Export CIAO_HelloWorld_Context :
- public virtual CCM_HelloWorld_Context,
- public virtual TAO_Local_RefCounted_Object
-{
-public:
- // Ctor.
- CIAO_HelloWorld_Context (::Components::CCMHome_ptr h,
- ::CIAO::Session_Container *c,
- CIAO_HelloWorld_Servant *sv);
-
- // Dtor.
- virtual ~CIAO_HelloWorld_Context ();
-
- // We need to overwrite the following method to avoid ambiguity
- // This is strange, but thankfully, this is generated code so it's
- // okay (?) to mess with this.
-
- // Operations for HellowWorld attributes, event source, and
- // receptable defined in CCM_HelloWorld_Context.
-
- // Operations for ::Components::CCMContext
- virtual ::Components::Principal_ptr get_caller_principal (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException));
- virtual ::Components::CCMHome_ptr get_CCM_home (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException));
- virtual CORBA::Boolean get_rollback_only (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::IllegalState));
- virtual ::Components::Transaction::UserTransaction_ptr get_user_transaction (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::IllegalState));
- virtual CORBA::Boolean is_caller_in_role (const char * role
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException));
- virtual void set_rollback_only (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::IllegalState));
-
- // Operations for ::Components::SessionContext interface
- virtual CORBA::Object_ptr
- get_CCM_object (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::IllegalState));
-protected:
- ::Components::CCMHome_var home_;
-
- ::CIAO::Session_Container *container_;
-
- CIAO_HelloWorld_Servant *servant_;
-
- HelloWorld_var component_;
-};
-
-class HELLO_SERVANT_Export CIAO_HelloWorld_Servant
- : public virtual POA_HelloWorld,
- // @@ Perhaps we could implement a common component servant class
- // which provide common functionality for operations defined in
- // Navigation/Events/Receptacles interfaces.
- public virtual PortableServer::RefCountServantBase
-{
-public:
- // Ctor.
- CIAO_HelloWorld_Servant (CCM_HelloWorld_ptr executor,
- ::Components::CCMHome_ptr h,
- ::CIAO::Session_Container *c);
-
- // Dtor.
- ~CIAO_HelloWorld_Servant (void);
-
- // Operations for supported interfaces.
- // Explicit opereations and attribute operations.
- virtual char * sayhello (const char * username
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- // Operations for provides interfaces.
-
- // Operations for receptacles interfaces.
-
- // Operations for emits interfaces.
-
- // Operations for consumers interfaces.
-
- // Operations for publishes interfaces.
-
- // Operations for Navigation interface
- virtual CORBA::Object_ptr provide_facet (const char * name
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException ,
- Components::InvalidName)) ;
- virtual ::Components::FacetDescriptions * get_all_facets (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException));
- virtual ::Components::FacetDescriptions * get_named_facets (const Components::NameList & names
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException ,
- Components::InvalidName));
- virtual CORBA::Boolean same_component (CORBA::Object_ptr object_ref
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- // Operations for Receptacles interface
- virtual ::Components::Cookie * connect (const char * name,
- CORBA::Object_ptr connection
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::InvalidName,
- Components::InvalidConnection,
- Components::AlreadyConnected,
- Components::ExceededConnectionLimit));
- virtual CORBA::Object_ptr disconnect (const char * name,
- Components::Cookie * ck
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::InvalidName,
- Components::InvalidConnection,
- Components::CookieRequired,
- Components::NoConnection));
- virtual ::Components::ConnectionDescriptions * get_connections (const char * name
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::InvalidName));
-
- virtual ::Components::ReceptacleDescriptions * get_all_receptacles (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException));
- virtual ::Components::ReceptacleDescriptions * get_named_receptacles (const Components::NameList & names
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::InvalidName));
-
- // Operations for Events interface
- virtual ::Components::EventConsumerBase_ptr get_consumer (const char * sink_name
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::InvalidName));
- virtual ::Components::Cookie * subscribe (const char * publisher_name,
- Components::EventConsumerBase_ptr subscriber
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::InvalidName,
- Components::AlreadyConnected,
- Components::InvalidConnection));
- virtual ::Components::EventConsumerBase_ptr unsubscribe (const char * publisher_name,
- Components::Cookie * ck
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::InvalidName,
- Components::InvalidConnection));
- virtual void connect_consumer (const char * emitter_name,
- Components::EventConsumerBase_ptr consumer
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::InvalidName,
- Components::AlreadyConnected,
- Components::InvalidConnection));
- virtual ::Components::EventConsumerBase_ptr disconnect_consumer (const char * source_name
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::InvalidName,
- Components::NoConnection));
- virtual ::Components::ConsumerDescriptions * get_all_consumers (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException));
- virtual ::Components::ConsumerDescriptions * get_named_consumers (const Components::NameList & names
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::InvalidName));
- virtual ::Components::EmitterDescriptions * get_all_emitters (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException));
- virtual ::Components::EmitterDescriptions * get_named_emitters (const Components::NameList & names
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::InvalidName));
- virtual ::Components::PublisherDescriptions * get_all_publishers (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException));
- virtual ::Components::PublisherDescriptions * get_named_publishers (const Components::NameList & names
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::InvalidName));
-
- // Operations for CCMObject interface
- virtual ::CORBA::IRObject_ptr get_component_def (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException));
- virtual ::Components::CCMHome_ptr get_ccm_home (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException));
- virtual ::Components::PrimaryKeyBase * get_primary_key (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::NoKeyAvailable));
- virtual void configuration_complete (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::InvalidConfiguration));
- virtual void remove (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::RemoveFailure));
- virtual ::Components::ComponentPortDescription * get_all_ports (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- // From Servant_Base
-
- // get_component implementation.
- virtual CORBA::Object_ptr _get_component (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS);
-
- // CIAO specific operations.
-
- void _ciao_activate (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS);
- void _ciao_passivate (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS);
-
-protected:
- // My Executor.
- CCM_HelloWorld_var executor_;
-
- // My Run-time Context.
- CCM_HelloWorld_Context_var context_;
-
- // Managing container.
- ::CIAO::Session_Container *container_;
-};
-
-
-class HELLO_SERVANT_Export CIAO_HelloHome_Servant :
- public virtual POA_HelloHome,
- public virtual PortableServer::RefCountServantBase
-{
-public:
- // Ctor.
- CIAO_HelloHome_Servant (CCM_HelloHome_ptr exe,
- CIAO::Session_Container *c);
-
- // Dtor.
- ~CIAO_HelloHome_Servant (void);
-
- // User defined and inherited operations
- // (Factories, Finders, and explicit operations.)
-
- // Operations for KeylessHome interface
- virtual ::Components::CCMObject_ptr create_component (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::CreateFailure));
-
- // Operations for Implicit Home interface
- virtual ::HelloWorld_ptr create (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::CreateFailure));
-
- // Operations for CCMHome interface
- virtual ::CORBA::IRObject_ptr get_component_def (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException));
- virtual ::CORBA::IRObject_ptr get_home_def (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException));
- virtual void remove_component (Components::CCMObject_ptr comp
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::RemoveFailure));
-
-protected:
- // Activate the object in the container_
- HelloWorld_ptr _ciao_activate_component (CCM_HelloWorld_ptr exe
- ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- void _ciao_passivate_component (HelloWorld_ptr comp
- ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- // My Executor.
- CCM_HelloHome_var executor_;
-
- // My Container
- CIAO::Session_Container *container_;
-
- // Components this home manages.
- ACE_Hash_Map_Manager_Ex <PortableServer::ObjectId,
- CIAO_HelloWorld_Servant*,
- TAO_ObjectId_Hash,
- ACE_Equal_To<PortableServer::ObjectId>,
- ACE_SYNCH_MUTEX> component_map_;
-};
-
-extern "C" HELLO_SERVANT_Export ::PortableServer::Servant
-createHelloHome_Servant (::Components::HomeExecutorBase_ptr p,
- CIAO::Session_Container *c
- ACE_ENV_ARG_DECL_WITH_DEFAULTS);
diff --git a/TAO/CIAO/examples/handcrafted/Hello/hello_servants_export.h b/TAO/CIAO/examples/handcrafted/Hello/hello_servants_export.h
deleted file mode 100644
index 81f97e59340..00000000000
--- a/TAO/CIAO/examples/handcrafted/Hello/hello_servants_export.h
+++ /dev/null
@@ -1,50 +0,0 @@
-
-// -*- C++ -*-
-// $Id$
-// Definition for Win32 Export directives.
-// This file is generated automatically by generate_export_file.pl HELLO_SERVANT
-// ------------------------------
-#ifndef HELLO_SERVANT_EXPORT_H
-#define HELLO_SERVANT_EXPORT_H
-
-#include "ace/config-all.h"
-
-#if !defined (HELLO_SERVANT_HAS_DLL)
-# define HELLO_SERVANT_HAS_DLL 1
-#endif /* ! HELLO_SERVANT_HAS_DLL */
-
-#if defined (HELLO_SERVANT_HAS_DLL) && (HELLO_SERVANT_HAS_DLL == 1)
-# if defined (HELLO_SERVANT_BUILD_DLL)
-# define HELLO_SERVANT_Export ACE_Proper_Export_Flag
-# define HELLO_SERVANT_SINGLETON_DECLARATION(T) ACE_EXPORT_SINGLETON_DECLARATION (T)
-# define HELLO_SERVANT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_EXPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
-# else /* HELLO_SERVANT_BUILD_DLL */
-# define HELLO_SERVANT_Export ACE_Proper_Import_Flag
-# define HELLO_SERVANT_SINGLETON_DECLARATION(T) ACE_IMPORT_SINGLETON_DECLARATION (T)
-# define HELLO_SERVANT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_IMPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
-# endif /* HELLO_SERVANT_BUILD_DLL */
-#else /* HELLO_SERVANT_HAS_DLL == 1 */
-# define HELLO_SERVANT_Export
-# define HELLO_SERVANT_SINGLETON_DECLARATION(T)
-# define HELLO_SERVANT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
-#endif /* HELLO_SERVANT_HAS_DLL == 1 */
-
-// Set HELLO_SERVANT_NTRACE = 0 to turn on library specific tracing even if
-// tracing is turned off for ACE.
-#if !defined (HELLO_SERVANT_NTRACE)
-# if (ACE_NTRACE == 1)
-# define HELLO_SERVANT_NTRACE 1
-# else /* (ACE_NTRACE == 1) */
-# define HELLO_SERVANT_NTRACE 0
-# endif /* (ACE_NTRACE == 1) */
-#endif /* !HELLO_SERVANT_NTRACE */
-
-#if (HELLO_SERVANT_NTRACE == 1)
-# define HELLO_SERVANT_TRACE(X)
-#else /* (HELLO_SERVANT_NTRACE == 1) */
-# define HELLO_SERVANT_TRACE(X) ACE_TRACE_IMPL(X)
-#endif /* (HELLO_SERVANT_NTRACE == 1) */
-
-#endif /* HELLO_SERVANT_EXPORT_H */
-
-// End of auto generated file.
diff --git a/TAO/CIAO/examples/handcrafted/Hello/hello_stub_export.h b/TAO/CIAO/examples/handcrafted/Hello/hello_stub_export.h
deleted file mode 100644
index 58812b077ad..00000000000
--- a/TAO/CIAO/examples/handcrafted/Hello/hello_stub_export.h
+++ /dev/null
@@ -1,50 +0,0 @@
-
-// -*- C++ -*-
-// $Id$
-// Definition for Win32 Export directives.
-// This file is generated automatically by generate_export_file.pl HELLO_STUB
-// ------------------------------
-#ifndef HELLO_STUB_EXPORT_H
-#define HELLO_STUB_EXPORT_H
-
-#include "ace/config-all.h"
-
-#if !defined (HELLO_STUB_HAS_DLL)
-# define HELLO_STUB_HAS_DLL 1
-#endif /* ! HELLO_STUB_HAS_DLL */
-
-#if defined (HELLO_STUB_HAS_DLL) && (HELLO_STUB_HAS_DLL == 1)
-# if defined (HELLO_STUB_BUILD_DLL)
-# define HELLO_STUB_Export ACE_Proper_Export_Flag
-# define HELLO_STUB_SINGLETON_DECLARATION(T) ACE_EXPORT_SINGLETON_DECLARATION (T)
-# define HELLO_STUB_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_EXPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
-# else /* HELLO_STUB_BUILD_DLL */
-# define HELLO_STUB_Export ACE_Proper_Import_Flag
-# define HELLO_STUB_SINGLETON_DECLARATION(T) ACE_IMPORT_SINGLETON_DECLARATION (T)
-# define HELLO_STUB_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_IMPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
-# endif /* HELLO_STUB_BUILD_DLL */
-#else /* HELLO_STUB_HAS_DLL == 1 */
-# define HELLO_STUB_Export
-# define HELLO_STUB_SINGLETON_DECLARATION(T)
-# define HELLO_STUB_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
-#endif /* HELLO_STUB_HAS_DLL == 1 */
-
-// Set HELLO_STUB_NTRACE = 0 to turn on library specific tracing even if
-// tracing is turned off for ACE.
-#if !defined (HELLO_STUB_NTRACE)
-# if (ACE_NTRACE == 1)
-# define HELLO_STUB_NTRACE 1
-# else /* (ACE_NTRACE == 1) */
-# define HELLO_STUB_NTRACE 0
-# endif /* (ACE_NTRACE == 1) */
-#endif /* !HELLO_STUB_NTRACE */
-
-#if (HELLO_STUB_NTRACE == 1)
-# define HELLO_STUB_TRACE(X)
-#else /* (HELLO_STUB_NTRACE == 1) */
-# define HELLO_STUB_TRACE(X) ACE_TRACE_IMPL(X)
-#endif /* (HELLO_STUB_NTRACE == 1) */
-
-#endif /* HELLO_STUB_EXPORT_H */
-
-// End of auto generated file.
diff --git a/TAO/CIAO/examples/handcrafted/Hello/run_simple_test.pl b/TAO/CIAO/examples/handcrafted/Hello/run_simple_test.pl
deleted file mode 100755
index f09d29f3915..00000000000
--- a/TAO/CIAO/examples/handcrafted/Hello/run_simple_test.pl
+++ /dev/null
@@ -1,47 +0,0 @@
-eval '(exit $?0)' && eval 'exec perl -S $0 ${1+"$@"}'
- & eval 'exec perl -S $0 $argv:q'
- if 0;
-
-# $Id$
-# -*- perl -*-
-
-# This perl script run the Hello World component using the
-# Simple Component Server
-
-use lib "../../../../../bin";
-use PerlACE::Run_Test;
-
-$iorfile = PerlACE::LocalFile ("ior");
-unlink $iorfile;
-$status = 0;
-
-$SV = new PerlACE::Process ("../../../tools/Simple_Component_Server/Simple_Component_Server",
- "-i config -o $iorfile");
-
-$CL = new PerlACE::Process ("simple_client", "-i file://$iorfile -x");
-
-$SV->Spawn ();
-
-if (PerlACE::waitforfile_timed ($iorfile, 5) == -1) {
- print STDERR "ERROR: cannot find file <$iorfile>\n";
- $SV->Kill (); $SV->TimedWait (1);
- exit 1;
-}
-
-$client = $CL->SpawnWaitKill (300);
-
-if ($client != 0) {
- print STDERR "ERROR: client returned $client\n";
- $status = 1;
-}
-
-$server = $SV->WaitKill (10);
-
-if ($server != 0) {
- print STDERR "ERROR: server returned $server\n";
- $status = 1;
-}
-
-unlink $iorfile;
-
-exit $status;
diff --git a/TAO/CIAO/examples/handcrafted/Hello/run_test.pl b/TAO/CIAO/examples/handcrafted/Hello/run_test.pl
deleted file mode 100755
index c7f71d7f45f..00000000000
--- a/TAO/CIAO/examples/handcrafted/Hello/run_test.pl
+++ /dev/null
@@ -1,110 +0,0 @@
-eval '(exit $?0)' && eval 'exec perl -S $0 ${1+"$@"}'
- & eval 'exec perl -S $0 $argv:q'
- if 0;
-
-# $Id$
-# -*- perl -*-
-
-use lib "../../../../../bin";
-use PerlACE::Run_Test;
-
-$status = 0;
-$daemon_ior = PerlACE::LocalFile ("daemon.ior");
-$svr_ior = PerlACE::LocalFile ("server.ior");
-$home_ior = PerlACE::LocalFile ("hello.ior");
-
-unlink $daemon_ior;
-unlink $svr_ior;
-unlink $home_ior;
-
-$cs_exe = PerlACE::Process::Normalize_Executable_Name ("../../../tools/ComponentServer/ComponentServer");
-
-# CIAO Daemon command line arguments
-$daemon_args = "-o $daemon_ior -n $cs_exe";
-
-# CIAO Daemon Controller location:
-$controller = "../../../tools/Daemon/DaemonController";
-
-# Daemon controller common command line arguments
-$common_args = "-ORBInitRef CIAODaemon=file://$daemon_ior";
-
-# Daemon controller start_home command
-$start_args = "start_home -s hello.csd -m $home_ior -c $svr_ior";
-
-# Daemon controller end_home command
-$end_args = "end_home -c file://$svr_ior";
-
-# Daemon controller shutdown command
-$shutdown_args = "shutdown";
-
-# Client program command line arguments
-$cl_args = "";
-
-# Naming_Service process definition
-$DS = new PerlACE::Process ("../../../tools/Daemon/CIAO_Daemon",
- "$daemon_args");
-
-# Client process definition
-$CL = new PerlACE::Process ("client",
- "$cl_args");
-
-## Starting up the CIAO daemon
-$DS->Spawn ();
-if (PerlACE::waitforfile_timed ($daemon_ior, 15) == -1) {
- print STDERR "ERROR: Could not find daemon ior file <$daemon_ior>\n";
- $DS->Kill ();
- exit 1;
-}
-
-## Starting up a ComponentServer running the hello world home.
-$DC = new PerlACE::Process ("$controller",
- "$common_args $start_args");
-
-$DC->SpawnWaitKill (60);
-if (PerlACE::waitforfile_timed ($home_ior, 15) == -1) {
- print STDERR "ERROR: Could not find home ior file <$home_ior>\n";
- $DS->Kill ();
- exit 1;
-}
-
-$client = $CL->SpawnWaitKill (60);
-
-if ($client != 0) {
- print STDERR "ERROR: client returned $client\n";
- $status = 1;
-}
-
-## Terminating the ComponentServer running the hello world home.
-$DC = new PerlACE::Process ("$controller",
- "$common_args $end_args");
-
-$ctrl = $DC->SpawnWaitKill (60);
-if ($ctrl != 0) {
- print STDERR "ERROR: Fail to end component server\n";
- $DS->Kill ();
- exit 1;
-}
-
-## Terminating the ComponentServer running the hello world home.
-$DC = new PerlACE::Process ("$controller",
- "$common_args $shutdown_args");
-
-$ctrl = $DC->SpawnWaitKill (60);
-if ($ctrl != 0) {
- print STDERR "ERROR: Fail to shutdown CIAODaemon\n";
- $DS->Kill ();
- exit 1;
-}
-
-$ctrl = $DS->WaitKill (60);
-if ($ctrl != 0) {
- print STDERR "ERROR: CIAODaemon didn't shutdown gracefully $ctrl\n";
- $DS->Kill ();
- exit 1;
-}
-
-unlink $daemon_ior;
-unlink $svr_ior;
-unlink $home_ior;
-
-exit $status;
diff --git a/TAO/CIAO/examples/handcrafted/Hello/simple_client.cpp b/TAO/CIAO/examples/handcrafted/Hello/simple_client.cpp
deleted file mode 100644
index 39f74cf1f01..00000000000
--- a/TAO/CIAO/examples/handcrafted/Hello/simple_client.cpp
+++ /dev/null
@@ -1,102 +0,0 @@
-// $Id$
-
-#include "tools/Simple_Component_Server/Simple_ServerC.h"
-#include "ace/Get_Opt.h"
-#include "ace/Read_Buffer.h"
-#include "helloC.h"
-
-char *ior = 0;
-int shutdown_server = 0;
-
-int
-parse_args (int argc, char *argv[])
-{
- ACE_Get_Opt get_opts (argc, argv, "i:x");
- int c;
-
- while ((c = get_opts ()) != -1)
- switch (c)
- {
- case 'x': // Shutdown server when exit?
- shutdown_server = 1;
- break;
-
- case 'i': // get component configuration
- ior = get_opts.opt_arg ();
- break;
-
- case '?': // display help for use of the server.
- default:
- ACE_ERROR_RETURN ((LM_ERROR,
- "usage: %s\n"
- "-i <simple server ior>\n"
- "-x shutdown server when exit\n"
- "\n",
- argv [0]),
- -1);
- }
-
- return 0;
-}
-
-int
-main (int argc, char *argv[])
-{
- ACE_TRY_NEW_ENV
- {
- // Initialize orb
- CORBA::ORB_var orb = CORBA::ORB_init (argc, argv ACE_ENV_ARG_PARAMETER);
-
- if (parse_args (argc, argv) != 0)
- return -1;
-
- CORBA::Object_var obj
- = orb->string_to_object (ior ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- CIAO::Simple_Server_var cserve
- = CIAO::Simple_Server::_narrow (obj.in ()
- ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- Components::CCMHome_var home = cserve->get_home (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- HelloHome_var hh = HelloHome::_narrow (home.in ()
- ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- if (CORBA::is_nil (hh.in ()))
- ACE_ERROR_RETURN ((LM_ERROR, "Argument is not a HelloHome reference\n"), -1);
-
- HelloWorld_var hw = hh->create ();
-
- if (CORBA::is_nil (hw.in ()))
- ACE_ERROR_RETURN ((LM_ERROR, "Fail to create a HelloWorld reference\n"), -1);
-
- CORBA::String_var hi = hw->sayhello ("Simple_Component_Server"
- ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- ACE_DEBUG ((LM_INFO, "%s\n", hi.in ()));
-
- hh->remove_component (hw.in ()
- ACE_ENV_ARG_PARAMETER);
-
- if (shutdown_server != 0)
- cserve->shutdown (ACE_ENV_SINGLE_ARG_PARAMETER);
-
- orb->destroy (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_TRY_CHECK;
- }
- ACE_CATCHANY
- {
- ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION,
- "Who is the culprit \n");
- cerr << "Uncaught CORBA exception" << endl;
- return 1;
- }
- ACE_ENDTRY;
-
- return 0;
-}
diff --git a/TAO/CIAO/examples/handcrafted/Philosophers/Philosophers.idl b/TAO/CIAO/examples/handcrafted/Philosophers/Philosophers.idl
deleted file mode 100644
index 7a29bc03c23..00000000000
--- a/TAO/CIAO/examples/handcrafted/Philosophers/Philosophers.idl
+++ /dev/null
@@ -1,75 +0,0 @@
-// $Id$
-
-// The famous Dining Philosopher example in CCM tutorial slides
-
-module Example
-{
- exception InUse {};
-
- interface Fork
- /**
- * Provided facet interface definition.
- * It should be defined by the IDL file.
- */
- {
- void get () raises (InUse);
-
- void release ();
- };
-
- component ForkManager
- {
- provides Fork the_fork;
- };
-
- home ForkHome manages ForkManager
- {
- };
-
- enum PhilosopherState
- {
- EATING,
- THINKING,
- HUNGRY,
- STARVING,
- DEAD
- };
-
- eventtype StatusInfo
- {
- public string name;
- public PhilosopherState state;
- public unsigned long ticks_since_last_meal;
- public boolean has_left_fork;
- public boolean has_right_fork;
- };
-
- component Philosopher
- {
- attribute string name;
-
- // The left fork receptacle.
- uses Fork left;
-
- // The right fork receptacle.
- uses Fork right;
-
- // The status info event source.
- publishes StatusInfo info;
- };
-
- home PhilosopherHome manages Philosopher
- {
- factory new (in string name);
- };
-
- component Observer
- {
- // The status info sink port.
- consumes StatusInfo info;
- };
-
- home ObserverHome manages Observer
- {
- };
-};
diff --git a/TAO/CIAO/examples/handcrafted/Philosophers/PhilosophersC.idl b/TAO/CIAO/examples/handcrafted/Philosophers/PhilosophersC.idl
deleted file mode 100644
index d9f7e53f79b..00000000000
--- a/TAO/CIAO/examples/handcrafted/Philosophers/PhilosophersC.idl
+++ /dev/null
@@ -1,52 +0,0 @@
-// $Id$
-
-// Hand-drafted IDL files for component testing.
-// tao_idl -Gv -I W:/ACE_wrappers/TAO -I W:/ACE_wrappers/TAO/orbsvcs/orbsvcs -I W:/ACE_wrappers/TAO/CIAO/ciao Philosophers.idl
-
-#include "Component_Base.idl"
-
-module Example
-{
-
- exception InUse {};
-
- interface Fork
- /**
- * Provided facet interface definition.
- * It should be defined by the IDL file.
- */
- {
- void get () raises (InUse);
-
- void release ();
- };
-
- // ****************************************
- // Client Side Equivalent Interfaces
- // ****************************************
-
- // component ForkManager
- interface ForkManager // : ::Components::CCMObject
- /**
- * Client side equivalent interface.
- * Must inherit from Components::CCMObject instead of CORBA::Object.
- */
- {
- // provides Fork the_fork;
- Fork provide_the_fork ();
- };
-
- // home ForkHome manages ForkManager
- interface ForkHomeExplicit // : ::Components::CCMHome
- {};
-
- interface ForkHomeImplicit // : ::Components::KeylessCCMHome
- {
- ForkManager create ();
- };
-
- interface ForkHome : ForkHomeExplicit, ForkHomeImplicit
- {
- };
-
-};
diff --git a/TAO/CIAO/examples/handcrafted/Philosophers/PhilosophersS.idl b/TAO/CIAO/examples/handcrafted/Philosophers/PhilosophersS.idl
deleted file mode 100644
index b8b88d56362..00000000000
--- a/TAO/CIAO/examples/handcrafted/Philosophers/PhilosophersS.idl
+++ /dev/null
@@ -1,56 +0,0 @@
-// $Id$
-
-// Hand-drafted IDL files for component testing.
-// tao_idl -Gv -I W:/ACE_wrappers/TAO -I W:/ACE_wrappers/TAO/orbsvcs/orbsvcs -I W:/ACE_wrappers/TAO/CIAO/ciao Philosophers.idl
-
-#include "PhilosopherC.idl"
-
-module Example
-{
- // ****************************************
- // Server Side Equivalent Interfaces
- // Generated by CIDL?
- // ****************************************
-
- // Facet executor definition.
- local interface CCM_Fork : Fork {};
-
- // Main component executor (ExecutorLocator based)
- local interface CCM_ForkManager_Executor :
- // ::Components:EnterpriseComponent,
- ForkManager
- {
- };
-
- // Monolithic executor definition.
- local interface CCM_ForkManager :
- // ::Components:EnterpriseComponent,
- ForkManager
- {
- };
-
- // Interface specific context object.
- local interface CCM_ForkManager_Context
- // : ::Components::CCMContext
- {
- };
-
- // Explicit ForkHome
- local interface CCM_ForkHomeExplicit
- // : ::Components::HomeExecutorBase
- {
- };
-
- // Implicit ForkHome
- local interface CCM_ForkHomeImplicit
- {
- // ::Components::EnterpriseComponent create ()
- // raises (::Components::CCMException);
- };
-
- // Main ForkHome
- local interface CCM_ForkHome
- : CCM_ForkHomeExplicit, CCM_ForkHomeImplicit
- {
- };
-};
diff --git a/TAO/CIAO/tests/temp/README b/TAO/CIAO/tests/temp/README
deleted file mode 100644
index ce3d69a5557..00000000000
--- a/TAO/CIAO/tests/temp/README
+++ /dev/null
@@ -1,3 +0,0 @@
-This directory contains some simple test programs to verify correct
-operations of CIAO interal modules. We will most likely remove the
-whole subdirectory in the future.
diff --git a/TAO/CIAO/tests/temp/assembly/README b/TAO/CIAO/tests/temp/assembly/README
deleted file mode 100644
index 4dcb5f638e7..00000000000
--- a/TAO/CIAO/tests/temp/assembly/README
+++ /dev/null
@@ -1,4 +0,0 @@
-The purpose of this test is to ensure the proper functionality of
-Map_Key_Cookie, CIAO's internal Cookie implementation, using
-::Components::Deployment::AssemblyFactory and
-::Components::Deployment::Assembly interfaces.
diff --git a/TAO/CIAO/tests/temp/assembly/client.cpp b/TAO/CIAO/tests/temp/assembly/client.cpp
deleted file mode 100644
index 078e743ea79..00000000000
--- a/TAO/CIAO/tests/temp/assembly/client.cpp
+++ /dev/null
@@ -1,120 +0,0 @@
-// $Id$
-
-#include "controlC.h"
-#include "Client_init.h"
-#include "ace/Get_Opt.h"
-
-ACE_RCSID(Hello, client, "$Id$")
-
-const char *ior = "file://test.ior";
-
-int
-parse_args (int argc, char *argv[])
-{
- ACE_Get_Opt get_opts (argc, argv, "k:");
- int c;
-
- while ((c = get_opts ()) != -1)
- switch (c)
- {
- case 'k':
- ior = get_opts.opt_arg ();
- break;
-
- case '?':
- default:
- ACE_ERROR_RETURN ((LM_ERROR,
- "usage: %s "
- "-k <ior> "
- "\n",
- argv [0]),
- -1);
- }
- // Indicates sucessful parsing of the command line
- return 0;
-}
-
-int
-main (int argc, char *argv[])
-{
- ACE_TRY_NEW_ENV
- {
- CORBA::ORB_var orb =
- CORBA::ORB_init (argc, argv, "" ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- if (parse_args (argc, argv) != 0)
- return 1;
-
- CIAO::Client_init (orb.in ());
-
- CORBA::Object_var tmp =
- orb->string_to_object(ior ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- ATest::controller_var ctrlr =
- ATest::controller::_narrow(tmp.in () ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- if (CORBA::is_nil (ctrlr.in ()))
- {
- ACE_ERROR_RETURN ((LM_DEBUG,
- "Nil Test::Hello reference <%s>\n",
- ior),
- 1);
- }
-
- ::Components::Deployment::AssemblyFactory_var fac
- = ctrlr->get_factory (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- ::Components::Cookie_var ck1 = fac->create_assembly ("test1"
- ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
- ::Components::Cookie_var ck2 = fac->create_assembly ("test2"
- ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- ::Components::Deployment::Assembly_var asb1
- = fac->lookup (ck1.in ()
- ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
- ::Components::Deployment::Assembly_var asb2
- = fac->lookup (ck2.in ()
- ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- asb1->build (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- asb1->tear_down (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- fac->destroy (ck1.in ()
- ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- asb2->build (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- // This should tear down assembly2 first.
- fac->destroy (ck2.in ()
- ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- ctrlr->shutdown (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- orb->destroy (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_TRY_CHECK;
- }
- ACE_CATCHANY
- {
- ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION,
- "Exception caught:");
- return 1;
- }
- ACE_ENDTRY;
-
- return 0;
-}
diff --git a/TAO/CIAO/tests/temp/assembly/control.idl b/TAO/CIAO/tests/temp/assembly/control.idl
deleted file mode 100644
index 328d93980c9..00000000000
--- a/TAO/CIAO/tests/temp/assembly/control.idl
+++ /dev/null
@@ -1,13 +0,0 @@
-// $Id$
-
-#include "CCM_Deployment.idl"
-
-module ATest
-{
- interface controller
- {
- ::Components::Deployment::AssemblyFactory get_factory ();
-
- oneway void shutdown ();
- };
-};
diff --git a/TAO/CIAO/tests/temp/assembly/control.mpc b/TAO/CIAO/tests/temp/assembly/control.mpc
deleted file mode 100644
index 2a4caa51b4a..00000000000
--- a/TAO/CIAO/tests/temp/assembly/control.mpc
+++ /dev/null
@@ -1,18 +0,0 @@
-project : ciao_server, server {
- idlflags += -I$(TAO_ROOT) -I../../../ciao -I../../../..
-
- Source_Files {
- controlS.cpp
- controlC.cpp
- server.cpp
- }
-}
-
-project : ciao_server, client {
- idlflags += -I$(TAO_ROOT) -I../../../ciao -I../../../..
-
- Source_Files {
- controlC.cpp
- client.cpp
- }
-} \ No newline at end of file
diff --git a/TAO/CIAO/tests/temp/assembly/run_test.pl b/TAO/CIAO/tests/temp/assembly/run_test.pl
deleted file mode 100644
index 005a06f96a3..00000000000
--- a/TAO/CIAO/tests/temp/assembly/run_test.pl
+++ /dev/null
@@ -1,42 +0,0 @@
-eval '(exit $?0)' && eval 'exec perl -S $0 ${1+"$@"}'
- & eval 'exec perl -S $0 $argv:q'
- if 0;
-
-# $Id$
-# -*- perl -*-
-
-use lib '../../../../../bin';
-use PerlACE::Run_Test;
-
-$iorfile = PerlACE::LocalFile ("server.ior");
-unlink $iorfile;
-$status = 0;
-
-$SV = new PerlACE::Process ("server", "-o $iorfile");
-$CL = new PerlACE::Process ("client", " -k file://$iorfile");
-
-$SV->Spawn ();
-
-if (PerlACE::waitforfile_timed ($iorfile, 5) == -1) {
- print STDERR "ERROR: cannot find file <$iorfile>\n";
- $SV->Kill (); $SV->TimedWait (1);
- exit 1;
-}
-
-$client = $CL->SpawnWaitKill (300);
-
-if ($client != 0) {
- print STDERR "ERROR: client returned $client\n";
- $status = 1;
-}
-
-$server = $SV->WaitKill (10);
-
-if ($server != 0) {
- print STDERR "ERROR: server returned $server\n";
- $status = 1;
-}
-
-unlink $iorfile;
-
-exit $status;
diff --git a/TAO/CIAO/tests/temp/assembly/server.cpp b/TAO/CIAO/tests/temp/assembly/server.cpp
deleted file mode 100644
index 3bc4079490d..00000000000
--- a/TAO/CIAO/tests/temp/assembly/server.cpp
+++ /dev/null
@@ -1,169 +0,0 @@
-// $Id$
-
-#include "Assembly_Impl.h"
-#include "Server_init.h"
-#include "ace/Get_Opt.h"
-#include "controlS.h"
-
-class control_impl
- : public virtual POA_ATest::controller,
- public virtual PortableServer::RefCountServantBase
-{
-public:
- control_impl (CORBA::ORB_ptr o,
- PortableServer::POA_ptr p);
-
- ::Components::Deployment::AssemblyFactory_ptr
- get_factory (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- void shutdown (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
-protected:
- CORBA::ORB_var orb_;
- PortableServer::POA_var poa_;
-};
-
-control_impl::control_impl (CORBA::ORB_ptr o,
- PortableServer::POA_ptr p)
- : orb_ (CORBA::ORB::_duplicate (o)),
- poa_ (PortableServer::POA::_duplicate (p))
-{
-}
-
-::Components::Deployment::AssemblyFactory_ptr
-control_impl::get_factory (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- CIAO::AssemblyFactory_Impl *afactory_impl;
- ACE_NEW_RETURN (afactory_impl,
- CIAO::AssemblyFactory_Impl (this->orb_.in (),
- this->poa_.in ()),
- 0);
-
- PortableServer::ServantBase_var owner_transfer(afactory_impl);
-
- ::Components::Deployment::AssemblyFactory_var fac =
- afactory_impl->_this (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_CHECK_RETURN (0);
-
- return fac._retn ();
-}
-
-void
-control_impl::shutdown (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- this->orb_->shutdown (0 ACE_ENV_ARG_PARAMETER);
-}
-
-const char *ior_output_file = "test.ior";
-
-int
-parse_args (int argc, char *argv[])
-{
- ACE_Get_Opt get_opts (argc, argv, "o:");
- int c;
-
- while ((c = get_opts ()) != -1)
- switch (c)
- {
- case 'o':
- ior_output_file = get_opts.opt_arg ();
- break;
-
- case '?':
- default:
- ACE_ERROR_RETURN ((LM_ERROR,
- "usage: %s "
- "-o <iorfile>"
- "\n",
- argv [0]),
- -1);
- }
- // Indicates sucessful parsing of the command line
- return 0;
-}
-
-int
-main (int argc, char *argv[])
-{
- ACE_TRY_NEW_ENV
- {
- CORBA::ORB_var orb =
- CORBA::ORB_init (argc, argv, "" ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
-
- CIAO::Server_init (orb.in ());
-
- CORBA::Object_var poa_object =
- orb->resolve_initial_references("RootPOA" ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- PortableServer::POA_var root_poa =
- PortableServer::POA::_narrow (poa_object.in () ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- if (CORBA::is_nil (root_poa.in ()))
- ACE_ERROR_RETURN ((LM_ERROR,
- " (%P|%t) Panic: nil RootPOA\n"),
- 1);
-
- PortableServer::POAManager_var poa_manager =
- root_poa->the_POAManager (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- if (parse_args (argc, argv) != 0)
- return 1;
-
- control_impl *c_impl;
- ACE_NEW_RETURN (c_impl,
- control_impl (orb.in (),
- root_poa.in ()),
- 1);
- PortableServer::ServantBase_var owner_transfer(c_impl);
-
- ATest::controller_var ctrlr =
- c_impl->_this (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- CORBA::String_var ior =
- orb->object_to_string (ctrlr.in () ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- // Output the IOR to the <ior_output_file>
- FILE *output_file= ACE_OS::fopen (ior_output_file, "w");
- if (output_file == 0)
- ACE_ERROR_RETURN ((LM_ERROR,
- "Cannot open output file for writing IOR: %s",
- ior_output_file),
- 1);
- ACE_OS::fprintf (output_file, "%s", ior.in ());
- ACE_OS::fclose (output_file);
-
- poa_manager->activate (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- orb->run (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- ACE_DEBUG ((LM_DEBUG, "(%P|%t) server - event loop finished\n"));
-
- root_poa->destroy (1, 1 ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- orb->destroy (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_TRY_CHECK;
- }
- ACE_CATCHANY
- {
- ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION,
- "Exception caught:");
- return 1;
- }
- ACE_ENDTRY;
-
- return 0;
-}
diff --git a/TAO/CIAO/tools/Assembly_Deployer/Assembly_Deployer.cpp b/TAO/CIAO/tools/Assembly_Deployer/Assembly_Deployer.cpp
deleted file mode 100644
index 22ccd028f6c..00000000000
--- a/TAO/CIAO/tools/Assembly_Deployer/Assembly_Deployer.cpp
+++ /dev/null
@@ -1,125 +0,0 @@
-// $Id$
-
-#include "CCM_DeploymentC.h"
-#include "Assembly_ServiceC.h"
-#include "Client_init.h"
-#include "ace/Get_Opt.h"
-
-const char *ior = "file://test.ior";
-const char *cad = 0;
-
-int
-parse_args (int argc, char *argv[])
-{
- ACE_Get_Opt get_opts (argc, argv, "a:k:");
- int c;
-
- while ((c = get_opts ()) != -1)
- switch (c)
- {
- case 'a':
- cad = get_opts.opt_arg ();
- break;
-
- case 'k':
- ior = get_opts.opt_arg ();
- break;
-
- case '?':
- default:
- ACE_ERROR_RETURN ((LM_ERROR,
- "usage: %s \n"
- "-a <assembly descriptor (.cad)>\n"
- "-k <Assembly_Manager ior> \n"
- "\n",
- argv [0]),
- -1);
- }
-
- if (cad == 0)
- ACE_ERROR_RETURN ((LM_ERROR,
- "Must specify an assembly descriptor using -a flag.\n"),
- -1);
-
- // Indicates sucessful parsing of the command line
- return 0;
-}
-
-int
-main (int argc, char *argv[])
-{
- ACE_TRY_NEW_ENV
- {
- CORBA::ORB_var orb =
- CORBA::ORB_init (argc, argv, "" ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- if (parse_args (argc, argv) != 0)
- return 1;
-
- CIAO::Client_init (orb.in ());
-
- CORBA::Object_var tmp =
- orb->string_to_object(ior ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- CIAO::Assembly_Service_var as_svc
- = CIAO::Assembly_Service::_narrow (tmp.in ()
- ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- ::Components::Deployment::AssemblyFactory_var factory =
- as_svc->get_assemblyfactory (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- if (CORBA::is_nil (factory.in ()))
- {
- ACE_ERROR_RETURN ((LM_DEBUG,
- "Nil ServerActivator reference <%s>\n",
- ior),
- 1);
- }
-
-
- ACE_DEBUG ((LM_DEBUG, "Try creating an Assembly with %s\n", cad));
-
- Components::Cookie_var ck =
- factory->create_assembly (cad
- ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- Components::Deployment::Assembly_var assembly =
- factory->lookup (ck.in ()
- ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- assembly->build (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- ACE_DEBUG ((LM_DEBUG, "Press <enter> to tear down the assembly\n"));
- char dummy [256];
- cin.getline (dummy, 256);
-
- assembly->tear_down (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- factory->destroy (ck.in ()
- ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- as_svc->shutdown (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- orb->destroy (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_TRY_CHECK;
- }
- ACE_CATCHANY
- {
- ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION,
- "Exception caught:");
- return 1;
- }
- ACE_ENDTRY;
-
- return 0;
-}
diff --git a/TAO/CIAO/tools/Assembly_Deployer/Assembly_Deployer.mpc b/TAO/CIAO/tools/Assembly_Deployer/Assembly_Deployer.mpc
deleted file mode 100644
index 3258f89bfe8..00000000000
--- a/TAO/CIAO/tools/Assembly_Deployer/Assembly_Deployer.mpc
+++ /dev/null
@@ -1,23 +0,0 @@
-project(Assembly_Manager): ciao_server, acexml {
-
- libs += TAO_IORTable CIAO_XML_Helpers
- libpaths += $(TAO_ROOT)/tao/IORTable ../XML_Helpers
- depends += XML_Helpers
-
- Source_Files {
- Assembly_ServiceC.cpp
- Assembly_ServiceS.cpp
- Assembly_Impl.cpp
- Assembly_Visitors.cpp
- Deployment_Configuration.cpp
- Assembly_Manager.cpp // Main
- Assembly_Service_Impl.cpp
- }
-}
-
-project(Assembly_Deployer) : ciao_server {
- Source_Files {
- Assembly_ServiceC.cpp
- Assembly_Deployer.cpp
- }
-} \ No newline at end of file
diff --git a/TAO/CIAO/tools/Assembly_Deployer/Assembly_Impl.cpp b/TAO/CIAO/tools/Assembly_Deployer/Assembly_Impl.cpp
deleted file mode 100644
index 08f452d843f..00000000000
--- a/TAO/CIAO/tools/Assembly_Deployer/Assembly_Impl.cpp
+++ /dev/null
@@ -1,509 +0,0 @@
-// $Id$
-
-#include "Assembly_Impl.h"
-//#include "ACtive_Objref_Map.h"
-#include "Cookies.h"
-#include "../XML_Helpers/Assembly_Spec.h"
-#include "../XML_Helpers/XML_Utils.h"
-
-#if !defined (__ACE_INLINE__)
-# include "Assembly_Impl.inl"
-#endif /* __ACE_INLINE__ */
-
-CIAO::AssemblyFactory_Impl::~AssemblyFactory_Impl ()
-{
- // @@ remove all Containers?
-}
-
-PortableServer::POA_ptr
-CIAO::AssemblyFactory_Impl::_default_POA (void)
-{
- return PortableServer::POA::_duplicate (this->poa_.in ());
-}
-
-int
-CIAO::AssemblyFactory_Impl::init (const char *init_file
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- return this->deployment_config_.init (init_file);
-}
-
-::Components::Cookie *
-CIAO::AssemblyFactory_Impl::create_assembly (const char * assembly_loc
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::Deployment::InvalidLocation,
- Components::CreateFailure))
-{
- CIAO::Assembly_Spec *assembly_spec;
- ACE_NEW_RETURN (assembly_spec,
- CIAO::Assembly_Spec,
- 0);
-
- if (CIAO::XML_Utils::parse_componentassembly (assembly_loc,
- assembly_spec) != 0)
- ACE_THROW_RETURN (Components::Deployment::InvalidLocation (), 0);
-
- CIAO::Assembly_Impl *servant = 0;
- ACE_NEW_RETURN (servant,
- CIAO::Assembly_Impl (this->orb_.in (),
- this->poa_.in (),
- assembly_spec,
- this->deployment_config_),
- 0);
-
- PortableServer::ServantBase_var save_servant (servant);
-
- // @@ TO-DO: acquire and parse a Component Assembly descriptor from
- // the assembly_loc and then the Assembly servant will use it to
- // initialize itself here.
-
- // Register with our POA.
- PortableServer::ObjectId_var oid
- = this->poa_->activate_object (servant
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (0);
-
- CORBA::Object_var objref
- = this->poa_->id_to_reference (oid
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (0);
-
- ::Components::Deployment::Assembly_var assembly =
- ::Components::Deployment::Assembly::_narrow (objref.in ()
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (0);
-
- ACE_Active_Map_Manager_Key key;
- this->assembly_map_.bind (assembly,
- key);
-
- ::Components::Cookie_var retv = new CIAO::Map_Key_Cookie (key);
-
- return retv._retn ();
-}
-
-::Components::Deployment::Assembly_ptr
-CIAO::AssemblyFactory_Impl::lookup (Components::Cookie * c
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::Deployment::InvalidAssembly))
-{
- ::Components::Deployment::Assembly_var retv;
- if (c == 0)
- ACE_THROW_RETURN (::Components::Deployment::InvalidAssembly (), 0);
-
- ACE_Active_Map_Manager_Key key;
- if (CIAO::Map_Key_Cookie::extract (c, key) == -1)
- ACE_THROW_RETURN (::Components::Deployment::InvalidAssembly (), 0);
-
- if (this->assembly_map_.find (key,
- retv) != 0)
- ACE_THROW_RETURN (::Components::Deployment::InvalidAssembly (), 0);
-
- return retv._retn ();
-}
-
-void
-CIAO::AssemblyFactory_Impl::destroy (Components::Cookie * c
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::Deployment::InvalidAssembly,
- Components::RemoveFailure))
-{
- ::Components::Deployment::Assembly_var assembly;
- if (c == 0)
- ACE_THROW (::Components::Deployment::InvalidAssembly ());
-
- ACE_Active_Map_Manager_Key key;
- if (CIAO::Map_Key_Cookie::extract (c, key) == -1)
- ACE_THROW (::Components::Deployment::InvalidAssembly ());
-
- if (this->assembly_map_.unbind (key,
- assembly) != 0)
- ACE_THROW (::Components::Deployment::InvalidAssembly ());
-
- ::Components::Deployment::AssemblyState
- state = assembly->get_state (ACE_ENV_ARG_PARAMETER);
- ACE_CHECK;
-
- if (state == ::Components::Deployment::INSERVICE)
- {
- assembly->tear_down (ACE_ENV_ARG_PARAMETER);
- ACE_CHECK;
- }
-
- PortableServer::ObjectId_var oid
- = this->poa_->reference_to_id (assembly.in ()
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK;
-
- this->poa_->deactivate_object (oid
- ACE_ENV_ARG_PARAMETER);
-}
-
-
-CORBA::ULong CIAO::Assembly_Impl::assembly_count_ = 0;
-
-CIAO::Assembly_Impl::~Assembly_Impl ()
-{
- // @@ tearing down everything?
-
- ACE_DEBUG ((LM_DEBUG,
- "CIAO::Assembly_Impl::~Assembly_Impl %d\n",
- this->serial_number_));
-
- delete this->assembly_spec_;
-}
-
-PortableServer::POA_ptr
-CIAO::Assembly_Impl::_default_POA (void)
-{
- return PortableServer::POA::_duplicate (this->poa_.in ());
-}
-
-int
-CIAO::Assembly_Impl::init (ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- // @@ Initialize Assembly and create the internal container
- // implementation that actually interacts with installed
- // homes/components.
-
- // We will probably need two ORBs in this process. One for the
- // deployment framework, and one for the actual components.
- return 0;
-}
-
-void
-CIAO::Assembly_Impl::build (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::CreateFailure))
-{
- ACE_DEBUG ((LM_DEBUG,
- "CIAO::Assembly_Impl::build %d\n",
- this->serial_number_));
- if (this->state_ == Components::Deployment::INSERVICE)
- return; // We are running already.
-
- ACE_DEBUG ((LM_DEBUG, "------------------------------------\n"));
-
- // Installing homes and instantiating components
-
- CIAO::Assembly_Builder_Visitor builder (this->orb_.in (),
- this->assembly_context_,
- this->assembly_spec_->componentfiles_,
- this->deployment_config_);
- int build_result = this->assembly_spec_->partitioning_.accept (builder
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK;
-
- ACE_DEBUG ((LM_DEBUG, "------------------------------------\n"));
-
- if (build_result != 0)
- {
- ACE_ERROR ((LM_ERROR, "Failed to install all homes or instantiate all components\n"));
- ACE_THROW (Components::CreateFailure ());
- }
- // Setting connections
-
- CIAO::Assembly_Spec::CONNECTION_QUEUE::ITERATOR
- conn_iter (this->assembly_spec_->connections_);
-
- while (!conn_iter.done ())
- {
- CIAO::Assembly_Connection::Connect_Info *connection;
- conn_iter.next (connection);
-
- this->make_connection (connection
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK;
-
- conn_iter.advance ();
- }
-
- this->state_ = ::Components::Deployment::INSERVICE;
-}
-
-void
-CIAO::Assembly_Impl::tear_down (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::RemoveFailure))
-{
- if (this->state_ != Components::Deployment::INSERVICE)
- return; // Nothing to do here.
-
- // @@ At least we should remove home and kill the component server.
- // Remove all components:
- {
- CIAO::Assembly_Context::COMP_MAP::ITERATOR
- iter (this->assembly_context_.instantiated_components_);
-
- while (!iter.done ())
- {
- CIAO::Assembly_Context::COMP_MAP::ENTRY *entry;
- iter.next (entry);
-
- entry->int_id_->remove (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_CHECK;
-
- iter.advance ();
- }
- }
-
- // Remove all server
- {
- CIAO::Assembly_Context::SERVER_QUEUE::ITERATOR
- iter (this->assembly_context_.component_servers_);
-
- while (!iter.done ())
- {
- Components::Deployment::ComponentServer_var *entry;
- iter.next (entry);
-
- (*entry)->remove (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_CHECK;
-
- iter.advance ();
- }
- }
-
- ACE_DEBUG ((LM_DEBUG,
- "CIAO::Assembly_Impl::tear_down %d\n",
- this->serial_number_));
- this->state_ = ::Components::Deployment::INACTIVE;
-}
-
-::Components::Deployment::AssemblyState
-CIAO::Assembly_Impl::get_state (ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- ACE_DEBUG ((LM_DEBUG,
- "CIAO::Assembly_Impl::get_state %d\n",
- this->serial_number_));
- return this->state_;
-}
-
-void
-CIAO::Assembly_Impl::make_connection (CIAO::Assembly_Connection::Connect_Info *info
- ACE_ENV_ARG_DECL)
-{
- switch (info->type_)
- {
- case CIAO::Assembly_Connection::INTERFACE:
- {
- CORBA::Object_var source
- = this->resolve_interface (info->interface_
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK;
-
- Components::CCMObject_var comp
- = this->resolve_component (info->component_
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK;
-
- comp->connect (info->name_.c_str (),
- source.in ()
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK;
-
- // @@ Register the connection? How?
- }
- break;
-
- case CIAO::Assembly_Connection::EMITTER_CONSUMER:
- {
- Components::EventConsumerBase_var source
- = this->resolve_consumer (info->interface_
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK;
-
- Components::CCMObject_var comp
- = this->resolve_component (info->component_
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK;
-
- comp->connect_consumer (info->name_.c_str (),
- source.in ()
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK;
- }
- break;
-
- case CIAO::Assembly_Connection::PUBLISHER_CONSUMER:
- {
- Components::EventConsumerBase_var source
- = this->resolve_consumer (info->interface_
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK;
-
- Components::CCMObject_var comp
- = this->resolve_component (info->component_
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK;
-
- comp->subscribe (info->name_.c_str (),
- source.in ()
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK;
- }
- break;
-
- case CIAO::Assembly_Connection::HOME:
- ACE_THROW (CORBA::NO_IMPLEMENT ());
-
- default:
- ACE_THROW (CORBA::INTERNAL ());
- }
-}
-
-CORBA::Object_ptr
-CIAO::Assembly_Impl::resolve_interface (CIAO::Assembly_Connection::IF_Resolver_Info *info
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
-{
- switch (info->resolver_type ())
- {
- case CIAO::Assembly_Connection::PROVIDER:
- {
- Components::CCMObject_var comp =
- this->resolve_component (info->nested_resolver ()
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (0);
-
- return comp->provide_facet (info->resolver_info ()
- ACE_ENV_ARG_PARAMETER);
- }
-
- case CIAO::Assembly_Connection::CONSUMER:
- return this->resolve_consumer (info
- ACE_ENV_ARG_PARAMETER);
-
- case CIAO::Assembly_Connection::COMP_IDREF:
- return this->resolve_component (info
- ACE_ENV_ARG_PARAMETER);
-
- case CIAO::Assembly_Connection::HOME_IDREF:
- return this->resolve_home (info
- ACE_ENV_ARG_PARAMETER);
-
- case CIAO::Assembly_Connection::NAMINGSERVICE:
- ACE_THROW_RETURN (CORBA::NO_IMPLEMENT (), 0);
-
- case CIAO::Assembly_Connection::STRINGIFIEDOBJECTREF:
- return this->orb_->string_to_object (info->resolver_info ()
- ACE_ENV_ARG_PARAMETER);
-
- case CIAO::Assembly_Connection::HOMEFINDER:
- return this->resolve_home (info
- ACE_ENV_ARG_PARAMETER);
-
- case CIAO::Assembly_Connection::TRADERQUERY:
- ACE_THROW_RETURN (CORBA::NO_IMPLEMENT (), 0);
-
- default:
- ACE_THROW_RETURN (CORBA::INTERNAL (), 0);
- }
-}
-
-Components::CCMObject_ptr
-CIAO::Assembly_Impl::resolve_component (CIAO::Assembly_Connection::IF_Resolver_Info *info
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
-{
- if (info->resolver_type () == CIAO::Assembly_Connection::COMP_IDREF)
- {
- CIAO::Assembly_Context::COMP_MAP::ENTRY *entry;
-
- if (this->assembly_context_.instantiated_components_.find (info->resolver_info (),
- entry) != 0)
- // This isn't really a good exception to throw unless we can
- // specify FailureReason somehow.
- ACE_THROW_RETURN (Components::CreateFailure (), 0);
-
- return Components::CCMObject::_duplicate (entry->int_id_.in ());
- }
-
- CORBA::Object_var obj = this->resolve_interface (info
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (0);
-
- Components::CCMObject_var comp
- = Components::CCMObject::_narrow (obj.in ()
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (0);
-
- return comp._retn ();
-}
-
-Components::CCMHome_ptr
-CIAO::Assembly_Impl::resolve_home (CIAO::Assembly_Connection::IF_Resolver_Info *info
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
-{
- switch (info->resolver_type ())
- {
- case CIAO::Assembly_Connection::HOME_IDREF:
- {
- CIAO::Assembly_Context::HOME_MAP::ENTRY *entry;
-
- if (this->assembly_context_.installed_homes_.find (info->resolver_info (),
- entry) != 0)
- // This isn't really a good exception to throw unless we can
- // specify FailureReason somehow.
- ACE_THROW_RETURN (Components::CreateFailure (), 0);
-
- return Components::CCMHome::_duplicate (entry->int_id_.in ());
- }
-
- case CIAO::Assembly_Connection::HOMEFINDER:
- ACE_THROW_RETURN (CORBA::NO_IMPLEMENT (), 0);
-
- default:
- {
- CORBA::Object_var obj = this->resolve_interface (info
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (0);
-
- Components::CCMHome_var home
- = Components::CCMHome::_narrow (obj.in ()
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (0);
-
- return home._retn ();
- }
- }
- ACE_THROW_RETURN (CORBA::INTERNAL (), 0);
-}
-
-Components::EventConsumerBase_ptr
-CIAO::Assembly_Impl::resolve_consumer (CIAO::Assembly_Connection::IF_Resolver_Info *info
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
-{
- if (info->resolver_type () == CIAO::Assembly_Connection::CONSUMER)
- {
- Components::CCMObject_var comp =
- this->resolve_component (info->nested_resolver ()
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (0);
-
- return comp->get_consumer (info->resolver_info ()
- ACE_ENV_ARG_PARAMETER);
- }
-
- CORBA::Object_var obj = this->resolve_interface (info
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (0);
-
- Components::EventConsumerBase_var consumer
- = Components::EventConsumerBase::_narrow (obj.in ()
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (0);
-
- return consumer._retn ();
-}
-
-#if defined (ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION) || \
- defined (ACE_HAS_GNU_REPO)
-template class ACE_Active_Map_Manager<::Components::Deployment::Assembly_var>;
-#elif defined (ACE_HAS_TEMPLATE_INSTANTIATION_PRAGMA)
-#pragma instantiate ACE_Active_Map_Manager<::Components::Deployment::Assembly_var>
-#endif /* ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION */
diff --git a/TAO/CIAO/tools/Assembly_Deployer/Assembly_Impl.h b/TAO/CIAO/tools/Assembly_Deployer/Assembly_Impl.h
deleted file mode 100644
index 043163ef879..00000000000
--- a/TAO/CIAO/tools/Assembly_Deployer/Assembly_Impl.h
+++ /dev/null
@@ -1,201 +0,0 @@
-// -*- C++ -*-
-
-//=============================================================================
-/**
- * @file Assembly_Impl.h
- *
- * $Id$
- *
- * This file contains implementations for
- * Components::Deployment::AssemblyFactory and
- * Components::Deployment::Assembly interface.
- *
- * @author Nanbor Wang <nanbor@cs.wustl.edu>
- */
-//=============================================================================
-
-
-#ifndef CIAO_ASSEMBLY_IMPL_H
-#define CIAO_ASSEMBLY_IMPL_H
-#include "ace/pre.h"
-
-#include "ace/config-all.h"
-
-#if !defined (ACE_LACKS_PRAGMA_ONCE)
-# pragma once
-#endif /* ACE_LACKS_PRAGMA_ONCE */
-
-#include "ace/Active_Map_Manager_T.h"
-#include "CCM_DeploymentS.h"
-#include "../XML_Helpers/Assembly_Spec.h"
-#include "Deployment_Configuration.h"
-#include "Assembly_Visitors.h"
-
-namespace CIAO
-{
- /**
- * @class AssemblyFactory_Impl
- *
- * @brief Servant implementation for Components::Deployment::AssemblyFactory
- *
- * This class implements the Components::Deployment::AssemblyFactory
- * interface as defined by the CCM spcification. As the interface
- * implies, this is actually part of the deployment interface and is
- * used to manage the lifecycle of containers running on the server.
- */
- class AssemblyFactory_Impl
- : public virtual POA_Components::Deployment::AssemblyFactory,
- public virtual PortableServer::RefCountServantBase
- {
- public:
- /// Constructor
- AssemblyFactory_Impl (CORBA::ORB_ptr o,
- PortableServer::POA_ptr p);
-
- /// Destructor
- virtual ~AssemblyFactory_Impl (void);
-
- /// Get the containing POA. This operation does *not*
- /// increase the reference count of the POA.
- virtual PortableServer::POA_ptr _default_POA (void);
-
- /// Initialize the AssemblyFactory with a configuration file.
- /// @sa CIAO::Deployment_Configuration
- int init (const char *config_file
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- /// Components::Deployment::Assembly defined attributes/operations.
- virtual ::Components::Cookie * create_assembly (const char * assembly_loc
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::Deployment::InvalidLocation,
- Components::CreateFailure));
-
- virtual ::Components::Deployment::Assembly_ptr lookup (Components::Cookie * c
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::Deployment::InvalidAssembly));
-
- virtual void destroy (Components::Cookie * c
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::Deployment::InvalidAssembly,
- Components::RemoveFailure));
-
- protected:
- /// Keep a pointer to the managing ORB serving this servant.
- CORBA::ORB_var orb_;
-
- /// Keep a pointer to the managing POA.
- PortableServer::POA_var poa_;
-
- /// Keep a list of managed Assembly objects.
- ACE_Active_Map_Manager<Components::Deployment::Assembly_var> assembly_map_;
-
- /// Deployment Configuration Info.
- CIAO::Deployment_Configuration deployment_config_;
- };
-
- /**
- * @class Assembly_Impl
- *
- * @brief Servant implementation for Components::Deployment::Assembly
- *
- * This class implements the Components::Deployment::Assembly
- * interface as defined by the CCM spcification. As the interface
- * implies, this is actually part of the deployment interface and is
- * used to manage the lifecycle of containers running on the server.
- */
- class Assembly_Impl
- : public virtual POA_Components::Deployment::Assembly,
- public virtual PortableServer::RefCountServantBase
- {
- public:
- /// Constructor
- Assembly_Impl (CORBA::ORB_ptr o,
- PortableServer::POA_ptr p,
- Assembly_Spec *spec,
- Deployment_Configuration &config);
-
- /// Destructor
- virtual ~Assembly_Impl (void);
-
- /// Get the containing POA. This operation does *not*
- /// increase the reference count of the POA.
- virtual PortableServer::POA_ptr _default_POA (void);
-
- /**
- * Initialize the Assembly with an Assembly_Spec and a reference
- * to a Deployment_Configuration object. The Assembly class
- * assumes the ownership of Assembly_Spec.
- */
- int init (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- /// Components::Deployment::Assembly defined attributes/operations.
-
- virtual void build (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::CreateFailure));
-
- virtual void tear_down (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- Components::RemoveFailure));
-
- virtual ::Components::Deployment::AssemblyState
- get_state (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- protected:
- /**
- * Connection establishment helper functions
- */
- /// @{
- void make_connection (Assembly_Connection::Connect_Info *info
- ACE_ENV_ARG_DECL_WITH_DEFAULTS);
- CORBA::Object_ptr
- resolve_interface (Assembly_Connection::IF_Resolver_Info *info
- ACE_ENV_ARG_DECL_WITH_DEFAULTS);
- Components::CCMObject_ptr
- resolve_component (Assembly_Connection::IF_Resolver_Info *info
- ACE_ENV_ARG_DECL_WITH_DEFAULTS);
- Components::CCMHome_ptr
- resolve_home (Assembly_Connection::IF_Resolver_Info *info
- ACE_ENV_ARG_DECL_WITH_DEFAULTS);
- Components::EventConsumerBase_ptr
- resolve_consumer (Assembly_Connection::IF_Resolver_Info *info
- ACE_ENV_ARG_DECL_WITH_DEFAULTS);
- /// @}
-
- /// Keep a pointer to the managing ORB serving this servant.
- CORBA::ORB_var orb_;
-
- /// Keep a pointer to the managing POA.
- PortableServer::POA_var poa_;
-
- /// Current State
- ::Components::Deployment::AssemblyState state_;
-
- /// <Debug> My instance number.
- CORBA::ULong serial_number_;
-
- /// <Debug> instance counter.
- static CORBA::ULong assembly_count_;
-
- /// Deployment Configuration Info.
- Deployment_Configuration &deployment_config_;
-
- /// Assembly Specification.
- Assembly_Spec *assembly_spec_;
-
- Assembly_Context assembly_context_;
- };
-}
-
-#if defined (__ACE_INLINE__)
-# include "Assembly_Impl.inl"
-#endif /* __ACE_INLINE__ */
-
-#include "ace/post.h"
-#endif /* CIAO_ASSEMBLY_IMPL_H */
diff --git a/TAO/CIAO/tools/Assembly_Deployer/Assembly_Impl.inl b/TAO/CIAO/tools/Assembly_Deployer/Assembly_Impl.inl
deleted file mode 100644
index b6abaa37513..00000000000
--- a/TAO/CIAO/tools/Assembly_Deployer/Assembly_Impl.inl
+++ /dev/null
@@ -1,28 +0,0 @@
-/* -*- C++ -*- */
-// $Id$
-
-ACE_INLINE
-CIAO::AssemblyFactory_Impl::AssemblyFactory_Impl (CORBA::ORB_ptr o,
- PortableServer::POA_ptr p)
- : orb_ (CORBA::ORB::_duplicate (o)),
- poa_ (PortableServer::POA::_duplicate (p)),
- deployment_config_ (o)
-{
-}
-
-ACE_INLINE
-CIAO::Assembly_Impl::Assembly_Impl (CORBA::ORB_ptr o,
- PortableServer::POA_ptr p,
- Assembly_Spec *spec,
- Deployment_Configuration &config)
- : orb_ (CORBA::ORB::_duplicate (o)),
- poa_ (PortableServer::POA::_duplicate (p)),
- state_ (::Components::Deployment::INACTIVE),
- serial_number_ (++CIAO::Assembly_Impl::assembly_count_),
- deployment_config_ (config),
- assembly_spec_ (spec)
-{
- ACE_DEBUG ((LM_DEBUG,
- "CIAO::Assembly_Impl::Assembly_Impl %d\n",
- this->serial_number_));
-}
diff --git a/TAO/CIAO/tools/Assembly_Deployer/Assembly_Manager.cpp b/TAO/CIAO/tools/Assembly_Deployer/Assembly_Manager.cpp
deleted file mode 100644
index cc7d08f22e0..00000000000
--- a/TAO/CIAO/tools/Assembly_Deployer/Assembly_Manager.cpp
+++ /dev/null
@@ -1,219 +0,0 @@
-// $Id$
-
-/**
- * @file Assembly_Manager.cpp
- *
- * @brief CIAO's Assembly managing process.
- *
- */
-
-#include "Assembly_Impl.h"
-#include "Assembly_Service_Impl.h"
-#include "CIAO_ServersC.h"
-#include "Server_init.h"
-#include "tao/IORTable/IORTable.h"
-#include "ace/SString.h"
-#include "ace/Read_Buffer.h"
-#include "ace/Get_Opt.h"
-
-char *config_filename_ = 0;
-char *output_ior_filename_ = 0;
-
-int
-parse_args (int argc, char *argv[])
-{
- ACE_Get_Opt get_opts (argc, argv, "c:o:");
- int c;
-
- while ((c = get_opts ()) != -1)
- switch (c)
- {
- case 'c': // Get the configuration file for deployment configuration info.
- config_filename_ = get_opts.opt_arg ();
- break;
-
- case 'o': // get the file name to write to
- output_ior_filename_ = get_opts.opt_arg ();
- break;
-
- case '?': // display help for use of the server.
- default:
- ACE_ERROR_RETURN ((LM_ERROR,
- "usage: %s\n"
- "-c <deployment configuration file>\n"
- "-o <ior_output_file>\n"
- "\n",
- argv [0]),
- -1);
- }
-
- if (config_filename_ == 0)
- {
- ACE_ERROR_RETURN ((LM_ERROR,
- "Require a deployment configuration flag. Use -c to set it \n"
- ),
- -1);
- }
-
- return 0;
-}
-
-int
-write_IOR(const char* ior)
-{
- FILE* ior_output_file_ =
- ACE_OS::fopen (output_ior_filename_, "w");
-
- if (ior_output_file_)
- {
- ACE_OS::fprintf (ior_output_file_,
- "%s",
- ior);
- ACE_OS::fclose (ior_output_file_);
- }
-
- return 0;
-}
-
-int
-main (int argc, char *argv[])
-{
- ACE_TRY_NEW_ENV
- {
- // Initialize orb
- CORBA::ORB_var orb = CORBA::ORB_init (argc,
- argv
- ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- CIAO::Server_init (orb.in ());
-
- if (parse_args (argc, argv) != 0)
- return -1;
-
- // Get reference to Root POA.
- CORBA::Object_var obj
- = orb->resolve_initial_references ("RootPOA"
- ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- PortableServer::POA_var poa
- = PortableServer::POA::_narrow (obj.in ()
- ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- // Activate POA manager
- PortableServer::POAManager_var mgr
- = poa->the_POAManager (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- mgr->activate (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- CIAO::AssemblyFactory_Impl *assembly_factory_servant;
-
- ACE_NEW_RETURN (assembly_factory_servant,
- CIAO::AssemblyFactory_Impl (orb.in (),
- poa.in ()),
- -1);
-
- PortableServer::ServantBase_var safe_servant (assembly_factory_servant);
-
- assembly_factory_servant->init (config_filename_
- ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- // Configuring AssemblyFactory.
- PortableServer::ObjectId_var cs_oid
- = poa->activate_object (assembly_factory_servant
- ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- obj = poa->id_to_reference (cs_oid
- ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- Components::Deployment::AssemblyFactory_var assembly_factory_obj =
- Components::Deployment::AssemblyFactory::_narrow (obj.in ()
- ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- if (CORBA::is_nil (assembly_factory_obj.in ()))
- ACE_ERROR_RETURN ((LM_ERROR, "Unable to activate AssemblyFactory object\n"), -1);
-
-
- CORBA::String_var str = orb->object_to_string (assembly_factory_obj.in ()
- ACE_ENV_ARG_PARAMETER);
-
- CORBA::Object_var table_object =
- orb->resolve_initial_references ("IORTable"
- ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- IORTable::Table_var adapter =
- IORTable::Table::_narrow (table_object.in () ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- if (CORBA::is_nil (adapter.in ()))
- {
- ACE_ERROR ((LM_ERROR, "Nil IORTable\n"));
- }
- else
- {
- adapter->bind ("AssemblyFactory", str.in () ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
- }
-
- // Now create the assembly service object
- CIAO::Assembly_Service_Impl *service_servant;
- ACE_NEW_RETURN (service_servant,
- CIAO::Assembly_Service_Impl (orb.in (),
- poa.in (),
- assembly_factory_obj.in ()),
- -1);
-
- safe_servant = service_servant;
-
- PortableServer::ObjectId_var as_oid
- = poa->activate_object (service_servant
- ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- obj = poa->id_to_reference (as_oid
- ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- CIAO::Assembly_Service_var service_obj =
- CIAO::Assembly_Service::_narrow (obj.in ()
- ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- if (CORBA::is_nil (service_obj.in ()))
- ACE_ERROR_RETURN ((LM_ERROR, "Unable to activate Assembly_Service object\n"), -1);
-
-
- str = orb->object_to_string (service_obj.in ()
- ACE_ENV_ARG_PARAMETER);
-
- write_IOR (str.in ());
- ACE_DEBUG ((LM_INFO, "Assembly_Manager IOR: %s\n", str.in ()));
-
- // End Deployment part
-
- ACE_DEBUG ((LM_DEBUG,
- "Running Assembly_Manager...\n"));
-
- // Run the main event loop for the ORB.
- orb->run (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_TRY_CHECK
- }
- ACE_CATCHANY
- {
- ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION,
- "Assembly_Manager::main\t\n");
- return 1;
- }
- ACE_ENDTRY;
-
- return 0;
-}
diff --git a/TAO/CIAO/tools/Assembly_Deployer/Assembly_Service.idl b/TAO/CIAO/tools/Assembly_Deployer/Assembly_Service.idl
deleted file mode 100644
index c471e67c83e..00000000000
--- a/TAO/CIAO/tools/Assembly_Deployer/Assembly_Service.idl
+++ /dev/null
@@ -1,15 +0,0 @@
-// $Id$
-
-#include "CCM_Deployment.idl"
-
-module CIAO
-{
-
- interface Assembly_Service
- {
- Components::Deployment::AssemblyFactory get_assemblyfactory ();
-
- oneway void shutdown ();
- };
-
-};
diff --git a/TAO/CIAO/tools/Assembly_Deployer/Assembly_Service_Impl.cpp b/TAO/CIAO/tools/Assembly_Deployer/Assembly_Service_Impl.cpp
deleted file mode 100644
index cd0e50a2551..00000000000
--- a/TAO/CIAO/tools/Assembly_Deployer/Assembly_Service_Impl.cpp
+++ /dev/null
@@ -1,36 +0,0 @@
-// $Id$
-
-#include "Assembly_Service_Impl.h"
-
-CIAO::Assembly_Service_Impl::Assembly_Service_Impl (CORBA::ORB_ptr o,
- PortableServer::POA_ptr p,
- Components::Deployment::AssemblyFactory_ptr f)
- : orb_ (CORBA::ORB::_duplicate (o)),
- poa_ (PortableServer::POA::_duplicate (p)),
- factory_ (Components::Deployment::AssemblyFactory::_duplicate (f))
-{
-}
-
-CIAO::Assembly_Service_Impl::~Assembly_Service_Impl (void)
-{
-}
-
-PortableServer::POA_ptr
-CIAO::Assembly_Service_Impl::_default_POA (void)
-{
- return PortableServer::POA::_duplicate (this->poa_.in ());
-}
-
-Components::Deployment::AssemblyFactory_ptr
-CIAO::Assembly_Service_Impl::get_assemblyfactory (ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- return Components::Deployment::AssemblyFactory::_duplicate (this->factory_.in ());
-}
-
-void
-CIAO::Assembly_Service_Impl::shutdown (ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- this->orb_->shutdown ();
-}
diff --git a/TAO/CIAO/tools/Assembly_Deployer/Assembly_Service_Impl.h b/TAO/CIAO/tools/Assembly_Deployer/Assembly_Service_Impl.h
deleted file mode 100644
index a8dc8a9da92..00000000000
--- a/TAO/CIAO/tools/Assembly_Deployer/Assembly_Service_Impl.h
+++ /dev/null
@@ -1,63 +0,0 @@
-// -*- C++ -*-
-
-//=============================================================================
-/**
- * @file Assembly_Service_Impl.h
- *
- * $Id$
- *
- * @author Nanbor Wang <nanbor@cs.wustl.edu>
- */
-//=============================================================================
-
-
-#ifndef CIAO_ASSEMBLY_SERVICE_IMPL_H
-#define CIAO_ASSEMBLY_SERVICE_IMPL_H
-#include "ace/pre.h"
-
-#include "Assembly_ServiceS.h"
-
-#if !defined (ACE_LACKS_PRAGMA_ONCE)
-# pragma once
-#endif /* ACE_LACKS_PRAGMA_ONCE */
-
-namespace CIAO
-{
- class Assembly_Service_Impl
- : public virtual POA_CIAO::Assembly_Service,
- public virtual PortableServer::RefCountServantBase
- {
- public:
- /// Constructor
- Assembly_Service_Impl (CORBA::ORB_ptr o,
- PortableServer::POA_ptr p,
- Components::Deployment::AssemblyFactory_ptr f);
-
- /// Destructor
- virtual ~Assembly_Service_Impl (void);
-
- /// Get the containing POA. This operation does *not*
- /// increase the reference count of the POA.
- virtual PortableServer::POA_ptr _default_POA (void);
-
- virtual ::Components::Deployment::AssemblyFactory_ptr
- get_assemblyfactory (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- virtual void shutdown (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- protected:
- /// Keep a pointer to the managing ORB serving this servant.
- CORBA::ORB_var orb_;
-
- /// Keep a pointer to the managing POA.
- PortableServer::POA_var poa_;
-
- /// Cached AssemblyFactory reference.
- Components::Deployment::AssemblyFactory_var factory_;
- };
-}
-
-#include "ace/post.h"
-#endif /* CIAO_ASSEMBLY_IMPL_H */
diff --git a/TAO/CIAO/tools/Assembly_Deployer/Assembly_Visitors.cpp b/TAO/CIAO/tools/Assembly_Deployer/Assembly_Visitors.cpp
deleted file mode 100644
index 2011085660d..00000000000
--- a/TAO/CIAO/tools/Assembly_Deployer/Assembly_Visitors.cpp
+++ /dev/null
@@ -1,336 +0,0 @@
-// $Id$
-
-#include "Assembly_Visitors.h"
-#include "../XML_Helpers/XML_Utils.h"
-
-#if !defined (__ACE_INLINE__)
-# include "Assembly_Visitors.inl"
-#endif /* __ACE_INLINE__ */
-
-CIAO::Assembly_Builder_Visitor::~Assembly_Builder_Visitor (void)
-{
-}
-
-int
-CIAO::Assembly_Builder_Visitor::visit_Container
-(CIAO::Assembly_Placement::Container *c
- ACE_ENV_ARG_DECL)
-{
- ACE_DEBUG ((LM_DEBUG, "partitioning %s\n", c->id ()));
-
- // This can only happen when we hit a partitioning (root) node.
- CIAO::Assembly_Placement::Container::ITERATOR iter (*c);
- CIAO::Assembly_Placement::Node *node = 0;
-
- while (iter.next (node))
- {
- int retv = node->accept (*this
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (-1);
-
- if (retv != 0)
- return -1;
- iter.advance ();
- }
- return 0;
-}
-
-int
-CIAO::Assembly_Builder_Visitor::visit_hostcollocation
-(CIAO::Assembly_Placement::hostcollocation *hc
- ACE_ENV_ARG_DECL)
-{
- ACE_DEBUG ((LM_DEBUG, "hostcollocation %s\n", hc->id ()));
-
-
-
- CIAO::Assembly_Placement::Container::ITERATOR iter (*hc);
- CIAO::Assembly_Placement::Node *node = 0;
-
- while (iter.next (node))
- {
- int retv = node->accept (*this
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (-1);
-
- if (retv != 0)
- return -1;
- iter.advance ();
- }
- return 0;
-}
-
-int
-CIAO::Assembly_Builder_Visitor::visit_processcollocation
-(CIAO::Assembly_Placement::processcollocation *pc
- ACE_ENV_ARG_DECL)
-{
- ACE_DEBUG ((LM_DEBUG, "processcollocation %s\n", pc->id ()));
-
- if (pc->destination () != 0)
- {
- Components::Deployment::ServerActivator_var activator =
- this->deployment_config_.get_activator (pc->destination ());
-
- if (CORBA::is_nil (activator.in ()))
- ACE_ERROR_RETURN ((LM_ERROR, "Fail to acquire ServerActivator (%s)\n",
- pc->destination ()),
- -1);
-
- Components::ConfigValues server_config;
- // @@ Nothing to config yet.
-
- this->compserv_ =
- activator->create_component_server (server_config
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (-1);
-
- this->context_.component_servers_.enqueue_tail (this->compserv_);
-
- Components::ConfigValues container_config;
- // @@ Should we get the config value from Softpkg_Info?
- this->container_ =
- this->compserv_->create_container (container_config
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (-1);
- }
-
- CIAO::Assembly_Placement::Container::ITERATOR iter (*pc);
- CIAO::Assembly_Placement::Node *node = 0;
-
- while (iter.next (node))
- {
- int retv = node->accept (*this
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (-1);
-
- if (retv != 0)
- return -1;
- iter.advance ();
- }
- return 0;
-}
-
-int
-CIAO::Assembly_Builder_Visitor::visit_homeplacement
-(CIAO::Assembly_Placement::homeplacement *hp
- ACE_ENV_ARG_DECL)
-{
- ACE_DEBUG ((LM_DEBUG, "homeplacement %s\n", hp->id ()));
-
- // @@ Create and register home before creating components.
- ACE_CString csd_file;
-
- if (this->impl_idref_map_.find (hp->componentfileref (),
- csd_file) != 0)
- ACE_ERROR_RETURN ((LM_DEBUG,
- "Unable to find implementation reference: %s",
- hp->componentfileref ()),
- -1);
-
- CIAO::Softpkg_Handler::Softpkg_Info info;
- info.csd_path_ = csd_file.c_str ();
-
- if (CIAO::XML_Utils::parse_softpkg (&info) == 0)
- {
- // info.dump (); // For debug purpose.
-
- // install home
- Components::ConfigValues home_config;
- // Setting home config value here:
- home_config.length (2);
-
- Components::ConfigValue *item = new OBV_Components::ConfigValue ();
- item->name (CORBA::string_dup ("CIAO-servant-UUID"));
- item->value () <<= CORBA::string_dup (info.servant_UUID_.c_str ());
- home_config[0] = item;
-
- item = new OBV_Components::ConfigValue ();
- item->name (CORBA::string_dup ("CIAO-servant-entrypt"));
- item->value () <<= CORBA::string_dup (info.servant_entrypt_.c_str ());
- home_config[1] = item;
-
- Components::Deployment::Container_var container
- = this->get_current_container (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_CHECK_RETURN (-1);
-
- if (CORBA::is_nil (container.in ()))
- ACE_ERROR_RETURN ((LM_DEBUG,
- "Unable to acquire a reference to ServerActivator\n"),
- -1);
-
- Components::CCMHome_var home =
- container->install_home (info.executor_UUID_.c_str (),
- info.executor_entrypt_.c_str (),
- home_config
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (-1);
-
- Components::KeylessCCMHome_var klhome =
- Components::KeylessCCMHome::_narrow (home.in ()
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (-1);
-
- if (CORBA::is_nil (klhome.in ()))
- return -1;
-
- // register home with context
- if (this->context_.installed_homes_.bind (hp->id (),
- home) != 0)
- ACE_ERROR_RETURN ((LM_DEBUG,
- "Failed to register home\n"),
- -1);
- // Save the home for component instantiation.
- this->home_ = klhome;
-
- // @@ Register home according to register spec.
- // @@ Not implemented yet.
- }
-
- CIAO::Assembly_Placement::Container::ITERATOR iter (*hp);
- CIAO::Assembly_Placement::Node *node = 0;
-
- while (iter.next (node))
- {
- int retv = node->accept (*this
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (-1);
-
- if (retv != 0)
- return -1;
- iter.advance ();
- }
-
- // Reset current home
- this->home_ = 0;
- return 0;
-}
-
-int
-CIAO::Assembly_Builder_Visitor::visit_componentinstantiation
-(CIAO::Assembly_Placement::componentinstantiation *ci
- ACE_ENV_ARG_DECL)
-{
- // @@ instantiation and register component.
- ACE_DEBUG ((LM_DEBUG, "ComponentInstantiation %s\n", ci->id ()));
-
- Components::CCMObject_var comp
- = this->home_->create_component (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_CHECK_RETURN (-1);
-
- this->context_.instantiated_components_.bind (ci->id (),
- comp);
-
- // Registering component.
- CIAO::Assembly_Placement::componentinstantiation::REGISTRATION_QUEUE::ITERATOR
- iter (ci->register_info_);
-
- while (!iter.done ())
- {
- CIAO::Assembly_Placement::componentinstantiation::Register_Info *info;
- iter.next (info);
-
- this->register_component (info,
- comp.in ()
- ACE_ENV_ARG_PARAMETER);
-
- iter.advance ();
- }
- return 0;
-}
-
-Components::Deployment::Container_ptr
-CIAO::Assembly_Builder_Visitor::get_current_container (ACE_ENV_SINGLE_ARG_DECL)
-{
- if (CORBA::is_nil (this->compserv_.in ()))
- {
- Components::Deployment::ServerActivator_var activator =
- this->deployment_config_.get_default_activator ();
-
- if (CORBA::is_nil (activator.in ()))
- ACE_ERROR_RETURN ((LM_ERROR, "Fail to acquire default ServerActivator\n"),
- 0);
-
- Components::ConfigValues server_config;
- // @@ Nothing to config yet.
-
- this->compserv_ =
- activator->create_component_server (server_config
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (0);
-
- this->context_.component_servers_.enqueue_tail (this->compserv_);
-
- Components::ConfigValues container_config;
- // @@ Should we get the config value from Softpkg_Info?
- this->container_ =
- this->compserv_->create_container (container_config
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (0);
- }
-
- return Components::Deployment::Container::_duplicate
- (this->container_.in ());
-}
-
-void
-CIAO::Assembly_Builder_Visitor::register_component
-(Assembly_Placement::componentinstantiation::Register_Info *i,
- Components::CCMObject_ptr c
- ACE_ENV_ARG_DECL)
-{
- CORBA::Object_ptr reg_obj;
-
- // Extract the right interface to register:
- switch (i->type_)
- {
- case CIAO::Assembly_Placement::componentinstantiation::COMPONENT:
- reg_obj = c;
- break;
-
- case CIAO::Assembly_Placement::componentinstantiation::PROVIDESID:
- reg_obj = c->provide_facet (i->port_id_.c_str ()
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK;
- break;
-
- case CIAO::Assembly_Placement::componentinstantiation::CONSUMESID:
- reg_obj = c->get_consumer (i->port_id_.c_str ()
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK;
- break;
-
- default:
- ACE_THROW (CORBA::INTERNAL ());
- }
-
- // Now actually register the interface
- switch (i->method_)
- {
- case CIAO::Assembly_Placement::componentinstantiation::NAMINGSERVICE:
- ACE_THROW (CORBA::NO_IMPLEMENT ());
-
- case CIAO::Assembly_Placement::componentinstantiation::IORFILE:
- {
- CORBA::String_var ior
- = this->orb_->object_to_string (reg_obj
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK;
-
- FILE* ior_output_file_ =
- ACE_OS::fopen (i->name_.c_str (), "w");
-
- if (ior_output_file_)
- {
- ACE_OS::fprintf (ior_output_file_,
- "%s",
- ior.in ());
- ACE_OS::fclose (ior_output_file_);
- }
- }
- break;
-
- default:
- ACE_THROW (CORBA::INTERNAL ());
- }
-}
diff --git a/TAO/CIAO/tools/Assembly_Deployer/Assembly_Visitors.h b/TAO/CIAO/tools/Assembly_Deployer/Assembly_Visitors.h
deleted file mode 100644
index bf1ad209c79..00000000000
--- a/TAO/CIAO/tools/Assembly_Deployer/Assembly_Visitors.h
+++ /dev/null
@@ -1,135 +0,0 @@
-// -*- C++ -*-
-
-//=============================================================================
-/**
- * @file Assembly_Visitors.h
- *
- * $Id$
- *
- * This file contains implementations for various visitors that
- * traverse and process CIAO::Assembly_Spec.
- *
- * @author Nanbor Wang <nanbor@cs.wustl.edu>
- */
-//=============================================================================
-
-
-#ifndef CIAO_ASSEMBLY_VISITOR_H
-#define CIAO_ASSEMBLY_VISITOR_H
-#include "ace/pre.h"
-
-#include "ace/config-all.h"
-
-#if !defined (ACE_LACKS_PRAGMA_ONCE)
-# pragma once
-#endif /* ACE_LACKS_PRAGMA_ONCE */
-
-#include "CCM_DeploymentS.h"
-#include "ace/Hash_Map_Manager_T.h"
-#include "../XML_Helpers/Assembly_Spec.h"
-#include "Deployment_Configuration.h"
-
-namespace CIAO
-{
- /**
- * @typedef Assembly_Context
- *
- * This is a structure for collecting information of a running Assembly.
- */
- typedef struct _assembly_context
- {
- typedef ACE_Hash_Map_Manager_Ex<ACE_CString,
- Components::CCMHome_var,
- ACE_Hash<ACE_CString>,
- ACE_Equal_To<ACE_CString>,
- ACE_Null_Mutex> HOME_MAP;
- HOME_MAP installed_homes_;
-
- typedef ACE_Hash_Map_Manager_Ex<ACE_CString,
- Components::CCMObject_var,
- ACE_Hash<ACE_CString>,
- ACE_Equal_To<ACE_CString>,
- ACE_Null_Mutex> COMP_MAP;
- COMP_MAP instantiated_components_;
-
- typedef ACE_Unbounded_Queue<Components::Deployment::ComponentServer_var> SERVER_QUEUE;
- SERVER_QUEUE component_servers_;
- } Assembly_Context;
-
- /**
- * @class Assembly_Builder_Visitor
- *
- * @brief A visitor implementation that "build" up the application
- * ACE_Hash_Map_Manager_Exby visiting nodes in an Assembly_Spec
- */
- class Assembly_Builder_Visitor : public CIAO::Assembly_Placement::Visitor
- {
- public:
- /// Constructor
- Assembly_Builder_Visitor (CORBA::ORB_ptr o,
- Assembly_Context &context,
- CIAO::ID_IMPL_MAP &idmap,
- Deployment_Configuration &config);
-
- /// Destructor
- virtual ~Assembly_Builder_Visitor (void);
-
- virtual int visit_Container (Assembly_Placement::Container *c
- ACE_ENV_ARG_DECL_WITH_DEFAULTS);
-
- virtual int visit_hostcollocation (Assembly_Placement::hostcollocation *hc
- ACE_ENV_ARG_DECL_WITH_DEFAULTS);
-
- virtual int visit_processcollocation (Assembly_Placement::processcollocation *pc
- ACE_ENV_ARG_DECL_WITH_DEFAULTS);
-
- virtual int visit_homeplacement (Assembly_Placement::homeplacement *hp
- ACE_ENV_ARG_DECL_WITH_DEFAULTS);
-
- virtual int visit_componentinstantiation (Assembly_Placement::componentinstantiation *ci
- ACE_ENV_ARG_DECL_WITH_DEFAULTS);
-
- Components::Deployment::Container_ptr
- get_current_container (void);
-
- protected:
- /// Registering a component using the info specified in @c i .
- void register_component (Assembly_Placement::componentinstantiation::Register_Info *i,
- Components::CCMObject_ptr c
- ACE_ENV_ARG_DECL_WITH_DEFAULTS);
-
- /// Current Component Server.
- Components::Deployment::ComponentServer_var compserv_;
-
- /// Current Container. (This shouldn't be necessary because the
- /// component server supposedly should be able to figure out if a
- /// component home can be installed in the same container based on
- /// its configvalue. However, our component server don't do that
- /// yet, so we just install all home in a process into one single
- /// container.)
- Components::Deployment::Container_var container_;
-
- /// Current Component Home. We only support keyless home
- /// operations for now.
- Components::KeylessCCMHome_var home_;
-
- /// Keep a pointer to the managing ORB serving this servant.
- CORBA::ORB_var orb_;
-
- /// Context to build on.
- Assembly_Context &context_;
-
- /// Context to build on.
- CIAO::ID_IMPL_MAP &impl_idref_map_;
-
- /// Deployment Configuration Info.
- Deployment_Configuration &deployment_config_;
- };
-}
-
-#if defined (__ACE_INLINE__)
-# include "Assembly_Visitors.inl"
-#endif /* __ACE_INLINE__ */
-
-#include "ace/post.h"
-#endif /* CIAO_ASSEMBLY_VISITOR_H */
diff --git a/TAO/CIAO/tools/Assembly_Deployer/Assembly_Visitors.inl b/TAO/CIAO/tools/Assembly_Deployer/Assembly_Visitors.inl
deleted file mode 100644
index dc8160a3ac4..00000000000
--- a/TAO/CIAO/tools/Assembly_Deployer/Assembly_Visitors.inl
+++ /dev/null
@@ -1,13 +0,0 @@
-// $Id$
-
-ACE_INLINE
-CIAO::Assembly_Builder_Visitor::Assembly_Builder_Visitor (CORBA::ORB_ptr o,
- Assembly_Context &context,
- CIAO::ID_IMPL_MAP &idmap,
- Deployment_Configuration &config)
- : orb_ (CORBA::ORB::_duplicate (o)),
- context_ (context),
- impl_idref_map_ (idmap),
- deployment_config_ (config)
-{
-}
diff --git a/TAO/CIAO/tools/Assembly_Deployer/Deployment_Configuration.cpp b/TAO/CIAO/tools/Assembly_Deployer/Deployment_Configuration.cpp
deleted file mode 100644
index d546e0756b8..00000000000
--- a/TAO/CIAO/tools/Assembly_Deployer/Deployment_Configuration.cpp
+++ /dev/null
@@ -1,118 +0,0 @@
-// $Id$
-
-#include "Deployment_Configuration.h"
-
-#if !defined (__ACE_INLINE__)
-# include "Deployment_Configuration.inl"
-#endif /* __ACE_INLINE__ */
-
-#define NAME_BUFSIZE 1024
-
-CIAO::Deployment_Configuration::Deployment_Configuration (CORBA::ORB_ptr o)
- : orb_ (CORBA::ORB::_duplicate (o))
-{
-}
-
-CIAO::Deployment_Configuration::~Deployment_Configuration (void)
-{
-}
-
-int
-CIAO::Deployment_Configuration::init (const char *filename)
-{
- // @@ We should change to use ACE_Configuration here.
-
- if (filename == 0)
- return -1;
-
- FILE *inf = ACE_OS::fopen (filename, "r");
-
- if (inf == NULL)
- ACE_ERROR_RETURN ((LM_ERROR, "Fail to open data file.\n"), -1);
-
- char destination[NAME_BUFSIZE], ior[NAME_BUFSIZE];
-
- int first = 1;
-
- while (fscanf (inf, "%s %s", destination, ior ) != EOF)
- {
- this->deployment_info_.bind (destination, ior);
-
- if (first)
- {
- this->default_activator_.IOR_ = ior;
- first = 0;
- }
- }
-
- return 0;
-}
-
-const char *
-CIAO::Deployment_Configuration::get_activator_ior (const char *name)
-{
- ACE_Hash_Map_Entry
- <ACE_CString,
- CIAO::Deployment_Configuration::Activator_Info> *entry;
-
- if (this->deployment_info_.find (ACE_CString (name),
- entry) != 0)
- return 0; // no valid name found.
-
- return entry->int_id_.IOR_.c_str ();
-}
-
-const char *
-CIAO::Deployment_Configuration::get_default_activator_ior (void)
-{
- if (this->default_activator_.IOR_.length () == 0)
- return 0;
- return this->default_activator_.IOR_.c_str ();
-}
-
-Components::Deployment::ServerActivator_ptr
-CIAO::Deployment_Configuration::get_activator (const char *name
- ACE_ENV_ARG_DECL)
-{
- ACE_Hash_Map_Entry
- <ACE_CString,
- CIAO::Deployment_Configuration::Activator_Info> *entry;
-
- if (this->deployment_info_.find (ACE_CString (name),
- entry) != 0)
- return 0; // no valid name found.
-
- if (CORBA::is_nil (entry->int_id_.activator_.in ()))
- {
- CORBA::Object_var temp = this->orb_->string_to_object
- (entry->int_id_.IOR_.c_str ()
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (0);
-
- entry->int_id_.activator_ =
- Components::Deployment::ServerActivator::_narrow (temp.in ()
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (0);
- }
- return Components::Deployment::ServerActivator::_duplicate
- (entry->int_id_.activator_.in ());
-}
-
-Components::Deployment::ServerActivator_ptr
-CIAO::Deployment_Configuration::get_default_activator (void)
-{
- if (CORBA::is_nil (this->default_activator_.activator_.in ()))
- {
- CORBA::Object_var temp = this->orb_->string_to_object
- (this->default_activator_.IOR_.c_str ()
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (0);
-
- this->default_activator_.activator_ =
- Components::Deployment::ServerActivator::_narrow (temp.in ()
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (0);
- }
- return Components::Deployment::ServerActivator::_duplicate
- (this->default_activator_.activator_.in ());
-}
diff --git a/TAO/CIAO/tools/Assembly_Deployer/Deployment_Configuration.h b/TAO/CIAO/tools/Assembly_Deployer/Deployment_Configuration.h
deleted file mode 100644
index 5bda09c988b..00000000000
--- a/TAO/CIAO/tools/Assembly_Deployer/Deployment_Configuration.h
+++ /dev/null
@@ -1,126 +0,0 @@
-// -*- C++ -*-
-
-//=============================================================================
-/**
- * @file Deployment_Configuration.h
- *
- * $Id$
- *
- * The Deployment_Configuration provides abstraction for the
- * deployment mechanisms.
- *
- * @author Nanbor Wang <nanbor@cs.wustl.edu>
- */
-//=============================================================================
-
-
-#ifndef CIAO_DEPLOYMENT_CONFIGURATION_H
-#define CIAO_DEPLOYMENT_CONFIGURATION_H
-#include "ace/pre.h"
-
-#include "ace/Hash_Map_Manager_T.h"
-
-#if !defined (ACE_LACKS_PRAGMA_ONCE)
-# pragma once
-#endif /* ACE_LACKS_PRAGMA_ONCE */
-
-#include "CCM_DeploymentC.h"
-
-namespace CIAO
-{
- /**
- * @class Deployment_Configuration
- *
- * @brief A class that provides strategies on deployment topology
- *
- * This class provides strategies on how the Assembly framework
- * should deploy an assembly. This is achieved by providing
- * mappings from deployment destination names to actually CIAO daemon
- * IORs, and the strategy for which default CIAO daemon a deployment
- * mechanism should use.
- *
- * This is a trivial implementation of the deployment configuration
- * strategy. We can enhance this class later on to provide
- * different deployment location strategies.
- */
- class Deployment_Configuration
- {
- public:
- typedef struct _activator_info
- {
- _activator_info (const char *ior = 0)
- {
- IOR_ = ior;
- }
-
- ACE_CString IOR_;
- Components::Deployment::ServerActivator_var activator_;
- } Activator_Info;
-
- Deployment_Configuration (CORBA::ORB_ptr o);
-
- /// Destructor
- virtual ~Deployment_Configuration (void);
-
- /**
- * Init method takes the filename to a configuration file which
- * has a simple line format of name, ior string delimited by a
- * space in each line.
- *
- * name IOR-string
- *
- * @retval 0 on success.
- * @retval -1 otherwise.
- */
- int init (const char *filename);
-
- /**
- * @retval 0 if no valid name were found.
- */
- virtual const char *get_activator_ior (const char *name);
-
- /**
- * Return the default ServerActivator the Assembly mechanism
- * should use to deploy a component. In this implementation, the
- * first entry in the deployment configuration data file is always
- * the entry for default activator.
- *
- * @retval 0 if no valid daemon is configured.
- */
- virtual const char *get_default_activator_ior (void);
-
- /**
- * @retval nil if no valid name were found.
- */
- virtual Components::Deployment::ServerActivator_ptr
- get_activator (const char *name);
-
- /**
- * Return the reference to the default ServerActivator the
- * Assembly mechanism should use to deploy a component.
- *
- * @retval nil if no valid daemon is configured.
- */
- virtual Components::Deployment::ServerActivator_ptr
- get_default_activator (void);
-
- protected:
- CORBA::ORB_var orb_;
-
- ACE_Hash_Map_Manager_Ex<ACE_CString,
- Activator_Info,
- ACE_Hash<ACE_CString>,
- ACE_Equal_To<ACE_CString>,
- ACE_Null_Mutex> deployment_info_;
-
- Activator_Info default_activator_;
- };
-
-}
-
-#if defined (__ACE_INLINE__)
-# include "Deployment_Configuration.inl"
-#endif /* __ACE_INLINE__ */
-
-#include "ace/post.h"
-#endif /* CIAO_DEPLOYMENT_CONFIGURATION_H */
diff --git a/TAO/CIAO/tools/Assembly_Deployer/Deployment_Configuration.inl b/TAO/CIAO/tools/Assembly_Deployer/Deployment_Configuration.inl
deleted file mode 100644
index cfa1da318d3..00000000000
--- a/TAO/CIAO/tools/Assembly_Deployer/Deployment_Configuration.inl
+++ /dev/null
@@ -1 +0,0 @@
-// $Id$
diff --git a/TAO/CIAO/tools/ComponentServer/ComponentServer.cpp b/TAO/CIAO/tools/ComponentServer/ComponentServer.cpp
deleted file mode 100644
index 3d72ad1e00c..00000000000
--- a/TAO/CIAO/tools/ComponentServer/ComponentServer.cpp
+++ /dev/null
@@ -1,196 +0,0 @@
-// $Id$
-
-/**
- * @file ComponentServer.cpp
- *
- * @brief CIAO's ComponentServer implementation
- *
- */
-
-#include "ComponentServer_Impl.h"
-#include "CIAO_ServersC.h"
-#include "Server_init.h"
-#include "tao/IORTable/IORTable.h"
-#include "ace/SString.h"
-#include "ace/Read_Buffer.h"
-#include "ace/Get_Opt.h"
-
-char *ior_file_name_ = 0;
-char *callback_ior_ = 0;
-int use_callback = 1;
-
-int
-parse_args (int argc, char *argv[])
-{
- ACE_Get_Opt get_opts (argc, argv, "nk:o:");
- int c;
-
- while ((c = get_opts ()) != -1)
- switch (c)
- {
- case 'n':
- use_callback = 0;
- break;
-
- case 'o': // get the file name to write to
- ior_file_name_ = get_opts.opt_arg ();
- break;
-
- case 'k': // get the activator callback IOR
- callback_ior_ = get_opts.opt_arg ();
- break;
-
- case '?': // display help for use of the server.
- default:
- ACE_ERROR_RETURN ((LM_ERROR,
- "usage: %s\n"
- "-n Don't not try to callback ServerActivator (testing)\n"
- "-o <ior_output_file>\n"
- "-k <activator_callback_ior>\n"
- "\n",
- argv [0]),
- -1);
- }
-
- if (use_callback && callback_ior_ == 0)
- ACE_ERROR_RETURN ((LM_ERROR, "Callback IOR to ServerActivator is required.\n"),
- -1);
-
- return 0;
-}
-
-int
-write_IOR(const char* ior)
-{
- FILE* ior_output_file_ =
- ACE_OS::fopen (ior_file_name_, "w");
-
- if (ior_output_file_)
- {
- ACE_OS::fprintf (ior_output_file_,
- "%s",
- ior);
- ACE_OS::fclose (ior_output_file_);
- }
-
- return 0;
-}
-
-int
-main (int argc, char *argv[])
-{
- ACE_TRY_NEW_ENV
- {
- // Initialize orb
- CORBA::ORB_var orb = CORBA::ORB_init (argc,
- argv
- ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- CIAO::Server_init (orb.in ());
-
- if (parse_args (argc, argv) != 0)
- return -1;
-
- // Get reference to Root POA.
- CORBA::Object_var obj
- = orb->resolve_initial_references ("RootPOA"
- ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- PortableServer::POA_var poa
- = PortableServer::POA::_narrow (obj.in ()
- ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- // Activate POA manager
- PortableServer::POAManager_var mgr
- = poa->the_POAManager (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- mgr->activate (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- CIAO::ComponentServer_Impl *comserv_servant;
-
- ACE_NEW_RETURN (comserv_servant,
- CIAO::ComponentServer_Impl (orb.in (),
- poa.in ()),
- -1);
-
- PortableServer::ServantBase_var safe_servant (comserv_servant);
-
- // @@ We need to call ComponentServer servant's init method.
- // But it's not sure to me where exactly we can get the
- // ConfigValues needed by the init method at this moment.
-
- // comserv_servant->init (config ACE_ENV_ARG_PARAMETER);
-
- // Configuring ComponentServer.
- PortableServer::ObjectId_var cs_oid
- = poa->activate_object (comserv_servant
- ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- obj = poa->id_to_reference (cs_oid.in ()
- ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- Components::Deployment::ComponentServer_var comserv_obj =
- Components::Deployment::ComponentServer::_narrow (obj.in ()
- ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- if (CORBA::is_nil (comserv_obj.in ()))
- ACE_ERROR_RETURN ((LM_ERROR, "Unable to activate ComponentServer object\n"), -1);
-
-
- Components::Deployment::ServerActivator_var activator;
-
- if (use_callback)
- {
- obj = orb->string_to_object (callback_ior_
- ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- CIAO::Activator_Callback_var act_callback
- = ::CIAO::Activator_Callback::_narrow (obj.in ()
- ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- activator
- = act_callback->register_component_server (comserv_obj.in ()
- ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
- }
-
- comserv_servant->set_objref (activator.in (),
- comserv_obj.in ()
- ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- CORBA::String_var str = orb->object_to_string (comserv_obj.in ()
- ACE_ENV_ARG_PARAMETER);
-
- write_IOR (str.in ());
- ACE_DEBUG ((LM_INFO, "ComponentServer IOR: %s\n", str.in ()));
-
- // End Deployment part
-
- ACE_DEBUG ((LM_DEBUG,
- "Running ComponentServer...\n"));
-
- // Run the main event loop for the ORB.
- orb->run (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_TRY_CHECK
- }
- ACE_CATCHANY
- {
- ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION,
- "server::main\t\n");
- return 1;
- }
- ACE_ENDTRY;
-
- return 0;
-}
diff --git a/TAO/CIAO/tools/ComponentServer/ComponentServer.mpc b/TAO/CIAO/tools/ComponentServer/ComponentServer.mpc
deleted file mode 100644
index a87efd1e32e..00000000000
--- a/TAO/CIAO/tools/ComponentServer/ComponentServer.mpc
+++ /dev/null
@@ -1,17 +0,0 @@
-// $Id$
-
-project(ComponentServer): ciao_server {
-
- libs += TAO_IORTable
- libpaths += $(TAO_ROOT)/tao/IORTable
-
- Source_Files {
- ComponentServer.cpp
- }
-}
-
-project(ComponentServer_test_client) : ciao_server {
- Source_Files {
- ComponentServer_test_client.cpp
- }
-}
diff --git a/TAO/CIAO/tools/ComponentServer/ComponentServer_test_client.cpp b/TAO/CIAO/tools/ComponentServer/ComponentServer_test_client.cpp
deleted file mode 100644
index eb3bec82e70..00000000000
--- a/TAO/CIAO/tools/ComponentServer/ComponentServer_test_client.cpp
+++ /dev/null
@@ -1,114 +0,0 @@
-// $Id$
-
-#include "CCM_DeploymentC.h"
-#include "Client_init.h"
-#include "ace/Get_Opt.h"
-
-const char *ior = "file://test.ior";
-
-int
-parse_args (int argc, char *argv[])
-{
- ACE_Get_Opt get_opts (argc, argv, "k:");
- int c;
-
- while ((c = get_opts ()) != -1)
- switch (c)
- {
- case 'k':
- ior = get_opts.opt_arg ();
- break;
-
- case '?':
- default:
- ACE_ERROR_RETURN ((LM_ERROR,
- "usage: %s \n"
- "-k <ComponentServer ior> \n"
- "\n",
- argv [0]),
- -1);
- }
- // Indicates sucessful parsing of the command line
- return 0;
-}
-
-int
-main (int argc, char *argv[])
-{
- ACE_TRY_NEW_ENV
- {
- CORBA::ORB_var orb =
- CORBA::ORB_init (argc, argv, "" ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- if (parse_args (argc, argv) != 0)
- return 1;
-
- CIAO::Client_init (orb.in ());
-
- CORBA::Object_var tmp =
- orb->string_to_object(ior ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- ::Components::Deployment::ComponentServer_var comserv =
- ::Components::Deployment::ComponentServer::_narrow(tmp.in ()
- ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- if (CORBA::is_nil (comserv.in ()))
- {
- ACE_ERROR_RETURN ((LM_DEBUG,
- "Nil ServerActivator reference <%s>\n",
- ior),
- 1);
- }
-
-
- ACE_DEBUG ((LM_DEBUG, "Try creating a Container\n"));
- ::Components::ConfigValues config;
- Components::Deployment::Container_var container
- = comserv->create_container (config
- ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- // now install a fake home:
- Components::ConfigValues com_config (2);
- com_config.length (2);
-
- Components::ConfigValue *item = new OBV_Components::ConfigValue ();
-
- item->name (CORBA::string_dup ("CIAO-servant-UUID"));
- item->value () <<= CORBA::string_dup ("DCE:93D254CF-9538-44e8-BB98-AABCD134ADD3");
- com_config[0] = item;
-
- item = new OBV_Components::ConfigValue ();
- item->name (CORBA::string_dup ("CIAO-servant-entrypt"));
- item->value () <<= CORBA::string_dup ("createRateGenHome_Servant");
- com_config[1] = item;
-
- // ACE_OS::sleep (2);
-
- container->install_home ("DCE:82C2B032-37F0-4315-A59F-7020D3264E4D",
- "createRateGenHome_Impl",
- com_config
- ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- ACE_DEBUG ((LM_DEBUG, "Try removing a ComponentServer\n"));
- comserv->remove_container (container.in ()
- ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- orb->destroy (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_TRY_CHECK;
- }
- ACE_CATCHANY
- {
- ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION,
- "Exception caught:");
- return 1;
- }
- ACE_ENDTRY;
-
- return 0;
-}
diff --git a/TAO/CIAO/tools/ComponentServer/README b/TAO/CIAO/tools/ComponentServer/README
deleted file mode 100644
index 606c3e7d519..00000000000
--- a/TAO/CIAO/tools/ComponentServer/README
+++ /dev/null
@@ -1,15 +0,0 @@
-$Id$
-
-This directory contains the ComponentServer implementation and a
-simple test program called ComponentServer_test_client.
-
-ComponentServer supports the following command line flags:
-
- * -n : Do not try to call back ServerActivator. This is only useful
- when testing the server and the server is not created by a
- ServerActivator.
-
- * -o <filename> : Specify the filename ComponentServer will write
- IOR to. This is only useful when debugging also.
-
- * -d <IOR> : Specify the IOR to the ServerActivator. \ No newline at end of file
diff --git a/TAO/CIAO/tools/Daemon/CIAO_Daemon.cpp b/TAO/CIAO/tools/Daemon/CIAO_Daemon.cpp
deleted file mode 100644
index c770cde7cb0..00000000000
--- a/TAO/CIAO/tools/Daemon/CIAO_Daemon.cpp
+++ /dev/null
@@ -1,246 +0,0 @@
-// $Id$
-
-/**
- * @file CIAO_Daemon.cpp
- *
- * @brief CIAO's server activator implementation
- *
- * ServerActivator is the bootstraping mechanism to create new
- * component servers on the localhost. We currently depend on
- * starting the ServerActivator process on some specific port of all
- * the hosts that have ServerActivator install to function properly.
- */
-
-#include "ServerActivator_Impl.h"
-#include "ComponentInstallation_Impl.h"
-#include "Daemon_Impl.h"
-#include "tao/IORTable/IORTable.h"
-#include "ace/SString.h"
-#include "ace/Read_Buffer.h"
-#include "ace/Get_Opt.h"
-
-char *ior_file_name_ = "daemon.ior";
-char *comserv_path_ = "../ComponentServer/ComponentServer";
-CORBA::ULong spawn_wait_ = 5;
-char *installation_datafile_ = "CIAO_Installation_Data.ini";
-char *section_name_ = 0;
-
-int
-parse_args (int argc, char *argv[])
-{
- ACE_Get_Opt get_opts (argc, argv, "i:n:o:d:s:");
- int c;
-
- while ((c = get_opts ()) != -1)
- switch (c)
- {
- case 'o': // get the file name to write to
- ior_file_name_ = get_opts.opt_arg ();
- break;
-
- case 'n': // get the path name to the component server
- comserv_path_ = get_opts.opt_arg ();
- break;
-
- case 'd': // time to wait before we consider a ComponentServer
- // fails to start.
- spawn_wait_ = ACE_OS::atoi (get_opts.opt_arg ());
- break;
-
- case 'i': // get the name for the ComponentInstallation data file
- installation_datafile_ = get_opts.opt_arg ();
- break;
-
- case 's': // get the section name to use in ComponentInstallation data file
- section_name_ = get_opts.opt_arg ();
- break;
-
- case '?': // display help for use of the server.
- default:
- ACE_ERROR_RETURN ((LM_ERROR,
- "usage: %s\n"
- "-n <component server pathname>\n"
- "-o <ior_output_file>\n"
- "-d <time (in second) to wait for component server>\n"
- "-i <installation data filename>\n"
- "-s <section name to use in installation data file>\n"
- "\n",
- argv [0]),
- -1);
- }
-
- return 0;
-}
-
-int
-write_IOR(const char* ior)
-{
- FILE* ior_output_file_ =
- ACE_OS::fopen (ior_file_name_, "w");
-
- if (ior_output_file_)
- {
- ACE_OS::fprintf (ior_output_file_,
- "%s",
- ior);
- ACE_OS::fclose (ior_output_file_);
- }
-
- return 0;
-}
-
-int
-main (int argc, char *argv[])
-{
- ACE_TRY_NEW_ENV
- {
- // Initialize orb
- CORBA::ORB_var orb = CORBA::ORB_init (argc,
- argv
- ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- if (parse_args (argc, argv) != 0)
- return -1;
-
- // Get reference to Root POA.
- CORBA::Object_var obj
- = orb->resolve_initial_references ("RootPOA"
- ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- PortableServer::POA_var poa
- = PortableServer::POA::_narrow (obj.in ()
- ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- CORBA::Object_var table_object =
- orb->resolve_initial_references ("IORTable"
- ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- IORTable::Table_var adapter =
- IORTable::Table::_narrow (table_object.in () ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- if (CORBA::is_nil (adapter.in ()))
- {
- ACE_ERROR_RETURN ((LM_ERROR, "Nil IORTable\n"), -1);
- }
-
- // Create and install the CIAO Daemon servant
-
- CIAO::Daemon_Impl *daemon_servant = 0;
- ACE_NEW_RETURN (daemon_servant,
- CIAO::Daemon_Impl ("CIAODaemon",
- orb.in (),
- poa.in ()),
- -1);
- PortableServer::ServantBase_var safe_daemon (daemon_servant);
- // Implicit activation
- CIAO::Daemon_var daemon = daemon_servant->_this ();
-
- // Create and install the ComponentInstallation servant
-
- CIAO::ComponentInstallation_Impl *installation_servant = 0;
-
- ACE_NEW_RETURN (installation_servant,
- CIAO::ComponentInstallation_Impl (orb.in (),
- poa.in ()),
- -1);
-
- installation_servant->init (installation_datafile_,
- section_name_
- ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- PortableServer::ServantBase_var safe_installation (installation_servant);
-
- Components::Deployment::ComponentInstallation_var installation
- = installation_servant->_this ();
-
- CORBA::String_var str = orb->object_to_string (installation.in ()
- ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- adapter->bind ("ComponentInstallation", str.in () ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- if (daemon_servant->bind ("ComponentInstallation", installation.in ()) != 0)
- ACE_ERROR_RETURN ((LM_ERROR,
- "Failed to register ComponentInstallation with CIAO Daemon\n"),
- -1);
-
- // Create and install the ServerActivator servant
-
- CIAO::ServerActivator_Impl *activator_servant = 0;
-
- ACE_NEW_RETURN (activator_servant,
- CIAO::ServerActivator_Impl (orb.in (),
- poa.in ()),
- -1);
-
- activator_servant->init (comserv_path_,
- spawn_wait_,
- str.in ()
- ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- PortableServer::ServantBase_var safe_activator (activator_servant);
-
- Components::Deployment::ServerActivator_ptr activator
- = activator_servant->_ciao_get_objref ();
-
- str = orb->object_to_string (activator
- ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- adapter->bind ("ServerActivator", str.in () ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- if (daemon_servant->bind ("ServerActivator", activator) != 0)
- ACE_ERROR_RETURN ((LM_ERROR,
- "Failed to register ServerActivator with CIAO Daemon\n"),
- -1);
-
- // Now register daemon with IOR table and write its IOR.
- str = orb->object_to_string (daemon.in ()
- ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- adapter->bind ("CIAO-Daemon", str.in () ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- write_IOR (str.in ());
- ACE_DEBUG ((LM_INFO, "CIAO-Daemon IOR: %s\n", str.in ()));
-
- // Activate POA manager
- PortableServer::POAManager_var mgr
- = poa->the_POAManager (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- mgr->activate (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- // End Deployment part
-
- ACE_DEBUG ((LM_DEBUG,
- "CIAO_Daemon is running...\n"));
-
- // Run the main event loop for the ORB.
- orb->run (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_TRY_CHECK
- }
- ACE_CATCHANY
- {
- ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION,
- "server::main\t\n");
- return 1;
- }
- ACE_ENDTRY;
-
- ACE_DEBUG ((LM_DEBUG,
- "CIAO_Daemon has closed\n"));
-
- return 0;
-}
diff --git a/TAO/CIAO/tools/Daemon/CIAO_Installation_Data.ini b/TAO/CIAO/tools/Daemon/CIAO_Installation_Data.ini
deleted file mode 100644
index 259a5ec8251..00000000000
--- a/TAO/CIAO/tools/Daemon/CIAO_Installation_Data.ini
+++ /dev/null
@@ -1 +0,0 @@
-[ComponentInstallation]
diff --git a/TAO/CIAO/tools/Daemon/Daemon.idl b/TAO/CIAO/tools/Daemon/Daemon.idl
deleted file mode 100644
index 5d856ab1387..00000000000
--- a/TAO/CIAO/tools/Daemon/Daemon.idl
+++ /dev/null
@@ -1,28 +0,0 @@
-// $Id$
-
-/**
- * @file Daemon.idl
- *
- * @brief Controling interface for managing and controling CIAO daemon.
- */
-
-module CIAO
-{
- exception NotFound {};
-
- /**
- * @brief CIAO daemon process control program.
- */
- interface Daemon
- {
- // Canonical name of this daemon
- readonly attribute string name;
-
- // Acquire a specific service
- Object get_service (in string svc_name)
- raises (NotFound);
-
- // Shutdown the daemon process.
- oneway void shutdown ();
- };
-};
diff --git a/TAO/CIAO/tools/Daemon/Daemon.mpc b/TAO/CIAO/tools/Daemon/Daemon.mpc
deleted file mode 100644
index 1b6d2ceb0ca..00000000000
--- a/TAO/CIAO/tools/Daemon/Daemon.mpc
+++ /dev/null
@@ -1,35 +0,0 @@
-project(CIAO_Daemon): ciao_server {
-
- libs += TAO_IORTable
- libpaths += $(TAO_ROOT)/tao/IORTable
-
- IDL_Files {
- Daemon.idl
- }
-
- Source_Files {
- DaemonC.cpp
- DaemonS.cpp
- Daemon_Impl.cpp
- CIAO_Daemon.cpp
- }
-}
-
-project(DaemonController) : ciao_server, acexml {
-
- libs += CIAO_XML_Helpers
- libpaths += ../XML_Helpers
- depends += XML_Helpers
-
- IDL_Files {
- Daemon.idl
- }
-
- Source_Files {
- DaemonC.cpp
- DaemonController.cpp
- controller_i.cpp
- Daemon_Commands.cpp
- Softpkg_Commands.cpp
- }
-}
diff --git a/TAO/CIAO/tools/Daemon/DaemonController.cpp b/TAO/CIAO/tools/Daemon/DaemonController.cpp
deleted file mode 100644
index d89eff6c9a5..00000000000
--- a/TAO/CIAO/tools/Daemon/DaemonController.cpp
+++ /dev/null
@@ -1,56 +0,0 @@
-// $Id$
-
-/// Run with -ORBInifRef CIAODaemon=file://daemon.ior
-
-
-#include "controller_i.h"
-#include "ace/Get_Opt.h"
-
-int
-write_IOR(const char* ior)
-{
- FILE* ior_output_file_ =
- ACE_OS::fopen ("hello.ior", "w");
-
- if (ior_output_file_)
- {
- ACE_OS::fprintf (ior_output_file_,
- "%s",
- ior);
- ACE_OS::fclose (ior_output_file_);
- }
-
- return 0;
-}
-
-int
-main (int argc, char *argv[])
-{
- ACE_TRY_NEW_ENV
- {
- CIAO::Daemon_i::controller control_module;
-
- int res = control_module.init (argc, argv ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- if (res != 0)
- return -1;
-
- res = control_module.run (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- if (res != 0)
- return -1;
-
- control_module.fini ();
- }
- ACE_CATCHANY
- {
- ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION,
- "Exception caught:");
- return 1;
- }
- ACE_ENDTRY;
-
- return 0;
-}
diff --git a/TAO/CIAO/tools/Daemon/Daemon_Commands.cpp b/TAO/CIAO/tools/Daemon/Daemon_Commands.cpp
deleted file mode 100644
index 32502baaac1..00000000000
--- a/TAO/CIAO/tools/Daemon/Daemon_Commands.cpp
+++ /dev/null
@@ -1,348 +0,0 @@
-// $Id$
-
-#include "Daemon_Commands.h"
-#include "ace/Get_Opt.h"
-#include "CCM_DeploymentC.h"
-
-#if !defined (__ACE_INLINE__)
-# include "Daemon_Commands.inl"
-#endif /* __ACE_INLINE__ */
-
-//=================================================================
-
-CIAO::Daemon_i::CMD_Shutdown::~CMD_Shutdown ()
-{
-}
-
-int
-CIAO::Daemon_i::CMD_Shutdown::parse_args (int ,
- char *[]
- ACE_ENV_ARG_DECL_NOT_USED)
-{
- return 0;
-}
-
-int
-CIAO::Daemon_i::CMD_Shutdown::run (ACE_ENV_SINGLE_ARG_DECL)
-{
- this->controller_->daemon ()->shutdown (ACE_ENV_SINGLE_ARG_PARAMETER);
- return 0;
-}
-
-//=================================================================
-
-CIAO::Daemon_i::CMD_Install::~CMD_Install ()
-{
-}
-
-int
-CIAO::Daemon_i::CMD_Install::parse_args (int argc,
- char *argv[]
- ACE_ENV_ARG_DECL_NOT_USED)
-{
- ACE_Get_Opt get_opts (argc, argv, "c:l:");
- int c;
-
- while ((c = get_opts ()) != -1)
- switch (c)
- {
- case 'c':
- this->component_name_ = CORBA::string_dup (get_opts.opt_arg ());
- break;
-
- case 'l':
- this->location_ = CORBA::string_dup (get_opts.opt_arg ());
- break;
-
- case '?':
- case 'h':
- default:
- ACE_ERROR_RETURN ((LM_ERROR,
- "install: %s\n"
- "-c <component UUID>\n"
- "-l <component location>\n"
- "\n",
- argv [0]),
- -1);
- }
- // Indicates sucessful parsing of the command line
- return 0;
-}
-
-int
-CIAO::Daemon_i::CMD_Install::run (ACE_ENV_SINGLE_ARG_DECL)
-{
- CORBA::Object_var tmp =
- this->controller_->daemon ()->get_service ("ComponentInstallation"
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (-1);
-
- Components::Deployment::ComponentInstallation_var inst =
- Components::Deployment::ComponentInstallation::_narrow (tmp.in ()
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (-1);
-
- if (CORBA::is_nil (inst.in ()))
- ACE_THROW_RETURN (CORBA::INTERNAL (), -1);
-
- inst->install (this->component_name_.in (),
- this->location_.in ()
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (-1);
-
- return 0;
-}
-
-//=================================================================
-
-CIAO::Daemon_i::CMD_Uninstall::~CMD_Uninstall ()
-{
-}
-
-int
-CIAO::Daemon_i::CMD_Uninstall::parse_args (int argc,
- char *argv[]
- ACE_ENV_ARG_DECL_NOT_USED)
-{
- ACE_Get_Opt get_opts (argc, argv, "c:l:");
- int c;
-
- while ((c = get_opts ()) != -1)
- switch (c)
- {
- case 'c':
- this->component_name_ = CORBA::string_dup (get_opts.opt_arg ());
- break;
-
- case '?':
- case 'h':
- default:
- ACE_ERROR_RETURN ((LM_ERROR,
- "uninstall: %s\n"
- "-c <component UUID>\n"
- "\n",
- argv [0]),
- -1);
- }
- // Indicates sucessful parsing of the command line
- return 0;
-}
-
-int
-CIAO::Daemon_i::CMD_Uninstall::run (ACE_ENV_SINGLE_ARG_DECL)
-{
- CORBA::Object_var tmp =
- this->controller_->daemon ()->get_service ("ComponentInstallation"
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (-1);
-
- Components::Deployment::ComponentInstallation_var inst =
- Components::Deployment::ComponentInstallation::_narrow (tmp.in ()
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (-1);
-
- if (CORBA::is_nil (inst.in ()))
- ACE_THROW_RETURN (CORBA::INTERNAL (), -1);
-
- inst->remove (this->component_name_.in ()
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (-1);
-
- return 0;
-}
-
-//=================================================================
-
-CIAO::Daemon_i::CMD_Query::~CMD_Query ()
-{
-}
-
-int
-CIAO::Daemon_i::CMD_Query::parse_args (int argc,
- char *argv[]
- ACE_ENV_ARG_DECL_NOT_USED)
-{
- ACE_Get_Opt get_opts (argc, argv, "c:l:");
- int c;
-
- while ((c = get_opts ()) != -1)
- switch (c)
- {
- case 'c':
- this->component_name_ = CORBA::string_dup (get_opts.opt_arg ());
- break;
-
- case '?':
- case 'h':
- default:
- ACE_ERROR_RETURN ((LM_ERROR,
- "query: %s\n"
- "-c <component UUID>\n"
- "\n",
- argv [0]),
- -1);
- }
- // Indicates sucessful parsing of the command line
- return 0;
-}
-
-int
-CIAO::Daemon_i::CMD_Query::run (ACE_ENV_SINGLE_ARG_DECL)
-{
- CORBA::Object_var tmp =
- this->controller_->daemon ()->get_service ("ComponentInstallation"
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (-1);
-
- Components::Deployment::ComponentInstallation_var inst =
- Components::Deployment::ComponentInstallation::_narrow (tmp.in ()
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (-1);
-
- if (CORBA::is_nil (inst.in ()))
- ACE_THROW_RETURN (CORBA::INTERNAL (), -1);
-
- CORBA::String_var str =
- inst->get_implementation (this->component_name_.in ()
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (-1);
-
- ACE_DEBUG ((LM_DEBUG,
- "Implmentation for %s is located at:\n\t%s\n",
- this->component_name_.in (),
- str.in ()));
-
- return 0;
-}
-
-//=================================================================
-
-CIAO::Daemon_i::CMD_Replace::~CMD_Replace ()
-{
-}
-
-int
-CIAO::Daemon_i::CMD_Replace::parse_args (int argc,
- char *argv[]
- ACE_ENV_ARG_DECL_NOT_USED)
-{
- ACE_Get_Opt get_opts (argc, argv, "c:l:");
- int c;
-
- while ((c = get_opts ()) != -1)
- switch (c)
- {
- case 'c':
- this->component_name_ = CORBA::string_dup (get_opts.opt_arg ());
- break;
-
- case 'l':
- this->location_ = CORBA::string_dup (get_opts.opt_arg ());
- break;
-
- case '?':
- case 'h':
- default:
- ACE_ERROR_RETURN ((LM_ERROR,
- "replace: %s\n"
- "-c <component UUID>\n"
- "-l <new component location>\n"
- "\n",
- argv [0]),
- -1);
- }
- // Indicates sucessful parsing of the command line
- return 0;
-}
-
-int
-CIAO::Daemon_i::CMD_Replace::run (ACE_ENV_SINGLE_ARG_DECL)
-{
- CORBA::Object_var tmp =
- this->controller_->daemon ()->get_service ("ComponentInstallation"
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (-1);
-
- Components::Deployment::ComponentInstallation_var inst =
- Components::Deployment::ComponentInstallation::_narrow (tmp.in ()
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (-1);
-
- if (CORBA::is_nil (inst.in ()))
- ACE_THROW_RETURN (CORBA::INTERNAL (), -1);
-
- inst->replace (this->component_name_.in (),
- this->location_.in ()
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (-1);
-
- return 0;
-}
-
-//=================================================================
-
-CIAO::Daemon_i::CMD_Get_IOR::~CMD_Get_IOR ()
-{
-}
-
-int
-CIAO::Daemon_i::CMD_Get_IOR::parse_args (int argc,
- char *argv[]
- ACE_ENV_ARG_DECL_NOT_USED)
-{
- ACE_Get_Opt get_opts (argc, argv, "o:n:");
- int c;
-
- while ((c = get_opts ()) != -1)
- switch (c)
- {
- case 'n':
- this->service_name_ = CORBA::string_dup (get_opts.opt_arg ());
- break;
-
- case 'o':
- this->filename_ = CORBA::string_dup (get_opts.opt_arg ());
- break;
-
- case '?':
- case 'h':
- default:
- ACE_ERROR_RETURN ((LM_ERROR,
- "get_ior: %s\n"
- "-n service name\n"
- "-o <filename>\n"
- "\n",
- argv [0]),
- -1);
- }
- // Indicates sucessful parsing of the command line
- return 0;
-}
-
-int
-CIAO::Daemon_i::CMD_Get_IOR::run (ACE_ENV_SINGLE_ARG_DECL)
-{
- CORBA::Object_var tmp =
- this->controller_->daemon ()->get_service (this->service_name_.in ()
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (-1);
-
- if (CORBA::is_nil (tmp.in ()))
- ACE_THROW_RETURN (CIAO::NotFound (), -1);
-
- CORBA::String_var ior
- = this->controller_->orb ()->object_to_string (tmp.in ()
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (-1);
-
- ACE_DEBUG ((LM_DEBUG,
- "%s IOR: %s\n",
- this->service_name_.in (),
- ior.in ()));
-
- if (this->filename_.in () != 0)
- this->controller_->write_IOR (ior.in (),
- this->filename_.in ());
-
- return 0;
-}
diff --git a/TAO/CIAO/tools/Daemon/Daemon_Commands.h b/TAO/CIAO/tools/Daemon/Daemon_Commands.h
deleted file mode 100644
index 8692a8225e2..00000000000
--- a/TAO/CIAO/tools/Daemon/Daemon_Commands.h
+++ /dev/null
@@ -1,163 +0,0 @@
-// -*- C++ -*-
-// $Id$
-
-/**
- * @file Daemon_Commands.h
- *
- * @brief Controller command implementations for general Daemon command
- *
- * @author Nanbor Wang <nanbor@cs.wustl.edu>
- */
-
-#ifndef CIAO_DAEMON_COMMANDS_H
-#define CIAO_DAEMON_COMMANDS_H
-#include "ace/pre.h"
-
-#include "controller_i.h"
-
-#if !defined (ACE_LACKS_PRAGMA_ONCE)
-# pragma once
-#endif /* ACE_LACKS_PRAGMA_ONCE */
-
-
-namespace CIAO
-{
- namespace Daemon_i
- {
- /**
- * @class CMD_Install
- *
- * @brief Daemon command to install a component implementation.
- */
- class CMD_Install : public Command_Base
- {
- public:
- CMD_Install (controller *c);
-
- virtual ~CMD_Install ();
-
- virtual int parse_args (int argc,
- char *argv[]
- ACE_ENV_ARG_DECL_WITH_DEFAULTS);
-
- virtual int run (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS);
- private:
- CORBA::String_var component_name_;
- CORBA::String_var location_;
- };
-
- /**
- * @class CMD_Get_IOR
- *
- * @brief Daemon command that returns the IOR of some service
- * available on a daemon.
- */
- class CMD_Get_IOR : public Command_Base
- {
- public:
- CMD_Get_IOR (controller *c);
-
- virtual ~CMD_Get_IOR ();
-
- virtual int parse_args (int argc,
- char *argv[]
- ACE_ENV_ARG_DECL_WITH_DEFAULTS);
-
- virtual int run (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS);
- private:
- CORBA::String_var service_name_;
- CORBA::String_var filename_;
- };
-
- /**
- * @class CMD_Uninstall
- *
- * @brief Daemon command to uninstall a component implementation.
- */
- class CMD_Uninstall : public Command_Base
- {
- public:
- CMD_Uninstall (controller *c);
-
- virtual ~CMD_Uninstall ();
-
- virtual int parse_args (int argc,
- char *argv[]
- ACE_ENV_ARG_DECL_WITH_DEFAULTS);
-
- virtual int run (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS);
- private:
- CORBA::String_var component_name_;
- };
-
- /**
- * @class CMD_Shutdown
- *
- * @brief Daemon command to shutdown the daemon process.
- */
- class CMD_Shutdown : public Command_Base
- {
- public:
- CMD_Shutdown (controller *c);
-
- virtual ~CMD_Shutdown ();
-
- virtual int parse_args (int argc,
- char *argv[]
- ACE_ENV_ARG_DECL_WITH_DEFAULTS);
-
- virtual int run (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS);
- };
-
- /**
- * @class CMD_Shutdown
- *
- * @brief Daemon command to replace an component implementation with another one.
- */
- class CMD_Replace : public Command_Base
- {
- public:
- CMD_Replace (controller *c);
-
- virtual ~CMD_Replace ();
-
- virtual int parse_args (int argc,
- char *argv[]
- ACE_ENV_ARG_DECL_WITH_DEFAULTS);
-
- virtual int run (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS);
- private:
- CORBA::String_var component_name_;
- CORBA::String_var location_;
- };
-
- /**
- * @class CMD_Shutdown
- *
- * @brief Daemon command for quering the location of an installed component.
- */
- class CMD_Query : public Command_Base
- {
- public:
- CMD_Query (controller *c);
-
- virtual ~CMD_Query ();
-
- virtual int parse_args (int argc,
- char *argv[]
- ACE_ENV_ARG_DECL_WITH_DEFAULTS);
-
- virtual int run (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS);
- private:
- CORBA::String_var component_name_;
- };
- }
-}
-
-
-#if defined (__ACE_INLINE__)
-# include "Daemon_Commands.inl"
-#endif /* __ACE_INLINE__ */
-
-#include "ace/post.h"
-#endif /* CIAO_DAEMON_COMMAND_H */
diff --git a/TAO/CIAO/tools/Daemon/Daemon_Commands.inl b/TAO/CIAO/tools/Daemon/Daemon_Commands.inl
deleted file mode 100644
index 7400f5c84ef..00000000000
--- a/TAO/CIAO/tools/Daemon/Daemon_Commands.inl
+++ /dev/null
@@ -1,38 +0,0 @@
-// -*- C++ -*-
-// $Id$
-
-ACE_INLINE
-CIAO::Daemon_i::CMD_Install::CMD_Install (CIAO::Daemon_i::controller *c)
- : Command_Base (c)
-{
-}
-
-ACE_INLINE
-CIAO::Daemon_i::CMD_Uninstall::CMD_Uninstall (CIAO::Daemon_i::controller *c)
- : Command_Base (c)
-{
-}
-
-ACE_INLINE
-CIAO::Daemon_i::CMD_Query::CMD_Query (CIAO::Daemon_i::controller *c)
- : Command_Base (c)
-{
-}
-
-ACE_INLINE
-CIAO::Daemon_i::CMD_Replace::CMD_Replace (CIAO::Daemon_i::controller *c)
- : Command_Base (c)
-{
-}
-
-ACE_INLINE
-CIAO::Daemon_i::CMD_Get_IOR::CMD_Get_IOR (CIAO::Daemon_i::controller *c)
- : Command_Base (c)
-{
-}
-
-ACE_INLINE
-CIAO::Daemon_i::CMD_Shutdown::CMD_Shutdown (CIAO::Daemon_i::controller *c)
- : Command_Base (c)
-{
-}
diff --git a/TAO/CIAO/tools/Daemon/Daemon_Impl.cpp b/TAO/CIAO/tools/Daemon/Daemon_Impl.cpp
deleted file mode 100644
index 69dbd9d0708..00000000000
--- a/TAO/CIAO/tools/Daemon/Daemon_Impl.cpp
+++ /dev/null
@@ -1,113 +0,0 @@
-// $Id$
-
-#include "Daemon_Impl.h"
-
-#if !defined (__ACE_INLINE__)
-# include "Daemon_Impl.inl"
-#endif /* __ACE_INLINE__ */
-
-CIAO::Daemon_Impl::~Daemon_Impl ()
-{
- for (Iterator i = this->table_.begin ();
- i != this->table_.end ();
- ++i)
- {
- // Deallocate the id.
- CORBA::string_free (ACE_const_cast (char *, (*i).ext_id_));
-
- // Release the Object.
- CORBA::release ((*i).int_id_);
- }
-
- this->table_.unbind_all ();
-}
-
-PortableServer::POA_ptr
-CIAO::Daemon_Impl::_default_POA (void)
-{
- return PortableServer::POA::_duplicate (this->poa_.in ());
-}
-
-char *
-CIAO::Daemon_Impl::name (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- return CORBA::string_dup (this->name_.in ());
-}
-
-CORBA::Object_ptr
-CIAO::Daemon_Impl::get_service (const char * svc_name
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- CIAO::NotFound))
-{
- CORBA::Object_ptr found = CORBA::Object::_nil ();
-
- this->table_.find (svc_name, found);
-
- if (CORBA::is_nil (found))
- ACE_THROW_RETURN (CIAO::NotFound (), 0);
-
- return CORBA::Object::_duplicate (found);
-}
-
-void
-CIAO::Daemon_Impl::shutdown (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- this->orb_->shutdown (0 ACE_ENV_SINGLE_ARG_PARAMETER);
-}
-
-int
-CIAO::Daemon_Impl::bind (const char *id,
- CORBA::Object_ptr obj)
-{
- // Make sure that the supplied Object reference is valid,
- // i.e. not nil.
- if (id == 0 || CORBA::is_nil (obj))
- {
- errno = EINVAL;
- return -1;
- };
-
- CORBA::String_var name = CORBA::string_dup (id);
- CORBA::Object_var object = CORBA::Object::_duplicate (obj);
-
- int result = this->table_.bind (name.in (),
- object.in ());
-
- if (result == 0)
- {
- // Transfer ownership to the Object Table.
- (void) name._retn ();
- (void) object._retn ();
- }
-
- return result;
-}
-
-int
-CIAO::Daemon_Impl::unbind (const char *id)
-{
- Table::ENTRY *entry = 0;
-
- int result = this->table_.find (id, entry);
-
- if (result == 0)
- {
- // Deallocate the external ID and obtain the ORB core pointer
- // before unbinding the entry since the entry is deallocated
- // during the call to unbind().
- CORBA::string_free (ACE_const_cast (char *, entry->ext_id_));
- CORBA::Object_ptr obj = entry->int_id_;
-
- result = this->table_.unbind (entry);
-
- if (result != 0)
- return result;
-
- CORBA::release (obj);
- }
-
- return result;
-}
diff --git a/TAO/CIAO/tools/Daemon/Daemon_Impl.h b/TAO/CIAO/tools/Daemon/Daemon_Impl.h
deleted file mode 100644
index a9cf15fa40a..00000000000
--- a/TAO/CIAO/tools/Daemon/Daemon_Impl.h
+++ /dev/null
@@ -1,104 +0,0 @@
-// -*- C++ -*-
-
-//=============================================================================
-/**
- * @file Daemon_Impl.h
- *
- * $Id$
- *
- * This file contains servant implementation for CIAO's daemon process control
- * interface.
- *
- * @author Nanbor Wang <nanbor@cs.wustl.edu>
- */
-//=============================================================================
-
-
-#ifndef CIAO_DAEMON_IMPL_H
-#define CIAO_DAEMON_IMPL_H
-#include "ace/pre.h"
-
-#include "DaemonS.h"
-
-#if !defined (ACE_LACKS_PRAGMA_ONCE)
-# pragma once
-#endif /* ACE_LACKS_PRAGMA_ONCE */
-
-#include "ace/Synch.h"
-#include "ace/Hash_Map_Manager_T.h"
-#include "ace/Functor.h"
-
-namespace CIAO
-{
- /**
- * @class Daemon_Impl
- *
- * @brief Servant implementation CIAO's daemon process control interface
- *
- * This class implements the CIAO:Daemon interface. We use this interface
- * to acquire the
- */
- class Daemon_Impl
- : public virtual POA_CIAO::Daemon,
- public virtual PortableServer::RefCountServantBase
- {
- public:
-
- /// Constructor
- Daemon_Impl (const char *name,
- CORBA::ORB_ptr o,
- PortableServer::POA_ptr p);
-
- /// Destructor
- virtual ~Daemon_Impl (void);
-
- /// Get the containing POA. This operation does *not*
- /// increase the reference count of the POA.
- virtual PortableServer::POA_ptr _default_POA (void);
-
- /// CIAO::Daemon defined attributes/operations.
-
- virtual char * name (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- virtual CORBA::Object_ptr get_service (const char * svc_name
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- CIAO::NotFound));
-
- virtual void shutdown (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- /**
- * @name CIAO::Daemon_Impl internal operations using the
- * canonical ACE_Map methods
- */
- //@{
- int bind (const char *orb_id, CORBA::Object_ptr obj);
- int unbind (const char *orb_id);
- //@}
-
- protected:
- typedef ACE_Hash_Map_Manager_Ex<const char *, CORBA::Object_ptr, ACE_Hash<const char *>, ACE_Equal_To<const char *>, TAO_SYNCH_MUTEX> Table;
- typedef Table::iterator Iterator;
-
- /// Keep a pointer to the managing ORB serving this servant.
- CORBA::ORB_var orb_;
-
- /// Keep a pointer to the managing POA.
- PortableServer::POA_var poa_;
-
- /// My Canonical name.
- CORBA::String_var name_;
-
- /// Internal object hash table.
- Table table_;
- };
-}
-
-#if defined (__ACE_INLINE__)
-# include "Daemon_Impl.inl"
-#endif /* __ACE_INLINE__ */
-
-#include "ace/post.h"
-#endif /* CIAO_DAEMON_IMPL_H */
diff --git a/TAO/CIAO/tools/Daemon/Daemon_Impl.inl b/TAO/CIAO/tools/Daemon/Daemon_Impl.inl
deleted file mode 100644
index e2b4e9b3564..00000000000
--- a/TAO/CIAO/tools/Daemon/Daemon_Impl.inl
+++ /dev/null
@@ -1,12 +0,0 @@
-/* -*- C++ -*- */
-// $Id$
-
-ACE_INLINE
-CIAO::Daemon_Impl::Daemon_Impl (const char *name,
- CORBA::ORB_ptr o,
- PortableServer::POA_ptr p)
- : orb_ (CORBA::ORB::_duplicate (o)),
- poa_ (PortableServer::POA::_duplicate (p)),
- name_ (CORBA::string_dup (name))
-{
-}
diff --git a/TAO/CIAO/tools/Daemon/README b/TAO/CIAO/tools/Daemon/README
deleted file mode 100644
index c089665c782..00000000000
--- a/TAO/CIAO/tools/Daemon/README
+++ /dev/null
@@ -1,99 +0,0 @@
-$Id$
-
-CIAO_Daemon:
-============
-
-This directory contains CIAO's per-host daemon process implementation
-- CIAO_Daemon. It includes implementations for two major CCM
-interfaces, namely, ComponentImplementation and ServerActivation.
-ComponentInstallation interfaces must be available per-host so all
-ComponentServer running on the same host can query it to acquire
-component impolementations they need. Likewise, ServerActivator
-interacts with CCM's Assembly framework and is responsible to start up
-new ComponentServer processes on this host.
-
-The Daemon process registers three simple ObjectKey, "CIAODaemon",
-"ComponentInstallation", and "ServerActivator" to the IORTable, so if you
-start up the CIAO_Daemon process on a fixed endpoint like:
-
- CIAO_Daemon -ORBEndpoint iiop://hostname:13000
-
-You can get to any of the three interfaces using one of the following
-IOR:
-
- corbaloc:iiop:hostname:13000/CIAODaemon
- corbaloc:iiop:hostname:13000/ComponentInstallation
- corbaloc:iiop:hostname:13000/ServerActivator
-
-
-Other command line flags supported by ServerActivator include:
-
- * -o <filename> : Specify the filename where CIAO_Daemon
- writes the IOR of the Daemon interface to. By
- default, it writes to "daemon.ior".
- DaemonController uses the IOR to get the object
- refrence to interact with the Daemon process.
-
- * -n <pathname> : Specify the pathname to a ComponentServer
- program that ServerActivator uses to
- startup a ComponentServer process.
-
- * -d <second> : Specify the time, in second, ServerActivator will
- wait for the ComponentServer to callback to notify
- ServerActivator their IOR. ServerActivator
- considers the activation fails if the
- ComponentServer does not call back in time.
-
- * -i : Specify the name of the datafile ComponentInstallation
- interface uses to keep the persistent installation data. By
- default, CIAO_Daemon uses the file
- "CIAO_Installation_Data.ini". This file (even if empty) must
- exist before the process starts.
-
- * -s : Specify the Section name within the persistent data file the
- ComponentInstallation uses to retrieve and backup the
- installation data. Changing this name allows us to switch
- among various sets of component implementations easily just
- by restarting the daemon process. By default, CIAO_Daemon
- uses the name "ComponentInstallation" if this flag is not
- specified.
-
-
-DaemonController:
-=================
-
-This is a small command line utility program for interacting with the
-CIAO_Daemon process. It offers two major function groups thru 6
-commands:
-
- * General daemon process control:
-
- - get_ior: use this command to query the IOR of any service
- interfaces running on the daemon process and store the IOR into
- a specified file.
-
- - shutdown: use this command to shutdown the daemon process.
-
-
- * ComponentInstallation related control:
-
- - install: to install a new location of a component
- implementation
-
- - uninstall: to remove a location of a component implementation
-
- - replace: to replace an existing compoment implementaion
- location with a new one
-
- - query: to query the location of a component implementation
-
-This program uses resolve_initial_references ("CIAODaemon") to acqurie
-the daemon control interface, so you must provide the reference to the
-program somehow. For example:
-
- DaemonController -ORBInitRef CIAODaemon=file://daemon.ior <command> [command options]
-
-To check the parameter required for each of the commands listed above,
-just append the -h command option flag, such as:
-
- DaemonController -ORBInitRef CIAODaemon=file://daemon.ior install -h
diff --git a/TAO/CIAO/tools/Daemon/Softpkg_Commands.cpp b/TAO/CIAO/tools/Daemon/Softpkg_Commands.cpp
deleted file mode 100644
index 54c722c5d3e..00000000000
--- a/TAO/CIAO/tools/Daemon/Softpkg_Commands.cpp
+++ /dev/null
@@ -1,223 +0,0 @@
-// $Id$
-
-#include "Softpkg_Commands.h"
-#include "ace/Get_Opt.h"
-#include "CCM_DeploymentC.h"
-#include "../XML_Helpers/XML_Utils.h"
-
-#if !defined (__ACE_INLINE__)
-# include "Softpkg_Commands.inl"
-#endif /* __ACE_INLINE__ */
-
-//=================================================================
-
-CIAO::Daemon_i::CMD_Start_Home::~CMD_Start_Home ()
-{
-}
-
-int
-CIAO::Daemon_i::CMD_Start_Home::parse_args (int argc,
- char *argv[]
- ACE_ENV_ARG_DECL_NOT_USED)
-{
- ACE_Get_Opt get_opts (argc, argv, "s:m:c:");
- int c;
-
- while ((c = get_opts ()) != -1)
- switch (c)
- {
- case 's':
- this->softpkg_filename_ = CORBA::string_dup (get_opts.opt_arg ());
- break;
-
- case 'm':
- this->home_ior_filename_ = CORBA::string_dup (get_opts.opt_arg ());
- break;
-
- case 'c':
- this->com_server_ior_filename_ = CORBA::string_dup (get_opts.opt_arg ());
- break;
-
- case '?':
- case 'h':
- default:
- this->print_usage (argv[0]);
- return -1;
- }
- // Indicates sucessful parsing of the command line
- if (this->home_ior_filename_.in () == 0 ||
- this->com_server_ior_filename_.in () == 0)
- {
- this->print_usage (argv[0]);
- return -1;
- }
-
- return 0;
-}
-
-void
-CIAO::Daemon_i::CMD_Start_Home::print_usage (const char *name) const
-{
- ACE_ERROR ((LM_ERROR,
- "start_home: %s\n"
- "-s <softpkg filename to install>\n"
- "-m <CCMHome IOR output filename>\n"
- "-c <ComponentServer IOR output filename>\n"
- "-? this help\n"
- "\n",
- name));
-}
-
-int
-CIAO::Daemon_i::CMD_Start_Home::run (ACE_ENV_SINGLE_ARG_DECL)
-{
- CIAO::Softpkg_Handler::Softpkg_Info info;
- info.csd_path_ = this->softpkg_filename_.in ();
-
- if (CIAO::XML_Utils::parse_softpkg (&info) == 0)
- {
- // info.dump (); // For debug purpose.
- CORBA::Object_var tmp =
- this->controller_->daemon ()->get_service ("ServerActivator"
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (-1);
-
- Components::Deployment::ServerActivator_var activator =
- Components::Deployment::ServerActivator::_narrow (tmp.in ()
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (-1);
-
- if (CORBA::is_nil (activator.in ()))
- ACE_THROW_RETURN (CORBA::INTERNAL (), -1);
-
- Components::ConfigValues server_config;
- // @@ Nothing to config yet.
-
- Components::Deployment::ComponentServer_var com_server =
- activator->create_component_server (server_config
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (-1);
-
- CORBA::String_var ior =
- this->controller_->orb ()->object_to_string (com_server.in ()
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (-1);
-
- this->controller_->write_IOR (ior.in (),
- this->com_server_ior_filename_.in ());
-
- // Write IOR of newly created ComponentServer immediately.
-
- Components::ConfigValues container_config;
- // @@ Should we get the config value from Softpkg_Info?
- Components::Deployment::Container_var container =
- com_server->create_container (container_config
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (-1);
-
- Components::ConfigValues home_config;
- // Setting home config value here:
- home_config.length (2);
- Components::ConfigValue *item = new OBV_Components::ConfigValue ();
-
- item->name (CORBA::string_dup ("CIAO-servant-UUID"));
- item->value () <<= CORBA::string_dup (info.servant_UUID_.c_str ());
- home_config[0] = item;
-
- item = new OBV_Components::ConfigValue ();
- item->name (CORBA::string_dup ("CIAO-servant-entrypt"));
- item->value () <<= CORBA::string_dup (info.servant_entrypt_.c_str ());
- home_config[1] = item;
-
- Components::CCMHome_var home =
- container->install_home (info.executor_UUID_.c_str (),
- info.executor_entrypt_.c_str (),
- home_config
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (-1);
-
- ior =
- this->controller_->orb ()->object_to_string (home.in ()
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (-1);
-
- this->controller_->write_IOR (ior.in (),
- this->home_ior_filename_.in ());
- }
-
- return 0;
-}
-
-//=================================================================
-
-CIAO::Daemon_i::CMD_End_Home::~CMD_End_Home ()
-{
-}
-
-int
-CIAO::Daemon_i::CMD_End_Home::parse_args (int argc,
- char *argv[]
- ACE_ENV_ARG_DECL_NOT_USED)
-{
- ACE_Get_Opt get_opts (argc, argv, "s:m:c:");
- int c;
-
- while ((c = get_opts ()) != -1)
- switch (c)
- {
- case 'c':
- this->com_server_ior_ = CORBA::string_dup (get_opts.opt_arg ());
- break;
-
- case '?':
- case 'h':
- default:
- this->print_usage (argv[0]);
- return -1;
- }
- // Indicates sucessful parsing of the command line
- if (this->com_server_ior_.in () == 0)
- {
- this->print_usage (argv[0]);
- return -1;
- }
-
- return 0;
-}
-
-void
-CIAO::Daemon_i::CMD_End_Home::print_usage (const char *name) const
-{
- ACE_ERROR ((LM_ERROR,
- "end_home: %s\n"
- "-c <ComponentServer IOR>\n"
- "-? this help\n"
- "\n",
- name));
-}
-
-int
-CIAO::Daemon_i::CMD_End_Home::run (ACE_ENV_SINGLE_ARG_DECL)
-{
- CORBA::Object_var tmp =
- this->controller_->orb ()->string_to_object (this->com_server_ior_.in ()
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (-1);
-
- Components::Deployment::ComponentServer_var server =
- Components::Deployment::ComponentServer::_narrow (tmp.in ()
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (-1);
-
- Components::Deployment::ServerActivator_var activator =
- server->get_server_activator (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_CHECK_RETURN (-1);
-
- activator->remove_component_server (server.in ()
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (-1);
-
- return 0;
-}
-
-//=================================================================
diff --git a/TAO/CIAO/tools/Daemon/Softpkg_Commands.h b/TAO/CIAO/tools/Daemon/Softpkg_Commands.h
deleted file mode 100644
index 1137269a952..00000000000
--- a/TAO/CIAO/tools/Daemon/Softpkg_Commands.h
+++ /dev/null
@@ -1,89 +0,0 @@
-// -*- C++ -*-
-// $Id$
-
-/**
- * @file Softpkg_Commands.h
- *
- * @brief Controller commands implementations for creating and
- * removing component server for a single home in a softpkg.
- *
- * @author Nanbor Wang <nanbor@cs.wustl.edu>
- */
-
-#ifndef CIAO_SOFTPKG_COMMANDS_H
-#define CIAO_SOFTPKG_COMMANDS_H
-#include "ace/pre.h"
-
-#include "controller_i.h"
-
-#if !defined (ACE_LACKS_PRAGMA_ONCE)
-# pragma once
-#endif /* ACE_LACKS_PRAGMA_ONCE */
-
-
-namespace CIAO
-{
- namespace Daemon_i
- {
- /**
- * @class CMD_Start_Home
- *
- * @brief Daemon command to start up a component server for hosting
- * a component home as specified in a softpkg descriptor.
- */
- class CMD_Start_Home : public Command_Base
- {
- public:
- CMD_Start_Home (controller *c);
-
- virtual ~CMD_Start_Home ();
-
- virtual int parse_args (int argc,
- char *argv[]
- ACE_ENV_ARG_DECL_WITH_DEFAULTS);
-
- virtual int run (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS);
-
- void print_usage (const char *name) const;
-
- private:
- CORBA::String_var softpkg_filename_;
-
- CORBA::String_var home_ior_filename_;
-
- CORBA::String_var com_server_ior_filename_;
- };
-
- /**
- * @class CMD_End_Home
- *
- * @brief Daemon command to end a component server that hosts a component home.
- */
- class CMD_End_Home : public Command_Base
- {
- public:
- CMD_End_Home (controller *c);
-
- virtual ~CMD_End_Home ();
-
- virtual int parse_args (int argc,
- char *argv[]
- ACE_ENV_ARG_DECL_WITH_DEFAULTS);
-
- virtual int run (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS);
-
- void print_usage (const char *name) const;
-
- private:
- CORBA::String_var com_server_ior_;
- };
- }
-}
-
-
-#if defined (__ACE_INLINE__)
-# include "Softpkg_Commands.inl"
-#endif /* __ACE_INLINE__ */
-
-#include "ace/post.h"
-#endif /* CIAO_SOFTPKG_COMMANDS_H */
diff --git a/TAO/CIAO/tools/Daemon/Softpkg_Commands.inl b/TAO/CIAO/tools/Daemon/Softpkg_Commands.inl
deleted file mode 100644
index 9c717bccde1..00000000000
--- a/TAO/CIAO/tools/Daemon/Softpkg_Commands.inl
+++ /dev/null
@@ -1,14 +0,0 @@
-// -*- C++ -*-
-// $Id$
-
-ACE_INLINE
-CIAO::Daemon_i::CMD_Start_Home::CMD_Start_Home (CIAO::Daemon_i::controller *c)
- : Command_Base (c)
-{
-}
-
-ACE_INLINE
-CIAO::Daemon_i::CMD_End_Home::CMD_End_Home (CIAO::Daemon_i::controller *c)
- : Command_Base (c)
-{
-}
diff --git a/TAO/CIAO/tools/Daemon/controller_i.cpp b/TAO/CIAO/tools/Daemon/controller_i.cpp
deleted file mode 100644
index 54f515b4876..00000000000
--- a/TAO/CIAO/tools/Daemon/controller_i.cpp
+++ /dev/null
@@ -1,138 +0,0 @@
-// $Id$
-
-#include "controller_i.h"
-#include "Daemon_Commands.h"
-#include "Softpkg_Commands.h"
-#include "Client_init.h"
-#include "ace/Get_Opt.h"
-#include "CCM_DeploymentC.h"
-
-#if !defined (__ACE_INLINE__)
-# include "controller_i.inl"
-#endif /* __ACE_INLINE__ */
-
-void
-CIAO::Daemon_i::controller::print_usage (void)
-{
- ACE_ERROR ((LM_ERROR,
- "Usage: DaemonController [options] command [command-arguments]\n"
- " where [options] are ORB options\n"
- " where command is one of the following:\n"
- " install Install a component into the ComponentInstallation\n"
- " get_ior get the IOR of a service supported by this daemon\n"
- " uninstall Ininstall a component from the ComponentInstallation\n"
- " shutdown Shuts down the Daemon process\n"
- " replace Replace a component with another one\n"
- " query Show the location of a component in the ComponentInstallation\n"
- " start_home Start up a ComponentServer and install a component home\n"
- " end_home Terminate a ComponentServer and remove the home and components\n"
- " where [command-arguments] depend on the command\n"));
-}
-
-int
-CIAO::Daemon_i::controller::write_IOR(const char* ior,
- const char *filename)
-{
- FILE* ior_output_file_ =
- ACE_OS::fopen (filename, "w");
-
- if (ior_output_file_)
- {
- ACE_OS::fprintf (ior_output_file_,
- "%s",
- ior);
- ACE_OS::fclose (ior_output_file_);
- }
-
- return 0;
-}
-
-int
-CIAO::Daemon_i::controller::parse_args (int argc, char *argv[] ACE_ENV_ARG_DECL)
-{
- // Make sure one command was given
- if (argc < 2)
- {
- this->print_usage ();
- return -1;
- }
-
- const char *op_name = argv[1];
-
- if (ACE_OS::strcasecmp (op_name, ACE_TEXT ("install")) == 0)
- this->cmd_ = new CIAO::Daemon_i::CMD_Install (this);
- else if (ACE_OS::strcasecmp (op_name, ACE_TEXT ("get_ior")) == 0)
- this->cmd_ = new CIAO::Daemon_i::CMD_Get_IOR (this);
- else if (ACE_OS::strcasecmp (op_name, ACE_TEXT ("uninstall")) == 0)
- this->cmd_ = new CIAO::Daemon_i::CMD_Uninstall (this);
- else if (ACE_OS::strcasecmp (op_name, ACE_TEXT ("shutdown")) == 0)
- this->cmd_ = new CIAO::Daemon_i::CMD_Shutdown (this);
- else if (ACE_OS::strcasecmp (op_name, ACE_TEXT ("replace")) == 0)
- this->cmd_ = new CIAO::Daemon_i::CMD_Replace (this);
- else if (ACE_OS::strcasecmp (op_name, ACE_TEXT ("query")) == 0)
- this->cmd_ = new CIAO::Daemon_i::CMD_Query (this);
- else if (ACE_OS::strcasecmp (op_name, ACE_TEXT ("start_home")) == 0)
- this->cmd_ = new CIAO::Daemon_i::CMD_Start_Home (this);
- else if (ACE_OS::strcasecmp (op_name, ACE_TEXT ("end_home")) == 0)
- this->cmd_ = new CIAO::Daemon_i::CMD_End_Home (this);
- else
- {
- this->print_usage ();
- return -1;
- }
-
- if (this->cmd_ == 0)
- return -1;
-
- return this->cmd_->parse_args (argc - 1, argv + 1);
-}
-
-int
-CIAO::Daemon_i::controller::init (int argc,
- char *argv[]
- ACE_ENV_ARG_DECL)
-{
- this->orb_ =
- CORBA::ORB_init (argc, argv, "" ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (-1);
-
- CIAO::Client_init (this->orb_.in ());
-
- CORBA::Object_var obj = this->orb_->resolve_initial_references ("CIAODaemon"
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (-1);
-
- this->daemon_ = CIAO::Daemon::_narrow (obj.in ()
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (-1);
-
- if (CORBA::is_nil (this->daemon_.in ()))
- return -1;
-
- if (this->parse_args (argc, argv) != 0)
- return -1;
-
- return 0;
-}
-
-int
-CIAO::Daemon_i::controller::run (ACE_ENV_SINGLE_ARG_DECL)
-{
- this->cmd_->run (ACE_ENV_SINGLE_ARG_PARAMETER);
- return 0;
-}
-
-int
-CIAO::Daemon_i::controller::fini (void)
-{
- this->orb_->destroy ();
- delete this->cmd_;
- this->cmd_ = 0;
- return 0;
-}
-
-//=================================================================
-
-CIAO::Daemon_i::Command_Base::~Command_Base ()
-{
-}
diff --git a/TAO/CIAO/tools/Daemon/controller_i.h b/TAO/CIAO/tools/Daemon/controller_i.h
deleted file mode 100644
index 2261ee9574c..00000000000
--- a/TAO/CIAO/tools/Daemon/controller_i.h
+++ /dev/null
@@ -1,119 +0,0 @@
-// -*- C++ -*-
-// $Id$
-
-/**
- * @file controller_i.h
- *
- * @brief Controller command implementations for CIAO's daemon controller.
- *
- * @author Nanbor Wang <nanbor@cs.wustl.edu>
- */
-
-#ifndef CIAO_CONTROLLER_I_H
-#define CIAO_CONTROLLER_I_H
-#include "ace/pre.h"
-
-#include "DaemonC.h"
-
-#if !defined (ACE_LACKS_PRAGMA_ONCE)
-# pragma once
-#endif /* ACE_LACKS_PRAGMA_ONCE */
-
-namespace CIAO
-{
- namespace Daemon_i
- {
- class Command_Base;
-
- /**
- * @class controller
- *
- * @brief Daemon Controller.
- */
- class controller
- {
- public:
- controller (void);
-
- ~controller (void);
-
- int parse_args (int argc, char *argv[] ACE_ENV_ARG_DECL_WITH_DEFAULTS);
-
- int init (int argc,
- char *argv[]
- ACE_ENV_ARG_DECL_WITH_DEFAULTS);
-
- int run (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS);
-
- int fini (void);
-
- void print_usage (void);
-
- int write_IOR (const char *ior,
- const char *filename);
-
- /// Does not increase reference count.
- Daemon_ptr daemon ();
- CORBA::ORB_ptr orb ();
-
- protected:
- CORBA::ORB_var orb_;
-
- Command_Base *cmd_;
-
- Daemon_var daemon_;
- };
-
- /**
- * @class Command
- *
- * @brief Abstract base for CIAO daemon controller supported commands.
- */
- class Command
- {
- public:
- Command (controller *c);
-
- virtual ~Command () = 0;
-
- virtual int parse_args (int argc,
- char *argv[]
- ACE_ENV_ARG_DECL_WITH_DEFAULTS) = 0;
-
- virtual int run (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) = 0;
-
- protected:
- controller *controller_;
- };
-
- /**
- * @class Command_Base
- *
- * @brief Abstract base for CIAO daemon controller supported commands.
- */
- class Command_Base
- {
- public:
- Command_Base (controller *c);
-
- virtual ~Command_Base () = 0;
-
- virtual int parse_args (int argc,
- char *argv[]
- ACE_ENV_ARG_DECL_WITH_DEFAULTS) = 0;
-
- virtual int run (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) = 0;
-
- protected:
- controller *controller_;
- };
- }
-}
-
-
-#if defined (__ACE_INLINE__)
-# include "controller_i.inl"
-#endif /* __ACE_INLINE__ */
-
-#include "ace/post.h"
-#endif /* CIAO_CONTROLLER_I_H */
diff --git a/TAO/CIAO/tools/Daemon/controller_i.inl b/TAO/CIAO/tools/Daemon/controller_i.inl
deleted file mode 100644
index edc71a0d4ab..00000000000
--- a/TAO/CIAO/tools/Daemon/controller_i.inl
+++ /dev/null
@@ -1,32 +0,0 @@
-// -*- C++ -*-
-// $Id$
-
-ACE_INLINE
-CIAO::Daemon_i::controller::controller ()
- : cmd_ (0)
-{
-}
-
-ACE_INLINE
-CIAO::Daemon_i::controller::~controller ()
-{
- // this->fini ();
-}
-
-ACE_INLINE CIAO::Daemon_ptr
-CIAO::Daemon_i::controller::daemon (void)
-{
- return this->daemon_.in ();
-}
-
-ACE_INLINE CORBA::ORB_ptr
-CIAO::Daemon_i::controller::orb (void)
-{
- return this->orb_.in ();
-}
-
-ACE_INLINE
-CIAO::Daemon_i::Command_Base::Command_Base (CIAO::Daemon_i::controller *c)
- : controller_ (c)
-{
-}
diff --git a/TAO/CIAO/tools/ServerActivator/README b/TAO/CIAO/tools/ServerActivator/README
deleted file mode 100644
index 1335c11b1a7..00000000000
--- a/TAO/CIAO/tools/ServerActivator/README
+++ /dev/null
@@ -1,47 +0,0 @@
-$Id$
-
-This directory contains an implementation of ServerActivator, which is
-the per-host daemon process CIAO's deployment and assembling framework
-uses to spawn new component servers on the host. CIAO currently does
-not define how the deployment and assembling framework can locate
-ServerActivator's so it is recommended that you start up all your
-ServerActivator processes at a specific host.
-
-The ServerActivator implementation registers a simple ObjectKey
-"ServerActivator" to the IORTable, so if you start up the
-ServerActivator process with:
-
- ServerActivator -ORBEndpoint iiop://hostname:13000
-
-You can get to the ServerActivator interface using the following
-IOR:
-
- corbaloc:iiop:hostname:13000/ServerActivator
-
-
-Other command line flags supported by ServerActivator include:
-
- * -n <pathname> : Specify the pathname ServerActivator uses to
- startup a ComponentServer process.
-
- * -o <filename> : Specify the filename ServerActivator uses to
- write the IOR.
-
- * -i <ior> : Specify the IOR for the ComponentInstallation interface.
- It will be passed as
-
- "-ORBInitRef ComponentInstallation=<ior>"
-
- command line options to the ComponentServer.
-
- * -d <second> : Specify the time, in second, ServerActivator will
- wait for the ComponentServer to callback to notify
- ServerActivator their IOR. ServerActivator
- considers the activation fails if the
- ComponentServer does not call back in time.
-
- * -c : Try creating a container and install a home.
-
-There is also a simple test program in this directory called
-ServerActivator_test_client. It is used to debug ServerActivator
-implementation. \ No newline at end of file
diff --git a/TAO/CIAO/tools/ServerActivator/ServerActivator.cpp b/TAO/CIAO/tools/ServerActivator/ServerActivator.cpp
deleted file mode 100644
index de928a9a65e..00000000000
--- a/TAO/CIAO/tools/ServerActivator/ServerActivator.cpp
+++ /dev/null
@@ -1,179 +0,0 @@
-// $Id$
-
-/**
- * @file Server_Activator.cpp
- *
- * @brief CIAO's server activator implementation
- *
- * ServerActivator is the bootstraping mechanism to create new
- * component servers on the localhost. We currently depend on
- * starting the ServerActivator process on some specific port of all
- * the hosts that have ServerActivator install to function properly.
- */
-
-#include "ServerActivator_Impl.h"
-#include "tao/IORTable/IORTable.h"
-#include "ace/SString.h"
-#include "ace/Read_Buffer.h"
-#include "ace/Get_Opt.h"
-
-char *ior_file_name_ = 0;
-char *comserv_path_ = "../ComponentServer/ComponentServer";
-char *installation_ior_ = 0;
-CORBA::ULong spawn_wait_ = 5;
-
-int
-parse_args (int argc, char *argv[])
-{
- ACE_Get_Opt get_opts (argc, argv, "n:o:d:i:");
- int c;
-
- while ((c = get_opts ()) != -1)
- switch (c)
- {
- case 'o': // get the file name to write to
- ior_file_name_ = get_opts.opt_arg ();
- break;
-
- case 'n': // get the path name to the component server
- comserv_path_ = get_opts.opt_arg ();
- break;
-
- case 'd': // get the path name to the component server
- spawn_wait_ = ACE_OS::atoi (get_opts.opt_arg ());
- break;
-
- case 'i': // get the ior to a ComponentInstallation interface
- installation_ior_ = get_opts.opt_arg ();
- break;
-
- case '?': // display help for use of the server.
- default:
- ACE_ERROR_RETURN ((LM_ERROR,
- "usage: %s"
- "-n <component server pathname>"
- "-o <ior_output_file>"
- "-d <time (in second) to wait for component server>"
- "\n",
- argv [0]),
- -1);
- }
-
- if (installation_ior_ == 0)
- ACE_ERROR_RETURN ((LM_ERROR,
- "An IOR to a ComponentInstallation interface is needed."
- " Specified with \"-i <ior>\"\n"),
- -1);
-
- return 0;
-}
-
-int
-write_IOR(const char* ior)
-{
- FILE* ior_output_file_ =
- ACE_OS::fopen (ior_file_name_, "w");
-
- if (ior_output_file_)
- {
- ACE_OS::fprintf (ior_output_file_,
- "%s",
- ior);
- ACE_OS::fclose (ior_output_file_);
- }
-
- return 0;
-}
-
-int
-main (int argc, char *argv[])
-{
- ACE_TRY_NEW_ENV
- {
- // Initialize orb
- CORBA::ORB_var orb = CORBA::ORB_init (argc,
- argv
- ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- if (parse_args (argc, argv) != 0)
- return -1;
-
- // Get reference to Root POA.
- CORBA::Object_var obj
- = orb->resolve_initial_references ("RootPOA"
- ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- PortableServer::POA_var poa
- = PortableServer::POA::_narrow (obj.in ()
- ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- // Activate POA manager
- PortableServer::POAManager_var mgr
- = poa->the_POAManager (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- mgr->activate (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- CIAO::ServerActivator_Impl *activator_servant;
-
- ACE_NEW_RETURN (activator_servant,
- CIAO::ServerActivator_Impl (orb.in (),
- poa.in ()),
- -1);
-
- activator_servant->init (comserv_path_,
- spawn_wait_,
- installation_ior_
- ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- PortableServer::ServantBase_var safe_servant (activator_servant);
-
- CORBA::String_var str = orb->object_to_string (activator_servant->_ciao_get_objref ()
- ACE_ENV_ARG_PARAMETER);
-
- CORBA::Object_var table_object =
- orb->resolve_initial_references ("IORTable"
- ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- IORTable::Table_var adapter =
- IORTable::Table::_narrow (table_object.in () ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- if (CORBA::is_nil (adapter.in ()))
- {
- ACE_ERROR ((LM_ERROR, "Nil IORTable\n"));
- }
- else
- {
- adapter->bind ("ServerActivator", str.in () ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
- }
-
- write_IOR (str.in ());
- ACE_DEBUG ((LM_INFO, "ServerActivator IOR: %s\n", str.in ()));
-
- // End Deployment part
-
- ACE_DEBUG ((LM_DEBUG,
- "Running ServerActivator...\n"));
-
- // Run the main event loop for the ORB.
- orb->run (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_TRY_CHECK
- }
- ACE_CATCHANY
- {
- ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION,
- "server::main\t\n");
- return 1;
- }
- ACE_ENDTRY;
-
- return 0;
-}
diff --git a/TAO/CIAO/tools/ServerActivator/ServerActivator.mpc b/TAO/CIAO/tools/ServerActivator/ServerActivator.mpc
deleted file mode 100644
index ebc7757da49..00000000000
--- a/TAO/CIAO/tools/ServerActivator/ServerActivator.mpc
+++ /dev/null
@@ -1,15 +0,0 @@
-project(ServerActivator): ciao_server {
-
- libs += TAO_IORTable
- libpaths += $(TAO_ROOT)/tao/IORTable
-
- Source_Files {
- ServerActivator.cpp
- }
-}
-
-project(ServerActivator_test_client) : ciao_server {
- Source_Files {
- ServerActivator_test_client.cpp
- }
-}
diff --git a/TAO/CIAO/tools/ServerActivator/ServerActivator_test_client.cpp b/TAO/CIAO/tools/ServerActivator/ServerActivator_test_client.cpp
deleted file mode 100644
index c1485bfe658..00000000000
--- a/TAO/CIAO/tools/ServerActivator/ServerActivator_test_client.cpp
+++ /dev/null
@@ -1,177 +0,0 @@
-// $Id$
-
-#include "CCM_DeploymentC.h"
-#include "Client_init.h"
-#include "ace/Get_Opt.h"
-
-const char *ior = "file://test.ior";
-int test_container = 0;
-
-int
-parse_args (int argc, char *argv[])
-{
- ACE_Get_Opt get_opts (argc, argv, "ck:");
- int c;
-
- while ((c = get_opts ()) != -1)
- switch (c)
- {
- case 'k':
- ior = get_opts.opt_arg ();
- break;
-
- case 'c':
- test_container = 1;
- break;
-
- case '?':
- default:
- ACE_ERROR_RETURN ((LM_ERROR,
- "usage: %s\n"
- "-c Test Creating containers on ComponentServer\n"
- "-k <ior>\n"
- "\n",
- argv [0]),
- -1);
- }
- // Indicates sucessful parsing of the command line
- return 0;
-}
-
-int
-write_IOR(const char* ior)
-{
- FILE* ior_output_file_ =
- ACE_OS::fopen ("hello.ior", "w");
-
- if (ior_output_file_)
- {
- ACE_OS::fprintf (ior_output_file_,
- "%s",
- ior);
- ACE_OS::fclose (ior_output_file_);
- }
-
- return 0;
-}
-
-int
-main (int argc, char *argv[])
-{
- ACE_TRY_NEW_ENV
- {
- CORBA::ORB_var orb =
- CORBA::ORB_init (argc, argv, "" ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- if (parse_args (argc, argv) != 0)
- return 1;
-
- CIAO::Client_init (orb.in ());
-
- CORBA::Object_var tmp =
- orb->string_to_object(ior ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- ::Components::Deployment::ServerActivator_var activator =
- ::Components::Deployment::ServerActivator::_narrow(tmp.in ()
- ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- if (CORBA::is_nil (activator.in ()))
- {
- ACE_ERROR_RETURN ((LM_DEBUG,
- "Nil ServerActivator reference <%s>\n",
- ior),
- 1);
- }
-
- ACE_DEBUG ((LM_DEBUG, "Try creating a ComponentServer\n"));
- ::Components::ConfigValues config;
-
- ::Components::Deployment::ComponentServer_var comserv
- = activator->create_component_server (config
- ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- Components::Deployment::Container_var container;
-
- if (test_container)
- {
- ACE_DEBUG ((LM_DEBUG, "Try creating a Container\n"));
-
- container
- = comserv->create_container (config
- ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- // now install a fake home:
- Components::ConfigValues com_config (2);
- com_config.length (2);
-
- Components::ConfigValue *item = new OBV_Components::ConfigValue ();
-
- item->name (CORBA::string_dup ("CIAO-executor-path"));
- item->value () <<= CORBA::string_dup ("hello_executors");
- com_config[0] = item;
-
- item = new OBV_Components::ConfigValue ();
- item->name (CORBA::string_dup ("CIAO-executor-entrypt"));
- item->value () <<= CORBA::string_dup ("createHelloHome_Impl");
- com_config[1] = item;
-
- item = new OBV_Components::ConfigValue ();
- item->name (CORBA::string_dup ("CIAO-servant-path"));
- item->value () <<= CORBA::string_dup ("hello_servants");
- com_config[2] = item;
-
- item = new OBV_Components::ConfigValue ();
- item->name (CORBA::string_dup ("CIAO-servant-entrypt"));
- item->value () <<= CORBA::string_dup ("createHelloHome_Servant");
- com_config[3] = item;
-
- // ACE_OS::sleep (2);
-
- Components::CCMHome_var home =
- container->install_home ("a",
- "b",
- com_config
- ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- CORBA::String_var hior =
- orb->object_to_string (home.in ()
- ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- write_IOR (hior.in ());
-
- while (1)
- {
- ACE_OS::sleep (1);
- }
-
- ACE_DEBUG ((LM_DEBUG, "Try removing a ComponentServer\n"));
- comserv->remove_container (container.in ()
- ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
- }
-
- ACE_DEBUG ((LM_DEBUG, "Try removing a ComponentServer\n"));
- activator->remove_component_server (comserv.in ()
- ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- orb->destroy (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_TRY_CHECK;
- }
- ACE_CATCHANY
- {
- ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION,
- "Exception caught:");
- return 1;
- }
- ACE_ENDTRY;
-
- return 0;
-}
diff --git a/TAO/CIAO/tools/Simple_Component_Server/Makefile b/TAO/CIAO/tools/Simple_Component_Server/Makefile
deleted file mode 100644
index 482421561fe..00000000000
--- a/TAO/CIAO/tools/Simple_Component_Server/Makefile
+++ /dev/null
@@ -1,46 +0,0 @@
-#----------------------------------------------------------------------------
-#
-# $Id$
-#
-#----------------------------------------------------------------------------
-
-#----------------------------------------------------------------------------
-# Local macros
-#----------------------------------------------------------------------------
-
-ifndef TAO_ROOT
- TAO_ROOT = $(ACE_ROOT)/TAO
-endif # ! TAO_ROOT
-ifndef CIAO_ROOT
- CIAO_ROOT = $(ACE_ROOT)/TAO/CIAO
-endif # ! CIAO_ROOT
-
-LDLIBS = -lTAO_IFR_Client \
- -lCIAO_Client \
- -lCIAO_Container \
- -lCIAO_Server \
- -lTAO_CosNaming \
- -lTAO_PortableServer -lTAO_Valuetype -lTAO_ObjRefTemplate -lTAO_IORInterceptor \
- -lTAO
-
-SRC = Simple_Component_Server.cpp
-
-BIN = Simple_Component_Server
-
-#----------------------------------------------------------------------------
-# Include macros and targets
-#----------------------------------------------------------------------------
-
-include $(ACE_ROOT)/include/makeinclude/wrapper_macros.GNU
-include $(ACE_ROOT)/include/makeinclude/macros.GNU
-include $(TAO_ROOT)/rules.tao.GNU
-include $(ACE_ROOT)/include/makeinclude/rules.common.GNU
-include $(ACE_ROOT)/include/makeinclude/rules.nonested.GNU
-include $(ACE_ROOT)/include/makeinclude/rules.bin.GNU
-include $(ACE_ROOT)/include/makeinclude/rules.local.GNU
-include $(TAO_ROOT)/taoconfig.mk
-
-INCLDIRS += -I$(CIAO_ROOT) -I$(TAO_ROOT)/orbsvcs/orbsvcs
-
-# DO NOT DELETE THIS LINE -- g++dep uses it.
-# DO NOT PUT ANYTHING AFTER THIS LINE, IT WILL GO AWAY.
diff --git a/TAO/CIAO/tools/Simple_Component_Server/README b/TAO/CIAO/tools/Simple_Component_Server/README
deleted file mode 100644
index 47c0509284b..00000000000
--- a/TAO/CIAO/tools/Simple_Component_Server/README
+++ /dev/null
@@ -1,72 +0,0 @@
-$Id$
-
-Summary
--------
-
-This directory contains an implmentation for a "simple" component
-server. It is simple because it circumvent the mechanism to read the
-XML descriptors and therefore there's no way to configure the
-container or the component server thru these XML descriptors. It is,
-however, useful for testing the correct functioning of a single
-component and its home (as you don't need to jump thru a bunch of
-hoops to instantiate them for testing.)
-
-Running
--------
-
-To run the component server, invoke it from command line as foloowing:
-
- Simple_Component_Server -c -i <config_file> -o <home or component ior_output_filename>
-
-The <config_file> contains information the component server needs to
-install component implementations. The detail format of the file will
-be explained at the end of this file. This configuration mechanism
-should eventually be replaced by the standard component deployment
-interfaces so component are installed and instantiated through a set
-of interfaces.
-
-If "-c" flag is specify, the simple component server creates a
-component writes the IOR for the component into the file specified by
--o flag. Otherwise, only the component home is instantiated and the
-IOR for the home is written to the file.
-
-The <ior_output_filename> points to the file name where the
-component server will output the IOR to.
-
-Server Configuration:
----------------------
-There is currently not much to configure for the component server.
-
-
-Config file format:
--------------------
-
-We are temporarily using a config file to read in the list of
-components that are to be installed into the component server. Each
-line of the configuration file contains a set of information for
-installing one component home (the component home manages the life
-cycle for managed comopnent instances.) These info. are delimited by
-the vertical bar '|' characters. Here is an example for the
-"HelloHome" component home in
-$(CIAO_ROOT)/examples/handcrafted/Hello/.
-
-hello_executors|createHelloHome_Impl|hello_servants|createHelloHome_Servant|IDL:omg.org/HelloHome:1.0|IDL:omg.org/HelloWorld:1.0|HelloHome
-
-Here's a breakdown of what each field contains:
-
-0 -> Name of the DLL containing component and component home executors
-1 -> Entry point (factory method) for the previous DLL
-2 -> Name of the DLL containing component and component home servant
- glue code.
-3 -> Entry point (factory method) for the previous DLL
-4 -> Repo ID for the component home interface
-5 -> Repo ID for the managed component interface
-6 -> Canonical name for the installed component home.
-
-** Currently, only the first 4 config values are used (field 0-3).
-
-Todos
------
-
-Improve the command line processing routine. Currently, we do not
-process the ORB command line options correctly.
diff --git a/TAO/CIAO/tools/Simple_Component_Server/Simple_Component_Server.cpp b/TAO/CIAO/tools/Simple_Component_Server/Simple_Component_Server.cpp
deleted file mode 100644
index e8220ae8f5e..00000000000
--- a/TAO/CIAO/tools/Simple_Component_Server/Simple_Component_Server.cpp
+++ /dev/null
@@ -1,259 +0,0 @@
-// $Id$
-
-/**
- * @file Simple_Component_Server.cpp
- *
- * This file contains a simple
- */
-
-#include "ciao/Container_Base.h"
-#include "ace/SString.h"
-#include "ace/Read_Buffer.h"
-#include "ace/Get_Opt.h"
-#include "Simple_Server_i.h"
-
-//#include "ciao/HomeRegistrar_i.h"
-
-char *ior_filename = 0;
-//char *home_registrar_ior = 0;
-char *component_list_ = 0;
-int create_component = 0; // If we need to create a cached component.
-
-int
-parse_args (int argc, char *argv[])
-{
- ACE_Get_Opt get_opts (argc, argv, "ci:o:");
- int c;
-
- while ((c = get_opts ()) != -1)
- switch (c)
- {
- case 'c': // Create cached component
- create_component = 1;
- break;
-
- case 'o': // get the server IOR output filename
- ior_filename = get_opts.opt_arg ();
- break;
-
- case 'i': // get component configuration
- component_list_ = get_opts.opt_arg ();
- break;
-
- case '?': // display help for use of the server.
- default:
- ACE_ERROR_RETURN ((LM_ERROR,
- "usage: %s\n"
- "-c instantiate the component"
- "-i <component config file>\n"
- "-o <server_ior_output_file>"
- "\n",
- argv [0]),
- -1);
- }
-
- return 0;
-}
-
-int
-write_IOR(const char *ior)
-{
- if (ior_filename == 0 || ior == 0)
- ACE_ERROR_RETURN ((LM_ERROR,
- "A valid filename and an IOR string are required for saving IOR\n"),
- -1);
-
-
- FILE* ior_output_file_ =
- ACE_OS::fopen (ior_filename, "w");
-
- if (ior_output_file_ == NULL)
- ACE_ERROR_RETURN ((LM_ERROR,
- "Unable to open <%s> for writing\n", ior_filename),
- -1);
-
- ACE_OS::fprintf (ior_output_file_,
- "%s",
- ior);
-
- ACE_OS::fclose (ior_output_file_);
-
- return 0;
-}
-
-int breakdown (char *source,
- int len,
- char *list[])
-{
- ACE_Tokenizer line (source);
- line.delimiter_replace ('|', 0);
-
- int cntr = 0;
- char *p;
- for (p = line.next ();
- p && cntr < len;
- ++cntr, p=line.next ())
- list[cntr] = ACE::strnew (p);
-
- return cntr;
-}
-
-Components::CCMHome_ptr
-install_homes (CIAO::Session_Container &container,
- CORBA::ORB_ptr orb
- ACE_ENV_ARG_DECL)
-{
- if (component_list_ == 0)
- ACE_THROW (CORBA::BAD_PARAM ());
-
- FILE* config_file =
- ACE_OS::fopen (component_list_, "r");
-
- if (config_file)
- {
- ACE_Read_Buffer ior_buffer (config_file);
- char *data = 0;
-
- if ((data = ior_buffer.read ('\n')) != 0)
- {
- char *items[10];
- auto_ptr<char> an_entry (data);
- int len = breakdown (an_entry.get (),
- 10,
- items);
-
- if (len < 4) // we only need the first 4 fields now.
- {
- ACE_DEBUG ((LM_DEBUG, "Error parsing configuration file\n"));
- ACE_THROW_RETURN (CORBA::INTERNAL (), 0);
- }
-
- // len should be at least such and such long so we have all
- // the information we need. These items are separate with
- // character '|'.
-
- // 0 -> DLL path to home executor
- // 1 -> entry point for home executor factory
- // 2 -> DLL path to servant glue code
- // 3 -> entry point for servant glue code factory
-
- // we are not using these until we support HomeFinder.
-
- // 4 -> Repository ID for home interface
- // 5 -> Repository ID for managed component
- // 6 -> Canonical Name of home interface.
-
- Components::CCMHome_var home =
- container.ciao_install_home (items[0],
- items[1],
- items[2],
- items[3]
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK;
-
- if (CORBA::is_nil (home))
- {
- ACE_DEBUG ((LM_DEBUG, "Fail to create home\n"));
- ACE_THROW_RETURN (CORBA::INTERNAL (), 0);
- }
- return home._retn ();
- }
- }
- ACE_OS::fclose (config_file);
- ACE_THROW_RETURN (CORBA::INTERNAL (), 0);
-}
-
-int
-main (int argc, char *argv[])
-{
- ACE_TRY_NEW_ENV
- {
- // Initialize orb
- CORBA::ORB_var orb = CORBA::ORB_init (argc,
- argv
- ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- if (parse_args (argc, argv) != 0)
- return -1;
-
- // Get reference to Root POA.
- CORBA::Object_var obj
- = orb->resolve_initial_references ("RootPOA"
- ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- PortableServer::POA_var poa
- = PortableServer::POA::_narrow (obj.in ()
- ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- // Activate POA manager
- PortableServer::POAManager_var mgr
- = poa->the_POAManager (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- mgr->activate (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- // Start Deployment part
-
- CIAO::Session_Container container (orb);
- container.init ();
-
- // install component
-
- Components::CCMHome_var home =
- install_homes (container,
- orb
- ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- CIAO::Simple_Server_i *servant = 0;
- ACE_NEW_RETURN (servant,
- CIAO::Simple_Server_i (orb.in (),
- poa.in (),
- home.in ()),
- -1);
- PortableServer::ServantBase_var safe_daemon (servant);
- // Implicit activation
- CIAO::Simple_Server_var server = servant->_this ();
-
- CORBA::String_var str;
- Components::CCMObject_var temp;
-
- if (create_component != 0)
- {
- temp = server->get_component (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- str = orb->object_to_string (temp.in ()
- ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
- }
- else
- {
- str = orb->object_to_string (server.in ()
- ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
- }
-
- write_IOR (str.in ());
-
- ACE_DEBUG ((LM_DEBUG,
- "Running the simple generic server...\n"));
-
- // Run the main event loop for the ORB.
- orb->run (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_TRY_CHECK
- }
- ACE_CATCHANY
- {
- ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION,
- "server::main\t\n");
- return 1;
- }
- ACE_ENDTRY;
-
- return 0;
-}
diff --git a/TAO/CIAO/tools/Simple_Component_Server/Simple_Component_Server.mpc b/TAO/CIAO/tools/Simple_Component_Server/Simple_Component_Server.mpc
deleted file mode 100644
index 81c41c1ed83..00000000000
--- a/TAO/CIAO/tools/Simple_Component_Server/Simple_Component_Server.mpc
+++ /dev/null
@@ -1,40 +0,0 @@
-project (Simple_Server_Stub) : taolib_with_idl, ciao_client {
- sharedname = CIAO_Simple_Server_Stub
- idlflags += -Wb,stub_export_include=Simple_Server_Stub_Export.h -Wb,stub_export_macro=CIAO_SIMPLE_SERVER_STUB_Export -Wb,pre_include="ace/pre.h" -Wb,post_include="ace/post.h"
- dllflags = CIAO_SIMPLE_SERVER_STUB_BUILD_DLL
-
- IDL_Files {
- Simple_Server.idl
- }
-
- Source_Files {
- Simple_ServerC.cpp
- }
-}
-
-project (Simple_Component_Server) : ciao_server {
- depends += Simple_Server_Stub
- libs += CIAO_Simple_Server_Stub
- exename = Simple_Component_Server
-
- Source_Files {
- Simple_ServerS.cpp
- Simple_Server_i.cpp
- Simple_Component_Server.cpp
- }
-}
-
-// Use the following settings as a blueprint for creating client project.
-project (Simple_Component_Server_test_client) : ciao_server {
- depends += Simple_Server_Stub
- libs += CIAO_Simple_Server_Stub
- libpaths += $(CIAO_ROOT)/tools/Simple_Component_Server
- exename = sample_client
-
- IDL_Files {
- }
-
- Source_Files {
- sample_client.cpp
- }
-}
diff --git a/TAO/CIAO/tools/Simple_Component_Server/Simple_Server.idl b/TAO/CIAO/tools/Simple_Component_Server/Simple_Server.idl
deleted file mode 100644
index 706b98ad400..00000000000
--- a/TAO/CIAO/tools/Simple_Component_Server/Simple_Server.idl
+++ /dev/null
@@ -1,25 +0,0 @@
-// $Id$
-
-#include "ciao/CCM_Component.idl"
-
-module CIAO
-{
- /**
- * @interface Simple_Server
- *
- * Control interface for Simple_Server
- */
- interface Simple_Server
- {
- /// Get the installed home interface.
- Components::CCMHome get_home ();
-
- /// Get the cached component instantiation.
- /// This operation can only instantiate using KeylessCCMHome.
- Components::CCMObject get_component ();
-
- /// Shutdown the simple component server.
- oneway void shutdown ();
- };
-
-};
diff --git a/TAO/CIAO/tools/Simple_Component_Server/Simple_Server_Stub_Export.h b/TAO/CIAO/tools/Simple_Component_Server/Simple_Server_Stub_Export.h
deleted file mode 100644
index 153a388691a..00000000000
--- a/TAO/CIAO/tools/Simple_Component_Server/Simple_Server_Stub_Export.h
+++ /dev/null
@@ -1,50 +0,0 @@
-
-// -*- C++ -*-
-// $Id$
-// Definition for Win32 Export directives.
-// This file is generated automatically by generate_export_file.pl CIAO_SIMPLE_SERVER_STUB
-// ------------------------------
-#ifndef CIAO_SIMPLE_SERVER_STUB_EXPORT_H
-#define CIAO_SIMPLE_SERVER_STUB_EXPORT_H
-
-#include "ace/config-all.h"
-
-#if !defined (CIAO_SIMPLE_SERVER_STUB_HAS_DLL)
-# define CIAO_SIMPLE_SERVER_STUB_HAS_DLL 1
-#endif /* ! CIAO_SIMPLE_SERVER_STUB_HAS_DLL */
-
-#if defined (CIAO_SIMPLE_SERVER_STUB_HAS_DLL) && (CIAO_SIMPLE_SERVER_STUB_HAS_DLL == 1)
-# if defined (CIAO_SIMPLE_SERVER_STUB_BUILD_DLL)
-# define CIAO_SIMPLE_SERVER_STUB_Export ACE_Proper_Export_Flag
-# define CIAO_SIMPLE_SERVER_STUB_SINGLETON_DECLARATION(T) ACE_EXPORT_SINGLETON_DECLARATION (T)
-# define CIAO_SIMPLE_SERVER_STUB_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_EXPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
-# else /* CIAO_SIMPLE_SERVER_STUB_BUILD_DLL */
-# define CIAO_SIMPLE_SERVER_STUB_Export ACE_Proper_Import_Flag
-# define CIAO_SIMPLE_SERVER_STUB_SINGLETON_DECLARATION(T) ACE_IMPORT_SINGLETON_DECLARATION (T)
-# define CIAO_SIMPLE_SERVER_STUB_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_IMPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
-# endif /* CIAO_SIMPLE_SERVER_STUB_BUILD_DLL */
-#else /* CIAO_SIMPLE_SERVER_STUB_HAS_DLL == 1 */
-# define CIAO_SIMPLE_SERVER_STUB_Export
-# define CIAO_SIMPLE_SERVER_STUB_SINGLETON_DECLARATION(T)
-# define CIAO_SIMPLE_SERVER_STUB_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
-#endif /* CIAO_SIMPLE_SERVER_STUB_HAS_DLL == 1 */
-
-// Set CIAO_SIMPLE_SERVER_STUB_NTRACE = 0 to turn on library specific tracing even if
-// tracing is turned off for ACE.
-#if !defined (CIAO_SIMPLE_SERVER_STUB_NTRACE)
-# if (ACE_NTRACE == 1)
-# define CIAO_SIMPLE_SERVER_STUB_NTRACE 1
-# else /* (ACE_NTRACE == 1) */
-# define CIAO_SIMPLE_SERVER_STUB_NTRACE 0
-# endif /* (ACE_NTRACE == 1) */
-#endif /* !CIAO_SIMPLE_SERVER_STUB_NTRACE */
-
-#if (CIAO_SIMPLE_SERVER_STUB_NTRACE == 1)
-# define CIAO_SIMPLE_SERVER_STUB_TRACE(X)
-#else /* (CIAO_SIMPLE_SERVER_STUB_NTRACE == 1) */
-# define CIAO_SIMPLE_SERVER_STUB_TRACE(X) ACE_TRACE_IMPL(X)
-#endif /* (CIAO_SIMPLE_SERVER_STUB_NTRACE == 1) */
-
-#endif /* CIAO_SIMPLE_SERVER_STUB_EXPORT_H */
-
-// End of auto generated file.
diff --git a/TAO/CIAO/tools/Simple_Component_Server/Simple_Server_i.cpp b/TAO/CIAO/tools/Simple_Component_Server/Simple_Server_i.cpp
deleted file mode 100644
index 79323f9652f..00000000000
--- a/TAO/CIAO/tools/Simple_Component_Server/Simple_Server_i.cpp
+++ /dev/null
@@ -1,56 +0,0 @@
-// $Id$
-
-#include "Simple_Server_i.h"
-
-/// Constructor
-CIAO::Simple_Server_i::Simple_Server_i (CORBA::ORB_ptr o,
- PortableServer::POA_ptr p,
- Components::CCMHome_ptr h)
- : orb_ (CORBA::ORB::_duplicate (o)),
- poa_ (PortableServer::POA::_duplicate (p)),
- home_ (Components::CCMHome::_duplicate (h))
-{
-}
-
-/// Destructor
-CIAO::Simple_Server_i::~Simple_Server_i (void)
-{
-}
-
-PortableServer::POA_ptr
-CIAO::Simple_Server_i::_default_POA (void)
-{
- return PortableServer::POA::_duplicate (this->poa_.in ());
-}
-
-Components::CCMHome_ptr
-CIAO::Simple_Server_i::get_home (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- return Components::CCMHome::_duplicate (this->home_.in ());
-}
-
-Components::CCMObject_ptr
-CIAO::Simple_Server_i::get_component (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- if (CORBA::is_nil (this->component_.in ()))
- {
- Components::KeylessCCMHome_var h
- = Components::KeylessCCMHome::_narrow (this->home_.in ()
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (0);
-
- this->component_ =
- h->create_component (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_CHECK_RETURN (0);
- }
- return Components::CCMObject::_duplicate (this->component_.in ());
-}
-
-void
-CIAO::Simple_Server_i::shutdown (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- this->orb_->shutdown ();
-}
diff --git a/TAO/CIAO/tools/Simple_Component_Server/Simple_Server_i.h b/TAO/CIAO/tools/Simple_Component_Server/Simple_Server_i.h
deleted file mode 100644
index 02100ef83b5..00000000000
--- a/TAO/CIAO/tools/Simple_Component_Server/Simple_Server_i.h
+++ /dev/null
@@ -1,70 +0,0 @@
-// -*- C++ -*-
-
-//=============================================================================
-/**
- * @file Simple_Server_i.h
- *
- * $Id$
- *
- * @author Nanbor Wang <nanbor@cs.wustl.edu>
- */
-//=============================================================================
-
-
-#ifndef CIAO_SIMPLE_SERVER_I_H
-#define CIAO_SIMPLE_SERVER_I_H
-#include "ace/pre.h"
-
-#include "Simple_ServerS.h"
-
-#if !defined (ACE_LACKS_PRAGMA_ONCE)
-# pragma once
-#endif /* ACE_LACKS_PRAGMA_ONCE */
-
-namespace CIAO
-{
- class Simple_Server_i
- : public virtual POA_CIAO::Simple_Server,
- public virtual PortableServer::RefCountServantBase
- {
- public:
- /// Constructor
- Simple_Server_i (CORBA::ORB_ptr o,
- PortableServer::POA_ptr p,
- Components::CCMHome_ptr h);
-
- /// Destructor
- virtual ~Simple_Server_i (void);
-
- /// Get the containing POA. This operation does *not*
- /// increase the reference count of the POA.
- virtual PortableServer::POA_ptr _default_POA (void);
-
- virtual Components::CCMHome_ptr
- get_home (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- virtual Components::CCMObject_ptr
- get_component (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- virtual void shutdown (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- protected:
- /// Keep a pointer to the managing ORB serving this servant.
- CORBA::ORB_var orb_;
-
- /// Keep a pointer to the managing POA.
- PortableServer::POA_var poa_;
-
- /// Cached CCMHome reference.
- Components::CCMHome_var home_;
-
- /// Cached CCMObject reference.
- Components::CCMObject_var component_;
- };
-}
-
-#include "ace/post.h"
-#endif /* CIAO_SIMPLE_SERVER_H */
diff --git a/TAO/CIAO/tools/Simple_Component_Server/sample_client.cpp b/TAO/CIAO/tools/Simple_Component_Server/sample_client.cpp
deleted file mode 100644
index 82b7401716a..00000000000
--- a/TAO/CIAO/tools/Simple_Component_Server/sample_client.cpp
+++ /dev/null
@@ -1,82 +0,0 @@
-// $Id$
-
-#include "tools/Simple_Component_Server/Simple_ServerC.h"
-#include "ace/Get_Opt.h"
-#include "ace/Read_Buffer.h"
-// @@ Include component stub file here:
-//#include "helloC.h"
-
-char *ior = 0;
-int shutdown_server = 0;
-
-int
-parse_args (int argc, char *argv[])
-{
- ACE_Get_Opt get_opts (argc, argv, "i:s");
- int c;
-
- while ((c = get_opts ()) != -1)
- switch (c)
- {
- case 's': // Shutdown server when exit?
- shutdown_server = 1;
- break;
-
- case 'i': // get component configuration
- ior = get_opts.opt_arg ();
- break;
-
- case '?': // display help for use of the server.
- default:
- ACE_ERROR_RETURN ((LM_ERROR,
- "usage: %s\n"
- "-i <simple server ior>\n"
- "-s shutdown server when exit\n"
- "\n",
- argv [0]),
- -1);
- }
-
- return 0;
-}
-
-int
-main (int argc, char *argv[])
-{
- ACE_TRY_NEW_ENV
- {
- // Initialize orb
- CORBA::ORB_var orb = CORBA::ORB_init (argc, argv ACE_ENV_ARG_PARAMETER);
-
- if (parse_args (argc, argv) != 0)
- return -1;
-
- CORBA::Object_var obj
- = orb->string_to_object (ior ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- CIAO::Simple_Server_var cserve
- = CIAO::Simple_Server::_narrow (obj.in ()
- ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- /// @@ Use cserve->get_home () or cserve->get_component ()
- /// and do your stuff to test the component here.
-
- if (shutdown_server != 0)
- cserve->shutdown (ACE_ENV_SINGLE_ARG_PARAMETER);
-
- orb->destroy (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_TRY_CHECK;
- }
- ACE_CATCHANY
- {
- ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION,
- "Who is the culprit \n");
- cerr << "Uncaught CORBA exception" << endl;
- return 1;
- }
- ACE_ENDTRY;
-
- return 0;
-}
diff --git a/TAO/CIAO/tools/XML_Helpers/Assembly_Handlers.cpp b/TAO/CIAO/tools/XML_Helpers/Assembly_Handlers.cpp
deleted file mode 100644
index 9b20004765d..00000000000
--- a/TAO/CIAO/tools/XML_Helpers/Assembly_Handlers.cpp
+++ /dev/null
@@ -1,924 +0,0 @@
-// $Id$
-
-#include "Assembly_Handlers.h"
-
-#if !defined (__ACE_INLINE__)
-# include "Assembly_Handlers.inl"
-#endif /* __ACE_INLINE__ */
-
-void
-CIAO::Assembly_Handler::characters (const ACEXML_Char *,
- int ,
- int
- ACEXML_ENV_ARG_DECL_NOT_USED)
- ACE_THROW_SPEC ((ACEXML_SAXException))
-{
-}
-
-void
-CIAO::Assembly_Handler::startElement (const ACEXML_Char *namespaceURI,
- const ACEXML_Char *localName,
- const ACEXML_Char *qName,
- ACEXML_Attributes *alist
- ACEXML_ENV_ARG_DECL)
- ACE_THROW_SPEC ((ACEXML_SAXException))
-{
- switch (this->state_)
- {
- case START:
- if (ACE_OS::strcmp (qName, "componentfiles") == 0)
- {
- ACE_DEBUG ((LM_DEBUG, "Start componentfiles\n"));
- CIAO::XMLHelpers::Cascadable_DocHandler *new_handler;
-
- ACE_NEW (new_handler,
- CIAO::Comp_File_Handler (this->context_,
- this->parser_,
- this,
- namespaceURI,
- localName,
- qName,
- alist
- ACEXML_ENV_ARG_PARAMETER));
- ACEXML_CHECK;
-
- this->push_handler (new_handler,
- alist
- ACEXML_ENV_ARG_PARAMETER);
- ACEXML_CHECK;
- }
- return;
-
- case COMPONENTFILES_DONE:
- if (ACE_OS::strcmp (qName, "partitioning") == 0)
- {
- ACE_DEBUG ((LM_DEBUG, "Start partitioning\n"));
- CIAO::XMLHelpers::Cascadable_DocHandler *new_handler;
-
- ACE_NEW (new_handler,
- CIAO::Partitioning_Handler (this->context_,
- this->parser_,
- this,
- namespaceURI,
- localName,
- qName,
- alist
- ACEXML_ENV_ARG_PARAMETER));
- ACEXML_CHECK;
-
- this->push_handler (new_handler,
- alist
- ACEXML_ENV_ARG_PARAMETER);
- ACEXML_CHECK;
- }
- return;
-
-
- case PLACEMENT_DONE:
- if (ACE_OS::strcmp (qName, "connections") == 0)
- {
- ACE_DEBUG ((LM_DEBUG, "Start connections\n"));
- CIAO::XMLHelpers::Cascadable_DocHandler *new_handler;
-
- ACE_NEW (new_handler,
- CIAO::Connections_Handler (this->context_,
- this->parser_,
- this,
- namespaceURI,
- localName,
- qName,
- alist
- ACEXML_ENV_ARG_PARAMETER));
- ACEXML_CHECK;
-
- this->push_handler (new_handler,
- alist
- ACEXML_ENV_ARG_PARAMETER);
- ACEXML_CHECK;
- }
- return;
-
- case CONNECTION_DONE:
- if (ACE_OS::strcmp (qName, "extension") == 0)
- {
- ACE_DEBUG ((LM_DEBUG, "Start skipping extension\n"));
- CIAO::XMLHelpers::Cascadable_DocHandler *new_handler;
-
- ACE_NEW (new_handler,
- CIAO::XMLHelpers::Skip_DocHandler (this->parser_,
- this,
- namespaceURI,
- localName,
- qName,
- alist
- ACEXML_ENV_ARG_PARAMETER));
- ACEXML_CHECK;
-
- this->push_handler (new_handler,
- alist
- ACEXML_ENV_ARG_PARAMETER);
- ACEXML_CHECK;
- }
- return;
-
-
- default:
- ACEXML_THROW (ACEXML_SAXException
- (ACE_TEXT ("Assembly handler internal error")));
- break;
- }
- ACEXML_THROW (ACEXML_SAXException
- (ACE_TEXT ("Assembly handler internal error")));
-}
-
-void
-CIAO::Assembly_Handler::endElement (const ACEXML_Char *,
- const ACEXML_Char *,
- const ACEXML_Char *qName
- ACEXML_ENV_ARG_DECL)
- ACE_THROW_SPEC ((ACEXML_SAXException))
-{
- switch (this->state_)
- {
- case START:
- if (ACE_OS::strcmp (qName, "componentfiles") == 0)
- {
- ACE_DEBUG ((LM_DEBUG, "End componentfiles\n"));
- this->state_ = COMPONENTFILES_DONE;
- }
- return;
-
- case COMPONENTFILES_DONE:
- if (ACE_OS::strcmp (qName, "partitioning") == 0)
- {
- ACE_DEBUG ((LM_DEBUG, "End partitioning\n"));
- this->state_ = PLACEMENT_DONE;
- }
- return;
-
- case PLACEMENT_DONE:
- if (ACE_OS::strcmp (qName, "connections") == 0)
- {
- ACE_DEBUG ((LM_DEBUG, "End connections\n"));
- this->state_ = CONNECTION_DONE;
- }
- return;
-
- case CONNECTION_DONE:
- if (ACE_OS::strcmp (qName, "extension") == 0)
- {
- ACE_DEBUG ((LM_DEBUG, "End skipping extension\n"));
- this->state_ = DONE;
- }
- return;
-
- default:
- ACEXML_THROW (ACEXML_SAXException
- (ACE_TEXT ("Assembly handler internal error")));
- break;
- }
- ACEXML_THROW (ACEXML_SAXException
- (ACE_TEXT ("Assembly handler internal error")));
-}
-
-// =================================================================
-
-void
-CIAO::Comp_File_Handler::endElement (const ACEXML_Char *namespaceURI,
- const ACEXML_Char *localName,
- const ACEXML_Char *qName
- ACEXML_ENV_ARG_DECL)
- ACE_THROW_SPEC ((ACEXML_SAXException))
-{
- ACE_TRACE ("CIAO::Comp_File_Handler::endElement");
-
- --this->element_count_;
- if (this->element_count_ == 0)
- {
- this->parent_->pop_handler (namespaceURI,
- localName,
- qName
- ACEXML_ENV_ARG_PARAMETER);
- ACEXML_CHECK;
- return;
- }
-
- if (ACE_OS::strcmp (qName, "componentfile") == 0)
- {
- // @@ We can only handle fileinarchive for now.
- if (this->id_.length () == 0 || this->fileinarchive_.length () == 0)
- ACEXML_THROW
- (ACEXML_SAXException
- ("No valid id or component implementation in element \"componentfile\""));
-
- if (this->context_->componentfiles_.bind (this->id_,
- this->fileinarchive_) != 0)
- ACEXML_THROW
- (ACEXML_SAXException
- ("File to bind component implementation with id in element \"componentfile\""));
-
- this->id_.clear ();
- this->fileinarchive_.clear ();
- }
-
-}
-
-/*
-<!ENTITY % simple-link-attributes "
- xml:link CDATA #FIXED 'SIMPLE'
- href CDATA #REQUIRED
-" >
-
-<!ELEMENT fileinarchive
- ( link? ) >
-<!ATTLIST fileinarchive
- name CDATA #REQUIRED >
-
-<!ELEMENT codebase EMPTY >
-<!ATTLIST codebase
- filename CDATA #IMPLIED
- %simple-link-attributes; >
-
-<!ELEMENT link ( #PCDATA ) >
-<!ATTLIST link
- %simple-link-attributes; >
-*/
-
-void
-CIAO::Comp_File_Handler::startElement (const ACEXML_Char *namespaceURI,
- const ACEXML_Char *localName,
- const ACEXML_Char *qName,
- ACEXML_Attributes *atts
- ACEXML_ENV_ARG_DECL)
- ACE_THROW_SPEC ((ACEXML_SAXException))
-{
- ACE_UNUSED_ARG (namespaceURI);
- ACE_UNUSED_ARG (localName);
-
- ACE_TRACE ("CIAO::Comp_File_Handler::startElement");
- ++this->element_count_;
-
- if (ACE_OS::strcmp (qName, "componentfile") == 0)
- {
- for (size_t i = 0; i < atts->getLength (); ++i)
- {
- if (ACE_OS_String::strcmp (atts->getQName (i), ACE_TEXT ("id")) == 0)
- {
- this->id_ = atts->getValue (i);
- }
- else if (ACE_OS_String::strcmp (atts->getQName (i), ACE_TEXT ("type")) == 0)
- {
- // @@ Discard the value for now. CIAO doesn't support
- // things other than CORBA component.
- }
- else
- {
- ACEXML_THROW
- (ACEXML_SAXException
- ("Invalid attribute encountered in element \"componentfile\""));
- }
- }
- }
- else if (ACE_OS::strcmp (qName, "fileinarchive") == 0)
- {
- for (size_t i = 0; i < atts->getLength (); ++i)
- {
- if (ACE_OS_String::strcmp (atts->getQName (i), "name") == 0)
- {
- this->fileinarchive_ = atts->getValue (i);
- }
- else
- {
- ACEXML_THROW
- (ACEXML_SAXException
- ("Invalid attribute encountered in element \"fileinarchive\""));
- }
- }
- }
- else if (ACE_OS::strcmp (qName, "link") == 0)
- {
- }
- else if (ACE_OS::strcmp (qName, "codebase") == 0)
- {
- }
- else if (ACE_OS::strcmp (qName, "componentfiles") == 0)
- {
- // Do nothing
- }
- else
- {
- ACE_DEBUG ((LM_DEBUG, "tag is: %s\n", qName));
- ACEXML_THROW (ACEXML_SAXException
- (ACE_TEXT ("Invalid tag encounter while parsing \"componentfiles\"")));
- }
-}
-
-// =================================================================
-
-void
-CIAO::Partitioning_Handler::endElement (const ACEXML_Char *namespaceURI,
- const ACEXML_Char *localName,
- const ACEXML_Char *qName
- ACEXML_ENV_ARG_DECL)
- ACE_THROW_SPEC ((ACEXML_SAXException))
-{
- ACE_TRACE ("CIAO::Partitioning_Handler::endElement");
-
- --this->element_count_;
- if (this->element_count_ == 0)
- {
- this->parent_->pop_handler (namespaceURI,
- localName,
- qName
- ACEXML_ENV_ARG_PARAMETER);
- ACEXML_CHECK;
- return;
- }
-
- switch (this->state_)
- {
- case START:
- if (ACE_OS::strcmp (qName, "hostcollocation") == 0)
- {
- this->context_->partitioning_.insert_tail (this->host_collocation_);
- this->host_collocation_ = 0;
- }
- else if (ACE_OS::strcmp (qName, "processcollocation") == 0)
- {
- if (this->host_collocation_ != 0)
- this->host_collocation_->insert_tail (this->process_collocation_);
- else
- this->context_->partitioning_.insert_tail (this->process_collocation_);
- this->process_collocation_ = 0;
- }
- else if (ACE_OS::strcmp (qName, "partitioning") == 0)
- {
- }
- else if (ACE_OS::strcmp (qName, "extension") == 0)
- {
- // Do nothing for now.
- }
- else if (ACE_OS::strcmp (qName, "destination") == 0)
- {
- if (this->process_collocation_ != 0)
- this->process_collocation_->destination (this->characters_.c_str ());
- else
- this->host_collocation_->destination (this->characters_.c_str ());
- }
- else if (ACE_OS::strcmp (qName, "usagename") == 0)
- {
- if (this->process_collocation_ != 0)
- this->process_collocation_->usagename (this->characters_.c_str ());
- else
- this->host_collocation_->usagename (this->characters_.c_str ());
- }
- break;
-
- case HOMEPLACEMENT:
- if (ACE_OS::strcmp (qName, "homeplacement") == 0)
- {
- this->state_ = START;
- if (this->process_collocation_ != 0)
- this->process_collocation_->insert_tail (this->home_placement_);
- else if (this->host_collocation_ != 0)
- this->host_collocation_->insert_tail (this->home_placement_);
- else
- this->context_->partitioning_.insert_tail (this->home_placement_);
- this->home_placement_ = 0;
- }
- else if (ACE_OS::strcmp (qName, "homeplacement") == 0)
- {
- this->home_placement_->destination (this->characters_.c_str ());
- }
- else if (ACE_OS::strcmp (qName, "usagename") == 0)
- {
- this->home_placement_->usagename (this->characters_.c_str ());
- }
- break;
-
- case COMPONENT_INSTANTIATION:
- if (ACE_OS::strcmp (qName, "componentinstantiation") == 0)
- {
- this->state_ = HOMEPLACEMENT;
- this->home_placement_->insert_tail (this->comp_instance_);
- this->comp_instance_ = 0;
- }
- else if (ACE_OS::strcmp (qName, "registercomponent") == 0)
- {
- this->comp_instance_->register_info_.enqueue_tail (this->comp_register_info_);
- }
- else if (ACE_OS::strcmp (qName, "providesidentifier") == 0)
- {
- this->comp_register_info_.type_ =
- CIAO::Assembly_Placement::componentinstantiation::PROVIDESID;
- this->comp_register_info_.port_id_ = this->characters_.c_str ();
- }
- else if (ACE_OS::strcmp (qName, "consumesidentifier") == 0)
- {
- this->comp_register_info_.type_ =
- CIAO::Assembly_Placement::componentinstantiation::CONSUMESID;
- this->comp_register_info_.port_id_ = this->characters_.c_str ();
- }
- break;
-
- default:
- break;
- }
-}
-
-void
-CIAO::Partitioning_Handler::characters (const ACEXML_Char *ch,
- int start,
- int length
- ACEXML_ENV_ARG_DECL_NOT_USED)
- ACE_THROW_SPEC ((ACEXML_SAXException))
-{
- this->characters_.set (ch + start, length);
-}
-
-void
-CIAO::Partitioning_Handler::startElement (const ACEXML_Char *namespaceURI,
- const ACEXML_Char *localName,
- const ACEXML_Char *qName,
- ACEXML_Attributes *atts
- ACEXML_ENV_ARG_DECL)
- ACE_THROW_SPEC ((ACEXML_SAXException))
-{
- ACE_UNUSED_ARG (namespaceURI);
- ACE_UNUSED_ARG (localName);
-
- // We are assuming we have a working ACEXML validator.
-
- ACE_TRACE ("CIAO::Partitioning_Handler::startElement");
- ++this->element_count_;
-
- switch (this->state_)
- {
- case START:
- if (ACE_OS::strcmp (qName, "homeplacement") == 0)
- {
- this->state_ = HOMEPLACEMENT;
- const char *id = 0;
- long cardinality =
- CIAO::XML_Utils::get_id_and_cardinality (id,
- atts
- ACEXML_ENV_ARG_PARAMETER);
- ACEXML_CHECK;
-
- ACEXML_NEW_THROW_EX (this->home_placement_,
- CIAO::Assembly_Placement::homeplacement (id,
- cardinality),
- ACEXML_SAXException
- ("Internal error, no memory."));
- ACEXML_CHECK;
- }
- else if (ACE_OS::strcmp (qName, "processcollocation") == 0)
- {
- const char *id = 0;
- long cardinality =
- CIAO::XML_Utils::get_id_and_cardinality (id,
- atts
- ACEXML_ENV_ARG_PARAMETER);
- ACEXML_CHECK;
-
- ACEXML_NEW_THROW_EX (this->process_collocation_,
- CIAO::Assembly_Placement::processcollocation (id,
- cardinality),
- ACEXML_SAXException
- ("Internal error, no memory."));
- ACEXML_CHECK;
- }
- else if (ACE_OS::strcmp (qName, "hostcollocation") == 0)
- {
- const char *id = 0;
- long cardinality =
- CIAO::XML_Utils::get_id_and_cardinality (id,
- atts
- ACEXML_ENV_ARG_PARAMETER);
- ACEXML_CHECK;
-
- ACEXML_NEW_THROW_EX (this->host_collocation_,
- CIAO::Assembly_Placement::hostcollocation (id,
- cardinality),
- ACEXML_SAXException
- ("Internal error, no memory."));
- ACEXML_CHECK;
- }
- else if (ACE_OS::strcmp (qName, "executableplacement") == 0)
- {
- ACEXML_THROW (ACEXML_SAXException
- (ACE_TEXT ("\"executableplacement\" is not yet supported.")));
- }
- else if (ACE_OS::strcmp (qName, "extension") == 0)
- {
- ACEXML_THROW (ACEXML_SAXException
- (ACE_TEXT ("\"extension\" is not yet supported.")));
- }
- else if (ACE_OS::strcmp (qName, "partitioning") == 0 ||
- ACE_OS::strcmp (qName, "destination") == 0)
- {
- // do nothing
- }
- else
- {
- ACEXML_THROW
- (ACEXML_SAXException
- ("Invalid tag encounter while parsing \"partitioning\""));
- }
- break;
-
- case HOMEPLACEMENT:
- if (ACE_OS::strcmp (qName, "componentfileref") == 0)
- {
- const char *id;
- CIAO::XML_Utils::get_single_attribute ("idref",
- id,
- atts
- ACEXML_ENV_ARG_PARAMETER);
- ACEXML_CHECK;
-
- this->home_placement_->componentfileref (id);
- }
- else if (ACE_OS::strcmp (qName, "componentinstantiation") == 0)
- {
- const char *id;
- CIAO::XML_Utils::get_id_and_cardinality (id,
- atts
- ACEXML_ENV_ARG_PARAMETER);
- ACEXML_CHECK;
-
- ACEXML_NEW_THROW_EX (this->comp_instance_,
- CIAO::Assembly_Placement::componentinstantiation (id),
- ACEXML_SAXException
- ("Internal error, no memory."));
- ACEXML_CHECK;
- this->state_ = COMPONENT_INSTANTIATION;
-
- }
- else if (ACE_OS::strcmp (qName, "registerwithhomefinder") == 0 ||
- ACE_OS::strcmp (qName, "registerwithnaming") == 0)
- {
- const char *name;
- CIAO::XML_Utils::get_single_attribute ("name",
- name,
- atts
- ACEXML_ENV_ARG_PARAMETER);
- ACEXML_CHECK;
-
- CIAO::Assembly_Placement::homeplacement::Register_Info reg_info;
- if (ACE_OS::strcmp (qName, "registerwithhomefinder") == 0)
- reg_info.type_ = CIAO::Assembly_Placement::homeplacement::HOMEFINDER;
- else
- reg_info.type_ = CIAO::Assembly_Placement::homeplacement::NAMING;
- reg_info.name_ = name;
- this->home_placement_->register_info_.enqueue_tail (reg_info);
- }
- // @@ Ignore the rest of element in home placement for now.
- break;
-
- case COMPONENT_INSTANTIATION:
- if (ACE_OS::strcmp (qName, "registercomponent") == 0)
- {
- this->comp_register_info_.reset ();
- }
- else if (ACE_OS::strcmp (qName, "registerwithnaming") == 0)
- {
- const char *name;
- CIAO::XML_Utils::get_single_attribute ("name",
- name,
- atts
- ACEXML_ENV_ARG_PARAMETER);
- ACEXML_CHECK;
-
- this->comp_register_info_.name_ = name;
- this->comp_register_info_.method_ =
- CIAO::Assembly_Placement::componentinstantiation::NAMINGSERVICE;
- }
- else if (ACE_OS::strcmp (qName, "writeiortofile") == 0)
- {
- const char *name;
- CIAO::XML_Utils::get_single_attribute ("name",
- name,
- atts
- ACEXML_ENV_ARG_PARAMETER);
- ACEXML_CHECK;
-
- this->comp_register_info_.name_ = name;
- this->comp_register_info_.method_ =
- CIAO::Assembly_Placement::componentinstantiation::IORFILE;
- }
-
- break;
-
- default:
- ACEXML_THROW
- (ACEXML_SAXException
- ("Invalid state encounter while parsing \"partitioning\""));
- }
-
-}
-
-// =================================================================
-
-void
-CIAO::Connections_Handler::characters (const ACEXML_Char *ch,
- int start,
- int length
- ACEXML_ENV_ARG_DECL_NOT_USED)
- ACE_THROW_SPEC ((ACEXML_SAXException))
-{
- this->characters_.set (ch + start, length);
-}
-
-void
-CIAO::Connections_Handler::endElement (const ACEXML_Char *namespaceURI,
- const ACEXML_Char *localName,
- const ACEXML_Char *qName
- ACEXML_ENV_ARG_DECL)
- ACE_THROW_SPEC ((ACEXML_SAXException))
-{
- ACE_TRACE ("CIAO::Connections_Handler::endElement");
-
- --this->element_count_;
- if (this->element_count_ == 0)
- {
- this->parent_->pop_handler (namespaceURI,
- localName,
- qName
- ACEXML_ENV_ARG_PARAMETER);
- ACEXML_CHECK;
- return;
- }
-
- if (ACE_OS::strcmp (qName, "stringifiedobjectref") == 0)
- {
- ACEXML_NEW_THROW_EX (this->resolver_,
- CIAO::Assembly_Connection::IF_Resolver_Info
- (CIAO::Assembly_Connection::STRINGIFIEDOBJECTREF,
- this->characters_.c_str ()),
- ACEXML_SAXException ("No memory left"));
- ACEXML_CHECK;
- return;
- }
-
- switch (this->state_)
- {
- case START:
- if (ACE_OS::strcmp (qName, "usesidentifier") == 0 ||
- ACE_OS::strcmp (qName, "emitsidentifier") == 0 ||
- ACE_OS::strcmp (qName, "publishesidentifier") == 0)
- {
- this->info_.name_ = this->characters_.c_str ();
- }
- else if (ACE_OS::strcmp (qName, "usesport") == 0 ||
- ACE_OS::strcmp (qName, "proxyhome") == 0)
- {
- if (this->resolver_ == 0)
- ACEXML_THROW (ACEXML_SAXException ("No valide IF resolver available"));
- this->info_.component_ = this->resolver_;
- this->resolver_ = 0;
- this->state_ = SOURCE;
- }
- else if (ACE_OS::strcmp (qName, "emitsport") == 0 ||
- ACE_OS::strcmp (qName, "publishesport") == 0)
- {
- if (this->resolver_ == 0)
- ACEXML_THROW (ACEXML_SAXException
- ("No valide nested IF resolver available"));
- this->info_.component_ = this->resolver_;
- this->resolver_ = 0;
- }
- else if (ACE_OS::strcmp (qName, "connectevent") == 0)
- this->context_->connections_.enqueue_tail (this->info_);
- else if (ACE_OS::strcmp (qName, "extension") == 0)
- {
- // @@ Not supported yet.
- }
- break;
-
-
- case SOURCE:
- if (ACE_OS::strcmp (qName, "destinationhome") == 0 ||
- ACE_OS::strcmp (qName, "existinginterface") == 0)
- {
- if (this->resolver_ == 0)
- ACEXML_THROW (ACEXML_SAXException ("No valide IF resolver available"));
- this->info_.interface_ = this->resolver_;
- this->resolver_ = 0;
- }
- else if (ACE_OS::strcmp (qName, "consumesport") == 0)
- {
- if (this->resolver_ == 0)
- ACEXML_THROW (ACEXML_SAXException
- ("No valide nested IF resolver available"));
- CIAO::Assembly_Connection::IF_Resolver_Info *nested = this->resolver_;
-
- ACEXML_NEW_THROW_EX (this->resolver_,
- CIAO::Assembly_Connection::IF_Resolver_Info
- (CIAO::Assembly_Connection::CONSUMER,
- this->resolver_info_.c_str (),
- nested),
- ACEXML_SAXException ("No memory left"));
- ACEXML_CHECK;
- this->info_.interface_ = this->resolver_;
- this->resolver_ = 0;
- this->state_ = START;
- }
- else if (ACE_OS::strcmp (qName, "consumesidentifier") == 0 ||
- ACE_OS::strcmp (qName, "providesidentifier") == 0)
- {
- this->resolver_info_ = this->characters_.c_str ();
- }
- else if (ACE_OS::strcmp (qName, "providesport") == 0)
- {
- if (this->resolver_ == 0)
- ACEXML_THROW (ACEXML_SAXException
- ("No valide nested IF resolver available"));
- CIAO::Assembly_Connection::IF_Resolver_Info *nested = this->resolver_;
-
- ACEXML_NEW_THROW_EX (this->resolver_,
- CIAO::Assembly_Connection::IF_Resolver_Info
- (CIAO::Assembly_Connection::PROVIDER,
- this->resolver_info_.c_str (),
- nested),
- ACEXML_SAXException ("No memory left"));
- ACEXML_CHECK;
- this->info_.interface_ = this->resolver_;
- this->resolver_ = 0;
- }
- else if (ACE_OS::strcmp (qName, "connectinterface") == 0 ||
- ACE_OS::strcmp (qName, "connecthomes") == 0)
- {
- this->context_->connections_.enqueue_tail (this->info_);
- this->state_ = START;
- }
- break;
-
- default:
- ACEXML_THROW
- (ACEXML_SAXException
- ("Invalid state encounter while parsing \"connections\""));
- break;
- }
-}
-
-void
-CIAO::Connections_Handler::startElement (const ACEXML_Char *namespaceURI,
- const ACEXML_Char *localName,
- const ACEXML_Char *qName,
- ACEXML_Attributes *atts
- ACEXML_ENV_ARG_DECL)
- ACE_THROW_SPEC ((ACEXML_SAXException))
-{
- ACE_UNUSED_ARG (namespaceURI);
- ACE_UNUSED_ARG (localName);
-
- ACE_TRACE ("CIAO::Connections_Handler::startElement");
- ++this->element_count_;
-
- if (ACE_OS::strcmp (qName, "componentinstantiationref") == 0)
- {
- const char *idref;
- CIAO::XML_Utils::get_single_attribute ("idref",
- idref,
- atts
- ACEXML_ENV_ARG_PARAMETER);
- ACEXML_CHECK;
-
- ACEXML_NEW_THROW_EX (this->resolver_,
- CIAO::Assembly_Connection::IF_Resolver_Info
- (CIAO::Assembly_Connection::COMP_IDREF,
- idref),
- ACEXML_SAXException ("No memory left"));
- ACEXML_CHECK;
- return;
- }
- else if (ACE_OS::strcmp (qName, "homeplacementref") == 0)
- {
- const char *idref;
- CIAO::XML_Utils::get_single_attribute ("idref",
- idref,
- atts
- ACEXML_ENV_ARG_PARAMETER);
- ACEXML_CHECK;
-
- ACEXML_NEW_THROW_EX (this->resolver_,
- CIAO::Assembly_Connection::IF_Resolver_Info
- (CIAO::Assembly_Connection::HOME_IDREF,
- idref),
- ACEXML_SAXException ("No memory left"));
- ACEXML_CHECK;
- return;
- }
- else if (ACE_OS::strcmp (qName, "namingservice") == 0)
- {
- const char *name;
- CIAO::XML_Utils::get_single_attribute ("name",
- name,
- atts
- ACEXML_ENV_ARG_PARAMETER);
- ACEXML_CHECK;
-
- ACEXML_NEW_THROW_EX (this->resolver_,
- CIAO::Assembly_Connection::IF_Resolver_Info
- (CIAO::Assembly_Connection::NAMINGSERVICE,
- name),
- ACEXML_SAXException ("No memory left"));
- ACEXML_CHECK;
- return;
- }
- else if (ACE_OS::strcmp (qName, "homefinder") == 0)
- {
- const char *name;
- CIAO::XML_Utils::get_single_attribute ("name",
- name,
- atts
- ACEXML_ENV_ARG_PARAMETER);
- ACEXML_CHECK;
-
- ACEXML_NEW_THROW_EX (this->resolver_,
- CIAO::Assembly_Connection::IF_Resolver_Info
- (CIAO::Assembly_Connection::HOMEFINDER,
- name),
- ACEXML_SAXException ("No memory left"));
- ACEXML_CHECK;
- return;
- }
- else if (ACE_OS::strcmp (qName, "traderquery") == 0)
- ACEXML_THROW (ACEXML_SAXException ("\'traderquery\' is not supported yet."));
-
- switch (this->state_)
- {
- case START:
- if (ACE_OS::strcmp (qName, "connectinterface") == 0)
- {
- this->reset_info (atts
- ACEXML_ENV_ARG_PARAMETER);
- ACEXML_CHECK;
-
- this->info_.type_ = CIAO::Assembly_Connection::INTERFACE;
- }
- else if (ACE_OS::strcmp (qName, "connectevent") == 0)
- {
- this->reset_info (atts
- ACEXML_ENV_ARG_PARAMETER);
- ACEXML_CHECK;
- this->state_ = SOURCE;
- }
- else if (ACE_OS::strcmp (qName, "connecthomes") == 0)
- {
- this->reset_info (atts
- ACEXML_ENV_ARG_PARAMETER);
- ACEXML_CHECK;
- this->info_.type_ = CIAO::Assembly_Connection::HOME;
- }
- else if (ACE_OS::strcmp (qName, "emitsport") == 0)
- {
- this->info_.type_ = CIAO::Assembly_Connection::EMITTER_CONSUMER;
- }
- else if (ACE_OS::strcmp (qName, "publishesport") == 0)
- {
- this->info_.type_ = CIAO::Assembly_Connection::PUBLISHER_CONSUMER;
- }
- else if (ACE_OS::strcmp (qName, "extension") == 0)
- {
- // @@ Not supported yet.
- }
- break;
-
- case SOURCE:
- break;
-
- default:
- ACEXML_THROW
- (ACEXML_SAXException
- ("Invalid state encounter while parsing \"connections\""));
- break;
- }
-}
-
-void
-CIAO::Connections_Handler::reset_info (ACEXML_Attributes *atts
- ACEXML_ENV_ARG_DECL)
- ACE_THROW_SPEC ((ACEXML_SAXException))
-{
- this->info_.type_ = CIAO::Assembly_Connection::INVALID_CONN;
- this->info_.id_.clear ();
- this->info_.name_.clear ();
-
- // @@ Potential memory leaks below. Need to ensure the allocated
- // memory is free when the Assembly_Spec is destroyed.
-
- this->info_.component_ = 0;
- this->info_.interface_ = 0;
-
- for (size_t i = 0; i < atts->getLength (); ++i)
- {
- if (ACE_OS_String::strcmp (atts->getQName (i), ACE_TEXT ("id")) == 0)
- this->info_.id_ = atts->getValue (i);
- else
- ACEXML_THROW
- (ACEXML_SAXException
- ("Invalid tag encounter while parsing \"componentfiles\""));
- }
-}
diff --git a/TAO/CIAO/tools/XML_Helpers/Assembly_Handlers.h b/TAO/CIAO/tools/XML_Helpers/Assembly_Handlers.h
deleted file mode 100644
index 895ac56bbfb..00000000000
--- a/TAO/CIAO/tools/XML_Helpers/Assembly_Handlers.h
+++ /dev/null
@@ -1,323 +0,0 @@
-// $Id$
-
-//=============================================================================
-/**
- * @file Assembly_Handlers.h
- *
- * $Id$
- *
- * @author Nanbor Wang <nanbor@cs.wustl.edu>
- */
-//=============================================================================
-
-#ifndef CIAO_ASSEMBLY_HANDLERS_H
-#define CIAO_ASSEMBLY_HANDLERS_H
-
-#include "Cascadable_DocHandler.h"
-#include "XML_Utils.h"
-
-namespace CIAO
-{
-
- /**
- * @class Assembly_Handler
- *
- * @brief Assembly_Handler parse the root componentassembly descriptors
- *
- */
- class Assembly_Handler : public CIAO::XMLHelpers::Cascadable_DocHandler
- {
- public:
- enum CS_States
- {
- START,
- COMPONENTFILES_DONE,
- PLACEMENT_DONE,
- CONNECTION_DONE,
- DONE
- };
-
- /**
- * Default constructor.
- */
- Assembly_Handler (ACEXML_XMLReader *parser,
- Assembly_Spec *spec
- ACEXML_ENV_ARG_DECL)
- ACE_THROW_SPEC ((ACEXML_SAXException)) ;
-
- /**
- * Default destructor.
- */
- virtual ~Assembly_Handler (void);
-
- // Methods inherit from ACEXML_ContentHandler.
-
- /**
- * Receive notification of character data.
- */
- virtual void characters (const ACEXML_Char *ch,
- int start,
- int length ACEXML_ENV_ARG_DECL)
- ACE_THROW_SPEC ((ACEXML_SAXException))
- ;
-
- /**
- * Receive notification of the end of an element.
- */
- virtual void endElement (const ACEXML_Char *namespaceURI,
- const ACEXML_Char *localName,
- const ACEXML_Char *qName ACEXML_ENV_ARG_DECL)
- ACE_THROW_SPEC ((ACEXML_SAXException))
- ;
-
- /**
- * Receive notification of the beginning of an element.
- */
- virtual void startElement (const ACEXML_Char *namespaceURI,
- const ACEXML_Char *localName,
- const ACEXML_Char *qName,
- ACEXML_Attributes *atts ACEXML_ENV_ARG_DECL)
- ACE_THROW_SPEC ((ACEXML_SAXException))
- ;
-
- protected:
- Assembly_Spec *context_;
-
- CS_States state_;
-
- private:
- };
-
- /**
- * @class Comp_File_Handler
- *
- * @brief This DocHandler handles the "componentfiles" tag
- */
- class Comp_File_Handler : public CIAO::XMLHelpers::Cascadable_DocHandler
- {
- public:
- // @@ CF_States is not used for now.
- enum CF_States
- {
- START
- };
-
- /// Constructor.
- Comp_File_Handler (Assembly_Spec *spec,
- ACEXML_XMLReader *parser,
- CIAO::XMLHelpers::Cascadable_DocHandler *parent,
- const ACEXML_Char *namespaceURI,
- const ACEXML_Char *localName,
- const ACEXML_Char *qName,
- ACEXML_Attributes *atts
- ACEXML_ENV_ARG_DECL)
- ACE_THROW_SPEC ((ACEXML_SAXException));
-
- /// Destructor
- virtual ~Comp_File_Handler ();
-
- /**
- * Receive notification of the end of an element.
- */
- virtual void endElement (const ACEXML_Char *namespaceURI,
- const ACEXML_Char *localName,
- const ACEXML_Char *qName
- ACEXML_ENV_ARG_DECL)
- ACE_THROW_SPEC ((ACEXML_SAXException)) ;
-
- /**
- * Receive notification of the beginning of an element.
- */
- virtual void startElement (const ACEXML_Char *namespaceURI,
- const ACEXML_Char *localName,
- const ACEXML_Char *qName,
- ACEXML_Attributes *atts
- ACEXML_ENV_ARG_DECL)
- ACE_THROW_SPEC ((ACEXML_SAXException)) ;
-
- protected:
- long element_count_;
-
- Assembly_Spec *context_;
-
- ACE_CString id_;
- ACE_CString fileinarchive_;
-
- CF_States state_;
- };
-
- /**
- * @class Partitioning_Handler
- *
- * @brief This DocHandler handles the "partitioning" tag
- */
- class Partitioning_Handler : public CIAO::XMLHelpers::Cascadable_DocHandler
- {
- public:
- // @@ Do we need PH_States?
- enum PH_States
- {
- START,
- HOMEPLACEMENT,
- COMPONENT_INSTANTIATION
- };
-
- enum CHAR_States
- {
- IDLE,
- DESTINATION
- };
-
- /// Constructor.
- Partitioning_Handler (Assembly_Spec *spec,
- ACEXML_XMLReader *parser,
- CIAO::XMLHelpers::Cascadable_DocHandler *parent,
- const ACEXML_Char *namespaceURI,
- const ACEXML_Char *localName,
- const ACEXML_Char *qName,
- ACEXML_Attributes *atts
- ACEXML_ENV_ARG_DECL)
- ACE_THROW_SPEC ((ACEXML_SAXException));
-
- /// Destructor
- virtual ~Partitioning_Handler ();
-
- /*
- * Receive notification of character data.
- */
- virtual void characters (const ACEXML_Char *ch,
- int start,
- int length
- ACEXML_ENV_ARG_DECL)
- ACE_THROW_SPEC ((ACEXML_SAXException)) ;
-
- /**
- * Receive notification of the end of an element.
- */
- virtual void endElement (const ACEXML_Char *namespaceURI,
- const ACEXML_Char *localName,
- const ACEXML_Char *qName
- ACEXML_ENV_ARG_DECL)
- ACE_THROW_SPEC ((ACEXML_SAXException)) ;
-
- /**
- * Receive notification of the beginning of an element.
- */
- virtual void startElement (const ACEXML_Char *namespaceURI,
- const ACEXML_Char *localName,
- const ACEXML_Char *qName,
- ACEXML_Attributes *atts
- ACEXML_ENV_ARG_DECL)
- ACE_THROW_SPEC ((ACEXML_SAXException)) ;
-
- protected:
- long element_count_;
-
- Assembly_Spec *context_;
-
- /// Temporary holder when building componentinstantiation spec.
- Assembly_Placement::hostcollocation *host_collocation_;
-
- /// Temporary holder when building componentinstantiation spec.
- Assembly_Placement::processcollocation *process_collocation_;
-
- /// Temporary holder when building homeplacement spec.
- Assembly_Placement::homeplacement *home_placement_;
-
- /// Temporary holder when building componentinstantiation spec.
- Assembly_Placement::componentinstantiation *comp_instance_;
-
- // State of this partitioning handler.
- PH_States state_;
-
- ACE_CString characters_;
-
- /// Temporary holder when building registration information
- Assembly_Placement::componentinstantiation::Register_Info comp_register_info_;
- };
-
- /**
- * @class Connections_Handler
- *
- * @brief This DocHandler handles the "connections" tag
- */
- class Connections_Handler : public CIAO::XMLHelpers::Cascadable_DocHandler
- {
- public:
- enum CH_States
- {
- START, // parsing destination info
- SOURCE // parsing source I/F resolution method
- };
-
- /// Constructor.
- Connections_Handler (Assembly_Spec *spec,
- ACEXML_XMLReader *parser,
- CIAO::XMLHelpers::Cascadable_DocHandler *parent,
- const ACEXML_Char *namespaceURI,
- const ACEXML_Char *localName,
- const ACEXML_Char *qName,
- ACEXML_Attributes *atts
- ACEXML_ENV_ARG_DECL)
- ACE_THROW_SPEC ((ACEXML_SAXException));
-
- /// Destructor
- virtual ~Connections_Handler ();
-
- /*
- * Receive notification of character data.
- */
- virtual void characters (const ACEXML_Char *ch,
- int start,
- int length
- ACEXML_ENV_ARG_DECL)
- ACE_THROW_SPEC ((ACEXML_SAXException)) ;
-
- /**
- * Receive notification of the end of an element.
- */
- virtual void endElement (const ACEXML_Char *namespaceURI,
- const ACEXML_Char *localName,
- const ACEXML_Char *qName
- ACEXML_ENV_ARG_DECL)
- ACE_THROW_SPEC ((ACEXML_SAXException)) ;
-
- /**
- * Receive notification of the beginning of an element.
- */
- virtual void startElement (const ACEXML_Char *namespaceURI,
- const ACEXML_Char *localName,
- const ACEXML_Char *qName,
- ACEXML_Attributes *atts
- ACEXML_ENV_ARG_DECL)
- ACE_THROW_SPEC ((ACEXML_SAXException)) ;
-
- protected:
- // Create a new blank Connect_Info.
- void reset_info (ACEXML_Attributes *atts
- ACEXML_ENV_ARG_DECL)
- ACE_THROW_SPEC ((ACEXML_SAXException)) ;
-
- long element_count_;
-
- Assembly_Spec *context_;
-
- // Connection Info currently being built.
- Assembly_Connection::Connect_Info info_;
-
- CH_States state_;
-
- // Resolver info cache.
- ACE_CString resolver_info_;
-
- // Resolver cache.
- Assembly_Connection::IF_Resolver_Info *resolver_;
-
- ACE_CString characters_;
- };
-}
-
-#if defined (__ACE_INLINE__)
-# include "Assembly_Handlers.inl"
-#endif /* __ACE_INLINE__ */
-#endif /* CIAO_ASSEMBLY_HANDLERS_H */
diff --git a/TAO/CIAO/tools/XML_Helpers/Assembly_Handlers.inl b/TAO/CIAO/tools/XML_Helpers/Assembly_Handlers.inl
deleted file mode 100644
index 32c53b4af5b..00000000000
--- a/TAO/CIAO/tools/XML_Helpers/Assembly_Handlers.inl
+++ /dev/null
@@ -1,117 +0,0 @@
-// $Id$
-
-ACE_INLINE
-CIAO::Assembly_Handler::Assembly_Handler (ACEXML_XMLReader *reader,
- Assembly_Spec *spec
- ACEXML_ENV_ARG_DECL)
- ACE_THROW_SPEC ((ACEXML_SAXException))
- : Cascadable_DocHandler (reader,
- 0,
- 0,
- 0,
- 0,
- 0
- ACEXML_ENV_ARG_PARAMETER),
- context_ (spec),
- state_ (START)
-{
-}
-
-ACE_INLINE
-CIAO::Assembly_Handler::~Assembly_Handler (void)
-{
-}
-
-// =================================================================
-
-ACE_INLINE
-CIAO::Comp_File_Handler::Comp_File_Handler (Assembly_Spec *spec,
- ACEXML_XMLReader *parser,
- CIAO::XMLHelpers::Cascadable_DocHandler *p,
- const ACEXML_Char *namespaceURI,
- const ACEXML_Char *localName,
- const ACEXML_Char *qName,
- ACEXML_Attributes *atts
- ACEXML_ENV_ARG_DECL)
- ACE_THROW_SPEC ((ACEXML_SAXException))
- : Cascadable_DocHandler (parser,
- p,
- namespaceURI,
- localName,
- qName,
- atts
- ACEXML_ENV_ARG_PARAMETER),
- element_count_ (0),
- context_ (spec),
- state_ (START)
-{
-}
-
-ACE_INLINE
-CIAO::Comp_File_Handler::~Comp_File_Handler (void)
-{
-}
-
-// =================================================================
-
-ACE_INLINE
-CIAO::Partitioning_Handler::Partitioning_Handler (Assembly_Spec *spec,
- ACEXML_XMLReader *parser,
- CIAO::XMLHelpers::Cascadable_DocHandler *p,
- const ACEXML_Char *namespaceURI,
- const ACEXML_Char *localName,
- const ACEXML_Char *qName,
- ACEXML_Attributes *atts
- ACEXML_ENV_ARG_DECL)
- ACE_THROW_SPEC ((ACEXML_SAXException))
- : Cascadable_DocHandler (parser,
- p,
- namespaceURI,
- localName,
- qName,
- atts
- ACEXML_ENV_ARG_PARAMETER),
- element_count_ (0),
- context_ (spec),
- host_collocation_ (0),
- process_collocation_ (0),
- home_placement_ (0),
- comp_instance_ (0),
- state_ (START)
-{
-}
-
-ACE_INLINE
-CIAO::Partitioning_Handler::~Partitioning_Handler (void)
-{
-}
-
-// =================================================================
-
-ACE_INLINE
-CIAO::Connections_Handler::Connections_Handler (Assembly_Spec *spec,
- ACEXML_XMLReader *parser,
- CIAO::XMLHelpers::Cascadable_DocHandler *p,
- const ACEXML_Char *namespaceURI,
- const ACEXML_Char *localName,
- const ACEXML_Char *qName,
- ACEXML_Attributes *atts
- ACEXML_ENV_ARG_DECL)
- ACE_THROW_SPEC ((ACEXML_SAXException))
- : Cascadable_DocHandler (parser,
- p,
- namespaceURI,
- localName,
- qName,
- atts
- ACEXML_ENV_ARG_PARAMETER),
- element_count_ (0),
- context_ (spec),
- state_ (START)
-{
-}
-
-ACE_INLINE
-CIAO::Connections_Handler::~Connections_Handler (void)
-{
-}
diff --git a/TAO/CIAO/tools/XML_Helpers/Assembly_Spec.cpp b/TAO/CIAO/tools/XML_Helpers/Assembly_Spec.cpp
deleted file mode 100644
index f0ce278f379..00000000000
--- a/TAO/CIAO/tools/XML_Helpers/Assembly_Spec.cpp
+++ /dev/null
@@ -1,101 +0,0 @@
-// $Id$
-
-#include "Assembly_Spec.h"
-
-#if !defined (__ACE_INLINE__)
-# include "Assembly_Spec.inl"
-#endif /* __ACE_INLINE__ */
-
-
-// ================================================================
-
-int
-CIAO::Assembly_Placement::Node::accept
-(CIAO::Assembly_Placement::Visitor &
- ACE_ENV_ARG_DECL)
-{
- // This should have never gotten called.
- ACE_ASSERT (0);
- return -1;
-}
-
-CIAO::Assembly_Placement::Node::~Node ()
-{
-}
-
-// ================================================================
-
-int
-CIAO::Assembly_Placement::Container::accept
-(CIAO::Assembly_Placement::Visitor &visitor
- ACE_ENV_ARG_DECL)
-{
- return visitor.visit_Container (this
- ACE_ENV_ARG_PARAMETER);
-}
-
-// ================================================================
-
-int
-CIAO::Assembly_Placement::componentinstantiation::accept
-(CIAO::Assembly_Placement::Visitor &visitor
- ACE_ENV_ARG_DECL)
-{
- return visitor.visit_componentinstantiation (this
- ACE_ENV_ARG_PARAMETER);
-}
-
-CIAO::Assembly_Placement::componentinstantiation::~componentinstantiation ()
-{
-}
-
-// ================================================================
-
-int
-CIAO::Assembly_Placement::homeplacement::accept
-(CIAO::Assembly_Placement::Visitor &visitor
- ACE_ENV_ARG_DECL)
-{
- return visitor.visit_homeplacement (this
- ACE_ENV_ARG_PARAMETER);
-}
-
-CIAO::Assembly_Placement::homeplacement::~homeplacement ()
-{
-}
-
-// ================================================================
-
-int
-CIAO::Assembly_Placement::hostcollocation::accept
-(CIAO::Assembly_Placement::Visitor &visitor
- ACE_ENV_ARG_DECL)
-{
- return visitor.visit_hostcollocation (this
- ACE_ENV_ARG_PARAMETER);
-}
-
-CIAO::Assembly_Placement::hostcollocation::~hostcollocation ()
-{
-}
-
-// ================================================================
-
-int
-CIAO::Assembly_Placement::processcollocation::accept
-(CIAO::Assembly_Placement::Visitor &visitor
- ACE_ENV_ARG_DECL)
-{
- return visitor.visit_processcollocation (this
- ACE_ENV_ARG_PARAMETER);
-}
-
-CIAO::Assembly_Placement::processcollocation::~processcollocation ()
-{
-}
-
-// ================================================================
-
-CIAO::Assembly_Placement::Visitor::~Visitor (void)
-{
-}
diff --git a/TAO/CIAO/tools/XML_Helpers/Assembly_Spec.h b/TAO/CIAO/tools/XML_Helpers/Assembly_Spec.h
deleted file mode 100644
index faa0c1cb339..00000000000
--- a/TAO/CIAO/tools/XML_Helpers/Assembly_Spec.h
+++ /dev/null
@@ -1,395 +0,0 @@
-// $Id$
-
-//=============================================================================
-/**
- * @file Assembly_Spec.h
- *
- * $Id$
- *
- * @author Nanbor Wang <nanbor@cs.wustl.edu>
- */
-//=============================================================================
-
-#ifndef CIAO_ASSEMBLY_SPEC_H
-#define CIAO_ASSEMBLY_SPEC_H
-
-#include "ace/Hash_Map_Manager_T.h"
-#include "ace/Containers_T.h"
-#include "ace/SString.h"
-#include "ace/CORBA_macros.h"
-#include "XML_Helpers_Export.h"
-
-namespace CIAO
-{
- /**
- * @typedef ID_IMPL_MAP
- *
- * A hash map type for indexing implmentation IDs to corresponding
- * softpkg paths.
- */
- typedef ACE_Hash_Map_Manager_Ex<ACE_CString,
- ACE_CString,
- ACE_Hash<ACE_CString>,
- ACE_Equal_To<ACE_CString>,
- ACE_Null_Mutex> ID_IMPL_MAP;
-
- namespace Assembly_Placement
- {
- /**
- * @enum Node Type
- */
- typedef enum _nodetype
- {
- INVALID_NODE,
- INVALID_CONTAINER,
- HOST,
- PROCESS,
- HOME,
- COMPONENT
- } Node_Type;
-
- // Forward declaration.
- class Visitor;
-
- /**
- * @class Node
- *
- * Abstract base class for placement information
- */
- class CIAO_XML_HELPERS_Export Node
- {
- public:
- /// Default constructor.
- Node (const char *id = 0);
-
- /// Accepting a visitor.
- virtual int accept (Visitor &v
- ACE_ENV_ARG_DECL_WITH_DEFAULTS);
-
- virtual ~Node ();
-
- void usagename (const char *un);
- const char *usagename (void) const;
-
- const char *id (void) const;
-
- /// Double linked list required internal data
- Node *prev_;
- Node *next_;
-
- protected:
- /// Node ID.
- ACE_CString id_;
-
- /// Usage information.
- ACE_CString usagename_;
- };
-
- /**
- * @class Container
- *
- * Abstract base class for container type placement node
- */
- class CIAO_XML_HELPERS_Export Container
- : public Node,
- public ACE_Double_Linked_List<Node>
- {
- public:
- Container (const char *id,
- unsigned long cardinality);
-
- /// Accepting a visitor.
- virtual int accept (Visitor &v
- ACE_ENV_ARG_DECL_WITH_DEFAULTS);
-
- //@{
- /** Accesor/mutator for destination information */
- void destination (const char *des);
- const char *destination (void) const;
-
- unsigned long cardinality (void) const;
- //@}
-
- protected:
- /// A corbaloc string pointing to a CIAO_Daemon interface.
- ACE_CString destination_;
-
- // cardinality
- unsigned long cardinality_;
- };
-
- /**
- * @class componentinstantiation
- */
- class CIAO_XML_HELPERS_Export componentinstantiation
- : public Node
- {
- public:
- typedef enum _if_register_type
- {
- COMPONENT,
- PROVIDESID,
- CONSUMESID
- } IF_Register_Type;
-
- typedef enum _register_method
- {
- NAMINGSERVICE,
- IORFILE // CIAO extension
- } Register_Method;
-
- typedef struct _register_info
- {
- IF_Register_Type type_;
- Register_Method method_;
-
- ACE_CString port_id_;
- ACE_CString name_;
-
- void reset ()
- {
- type_ = COMPONENT;
- port_id_.clear ();
- name_.clear ();
- }
- } Register_Info;
-
- componentinstantiation (const char *id);
-
-
- /// Accepting a visitor.
- virtual int accept (Visitor &v
- ACE_ENV_ARG_DECL_WITH_DEFAULTS);
-
- virtual ~componentinstantiation ();
-
- typedef ACE_Unbounded_Queue <Register_Info> REGISTRATION_QUEUE;
- REGISTRATION_QUEUE register_info_;
-
- protected:
- };
-
- /**
- * @class homeplacement
- */
- class CIAO_XML_HELPERS_Export homeplacement
- : public Container
- {
- public:
- typedef enum _register_method
- {
- HOMEFINDER,
- NAMING,
- TRADER // No implementation for trader yet.
- } Register_Method;
-
- typedef struct _register_info
- {
- /// Register_Method
- Register_Method type_;
-
- /// Name to be registered with the finder/namingservice
- ACE_CString name_;
- } Register_Info;
-
- homeplacement (const char *id,
- unsigned long cardinality = 1);
- /// Accepting a visitor.
- virtual int accept (Visitor &v
- ACE_ENV_ARG_DECL_WITH_DEFAULTS);
-
- virtual ~homeplacement ();
-
- //@{
- /** Accessor/mutator functions */
- void componentfileref (const char *file);
- const char *componentfileref (void) const;
- //@}
-
- ACE_Unbounded_Queue <Register_Info> register_info_;
-
- protected:
- // idref to component implementation file.
- ACE_CString componentfileref_;
- };
-
- /**
- * @class hostcollocation
- */
- class CIAO_XML_HELPERS_Export hostcollocation
- : public Container
- {
- public:
- hostcollocation (const char *id,
- unsigned long cardinality = 1);
-
- /// Accepting a visitor.
- virtual int accept (Visitor &v
- ACE_ENV_ARG_DECL_WITH_DEFAULTS);
-
- virtual ~hostcollocation ();
-
- protected:
- };
-
- /**
- * @class hostcollocation
- */
- class CIAO_XML_HELPERS_Export processcollocation
- : public Container
- {
- public:
- processcollocation (const char *id,
- unsigned long cardinality = 1);
-
- /// Accepting a visitor.
- virtual int accept (Visitor &v
- ACE_ENV_ARG_DECL_WITH_DEFAULTS);
-
- virtual ~processcollocation ();
-
- protected:
- };
-
- /**
- * @class Placement_Visitor
- *
- * Abstract Base class for placement node visitor.
- */
- class CIAO_XML_HELPERS_Export Visitor
- {
- public:
- Visitor ();
-
- virtual ~Visitor () = 0;
-
- virtual int visit_Container (Container *c
- ACE_ENV_ARG_DECL_WITH_DEFAULTS) = 0;
-
- virtual int visit_hostcollocation (hostcollocation *hc
- ACE_ENV_ARG_DECL_WITH_DEFAULTS) = 0;
-
- virtual int visit_processcollocation (processcollocation *pc
- ACE_ENV_ARG_DECL_WITH_DEFAULTS) = 0;
-
- virtual int visit_homeplacement (homeplacement *hp
- ACE_ENV_ARG_DECL_WITH_DEFAULTS) = 0;
-
- virtual int visit_componentinstantiation (componentinstantiation *ci
- ACE_ENV_ARG_DECL_WITH_DEFAULTS) = 0;
-
- protected:
- };
- }
-
- namespace Assembly_Connection
- {
- /**
- *
- */
- typedef enum _if_resolution
- {
- PROVIDER, // Requires a component ref. (compound)
- CONSUMER, // Requires a component ref. (compound)
- COMP_IDREF, // Requires an idref
- HOME_IDREF, // Requires an idref
- NAMINGSERVICE, // Requires a name
- STRINGIFIEDOBJECTREF, // Requires an IOR
- HOMEFINDER, // Requries a name (similar to naming)
- TRADERQUERY // Require trader query structure. No support for now.
- } IF_Resolution_Method;
-
- typedef enum _conxion_type
- {
- INTERFACE,
- EMITTER_CONSUMER,
- PUBLISHER_CONSUMER,
- HOME,
- INVALID_CONN
- } Connection_Type;
-
- class CIAO_XML_HELPERS_Export IF_Resolver_Info
- {
- public:
- IF_Resolver_Info (IF_Resolution_Method type,
- const char *info,
- IF_Resolver_Info *nested = 0);
-
- ~IF_Resolver_Info ();
-
- IF_Resolution_Method resolver_type (void) const;
-
- /// The string we use to resolve the interface.
- const char *resolver_info (void) const;
-
- /// Return a nested resolver this resolver depends on.
- IF_Resolver_Info *nested_resolver (void);
-
- /// Return the trader structure. (Not implemented yet.
- /// therefore, we are returning void * for now.)
- void *traderquery (void) const;
-
- protected:
- /// Hints the kind of resolve info.
- IF_Resolution_Method resolver_type_;
-
- /// Information this info contains
- ACE_CString resolver_info_;
-
- /// Dependent resolver info.
- IF_Resolver_Info *nested_resolver_;
-
- /// @@@ Future placeholder for trader query info.
- void *traderquery_;
- };
-
- /**
- *
- */
- typedef struct CIAO_XML_HELPERS_Export _CII
- {
- _CII ();
-
- ~_CII ();
-
- // The kind of connection this info describes.
- Connection_Type type_;
-
- /// The id of the connection.
- ACE_CString id_;
-
- /// The name of the receptacle or consumer.
- ACE_CString name_;
-
- /// The component that uses the receptacle or consumes the event.
- IF_Resolver_Info *component_;
-
- /// The interface that is to be connected to the port.
- IF_Resolver_Info *interface_;
-
- } Connect_Info;
- }
-
- /**
- *
- */
- typedef struct CIAO_XML_HELPERS_Export _ASpec
- {
- _ASpec ();
-
- /// ID to implementation map.
- ID_IMPL_MAP componentfiles_;
-
- /// Partitioning data
- Assembly_Placement::Container partitioning_;
-
- /// Connection data
- typedef ACE_Unbounded_Queue<Assembly_Connection::Connect_Info> CONNECTION_QUEUE;
- CONNECTION_QUEUE connections_;
- } Assembly_Spec;
-}
-
-#if defined (__ACE_INLINE__)
-# include "Assembly_Spec.inl"
-#endif /* __ACE_INLINE__ */
-#endif /* CIAO_ASSEMBLY_SPEC_H */
diff --git a/TAO/CIAO/tools/XML_Helpers/Assembly_Spec.inl b/TAO/CIAO/tools/XML_Helpers/Assembly_Spec.inl
deleted file mode 100644
index 711fd5816ed..00000000000
--- a/TAO/CIAO/tools/XML_Helpers/Assembly_Spec.inl
+++ /dev/null
@@ -1,189 +0,0 @@
-// $Id$
-
-// ================================================================
-
-ACE_INLINE
-CIAO::Assembly_Placement::Node::Node (const char *id)
- : prev_ (0),
- next_ (0),
- id_ (id)
-{
-}
-
-ACE_INLINE void
-CIAO::Assembly_Placement::Node::usagename (const char *un)
-{
- this->usagename_ = un;
-}
-
-ACE_INLINE const char *
-CIAO::Assembly_Placement::Node::usagename () const
-{
- return this->usagename_.c_str ();
-}
-
-ACE_INLINE const char *
-CIAO::Assembly_Placement::Node::id () const
-{
- return this->id_.c_str ();
-}
-
-// ================================================================
-
-ACE_INLINE
-CIAO::Assembly_Placement::Container::Container (const char *id,
- unsigned long cardinality)
- : CIAO::Assembly_Placement::Node (id),
- cardinality_ (cardinality)
-{
-}
-
-ACE_INLINE void
-CIAO::Assembly_Placement::Container::destination (const char *des)
-{
- this->destination_ = des;
-}
-
-ACE_INLINE const char *
-CIAO::Assembly_Placement::Container::destination (void) const
-{
- if (this->destination_.length () == 0)
- return 0;
- return this->destination_.c_str ();
-}
-
-ACE_INLINE unsigned long
-CIAO::Assembly_Placement::Container::cardinality (void) const
-{
- return this->cardinality_;
-}
-
-// ================================================================
-
-ACE_INLINE
-CIAO::Assembly_Placement::componentinstantiation::componentinstantiation (const char *id)
- : CIAO::Assembly_Placement::Node (id)
-{
-}
-
-// ================================================================
-
-ACE_INLINE
-CIAO::Assembly_Placement::homeplacement::homeplacement (const char *id,
- unsigned long cardinality)
- : CIAO::Assembly_Placement::Container (id,
- cardinality)
-{
-}
-
-ACE_INLINE const char *
-CIAO::Assembly_Placement::homeplacement::componentfileref (void) const
-{
- return this->componentfileref_.c_str ();
-}
-
-ACE_INLINE void
-CIAO::Assembly_Placement::homeplacement::componentfileref (const char *ref)
-{
- this->componentfileref_ = ref;
-}
-
-// ================================================================
-
-ACE_INLINE
-CIAO::Assembly_Placement::hostcollocation::hostcollocation (const char *id,
- unsigned long cardinality)
- : CIAO::Assembly_Placement::Container (id, cardinality)
-{
-}
-
-// ================================================================
-
-ACE_INLINE
-CIAO::Assembly_Placement::processcollocation::processcollocation (const char *id,
- unsigned long cardinality)
- : CIAO::Assembly_Placement::Container (id, cardinality)
-{
-}
-
-// ================================================================
-
-ACE_INLINE
-CIAO::Assembly_Placement::Visitor::Visitor (void)
-{
-}
-
-// ================================================================
-
-ACE_INLINE
-CIAO::Assembly_Connection::IF_Resolver_Info::IF_Resolver_Info
-(CIAO::Assembly_Connection::IF_Resolution_Method type,
- const char *info,
- CIAO::Assembly_Connection::IF_Resolver_Info *nested)
- : resolver_type_ (type),
- resolver_info_ (info),
- nested_resolver_ (nested),
- traderquery_ (0)
-{
-}
-
-ACE_INLINE
-CIAO::Assembly_Connection::IF_Resolver_Info::~IF_Resolver_Info (void)
-{
- delete this->nested_resolver_;
-}
-
-ACE_INLINE CIAO::Assembly_Connection::IF_Resolution_Method
-CIAO::Assembly_Connection::IF_Resolver_Info::resolver_type (void) const
-{
- return this->resolver_type_;
-}
-
-ACE_INLINE const char *
-CIAO::Assembly_Connection::IF_Resolver_Info::resolver_info (void) const
-{
- return this->resolver_info_.c_str ();
-}
-
-ACE_INLINE CIAO::Assembly_Connection::IF_Resolver_Info *
-CIAO::Assembly_Connection::IF_Resolver_Info::nested_resolver (void)
-{
- return this->nested_resolver_;
-}
-
-ACE_INLINE void *
-CIAO::Assembly_Connection::IF_Resolver_Info::traderquery (void) const
-{
- return this->traderquery_;
-}
-
-// ================================================================
-
-ACE_INLINE
-CIAO::Assembly_Connection::_CII::_CII (void)
- : type_ (CIAO::Assembly_Connection::INVALID_CONN),
- component_ (0),
- interface_ (0)
-{
-}
-
-ACE_INLINE
-CIAO::Assembly_Connection::_CII::~_CII (void)
-{
- // Do not manage memory here. We will try to manage the memory
- // explicitly for now.
-#if 0
- delete this->component_;
- delete this->interface_;
-#endif /* 0 */
-}
-
-// ================================================================
-
-ACE_INLINE
-CIAO::_ASpec::_ASpec (void)
- : partitioning_ ("CIAO_ROOT_PARTITIONING",
- 0)
-
-{
-}
diff --git a/TAO/CIAO/tools/XML_Helpers/Cascadable_DocHandler.cpp b/TAO/CIAO/tools/XML_Helpers/Cascadable_DocHandler.cpp
deleted file mode 100644
index e4fe356907b..00000000000
--- a/TAO/CIAO/tools/XML_Helpers/Cascadable_DocHandler.cpp
+++ /dev/null
@@ -1,161 +0,0 @@
-// $Id$
-
-#include "Cascadable_DocHandler.h"
-
-#if !defined (__ACE_INLINE__)
-# include "Cascadable_DocHandler.i"
-#endif /* __ACE_INLINE__ */
-
-CIAO::XMLHelpers::Cascadable_DocHandler::Cascadable_DocHandler (ACEXML_XMLReader *parser,
- Cascadable_DocHandler *parent,
- const ACEXML_Char *namespaceURI,
- const ACEXML_Char *localName,
- const ACEXML_Char *qName,
- ACEXML_Attributes *
- ACEXML_ENV_ARG_NOT_USED)
- ACE_THROW_SPEC ((ACEXML_SAXException))
- : namespaceURI_ (ACE::strnew (namespaceURI)),
- localName_ (ACE::strnew (localName)),
- qName_ (ACE::strnew (qName)),
- parser_ (parser),
- parent_ (parent),
- child_ (0),
- locator_ (0)
-{
-}
-
-CIAO::XMLHelpers::Cascadable_DocHandler::~Cascadable_DocHandler ()
-{
- delete[] this->namespaceURI_;
- delete[] this->localName_;
- delete[] this->qName_;
- delete[] this->child_;
-}
-
-void
-CIAO::XMLHelpers::Cascadable_DocHandler::destroy ()
-{
- delete this;
-}
-
-
-void
-CIAO::XMLHelpers::Cascadable_DocHandler::push_handler (Cascadable_DocHandler *new_handler,
- ACEXML_Attributes *atts
- ACEXML_ENV_ARG_DECL)
- ACE_THROW_SPEC ((ACEXML_SAXException))
-{
- // This method should be invoked from this->startElement ().
-
- new_handler->setDocumentLocator (this->locator_);
- this->child_ = new_handler;
- this->parser_->setContentHandler (new_handler);
- this->parser_->setDTDHandler (new_handler);
- this->parser_->setEntityResolver (new_handler);
- this->parser_->setErrorHandler (new_handler);
-
- new_handler->startElement (new_handler->namespaceURI (),
- new_handler->localName (),
- new_handler->qName (),
- atts
- ACEXML_ENV_ARG_PARAMETER);
- ACEXML_CHECK;
-}
-
-void
-CIAO::XMLHelpers::Cascadable_DocHandler::pop_handler (const ACEXML_Char *namespaceURI,
- const ACEXML_Char *localName,
- const ACEXML_Char *qName
- ACEXML_ENV_ARG_DECL)
- ACE_THROW_SPEC ((ACEXML_SAXException))
-{
- // This method should be invoked from this->child_->endElement ().
-
- this->parser_->setContentHandler (this);
- this->parser_->setDTDHandler (this);
- this->parser_->setEntityResolver (this);
- this->parser_->setErrorHandler (this);
-
- // endElement should harvest the parse result stored in the
- // this->child_ somehow because it's the last chance to do so.
- this->endElement (namespaceURI,
- localName,
- qName
- ACEXML_ENV_ARG_PARAMETER);
- ACEXML_CHECK;
-
- this->child_->destroy ();
- this->child_ = 0;
-}
-
-void
-CIAO::XMLHelpers::Cascadable_DocHandler::print_warning (const ACEXML_Char *level,
- ACEXML_SAXParseException & ex
- ACEXML_ENV_ARG_DECL_NOT_USED)
- ACE_THROW_SPEC ((ACEXML_SAXException))
-{
- ACE_DEBUG ((LM_DEBUG, "%s (%s): line :%d col: %d ",
- level,
- this->locator_->getSystemId (),
- this->locator_->getLineNumber(),
- this->locator_->getColumnNumber()));
- ex.print();
- ACE_DEBUG ((LM_DEBUG, "\n"));
-}
-
-CIAO::XMLHelpers::Skip_DocHandler::Skip_DocHandler (ACEXML_XMLReader *parser,
- Cascadable_DocHandler *parent,
- const ACEXML_Char *namespaceURI,
- const ACEXML_Char *localName,
- const ACEXML_Char *qName,
- ACEXML_Attributes *attrs
- ACEXML_ENV_ARG_DECL)
- ACE_THROW_SPEC ((ACEXML_SAXException))
- // The exception stuff will not work for platform without native exception.
- : Cascadable_DocHandler (parser,
- parent,
- namespaceURI,
- localName,
- qName,
- attrs
- ACEXML_ENV_ARG_PARAMETER),
- element_count_ (0)
-{
-}
-
-CIAO::XMLHelpers::Skip_DocHandler::~Skip_DocHandler ()
-{
-}
-
-void
-CIAO::XMLHelpers::Skip_DocHandler::endElement (const ACEXML_Char *namespaceURI,
- const ACEXML_Char *localName,
- const ACEXML_Char *qName
- ACEXML_ENV_ARG_DECL)
- ACE_THROW_SPEC ((ACEXML_SAXException))
-{
- ACE_TRACE ("CIAO::XMLHelpers::Skip_DocHandler::endElement");
-
- --this->element_count_;
- if (this->element_count_ == 0)
- {
- this->parent_->pop_handler (namespaceURI,
- localName,
- qName
- ACEXML_ENV_ARG_PARAMETER);
- ACEXML_CHECK;
- }
-}
-
-void
-CIAO::XMLHelpers::Skip_DocHandler::startElement (const ACEXML_Char *,
- const ACEXML_Char *,
- const ACEXML_Char *,
- ACEXML_Attributes *
- ACEXML_ENV_ARG_DECL_NOT_USED)
- ACE_THROW_SPEC ((ACEXML_SAXException))
-{
- ACE_TRACE ("CIAO::XMLHelpers::Skip_DocHandler::startElement");
-
- ++this->element_count_;
-}
diff --git a/TAO/CIAO/tools/XML_Helpers/Cascadable_DocHandler.h b/TAO/CIAO/tools/XML_Helpers/Cascadable_DocHandler.h
deleted file mode 100644
index 875bed6d50a..00000000000
--- a/TAO/CIAO/tools/XML_Helpers/Cascadable_DocHandler.h
+++ /dev/null
@@ -1,252 +0,0 @@
-// -*- C++ -*-
-
-//=============================================================================
-/**
- * @file Cascadable_DocHandler.h
- *
- * $Id$
- *
- * @author Nanbor Wang <nanbor@cs.wustl.edu>
- */
-//=============================================================================
-#ifndef CIAO_XMLHELPERS_CASCADABLE_DOCHANDLER_H
-#define CIAO_XMLHELPERS_CASCADABLE_DOCHANDLER_H
-
-#include "ace/pre.h"
-#include "ACEXML/common/DefaultHandler.h"
-#include "ACEXML/common/XMLReader.h"
-
-#if !defined (ACE_LACKS_PRAGMA_ONCE)
-#pragma once
-#endif /* ACE_LACKS_PRAGMA_ONCE */
-
-namespace CIAO
-{
- namespace XMLHelpers
- {
- /**
- * @class Cascadable_DocHandler
- *
- * @brief A helper class for implementing cascadable XML Document Handler.
- *
- * This class is available as a convenience base class for writing
- * cascadable XML Document DefaultHandler. This class implement
- * the basic functionality for DocHandlers that can be cascaded
- * together to handling nested XML tags. Users can write specific
- * handlers to handle specific XML elements so they can be
- * composed together to handle complex XML definitions. This
- * class utilize the "Interpreter" design pattern as described in
- * GoF.
- *
- * Application writers should extend this class to implement a
- * handler that interpret a specific XML element. There are just
- * a few rules to use the Cascadable_DocHandler.
- *
- * 1. A Cascadable_DocHandler determines whether a new
- * Cascadable_DocHandler should be used to handle a subelement
- * in its startElement method. When it encounter a subelement
- * that requires a different implementation of
- * Cascadable_DocHandler, it should create the new
- * Cascadable_DocHandler, and then invoke the @c push_handler
- * method to inform the @c parser to use the new handler (this
- * in effect switches all four handlers the parse uses to the
- * new handler.)
- *
- * 2. A Cascadable_DocHandler determines whether it has done
- * handling an element structure in @a endElement method, it
- * invoke the pop_handler method of its parent handler. The
- * pop_handler in turn invokes the endElement eventhandler of
- * the parent handler so it has a chance to harvest the parse
- * result from the child handler.
- *
- * See the Handler-Interaction.png for how handlers interact with
- * each other.
- *
- * @sa ACEXML_DefaultHandler
- * @sa DocHandler_Context
- */
- class Cascadable_DocHandler : public ACEXML_DefaultHandler
- {
- public:
- /**
- * Constructor.
- */
- Cascadable_DocHandler (ACEXML_XMLReader *parser,
- Cascadable_DocHandler *parent,
- const ACEXML_Char *namespaceURI,
- const ACEXML_Char *localName,
- const ACEXML_Char *qName,
- ACEXML_Attributes *atts
- ACEXML_ENV_ARG_DECL)
- ACE_THROW_SPEC ((ACEXML_SAXException)) ;
-
- /**
- * destructor.
- */
- virtual ~Cascadable_DocHandler (void);
-
- /**
- * Destroy method.
- */
- virtual void destroy ();
-
- /**
- * THIS function should be called by the @c startElement method
- * of the parent Handler to replace it (the current *Handlers)
- * the parser is using with the this Handler. This method will
- * also invoke the startElement operations of this Handler.
- *
- * @@ I haven't figured out what should happen if an exception
- * occurs in push_handler. It can either restore the original
- * handler, or let the user decide what to do.
- */
- void push_handler (Cascadable_DocHandler *new_handler,
- ACEXML_Attributes *atts
- ACEXML_ENV_ARG_DECL)
- ACE_THROW_SPEC ((ACEXML_SAXException)) ;
-
- /**
- * This function should be called at the end of @c endElement
- * method of this Handler to restore the Handler's used by the
- * parser. This method aldo invokes the @c endElement method of
- * the parent Handler before restoring the parser Handlers.
- * This allows the parent handler to have a chance to harvest
- * the parse result from this Handler. @c pop_handler will
- * eventually invoke the @c destroy method of child handler.
- * Since @c pop_handler should be invoked from child handler's
- * @c endElement method, care should be taken to avoid accessing
- * free'ed memory after calling parent's @c pop_handler method.
- */
- void pop_handler (const ACEXML_Char *namespaceURI,
- const ACEXML_Char *localName,
- const ACEXML_Char *qName
- ACEXML_ENV_ARG_DECL)
- ACE_THROW_SPEC ((ACEXML_SAXException)) ;
-
- /**
- * Accessors for the element Context we are in. Make copy if
- * you need to store the return strings for later use.
- */
- const ACEXML_Char *namespaceURI (void) const;
- const ACEXML_Char *localName (void) const;
- const ACEXML_Char *qName (void) const;
-
- /**
- * Receive an object for locating the origin of SAX document events.
- */
- virtual void setDocumentLocator (ACEXML_Locator *locator) ;
-
- // Methods inherit from ACEXML_ErrorHandler.
-
- /**
- * Receive notification of a recoverable error.
- */
- virtual void error (ACEXML_SAXParseException &exception
- ACEXML_ENV_ARG_DECL)
- ACE_THROW_SPEC ((ACEXML_SAXException))
- ;
-
- /**
- * Receive notification of a non-recoverable error.
- */
- virtual void fatalError (ACEXML_SAXParseException &exception
- ACEXML_ENV_ARG_DECL)
- ACE_THROW_SPEC ((ACEXML_SAXException))
- ;
-
- /**
- * Receive notification of a warning.
- */
- virtual void warning (ACEXML_SAXParseException &exception
- ACEXML_ENV_ARG_DECL)
- ACE_THROW_SPEC ((ACEXML_SAXException))
- ;
-
- protected:
- /**
- * Print out an error/warning message
- */
- virtual void print_warning (const ACEXML_Char *level,
- ACEXML_SAXParseException &exception
- ACEXML_ENV_ARG_DECL)
- ACE_THROW_SPEC ((ACEXML_SAXException))
- ;
-
- /**
- * Element tag information.
- */
- ACEXML_Char *namespaceURI_;
- ACEXML_Char *localName_;
- ACEXML_Char *qName_;
-
- /// Pointer to the parser that send us events.
- ACEXML_XMLReader *parser_;
-
- /// Pointer to the parent event handler that handles the parent
- /// element.
- Cascadable_DocHandler *parent_;
-
- /// Pointer to the child event handler that handles a sub-element.
- Cascadable_DocHandler *child_;
-
- private:
- /// No implement
- Cascadable_DocHandler ();
-
- /// Pointer to Locator.
- ACEXML_Locator* locator_;
- };
-
- /**
- * @class Skip_DocHandler
- *
- * @brief This DocHandler ignore and skip over a specific tag.
- */
- class Skip_DocHandler : public Cascadable_DocHandler
- {
- public:
- /// Constructor.
- Skip_DocHandler (ACEXML_XMLReader *parser,
- Cascadable_DocHandler *parent,
- const ACEXML_Char *namespaceURI,
- const ACEXML_Char *localName,
- const ACEXML_Char *qName,
- ACEXML_Attributes *atts
- ACEXML_ENV_ARG_DECL)
- ACE_THROW_SPEC ((ACEXML_SAXException));
-
- /// Destructor
- virtual ~Skip_DocHandler ();
-
- /**
- * Receive notification of the end of an element.
- */
- virtual void endElement (const ACEXML_Char *namespaceURI,
- const ACEXML_Char *localName,
- const ACEXML_Char *qName
- ACEXML_ENV_ARG_DECL)
- ACE_THROW_SPEC ((ACEXML_SAXException)) ;
-
- /**
- * Receive notification of the beginning of an element.
- */
- virtual void startElement (const ACEXML_Char *namespaceURI,
- const ACEXML_Char *localName,
- const ACEXML_Char *qName,
- ACEXML_Attributes *atts
- ACEXML_ENV_ARG_DECL)
- ACE_THROW_SPEC ((ACEXML_SAXException)) ;
-
- protected:
- long element_count_;
- };
-
- }
-}
-
-#if defined (__ACE_INLINE__)
-# include "Cascadable_DocHandler.i"
-#endif /* __ACE_INLINE__ */
-
-#include "ace/post.h"
-#endif /* CIAO_XMLHELPERS_CASCADABLE_DOCHANDLER_H */
diff --git a/TAO/CIAO/tools/XML_Helpers/Cascadable_DocHandler.i b/TAO/CIAO/tools/XML_Helpers/Cascadable_DocHandler.i
deleted file mode 100644
index bc63e540bc5..00000000000
--- a/TAO/CIAO/tools/XML_Helpers/Cascadable_DocHandler.i
+++ /dev/null
@@ -1,55 +0,0 @@
-// $Id$
-
-ACE_INLINE const ACEXML_Char *
-CIAO::XMLHelpers::Cascadable_DocHandler::namespaceURI () const
-{
- return this->namespaceURI_;
-}
-
-ACE_INLINE const ACEXML_Char *
-CIAO::XMLHelpers::Cascadable_DocHandler::localName () const
-{
- return this->localName_;
-}
-
-ACE_INLINE const ACEXML_Char *
-CIAO::XMLHelpers::Cascadable_DocHandler::qName () const
-{
- return this->qName_;
-}
-
-ACE_INLINE void
-CIAO::XMLHelpers::Cascadable_DocHandler::setDocumentLocator (ACEXML_Locator * locator)
-{
- this->locator_ = locator;
-}
-
-ACE_INLINE void
-CIAO::XMLHelpers::Cascadable_DocHandler::error (ACEXML_SAXParseException & ex
- ACEXML_ENV_ARG_DECL_NOT_USED)
- ACE_THROW_SPEC ((ACEXML_SAXException))
-{
- this->print_warning (ACE_TEXT ("Error"),
- ex
- ACEXML_ENV_ARG_PARAMETER);
-}
-
-ACE_INLINE void
-CIAO::XMLHelpers::Cascadable_DocHandler::fatalError (ACEXML_SAXParseException & ex
- ACEXML_ENV_ARG_DECL_NOT_USED)
- ACE_THROW_SPEC ((ACEXML_SAXException))
-{
- this->print_warning (ACE_TEXT ("Fatal Error"),
- ex
- ACEXML_ENV_ARG_PARAMETER);
-}
-
-ACE_INLINE void
-CIAO::XMLHelpers::Cascadable_DocHandler::warning (ACEXML_SAXParseException & ex
- ACEXML_ENV_ARG_DECL_NOT_USED)
- ACE_THROW_SPEC ((ACEXML_SAXException))
-{
- this->print_warning (ACE_TEXT ("Warning"),
- ex
- ACEXML_ENV_ARG_PARAMETER);
-}
diff --git a/TAO/CIAO/tools/XML_Helpers/Handler-Interaction.png b/TAO/CIAO/tools/XML_Helpers/Handler-Interaction.png
deleted file mode 100644
index 361295b2752..00000000000
--- a/TAO/CIAO/tools/XML_Helpers/Handler-Interaction.png
+++ /dev/null
Binary files differ
diff --git a/TAO/CIAO/tools/XML_Helpers/Handler-Interaction.vsd b/TAO/CIAO/tools/XML_Helpers/Handler-Interaction.vsd
deleted file mode 100644
index 26986824778..00000000000
--- a/TAO/CIAO/tools/XML_Helpers/Handler-Interaction.vsd
+++ /dev/null
Binary files differ
diff --git a/TAO/CIAO/tools/XML_Helpers/README b/TAO/CIAO/tools/XML_Helpers/README
deleted file mode 100644
index 3e38803bf92..00000000000
--- a/TAO/CIAO/tools/XML_Helpers/README
+++ /dev/null
@@ -1,16 +0,0 @@
- $Id$
-
-This directory containers a collection of XML Helper classes to aid
-the parsing and manupilation of various XML descriptors in CIAO.
-
-Some of the classes under this directory should probably be kept under
-ACEXML/common/. But let's worry about that later.
-
-
-CIAO::XMLHelper
- Cascadable_DocHandler
-
-The following files implement a test program for Cascadable_DocHandler:
-
- Svcconf_Handler.*
- main.cpp \ No newline at end of file
diff --git a/TAO/CIAO/tools/XML_Helpers/Softpkg_Handlers.cpp b/TAO/CIAO/tools/XML_Helpers/Softpkg_Handlers.cpp
deleted file mode 100644
index e0b6d92bfed..00000000000
--- a/TAO/CIAO/tools/XML_Helpers/Softpkg_Handlers.cpp
+++ /dev/null
@@ -1,275 +0,0 @@
-// -*- C++ -*- $Id$
-
-#include "Softpkg_Handlers.h"
-#include "ace/ACE.h"
-#include "ace/Log_Msg.h"
-
-#if !defined (__ACE_INLINE__)
-# include "Softpkg_Handlers.inl"
-#endif /* __ACE_INLINE__ */
-
-void
-CIAO::Softpkg_Handler::Softpkg_Info::dump (void) const
-{
- ACE_DEBUG ((LM_DEBUG, ACE_BEGIN_DUMP, this));
-
- ACE_DEBUG ((LM_DEBUG,
- ACE_TEXT ("\nCORBA Component Descriptor -> %s\n")
- ACE_TEXT ("CSD file pathname -> %s\n")
- ACE_TEXT ("Executor UUID -> %s\n")
- ACE_TEXT ("Executor entry point -> %s\n")
- ACE_TEXT ("SSD file pathname -> %s\n")
- ACE_TEXT ("Servant UUID -> %s\n")
- ACE_TEXT ("Servant entry point -> %s\n"),
- descriptor_.c_str (),
- csd_path_.c_str (),
- executor_UUID_.c_str (),
- executor_entrypt_.c_str (),
- ssd_path_.c_str (),
- servant_UUID_.c_str (),
- servant_entrypt_.c_str ()));
- ACE_DEBUG ((LM_DEBUG, ACE_END_DUMP));
-}
-
-void
-CIAO::Softpkg_Handler::characters (const ACEXML_Char *cdata,
- int start,
- int len
- ACEXML_ENV_ARG_DECL_NOT_USED)
- ACE_THROW_SPEC ((ACEXML_SAXException))
-{
- if (this->rec_cdata_)
- {
- this->characters_.set (cdata + start,
- len,
- 1);
- this->rec_cdata_ = false;
- }
-}
-
-void
-CIAO::Softpkg_Handler::startElement (const ACEXML_Char *namespaceURI,
- const ACEXML_Char *localName,
- const ACEXML_Char *qName,
- ACEXML_Attributes *alist
- ACEXML_ENV_ARG_DECL)
- ACE_THROW_SPEC ((ACEXML_SAXException))
-{
- ACE_UNUSED_ARG (namespaceURI);
- ACE_UNUSED_ARG (localName);
-
- switch (this->state_)
- {
- case ROOT:
-
- if (ACE_OS::strcmp (qName, ACE_TEXT ("pkgtype")) == 0)
- {
- this->rec_cdata_ = true;
- }
- else if (ACE_OS::strcmp (qName, ACE_TEXT ("descriptor")) == 0)
- {
- // @@ We should really check the "type" attribute and make
- // sure that we are dealing with a CORBA Component
- // descriptor here before we switch state.
-
- this->state_ = DESCRIPTOR;
- }
- else if (ACE_OS::strcmp (qName, ACE_TEXT ("implementation")) == 0)
- {
- if (alist != 0)
- for (size_t i = 0; i < alist->getLength (); ++i)
- {
- if (ACE_OS_String::strcmp (alist->getQName (i), ACE_TEXT ("id")) == 0)
- {
- this->impluuid_.set (alist->getValue (i));
- }
- }
- this->state_ = IMPLEMENTATION;
- }
- break;
-
- case DESCRIPTOR:
- if (ACE_OS::strcmp (qName, ACE_TEXT ("fileinarchive")) == 0)
- {
- if (alist != 0)
- for (size_t i = 0; i < alist->getLength (); ++i)
- {
- if (ACE_OS_String::strcmp (alist->getQName (i), ACE_TEXT ("name")) == 0)
- {
- this->softpkg_info_->descriptor_.set (alist->getValue (i));
- }
- }
- }
- break;
-
- case IMPLEMENTATION:
- // @@ Note: WE currently ignore most everything without even
- // checking the validity of OS/compiler and such.
- if (ACE_OS::strcmp (qName, ACE_TEXT ("dependency")) == 0)
- {
- if (alist != 0)
- for (size_t i = 0; i < alist->getLength (); ++i)
- {
- if (ACE_OS_String::strcmp (alist->getQName (i), ACE_TEXT ("type")) == 0 &&
- ACE_OS_String::strcmp (alist->getValue (i), ACE_TEXT ("CIAODLL")) == 0)
- {
- this->state_ = CIAODLL;
- }
- }
- }
- else if (ACE_OS::strcmp (qName, ACE_TEXT ("code")) == 0)
- {
- // @@ We should check for "type" attribute here.
- this->state_ = CODE;
- }
- break;
-
- case CIAODLL:
- // CIAO extension.
- if (ACE_OS::strcmp (qName, ACE_TEXT ("fileinarchive")) == 0)
- {
- if (alist != 0)
- for (size_t i = 0; i < alist->getLength (); ++i)
- {
- if (ACE_OS_String::strcmp (alist->getQName (i), ACE_TEXT ("name")) == 0)
- {
- this->ssd_.set (alist->getValue (i));
- }
- }
- }
- else if (ACE_OS::strcmp (qName, ACE_TEXT ("implref")) == 0)
- {
- if (alist != 0)
- for (size_t i = 0; i < alist->getLength (); ++i)
- {
- if (ACE_OS_String::strcmp (alist->getQName (i), ACE_TEXT ("idref")) == 0)
- {
- this->ssd_id_.set (alist->getValue (i));
- }
- }
- }
- break;
-
-
- case CODE:
- if (ACE_OS::strcmp (qName, ACE_TEXT ("fileinarchive")) == 0)
- {
- if (alist != 0)
- for (size_t i = 0; i < alist->getLength (); ++i)
- {
- if (ACE_OS_String::strcmp (alist->getQName (i), ACE_TEXT ("name")) == 0)
- {
- this->path_.set (alist->getValue (i));
- }
- }
- }
- else if (ACE_OS::strcmp (qName, ACE_TEXT ("entrypoint")) == 0)
- {
- this->rec_cdata_ = true;
- }
- break;
-
- default:
- ACEXML_THROW (ACEXML_SAXException
- (ACE_TEXT ("Softpkg handler internal error")));
- break;
- }
-}
-
-void
-CIAO::Softpkg_Handler::endElement (const ACEXML_Char *,
- const ACEXML_Char *,
- const ACEXML_Char *qName
- ACEXML_ENV_ARG_DECL)
- ACE_THROW_SPEC ((ACEXML_SAXException))
-{
- switch (this->state_)
- {
- case ROOT:
-
- if (ACE_OS::strcmp (qName, ACE_TEXT ("pkgtype")) == 0)
- {
- if (ACE_OS::strcmp (this->characters_.c_str (),
- ACE_TEXT ("CORBA Component")) == 0)
- {
- this->type_ = CSD;
- }
- else if (ACE_OS::strcmp (this->characters_.c_str (),
- ACE_TEXT ("CIAO Servant")) == 0)
- {
- this->type_ = SSD;
- }
- else
- ACEXML_THROW (ACEXML_SAXNotRecognizedException
- (ACE_TEXT ("Unknown pkgtype")));
- }
- break;
-
- case DESCRIPTOR:
- if (ACE_OS::strcmp (qName, ACE_TEXT ("descriptor")) == 0)
- {
- this->state_ = ROOT;
- }
- break;
-
- case IMPLEMENTATION:
- if (ACE_OS::strcmp (qName, ACE_TEXT ("implementation")) == 0)
- {
- // @@ Check the validity somehow here before we move the data.
- if (this->type_ == CSD)
- {
- this->softpkg_info_->executor_UUID_ = this->impluuid_;
- this->softpkg_info_->executor_entrypt_ = this->entry_pt_;
- this->softpkg_info_->ssd_path_ = this->ssd_;
- this->softpkg_info_->servant_UUID_ = this->ssd_id_;
- }
- else if (this->type_ == SSD &&
- this->softpkg_info_->servant_UUID_ == this->impluuid_)
- {
-
- this->softpkg_info_->servant_entrypt_ = this->entry_pt_;
- }
-
- this->state_ = ROOT;
- }
- break;
-
- case CIAODLL:
- if (ACE_OS::strcmp (qName, ACE_TEXT ("dependency")) == 0)
- {
- this->state_ = IMPLEMENTATION;
- }
-
- break;
-
- case CODE:
- if (ACE_OS::strcmp (qName, ACE_TEXT ("entrypoint")) == 0)
- {
- this->entry_pt_ = this->characters_;
- }
- else if (ACE_OS::strcmp (qName, ACE_TEXT ("code")) == 0)
- {
- this->state_ = IMPLEMENTATION;
- }
- break;
-
- default:
- ACEXML_THROW (ACEXML_SAXException
- (ACE_TEXT ("Softpkg handler internal error")));
- break;
- }
-}
-
-void
-CIAO::Softpkg_Handler::startDocument (ACEXML_ENV_SINGLE_ARG_DECL_NOT_USED)
- ACE_THROW_SPEC ((ACEXML_SAXException))
-{
- // no-op
-}
-
-void
-CIAO::Softpkg_Handler::endDocument (ACEXML_ENV_SINGLE_ARG_DECL_NOT_USED)
- ACE_THROW_SPEC ((ACEXML_SAXException))
-{
- // no-op
-}
diff --git a/TAO/CIAO/tools/XML_Helpers/Softpkg_Handlers.h b/TAO/CIAO/tools/XML_Helpers/Softpkg_Handlers.h
deleted file mode 100644
index 943c984e404..00000000000
--- a/TAO/CIAO/tools/XML_Helpers/Softpkg_Handlers.h
+++ /dev/null
@@ -1,196 +0,0 @@
-// $Id$
-
-//=============================================================================
-/**
- * @file Softpkg_Handlers.h
- *
- * $Id$
- *
- * This file turned out to host only one handler. We'll still keep
- * the name as Softpkg_Handlers, however.
- *
- * @author Nanbor Wang <nanbor@cs.wustl.edu>
- */
-//=============================================================================
-
-#ifndef CIAO_SOFTPKG_HANDLER_H
-#define CIAO_SOFTPKG_HANDLER_H
-
-#include "XML_Helpers_Export.h"
-#include "Cascadable_DocHandler.h"
-
-namespace CIAO
-{
- /**
- * @class Svcconf_Handler
- *
- * @brief Svcconf_Handler is an example SAX event handler.
- *
- * This SAX event handler try to regenerate the XML document it
- * reads with correct indentation.
- */
- class CIAO_XML_HELPERS_Export Softpkg_Handler
- : public CIAO::XMLHelpers::Cascadable_DocHandler
- {
- public:
- /**
- * @enum
- *
- * @brief Softpkg type identifier
- */
- typedef enum
- {
- CSD, // CORBA's Component Softpkg Descriptor
- SSD // CIAO's Servent Softpkg Descriptor
- } Softpkg_Type;
-
- /**
- *
- */
- typedef enum
- {
- ROOT,
- DESCRIPTOR,
- IMPLEMENTATION,
- CIAODLL,
- CODE
- } Softpkg_State;
-
- /**
- * @struct Softpkg_Info
- *
- * @Brief Relevant information that we are interested in
- *
- * This Softpkg_Info combines information from both a component
- * softpkg descriptor and a servant softpkg descriptor.
- */
- typedef struct CIAO_XML_HELPERS_Export Struct_Softpkg_Info
- {
- /// Specify the pathname (should change to URI later) to the
- /// component descriptor file.
- ACE_TString descriptor_;
-
- /// Specify the pathname to the root softpkg (as defined in CCM.)
- ACE_TString csd_path_;
-
- /// Specify the pathname to component executor DLL.
- ACE_TString executor_UUID_;
-
- /// Specify the entrypoint to component executor DLL.
- ACE_TString executor_entrypt_;
-
- /// Specify the pathname to the servant softpkg (as defined in CIAO.)
- ACE_TString ssd_path_;
-
- /// Specify the pathname to component servant DLL.
- ACE_TString servant_UUID_;
-
- /// Specify the entrypoint to component servant DLL.
- ACE_TString servant_entrypt_;
-
- void dump (void) const;
- } Softpkg_Info;
-
- public:
- /**
- * Default constructor.
- */
- Softpkg_Handler (ACEXML_XMLReader *parser,
- Softpkg_Info *info
- ACEXML_ENV_ARG_DECL)
- ACE_THROW_SPEC ((ACEXML_SAXException)) ;
-
- /**
- * Default destructor.
- */
- virtual ~Softpkg_Handler (void);
-
- // Methods inherit from ACEXML_ContentHandler.
-
- /**
- * Receive notification of character data.
- */
- virtual void characters (const ACEXML_Char *ch,
- int start,
- int length ACEXML_ENV_ARG_DECL)
- ACE_THROW_SPEC ((ACEXML_SAXException))
- ;
-
- /**
- * Receive notification of the end of a document.
- */
- virtual void endDocument (ACEXML_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((ACEXML_SAXException))
- ;
-
- /**
- * Receive notification of the end of an element.
- */
- virtual void endElement (const ACEXML_Char *namespaceURI,
- const ACEXML_Char *localName,
- const ACEXML_Char *qName ACEXML_ENV_ARG_DECL)
- ACE_THROW_SPEC ((ACEXML_SAXException))
- ;
-
- /**
- * Receive notification of the beginning of a document.
- */
- virtual void startDocument (ACEXML_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((ACEXML_SAXException))
- ;
-
- /**
- * Receive notification of the beginning of an element.
- */
- virtual void startElement (const ACEXML_Char *namespaceURI,
- const ACEXML_Char *localName,
- const ACEXML_Char *qName,
- ACEXML_Attributes *atts ACEXML_ENV_ARG_DECL)
- ACE_THROW_SPEC ((ACEXML_SAXException))
- ;
-
- protected:
-
- private:
- /// if we need to trace the CDATA.
- bool rec_cdata_;
-
- /// Parse state
- Softpkg_State state_;
-
- /// Type of softpkg we are parsing.
- Softpkg_Type type_;
-
- /// Character info.
- ACE_TString characters_;
-
- /// Cached the Implementation UUID before it can be determined
- /// suitable for use.
- ACE_TString impluuid_;
-
- /// Cached the servant path before it can be determined
- /// suitable for use.
- ACE_TString ssd_;
-
- /// Cached the servant uuid before it can be determined
- /// suitable for use.
- ACE_TString ssd_id_;
-
- /// Cached the Implementation path before it can be determined
- /// suitable for use.
- ACE_TString path_;
-
- /// Cached the Implementation entry point before it can be
- /// determined suitable for use.
- ACE_TString entry_pt_;
-
- /// Parse result
- Softpkg_Info *softpkg_info_;
- };
-
-}
-
-#if defined (__ACE_INLINE__)
-# include "Softpkg_Handlers.inl"
-#endif /* __ACE_INLINE__ */
-#endif /* CIAO_SOFTPKG_HANDLER_H */
diff --git a/TAO/CIAO/tools/XML_Helpers/Softpkg_Handlers.inl b/TAO/CIAO/tools/XML_Helpers/Softpkg_Handlers.inl
deleted file mode 100644
index 99a8925b4ef..00000000000
--- a/TAO/CIAO/tools/XML_Helpers/Softpkg_Handlers.inl
+++ /dev/null
@@ -1,26 +0,0 @@
-// -*- C++ -*- $Id$
-
-ACE_INLINE
-CIAO::Softpkg_Handler::Softpkg_Handler (ACEXML_XMLReader *parser,
- CIAO::Softpkg_Handler::Softpkg_Info *info
- ACEXML_ENV_ARG_DECL)
- ACE_THROW_SPEC ((ACEXML_SAXException))
- : Cascadable_DocHandler (parser,
- 0,
- 0,
- 0,
- 0,
- 0
- ACEXML_ENV_ARG_PARAMETER),
- rec_cdata_ (false),
- state_ (CIAO::Softpkg_Handler::ROOT),
- softpkg_info_ (info)
-{
- // no-op
-}
-
-ACE_INLINE
-CIAO::Softpkg_Handler::~Softpkg_Handler (void)
-{
- // no-op
-}
diff --git a/TAO/CIAO/tools/XML_Helpers/Svcconf_Handler.cpp b/TAO/CIAO/tools/XML_Helpers/Svcconf_Handler.cpp
deleted file mode 100644
index 782420d135b..00000000000
--- a/TAO/CIAO/tools/XML_Helpers/Svcconf_Handler.cpp
+++ /dev/null
@@ -1,524 +0,0 @@
-// -*- C++ -*- $Id$
-
-#include "Svcconf_Handler.h"
-#include "ace/ACE.h"
-#include "ace/Log_Msg.h"
-
-#if !defined (__ACE_INLINE__)
-# include "Svcconf_Handler.i"
-#endif /* __ACE_INLINE__ */
-
-Svcconf_Handler::Svcconf_Handler (ACEXML_XMLReader *parser,
- CIAO::XMLHelpers::Cascadable_DocHandler *parent,
- const ACEXML_Char *namespaceURI,
- const ACEXML_Char *localName,
- const ACEXML_Char *qName,
- ACEXML_Attributes *atts
- ACEXML_ENV_ARG_DECL)
- ACE_THROW_SPEC ((ACEXML_SAXException))
- : Cascadable_DocHandler (parser,
- parent,
- namespaceURI,
- localName,
- qName,
- atts
- ACEXML_ENV_ARG_PARAMETER),
- in_stream_def_ (0),
- in_module_ (0)
-{
- // no-op
-}
-
-Svcconf_Handler::~Svcconf_Handler (void)
-{
- // no-op
-}
-
-void
-Svcconf_Handler::characters (const ACEXML_Char *,
- int,
- int
- ACEXML_ENV_ARG_DECL_NOT_USED)
- ACE_THROW_SPEC ((ACEXML_SAXException))
-{
- // no-op
-}
-
-void
-Svcconf_Handler::endDocument (ACEXML_ENV_SINGLE_ARG_DECL_NOT_USED)
- ACE_THROW_SPEC ((ACEXML_SAXException))
-{
- // no-op
-}
-
-void
-Svcconf_Handler::endElement (const ACEXML_Char *,
- const ACEXML_Char *,
- const ACEXML_Char *qName
- ACEXML_ENV_ARG_DECL)
- ACE_THROW_SPEC ((ACEXML_SAXException))
-{
-
-
- if (ACE_OS_String::strcmp (qName, ACE_TEXT ("dynamic")) == 0)
- {
- if (this->in_stream_def_)
- {
- ACE_DEBUG ((LM_INFO, ACE_TEXT ("Create dynamic %s for stream\n"),
- this->stream_info_.name ()));
- }
- else
- {
- if (this->in_module_)
- {
- ACE_DEBUG ((LM_INFO, ACE_TEXT ("Push dynamic %s into stream %s\n"),
- this->parsed_info_.name (),
- this->stream_info_.name ()));
- }
- else
- {
- ACE_DEBUG ((LM_INFO, ACE_TEXT ("Apply dynamic %s\n"),
- this->parsed_info_.name ()));
- }
- this->parsed_info_.reset ();
- }
- }
- else if (ACE_OS_String::strcmp (qName, ACE_TEXT ("static")) == 0)
- {
- if (this->in_stream_def_)
- {
- ACE_DEBUG ((LM_INFO, ACE_TEXT ("Create sttaic %s for stream\n"),
- this->stream_info_.name ()));
- }
- else
- {
- if (this->in_module_)
- {
- ACE_DEBUG ((LM_INFO, ACE_TEXT ("Push static %s into stream %s\n"),
- this->parsed_info_.name (),
- this->stream_info_.name ()));
- }
- else
- {
- ACE_DEBUG ((LM_INFO, ACE_TEXT ("Apply static %s\n"),
- this->parsed_info_.name ()));
- }
- this->parsed_info_.reset ();
- }
- }
- else if (ACE_OS_String::strcmp (qName, ACE_TEXT ("module")) == 0)
- {
- this->in_module_ = 0;
- }
- else if (ACE_OS_String::strcmp (qName, ACE_TEXT ("streamdef")) == 0 ||
- ACE_OS_String::strcmp (qName, ACE_TEXT ("stream")) == 0)
- {
- ACE_DEBUG ((LM_INFO, ACE_TEXT ("Apply stream %s of type %s\n"),
- this->stream_info_.name (),
- this->stream_info_.name ()));
- this->stream_info_.reset ();
- }
- else
- {
- }
-}
-
-void
-Svcconf_Handler::endPrefixMapping (const ACEXML_Char *
- ACEXML_ENV_ARG_DECL_NOT_USED)
- ACE_THROW_SPEC ((ACEXML_SAXException))
-{
- // no-op
-}
-
-void
-Svcconf_Handler::ignorableWhitespace (const ACEXML_Char *,
- int,
- int
- ACEXML_ENV_ARG_DECL_NOT_USED)
- ACE_THROW_SPEC ((ACEXML_SAXException))
-{
- // no-op
-}
-
-void
-Svcconf_Handler::processingInstruction (const ACEXML_Char *,
- const ACEXML_Char *
- ACEXML_ENV_ARG_DECL_NOT_USED)
- ACE_THROW_SPEC ((ACEXML_SAXException))
-{
- // no-op
-}
-
-void
-Svcconf_Handler::setDocumentLocator (ACEXML_Locator* )
-{
-}
-
-void
-Svcconf_Handler::skippedEntity (const ACEXML_Char *
- ACEXML_ENV_ARG_DECL_NOT_USED)
- ACE_THROW_SPEC ((ACEXML_SAXException))
-{
- // no-op
-}
-
-void
-Svcconf_Handler::startDocument (ACEXML_ENV_SINGLE_ARG_DECL_NOT_USED)
- ACE_THROW_SPEC ((ACEXML_SAXException))
-{
- // no-op
-}
-
-void
-Svcconf_Handler::startElement (const ACEXML_Char *namespaceURI,
- const ACEXML_Char *localName,
- const ACEXML_Char *qName,
- ACEXML_Attributes *alist
- ACEXML_ENV_ARG_DECL)
- ACE_THROW_SPEC ((ACEXML_SAXException))
-{
- if (ACE_OS_String::strcmp (qName, ACE_TEXT ("dynamic")) == 0)
- {
- this->get_dynamic_attrs (alist ACEXML_ENV_ARG_PARAMETER);
- }
- else if (ACE_OS_String::strcmp (qName, ACE_TEXT ("initializer")) == 0)
- {
- this->get_initializer_attrs (alist ACEXML_ENV_ARG_PARAMETER);
- }
- else if (ACE_OS_String::strcmp (qName, ACE_TEXT ("static")) == 0)
- {
- this->get_static_attrs (alist ACEXML_ENV_ARG_PARAMETER);
- }
- else if (ACE_OS_String::strcmp (qName, ACE_TEXT ("stream")) == 0)
- {
- this->get_stream_id (alist ACEXML_ENV_ARG_PARAMETER);
- ACE_DEBUG ((LM_INFO, ACE_TEXT ("Retrieve stream %s from repository\n"),
- this->stream_info_.name ()));
- }
- else if (ACE_OS_String::strcmp (qName, ACE_TEXT ("streamdef")) == 0)
- {
- this->in_stream_def_ = 1;
- // @@ Set up stream service object
-
- CIAO::XMLHelpers::Skip_DocHandler *new_handler;
-
- ACE_NEW (new_handler,
- CIAO::XMLHelpers::Skip_DocHandler (this->parser_,
- this,
- namespaceURI,
- localName,
- qName,
- alist
- ACEXML_ENV_ARG_PARAMETER));
- ACEXML_CHECK;
-
- this->push_handler (new_handler,
- alist
- ACEXML_ENV_ARG_PARAMETER);
- ACEXML_CHECK;
- }
- else if (ACE_OS_String::strcmp (qName, ACE_TEXT ("module")) == 0)
- {
- this->in_stream_def_ = 0;
- this->in_module_ = 1;
- }
- else if (ACE_OS_String::strcmp (qName, ACE_TEXT ("resume")) == 0)
- {
- this->get_id (alist ACEXML_ENV_ARG_PARAMETER);
- if (this->in_module_)
- {
- ACE_DEBUG ((LM_INFO, ACE_TEXT ("Resume %s in stream %s\n"),
- this->parsed_info_.name (),
- this->stream_info_.name ()));
- }
- else
- {
- ACE_DEBUG ((LM_INFO, ACE_TEXT ("Resume %s\n"),
- this->parsed_info_.name ()));
- }
- this->parsed_info_.reset ();
- }
- else if (ACE_OS_String::strcmp (qName, ACE_TEXT ("suspend")) == 0)
- {
- this->get_id (alist ACEXML_ENV_ARG_PARAMETER);
- if (this->in_module_)
- {
- ACE_DEBUG ((LM_INFO, ACE_TEXT ("Suspend %s in stream %s\n"),
- this->parsed_info_.name (),
- this->stream_info_.name ()));
- }
- else
- {
- ACE_DEBUG ((LM_INFO, ACE_TEXT ("Suspend %s\n"),
- this->parsed_info_.name ()));
- }
- this->parsed_info_.reset ();
- }
- else if (ACE_OS_String::strcmp (qName, ACE_TEXT ("remove")) == 0)
- {
- this->get_id (alist ACEXML_ENV_ARG_PARAMETER);
- if (this->in_module_)
- {
- ACE_DEBUG ((LM_INFO, ACE_TEXT ("Remove %s in stream %s\n"),
- this->parsed_info_.name (),
- this->stream_info_.name ()));
- }
- else
- {
- ACE_DEBUG ((LM_INFO, ACE_TEXT ("Remove %s\n"),
- this->parsed_info_.name ()));
- }
- this->parsed_info_.reset ();
- }
- else if (ACE_OS_String::strcmp (qName, ACE_TEXT ("ACE_Svc_Conf")) == 0)
- {
- // Main document tag. no-op.
- ACE_DEBUG ((LM_INFO, ACE_TEXT ("ACE_Svc_Conf tag\n")));
- }
- else
- {
- // @@ Error. Perhaps we should relay to user event handler here, if available.
- }
-
- return;
-
- if (alist != 0)
- for (size_t i = 0; i < alist->getLength (); ++i)
- {
- ACE_DEBUG ((LM_DEBUG,
- ACE_TEXT (" %s = \"%s\""),
- alist->getQName (i), alist->getValue (i)));
- }
- ACE_DEBUG ((LM_DEBUG, ACE_TEXT (">")));
-}
-
-void
-Svcconf_Handler::startPrefixMapping (const ACEXML_Char *,
- const ACEXML_Char * ACEXML_ENV_ARG_DECL_NOT_USED)
- ACE_THROW_SPEC ((ACEXML_SAXException))
-{
- // No-op.
-}
-
-// *** Methods inherit from ACEXML_DTDHandler.
-
-void
-Svcconf_Handler::notationDecl (const ACEXML_Char *,
- const ACEXML_Char *,
- const ACEXML_Char * ACEXML_ENV_ARG_DECL_NOT_USED)
- ACE_THROW_SPEC ((ACEXML_SAXException))
-{
- // No-op.
-}
-
-void
-Svcconf_Handler::unparsedEntityDecl (const ACEXML_Char *,
- const ACEXML_Char *,
- const ACEXML_Char *,
- const ACEXML_Char * ACEXML_ENV_ARG_DECL_NOT_USED)
- ACE_THROW_SPEC ((ACEXML_SAXException))
-{
- // No-op.
-}
-
-// Methods inherit from ACEXML_EnitityResolver.
-
-ACEXML_InputSource *
-Svcconf_Handler::resolveEntity (const ACEXML_Char *,
- const ACEXML_Char * ACEXML_ENV_ARG_DECL_NOT_USED)
- ACE_THROW_SPEC ((ACEXML_SAXException))
-{
- // No-op.
- return 0;
-}
-
-// Methods inherit from ACEXML_ErrorHandler.
-
- /*
- * Receive notification of a recoverable error.
- */
-void
-Svcconf_Handler::error (ACEXML_SAXParseException & ACEXML_ENV_ARG_DECL_NOT_USED)
- ACE_THROW_SPEC ((ACEXML_SAXException))
-{
- // No-op.
-}
-
-void
-Svcconf_Handler::fatalError (ACEXML_SAXParseException & ACEXML_ENV_ARG_DECL_NOT_USED)
- ACE_THROW_SPEC ((ACEXML_SAXException))
-{
- // No-op.
-}
-
-void
-Svcconf_Handler::warning (ACEXML_SAXParseException & ACEXML_ENV_ARG_DECL_NOT_USED)
- ACE_THROW_SPEC ((ACEXML_SAXException))
-{
- // No-op.
-}
-
-int
-Svcconf_Handler::get_stream_id (ACEXML_Attributes *alist ACEXML_ENV_ARG_DECL)
-{
-
-
- if (alist != 0)
- for (size_t i = 0; i < alist->getLength (); ++i)
- {
- if (ACE_OS_String::strcmp (alist->getQName (i), ACE_TEXT ("id")) == 0)
- {
- this->stream_info_.name (alist->getValue (i));
- }
- else
- {
- // @@ Exception...
- return -1;
- }
- }
- return 0;
-}
-
-int
-Svcconf_Handler::get_id (ACEXML_Attributes *alist ACEXML_ENV_ARG_DECL)
-{
-
-
- if (alist != 0)
- for (size_t i = 0; i < alist->getLength (); ++i)
- {
- if (ACE_OS_String::strcmp (alist->getQName (i), ACE_TEXT ("id")) == 0)
- {
- this->parsed_info_.name (alist->getValue (i));
- }
- else
- {
- // @@ Exception...
- return -1;
- }
- }
- return 0;
-}
-
-int
-Svcconf_Handler::get_dynamic_attrs (ACEXML_Attributes *alist ACEXML_ENV_ARG_DECL)
-{
-
-
- if (alist != 0)
- {
- ACE_Parsed_Info *info = (this->in_stream_def_ == 0 ?
- &this->parsed_info_ :
- &this->stream_info_);
- for (size_t i = 0; i < alist->getLength (); ++i)
- {
- if (ACE_OS_String::strcmp (alist->getQName (i), ACE_TEXT ("id")) == 0)
- {
- info->name (alist->getValue (i));
- }
- else if (ACE_OS_String::strcmp (alist->getQName (i), ACE_TEXT ("status")) == 0)
- {
- if (ACE_OS_String::strcmp (alist->getValue (i), ACE_TEXT ("inactive")) == 0)
- {
- }
- else if (ACE_OS_String::strcmp (alist->getValue (i), ACE_TEXT ("active")) == 0)
- {
- }
- else
- {
- // @@ error, invalid 'status' value.
- }
- }
- else if (ACE_OS_String::strcmp (alist->getQName (i), ACE_TEXT ("type")) == 0)
- {
- if (ACE_OS_String::strcmp (alist->getValue (i), ACE_TEXT ("service_object")) == 0)
- {
- info->service_type (ACE_Parsed_Info::SERVICE_OBJECT_TYPE);
- }
- else if (ACE_OS_String::strcmp (alist->getValue (i), ACE_TEXT ("stream")) == 0)
- {
- info->service_type (ACE_Parsed_Info::STREAM_TYPE);
- }
- else if (ACE_OS_String::strcmp (alist->getValue (i), ACE_TEXT ("module")) == 0)
- {
- info->service_type (ACE_Parsed_Info::MODULE_TYPE);
- }
- else
- {
- // @@ error, invalid 'type' value.
- }
- }
- else
- {
- // @@ Exception...
- return -1;
- }
- }
- }
- return 0;
-}
-
-int
-Svcconf_Handler::get_initializer_attrs (ACEXML_Attributes *alist ACEXML_ENV_ARG_DECL)
-{
-
-
- if (alist != 0)
- {
- ACE_Parsed_Info *info = (this->in_stream_def_ == 0 ?
- &this->parsed_info_ :
- &this->stream_info_);
- for (size_t i = 0; i < alist->getLength (); ++i)
- {
- if (ACE_OS_String::strcmp (alist->getQName (i), ACE_TEXT ("init")) == 0)
- {
- info->init_func (alist->getValue (i));
- }
- else if (ACE_OS_String::strcmp (alist->getQName (i), ACE_TEXT ("path")) == 0)
- {
- info->path (alist->getValue (i));
- }
- else if (ACE_OS_String::strcmp (alist->getQName (i), ACE_TEXT ("params")) == 0)
- {
- info->init_params (alist->getValue (i));
- }
- else
- {
- // @@ Exception...
- return -1;
- }
- }
- }
- return 0;
-}
-
-int
-Svcconf_Handler::get_static_attrs (ACEXML_Attributes *alist ACEXML_ENV_ARG_DECL)
-{
-
-
- if (alist != 0)
- {
- ACE_Parsed_Info *info = (this->in_stream_def_ == 0 ?
- &this->parsed_info_ :
- &this->stream_info_);
- for (size_t i = 0; i < alist->getLength (); ++i)
- {
- if (ACE_OS_String::strcmp (alist->getQName (i), ACE_TEXT ("id")) == 0)
- {
- info->name (alist->getValue (i));
- }
- else if (ACE_OS_String::strcmp (alist->getQName (i), ACE_TEXT ("params")) == 0)
- {
- info->init_params (alist->getValue (i));
- }
- else
- {
- // @@ Exception...
- return -1;
- }
- }
- }
- return 0;
-}
diff --git a/TAO/CIAO/tools/XML_Helpers/Svcconf_Handler.h b/TAO/CIAO/tools/XML_Helpers/Svcconf_Handler.h
deleted file mode 100644
index 76932aadf00..00000000000
--- a/TAO/CIAO/tools/XML_Helpers/Svcconf_Handler.h
+++ /dev/null
@@ -1,296 +0,0 @@
-// $Id$
-
-//=============================================================================
-/**
- * @file Svcconf_Handler.h
- *
- * $Id$
- *
- * @author Nanbor Wang <nanbor@cs.wustl.edu>
- */
-//=============================================================================
-
-#ifndef SVCCONF_HANDLER_H
-#define SVCCONF_HANDLER_H
-
-#include "Cascadable_DocHandler.h"
-
-class ACE_Parsed_Info
-{
-public:
- typedef enum {
- MODULE_TYPE,
- SERVICE_OBJECT_TYPE,
- STREAM_TYPE,
- INVALID_TYPE
- } Service_Type;
-
- ACE_Parsed_Info ();
- ~ACE_Parsed_Info ();
-
- /**
- * Set/get name of a parsed entity.
- */
- int name (const ACEXML_Char *n);
- const ACEXML_Char *name (void);
-
- /**
- * Set/get type of a dynamic node.
- */
- int service_type (Service_Type type);
- Service_Type service_type (void);
-
- /**
- * Set/Get active status.
- */
- int active (int a);
- int active (void);
-
- /**
- * Set/get initializer path.
- */
- int path (const ACEXML_Char *n);
- const ACEXML_Char *path (void);
-
- /**
- * Set/get initializer init function.
- */
- int init_func (const ACEXML_Char *n);
- const ACEXML_Char *init_func (void);
-
- /**
- * Set/get initializer init parameter.
- */
- int init_params (const ACEXML_Char *n);
- const ACEXML_Char *init_params (void);
-
- /**
- * Reset Parsed_Info.
- */
- void reset (void);
-
-protected:
- ACEXML_Char *name_;
- Service_Type service_type_;
- int active_;
- ACEXML_Char *path_;
- ACEXML_Char *init_func_;
- ACEXML_Char *init_params_;
-};
-
-/**
- * @class Svcconf_Handler
- *
- * @brief Svcconf_Handler is an example SAX event handler.
- *
- * This SAX event handler try to regenerate the XML document it
- * reads with correct indentation.
- */
-class Svcconf_Handler : public CIAO::XMLHelpers::Cascadable_DocHandler
-{
-
-
-
-
-public:
- /**
- * Default constructor.
- */
- Svcconf_Handler (ACEXML_XMLReader *parser,
- CIAO::XMLHelpers::Cascadable_DocHandler *parent,
- const ACEXML_Char *namespaceURI,
- const ACEXML_Char *localName,
- const ACEXML_Char *qName,
- ACEXML_Attributes *atts
- ACEXML_ENV_ARG_DECL)
- ACE_THROW_SPEC ((ACEXML_SAXException)) ;
-
- /*
- * Default destructor.
- */
- virtual ~Svcconf_Handler (void);
-
- // Methods inherit from ACEXML_ContentHandler.
-
- /*
- * Receive notification of character data.
- */
- virtual void characters (const ACEXML_Char *ch,
- int start,
- int length ACEXML_ENV_ARG_DECL)
- ACE_THROW_SPEC ((ACEXML_SAXException))
- ;
-
- /*
- * Receive notification of the end of a document.
- */
- virtual void endDocument (ACEXML_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((ACEXML_SAXException))
- ;
-
- /*
- * Receive notification of the end of an element.
- */
- virtual void endElement (const ACEXML_Char *namespaceURI,
- const ACEXML_Char *localName,
- const ACEXML_Char *qName ACEXML_ENV_ARG_DECL)
- ACE_THROW_SPEC ((ACEXML_SAXException))
- ;
-
- /*
- * End the scope of a prefix-URI mapping.
- */
- virtual void endPrefixMapping (const ACEXML_Char *prefix ACEXML_ENV_ARG_DECL)
- ACE_THROW_SPEC ((ACEXML_SAXException))
- ;
-
- /*
- * Receive notification of ignorable whitespace in element content.
- */
- virtual void ignorableWhitespace (const ACEXML_Char *ch,
- int start,
- int length ACEXML_ENV_ARG_DECL)
- ACE_THROW_SPEC ((ACEXML_SAXException))
- ;
-
- /*
- * Receive notification of a processing instruction.
- */
- virtual void processingInstruction (const ACEXML_Char *target,
- const ACEXML_Char *data ACEXML_ENV_ARG_DECL)
- ACE_THROW_SPEC ((ACEXML_SAXException))
- ;
-
- /*
- * Receive an object for locating the origin of SAX document events.
- */
- virtual void setDocumentLocator (ACEXML_Locator *) ;
-
- /*
- * Receive notification of a skipped entity.
- */
- virtual void skippedEntity (const ACEXML_Char *name ACEXML_ENV_ARG_DECL)
- ACE_THROW_SPEC ((ACEXML_SAXException))
- ;
-
- /*
- * Receive notification of the beginning of a document.
- */
- virtual void startDocument (ACEXML_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((ACEXML_SAXException))
- ;
-
- /*
- * Receive notification of the beginning of an element.
- */
- virtual void startElement (const ACEXML_Char *namespaceURI,
- const ACEXML_Char *localName,
- const ACEXML_Char *qName,
- ACEXML_Attributes *atts ACEXML_ENV_ARG_DECL)
- ACE_THROW_SPEC ((ACEXML_SAXException))
- ;
-
- /*
- * Begin the scope of a prefix-URI Namespace mapping.
- */
- virtual void startPrefixMapping (const ACEXML_Char *prefix,
- const ACEXML_Char *uri ACEXML_ENV_ARG_DECL)
- ACE_THROW_SPEC ((ACEXML_SAXException))
- ;
-
- // *** Methods inherit from ACEXML_DTDHandler.
-
- /*
- * Receive notification of a notation declaration event.
- */
- virtual void notationDecl (const ACEXML_Char *name,
- const ACEXML_Char *publicId,
- const ACEXML_Char *systemId ACEXML_ENV_ARG_DECL)
- ACE_THROW_SPEC ((ACEXML_SAXException))
- ;
-
- /*
- * Receive notification of an unparsed entity declaration event.
- */
- virtual void unparsedEntityDecl (const ACEXML_Char *name,
- const ACEXML_Char *publicId,
- const ACEXML_Char *systemId,
- const ACEXML_Char *notationName ACEXML_ENV_ARG_DECL)
- ACE_THROW_SPEC ((ACEXML_SAXException))
- ;
-
- // Methods inherit from ACEXML_EnitityResolver.
-
- /*
- * Allow the application to resolve external entities.
- */
- virtual ACEXML_InputSource *resolveEntity (const ACEXML_Char *publicId,
- const ACEXML_Char *systemId ACEXML_ENV_ARG_DECL)
- ACE_THROW_SPEC ((ACEXML_SAXException))
- ;
-
- // Methods inherit from ACEXML_ErrorHandler.
-
- /*
- * Receive notification of a recoverable error.
- */
- virtual void error (ACEXML_SAXParseException &exception ACEXML_ENV_ARG_DECL)
- ACE_THROW_SPEC ((ACEXML_SAXException))
- ;
-
- /*
- * Receive notification of a non-recoverable error.
- */
- virtual void fatalError (ACEXML_SAXParseException &exception ACEXML_ENV_ARG_DECL)
- ACE_THROW_SPEC ((ACEXML_SAXException))
- ;
-
- /*
- * Receive notification of a warning.
- */
- virtual void warning (ACEXML_SAXParseException &exception ACEXML_ENV_ARG_DECL)
- ACE_THROW_SPEC ((ACEXML_SAXException))
- ;
-
-protected:
- /**
- * Get the only attribute in <stream> or <streamdef>.
- */
- int get_stream_id (ACEXML_Attributes *alist ACEXML_ENV_ARG_DECL);
-
- /**
- * Get the only attribute in <resume>, <suspend>, <remove>
- */
- int get_id (ACEXML_Attributes *alist ACEXML_ENV_ARG_DECL);
-
- /**
- * Get the dynamic tag attributes.
- */
- int get_dynamic_attrs (ACEXML_Attributes *alist ACEXML_ENV_ARG_DECL);
-
- /**
- * Get the initializer tag attributes.
- */
- int get_initializer_attrs (ACEXML_Attributes *alist ACEXML_ENV_ARG_DECL);
-
- /**
- * Get the static tag attributes.
- */
- int get_static_attrs (ACEXML_Attributes *alist ACEXML_ENV_ARG_DECL);
-
-private:
- /// We are parsing a stream definition
- int in_stream_def_;
-
- /// We are defining a steam module
- int in_module_;
-
- ACE_Parsed_Info parsed_info_;
-
- ACE_Parsed_Info stream_info_;
-};
-
-#if defined (__ACE_INLINE__)
-# include "Svcconf_Handler.i"
-#endif /* __ACE_INLINE__ */
-#endif /* SVCCONF_HANDLER_H */
diff --git a/TAO/CIAO/tools/XML_Helpers/Svcconf_Handler.i b/TAO/CIAO/tools/XML_Helpers/Svcconf_Handler.i
deleted file mode 100644
index fb6ea3db2ce..00000000000
--- a/TAO/CIAO/tools/XML_Helpers/Svcconf_Handler.i
+++ /dev/null
@@ -1,133 +0,0 @@
-// -*- C++ -*- $Id$
-
-ACE_INLINE
-ACE_Parsed_Info::ACE_Parsed_Info ()
- : name_ (0),
- service_type_ (INVALID_TYPE),
- active_ (1),
- path_ (0),
- init_func_ (0),
- init_params_ (0)
-{
-}
-
-ACE_INLINE
-ACE_Parsed_Info::~ACE_Parsed_Info ()
-{
- delete this->name_;
- delete this->path_;
- delete this->init_func_;
- delete this->init_params_;
-}
-
-ACE_INLINE int
-ACE_Parsed_Info::name (const ACEXML_Char *n)
-{
- if (this->name_ == 0)
- {
- this->name_ = ACE::strnew (n);
- return 0;
- }
- return -1;
-}
-
-ACE_INLINE const ACEXML_Char *
-ACE_Parsed_Info::name (void)
-{
- return this->name_;
-}
-
-ACE_INLINE int
-ACE_Parsed_Info::service_type (Service_Type type)
-{
- if (this->service_type_ == INVALID_TYPE)
- {
- this->service_type_ = type;
- return 0;
- }
- return -1;
-}
-
-ACE_INLINE ACE_Parsed_Info::Service_Type
-ACE_Parsed_Info::service_type (void)
-{
- return this->service_type_;
-}
-
-ACE_INLINE int
-ACE_Parsed_Info::active (int a)
-{
- this->active_ = a;
- return 0;
-}
-
-ACE_INLINE int
-ACE_Parsed_Info::active (void)
-{
- return this->active_;
-}
-
-ACE_INLINE int
-ACE_Parsed_Info::path (const ACEXML_Char *p)
-{
- if (this->path_ == 0)
- {
- this->path_ = ACE::strnew (p);
- return 0;
- }
- return -1;
-}
-
-ACE_INLINE const ACEXML_Char *
-ACE_Parsed_Info::path (void)
-{
- return this->path_;
-}
-
-ACE_INLINE int
-ACE_Parsed_Info::init_func (const ACEXML_Char *n)
-{
- if (this->init_func_ == 0)
- {
- this->init_func_ = ACE::strnew (n);
- return 0;
- }
- return -1;
-}
-
-ACE_INLINE const ACEXML_Char *
-ACE_Parsed_Info::init_func (void)
-{
- return this->init_func_;
-}
-
-ACE_INLINE int
-ACE_Parsed_Info::init_params (const ACEXML_Char *n)
-{
- if (this->init_params_ == 0)
- {
- this->init_params_ = ACE::strnew (n);
- return 0;
- }
- return -1;
-}
-
-ACE_INLINE const ACEXML_Char *
-ACE_Parsed_Info::init_params (void)
-{
- return this->init_params_;
-}
-
-ACE_INLINE void
-ACE_Parsed_Info::reset (void)
-{
- delete this->name_;
- this->name_ = 0;
- this->service_type_ = INVALID_TYPE;
- delete this->path_;
- this->path_ = 0;
- delete this->init_func_;
- this->init_func_ = 0;
- delete this->init_params_;
- this->init_params_ = 0;
-}
diff --git a/TAO/CIAO/tools/XML_Helpers/XMLHelpers.mpc b/TAO/CIAO/tools/XML_Helpers/XMLHelpers.mpc
deleted file mode 100644
index d73aab62935..00000000000
--- a/TAO/CIAO/tools/XML_Helpers/XMLHelpers.mpc
+++ /dev/null
@@ -1,21 +0,0 @@
-project(XML_Helpers): acelib, acexml {
- sharedname=CIAO_XML_Helpers
- dllflags += CIAO_XML_HELPERS_BUILD_DLL
-
- Source_Files {
- XML_Utils.cpp
- Softpkg_Handlers.cpp
- Cascadable_DocHandler.cpp
- Assembly_Spec.cpp
- Assembly_Handlers.cpp
- }
-}
-
-project(Helper_Test): aceexe, acexml {
- libs += CIAO_XML_Helpers
- depends += XML_Helpers
-
- Source_Files {
- main.cpp
- }
-}
diff --git a/TAO/CIAO/tools/XML_Helpers/XML_Helpers_Export.h b/TAO/CIAO/tools/XML_Helpers/XML_Helpers_Export.h
deleted file mode 100644
index 2eca335e6db..00000000000
--- a/TAO/CIAO/tools/XML_Helpers/XML_Helpers_Export.h
+++ /dev/null
@@ -1,50 +0,0 @@
-
-// -*- C++ -*-
-// $Id$
-// Definition for Win32 Export directives.
-// This file is generated automatically by generate_export_file.pl CIAO_XML_HELPERS
-// ------------------------------
-#ifndef CIAO_XML_HELPERS_EXPORT_H
-#define CIAO_XML_HELPERS_EXPORT_H
-
-#include "ace/config-all.h"
-
-#if !defined (CIAO_XML_HELPERS_HAS_DLL)
-# define CIAO_XML_HELPERS_HAS_DLL 1
-#endif /* ! CIAO_XML_HELPERS_HAS_DLL */
-
-#if defined (CIAO_XML_HELPERS_HAS_DLL) && (CIAO_XML_HELPERS_HAS_DLL == 1)
-# if defined (CIAO_XML_HELPERS_BUILD_DLL)
-# define CIAO_XML_HELPERS_Export ACE_Proper_Export_Flag
-# define CIAO_XML_HELPERS_SINGLETON_DECLARATION(T) ACE_EXPORT_SINGLETON_DECLARATION (T)
-# define CIAO_XML_HELPERS_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_EXPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
-# else /* CIAO_XML_HELPERS_BUILD_DLL */
-# define CIAO_XML_HELPERS_Export ACE_Proper_Import_Flag
-# define CIAO_XML_HELPERS_SINGLETON_DECLARATION(T) ACE_IMPORT_SINGLETON_DECLARATION (T)
-# define CIAO_XML_HELPERS_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_IMPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
-# endif /* CIAO_XML_HELPERS_BUILD_DLL */
-#else /* CIAO_XML_HELPERS_HAS_DLL == 1 */
-# define CIAO_XML_HELPERS_Export
-# define CIAO_XML_HELPERS_SINGLETON_DECLARATION(T)
-# define CIAO_XML_HELPERS_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
-#endif /* CIAO_XML_HELPERS_HAS_DLL == 1 */
-
-// Set CIAO_XML_HELPERS_NTRACE = 0 to turn on library specific tracing even if
-// tracing is turned off for ACE.
-#if !defined (CIAO_XML_HELPERS_NTRACE)
-# if (ACE_NTRACE == 1)
-# define CIAO_XML_HELPERS_NTRACE 1
-# else /* (ACE_NTRACE == 1) */
-# define CIAO_XML_HELPERS_NTRACE 0
-# endif /* (ACE_NTRACE == 1) */
-#endif /* !CIAO_XML_HELPERS_NTRACE */
-
-#if (CIAO_XML_HELPERS_NTRACE == 1)
-# define CIAO_XML_HELPERS_TRACE(X)
-#else /* (CIAO_XML_HELPERS_NTRACE == 1) */
-# define CIAO_XML_HELPERS_TRACE(X) ACE_TRACE_IMPL(X)
-#endif /* (CIAO_XML_HELPERS_NTRACE == 1) */
-
-#endif /* CIAO_XML_HELPERS_EXPORT_H */
-
-// End of auto generated file.
diff --git a/TAO/CIAO/tools/XML_Helpers/XML_Utils.cpp b/TAO/CIAO/tools/XML_Helpers/XML_Utils.cpp
deleted file mode 100644
index 6506ea3c728..00000000000
--- a/TAO/CIAO/tools/XML_Helpers/XML_Utils.cpp
+++ /dev/null
@@ -1,181 +0,0 @@
-// -*- C++ -*- $Id$
-
-#include "XML_Utils.h"
-#include "ACEXML/common/FileCharStream.h"
-#include "ACEXML/common/StrCharStream.h"
-#include "ACEXML/parser/parser/Parser.h"
-#include "Assembly_Handlers.h"
-
-#if !defined (__ACE_INLINE__)
-# include "XML_Utils.inl"
-#endif /* __ACE_INLINE__ */
-
-int
-CIAO::XML_Utils::parse_softpkg (CIAO::Softpkg_Handler::Softpkg_Info *info)
-{
- if (info == 0) // no way this is going to work. :)
- return -1;
-
- ACEXML_DefaultHandler *handler = 0;
- auto_ptr<ACEXML_DefaultHandler> cleanup_handler (handler);
-
- ACEXML_FileCharStream *fstm = 0;
- ACE_NEW_RETURN (fstm,
- ACEXML_FileCharStream (),
- 1);
-
- if (fstm->open (info->csd_path_.c_str ()) != 0)
- ACE_ERROR_RETURN ((LM_ERROR,
- ACE_TEXT ("Fail to open XML file: %s\n"),
- info->csd_path_.c_str ()),
- -1);
- ACEXML_TRY_NEW_ENV
- {
- ACEXML_Parser parser;
-
- ACE_NEW_RETURN (handler,
- CIAO::Softpkg_Handler (&parser,
- info
- ACEXML_ENV_ARG_PARAMETER),
- -1);
-
- ACEXML_InputSource input(fstm);
-
- parser.setContentHandler (handler);
- parser.setDTDHandler (handler);
- parser.setErrorHandler (handler);
- parser.setEntityResolver (handler);
-
- parser.parse (&input ACEXML_ENV_ARG_PARAMETER);
- ACEXML_TRY_CHECK;
-
- // delete fstm;
- ACE_NEW_RETURN (fstm,
- ACEXML_FileCharStream (),
- 1);
-
- if (fstm->open (info->ssd_path_.c_str ()) != 0)
- ACE_ERROR_RETURN ((LM_ERROR,
- ACE_TEXT ("Fail to open XML file: %s\n"),
- info->ssd_path_.c_str ()),
- -1);
-
- input.setCharStream (fstm);
-
- parser.parse (&input ACEXML_ENV_ARG_PARAMETER);
- ACEXML_TRY_CHECK;
- }
- ACEXML_CATCH (ACEXML_SAXException, ex)
- {
- ex.print ();
- return -1;
- }
- ACEXML_CATCHANY
- {
- ACE_ERROR_RETURN ((LM_ERROR,
- "Caught unknown exception.\n"),
- -1);
- }
- ACEXML_ENDTRY;
- return 0;
-}
-
-int
-CIAO::XML_Utils::parse_componentassembly (const char *filename,
- CIAO::Assembly_Spec *spec)
-{
- if (spec == 0) // no way this is going to work. :)
- return -1;
-
- ACEXML_DefaultHandler *handler = 0;
- auto_ptr<ACEXML_DefaultHandler> cleanup_handler (handler);
-
- ACEXML_FileCharStream *fstm = 0;
- ACE_NEW_RETURN (fstm,
- ACEXML_FileCharStream (),
- 1);
-
- if (fstm->open (filename) != 0)
- ACE_ERROR_RETURN ((LM_ERROR,
- ACE_TEXT ("Fail to open XML file: %s\n"),
- filename),
- -1);
- ACEXML_TRY_NEW_ENV
- {
- ACEXML_Parser parser;
-
- ACE_NEW_RETURN (handler,
- CIAO::Assembly_Handler (&parser,
- spec
- ACEXML_ENV_ARG_PARAMETER),
- -1);
-
- ACEXML_InputSource input(fstm);
-
- parser.setContentHandler (handler);
- parser.setDTDHandler (handler);
- parser.setErrorHandler (handler);
- parser.setEntityResolver (handler);
-
- parser.parse (&input ACEXML_ENV_ARG_PARAMETER);
- ACEXML_TRY_CHECK;
- }
- ACEXML_CATCH (ACEXML_SAXException, ex)
- {
- ex.print ();
- return -1;
- }
- ACEXML_CATCHANY
- {
- ACE_ERROR_RETURN ((LM_ERROR,
- "Caught unknown exception.\n"),
- -1);
- }
- ACEXML_ENDTRY;
- return 0;
-}
-
-long
-CIAO::XML_Utils::get_id_and_cardinality (const char *&id,
- ACEXML_Attributes *atts
- ACEXML_ENV_ARG_DECL)
- ACE_THROW_SPEC ((ACEXML_SAXException))
-{
- long retv = 1;
-
- for (size_t i = 0; i < atts->getLength (); ++i)
- {
- if (ACE_OS_String::strcmp (atts->getQName (i), ACE_TEXT ("id")) == 0)
- {
- id = atts->getValue (i);
- }
- else if (ACE_OS_String::strcmp (atts->getQName (i),
- ACE_TEXT ("cardinality")) == 0)
- {
- retv = ACE_OS::atoi (atts->getValue (i));
- }
- else
- ACEXML_THROW_RETURN
- (ACEXML_SAXException
- ("Invalid attribute found"),
- -1);
- }
- return retv;
-}
-
-long
-CIAO::XML_Utils::get_single_attribute (const char *attname,
- const char *&id,
- ACEXML_Attributes *atts
- ACEXML_ENV_ARG_DECL)
- ACE_THROW_SPEC ((ACEXML_SAXException))
-{
- for (size_t i = 0; i < atts->getLength (); ++i)
- {
- if (ACE_OS_String::strcmp (atts->getQName (i), attname) == 0)
- {
- id = atts->getValue (i);
- }
- }
- return 0;
-}
diff --git a/TAO/CIAO/tools/XML_Helpers/XML_Utils.h b/TAO/CIAO/tools/XML_Helpers/XML_Utils.h
deleted file mode 100644
index 18d6476d935..00000000000
--- a/TAO/CIAO/tools/XML_Helpers/XML_Utils.h
+++ /dev/null
@@ -1,70 +0,0 @@
-// $Id$
-
-//=============================================================================
-/**
- * @file XML_Utils.h
- *
- * $Id$
- *
- * @author Nanbor Wang <nanbor@cs.wustl.edu>
- */
-//=============================================================================
-
-#ifndef CIAO_XML_UTILS_H
-#define CIAO_XML_UTILS_H
-
-#include "XML_Helpers_Export.h"
-#include "Softpkg_Handlers.h"
-#include "Assembly_Spec.h"
-
-namespace CIAO
-{
- /**
- * @class Utils
- *
- * @brief Utils contains a collection of utility functions
- */
- class CIAO_XML_HELPERS_Export XML_Utils
- {
- public:
- /**
- * @brief Parse a set of component softpkg and return the important info
- *
- * This function parses a set of component softpkg files and
- * returns the important information required to intall the
- * component in a component server. In CIAO, two different
- * DLL are needed for a component installation. One for the
- * actual executor implementation and one for the container
- * servant implementation.
- *
- * When calling this function, info->csd_path_ must holds the
- * pathname to the component software descriptor the function is
- * going to parse.
- *
- * @retval 0 if all infor are parsed successfully.
- * @retval -1 if error occured
- */
- static int parse_softpkg (Softpkg_Handler::Softpkg_Info *info);
-
- static int parse_componentassembly (const char *filename,
- Assembly_Spec *spec);
-
- static long get_id_and_cardinality (const char *&id,
- ACEXML_Attributes *atts
- ACEXML_ENV_ARG_DECL)
- ACE_THROW_SPEC ((ACEXML_SAXException)) ;
-
- static long get_single_attribute (const char *attname,
- const char *&id,
- ACEXML_Attributes *atts
- ACEXML_ENV_ARG_DECL)
- ACE_THROW_SPEC ((ACEXML_SAXException)) ;
-
- };
-
-}
-
-#if defined (__ACE_INLINE__)
-# include "XML_Utils.inl"
-#endif /* __ACE_INLINE__ */
-#endif /* CIAO_XML_UTILS_H */
diff --git a/TAO/CIAO/tools/XML_Helpers/XML_Utils.inl b/TAO/CIAO/tools/XML_Helpers/XML_Utils.inl
deleted file mode 100644
index cfa1da318d3..00000000000
--- a/TAO/CIAO/tools/XML_Helpers/XML_Utils.inl
+++ /dev/null
@@ -1 +0,0 @@
-// $Id$
diff --git a/TAO/CIAO/tools/XML_Helpers/main.cpp b/TAO/CIAO/tools/XML_Helpers/main.cpp
deleted file mode 100644
index 06510f08231..00000000000
--- a/TAO/CIAO/tools/XML_Helpers/main.cpp
+++ /dev/null
@@ -1,59 +0,0 @@
-// $Id$
-
-#include "XML_Utils.h"
-#include "ace/Get_Opt.h"
-#include "ace/Auto_Ptr.h"
-
-int
-ACE_TMAIN (int argc, ACE_TCHAR *argv[])
-{
- ACE_TCHAR *softpkg_filename = 0;
- ACE_TCHAR *assembly_filename = 0;
-
- ACE_Get_Opt get_opt (argc, argv, ACE_TEXT ("a:s:"));
- ACE_TCHAR c;
-
- while ((c = get_opt ()) != -1)
- {
- switch (c)
- {
- case 's':
- softpkg_filename = get_opt.opt_arg ();
- break;
- case 'a':
- assembly_filename = get_opt.opt_arg ();
- break;
- default:
- ACE_ERROR_RETURN ((LM_ERROR,
- ACE_TEXT ("Usage: %s [-f <filename>]\n")
- ACE_TEXT (" -f: Specify the svcconf filename\n"),
- argv[0]),
- -1);
- }
- };
-
- if (softpkg_filename == 0 && assembly_filename == 0)
- ACE_ERROR_RETURN ((LM_ERROR, "No filename specified\n"), -1);
-
- if (softpkg_filename != 0)
- {
- CIAO::Softpkg_Handler::Softpkg_Info info;
- info.csd_path_ = softpkg_filename;
-
- if (CIAO::XML_Utils::parse_softpkg (&info) == 0)
- info.dump ();
- }
-
- if (assembly_filename != 0)
- {
- CIAO::Assembly_Spec assembly_spec;
-
- if (CIAO::XML_Utils::parse_componentassembly (assembly_filename,
- &assembly_spec) == 0)
- {
- ACE_DEBUG ((LM_DEBUG, "ComponentAssembly Done.\n"));
- }
- }
-
- return 0;
-}
diff --git a/TAO/CIAO/tools/XML_Helpers/svc.conf.xml b/TAO/CIAO/tools/XML_Helpers/svc.conf.xml
deleted file mode 100644
index 059b0447a56..00000000000
--- a/TAO/CIAO/tools/XML_Helpers/svc.conf.xml
+++ /dev/null
@@ -1,58 +0,0 @@
-<?xml version="1.0"?>
-<!-- This is a test XML file. Most of the stuff here don't make any sense at all -->
-<!DOCTYPE ACE_Svc_Conf PUBLIC 'GOODSAM' '../../../../ACEXML/apps/svcconf/svcconf.dtd'
- [
- <!NOTATION goody PUBLIC 'NBC' 'http://hardcoreace.com/'>
- <!NOTATION frodo PUBLIC 'ABC'>
- <!NOTATION bilbo SYSTEM "C:/ACE-GUIDELINE">
- <!ENTITY ccm 'CCM_App'>
- <!ENTITY pippin PUBLIC 'GOTO' 'http://taozen.com/' NDATA goody>
- <!ENTITY sam PUBLIC 'SHIRE' 'http://taozen.com/'>
- <!ENTITY gandolf SYSTEM 'D:/RINGS.DOT'>
- <!ELEMENT GOOBEGONE EMPTY>
- <!ELEMENT POOPOO ANY>
- <!ELEMENT HOHOHO ((BOOBOO, GOOBEGONE)?, (GOOBEGONE|POOPOO)*)+>
- <!ELEMENT BOOBOO (#PCDATA | BOOBOO)*>
- <!ATTLIST GOOBEGONE
- ohmy CDATA #REQUIRED
- testing IDREF #IMPLIED>
- ]>
-
-<ACE_Svc_Conf>
-<static id="ACE_Service_Manager" params="-d -p 4911"/>
-
-<dynamic id="Test_Task" type="service_object"> &#65; &amp;
- <initializer path="CCM_App" init="_make_Test_Task" params="-p 3000" />
-</dynamic>
-
-<streamdef>
- <dynamic id="CCM_App" type="stream" status="active">
- <initializer path="CCM_App" init="make_stream"/>
- </dynamic>
- <module>
- <dynamic id="Device_Adapter" type="module">
- <initializer path="CCM_App" init="make_da"/>
- </dynamic>
- <dynamic id="Event_Analyzer" type="module">
- <initializer path="CCM_App" init="make_ea"/>
- </dynamic>
- <dynamic id="Multicast_Router" type="module">
- <initializer path="CCM_App" init="make_mr" params="-p 3001"/>
- </dynamic>
- </module>
-</streamdef>
-
-<stream id="&ccm;">
- <module>
- <remove id="Device_Adapter"/>
- <!-- <remove id="Event_Analyzer"/> -->
- <!-- <remove id="Multicast_Router"/> -->
- <![CDATA[Only a text string.
-Do you &amp;expect something more? &#65;]]>
-<!-- Noticed that the "&amp;" in the above CDATA section can not be escaped. -->
- </module>
-</stream>
-
-<!-- remove CCM_App -->
-<remove id="Test_&amp;Task&#x61;bc"/>
-</ACE_Svc_Conf>
diff --git a/TAO/man/man1/TAO_Concurrency_Service.1 b/TAO/man/man1/TAO_Concurrency_Service.1
deleted file mode 100644
index 27d277addfe..00000000000
--- a/TAO/man/man1/TAO_Concurrency_Service.1
+++ /dev/null
@@ -1,53 +0,0 @@
-.\" Process this file with
-.\" groff -man -Tascii TAO_Concurrency_Service.1
-.\"
-.\" $Id$
-.\"
-.TH TAO_Concurrency_Service 1 "April 1999" "CORBA Tools"
-.SH NAME
-TAO_Concurrency_Service \- The TAO Concurrency Service
-.SH SYNOPSIS
-.B TAO_Concurrency_Service
-.B [
-\-d
-.B ]
-.B [
-\-s
-.B ]
-.B [
-\-o
-IOR_output_file
-.B ]
-.SH DESCRIPTION
-.B TAO_Concurrency_Service
-is an implentation of the CORBA Concurrency Service. It provides a mechanism
-that allows clients to acquire and release various types of locks in a
-distributed system.
-.SH OPTIONS
-.TP
-.B \-d
-enable debugging
-.TP
-.B \-s
-prevent the concurrency server from using the naming server
-.TP
-.BI \-o IOR_output_file
-output the IOR of the lock set factory to a specified file
-.SH BUGS
-(blank for now)
-.SH AUTHORS
-.IP
-Torben Worm <tworm@cs.wustl.edu>
-.IP
-Ossama Othman <othman@cs.wustl.edu>
-.SH "SEE ALSO"
-.BR TAO (7),
-.BR TAO_CosEvent_Service (1),
-.BR TAO_Event_Service (1),
-.BR TAO_ImplRepo_Service (1),
-.BR TAO_LifeCycle_Service (1),
-.BR TAO_Logging_Service (1),
-.BR TAO_Naming_Service (1),
-.BR TAO_Scheduling_Service (1),
-.BR TAO_Time_Service (1),
-.BR TAO_Trading_Service (1)
diff --git a/TAO/man/man1/TAO_CosEvent_Service.1 b/TAO/man/man1/TAO_CosEvent_Service.1
deleted file mode 100644
index 2a0830d8781..00000000000
--- a/TAO/man/man1/TAO_CosEvent_Service.1
+++ /dev/null
@@ -1,88 +0,0 @@
-.\" Process this file with
-.\" groff -man -Tascii TAO_CosEvent_Service.1
-.\"
-.\" $Id$
-.\"
-.TH TAO_CosEvent_Service 1 "April 1999" "CORBA Tools"
-.SH NAME
-TAO_CosEvent_Service \- The TAO COS compliant Event Service
-.SH SYNOPSIS
-.B TAO_CosEvent_Service
-.B [
-.I OPTIONS
-.B ]
-.SH DESCRIPTION
-.B TAO_CosEvent_Service
-is a COS compilant Event Service. The service is registered with the naming
-service with the name "CosEventService." It exposes the EventChannel interface
-which can be used by suppliers and consumers to send and receive events.
-
-TAO_Naming_Service (1) and TAO_Event_Service (1) must be running in order to
-run the Event Channel.
-.SH OPTIONS
-.TP
-.BI \-n \ COS_Event_Service_Name
-specify the name with which to register the Event Service
-.TP
-.BI \-r \ Real_Time_Event_Service_Name
-specify the name with which to
-.I look
-for the RtEC
-.TP
-.BI \-s \ global | local
-specify if the scheduler is
-.I local
-or
-.I global
-
-If the scheduler option is
-.I global
-then the naming service is to locate the scheduling service with the name
-"ScheduleService."
-
-If the scheduler is
-.I local
-then a new scheduling service is created and started.
-.I local
-is the default.
-.TP
-.B \-l
-specify that a local Real Time Event Channel (RtEC).
-
-If you specify this option but no RtEC is already running, then the
-TAO_CosEvent_Service starts its oewn RtEC.
-.SH FILTERING OPTIONS
-The following options are used to introduce a filtering mechanism for the Event
-Channel based on event types and source IDs.
-.TP
-.BI \-e \ "EventType_1\ EventType_2\ ..."
-specify the event types for the ConsumerQOS. The ConsumerQOS is specified
-when the RtEC is being set up.
-
-The event types should be >= ACE_ES_EVENT_UNDEFINED = 16. For example, \-e
-"17 20 40" specifies that event types with IDs 17, 20 and 40 should be passed
-to the consumers.
-.TP
-.BI \-o \ "EventSourceID_1\ EventSourceID_2\ ..."
-specify the source IDs for the ConsumerQOS.
-.TP
-.BI \-p \ "sourceID\ EventTypeID"
-specify a sourceID and event type pair for the Supplier QOS.
-.SH BUGS
-(blank for now)
-.SH AUTHORS
-.IP
-Pradeep Gore <pradeep@cs.wustl.edu>
-.IP
-Ossama Othman <othman@cs.wustl.edu>
-.SH "SEE ALSO"
-.BR TAO (7),
-.BR TAO_Concurrency_Service (1),
-.BR TAO_Event_Service (1),
-.BR TAO_ImplRepo_Service (1),
-.BR TAO_LifeCycle_Service (1),
-.BR TAO_Logging_Service (1),
-.BR TAO_Naming_Service (1),
-.BR TAO_Scheduling_Service (1),
-.BR TAO_Time_Service (1),
-.BR TAO_Trading_Service (1)
diff --git a/TAO/man/man1/TAO_Event_Service.1 b/TAO/man/man1/TAO_Event_Service.1
deleted file mode 100644
index 973e3cabca0..00000000000
--- a/TAO/man/man1/TAO_Event_Service.1
+++ /dev/null
@@ -1,58 +0,0 @@
-.\" Process this file with
-.\" groff -man -Tascii TAO_Event_Service.1
-.\"
-.\" $Id$
-.\"
-.TH TAO_Event_Service 1 "April 1999" "CORBA Tools"
-.SH NAME
-TAO_Event_Service \- The TAO Real-time Event Service
-.SH SYNOPSIS
-.B TAO_Event_Service
-.B [
-.I OPTIONS
-.B ]
-.SH DESCRIPTION
-.B TAO_Event_Service
-
-.SH OPTIONS
-.TP
-.BI \-n \ service_name
-specify the name with which to register the Event Service
-.TP
-.BI \-s \ global | local
-specify if the scheduler is
-.I local
-or
-.I global
-
-If the scheduler option is
-.I global
-then the naming service is to locate the scheduling service with the name
-"ScheduleService."
-
-If the scheduler is
-.I local
-then a new scheduling service is created and started.
-.I local
-is the default.
-.TP
-.B \-t \ null_filtering | reactive | old_reactive | old_mt
-(FIXME: NEED OPTION DESCRIPTIONS)
-.SH BUGS
-(blank for now)
-.SH AUTHORS
-.IP
-Carlos O'Ryan <coryan@cs.wustl.edu>
-.IP
-Ossama Othman <othman@cs.wustl.edu>
-.SH "SEE ALSO"
-.BR TAO (7),
-.BR TAO_Concurrency_Service (1),
-.BR TAO_CosEvent_Service (1),
-.BR TAO_ImplRepo_Service (1),
-.BR TAO_LifeCycle_Service (1),
-.BR TAO_Logging_Service (1),
-.BR TAO_Naming_Service (1),
-.BR TAO_Scheduling_Service (1),
-.BR TAO_Time_Service (1),
-.BR TAO_Trading_Service (1)
diff --git a/TAO/man/man1/tao_idl.1 b/TAO/man/man1/tao_idl.1
deleted file mode 100644
index d2a9466e4c3..00000000000
--- a/TAO/man/man1/tao_idl.1
+++ /dev/null
@@ -1,167 +0,0 @@
-.\" Process this file with
-.\" groff -man -Tascii tao_idl.1
-.\"
-.\" $Id$
-.\"
-.TH tao_idl 1 "DECEMBER 1998" "CORBA Tools" "User Manuals"
-.SH NAME
-tao_idl \- Compile IDL sources for use with the ACE ORB (TAO)
-.SH SYNOPSIS
-.B tao_idl
-.B [
-.I OPTION
-.B ... ]
-filename
-.SH DESCRIPTION
-.B tao_idl
-is a program that is used to compile
-.I IDL
-source code. The IDL compiler generates 6 files from each .idl file, the file
-names are obtained by taking the IDL basename and appending C.h, C.i, C.cpp,
-S.h, S.i and S.cpp; the client stubs are declared in the C.h file, the
-skeletons in the S.h file. Please see the Options list on how to get different
-suffixes for these files.
-
-Both clients and servers should link against the object files for the stubs
-and skeletons, this is needed to transparently support collocated objects.
-
-The server skeleton can make use of different lookup strategies to match the
-incoming operation with the correct operation at the servant. Dynamic Hashing
-and Perfect Hashing are the two different operation lookup strategies that are
-currently supported in tao_idl. By default, tao_idl tries to use Perfect
-Hashing strategy. If supported and available, gperf generates the lookup
-methods for this strategy.
-.SH OPTIONS
-.TP
-.B \-V
-the compiler printouts its version and exits
-.TP
-.BI "\-Wb," "option_list"
-pass options to the backend
-.IP
-.BI "export_macro=" "macro_name"
-The compiler will emit macro_name right after each class or extern keyword,
-this is needed for Windows/NT that requires special directives to export
-symbols from DLLs, usually the definition is just a space on unix platforms.
-.IP
-.BI "export_include=" "include_path"
-The compiler will generate code to include include_path at the top of the
-client header, this is usually a good place to define the export macro.
-.TP
-.B \-E
-only invoke the preprocessor
-.TP
-.BI "-Wp," "option_list"
-pass options to the preprocessor
-.TP
-.BI "\-D" "macro_definition"
-passed to the preprocessor
-.TP
-.BI "\-U" "macro_name"
-passed to the preprocessor
-.TP
-.BI "\-I" "include_path"
-passed to the preprocessor
-.TP
-.BI "\-A" "assertion"
-passed to the preprocessor
-.TP
-.B \-Y
-passed to the preprocessor
-.TP
-.B "\-H perfect_hash"
-To specify the IDL compiler to generate skelton code that uses perfect hashed
-operation lookup strategy, which is the default strategy. Perfect hashing uses
-gperf program, to generate lookup methods.
-.TP
-.B "\-H dynamic_hash"
-To specify the IDL compiler to generate skelton code that uses dynamic hashed
-operation lookup strategy.
-.TP
-.B "\-H binary_search"
-To specify the IDL compiler to generate skelton code that uses binary search
-based operation lookup strategy.
-.TP
-.B "\-H linear_search"
-To specify the IDL compiler to generate skelton code that uses linear search
-based operation lookup strategy.
-.TP
-.B "\-in"
-To generate #include statements with <>'s for the standard include
-files (e.g. tao/corba.h) indicating them as non-changing files
-.TP
-.B "\-ic"
-To generate #include statements with ""s for changing standard include
-files (e.g. tao/corba.h).
-.TP
-.B \-g
-To specify the path for the perfect hasing program (GPERF). Default is
-$ACE_ROOT/bin/gperf or whatever the ACE_GPERF macro was defined to be during
-compilation of TAO.
-based operation lookup strategy.
-.TP
-.B \-o
-To specify the output directory to IDL compiler as to where all the
-IDL\-compiler\-generated files are to be put. By default, all the files are
-put in the current directory from where
-.B tao_idl
-is called.
-.TP
-.B \-hc
-Client's header file name ending. Default is "C.h".
-.TP
-.B \-hs
-Server's header file name ending. Default is "S.h".
-.TP
-.B \-hT
-Server's template header file name ending. Default is "S_T.h".
-.TP
-.B \-cs
-Client stub's file name ending. Default is "C.cpp".
-.TP
-.B \-ci
-Client inline file name ending. Default is "C.i".
-.TP
-.B \-ss
-Server skeleton file name ending. Default is "S.cpp".
-.TP
-.B \-sT
-Server template skeleton file name ending. Default is "S_T.cpp".
-.TP
-.B \-si
-Server inline skeleton file name ending. Default is "S_i.cpp".
-.TP
-.B \-st
-Server's template inline file name ending. Default is "S_T.i".
-.TP
-.B \-Gc
-Generate stubs and skeletons using compiled marshaling.
-.TP
-.B \-Gi
-Generate stubs and skeletons using interpretive marshaling (default for now).
-.TP
-.B \-Ge
-Generate code that uses C++ exceptions (unimplemented as yet).
-.TP
-.B \-Gt
-Generate optimized TypeCodes (unimplemented as yet).
-.TP
-.B \-Sa
-Suppress generation of the
-.I Any
-operators
-.TP
-.B \-St
-Suppress generation of the
-.I TypeCodes
-.SH BUGS
-(blank for now)
-.SH AUTHORS
-.IP
-Carlos O'Ryan <coryan@cs.wustl.edu>
-.IP
-Ossama Othman <ossama@debian.org>
-performed man page conversion from original HTML source
-.SH "SEE ALSO"
-.BR gperf (1),
-.BR TAO (7)
diff --git a/TAO/man/man7/TAO.7 b/TAO/man/man7/TAO.7
deleted file mode 100644
index 62439260be5..00000000000
--- a/TAO/man/man7/TAO.7
+++ /dev/null
@@ -1,386 +0,0 @@
-.\" Process this file with
-.\" groff -man -Tascii TAO.7
-.\"
-.\" $Id$
-.\"
-.TH TAO 7 "April 1999" "CORBA Tools"
-.SH NAME
-TAO \- The ACE ORB
-.SH SYNOPSIS
-.B TAO_Application
-.B [
-.I TAO OPTIONS
-.B ]
-.SH DESCRIPTION
-.B TAO
-is a high performance real-time
-.SM CORBA
-.SM ORB.
-All applications that use TAO can take advantage of the environment variables
-and command line options described in this manual page.
-.SH TAO ENVIRONMENT VARIABLES
-.TP
-.B NameServiceIOR
-Specifies which IOR the TAO Naming Service is listening on.
-.TP
-.B NameServicePort
-Specifies which port the TAO Naming Service is listening on.
-.TP
-.B TradingServiceIOR
-Specifies which IOR the TAO Trading Service is listening on.
-.TP
-.B TradingServicePort
-Specifies which port the Trading Service is listening on.
-.TP
-.B TAO_ORB_DEBUG
-Enables TAO debugging mode.
-.SH TAO OPTIONS
-The following components can be tuned via options:
-.IP
-.B CORBA::ORB
-.IP
-.B TAO_Resource_Factory
-.IP
-.B TAO_Default_Server_Strategy_Factory
-.IP
-.B TAO_Default_Client_Strategy_Factory
-.TP
-.B CORBA::ORB
-Typically, CORBA::ORB options are set via command line parameters, while the
-rest of the options are set via the service configurator
-.B (svc.conf)
-file.
-.IP
-.BI \-ORBsvcconf \ config_file_name
-\ \ Specifies the name of the file from which it will read dynamic service
-configuration directives ala ACE's Service Configurator.
-.IP
-.BI \-ORBsvcconfdirective \ directivestring
-\ \ Specifies a service configuration directive, which is passed to ACE's
-Service Configurator.
-.IP
-.B \-ORBdaemon
-\ \ Specifies that the ORB should daemonize itself.
-.IP
-.BI \-ORBdebug
-\ \ Turns on the output of debugging messages within ACE's Service
-Configurator componentry.
-.IP
-.BI \-ORBdebuglevel \ level
-\ \ Control the level of debugging in the ORB. Higher number produce more
-output (try 10).
-.IP
-.BI \-ORBhost \ hostname
-\ \ Tells the Object Adapter to listen for requests on the interface associated with the host named
-.I hostname.
-.IP
-.BI \-ORBport \ portspec
-\ \ Tells the Object Adapter to listen for requests on the port specified by
-.IR portspec ,
-which can be a name as found in
-.B /etc/services
-or a number. The default is 10013.
-.IP
-.BI \-ORBobjrefstyle \ IOR | URL
-\ \ Specifies the user-visible style of object references.
-.B IOR
-is the traditional nonsensical object reference.
-.B URL
-makes the object reference look more like a URL.
-.IP
-.BI \-ORBtablesize \ object_table_size
-\ \ Specifies the size of the object table as a positive, non-zero integer. If
-not specified, the default is 64.
-.IP
-.BI \-ORBrcvsock \ receive_qabuffer_size
-\ \ Specify the size of the socket receive buffer as a positive, non-zero
-integer. If not specified, the system-dependent default is used.
-.IP
-.BI \-ORBsndsock \ send_buffer_size
-\ \ Specify the size of the socket send buffer as a positive, non-zero
-integer. If not specified, the system-dependent default is used.
-.IP
-.BI \-ORBnameserviceport \ portspec
-\ \ Specifies which port the Naming Service is listening on.
-.IP
-.BI \-ORBnameserviceior \ IOR
-\ \ Specifies the
-.I IOR
-for the Naming Service.
-.IP
-.BI \-ORBtradingserviceior \ IOR
-\ \ Specifies the
-.I IOR
-for the Trading Service.
-.IP
-.BI \-ORBtradingserviceport \ portspec
-\ \ Specifies which port the Trading Service is listening on.
-.IP
-.BI \-ORBcollocation \ yes | no
-\ \ Specifies the use of collocation object optimization. Default is
-.IR yes .
-.IP
-.BI \-ORBpreconnect \ host:port
-.BR [,
-.I host:port
-.RB ... ]
-\ \ Pre-establishes a blocking connection to each listed host:port combination.
-If a connection cannot be established, a warning is announced and it continues
-with the next listed. Listing the same combination multiple times will properly
-establish multiple connections to that endpoint.
-.IP
-.BI \-ORBcdrtradeoff \ maxsize
-\ \ Control the strategy to tradeoff between copy vs no copy marshalling of
-octet sequences. If an octet sequence is smaller than maxsize and the current
-message block contains enough space for it the octet sequence is copied instead
-of appended to the CDR stream.
-.IP
-.B \-ORBgioplite
-\ \ Enable a lightweight version of the GIOP protocol. This protocol removes
-some of the fields in the GIOP and the Request header. It only works on
-homogenous environments.
-.IP
-.BI \-ORBdotteddecimaladdresses \ boolean
-(0/1) Use the dotted decimal notation for addresses.
-.IP
-.BI \-ORBInitRef\ ObjectId=IOR
-\ \ Allows specification of an arbitrary object reference for an initial
-service. The IOR could be in the one of the following formats:
-.BR OMG\ IOR , \ URL \ or \ iioploc
-form.
-.B iioploc
-is a multiple end-point IORs understood by
-.B string_to_object\ ()
-and used as a boot-strapping mechanism by
-.BR resolve_initial_references\ () .
-The mappings specified through this argument override the
-.B orb-install-time
-defaults.
-.IP
-.BI \-ORBDefaultInitRef \ IOR_prefix
-\ \ This argument allows resolution of initial references not explicitly
-specified with -ORBInitRef. It requires a URL prefix that, after appending a
-slash
-.B '/'
-and a simple object key, forms a new URL to identify an initial object
-reference. The URL prefix format currently supported is iioploc.
-.TP
-.B TAO_Resource_Factory
-.IP
-.BI \-ORBresources \ global | tss
-\ \ Specify whether each thread uses a global or a thread\-specific (
-.I tss
-) instance for the resources it returns.
-.IP
-.BI \-ORBpoa \ global | tss
-\ \ Specify whether each thread uses a global or a thread\-specific (
-.I tss
-) instance for the Root POA.
-.IP
-.BI \-ORBreactorlock \ token | null
-\ \ Specify whether the ORB reactor is thread\-safe (
-.I token
-) or not (
-.I null
-). Default is
-.IR token .
-.IP
-.BI \-ORBcoltable \ global | orb
-\ \ Specify whether each ORB uses a global or a per\-ORB (
-.I orb
-) collocation table.
-.IP
-.BI \-ORBinputcdrallocator \ global | tss
-\ \ Specify whether the ORB uses a global or a per\-thread (
-.I tss
-) allocator for the incoming CDR buffers. Though
-.I tss
-should give the optimal performance; we made the default
-.IR global .
-TAO optimizations for octet sequences will not work when returning that data
-type if the allocator is
-.IR tss .
-Using a
-.I global
-allocator also allows the users to take advantage of the TAO octet sequence
-extensions to preserve the buffer after the upcall.
-.TP
-.B TAO_Default_Server_Strategy_Factory
-.IP
-.IR Note :
-.B \-ORBdemuxstrategy
-flag has been changed to
-.B \-ORBsystemidpolicydemuxstrategy
-and
-.BR \-ORBuseridpolicydemuxstrategy .
-.IP
-.IR Note :
-.B \-ORBtablesize
-flag has been changed to
-.BR \-ORBactiveobjectmapsize .
-.IP
-.BI \-ORBconcurrency \ reactive | thread\-per\-connection
-\ \ Specify which concurrency strategy to use. Range of values is
-.I reactive
-for
-a purely Reactor\-driven concurrency strategy or
-.I thread\-per\-connection
-for creating a new thread to service each connection.
-.IP
-.BI \-ORBactiveobjectmapsize \ active_object_map_size
-\ \ Specify the size of the active object map. If not specified, the default
-value is 64.
-.IP
-.BI \-ORBuseridpolicydemuxstrategy \ dynamic | linear
-\ \ Specify the demultiplexing lookup strategy to be used with the user ID
-policy. This option defaults to use the
-.I dynamic
-strategy.
-.IP
-.BI \-ORBsystemidpolicydemuxstrategy \ dynamic | linear | active
-\ \ Specify the demultiplexing lookup strategy to be used with the system ID
-policy. This option defaults to use the
-.I active
-strategy.
-.IP
-.BI \-ORBuniqueidpolicyreversedemuxstrategy \ dynamic | linear
-\ \ Specify the reverse demultiplexing lookup strategy to be used with the
-unique ID policy. This option defaults to use the
-.I dynamic
-strategy.
-.IP
-.BI \-ORBallowreactivationofsystemids \ 0 | 1
-\ \ Specify whether system ids can be reactivated, i.e., once an id that was
-generated by the system has be deactivated, will the user reactivate a new
-servant using the old ID. If the user is not going to use this feature, the
-IORs can be shortened, an extra comparison in the critical upcall path removed,
-and some memory on the server side can be saved. This option defaults to
-.IR 1 .
-.IP
-.BI \-ORBactivehintinids \ 0 | 1
-\ \ Specify whether an active hint should be added to IDs. With active hints,
-IDs can be found quickly. However, they lead to larger IORs. Note that this
-option is disregarded if
-.B \-ORBallowreactivationofsystemids
-is set to
-.IR 0 .
-The
-.B \-ORBactivehintinids
-option can be
-.IR 0 \ or \ 1 .
-This option defaults to
-.IR 1 .
-.IP
-.BI \-ORBpoamapsize \ poa_map_size
-\ \ Specify the size of the POA map. If not specified, the default value is 24.
-.IP
-.BI \-ORBpersiententidpolicydemuxstrategy \ dynamic | linear
-\ \ Specify the demultiplexing lookup strategy to be used with the persistent
-ID policy. This option defaults to use the
-.I dynamic
-strategy.
-.IP
-.BI \-ORBtransientidpolicydemuxstrategy \ dynamic | linear | active
-\ \ Specify the demultiplexing lookup strategy to be used with the transient ID
-policy. This option defaults to use the
-.I active
-strategy.
-.IP
-.BI \-ORBactivehintinpoanames \ 0 | 1
-\ \ Specify whether an active hint should be added to POA names. With active
-hints, POA names can be found quickly. However, they lead to larger IORs. This
-option defaults to
-.IR 1 .
-.IP
-.BI \ -ORBthreadflags \ thread_flags
-\ \ Specify the flags used for thread creation. Flags can be any logical\-OR
-combination of
-.BR THR_DETACHED ,
-.BR THR_BOUND ,
-.B THR_NEW_LWP
-and
-.BR THR_SUSPENDED .
-.IP
-.BI \-ORBpoalock \ thread | null
-\ \ Specify the type of lock to be used for POA accesses.
-.I thread
-specifies that an inter\-thread mutex is used to guarantee exclusive
-access and
-.I null
-specifies that no locking be performed. The default is
-.IR thread .
-.IP
-.BI \-ORBcoltbllock \ thread | null
-\ \ Specify the type of lock to be used for the global collocation table.
-.I thread
-specifies that an inter\-thread mutex is used to guarantee exclusive access
-and
-.I null
-specifies that no locking be performed. The default is
-.IR thread .
-.IP
-.BI \-ORBconnectorlock \ thread | null
-\ \ Specify the type of lock to be used by the connector.
-.I thread
-specifies that an inter\-thread mutex is used to guarantee exclusive access
-and
-.I null
-specifies that no locking be performed. The default is
-.IR thread .
-.TP
-.B TAO_Default_Client_Strategy_Factory
-.IP
-.BI \-ORBiiopprofilelock \ thread | null
-\ \ Specify, whether to use a lock for accessing the IIOP Profile or not.
-Default is
-.IR thread ,
-which means that a lock is used. The second option is
-.IR null ,
-which means a
-.B null
-lock is used. This makes sense in case of optimizations and is allowed when no
-forwarding is used or only a single\-threaded client.
-.IP
-.BI \-ORBclientconnectionhandler \ MT | ST | RW
-.IP
-.I MT
-means use the multi\-threaded client connection handler which uses the leader
-follower model. This model allows the use of multiple threads with a single
-Reactor.
-.IP
-.I ST
-means use the single\-threaded client connection handler, i.e., the leader
-follower model will not be used. However,
-.I ST
-does support nested upcalls and handling of new requests while waiting for the
-reply from a server.
-.IP
-.I RW
-selects a strategy that simply blocks in
-.B recv()
-when waiting for a response from the server instead of waiting in the Reactor.
-The
-.I RW
-strategy only works when the application does not have to worry about new
-request showing up when waiting for a response. Therefore, this strategy is
-appropriate only for "pure" clients. Note that applications with nested upcalls
-are not "pure" clients. Also note that this strategy will only effect two way
-calls, since there is no waiting for one way calls. This strategy can also be
-used in an application that is both a client and a server if the server side is
-handled by a separate thread and the client threads are "pure" clients.
-.IP
-Default for this option is
-.IR MT .
-.SH AUTHORS
-Center for Distributed Object Computing <http://www.cs.wustl.edu/~schmidt/doc-center.html>
-.SH "SEE ALSO"
-.BR TAO_Concurrency_Service (1),
-.BR TAO_CosEvent_Service (1),
-.BR TAO_Event_Service (1),
-.BR TAO_ImplRepo_Service (1),
-.BR TAO_LifeCycle_Service (1),
-.BR TAO_Logging_Service (1),
-.BR TAO_Naming_Service (1),
-.BR TAO_Scheduling_Service (1),
-.BR TAO_Time_Service (1),
-.BR TAO_Trading_Service (1)
diff --git a/TAO/performance-tests/AMI_Latency/Roundtrip.cpp b/TAO/performance-tests/AMI_Latency/Roundtrip.cpp
deleted file mode 100644
index c9e68d98406..00000000000
--- a/TAO/performance-tests/AMI_Latency/Roundtrip.cpp
+++ /dev/null
@@ -1,26 +0,0 @@
-//
-// $Id$
-//
-#include "Roundtrip.h"
-
-ACE_RCSID(AMI_Latency, Roundtrip, "$Id$")
-
-Roundtrip::Roundtrip (CORBA::ORB_ptr orb)
- : orb_ (CORBA::ORB::_duplicate (orb))
-{
-}
-
-Test::Timestamp
-Roundtrip::test_method (Test::Timestamp send_time
- ACE_ENV_ARG_DECL_NOT_USED)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- return send_time;
-}
-
-void
-Roundtrip::shutdown (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- this->orb_->shutdown (0 ACE_ENV_ARG_PARAMETER);
-}
diff --git a/TAO/performance-tests/AMI_Latency/Roundtrip.h b/TAO/performance-tests/AMI_Latency/Roundtrip.h
deleted file mode 100644
index efef33dd7e6..00000000000
--- a/TAO/performance-tests/AMI_Latency/Roundtrip.h
+++ /dev/null
@@ -1,46 +0,0 @@
-//
-// $Id$
-//
-
-#ifndef ROUNDTRIP_H
-#define ROUNDTRIP_H
-#include "ace/pre.h"
-
-#include "TestS.h"
-
-#if defined (_MSC_VER)
-# if (_MSC_VER >= 1200)
-# pragma warning(push)
-# endif /* _MSC_VER >= 1200 */
-# pragma warning (disable:4250)
-#endif /* _MSC_VER */
-
-/// Implement the Test::Roundtrip interface
-class Roundtrip
- : public virtual POA_Test::Roundtrip
- , public virtual PortableServer::RefCountServantBase
-{
-public:
- /// Constructor
- Roundtrip (CORBA::ORB_ptr orb);
-
- // = The skeleton methods
- virtual Test::Timestamp test_method (Test::Timestamp send_time
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- virtual void shutdown (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
-private:
- /// Use an ORB reference to conver strings to objects and shutdown
- /// the application.
- CORBA::ORB_var orb_;
-};
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-# pragma warning(pop)
-#endif /* _MSC_VER */
-
-#include "ace/post.h"
-#endif /* ROUNDTRIP_H */
diff --git a/TAO/performance-tests/AMI_Latency/Roundtrip_Handler.cpp b/TAO/performance-tests/AMI_Latency/Roundtrip_Handler.cpp
deleted file mode 100644
index 5f0061601e4..00000000000
--- a/TAO/performance-tests/AMI_Latency/Roundtrip_Handler.cpp
+++ /dev/null
@@ -1,75 +0,0 @@
-//
-// $Id$
-//
-#include "Roundtrip_Handler.h"
-
-ACE_RCSID(AMI_Latency, Roundtrip, "$Id$")
-
-Roundtrip_Handler::Roundtrip_Handler (int expected_callbacks)
- : pending_callbacks_ (expected_callbacks)
-{
-}
-
-int
-Roundtrip_Handler::pending_callbacks (void) const
-{
- return this->pending_callbacks_;
-}
-
-void
-Roundtrip_Handler::dump_results (ACE_UINT32 gsf)
-{
- this->latency_stats_.dump_results ("AMI Latency", gsf);
-}
-
-void
-Roundtrip_Handler::test_method (Test::Timestamp send_time
- ACE_ENV_ARG_DECL_NOT_USED)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- this->pending_callbacks_--;
-
- ACE_hrtime_t now = ACE_OS::gethrtime ();
- this->latency_stats_.sample (now - send_time);
-}
-
-void
-Roundtrip_Handler::test_method_excep (Test::AMI_RoundtripExceptionHolder *holder
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- ACE_TRY
- {
- this->pending_callbacks_--;
- holder->raise_test_method (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_TRY_CHECK;
- }
- ACE_CATCHANY
- {
- ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION, "test_method:");
- }
- ACE_ENDTRY;
-}
-
-void
-Roundtrip_Handler::shutdown (ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
-}
-
-void
-Roundtrip_Handler::shutdown_excep (Test::AMI_RoundtripExceptionHolder *holder
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- ACE_TRY
- {
- holder->raise_shutdown (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_TRY_CHECK;
- }
- ACE_CATCHANY
- {
- ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION, "shutdown:");
- }
- ACE_ENDTRY;
-}
diff --git a/TAO/performance-tests/AMI_Latency/Roundtrip_Handler.h b/TAO/performance-tests/AMI_Latency/Roundtrip_Handler.h
deleted file mode 100644
index ae777f50f20..00000000000
--- a/TAO/performance-tests/AMI_Latency/Roundtrip_Handler.h
+++ /dev/null
@@ -1,61 +0,0 @@
-//
-// $Id$
-//
-
-#ifndef ROUNDTRIP_HANDLER_H
-#define ROUNDTRIP_HANDLER_H
-#include "ace/pre.h"
-
-#include "TestS.h"
-#include "ace/Basic_Stats.h"
-
-#if defined (_MSC_VER)
-# if (_MSC_VER >= 1200)
-# pragma warning(push)
-# endif /* _MSC_VER >= 1200 */
-# pragma warning (disable:4250)
-#endif /* _MSC_VER */
-
-/// Implement the Test::Roundtrip interface
-class Roundtrip_Handler
- : public virtual POA_Test::AMI_RoundtripHandler
- , public virtual PortableServer::RefCountServantBase
-{
-public:
- /// Constructor
- Roundtrip_Handler (int expected_callbacks);
-
- /// Return the number of pending callbacks
- int pending_callbacks (void) const;
-
- /// Dump the results
- void dump_results (ACE_UINT32 gsf);
-
- // = The skeleton methods
- virtual void test_method (Test::Timestamp send_time
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException));
- virtual void test_method_excep (Test::AMI_RoundtripExceptionHolder *holder
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- virtual void shutdown (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException));
- virtual void shutdown_excep (Test::AMI_RoundtripExceptionHolder *holder
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
-private:
- /// The number of callbacks not received yet
- int pending_callbacks_;
-
- /// Collect the latency results
- ACE_Basic_Stats latency_stats_;
-};
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-# pragma warning(pop)
-#endif /* _MSC_VER */
-
-#include "ace/post.h"
-#endif /* ROUNDTRIP_H */
diff --git a/TAO/performance-tests/AMI_Latency/Server_Task.cpp b/TAO/performance-tests/AMI_Latency/Server_Task.cpp
deleted file mode 100644
index 6df92f32a3f..00000000000
--- a/TAO/performance-tests/AMI_Latency/Server_Task.cpp
+++ /dev/null
@@ -1,24 +0,0 @@
-//
-// $Id$
-//
-#include "Server_Task.h"
-
-ACE_RCSID(AMI_Latency, Server_Task, "$Id$")
-
-Server_Task::Server_Task (CORBA::ORB_ptr orb)
- : orb_ (CORBA::ORB::_duplicate (orb))
-{
-}
-
-int
-Server_Task::svc (void)
-{
- ACE_DECLARE_NEW_CORBA_ENV;
- ACE_TRY
- {
- this->orb_->run (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_TRY_CHECK;
- }
- ACE_CATCHANY {} ACE_ENDTRY;
- return 0;
-}
diff --git a/TAO/performance-tests/AMI_Latency/client.cpp b/TAO/performance-tests/AMI_Latency/client.cpp
deleted file mode 100644
index 0d396c4b67b..00000000000
--- a/TAO/performance-tests/AMI_Latency/client.cpp
+++ /dev/null
@@ -1,185 +0,0 @@
-// $Id$
-
-#include "Roundtrip_Handler.h"
-#include "tao/debug.h"
-#include "ace/Get_Opt.h"
-#include "ace/High_Res_Timer.h"
-#include "ace/Sched_Params.h"
-#include "ace/Stats.h"
-
-ACE_RCSID(AMI_Latency, client, "$Id$")
-
-const char *ior = "file://test.ior";
-
-ACE_hrtime_t throughput_base;
-
-int niterations = 1000;
-
-int
-parse_args (int argc, char *argv[])
-{
- ACE_Get_Opt get_opts (argc, argv, "k:i:");
- int c;
-
- while ((c = get_opts ()) != -1)
- switch (c)
- {
- case 'k':
- ior = get_opts.opt_arg ();
- break;
-
- case 'i':
- niterations = ACE_OS::atoi (get_opts.opt_arg ());
- break;
-
- case '?':
- default:
- ACE_ERROR_RETURN ((LM_ERROR,
- "usage: %s "
- "-k <ior> "
- "-i <niterations> "
- "-p <period (msecs)> "
- "-b <burst size> "
- "\n",
- argv [0]),
- -1);
- }
- // Indicates sucessful parsing of the command line
- return 0;
-}
-
-int
-main (int argc, char *argv[])
-{
- int priority =
- (ACE_Sched_Params::priority_min (ACE_SCHED_FIFO)
- + ACE_Sched_Params::priority_max (ACE_SCHED_FIFO)) / 2;
- // Enable FIFO scheduling, e.g., RT scheduling class on Solaris.
-
- if (ACE_OS::sched_params (ACE_Sched_Params (ACE_SCHED_FIFO,
- priority,
- ACE_SCOPE_PROCESS)) != 0)
- {
- if (ACE_OS::last_error () == EPERM)
- {
- ACE_DEBUG ((LM_DEBUG,
- "server (%P|%t): user is not superuser, "
- "test runs in time-shared class\n"));
- }
- else
- ACE_ERROR ((LM_ERROR,
- "server (%P|%t): sched_params failed\n"));
- }
-
- ACE_TRY_NEW_ENV
- {
- CORBA::ORB_var orb =
- CORBA::ORB_init (argc, argv, "" ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- CORBA::Object_var poa_object =
- orb->resolve_initial_references("RootPOA" ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- if (CORBA::is_nil (poa_object.in ()))
- ACE_ERROR_RETURN ((LM_ERROR,
- " (%P|%t) Unable to initialize the POA.\n"),
- 1);
-
- PortableServer::POA_var root_poa =
- PortableServer::POA::_narrow (poa_object.in () ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- PortableServer::POAManager_var poa_manager =
- root_poa->the_POAManager (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- if (parse_args (argc, argv) != 0)
- return 1;
-
- CORBA::Object_var object =
- orb->string_to_object (ior ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- Test::Roundtrip_var roundtrip =
- Test::Roundtrip::_narrow (object.in () ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- if (CORBA::is_nil (roundtrip.in ()))
- ACE_ERROR_RETURN ((LM_ERROR,
- "Nil Test::Roundtrip reference <%s>\n",
- ior),
- 1);
-
- for (int j = 0; j < 100; ++j)
- {
- ACE_hrtime_t start = 0;
- (void) roundtrip->test_method (start ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
- }
-
- Roundtrip_Handler *roundtrip_handler_impl;
- ACE_NEW_RETURN (roundtrip_handler_impl,
- Roundtrip_Handler (niterations),
- 1);
- PortableServer::ServantBase_var owner_transfer(roundtrip_handler_impl);
-
- Test::AMI_RoundtripHandler_var roundtrip_handler =
- roundtrip_handler_impl->_this (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- poa_manager->activate (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- ACE_hrtime_t test_start = ACE_OS::gethrtime ();
-
- for (int i = 0; i != niterations; ++i)
- {
- // Invoke asynchronous operation....
- roundtrip->sendc_test_method (roundtrip_handler.in (),
- ACE_OS::gethrtime ()
- ACE_ENV_ARG_PARAMETER);
- if (orb->work_pending (ACE_ENV_SINGLE_ARG_PARAMETER))
- orb->perform_work (ACE_ENV_SINGLE_ARG_PARAMETER);
-
- ACE_TRY_CHECK;
- }
-
- ACE_Time_Value tv (0, 2000);
-
- while (roundtrip_handler_impl->pending_callbacks ())
- {
- orb->perform_work (tv ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
- }
-
- ACE_hrtime_t test_end = ACE_OS::gethrtime ();
-
- ACE_DEBUG ((LM_DEBUG, "High resolution timer calibration...."));
- ACE_UINT32 gsf = ACE_High_Res_Timer::global_scale_factor ();
- ACE_DEBUG ((LM_DEBUG, "done\n"));
-
- roundtrip_handler_impl->dump_results (gsf);
-
- ACE_Throughput_Stats::dump_throughput ("Total", gsf,
- test_end - test_start,
- niterations);
-
- roundtrip->shutdown (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- root_poa->destroy (1, 1 ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- orb->destroy (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_TRY_CHECK;
- }
- ACE_CATCHANY
- {
- ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION, "Exception caught: ");
- return 1;
- }
- ACE_ENDTRY;
-
- return 0;
-}
diff --git a/TAO/performance-tests/AMI_Latency/server.cpp b/TAO/performance-tests/AMI_Latency/server.cpp
deleted file mode 100644
index 74498dc13e0..00000000000
--- a/TAO/performance-tests/AMI_Latency/server.cpp
+++ /dev/null
@@ -1,155 +0,0 @@
-// $Id$
-
-#include "Roundtrip.h"
-#include "Server_Task.h"
-#include "ace/Get_Opt.h"
-#include "ace/Sched_Params.h"
-
-#include "tao/Strategies/advanced_resource.h"
-
-ACE_RCSID(AMI_Latency, server, "$Id$")
-
-const char *ior_output_file = "test.ior";
-int nthreads = 4;
-
-int
-parse_args (int argc, char *argv[])
-{
- ACE_Get_Opt get_opts (argc, argv, "o:n:");
- int c;
-
- while ((c = get_opts ()) != -1)
- switch (c)
- {
- case 'o':
- ior_output_file = get_opts.opt_arg ();
- break;
-
- case 'n':
- nthreads = ACE_OS::atoi (get_opts.opt_arg ());
- break;
-
- case '?':
- default:
- ACE_ERROR_RETURN ((LM_ERROR,
- "usage: %s "
- "-o <iorfile> "
- "-n <nthreads> "
- "\n",
- argv [0]),
- -1);
- }
- // Indicates sucessful parsing of the command line
- return 0;
-}
-
-int
-main (int argc, char *argv[])
-{
- int priority =
- (ACE_Sched_Params::priority_min (ACE_SCHED_FIFO)
- + ACE_Sched_Params::priority_max (ACE_SCHED_FIFO)) / 2;
-
- priority = ACE_Sched_Params::next_priority (ACE_SCHED_FIFO,
- priority);
-
- priority = ACE_Sched_Params::next_priority (ACE_SCHED_FIFO,
- priority);
-
- // Enable FIFO scheduling, e.g., RT scheduling class on Solaris.
- if (ACE_OS::sched_params (ACE_Sched_Params (ACE_SCHED_FIFO,
- priority,
- ACE_SCOPE_PROCESS)) != 0)
- {
- if (ACE_OS::last_error () == EPERM)
- {
- ACE_DEBUG ((LM_DEBUG,
- "server (%P|%t): user is not superuser, "
- "test runs in time-shared class\n"));
- }
- else
- ACE_ERROR ((LM_ERROR,
- "server (%P|%t): sched_params failed\n"));
- }
-
- ACE_TRY_NEW_ENV
- {
- CORBA::ORB_var orb =
- CORBA::ORB_init (argc, argv, "" ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- CORBA::Object_var poa_object =
- orb->resolve_initial_references("RootPOA" ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- if (CORBA::is_nil (poa_object.in ()))
- ACE_ERROR_RETURN ((LM_ERROR,
- " (%P|%t) Unable to initialize the POA.\n"),
- 1);
-
- PortableServer::POA_var root_poa =
- PortableServer::POA::_narrow (poa_object.in () ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- PortableServer::POAManager_var poa_manager =
- root_poa->the_POAManager (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- if (parse_args (argc, argv) != 0)
- return 1;
-
- Roundtrip *roundtrip_impl;
- ACE_NEW_RETURN (roundtrip_impl,
- Roundtrip (orb.in ()),
- 1);
- PortableServer::ServantBase_var owner_transfer(roundtrip_impl);
-
- Test::Roundtrip_var roundtrip =
- roundtrip_impl->_this (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- CORBA::String_var ior =
- orb->object_to_string (roundtrip.in () ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- // If the ior_output_file exists, output the ior to it
- FILE *output_file= ACE_OS::fopen (ior_output_file, "w");
- if (output_file == 0)
- ACE_ERROR_RETURN ((LM_ERROR,
- "Cannot open output file for writing IOR: %s",
- ior_output_file),
- 1);
- ACE_OS::fprintf (output_file, "%s", ior.in ());
- ACE_OS::fclose (output_file);
-
- poa_manager->activate (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- Server_Task server_task (orb.in ());
- if (server_task.activate (THR_NEW_LWP | THR_JOINABLE,
- nthreads) != 0)
- ACE_ERROR_RETURN ((LM_ERROR,
- "Cannot activate server threads\n"),
- 1);
-
- server_task.thr_mgr ()->wait ();
-
- ACE_DEBUG ((LM_DEBUG, "event loop finished\n"));
-
- ACE_DEBUG ((LM_DEBUG, "(%P|%t) server - event loop finished\n"));
-
- root_poa->destroy (1, 1 ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- orb->destroy (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_TRY_CHECK;
- }
- ACE_CATCHANY
- {
- ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION, "Exception caught:");
- return 1;
- }
- ACE_ENDTRY;
-
- return 0;
-}
diff --git a/TAO/performance-tests/DII_Latency/Roundtrip.cpp b/TAO/performance-tests/DII_Latency/Roundtrip.cpp
deleted file mode 100644
index df15cd65d8a..00000000000
--- a/TAO/performance-tests/DII_Latency/Roundtrip.cpp
+++ /dev/null
@@ -1,26 +0,0 @@
-//
-// $Id$
-//
-#include "Roundtrip.h"
-
-ACE_RCSID(DII_Latency, Roundtrip, "$Id$")
-
-Roundtrip::Roundtrip (CORBA::ORB_ptr orb)
- : orb_ (CORBA::ORB::_duplicate (orb))
-{
-}
-
-Test::Timestamp
-Roundtrip::test_method (Test::Timestamp send_time
- ACE_ENV_ARG_DECL_NOT_USED)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- return send_time;
-}
-
-void
-Roundtrip::shutdown (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- this->orb_->shutdown (0 ACE_ENV_ARG_PARAMETER);
-}
diff --git a/TAO/performance-tests/DII_Latency/Roundtrip.h b/TAO/performance-tests/DII_Latency/Roundtrip.h
deleted file mode 100644
index efef33dd7e6..00000000000
--- a/TAO/performance-tests/DII_Latency/Roundtrip.h
+++ /dev/null
@@ -1,46 +0,0 @@
-//
-// $Id$
-//
-
-#ifndef ROUNDTRIP_H
-#define ROUNDTRIP_H
-#include "ace/pre.h"
-
-#include "TestS.h"
-
-#if defined (_MSC_VER)
-# if (_MSC_VER >= 1200)
-# pragma warning(push)
-# endif /* _MSC_VER >= 1200 */
-# pragma warning (disable:4250)
-#endif /* _MSC_VER */
-
-/// Implement the Test::Roundtrip interface
-class Roundtrip
- : public virtual POA_Test::Roundtrip
- , public virtual PortableServer::RefCountServantBase
-{
-public:
- /// Constructor
- Roundtrip (CORBA::ORB_ptr orb);
-
- // = The skeleton methods
- virtual Test::Timestamp test_method (Test::Timestamp send_time
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- virtual void shutdown (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
-private:
- /// Use an ORB reference to conver strings to objects and shutdown
- /// the application.
- CORBA::ORB_var orb_;
-};
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-# pragma warning(pop)
-#endif /* _MSC_VER */
-
-#include "ace/post.h"
-#endif /* ROUNDTRIP_H */
diff --git a/TAO/performance-tests/DII_Latency/client.cpp b/TAO/performance-tests/DII_Latency/client.cpp
deleted file mode 100644
index 57935526269..00000000000
--- a/TAO/performance-tests/DII_Latency/client.cpp
+++ /dev/null
@@ -1,178 +0,0 @@
-// $Id$
-
-#include "ace/Get_Opt.h"
-#include "ace/High_Res_Timer.h"
-#include "ace/Sched_Params.h"
-#include "ace/Stats.h"
-#include "ace/Sample_History.h"
-
-#include "tao/Strategies/advanced_resource.h"
-#include "tao/DynamicInterface/Request.h"
-
-ACE_RCSID(DII_Latency, client, "$Id$")
-
-const char *ior = "file://test.ior";
-int niterations = 100;
-int do_dump_history = 0;
-int do_shutdown = 1;
-
-int
-parse_args (int argc, char *argv[])
-{
- ACE_Get_Opt get_opts (argc, argv, "hxk:i:");
- int c;
-
- while ((c = get_opts ()) != -1)
- switch (c)
- {
- case 'h':
- do_dump_history = 1;
- break;
-
- case 'x':
- do_shutdown = 0;
- break;
-
- case 'k':
- ior = get_opts.opt_arg ();
- break;
-
- case 'i':
- niterations = ACE_OS::atoi (get_opts.opt_arg ());
- break;
-
- case '?':
- default:
- ACE_ERROR_RETURN ((LM_ERROR,
- "usage: %s "
- "-k <ior> "
- "-i <niterations> "
- "-x (disable shutdown) "
- "\n",
- argv [0]),
- -1);
- }
- // Indicates sucessful parsing of the command line
- return 0;
-}
-
-int
-main (int argc, char *argv[])
-{
- int priority =
- (ACE_Sched_Params::priority_min (ACE_SCHED_FIFO)
- + ACE_Sched_Params::priority_max (ACE_SCHED_FIFO)) / 2;
- // Enable FIFO scheduling, e.g., RT scheduling class on Solaris.
-
- if (ACE_OS::sched_params (ACE_Sched_Params (ACE_SCHED_FIFO,
- priority,
- ACE_SCOPE_PROCESS)) != 0)
- {
- if (ACE_OS::last_error () == EPERM)
- {
- ACE_DEBUG ((LM_DEBUG,
- "client (%P|%t): user is not superuser, "
- "test runs in time-shared class\n"));
- }
- else
- ACE_ERROR ((LM_ERROR,
- "client (%P|%t): sched_params failed\n"));
- }
-
- ACE_TRY_NEW_ENV
- {
- CORBA::ORB_var orb =
- CORBA::ORB_init (argc, argv, "" ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- if (parse_args (argc, argv) != 0)
- return 1;
-
- CORBA::Object_var object =
- orb->string_to_object (ior ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- if (CORBA::is_nil (object.in ()))
- {
- ACE_ERROR_RETURN ((LM_ERROR,
- "Nil CORBA::Object reference <%s>\n",
- ior),
- 1);
- }
-
- for (int j = 0; j < 100; ++j)
- {
- CORBA::Request_var request =
- object->_request ("test_method" ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- CORBA::ULongLong dummy = 0;
- request->add_in_arg("send_time") <<= dummy;
-
- request->set_return_type (CORBA::_tc_ulonglong);
- request->invoke (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_TRY_CHECK;
- }
-
- ACE_Sample_History history (niterations);
-
- ACE_hrtime_t test_start = ACE_OS::gethrtime ();
- for (int i = 0; i < niterations; ++i)
- {
- CORBA::ULongLong start = ACE_OS::gethrtime ();
-
- CORBA::Request_var request =
- object->_request ("test_method" ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- request->add_in_arg("send_time") <<= start;
-
- request->set_return_type (CORBA::_tc_ulonglong);
- request->invoke (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- ACE_hrtime_t now = ACE_OS::gethrtime ();
- history.sample (now - start);
- }
-
- ACE_hrtime_t test_end = ACE_OS::gethrtime ();
-
- ACE_DEBUG ((LM_DEBUG, "test finished\n"));
-
- ACE_DEBUG ((LM_DEBUG, "High resolution timer calibration...."));
- ACE_UINT32 gsf = ACE_High_Res_Timer::global_scale_factor ();
- ACE_DEBUG ((LM_DEBUG, "done\n"));
-
- if (do_dump_history)
- {
- history.dump_samples ("HISTORY", gsf);
- }
-
- ACE_Basic_Stats stats;
- history.collect_basic_stats (stats);
- stats.dump_results ("Total", gsf);
-
- ACE_Throughput_Stats::dump_throughput ("Total", gsf,
- test_end - test_start,
- stats.samples_count ());
-
- if (do_shutdown)
- {
- CORBA::Request_var request =
- object->_request ("shutdown" ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- request->invoke (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- }
- }
- ACE_CATCHANY
- {
- ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION, "Exception caught:");
- return 1;
- }
- ACE_ENDTRY;
-
- return 0;
-}
diff --git a/TAO/performance-tests/DII_Latency/server.cpp b/TAO/performance-tests/DII_Latency/server.cpp
deleted file mode 100644
index e96f0ff595a..00000000000
--- a/TAO/performance-tests/DII_Latency/server.cpp
+++ /dev/null
@@ -1,136 +0,0 @@
-// $Id$
-
-#include "Roundtrip.h"
-#include "ace/Get_Opt.h"
-#include "ace/Sched_Params.h"
-
-#include "tao/Strategies/advanced_resource.h"
-
-ACE_RCSID(Single_Threaded_Latency, server, "$Id$")
-
-const char *ior_output_file = "test.ior";
-
-int
-parse_args (int argc, char *argv[])
-{
- ACE_Get_Opt get_opts (argc, argv, "o:");
- int c;
-
- while ((c = get_opts ()) != -1)
- switch (c)
- {
- case 'o':
- ior_output_file = get_opts.opt_arg ();
- break;
-
- case '?':
- default:
- ACE_ERROR_RETURN ((LM_ERROR,
- "usage: %s "
- "-o <iorfile>"
- "\n",
- argv [0]),
- -1);
- }
- // Indicates sucessful parsing of the command line
- return 0;
-}
-
-int
-main (int argc, char *argv[])
-{
- int priority =
- (ACE_Sched_Params::priority_min (ACE_SCHED_FIFO)
- + ACE_Sched_Params::priority_max (ACE_SCHED_FIFO)) / 2;
- priority = ACE_Sched_Params::next_priority (ACE_SCHED_FIFO,
- priority);
- // Enable FIFO scheduling, e.g., RT scheduling class on Solaris.
-
- if (ACE_OS::sched_params (ACE_Sched_Params (ACE_SCHED_FIFO,
- priority,
- ACE_SCOPE_PROCESS)) != 0)
- {
- if (ACE_OS::last_error () == EPERM)
- {
- ACE_DEBUG ((LM_DEBUG,
- "server (%P|%t): user is not superuser, "
- "test runs in time-shared class\n"));
- }
- else
- ACE_ERROR ((LM_ERROR,
- "server (%P|%t): sched_params failed\n"));
- }
-
- ACE_TRY_NEW_ENV
- {
- CORBA::ORB_var orb =
- CORBA::ORB_init (argc, argv, "" ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- CORBA::Object_var poa_object =
- orb->resolve_initial_references("RootPOA" ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- if (CORBA::is_nil (poa_object.in ()))
- ACE_ERROR_RETURN ((LM_ERROR,
- " (%P|%t) Unable to initialize the POA.\n"),
- 1);
-
- PortableServer::POA_var root_poa =
- PortableServer::POA::_narrow (poa_object.in () ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- PortableServer::POAManager_var poa_manager =
- root_poa->the_POAManager (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- if (parse_args (argc, argv) != 0)
- return 1;
-
- Roundtrip *roundtrip_impl;
- ACE_NEW_RETURN (roundtrip_impl,
- Roundtrip (orb.in ()),
- 1);
- PortableServer::ServantBase_var owner_transfer(roundtrip_impl);
-
- Test::Roundtrip_var roundtrip =
- roundtrip_impl->_this (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- CORBA::String_var ior =
- orb->object_to_string (roundtrip.in () ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- // If the ior_output_file exists, output the ior to it
- FILE *output_file= ACE_OS::fopen (ior_output_file, "w");
- if (output_file == 0)
- ACE_ERROR_RETURN ((LM_ERROR,
- "Cannot open output file for writing IOR: %s",
- ior_output_file),
- 1);
- ACE_OS::fprintf (output_file, "%s", ior.in ());
- ACE_OS::fclose (output_file);
-
- poa_manager->activate (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- orb->run (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- ACE_DEBUG ((LM_DEBUG, "(%P|%t) server - event loop finished\n"));
-
- root_poa->destroy (1, 1 ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- orb->destroy (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_TRY_CHECK;
- }
- ACE_CATCHANY
- {
- ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION, "Exception caught:");
- return 1;
- }
- ACE_ENDTRY;
-
- return 0;
-}
diff --git a/TAO/performance-tests/DSI_Latency/Roundtrip.cpp b/TAO/performance-tests/DSI_Latency/Roundtrip.cpp
deleted file mode 100644
index 6de5cfe047a..00000000000
--- a/TAO/performance-tests/DSI_Latency/Roundtrip.cpp
+++ /dev/null
@@ -1,97 +0,0 @@
-//
-// $Id$
-//
-#include "Roundtrip.h"
-#include "tao/DynamicInterface/Server_Request.h"
-
-ACE_RCSID(Single_Threaded_Latency, Roundtrip, "$Id$")
-
-Roundtrip::Roundtrip (CORBA::ORB_ptr orb)
- : orb_ (CORBA::ORB::_duplicate (orb))
-{
-}
-
-void
-Roundtrip::invoke (CORBA::ServerRequest_ptr request
- ACE_ENV_ARG_DECL)
-{
- if (ACE_OS::strcmp ("shutdown", request->operation ()) == 0)
- {
- this->orb_->shutdown (0 ACE_ENV_ARG_PARAMETER);
- ACE_CHECK;
-
- return;
- }
-
- else if (ACE_OS::strcmp ("_is_a", request->operation ()) == 0)
- {
- CORBA::NVList_ptr list;
- this->orb_->create_list (0, list ACE_ENV_ARG_PARAMETER);
- ACE_CHECK;
-
- CORBA::Any type_id (CORBA::_tc_string);
- list->add_value ("type_id", type_id, CORBA::ARG_IN
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK;
-
- request->arguments (list ACE_ENV_ARG_PARAMETER);
- ACE_CHECK;
-
- CORBA::NamedValue_ptr nv = list->item (0 ACE_ENV_ARG_PARAMETER);
- ACE_CHECK;
-
- const char *arg;
- *(nv->value ()) >>= arg;
-
- CORBA::Boolean type_matches = 0;
- if (ACE_OS::strcmp (arg, "IDL:Test/Roundtrip:1.0") == 0
- || ACE_OS::strcmp (arg, "IDL:omg.org/CORBA/Object:1.0") == 0
- || ACE_OS::strcmp (arg, "") == 0)
- type_matches = 1;
-
- CORBA::Any result;
- result <<= CORBA::Any::from_boolean (type_matches);
-
- request->set_result (result ACE_ENV_ARG_PARAMETER);
- ACE_CHECK;
-
- return;
- }
-
- else if (ACE_OS::strcmp ("test_method", request->operation ()) == 0)
- {
- CORBA::NVList_ptr list;
- this->orb_->create_list (0, list ACE_ENV_ARG_PARAMETER);
- ACE_CHECK;
-
- CORBA::Any send_time (CORBA::_tc_ulonglong);
- list->add_value ("send_time", send_time, CORBA::ARG_IN
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK;
-
- request->arguments (list ACE_ENV_ARG_PARAMETER);
- ACE_CHECK;
-
- CORBA::NamedValue_ptr nv = list->item (0 ACE_ENV_ARG_PARAMETER);
- ACE_CHECK;
-
- request->set_result (*(nv->value ()) ACE_ENV_ARG_PARAMETER);
- ACE_CHECK;
-
- return;
- }
-
- CORBA::Any bad_operation;
- CORBA::BAD_OPERATION exception;
- bad_operation <<= exception;
- request->set_exception (bad_operation ACE_ENV_ARG_PARAMETER);
- ACE_CHECK;
-}
-
-CORBA::RepositoryId
-Roundtrip::_primary_interface (const PortableServer::ObjectId &,
- PortableServer::POA_ptr
- ACE_ENV_ARG_DECL_NOT_USED)
-{
- return CORBA::string_dup ("IDL:Test/Roundtrip:1.0");
-}
diff --git a/TAO/performance-tests/DSI_Latency/Roundtrip.h b/TAO/performance-tests/DSI_Latency/Roundtrip.h
deleted file mode 100644
index d795dcb56f1..00000000000
--- a/TAO/performance-tests/DSI_Latency/Roundtrip.h
+++ /dev/null
@@ -1,48 +0,0 @@
-//
-// $Id$
-//
-
-#ifndef ROUNDTRIP_H
-#define ROUNDTRIP_H
-#include "ace/pre.h"
-
-#include "tao/DynamicInterface/Dynamic_Implementation.h"
-#include "tao/PortableServer/PortableServer.h"
-#include "tao/corba.h"
-
-#if defined (_MSC_VER)
-# if (_MSC_VER >= 1200)
-# pragma warning(push)
-# endif /* _MSC_VER >= 1200 */
-# pragma warning (disable:4250)
-#endif /* _MSC_VER */
-
-/// Implement the Test::Roundtrip interface
-class Roundtrip
- : public virtual PortableServer::DynamicImplementation
- , public virtual PortableServer::RefCountServantBase
-{
-public:
- /// Constructor
- Roundtrip (CORBA::ORB_ptr orb);
-
- // = The DSI methods
- virtual void invoke (CORBA::ServerRequest_ptr request
- ACE_ENV_ARG_DECL);
- virtual CORBA::RepositoryId _primary_interface (
- const PortableServer::ObjectId &oid,
- PortableServer::POA_ptr poa
- ACE_ENV_ARG_DECL);
-
-private:
- /// Use an ORB reference to conver strings to objects and shutdown
- /// the application.
- CORBA::ORB_var orb_;
-};
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-# pragma warning(pop)
-#endif /* _MSC_VER */
-
-#include "ace/post.h"
-#endif /* ROUNDTRIP_H */
diff --git a/TAO/performance-tests/DSI_Latency/client.cpp b/TAO/performance-tests/DSI_Latency/client.cpp
deleted file mode 100644
index 2a264e91b43..00000000000
--- a/TAO/performance-tests/DSI_Latency/client.cpp
+++ /dev/null
@@ -1,163 +0,0 @@
-// $Id$
-
-#include "TestC.h"
-#include "ace/Get_Opt.h"
-#include "ace/High_Res_Timer.h"
-#include "ace/Sched_Params.h"
-#include "ace/Stats.h"
-#include "ace/Sample_History.h"
-
-#include "tao/Strategies/advanced_resource.h"
-
-ACE_RCSID(DSI_Latency, client, "$Id$")
-
-const char *ior = "file://test.ior";
-int niterations = 100;
-int do_dump_history = 0;
-int do_shutdown = 1;
-
-int
-parse_args (int argc, char *argv[])
-{
- ACE_Get_Opt get_opts (argc, argv, "hxk:i:");
- int c;
-
- while ((c = get_opts ()) != -1)
- switch (c)
- {
- case 'h':
- do_dump_history = 1;
- break;
-
- case 'x':
- do_shutdown = 0;
- break;
-
- case 'k':
- ior = get_opts.opt_arg ();
- break;
-
- case 'i':
- niterations = ACE_OS::atoi (get_opts.opt_arg ());
- break;
-
- case '?':
- default:
- ACE_ERROR_RETURN ((LM_ERROR,
- "usage: %s "
- "-k <ior> "
- "-i <niterations> "
- "-x (disable shutdown) "
- "\n",
- argv [0]),
- -1);
- }
- // Indicates sucessful parsing of the command line
- return 0;
-}
-
-int
-main (int argc, char *argv[])
-{
- int priority =
- (ACE_Sched_Params::priority_min (ACE_SCHED_FIFO)
- + ACE_Sched_Params::priority_max (ACE_SCHED_FIFO)) / 2;
- // Enable FIFO scheduling, e.g., RT scheduling class on Solaris.
-
- if (ACE_OS::sched_params (ACE_Sched_Params (ACE_SCHED_FIFO,
- priority,
- ACE_SCOPE_PROCESS)) != 0)
- {
- if (ACE_OS::last_error () == EPERM)
- {
- ACE_DEBUG ((LM_DEBUG,
- "client (%P|%t): user is not superuser, "
- "test runs in time-shared class\n"));
- }
- else
- ACE_ERROR ((LM_ERROR,
- "client (%P|%t): sched_params failed\n"));
- }
-
- ACE_TRY_NEW_ENV
- {
- CORBA::ORB_var orb =
- CORBA::ORB_init (argc, argv, "" ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- if (parse_args (argc, argv) != 0)
- return 1;
-
- CORBA::Object_var object =
- orb->string_to_object (ior ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- Test::Roundtrip_var roundtrip =
- Test::Roundtrip::_narrow (object.in () ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- if (CORBA::is_nil (roundtrip.in ()))
- {
- ACE_ERROR_RETURN ((LM_ERROR,
- "Nil Test::Roundtrip reference <%s>\n",
- ior),
- 1);
- }
-
- for (int j = 0; j < 100; ++j)
- {
- ACE_hrtime_t start = 0;
- (void) roundtrip->test_method (start ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
- }
-
- ACE_Sample_History history (niterations);
-
- ACE_hrtime_t test_start = ACE_OS::gethrtime ();
- for (int i = 0; i < niterations; ++i)
- {
- ACE_hrtime_t start = ACE_OS::gethrtime ();
-
- (void) roundtrip->test_method (start ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- ACE_hrtime_t now = ACE_OS::gethrtime ();
- history.sample (now - start);
- }
-
- ACE_hrtime_t test_end = ACE_OS::gethrtime ();
-
- ACE_DEBUG ((LM_DEBUG, "test finished\n"));
-
- ACE_DEBUG ((LM_DEBUG, "High resolution timer calibration...."));
- ACE_UINT32 gsf = ACE_High_Res_Timer::global_scale_factor ();
- ACE_DEBUG ((LM_DEBUG, "done\n"));
-
- if (do_dump_history)
- {
- history.dump_samples ("HISTORY", gsf);
- }
-
- ACE_Basic_Stats stats;
- history.collect_basic_stats (stats);
- stats.dump_results ("Total", gsf);
-
- ACE_Throughput_Stats::dump_throughput ("Total", gsf,
- test_end - test_start,
- stats.samples_count ());
-
- if (do_shutdown)
- {
- roundtrip->shutdown (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_TRY_CHECK;
- }
- }
- ACE_CATCHANY
- {
- ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION, "Exception caught:");
- return 1;
- }
- ACE_ENDTRY;
-
- return 0;
-}
diff --git a/TAO/performance-tests/DSI_Latency/server.cpp b/TAO/performance-tests/DSI_Latency/server.cpp
deleted file mode 100644
index ebc70ade1d7..00000000000
--- a/TAO/performance-tests/DSI_Latency/server.cpp
+++ /dev/null
@@ -1,142 +0,0 @@
-// $Id$
-
-#include "Roundtrip.h"
-#include "ace/Get_Opt.h"
-#include "ace/Sched_Params.h"
-
-#include "tao/Strategies/advanced_resource.h"
-
-ACE_RCSID(DSI_Latency, server, "$Id$")
-
-const char *ior_output_file = "test.ior";
-
-int
-parse_args (int argc, char *argv[])
-{
- ACE_Get_Opt get_opts (argc, argv, "o:");
- int c;
-
- while ((c = get_opts ()) != -1)
- switch (c)
- {
- case 'o':
- ior_output_file = get_opts.opt_arg ();
- break;
-
- case '?':
- default:
- ACE_ERROR_RETURN ((LM_ERROR,
- "usage: %s "
- "-o <iorfile>"
- "\n",
- argv [0]),
- -1);
- }
- // Indicates sucessful parsing of the command line
- return 0;
-}
-
-int
-main (int argc, char *argv[])
-{
- int priority =
- (ACE_Sched_Params::priority_min (ACE_SCHED_FIFO)
- + ACE_Sched_Params::priority_max (ACE_SCHED_FIFO)) / 2;
- priority = ACE_Sched_Params::next_priority (ACE_SCHED_FIFO,
- priority);
- // Enable FIFO scheduling, e.g., RT scheduling class on Solaris.
-
- if (ACE_OS::sched_params (ACE_Sched_Params (ACE_SCHED_FIFO,
- priority,
- ACE_SCOPE_PROCESS)) != 0)
- {
- if (ACE_OS::last_error () == EPERM)
- {
- ACE_DEBUG ((LM_DEBUG,
- "server (%P|%t): user is not superuser, "
- "test runs in time-shared class\n"));
- }
- else
- ACE_ERROR ((LM_ERROR,
- "server (%P|%t): sched_params failed\n"));
- }
-
- ACE_TRY_NEW_ENV
- {
- CORBA::ORB_var orb =
- CORBA::ORB_init (argc, argv, "" ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- CORBA::Object_var poa_object =
- orb->resolve_initial_references("RootPOA" ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- if (CORBA::is_nil (poa_object.in ()))
- ACE_ERROR_RETURN ((LM_ERROR,
- " (%P|%t) Unable to initialize the POA.\n"),
- 1);
-
- PortableServer::POA_var root_poa =
- PortableServer::POA::_narrow (poa_object.in () ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- PortableServer::POAManager_var poa_manager =
- root_poa->the_POAManager (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- if (parse_args (argc, argv) != 0)
- return 1;
-
- Roundtrip *roundtrip_impl;
- ACE_NEW_RETURN (roundtrip_impl,
- Roundtrip (orb.in ()),
- 1);
- PortableServer::ServantBase_var owner_transfer(roundtrip_impl);
-
- PortableServer::ObjectId_var oid =
- root_poa->activate_object (roundtrip_impl
- ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- CORBA::Object_var roundtrip =
- root_poa->id_to_reference (oid.in ()
- ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- CORBA::String_var ior =
- orb->object_to_string (roundtrip.in () ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- // If the ior_output_file exists, output the ior to it
- FILE *output_file= ACE_OS::fopen (ior_output_file, "w");
- if (output_file == 0)
- ACE_ERROR_RETURN ((LM_ERROR,
- "Cannot open output file for writing IOR: %s",
- ior_output_file),
- 1);
- ACE_OS::fprintf (output_file, "%s", ior.in ());
- ACE_OS::fclose (output_file);
-
- poa_manager->activate (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- orb->run (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- ACE_DEBUG ((LM_DEBUG, "(%P|%t) server - event loop finished\n"));
-
- root_poa->destroy (1, 1 ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- orb->destroy (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_TRY_CHECK;
- }
- ACE_CATCHANY
- {
- ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION, "Exception caught:");
- return 1;
- }
- ACE_ENDTRY;
-
- return 0;
-}
diff --git a/TAO/performance-tests/Deferred_Latency/Roundtrip.cpp b/TAO/performance-tests/Deferred_Latency/Roundtrip.cpp
deleted file mode 100644
index 72f83576b44..00000000000
--- a/TAO/performance-tests/Deferred_Latency/Roundtrip.cpp
+++ /dev/null
@@ -1,26 +0,0 @@
-//
-// $Id$
-//
-#include "Roundtrip.h"
-
-ACE_RCSID(Single_Threaded_Latency, Roundtrip, "$Id$")
-
-Roundtrip::Roundtrip (CORBA::ORB_ptr orb)
- : orb_ (CORBA::ORB::_duplicate (orb))
-{
-}
-
-Test::Timestamp
-Roundtrip::test_method (Test::Timestamp send_time
- ACE_ENV_ARG_DECL_NOT_USED)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- return send_time;
-}
-
-void
-Roundtrip::shutdown (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- this->orb_->shutdown (0 ACE_ENV_ARG_PARAMETER);
-}
diff --git a/TAO/performance-tests/Deferred_Latency/Roundtrip.h b/TAO/performance-tests/Deferred_Latency/Roundtrip.h
deleted file mode 100644
index efef33dd7e6..00000000000
--- a/TAO/performance-tests/Deferred_Latency/Roundtrip.h
+++ /dev/null
@@ -1,46 +0,0 @@
-//
-// $Id$
-//
-
-#ifndef ROUNDTRIP_H
-#define ROUNDTRIP_H
-#include "ace/pre.h"
-
-#include "TestS.h"
-
-#if defined (_MSC_VER)
-# if (_MSC_VER >= 1200)
-# pragma warning(push)
-# endif /* _MSC_VER >= 1200 */
-# pragma warning (disable:4250)
-#endif /* _MSC_VER */
-
-/// Implement the Test::Roundtrip interface
-class Roundtrip
- : public virtual POA_Test::Roundtrip
- , public virtual PortableServer::RefCountServantBase
-{
-public:
- /// Constructor
- Roundtrip (CORBA::ORB_ptr orb);
-
- // = The skeleton methods
- virtual Test::Timestamp test_method (Test::Timestamp send_time
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- virtual void shutdown (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
-private:
- /// Use an ORB reference to conver strings to objects and shutdown
- /// the application.
- CORBA::ORB_var orb_;
-};
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-# pragma warning(pop)
-#endif /* _MSC_VER */
-
-#include "ace/post.h"
-#endif /* ROUNDTRIP_H */
diff --git a/TAO/performance-tests/Deferred_Latency/client.cpp b/TAO/performance-tests/Deferred_Latency/client.cpp
deleted file mode 100644
index 8aa94d94172..00000000000
--- a/TAO/performance-tests/Deferred_Latency/client.cpp
+++ /dev/null
@@ -1,203 +0,0 @@
-// $Id$
-
-#include "TestC.h"
-
-#include "tao/DynamicInterface/Request.h"
-
-#include "tao/Strategies/advanced_resource.h"
-
-#include "ace/Get_Opt.h"
-#include "ace/Sched_Params.h"
-#include "ace/High_Res_Timer.h"
-#include "ace/Sched_Params.h"
-#include "ace/Stats.h"
-#include "ace/Sample_History.h"
-
-ACE_RCSID(Deferred_Latency, client, "$Id$")
-
-const char *ior = "file://test.ior";
-int niterations = 1000;
-int burst = 10;
-int do_shutdown = 1;
-int do_dump_history = 0;
-
-int
-parse_args (int argc, char *argv[])
-{
- ACE_Get_Opt get_opts (argc, argv, "hxk:i:b:");
- int c;
-
- while ((c = get_opts ()) != -1)
- switch (c)
- {
- case 'h':
- do_dump_history = 1;
- break;
-
- case 'x':
- do_shutdown = 0;
- break;
-
- case 'k':
- ior = get_opts.opt_arg ();
- break;
-
- case 'i':
- niterations = ACE_OS::atoi (get_opts.opt_arg ());
- break;
-
- case 'b':
- burst = ACE_OS::atoi (get_opts.opt_arg ());
- break;
-
- case '?':
- default:
- ACE_ERROR_RETURN ((LM_ERROR,
- "usage: %s "
- "-k <ior> "
- "-i <niterations> "
- "-b <burst> "
- "-x (disable shutdown) "
- "-h (dump history) "
- "\n",
- argv [0]),
- -1);
- }
- // Indicates sucessful parsing of the command line
- return 0;
-}
-
-int
-main (int argc, char *argv[])
-{
- int priority =
- (ACE_Sched_Params::priority_min (ACE_SCHED_FIFO)
- + ACE_Sched_Params::priority_max (ACE_SCHED_FIFO)) / 2;
- // Enable FIFO scheduling, e.g., RT scheduling class on Solaris.
-
- if (ACE_OS::sched_params (ACE_Sched_Params (ACE_SCHED_FIFO,
- priority,
- ACE_SCOPE_PROCESS)) != 0)
- {
- if (ACE_OS::last_error () == EPERM)
- {
- ACE_DEBUG ((LM_DEBUG,
- "client (%P|%t): user is not superuser, "
- "test runs in time-shared class\n"));
- }
- else
- ACE_ERROR ((LM_ERROR,
- "client (%P|%t): sched_params failed\n"));
- }
-
- ACE_TRY_NEW_ENV
- {
- CORBA::ORB_var orb =
- CORBA::ORB_init (argc, argv, "" ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- if (parse_args (argc, argv) != 0)
- return 1;
-
- CORBA::Object_var object =
- orb->string_to_object (ior ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- Test::Roundtrip_var roundtrip =
- Test::Roundtrip::_narrow (object.in () ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- if (CORBA::is_nil (roundtrip.in ()))
- {
- ACE_ERROR_RETURN ((LM_ERROR,
- "Nil Test::Roundtrip reference <%s>\n",
- ior),
- 1);
- }
-
- for (int j = 0; j < 100; ++j)
- {
- ACE_hrtime_t start = 0;
- (void) roundtrip->test_method (start ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
- }
-
- ACE_Sample_History history (niterations);
-
- ACE_hrtime_t test_start = ACE_OS::gethrtime ();
-
- CORBA::Request_var *request;
- ACE_NEW_RETURN (request, CORBA::Request_var[burst], 1);
-
- for (int i = 0; i < niterations; ++i)
- {
- int j;
-
- for (j = 0; j != burst; ++j)
- {
- CORBA::ULongLong start = ACE_OS::gethrtime ();
-
- request[j] =
- roundtrip->_request ("test_method"
- ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- request[j]->add_in_arg () <<= start;
- request[j]->set_return_type (CORBA::_tc_ulonglong);
-
- request[j]->send_deferred (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_TRY_CHECK;
- }
-
- for (j = 0; j != burst; ++j)
- {
- request[j]->get_response (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- CORBA::ULongLong retval;
- if ((request[j]->return_value () >>= retval) == 1)
- {
- ACE_hrtime_t now = ACE_OS::gethrtime ();
- history.sample (now - retval);
- }
- }
- }
- delete[] request;
-
- ACE_hrtime_t test_end = ACE_OS::gethrtime ();
-
- ACE_DEBUG ((LM_DEBUG, "test finished\n"));
-
- ACE_DEBUG ((LM_DEBUG, "High resolution timer calibration...."));
- ACE_UINT32 gsf = ACE_High_Res_Timer::global_scale_factor ();
- ACE_DEBUG ((LM_DEBUG, "done\n"));
-
- if (do_dump_history)
- {
- history.dump_samples ("HISTORY", gsf);
- }
-
- ACE_Basic_Stats stats;
- history.collect_basic_stats (stats);
- stats.dump_results ("Total", gsf);
-
- ACE_Throughput_Stats::dump_throughput ("Total", gsf,
- test_end - test_start,
- stats.samples_count ());
-
- if (do_shutdown)
- {
- roundtrip->shutdown (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_TRY_CHECK;
- }
- }
- ACE_CATCHANY
- {
- ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION,
- "Caught exception:");
- return 1;
- }
- ACE_ENDTRY;
-
- return 0;
-}
diff --git a/TAO/performance-tests/Deferred_Latency/server.cpp b/TAO/performance-tests/Deferred_Latency/server.cpp
deleted file mode 100644
index e96f0ff595a..00000000000
--- a/TAO/performance-tests/Deferred_Latency/server.cpp
+++ /dev/null
@@ -1,136 +0,0 @@
-// $Id$
-
-#include "Roundtrip.h"
-#include "ace/Get_Opt.h"
-#include "ace/Sched_Params.h"
-
-#include "tao/Strategies/advanced_resource.h"
-
-ACE_RCSID(Single_Threaded_Latency, server, "$Id$")
-
-const char *ior_output_file = "test.ior";
-
-int
-parse_args (int argc, char *argv[])
-{
- ACE_Get_Opt get_opts (argc, argv, "o:");
- int c;
-
- while ((c = get_opts ()) != -1)
- switch (c)
- {
- case 'o':
- ior_output_file = get_opts.opt_arg ();
- break;
-
- case '?':
- default:
- ACE_ERROR_RETURN ((LM_ERROR,
- "usage: %s "
- "-o <iorfile>"
- "\n",
- argv [0]),
- -1);
- }
- // Indicates sucessful parsing of the command line
- return 0;
-}
-
-int
-main (int argc, char *argv[])
-{
- int priority =
- (ACE_Sched_Params::priority_min (ACE_SCHED_FIFO)
- + ACE_Sched_Params::priority_max (ACE_SCHED_FIFO)) / 2;
- priority = ACE_Sched_Params::next_priority (ACE_SCHED_FIFO,
- priority);
- // Enable FIFO scheduling, e.g., RT scheduling class on Solaris.
-
- if (ACE_OS::sched_params (ACE_Sched_Params (ACE_SCHED_FIFO,
- priority,
- ACE_SCOPE_PROCESS)) != 0)
- {
- if (ACE_OS::last_error () == EPERM)
- {
- ACE_DEBUG ((LM_DEBUG,
- "server (%P|%t): user is not superuser, "
- "test runs in time-shared class\n"));
- }
- else
- ACE_ERROR ((LM_ERROR,
- "server (%P|%t): sched_params failed\n"));
- }
-
- ACE_TRY_NEW_ENV
- {
- CORBA::ORB_var orb =
- CORBA::ORB_init (argc, argv, "" ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- CORBA::Object_var poa_object =
- orb->resolve_initial_references("RootPOA" ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- if (CORBA::is_nil (poa_object.in ()))
- ACE_ERROR_RETURN ((LM_ERROR,
- " (%P|%t) Unable to initialize the POA.\n"),
- 1);
-
- PortableServer::POA_var root_poa =
- PortableServer::POA::_narrow (poa_object.in () ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- PortableServer::POAManager_var poa_manager =
- root_poa->the_POAManager (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- if (parse_args (argc, argv) != 0)
- return 1;
-
- Roundtrip *roundtrip_impl;
- ACE_NEW_RETURN (roundtrip_impl,
- Roundtrip (orb.in ()),
- 1);
- PortableServer::ServantBase_var owner_transfer(roundtrip_impl);
-
- Test::Roundtrip_var roundtrip =
- roundtrip_impl->_this (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- CORBA::String_var ior =
- orb->object_to_string (roundtrip.in () ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- // If the ior_output_file exists, output the ior to it
- FILE *output_file= ACE_OS::fopen (ior_output_file, "w");
- if (output_file == 0)
- ACE_ERROR_RETURN ((LM_ERROR,
- "Cannot open output file for writing IOR: %s",
- ior_output_file),
- 1);
- ACE_OS::fprintf (output_file, "%s", ior.in ());
- ACE_OS::fclose (output_file);
-
- poa_manager->activate (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- orb->run (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- ACE_DEBUG ((LM_DEBUG, "(%P|%t) server - event loop finished\n"));
-
- root_poa->destroy (1, 1 ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- orb->destroy (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_TRY_CHECK;
- }
- ACE_CATCHANY
- {
- ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION, "Exception caught:");
- return 1;
- }
- ACE_ENDTRY;
-
- return 0;
-}
diff --git a/TAO/performance-tests/RTCorba/Multiple_Endpoints/Endpoint_Per_Priority/Makefile b/TAO/performance-tests/RTCorba/Multiple_Endpoints/Endpoint_Per_Priority/Makefile
deleted file mode 100644
index 6abeb8554f4..00000000000
--- a/TAO/performance-tests/RTCorba/Multiple_Endpoints/Endpoint_Per_Priority/Makefile
+++ /dev/null
@@ -1,616 +0,0 @@
-#----------------------------------------------------------------------------
-#
-# $Id$
-#
-#----------------------------------------------------------------------------
-
-#----------------------------------------------------------------------------
-# Local macros
-#----------------------------------------------------------------------------
-
-ifndef TAO_ROOT
- TAO_ROOT = $(ACE_ROOT)/TAO
-endif # ! TAO_ROOT
-
-LDLIBS = -lRTCORBA_Common -lTAO_Strategies -lTAO_PortableServer -lTAO
-
-BIN_UNCHECKED = server client
-
-CLIENT_OBJS = client.o
-SERVER_OBJS = server.o
-
-BUILD = $(BIN)
-VLDLIBS = $(LDLIBS:%=%$(VAR))
-VBIN = $(BIN:%=%$(VAR))
-SRC=$(CLIENT_OBJS:.o=.cpp) $(SERVER_OBJS:.o=.cpp)
-CPPFLAGS += -I../Common
-
-#----------------------------------------------------------------------------
-# Include macros and targets
-#----------------------------------------------------------------------------
-
-include $(ACE_ROOT)/include/makeinclude/wrapper_macros.GNU
-include $(ACE_ROOT)/include/makeinclude/macros.GNU
-include $(TAO_ROOT)/rules.tao.GNU
-
-ifeq ($(rt_corba),1)
- ifeq ($(minimum_corba),0)
- BIN=$(BIN_UNCHECKED)
- endif # minimum_corba
-endif # rt_corba
-
-include $(ACE_ROOT)/include/makeinclude/rules.common.GNU
-include $(ACE_ROOT)/include/makeinclude/rules.nonested.GNU
-include $(ACE_ROOT)/include/makeinclude/rules.local.GNU
-include $(TAO_ROOT)/taoconfig.mk
-
-#----------------------------------------------------------------------------
-# Local targets
-#----------------------------------------------------------------------------
-
-server: $(addprefix $(VDIR),$(SERVER_OBJS))
- $(LINK.cc) $(LDFLAGS) -o $@ $^ $(VLDLIBS) $(POSTLINK)
-
-client: $(addprefix $(VDIR),$(CLIENT_OBJS))
- $(LINK.cc) $(LDFLAGS) -o $@ $^ $(VLDLIBS) $(POSTLINK)
-
-realclean: clean
-
-# DO NOT DELETE THIS LINE -- g++dep uses it.
-# DO NOT PUT ANYTHING AFTER THIS LINE, IT WILL GO AWAY.
-
-
-.obj/client.o .obj/client.o .obj/client.o .obj/client.o: client.cpp ../Common/testC.h \
- $(TAO_ROOT)/tao/corba.h \
- $(ACE_ROOT)/ace/pre.h \
- $(ACE_ROOT)/ace/post.h \
- $(ACE_ROOT)/ace/ACE_export.h \
- $(ACE_ROOT)/ace/svc_export.h \
- $(ACE_ROOT)/ace/ace_wchar.h \
- $(ACE_ROOT)/ace/ace_wchar.inl \
- $(ACE_ROOT)/ace/OS_Errno.h \
- $(ACE_ROOT)/ace/OS_Export.h \
- $(ACE_ROOT)/ace/OS_Errno.inl \
- $(TAO_ROOT)/tao/corbafwd.h \
- $(ACE_ROOT)/ace/CDR_Base.h \
- $(ACE_ROOT)/ace/Basic_Types.h \
- $(ACE_ROOT)/ace/Basic_Types.i \
- $(ACE_ROOT)/ace/Message_Block.h \
- $(ACE_ROOT)/ace/ACE.h \
- $(ACE_ROOT)/ace/OS.h \
- $(ACE_ROOT)/ace/OS_Dirent.h \
- $(ACE_ROOT)/ace/OS_Dirent.inl \
- $(ACE_ROOT)/ace/OS_String.h \
- $(ACE_ROOT)/ace/OS_String.inl \
- $(ACE_ROOT)/ace/OS_Memory.h \
- $(ACE_ROOT)/ace/OS_Memory.inl \
- $(ACE_ROOT)/ace/OS_TLI.h \
- $(ACE_ROOT)/ace/OS_TLI.inl \
- $(ACE_ROOT)/ace/Min_Max.h \
- $(ACE_ROOT)/ace/streams.h \
- $(ACE_ROOT)/ace/Trace.h \
- $(ACE_ROOT)/ace/OS.i \
- $(ACE_ROOT)/ace/Flag_Manip.h \
- $(ACE_ROOT)/ace/Flag_Manip.i \
- $(ACE_ROOT)/ace/Handle_Ops.h \
- $(ACE_ROOT)/ace/Handle_Ops.i \
- $(ACE_ROOT)/ace/Lib_Find.h \
- $(ACE_ROOT)/ace/Lib_Find.i \
- $(ACE_ROOT)/ace/Init_ACE.h \
- $(ACE_ROOT)/ace/Init_ACE.i \
- $(ACE_ROOT)/ace/Sock_Connect.h \
- $(ACE_ROOT)/ace/Sock_Connect.i \
- $(ACE_ROOT)/ace/ACE.i \
- $(ACE_ROOT)/ace/Malloc.h \
- $(ACE_ROOT)/ace/Log_Msg.h \
- $(ACE_ROOT)/ace/Log_Record.h \
- $(ACE_ROOT)/ace/Log_Priority.h \
- $(ACE_ROOT)/ace/Log_Record.i \
- $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \
- $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \
- $(ACE_ROOT)/ace/Malloc.i \
- $(ACE_ROOT)/ace/Malloc_T.h \
- $(ACE_ROOT)/ace/Synch.h \
- $(ACE_ROOT)/ace/Synch.i \
- $(ACE_ROOT)/ace/Synch_T.h \
- $(ACE_ROOT)/ace/Synch_T.i \
- $(ACE_ROOT)/ace/Thread.h \
- $(ACE_ROOT)/ace/Thread_Adapter.h \
- $(ACE_ROOT)/ace/Base_Thread_Adapter.h \
- $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \
- $(ACE_ROOT)/ace/Thread_Adapter.inl \
- $(ACE_ROOT)/ace/Thread.i \
- $(ACE_ROOT)/ace/Atomic_Op.i \
- $(ACE_ROOT)/ace/Synch_T.cpp \
- $(ACE_ROOT)/ace/Malloc_Allocator.h \
- $(ACE_ROOT)/ace/Malloc_Base.h \
- $(ACE_ROOT)/ace/Malloc_Allocator.i \
- $(ACE_ROOT)/ace/Free_List.h \
- $(ACE_ROOT)/ace/Free_List.i \
- $(ACE_ROOT)/ace/Free_List.cpp \
- $(ACE_ROOT)/ace/Malloc_T.i \
- $(ACE_ROOT)/ace/Malloc_T.cpp \
- $(ACE_ROOT)/ace/Memory_Pool.h \
- $(ACE_ROOT)/ace/Event_Handler.h \
- $(ACE_ROOT)/ace/Event_Handler.i \
- $(ACE_ROOT)/ace/Signal.h \
- $(ACE_ROOT)/ace/Signal.i \
- $(ACE_ROOT)/ace/Mem_Map.h \
- $(ACE_ROOT)/ace/Mem_Map.i \
- $(ACE_ROOT)/ace/SV_Semaphore_Complex.h \
- $(ACE_ROOT)/ace/SV_Semaphore_Simple.h \
- $(ACE_ROOT)/ace/SV_Semaphore_Simple.i \
- $(ACE_ROOT)/ace/SV_Semaphore_Complex.i \
- $(ACE_ROOT)/ace/Unbounded_Set.h \
- $(ACE_ROOT)/ace/Node.h \
- $(ACE_ROOT)/ace/Node.cpp \
- $(ACE_ROOT)/ace/Unbounded_Set.inl \
- $(ACE_ROOT)/ace/Unbounded_Set.cpp \
- $(ACE_ROOT)/ace/Memory_Pool.i \
- $(ACE_ROOT)/ace/Message_Block.i \
- $(ACE_ROOT)/ace/Message_Block_T.h \
- $(ACE_ROOT)/ace/Message_Block_T.i \
- $(ACE_ROOT)/ace/Message_Block_T.cpp \
- $(ACE_ROOT)/ace/CDR_Base.inl \
- $(TAO_ROOT)/tao/try_macros.h \
- $(TAO_ROOT)/tao/orbconf.h \
- $(ACE_ROOT)/ace/CORBA_macros.h \
- $(TAO_ROOT)/tao/varbase.h \
- $(TAO_ROOT)/tao/TAO_Export.h \
- $(TAO_ROOT)/tao/corbafwd.i \
- $(TAO_ROOT)/tao/Typecode.h \
- $(TAO_ROOT)/tao/Exception.h \
- $(ACE_ROOT)/ace/SString.h \
- $(ACE_ROOT)/ace/SString.i \
- $(TAO_ROOT)/tao/Exception.i \
- $(TAO_ROOT)/tao/Typecode.i \
- $(TAO_ROOT)/tao/Any.h \
- $(TAO_ROOT)/tao/CDR.h \
- $(ACE_ROOT)/ace/CDR_Stream.h \
- $(ACE_ROOT)/ace/CDR_Stream.i \
- $(TAO_ROOT)/tao/CDR.i \
- $(TAO_ROOT)/tao/Environment.h \
- $(TAO_ROOT)/tao/Environment.i \
- $(TAO_ROOT)/tao/Object.h \
- $(TAO_ROOT)/tao/Object_Proxy_Broker.h \
- $(TAO_ROOT)/tao/Object_Proxy_Impl.h \
- $(TAO_ROOT)/tao/Object.i \
- $(TAO_ROOT)/tao/Any.i \
- $(TAO_ROOT)/tao/NVList.h \
- $(ACE_ROOT)/ace/Unbounded_Queue.h \
- $(ACE_ROOT)/ace/Unbounded_Queue.inl \
- $(ACE_ROOT)/ace/Unbounded_Queue.cpp \
- $(TAO_ROOT)/tao/NVList.i \
- $(TAO_ROOT)/tao/LocalObject.h \
- $(TAO_ROOT)/tao/LocalObject.i \
- $(TAO_ROOT)/tao/Principal.h \
- $(TAO_ROOT)/tao/OctetSeqC.h \
- $(TAO_ROOT)/tao/Sequence.h \
- $(TAO_ROOT)/tao/Managed_Types.h \
- $(TAO_ROOT)/tao/Managed_Types.i \
- $(TAO_ROOT)/tao/Sequence.i \
- $(TAO_ROOT)/tao/Sequence_T.h \
- $(TAO_ROOT)/tao/Sequence_T.i \
- $(TAO_ROOT)/tao/Sequence_T.cpp \
- $(TAO_ROOT)/tao/OctetSeqC.i \
- $(TAO_ROOT)/tao/Principal.i \
- $(TAO_ROOT)/tao/ORB.h \
- $(TAO_ROOT)/tao/Services.h \
- $(TAO_ROOT)/tao/Services.i \
- $(TAO_ROOT)/tao/CORBA_String.h \
- $(TAO_ROOT)/tao/CORBA_String.inl \
- $(TAO_ROOT)/tao/PolicyC.h \
- $(TAO_ROOT)/tao/Encodable.h \
- $(TAO_ROOT)/tao/Remote_Object_Proxy_Impl.h \
- $(TAO_ROOT)/tao/CurrentC.h \
- $(TAO_ROOT)/tao/CurrentC.i \
- $(TAO_ROOT)/tao/PolicyC.i \
- $(TAO_ROOT)/tao/ORB.i \
- $(TAO_ROOT)/tao/BoundsC.h \
- $(TAO_ROOT)/tao/BoundsC.i \
- $(TAO_ROOT)/tao/ValueBase.h \
- $(TAO_ROOT)/tao/ValueBase.i \
- $(TAO_ROOT)/tao/ValueFactory.h \
- $(TAO_ROOT)/tao/ValueFactory.i \
- $(TAO_ROOT)/tao/DomainC.h \
- $(TAO_ROOT)/tao/DomainC.i \
- $(TAO_ROOT)/tao/WrongTransactionC.h \
- $(TAO_ROOT)/tao/Object_KeyC.h \
- $(TAO_ROOT)/tao/Object_KeyC.i \
- $(TAO_ROOT)/tao/ObjectIDList.h \
- $(TAO_ROOT)/tao/ObjectIDList.i \
- $(TAO_ROOT)/tao/StringSeqC.h \
- $(TAO_ROOT)/tao/StringSeqC.i \
- $(TAO_ROOT)/tao/PortableInterceptorC.h \
- $(TAO_ROOT)/tao/DynamicC.h \
- $(TAO_ROOT)/tao/DynamicC.i \
- $(TAO_ROOT)/tao/MessagingC.h \
- $(TAO_ROOT)/tao/TimeBaseC.h \
- $(TAO_ROOT)/tao/SmartProxies/Smart_Proxies.h \
- $(TAO_ROOT)/tao/SmartProxies/smartproxies_export.h \
- $(TAO_ROOT)/tao/TAO_Singleton.h \
- $(TAO_ROOT)/tao/TAO_Singleton.inl \
- $(TAO_ROOT)/tao/TAO_Singleton.cpp \
- $(ACE_ROOT)/ace/Object_Manager.h \
- $(ACE_ROOT)/ace/Object_Manager.i \
- $(ACE_ROOT)/ace/Managed_Object.h \
- $(ACE_ROOT)/ace/Managed_Object.i \
- $(ACE_ROOT)/ace/Managed_Object.cpp \
- $(TAO_ROOT)/tao/TAO_Singleton_Manager.h \
- $(TAO_ROOT)/tao/TAO_Singleton_Manager.inl \
- $(TAO_ROOT)/tao/SmartProxies/Smart_Proxies.inl \
- $(TAO_ROOT)/tao/TimeBaseC.i \
- $(TAO_ROOT)/tao/IOPC.h \
- $(TAO_ROOT)/tao/IOPC.i \
- $(TAO_ROOT)/tao/PollableC.h \
- $(TAO_ROOT)/tao/PollableC.i \
- $(TAO_ROOT)/tao/MessagingC.i \
- $(TAO_ROOT)/tao/PortableInterceptorC.i \
- ../Common/rtcorba_common_export.h ../Common/testC.i \
- $(TAO_ROOT)/tao/TAOC.h \
- $(TAO_ROOT)/tao/TAOC.i \
- $(ACE_ROOT)/ace/Get_Opt.h \
- $(ACE_ROOT)/ace/Get_Opt.i \
- $(ACE_ROOT)/ace/Task.h \
- $(ACE_ROOT)/ace/Service_Object.h \
- $(ACE_ROOT)/ace/Shared_Object.h \
- $(ACE_ROOT)/ace/Shared_Object.i \
- $(ACE_ROOT)/ace/Service_Object.i \
- $(ACE_ROOT)/ace/Thread_Manager.h \
- $(ACE_ROOT)/ace/Containers.h \
- $(ACE_ROOT)/ace/Containers.i \
- $(ACE_ROOT)/ace/Containers_T.h \
- $(ACE_ROOT)/ace/Array_Base.h \
- $(ACE_ROOT)/ace/Array_Base.inl \
- $(ACE_ROOT)/ace/Array_Base.cpp \
- $(ACE_ROOT)/ace/Containers_T.i \
- $(ACE_ROOT)/ace/Containers_T.cpp \
- $(ACE_ROOT)/ace/Singleton.h \
- $(ACE_ROOT)/ace/Singleton.i \
- $(ACE_ROOT)/ace/Singleton.cpp \
- $(ACE_ROOT)/ace/Thread_Manager.i \
- $(ACE_ROOT)/ace/Task.i \
- $(ACE_ROOT)/ace/Task_T.h \
- $(ACE_ROOT)/ace/Message_Queue.h \
- $(ACE_ROOT)/ace/IO_Cntl_Msg.h \
- $(ACE_ROOT)/ace/Message_Queue_T.h \
- $(ACE_ROOT)/ace/Message_Queue_T.i \
- $(ACE_ROOT)/ace/Message_Queue_T.cpp \
- $(ACE_ROOT)/ace/Strategies.h \
- $(ACE_ROOT)/ace/Strategies_T.h \
- $(ACE_ROOT)/ace/Service_Config.h \
- $(ACE_ROOT)/ace/Service_Config.i \
- $(ACE_ROOT)/ace/Reactor.h \
- $(ACE_ROOT)/ace/Handle_Set.h \
- $(ACE_ROOT)/ace/Handle_Set.i \
- $(ACE_ROOT)/ace/Timer_Queue.h \
- $(ACE_ROOT)/ace/Timer_Queue_T.h \
- $(ACE_ROOT)/ace/Test_and_Set.h \
- $(ACE_ROOT)/ace/Test_and_Set.i \
- $(ACE_ROOT)/ace/Test_and_Set.cpp \
- $(ACE_ROOT)/ace/Timer_Queue_T.i \
- $(ACE_ROOT)/ace/Timer_Queue_T.cpp \
- $(ACE_ROOT)/ace/Reactor.i \
- $(ACE_ROOT)/ace/Reactor_Impl.h \
- $(ACE_ROOT)/ace/Svc_Conf_Tokens.h \
- $(ACE_ROOT)/ace/Synch_Options.h \
- $(ACE_ROOT)/ace/Synch_Options.i \
- $(ACE_ROOT)/ace/Hash_Map_Manager.h \
- $(ACE_ROOT)/ace/Functor.h \
- $(ACE_ROOT)/ace/Functor.i \
- $(ACE_ROOT)/ace/Functor_T.h \
- $(ACE_ROOT)/ace/Functor_T.i \
- $(ACE_ROOT)/ace/Functor_T.cpp \
- $(ACE_ROOT)/ace/Hash_Map_Manager_T.h \
- $(ACE_ROOT)/ace/Hash_Map_Manager_T.i \
- $(ACE_ROOT)/ace/Hash_Map_Manager_T.cpp \
- $(ACE_ROOT)/ace/Strategies_T.i \
- $(ACE_ROOT)/ace/Strategies_T.cpp \
- $(ACE_ROOT)/ace/Service_Repository.h \
- $(ACE_ROOT)/ace/Service_Types.h \
- $(ACE_ROOT)/ace/Service_Types.i \
- $(ACE_ROOT)/ace/Service_Repository.i \
- $(ACE_ROOT)/ace/WFMO_Reactor.h \
- $(ACE_ROOT)/ace/Process_Mutex.h \
- $(ACE_ROOT)/ace/Process_Mutex.inl \
- $(ACE_ROOT)/ace/WFMO_Reactor.i \
- $(ACE_ROOT)/ace/Strategies.i \
- $(ACE_ROOT)/ace/Message_Queue.i \
- $(ACE_ROOT)/ace/Task_T.i \
- $(ACE_ROOT)/ace/Task_T.cpp \
- $(ACE_ROOT)/ace/Module.h \
- $(ACE_ROOT)/ace/Module.i \
- $(ACE_ROOT)/ace/Module.cpp \
- $(ACE_ROOT)/ace/Stream_Modules.h \
- $(ACE_ROOT)/ace/Stream_Modules.cpp \
- $(ACE_ROOT)/ace/Stats.h \
- $(ACE_ROOT)/ace/Basic_Stats.h \
- $(ACE_ROOT)/ace/Basic_Stats.inl \
- $(ACE_ROOT)/ace/Stats.i \
- $(ACE_ROOT)/ace/High_Res_Timer.h \
- $(ACE_ROOT)/ace/High_Res_Timer.i \
- $(ACE_ROOT)/ace/Sched_Params.h \
- $(ACE_ROOT)/ace/Sched_Params.i
-
-.obj/server.o .obj/server.o .obj/server.o .obj/server.o: server.cpp ../Common/test_i.h ../Common/testS.h \
- ../Common/testC.h \
- $(TAO_ROOT)/tao/corba.h \
- $(ACE_ROOT)/ace/pre.h \
- $(ACE_ROOT)/ace/post.h \
- $(ACE_ROOT)/ace/ACE_export.h \
- $(ACE_ROOT)/ace/svc_export.h \
- $(ACE_ROOT)/ace/ace_wchar.h \
- $(ACE_ROOT)/ace/ace_wchar.inl \
- $(ACE_ROOT)/ace/OS_Errno.h \
- $(ACE_ROOT)/ace/OS_Export.h \
- $(ACE_ROOT)/ace/OS_Errno.inl \
- $(TAO_ROOT)/tao/corbafwd.h \
- $(ACE_ROOT)/ace/CDR_Base.h \
- $(ACE_ROOT)/ace/Basic_Types.h \
- $(ACE_ROOT)/ace/Basic_Types.i \
- $(ACE_ROOT)/ace/Message_Block.h \
- $(ACE_ROOT)/ace/ACE.h \
- $(ACE_ROOT)/ace/OS.h \
- $(ACE_ROOT)/ace/OS_Dirent.h \
- $(ACE_ROOT)/ace/OS_Dirent.inl \
- $(ACE_ROOT)/ace/OS_String.h \
- $(ACE_ROOT)/ace/OS_String.inl \
- $(ACE_ROOT)/ace/OS_Memory.h \
- $(ACE_ROOT)/ace/OS_Memory.inl \
- $(ACE_ROOT)/ace/OS_TLI.h \
- $(ACE_ROOT)/ace/OS_TLI.inl \
- $(ACE_ROOT)/ace/Min_Max.h \
- $(ACE_ROOT)/ace/streams.h \
- $(ACE_ROOT)/ace/Trace.h \
- $(ACE_ROOT)/ace/OS.i \
- $(ACE_ROOT)/ace/Flag_Manip.h \
- $(ACE_ROOT)/ace/Flag_Manip.i \
- $(ACE_ROOT)/ace/Handle_Ops.h \
- $(ACE_ROOT)/ace/Handle_Ops.i \
- $(ACE_ROOT)/ace/Lib_Find.h \
- $(ACE_ROOT)/ace/Lib_Find.i \
- $(ACE_ROOT)/ace/Init_ACE.h \
- $(ACE_ROOT)/ace/Init_ACE.i \
- $(ACE_ROOT)/ace/Sock_Connect.h \
- $(ACE_ROOT)/ace/Sock_Connect.i \
- $(ACE_ROOT)/ace/ACE.i \
- $(ACE_ROOT)/ace/Malloc.h \
- $(ACE_ROOT)/ace/Log_Msg.h \
- $(ACE_ROOT)/ace/Log_Record.h \
- $(ACE_ROOT)/ace/Log_Priority.h \
- $(ACE_ROOT)/ace/Log_Record.i \
- $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \
- $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \
- $(ACE_ROOT)/ace/Malloc.i \
- $(ACE_ROOT)/ace/Malloc_T.h \
- $(ACE_ROOT)/ace/Synch.h \
- $(ACE_ROOT)/ace/Synch.i \
- $(ACE_ROOT)/ace/Synch_T.h \
- $(ACE_ROOT)/ace/Synch_T.i \
- $(ACE_ROOT)/ace/Thread.h \
- $(ACE_ROOT)/ace/Thread_Adapter.h \
- $(ACE_ROOT)/ace/Base_Thread_Adapter.h \
- $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \
- $(ACE_ROOT)/ace/Thread_Adapter.inl \
- $(ACE_ROOT)/ace/Thread.i \
- $(ACE_ROOT)/ace/Atomic_Op.i \
- $(ACE_ROOT)/ace/Synch_T.cpp \
- $(ACE_ROOT)/ace/Malloc_Allocator.h \
- $(ACE_ROOT)/ace/Malloc_Base.h \
- $(ACE_ROOT)/ace/Malloc_Allocator.i \
- $(ACE_ROOT)/ace/Free_List.h \
- $(ACE_ROOT)/ace/Free_List.i \
- $(ACE_ROOT)/ace/Free_List.cpp \
- $(ACE_ROOT)/ace/Malloc_T.i \
- $(ACE_ROOT)/ace/Malloc_T.cpp \
- $(ACE_ROOT)/ace/Memory_Pool.h \
- $(ACE_ROOT)/ace/Event_Handler.h \
- $(ACE_ROOT)/ace/Event_Handler.i \
- $(ACE_ROOT)/ace/Signal.h \
- $(ACE_ROOT)/ace/Signal.i \
- $(ACE_ROOT)/ace/Mem_Map.h \
- $(ACE_ROOT)/ace/Mem_Map.i \
- $(ACE_ROOT)/ace/SV_Semaphore_Complex.h \
- $(ACE_ROOT)/ace/SV_Semaphore_Simple.h \
- $(ACE_ROOT)/ace/SV_Semaphore_Simple.i \
- $(ACE_ROOT)/ace/SV_Semaphore_Complex.i \
- $(ACE_ROOT)/ace/Unbounded_Set.h \
- $(ACE_ROOT)/ace/Node.h \
- $(ACE_ROOT)/ace/Node.cpp \
- $(ACE_ROOT)/ace/Unbounded_Set.inl \
- $(ACE_ROOT)/ace/Unbounded_Set.cpp \
- $(ACE_ROOT)/ace/Memory_Pool.i \
- $(ACE_ROOT)/ace/Message_Block.i \
- $(ACE_ROOT)/ace/Message_Block_T.h \
- $(ACE_ROOT)/ace/Message_Block_T.i \
- $(ACE_ROOT)/ace/Message_Block_T.cpp \
- $(ACE_ROOT)/ace/CDR_Base.inl \
- $(TAO_ROOT)/tao/try_macros.h \
- $(TAO_ROOT)/tao/orbconf.h \
- $(ACE_ROOT)/ace/CORBA_macros.h \
- $(TAO_ROOT)/tao/varbase.h \
- $(TAO_ROOT)/tao/TAO_Export.h \
- $(TAO_ROOT)/tao/corbafwd.i \
- $(TAO_ROOT)/tao/Typecode.h \
- $(TAO_ROOT)/tao/Exception.h \
- $(ACE_ROOT)/ace/SString.h \
- $(ACE_ROOT)/ace/SString.i \
- $(TAO_ROOT)/tao/Exception.i \
- $(TAO_ROOT)/tao/Typecode.i \
- $(TAO_ROOT)/tao/Any.h \
- $(TAO_ROOT)/tao/CDR.h \
- $(ACE_ROOT)/ace/CDR_Stream.h \
- $(ACE_ROOT)/ace/CDR_Stream.i \
- $(TAO_ROOT)/tao/CDR.i \
- $(TAO_ROOT)/tao/Environment.h \
- $(TAO_ROOT)/tao/Environment.i \
- $(TAO_ROOT)/tao/Object.h \
- $(TAO_ROOT)/tao/Object_Proxy_Broker.h \
- $(TAO_ROOT)/tao/Object_Proxy_Impl.h \
- $(TAO_ROOT)/tao/Object.i \
- $(TAO_ROOT)/tao/Any.i \
- $(TAO_ROOT)/tao/NVList.h \
- $(ACE_ROOT)/ace/Unbounded_Queue.h \
- $(ACE_ROOT)/ace/Unbounded_Queue.inl \
- $(ACE_ROOT)/ace/Unbounded_Queue.cpp \
- $(TAO_ROOT)/tao/NVList.i \
- $(TAO_ROOT)/tao/LocalObject.h \
- $(TAO_ROOT)/tao/LocalObject.i \
- $(TAO_ROOT)/tao/Principal.h \
- $(TAO_ROOT)/tao/OctetSeqC.h \
- $(TAO_ROOT)/tao/Sequence.h \
- $(TAO_ROOT)/tao/Managed_Types.h \
- $(TAO_ROOT)/tao/Managed_Types.i \
- $(TAO_ROOT)/tao/Sequence.i \
- $(TAO_ROOT)/tao/Sequence_T.h \
- $(TAO_ROOT)/tao/Sequence_T.i \
- $(TAO_ROOT)/tao/Sequence_T.cpp \
- $(TAO_ROOT)/tao/OctetSeqC.i \
- $(TAO_ROOT)/tao/Principal.i \
- $(TAO_ROOT)/tao/ORB.h \
- $(TAO_ROOT)/tao/Services.h \
- $(TAO_ROOT)/tao/Services.i \
- $(TAO_ROOT)/tao/CORBA_String.h \
- $(TAO_ROOT)/tao/CORBA_String.inl \
- $(TAO_ROOT)/tao/PolicyC.h \
- $(TAO_ROOT)/tao/Encodable.h \
- $(TAO_ROOT)/tao/Remote_Object_Proxy_Impl.h \
- $(TAO_ROOT)/tao/CurrentC.h \
- $(TAO_ROOT)/tao/CurrentC.i \
- $(TAO_ROOT)/tao/PolicyC.i \
- $(TAO_ROOT)/tao/ORB.i \
- $(TAO_ROOT)/tao/BoundsC.h \
- $(TAO_ROOT)/tao/BoundsC.i \
- $(TAO_ROOT)/tao/ValueBase.h \
- $(TAO_ROOT)/tao/ValueBase.i \
- $(TAO_ROOT)/tao/ValueFactory.h \
- $(TAO_ROOT)/tao/ValueFactory.i \
- $(TAO_ROOT)/tao/DomainC.h \
- $(TAO_ROOT)/tao/DomainC.i \
- $(TAO_ROOT)/tao/WrongTransactionC.h \
- $(TAO_ROOT)/tao/Object_KeyC.h \
- $(TAO_ROOT)/tao/Object_KeyC.i \
- $(TAO_ROOT)/tao/ObjectIDList.h \
- $(TAO_ROOT)/tao/ObjectIDList.i \
- $(TAO_ROOT)/tao/StringSeqC.h \
- $(TAO_ROOT)/tao/StringSeqC.i \
- $(TAO_ROOT)/tao/PortableInterceptorC.h \
- $(TAO_ROOT)/tao/DynamicC.h \
- $(TAO_ROOT)/tao/DynamicC.i \
- $(TAO_ROOT)/tao/MessagingC.h \
- $(TAO_ROOT)/tao/TimeBaseC.h \
- $(TAO_ROOT)/tao/SmartProxies/Smart_Proxies.h \
- $(TAO_ROOT)/tao/SmartProxies/smartproxies_export.h \
- $(TAO_ROOT)/tao/TAO_Singleton.h \
- $(TAO_ROOT)/tao/TAO_Singleton.inl \
- $(TAO_ROOT)/tao/TAO_Singleton.cpp \
- $(ACE_ROOT)/ace/Object_Manager.h \
- $(ACE_ROOT)/ace/Object_Manager.i \
- $(ACE_ROOT)/ace/Managed_Object.h \
- $(ACE_ROOT)/ace/Managed_Object.i \
- $(ACE_ROOT)/ace/Managed_Object.cpp \
- $(TAO_ROOT)/tao/TAO_Singleton_Manager.h \
- $(TAO_ROOT)/tao/TAO_Singleton_Manager.inl \
- $(TAO_ROOT)/tao/SmartProxies/Smart_Proxies.inl \
- $(TAO_ROOT)/tao/TimeBaseC.i \
- $(TAO_ROOT)/tao/IOPC.h \
- $(TAO_ROOT)/tao/IOPC.i \
- $(TAO_ROOT)/tao/PollableC.h \
- $(TAO_ROOT)/tao/PollableC.i \
- $(TAO_ROOT)/tao/MessagingC.i \
- $(TAO_ROOT)/tao/PortableInterceptorC.i \
- ../Common/rtcorba_common_export.h ../Common/testC.i \
- $(TAO_ROOT)/tao/PortableServer/PortableServer.h \
- $(TAO_ROOT)/tao/PortableServer/portableserver_export.h \
- $(TAO_ROOT)/tao/PortableServer/PortableServerC.h \
- $(TAO_ROOT)/tao/PortableServer/PortableServerC.i \
- $(TAO_ROOT)/tao/PortableServer/Servant_Base.h \
- $(TAO_ROOT)/tao/Abstract_Servant_Base.h \
- $(TAO_ROOT)/tao/PortableServer/Servant_Base.i \
- $(TAO_ROOT)/tao/PortableServer/Collocated_Object.h \
- $(TAO_ROOT)/tao/PortableServer/Collocated_Object.i \
- $(TAO_ROOT)/tao/PortableServer/ThruPOA_Object_Proxy_Impl.h \
- $(TAO_ROOT)/tao/PortableServer/Direct_Object_Proxy_Impl.h \
- ../Common/testS_T.h ../Common/testS_T.i ../Common/testS_T.cpp \
- ../Common/testS.i ../Common/test_i.i \
- $(TAO_ROOT)/tao/RTCORBA/Pool_Per_Endpoint.h \
- $(TAO_ROOT)/tao/RTCORBA/rtcorba_export.h \
- $(ACE_ROOT)/ace/Task.h \
- $(ACE_ROOT)/ace/Service_Object.h \
- $(ACE_ROOT)/ace/Shared_Object.h \
- $(ACE_ROOT)/ace/Shared_Object.i \
- $(ACE_ROOT)/ace/Service_Object.i \
- $(ACE_ROOT)/ace/Thread_Manager.h \
- $(ACE_ROOT)/ace/Containers.h \
- $(ACE_ROOT)/ace/Containers.i \
- $(ACE_ROOT)/ace/Containers_T.h \
- $(ACE_ROOT)/ace/Array_Base.h \
- $(ACE_ROOT)/ace/Array_Base.inl \
- $(ACE_ROOT)/ace/Array_Base.cpp \
- $(ACE_ROOT)/ace/Containers_T.i \
- $(ACE_ROOT)/ace/Containers_T.cpp \
- $(ACE_ROOT)/ace/Singleton.h \
- $(ACE_ROOT)/ace/Singleton.i \
- $(ACE_ROOT)/ace/Singleton.cpp \
- $(ACE_ROOT)/ace/Thread_Manager.i \
- $(ACE_ROOT)/ace/Task.i \
- $(ACE_ROOT)/ace/Task_T.h \
- $(ACE_ROOT)/ace/Message_Queue.h \
- $(ACE_ROOT)/ace/IO_Cntl_Msg.h \
- $(ACE_ROOT)/ace/Message_Queue_T.h \
- $(ACE_ROOT)/ace/Message_Queue_T.i \
- $(ACE_ROOT)/ace/Message_Queue_T.cpp \
- $(ACE_ROOT)/ace/Strategies.h \
- $(ACE_ROOT)/ace/Strategies_T.h \
- $(ACE_ROOT)/ace/Service_Config.h \
- $(ACE_ROOT)/ace/Service_Config.i \
- $(ACE_ROOT)/ace/Reactor.h \
- $(ACE_ROOT)/ace/Handle_Set.h \
- $(ACE_ROOT)/ace/Handle_Set.i \
- $(ACE_ROOT)/ace/Timer_Queue.h \
- $(ACE_ROOT)/ace/Timer_Queue_T.h \
- $(ACE_ROOT)/ace/Test_and_Set.h \
- $(ACE_ROOT)/ace/Test_and_Set.i \
- $(ACE_ROOT)/ace/Test_and_Set.cpp \
- $(ACE_ROOT)/ace/Timer_Queue_T.i \
- $(ACE_ROOT)/ace/Timer_Queue_T.cpp \
- $(ACE_ROOT)/ace/Reactor.i \
- $(ACE_ROOT)/ace/Reactor_Impl.h \
- $(ACE_ROOT)/ace/Svc_Conf_Tokens.h \
- $(ACE_ROOT)/ace/Synch_Options.h \
- $(ACE_ROOT)/ace/Synch_Options.i \
- $(ACE_ROOT)/ace/Hash_Map_Manager.h \
- $(ACE_ROOT)/ace/Functor.h \
- $(ACE_ROOT)/ace/Functor.i \
- $(ACE_ROOT)/ace/Functor_T.h \
- $(ACE_ROOT)/ace/Functor_T.i \
- $(ACE_ROOT)/ace/Functor_T.cpp \
- $(ACE_ROOT)/ace/Hash_Map_Manager_T.h \
- $(ACE_ROOT)/ace/Hash_Map_Manager_T.i \
- $(ACE_ROOT)/ace/Hash_Map_Manager_T.cpp \
- $(ACE_ROOT)/ace/Strategies_T.i \
- $(ACE_ROOT)/ace/Strategies_T.cpp \
- $(ACE_ROOT)/ace/Service_Repository.h \
- $(ACE_ROOT)/ace/Service_Types.h \
- $(ACE_ROOT)/ace/Service_Types.i \
- $(ACE_ROOT)/ace/Service_Repository.i \
- $(ACE_ROOT)/ace/WFMO_Reactor.h \
- $(ACE_ROOT)/ace/Process_Mutex.h \
- $(ACE_ROOT)/ace/Process_Mutex.inl \
- $(ACE_ROOT)/ace/WFMO_Reactor.i \
- $(ACE_ROOT)/ace/Strategies.i \
- $(ACE_ROOT)/ace/Message_Queue.i \
- $(ACE_ROOT)/ace/Task_T.i \
- $(ACE_ROOT)/ace/Task_T.cpp \
- $(ACE_ROOT)/ace/Module.h \
- $(ACE_ROOT)/ace/Module.i \
- $(ACE_ROOT)/ace/Module.cpp \
- $(ACE_ROOT)/ace/Stream_Modules.h \
- $(ACE_ROOT)/ace/Stream_Modules.cpp \
- $(TAO_ROOT)/tao/RTCORBA/Pool_Per_Endpoint.i \
- $(ACE_ROOT)/ace/Get_Opt.h \
- $(ACE_ROOT)/ace/Get_Opt.i \
- $(ACE_ROOT)/ace/Sched_Params.h \
- $(ACE_ROOT)/ace/Sched_Params.i
-
-# IF YOU PUT ANYTHING HERE IT WILL GO AWAY
diff --git a/TAO/performance-tests/Single_Threaded_Latency/Roundtrip.cpp b/TAO/performance-tests/Single_Threaded_Latency/Roundtrip.cpp
deleted file mode 100644
index 72f83576b44..00000000000
--- a/TAO/performance-tests/Single_Threaded_Latency/Roundtrip.cpp
+++ /dev/null
@@ -1,26 +0,0 @@
-//
-// $Id$
-//
-#include "Roundtrip.h"
-
-ACE_RCSID(Single_Threaded_Latency, Roundtrip, "$Id$")
-
-Roundtrip::Roundtrip (CORBA::ORB_ptr orb)
- : orb_ (CORBA::ORB::_duplicate (orb))
-{
-}
-
-Test::Timestamp
-Roundtrip::test_method (Test::Timestamp send_time
- ACE_ENV_ARG_DECL_NOT_USED)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- return send_time;
-}
-
-void
-Roundtrip::shutdown (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- this->orb_->shutdown (0 ACE_ENV_ARG_PARAMETER);
-}
diff --git a/TAO/performance-tests/Single_Threaded_Latency/Roundtrip.h b/TAO/performance-tests/Single_Threaded_Latency/Roundtrip.h
deleted file mode 100644
index efef33dd7e6..00000000000
--- a/TAO/performance-tests/Single_Threaded_Latency/Roundtrip.h
+++ /dev/null
@@ -1,46 +0,0 @@
-//
-// $Id$
-//
-
-#ifndef ROUNDTRIP_H
-#define ROUNDTRIP_H
-#include "ace/pre.h"
-
-#include "TestS.h"
-
-#if defined (_MSC_VER)
-# if (_MSC_VER >= 1200)
-# pragma warning(push)
-# endif /* _MSC_VER >= 1200 */
-# pragma warning (disable:4250)
-#endif /* _MSC_VER */
-
-/// Implement the Test::Roundtrip interface
-class Roundtrip
- : public virtual POA_Test::Roundtrip
- , public virtual PortableServer::RefCountServantBase
-{
-public:
- /// Constructor
- Roundtrip (CORBA::ORB_ptr orb);
-
- // = The skeleton methods
- virtual Test::Timestamp test_method (Test::Timestamp send_time
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- virtual void shutdown (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
-private:
- /// Use an ORB reference to conver strings to objects and shutdown
- /// the application.
- CORBA::ORB_var orb_;
-};
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-# pragma warning(pop)
-#endif /* _MSC_VER */
-
-#include "ace/post.h"
-#endif /* ROUNDTRIP_H */
diff --git a/TAO/performance-tests/Single_Threaded_Latency/client.cpp b/TAO/performance-tests/Single_Threaded_Latency/client.cpp
deleted file mode 100644
index 2d841b9909d..00000000000
--- a/TAO/performance-tests/Single_Threaded_Latency/client.cpp
+++ /dev/null
@@ -1,164 +0,0 @@
-// $Id$
-
-#include "TestC.h"
-#include "ace/Get_Opt.h"
-#include "ace/High_Res_Timer.h"
-#include "ace/Sched_Params.h"
-#include "ace/Stats.h"
-#include "ace/Sample_History.h"
-
-#include "tao/Strategies/advanced_resource.h"
-
-ACE_RCSID(Single_Threaded_Latency, client, "$Id$")
-
-const char *ior = "file://test.ior";
-int niterations = 100;
-int do_dump_history = 0;
-int do_shutdown = 1;
-
-int
-parse_args (int argc, char *argv[])
-{
- ACE_Get_Opt get_opts (argc, argv, "hxk:i:");
- int c;
-
- while ((c = get_opts ()) != -1)
- switch (c)
- {
- case 'h':
- do_dump_history = 1;
- break;
-
- case 'x':
- do_shutdown = 0;
- break;
-
- case 'k':
- ior = get_opts.opt_arg ();
- break;
-
- case 'i':
- niterations = ACE_OS::atoi (get_opts.opt_arg ());
- break;
-
- case '?':
- default:
- ACE_ERROR_RETURN ((LM_ERROR,
- "usage: %s "
- "-k <ior> "
- "-i <niterations> "
- "-x (disable shutdown) "
- "-h (dump history) "
- "\n",
- argv [0]),
- -1);
- }
- // Indicates sucessful parsing of the command line
- return 0;
-}
-
-int
-main (int argc, char *argv[])
-{
- int priority =
- (ACE_Sched_Params::priority_min (ACE_SCHED_FIFO)
- + ACE_Sched_Params::priority_max (ACE_SCHED_FIFO)) / 2;
- // Enable FIFO scheduling, e.g., RT scheduling class on Solaris.
-
- if (ACE_OS::sched_params (ACE_Sched_Params (ACE_SCHED_FIFO,
- priority,
- ACE_SCOPE_PROCESS)) != 0)
- {
- if (ACE_OS::last_error () == EPERM)
- {
- ACE_DEBUG ((LM_DEBUG,
- "client (%P|%t): user is not superuser, "
- "test runs in time-shared class\n"));
- }
- else
- ACE_ERROR ((LM_ERROR,
- "client (%P|%t): sched_params failed\n"));
- }
-
- ACE_TRY_NEW_ENV
- {
- CORBA::ORB_var orb =
- CORBA::ORB_init (argc, argv, "" ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- if (parse_args (argc, argv) != 0)
- return 1;
-
- CORBA::Object_var object =
- orb->string_to_object (ior ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- Test::Roundtrip_var roundtrip =
- Test::Roundtrip::_narrow (object.in () ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- if (CORBA::is_nil (roundtrip.in ()))
- {
- ACE_ERROR_RETURN ((LM_ERROR,
- "Nil Test::Roundtrip reference <%s>\n",
- ior),
- 1);
- }
-
- for (int j = 0; j < 100; ++j)
- {
- ACE_hrtime_t start = 0;
- (void) roundtrip->test_method (start ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
- }
-
- ACE_Sample_History history (niterations);
-
- ACE_hrtime_t test_start = ACE_OS::gethrtime ();
- for (int i = 0; i < niterations; ++i)
- {
- ACE_hrtime_t start = ACE_OS::gethrtime ();
-
- (void) roundtrip->test_method (start ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- ACE_hrtime_t now = ACE_OS::gethrtime ();
- history.sample (now - start);
- }
-
- ACE_hrtime_t test_end = ACE_OS::gethrtime ();
-
- ACE_DEBUG ((LM_DEBUG, "test finished\n"));
-
- ACE_DEBUG ((LM_DEBUG, "High resolution timer calibration...."));
- ACE_UINT32 gsf = ACE_High_Res_Timer::global_scale_factor ();
- ACE_DEBUG ((LM_DEBUG, "done\n"));
-
- if (do_dump_history)
- {
- history.dump_samples ("HISTORY", gsf);
- }
-
- ACE_Basic_Stats stats;
- history.collect_basic_stats (stats);
- stats.dump_results ("Total", gsf);
-
- ACE_Throughput_Stats::dump_throughput ("Total", gsf,
- test_end - test_start,
- stats.samples_count ());
-
- if (do_shutdown)
- {
- roundtrip->shutdown (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_TRY_CHECK;
- }
- }
- ACE_CATCHANY
- {
- ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION, "Exception caught:");
- return 1;
- }
- ACE_ENDTRY;
-
- return 0;
-}
diff --git a/TAO/performance-tests/Single_Threaded_Latency/server.cpp b/TAO/performance-tests/Single_Threaded_Latency/server.cpp
deleted file mode 100644
index e96f0ff595a..00000000000
--- a/TAO/performance-tests/Single_Threaded_Latency/server.cpp
+++ /dev/null
@@ -1,136 +0,0 @@
-// $Id$
-
-#include "Roundtrip.h"
-#include "ace/Get_Opt.h"
-#include "ace/Sched_Params.h"
-
-#include "tao/Strategies/advanced_resource.h"
-
-ACE_RCSID(Single_Threaded_Latency, server, "$Id$")
-
-const char *ior_output_file = "test.ior";
-
-int
-parse_args (int argc, char *argv[])
-{
- ACE_Get_Opt get_opts (argc, argv, "o:");
- int c;
-
- while ((c = get_opts ()) != -1)
- switch (c)
- {
- case 'o':
- ior_output_file = get_opts.opt_arg ();
- break;
-
- case '?':
- default:
- ACE_ERROR_RETURN ((LM_ERROR,
- "usage: %s "
- "-o <iorfile>"
- "\n",
- argv [0]),
- -1);
- }
- // Indicates sucessful parsing of the command line
- return 0;
-}
-
-int
-main (int argc, char *argv[])
-{
- int priority =
- (ACE_Sched_Params::priority_min (ACE_SCHED_FIFO)
- + ACE_Sched_Params::priority_max (ACE_SCHED_FIFO)) / 2;
- priority = ACE_Sched_Params::next_priority (ACE_SCHED_FIFO,
- priority);
- // Enable FIFO scheduling, e.g., RT scheduling class on Solaris.
-
- if (ACE_OS::sched_params (ACE_Sched_Params (ACE_SCHED_FIFO,
- priority,
- ACE_SCOPE_PROCESS)) != 0)
- {
- if (ACE_OS::last_error () == EPERM)
- {
- ACE_DEBUG ((LM_DEBUG,
- "server (%P|%t): user is not superuser, "
- "test runs in time-shared class\n"));
- }
- else
- ACE_ERROR ((LM_ERROR,
- "server (%P|%t): sched_params failed\n"));
- }
-
- ACE_TRY_NEW_ENV
- {
- CORBA::ORB_var orb =
- CORBA::ORB_init (argc, argv, "" ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- CORBA::Object_var poa_object =
- orb->resolve_initial_references("RootPOA" ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- if (CORBA::is_nil (poa_object.in ()))
- ACE_ERROR_RETURN ((LM_ERROR,
- " (%P|%t) Unable to initialize the POA.\n"),
- 1);
-
- PortableServer::POA_var root_poa =
- PortableServer::POA::_narrow (poa_object.in () ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- PortableServer::POAManager_var poa_manager =
- root_poa->the_POAManager (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- if (parse_args (argc, argv) != 0)
- return 1;
-
- Roundtrip *roundtrip_impl;
- ACE_NEW_RETURN (roundtrip_impl,
- Roundtrip (orb.in ()),
- 1);
- PortableServer::ServantBase_var owner_transfer(roundtrip_impl);
-
- Test::Roundtrip_var roundtrip =
- roundtrip_impl->_this (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- CORBA::String_var ior =
- orb->object_to_string (roundtrip.in () ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- // If the ior_output_file exists, output the ior to it
- FILE *output_file= ACE_OS::fopen (ior_output_file, "w");
- if (output_file == 0)
- ACE_ERROR_RETURN ((LM_ERROR,
- "Cannot open output file for writing IOR: %s",
- ior_output_file),
- 1);
- ACE_OS::fprintf (output_file, "%s", ior.in ());
- ACE_OS::fclose (output_file);
-
- poa_manager->activate (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- orb->run (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- ACE_DEBUG ((LM_DEBUG, "(%P|%t) server - event loop finished\n"));
-
- root_poa->destroy (1, 1 ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- orb->destroy (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_TRY_CHECK;
- }
- ACE_CATCHANY
- {
- ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION, "Exception caught:");
- return 1;
- }
- ACE_ENDTRY;
-
- return 0;
-}
diff --git a/TAO/performance-tests/Thread_Per_Connection_Latency/Client_Task.cpp b/TAO/performance-tests/Thread_Per_Connection_Latency/Client_Task.cpp
deleted file mode 100644
index 09d15331436..00000000000
--- a/TAO/performance-tests/Thread_Per_Connection_Latency/Client_Task.cpp
+++ /dev/null
@@ -1,65 +0,0 @@
-//
-// $Id$
-//
-#include "Client_Task.h"
-
-ACE_RCSID(Thread_Per_Connection_Latency, Client_Task, "$Id$")
-
-Client_Task::Client_Task (Test::Roundtrip_ptr roundtrip,
- int niterations)
- : roundtrip_ (Test::Roundtrip::_duplicate (roundtrip))
- , niterations_ (niterations)
-{
-}
-
-int
-Client_Task::svc (void)
-{
- ACE_DECLARE_NEW_CORBA_ENV;
- ACE_TRY
- {
- this->validate_connection (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- for (int i = 0; i != this->niterations_; ++i)
- {
- CORBA::ULongLong start = ACE_OS::gethrtime ();
-
- (void) this->roundtrip_->test_method (start ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- ACE_hrtime_t now = ACE_OS::gethrtime ();
- this->latency_.sample (now - start);
- }
- }
- ACE_CATCHANY
- {
- return 0;
- }
- ACE_ENDTRY;
- return 0;
-}
-
-void
-Client_Task::accumulate_and_dump (ACE_Basic_Stats &totals,
- const char *msg,
- ACE_UINT32 gsf)
-{
- totals.accumulate (this->latency_);
- this->latency_.dump_results (msg, gsf);
-}
-
-void
-Client_Task::validate_connection (ACE_ENV_SINGLE_ARG_DECL)
-{
- CORBA::ULongLong dummy = 0;
- for (int i = 0; i != 100; ++i)
- {
- ACE_TRY
- {
- (void) this->roundtrip_->test_method (dummy ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
- }
- ACE_CATCHANY {} ACE_ENDTRY;
- }
-}
diff --git a/TAO/performance-tests/Thread_Per_Connection_Latency/Client_Task.h b/TAO/performance-tests/Thread_Per_Connection_Latency/Client_Task.h
deleted file mode 100644
index ffc4e9d6b6a..00000000000
--- a/TAO/performance-tests/Thread_Per_Connection_Latency/Client_Task.h
+++ /dev/null
@@ -1,46 +0,0 @@
-//
-// $Id$
-//
-
-#ifndef CLIENT_TASK_H
-#define CLIENT_TASK_H
-#include "ace/pre.h"
-
-#include "TestC.h"
-#include "ace/Task.h"
-#include "ace/Basic_Stats.h"
-
-/// Implement the Test::Client_Task interface
-class Client_Task : public ACE_Task_Base
-{
-public:
- /// Constructor
- Client_Task (Test::Roundtrip_ptr roundtrip,
- int niterations);
-
- /// Add this thread results to the global numbers and print the
- /// per-thread results.
- void accumulate_and_dump (ACE_Basic_Stats &totals,
- const char *msg,
- ACE_UINT32 gsf);
-
- /// The service method
- virtual int svc (void);
-
-private:
- /// Make sure that the current thread has a connection available.
- void validate_connection (ACE_ENV_SINGLE_ARG_DECL);
-
-private:
- /// The object reference used for this test
- Test::Roundtrip_var roundtrip_;
-
- /// The number of iterations
- int niterations_;
-
- /// Keep track of the latency (minimum, average, maximum and jitter)
- ACE_Basic_Stats latency_;
-};
-
-#include "ace/post.h"
-#endif /* CLIENT_TASK_H */
diff --git a/TAO/performance-tests/Thread_Per_Connection_Latency/Roundtrip.cpp b/TAO/performance-tests/Thread_Per_Connection_Latency/Roundtrip.cpp
deleted file mode 100644
index 2bc67948fd0..00000000000
--- a/TAO/performance-tests/Thread_Per_Connection_Latency/Roundtrip.cpp
+++ /dev/null
@@ -1,26 +0,0 @@
-//
-// $Id$
-//
-#include "Roundtrip.h"
-
-ACE_RCSID(Single_Per_Connection_Latency, Roundtrip, "$Id$")
-
-Roundtrip::Roundtrip (CORBA::ORB_ptr orb)
- : orb_ (CORBA::ORB::_duplicate (orb))
-{
-}
-
-Test::Timestamp
-Roundtrip::test_method (Test::Timestamp send_time
- ACE_ENV_ARG_DECL_NOT_USED)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- return send_time;
-}
-
-void
-Roundtrip::shutdown (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- this->orb_->shutdown (0 ACE_ENV_ARG_PARAMETER);
-}
diff --git a/TAO/performance-tests/Thread_Per_Connection_Latency/Roundtrip.h b/TAO/performance-tests/Thread_Per_Connection_Latency/Roundtrip.h
deleted file mode 100644
index efef33dd7e6..00000000000
--- a/TAO/performance-tests/Thread_Per_Connection_Latency/Roundtrip.h
+++ /dev/null
@@ -1,46 +0,0 @@
-//
-// $Id$
-//
-
-#ifndef ROUNDTRIP_H
-#define ROUNDTRIP_H
-#include "ace/pre.h"
-
-#include "TestS.h"
-
-#if defined (_MSC_VER)
-# if (_MSC_VER >= 1200)
-# pragma warning(push)
-# endif /* _MSC_VER >= 1200 */
-# pragma warning (disable:4250)
-#endif /* _MSC_VER */
-
-/// Implement the Test::Roundtrip interface
-class Roundtrip
- : public virtual POA_Test::Roundtrip
- , public virtual PortableServer::RefCountServantBase
-{
-public:
- /// Constructor
- Roundtrip (CORBA::ORB_ptr orb);
-
- // = The skeleton methods
- virtual Test::Timestamp test_method (Test::Timestamp send_time
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- virtual void shutdown (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
-private:
- /// Use an ORB reference to conver strings to objects and shutdown
- /// the application.
- CORBA::ORB_var orb_;
-};
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-# pragma warning(pop)
-#endif /* _MSC_VER */
-
-#include "ace/post.h"
-#endif /* ROUNDTRIP_H */
diff --git a/TAO/performance-tests/Thread_Per_Connection_Latency/client.cpp b/TAO/performance-tests/Thread_Per_Connection_Latency/client.cpp
deleted file mode 100644
index 69aac2b4ca5..00000000000
--- a/TAO/performance-tests/Thread_Per_Connection_Latency/client.cpp
+++ /dev/null
@@ -1,149 +0,0 @@
-// $Id$
-
-#include "Client_Task.h"
-#include "ace/Get_Opt.h"
-#include "ace/High_Res_Timer.h"
-#include "ace/Sched_Params.h"
-#include "ace/Stats.h"
-
-#include "tao/Strategies/advanced_resource.h"
-
-ACE_RCSID(Thread_Per_Connection_Latency, client, "$Id$")
-
-const char *ior = "file://test.ior";
-int niterations = 1000;
-int do_shutdown = 1;
-
-int
-parse_args (int argc, char *argv[])
-{
- ACE_Get_Opt get_opts (argc, argv, "xk:i:");
- int c;
-
- while ((c = get_opts ()) != -1)
- switch (c)
- {
- case 'x':
- do_shutdown = 0;
- break;
-
- case 'k':
- ior = get_opts.opt_arg ();
- break;
-
- case 'i':
- niterations = ACE_OS::atoi (get_opts.opt_arg ());
- break;
-
- case '?':
- default:
- ACE_ERROR_RETURN ((LM_ERROR,
- "usage: %s "
- "-k <ior> "
- "-i <niterations> "
- "-x (disable shutdown) "
- "\n",
- argv [0]),
- -1);
- }
- // Indicates sucessful parsing of the command line
- return 0;
-}
-
-int
-main (int argc, char *argv[])
-{
- int priority =
- (ACE_Sched_Params::priority_min (ACE_SCHED_FIFO)
- + ACE_Sched_Params::priority_max (ACE_SCHED_FIFO)) / 2;
- // Enable FIFO scheduling, e.g., RT scheduling class on Solaris.
-
- if (ACE_OS::sched_params (ACE_Sched_Params (ACE_SCHED_FIFO,
- priority,
- ACE_SCOPE_PROCESS)) != 0)
- {
- if (ACE_OS::last_error () == EPERM)
- {
- ACE_DEBUG ((LM_DEBUG,
- "client (%P|%t): user is not superuser, "
- "test runs in time-shared class\n"));
- }
- else
- ACE_ERROR ((LM_ERROR,
- "client (%P|%t): sched_params failed\n"));
- }
-
- ACE_TRY_NEW_ENV
- {
- CORBA::ORB_var orb =
- CORBA::ORB_init (argc, argv, "" ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- if (parse_args (argc, argv) != 0)
- return 1;
-
- CORBA::Object_var object =
- orb->string_to_object (ior ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- Test::Roundtrip_var roundtrip =
- Test::Roundtrip::_narrow (object.in () ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- if (CORBA::is_nil (roundtrip.in ()))
- {
- ACE_ERROR_RETURN ((LM_ERROR,
- "Nil Test::Roundtrip reference <%s>\n",
- ior),
- 1);
- }
-
- ACE_DEBUG ((LM_DEBUG, "Starting threads\n"));
-
- Client_Task task0(roundtrip.in (), niterations);
- Client_Task task1(roundtrip.in (), niterations);
- Client_Task task2(roundtrip.in (), niterations);
- Client_Task task3(roundtrip.in (), niterations);
-
- ACE_hrtime_t test_start = ACE_OS::gethrtime ();
- task0.activate(THR_NEW_LWP | THR_JOINABLE);
- task1.activate(THR_NEW_LWP | THR_JOINABLE);
- task2.activate(THR_NEW_LWP | THR_JOINABLE);
- task3.activate(THR_NEW_LWP | THR_JOINABLE);
-
- task0.thr_mgr()->wait ();
- ACE_hrtime_t test_end = ACE_OS::gethrtime ();
-
- ACE_DEBUG ((LM_DEBUG, "Threads finished\n"));
-
- ACE_DEBUG ((LM_DEBUG, "High resolution timer calibration...."));
- ACE_UINT32 gsf = ACE_High_Res_Timer::global_scale_factor ();
- ACE_DEBUG ((LM_DEBUG, "done\n"));
-
- ACE_Basic_Stats totals;
- task0.accumulate_and_dump (totals, "Task[0]", gsf);
- task1.accumulate_and_dump (totals, "Task[1]", gsf);
- task2.accumulate_and_dump (totals, "Task[2]", gsf);
- task3.accumulate_and_dump (totals, "Task[3]", gsf);
-
- totals.dump_results ("Total", gsf);
-
- ACE_Throughput_Stats::dump_throughput ("Total", gsf,
- test_end - test_start,
- totals.samples_count ());
-
- if (do_shutdown)
- {
- roundtrip->shutdown (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_TRY_CHECK;
- }
- }
- ACE_CATCHANY
- {
- ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION, "Exception caught:");
- return 1;
- }
- ACE_ENDTRY;
-
- return 0;
-}
diff --git a/TAO/performance-tests/Thread_Per_Connection_Latency/server.cpp b/TAO/performance-tests/Thread_Per_Connection_Latency/server.cpp
deleted file mode 100644
index 004ce70cebf..00000000000
--- a/TAO/performance-tests/Thread_Per_Connection_Latency/server.cpp
+++ /dev/null
@@ -1,136 +0,0 @@
-// $Id$
-
-#include "Roundtrip.h"
-#include "ace/Get_Opt.h"
-#include "ace/Sched_Params.h"
-
-#include "tao/Strategies/advanced_resource.h"
-
-ACE_RCSID(Thread_Per_Connection_Latency, server, "$Id$")
-
-const char *ior_output_file = "test.ior";
-
-int
-parse_args (int argc, char *argv[])
-{
- ACE_Get_Opt get_opts (argc, argv, "o:");
- int c;
-
- while ((c = get_opts ()) != -1)
- switch (c)
- {
- case 'o':
- ior_output_file = get_opts.opt_arg ();
- break;
-
- case '?':
- default:
- ACE_ERROR_RETURN ((LM_ERROR,
- "usage: %s "
- "-o <iorfile>"
- "\n",
- argv [0]),
- -1);
- }
- // Indicates sucessful parsing of the command line
- return 0;
-}
-
-int
-main (int argc, char *argv[])
-{
- int priority =
- (ACE_Sched_Params::priority_min (ACE_SCHED_FIFO)
- + ACE_Sched_Params::priority_max (ACE_SCHED_FIFO)) / 2;
- priority = ACE_Sched_Params::next_priority (ACE_SCHED_FIFO,
- priority);
- // Enable FIFO scheduling, e.g., RT scheduling class on Solaris.
-
- if (ACE_OS::sched_params (ACE_Sched_Params (ACE_SCHED_FIFO,
- priority,
- ACE_SCOPE_PROCESS)) != 0)
- {
- if (ACE_OS::last_error () == EPERM)
- {
- ACE_DEBUG ((LM_DEBUG,
- "server (%P|%t): user is not superuser, "
- "test runs in time-shared class\n"));
- }
- else
- ACE_ERROR ((LM_ERROR,
- "server (%P|%t): sched_params failed\n"));
- }
-
- ACE_TRY_NEW_ENV
- {
- CORBA::ORB_var orb =
- CORBA::ORB_init (argc, argv, "" ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- CORBA::Object_var poa_object =
- orb->resolve_initial_references("RootPOA" ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- if (CORBA::is_nil (poa_object.in ()))
- ACE_ERROR_RETURN ((LM_ERROR,
- " (%P|%t) Unable to initialize the POA.\n"),
- 1);
-
- PortableServer::POA_var root_poa =
- PortableServer::POA::_narrow (poa_object.in () ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- PortableServer::POAManager_var poa_manager =
- root_poa->the_POAManager (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- if (parse_args (argc, argv) != 0)
- return 1;
-
- Roundtrip *roundtrip_impl;
- ACE_NEW_RETURN (roundtrip_impl,
- Roundtrip (orb.in ()),
- 1);
- PortableServer::ServantBase_var owner_transfer(roundtrip_impl);
-
- Test::Roundtrip_var roundtrip =
- roundtrip_impl->_this (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- CORBA::String_var ior =
- orb->object_to_string (roundtrip.in () ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- // If the ior_output_file exists, output the ior to it
- FILE *output_file= ACE_OS::fopen (ior_output_file, "w");
- if (output_file == 0)
- ACE_ERROR_RETURN ((LM_ERROR,
- "Cannot open output file for writing IOR: %s",
- ior_output_file),
- 1);
- ACE_OS::fprintf (output_file, "%s", ior.in ());
- ACE_OS::fclose (output_file);
-
- poa_manager->activate (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- orb->run (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- ACE_DEBUG ((LM_DEBUG, "(%P|%t) server - event loop finished\n"));
-
- root_poa->destroy (1, 1 ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- orb->destroy (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_TRY_CHECK;
- }
- ACE_CATCHANY
- {
- ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION, "Exception caught:");
- return 1;
- }
- ACE_ENDTRY;
-
- return 0;
-}
diff --git a/TAO/performance-tests/Thread_Pool_Latency/Client_Task.cpp b/TAO/performance-tests/Thread_Pool_Latency/Client_Task.cpp
deleted file mode 100644
index efb544633b2..00000000000
--- a/TAO/performance-tests/Thread_Pool_Latency/Client_Task.cpp
+++ /dev/null
@@ -1,65 +0,0 @@
-//
-// $Id$
-//
-#include "Client_Task.h"
-
-ACE_RCSID(Thread_Pool_Latency, Client_Task, "$Id$")
-
-Client_Task::Client_Task (Test::Roundtrip_ptr roundtrip,
- int niterations)
- : roundtrip_ (Test::Roundtrip::_duplicate (roundtrip))
- , niterations_ (niterations)
-{
-}
-
-int
-Client_Task::svc (void)
-{
- ACE_DECLARE_NEW_CORBA_ENV;
- ACE_TRY
- {
- this->validate_connection (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- for (int i = 0; i != this->niterations_; ++i)
- {
- CORBA::ULongLong start = ACE_OS::gethrtime ();
-
- (void) this->roundtrip_->test_method (start ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- ACE_hrtime_t now = ACE_OS::gethrtime ();
- this->latency_.sample (now - start);
- }
- }
- ACE_CATCHANY
- {
- return 0;
- }
- ACE_ENDTRY;
- return 0;
-}
-
-void
-Client_Task::accumulate_and_dump (ACE_Basic_Stats &totals,
- const char *msg,
- ACE_UINT32 gsf)
-{
- totals.accumulate (this->latency_);
- this->latency_.dump_results (msg, gsf);
-}
-
-void
-Client_Task::validate_connection (ACE_ENV_SINGLE_ARG_DECL)
-{
- CORBA::ULongLong dummy = 0;
- for (int i = 0; i != 100; ++i)
- {
- ACE_TRY
- {
- (void) this->roundtrip_->test_method (dummy ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
- }
- ACE_CATCHANY {} ACE_ENDTRY;
- }
-}
diff --git a/TAO/performance-tests/Thread_Pool_Latency/Client_Task.h b/TAO/performance-tests/Thread_Pool_Latency/Client_Task.h
deleted file mode 100644
index ffc4e9d6b6a..00000000000
--- a/TAO/performance-tests/Thread_Pool_Latency/Client_Task.h
+++ /dev/null
@@ -1,46 +0,0 @@
-//
-// $Id$
-//
-
-#ifndef CLIENT_TASK_H
-#define CLIENT_TASK_H
-#include "ace/pre.h"
-
-#include "TestC.h"
-#include "ace/Task.h"
-#include "ace/Basic_Stats.h"
-
-/// Implement the Test::Client_Task interface
-class Client_Task : public ACE_Task_Base
-{
-public:
- /// Constructor
- Client_Task (Test::Roundtrip_ptr roundtrip,
- int niterations);
-
- /// Add this thread results to the global numbers and print the
- /// per-thread results.
- void accumulate_and_dump (ACE_Basic_Stats &totals,
- const char *msg,
- ACE_UINT32 gsf);
-
- /// The service method
- virtual int svc (void);
-
-private:
- /// Make sure that the current thread has a connection available.
- void validate_connection (ACE_ENV_SINGLE_ARG_DECL);
-
-private:
- /// The object reference used for this test
- Test::Roundtrip_var roundtrip_;
-
- /// The number of iterations
- int niterations_;
-
- /// Keep track of the latency (minimum, average, maximum and jitter)
- ACE_Basic_Stats latency_;
-};
-
-#include "ace/post.h"
-#endif /* CLIENT_TASK_H */
diff --git a/TAO/performance-tests/Thread_Pool_Latency/Roundtrip.cpp b/TAO/performance-tests/Thread_Pool_Latency/Roundtrip.cpp
deleted file mode 100644
index 6028512202c..00000000000
--- a/TAO/performance-tests/Thread_Pool_Latency/Roundtrip.cpp
+++ /dev/null
@@ -1,26 +0,0 @@
-//
-// $Id$
-//
-#include "Roundtrip.h"
-
-ACE_RCSID(Thread_Pool_Latency, Roundtrip, "$Id$")
-
-Roundtrip::Roundtrip (CORBA::ORB_ptr orb)
- : orb_ (CORBA::ORB::_duplicate (orb))
-{
-}
-
-Test::Timestamp
-Roundtrip::test_method (Test::Timestamp send_time
- ACE_ENV_ARG_DECL_NOT_USED)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- return send_time;
-}
-
-void
-Roundtrip::shutdown (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- this->orb_->shutdown (0 ACE_ENV_ARG_PARAMETER);
-}
diff --git a/TAO/performance-tests/Thread_Pool_Latency/Roundtrip.h b/TAO/performance-tests/Thread_Pool_Latency/Roundtrip.h
deleted file mode 100644
index efef33dd7e6..00000000000
--- a/TAO/performance-tests/Thread_Pool_Latency/Roundtrip.h
+++ /dev/null
@@ -1,46 +0,0 @@
-//
-// $Id$
-//
-
-#ifndef ROUNDTRIP_H
-#define ROUNDTRIP_H
-#include "ace/pre.h"
-
-#include "TestS.h"
-
-#if defined (_MSC_VER)
-# if (_MSC_VER >= 1200)
-# pragma warning(push)
-# endif /* _MSC_VER >= 1200 */
-# pragma warning (disable:4250)
-#endif /* _MSC_VER */
-
-/// Implement the Test::Roundtrip interface
-class Roundtrip
- : public virtual POA_Test::Roundtrip
- , public virtual PortableServer::RefCountServantBase
-{
-public:
- /// Constructor
- Roundtrip (CORBA::ORB_ptr orb);
-
- // = The skeleton methods
- virtual Test::Timestamp test_method (Test::Timestamp send_time
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- virtual void shutdown (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
-private:
- /// Use an ORB reference to conver strings to objects and shutdown
- /// the application.
- CORBA::ORB_var orb_;
-};
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-# pragma warning(pop)
-#endif /* _MSC_VER */
-
-#include "ace/post.h"
-#endif /* ROUNDTRIP_H */
diff --git a/TAO/performance-tests/Thread_Pool_Latency/Worker_Thread.cpp b/TAO/performance-tests/Thread_Pool_Latency/Worker_Thread.cpp
deleted file mode 100644
index e485bb2b843..00000000000
--- a/TAO/performance-tests/Thread_Pool_Latency/Worker_Thread.cpp
+++ /dev/null
@@ -1,24 +0,0 @@
-//
-// $Id$
-//
-#include "Worker_Thread.h"
-
-ACE_RCSID(Thread_Pool_Latency, Worker_Thread, "$Id$")
-
-Worker_Thread::Worker_Thread (CORBA::ORB_ptr orb)
- : orb_ (CORBA::ORB::_duplicate (orb))
-{
-}
-
-int
-Worker_Thread::svc (void)
-{
- ACE_DECLARE_NEW_CORBA_ENV;
- ACE_TRY
- {
- this->orb_->run (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_TRY_CHECK;
- }
- ACE_CATCHANY {} ACE_ENDTRY;
- return 0;
-}
diff --git a/TAO/performance-tests/Thread_Pool_Latency/client.cpp b/TAO/performance-tests/Thread_Pool_Latency/client.cpp
deleted file mode 100644
index 643f541a53f..00000000000
--- a/TAO/performance-tests/Thread_Pool_Latency/client.cpp
+++ /dev/null
@@ -1,149 +0,0 @@
-// $Id$
-
-#include "Client_Task.h"
-#include "ace/Get_Opt.h"
-#include "ace/High_Res_Timer.h"
-#include "ace/Sched_Params.h"
-#include "ace/Stats.h"
-
-#include "tao/Strategies/advanced_resource.h"
-
-ACE_RCSID(Thread_Pool_Latency, client, "$Id$")
-
-const char *ior = "file://test.ior";
-int niterations = 1000;
-int do_shutdown = 1;
-
-int
-parse_args (int argc, char *argv[])
-{
- ACE_Get_Opt get_opts (argc, argv, "xk:i:");
- int c;
-
- while ((c = get_opts ()) != -1)
- switch (c)
- {
- case 'x':
- do_shutdown = 0;
- break;
-
- case 'k':
- ior = get_opts.opt_arg ();
- break;
-
- case 'i':
- niterations = ACE_OS::atoi (get_opts.opt_arg ());
- break;
-
- case '?':
- default:
- ACE_ERROR_RETURN ((LM_ERROR,
- "usage: %s "
- "-k <ior> "
- "-i <niterations> "
- "-x (disable shutdown) "
- "\n",
- argv [0]),
- -1);
- }
- // Indicates sucessful parsing of the command line
- return 0;
-}
-
-int
-main (int argc, char *argv[])
-{
- int priority =
- (ACE_Sched_Params::priority_min (ACE_SCHED_FIFO)
- + ACE_Sched_Params::priority_max (ACE_SCHED_FIFO)) / 2;
- // Enable FIFO scheduling, e.g., RT scheduling class on Solaris.
-
- if (ACE_OS::sched_params (ACE_Sched_Params (ACE_SCHED_FIFO,
- priority,
- ACE_SCOPE_PROCESS)) != 0)
- {
- if (ACE_OS::last_error () == EPERM)
- {
- ACE_DEBUG ((LM_DEBUG,
- "client (%P|%t): user is not superuser, "
- "test runs in time-shared class\n"));
- }
- else
- ACE_ERROR ((LM_ERROR,
- "client (%P|%t): sched_params failed\n"));
- }
-
- ACE_TRY_NEW_ENV
- {
- CORBA::ORB_var orb =
- CORBA::ORB_init (argc, argv, "" ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- if (parse_args (argc, argv) != 0)
- return 1;
-
- CORBA::Object_var object =
- orb->string_to_object (ior ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- Test::Roundtrip_var roundtrip =
- Test::Roundtrip::_narrow (object.in () ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- if (CORBA::is_nil (roundtrip.in ()))
- {
- ACE_ERROR_RETURN ((LM_ERROR,
- "Nil Test::Roundtrip reference <%s>\n",
- ior),
- 1);
- }
-
- ACE_DEBUG ((LM_DEBUG, "Starting threads\n"));
-
- Client_Task task0(roundtrip.in (), niterations);
- Client_Task task1(roundtrip.in (), niterations);
- Client_Task task2(roundtrip.in (), niterations);
- Client_Task task3(roundtrip.in (), niterations);
-
- ACE_hrtime_t test_start = ACE_OS::gethrtime ();
- task0.activate(THR_NEW_LWP | THR_JOINABLE);
- task1.activate(THR_NEW_LWP | THR_JOINABLE);
- task2.activate(THR_NEW_LWP | THR_JOINABLE);
- task3.activate(THR_NEW_LWP | THR_JOINABLE);
-
- task0.thr_mgr()->wait ();
- ACE_hrtime_t test_end = ACE_OS::gethrtime ();
-
- ACE_DEBUG ((LM_DEBUG, "Threads finished\n"));
-
- ACE_DEBUG ((LM_DEBUG, "High resolution timer calibration...."));
- ACE_UINT32 gsf = ACE_High_Res_Timer::global_scale_factor ();
- ACE_DEBUG ((LM_DEBUG, "done\n"));
-
- ACE_Basic_Stats totals;
- task0.accumulate_and_dump (totals, "Task[0]", gsf);
- task1.accumulate_and_dump (totals, "Task[1]", gsf);
- task2.accumulate_and_dump (totals, "Task[2]", gsf);
- task3.accumulate_and_dump (totals, "Task[3]", gsf);
-
- totals.dump_results ("Total", gsf);
-
- ACE_Throughput_Stats::dump_throughput ("Total", gsf,
- test_end - test_start,
- totals.samples_count ());
-
- if (do_shutdown)
- {
- roundtrip->shutdown (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_TRY_CHECK;
- }
- }
- ACE_CATCHANY
- {
- ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION, "Exception caught:");
- return 1;
- }
- ACE_ENDTRY;
-
- return 0;
-}
diff --git a/TAO/performance-tests/Thread_Pool_Latency/server.cpp b/TAO/performance-tests/Thread_Pool_Latency/server.cpp
deleted file mode 100644
index bcacaf713c2..00000000000
--- a/TAO/performance-tests/Thread_Pool_Latency/server.cpp
+++ /dev/null
@@ -1,139 +0,0 @@
-// $Id$
-
-#include "Roundtrip.h"
-#include "Worker_Thread.h"
-#include "ace/Get_Opt.h"
-#include "ace/Sched_Params.h"
-
-#include "tao/Strategies/advanced_resource.h"
-
-ACE_RCSID(Thread_Pool_Latency, server, "$Id$")
-
-const char *ior_output_file = "test.ior";
-
-int
-parse_args (int argc, char *argv[])
-{
- ACE_Get_Opt get_opts (argc, argv, "o:");
- int c;
-
- while ((c = get_opts ()) != -1)
- switch (c)
- {
- case 'o':
- ior_output_file = get_opts.opt_arg ();
- break;
-
- case '?':
- default:
- ACE_ERROR_RETURN ((LM_ERROR,
- "usage: %s "
- "-o <iorfile>"
- "\n",
- argv [0]),
- -1);
- }
- // Indicates sucessful parsing of the command line
- return 0;
-}
-
-int
-main (int argc, char *argv[])
-{
- int priority =
- (ACE_Sched_Params::priority_min (ACE_SCHED_FIFO)
- + ACE_Sched_Params::priority_max (ACE_SCHED_FIFO)) / 2;
- priority = ACE_Sched_Params::next_priority (ACE_SCHED_FIFO,
- priority);
- // Enable FIFO scheduling, e.g., RT scheduling class on Solaris.
-
- if (ACE_OS::sched_params (ACE_Sched_Params (ACE_SCHED_FIFO,
- priority,
- ACE_SCOPE_PROCESS)) != 0)
- {
- if (ACE_OS::last_error () == EPERM)
- {
- ACE_DEBUG ((LM_DEBUG,
- "server (%P|%t): user is not superuser, "
- "test runs in time-shared class\n"));
- }
- else
- ACE_ERROR ((LM_ERROR,
- "server (%P|%t): sched_params failed\n"));
- }
-
- ACE_TRY_NEW_ENV
- {
- CORBA::ORB_var orb =
- CORBA::ORB_init (argc, argv, "" ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- CORBA::Object_var poa_object =
- orb->resolve_initial_references("RootPOA" ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- if (CORBA::is_nil (poa_object.in ()))
- ACE_ERROR_RETURN ((LM_ERROR,
- " (%P|%t) Unable to initialize the POA.\n"),
- 1);
-
- PortableServer::POA_var root_poa =
- PortableServer::POA::_narrow (poa_object.in () ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- PortableServer::POAManager_var poa_manager =
- root_poa->the_POAManager (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- if (parse_args (argc, argv) != 0)
- return 1;
-
- Roundtrip *roundtrip_impl;
- ACE_NEW_RETURN (roundtrip_impl,
- Roundtrip (orb.in ()),
- 1);
- PortableServer::ServantBase_var owner_transfer(roundtrip_impl);
-
- Test::Roundtrip_var roundtrip =
- roundtrip_impl->_this (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- CORBA::String_var ior =
- orb->object_to_string (roundtrip.in () ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- // If the ior_output_file exists, output the ior to it
- FILE *output_file= ACE_OS::fopen (ior_output_file, "w");
- if (output_file == 0)
- ACE_ERROR_RETURN ((LM_ERROR,
- "Cannot open output file for writing IOR: %s",
- ior_output_file),
- 1);
- ACE_OS::fprintf (output_file, "%s", ior.in ());
- ACE_OS::fclose (output_file);
-
- poa_manager->activate (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- Worker_Thread worker (orb.in ());
-
- worker.activate (THR_NEW_LWP | THR_JOINABLE, 4, 1);
- worker.thr_mgr ()->wait ();
-
- ACE_DEBUG ((LM_DEBUG, "(%P|%t) server - event loop finished\n"));
-
- root_poa->destroy (1, 1 ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- orb->destroy (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_TRY_CHECK;
- }
- ACE_CATCHANY
- {
- ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION, "Exception caught:");
- return 1;
- }
- ACE_ENDTRY;
-
- return 0;
-}
diff --git a/bin/MakeProjectCreator/config/taoversion.mpb b/bin/MakeProjectCreator/config/taoversion.mpb
index c8992c7ec3b..87265e2c59b 100644
--- a/bin/MakeProjectCreator/config/taoversion.mpb
+++ b/bin/MakeProjectCreator/config/taoversion.mpb
@@ -1,3 +1,3 @@
project {
- version = 1.3.2
+ version = 1.3.1
}
diff --git a/configure.ac b/configure.ac
deleted file mode 100644
index 3888fc4c1d0..00000000000
--- a/configure.ac
+++ /dev/null
@@ -1,7396 +0,0 @@
-dnl
-dnl An autoconf script to automatically configure ACE.
-dnl Process this file with autoconf to produce a configure script.
-dnl
-
-dnl @todo PACKAGE and VERSION should be static, not computed by the
-dnl shell. Or M4 should be used to compute if necessary.
-dnl AC_INIT(["$PACKAGE"], ["$ACE_VERSION"], [ace-bugs@cs.wustl.edu],[ace])
-AC_INIT([ACE],[TEST-VERSION],[ace-bugs@cs.wustl.edu],[ace])
-
-
-AC_REVISION([$Id$])
-
-AC_COPYRIGHT([ACE(TM) and TAO(TM) are copyrighted by Douglas C. Schmidt and
-his research group at Washington University, University of California,
-Irvine, andVanderbilt University Copyright (c) 1993-2003, all rights
-reserved. Since ACE and TAO are open-source, free software, you are
-free to use, modify, and distribute the ACE and TAO source code and
-object code produced from the source, as long as you include this
-copyright statement along with code built using ACE and TAO.
-
-Please see the file `COPYING' in the top level ACE directory for
-additional details.])
-
-
-dnl Require GNU Autoconf 2.57 or better.
-AC_PREREQ([2.57])
-
-AC_CONFIG_SRCDIR([ace/ACE.cpp])
-
-dnl Check what platform we are running on.
-AC_CANONICAL_TARGET([])
-
-dnl Initialize GNU Automake, and require Automake 1.7 or better.
-AM_INIT_AUTOMAKE([1.7])
-
-changequote(, )dnl
-ACE_VERSION=`head -1 ${srcdir}/VERSION | sed 's/.*version \([0-9.]*\).*/\1/'`
-changequote([, ])dnl
-
-
-
-dnl Add maintainer mode option to the option list.
-dnl AM_MAINTAINER_MODE
-
-dnl The maintainer of this configure script.
-ACE_CONFIGURE_MAINTAINER='ace-users@cs.wustl.edu'
-
-
-dnl Until autoconf support in ACE is complete, prevent this script
-dnl from running unless the user explictly forces the configure script
-dnl to run using the "--enable-maintainer-mode" configure script
-dnl option.
-dnl if test $USE_MAINTAINER_MODE != yes; then
-dnl AC_MSG_ERROR([
-dnl ACE autoconf support is currently disabled by default since it is
-dnl still under development. Please use the stock ACE build procedure
-dnl detailed in the file \`ACE-INSTALL.html'.
-dnl
-dnl If you wish to experiment with ACE's autoconf support then use the
-dnl \"--enable-maintainer-mode\" configure script option to enable
-dnl autoconf support. For more details see the file
-dnl \`ACE-configuration.txt'.])
-dnl fi dnl test $USE_MAINTAINER_MODE != yes
-
-dnl Should we use "egrep" or "grep -E"? This sets the "$EGREP" shell
-dnl variable.
-AC_PROG_EGREP
-
-dnl If we are configuring in a CVS controlled directory then don't
-dnl continue any further. The idea is to prevent automatically
-dnl generated files from being checked into the repository. This
-dnl will prevent accidental overwrites of ACE's current Makefiles by
-dnl the automatically generated ones, for example.
-dnl ACE_CHECK_FOR_CVS_DIR
-
-dnl Prevent the configure script from continuing any further if
-dnl configuration is being performed in the top-level directory. The
-dnl idea is to prevent files generated during configuration and build
-dnl from overwriting the stock files of the same name.
-ACE_CHECK_TOP_SRCDIR
-
-dnl Prepare the `ace/config.h.in' header template.
-ACE_PREP_CONFIG_HEADER
-
-dnl Allow the standard program name transformations.
-dnl We probably don't need AC_ARG_PROGRAM any longer since AM_INIT_AUTOMAKE
-dnl handles this functionality. -- Ossama
-dnl AC_ARG_PROGRAM
-
-dnl Generate a header file with all settings.
-AC_CONFIG_HEADERS([ace/config.h])
-
-dnl Move before the AC_ARG_ENABLE stuff to prevent autoconf complaints.
-dnl This is a bit messy but it makes life easier for me.
-dnl -Ossama
-dnl
-dnl SECTION: checks for programs
-dnl
-
-dnl Check if system supports "#! /bin/sh" line in scripts
-AC_SYS_INTERPRETER
-
-dnl Check the C compiler and preprocessor.
-AC_PROG_CC
-AC_PROG_CPP
-AC_PROG_CC_C_O
-
-dnl Check the C++ compiler and preprocessor.
-AC_PROG_CXX
-AC_PROG_CXXCPP
-
-dnl Set the test language as C++
-AC_LANG([C++])
-
-dnl If we are cross compiling disable certain things in the Makefiles.
-AM_CONDITIONAL([ACE_CROSS_COMPILED], [test X$cross_compiling = Xyes])
-
-
-dnl This checks for a binary called gm4, gnum4 or m4, and assigns
-dnl whatever was found (or "gonzo") to the M4 macro.
-dnl AC_CHECK_PROGS(M4, gm4 gnum4 m4, gonzo)
-
-dnl Look for the best awk-style program available.
-AC_PROG_AWK
-
-dnl Set some version information
-ACE_CURRENT=0
-ACE_AGE=0
-ACE_REVISION=0
-
-if test -n "$AWK"; then
- ACE_MAJOR=`echo "$ACE_VERSION" | sed 's/\./ /g' | $AWK '{ print \[$]1 }'`
- ACE_MINOR=`echo "$ACE_VERSION" | sed 's/\./ /g' | $AWK '{ print \[$]2 }'`
- ACE_BETA=`echo "$ACE_VERSION" | sed 's/\./ /g' | $AWK '{ print \[$]3 }'`
-
-dnl Make sure all of the versions have a legitimate value, i.e. not an
-dnl empty string.
- test -z "$ACE_MAJOR" && ACE_MAJOR=0
- test -z "$ACE_MINOR" && ACE_MINOR=0
- test -z "$ACE_BETA" && ACE_BETA=0
-
-dnl This is a terrible kludge to fool libtool into making it produce a shared
-dnl library with the "right" version information.
-dnl We really should switch to a version scheme that is compatible with
-dnl libtool.
-dnl -Ossama
-ACE_CURRENT=`expr $ACE_MAJOR + $ACE_MINOR`
-ACE_AGE=$ACE_MINOR
-ACE_REVISION=$ACE_BETA
-
-fi
-
-AC_SUBST([ACE_CURRENT])
-AC_SUBST([ACE_AGE])
-AC_SUBST([ACE_REVISION])
-
-dnl Do the usual install settings; don't forget to include a
-dnl `install-sh' script, in case there is no BSD compatible `install'
-dnl installed (no pun intended) in your machine.
-
-dnl We don't need this anymore since AM_INIT_AUTOMAKE calls AC_PROG_INSTALL.
-dnl -- Ossama
-dnl AC_PROG_INSTALL
-
-dnl Special handling for some UNIX variants and Cygwin32
-dnl AC_AIX
-
-dnl AC_MINIX
-AC_DIAGNOSE([obsolete],[AC_CYGWIN is obsolete: use AC_CANONICAL_HOST and $host_os])
-case $host_os in
- *cygwin* ) CYGWIN=yes;;
- * ) CYGWIN=no;;
-esac
-
-
-dnl Check if we support symlinks
-AC_PROG_LN_S
-
-dnl Check if a lexical analyzer exists (lex, flex, etc.)
-AM_PROG_LEX
-
-dnl Check if some implementation of YACC exists (yacc, byacc, bison, etc.)
-AC_PROG_YACC
-dnl if test -z "$YACC"; then
-dnl ./missing yacc
-dnl fi
-
-dnl Check for perfect hash function generator
-AC_CHECK_PROG([GPERF],[gperf],[gperf])
-
-dnl Check for profiling progam
-AC_CHECK_PROGS([PROF],[gprof prof],)
-
-dnl The user's/default C++ flags are stored in "CXXFLAGS." We use
-dnl the variable "ACE_CXXFLAGS" to set the C++ flags we want. At the end
-dnl of the configuration process we combine ACE_CXXFLAGS and CXXFLAGS
-dnl into CXXFLAGS (e.g., CXXFLAGS="$ACE_CXXFLAGS $CXXFLAGS"). CXXFLAGS
-dnl goes after ACE_CXXFLAGS so that the user's C++ flag command line
-dnl choices always override the configure script's choices.
-ACE_CXXFLAGS=""
-ACE_CFLAGS=""
-
-
-
-dnl SECTION 2: Configure script command line options
-
-
-dnl Determine which subsets to build
-dnl This is done using the autoconf "--enable-foobar" mechanism.
-ACE_CHECK_SUBSETS
-
-dnl Add --{enable,disable,with,without}-feature options.
-ACE_CONFIGURATION_OPTIONS
-ACE_COMPILATION_OPTIONS
-
-dnl Configure the TAO directory if it exists.
-dnl TAO_CONFIGURATION_OPTIONS
-
-# Autoconf's AC_OBJEXT and AC_EXEEXT macros only works for C compilers!
-# Libtool's setup macro calls AC_OBJEXT and AC_EXEEXT without setting
-# the test language to C. We do it before any libtool setup macros are
-# called so that the proper values are cached beforehand. We also do
-# it before any linker flags (LDFLAGS) are set so that C++ specific
-# ones don't break the tests.
-dnl AC_LANG_PUSH([C])
-dnl AC_OBJEXT
-dnl AC_EXEEXT
-dnl AC_LANG_POP([C])
-
-dnl Call ACE_SET_COMPILER_FLAGS before AC_PROG_LIBTOOL and after the
-dnl AC_ARG_ENABLE and AC_ARG_WITH calls.
-ACE_SET_COMPILER_FLAGS
-
-
-dnl SECTION 3: check for programs <--- moved before section 2 (Ossama)
-
-
-dnl Platform specific libraries needed for ACE's autoconf tests
-dnl that currently do not have tests themselves.
-dnl Platform specific flags
-case "$host" in
- *freebsd*)
- LIBS="$LIBS -lcompat"
- ;;
- *osf3.2*)
- LIBS="$LIBS -lmach -lsys5 -lcxx -lc"
- ;;
- *osf4.0* | *osf5.0*)
- LIBS="$LIBS -lmach"
- ;;
- *psos*)
- LIBS="$LIBS -lm"
- ;;
-esac
-
-
-dnl SECTION 4: checks for libraries
-
-
-dnl Additional X library checks
-dnl We only check for these libraries if the user has
-dnl enabled XtReactor support.
-
-xt_reactor_go=no
-
-if test "$ace_user_enable_xt_reactor" = yes; then
-XTREACTOR_TEST_XLIBS=""
-dnl Check for Motif if we have X
- T_LDFLAGS="$LDFLAGS"
- LDFLAGS="$LDFLAGS $X_LIBS"
-
-dnl Note that ACE currently only needs -lX11 and -lXt for the XtReactor
-dnl so we define another library variable that contains additional
-dnl libraries for the XtReactor test since it needs either Motif or the
-dnl Athena widget set.
-
- AC_CHECK_LIB([Xm],[XmCreateRowColumn],
- [
- AC_DEFINE([ACE_HAS_XT])
- XTREACTOR_TEST_XLIBS="-lXm"
- xt_reactor_go=yes
- ],
- [
- AC_DEFINE([ACE_LACKS_MOTIF])
- AC_CHECK_LIB([Xaw],[XawInitializeWidgetSet],
- [
- AC_DEFINE([ACE_HAS_XT])
- XTREACTOR_TEST_XLIBS="-lXaw -lXmu"
- xt_reactor_go=yes
- ],
- [
- xt_reactor_go=no
- AC_MSG_WARN([No usable X widget libraries were found.])
- AC_MSG_WARN([XtReactor support will be disabled.])
- ],[-lXmu])
- ],[-lXt])
-
- AC_SUBST([XTREACTOR_TEST_XLIBS])
-
-dnl Restore pre-test linker flags
- LDFLAGS="$T_LDFLAGS"
-
-fi dnl test "$ace_user_enable_xt_reactor"= yes
-
- AM_CONDITIONAL([COMPILE_XTREACTOR_TEST],[test X$xt_reactor_go = Xyes])
-
-dnl End additional X library checks
-
-dnl Some platforms do not have a dynamic linking library, however the
-dnl dlopen, dlclose, etc., functions may exist in the C library.
-dnl (e.g. Digital UNIX)
-dnl Check for dynamic linking library
-AC_SEARCH_LIBS([dlopen],[dl svld],[ace_has_svr4_dynamic_linking=yes],
- [
- ace_has_svr4_dynamic_linking=no
- AC_CHECK_LIB([dld],[shl_get],,)
- ])
-
-dnl Check if the socket library is available
-AC_SEARCH_LIBS([socket],[socket],,,[-lnsl])
-
-dnl Check for gethostbyname in -lnsl since some platforms (e.g. Solaris)
-dnl put it there.
-AC_SEARCH_LIBS([gethostbyname],[nsl],,)
-
-dnl Check for getservbyname in -lxnet since some platforms (e.g. Solaris)
-dnl may put it there.
-AC_SEARCH_LIBS([getservbyname],[socket xnet],,[AC_DEFINE([ACE_LACKS_GETSERVBYNAME])],[-lnsl])
-
-
-dnl Check for compile() regex function in -lgen. Solaris, for example,
-dnl may put it there.
-AC_SEARCH_LIBS([compile],[gen],,)
-
-dnl Check for exception handling library (e.g. for Digital UNIX)
-AC_SEARCH_LIBS([exc_continue],[exc],,)
-
-dnl Check for ctime_r in -lc_r. Some platforms, such as Digital UNIX,
-dnl put reentrant functions such as asctime_r, ctime_r, gmtime_r, and
-dnl localtime_r in -lc_r.
-AC_SEARCH_LIBS([ctime_r],[c_r],,)
-
-dnl TLI library check
-AC_SEARCH_LIBS([t_accept],[xti tli_r tli nsl],
- [ace_has_tli_funcs=yes],[ace_has_tli_funcs=no])
-
-dnl Check for all of the things we need to compile and link threads
-dnl properly.
-if test "$ace_user_enable_threads" = yes; then
- ACE_CHECK_THREADS
-fi dnl test "$ace_user_enable_threads" = yes
-
-dnl Setup Libtool
-
-dnl This should be done in the "programs" section of this file but
-dnl libtool may then be unaware of compiler flags set during the
-dnl thread checks.
-
-dnl Disable building of static libraries by default
-AC_DISABLE_STATIC
-
-dnl Enable Libtool module support
-AC_LIBTOOL_DLOPEN
-
-dnl FIXME: Temporary hack to make libtool work with g++.
-dnl Shared library support will only work with GNU g++ and GNU ld
-dnl right now.
-dnl save_CC="$CC"
-dnl CC="$CXX"
-
-dnl Check for libtool and turn on Automake processing for Libtool
-AC_PROG_LIBTOOL
-
-dnl Enable C++ support in libtool
-dnl AC_LIBTOOL_CXX
-
-dnl Temporary hack until I get integrate libtool's new tag support
-dnl into automake.
-dnl This hack forces libtool to always use the C++ tag.
-dnl LIBTOOL="$LIBTOOL --tag=CXX"
-
-dnl Check for sched_yield() in posix4 library.
-dnl Some platforms, such as Solaris, may define sched_yield() there.
-dnl Later we run AC_CHECK_FUNC(sched_yield), which is redundant in this case
-dnl but is needed if sched_yield() is defined in one of the other libraries
-dnl we check for.
-AC_SEARCH_LIBS([sched_yield],[rt posix4],[ace_has_sched_yield=yes],)
-
-dnl Check for asynchronous IO calls (perform check *after* thread check!)
-ACE_CHECK_ASYNCH_IO
-
-dnl Additional `-lposix4' library check since it may not be added by the
-dnl above checks on some platforms that may need it
-AC_SEARCH_LIBS([clock_gettime],
- [rt posix4],[AC_DEFINE(ACE_HAS_CLOCK_GETTIME)],)
-
-
-dnl SECTION 5: checks for header files
-
-dnl Set known platform specific flags
-ACE_SET_PLATFORM_MACROS
-
-dnl Check for dirent headers
-AC_HEADER_DIRENT
-
-if test "$ac_cv_header_dirent_dirent_h" = yes ||
- test "$ac_cv_header_dirent_sys_ndir_h" = yes ||
- test "$ac_cv_header_dirent_sys_dir_h" = yes ||
- test "$ac_cv_header_dirent_ndir_h" = yes; then
- AC_DEFINE([ACE_HAS_DIRENT])
-fi
-
-dnl Check for sys/wait.h Posix.1 compliance
-AC_HEADER_SYS_WAIT
-
-if test "$ac_cv_cygwin" = yes; then
- AC_CHECK_HEADER([cygwin32/socket.h],
- [AC_DEFINE([ACE_HAS_CYGWIN32_SOCKET_H])],)
-fi
-
-AC_CHECK_HEADER([dlfcn.h],
- [
- dnl We already checked for dlopen in the previous library checks however,
- dnl it is possible that ac_cv_func_dlopen=yes if dlopen wasn't found before
- dnl the library test. Hence we cannot use AC_CHECK_FUNC(dlopen) here
- dnl the previously cached value may prevent ACE_HAS_SVR4_DYNAMIC_LINKING
- dnl from being defined.
- dnl -Ossama
- if test "$ace_has_svr4_dynamic_linking" = yes; then
- AC_DEFINE([ACE_HAS_SVR4_DYNAMIC_LINKING])
- fi
- ],)
-
-AC_CHECK_HEADER([malloc.h],
- ,
- [AC_DEFINE([ACE_LACKS_MALLOC_H])])
-
-AC_CHECK_HEADER([memory.h],
- ,
- [AC_DEFINE([ACE_LACKS_MEMORY_H])])
-
-AC_CHECK_HEADER([bytesex.h],
- [AC_DEFINE([ACE_HAS_BYTESEX_H])])
-
-dnl We don't need to explicitly include this on linux.
-dnl AC_CHECK_HEADER([features.h],
-dnl [AC_DEFINE([ACE_HAS_FEATURES_H])])
-
-AC_CHECK_HEADER([sys/msg.h],
- [
- ACE_CACHE_CHECK([if _KERNEL is needed for msg prototypes],
- [ace_cv_lib_broken_msg_h],
- [
- AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
-#ifdef UNIXWARE_7_1
-# define _KMEMUSER
-#endif
-
-#include <sys/msg.h>
- ]],[[
- struct msg ace_msg;
- ]])],[
- ace_cv_lib_broken_msg_h=no
- ],[
- AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
-#ifndef _KERNEL
-# define _KERNEL
-# ifdef UNIXWARE_7_1
-# define _KMEMUSER
-# endif
-#endif
-#include <sys/msg.h>
- ]],
- [[
- struct msg ace_msg;
- ]])],
- [
- ace_cv_lib_broken_msg_h=yes
- ],
- [
- dnl If we get here, then we have no idea if it is broken or not.
- ace_cv_lib_broken_msg_h=no
- ])
- ])
- ],
- [
- AC_DEFINE([ACE_HAS_BROKEN_MSG_H])
- ],)
- ],
- [AC_DEFINE([ACE_LACKS_SYSV_MSG_H])])
-
-AC_CHECK_HEADER([sys/param.h],
- [],
- [AC_DEFINE([ACE_LACKS_PARAM_H])])
-
-AC_CHECK_HEADER([sys/priocntl.h],[],[])
-
-dnl Check for <ucontext.h> _before_ <sys/procfs.h>
-AC_CHECK_HEADER([ucontext.h],
- [],
- [AC_DEFINE([ACE_LACKS_UCONTEXT_H])])
-
-AC_CHECK_HEADER([sys/procfs.h],
- [
- dnl Check if <sys/procfs.h> conflicts with <ucontext.h>
- dnl Some (early?) versions of glibc2.1 define the same variables
- dnl in <sys/procfs.h> and <ucontext.h>.
- ACE_CACHE_CHECK([if sys/procfs.h conflicts with ucontext.h],
- [ace_has_procfs_conflict],
- [
- AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
-#ifndef ACE_LACKS_UCONTEXT_H
-# include <ucontext.h>
-#endif
-
-#include <sys/procfs.h>
- ]],[[
- int a = 0;
- ]])],[
- ace_has_procfs_conflict=no
- ],[
- ace_has_procfs_conflict=yes
- ])
- ],
- [
- ],
- [
- dnl If ace_has_procfs_conflict = no then define ACE_HAS_PROC_FS.
- AC_DEFINE([ACE_HAS_PROC_FS])
- ])
- ],)
-
-AC_CHECK_HEADER([sys/select.h],
- [AC_DEFINE([ACE_HAS_SELECT_H])])
-
-AC_CHECK_HEADER([netinet/tcp.h],
- [],
- [AC_DEFINE([ACE_LACKS_TCP_H])])
-
-AC_CHECK_HEADER([sys/sockio.h],
- [AC_DEFINE([ACE_HAS_SOCKIO_H])])
-
-AC_CHECK_HEADER([sysent.h],
- [AC_DEFINE([ACE_HAS_SYSENT_H])],)
-
-AC_CHECK_HEADER([sys/systeminfo.h],[],[])
-
-AC_CHECK_HEADER([sys/filio.h],
- [AC_DEFINE([ACE_HAS_SYS_FILIO_H])],)
-
-AC_CHECK_HEADER([sys/uio.h],,)
-
-AC_CHECK_HEADER([sys/ioctl.h],
- [AC_DEFINE([ACE_HAS_SYS_IOCTL_H])],)
-
-AC_CHECK_HEADER([sys/types.h],
- ,
- [AC_DEFINE([ACE_LACKS_SYS_TYPES_H])])
-
-AC_CHECK_HEADER([sys/termios.h],
- [
- AC_EGREP_CPP([ACE_WITH_TERM_IOCTLS],
- [
-#include <sys/termios.h>
-
-#if defined (ACE_HAS_SYS_IOCTL_H)
-# include <sys/ioctl.h>
-#endif
-
-#if defined(TCGETS) && defined(TCSETS)
- ACE_WITH_TERM_IOCTLS
-#elif defined(TCGETA) && defined(TCSETA)
- ACE_WITH_TERM_IOCTLS
-#endif
- ],
- [
- AC_DEFINE([ACE_HAS_TERM_IOCTLS])
- ],)
- ],)
-
-if test "$ace_has_tli_funcs" = yes; then
-AC_CHECK_HEADER([xti.h],
- [
- ace_has_tli=yes
- AC_DEFINE([ACE_HAS_XTI])
- AC_DEFINE([ACE_HAS_TLI])
- ],)
-
-AC_CHECK_HEADER([sys/xti.h],
- [
- ace_has_tli=yes
- AC_DEFINE([ACE_HAS_SYS_XTI_H])
- AC_DEFINE([ACE_HAS_XTI])
- AC_DEFINE([ACE_HAS_TLI])
- ],)
-
-AC_CHECK_HEADER([sys/timod.h],
- [
- AC_DEFINE([ACE_HAS_TIMOD_H])
- ],
- [
- AC_CHECK_HEADER([tli/timod.h],
- [
- AC_DEFINE([ACE_HAS_OSF_TIMOD_H])
- ],)
- ])
-
-AC_CHECK_HEADER([tiuser.h],
- [
- ace_has_tli=yes
- AC_DEFINE([ACE_HAS_TIUSER_H])
- AC_DEFINE([ACE_HAS_TLI])
- ],)
-
-dnl Check if XTI headers are broken
-if test "$ac_cv_header_xti_h" = yes ||
- test "$ac_cv_header_sys_xti_h" = yes ||
- test "$ac_cv_header_tiuser_h" = yes; then
- ACE_CACHE_CHECK([if TCP macros are defined in XTI headers],
- [ace_cv_lib_has_broken_xti_macros],
- [
- AC_EGREP_CPP([ACE_BROKEN_XTI_MACROS],
- [
-#ifndef ACE_LACKS_SYS_TYPES_H
-# include <sys/types.h>
-#endif
-
-#if defined (ACE_HAS_TIUSER_H) || defined (ACE_HAS_XTI)
-# if defined (ACE_HAS_TIUSER_H)
-# include /**/ <tiuser.h>
-# elif defined (ACE_HAS_SYS_XTI_H)
-# include /**/ <sys/xti.h>
-# else
-# include /**/ <xti.h>
-# endif /* ACE_HAS_SYS_XTI_H */
-#endif /* ACE_HAS_TIUSER_H || ACE_HAS_XTI */
-
-#if defined (TCP_NODELAY) || defined (TCP_MAXSEG)
-ACE_BROKEN_XTI_MACROS
-#endif /* TCP_NODELAY || TCPMAXSEG */
- ],
- [
- ace_cv_lib_has_broken_xti_macros=yes
- ],
- [
- ace_cv_lib_has_broken_xti_macros=no
- ])
- ],
- [
- AC_DEFINE([ACE_HAS_BROKEN_XTI_MACROS])
- ],)
-fi
-
-if test "$ac_cv_header_tiuser_h" = yes; then
- ACE_CACHE_CHECK([if tiuser.h is protected by extern \"C\"],
- [ace_cv_lib_tiuser_with_extern_c],[
- AC_EGREP_HEADER([extern \"C\"],[tiuser.h],
- [
- ace_cv_lib_tiuser_with_extern_c=yes
- ],
- [
- ace_cv_lib_tiuser_with_extern_c=no
- ])
- ],,[AC_DEFINE([ACE_HAS_TIUSER_H_BROKEN_EXTERN_C])])
-fi dnl test "$ac_cv_header_tiuser_h" = yes
-
-AC_CHECK_HEADER([xliuser.h],
- [
- ace_has_tli=yes
- AC_DEFINE([ACE_HAS_XLI])
- AC_DEFINE([ACE_HAS_TLI])
- ],)
-
-
-dnl Check for TLI prototypes
-if test "$ace_has_tli" = yes; then
- ACE_CACHE_CHECK([for TLI prototypes],
- [ace_cv_lib_tli_prototypes],
- [
-dnl We only check for t_accept. This should hopefully be enough.
- AC_EGREP_CPP([t_accept],
- [
-#ifndef ACE_LACKS_SYS_TYPES_H
-# include <sys/types.h>
-#endif
-
-#if defined (ACE_HAS_TIMOD_H)
-# include <sys/timod.h>
-#endif
-
-#if defined (ACE_HAS_OSF_TIMOD_H)
-# include <tli/timod.h>
-#endif
-
-#if defined (ACE_HAS_TIUSER_H) || defined (ACE_HAS_XTI)
-# if defined (ACE_HAS_BROKEN_XTI_MACROS)
-# undef TCP_NODELAY
-# undef TCP_MAXSEG
-# endif /* ACE_HAS_BROKEN_XTI_MACROS */
-# if defined (ACE_HAS_TIUSER_H)
-# include /**/ <tiuser.h>
-# elif defined (ACE_HAS_SYS_XTI_H)
-# define class ace_xti_class
-# include /**/ <sys/xti.h>
-# undef class
-# else
-# include /**/ <xti.h>
-# endif /* ACE_HAS_TIUSER_H */
-#endif /* ACE_HAS_TIUSER_H || ACE_HAS_XTI */
-
-#if defined (ACE_HAS_XLI)
-# include <xliuser.h>
-#endif
- ],
- [
- ace_cv_lib_tli_prototypes=yes
- ],
- [
- ace_cv_lib_tli_prototypes=no
- ])
- ],[AC_DEFINE([ACE_HAS_TLI_PROTOTYPES])],)
-
-dnl Check for t_errno type in TLI headers
- ACE_CACHE_CHECK([for t_errno in TLI headers],
- [ace_cv_lib_has_t_errno],
- [
- dnl Check if t_errno is declared in the TLI headers
- AC_EGREP_CPP([t_errno],
- [
-#ifndef ACE_LACKS_SYS_TYPES_H
-# include <sys/types.h>
-#endif
-
-#if defined (ACE_HAS_TIMOD_H)
-# include <sys/timod.h>
-#endif
-
-#if defined (ACE_HAS_OSF_TIMOD_H)
-# include <tli/timod.h>
-#endif
-
-#if defined (ACE_HAS_TIUSER_H) || defined (ACE_HAS_XTI)
-# if defined (ACE_HAS_BROKEN_XTI_MACROS)
-# undef TCP_NODELAY
-# undef TCP_MAXSEG
-# endif /* ACE_HAS_BROKEN_XTI_MACROS */
-# if defined (ACE_HAS_TIUSER_H)
-# include /**/ <tiuser.h>
-# elif defined (ACE_HAS_SYS_XTI_H)
-# define class ace_xti_class
-# include /**/ <sys/xti.h>
-# undef class
-# else
-# include /**/ <xti.h>
-# endif /* ACE_HAS_TIUSER_H */
-#endif /* ACE_HAS_TIUSER_H || ACE_HAS_XTI */
-
-#if defined (ACE_HAS_XLI)
-# include <xliuser.h>
-#endif
- ],
- [
- ace_cv_lib_has_t_errno=yes
- ],
- [
- ace_cv_lib_has_t_errno=no
- ])
- ],,[AC_DEFINE([ACE_LACKS_T_ERRNO])])
-
-dnl Check if t_error incorrectly accepts char *
- ACE_CACHE_CHECK([if t_error incorrectly accepts char *],
- [ace_cv_lib_has_broken_t_error],
- [
- dnl Check if t_errno is declared in the TLI headers
- AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
-#ifndef ACE_LACKS_SYS_TYPES_H
-# include <sys/types.h>
-#endif
-
-#if defined (ACE_HAS_TIMOD_H)
-# include <sys/timod.h>
-#endif
-
-#if defined (ACE_HAS_OSF_TIMOD_H)
-# include <tli/timod.h>
-#endif
-
-#if defined (ACE_HAS_TIUSER_H) || defined (ACE_HAS_XTI)
-# if defined (ACE_HAS_BROKEN_XTI_MACROS)
-# undef TCP_NODELAY
-# undef TCP_MAXSEG
-# endif /* ACE_HAS_BROKEN_XTI_MACROS */
-# if defined (ACE_HAS_TIUSER_H)
-# include /**/ <tiuser.h>
-# elif defined (ACE_HAS_SYS_XTI_H)
-# define class ace_xti_class
-# include /**/ <sys/xti.h>
-# undef class
-# else
-# include /**/ <xti.h>
-# endif /* ACE_HAS_TIUSER_H */
-#endif /* ACE_HAS_TIUSER_H || ACE_HAS_XTI */
-
-#if defined (ACE_HAS_XLI)
-# include <xliuser.h>
-#endif
- ]],[[
- const char *ace_errmsg = "FOO";
- t_error (ace_errmsg);
- ]])],[
- ace_cv_lib_has_broken_t_error=no
- ],[
- ace_cv_lib_has_broken_t_error=yes
- ])
- ],
- [
- AC_DEFINE([ACE_HAS_BROKEN_T_ERROR])
- ],)
-
-fi dnl test "$ace_has_tli" = yes
-fi dnl test "$ace_has_tli_funcs" = yes
-
-AC_CHECK_HEADER([sys/time.h],
- [
- dnl This is a weak test.
- AC_EGREP_HEADER([sys/time.h],[time.h],
- ,
- [
- AC_DEFINE([ACE_LACKS_SYSTIME_H])
- ])
- ],)
-
-dnl See the notes about ACE_LACKS_MMAP in the functions section of this
-dnl configure script.
-dnl -Ossama
-AC_CHECK_HEADER([sys/mman.h],
- [
- AC_EGREP_HEADER([extern \"C\"],[sys/mman.h],
- ,
- [
- AC_DEFINE([ACE_HAS_BROKEN_MMAP_H])
- ])
- ],
- [
- AC_DEFINE([ACE_LACKS_MMAP])
- ])
-
-dnl Check for bzero() prototype if bstring.h exists.
-AC_CHECK_HEADER([bstring.h],
- [
- AC_EGREP_HEADER([bzero],[bstring.h],
- [
- AC_DEFINE([ACE_HAS_BSTRING])
- ],)
- ],)
-
-AC_CHECK_HEADER([strings.h],
- [
- AC_EGREP_HEADER([bzero],[strings.h],
- [
- AC_DEFINE([ACE_HAS_STRINGS])
- ],)
- ],)
-
-AC_CHECK_HEADER([sys/syscall.h],
- [AC_DEFINE([ACE_HAS_SYSCALL_H])],)
-
-AC_CHECK_HEADER([poll.h],
- [AC_DEFINE([ACE_HAS_POLL])],)
-
-dnl We want AC_CHECK_HEADERS so that "HAVE_PWD_H" gets defined if we have it.
-dnl "HAVE_PWD_H" is used in one of the tests later on.
-AC_CHECK_HEADERS([pwd.h],,)
-
-AC_CHECK_HEADER([regexpr.h],
- [AC_DEFINE([ACE_HAS_REGEX])],)
-
-AC_CHECK_HEADER([stropts.h],
- [AC_DEFINE([ACE_HAS_STREAMS])],)
-
-AC_CHECK_HEADER([siginfo.h],
- ,
- [AC_DEFINE([ACE_LACKS_SIGINFO_H])])
-
-AC_CHECK_HEADER([unistd.h],
- ,
- [AC_DEFINE([ACE_LACKS_UNISTD_H])])
-
-AC_CHECK_HEADER([utime.h],
- [AC_DEFINE([ACE_HAS_UTIME])],)
-
-dnl This check will be disabled until we can get ACE to compile when it
-dnl ACE_HAS_WCHAR is defined on UN*X systems
-dnl AC_CHECK_HEADER([wchar.h],
-dnl [AC_DEFINE([ACE_HAS_WCHAR])],)
-
-AC_CHECK_HEADER([libc.h],
- [AC_DEFINE([ACE_HAS_LIBC_H])])
-
-AC_CHECK_HEADER([osfcn.h],
- [AC_DEFINE([ACE_HAS_OSFCN_H])])
-
-AC_CHECK_HEADER([new],
- [AC_DEFINE([ACE_HAS_NEW_NO_H])],
- [
- AC_CHECK_HEADER([new.h],
- [AC_DEFINE([ACE_HAS_NEW_H])])
- ])
-
-AC_CHECK_HEADER([stdexcept],
- [AC_DEFINE([ACE_HAS_STDEXCEPT_NO_H])],
- [
- AC_CHECK_HEADER([exception.h],
- [AC_DEFINE([ACE_HAS_EXCEPTION_H])])
- ])
-
-dnl ace/OS.i can #include <cstring>,not #include <cstring.h>
-dnl "cstring" is the correct form.
-dnl TODO: Double check the above comment.
-AC_CHECK_HEADER([cstring],
- [AC_DEFINE([ACE_HAS_GNU_CSTRING_H])],)
-
-AC_CHECK_HEADER([memory],,)
-
-dnl Check for availablity of "new style" C++ stream headers
-AC_CHECK_HEADERS([iomanip ios iostream istream ostream fstream streambuf],
- ,
- [AC_DEFINE([ACE_USES_OLD_IOSTREAMS])])
-
-AC_CHECK_HEADER([iostream.h],
- [AC_CHECK_HEADER([fstream.h],,[AC_DEFINE([ACE_LACKS_IOSTREAM_TOTALLY])])],
- [AC_DEFINE([ACE_LACKS_IOSTREAM_TOTALLY])])
-
-dnl Check if platform needs to #include <regexpr.h> for
-dnl regular expression support
-ACE_CACHE_CHECK([regexpr.h for regular expression support],
- [ace_cv_needs_regexpr_h],
- [
- AC_EGREP_HEADER([compile],[regexpr.h],
- [
- ace_cv_needs_regexpr_h=yes
- ],
- [
- AC_EGREP_HEADER([step],[regexpr.h],
- [
- ace_cv_needs_regexpr_h=yes
- ],
- [
- ace_cv_needs_regexpr_h=no
- ])
- ])
- ],[AC_DEFINE([ACE_NEEDS_REGEXPR_H])],)
-
-dnl Check if sprintf() returns char*
-ACE_CONVERT_WARNINGS_TO_ERRORS([
-ACE_CACHE_CHECK([if sprintf() returns char*],
- [ace_cv_lib_charptr_sprintf],
- [
- AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
-#include <stdlib.h>
-#include <stdio.h>
- ]],[[
- char *str = 0;
- const char *fmt = "%d";
- int num = 0;
-
- char *s = 0;
-
- s = sprintf(str, fmt, num);
- ]])],[
- ace_cv_lib_charptr_sprintf=yes
- ],[
- ace_cv_lib_charptr_sprintf=no
- ])
- ],[AC_DEFINE([ACE_HAS_CHARPTR_SPRINTF])],)
-]) dnl ACE_CONVERT_WARNINGS_TO_ERRORS
-
-dnl Check for getopt() prototype
-ACE_CACHE_CHECK([for getopt() prototype],[ace_cv_lib_getopt_proto],[
- AC_EGREP_HEADER([getopt],[unistd.h],
- [
- ace_cv_lib_getopt_proto=yes
- ],
- [
- AC_EGREP_HEADER([[^_]+getopt],[stdlib.h],
- [
- ace_cv_lib_getopt_proto=yes
- ],
- [
- ace_cv_lib_getopt_proto=no
- ])
- ])
-],,[AC_DEFINE([ACE_LACKS_GETOPT_PROTO])])
-
-dnl Check for old malloc() prototype.
-ACE_CONVERT_WARNINGS_TO_ERRORS([
-ACE_CACHE_CHECK([for old malloc() prototype],
- [ace_cv_lib_old_malloc_proto],
- [
- AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
-#include <stdlib.h>
-#ifndef ACE_LACKS_MALLOC_H
-# include <malloc.h>
-#endif
- ]],[[
- char *s = 0;
- s = malloc(sizeof(int));
- ]])],[
- ace_cv_lib_old_malloc_proto=yes
- ],[
- ace_cv_lib_old_malloc_proto=no
- ])
- ],[AC_DEFINE([ACE_HAS_OLD_MALLOC])],)
-]) dnl ACE_CONVERT_WARNINGS_TO_ERRORS
-
-dnl Check for *_timedwait() prototypes
-dnl TODO: We only check for one of the *_timedwait() prototypes.
-dnl Is this enough?
-ACE_CACHE_CHECK([for *_timedwait() prototypes],[ace_cv_lib_timedwait_proto],[
- AC_EGREP_HEADER([recv_timedwait],[pthread.h],
- [
- ace_cv_lib_timedwait_proto=yes
- ],
- [
- AC_EGREP_HEADER([recv_timedwait],[fcntl.h],
- [
- ace_cv_lib_timedwait_proto=yes
- ],
- [
- ace_cv_lib_timedwait_proto=no
- ])
- ])
-],,[AC_DEFINE([ACE_LACKS_TIMEDWAIT_PROTOTYPES])])
-
-dnl Check for ualarm prototype in unistd.h.
-dnl Most Unices seem to put it there (?)
-ACE_CACHE_CHECK([for ualarm() prototype],[ace_cv_lib_ualarm_proto],[
- AC_EGREP_HEADER([ualarm],[unistd.h],
- [
- ace_cv_lib_ualarm_proto=yes
- ],
- [
- ace_cv_lib_ualarm_proto=no
- ])
-],,[AC_DEFINE([ACE_LACKS_UALARM_PROTOTYPE])])
-
-dnl Check for getrusage prototype in sys/resource.h
-ACE_CACHE_CHECK([for getrusage() in sys/resource.h],
- [ace_cv_lib_has_getrusage_proto],[
- AC_EGREP_HEADER([getrusage],[sys/resource.h],
- [
- ace_cv_lib_has_getrusage_proto=yes
- ],
- [
- ace_cv_lib_has_getrusage_proto=no
- ])
-],[AC_DEFINE([ACE_HAS_GETRUSAGE_PROTO])],)
-
-dnl Check for {get,set}rlimit prototypes in sys/resource.h
-ACE_CACHE_CHECK([for getrlimit() and setrlimit() in sys/resource.h],
- [ace_cv_lib_has_getsetrlimit_proto],[
- AC_EGREP_HEADER([getrlimit],[sys/resource.h],
- [
- AC_EGREP_HEADER([getrlimit],[sys/resource.h],
- [
- ace_cv_lib_has_getsetrlimit_proto=yes
- ],
- [
- ace_cv_lib_has_getsetrlimit_proto=no
- ])
- ],
- [
- ace_cv_lib_has_getsetrlimit_proto=no
- ])
-],,[AC_DEFINE([ACE_LACKS_RLIMIT_PROTOTYPE])])
-
-dnl Check for platforms that don't declare dl* functions
-dnl as extern "C" in dlfcn.h.
-dnl TODO: This check looks feeble to me...
-dnl NOTE: Linux header files ARE protected with extern "C" by the
-dnl __BEGIN_DECLS macro, so don't be surprised!
-ACE_CACHE_CHECK([if dlfcn.h is protected by extern \"C\"],
- [ace_cv_lib_dlfcn_with_extern_c],[
- AC_EGREP_HEADER([extern \"C\"],[dlfcn.h],
- [
- ace_cv_lib_dlfcn_with_extern_c=yes
- ],
- [
- ace_cv_lib_dlfcn_with_extern_c=no
- ])
-],,[AC_DEFINE([ACE_HAS_DLFCN_H_BROKEN_EXTERN_C])])
-
-
-
-dnl SECTION 6: Checks for typedefs
-
-
-dnl dnl Standard typedef checks (All of them may not be needed)
-dnl AC_TYPE_UID_T
-dnl AC_TYPE_MODE_T
-dnl AC_TYPE_OFF_T
-dnl AC_TYPE_PID_T
-dnl AC_TYPE_SIZE_T
-
-dnl AC_CHECK_TYPE([off64_t],[long long])
-
-dnl Specific typedef checks
-dnl TODO: Check whether these typedefs can be defined somewhere else.
-ACE_CHECK_TYPE([idtype_t],[signal.h],[AC_DEFINE([ACE_HAS_IDTYPE_T])],)
-ACE_CHECK_TYPE([sem_t],[semaphore.h],,)
-ACE_CHECK_TYPE([key_t],[sys/types.h],,[AC_DEFINE([ACE_LACKS_KEY_T])])
-ACE_CHECK_TYPE([ssize_t],[sys/types.h],[AC_DEFINE([ACE_HAS_SSIZE_T])],)
-ACE_CHECK_TYPE([u_longlong_t],[sys/types.h],,[AC_DEFINE([ACE_LACKS_U_LONGLONG_T])])
-ACE_CHECK_TYPE([pri_t],[sys/types.h],,[AC_DEFINE([ACE_LACKS_PRI_T])])
-ACE_CHECK_TYPE([ucontext_t],[ucontext.h],
- [
- AC_DEFINE([ACE_HAS_UCONTEXT_T])
- ],
- [
- dnl Some platforms define ucontext_t in <sys/ucontext.h>, but ACE
- dnl doesn't explicitly include that header. However, it is very likely
- dnl that <signal.h> does, either directly or indirectly.
- ACE_CHECK_TYPE([ucontext_t],[signal.h],[AC_DEFINE([ACE_HAS_UCONTEXT_T])])
- ])
-ACE_CHECK_TYPE([wchar_t],[wchar.h],,
- [
- ACE_CHECK_TYPE([wchar_t],[sys/types.h],,[AC_DEFINE([ACE_LACKS_WCHAR_T])])
- ])
-
-ACE_CHECK_TYPE([socklen_t],[sys/socket.h],[AC_DEFINE([ACE_HAS_SOCKLEN_T])],
- [
- dnl The compiler in linux just issues a warning, and the test
- dnl passes!!!
-
- dnl FIXED by adding "-Werror" to compiler flags when using GNU C++
- dnl -Ossama
- ACE_CONVERT_WARNINGS_TO_ERRORS(
- [
- dnl Check if socket size is denoted by size_t
- ACE_CACHE_CHECK([if socket size is denoted by size_t],
- [ace_cv_lib_posix_socket_len_size_t],[
- AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
-#ifndef ACE_LACKS_SYS_TYPES_H
-# include <sys/types.h>
-#endif
-#include <sys/socket.h>
- ]],[[
- int s = 0;
- struct sockaddr* addr = 0;
- int* addrlen = 0;
- accept(s, addr, addrlen);
- ]])],[
- ace_cv_lib_posix_socket_len_size_t=no
- ],[
- dnl Now see if it really does take a size_t socket size
- AC_COMPILE_IFELSE([AC_LANG_PROGRAM(
- [[
-#ifndef ACE_LACKS_SYS_TYPES_H
-# include <sys/types.h>
-#endif
-#include <sys/socket.h>
- ]],
- [[
- int s = 0;
- struct sockaddr* addr = 0;
- size_t* addrlen = 0;
- accept(s, addr, addrlen);
- ]])],
- [
- ace_cv_lib_posix_socket_len_size_t=yes
- ],
- [
- ace_cv_lib_posix_socket_len_size_t=no
- ])
- ])
- ],[AC_DEFINE([ACE_HAS_SIZET_SOCKET_LEN])],)
- ])
- ])
-
-dnl Check for sig_atomic_t
-ACE_CACHE_CHECK([for sig_atomic_t],
- [ace_cv_lib_posix_defines_sig_atomic_t],[
- AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
-#ifndef ACE_LACKS_SYS_TYPES_H
-# include <sys/types.h>
-#endif
-#include <signal.h>
- ]],[[
- sig_atomic_t sat;
- ]])],[
- ace_cv_lib_posix_defines_sig_atomic_t=yes
- ],[
- ace_cv_lib_posix_defines_sig_atomic_t=no
- ])
-],[AC_DEFINE([ACE_HAS_SIG_ATOMIC_T])],)
-
-
-
-dnl SECTION 7: checks for structures
-
-
-dnl TODO: Check whether these structures can be defined somewhere else.
-ACE_CHECK_STRUCT([dirent],[dirent.h],,[AC_DEFINE([ACE_LACKS_STRUCT_DIR])])
-ACE_CHECK_STRUCT([flock],[fcntl.h],,[AC_DEFINE([ACE_LACKS_FILELOCKS])])
-ACE_CHECK_STRUCT([rwlock_t],[synch.h],,[AC_DEFINE([ACE_LACKS_RWLOCK_T])])
-ACE_CHECK_STRUCT([strbuf],[stropts.h],[AC_DEFINE([ACE_HAS_STRBUF_T])],)
-ACE_CHECK_STRUCT([msgbuf],[sys/msg.h],,[AC_DEFINE([ACE_LACKS_MSGBUF_T])])
-case "$host" in
-*irix*)
- dnl IRIX prusage fields don't match what ACE currently supports.
- ;;
-*)
- ACE_CHECK_STRUCT([prusage_t],[sys/procfs.h],[AC_DEFINE([ACE_HAS_PRUSAGE_T])],)
- ;;
-esac
-ACE_CHECK_STRUCT([strrecvfd],[stropts.h],,[AC_DEFINE([ACE_LACKS_STRRECVFD])])
-ACE_CHECK_STRUCT([sigaction],[signal.h],,[AC_DEFINE([ACE_LACKS_SIGACTION])])
-ACE_CHECK_STRUCT([sigset_t],[signal.h],,[AC_DEFINE([ACE_LACKS_SIGSET])])
-ACE_CHECK_STRUCT([utsname],[sys/utsname.h],,[AC_DEFINE([ACE_LACKS_UTSNAME_T])])
-
-ACE_CACHE_CHECK([for struct sembuf],[ace_cv_struct_sembuf],
- [
- dnl Some platforms may need to include some headers before <sys/sem.h>.
- AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
-#ifndef ACE_LACKS_SYS_TYPES_H
-# include <sys/types.h>
-#endif
-#include <sys/ipc.h>
-#include <sys/sem.h>
- ]],[[
- struct sembuf ace_sembuf;
- ]])],[
- ace_cv_struct_sembuf=yes
- ],[
-dnl Some compilers don't like the "struct" but we need the struct for
-dnl some platforms to resolve ambiguities between functions and
-dnl structures with with the same name. So, we try the same test but
-dnl without "struct" if the above test with "struct" fails. If both
-dnl tests fail, then we can be reasonably sure that we don't have the
-dnl structure we are testing for.
- AC_COMPILE_IFELSE([AC_LANG_PROGRAM(
- [[
-#ifndef ACE_LACKS_SYS_TYPES_H
-# include <sys/types.h>
-#endif
-#include <sys/ipc.h>
-#include <sys/sem.h>
- ]],
- [[
- sembuf ace_sembuf;
- ]])],
- [
- ace_cv_struct_sembuf=yes
- ],
- [
- ace_cv_struct_sembuf=no
- ])
- ])
- ],,[AC_DEFINE([ACE_LACKS_SEMBUF_T])])
-
-dnl Thanks to Konstantinos Margaritis <kmargar@cc.uoa.gr> for pointing out
-dnl that struct siginfo_t may also be defined in signal.h
-ACE_CACHE_CHECK([for struct siginfo_t],[ace_cv_struct_siginfo_t],
- [
- dnl Since we are checking for siginfo_t in more than one header
- dnl we can't use the ACE_CHECK_STRUCT macro so we have to do things
- dnl manually.
- ACE_TRY_COMPILE_STRUCT([siginfo_t],[siginfo.h],
- [
- ace_cv_struct_siginfo_t=yes
- ],
- [
- ACE_TRY_COMPILE_STRUCT([siginfo_t],[signal.h],
- [
- ace_cv_struct_siginfo_t=yes
- ],
- [
- ace_cv_struct_siginfo_t=no
- ])
- ])
- ],
- [
- AC_DEFINE([ACE_HAS_SIGINFO_T])
- ],)
-
-dnl Some platforms need to include sys/types.h before sys/socket.h
-dnl in order for struct msghdr to work.
-dnl Check for msghdr structure.
-ACE_CACHE_CHECK([for struct msghdr],[ace_cv_struct_msghdr],
- [
- AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
-#ifndef ACE_LACKS_SYS_TYPES_H
-# include <sys/types.h>
-#endif
-#include <sys/socket.h>
- ]],[[
- struct msghdr ace_msghdr;
- ]])],[
- ace_cv_struct_msghdr=yes
- ],[
- ace_cv_struct_msghdr=no
- ])
- ], [AC_DEFINE([ACE_HAS_MSG])],)
-
-ACE_CACHE_CHECK([for condition variable support],[ace_cv_struct_cond_t],
- [
- AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
-#include <pthread.h>
- ]],[[
- pthread_cond_t ace_pthread_cond_t;
- ]])],[
- ace_cv_struct_cond_t=yes
- ],[
- AC_COMPILE_IFELSE([AC_LANG_PROGRAM(
- [[
-#include <synch.h>
- ]],
- [[
- cond_t ace_cond_t;
- ]])],
- [
- ace_cv_struct_cond_t=yes
- ],
- [
- ace_cv_struct_cond_t=no
- ])
- ])
- ],,[AC_DEFINE([ACE_LACKS_COND_T])])
-
-dnl Check for struct timespec
-ACE_CACHE_CHECK([for POSIX timer structure],
- [ace_cv_lib_posix_timer_struct],
- [
- AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
-#include <time.h>
-
-#if defined(ACE_LACKS_SYSTIME_H)
-# include <sys/time.h>
-#endif
- ]],[[
- timespec sr;
- ]])],[
- ace_cv_lib_posix_timer_struct=yes
- ],[
- dnl Check if platform uses struct timestruc_t for POSIX timers
- dnl instead of struct timespec.
- AC_COMPILE_IFELSE([AC_LANG_PROGRAM(
- [[
-#include <time.h>
-
-#if defined(ACE_LACKS_SYSTIME_H)
-# include <sys/time.h>
-#endif
- ]],
- [[
- timestruc_t sr;
- ]])],
- [
- ace_cv_lib_posix_timer_struct=yes
- dnl Check for struct timespec in <sys/timers.h>
- ACE_CACHE_CHECK([for struct timespec in sys/timers.h],
- [ace_cv_lib_posix_struct_timespec_broken],[
- AC_COMPILE_IFELSE([AC_LANG_PROGRAM(
- [[
-#include <sys/timers.h>
- ]],
- [[
- timespec sr;
- ]])],
- [
- ace_cv_lib_posix_struct_timespec_broken=yes
- ],
- [
- ace_cv_lib_posix_struct_timespec_broken=no
- ])
- ],,)
- ],
- [
- ace_cv_lib_posix_timer_struct=no
- ])
- ])
- ],
- [
- AC_DEFINE([ACE_HAS_POSIX_TIME])
- if test "$ace_cv_lib_posix_struct_timespec_broken" = yes; then
- AC_DEFINE([ACE_HAS_BROKEN_POSIX_TIME])
- fi
- ],
- [
- dnl Check for struct timespec in <sys/timers.h>
- ACE_CACHE_CHECK([for struct timespec in sys/timers.h],
- [ace_cv_lib_posix_struct_timespec_broken],[
- AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
-#include <sys/timers.h>
- ]],[[
- timespec sr;
- ]])],[
- ace_cv_lib_posix_struct_timespec_broken=yes
- ],[
- ace_cv_lib_posix_struct_timespec_broken=no
- ])
- ],[AC_DEFINE([ACE_HAS_BROKEN_POSIX_TIME])],)
- ])
-
-dnl Check for typedef timespec_t
-dnl TODO: Check whether this typedef can be defined somewhere else.
-ACE_CACHE_CHECK([for timespec_t],
- [ace_cv_lib_posix_timespec_t],[
- AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
-#include <time.h>
-
-#if defined(ACE_LACKS_SYSTIME_H)
-# include <sys/time.h>
-#endif
- ]],[[
- timespec_t tt;
- ]])],[
- ace_cv_lib_posix_timespec_t=yes
- ],[
- ace_cv_lib_posix_timespec_t=no
- ])
-],,[AC_DEFINE([ACE_LACKS_TIMESPEC_T])])
-
-dnl Check for union semun
-ACE_CACHE_CHECK([for union semun],
- [ace_cv_lib_posix_defines_union_semun],[
- AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
-#ifndef ACE_LACKS_SYS_TYPES_H
-# include <sys/types.h>
-#endif
-#include <sys/sem.h>
- ]],[[
-/* We could also check if the macro _SEM_SEMUN_UNDEFINED is defined.
- No big deal. */
-
-semun us;
- ]])],[
- ace_cv_lib_posix_defines_union_semun=yes
- ],[
- ace_cv_lib_posix_defines_union_semun=no
- ])
-],[AC_DEFINE([ACE_HAS_SEMUN])],)
-
-
-
-dnl SECTION 8: checks for variables
-
-
-dnl Check for broken struct timespec members
-ACE_CACHE_CHECK([for broken struct timespec members],
- [ace_cv_lib_broken_timespec],
- [
- AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
-#include <time.h>
-
-#if defined(ACE_LACKS_SYSTIME_H)
-# include <sys/time.h>
-#endif
- ]],[[
- timespec sr;
- sr.ts_sec = 0;
- sr.ts_nsec = 0;
- ]])],[
- ace_cv_lib_broken_timespec=yes
- ],[
- ace_cv_lib_broken_timespec=no
- ])
- ],[AC_DEFINE([ACE_HAS_BROKEN_TIMESPEC_MEMBERS])],)
-
-dnl Check for more than two fields in struct rusage
-ACE_CACHE_CHECK([for limited struct rusage],
- [ace_cv_lib_limited_rusage],[
- AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
-#include <sys/resource.h>
- ]],[[
- rusage ace_rusage;
- /*
- We just pick three (i.e. > 2) of the fields that
- ACE uses to see if we have a struct rusage that
- has more than two fields.
- */
- ace_rusage.ru_ixrss = 0;
- ace_rusage.ru_idrss = 0;
- ace_rusage.ru_isrss = 0;
- ]])],[
- ace_cv_lib_limited_rusage=no
- ],[
- ace_cv_lib_limited_rusage=yes
- ])
-],[AC_DEFINE([ACE_HAS_LIMITED_RUSAGE_T])],)
-
-if test "$ace_cv_struct_siginfo_t" = yes; then
- dnl Check for si_addr member in struct siginfo_t
- ACE_CACHE_CHECK([for si_addr member in struct siginfo_t],
- [ace_cv_lib_posix_si_addr],[
- AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
-#ifndef ACE_LACKS_SIGINFO_H
-# include <siginfo.h>
-#endif
-#include <signal.h>
- ]],[[
- siginfo_t acesig;
- acesig.si_addr = 0;
- ]])],[
- ace_cv_lib_posix_si_addr=yes
- ],[
- ace_cv_lib_posix_si_addr=no
- ])
- ],,[AC_DEFINE([ACE_LACKS_SI_ADDR])])
-fi dnl test "$ace_cv_struct_siginfo_t" = yes
-
-dnl Check for sin_len member in struct sockaddr_in
-ACE_CACHE_CHECK([for sin_len member in struct sockaddr_in],
- [ace_cv_lib_has_sin_len],[
- AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
-#ifndef ACE_LACKS_SYS_TYPES_H
-# include <sys/types.h>
-#endif
-#include <netinet/in.h>
- ]],[[
- sockaddr_in ace_sin;
- ace_sin.sin_len = sizeof(ace_sin);
- ]])],[
- ace_cv_lib_has_sin_len=yes
- ],[
- ace_cv_lib_has_sin_len=no
- ])
-],[AC_DEFINE([ACE_HAS_SIN_LEN])],)
-
-dnl Check for sys_siglist
-dnl TODO: Check whether this variable can be defined somewhere else.
-dnl [OSSAMA: Should we use autoconf's AC_CHECK_DECLS([sys_siglist])
-dnl test instead?]
-ACE_CACHE_CHECK([for sys_siglist],
- [ace_cv_lib_posix_sys_siglist],[
- AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
-#ifndef ACE_LACKS_UNISTD_H
-# include <unistd.h>
-#endif
-#include <signal.h>
-#if !defined (_sys_siglist)
-# define _sys_siglist sys_siglist
-#endif
- ]],[[
- void* vp = (void*) &_sys_siglist;
- ]])],[
- ace_cv_lib_posix_sys_siglist=yes
- ],[
- ace_cv_lib_posix_sys_siglist=no
- ])
-],[AC_DEFINE([ACE_HAS_SYS_SIGLIST])],)
-
-dnl Check for sys_errlist
-dnl TODO: Check whether this variable can be defined somewhere else.
-ACE_CACHE_CHECK([for sys_errlist],
- [ace_cv_lib_posix_sys_errlist],[
- AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
-#include <stdio.h>
-#include <errno.h>
-#if !defined (_sys_errlist)
-# define _sys_errlist sys_errlist
-#endif
- ]],[[
- void* vp = (void*) &_sys_errlist;
- ]])],[
- ace_cv_lib_posix_sys_errlist=yes
- ],[
- dnl Check if sys_errlist is a global variable in a library
- AC_LINK_IFELSE([AC_LANG_PROGRAM(
- [[
-#include <stdio.h>
-#include <errno.h>
-
-#if !defined (_sys_errlist)
-# define _sys_errlist sys_errlist
-#endif
-
-extern const char * const _sys_errlist[];
- ]],
- [[
- void* vp = (void*) &_sys_errlist;
- ]])],
- [
- ace_cv_lib_posix_sys_errlist=yes
- ],
- [
- ace_cv_lib_posix_sys_errlist=no
- ])
- ])
- ],[AC_DEFINE([ACE_HAS_SYS_ERRLIST])],)
-
-dnl Check for sys_nerr
-dnl TODO: Check whether this variable can be defined somewhere else.
-ACE_CACHE_CHECK([for sys_nerr],
- [ace_cv_lib_posix_sys_nerr],[
- AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
-#include <stdio.h>
-#include <errno.h>
-
-#if !defined (_sys_nerr)
-# define _sys_nerr sys_nerr
-#endif
- ]],[[
- void* vp = (void*) &_sys_nerr;
- ]])],[
- ace_cv_lib_posix_sys_nerr=yes
- ],[
- dnl Check if sys_nerr is a global variable in a library
- AC_LINK_IFELSE([AC_LANG_PROGRAM(
- [[
-#include <stdio.h>
-#include <errno.h>
-
-#if !defined (_sys_nerr)
-# define _sys_nerr sys_nerr
-#endif
-
-extern int _sys_nerr;
- ]],
- [[
- void* vp = (void*) &_sys_nerr;
- ]])],
- [
- ace_cv_lib_posix_sys_nerr=yes
- ],
- [
- ace_cv_lib_posix_sys_nerr=no
- ])
- ])
- ],
- [
- dnl Do nothing
- ],
- [
- AC_DEFINE([ACE_LACKS_SYS_NERR])
- ])
-
-dnl Save the cache for debugging purposes
-AC_CACHE_SAVE
-
-
-dnl SECTION 9: checks for compiler characteristics
-
-
-dnl Check if compiler accepts "#pragma once" directive
-ACE_CONVERT_WARNINGS_TO_ERRORS([
- ACE_CACHE_CHECK([if compiler accepts \"pragma once\" directive],
- [ace_cv_has_pragma_once],
- [
- AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
-#pragma once
- ]],[[
- int a = 0; /* Put this here so we don't have an empty main(). */
- ]])],[
- ace_cv_has_pragma_once=yes
- ],[
- ace_cv_has_pragma_once=no
- ])
- ],,[AC_DEFINE([ACE_LACKS_PRAGMA_ONCE])])
-]) dnl ACE_CONVERT_WARNINGS_TO_ERRORS
-
-dnl If we are using GNU C++, see if it accepts the -pipe compiler flag.
-dnl "-pipe" on cygwin32 doesn't seem to work, for example.
-if test "$GXX" = yes; then
- PREPIPECXXFLAGS="$CXXFLAGS"
- CXXFLAGS="$CXXFLAGS -pipe"
- PREPIPECFLAGS="$CFLAGS"
- CFLAGS="$CFLAGS -pipe"
- ACE_CACHE_CHECK([if \"-pipe\" compiler flag is supported],
- [ace_cv_feature_gxx_has_pipe],
- [
- AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[]],[[int a = 0;]])],[
- ace_cv_feature_gxx_has_pipe=yes
- ],[
- ace_cv_feature_gxx_has_pipe=no
- ])
- ],
- [
- dnl We don't need to add "-pipe" here since it was already added
- dnl for the test.
- dnl CXXFLAGS="$PREPIPECXXFLAGS -pipe"
- dnl CFLAGS="$PREPIPECFLAGS -pipe"
- ],
- [
- CXXFLAGS="$PREPIPECXXFLAGS"
- CFLAGS="$PREPIPECFLAGS"
- ])
-fi
-
-dnl Check to see if we are running on a big endian platform
-dnl "ace/Basic_Types.h" should perhaps be modified to take advantage
-dnl of the results of this test.
-dnl Do not run this test if we are using a cross-compiler.
-if test "$cross_compiling" != yes; then
- AC_C_BIGENDIAN
-fi
-
-dnl Check type sizes
-dnl If we get a size of zero, then the type is unknown to the compiler.
-
-dnl We don't need to check for sizeof(char) right now. Also conflicts with
-dnl ACE definition in Basic_Types.h, so we leave the test out.
-if test "$cross_compiling" != yes; then
- dnl AC_CHECK_SIZEOF([char],[1])
- dnl if test "$ac_cv_sizeof_char" != "0"; then
- dnl AC_DEFINE([ACE_SIZEOF_CHAR],[SIZEOF_CHAR])
- dnl fi
- AC_CHECK_SIZEOF([short])
- if test "$ac_cv_sizeof_short" != 0; then
- AC_DEFINE_UNQUOTED([ACE_SIZEOF_SHORT],[$ac_cv_sizeof_short])
- fi
- AC_CHECK_SIZEOF([int])
- if test $ac_cv_sizeof_int != 0; then
- AC_DEFINE_UNQUOTED([ACE_SIZEOF_INT],[$ac_cv_sizeof_int])
- fi
- AC_CHECK_SIZEOF([long])
- if test $ac_cv_sizeof_long != 0; then
- AC_DEFINE_UNQUOTED([ACE_SIZEOF_LONG],[$ac_cv_sizeof_long])
- fi
- AC_CHECK_SIZEOF([long long])
- if test $ac_cv_sizeof_long_long != 0; then
- AC_DEFINE_UNQUOTED([ACE_SIZEOF_LONG_LONG],[$ac_cv_sizeof_long_long])
- else
- AC_DEFINE([ACE_LACKS_LONGLONG_T])
- fi
- AC_CHECK_SIZEOF([void *])
- if test $ac_cv_sizeof_void_p != 0; then
- AC_DEFINE_UNQUOTED([ACE_SIZEOF_VOID_P],[$ac_cv_sizeof_void_p])
- fi
- AC_CHECK_SIZEOF([float])
- if test $ac_cv_sizeof_float != 0; then
- AC_DEFINE_UNQUOTED([ACE_SIZEOF_FLOAT],[$ac_cv_sizeof_float])
- else
- AC_DEFINE([ACE_LACKS_FLOATING_POINT])
- fi
- AC_CHECK_SIZEOF([double])
- if test $ac_cv_sizeof_double != 0; then
- AC_DEFINE_UNQUOTED([ACE_SIZEOF_DOUBLE],[$ac_cv_sizeof_double])
- else
- AC_DEFINE([ACE_LACKS_FLOATING_POINT])
- fi
- AC_CHECK_SIZEOF([long double])
- if test $ac_cv_sizeof_long_double != 0; then
- AC_DEFINE_UNQUOTED([ACE_SIZEOF_LONG_DOUBLE],[$ac_cv_sizeof_long_double])
- fi
-
- dnl Set the 64 bit unsigned int typedef
- ACE_UINT64=""
- dnl if test "$ace_cv_type_u_longlong_t" = yes; then
- dnl This doesn't work: AC_CHECK_SIZEOF([u_longlong_t],[8])
- dnl if test $ac_cv_sizeof_u_longlong_t = 8; then
- dnl ACE_UINT64="u_longlong_t"
- dnl ace_u_long_long_typedef_set=yes
- dnl fi
- dnl elif test $ac_cv_sizeof_long = 8; then
- if test $ac_cv_sizeof_long = 8; then
- ACE_UINT64="unsigned long"
- ace_u_long_long_typedef_set=yes
- elif test $ac_cv_sizeof_long_long = 8; then
- ACE_UINT64="unsigned long long"
- ace_u_long_long_typedef_set=yes
- else
- ace_u_long_long_typedef_set=no
- fi
-
- dnl Check for broken "signed char"
- dnl If AC_CHECK_SIZEOF(signed char) returns zero then "signed char"
- dnl is broken.
- AC_CHECK_SIZEOF([signed char],[1])
- if test $ac_cv_sizeof_signed_char = 0; then
- AC_DEFINE([ACE_LACKS_SIGNED_CHAR])
- fi
-else
- ace_u_long_long_typedef_set=no
-fi dnl test "$cross_compiling" != yes
-
-dnl Other checks
-
-
-dnl Check for istream operator>> for char, unsigned char and signed char
-ACE_CACHE_CHECK([for istream operator>> for char types],
- [ace_cv_feature_char_right_shifts],
- [
- AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
-#include <iostream.h>
- ]],[[
-unsigned char a = 0;
-cin >> a;
-
-#ifndef ACE_LACKS_SIGNED_CHAR
-signed char b = 0;
-cin >> b;
-#endif
- ]])],[
- ace_cv_feature_char_right_shifts=yes
- ],[
- ace_cv_feature_char_right_shifts=no
- ])
- ],,[AC_DEFINE([ACE_LACKS_CHAR_RIGHT_SHIFTS])])
-
-
-dnl Check for istream operator>> for char *, unsigned char * and signed char *
-ACE_CACHE_CHECK([for istream operator>> for char * types],
- [ace_cv_feature_char_ptr_right_shifts],
- [
- AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
-#include <iostream.h>
- ]],[[
-unsigned char * a = 0;
-cin >> a;
-
-#ifndef ACE_LACKS_SIGNED_CHAR
-signed char * b = 0;
-cin >> b;
-#endif
- ]])],[
- ace_cv_feature_char_ptr_right_shifts=yes
- ],[
- ace_cv_feature_char_ptr_right_shifts=no
- ])
- ],,[AC_DEFINE([ACE_LACKS_CHAR_STAR_RIGHT_SHIFTS])])
-
-dnl Check if we have working C++ explicit template destructors
-dnl Thanks to Nanbor Wang <nanbor@cs.wustl.edu> for providing this test.
-ACE_CACHE_CHECK([for working C++ explicit template destructors],
- [ace_cv_feature_working_explicit_des],
- [
- AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
-
-class dyn
-{
- public:
- dyn () { }
- ~dyn () { }
-};
-
-template <class T>
-class Base
-{
- public:
- Base () { }
- virtual void f (void) { }
- ~Base () { }
-};
-
-template <class T>
-class Derived
-{
- public:
- Derived ()
- {
- x_ = new Base<T> ();
- }
- virtual void f (void) { }
- ~Derived () { x_->~Base (); }
- private:
- Base<T> *x_;
- T t_;
-};
- ]],[[
- Derived<dyn> *x = new Derived<dyn> ();
-
- x->f ();
-
- delete x;
- return 0;
- ]])],[
- ace_cv_feature_working_explicit_des=yes
- ],[
- ace_cv_feature_working_explicit_des=no
- ])
- ],[AC_DEFINE([ACE_HAS_WORKING_EXPLICIT_TEMPLATE_DESTRUCTOR])],)
-
-dnl Check for working C++ conversions
-ACE_CACHE_CHECK([for working C++ conversions],
- [ace_cv_feature_cxx_working_conversions],
- [
- AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
- template <class T>
- class Foo
- {
- public:
- Foo (void) { ace_ptr = 0; }
- operator T * (void) { return ace_ptr; }
-
- private:
- T * ace_ptr;
- };
- ]],[[
- Foo<char> Bar;
-
- Foo<char> * Bar_ptr = &Bar;
-
- char * p = Bar_ptr->operator char * ();
- ]])],[
- ace_cv_feature_cxx_working_conversions=yes
- ],[
- ace_cv_feature_cxx_working_conversions=no
- ])
- ],,[AC_DEFINE([ACE_HAS_BROKEN_CONVERSIONS])])
-
-dnl Check for C++ namespace support
-ACE_CACHE_CHECK([for C++ namespace support],
- [ace_cv_feature_cxx_namespaces],
- [
- AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
- namespace ACE
- {
- int x;
- }
- ]],[[
- ACE::x = 0;
- ]])],[
- ace_cv_feature_cxx_namespaces=yes
- ],[
- ace_cv_feature_cxx_namespaces=no
- ])
- ],,[AC_DEFINE([ACE_HAS_BROKEN_NAMESPACES])])
-
-dnl Check for C++ standard namespace
-ACE_CACHE_CHECK([for C++ standard namespace],
- [ace_cv_feature_posix_uses_std_namespace],[
- AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
-#include <iostream.h>
- ]],[[
- std::cout << "FOO" << std::endl;
- ]])],[
- ace_cv_feature_posix_uses_std_namespace=yes
- ],[
- ace_cv_feature_posix_uses_std_namespace=no
- ])
- ],[AC_DEFINE([ACE_USES_STD_NAMESPACE_FOR_STDCPP_LIB])],)
-
-dnl Check for C++ "using" keyword support
-ACE_CACHE_CHECK([for C++ \"using\" keyword support],
- [ace_cv_feature_cxx_using_keyword],
- [
- AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
-#if defined (ACE_USES_STD_NAMESPACE_FOR_STDCPP_LIB)
-# include <iostream.h>
-#elif !defined (ACE_HAS_BROKEN_NAMESPACES)
- namespace ACE
- {
- int x;
- }
-#endif
- ]],[[
-#if defined (ACE_USES_STD_NAMESPACE_FOR_STDCPP_LIB)
- using namespace std;
-
- cout << "FOO" << endl;
-#elif !defined (ACE_HAS_BROKEN_NAMESPACES)
- using namespace ACE;
-
- x++;
-#else
-# error Namespaces are not supported on this platform.
-Throw in some extraneous text since some compilers are stupid
-enough to interpret "#error" as a warning. Go figure.
-This extraneous text should force an error.
-#endif
- ]])],[
- ace_cv_feature_cxx_using_keyword=yes
- ],[
- ace_cv_feature_cxx_using_keyword=no
- ])
- ],[AC_DEFINE([ACE_HAS_USING_KEYWORD])],)
-
-dnl Check for new style C++ include file support
-ACE_CACHE_CHECK([for new style C++ include file support],
- [ace_cv_lib_posix_standard_includes],[
- ace_cv_lib_posix_standard_includes=no
- if test "$ace_cv_feature_posix_uses_std_namespace" = yes; then
- AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
-#include <string>
- ]],[[
-#ifdef ACE_USES_STD_NAMESPACE_FOR_STDCPP_LIB
- std::string str;
-#else
- string str;
-#endif /* ACE_USES_STD_NAMESPACE_FOR_STDCPP_LIB */
- ]])],[ace_cv_lib_posix_standard_includes=yes],[])
- fi
- ],
- [
- AC_DEFINE([ACE_HAS_STDCPP_STL_INCLUDES])
- AC_DEFINE([ACE_HAS_STRING_CLASS])
- ],)
-
-AC_CHECK_HEADER([map],
-[
- AC_CHECK_HEADER([net/if.h],
- [
- ACE_CACHE_CHECK([if STL map class conflicts with <net/if.h> map struct],
- [ace_cv_header_stl_map_conflict],
- [
- AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
-#ifndef ACE_LACKS_SYS_TYPES_H
-# include <sys/types.h>
-#endif
-#include <map>
-#include <net/if.h>
- ]],[[
-#ifdef ACE_USES_STD_NAMESPACE_FOR_STDCPP_LIB
- std::map<char, char> ace_map;
-#else
- map<char, char> ace_map;
-#endif /* ACE_USES_STD_NAMESPACE_FOR_STDCPP_LIB */
- ]])],[
- ace_cv_header_stl_map_conflict=no
- ],[
- ace_cv_header_stl_map_conflict=yes
- ])
- ],[AC_DEFINE([ACE_HAS_STL_MAP_CONFLICT])],)
- ],)
-],)
-
-AC_CHECK_HEADER([queue],
-[
- AC_CHECK_HEADER([netinet/in.h],
- [
- ACE_CACHE_CHECK([if STL queue class conflicts with <netinet/in.h> queue struct],
- [ace_cv_header_stl_queue_conflict],
- [
- AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
-#ifndef ACE_LACKS_SYS_TYPES_H
-# include <sys/types.h>
-#endif
-#include <queue>
-#include <netinet/in.h>
- ]],[[
-#ifdef ACE_USES_STD_NAMESPACE_FOR_STDCPP_LIB
- std::queue<char> ace_queue;
-#else
- queue<char> ace_queue;
-#endif /* ACE_USES_STD_NAMESPACE_FOR_STDCPP_LIB */
- ]])],[
- ace_cv_header_stl_queue_conflict=no
- ],[
- ace_cv_header_stl_queue_conflict=yes
- ])
- ],[AC_DEFINE([ACE_HAS_STL_QUEUE_CONFLICT])],)
- ],)
-],)
-
-dnl Check whether platform supports the standard C++ library
-dnl TODO: For now, check whether headers <new>, <iomanip>
-dnl and <memory> exist; is there a better way?
-if test "$ac_cv_header_new" = yes &&
- test "$ac_cv_header_iomanip" = yes &&
- test "$ac_cv_header_memory" = yes; then
-
- dnl Check for auto_ptr class
- ACE_CACHE_CHECK([for C++ auto_ptr class],
- [ace_cv_lib_auto_ptr_class],
- [
- AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
-#include <memory>
- ]],[[
- int *foo = new int;
-
-#ifdef ACE_USES_STD_NAMESPACE_FOR_STDCPP_LIB
- std::auto_ptr<int> safe (foo);
-#else
- auto_ptr<int> safe (foo);
-#endif
- foo = safe.release ();
-
- delete foo;
- ]])],[
- ace_cv_lib_auto_ptr_class=yes
- ],[
- ace_cv_lib_auto_ptr_class=no
- ])
- ],
- [
- AC_DEFINE([ACE_HAS_STANDARD_CPP_LIBRARY])
- ],
- [
- AC_DEFINE([ACE_LACKS_AUTO_PTR])
- ])
-fi
-
-if test $ace_cv_lib_auto_ptr_class=yes; then
- dnl Check for auto_ptr reset method
- ACE_CACHE_CHECK([for C++ auto_ptr reset method],
- [ace_cv_lib_auto_ptr_reset],
- [
- AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
-#include <memory>
- ]],[[
- int *foo = new int;
-
-#ifdef ACE_USES_STD_NAMESPACE_FOR_STDCPP_LIB
- std::auto_ptr<int> safe (foo);
-#else
- auto_ptr<Foo> safe (foo);
-#endif
- int *bar = new int;
-
- safe.reset (bar);
-
- foo = safe.release ();
- ]])],[
- ace_cv_lib_auto_ptr_reset=yes
- ],[
- ace_cv_lib_auto_ptr_reset=no
- ])
- ],,[AC_DEFINE([ACE_AUTO_PTR_LACKS_RESET])])
-fi dnl test $ace_cv_lib_auto_ptr_class=yes
-
-dnl Check for ANSI C++ cast support
-ACE_CACHE_CHECK([for ANSI C++ cast support],
- [ace_cv_lib_posix_standard_casts],[
- ACE_CONVERT_WARNINGS_TO_ERRORS([
- AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[/* No headers */]],[[
- class B { public: int b_; virtual int b() const = 0; };
- class D : public B { virtual int b() const { return b_; } };
-
- void* vp = 0;
- char* cp = 0;
- float f = 1.0;
- int i = 0;
- int* ip = 0;
- const int* jp = 0;
-
- i = static_cast<int> (f);
- ip = const_cast<int*> (jp);
- cp = reinterpret_cast<char*> (vp);
-
- B* bp = new D;
- D* dp = dynamic_cast<D*> (bp);
- delete bp;
- ]])],[
- ace_cv_lib_posix_standard_casts=yes
- AC_CACHE_VAL([ace_cv_lib_rtti],[ace_cv_lib_rtti=yes])
- ],[
- AC_COMPILE_IFELSE([AC_LANG_PROGRAM(
- [[/* No headers */]],
- [[
- class B { public: int b_; virtual int b() const = 0; };
- class D : public B { virtual int b() const { return b_; } };
-
- void* vp = 0;
- char* cp = 0;
- float f = 1.0;
- int i = 0;
- int* ip = 0;
- const int* jp = 0;
-
- i = static_cast<int> (f);
- ip = const_cast<int*> (jp);
- cp = reinterpret_cast<char*> (vp);
- ]])],
- [
- ace_cv_lib_posix_standard_casts=yes
- AC_CACHE_VAL([ace_cv_lib_rtti],[ace_cv_lib_rtti=no])
- ],
- [
- ace_cv_lib_posix_standard_casts=no
- ])
- ])
- ])
- ],
- [
- AC_DEFINE([ACE_HAS_ANSI_CASTS])
- if test "$ace_cv_lib_rtti" != yes; then
- AC_DEFINE([ACE_LACKS_RTTI])
- fi
- ],)
-
-dnl Check for explicit C++ constructor support
-ACE_CACHE_CHECK([for explicit C++ constructor support],
- [ace_cv_feature_explicit_constructor],
- [
- AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
-class Foo
-{
- public:
- explicit Foo (int i) { this->val_ = i; }
- private:
- int val_;
-};
- ]],[[
-Foo bar = 'a'; // error: no implicit char->Foo conversion
- ]])],[
-dnl The above test *should* fail!
- ace_cv_feature_explicit_constructor=no
- ],[
- AC_COMPILE_IFELSE([AC_LANG_PROGRAM(
- [[
-class Foo
-{
- public:
- explicit Foo (int i) { this->val_ = i; }
- private:
- int val_;
-};
- ]],
- [[
-Foo bar (5);
- ]])],
- [
- ace_cv_feature_explicit_constructor=yes
- ],
- [
- ace_cv_feature_explicit_constructor=no
- ])
- ])
- ],[AC_DEFINE([ACE_HAS_EXPLICIT_KEYWORD])],)
-
-dnl Check for C++ mutable keyword
-ACE_CACHE_CHECK([for C++ mutable keyword],
- [ace_cv_feature_cxx_mutable_keyword],
- [
- AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
-class Foo
-{
- public:
- Foo (void) : val_ (0) {}
-
- mutable int val_;
-};
- ]],[[
-const Foo bar;
-
-bar.val_ = 3; // mutable declaration should allow this to be modified
- ]])],[
- ace_cv_feature_cxx_mutable_keyword=yes
- ],[
- ace_cv_feature_cxx_mutable_keyword=no
- ])
- ],[AC_DEFINE([ACE_HAS_MUTABLE_KEYWORD])],)
-
-dnl Check if platform supports typename keyword
-ACE_CACHE_CHECK([for C++ typename keyword],
- [ace_cv_feature_posix_typename_keyword],[
- AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
- class Bar
- {
- public:
- typedef int Y;
- Bar(int bar) : bar_(bar) {}
- private:
- int bar_;
- };
-
- template <class T>
- class Foo
- {
- public:
- typedef typename T::Y Y;
- Foo(T* foo) : foo_(foo) {}
- void bilbo(typename T::Y y);
- private:
- T* foo_;
- };
-
- template <class T>
- void Foo<T>::bilbo(typename T::Y y)
- {
- }
- ]],[[
- Bar bar(15);
- Foo<Bar> foo(&bar);
- foo.bilbo(10);
- ]])],[
- ace_cv_feature_posix_typename_keyword=yes
- ],[
- ace_cv_feature_posix_typename_keyword=no
- ])
- ],[AC_DEFINE([ACE_HAS_TYPENAME_KEYWORD])],)
-
-dnl Check if platform supports placement new operator
-ACE_CACHE_CHECK([for C++ placement new operator],
- [ace_cv_feature_placement_new],[
- AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
-#if defined (ACE_HAS_NEW_NO_H)
-# include <new>
-#elif defined (ACE_HAS_NEW_H)
-# include <new.h>
-#endif
-
-class foo
-{
-public:
- void *operator new (size_t, void *p) { return p; }
-};
- ]],[[
-int *x = 0;
-foo *f = new (x) foo;
- ]])],[
- ace_cv_feature_placement_new=yes
- ],[
- ace_cv_feature_placement_new=no
- ])
- ],,[AC_DEFINE([ACE_LACKS_PLACEMENT_OPERATOR_NEW])])
-
-dnl Check if platform supports placement delete operator
-ACE_CACHE_CHECK([for C++ placement delete operator],
- [ace_cv_feature_placement_delete],[
- AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
-#if defined (ACE_HAS_NEW_NO_H)
-# include <new>
-#elif defined (ACE_HAS_NEW_H)
-# include <new.h>
-#endif
-
-class foo
-{
-public:
- void *operator new (size_t, void *p) { return p; }
- void operator delete (void *p, void *) {}
-};
- ]],[[
-int *x = 0;
-foo *f = new (x) foo;
-
-// delete f; // Don't call delete for this test!
- ]])],[
- ace_cv_feature_placement_delete=yes
- ],[
- ace_cv_feature_placement_delete=no
- ])
- ],,[AC_DEFINE([ACE_LACKS_PLACEMENT_OPERATOR_DELETE])])
-
-
-dnl Check if const char * can be rvalue in conditional operator
-ACE_CACHE_CHECK([if const char * can be rvalue in conditional operator],
- [ace_cv_feature_conditional_str_cast],
- [
- AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[]],[[
- const char * foo = 0;
- const char * bar = 0;
-
- const char * ace = ((1 < 2) ? foo : bar);
- ]])],[
- ace_cv_feature_conditional_str_cast=yes
- ],[
- ace_cv_feature_conditional_str_cast=no
- ])
- ],,[AC_DEFINE([ACE_HAS_BROKEN_CONDITIONAL_STRING_CASTS])])
-
-dnl Check if templates require source on platform
-dnl FIXME: This test may be broken.
-ACE_CACHE_CHECK([if templates require source],
- [ace_cv_feature_templates_require_source],
- [
- dnl Create the common header file
- cat > ace_test.h <<EOF
-#ifndef FOO_H
-#define FOO_H
-template <class T>
-class Foo
-{
- public:
- Foo (T val);
- private:
- T value_;
-};
-
-template <class T>
-class Bar
-{
- public:
- Bar (Foo<T> *);
- private:
- Foo<T> *foo_ptr;
-};
-#endif /* FOO_H */
-EOF
-
- dnl Create template source test file
- cat > ace_test.$ac_ext <<EOF
-#include "ace_test.h"
-#ifndef FOO_CXX
-#define FOO_CXX
-template <class T>
-Foo<T>::Foo (T val)
- : value_ (val)
-{
- // Nothing else to do.
-}
-
-template <class T>
-Bar<T>::Bar (Foo<T> *val)
- : foo_ptr (val)
-{
- // Nothing else to do.
-}
-#endif /* FOO_CXX */
-EOF
-
- dnl Add the ACE-specific compiler flags to the compiler flags for
- dnl the duration of this test.
- ace_cxx_template_save_CXXFLAGS="$CXXFLAGS"
- ace_cxx_template_save_CPPFLAGS="$CPPFLAGS"
- ace_cxx_template_save_LDFLAGS="$LDFLAGS"
- CXXFLAGS="$ACE_CXXFLAGS $CXXFLAGS"
- CPPFLAGS="$ACE_CPPFLAGS $CPPFLAGS"
- LDFLAGS="$ACE_LDFLAGS $LDFLAGS"
-
- dnl Remove any template repositories.
- rm -rf Templates.DB SunWS_cache ptrepository *.rpo
-
- dnl First try without explicit template instantiation.
- AC_LINK_IFELSE([AC_LANG_PROGRAM([[
-#include "ace_test.h"
- ]],[[
-Foo<int> foo (15);
-Bar<char> bar (0);
- ]])],[
- dnl Template source is not required.
- ace_cv_feature_templates_require_source=no
-
- dnl Template source does not require pragma.
- AC_CACHE_VAL([ace_cv_feature_templates_require_pragma],
- [ace_cv_feature_templates_require_pragma=no])
-
- dnl Explicit template instantiation is not required.
- AC_CACHE_VAL([ace_cv_feature_explicit_template_instantiation],
- [ace_cv_feature_explicit_template_instantiation=no])
-
- dnl Pragma template instantiation is not required.
- AC_CACHE_VAL([ace_cv_feature_pragma_template_instantiation],
- [ace_cv_feature_pragma_template_instantiation=no])
- ],[
- dnl Remove any template repositories.
- rm -rf Templates.DB SunWS_cache ptrepository *.rpo
-
- dnl Now try including the template source.
- AC_LINK_IFELSE([AC_LANG_PROGRAM(
- [[
-#include "ace_test.h"
-#include "ace_test.$ac_ext"
- ]],
- [[
-Foo<int> foo (15);
-
-Bar<char> bar (0);
- ]])],
- [
- dnl Template source is required!
- ace_cv_feature_templates_require_source=yes
-
- dnl Template source does not require pragma.
- AC_CACHE_VAL([ace_cv_feature_templates_require_pragma],
- [ace_cv_feature_templates_require_pragma=no])
-
- dnl Explicit template instantiation is not required.
- AC_CACHE_VAL([ace_cv_feature_explicit_template_instantiation],
- [ace_cv_feature_explicit_template_instantiation=no])
-
- dnl Pragma template instantiation is not required.
- AC_CACHE_VAL([ace_cv_feature_pragma_template_instantiation],
- [ace_cv_feature_pragma_template_instantiation=no])
- ],
- [
-dnl BEGIN OUTER REQUIRE SOURCE #########################################
- dnl Remove any generated template repositories.
- rm -rf Templates.DB SunWS_cache ptrepository *.rpo
-
- dnl Now try with explicit template instantiation.
- AC_LINK_IFELSE([AC_LANG_PROGRAM(
- [[
-#include "ace_test.h"
-
-template class Foo<int>;
-template class Bar<char>;
- ]],
- [[
-Foo<int> foo (15);
-Bar<char> bar (0);
- ]])],
- [
- dnl Template source is not required.
- ace_cv_feature_templates_require_source=no
-
- dnl Template source does not require pragma.
- AC_CACHE_VAL([ace_cv_feature_templates_require_pragma],
- [ace_cv_feature_templates_require_pragma=no])
-
- dnl Explicit template instantiation is required.
- AC_CACHE_VAL([ace_cv_feature_explicit_template_instantiation],
- [ace_cv_feature_explicit_template_instantiation=yes])
-
- dnl Pragma template instantiation is not required.
- AC_CACHE_VAL([ace_cv_feature_pragma_template_instantiation],
- [ace_cv_feature_pragma_template_instantiation=no])
- ],
- [
- dnl Remove any generated template repositories.
- rm -rf Templates.DB SunWS_cache ptrepository *.rpo
-
- dnl Don't set
- dnl ace_cv_feature_pragma_template_instantiation
- dnl to "no" here. It should only be set to "no" if
- dnl explicit template instantiation works.
-
- dnl Now try including the template source.
- AC_LINK_IFELSE([AC_LANG_PROGRAM(
- [[
-#include "ace_test.h"
-#include "ace_test.$ac_ext"
-
-template class Foo<int>;
-template class Bar<char>;
- ]],
- [[
-Foo<int> foo (15);
-Bar<char> bar (0);
- ]])],
- [
- dnl Template source is required!
- ace_cv_feature_templates_require_source=yes
-
- dnl Template source does not require pragma.
- AC_CACHE_VAL([ace_cv_feature_templates_require_pragma],
- [ace_cv_feature_templates_require_pragma=no])
-
- dnl Explicit template instantiation is required.
- AC_CACHE_VAL(
- [ace_cv_feature_explicit_template_instantiation],
- [ace_cv_feature_explicit_template_instantiation=yes])
-
- dnl Pragma template instantiation is not required.
- AC_CACHE_VAL(
- [ace_cv_feature_pragma_template_instantiation],
- [ace_cv_feature_pragma_template_instantiation=no])
- ],
- [
-dnl BEGIN INNER REQUIRE SOURCE #########################################
- dnl Remove any generated template repositories.
- rm -rf Templates.DB SunWS_cache ptrepository *.rpo
-
- dnl Don't set
- dnl ace_cv_feature_explicit_template_instantiation
- dnl to "no" here. It should only be set to "no" if
- dnl pragma template instantiation works.
-
- dnl Now try with pragma template instantiation.
- AC_LINK_IFELSE([AC_LANG_PROGRAM(
- [[
-#include "ace_test.h"
-
-#pragma instantiate Foo<int>
-#pragma instantiate Bar<char>
- ]],
- [[
-Foo<int> foo (15);
-Bar<char> bar (0);
- ]])],
- [
- dnl Template source is not required.
- ace_cv_feature_templates_require_source=no
-
- dnl Template source does not require pragma.
- AC_CACHE_VAL(
- [ace_cv_feature_templates_require_pragma],
- [ace_cv_feature_templates_require_pragma=no])
-
- dnl Explicit template instantiation is not required.
- AC_CACHE_VAL(
- [ace_cv_feature_explicit_template_instantiation],
- [ace_cv_feature_explicit_template_instantiation=no])
-
- dnl Pragma template instantiation is required.
- AC_CACHE_VAL(
- [ace_cv_feature_pragma_template_instantiation],
- [ace_cv_feature_pragma_template_instantiation=yes])
- ],
- [
- dnl Remove any generated template repositories.
- rm -rf Templates.DB SunWS_cache ptrepository *.rpo
-
- dnl Don't set
- dnl ace_cv_feature_explicit_template_instantiation
- dnl to "no" here. It should only be set to "no" if
- dnl pragma template instantiation works.
-
- dnl Now try including the template source.
- AC_LINK_IFELSE([AC_LANG_PROGRAM(
- [[
-#include "ace_test.h"
-#include "ace_test.$ac_ext"
-
-#pragma instantiate Foo<int>
-#pragma instantiate Bar<char>
- ]],
- [[
-Foo<int> foo (15);
-Bar<char> bar (0);
- ]])],
- [
- dnl Template source is required!
- ace_cv_feature_templates_require_source=yes
-
- dnl Template source does not require pragma.
- AC_CACHE_VAL(
- [ace_cv_feature_templates_require_pragma],
- [ace_cv_feature_templates_require_pragma=no])
-
- dnl Explicit template instantiation is not required.
- AC_CACHE_VAL(
- [ace_cv_feature_explicit_template_instantiation],
- [ace_cv_feature_explicit_template_instantiation=no])
-
- dnl Pragma template instantiation is required.
- AC_CACHE_VAL(
- [ace_cv_feature_pragma_template_instantiation],
- [ace_cv_feature_pragma_template_instantiation=yes])
- ],
- [
- dnl If we get here, then we have no idea what is needed!
- ace_cv_feature_templates_require_source=no
- ])
- ])
-dnl END INNER REQUIRE SOURCE #########################################
- ])
- ])
-dnl END OUTER REQUIRE SOURCE #########################################
- ])
- ])
-
- dnl Remove any generated template repositories.
- rm -rf Templates.DB SunWS_cache ptrepository *.rpo
-
- dnl Remove the test additional test files.
- rm -f ace_test*
-
- dnl Restore the compiler flags
- CXXFLAGS="$ace_cxx_template_save_CXXFLAGS"
- CPPFLAGS="$ace_cxx_template_save_CPPFLAGS"
- LDFLAGS="$ace_cxx_template_save_LDFLAGS"
- ],
- [
- AC_DEFINE([ACE_TEMPLATES_REQUIRE_SOURCE])
- ],
- [
- dnl Check if templates require pragma.
- ACE_CACHE_CHECK([if templates require pragma],
- [ace_cv_feature_templates_require_pragma],
- [
- dnl Create the common header file
- cat > ace_test.h <<EOF
-#ifndef FOO_H
-#define FOO_H
-template <class T>
-class Foo
-{
- public:
- Foo (T val);
- private:
- T value_;
-};
-
-template <class T>
-class Bar
-{
- public:
- Bar (Foo<T> *);
- private:
- Foo<T> *foo_ptr;
-};
-#endif /* FOO_H */
-EOF
-
- dnl Create template source test file
- cat > ace_test.$ac_ext <<EOF
-#include "ace_test.h"
-#ifndef FOO_CXX
-#define FOO_CXX
-template <class T>
-Foo<T>::Foo (T val)
- : value_ (val)
-{
- // Nothing else to do.
-}
-
-template <class T>
-Bar<T>::Bar (Foo<T> *val)
- : foo_ptr (val)
-{
- // Nothing else to do.
-}
-#endif /* FOO_CXX */
-EOF
-
- dnl Add the ACE-specific compiler flags to the compiler flags for
- dnl the duration of this test.
- ace_cxx_template_save_CXXFLAGS="$CXXFLAGS"
- ace_cxx_template_save_CPPFLAGS="$CPPFLAGS"
- ace_cxx_template_save_LDFLAGS="$LDFLAGS"
- CXXFLAGS="$ACE_CXXFLAGS $CXXFLAGS"
- CPPFLAGS="$ACE_CPPFLAGS $CPPFLAGS"
- LDFLAGS="$ACE_LDFLAGS $LDFLAGS"
-
- dnl Remove any template repositories.
- rm -rf Templates.DB SunWS_cache ptrepository *.rpo
-
- dnl We already know that the simplest case doesn't work so go
- dnl straight to the "require pragma" test.
-
- dnl Now try including the template pragma.
- AC_LINK_IFELSE([AC_LANG_PROGRAM([[
-#include "ace_test.h"
-
-#pragma implementation ("ace_test.$ac_ext")
- ]],[[
-Foo<int> foo (15);
-Bar<char> bar (0);
- ]])],[
- dnl Template source is required!
- ace_cv_feature_templates_require_pragma=yes
- ],[
-dnl BEGIN OUTER REQUIRE PRAGMA #########################################
- dnl Remove any generated template repositories.
- rm -rf Templates.DB SunWS_cache ptrepository *.rpo
-
- dnl Now try with explicit template instantiation.
- AC_LINK_IFELSE([AC_LANG_PROGRAM(
- [[
-#include "ace_test.h"
-
-#pragma implementation ("ace_test.$ac_ext")
-
-template class Foo<int>;
-template class Bar<char>;
- ]],
- [[
-Foo<int> foo (15);
-Bar<char> bar (0);
- ]])],
- [
- dnl Template pragma is required!
- ace_cv_feature_templates_require_pragma=yes
-
- dnl Explicit template instantiation is required.
- AC_CACHE_VAL(
- [ace_cv_feature_explicit_template_instantiation],
- [ace_cv_feature_explicit_template_instantiation=yes])
-
- dnl Pragma template instantiation is not required.
- AC_CACHE_VAL(
- [ace_cv_feature_pragma_template_instantiation],
- [ace_cv_feature_pragma_template_instantiation=no])
- ],
- [
-dnl BEGIN INNER REQUIRE PRAGMA #########################################
- dnl Remove any generated template repositories.
- rm -rf Templates.DB SunWS_cache ptrepository *.rpo
-
- dnl Now try with pragma template instantiation.
- AC_LINK_IFELSE([AC_LANG_PROGRAM(
- [[
-#include "ace_test.h"
-
-#pragma implementation ("ace_test.$ac_ext")
-
-#pragma instantiate Foo<int>
-#pragma instantiate Bar<char>
- ]],
- [[
-Foo<int> foo (15);
-Bar<char> bar (0);
- ]])],
- [
- dnl Template pragma is required!
- ace_cv_feature_templates_require_pragma=yes
-
- dnl Explicit template instantiation is not required.
- AC_CACHE_VAL(
- [ace_cv_feature_explicit_template_instantiation],
- [ace_cv_feature_explicit_template_instantiation=no])
-
- dnl Pragma template instantiation is required.
- AC_CACHE_VAL(
- [ace_cv_feature_pragma_template_instantiation],
- [ace_cv_feature_pragma_template_instantiation=yes])
- ],
- [
- dnl If we get here, then we have no idea what is needed!
- ace_cv_feature_templates_require_pragma=no
- ])
-dnl END INNER REQUIRE PRAGMA #########################################
- ])
-dnl END OUTER REQUIRE PRAGMA #########################################
- ])
-
- dnl Remove any generated template repositories.
- rm -rf Templates.DB SunWS_cache ptrepository *.rpo
-
- dnl Remove the additional test files.
- rm -f ace_test*
-
- dnl Restore the compiler flags
- CXXFLAGS="$ace_cxx_template_save_CXXFLAGS"
- CPPFLAGS="$ace_cxx_template_save_CPPFLAGS"
- LDFLAGS="$ace_cxx_template_save_LDFLAGS"
- ],
- [
- AC_DEFINE([ACE_TEMPLATES_REQUIRE_PRAGMA])
- ],
- [
- dnl Do nothing.
- ])
- ])
-
-ACE_CACHE_CHECK([if explicit template instantiation is needed],
- [ace_cv_feature_explicit_template_instantiation],
- [
- AC_MSG_ERROR([
-Bug in configure script, check for need of explicit template
-instantiation should have occurred during check for need of template
-source. Please e-mail the maintainer of this configure script:
- $ACE_CONFIGURE_MAINTAINER
-this message.
- ])
- ],
- [
- AC_DEFINE([ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION])
- ],
- [
- ACE_CACHE_CHECK([if pragma template instantiation is needed],
- [ace_cv_feature_pragma_template_instantiation],
- [
- AC_MSG_FAILURE([
-Bug in configure script, check for need of pragma template
-instantiation should have occurred during check for need of template
-source. Please e-mail the maintainer of this configure script:
- $ACE_CONFIGURE_MAINTAINER
-this message.
- ])
- ],
- [
- AC_DEFINE([ACE_HAS_TEMPLATE_INSTANTIATION_PRAGMA])
- ],
- [
- dnl Do nothing
- ])
- ])
-
-
-dnl Check if platform supports template specialization
-ACE_CACHE_CHECK([for template specialization],
- [ace_cv_feature_cxx_template_specialization],[
- AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
- template <class T>
- class Foo
- {
- public:
- Foo(T bar) : bar_(bar) {};
- private:
- T bar_;
- };
-
- class Foo<int>
- {
- public:
- Foo(int bar) : bar_(bar + 1) {};
- private:
- int bar_;
- };
- ]],[[
- Foo<int> foo(11);
- ]])],[
- ace_cv_feature_cxx_template_specialization=yes
- ],[
- ace_cv_feature_cxx_template_specialization=no
- ])
- ],[AC_DEFINE([ACE_HAS_TEMPLATE_SPECIALIZATION])],)
-
-dnl Check if platform supports *standard *template specialization
-ACE_CACHE_CHECK([for standard template specialization],
- [ace_cv_feature_cxx_std_template_specialization],[
- AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
-// Some compilers have a hard time with this test since the syntax is
-// too "new" for them.
-
-// general vector type
-template<class T>
-class Vector
-{
-public:
- Vector (void);
- Vector (int);
-
- T& elem (int i) { return v[i]; }
- T& operator[] (int i);
-private:
- T* v;
- int sz;
-};
-
-// void * specialization
-template<>
-class Vector<void *>
-{
-public:
- Vector (void);
- Vector (int);
-
- void*& elem (int i) { return p[i]; }
- void*& operator[] (int i);
-private:
- void** p;
- int sz;
-};
- ]],[[
-Vector<int> vi;
-Vector<void *> vpv;
- ]])],[
- ace_cv_feature_cxx_std_template_specialization=yes
- ],[
- ace_cv_feature_std_cxx_template_specialization=no
- ])
- ],[AC_DEFINE([ACE_HAS_STD_TEMPLATE_SPECIALIZATION])],)
-
-if test "$ace_cv_feature_cxx_std_template_specialization" = yes; then
-
-dnl Check if platform needs *standard* template method specialization
-ACE_CACHE_CHECK([if platform needs standard template method specialization],
- [ace_cv_feature_cxx_std_template_method_specialization],[
- AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
-// Some compilers have a hard time with this test since the syntax is
-// too "new" for them.
-
-// general vector type
-template<class T>
-class Vector
-{
-public:
- Vector (void);
- Vector (int);
-
- T& elem (int i) { return v[i]; }
- T& operator[] (int i);
-private:
- T* v;
- int sz;
-};
-
-// void * specialization
-template<>
-class Vector<void *>
-{
-public:
- Vector (void);
- Vector (int);
-
- void*& elem (int i) { return p[i]; }
- void*& operator[] (int i);
-private:
- void** p;
- int sz;
-};
-
-void *&
-Vector<void *>::operator[] (int i)
-{
- return p[i];
-}
- ]],[[
- Vector <void *> vpv;
- ]])],[
-dnl template method specialization is *not* needed
- ace_cv_feature_cxx_std_template_method_specialization=no
- ],[
- AC_COMPILE_IFELSE([AC_LANG_PROGRAM(
- [[
-// Some compilers have a hard time with this test since the syntax is
-// too "new" for them.
-
-// general vector type
-template<class T>
-class Vector
-{
-public:
- Vector (void);
- Vector (int);
-
- T& elem (int i) { return v[i]; }
- T& operator[] (int i);
-private:
- T* v;
- int sz;
-};
-
-// void * specialization
-template<>
-class Vector<void *>
-{
-public:
- Vector (void);
- Vector (int);
-
- void*& elem (int i) { return p[i]; }
- void*& operator[] (int i);
-private:
- void** p;
- int sz;
-};
-
-template <>
-void *&
-Vector<void *>::operator[] (int i)
-{
- return p[i];
-}
- ]],
- [[
- Vector<void *> vpv;
- ]])],
- [
-dnl template method specialization is needed
- ace_cv_feature_cxx_std_template_method_specialization=yes
- ],
- [
-dnl template method specialization is *not* needed
- ace_cv_feature_cxx_std_template_method_specialization=no
- ])
- ])
- ],[AC_DEFINE([ACE_HAS_STD_TEMPLATE_METHOD_SPECIALIZATION])],)
-fi dnl test $ace_cv_feature_cxx_std_template_specialization = yes
-
-dnl Check if platform supports template typedefs
-ACE_CACHE_CHECK([for template typedefs],
- [ace_cv_feature_posix_template_typedefs],[
- AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
-#if defined (ACE_HAS_TYPENAME_KEYWORD)
-#define TYPENAME typename
-#else
-#define TYPENAME
-#endif
-
-class Bar
-{
-public:
- typedef int Y;
- Bar(int bar) : bar_(bar) {}
- int value() const { return bar_; }
-private:
- int bar_;
-};
-
-template <class T>
-class Foo
-{
-public:
- typedef TYPENAME T::Y Y;
- Foo(T* foo) : foo_(foo) {}
- void print(Y);
-private:
- T* foo_;
-};
-
-template <class T>
-void Foo<T>::print(TYPENAME T::Y)
-{
-}
- ]],[[
-Bar bar(15);
-Foo<Bar> foo(&bar);
-foo.print(11);
- ]])],[
- ace_cv_feature_posix_template_typedefs=yes
- ],[
- ace_cv_feature_posix_template_typedefs=no
- ])
- ],[AC_DEFINE([ACE_HAS_TEMPLATE_TYPEDEFS])],)
-
-dnl Check if platform supports static data member templates
-ACE_CACHE_CHECK([for static data member templates],
- [ace_cv_feature_posix_static_data_member_templates],[
- AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
-template <class T>
-class Foo
-{
-public:
- static T* sdm;
-};
-
-template <class T> T* Foo<T>::sdm = 0;
- ]],[[
- /* No body */
- ]])],[
- ace_cv_feature_posix_static_data_member_templates=yes
- ],[
- ace_cv_feature_posix_static_data_member_templates=no
- ])
- ],,[AC_DEFINE([ACE_LACKS_STATIC_DATA_MEMBER_TEMPLATES])])
-
-dnl Check if compiler needs definitions for hidden functions
-ACE_CACHE_CHECK([if definition is needed for hidden functions],
- [ace_cv_feature_need_func_def],
- [
- AC_LINK_IFELSE([AC_LANG_PROGRAM([[
- class Foo
- {
- public:
- Foo (void) { a_ = 0; }
- private:
- Foo (const Foo &);
- void operator= (const Foo &);
-
- int a_;
- };
- ]],[[
- Foo Bar;
- ]])],[
- ace_cv_feature_need_func_def=no
- ],[
- AC_LINK_IFELSE([AC_LANG_PROGRAM(
- [[
- class Foo
- {
- public:
- Foo (void) { a_ = 0; }
- private:
- Foo (const Foo &);
- const Foo & operator= (const Foo &);
-
- int a_;
- };
-
- Foo::Foo (const Foo &)
- {
- a_ = 0;
- }
-
- const Foo &
- Foo::operator= (const Foo &)
- {
- a_ = 0;
-
- return *this;
- }
- ]],
- [[
- Foo Bar;
- ]])],
- [
- ace_cv_feature_need_func_def=yes
- ],
- [
- dnl If we get here then we don't know what is needed!
- ace_cv_feature_need_func_def=no
- ])
- ])
- ],
- [
- AC_DEFINE([ACE_NEEDS_FUNC_DEFINITIONS])
- ],)
-
-dnl Check if platform supports C++ exceptions
-if test "$ace_user_enable_exceptions" = yes; then
- ACE_CACHE_CHECK([for C++ exceptions],
- [ace_cv_feature_posix_exceptions],[
- AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[]],[[
- int ret = 0;
- class ACE {};
- try
- {
- throw ACE();
- }
- catch (ACE)
- {
- ret = 1;
- }
- ]])],[
- ace_cv_feature_posix_exceptions=yes
- ],[
- ace_cv_feature_posix_exceptions=no
- ])
- ],[AC_DEFINE([ACE_HAS_EXCEPTIONS])],[ace_user_enable_exceptions=no])
-
-fi dnl test "$ace_user_enable_exceptions" = yes
-
-dnl Check if we need a non-static object manager
-dnl TODO / FIXME
-dnl ACE_CACHE_CHECK([if we need a non-static object manager],
-dnl [ace_cv_feature_nonstatic_object_manager],[
-dnl ace_cv_feature_nonstatic_object_manager=yes
- dnl TODO: Should we check for this thing (and HOW), or
- dnl should it be the user's choice?
-
- dnl For now, we will leave it as a user's choice.
- dnl -Ossama
-dnl ],
-dnl [
- dnl Don't define anything until we have a test for this.
- dnl AC_DEFINE([ACE_HAS_NONSTATIC_OBJECT_MANAGER])
-dnl ],)
-
-dnl Save the cache for debugging purposes
-AC_CACHE_SAVE
-
-
-dnl SECTION 10: checks for library functions
-
-if test "$ace_user_enable_alloca" = yes; then
- AC_FUNC_ALLOCA
- if test "$ac_cv_header_alloca_h" = yes; then
- AC_DEFINE([ACE_HAS_ALLOCA_H])
- fi
- if test "$ac_cv_func_alloca_works" = yes; then
- AC_DEFINE([ACE_HAS_ALLOCA])
- fi
-fi
-
-dnl ACE should really have something for both the sys/mman.h header
-dnl and the mmap function since we need sys/mman.h for functions like
-dnl mprotect and msync, but don't want to use mmap if it doesn't work.
-dnl For now, we just check for the sys/mman.h header earlier in this
-dnl configure script.
-
-dnl AC_FUNC_MMAP
-dnl if test "$ac_cv_func_mmap_fixed_mapped" = no; then
-dnl Even if we have mmap, do not use if broken!
-dnl AC_DEFINE(ACE_LACKS_MMAP)
-dnl fi
-
-dnl Check if closedir() returns a meaningful value
-AC_FUNC_CLOSEDIR_VOID
-
-dnl Check for PWD functions
-AC_CHECK_FUNC([getpwnam],,)
-AC_CHECK_FUNC([setpwent],,)
-AC_CHECK_FUNC([endpwent],,)
-AC_CHECK_FUNC([getpwent],,)
-AC_CHECK_FUNC([getpwuid],,)
-
-if test "$ac_cv_func_getpwnam" != yes ||
- test "$ac_cv_func_setpwent" != yes ||
- test "$ac_cv_func_endpwent" != yes ||
- test "$ac_cv_func_getpwent" != yes ||
- test "$ac_cv_func_getpwuid" != yes; then
- AC_DEFINE([ACE_LACKS_PWD_FUNCTIONS])
-else
- dnl The password file related functions above are required for ACE's
- dnl alternate implementation.
-
- ACE_CONVERT_WARNINGS_TO_ERRORS([
- dnl Check for functions necessary for ACE's alternate implementation
- dnl of the now obsolete cuserid() function.
- ACE_CACHE_CHECK([checking if ACE cuserid implementation should be used],
- [ace_cv_lib_use_alt_cuserid],
- [
- AC_LINK_IFELSE([AC_LANG_PROGRAM([[
-/* Undefine _XOPEN_SOURCE since it may make the cuserid() prototype
- visible. ACE should not rely on such feature test macros. */
-#undef _XOPEN_SOURCE
-#ifndef ACE_LACKS_UNISTD_H
-# include <unistd.h>
-#else
-# error No unistd.h header. Need header where cuserid() is located.
-#endif /* ACE_LACKS_UNISTD_H */
- ]],[[
- char * foo = cuserid ((char *)0);
- ]])],[
- dnl If successful then use the system cuserid() implementation,
- dnl despite the fact that ACE's implementation may be safer.
- ace_cv_lib_use_alt_cuserid=no
- ],[
- AC_LINK_IFELSE([AC_LANG_PROGRAM(
- [[
-#ifndef ACE_LACKS_SYS_TYPES_H
-# include <sys/types.h>
-#endif
-#undef _XOPEN_SOURCE
-#ifndef ACE_LACKS_UNISTD_H
-# include <unistd.h>
-#else
-# error No unistd.h header. Need header where geteuid() is located.
-#endif
- ]],
- [[
- uid_t foo = geteuid ();
- ]])],
- [
- dnl All of the functions necessary for ACE's cuserid()
- dnl implementation exist.
- ace_cv_lib_use_alt_cuserid=yes
- ],
- [
- dnl If we get here, we're hosed!
- ace_cv_lib_use_alt_cuserid=no
- ])
- ])
- ],
- [
- AC_DEFINE([ACE_HAS_ALT_CUSERID])
- ],)
- ])
-fi
-
-
-
-dnl Check for `strftime' in the `intl' library, for SCO UNIX
-AC_FUNC_STRFTIME
-
-case "$host_os" in
- *win32*)
- AC_CHECK_FUNC([CancelIO],
- [AC_DEFINE([ACE_HAS_CANCEL_IO])],)
-
- AC_CHECK_FUNC([SignalObjectAndWait],
- [AC_DEFINE([ACE_HAS_SIGNAL_OBJECT_AND_WAIT])],)
-
- AC_CHECK_FUNC([TryEnterCriticalSection],
- [AC_DEFINE([ACE_HAS_WIN32_TRYLOCK])],)
- ;;
- *)
- ;;
-esac
-
-AC_CHECK_FUNC([access],
- ,
- [AC_DEFINE([ACE_LACKS_ACCESS])])
-
-dnl Temporarily select C as the test language to work around a bug in
-dnl some versions of Autoconf when C++ is selected as the test
-dnl language.
-AC_LANG_PUSH([C])
-AC_CHECK_FUNC([bsearch],
- ,
- [AC_DEFINE([ACE_LACKS_BSEARCH])])
-AC_LANG_POP([C])
-
-dnl Temporarily select C as the test language to work around a bug in
-dnl some versions of Autoconf when C++ is selected as the test
-dnl language.
-AC_LANG_PUSH([C])
-AC_CHECK_FUNC([qsort],
- ,
- [AC_DEFINE([ACE_LACKS_QSORT])])
-AC_LANG_POP([C])
-
-dnl ACE uses execv, execvp and execve, so we don't bother to check
-dnl for the others (e.g. execl, execlp, execle)
-AC_CHECK_FUNCS([execv execvp execve],
- ,
- [AC_DEFINE([ACE_LACKS_EXEC])])
-
-AC_CHECK_FUNC([fgetwc],
- ,
- [AC_DEFINE([ACE_LACKS_FGETWC])])
-
-AC_CHECK_FUNC([fcntl],
- ,
- [AC_DEFINE([ACE_LACKS_FCNTL])])
-
-AC_CHECK_FUNC([fsync],
- ,
- [AC_DEFINE([ACE_LACKS_FSYNC])])
-
-AC_CHECK_FUNC([getmsg],
- [
- AC_RUN_IFELSE([AC_LANG_SOURCE([[
-#ifndef ACE_LACKS_UNISTD_H
-# include <unistd.h>
-#endif /* !ACE_LACKS_UNISTD_H */
-
-#ifdef ACE_HAS_SYS_IOCTL_H
-# include <sys/ioctl.h>
-#endif /* ACE_HAS_SYS_IOCTL_H */
-
-#ifdef ACE_HAS_STREAMS
-# include <stropts.h>
-#endif /* ACE_HAS_STREAMS */
-
-int
-main ()
-{
- int fds[2];
-
- if (pipe (fds) != 0)
- return -1;
-
-/*
- * Verify that we can actually set a STREAM option that ACE uses.
- * This is particularly necessary for platforms where compiling and
- * linking succeed but fail at run-time due to a missing actual
- * STREAMS implementation. For example, Linux/glibc requires a
- * STREAMS patch/add-on.
- */
-
- int arg = RMSGN;
-
- if (ioctl (fds[0], I_SRDOPT, (void *) arg) != 0)
- return -1;
-
- return 0;
-}
- ]])],[
- AC_DEFINE([ACE_HAS_STREAM_PIPES])
- ],[],[
- dnl action if cross-compiling
- AC_DEFINE([ACE_HAS_STREAM_PIPES])
- ])
- ],)
-
-AC_CHECK_FUNC([gethostbyaddr],,)
-
-AC_CHECK_FUNC([difftime],
- ,
- [AC_DEFINE([ACE_LACKS_DIFFTIME])])
-
-dnl Check for 64 bit llseek() or lseek64()
-case "$host" in
- *UnixWare7*)
- dnl Skip the check
- ;;
- *)
- ACE_CHECK_LSEEK64
- ;;
-esac
-
-AC_CHECK_FUNC([bind],
- [
- ACE_CACHE_CHECK([if bind() will select the port if it is zero],
- [ace_cv_have_wildcard_bind],
- [
- AC_RUN_IFELSE([AC_LANG_SOURCE([[
-#ifndef ACE_LACKS_SYS_TYPES_H
-# include <sys/types.h>
-#endif
-#include <sys/socket.h>
-#include <netinet/in.h>
-#include <string.h> /* for memset() */
-
- int main () {
-
- int sockfd = socket(AF_INET, SOCK_STREAM, 0);
-
- sockaddr_in serv_addr;
-
- (void) memset ((void *) &serv_addr, 0, sizeof(serv_addr));
-
- serv_addr.sin_family = AF_INET;
- serv_addr.sin_addr.s_addr = htonl(INADDR_ANY);
- serv_addr.sin_port = 0;
-
- return bind (sockfd, (struct sockaddr *) &serv_addr,
- sizeof(serv_addr));
- }
- ]])],[
- ace_cv_have_wildcard_bind=yes
- ],[
- ace_cv_have_wildcard_bind=no
- ],[
- dnl action if cross-compiling
- ace_cv_have_wildcard_bind=yes
- ])
- ],,[AC_DEFINE([ACE_LACKS_WILDCARD_BIND])])
- ],)
-
-AC_CHECK_FUNC([poll],
- [
- ACE_CACHE_CHECK([if poll is broken],
- [ace_cv_poll_is_broken],
- [
- AC_RUN_IFELSE([AC_LANG_SOURCE([[
-#include <poll.h>
-#include <time.h>
-
-#ifdef ACE_LACKS_SYSTIME_H
-# include <sys/time.h>
-#endif
-
- int main () {
-
- int timeout = 2000; /* 2000 milliseconds */
- int timeout_arg = timeout;
- /* poll() modifies timeout argument on some platforms */
-
- int result = 0;
-
- time_t *t = 0;
-
- time_t time1 = time(t);
-
- result = poll(0, 0, timeout_arg);
-
- time_t time2 = time(t);
- time_t diff = time2 - time1;
-
- /* If (diff * 1000) < timeout then poll() is broken! */
- if (result >= 0)
- return (((diff * 1000) < timeout) ? 1 : 0);
- else
- return 1; /* We had a problem with poll() so we don't
- know what really happened. */
- }
- ]])],[
- ace_cv_poll_is_broken=no
- ],[
- ace_cv_poll_is_broken=yes
- ],[
- dnl action if cross-compiling
- ace_cv_poll_is_broken=no
- ])
- ],[AC_DEFINE([ACE_POLL_IS_BROKEN])],)
- ],)
-
-AC_CHECK_FUNC([gethrtime],
- [
- ACE_CHECK_TYPE([hrtime_t],[sys/time.h],[AC_DEFINE([ACE_HAS_HI_RES_TIMER])],)
- ],)
-
-AC_CHECK_FUNC([pread],
- [AC_CHECK_FUNC([pwrite],
- [
- AC_DEFINE([ACE_HAS_P_READ_WRITE])
- dnl Check if _XOPEN_SOURCE=500 macro is needed to make the pread() and
- dnl pwrite() prototypes visible.
- ACE_CACHE_CHECK([for pread prototype],
- [ace_cv_lib_has_pread_prototype],
- [
- ace_save_CPPFLAGS="$CPPFLAGS"
- ace_no_xopen="-U_XOPEN_SOURCE"
- CPPFLAGS="$CPPFLAGS $ace_no_xopen"
- AC_EGREP_HEADER([[^_]+pread], [unistd.h],
- [
- ace_cv_lib_has_pread_prototype=yes
- ],
- [
- ace_cv_lib_has_pread_prototype=no
- ])
- dnl Reset the compiler flags
- CPPFLAGS="$ace_save_CPPFLAGS"
- ],,[AC_DEFINE([ACE_LACKS_PREAD_PROTOTYPE])])
- ],)],)
-
-AC_CHECK_FUNC([readv], , [AC_DEFINE([ACE_LACKS_READV])])
-
-AC_CHECK_FUNC([writev], , [AC_DEFINE([ACE_LACKS_WRITEV])])
-
-AC_CHECK_FUNC([set_t_errno], [AC_DEFINE([ACE_HAS_SET_T_ERRNO])],)
-
-AC_CHECK_FUNC([sigsuspend],
- [AC_DEFINE([ACE_HAS_SIGSUSPEND])],)
-
-AC_CHECK_FUNC([sigtimedwait],
- [AC_DEFINE([ACE_HAS_SIGTIMEDWAIT])],)
-
-AC_CHECK_FUNC([socketpair],
- ,
- [AC_DEFINE([ACE_LACKS_SOCKETPAIR])])
-
-AC_CHECK_FUNC([strcasecmp],
- ,
- [AC_DEFINE([ACE_LACKS_STRCASECMP])])
-
-AC_CHECK_FUNC([strdup],
- ,
- [AC_DEFINE([ACE_HAS_STRDUP_EMULATION])])
-
-AC_CHECK_FUNC([strrchr],
- ,
- [AC_DEFINE([ACE_LACKS_STRRCHR])])
-
-AC_CHECK_FUNC([strptime],
- [
- AC_DEFINE([ACE_HAS_STRPTIME])
- dnl Check if _XOPEN_SOURCE macro is needed to make the strptime()
- dnl prototype visible.
- ACE_CACHE_CHECK([for strptime prototype],
- [ace_cv_lib_has_strptime_prototype],
- [
- ace_save_CPPFLAGS="$CPPFLAGS"
- ace_no_xopen="-U_XOPEN_SOURCE"
- CPPFLAGS="$CPPFLAGS $ace_no_xopen"
- AC_EGREP_HEADER([[^_]+strptime],[time.h],
- [
- ace_cv_lib_has_strptime_prototype=yes
- ],
- [
- ace_cv_lib_has_strptime_prototype=no
- ])
- dnl Reset the compiler flags
- CPPFLAGS="$ace_save_CPPFLAGS"
- ],,[AC_DEFINE([ACE_LACKS_STRPTIME_PROTOTYPE])])
- ],
- [
- AC_DEFINE([ACE_LACKS_NATIVE_STRPTIME])
- ])
-
-AC_CHECK_FUNC([memchr],
- [AC_DEFINE([ACE_HAS_MEMCHR])],)
-
-if test "$ace_cv_type_wchar_t" = yes; then
- AC_CHECK_FUNC([wcslen],
- [AC_DEFINE([ACE_HAS_XPG4_MULTIBYTE_CHAR])],)
-fi
-
-AC_CHECK_FUNC([syscall],
- ,
- [AC_DEFINE([ACE_LACKS_SYSCALL])])
-
-AC_CHECK_FUNC([ualarm],
- [AC_DEFINE([ACE_HAS_UALARM])],)
-
-AC_CHECK_FUNC([alarm],,)
-AC_CHECK_FUNC([signal],,)
-
-if test "$ac_cv_func_alarm" != yes &&
- test "$ac_cv_func_signal" != yes; then
- AC_DEFINE([ACE_LACKS_UNIX_SIGNALS])
-fi
-
-AC_CHECK_FUNC([fork],
- ,
- [AC_DEFINE([ACE_LACKS_FORK])])
-
-AC_CHECK_FUNC([getrlimit],
- [
- AC_CHECK_FUNC([setrlimit],
- ,
- [AC_DEFINE([ACE_LACKS_RLIMIT])])
- ],
- [
- AC_DEFINE([ACE_LACKS_RLIMIT])
- ])
-
-AC_CHECK_FUNC([sysinfo],
- [
- if test "$ac_cv_header_sys_systeminfo_h" = yes; then
- AC_DEFINE([ACE_HAS_SYSINFO])
- fi
- ],)
-
-AC_CHECK_FUNC([strerror],
- [AC_DEFINE([ACE_HAS_STRERROR])],)
-
-AC_CHECK_FUNC([lstat],
- ,
- [AC_DEFINE([ACE_LACKS_LSTAT])])
-
-AC_CHECK_FUNC([readlink],
- ,
- [AC_DEFINE([ACE_LACKS_READLINK])])
-
-AC_CHECK_FUNC([rename],
- ,
- [AC_DEFINE([ACE_LACKS_RENAME])])
-
-AC_CHECK_FUNC([recvmsg],
- ,
- [AC_DEFINE([ACE_LACKS_RECVMSG])])
-
-AC_CHECK_FUNC([sendmsg],
- ,
- [AC_DEFINE([ACE_LACKS_SENDMSG])])
-
-if test "$ace_has_tli" = yes; then
- AC_CHECK_FUNC([t_getname],
- [AC_DEFINE([ACE_HAS_SVR4_TLI])],)
-fi
-
-AC_CHECK_FUNC([getrusage],
- [AC_DEFINE([ACE_HAS_GETRUSAGE])],)
-
-AC_CHECK_FUNC([getpgid],
- [
- dnl Check if _XOPEN_SOURCE and _XOPEN_SOURCE_EXTENDED macros are
- dnl needed to make the getpgid() prototype visible.
- ACE_CACHE_CHECK([for getpgid prototype],
- [ace_cv_lib_has_getpgid_prototype],
- [
- ace_save_CPPFLAGS="$CPPFLAGS"
- ace_no_xopen="-U_XOPEN_SOURCE -U_XOPEN_SOURCE_EXTENDED"
- CPPFLAGS="$CPPFLAGS $ace_no_xopen"
- AC_EGREP_HEADER([[^_]+getpgid], [unistd.h],
- [
- ace_cv_lib_has_getpgid_prototype=yes
- ],
- [
- ace_cv_lib_has_getpgid_prototype=no
- ])
- dnl Reset the compiler flags
- CPPFLAGS="$ace_save_CPPFLAGS"
- ],, [AC_DEFINE([ACE_LACKS_GETPGID_PROTOTYPE])])
- ],
- [
- AC_DEFINE([ACE_LACKS_GETPGID])
- ])
-
-AC_CHECK_FUNC([getppid],
- ,
- AC_DEFINE([ACE_LACKS_GETPPID]))
-
-AC_CHECK_FUNC([setregid],
- [
- dnl Check if _XOPEN_SOURCE and _XOPEN_SOURCE_EXTENDED macros are
- dnl needed to make the setregid() prototype visible.
- ACE_CACHE_CHECK([for setregid prototype],
- [ace_cv_lib_has_setregid_prototype],
- [
- ace_save_CPPFLAGS="$CPPFLAGS"
- ace_no_xopen="-U_BSD_SOURCE -U_XOPEN_SOURCE -U_XOPEN_SOURCE_EXTENDED"
- CPPFLAGS="$CPPFLAGS $ace_no_xopen"
- AC_EGREP_HEADER([[^_]+setregid], [time.h],
- [
- ace_cv_lib_has_setregid_prototype=yes
- ],
- [
- ace_cv_lib_has_setregid_prototype=no
- ])
- dnl Reset the compiler flags
- CPPFLAGS="$ace_save_CPPFLAGS"
- ],, [AC_DEFINE([ACE_LACKS_SETREGID_PROTOTYPE])])
- ],
- [
- AC_DEFINE([ACE_LACKS_SETREGID])
- ])
-
-AC_CHECK_FUNC([setreuid],
- [
- dnl Check if _XOPEN_SOURCE and _XOPEN_SOURCE_EXTENDED macros are
- dnl needed to make the setreuid() prototype visible.
- ACE_CACHE_CHECK([for setreuid prototype],
- [ace_cv_lib_has_setreuid_prototype],
- [
- ace_save_CPPFLAGS="$CPPFLAGS"
- ace_no_xopen="-U_BSD_SOURCE -U_XOPEN_SOURCE -U_XOPEN_SOURCE_EXTENDED"
- CPPFLAGS="$CPPFLAGS $ace_no_xopen"
- AC_EGREP_HEADER([[^_]+setreuid], [time.h],
- [
- ace_cv_lib_has_setreuid_prototype=yes
- ],
- [
- ace_cv_lib_has_setreuid_prototype=no
- ])
- dnl Reset the compiler flags
- CPPFLAGS="$ace_save_CPPFLAGS"
- ],, [AC_DEFINE([ACE_LACKS_SETREUID_PROTOTYPE])])
- ],
- [
- AC_DEFINE([ACE_LACKS_SETREUID])
- ])
-
-AC_CHECK_FUNC([getpagesize],
- [AC_DEFINE([ACE_HAS_GETPAGESIZE])],
- [AC_DEFINE([ACE_PAGE_SIZE], [4096])])
-
-AC_CHECK_FUNC([msync],
- ,
- [AC_DEFINE([ACE_LACKS_MSYNC])])
-
-AC_CHECK_FUNC([mprotect],
- ,
- [AC_DEFINE([ACE_LACKS_MPROTECT])])
-
-AC_CHECK_FUNC([mkfifo],
- ,
- [AC_DEFINE([ACE_LACKS_MKFIFO])])
-
-dnl Temporarily select C as the test language to work around a bug in
-dnl some versions of Autoconf when C++ is selected as the test
-dnl language.
-AC_LANG_PUSH([C])
-AC_CHECK_FUNC([mktemp],
- ,
- [AC_DEFINE([ACE_LACKS_MKTEMP])])
-AC_LANG_POP([C])
-
-AC_CHECK_FUNC([madvise],
- ,
- [AC_DEFINE([ACE_LACKS_MADVISE])])
-
-if test "$ac_cv_header_sys_priocntl_h" = yes; then
- AC_CHECK_FUNC([priocntl],
- [AC_DEFINE([ACE_HAS_PRIOCNTL])],)
-
-dnl Some platforms define priocntl as a macro!
- if test "$ac_cv_func_priocntl" = no; then
- ACE_CACHE_CHECK([for priocntl macro],
- [ace_cv_lib_has_priocntl_macro],
- [
- AC_EGREP_CPP([ACE_PRIOCNTL_MACRO],
- [
-#include <sys/priocntl.h>
-
-#if defined (priocntl)
- ACE_PRIOCNTL_MACRO
-#endif
- ],
- [
- ace_cv_lib_has_priocntl_macro=yes
- ],
- [
- ace_cv_lib_has_priocntl_macro=no
- ])
- ], [AC_DEFINE([ACE_HAS_PRIOCNTL])],)
- fi dnl test "$ac_cv_func_priocntl" = no
-fi dnl test "$ac_cv_header_sys_priocntl_h" = yes
-
-dnl FIXME: How do we check for a working sbrk()? Do we need to?
-AC_CHECK_FUNC([sbrk],, [AC_DEFINE([ACE_LACKS_SBRK])])
-
-dnl Check for SYSV IPC functions
-AC_CHECK_FUNC([msgctl],,)
-
-AC_CHECK_FUNC([msgget],,)
-
-AC_CHECK_FUNC([msgrcv],,)
-
-AC_CHECK_FUNC([semctl],,)
-
-AC_CHECK_FUNC([semget],,)
-
-AC_CHECK_FUNC([semop],,)
-
-AC_CHECK_FUNC([shmat],,)
-
-AC_CHECK_FUNC([shmctl],,)
-
-AC_CHECK_FUNC([shmdt],,)
-
-AC_CHECK_FUNC([shmget],,)
-dnl End check for SYSV IPC functions
-
-AC_CHECK_FUNC([read_real_time],
- [AC_DEFINE([ACE_HAS_AIX_HI_RES_TIMER])],)
-
-AC_CHECK_FUNC([shm_open], [AC_DEFINE([ACE_HAS_SHM_OPEN])],)
-
-AC_CHECK_FUNC([snprintf],
- [AC_DEFINE([ACE_HAS_SNPRINTF])],)
-
-AC_CHECK_FUNC([tempnam],
- ,
- [AC_DEFINE([ACE_LACKS_TEMPNAM])])
-
-AC_CHECK_FUNC([truncate],
- ,
- [AC_DEFINE([ACE_LACKS_TRUNCATE])])
-
-dnl Check for MIT pthreads APIs for timed send/recv operations
-AC_CHECK_FUNC([recv_timedwait],
- [AC_DEFINE([ACE_HAS_RECV_TIMEDWAIT])],)
-
-AC_CHECK_FUNC([recvfrom_timedwait],
- [AC_DEFINE([ACE_HAS_RECVFROM_TIMEDWAIT])],)
-
-AC_CHECK_FUNC([recvmsg_timedwait],
- [AC_DEFINE([ACE_HAS_RECVMSG_TIMEDWAIT])],)
-
-AC_CHECK_FUNC([send_timedwait],
- [AC_DEFINE([ACE_HAS_SEND_TIMEDWAIT])],)
-
-AC_CHECK_FUNC([sendto_timedwait],
- [AC_DEFINE([ACE_HAS_SENDTO_TIMEDWAIT])],)
-
-AC_CHECK_FUNC([sendmsg_timedwait],
- [AC_DEFINE([ACE_HAS_SENDMSG_TIMEDWAIT])],)
-
-AC_CHECK_FUNC([read_timedwait],
- [AC_DEFINE([ACE_HAS_READ_TIMEDWAIT])],)
-
-AC_CHECK_FUNC([readv_timedwait],
- [AC_DEFINE([ACE_HAS_READV_TIMEDWAIT])],)
-
-AC_CHECK_FUNC([write_timedwait],
- [AC_DEFINE([ACE_HAS_WRITE_TIMEDWAIT])],)
-
-AC_CHECK_FUNC([writev_timedwait],
- [AC_DEFINE([ACE_HAS_WRITEV_TIMEDWAIT])],)
-
-dnl Save the cache for debugging purposes
-AC_CACHE_SAVE
-
-dnl Check for POSIX Semaphore functions
-dnl We only check for a few of them since some platforms don't have these.
-AC_CHECK_FUNC([sem_init],,)
-AC_CHECK_FUNC([sem_destroy],,)
-
-dnl We only enable POSIX semaphores if we are not using UNIX International
-dnl threads.
-dnl Enabling POSIX semaphores on Solaris seems to cause problems for
-dnl ACE. (NOTE: This may no longer be true after the updates/fixes
-dnl I made. The fixes corrected broken code in ACE_OS::sema_init().
-dnl -Ossama)
-if test "$ac_cv_func_sem_init" = yes &&
- test "$ac_cv_func_sem_destroy" = yes &&
- test "$ace_cv_type_sem_t" = yes &&
- test "$ace_has_sthreads" != yes; then
-
-dnl Only enable POSIX semaphore support if process shared semaphores
-dnl are supported. Presumably process shared semaphores are only
-dnl available if the _POSIX_THREAD_PROCESS_SHARED macro is defined by
-dnl the platform.
- AC_EGREP_CPP([WE_HAVE_SHARED_POSIX_SEMAPHORES],
- [
-#ifndef _REENTRANT
-#define _REENTRANT
-#endif
-
-#ifndef _THREAD_SAFE
-#define _THREAD_SAFE
-#endif
-
-#ifndef ACE_LACKS_UNISTD_H
-# include <unistd.h> /* needed for _POSIX_THREAD_PROCESS_SHARED */
-#endif
-
-#include <pthread.h>
-#include <semaphore.h>
-
-#if defined (_POSIX_THREAD_PROCESS_SHARED)
-WE_HAVE_SHARED_POSIX_SEMAPHORES
-#endif
- ],
- [
- AC_DEFINE([ACE_HAS_POSIX_SEM])
-
- AC_CHECK_FUNC([sem_open],
- [
- dnl Check if it works! For example, in glibc 2.x sem_open exists
- dnl but it appears to be a stub. However, it isn't listed as a
- dnl stub in <gnu/stubs.h> so the configure script thinks it is
- dnl implemented!
- ACE_CACHE_CHECK([if sem_open works],
- [ace_cv_sem_open_works],
- [
- AC_RUN_IFELSE([AC_LANG_SOURCE([[
-#ifndef ACE_LACKS_SYS_TYPES_H
-#include <sys/types.h>
-#endif
-
-#include <sys/stat.h>
-#include <fcntl.h>
-
-#include <stddef.h> /* for definition of "NULL" */
-
-#include <semaphore.h>
-
-#ifndef SEM_FAILED
-# define SEM_FAILED ((sem_t *) -1)
-#endif
-
-int
-main ()
-{
- sem_t *s = 0;
-
- s = sem_open ("ace_semaphore_foo", O_CREAT | O_EXCL, 0600, 1);
-
- if (s == SEM_FAILED)
- return -1; /* FAILURE */
-
- if (sem_close (s) != 0)
- return -1; /* Something went wrong! */
-
- return 0;
-}
- ]])],[
- ace_cv_sem_open_works=yes
- ],[
- ace_cv_sem_open_works=no
- ],[
- dnl action if cross-compiling
- ace_cv_sem_open_works=yes
- ])
- ],, [AC_DEFINE([ACE_LACKS_NAMED_POSIX_SEM])])
- ],
- [
- AC_DEFINE([ACE_LACKS_NAMED_POSIX_SEM])
- ])
- ],)
-
-fi dnl check for POSIX Semaphore functions
-
-
-dnl The following tests are performed only when the user has enabled
-dnl support for threads.
-
-dnl NOTE: Make sure the thread library is in "LIBS"
-dnl (e.g.: LIBS="$LIBS -lpthread")
-dnl otherwise the below thread "CHECK_FUNCs"
-dnl will not work correctly.
-if test "$ace_user_enable_threads" = yes; then
-
- if test "$ace_has_pthreads" = yes; then
-dnl Digital UNIX 4.0 "mangles" the following pthread functions:
-dnl pthread_attr_getguardsize_np
-dnl pthread_attr_getinheritsched
-dnl pthread_attr_getstacksize
-dnl pthread_attr_setguardsize_np
-dnl pthread_attr_setinheritsched
-dnl pthread_attr_setstacksize
-dnl pthread_cancel
-dnl pthread_cond_broadcast
-dnl pthread_cond_destroy
-dnl pthread_cond_init
-dnl pthread_cond_sig_preempt_int_np
-dnl pthread_cond_signal
-dnl pthread_cond_signal_int_np
-dnl pthread_cond_timedwait
-dnl pthread_cond_wait
-dnl pthread_create
-dnl pthread_delay_np
-dnl pthread_detach
-dnl pthread_equal
-dnl pthread_exit
-dnl pthread_get_expiration_np
-dnl pthread_getspecific
-dnl pthread_join
-dnl pthread_lock_global_np
-dnl pthread_mutex_destroy
-dnl pthread_mutex_init
-dnl pthread_mutex_lock
-dnl pthread_mutex_trylock
-dnl pthread_mutex_unlock
-dnl pthread_once
-dnl pthread_self
-dnl pthread_setspecific
-dnl pthread_testcancel
-dnl pthread_unlock_global_np
-dnl These functions have a double underscore "__" prepended to maintain
-dnl backwards compatibility with Pthread Draft 4 functions of the same
-dnl name.
-
- AC_CHECK_FUNC([pthread_sigmask],
- ,
- [AC_DEFINE([ACE_LACKS_PTHREAD_SIGMASK])])
-
- AC_CHECK_FUNC([pthread_key_create],
- [AC_DEFINE([ACE_HAS_THREAD_SPECIFIC_STORAGE])],
- [
- AC_CHECK_FUNC([pthread_keycreate],
- [AC_DEFINE(ACE_HAS_THREAD_SPECIFIC_STORAGE)],
- [AC_DEFINE(ACE_HAS_TSS_EMULATION)])
- ])
-
- AC_CHECK_FUNC([pthread_condattr_setkind_np],
- [AC_DEFINE([ACE_HAS_PTHREAD_CONDATTR_SETKIND_NP])],)
-
- AC_CHECK_FUNC([pthread_mutexattr_setkind_np],
- [AC_DEFINE([ACE_HAS_PTHREAD_MUTEXATTR_SETKIND_NP])],)
-
- AC_CHECK_FUNC([pthread_condattr_setpshared],
- ,
- [AC_DEFINE([ACE_LACKS_CONDATTR_PSHARED])])
-
- AC_CHECK_FUNC([pthread_attr_setstackaddr],
- ,
- [AC_DEFINE([ACE_LACKS_THREAD_STACK_ADDR])])
-
- ACE_CHECK_FUNC([pthread_attr_setstacksize], [pthread.h],
- ,
- [AC_DEFINE([ACE_LACKS_THREAD_STACK_SIZE])])
-
- ACE_CHECK_FUNC([pthread_cancel], [pthread.h],
- [
- dnl Make sure the prototype actually exists. Some platforms,
- dnl such as FreeBSD 4, appear to have a missing prototype. If
- dnl the prototype is missing, then don't use pthread_cancel.
- dnl Creating a prototype for it in ACE is probably a bad idea.
-
- ace_save_CPPFLAGS="$CPPFLAGS"
- CPPFLAGS="$CPPFLAGS $ACE_THR_CPPFLAGS"
-
- AC_EGREP_HEADER([pthread_cancel], [pthread.h],,
- [
- AC_DEFINE([ACE_LACKS_PTHREAD_CANCEL])
- ])
-
- dnl Reset the preprocessor flags
- CPPFLAGS="$ace_save_CPPFLAGS"
- ],
- [
- AC_DEFINE([ACE_LACKS_PTHREAD_CANCEL])
- ])
-
- AC_CHECK_FUNC([pthread_yield],
- ,
- [AC_DEFINE([ACE_LACKS_PTHREAD_YIELD])])
-
- AC_CHECK_FUNC([pthread_thr_sigsetmask],
- ,
- [AC_DEFINE([ACE_LACKS_PTHREAD_THR_SIGSETMASK])])
-
- AC_CHECK_FUNC([pthread_attr_setdetachstate],
- ,
- [AC_DEFINE([ACE_LACKS_SETDETACH])])
-
- dnl ACE currently doesn't provide enough fine grained control over
- dnl these functions so both must be present in order to prevent
- dnl ACE_LACKS_SETSCHED from being defined.
- AC_CHECK_FUNC([sched_setscheduler],
- [
- AC_CHECK_FUNC([pthread_attr_setschedpolicy],,
- [AC_CHECK_FUNC([pthread_attr_setsched],,
- [AC_DEFINE([ACE_LACKS_SETSCHED])])])
- ],
- [
- AC_DEFINE([ACE_LACKS_SETSCHED])
- ])
-
- AC_CHECK_FUNC([pthread_attr_setscope],
- ,
- [AC_DEFINE([ACE_LACKS_THREAD_PROCESS_SCOPING])])
-
- AC_CHECK_FUNC([pthread_mutexattr_setpshared],
- ,
- [AC_DEFINE([ACE_LACKS_MUTEXATTR_PSHARED])])
-
-dnl Check for POSIX Threads Draft 4 functions
- AC_CHECK_FUNC([pthread_mutexattr_create],,)
- AC_CHECK_FUNC([pthread_mutexattr_delete],,)
- AC_CHECK_FUNC([pthread_condattr_delete],,)
- AC_CHECK_FUNC([pthread_condattr_create],,)
- AC_CHECK_FUNC([pthread_setprio],,)
- AC_CHECK_FUNC([pthread_getprio],,)
- AC_CHECK_FUNC([pthread_setcancel],,)
- AC_CHECK_FUNC([pthread_setasynccancel],,)
- AC_CHECK_FUNC([pthread_kill],,)
-dnl Check for POSIX Threads Draft 6 functions
- AC_CHECK_FUNC([pthread_attr_setprio],,)
- AC_CHECK_FUNC([pthread_attr_getprio],,)
- AC_CHECK_FUNC([pthread_setintr],,)
- AC_CHECK_FUNC([pthread_setintrtype],,)
-dnl Check for POSIX threads Draft 6, 7 and Standard common functions
- AC_CHECK_FUNC([pthread_mutexattr_init],,)
- AC_CHECK_FUNC([pthread_mutexattr_destroy],,)
- AC_CHECK_FUNC([pthread_condattr_init],,)
- AC_CHECK_FUNC([pthread_condattr_destroy],,)
-dnl Check for POSIX Threads Draft 7 and Draft Standard common functions
- AC_CHECK_FUNC([pthread_setschedparam],,)
- AC_CHECK_FUNC([pthread_getschedparam],,)
- AC_CHECK_FUNC([pthread_setcancelstate],,)
- AC_CHECK_FUNC([pthread_setcanceltype],,)
-dnl Check for POSIX Threads Draft Standard functions
-dnl sched_yield() is in the C library or perhaps in "-lposix4."
-dnl We need to add other library checks in this script's "check libraries"
-dnl section if it is in another library.
-dnl AC_CHECK_FUNC(sched_yield,,)
-dnl We already check for this during the library checks.
-
-dnl Check for Unix98 pthreads extensions
- ACE_CACHE_CHECK([for struct pthread_rwlock_t],
- [ace_cv_struct_pthread_rwlock_t],
- [
- dnl Since we are checking for siginfo_t in more than one header
- dnl we can't use the ACE_CHECK_STRUCT macro so we have to do things
- dnl manually.
- ACE_TRY_COMPILE_STRUCT([pthread_rwlock_t], [pthread.h],
- [
- ace_cv_struct_pthread_rwlock_t=yes
- ],
- [
- ACE_TRY_COMPILE_STRUCT([pthread_rwlock_t], [sys/types.h],
- [
- ace_cv_struct_pthread_rwlock_t=yes
- ],
- [
- ace_cv_struct_pthread_rwlock_t=no
- ])
- ])
- ],,)
-
- ACE_CACHE_CHECK([for struct pthread_rwlockattr_t],
- [ace_cv_struct_pthread_rwlockattr_t],
- [
- dnl Since we are checking for siginfo_t in more than one header
- dnl we can't use the ACE_CHECK_STRUCT macro so we have to do things
- dnl manually.
- ACE_TRY_COMPILE_STRUCT([pthread_rwlockattr_t], [pthread.h],
- [
- ace_cv_struct_pthread_rwlockattr_t=yes
- ],
- [
- ACE_TRY_COMPILE_STRUCT([pthread_rwlockattr_t], [sys/types.h],
- [
- ace_cv_struct_pthread_rwlockattr_t=yes
- ],
- [
- ace_cv_struct_pthread_rwlockattr_t=no
- ])
- ])
- ],,)
-
- AC_CHECK_FUNC([pthread_continue],,)
- AC_CHECK_FUNC([pthread_suspend],,)
- AC_CHECK_FUNC([pthread_rwlock_init],,)
- AC_CHECK_FUNC([pthread_rwlock_destroy],,)
- AC_CHECK_FUNC([pthread_rwlock_rdlock],,)
- AC_CHECK_FUNC([pthread_rwlock_wrlock],,)
- AC_CHECK_FUNC([pthread_rwlock_unlock],,)
- AC_CHECK_FUNC([pthread_rwlock_tryrdlock],,)
- AC_CHECK_FUNC([pthread_rwlock_trywrlock],,)
- AC_CHECK_FUNC([pthread_rwlockattr_init],,)
- AC_CHECK_FUNC([pthread_rwlockattr_destroy],,)
- AC_CHECK_FUNC([pthread_rwlockattr_setpshared],,)
-
- if test "$ace_cv_struct_pthread_rwlock_t" = yes &&
- test "$ace_cv_struct_pthread_rwlockattr_t" = yes &&
- test "$ac_cv_func_pthread_continue" = yes &&
- test "$ac_cv_func_pthread_continue" = yes &&
- test "$ac_cv_func_pthread_suspend" = yes &&
- test "$ac_cv_func_pthread_rwlock_init" = yes &&
- test "$ac_cv_func_pthread_rwlock_destroy" = yes &&
- test "$ac_cv_func_pthread_rwlock_rdlock" = yes &&
- test "$ac_cv_func_pthread_rwlock_wrlock" = yes &&
- test "$ac_cv_func_pthread_rwlock_unlock" = yes &&
- test "$ac_cv_func_pthread_rwlock_tryrdlock" = yes &&
- test "$ac_cv_func_pthread_rwlock_trywrlock" = yes &&
- test "$ac_cv_func_pthread_rwlockattr_init" = yes &&
- test "$ac_cv_func_pthread_rwlockattr_destroy" = yes &&
- test "$ac_cv_func_pthread_rwlockattr_setpshared" = yes; then
- AC_DEFINE([ACE_HAS_PTHREADS_UNIX98_EXT])
- fi dnl Unix98 pthreads extensions
-
-dnl Check if platform has thread_self() rather than pthread_self()
- ACE_CHECK_FUNC([pthread_self], [pthread.h],
- ,
- [
- AC_CHECK_FUNC([thread_self],
- [
- AC_DEFINE([ACE_HAS_THREAD_SELF])
- ],)
- ])
-
-dnl Check if pthread.h declares an enum with PTHREAD_PROCESS_PRIVATE and
-dnl PTHREAD_PROCESS_SHARED values.
- ACE_CACHE_CHECK([for PTHREAD_PROCESS_* enumeration in pthread.h],
- [ace_cv_lib_pthread_process_enum],
- [
- AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
-#include <pthread.h>
- ]], [[
-/* Undefine PTHREAD_PROCESS_SHARED in case some platforms #define it */
-#undef PTHREAD_PROCESS_SHARED
-int foo = PTHREAD_PROCESS_SHARED;
- ]])],[
- ace_cv_lib_pthread_process_enum=yes
- ],[
- ace_cv_lib_pthread_process_enum=no
- ])
- ],
- [
- AC_DEFINE([ACE_HAS_PTHREAD_PROCESS_ENUM])
- ],)
-
-dnl Check if pthread_create requires an extern "C" start routine
-ACE_CONVERT_WARNINGS_TO_ERRORS(
-[
-ACE_CACHE_CHECK([if pthread_create requires an extern \"C\" start routine],
- [ace_cv_lib_pthread_c_func],[
- AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
-#include <pthread.h>
-
-void *ace_start_routine(void *);
- ]], [[
-pthread_create(0, 0, ace_start_routine, 0);
- ]])],[
- ace_cv_lib_pthread_c_func=no
- ],[
- dnl Check if extern "C" start routine is required.
- AC_COMPILE_IFELSE([AC_LANG_PROGRAM(
- [[
-#include <pthread.h>
-
-extern "C" void *ace_start_routine(void *);
- ]],
- [[
-pthread_create(0, 0, ace_start_routine, 0);
- ]])],
- [
- ace_cv_lib_pthread_c_func=yes
- ],
- [
- ace_cv_lib_pthread_c_func=no
- ])
- ])
- ],
- [
- AC_DEFINE([ACE_HAS_THR_C_FUNC])
- ],)
-]) dnl ACE_CONVERT_WARNINGS_TO_ERRORS
-
-dnl Check if pthread_key_create has a standard arg thread destructor
-ACE_CACHE_CHECK([if pthread_key_create has std arg thread destructor],
- [ace_cv_lib_pthread_stdarg_dest],[
- if test "$ac_cv_func_pthread_key_create" = yes; then
- ace_pthread_key_create=pthread_key_create
- else
- ace_pthread_key_create=pthread_keycreate
- fi
- AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
-#include <pthread.h>
-
-void ace_destructor(void *);
- ]], [[
-${ace_pthread_key_create}(0, ace_destructor);
- ]])],[
- ace_cv_lib_pthread_stdarg_dest=no
- ],[
- AC_COMPILE_IFELSE([AC_LANG_PROGRAM(
- [[
-#include <pthread.h>
-
-void ace_destructor(...);
- ]],
- [[
-${ace_pthread_key_create}(0, ace_destructor);
- ]])],
- [
- ace_cv_lib_pthread_stdarg_dest=yes
- ],
- [
- ace_cv_lib_pthread_stdarg_dest=no
- ])
- ])
- ],
- [
- AC_DEFINE([ACE_HAS_STDARG_THR_DEST])
- ],)
-
-dnl Check if pthread_key_create requires an extern "C" start routine
-ACE_CONVERT_WARNINGS_TO_ERRORS([
-ACE_CACHE_CHECK([if pthread_key_create requires an extern \"C\" start routine],
- [ace_cv_lib_pthread_c_dest],[
- if test "$ac_cv_func_pthread_key_create" = yes; then
- ace_pthread_key_create=pthread_key_create
- else
- ace_pthread_key_create=pthread_keycreate
- fi
- AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
-#include <pthread.h>
-
-void ace_destructor(void *);
- ]], [[
-${ace_pthread_key_create}(0, ace_destructor);
- ]])],[
- ace_cv_lib_pthread_c_dest=no
- ],[
- dnl Check if extern "C" start routine is required.
- AC_COMPILE_IFELSE([AC_LANG_PROGRAM(
- [[
-#include <pthread.h>
-
-extern "C" void ace_destructor(void *);
- ]],
- [[
-${ace_pthread_key_create}(0, ace_destructor);
- ]])],
- [
- ace_cv_lib_pthread_c_dest=yes
- ],
- [
- ace_cv_lib_pthread_c_dest=no
- ])
- ])
- ],
- [
- AC_DEFINE([ACE_HAS_THR_C_DEST])
- ],)
-]) dnl ACE_CONVERT_WARNINGS_TO_ERRORS
-
-
-AC_CHECK_FUNC([sched_get_priority_min],,
- [
-dnl Check if the PTHREAD_MIN_PRIORITY constant exists.
- AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
-#include <pthread.h>
- ]], [[
- int p = (int) PTHREAD_MIN_PRIORITY;
- ]])
- ],
- [
- dnl Since we have PTHREAD_MIN_PRIORITY, denote that PX_PRIO_MIN
- dnl should not be used.
- ace_has_px_prio_min=no
- ],
- [
- dnl PTHREAD_MIN_PRIORITY doesn't appear to be defined, so
- dnl check if the platform defines PX_PRIO_MIN, instead.
-
- AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
-#include <pthread.h>
- ]], [[
- int p = (int) PX_PRIO_MIN;
- ]])],
- [
- ace_has_px_prio_min=yes
- ],
- [
- ace_has_px_prio_min=no
- ])
- ])
- ])
-
- if test "$ace_has_px_prio_min" = yes; then
- AC_DEFINE([PTHREAD_MIN_PRIORITY],
- [PX_PRIO_MIN],
- [Minimum thread priority])
- fi
-
-AC_CHECK_FUNC([sched_get_priority_max],,
- [
-dnl Check if the PTHREAD_MAX_PRIORITY constant exists.
- AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
-#include <pthread.h>
- ]], [[
- int p = (int) PTHREAD_MAX_PRIORITY;
- ]])
- ],
- [
- dnl Since we have PTHREAD_MAX_PRIORITY, denote that PX_PRIO_MAX
- dnl should not be used.
- ace_has_px_prio_max=no
- ],
- [
- dnl PTHREAD_MAX_PRIORITY doesn't appear to be defined, so
- dnl check if the platform defines PX_PRIO_MAX, instead.
-
- AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
-#include <pthread.h>
- ]], [[
- int p = (int) PX_PRIO_MAX;
- ]])],
- [
- ace_has_px_prio_max=yes
- ],
- [
- ace_has_px_prio_max=no
- ])
- ])
- ])
-
- if test "$ace_has_px_prio_max" = yes; then
- AC_DEFINE([PTHREAD_MAX_PRIORITY],
- [PX_PRIO_MAX],
- [Maximum thread priority])
- fi
-
- fi dnl test "$ace_has_pthreads" = yes
-
- if test "$ace_has_sthreads" = yes; then
-dnl Only check for these functions if we have the UNIX International
-dnl Threads library "thread."
- AC_CHECK_FUNC([thr_keycreate],
- [AC_DEFINE([ACE_HAS_THREAD_SPECIFIC_STORAGE])],
- [AC_DEFINE([ACE_HAS_TSS_EMULATION])])
-
- AC_CHECK_FUNC([thr_yield],
- [AC_DEFINE([ACE_HAS_THR_YIELD])],)
-
- AC_CHECK_FUNC([thr_keydelete],
- [AC_DEFINE([ACE_HAS_THR_KEYDELETE])],)
-
- AC_CHECK_FUNC([thr_min_stack],[],
- [
- AC_CHECK_FUNC([thr_minstack],
- [AC_DEFINE([ACE_HAS_THR_MINSTACK])],)
- ])
-
- fi dnl test "$ace_has_sthreads" = yes
-
-fi dnl test "$ace_user_enable_threads" = yes
-
-dnl
-dnl By Eric:
-dnl ACE will define a sigwait function if we lie and say we don't have
-dnl one. Unfortunately, the ACE function may conflict with our
-dnl function, so we'll go ahead and turn this on, even if we are
-dnl ignoring threads.
-AC_CHECK_FUNC([sigwait],
- [AC_DEFINE([ACE_HAS_SIGWAIT])],)
-
-
-dnl Check for reentrant functions
-if test "$ace_user_enable_reentrant_funcs" = yes; then
- dnl Temporarily select C as the test language to work around a bug in
- dnl some versions of Autoconf when C++ is selected as the test
- dnl language.
- AC_LANG_PUSH([C])
- AC_CHECK_FUNC([rand_r],,)
- AC_LANG_POP([C])
-
- AC_CHECK_FUNC([strtok_r],
- [
- dnl Check if _POSIX_SOURCE macro is needed to make the strtok_r()
- dnl prototype visible.
- ACE_CACHE_CHECK([for strtok_r prototype],
- [ace_cv_lib_has_strtok_r_prototype],
- [
- ace_save_CPPFLAGS="$CPPFLAGS"
- ace_no_posix="-U_POSIX_SOURCE $ACE_THR_CPPFLAGS"
- CPPFLAGS="$CPPFLAGS $ace_no_posix"
- AC_EGREP_HEADER([[^_]+strtok_r], [string.h],
- [
- ace_cv_lib_has_strtok_r_prototype=yes
- ],
- [
- ace_cv_lib_has_strtok_r_prototype=no
- ])
- dnl Reset the preprocessor flags
- CPPFLAGS="$ace_save_CPPFLAGS"
- ],, [AC_DEFINE([ACE_LACKS_STRTOK_R_PROTOTYPE])])
- ],)
-
- AC_CHECK_FUNC([getpwnam_r],
- [
- AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
-#ifndef _REENTRANT
-# define _REENTRANT
-#endif
-#ifdef HAVE_PWD_H
-# include <pwd.h>
-#endif
-#ifndef ACE_LACKS_SYS_TYPES_H
-# include <sys/types.h>
-#endif
- ]],
- [[
- const char * name;
- struct passwd * pwent;
- char * buffer;
- int buflen;
- struct passwd * result;
-
- int status = getpwnam_r (name, pwent, buffer, buflen, &result);
- ]])],
- [
- if test "$ace_user_enable_reentrant_funcs" = yes; then
- AC_DEFINE([ACE_HAS_POSIX_GETPWNAM_R])
- fi
- ],
- [
- dnl Nothing to do!
- ])
- ],
- [AC_DEFINE([ACE_LACKS_PWD_REENTRANT_FUNCTIONS])])
-
- AC_CHECK_FUNC([ctime_r],,)
-
- AC_CHECK_FUNC([localtime_r],,)
-
- AC_CHECK_FUNC([gmtime_r],,)
-
- AC_CHECK_FUNC([asctime_r],,)
-
- AC_CHECK_FUNC([getprotobyname_r],,)
-
- AC_CHECK_FUNC([getprotobynumber_r],,)
-
- AC_CHECK_FUNC([gethostbyaddr_r],,)
-
- AC_CHECK_FUNC([gethostbyname_r],,)
-
- AC_CHECK_FUNC([getservbyname_r],,)
-fi dnl End checks for reentrant functions
-
-AC_CHECK_FUNC([readdir_r],
- ,
- [AC_DEFINE([ACE_LACKS_READDIR_R])])
-
-dnl Disabled until we figure out what to do with the comparator
-dnl function argument inconsistencies between different platforms.
-dnl For example:
-dnl int comparator (const void * d1, const void * d2)
-dnl instead of:
-dnl int comparator (const dirent ** d1, const dirent ** d2)
-dnl
-dnl AC_CHECK_FUNC([scandir], [AC_DEFINE([ACE_HAS_SCANDIR])], [])
-
-AC_CHECK_FUNC([seekdir],
- ,
- [AC_DEFINE([ACE_LACKS_SEEKDIR])])
-
-AC_CHECK_FUNC([telldir],
- ,
- [AC_DEFINE([ACE_LACKS_TELLDIR])])
-
-
-dnl
-dnl SECTION 11: checks for function characteristics
-dnl
-
-ACE_CONVERT_WARNINGS_TO_ERRORS([
-dnl Check if dlopen takes a char * arg instead of const char *
- if test "$ace_has_svr4_dynamic_linking" = yes; then
- ACE_CACHE_CHECK([if dlopen takes a char *],
- [ace_cv_lib_charptr_dl],
- [
- dnl Check if it takes a const char *, first.
- AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
-#include <dlfcn.h>
- ]], [[
- const char *filename = 0;
- int flag = 0;
- void *ptr = dlopen(filename, flag);
- ]])],[
- ace_cv_lib_charptr_dl=no
- ],[
- dnl Now check if it takes a non-const char *.
- AC_COMPILE_IFELSE([AC_LANG_PROGRAM(
- [[
-#include <dlfcn.h>
- ]],
- [[
- char *filename = 0;
- int flag = 0;
- void *ptr = dlopen(filename, flag);
- ]])],
- [
- ace_cv_lib_charptr_dl=yes
- ],
- [
- ace_cv_lib_charptr_dl=no
- ])
- ])
- ], [AC_DEFINE([ACE_HAS_CHARPTR_DL])],)
- fi dnl test "$ace_has_svr4_dynamic_linking" = yes
-]) dnl ACE_CONVERT_WARNINGS_TO_ERRORS
-
-ACE_CONVERT_WARNINGS_TO_ERRORS([
-dnl Check if "getby" functions use a non-const char * argument
- if test "$ac_cv_func_gethostbyaddr" = yes; then
- ACE_CACHE_CHECK([\"getby\" functions take a non-const char *],
- [ace_cv_lib_nonconst_getby],
- [
- AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
-#include <sys/socket.h>
- ]], [[
- char *addr = 0;
- int len = 0;
- int type = 0;
- struct hostent *mystruct = 0;
-
- mystruct = gethostbyaddr(name, len, type);
- ]])],[
- ace_cv_lib_nonconst_getby=yes
- ],[
- ace_cv_lib_nonconst_getby=no
- ])
- ], [AC_DEFINE([ACE_HAS_NONCONST_GETBY])],)
- fi dnl test "$ac_cv_func_gethostbyaddr" = yes
-]) dnl ACE_CONVERT_WARNINGS_TO_ERRORS
-
-dnl Check if new throws exception upon failure
-if test "$ace_user_enable_exceptions" = yes; then
- ACE_CACHE_CHECK([if new throws std::bad_alloc exception on failure],
- [ace_cv_new_throws_bad_alloc_exception],
- [
- AC_RUN_IFELSE([AC_LANG_SOURCE([[
-#if defined (ACE_HAS_NEW_NO_H)
-# include <new>
-#elif defined (ACE_HAS_NEW_H)
-# include <new.h>
-#endif
-
-#if defined (ACE_HAS_STDEXCEPT_NO_H)
-# include <stdexcept>
-#elif defined (ACE_HAS_EXCEPTION_H)
-# include <exception.h>
-#endif
-
- int main(int, char *[]) {
- while (1) {
- try {
- char *a = new char[1024*1024];
- if (a == 0) {
- return 1; /* new() does NOT throw exceptions */
- }
- }
-
-#ifdef ACE_USES_STD_NAMESPACE_FOR_STDCPP_LIB
- catch (std::bad_alloc)
-#else
- catch (bad_alloc)
-#endif /* ACE_USES_STD_NAMESPACE_FOR_STDCPP_LIB */
- {
- return 0; /* new() does throw exceptions */
- }
- };
-
- return 1; /* ERROR: We shouldn't get this far! */
- }
- ]])],[
- ace_cv_new_throws_bad_alloc_exception=yes
- ],[
- ace_cv_new_throws_bad_alloc_exception=no
- ],[
- ace_cv_new_throws_bad_alloc_exception=no
- ])
- ], [AC_DEFINE([ACE_NEW_THROWS_EXCEPTIONS])],)
-
- if test "$ace_cv_new_throws_bad_alloc_exception" != yes; then
- ACE_CACHE_CHECK([if new throws xalloc exception on failure],
- [ace_cv_new_throws_xalloc_exception],
- [
- AC_RUN_IFELSE([AC_LANG_SOURCE([[
-#if defined (ACE_HAS_NEW_NO_H)
-# include <new>
-#elif defined (ACE_HAS_NEW_H)
-# include <new.h>
-#endif
-
-#if defined (ACE_HAS_STDEXCEPT_NO_H)
-# include <stdexcept>
-#elif defined (ACE_HAS_EXCEPTION_H)
-# include <exception.h>
-#endif
-
- int main(int, char *[]) {
- while (1) {
- try {
- char *a = new char[1024*1024];
- if (a == 0) {
- return 1; /* new() does NOT throw exceptions */
- }
- }
-
- catch (xalloc)
- {
- return 0; /* new() does throw exceptions */
- }
- };
-
- return 1; /* ERROR: We shouldn't get this far! */
- }
- ]])],[
- ace_cv_new_throws_xalloc_exception=yes
- ],[
- ace_cv_new_throws_xalloc_exception=no
- ],[
- ace_cv_new_throws_xalloc_exception=no
- ])
- ], [AC_DEFINE([ACE_NEW_THROWS_EXCEPTIONS])],)
- fi dnl ace_cv_new_throws_bad_alloc_exceptions = no
-fi dnl $ace_user_enable_exceptions = yes
-
-ACE_CONVERT_WARNINGS_TO_ERRORS([
-dnl Check if putmsg takes a const struct strbuf *
-dnl If we have getmsg() we can be pretty sure that we have putmsg()
- if test "$ac_cv_func_getmsg" = yes ||
- test "$ac_cv_header_stropts_h" = yes; then
- ACE_CACHE_CHECK([if putmsg takes a const struct strbuf*],
- [ace_cv_lib_const_strbufptr],
- [
- dnl Check if it takes a const struct strbuf *, first.
- AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
-#include <stropts.h>
- ]], [[
- int result = 0;
- int fd = 0;
- const struct strbuf * ace_str = 0;
- int flags = 0;
-
- result = putmsg(fd, ace_str, ace_str, flags);
- ]])],[
- ace_cv_lib_const_strbufptr=yes
- ],[
- ace_cv_lib_const_strbufptr=no
- ])
- ],, [AC_DEFINE([ACE_LACKS_CONST_STRBUF_PTR])])
- fi dnl "$ac_cv_func_getmsg" = yes || "$ac_cv_header_stropts_h" = yes
-]) dnl ACE_CONVERT_WARNINGS_TO_ERRORS
-
-dnl Check if select takes int instead of fd_set
-ACE_CONVERT_WARNINGS_TO_ERRORS([
- ACE_CACHE_CHECK([if select takes int instead of fd_set],
- [ace_cv_lib_select_takes_int],
- [
- AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
-#ifndef ACE_LACKS_SYS_TYPES_H
-# include <sys/types.h>
-#endif
-#include <sys/time.h>
-#ifndef ACE_LACKS_UNISTD_H
-# include <unistd.h>
-#endif
-#ifdef ACE_HAS_SELECT_H
-# include <sys/select.h>
-#endif
- ]], [[
- int n = 0;
- fd_set* readfds = 0;
- fd_set* writefds = 0;
- fd_set* exceptfds = 0;
- timeval* timeout = 0;
- int result = 0;
-
- result = select(n, readfds, writefds, exceptfds, timeout);
- ]])],[
- ace_cv_lib_select_takes_int=no
- ],[
-dnl Now check if select will actually take int* arguments
- AC_COMPILE_IFELSE([AC_LANG_PROGRAM(
- [[
-#ifndef ACE_LACKS_SYS_TYPES_H
-# include <sys/types.h>
-#endif
-#include <sys/time.h>
-#ifndef ACE_LACKS_UNISTD_H
-# include <unistd.h>
-#endif
-#ifdef ACE_HAS_SELECT_H
-# include <sys/select.h>
-#endif
- ]],
- [[
- int n = 0;
- int* readfds = 0;
- int* writefds = 0;
- int* exceptfds = 0;
- timeval* timeout = 0;
- int result = 0;
-
- result = select(n, readfds, writefds, exceptfds, timeout);
- ]])],
- [
- ace_cv_lib_select_takes_int=yes
- ],
- [
- ace_cv_lib_select_takes_int=no
- dnl If we get here we don't know what select() takes.
- ])
- ])
- ], [AC_DEFINE([ACE_SELECT_USES_INT])],)
-]) dnl ACE_CONVERT_WARNINGS_TO_ERRORS
-
-
-dnl Check if setrlimit() takes an enum as 1st argument
-ACE_CHECK_SETRLIMIT_ENUM
-
-dnl This test fails (i.e. passes when it shouldn't) when compiling with
-dnl GCC/G++ since the compiler treats passing a const to a non-const
-dnl argument as a warning and not as an error since the const is
-dnl simply discarded. To correct this problem, we use "-Werror" which
-dnl converts all warnings to errors, whenever we are compiling with
-dnl G++.
-dnl -Ossama
-
-ACE_CONVERT_WARNINGS_TO_ERRORS(
-[
-dnl Check if setrlimit() takes a const pointer as 2nd argument
-ACE_CACHE_CHECK([if setrlimit() takes a const pointer as 2nd argument],
- [ace_cv_lib_posix_setrlimit_const_2],[
- AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
-#include <sys/resource.h>
- ]], [[
- const struct rlimit* rlp = 0;
- setrlimit(RLIMIT_CPU, rlp);
- ]])],[
- ace_cv_lib_posix_setrlimit_const_2=yes
- ],[
- ace_cv_lib_posix_setrlimit_const_2=no
- ])
- ],, [AC_DEFINE([ACE_HAS_BROKEN_SETRLIMIT])])
-]) dnl ACE_CONVERT_WARNINGS_TO_ERRORS
-
-dnl Check if getrusage() takes an enum as 1st argument
-ACE_CHECK_GETRUSAGE_ENUM
-
-dnl TODO: This doesn't work.
-dnl The compiler in linux just issues a warning, and the test passes!!!
-dnl
-dnl FIXED by adding "-Werror" to compiler flags when using GNU C++
-dnl -Ossama
-ACE_CONVERT_WARNINGS_TO_ERRORS(
-[
-dnl Check if select takes a const fifth argument
-ACE_CACHE_CHECK([if select takes a const fifth argument],
- [ace_cv_lib_posix_select_const_5],[
- AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
-#ifndef ACE_LACKS_SYS_TYPES_H
-# include <sys/types.h>
-#endif
-#include <sys/time.h>
-#ifndef ACE_LACKS_UNISTD_H
-# include <unistd.h>
-#endif
-#ifdef ACE_HAS_SELECT_H
-# include <sys/select.h>
-#endif
- ]], [[
- int n = 0;
- fd_set *readfds = 0;
- fd_set *writefds = 0;
- fd_set *exceptfds = 0;
- const struct timeval* timeout = 0;
- select(n, readfds, writefds, exceptfds, timeout);
- ]])],[
- ace_cv_lib_posix_select_const_5=yes
- ],[
- ace_cv_lib_posix_select_const_5=no
- ])
- ], , [AC_DEFINE([ACE_HAS_NONCONST_SELECT_TIMEVAL])])
-]) dnl ACE_CONVERT_WARNINGS_TO_ERRORS
-
-dnl Only run the following tests if the msghdr structure exists.
-if test "$ace_cv_struct_msghdr" = yes &&
- test "$ac_cv_func_sendmsg" = yes; then
- ACE_CONVERT_WARNINGS_TO_ERRORS(
- [
-dnl Check if sendmsg takes a const 2nd argument
- ACE_CACHE_CHECK([if sendmsg omits the const from the second argument],
- [ace_cv_lib_broken_sendmsg],[
- AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
-#ifndef ACE_LACKS_SYS_TYPES_H
-# include <sys/types.h>
-#endif
-#include <sys/socket.h>
- ]], [[
- int s = 0;
- const struct msghdr *msg = 0;
- unsigned int flags = 0;
-
- int result = 0;
-
- result = (int) sendmsg(s, msg, flags);
- ]])],[
- ace_cv_lib_broken_sendmsg=no
- ],[
- ace_cv_lib_broken_sendmsg=yes
- ])
- ], [AC_DEFINE([ACE_HAS_BROKEN_SENDMSG])],)
- ]) dnl ACE_CONVERT_WARNINGS_TO_ERRORS
-fi dnl test "$ace_cv_struct_msghdr" = yes
-
-dnl Only run the following tests if the writev function exists
-if test "$ac_cv_header_sys_uio_h" = yes &&
- test "$ac_cv_func_writev" = yes; then
- ACE_CONVERT_WARNINGS_TO_ERRORS(
- [
-dnl Check if writev omits the const from the iovec argument
- ACE_CACHE_CHECK([if writev omits the const from the iovec argument],
- [ace_cv_lib_broken_writev],[
- AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
-#ifdef ACE_HAS_UNISTD_H
-# include <unistd.h>
-#endif
-
-#include <sys/uio.h>
- ]], [[
- int filedes = 0;
- const struct iovec *vector = 0;
- size_t count = 0;
-
- int result = 0;
-
- result = (int) writev(filedes, vector, count);
- ]])],[
- ace_cv_lib_broken_writev=no
- ],[
- ace_cv_lib_broken_writev=yes
- ])
- ], [AC_DEFINE([ACE_HAS_BROKEN_WRITEV])],)
- ]) dnl ACE_CONVERT_WARNINGS_TO_ERRORS
-fi dnl $ac_cv_header_sys_uio_h = yes && $ac_cv_func_writev = yes
-
-
-ACE_CONVERT_WARNINGS_TO_ERRORS(
-[
-ACE_CACHE_CHECK([for (struct sockaddr *) msg_name field in msghdr],
- [ace_cv_lib_sockaddr_msg_name],[
- AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
-#ifndef ACE_LACKS_SYS_TYPES_H
-# include <sys/types.h>
-#endif
-#include <sys/socket.h>
- ]], [[
- msghdr ace_msghdr;
- struct sockaddr *addr = 0;
-
- /*
- * Note that some platforms declare msg_name to be a void*,
- * in which case this assignment will work.
- * Should we _not_ define ACE_HAS_SOCKADDR_MSG_NAME in that
- * case? I tend to think it is more appropriate to define
- * ACE_HAS_SOCKADDR_MSG_NAME rather than cast addr to a char*,
- * as is done in ACE when the macro is not defined.
- * -Ossama
- */
- ace_msghdr.msg_name = (struct sockaddr *)addr;
- ]])],[
- ace_cv_lib_sockaddr_msg_name=yes
- ],[
- ace_cv_lib_sockaddr_msg_name=no
- ])
- ], [AC_DEFINE([ACE_HAS_SOCKADDR_MSG_NAME])],)
-]) dnl ACE_CONVERT_WARNINGS_TO_ERRORS
-
-
-ACE_CONVERT_WARNINGS_TO_ERRORS(
-[
-ACE_CACHE_CHECK([if setsockopt() takes a void* fourth argument],
- [ace_cv_lib_posix_setsockopt_voidp_4],
- [
- AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
-#ifndef ACE_LACKS_SYS_TYPES_H
-# include <sys/types.h>
-#endif
-#include <sys/socket.h>
- ]], [[
- int s = 0;
- int level = 0;
- int optname = 0;
- void* optval = 0;
-
-#if defined (ACE_HAS_SOCKLEN_T)
- socklen_t optlen = 0;
-#elif defined (ACE_HAS_SIZET_SOCKET_LEN)
- size_t optlen = 0;
-#else
- int optlen = 0;
-#endif
-
- setsockopt (s, level, optname, optval, optlen);
- ]])],[
- ace_cv_lib_posix_setsockopt_voidp_4=yes
- ],[
- ace_cv_lib_posix_setsockopt_voidp_4=no
- ])
- ],
- [
- AC_DEFINE([ACE_HAS_VOIDPTR_SOCKOPT])
- ],
- [
- ACE_CACHE_CHECK([if setsockopt() takes a char* fourth argument],
- [ace_cv_lib_posix_setsockopt_charp_4],
- [
- AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
-#ifndef ACE_LACKS_SYS_TYPES_H
-# include <sys/types.h>
-#endif
-#include <sys/socket.h>
- ]], [[
- int s = 0;
- int level = 0;
- int optname = 0;
- char* optval = 0;
-
-#if defined (ACE_HAS_SOCKLEN_T)
- socklen_t optlen = 0;
-#elif defined (ACE_HAS_SIZET_SOCKET_LEN)
- size_t optlen = 0;
-#else
- int optlen = 0;
-#endif
-
- setsockopt (s, level, optname, optval, optlen);
- ]])],[
- ace_cv_lib_posix_setsockopt_charp_4=yes
- ],[
- ace_cv_lib_posix_setsockopt_charp_4=no
- ])
- ],
- [
- AC_DEFINE([ACE_HAS_CHARPTR_SOCKOPT])
- ],)
- ])
-]) dnl ACE_CONVERT_WARNINGS_TO_ERRORS
-
-ACE_CONVERT_WARNINGS_TO_ERRORS(
-[
-ACE_CACHE_CHECK([if mmap() takes a void* first argument],
- [ace_cv_lib_posix_voidptr_mmap],[
- AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
-#ifndef ACE_LACKS_SYS_TYPES_H
-# include <sys/types.h>
-#endif
-#ifndef ACE_LACKS_UNISTD_H
-# include <unistd.h>
-#endif
-#include <sys/mman.h>
- ]], [[
- void *start = 0;
- size_t length = 0;
- int prot = 0;
- int flags = 0;
- int fd = 0;
- off_t offset = 0;
-
- void *result = 0;
-
- result = (void *)mmap(start, length, prot, flags, fd, offset);
- ]])],[
- ace_cv_lib_posix_voidptr_mmap=yes
- ],[
- ace_cv_lib_posix_voidptr_mmap=no
- ])
- ], [AC_DEFINE([ACE_HAS_VOIDPTR_MMAP])],)
-]) dnl ACE_CONVERT_WARNINGS_TO_ERRORS
-
-dnl Check if msync is broken, i.e. doesn't accept third "sync" argument.
-dnl This test should come after the test for checking if mmap takes a void*
-dnl argument since we need the ACE_MMAP_TYPE type for this test.
-if test "$ac_cv_func_msync" = yes; then
-ACE_CACHE_CHECK([if msync accepts a third \"sync\" argument],
- [ace_cv_lib_broken_msync],
- [
- AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
-#include <sys/mman.h>
-
-#if defined (ACE_HAS_VOIDPTR_MMAP)
- /* Needed for some odd OS's (e.g., SGI). */
- typedef void *ACE_MMAP_TYPE;
-#else
- typedef char *ACE_MMAP_TYPE;
-#endif /* ACE_HAS_VOIDPTR_MMAP */
- ]], [[
- ACE_MMAP_TYPE start = 0;
- size_t length = 0;
- int flags = MS_SYNC;
-
- int result;
-
- result = msync(start, length, flags);
- ]])],[
- ace_cv_lib_broken_msync=no
- ],[
- dnl Now see if it works with just two arguments
- AC_COMPILE_IFELSE([AC_LANG_PROGRAM(
- [[
-#include <sys/mman.h>
-
-#if defined (ACE_HAS_VOIDPTR_MMAP)
- /* Needed for some odd OS's (e.g., SGI). */
- typedef void *ACE_MMAP_TYPE;
-#else
- typedef char *ACE_MMAP_TYPE;
-#endif /* ACE_HAS_VOIDPTR_MMAP */
- ]],
- [[
- ACE_MMAP_TYPE start = 0;
- size_t length = 0;
-
- int result;
-
- result = msync(start, length);
- ]])],
- [
- ace_cv_lib_broken_msync=yes
- ],
- [
- dnl If we get to this point then we don't know if msync is
- dnl is broken or not.
- ace_cv_lib_broken_msync=no
- ])
- ])
- ], [AC_DEFINE([ACE_HAS_BROKEN_NETBSD_MSYNC])],)
-fi dnl test "$ac_cv_func_msync" = yes
-
-dnl Check if platform has iostream method ipfx()
-ACE_CACHE_CHECK([for iostream method ipfx()],
- [ace_cv_feature_has_iostream_ipfx],[
- AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
-#include <iostream.h>
- ]], [[
- cin.ipfx();
- ]])],[
- ace_cv_feature_has_iostream_ipfx=yes
- ],[
- ace_cv_feature_has_iostream_ipfx=no
- ])
- ], , [AC_DEFINE([ACE_LACKS_IOSTREAM_FX])])
-
-dnl Check if platform has line-buffered streambufs
-ACE_CACHE_CHECK([for line-buffered streambufs],
- [ace_cv_feature_has_linebuffered_streambuf],[
- AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
-#include <iostream.h>
- ]], [[
- cin.rdbuf()->linebuffered(1);
- ]])],[
- ace_cv_feature_has_linebuffered_streambuf=yes
- ],[
- ace_cv_feature_has_linebuffered_streambuf=no
- ])
- ], , [AC_DEFINE([ACE_LACKS_LINEBUFFERED_STREAMBUF])])
-
-dnl Check if platform has unbuffered streambufs
-ACE_CACHE_CHECK([for unbuffered streambufs],
- [ace_cv_feature_has_unbuffered_streambuf],[
- AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
-#include <iostream.h>
- ]], [[
- cin.rdbuf()->unbuffered(1);
- ]])],[
- ace_cv_feature_has_unbuffered_streambuf=yes
- ],[
- ace_cv_feature_has_unbuffered_streambuf=no
- ])
- ], , [AC_DEFINE([ACE_LACKS_UNBUFFERED_STREAMBUF])])
-
-
-dnl Check if signal takes a void (*)(int) as second argument
-ACE_CONVERT_WARNINGS_TO_ERRORS(
-[
-ACE_CACHE_CHECK([if signal takes a void (*)(int) as second argument],
- [ace_cv_lib_signal_vi1_2],[
- AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
-#include <signal.h>
- typedef void (*SA)(int);
- void handler(int) { }
- ]], [[
- SA nn = handler;
- signal(SIGINT, nn);
- ]])],[
- ace_cv_lib_signal_vi1_2=yes
- ],[
- dnl Check if extern "C" signal handler is required.
- AC_COMPILE_IFELSE([AC_LANG_PROGRAM(
- [[
-#include <signal.h>
-extern "C"
- {
- typedef void (*SA)(int);
- void handler(int) { }
- }
- ]],
- [[
- SA nn = handler;
- signal(SIGINT, nn);
- ]])],
- [
- ace_cv_lib_signal_vi1_2=yes
- ],
- [
- ace_cv_lib_signal_vi1_2=no
- ])
- ])
- ],
- [
- AC_DEFINE([ACE_HAS_SIG_C_FUNC])
- ],)
-]) dnl ACE_CONVERT_WARNINGS_TO_ERRORS
-
-dnl Check if signal takes a void (*)(void) as second argument
-ACE_CONVERT_WARNINGS_TO_ERRORS(
-[
-ACE_CACHE_CHECK([if signal takes a void (*)(void) as second argument],
- [ace_cv_lib_signal_vv1_2],[
- AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
-#include <signal.h>
- typedef void (*SA)(void);
- void handler(void) { }
- ]], [[
- SA nn = handler;
- signal(SIGINT, nn);
- ]])],[
- ace_cv_lib_signal_vv1_2=yes
- ],[
- dnl Check if extern "C" signal handler is required.
- AC_COMPILE_IFELSE([AC_LANG_PROGRAM(
- [[
-#include <signal.h>
-extern "C"
- {
- typedef void (*SA)(void);
- void handler(void) { }
- }
- ]],
- [[
- SA nn = handler;
- signal(SIGINT, nn);
- ]])],
- [
- ace_cv_lib_signal_vv1_2=yes
- ],
- [
- ace_cv_lib_signal_vv1_2=no
- ])
- ])
- ],
- [
- AC_DEFINE([ACE_HAS_SIG_C_FUNC])
- ])
-]) dnl ACE_CONVERT_WARNINGS_TO_ERRORS
-
-dnl Check if signal takes a void (*)(int, ...) as second argument
-ACE_CONVERT_WARNINGS_TO_ERRORS(
-[
-ACE_CACHE_CHECK([if signal takes a void (*)(int, ...) as second argument],
- [ace_cv_lib_signal_vi1a2_2],[
- AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
-#include <signal.h>
- typedef void (*SA)(int, ...);
- void handler(int, ...) { }
- ]], [[
- SA nn = handler;
- signal(SIGINT, nn);
- ]])],[
- ace_cv_lib_signal_vi1a2_2=yes
- ],[
- dnl Check if extern "C" signal handler is required.
- AC_COMPILE_IFELSE([AC_LANG_PROGRAM(
- [[
-#include <signal.h>
-extern "C"
- {
- typedef void (*SA)(int, ...);
- void handler(int, ...) { }
- }
- ]],
- [[
- SA nn = handler;
- signal(SIGINT, nn);
- ]])],
- [
- ace_cv_lib_signal_vi1a2_2=yes
- ],
- [
- ace_cv_lib_signal_vi1a2_2=no
- ])
- ])
- ],
- [
- AC_DEFINE([ACE_HAS_SIG_C_FUNC])
- ],)
-]) dnl ACE_CONVERT_WARNINGS_TO_ERRORS
-
-dnl Check if signal takes a void (*)(...) as second argument
-ACE_CONVERT_WARNINGS_TO_ERRORS(
-[
-ACE_CACHE_CHECK([if signal takes a void (*)(...) as second argument],
- [ace_cv_lib_signal_va1_2],[
- AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
-#include <signal.h>
- typedef void (*SA)(...);
- void handler(...) { }
- ]], [[
- SA nn = handler;
- signal(SIGINT, nn);
- ]])],[
- ace_cv_lib_signal_va1_2=yes
- ],[
- dnl Check if extern "C" signal handler is required.
- AC_COMPILE_IFELSE([AC_LANG_PROGRAM(
- [[
-#include <signal.h>
-extern "C"
- {
- typedef void (*SA)(...);
- void handler(...) { }
- }
- ]],
- [[
- SA nn = handler;
- signal(SIGINT, nn);
- ]])],
- [
- ace_cv_lib_signal_va1_2=yes
- ],
- [
- ace_cv_lib_signal_va1_2=no
- ])
- ])
- ],
- [
- AC_DEFINE([ACE_HAS_SIG_C_FUNC])
- ],)
-]) dnl ACE_CONVERT_WARNINGS_TO_ERRORS
-
-dnl Check if signal returns a void (*)(int)
-AC_CACHE_CHECK([if signal returns a void (*)(int)],
- [ace_cv_lib_signal_vi1_ret],[
- AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
-#include <signal.h>
-
-typedef void (*SA)(int);
-void foo(SA nn) { }
- ]], [[
-SA nn = SIG_DFL;
-nn = signal(SIGINT, 0);
-foo(nn);
- ]])],[
- ace_cv_lib_signal_vi1_ret=yes
- ],[
- ace_cv_lib_signal_vi1_ret=no
- ])
- ])
-
-dnl Check if signal returns a void (*)(void)
-AC_CACHE_CHECK([if signal returns a void (*)(void)],
- [ace_cv_lib_signal_vv1_ret],[
- AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
-#include <signal.h>
-
-typedef void (*SA)(void);
-void foo(SA nn) { }
- ]], [[
-SA nn = SIG_DFL;
-nn = signal(SIGINT, 0);
-foo(nn);
- ]])],[
- ace_cv_lib_signal_vv1_ret=yes
- ],[
- ace_cv_lib_signal_vv1_ret=no
- ])
- ])
-
-dnl Check if signal returns a void (*)(int, ...)
-AC_CACHE_CHECK([if signal returns a void (*)(int, ...)],
- [ace_cv_lib_signal_vi1a2_ret],[
- AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
-#include <signal.h>
-
-typedef void (*SA)(int, ...);
- ]], [[
- SA oo = signal(SIGINT, 0);
- ]])],[
- ace_cv_lib_signal_vi1a2_ret=yes
- ],[
- ace_cv_lib_signal_vi1a2_ret=no
- ])
- ])
-
-dnl Check if signal returns a void (*)(...)
-AC_CACHE_CHECK([if signal returns a void (*)(...)],
- [ace_cv_lib_signal_va1_ret],[
- AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
-#include <signal.h>
-
-typedef void (*SA)(...);
- ]], [[
- SA oo = signal(SIGINT, 0);
- ]])],[
- ace_cv_lib_signal_va1_ret=yes
- ],[
- ace_cv_lib_signal_va1_ret=no
- ])
- ])
-
-if test "$ace_cv_struct_sigaction" = yes; then
-dnl Check if struct sigaction takes a void (*)(int) handler
- AC_CACHE_CHECK([if struct sigaction takes a void (*)(int) handler],
- [ace_cv_lib_struct_sigaction_vi1_handler],[
- AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
-#include <signal.h>
- typedef void (*SA)(int);
- void foo(struct sigaction* sa, SA nn) { }
- ]], [[
- struct sigaction sa;
- SA nn = SIG_DFL;
- sa.sa_handler = nn;
- foo(&sa, nn);
- ]])],[
- ace_cv_lib_struct_sigaction_vi1_handler=yes
- ],[
- ace_cv_lib_struct_sigaction_vi1_handler=no
- ])
- ])
-
-dnl Check if struct sigaction takes a void (*)(void) handler
- AC_CACHE_CHECK([if struct sigaction takes a void (*)(void) handler],
- [ace_cv_lib_struct_sigaction_vv1_handler],[
- AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
-#include <signal.h>
- typedef void (*SA)(void);
- void foo(struct sigaction* sa, SA nn) { }
- ]], [[
- struct sigaction sa;
- SA nn = SIG_DFL;
- sa.sa_handler = nn;
- foo(&sa, nn);
- ]])],[
- ace_cv_lib_struct_sigaction_vv1_handler=yes
- ],[
- ace_cv_lib_struct_sigaction_vv1_handler=no
- ])
- ])
-
-dnl Check if struct sigaction takes a void (*)(int, ...) handler
- AC_CACHE_CHECK([if struct sigaction takes a void (*)(int, ...) handler],
- [ace_cv_lib_struct_sigaction_vi1a2_handler],[
- AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
-#include <signal.h>
- typedef void (*SA)(int, ...);
- void foo(struct sigaction* sa, SA nn) { }
- ]], [[
- struct sigaction sa;
- SA nn = SIG_DFL;
- sa.sa_handler = nn;
- foo(&sa, nn);
- ]])],[
- ace_cv_lib_struct_sigaction_vi1a2_handler=yes
- ],[
- ace_cv_lib_struct_sigaction_vi1a2_handler=no
- ])
- ])
-
-dnl Check if struct sigaction takes a void (*)(...) handler
- AC_CACHE_CHECK([if struct sigaction takes a void (*)(...) handler],
- [ace_cv_lib_struct_sigaction_va1_handler],[
- AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
-#include <signal.h>
- typedef void (*SA)(...);
- void foo(struct sigaction* sa, SA nn) { }
- ]], [[
- struct sigaction sa;
- SA nn = SIG_DFL;
- sa.sa_handler = nn;
- foo(&sa, nn);
- ]])],[
- ace_cv_lib_struct_sigaction_va1_handler=yes
- ],[
- ace_cv_lib_struct_sigaction_va1_handler=no
- ])
- ])
-fi dnl test "$ace_cv_struct_sigaction" = yes
-
-dnl TODO: This doesn't work.
-dnl The linux compiler issues a warning regarding the invalid void*
-dnl conversion.
-dnl
-dnl FIXED by adding "-Werror" to compiler flags when using GNU C++
-dnl -Ossama
-ACE_CONVERT_WARNINGS_TO_ERRORS(
-[
-dnl Check if msgsnd() takes a struct msgbuf* second argument
-ACE_CACHE_CHECK([if msgsnd() takes a struct msgbuf* second argument],
- [ace_cv_lib_posix_msgsnd_msgbufp_2],[
- AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
-#ifndef ACE_LACKS_SYS_TYPES_H
-# include <sys/types.h>
-#endif
-# include <sys/ipc.h>
-#ifndef ACE_LACKS_SYSV_MSG_H
-# include <sys/msg.h>
-#endif
- ]], [[
- int msqid = 0;
- struct msgbuf* msgp = 0;
- int msgsz = 0;
- int msgflg = 0;
- msgsnd(msqid, msgp, msgsz, msgflg);
- ]])],[
- ace_cv_lib_posix_msgsnd_msgbufp_2=yes
- ],[
- ace_cv_lib_posix_msgsnd_msgbufp_2=no
- ])
- ],
- [
- dnl "ACTIONS-IF-SUCCESSFUL" handled later in configure.in
- ],
- [
- dnl Check if msgsnd() takes a const void* second argument
- ACE_CACHE_CHECK([if msgsnd() takes a const void* second argument],
- [ace_cv_lib_posix_msgsnd_cvoidp_2],[
- AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
-#ifndef ACE_LACKS_SYS_TYPES_H
-# include <sys/types.h>
-#endif
-# include <sys/ipc.h>
-#ifndef ACE_LACKS_SYSV_MSG_H
-# include <sys/msg.h>
-#endif
- ]], [[
- int msqid = 0;
- const void* msgp = 0;
- int msgsz = 0;
- int msgflg = 0;
- msgsnd(msqid, msgp, msgsz, msgflg);
- ]])],[
- ace_cv_lib_posix_msgsnd_cvoidp_2=yes
- ],[
- ace_cv_lib_posix_msgsnd_cvoidp_2=no
- ])
- ],
- [
- dnl Do nothing if msgsnd takes a const void* second argument
- ],
- [
- dnl If we get this far we presumably have a non-const void* second param
- AC_DEFINE([ACE_HAS_NONCONST_MSGSND])
- ])
- ])
-]) dnl ACE_CONVERT_WARNINGS_TO_ERRORS
-
-dnl TODO: This doesn't work.
-dnl The linux compiler issues a warning regarding the invalid void*
-dnl conversion.
-dnl
-dnl FIXED by adding "-Werror" to compiler flags when using GNU C++
-dnl -Ossama
-ACE_CONVERT_WARNINGS_TO_ERRORS(
-[
-dnl Check if msgrcv() takes a void* second argument
-AC_CACHE_CHECK([if msgrcv() takes a void* second argument],
- [ace_cv_lib_posix_msgrcv_voidp_2],[
- AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
-#ifndef ACE_LACKS_SYS_TYPES_H
-# include <sys/types.h>
-#endif
-# include <sys/ipc.h>
-#ifndef ACE_LACKS_SYSV_MSG_H
-# include <sys/msg.h>
-#endif
- ]], [[
- int msqid = 0;
- void* msgp = 0;
- int msgsz = 0;
- long msgtyp = 0;
- int msgflg = 0;
- msgrcv(msqid, msgp, msgsz, msgtyp, msgflg);
- ]])],[
- ace_cv_lib_posix_msgrcv_voidp_2=yes
- ],[
- ace_cv_lib_posix_msgrcv_voidp_2=no
- ])
- ])
-]) dnl ACE_CONVERT_WARNINGS_TO_ERRORS
-
-dnl TODO: This doesn't work.
-dnl The linux compiler issues a warning regarding the invalid void*
-dnl conversion.
-dnl
-dnl FIXED by adding "-Werror" to compiler flags when using GNU C++
-dnl -Ossama
-ACE_CONVERT_WARNINGS_TO_ERRORS(
-[
-dnl Check if shmat() takes a void* second argument
-AC_CACHE_CHECK([if shmat() takes a void* second argument],
- [ace_cv_lib_posix_shmat_voidp_2],[
- AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
-#ifndef ACE_LACKS_SYS_TYPES_H
-# include <sys/types.h>
-#endif
-# include <sys/ipc.h>
-# include <sys/shm.h>
- ]], [[
- int shmid = 0;
- void* shmaddr = 0;
- int shmflg = 0;
- shmat(shmid, shmaddr, shmflg);
- ]])],[
- ace_cv_lib_posix_shmat_voidp_2=yes
- ],[
- ace_cv_lib_posix_shmat_voidp_2=no
- ])
- ])
-]) dnl ACE_CONVERT_WARNINGS_TO_ERRORS
-
-dnl TODO: This doesn't work.
-dnl The linux compiler issues a warning regarding the invalid void*
-dnl conversion.
-dnl
-dnl FIXED by adding "-Werror" to compiler flags when using GNU C++
-dnl -Ossama
-ACE_CONVERT_WARNINGS_TO_ERRORS(
-[
-dnl Check if sigaction() takes a const* second argument
-AC_CACHE_CHECK([if sigaction() takes a const* second argument],
- [ace_cv_lib_posix_sigaction_constp_2],[
- AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
-#include <signal.h>
- ]], [[
- int signum = 0;
- const struct sigaction* act = 0;
- struct sigaction* oldact = 0;
- sigaction(signum, act, oldact);
- ]])],[
- ace_cv_lib_posix_sigaction_constp_2=yes
- ],[
- ace_cv_lib_posix_sigaction_constp_2=no
- ])
- ])
-]) dnl ACE_CONVERT_WARNINGS_TO_ERRORS
-
-dnl Check if the wait() system call takes a (union wait *) rather than int *
-ACE_CACHE_CHECK([if wait() takes a (union wait *) rather than int *],
- [ace_cv_lib_wait_takes_union_wait_ptr],
- [
- AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
-#include <sys/wait.h>
- ]], [[
- int* status = 0;
- int result = 0;
- result=wait(status);
- ]])],[
- ace_cv_lib_wait_takes_union_wait_ptr=no
- ],[
- AC_COMPILE_IFELSE([AC_LANG_PROGRAM(
- [[
-#include <sys/wait.h>
- ]],
- [[
- union wait* status = 0;
- int result = 0;
- result=wait(status);
- ]])],
- [
- ace_cv_lib_wait_takes_union_wait_ptr=yes
- ],
- [
-dnl If we get here then we're screwed! We can't use int* or union wait*.
-dnl It is very unlikely that we will ever get this far. For the sake
-dnl of setting some result, we'll assume that we can actually use int*.
- ace_cv_lib_wait_takes_union_wait_ptr=no
- AC_MSG_WARN([wait() doesn't seem to take either int* or union wait*])
- AC_MSG_WARN([as an argument. Going to assume that int* will work.])
- ])
- ])
- ], [AC_DEFINE([ACE_HAS_UNION_WAIT])],)
-
-dnl We need to use the ACE_CONVERT_WARNINGS_TO_ERRORS() macro since
-dnl passing a void * just caused implicit conversion warnings when
-dnl using GNU C++, for example.
-ACE_CONVERT_WARNINGS_TO_ERRORS(
-[
-dnl Check for SVR4 style gettimeofday()
-AC_CACHE_CHECK([if gettimeofday() takes a void * second argument],
- [ace_cv_lib_voidptr_gettimeofday],
- [
- AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
-#include <sys/time.h>
-#ifndef ACE_LACKS_UNISTD_H
-# include <unistd.h>
-#endif
- ]], [[
- struct timeval *tv = 0;
- void *tzp = 0;
-
- gettimeofday(tv, tzp);
- ]])],[
- ace_cv_lib_voidptr_gettimeofday=yes
- ],[
- ace_cv_lib_voidptr_gettimeofday=no
- ])
- ])
-]) dnl ACE_CONVERT_WARNINGS_TO_ERRORS
-
-if test "$ace_cv_lib_voidptr_gettimeofday" = no; then
-ACE_CONVERT_WARNINGS_TO_ERRORS(
-[
-dnl Check for old OSF1 style gettimeofday()
- AC_CACHE_CHECK([if gettimeofday() takes a timezone * second argument],
- [ace_cv_lib_timezone_gettimeofday],
- [
- AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
-#include <sys/time.h>
-#ifndef ACE_LACKS_UNISTD_H
-# include <unistd.h>
-#endif
- ]], [[
- struct timeval *tv = 0;
- struct timezone *tzp = 0;
-
- gettimeofday(tv, tzp);
- ]])],[
- ace_cv_lib_timezone_gettimeofday=yes
- ],[
- ace_cv_lib_timezone_gettimeofday=no
- ])
- ])
-]) dnl ACE_CONVERT_WARNINGS_TO_ERRORS
-fi dnl test "$ace_cv_lib_voidptr_gettimeofday" = no
-
-dnl Check for gettimeofday() protoype
-if test "$ace_cv_lib_voidptr_gettimeofday" = yes ||
- test "$ace_cv_lib_timezone_gettimeofday" = yes; then
- ACE_CACHE_CHECK([for gettimeofday() protoype],
- [ace_cv_lib_has_gettimeofday_prototype],
- [
- AC_EGREP_CPP([gettimeofday],
- [
-#include <time.h>
-
-#ifdef ACE_LACKS_SYSTIME_H
-# include <sys/time.h>
-#endif
- ],
- [
-dnl We have a gettimeofday prototype
- ace_cv_lib_has_gettimeofday_prototype=yes
- ],
- [
-dnl We don't have a gettimeofday prototype
- ace_cv_lib_has_gettimeofday_prototype=no
- ])
- ],
- [
- if test "$ace_cv_lib_voidptr_gettimeofday" = yes; then
- AC_DEFINE([ACE_HAS_SUNOS4_GETTIMEOFDAY])
- else
- AC_DEFINE([ACE_HAS_TIMEZONE_GETTIMEOFDAY])
- fi
- ],
- [
- if test "$ace_cv_lib_voidptr_gettimeofday" = yes; then
- AC_DEFINE([ACE_HAS_SVR4_GETTIMEOFDAY])
- else
- AC_DEFINE([ACE_HAS_OSF1_GETTIMEOFDAY])
- fi
- ])
-fi dnl Check for gettimeofday() protoype
-
-
-dnl Check if ctime_r() takes two arguments
-if test "$ac_cv_func_ctime_r" = yes; then
- ACE_CACHE_CHECK([if ctime_r() takes two arguments],
- [ace_cv_lib_posix_ctime_r_2_params],
- [
- AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
-#ifndef _REENTRANT
-# define _REENTRANT
-#endif
-
-#include <time.h>
-
-#if defined(ACE_LACKS_SYSTIME_H)
-# include <sys/time.h>
-#endif
- ]], [[
- const time_t *t = 0;
- char *buf;
- ctime_r(t, buf);
- ]])],[
- ace_cv_lib_posix_ctime_r_2_params=yes
- ],[
- ace_cv_lib_posix_ctime_r_2_params=no
- ])
- ], [AC_DEFINE([ACE_HAS_2_PARAM_ASCTIME_R_AND_CTIME_R])],)
-fi dnl test "$ac_cv_func_ctime_r" = yes
-
-
-dnl
-dnl SECTION 12: checks for type characteristics
-dnl
-
-dnl struct msghdr stuff
-dnl Only run the following tests if the msghdr structure exists.
-if test "$ace_cv_struct_msghdr" = yes; then
-
- ACE_CACHE_CHECK([if struct msghdr has a msg_accrights member],
- [ace_cv_lib_posix_struct_msghdr_has_msg_accrights],[
- AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
-#ifndef ACE_LACKS_SYS_TYPES_H
-# include <sys/types.h>
-#endif
-#include <sys/socket.h>
- ]], [[
- msghdr mh;
- mh.msg_accrights = 0;
- ]])],[
- ace_cv_lib_posix_struct_msghdr_has_msg_accrights=yes
- ],[
- ace_cv_lib_posix_struct_msghdr_has_msg_accrights=no
- ])
- ])
-
- ACE_CACHE_CHECK([if struct msghdr has a msg_accrightslen member],
- [ace_cv_lib_posix_struct_msghdr_has_msg_accrightslen],[
- AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
-#ifndef ACE_LACKS_SYS_TYPES_H
-# include <sys/types.h>
-#endif
-#include <sys/socket.h>
- ]], [[
- msghdr mh;
- mh.msg_accrightslen = 0;
- ]])],[
- ace_cv_lib_posix_struct_msghdr_has_msg_accrightslen=yes
- ],[
- ace_cv_lib_posix_struct_msghdr_has_msg_accrightslen=no
- ])
- ])
-
-dnl Check for 4.4 BSD style struct msghdr members
-dnl The following test should only be run if the above two testsfail.
- if test "$ace_cv_lib_posix_struct_msghdr_has_msg_accrights" = no &&
- test "$ace_cv_lib_posix_struct_msghdr_has_msg_accrightslen" = no; then
- AC_DEFINE([ACE_LACKS_MSG_ACCRIGHTS])
- ACE_CACHE_CHECK([for 4.4 BSD style struct msghdr],
- [ace_cv_lib_4_4bsd_msghdr],[
- AC_EGREP_HEADER([msg_control], [sys/socket.h],
- [
- ace_cv_lib_4_4bsd_msghdr=yes
- ],
- [
- ace_cv_lib_4_4bsd_msghdr=no
- ])
- ],
- [
- AC_DEFINE([ACE_HAS_4_4BSD_SENDMSG_RECVMSG])
- ],
- [
- AC_MSG_WARN([No supported msghdr structure was found. ACE may not compile or function properly.])
- ])
- fi
-
-dnl Now check if CMSG_DATA is defined if and only if we have 4.4 BSD
-dnl style struct msghdr members. If CMSG_DATA isn't defined, then
-dnl we try to figure out what it should be defined to.
- if test "$ace_cv_lib_4_4bsd_msghdr" = yes; then
- ACE_CACHE_CHECK([if CMSG_DATA is defined],
- [ace_cv_lib_cmsg_data],
- [
- AC_COMPILE_IFELSE([AC_LANG_PROGRAM(
- [[
-#ifndef ACE_LACKS_SYS_TYPES_H
-# include <sys/types.h>
-#endif
-#include <sys/socket.h>
-#include <sys/un.h> /* @@ Is this header necessary? */
- ]],
- [[
- cmsghdr ace_cmsg;
- void * c = CMSG_DATA (&ace_cmsg);
- ]])],
- [
- ace_cv_lib_cmsg_data=yes
- ],
- [
- ace_cv_lib_cmsg_data=no
-dnl Now check which type of CMSG_DATA #define we need.
- AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
-#ifndef ACE_LACKS_SYS_TYPES_H
-# include <sys/types.h>
-#endif
-#include <sys/socket.h>
-#include <sys/un.h>
- ]], [[
- /* This is sloppy. Oh well. */
- unsigned char ace_cmsg_data[0];
-
- cmsghdr ace_cmsg;
- ace_cmsg.cmsg_data = ace_cmsg_data;
- ]])],,[
- AC_COMPILE_IFELSE([AC_LANG_PROGRAM(
- [[
-#ifndef ACE_LACKS_SYS_TYPES_H
-# include <sys/types.h>
-#endif
-#include <sys/socket.h>
-#include <sys/un.h>
- ]],
- [[
- /* This is sloppy. Oh well. */
- unsigned char ace_cmsg_data[0];
-
- cmsghdr ace_cmsg;
- ace_cmsg.__cmsg_data = ace_cmsg_data;
- ]])],
- [
- AC_MSG_ERROR([cmsgmdr member '__cmsg_data[0]' not supported by ACE's CMSG_DATA macro])
- ],
- [
- AC_COMPILE_IFELSE([AC_LANG_PROGRAM(
- [[
-#ifndef ACE_LACKS_SYS_TYPES_H
-# include <sys/types.h>
-#endif
-#include <sys/socket.h>
-#include <sys/un.h>
- ]],
- [[
- cmsghdr ace_cmsg;
- ]])],
- [
- AC_CACHE_VAL([ace_cv_lib_cmsg_data_member],
- [ace_cv_lib_cmsg_data_member=no])
- ],
- [
- AC_MSG_ERROR([No supported cmsghdr structure exists. ACE cannot be built without one.])
- ])
- ])
- ])
- ])
- ], ,
- [
- AC_DEFINE([ACE_LACKS_CMSG_DATA_MACRO])
- if test "$ace_cv_lib_cmsg_data_member"=no; then
- AC_DEFINE([ACE_LACKS_CMSG_DATA_MEMBER])
- fi
-
- ])
- fi dnl test "$ace_cv_lib_4_4bsd_msghdr" = yes
-
-fi dnl End struct msghdr_stuff
-
-dnl
-dnl SECTION 13: checks for system services
-dnl
-
-dnl Do not run this test if we are using a cross-compiler.
-if test "$cross_compiling" != yes; then
- AC_SYS_RESTARTABLE_SYSCALLS
- if test "$ac_cv_sys_restartable_syscalls" = yes; then
- AC_DEFINE([ACE_HAS_SIGNAL_SAFE_OS_CALLS])
- fi
-fi
-
-dnl Check if platform defines ctime() as a macro
-ACE_CACHE_CHECK([for ctime() macro],
- [ace_cv_feature_have_ctime_macro],
- [
- AC_EGREP_CPP([ACE_CTIME_MACRO],
- [
-#include <time.h>
-
-#if defined(ACE_LACKS_SYSTIME_H)
-# include <sys/time.h>
-#endif
-
-#if defined (ctime)
- ACE_CTIME_MACRO
-#endif
- ],
- [
- ace_cv_feature_have_ctime_macro=yes
- ],
- [
- ace_cv_feature_have_ctime_macro=no
- ])
- ], [AC_DEFINE([ACE_HAS_BROKEN_CTIME])],)
-
-dnl Check if platform defines ctime_r, asctime_r, rand_r or getpwnam_r
-dnl as macros.
-ACE_CACHE_CHECK([for reentrant function macros],
- [ace_cv_feature_has_broken_r_routines],
- [
- AC_EGREP_CPP([ACE_R_MACROS],
- [
-#ifndef _REENTRANT
-# define _REENTRANT
-#endif
-
-#include <time.h>
-
-#if defined(ACE_LACKS_SYSTIME_H)
-# include <sys/time.h>
-#endif
-
-#if defined (HAVE_PWD_H)
-# include <pwd.h>
-#endif
-
-#if defined (ctime_r) || \
- defined (asctime_r) || \
- defined (rand_r) || \
- defined (getpwnam_r)
- ACE_R_MACROS
-#endif
- ],
- [
- ace_cv_feature_has_broken_r_routines=yes
- ],
- [
- ace_cv_feature_has_broken_r_routines=no
- ])
- ], [AC_DEFINE([ACE_HAS_BROKEN_R_ROUTINES])],)
-
-dnl Check if platform defines sig{empty,fill,add,del}set as macros
-ACE_CACHE_CHECK([for sig{empty fill add del}set macros],
- [ace_cv_feature_have_sig_macros],
- [
- AC_EGREP_CPP([ACE_SIG_MACROS],
- [
-#ifndef ACE_LACKS_SYS_TYPES_H
-# include <sys/types.h>
-#endif
-#include <signal.h>
-
-#if defined (sigemptyset) && \
- defined (sigfillset) && \
- defined (sigaddset) && \
- defined (sigdelset) && \
- defined (sigismember)
- ACE_SIG_MACROS
-#endif
- ],
- [
- ace_cv_feature_have_sig_macros=yes
- ],
- [
- ace_cv_feature_have_sig_macros=no
- ])
- ], [AC_DEFINE([ACE_HAS_SIG_MACROS])],)
-
-dnl Check for open() mode masks
-ACE_CACHE_CHECK([for open() mode masks],
- [ace_cv_feature_have_open_mode_masks],[
- AC_EGREP_CPP([ACE_OPEN_MODE_MASKS_EXIST],
- [
-#ifndef ACE_LACKS_SYS_TYPES_H
-# include <sys/types.h>
-#endif
-#include <sys/stat.h>
-#include <fcntl.h>
-
-/* These are ORed so that ACE will not redefine any of them if any of
- them exist. */
-#if defined (S_IRWXU) || \
- defined (S_IRUSR) || \
- defined (S_IWUSR) || \
- defined (S_IXUSR) || \
- defined (S_IRWXG) || \
- defined (S_IRGRP) || \
- defined (S_IWGRP) || \
- defined (S_IXGRP) || \
- defined (S_IRWXO) || \
- defined (S_IROTH) || \
- defined (S_IWOTH) || \
- defined (S_IXOTH)
- ACE_OPEN_MODE_MASKS_EXIST
-#endif
- ],
- [
- ace_cv_feature_have_open_mode_masks=yes
- ],
- [
- ace_cv_feature_have_open_mode_masks=no
- ])
- ], , [AC_DEFINE([ACE_LACKS_MODE_MASKS])])
-
-
-dnl Check if platform supports POSIX O_NONBLOCK semantics
-ACE_CACHE_CHECK([for POSIX O_NONBLOCK semantics],
- [ace_cv_feature_posix_o_nonblock],[
- AC_EGREP_CPP([ACE_POSIX_O_NONBLOCK],
- [
-#ifndef ACE_LACKS_SYS_TYPES_H
-# include <sys/types.h>
-#endif
-#include <sys/stat.h>
-#include <fcntl.h>
-
-#if defined (O_NONBLOCK)
- ACE_POSIX_O_NONBLOCK
-#endif
- ],
- [
- ace_cv_feature_posix_o_nonblock=yes
- ],
- [
- ace_cv_feature_posix_o_nonblock=no
- ])
- ], [AC_DEFINE([ACE_HAS_POSIX_NONBLOCK])],)
-
-dnl Check for MAP_FAILED constant
-ACE_CACHE_CHECK([for MAP_FAILED constant],
- [ace_cv_lib_have_map_failed],[
- dnl We need the square brackets around "ACEMAPFAILED.+[0-9]" to
- dnl prevent the character class "[0-9]" from becoming "0-9" due to
- dnl M4 quoting.
- AC_EGREP_CPP([ACEMAPFAILED.+[0-9]],
- [
-#include <sys/mman.h>
- ACEMAPFAILED MAP_FAILED
- ],
- [
- ace_cv_lib_have_map_failed=yes
- ],
- [
- ace_cv_lib_have_map_failed=no
- ])
- ],
- [
- dnl Check if platform defines MAP_FAILED as a long constant
- ACE_CACHE_CHECK([if MAP_FAILED is a long constant],
- [ace_cv_feature_long_map_failed],[
- dnl We need the square brackets around "ACEMAPFAILED.+[0-9]L" to
- dnl prevent the character class "[0-9]" from becoming "0-9" due to
- dnl M4 quoting.
- AC_EGREP_CPP([ACEMAPFAILED.+[0-9]L],
- [
-#include <sys/mman.h>
- ACEMAPFAILED MAP_FAILED
- ],
- [
- ace_cv_feature_long_map_failed=yes
- ],
- [
- ace_cv_feature_long_map_failed=no
- ])
- ], [AC_DEFINE([ACE_HAS_LONG_MAP_FAILED])],
- [
- dnl Check if MAP_FAILED is _not_ cast to void *
- ACE_CACHE_CHECK([if MAP_FAILED is not cast to void *],
- [ace_cv_have_broken_map_failed],[
- AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
-#include <sys/mman.h>
- ]], [[
- void * foo = MAP_FAILED;
- ]])],[
- ace_cv_have_broken_map_failed=no
- ],[
- AC_COMPILE_IFELSE([AC_LANG_PROGRAM(
- [[
-#include <sys/mman.h>
- ]],
- [[
- void * foo = (void *) MAP_FAILED;
- ]])],
- [
- ace_cv_have_broken_map_failed=yes
- ],
- [
- dnl If we get here then we have no idea what is wrong!
- ace_cv_have_broken_map_failed=no
- ])
- ])
- ], [AC_DEFINE([ACE_HAS_BROKEN_MAP_FAILED])],)
- ])
- ],)
-
-dnl Check if platform supports TCP_NODELAY support
-ACE_CACHE_CHECK([for TCP_NODELAY support],
- [ace_cv_feature_tcp_nodelay],[
- AC_EGREP_CPP([ACE_TCPNODELAY],
- [
-#ifndef ACE_LACKS_SYS_TYPES_H
-# include <sys/types.h>
-#endif
-#include <netinet/tcp.h>
-
-#if defined (TCP_NODELAY)
- ACE_TCPNODELAY
-#endif
- ],
- [
- ace_cv_feature_tcp_nodelay=yes
- ],
- [
- ace_cv_feature_tcp_nodelay=no
- ])
- ], , [AC_DEFINE([ACE_LACKS_TCP_NODELAY])])
-
-dnl Check if platform supports SO_SNDBUF/SO_RCVBUF socket options
-ACE_CACHE_CHECK([for SO_SNDBUF/SO_RCVBUF socket options],
- [ace_cv_feature_so_sndbuf_rcvbuf],[
- AC_EGREP_CPP([ACE_SO_BUF],
- [
-#ifndef ACE_LACKS_SYS_TYPES_H
-# include <sys/types.h>
-#endif
-#include <sys/socket.h>
-
-#if defined (SO_SNDBUF) && \
- defined (SO_RCVBUF)
- ACE_SO_BUF
-#endif
- ],
- [
- ace_cv_feature_so_sndbuf_rcvbuf=yes
- ],
- [
- ace_cv_feature_so_sndbuf_rcvbuf=no
- ])
- ], , [AC_DEFINE([ACE_LACKS_SOCKET_BUFSIZ])])
-
-dnl TODO: We only check for ACE_HAS_AUTOMATIC_INIT_FINI on platforms that
-dnl have SVR4 dynamic linking since ACE doesn't support it otherwise.
-if test "$ac_cv_header_dlfcn_h" = yes &&
- test "$ace_has_svr4_dynamic_linking" = yes; then
-dnl Check if platform calls init/fini automatically
- ACE_CACHE_CHECK([for automatic init/fini calls],
- [ace_cv_feature_auto_init_fini],[
- ace_cv_feature_auto_init_fini=yes
- # TODO: We know how to check for this, but we need to:
- #
- # 1. Compile one file.
- # 2. Compile and link another file.
- # 3. Run file in point (2); it returns what we need.
- #
- # How do we do all that?
- ], [AC_DEFINE([ACE_HAS_AUTOMATIC_INIT_FINI])],)
-fi dnl test "$ac_cv_header_dlfcn_h" = yes &&
- dnl "$ace_has_svr4_dynamic_linking" = yes
-
-dnl Check for recursive thread exit semantics
-if test "$ace_user_enable_threads" = yes; then
- ACE_CACHE_CHECK([for recursive thread exit semantics],
- [ace_cv_feature_recursive_thr_exit],[
- ace_cv_feature_recursive_thr_exit=yes
- # TODO: How do we check for recursive thread exit semantics
- ], [AC_DEFINE([ACE_HAS_RECURSIVE_THR_EXIT_SEMANTICS])],)
-fi
-
-dnl Check for UNIX domain sockets
-ACE_CACHE_CHECK([for UNIX domain sockets],
- [ace_cv_feature_unix_sockets],
- [
- AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
-#include <sys/un.h>
- ]], [[
- sockaddr_un su;
- ]])],[
- ace_cv_feature_unix_sockets=yes
- ],[
- ace_cv_feature_unix_sockets=no
- ])
- ], , [AC_DEFINE([ACE_LACKS_UNIX_DOMAIN_SOCKETS])])
-
-dnl Check for ACE_Handle_Set optimized for select()
-ACE_CACHE_CHECK([for ACE_Handle_Set optimized for select()],
- [ace_cv_feature_handle_set_optimized_for_select],[
- ace_cv_feature_handle_set_optimized_for_select=yes
- # TODO: We know how to check this. We need to:
- #
- # 1. Compile and link a file.
- # 2. Run nm on that file.
- #
- # How do we do that?
- ], [AC_DEFINE([ACE_HAS_HANDLE_SET_OPTIMIZED_FOR_SELECT])],)
-
-dnl Even we if we don't have IP multicasting, we still need to define
-dnl "ACE_HAS_IP_MULTICAST" since struct ip_mreq gets redefined by ACE.
-dnl What do we do about this problem?
-dnl -Ossama
-dnl Check for IP multicast support
-ACE_CACHE_CHECK([for IP multicast support],
- [ace_cv_feature_ip_multicast],[
- AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
-#ifndef ACE_LACKS_SYS_TYPES_H
-# include <sys/types.h>
-#endif
-#include <netinet/in.h>
- ]], [[
- ip_mreq im;
- ]])],[
- ace_cv_feature_ip_multicast=yes
- ],[
-dnl Some platforms define ip_mreq in <sys/netinet/in.h>.
- AC_COMPILE_IFELSE([AC_LANG_PROGRAM(
- [[
-#ifndef ACE_LACKS_SYS_TYPES_H
-# include <sys/types.h>
-#endif
-#include <sys/netinet/in.h>
- ]],
- [[
- ip_mreq im;
- ]])],
- [
- ace_cv_feature_ip_multicast=yes
- ],
- [
- ace_cv_feature_ip_multicast=no
- ])
- ])
- ], [AC_DEFINE([ACE_HAS_IP_MULTICAST])],)
-
-ACE_CACHE_CHECK([if running on an Alpha],
- [ace_cv_feature_alpha],[
- case "$host" in
- alpha*)
- ace_cv_feature_alpha=yes
- ;;
- *)
- ace_cv_feature_alpha=no
- ;;
- esac
- ],
- [
- case "$host" in
- *linux*)
- dnl We only define ACE_HAS_ALPHA_TIMER if we are running Linux
- dnl on an Alpha and are using GNU C++!
- if test "$GXX" = yes; then
- AC_DEFINE([ACE_HAS_ALPHA_TIMER])
- fi
- ;;
- esac
- ],)
-
-ACE_CACHE_CHECK([if running on a Power PC],
- [ace_cv_feature_powerpc],[
- case "$host" in
- powerpc*)
- ace_cv_feature_powerpc=yes
- ;;
- *)
- ace_cv_feature_powerpc=no
- ;;
- esac
- ],
- [
- case "$host" in
- *aix*)
- dnl We don't do anything for AIX since AIX already has a
- dnl hi-res timer function!
- ;;
- *)
- dnl Only define ACE_HAS_POWERPC_TIMER when using GNU C++!
- if test "$GXX" = yes; then
- AC_DEFINE([ACE_HAS_POWERPC_TIMER])
- fi
- ;;
- esac
- ],)
-
-ACE_CACHE_CHECK([if running on a Pentium(tm) processor],
- [ace_cv_feature_pentium],[
- case "$host" in
- i386-* | i486-* |i586-* | i686-*)
-dnl If we do have a pentium, than define ACE_HAS_PENTIUM and add
-dnl gethrtime.cpp to the source list, but only if we're using GNU C++
-dnl since gethrtime.cpp uses assembler code specific to that compiler.
- if test "$GXX" = yes; then
- ace_cv_feature_pentium=yes
- else
- ace_cv_feature_pentium=no
- fi
- ;;
- *)
- ace_cv_feature_pentium=no
- ;;
- esac
- ],
- [
- AC_DEFINE([ACE_HAS_PENTIUM])
- ],)
-AM_CONDITIONAL([ACE_ON_PENTIUM], [test X$ace_cv_feature_pentium = Xyes])
-
-
-dnl
-dnl SECTION 14: checks for aggregated features
-dnl TODO: Little by little, get rid of these...
-dnl
-
-
-dnl Macro ACE_HAS_REENTRANT_FUNCTIONS means the following functions
-dnl are usable:
-dnl
-dnl rand_r
-dnl strtok_r
-dnl getpwnam_r (if we don't have, define ACE_LACKS_PWD_REENTRANT_FUNCTIONS)
-dnl ctime_r
-dnl localtime_r
-dnl gmtime_r
-dnl asctime_r
-dnl * getprotobyname_r
-dnl * getprotobynumber_r
-dnl * gethostbyaddr_r
-dnl * gethostbyname_r
-dnl * getservbyname_r
-dnl
-dnl Those marked with '*' are NOT usable if
-dnl ACE_LACKS_NETDB_REENTRANT_FUNCTIONS) is defined.
-dnl
-dnl The time has come to create feature macros for each of these...
-dnl With the separate feature macros, we will define (for now)
-dnl ACE_HAS_REENTRANT_FUNCTIONS only when all of those WITHOUHT a '*'
-dnl are defined. Also, if any of those with '*' are missing, we will
-dnl define ACE_LACKS_NETDB_REENTRANT_FUNCTIONS.
-
-dnl Don't bother with reentrant functions if they are disabled by the user.
-if test "$ace_user_enable_reentrant_funcs" = yes &&
- test "$ac_cv_func_rand_r" = yes &&
- test "$ac_cv_func_strtok_r" = yes &&
- test "$ac_cv_func_ctime_r" = yes &&
- test "$ac_cv_func_localtime_r" = yes &&
- test "$ac_cv_func_gmtime_r" = yes &&
- test "$ac_cv_func_asctime_r" = yes; then
- AC_DEFINE([ACE_HAS_REENTRANT_FUNCTIONS])
- # Explicitly enable reentrant functions if thread support is not enabled.
- if test "$ace_user_enable_threads" = no; then
- ACE_CPPFLAGS="$ACE_CPPFLAGS -D_REENTRANT"
- fi
-fi
-
-dnl Don't bother with reentrant functions if they are disabled by the user.
-if test "$ace_user_enable_reentrant_funcs" = no ||
- test "$ac_cv_func_getprotobyname_r" = no ||
- test "$ac_cv_func_getprotobynumber_r" = no ||
- test "$ac_cv_func_gethostbyaddr_r" = no ||
- test "$ac_cv_func_gethostbyname_r" = no ||
- test "$ac_cv_func_getservbyname_r" = no; then
- AC_DEFINE([ACE_LACKS_NETDB_REENTRANT_FUNCTIONS])
-fi
-
-dnl FIXME!!!
-dnl The following is a kludge until the netdb reentrant function
-dnl number of arguments is handled.
-case "$host" in
- *linux*) AC_DEFINE([ACE_LACKS_NETDB_REENTRANT_FUNCTIONS]);;
- *) ;;
-esac
-
-
-dnl Macro ACE_LACKS_SOME_POSIX_PROTOTYPES implies any of the following
-dnl features:
-dnl
-dnl ! ACE_HAS_MSGSND_MSGBUFP_2
-dnl ! ACE_LACKS_MSGRCV_VOIDP_2
-dnl ! ACE_LACKS_SHMAT_VOIDP_2
-dnl ! ACE_LACKS_SIGACTION_CONSTP_2
-dnl
-dnl So, for now, we define it if any of those were autoconf'ed.
-
-if test "$ace_cv_lib_posix_msgsnd_msgbufp_2" = yes ||
- test "$ace_cv_lib_posix_msgrcv_voidp_2" != yes ||
- test "$ace_cv_lib_posix_shmat_voidp_2" != yes ||
- test "$ace_cv_lib_posix_sigaction_constp_2" != yes; then
- AC_DEFINE([ACE_LACKS_SOME_POSIX_PROTOTYPES])
-fi
-
-if test "$ac_cv_func_msgctl" = yes &&
- test "$ac_cv_func_msgget" = yes &&
- test "$ac_cv_func_msgrcv" = yes &&
- test "$ac_cv_func_semctl" = yes &&
- test "$ac_cv_func_semget" = yes &&
- test "$ac_cv_func_semop" = yes &&
- test "$ac_cv_func_shmat" = yes &&
- test "$ac_cv_func_shmctl" = yes &&
- test "$ac_cv_func_shmdt" = yes &&
- test "$ac_cv_func_shmget" = yes; then
- AC_DEFINE([ACE_HAS_SYSV_IPC])
-fi
-
-if test "$ac_cv_func_shmat" != yes ||
- test "$ac_cv_func_shmctl" != yes ||
- test "$ac_cv_func_shmdt" != yes ||
- test "$ac_cv_func_shmget" != yes; then
- AC_DEFINE([ACE_LACKS_SYSV_SHMEM])
-fi
-
-dnl Check for what POSIX threads draft we have
-AC_MSG_CHECKING([which POSIX thread library was found])
-
-ace_has_pthreads=no
-
-dnl Check if we have Pthreads Draft 4
-dnl if test "$ac_cv_func_pthread_delay_np" = yes &&
-if test "$ac_cv_func_pthread_mutexattr_create" = yes &&
-dnl test "$ac_cv_func_pthread_mutexattr_setkind_np" = yes &&
- test "$ac_cv_func_pthread_mutexattr_delete" = yes &&
- test "$ac_cv_func_pthread_condattr_delete" = yes &&
- test "$ac_cv_func_pthread_condattr_create" = yes &&
- test "$ac_cv_func_pthread_setprio" = yes &&
- test "$ac_cv_func_pthread_getprio" = yes &&
-dnl test "$ac_cv_func_pthread_getspecific" = yes &&
- test "$ac_cv_func_pthread_setcancel" = yes &&
- test "$ac_cv_func_pthread_setasynccancel" = yes &&
- test "$ac_cv_func_pthread_kill" = yes; then
- ace_has_pthreads=yes
- AC_MSG_RESULT([POSIX Threads Draft 4])
- AC_DEFINE([ACE_HAS_PTHREADS_DRAFT4])
-dnl Check if we have Pthreads Draft 6
-elif test "$ac_cv_func_pthread_mutexattr_init" = yes &&
- test "$ac_cv_func_pthread_mutexattr_destroy" = yes &&
- test "$ac_cv_func_pthread_condattr_destroy" = yes &&
- test "$ac_cv_func_pthread_condattr_init" = yes &&
- test "$ac_cv_func_pthread_attr_setprio" = yes &&
- test "$ac_cv_func_pthread_attr_getprio" = yes &&
- test "$ac_cv_func_pthread_setintr" = yes &&
- test "$ac_cv_func_pthread_setintrtype" = yes; then
- ace_has_pthreads=yes
- AC_MSG_RESULT([POSIX Threads Draft 6])
- AC_DEFINE([ACE_HAS_PTHREADS_DRAFT6])
-dnl Check if we have Pthreads Draft 7
-elif test "$ac_cv_func_pthread_mutexattr_init" = yes &&
- test "$ac_cv_func_pthread_mutexattr_destroy" = yes &&
- test "$ac_cv_func_pthread_condattr_destroy" = yes &&
- test "$ac_cv_func_pthread_condattr_init" = yes &&
- test "$ac_cv_func_pthread_setschedparam" = yes &&
- test "$ac_cv_func_pthread_getschedparam" = yes &&
- test "$ac_cv_func_pthread_setcancelstate" = yes &&
- test "$ac_cv_func_pthread_setcanceltype" = yes &&
- test "$ace_has_sched_yield" != yes; then
- ace_has_pthreads=yes
- AC_MSG_RESULT([POSIX Threads Draft 7])
- AC_DEFINE([ACE_HAS_PTHREADS_DRAFT7])
-dnl Check if we have Pthreads Draft Standard
-elif test "$ac_cv_func_pthread_mutexattr_init" = yes &&
- test "$ac_cv_func_pthread_mutexattr_destroy" = yes &&
- test "$ac_cv_func_pthread_condattr_destroy" = yes &&
- test "$ac_cv_func_pthread_condattr_init" = yes &&
- test "$ac_cv_func_pthread_setschedparam" = yes &&
- test "$ac_cv_func_pthread_getschedparam" = yes &&
- test "$ac_cv_func_pthread_setcancelstate" = yes &&
- test "$ac_cv_func_pthread_setcanceltype" = yes &&
- test "$ace_has_sched_yield" = yes; then
- ace_has_pthreads=yes
- AC_MSG_RESULT([POSIX Threads Draft Standard])
- AC_DEFINE([ACE_HAS_PTHREADS_STD])
-else
- ace_has_pthreads=no
- AC_MSG_RESULT([none])
-fi dnl PTHREAD DRAFT CHECKS
-
-dnl Check if we have UNIX International threads
-AC_MSG_CHECKING([if a UNIX International thread library was found])
-if test "$ace_has_sthreads" = yes; then
- AC_MSG_RESULT([yes])
-else
- AC_MSG_RESULT([no])
-fi
-
-if test "$ace_user_enable_threads" != yes ||
- test "$ace_has_pthreads" != yes &&
- test "$ace_has_sthreads" != yes; then
- dnl We don't have a usable thread library!
- ace_user_enable_threads=no
- dnl Make sure _REENTRANT and _THREAD_SAFE are not in the
- dnl preprocessor flags since thread support is being disabled.
- dnl Removal of these flags is only performed if the configure script
- dnl added them.
- if test -n "$ACE_THR_CPPFLAGS"; then
-changequote(, )dnl
- CPPFLAGS=`eval "echo $CPPFLAGS | sed -e 's/$ACE_THR_CPPFLAGS//' -e 's/-D_THREAD_SAFE\(=[0-9]*\)\?//'"`
-changequote([, ])dnl
- fi
-
- AC_MSG_WARN([It appears that you do NOT have any usable thread libraries])
- AC_MSG_WARN([or thread support was explicitly disabled.])
- AC_MSG_WARN([Disabling thread support.])
- dnl ACE uses different versions of readdir_r depending on the thread
- dnl library being used, i.e. on the ACE_HAS_*THREADS* macros. Since
- dnl it doesn't seem like a good idea to define any ACE_HAS_*THREADS*
- dnl macro if ACE won't be supporting threads, define ACE_LACKS_READDIR_R
- dnl regardless if readdir_r() exists.
- if test "$ac_cv_func_readdir_r" = yes; then
- AC_MSG_WARN([Disabling support for readdir_r() since thread support])
- AC_MSG_WARN([is being disabled.])
- AC_DEFINE([ACE_LACKS_READDIR_R])
- fi dnl test "$ac_cv_func_readdir_r" = yes
-fi dnl
-
-if test "$ace_user_enable_threads" = yes; then
-dnl If we get this far then we have threads.
-dnl FIXME: The "_POSIX" macros may need to be defined _before_ the checks for
-dnl reentrant functions! However, we don't want to define them if
-dnl the UNIX International threads library was detected.
- AC_DEFINE([ACE_HAS_THREADS])
- AC_DEFINE([ACE_MT_SAFE])
- ACE_CPPFLAGS="$ACE_CPPFLAGS $ACE_THR_CPPFLAGS"
- if test "$ace_has_pthreads" = yes &&
- test "$ace_has_sthreads" != yes; then
- ACE_CPPFLAGS="$ACE_CPPFLAGS -D_POSIX_PTHREAD_SEMANTICS"
- fi dnl test "$ace_has_pthreads" = yes
-
- if test "$ace_has_pthreads" = yes; then
-
- dnl Check if OS requires non-null status pointer for ::pthread_join ()
- dnl
- dnl This test must be performed after the POSIX threads implementation
- dnl that the platform supports has been determined.
- ACE_CACHE_CHECK([for pthread_join null status pointer support],
- [ace_cv_have_null_status_pthread_join],[
- AC_EGREP_CPP([WE_HAVE_PTHREADS_D4],
- [
-#if defined (ACE_HAS_PTHREADS) && defined (ACE_HAS_PTHREADS_DRAFT4)
-/* This test is only valid for Pthreads Draft 4 */
-WE_HAVE_PTHREADS_D4
-#endif
- ],
- [
- AC_RUN_IFELSE([AC_LANG_SOURCE([[
-#ifndef _REENTRANT
-#define _REENTRANT
-#endif
-
-#include <pthread.h>
-
-/* _THREAD_SAFE is defined in <pthread.h> on some platforms. */
-#ifndef _THREAD_SAFE
-#define _THREAD_SAFE
-#endif
-
-#include <stdio.h>
-
-#ifdef __cplusplus
-extern "C"
-#endif
-void *
-nothing (void *unused)
-{
- return (void *) 34;
-};
-
-int
-main ()
-{
- pthread_attr_t attr;
- pthread_t id;
- void *status;
- int retval = 0;
-
- /* ----- */
- /* We return 0 on error for these calls since we only want to
- return an error status if pthread_join fails. If these calls
- fail then we've got other problems! */
- if (pthread_attr_create (&attr) != 0) return 0 /*1*/;
-
- if (pthread_create (&id, attr, nothing, 0) != 0) return 0 /*2*/;
-
- if (pthread_attr_delete (&attr) != 0) return /*3*/;
- /* ----- */
-
- /* With a second (status) arg of 0, LynxOS 3.0.0 pthread_join ()
- will fail with errno 14 (address fault detected). */
- if (pthread_join (id, 0) == -1) {
- fprintf (stderr, "%s: %d; ", __FILE__, __LINE__);
- perror ("pthread_join");
- retval = 1;
- }
-
- if (pthread_join (id, &status) == -1) {
- fprintf (stderr, "%s: %d; ", __FILE__, __LINE__);
- perror ("pthread_join");
- retval = 2;
- }
-
- return retval;
-}
- ]])],[
- ace_cv_have_null_status_pthread_join=yes
- ],[
- ace_cv_have_null_status_pthread_join=no
- ],[
- dnl If we are cross-compiling let's hope that
- dnl that we have a working null status pointer
- dnl for pthread_join.
- ace_cv_have_null_status_pthread_join=yes
- ])
- ],
- [
- ace_cv_have_null_status_pthread_join=yes
- ])
- ], , [AC_DEFINE([ACE_LACKS_NULL_PTHREAD_STATUS])])
-
- dnl Check if OS supports mutex timeouts
- dnl (e.g. pthread_mutex_timedlock()).
- ACE_CACHE_CHECK([for mutex timeouts],
- [ace_cv_have_mutex_timeouts],[
- AC_RUN_IFELSE([AC_LANG_SOURCE([[
-#ifndef _REENTRANT
-#define _REENTRANT
-#endif
-
-#include <pthread.h>
-
-/* _THREAD_SAFE is defined in <pthread.h> on some platforms. */
-#ifndef _THREAD_SAFE
-#define _THREAD_SAFE
-#endif
-
-#include <stdio.h>
-
-#include <errno.h>
-#include <sys/time.h>
-
-#ifndef ACE_LACKS_UNISTD_H
-# include <unistd.h>
-#endif
-
-
-pthread_mutex_t mutex = PTHREAD_MUTEX_INITIALIZER;
-
-#ifdef __cplusplus
-extern "C"
-#endif
-void *threadFunc (void *parm)
-{
- int rc;
- int i;
- struct timespec deltatime;
- struct timeval tv;
-
- if (gettimeofday (&tv, 0) != 0)
- {
- return 0;
- }
-
- deltatime.tv_sec = tv.tv_sec + 5;
- deltatime.tv_nsec = 0;
-
- rc = pthread_mutex_timedlock (&mutex, &deltatime);
-
- if (rc != ETIMEDOUT)
- {
- /* printf("Got an incorrect return code from pthread_mutex_timedlock\n"); */
- }
-
- return 0;
-}
-
-int main (void)
-{
- int rc =0;
- pthread_t thread;
-
- rc = pthread_mutex_lock (&mutex);
- if (rc != 0)
- {
- exit (-1);
- }
-
- rc = pthread_create (&thread, NULL, threadFunc, NULL);
- if (rc != 0)
- {
- exit (-1);
- }
-
- rc = pthread_join (thread, NULL);
- if (rc != 0)
- {
- exit (-1);
- }
-
- pthread_mutex_destroy (&mutex);
-
- return 0;
-}
- ]])],[
- ace_cv_have_mutex_timeouts=yes
- ],[
- ace_cv_have_mutex_timeouts=no
- ],[
- dnl Cross-compiled case
- AC_CHECK_FUNC([pthread_mutex_timedlock],
- [ace_cv_have_mutex_timeouts=yes],
- [ace_cv_have_mutex_timeouts=no])
- ])
- ], [AC_DEFINE([ACE_HAS_MUTEX_TIMEOUTS])],)
-
- dnl Check if platform needs to #include <sched.h> to get thread
- dnl scheduling defs.
- ACE_CACHE_CHECK([if sched.h is needed for thread scheduling definitions],
- [ace_cv_needs_sched_h],
- [
- AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
-#ifdef ACE_HAS_STHREADS
-#include <thread.h>
-#endif
-
-#ifdef ACE_HAS_PTHREADS
-#include <pthread.h>
-#endif
- ]], [[
-int foo = SCHED_OTHER;
- ]])],[
- ace_cv_needs_sched_h=no
- ],[
- AC_COMPILE_IFELSE([AC_LANG_PROGRAM(
- [[
-#ifdef ACE_HAS_STHREADS
-#include <thread.h>
-#endif
-
-#ifdef ACE_HAS_PTHREADS
-#include <pthread.h>
-#endif
-
-#include <sched.h>
- ]],
- [[
-int foo = SCHED_OTHER;
- ]])],
- [
- ace_cv_needs_sched_h=yes
- ],
- [
- dnl We're hosed if we get here!
- ace_cv_needs_sched_h=no
- ])
- ])
- ],
- [
- AC_DEFINE([ACE_NEEDS_SCHED_H])
- ],)
-
- dnl Check if platform only supports SCHED_OTHER scheduling policy
- dnl
- dnl This test must be performed after the POSIX threads implementation
- dnl that the platform supports has been determined.
- ACE_CACHE_CHECK([if SCHED_OTHER is only scheduling policy],
- [ace_cv_feature_only_have_sched_other],
- [
- AC_EGREP_CPP([WE_ONLY_HAVE_SCHED_OTHER],
- [
-#ifdef ACE_HAS_STHREADS
-# include <thread.h>
-#endif
-
-#ifdef ACE_HAS_PTHREADS
-# include <pthread.h>
-#endif
-
-#if defined (ACE_NEEDS_SCHED_H)
-# include <sched.h>
-#endif
-
- /* These are ORed so that ACE will not redefine
- any of them if any of them exist. */
-#if !defined (SCHED_FIFO) && \
- !defined (SCHED_RR) && \
- defined (SCHED_OTHER)
- WE_ONLY_HAVE_SCHED_OTHER
-#endif
- ],
- [
- ace_cv_feature_only_have_sched_other=yes
- ],
- [
- AC_RUN_IFELSE([AC_LANG_SOURCE([[
-#ifndef _REENTRANT
-#define _REENTRANT
-#endif
-
-#include <pthread.h>
-
-/* _THREAD_SAFE is defined in <pthread.h> on some platforms. */
-#ifndef _THREAD_SAFE
-#define _THREAD_SAFE
-#endif
-
-#include <stdio.h>
-#include <errno.h>
-
-int main ()
-{
- pthread_attr_t ace_attr;
-
-#if defined (ACE_HAS_PTHREADS_DRAFT4)
- if (pthread_attr_create (&ace_attr) != 0)
-#else
- if (pthread_attr_init (&ace_attr) != 0)
-#endif
- {
- perror ("pthread_attr_init");
- return 0; /* Return "successfully" since only the policy call
- will return with an error for this test. */
- }
-
-#if defined (ACE_HAS_PTHREADS_DRAFT4)
- if (pthread_attr_setsched (&ace_attr, SCHED_FIFO) != 0)
-#else
- if (pthread_attr_setschedpolicy (&ace_attr, SCHED_FIFO) != 0)
-#endif
- {
- perror ("pthread_attr_setschedpolicy");
- return -1;
- }
-
-#if defined (ACE_HAS_PTHREADS_DRAFT4)
- if (pthread_attr_delete (&ace_attr) != 0)
-#else
- if (pthread_attr_destroy (&ace_attr) != 0)
-#endif
- {
- perror ("pthread_attr_destroy");
- return 0; /* Return "successfully" since only the policy call
- will return with an error for this test. */
- }
-
- return 0;
-}
- ]])],[
- ace_cv_feature_only_have_sched_other=no
- ],[
- ace_cv_feature_only_have_sched_other=yes
- ],[
- dnl We only get here if polices other than SCHED_OTHER
- dnl were found in the headers and we are cross-compiling.
- dnl
- dnl If we are cross-compiling let's hope that the
- dnl scheduling policies found in the headers
- dnl besides SCHED_OTHER (e.g. SCHED_FIFO, SCHED_RR)
- dnl are supported.
- ace_cv_feature_only_have_sched_other=no
- ])
- ])
- ], [AC_DEFINE([ACE_HAS_ONLY_SCHED_OTHER])],)
- fi dnl test "$ace_has_pthreads" = yes
-fi dnl test "$ace_user_enable_threads" = yes
-
-
-if test "$ac_cv_header_libc_h" != yes ||
- test "$ac_cv_header_osfcn_h" != yes; then
- AC_DEFINE([ACE_HAS_CPLUSPLUS_HEADERS])
-fi
-
-
-
-if test "$ace_cv_lib_signal_vi1_2" = yes &&
- test "$ace_cv_lib_signal_vi1_ret" = yes &&
- test "$ace_cv_lib_struct_sigaction_vi1_handler" = yes; then
- AC_DEFINE([ACE_HAS_CONSISTENT_SIGNAL_PROTOTYPES])
-elif test "$ace_cv_lib_signal_vi1_2" != yes &&
- test "$ace_cv_lib_signal_vv1_2" != yes &&
- test "$ace_cv_lib_signal_vi1a2_2" != yes &&
- test "$ace_cv_lib_signal_va1_2" = yes &&
- test "$ace_cv_lib_signal_vi1_ret" != yes &&
- test "$ace_cv_lib_signal_vv1_ret" != yes &&
- test "$ace_cv_lib_signal_vi1a2_ret" != yes &&
- test "$ace_cv_lib_signal_va1_ret" = yes &&
- test "$ace_cv_lib_struct_sigaction_vi1_handler" != yes &&
- test "$ace_cv_lib_struct_sigaction_vv1_handler" != yes &&
- test "$ace_cv_lib_struct_sigaction_vi1a2_handler" != yes &&
- test "$ace_cv_lib_struct_sigaction_va1_handler" = yes; then
- AC_DEFINE([ACE_HAS_LYNXOS_SIGNALS])
- AC_DEFINE([ACE_HAS_TANDEM_SIGNALS])
- AC_DEFINE([ACE_HAS_IRIX_53_SIGNALS])
- AC_DEFINE([ACE_HAS_SUNOS4_SIGNAL_T])
-elif test "$ace_cv_lib_signal_vi1a2_2" = yes &&
- test "$ace_cv_lib_signal_vi1a2_ret" = yes &&
- test "$ace_cv_lib_struct_sigaction_vi1a2_handler" = yes; then
- AC_DEFINE([ACE_HAS_SPARCWORKS_401_SIGNALS])
-elif test "$ace_cv_lib_signal_vi1_2" = yes &&
- test "$ace_cv_lib_signal_vi1_ret" = yes &&
- test "$ace_cv_lib_struct_sigaction_vi1_handler" != yes; then
- AC_DEFINE([ACE_HAS_SVR4_SIGNAL_T])
-elif test "$ace_cv_lib_signal_vi1_2" = yes &&
- test "$ace_cv_lib_signal_vv1_ret" = yes &&
- test "$ace_cv_lib_struct_sigaction_vv1_handler" = yes; then
- AC_DEFINE([ACE_HAS_SVR4_SIGNAL_T])
-elif test "$ace_cv_lib_signal_vi1_2" = yes &&
- test "$ace_cv_lib_signal_vi1_ret" != yes &&
- test "$ace_cv_lib_signal_vv1_ret" != yes &&
- test "$ace_cv_lib_signal_vi1a2_ret" != yes &&
- test "$ace_cv_lib_signal_va1_ret" = yes &&
- test "$ace_cv_lib_struct_sigaction_vi1_handler" != yes &&
- test "$ace_cv_lib_struct_sigaction_vv1_handler" != yes &&
- test "$ace_cv_lib_struct_sigaction_vi1a2_handler" != yes &&
- test "$ace_cv_lib_struct_sigaction_va1_handler" = yes; then
- AC_DEFINE([ACE_HAS_UNIXWARE_SVR4_SIGNAL_T])
-fi dnl ACE_HAS_CONSISTENT_SIGNAL_PROTOTYPES
-
-dnl
-dnl SECTION 15: Final checks
-dnl
-
-dnl Make final substitutions and defines
-if test "$ace_u_long_long_typedef_set" = yes; then
- AC_DEFINE_UNQUOTED([ACE_UINT64_TYPEDEF], [$ACE_UINT64])
-fi
-
-dnl Combine package set flags with user's flags.
-dnl User's flags go after package flags to allow user to override
-dnl package defaults.
-dnl X_CFLAGS comes from AC_PATH_XTRA. It may include, for example,
-dnl additional include file paths or macros that need to be defined
-dnl in order for X11 related files to be compiled properly.
-if test "$ace_user_enable_optimize"; then
- dnl We want OCXXFLAGS to be on the end, so we use CXXFLAGS,
- dnl not ACE_CXXFLAGS!
- CXXFLAGS="$CXXFLAGS $OCXXFLAGS"
- CFLAGS="$CFLAGS $OCFLAGS"
-fi
-CXXFLAGS="$ACE_CXXFLAGS $X_CFLAGS $CXXFLAGS"
-CFLAGS="$ACE_CFLAGS $X_CFLAGS $CFLAGS"
-CPPFLAGS="$ACE_CPPFLAGS $CPPFLAGS"
-LDFLAGS="$ACE_LDFLAGS $LDFLAGS"
-
-dnl The following tests should be performed _after_ the bulk of the
-dnl ACE macros have been defined.
-
-dnl Flush the cache so that it is easier to debug the configure script
-dnl if the following integrity check fails.
-AC_CACHE_SAVE
-
-dnl Verify the integrity of the current configuration.
-ACE_CACHE_CHECK([if generated ACE configuration is usable],
- [ace_cv_configuration_is_usable],
- [
- dnl We want an empty ace/config.h to prevent multiple defines
- dnl with Autoconf's confdefs.h
- ACE_USE_TEMP_FILE([ace/config.h],
- [
- dnl Now run the compilation test
- ACE_TRY_COMPILE([-I. -I${srcdir}],
- [
-#if defined(ACE_UINT64_TYPEDEF)
- typedef ACE_UINT64_TYPEDEF ACE_UINT64;
-#endif /* ACE_UINT64_TYPEDEF */
-
-#include "ace/OS.cpp"
- ],
- [
- ACE_Time_Value t = ACE_OS::gettimeofday ();
- t++;
- ],
- [
- ace_cv_configuration_is_usable=yes
- ],
- [
- ace_cv_configuration_is_usable=no
- ])
- ])
- ],
- [
- dnl Looks good! Do nothing.
- dnl It appears that ace/OS.cpp compiled. If it didn't compile then
- dnl there would be no chance that the rest of ACE would compile.
- ],
- [
- AC_MSG_ERROR(
- [
-The generated configuration appears to be unusable. Please verify
-that your system path and environment variables are correct. If they
-appear to be correct then please send the maintainer of this configure
-script $ACE_CONFIGURE_MAINTAINER the *COMPRESSED* 'config.log' file
-and the following information:
-
- ACE 'configure' Script Information
- ==================================
- [RCS] translit([$Id$], [$\"])
-
-
- ACE Version: $ACE_VERSION
- C++ Compiler: $CXX
- C++ Preprocessor: $CXXCPP
- C++ Flags: $CXXFLAGS
- Preprocessor Flags: $CPPFLAGS
- Linker: $LD
- Linker Flags: $LDFLAGS
- Libraries: $LIBS
- System type information:
- Build: $build Host: $host
-
-In the meantime, please use the stock ACE build procedure detailed in
-the file 'ACE-INSTALL.html'.
- ])
- ])
-
-dnl Check for ACE_IOStream support
-ACE_CACHE_CHECK([for ACE_IOStream support],
- [ace_cv_feature_ace_iostream],
- [
- dnl We want an empty ace/config.h to prevent multiple defines
- dnl with Autoconf's confdefs.h
- ACE_USE_TEMP_FILE([ace/config.h],
- [
- dnl Now run the compilation test
- ACE_TRY_COMPILE([-I. -I${srcdir}],
- [
-#if defined(ACE_UINT64_TYPEDEF)
- typedef ACE_UINT64_TYPEDEF ACE_UINT64;
-#endif /* ACE_UINT64_TYPEDEF */
-
-#include "ace/IOStream.cpp"
- ],
- [
- int a=0; a += 1;
- ],
- [
- ace_cv_feature_ace_iostream=yes
- ],
- [
- ace_cv_feature_ace_iostream=no
- ])
- ])
- ], , [AC_DEFINE([ACE_LACKS_ACE_IOSTREAM])])
-
-dnl Check if ACE needs minimum iostream header inclusion
-ACE_CACHE_CHECK([if ACE needs minimum iostream header inclusion],
- [ace_cv_lib_minimum_iostream],
- [
- dnl We want an empty ace/config.h to prevent multiple defines
- dnl with Autoconf's confdefs.h
- ACE_USE_TEMP_FILE([ace/config.h],
- [
- dnl Now run the compilation test
- ACE_TRY_COMPILE([-I. -I${srcdir}],
- [
-#if defined(ACE_UINT64_TYPEDEF)
- typedef ACE_UINT64_TYPEDEF ACE_UINT64;
-#endif /* ACE_UINT64_TYPEDEF */
-
-#include "ace/OS.cpp"
- ],
- [
- int a=0; a += 1;
- ],
- [
- ace_cv_lib_minimum_iostream=no
- ],
- [
- dnl Now check if ACE_HAS_MINIMUM_IOSTREAMH_INCLUSION makes
- dnl compilation work!
- ACE_TRY_COMPILE([-I. -I${srcdir}],
- [
-#if defined(ACE_UINT64_TYPEDEF)
- typedef ACE_UINT64_TYPEDEF ACE_UINT64;
-#endif /* ACE_UINT64_TYPEDEF */
-
-#define ACE_HAS_MINIMUM_IOSTREAMH_INCLUSION
-#include "ace/OS.cpp"
- ],
- [
- int a=0; a += 1;
- ],
- [
- ace_cv_lib_minimum_iostream=yes
- ],
- [
- dnl If we get here, then we have no idea what is wrong!
- ace_cv_lib_minimum_iostream=no
- ])
- ])
- ])
- ], [AC_DEFINE([ACE_HAS_MINIMUM_IOSTREAMH_INCLUSION])],)
-
-dnl @@ I don't think that this test is correct. The only way I could
-dnl get ACE_Addr::sap_any to work was to explicitly cast it to the
-dnl a constant reference of the derived type.
-dnl -Ossama
-dnl Check if compiler can't handle the static ACE_Addr::sap_any construct
-ACE_CACHE_CHECK([for ACE_addr::sap_any support],
- [ace_cv_lib_sap_any_support],
- [
- dnl We want an empty ace/config.h to prevent multiple defines
- dnl with Autoconf's confdefs.h
- ACE_USE_TEMP_FILE([ace/config.h],
- [
- dnl Now run the compilation test
- ACE_TRY_COMPILE([-I. -I${srcdir}],
- [
-#if defined(ACE_UINT64_TYPEDEF)
- typedef ACE_UINT64_TYPEDEF ACE_UINT64;
-#endif /* ACE_UINT64_TYPEDEF */
-
-#include "ace/FILE_Addr.h"
- ],
- [
- ACE_FILE_Addr ace_file ((const ACE_FILE_Addr &) ACE_Addr::sap_any);
- ],
- [
- ace_cv_lib_sap_any_support=yes
- ],
- [
- dnl Now check if ACE_HAS_BROKEN_SAP_ANY makes
- dnl compilation work!
- ACE_TRY_COMPILE([-I. -I${srcdir}],
- [
-#if defined(ACE_UINT64_TYPEDEF)
- typedef ACE_UINT64_TYPEDEF ACE_UINT64;
-#endif /* ACE_UINT64_TYPEDEF */
-
-#define ACE_HAS_BROKEN_SAP_ANY
-#include "ace/FILE_Addr.h"
- ],
- [
- ACE_FILE_Addr ace_file ((const ACE_FILE_Addr &) ACE_Addr::sap_any);
- ],
- [
- ace_cv_lib_sap_any_support=no
- ],
- [
- dnl If we get here, then we have no idea what is wrong!
- ace_cv_lib_sap_any_support=yes
- ])
- ])
- ])
- ],, [AC_DEFINE([ACE_HAS_BROKEN_SAP_ANY])])
-
-dnl Check if ACE needs conversion to pass ACE_TTY_IO to DEV_Connector
-ACE_CACHE_CHECK([if ACE needs conversion to pass ACE_TTY_IO to DEV_Connector],
- [ace_cv_lib_need_dev_io_conv],
- [
- dnl We want an empty ace/config.h to prevent multiple defines
- dnl with Autoconf's confdefs.h
- ACE_USE_TEMP_FILE([ace/config.h],
- [
- dnl Now run the compilation test
- ACE_TRY_COMPILE([-I. -I${srcdir}],
- [
-#if defined(ACE_UINT64_TYPEDEF)
- typedef ACE_UINT64_TYPEDEF ACE_UINT64;
-#endif /* ACE_UINT64_TYPEDEF */
-
-#include "ace/OS.cpp"
- ],
- [
- int a=0; a += 1;
- ],
- [
- ace_cv_lib_need_dev_io_conv=no
- ],
- [
- dnl Now check if ACE_NEEDS_DEV_IO_CONVERSION makes
- dnl compilation work!
- ACE_TRY_COMPILE([-I. -I${srcdir}],
- [
-#if defined(ACE_UINT64_TYPEDEF)
- typedef ACE_UINT64_TYPEDEF ACE_UINT64;
-#endif /* ACE_UINT64_TYPEDEF */
-
-#define ACE_NEEDS_DEV_IO_CONVERSION
-#include "ace/DEV_Connector.cpp"
- ],
- [
- int a=0; a += 1;
- ],
- [
- ace_cv_lib_need_dev_io_conv=yes
- ],
- [
- dnl If we get here, then we have no idea what is wrong!
- ace_cv_lib_need_dev_io_conv=no
- ])
- ])
- ])
- ], [AC_DEFINE([ACE_NEEDS_DEV_IO_CONVERSION])],)
-
-dnl End ACE macro tests!
-
-dnl Substitute whatever X libraries ACE needs, if any.
-AC_SUBST([ACE_XLIBS])
-
-dnl Prepend purify and quantify command lines if purify and quantify are
-dnl enabled. Otherwise, PURELINK and PRELINK will just be "blank."
-LD="$PURELINK $PRELINK $LD"
-dnl LDFLAGS="$ACE_LDFLAGS $LDFLAGS"
-
-dnl AC_SUBST(LDFLAGS)
-dnl AC_SUBST(LIBOBJS)
-
-dnl These definitions are expanded in the makefile and ace-config
-if test "$no_x" != yes; then
- ACE_LIBDIR="${X_LIBS} -L\${libdir}"
-else
- ACE_LIBDIR='-L${libdir}'
-fi
-ACE_LIBS="${X_PRE_LIBS} ${ACE_XLIBS} ${X_EXTRA_LIBS} ${LIBS}"
-ACE_INCLUDEDIR='-I${includedir}'
-
-AC_SUBST([ACE_LIBDIR])
-AC_SUBST([ACE_LIBS])
-AC_SUBST([ACE_INCLUDEDIR])
-
-dnl These definitions are expanded in the makefile and ace-config
-#TAO_LIBDIR='-L${libdir}'
-#TAO_LIBS="-lACE ${LIBS}"
-#TAO_INCLUDEDIR='-I${includedir}'
-#
-#AC_SUBST([TAO_LIBDIR])
-#AC_SUBST([TAO_LIBS])
-#AC_SUBST([TAO_INCLUDEDIR])
-
-dnl Force CXXFLAGS to be substituted in Makefiles that don't "need" them.
-AC_SUBST([CXXFLAGS])
-
-dnl
-dnl SECTION 16: AC_CONFIG_FILES([FILE...])
-dnl
-dnl
-dnl We can finally create all the files listed here; Makefile is
-dnl created from Makefile.in, etc. Top-level Makefiles should be
-dnl created first.
-
-dnl Makefile
-dnl ace/Makefile
-dnl apps/Makefile
-dnl apps/gperf/Makefile
-dnl apps/gperf/src/Makefile
-dnl man/Makefile
-dnl man/man3/Makefile
-dnl netsvcs/Makefile
-dnl netsvcs/clients/Makefile
-dnl netsvcs/clients/Logger/Makefile
-dnl netsvcs/clients/Naming/Makefile
-dnl netsvcs/clients/Naming/Client/Makefile
-dnl netsvcs/clients/Naming/Dump_Restore/Makefile
-dnl netsvcs/clients/Tokens/Makefile
-dnl netsvcs/clients/Tokens/collection/Makefile
-dnl netsvcs/clients/Tokens/deadlock/Makefile
-dnl netsvcs/clients/Tokens/invariant/Makefile
-dnl netsvcs/clients/Tokens/manual/Makefile
-dnl netsvcs/clients/Tokens/mutex/Makefile
-dnl netsvcs/clients/Tokens/rw_lock/Makefile
-dnl netsvcs/lib/Makefile
-dnl netsvcs/servers/Makefile
-dnl tests/Makefile
-
-AC_CONFIG_FILES([
- ace-config
- ace-config.1
- aceConf.sh
- Makefile
- ace/Makefile
- ace/RMCast/Makefile
- ace/QoS/Makefile
- ace/SSL/Makefile
- apps/Makefile
- apps/gperf/Makefile
- apps/gperf/src/Makefile
- tests/Makefile
-])
-
-AC_CONFIG_COMMANDS([default],[
- echo ""
- echo "Configuration of ACE is now complete."
- echo ""
- ],[])
-AC_OUTPUT
-
-
-
-dnl Configure the TAO directory if it exists.
-dnl if test -d $srcdir/TAO; then
-dnl AC_CONFIG_SUBDIRS([TAO])
-dnl fi
diff --git a/java/ChangeLog b/java/ChangeLog
deleted file mode 100644
index 0f876427365..00000000000
--- a/java/ChangeLog
+++ /dev/null
@@ -1,143 +0,0 @@
-Wed Dec 5 14:35:07 2001 Carlos O'Ryan <coryan@uci.edu>
-
- * EAC/System Manual.doc:
- * EAC/System_Manual.doc:
- Another file with spaces in the name, awful for scripts!
-
-Fri Mar 16 16:17:24 2001 Carlos O'Ryan <coryan@uci.edu>
-
- * java/EAC/User Manual.doc:
- * java/EAC/User_Manual.doc:
- Renamed documentation file, many a script gets confused with
- names that have spaces in them.
-
-Sun Jun 4 14:53:05 2000 Darrell Brunsch <brunsch@uci.edu>
-
- * ImageProcessing/framework/MedJava.html:
- * ImageProcessing/framework/test.html:
- * apps/NexusII/start.html:
-
- Added in missing CVS Id strings.
-
-Tue Aug 24 13:09:15 1999 Everett Anderson <eea1@cs.wustl.edu>
-
- * src/*, tests/*, netsvcs/*: Implemented major changes to the
- package system. Now all files descend from the JACE directory
- under the main archive level. All files are further grouped by
- their subpackage names. This is the way Java usually wants it,
- and makes JACE javadoc friendly.
-
- Rewrote and added javadoc comments throughout JACE.
-
- Changed all concurrency mechanisms to inherit from AbstractLock,
- obeying all its requirements such as not releasing the lock
- unless the accessing thread is the owner.
-
- Added the token service.
-
- Added and rewrote tests for Concurrency mechs and ServiceConfig.
-
- Rewrote network services to inherit from JACE.netsvcs.Server and
- JACE.netsvcs.Handler, abstracting much of the work out to these
- base classes.
-
- Debugging is now OFF by default.
-
-Wed Aug 18 19:43:23 1999 Everett Anderson <eea1@cs.wustl.edu>
-
- * src/GetOpt.java: Added another constructor to GetOpt with an
- option to return args even if not in the optstring. This is
- useful for the default case in a switch (for printUsage
- and exit).
-
-Wed Aug 18 13:35:46 1999 Everett Anderson <eea1@cs.wustl.edu>
-
- * src/TimerQueue.java: Now when createInternalThread is specified
- in the constructor, it is set to be a daemon thread. Thus, if a
- TimerQueue thread is the only one executing, the VM exits.
-
-Wed Jul 14 11:27:47 1999 Everett Anderson <eea1@cs.wustl.edu>
-
- * src/StrategyAcceptor.java, AcceptStrategy.java
- StrategyAcceptor now inherits from Acceptor. AcceptStrategy
- can now delegate to an Acceptor, rather than having its own
- SOCKAcceptor. Its default is to delegate to a generic
- Acceptor instance (that uses a SOCKAcceptor).
-
-Fri Jul 09 13:58:42 1999 Everett Anderson <eea1@cs.wustl.edu>
-
- * src/Acceptor.java, TimeValue.java
- Solved a few javadoc warnings.
-
-Fri Jul 09 11:08:32 1999 Everett Anderson <eea1@cs.wustl.edu>
-
- * src/TimedWait.java, Stream*.java, Token.java
- Fixed a bug in TimedWait from the recent changes. Made
- Streams (and Modules) use absolute times for timeouts.
-
-Thu Jul 08 14:54:36 1999 Everett Anderson <eea1@cs.wustl.edu>
-
- * src/Condition.java, TimedWait.java, EventHandler.java,
- MessageQueue.java, ServiceObject.java, SvcHandler.java,
- Task.java, Mutex.java, Semaphore.java, Token.java,
- TimerQueue.java
-
- Changed the semantics of Condition, TimedWait, MessageQueue,
- Task, Mutex, Semaphore, and Token to use absolute times for
- their timeouts.
-
- Changed the semantics of EventHandler, ServiceObject, and
- SvcHandler such that handleTimeout receives a TimeValue
- representing when the event occured.
-
- Changed TimerQueue internally to reflect the above changes.
-
- Also made better checks in Token and Mutex so that non-owners
- can call release without adverse effects. I plan to try to
- do this with Semaphore and RWMutex as well.
-
-Thu Jul 08 11:20:17 1999 Everett Anderson <eea1@cs.wustl.edu>
-
- * src/TimeValue.java: Added relativeTimeOfDay(offsets)
- methods which return TimeValues. These should help people
- since many classes will be changed to use
- absolute TimeValues shortly to correspond to ACE's versions.
-
-Wed Jul 07 22:42:27 1999 Everett Anderson <eea1@cs.wustl.edu>
-
- * src/Token.java: Fixed several bugs in tryacquire and renew.
- Specifying a null TimeValue in acquire or renew now means to wait
- until the lock is obtained. Specifying TimeValue.zero in acquire
- means just to poll and don't call sleepHook(). In renew, it is
- the same as specifying a requePosition of 0 -- doesn't give up
- the token.
-
-Wed Jul 07 21:54:35 1999 Everett Anderson <eea1@cs.wustl.edu>
-
- * src/TimedWait.java: Fixed the semantics of
- timedWait(TimeValue tv). Now when tv represents zero, it has
- polling semantics, checking the condition once and returning
- on success or throwing a TimeoutException on failure. Before,
- it blocked until notified. (Also affects synch mechanisms)
-
-Wed May 20 14:37:48 CDT 1998 Everett Anderson <eea1@cs.wustl.edu>
-
-Reset the ChangeLog file for future users. If anyone wants more complete
-file by file changes, they can be provided with the CVS log command.
-
-Updated the JACE page at http://www.cs.wustl.edu/~eea1/JACE.html to reflect
-the Version 1.4.4 changes, which included:
-
-* Removed CUP and JLex from JACE. The java_cup directory is still in CVS,
- but won't be included in future versions. This means that the option to
- load C++ ACE ServiceConfigurator files is gone.
-
-* Changed the SOCKStream system so it uses DataInputStream and DataOutputStream
- to maintain compatibility with other languages and remove the deprecation
- warnings from using PrintStream. (Can't use Reader/Writers since they
- write 16-bit chars not 8-bit bytes)
-
-* Made lots of modifications to comments and code to remove javadoc warnings
- and deprecation warnings. They were all straight-forward changes such as
- making sure a @throws line was in the comments for all exceptions a method
- had, etc.
diff --git a/java/EAC/BoundsException.java b/java/EAC/BoundsException.java
deleted file mode 100644
index 12010d570b0..00000000000
--- a/java/EAC/BoundsException.java
+++ /dev/null
@@ -1,13 +0,0 @@
-/**
- * Title: BoundsException
- * Description: An exception class for when graphical objects are positioned
- * partially out of their container's boundaries
- */
-package EAC;
-
-public class BoundsException extends Exception {
-
- public BoundsException(String msg) {
- super(msg);
- }
-} \ No newline at end of file
diff --git a/java/EAC/Configuration.java b/java/EAC/Configuration.java
deleted file mode 100644
index 426a8ba2a5e..00000000000
--- a/java/EAC/Configuration.java
+++ /dev/null
@@ -1,220 +0,0 @@
-/**
- * Title: Configuration
- * Description: A container of Event Analysis Configurator primitives,
- * capable of executing interactions among those primitives
- * one "tick" at a time.
- */
-package EAC;
-import java.awt.*;
-import java.lang.*;
-
-public class Configuration extends Thread {
-
- // highest simulation clock value
- public final long MAX_SIM_CLOCK = 1000000;
-
- // maximum number of primitives in a configuration
- public final int MAX_PRIMITIVES = 100;
-
- // execution modes
- public final int INITIAL = 0;
- public final int RUNNING = 1;
- public final int STOPPED = 2;
-
- // current mode
- protected int mode = INITIAL;
-
- // simulation "clock"
- protected long simulation_time;
-
- // one simulation time unit (msec)
- public int tick; // will be set by runtime parameter
-
- // number of missed execution deadlines
- protected int missed_deadlines;
-
- // simulated resource pool
- protected ResourcePool rp;
-
- // event queue
- protected Queue eventQ;
-
- // input and output areas
- protected TextField inputArea;
- protected Label reportArea;
-
- // collection of primitives
- private Primitive primitive[];
-
- // number of primitives currently stored
- private int primitive_count;
-
- public Configuration(TextField i, Label r) {
- inputArea = i;
- reportArea = r;
- eventQ = new Queue();
- clear();
- mode = INITIAL;
- } /* constructor */
-
- public void clear() {
- primitive_count = 0;
- simulation_time = 0;
- missed_deadlines = 0;
- rp = new ResourcePool();
- primitive = new Primitive[MAX_PRIMITIVES];
- eventQ.clear();
- } /* clear */
-
- public void restart() {
- int i;
-
- simulation_time = 0;
- missed_deadlines = 0;
- rp.release(rp.usage());
- eventQ.clear();
- for (i = 0; i < primitive_count; i++)
- primitive[i].restart();
-
- } /* restart */
-
- public void setTick(int t) {
- tick = t;
- } /* setTick */
-
- public void addLabel(Primitive p) {
- reportArea.setText("Need a label");
- } /* addLabel */
-
- public int getPrimitiveCount() {
- return primitive_count;
- } /* getPrimitiveCount */
-
- public Primitive getPrimitive(int n) {
- return primitive[n];
- } /* getPrimitive */
-
- protected void setPrimitive(int n, Primitive p) {
- primitive[n] = p;
- } /* setPrimitive */
-
- public int addPrimitive(Primitive p) throws TooManyPrimitivesException {
- if (primitive_count == MAX_PRIMITIVES)
- throw new TooManyPrimitivesException("ERROR: Too many primitives");
-
- primitive[primitive_count++] = p;
- return primitive_count;
- } /* addPrimitive */
-
- public boolean deletePrimitive(int i) {
- if (primitive[i] == null)
- return false;
- else {
- primitive[i] = null;
- return true;
- }
- } /* deletePrimitive */
-
- public int leftSideOverlaps(Primitive p) {
- int i;
-
- for (i = 0; i < primitive_count; i++) {
- if (primitive[i] != null) {
- if ((primitive[i].contains(p.upperLeft())) ||
- (primitive[i].contains(p.lowerLeft())) ||
- (p.contains(primitive[i].lowerLeft())) ||
- (p.contains(primitive[i].upperLeft()))) {
- return i;
- } /* if */
- } /* if */
- } /* for */
-
- // no overlap detected
- return -1;
- } /* leftSideOverlaps */
-
- public int rightSideOverlaps(Primitive p) {
- int i;
-
- for (i = 0; i < primitive_count; i++) {
- if (primitive[i] != null) {
- if ((primitive[i].contains(p.lowerRight())) ||
- (primitive[i].contains(p.upperRight())) ||
- (p.contains(primitive[i].upperRight())) ||
- (p.contains(primitive[i].lowerRight()))) {
- return i;
- } /* if */
- } /* if */
- } /* for */
-
- // no overlap detected
- return -1;
- } /* rightSideOverlaps */
-
- public Primitive primitiveContaining (Point p) {
- int i;
-
- for (i = 0; i < primitive_count; i++)
- if (primitive[i].contains(p))
- return primitive[i];
-
- return null;
- } /* primitiveContaining */
-
- public void draw() {
- int i;
-
- for (i = 0; i < primitive_count; i++)
- if (primitive[i] != null)
- try {
- primitive[i].draw();
- } catch (BoundsException be) {
- // can't happen
- }
- } /* draw */
-
- public void eventEnqueue(Primitive p, long t) {
- eventQ.enqueue(p,t);
- } /* eventEnqueue */
-
- public long getTime() {
- return simulation_time;
- } /* getTime */
-
- public void run() {
- Primitive nextP;
-
- while (true) {
- simulation_time += 1;
- simulation_time %= MAX_SIM_CLOCK;
- try {
- reportArea.setText("Simulation Time: " +
- java.lang.Long.toString(simulation_time) +
- " Resource Consumption: " +
- java.lang.Integer.toString(rp.usage()) +
- "% Missed Deadlines: " +
- java.lang.Integer.toString(missed_deadlines) +
- " Next Event: " +
- java.lang.Long.toString(eventQ.frontTime()));
-
- // wake up all primitives who've set alarms for current time
- while (simulation_time == eventQ.frontTime()) {
- nextP = eventQ.dequeue();
- nextP.wakeup(simulation_time);
- } /* while */
- } catch (EmptyQueueException eqe) {
- System.out.println("Event queue empty. We're done?");
- } catch (ConnectionException ce) {
- System.out.println("Connection exception in run");
- }
-
- try {
- sleep(tick);
- }
- catch (InterruptedException ie) {
- System.out.println("Interrupted");
- }
- } /* outer while */
- } /* run */
-
-} \ No newline at end of file
diff --git a/java/EAC/Configurator.java b/java/EAC/Configurator.java
deleted file mode 100644
index 1a9bc7a0ed8..00000000000
--- a/java/EAC/Configurator.java
+++ /dev/null
@@ -1,58 +0,0 @@
-/**
- * Title: Configurator
- * Description: The application class for the Event Analysis Configurator
- */
-package EAC;
-import java.awt.*;
-import java.awt.event.*;
-
-public class Configurator extends Frame {
-
- // Initial dimensions of the frame
- public final int INITIAL_WIDTH = 800;
- public final int INITIAL_HEIGHT = 600;
-
- protected TextField inputArea = new TextField("Input Area", 80);
- protected Label reportArea = new Label();
- protected Configuration config = new Configuration(inputArea,reportArea);
- protected EACPanel canvas = new EACPanel(config,inputArea,reportArea);
- protected EACMenuBar menuBar = new EACMenuBar(canvas,config,inputArea,reportArea);
-
- Configurator(int tick) {
- config.setTick(tick);
-
- setTitle("The Event Analysis Configurator");
- setLayout(new BorderLayout());
- reportArea.setText("Report Area");
-
- // Input Area at top of frame
- add(inputArea,"North");
-
- // Report Area at bottom of frame
- add(reportArea,"South");
-
- // Canvas in the middle of frame
- add(canvas,"Center");
-
- // Menu Bar
- setMenuBar(menuBar);
-
- // Move and resize
- setLocation(0,0);
- setSize(INITIAL_WIDTH,INITIAL_HEIGHT);
-
- // For exiting
- addWindowListener(new Closer());
- }
-
- public static void main (String[] argv) {
- new Configurator(java.lang.Integer.valueOf(argv[0]).intValue()).show();
- }
-
- class Closer extends WindowAdapter {
- public void windowClosing (WindowEvent e) {
- System.exit (0);
- }
- }
-
-} /* Configurator */
diff --git a/java/EAC/ConnectionException.java b/java/EAC/ConnectionException.java
deleted file mode 100644
index a1f3efab7ab..00000000000
--- a/java/EAC/ConnectionException.java
+++ /dev/null
@@ -1,14 +0,0 @@
-/**
- * Title: ConnectionException
- * Description: An exception class for when an attempt is made to connect
- * an input where one is already connected, or to add an
- * output when the maximum number of outputs are already set
- */
-package EAC;
-
-public class ConnectionException extends Exception {
-
- public ConnectionException(String msg) {
- super(msg);
- }
-} \ No newline at end of file
diff --git a/java/EAC/Connector.java b/java/EAC/Connector.java
deleted file mode 100644
index 27c02e820bc..00000000000
--- a/java/EAC/Connector.java
+++ /dev/null
@@ -1,197 +0,0 @@
-/**
- * Title: Connector
- * Description: Connects two primitives in the Event Analysis Configurator
- */
-package EAC;
-import java.awt.*;
-
-public class Connector extends Primitive {
-
- // for drawing
- protected RubberbandLine rbLine;
-
- // Primitives connected by connector
- Primitive startP,
- endP;
-
- // the second point of the connector
- // (the anchor point is inherited from Primitive)
- protected Point endpoint;
-
- public Connector(EACPanel p) {
- super(p);
- rbLine = new RubberbandLine(p);
- }
-
- // inappropriate inherited methods: should not be used
- public void setTop(Point p) {}
- public Point getTop() { return null; }
-
- public void setEndpoint(Point p) {
- endpoint = p;
- } /* setEndpoint */
-
- public Point getEndpoint() {
- return endpoint;
- } /* getEndpoint */
-
- // Anchor the rubberband line AND the connector itself
- public void anchor(Point p) {
- rbLine.anchor(p);
- anchor = p;
- } /* anchor */
-
- // Stretch the rubberband line
- public void stretch(Point p) {
- rbLine.stretch(p);
- } /* stretch */
-
- // End the rubberband line AND the connector itself
- public void end(Point p) {
- rbLine.end(p);
- endpoint = p;
- } /* end */
-
- public void draw() throws BoundsException {
- if (inBounds()) {
- Graphics g = canvas.getGraphics();
-
- g.drawLine(anchor.x,anchor.y,endpoint.x,endpoint.y);
- drawArrowhead(g);
- } else
- throw new BoundsException("ERROR: Attempted to place Connector endpoint out of bounds");
- } /* draw */
-
- private void drawArrowhead(Graphics g) {
- final int arrowHeadWidth = 10;
- Point P1 = anchor;
- Point P2 = endpoint;
-
- // Draw Arrowhead (using java.lang.Math and floating point)
- // source provided by Erik in newsgroup posting
- double dx = P2.x - P1.x;
- double dy = P2.y - P1.y;
- final double ra = java.lang.Math.sqrt(dx*dx + dy*dy);
- final double ri = (double) arrowHeadWidth;
- dx /= ra;
- dy /= ra;
- Point p2 = new Point((int)Math.round(P2.x - dx*ri),
- (int)Math.round(P2.y - dy*ri));
- int[] x = new int[3];
- int[] y = new int[3];
- double r = 0.4 * ri;
- x[0] = (int)Math.round(p2.x + dy * r);
- y[0] = (int)Math.round(p2.y - dx * r);
- x[1] = P2.x;
- y[1] = P2.y;
- x[2] = (int)Math.round(p2.x - dy * r);
- y[2] = (int)Math.round(p2.y + dx * r);
- g.fillPolygon(x, y, x.length);
- } /* drawArrowhead */
-
- public boolean contains(Point p) {
- return false;
- } /* contains */
-
- public Point upperLeft() {
- return anchor;
- } /* upperLeft */
-
- public Point lowerRight() {
- return endpoint;
- } /* lowerRight */
-
- public Point upperRight() {
- return endpoint;
- } /* upperRight */
-
- public Point lowerLeft() {
- return anchor;
- } /* lowerLeft */
-
- public boolean inBounds() {
- if (canvas.contains(endpoint))
- return true;
- else
- return false;
- } /* inBounds */
-
- public void write(File f) throws java.io.IOException {
- f.writeInt(f.CONNECTOR);
- f.writeInt(anchor.x);
- f.writeInt(anchor.y);
- f.writeInt(endpoint.x);
- f.writeInt(endpoint.y);
- } /* write */
-
- public void read(File f) throws java.io.IOException {
- anchor = new Point();
- endpoint = new Point();
-
- anchor.x = f.readInt();
- anchor.y = f.readInt();
- endpoint.x = f.readInt();
- endpoint.y = f.readInt();
- } /* read */
-
- public int addInput(Connector c) throws ConnectionException {
- throw new ConnectionException("ERROR: Connectors cannot connect each other");
- } /* addInput */
-
- public int addOutput(Connector c) throws ConnectionException {
- throw new ConnectionException("ERROR: Connectors cannot connect each other");
- } /* addOutput */
-
- public void setInput(Primitive p) {
- startP = p;
- } /* setInput */
-
- public void setOutput(Primitive p) {
- endP = p;
- } /* setOutput */
-
- public Primitive getInput() {
- return startP;
- } /* getInput */
-
- public Primitive getOutput() {
- return endP;
- } /* getOutput */
-
- public Connector getInput(int i) throws ConnectionException {
- throw new ConnectionException("Internal error: wrong getInput() called on Connector");
- } /* getInput */
-
- public Connector getOutput(int i) throws ConnectionException {
- throw new ConnectionException("Internal error: wrong getOutput() called on Connector");
- } /* getOutput */
-
- public void removeInput(int i) throws ConnectionException {
- //throw new ConnectionException("ERROR: Attempted to remove input from connector");
- startP = null;
- } /* removeInput */
-
- public void removeOutput(int i) throws ConnectionException {
- //throw new ConnectionException("ERROR: Attempted to remove output from connector");
- endP = null;
- } /* removeOutput */
-
- public int getInputCount() throws ConnectionException {
- //throw new ConnectionException("ERROR: Attempted to retrieve input count from connector");
- return (startP == null) ? 0 : 1;
- } /* getInputCount */
-
- public int getOutputCount() throws ConnectionException {
- //throw new ConnectionException("ERROR: Attempted to retrieve output count from connector");
- return (endP == null) ? 0 : 1;
- } /* getOutputCount */
-
- public void event(Source s) throws ConnectionException {
- //throw new ConnectionException("ERROR: Attempted to push event to connector");
- endP.event(s);
- } /* event */
-
- public void wakeup(long t) throws ConnectionException {
- throw new ConnectionException("ERROR: Attempted to wake up connector");
- } /* wakeup */
-} \ No newline at end of file
diff --git a/java/EAC/EACComponent.java b/java/EAC/EACComponent.java
deleted file mode 100644
index f26aca96880..00000000000
--- a/java/EAC/EACComponent.java
+++ /dev/null
@@ -1,460 +0,0 @@
-/**
- * Title: Component
- * Description: A real-time component emulator, for use in the Event Analysis
- * Configurator.
- */
-package EAC;
-import java.awt.*;
-
-public class EACComponent extends Primitive {
-
- class QueueEntry {
-
- Source source;
- long request_time;
- boolean running;
-
- } /* QueueEntry */
-
- public class ServiceQueue {
-
- public QueueEntry queue[];
-
- public int size;
-
- void enqueue(QueueEntry e) {
- int i;
-
- for (i = 0; i < size; i++)
- if (e.source == queue[i].source) {
- System.out.println("Internal error: attempt to enqueue duplicate source");
- System.exit(-1);
- }
-
- if (size >= MAX_INPUTS) {
- System.out.println("Internal error: queue size at max");
- System.exit(-1);
- }
-
- queue[size++] = e;
- } /* enqueue */
-
- QueueEntry dequeue() {
- QueueEntry front = queue[0];
- int i;
-
- for (i = 0; i < size; i++)
- queue[i] = queue[i+1];
-
- --size;
-
- return front;
- } /* dequeue */
-
- boolean containsSource (Primitive p) {
- int i;
-
- for (i = 0; i < size; i++)
- if (queue[i].source == p)
- return true;
-
- return false;
- } /* containsSource */
-
- } /* ServiceQueue */
-
- // queue of running/waiting event sources
- protected ServiceQueue sq;
-
- // Font for text
- protected Font text_font = new EACFont().getFont();
-
- // dimensions of the rectangle to be drawn on-screen
- protected final int HEIGHT = 40;
- protected final int WIDTH = 30;
-
- // Configuration to which the component belongs
- protected Configuration config;
-
- // percentage of Resource Pool consumed during execution
- protected int resource_consumption;
-
- // duration of execution
- protected int duration;
-
- // input
- protected Connector input;
-
- // outputs
- protected Connector output[] = new Connector[MAX_OUTPUTS];
- protected int output_count = 0;
-
- // helps with dragging the component
- protected boolean selected = false;
- protected Point old_anchor;
-
- // Black-on-white (normal) or white-on-black (reversed)?
- protected boolean reverse_color = false;
-
- public EACComponent(EACPanel p, Configuration c) {
- super(p);
- config = c;
- sq = new ServiceQueue();
- sq.queue = new QueueEntry[MAX_INPUTS];
- sq.size = 0;
- } /* constructor */
-
- public void restart() {
- sq.size = 0;
- reverse_color = false;
- selected = false;
- } /* restart */
-
- public void setTop(Point p) {
- anchor = new Point(p.x - (int) (WIDTH / 2), p.y);
- } /* setTop */
-
- public Point getTop() {
- return new Point(anchor.x + (int) (WIDTH / 2), anchor.y);
- } /* getTop */
-
- public void setResourceConsumption(int rc) throws NumberFormatException {
- if ((rc > 0) && (rc <= 100))
- resource_consumption = rc;
- else
- throw new NumberFormatException();
- } /* setResourceConsumption */
-
- public int getResourceConsumption() {
- return resource_consumption;
- } /* getResourceConsumption */
-
- public void setDuration(int d) throws NumberFormatException {
- if (d > 0)
- duration = d;
- else
- throw new NumberFormatException();
- } /* setDuration */
-
- public int getDuration() {
- return duration;
- } /* getDuration */
-
- public void event(Source s) throws ConnectionException {
- long time = config.getTime();
-
- s.reverseColor();
- try {
- s.draw();
- } catch (BoundsException be) {}
-
- //System.out.print(label.getText());
- //System.out.print(" event at: ");
- //System.out.println(time);
-
- if (sq.containsSource(s)) { // missed a deadline
- config.missed_deadlines++;
- System.out.print(label.getText());
- System.out.print(" missed a deadline for ");
- System.out.print(s.getLabel().getText());
- System.out.print(" at: ");
- System.out.println(java.lang.Long.toString(time));
- } else { // there's no existing service call for this source
- // prepare to add new entry to Service Queue
- QueueEntry e = new QueueEntry();
- e.source = s;
- e.request_time = time;
- if (config.rp.reserve(resource_consumption)) { // resource reservation succeeded
- reverseColor(); // indicate we're working it
- try {
- draw();
- } catch (BoundsException be) {}
- config.eventEnqueue(this,time + duration); // set wakeup call to release resources
-
- // new entry will be running
- e.running = true;
- } else { // resource reservation failed
- config.eventEnqueue(this,time + 1); // set wakeup call to try for resources again
-
- // new entry will be waiting
- e.running = false;
- } /* else */
-
- sq.enqueue(e); // add new entry to Service Queue
- } /* else */
- } /* event */
-
- public void wakeup(long t) throws ConnectionException {
- int i;
-
- //System.out.print(label.getText());
- //System.out.println(" wakeup at: " + java.lang.Long.toString(t));
-
- while (sq.size > 0) {
- if ((sq.queue[0].running) && (sq.queue[0].request_time + duration <= t)) { // time to release
- config.rp.release(resource_consumption);
- try {
- Source s = sq.dequeue().source; // dequeue and get the source
- s.normalColor(); // indicates we're done
- normalColor();
- s.draw();
- draw();
- } catch (BoundsException be) {}
- } else
- break;
- } /* while */
-
- // satisfy as many waiting service calls as possible
- for (i = 0; i < sq.size; i++) {
- if (!sq.queue[i].running) {
- if (config.rp.reserve(resource_consumption)) { // resource reservation succeeded
- config.eventEnqueue(this,t + duration); // set wakeup call to release resources
- sq.queue[i].request_time = t;
- sq.queue[i].running = true;
- sq.queue[i].source.reverseColor(); // indicates we're working it
- reverseColor();
- try {
- draw();
- sq.queue[i].source.draw();
- } catch (BoundsException be) {}
- } else { // resource reservation failed
- config.eventEnqueue(this,t + 1); // set wakeup call to try for resources again
- break; // no reason to keep trying right now
- } /* else */
- } /* if */
- } /* while */
-
- } /* wakeup */
-
- public int addInput(Connector c) throws ConnectionException {
- if (input == null) {
- input = c;
- return 1;
- }
- else
- throw new ConnectionException("ERROR: Input already established for this component");
- } /* setInput */
-
- public int addOutput(Connector c) throws ConnectionException {
- if (output_count < MAX_OUTPUTS)
- output[output_count++] = c;
- else
- throw new ConnectionException("ERROR: Maximum outputs established for this component");
-
- return output_count;
- } /* addOutput */
-
- public Connector getInput(int i) throws ConnectionException {
- if (i != 0)
- throw new ConnectionException("ERROR: Bad input index for component");
- else if (input == null)
- throw new ConnectionException("ERROR: No input for this component");
- else
- return input;
- } /* getInput */
-
- public Connector getOutput(int i) throws ConnectionException {
- if ((i >= 0) && (i < output_count))
- return output[i];
- else
- throw new ConnectionException("ERROR: Bad output index for component");
- } /* getOutput */
-
- public void removeInput(int i) throws ConnectionException {
- if (i != 0)
- throw new ConnectionException("ERROR: Bad input index for component");
- else
- input = null;
- } /* removeInput */
-
- public void removeOutput(int i) throws ConnectionException {
- if ((i >= 0) && (i < output_count)) {
- output[i] = output[output_count-1];
- --output_count;
- } else
- throw new ConnectionException("ERROR: Bad output index for component");
- } /* removeOutput */
-
- public int getOutputCount() throws ConnectionException {
- return output_count;
- } /* getOutputCount */
-
- public int getInputCount() throws ConnectionException {
- return (input == null) ? 0 : 1;
- } /* getInputCount */
-
- public boolean contains(Point p) {
- if ((p.x >= anchor.x) &&
- (p.x <= anchor.x + WIDTH) &&
- (p.y >= anchor.y) &&
- (p.y <= anchor.y + HEIGHT))
- return true;
- else
- return false;
- } /* contains */
-
- public Point upperLeft() {
- return anchor;
- } /* upperLeft */
-
- public Point lowerRight() {
- return new Point(anchor.x + WIDTH, anchor.y + HEIGHT);
- } /* lowerRight */
-
- public Point upperRight() {
- return new Point(anchor.x + WIDTH, anchor.y);
- } /* upperRight */
-
- public Point lowerLeft() {
- return new Point(anchor.x, anchor.y + HEIGHT);
- } /* lowerLeft */
-
- public void draw() throws BoundsException {
- if (selected)
- selected = false;
- else if (inBounds()) {
- Graphics g = canvas.getGraphics();
- char stringData[];
- Color bg,
- fg;
-
- if (reverse_color) {
- bg = Color.black;
- fg = Color.white;
- } else {
- bg = Color.white;
- fg = Color.black;
- }
-
- g.setColor(Color.black); // rectangle is always black
- g.drawRect(anchor.x,anchor.y,WIDTH,HEIGHT);
-
- g.setColor(bg); // interior
- g.fillRect(anchor.x+1,anchor.y+1,WIDTH-1,HEIGHT-1);
-
- g.setColor(fg); // middle line and text
- g.drawLine(anchor.x,anchor.y + (int) (HEIGHT / 2),
- anchor.x + WIDTH, anchor.y + (int) (HEIGHT / 2));
-
- // print resource consumption percentage
- g.setFont(text_font);
- g.drawString(java.lang.String.valueOf(resource_consumption),
- anchor.x + 16 - (3 * java.lang.String.valueOf(resource_consumption).length()),
- anchor.y + (int) (HEIGHT / 3));
-
- // print duration
- g.drawString(java.lang.String.valueOf(duration),
- anchor.x + 16 - (3 * java.lang.String.valueOf(duration).length()),
- anchor.y + (int) (HEIGHT * 3 / 4) + 3);
-
- } else
- throw new BoundsException("ERROR: Attempted to place Component partially out of bounds");
- } /* draw */
-
- public void reverseColor() {
- reverse_color = true;
- } /* reverseColor */
-
- public void normalColor() {
- reverse_color = false;
- } /* normalColor */
-
- public void specialDraw() {
- Graphics g = canvas.getGraphics();
-
- g.setXORMode(canvas.getBackground());
- g.drawRect(anchor.x,anchor.y,WIDTH,HEIGHT);
- } /* specialDraw */
-
- public void specialUndraw() {
- Graphics g = canvas.getGraphics();
-
- g.setColor(canvas.getBackground());
- g.setXORMode(canvas.getForeground());
- g.drawRect(anchor.x,anchor.y,WIDTH,HEIGHT);
- } /* specialUndraw */
-
- public void selectedDraw() {
- // this will preclude drawing this component for one repaint() call
- selected = true;
-
- old_anchor = anchor;
-
- super.selectedDraw();
- } /* selectedDraw */
-
- public void reconnect() {
- int i;
-
- // move output anchors
- for (i = 0; i < output_count; i++)
- output[i].setAnchor(new Point(output[i].getAnchor().x + anchor.x - old_anchor.x,
- output[i].getAnchor().y + anchor.y - old_anchor.y));
-
- // move input endpoint
- input.setEndpoint(new Point(input.upperRight().x + anchor.x - old_anchor.x,
- input.upperRight().y + anchor.y - old_anchor.y));
-
- // move label anchor
- label.setAnchor(new Point(label.getAnchor().x + anchor.x - old_anchor.x,
- label.getAnchor().y + anchor.y - old_anchor.y));
- } /* reconnect */
-
- public boolean inBounds() {
- if ((canvas.contains(upperLeft())) &&
- (canvas.contains(lowerRight())))
- return true;
- else
- return false;
- } /* inBounds */
-
- public void write(File f) throws java.io.IOException {
- char temp[]; // for writing label
- int i, n;
-
- f.writeInt(f.COMPONENT);
- f.writeInt(anchor.x);
- f.writeInt(anchor.y);
- f.writeInt(resource_consumption);
- f.writeInt(duration);
-
- // Write out the associated label
- n = label.getText().length();
- f.writeInt(n); // text length
- temp = new char[n];
- temp = label.getText().toCharArray();
- for (i = 0; i < n; i++)
- f.writeChar(temp[i]);
- f.writeInt(label.getAnchor().x); // label position
- f.writeInt(label.getAnchor().y);
- } /* write */
-
- public void read(File f) throws java.io.IOException {
- char temp[]; // for reading label
- int i, n;
- int label_x, label_y;
-
- anchor = new Point();
- anchor.x = f.readInt();
- anchor.y = f.readInt();
- resource_consumption = f.readInt();
- duration = f.readInt();
-
- // get label info
- n = f.readInt(); // text length
- label = new EACLabel(canvas,n);
- temp = new char[n];
- for (i = 0; i < n; i++)
- temp[i] = f.readChar();
- label.setText(java.lang.String.valueOf(temp));
- label_x = f.readInt();
- label_y = f.readInt();
- label.setAnchor(new Point(label_x,label_y));
- label.setLabelee(this);
- try {
- config.addPrimitive(label);
- } catch (TooManyPrimitivesException tmpe) {
- // have faith :-)
- }
- } /* read */
-} \ No newline at end of file
diff --git a/java/EAC/EACFont.java b/java/EAC/EACFont.java
deleted file mode 100644
index 97f4d39b6cb..00000000000
--- a/java/EAC/EACFont.java
+++ /dev/null
@@ -1,21 +0,0 @@
-/**
- * Title: EACFont
- * Description: The font to be used for on-screen text
- */
-package EAC;
-import java.awt.*;
-
-public class EACFont {
-
- // Use 9-point Courier New
- public final int FONT_SIZE = 10;
- protected Font eac_font = new Font("Courier New",Font.PLAIN,FONT_SIZE);
-
- public EACFont() {
- }
-
- public Font getFont() {
- return eac_font;
- } /* getFont */
-
-} \ No newline at end of file
diff --git a/java/EAC/EACLabel.java b/java/EAC/EACLabel.java
deleted file mode 100644
index e841c4e4c40..00000000000
--- a/java/EAC/EACLabel.java
+++ /dev/null
@@ -1,187 +0,0 @@
-/**
- * Title: EACLabel
- * Description: Text labels for Event Analysis Configurator graphical
- * primitives
- */
-package EAC;
-import java.awt.*;
-
-public class EACLabel extends Primitive {
-
- // Font for labels
- protected Font label_font = new EACFont().getFont();
-
- // Font Metrics for sizing and bounds checking labels
- protected FontMetrics fm = canvas.getFontMetrics(label_font);
-
- // Label text
- protected char[] text;
-
- // associated Primitive
- protected Primitive labelee;
-
- public EACLabel(EACPanel p, int n) {
- super(p);
- text = new char[n];
- } /* constructor */
-
- public void setLabelee(Primitive p) {
- labelee = p;
- } /* setLabelee */
-
- public Primitive getLabelee() {
- return labelee;
- } /* getLabelee */
-
- public void setText(String s) {
- text = s.toCharArray();
- } /* setText */
-
- public String getText() {
- return java.lang.String.valueOf(text);
- } /* getText */
-
- public void setTop(Point p) {
- anchor = new Point(p.x - (3 * text.length),
- p.y + 9);
- } /* setTop */
-
- public Point getTop() {
- return new Point(anchor.x + (3 * text.length),
- anchor.y - 9);
- } /* getTop */
-
- public void draw() throws BoundsException {
- if (inBounds()) {
- Graphics g = canvas.getGraphics();
- g.setFont(label_font);
- g.drawChars(text,0,text.length,anchor.x,anchor.y);
- } else
- throw new BoundsException("Attempted to place Label partially out of bounds");
- } /* draw */
-
- public void specialDraw() {
- Graphics g = canvas.getGraphics();
-
- g.setXORMode(canvas.getBackground());
- g.drawRect(upperLeft().x, upperLeft().y,
- upperRight().x - upperLeft().x, // WIDTH
- lowerRight().y - upperRight().y); // HEIGHT
- } /* specialDraw */
-
- public void specialUndraw() {
- Graphics g = canvas.getGraphics();
-
- g.setColor(canvas.getBackground());
- g.setXORMode(canvas.getForeground());
- g.drawRect(upperLeft().x, upperLeft().y,
- upperRight().x - upperLeft().x, // WIDTH
- lowerRight().y - upperRight().y); // HEIGHT
- } /* specialUndraw */
-
- public boolean contains(Point p) {
- return ((p.x >= upperLeft().x) &&
- (p.x <= upperRight().x) &&
- (p.y <= lowerLeft().y) &&
- (p.y >= upperLeft().y));
- } /* contains */
-
- public boolean inBounds() {
- // don't know why we need this, but fm.stringWidth seems to return a
- // value that's bigger than the actual width of the text
- //final int xTweak = 20;
-
- //if (canvas.contains(anchor.x + fm.stringWidth(text.toString()) - xTweak,
- // anchor.y - fm.getHeight()))
- if ((canvas.contains(upperLeft())) &&
- (canvas.contains(upperRight())) &&
- (canvas.contains(lowerLeft())) &&
- (canvas.contains(lowerRight())))
- return true;
- else
- return false;
- } /* inBounds */
-
- public Point upperLeft() {
- return new Point(anchor.x,anchor.y - 9);
- } /* upperLeft */
-
- public Point upperRight() {
- return new Point(anchor.x + (6 * text.length),anchor.y - 9);
- } /* upperRight */
-
- public Point lowerLeft() {
- return anchor;
- } /* lowerLeft */
-
- public Point lowerRight() {
- return new Point(anchor.x + (6 * text.length),anchor.y);
- } /* lowerRight */
-
- public void write(File f) throws java.io.IOException {
- int i;
-
- // if there's an associated primitive, that primitive
- // is responsible for writing out the label info too,
- // so only write out the info if there is no labelee
- if (labelee == null) {
- f.writeInt(f.LABEL);
- f.writeInt(text.length);
- f.writeInt(anchor.x);
- f.writeInt(anchor.y);
- for (i = 0; i < text.length; i++)
- f.writeChar(text[i]);
- }
- } /* write */
-
- public void read(File f) throws java.io.IOException {
- int i;
-
- anchor = new Point();
- anchor.x = f.readInt();
- anchor.y = f.readInt();
-
- for (i = 0; i < text.length; i++)
- text[i] = f.readChar();
- } /* read */
-
- public int addInput(Connector c) throws ConnectionException {
- throw new ConnectionException("ERROR: Attempted to add input to label");
- } /* addInput */
-
- public int addOutput(Connector c) throws ConnectionException {
- throw new ConnectionException("ERROR: Attempted to add output to label");
- } /* addOutput */
-
- public Connector getInput(int i) throws ConnectionException {
- throw new ConnectionException("ERROR: Attempted to retrieve input from label");
- } /* getInput */
-
- public Connector getOutput(int i) throws ConnectionException {
- throw new ConnectionException("ERROR: Attempted to retrieve output from label");
- } /* getOutput */
-
- public int getInputCount() throws ConnectionException {
- throw new ConnectionException("ERROR: Attempted to retrieve input count from label");
- } /* getInputCount */
-
- public int getOutputCount() throws ConnectionException {
- throw new ConnectionException("ERROR: Attempted to retrieve output count from label");
- } /* getOutputCount */
-
- public void removeInput(int i) throws ConnectionException {
- throw new ConnectionException("ERROR: Attempted to remove input from label");
- } /* removeInput */
-
- public void removeOutput(int i) throws ConnectionException {
- throw new ConnectionException("ERROR: Attempted to remove output from label");
- } /* removeOutput */
-
- public void event(Source s) throws ConnectionException {
- throw new ConnectionException("ERROR: Attempted to push event to label");
- } /* event */
-
- public void wakeup(long t) throws ConnectionException {
- throw new ConnectionException("ERROR: Attempted to wake up label");
- } /* wakeup */
-} \ No newline at end of file
diff --git a/java/EAC/EACMenuBar.java b/java/EAC/EACMenuBar.java
deleted file mode 100644
index d34a776635d..00000000000
--- a/java/EAC/EACMenuBar.java
+++ /dev/null
@@ -1,198 +0,0 @@
-/**
- * Title: EACMenuBar
- * Description: A subclass of MenuBar for the Event Analysis Configurator
- */
-package EAC;
-import java.awt.*;
-import java.awt.event.*;
-
-public class EACMenuBar extends MenuBar {
-
- protected EACPanel canvas;
- protected Configuration config;
- protected TextField inputArea;
- protected Label reportArea;
-
- public EACMenuBar(EACPanel p, Configuration c, TextField i, Label r) {
- canvas = p;
- config = c;
- inputArea = i;
- reportArea = r;
-
- // Configuration menu
- Menu menu = new Menu("Configuration");
-
- // Configuration menu options
- MenuItem mi = new MenuItem("Clear");
- mi.addActionListener(new ActionListener() {
- public void actionPerformed(ActionEvent e) {
- if (config.mode == config.RUNNING) {
- config.suspend();
- config.mode = config.STOPPED;
- } /* if */
- config.clear();
- canvas.repaint();
- inputArea.setText("");
- reportArea.setText("Configuration cleared");
- } /* actionPerformed */
- }); /* addActionListener */
- menu.add(mi);
-
- mi = new MenuItem("Load");
- mi.addActionListener(new ActionListener() {
- public void actionPerformed(ActionEvent e) {
- if (config.mode == config.RUNNING) {
- config.suspend();
- config.mode = config.STOPPED;
- } /* if */
- config.clear();
- canvas.repaint();
- inputArea.setText("");
- reportArea.setText("Please enter a filename");
- canvas.mode = canvas.LOAD;
- } /* actionPerformed */
- }); /* addActionListener */
- menu.add(mi);
-
- mi = new MenuItem("Save");
- mi.addActionListener(new ActionListener() {
- public void actionPerformed(ActionEvent e) {
- if (config.mode == config.RUNNING) {
- config.suspend();
- config.mode = config.STOPPED;
- } /* if */
- canvas.repaint();
- canvas.mode = canvas.SAVE;
- inputArea.setText("");
- reportArea.setText("Please enter a filename");
- } /* actionPerformed */
- }); /* addActionListener */
- menu.add(mi);
-
- mi = new MenuItem("Run/Restart");
- mi.addActionListener(new ActionListener() {
- public void actionPerformed(ActionEvent e) {
- if (config.mode == config.INITIAL) {
- config.start();
- } else if (config.mode == config.STOPPED) {
- config.restart();
- canvas.repaint();
- config.resume();
- }
- System.out.println();
- System.out.println("Configuration running...");
- config.mode = config.RUNNING;
- } /* actionPerformed */
- }); /* addActionListener */
- menu.add(mi);
-
- mi = new MenuItem("Pause/Unpause");
- mi.addActionListener(new ActionListener() {
- public void actionPerformed(ActionEvent e) {
- if (config.mode == config.RUNNING) {
- config.suspend();
- config.mode = config.STOPPED;
- } else if (config.mode == config.STOPPED) {
- config.resume();
- config.mode = config.RUNNING;
- }
- } /* actionPerformed */
- }); /* addActionListener */
- menu.add(mi);
-
- add(menu);
-
- // New menu
- menu = new Menu("New");
-
- // New menu options
- mi = new MenuItem("Component");
- mi.addActionListener(new ActionListener() {
- public void actionPerformed(ActionEvent e) {
- if (config.mode != config.RUNNING) {
- canvas.current_component = new EACComponent(canvas,config);
- canvas.repaint();
- canvas.mode = canvas.COMPONENT;
- }
- } /* actionPerformed */
- }); /* addActionListener */
- menu.add(mi);
-
- mi = new MenuItem("Union");
- mi.addActionListener(new ActionListener() {
- public void actionPerformed(ActionEvent e) {
- if (config.mode != config.RUNNING) {
- canvas.current_shape = new Union(canvas);
- canvas.repaint();
- canvas.mode = canvas.EDIT;
- }
- } /* actionPerformed */
- }); /* addActionListener */
- menu.add(mi);
-
- mi = new MenuItem("Intersection");
- mi.addActionListener(new ActionListener() {
- public void actionPerformed(ActionEvent e) {
- if (config.mode != config.RUNNING) {
- canvas.current_shape = new Intersection(canvas);
- canvas.repaint();
- canvas.mode = canvas.EDIT;
- }
- } /* actionPerformed */
- }); /* addActionListener */
- menu.add(mi);
-
- mi = new MenuItem("Source");
- mi.addActionListener(new ActionListener() {
- public void actionPerformed(ActionEvent e) {
- if (config.mode != config.RUNNING) {
- canvas.current_source = new Source(canvas,config);
- canvas.repaint();
- canvas.mode = canvas.SOURCE;
- }
- } /* actionPerformed */
- }); /* addActionListener */
- menu.add(mi);
-
- mi = new MenuItem("Sink");
- mi.addActionListener(new ActionListener() {
- public void actionPerformed(ActionEvent e) {
- if (config.mode != config.RUNNING) {
- canvas.current_shape = new Sink(canvas);
- canvas.repaint();
- canvas.mode = canvas.EDIT;
- }
- } /* actionPerformed */
- }); /* addActionListener */
- menu.add(mi);
-
- mi = new MenuItem("Connector");
- mi.addActionListener(new ActionListener() {
- public void actionPerformed(ActionEvent e) {
- if (config.mode != config.RUNNING) {
- canvas.repaint();
- canvas.mode = canvas.CONNECTING;
- }
- } /* actionPerformed */
- }); /* addActionListener */
- menu.add(mi);
-
- mi = new MenuItem("Label");
- mi.addActionListener(new ActionListener() {
- public void actionPerformed(ActionEvent e) {
- if (config.mode != config.RUNNING) {
- reportArea.setText("Enter the text for your label in the input area");
- inputArea.setText("");
- canvas.repaint();
- canvas.mode = canvas.LABEL_TYPING;
- }
- } /* actionPerformed */
- }); /* addActionListener */
- menu.add(mi);
-
- add(menu);
-
- } /* constructor */
-
-} /* EACMenuBar */
-
diff --git a/java/EAC/EACPanel.java b/java/EAC/EACPanel.java
deleted file mode 100644
index 333321ef545..00000000000
--- a/java/EAC/EACPanel.java
+++ /dev/null
@@ -1,425 +0,0 @@
-/**
- * Title: EACPanel
- * Description: A subclass of Panel for the Event Analysis Configurator
- */
-package EAC;
-import java.awt.*;
-import java.awt.event.*;
-
-public class EACPanel extends Panel {
-
- protected TextField inputArea;
- protected Label reportArea;
-
- // input modes
- public final int COMMAND = 0;
- public final int SELECT = 1;
- public final int CUT = 2;
- public final int COPY = 3;
- public final int PASTE = 4;
- public final int EDIT = 5;
- public final int CONNECTING = 6;
- public final int COMPONENT = 7;
- public final int LABEL_TYPING = 8;
- public final int LABEL_ADDING = 9;
- public final int RC_TYPING = 10;
- public final int DURATION_TYPING = 11;
- public final int PERIOD_TYPING = 12;
- public final int SOURCE = 13;
- public final int CONNECTING_END = 14;
- public final int LOAD = 15;
- public final int SAVE = 16;
-
- // current input mode
- protected int mode;
-
- // current primitive for drawing
- protected Primitive current_shape;
-
- // current text label
- protected EACLabel current_label;
-
- // current component
- protected EACComponent current_component;
-
- // current source
- protected Source current_source;
-
- // current connector, and associated primitives (indices into config's collection)
- protected Connector current_connector;
- protected int connector_start_index;
- protected int connector_end_index;
-
- // flag for associating the required label with a component or source
- protected boolean component_needs_label = false;
- protected boolean source_needs_label = false;
-
- // Component Configuration associated with this panel
- protected Configuration config;
-
- // for dragging primitives around the panel
- int moving_dx,
- moving_dy;
- boolean repainted;
-
-
- // Constructor
- public EACPanel(Configuration c, TextField i, Label r) {
- config = c;
- inputArea = i;
- inputArea.addKeyListener(eac_key_adapter);
- reportArea = r;
- mode = COMMAND;
- addMouseListener(eac_mouse_adapter);
- addMouseMotionListener(eac_mm_adapter);
- } /* constructor */
-
- // Mouse Adapter
- private class EACMouseAdapter extends MouseAdapter
- implements MouseListener {
-
- EACPanel canvas;
-
- public EACMouseAdapter(EACPanel p) {
- canvas = p;
- } /* constructor */
-
- public void mousePressed(MouseEvent e) {
- switch (mode) {
- case EDIT:
- current_shape.setTop(new Point(e.getX(),e.getY()));
- try {
- if ((config.leftSideOverlaps(current_shape) == -1) &&
- (config.rightSideOverlaps(current_shape) == -1)) {
- current_shape.draw();
- reportArea.setText("");
- config.addPrimitive(current_shape);
- mode = COMMAND;
- } else {
- reportArea.setText("ERROR: Primitives too close together");
- } /* if */
- } catch (BoundsException be) {
- reportArea.setText(be.getMessage());
- } catch (TooManyPrimitivesException tmpe) {
- reportArea.setText(tmpe.getMessage());
- } /* try */
- break;
- case SOURCE:
- current_source.setTop(new Point(e.getX(),e.getY()));
- try {
- if ((config.leftSideOverlaps(current_source) == -1) &&
- (config.rightSideOverlaps(current_source) == -1)) {
- current_source.draw();
- config.addPrimitive(current_source);
- reportArea.setText("Please enter the period for this source in the input area");
- inputArea.setText("");
- mode = PERIOD_TYPING;
- } else {
- reportArea.setText("ERROR: Primitives too close together");
- } /* if */
- } catch (BoundsException be) {
- reportArea.setText(be.getMessage());
- } catch (TooManyPrimitivesException tmpe) {
- reportArea.setText(tmpe.getMessage());
- } /* try */
- break;
- case COMPONENT:
- current_component.setTop(new Point(e.getX(),e.getY()));
- try {
- if ((config.leftSideOverlaps(current_component) == -1) &&
- (config.rightSideOverlaps(current_component) == -1)) {
- current_component.draw();
- config.addPrimitive(current_component);
- reportArea.setText("Please enter the resource consumption for this component in the input area");
- inputArea.setText("");
- mode = RC_TYPING;
- } else {
- reportArea.setText("ERROR: Primitives too close together");
- } /* if */
- } catch (BoundsException be) {
- reportArea.setText(be.getMessage());
- } catch (TooManyPrimitivesException tmpe) {
- reportArea.setText(tmpe.getMessage());
- } /* try */
- break;
- case CONNECTING:
- current_connector = new Connector(canvas);
- current_connector.anchor(new Point(e.getX(),e.getY()));
- connector_start_index = config.leftSideOverlaps(current_connector);
- if (connector_start_index == -1)
- reportArea.setText("ERROR: Connector must begin inside a primitive");
- else
- mode = CONNECTING_END;
- break;
- case LABEL_ADDING:
- current_label.setTop(new Point(e.getX(),e.getY()));
- try {
- current_label.specialUndraw();
- current_label.draw();
- reportArea.setText("");
- config.addPrimitive(current_label);
- mode = COMMAND;
- } catch (BoundsException be) {
- reportArea.setText(be.getMessage());
- } catch (TooManyPrimitivesException tmpe) {
- reportArea.setText(tmpe.getMessage());
- } /* try */
- break;
- default: // SELECT mode
- mode = SELECT;
- current_shape = config.primitiveContaining(new Point(e.getX(),e.getY()));
- repaint();
- if (current_shape != null) {
- repaint(); // if there was a previously selected shape, it ignored
- // the last repaint() (kludge--looks better for dragging)
- moving_dx = e.getX() - current_shape.getTop().x;
- moving_dy = e.getY() - current_shape.getTop().y;
- current_shape.selectedDraw();
- repainted = false;
- } else
- repaint(); // need to repaint a second time
- break;
- } /* switch */
- } /* mousePressed */
-
- public void mouseReleased(MouseEvent e) {
- switch (mode) {
- case CONNECTING_END:
- current_connector.end(new Point(e.getX(),e.getY()));
- try {
- connector_end_index = config.rightSideOverlaps(current_connector);
- if (connector_end_index != -1) {
- if (connector_end_index == connector_start_index)
- reportArea.setText("ERROR: Connector cannot start and end at same primitive");
- else {
- Primitive startP = config.getPrimitive(connector_start_index);
- Primitive endP = config.getPrimitive(connector_end_index);
-
- // connect primitives
- try {
- startP.addOutput(current_connector);
- current_connector.setInput(startP);
- current_connector.setOutput(endP);
- endP.addInput(current_connector);
-
- // if everything okay, draw arrow
- current_connector.draw();
- reportArea.setText("");
- config.addPrimitive(current_connector);
-
- mode = COMMAND;
-
- } catch (ConnectionException ce) {
- reportArea.setText(ce.getMessage());
- }
- } /* else */
- } else {
- reportArea.setText("ERROR: Connector must terminate inside a primitive");
- } /* if */
- } catch (BoundsException be) {
- reportArea.setText(be.getMessage());
- } catch (TooManyPrimitivesException tmpe) {
- reportArea.setText(tmpe.getMessage());
- } /* try */
- mode = CONNECTING;
- break;
- case SELECT:
- if (current_shape != null)
- current_shape.reconnect();
- if (repainted) // dragging occurred
- repaint();
- break;
- default:
- //no-op
- } /* switch */
- } /* mouseReleased */
-
- public void mouseClicked(MouseEvent e) {}
- public void mouseEntered(MouseEvent e) {}
- public void mouseExited(MouseEvent e) {}
-
- } /* EACMouseAdapter */
-
- // Mouse Motion Adapter
- private class EACMouseMotionAdapter extends MouseMotionAdapter
- implements MouseMotionListener {
-
- public void mouseDragged(MouseEvent e) {
- switch (mode) {
- case CONNECTING_END:
- current_connector.stretch(new Point(e.getX(),e.getY()));
- break;
- case SELECT:
- if (current_shape != null) {
- Point old_top = current_shape.getTop();
- if (!repainted) {
- repaint();
- repainted = true;
- } /* if */
- current_shape.specialUndraw();
- current_shape.setTop(new Point(e.getX() - moving_dx,e.getY() - moving_dy));
- if (!current_shape.inBounds())
- current_shape.setTop(old_top);
- current_shape.specialDraw();
- } /* if */
- default:
- //no-op
- } /* switch */
- } /* mouseDragged */
-
- public void mouseMoved(MouseEvent e) {
- switch (mode) {
- case COMPONENT:
- if (current_component.getAnchor() != null)
- current_component.specialUndraw();
- current_component.setTop(new Point(e.getX(),e.getY()));
- current_component.specialDraw();
- break;
- case SOURCE:
- if (current_source.getAnchor() != null)
- current_source.specialUndraw();
- current_source.setTop(new Point(e.getX(),e.getY()));
- current_source.specialDraw();
- break;
- case EDIT:
- if (current_shape.getAnchor() != null)
- current_shape.specialUndraw();
- current_shape.setTop(new Point(e.getX(),e.getY()));
- current_shape.specialDraw();
- break;
- case LABEL_ADDING:
- if (current_label.getAnchor() != null)
- current_label.specialUndraw();
- current_label.setTop(new Point(e.getX(),e.getY()));
- current_label.specialDraw();
- break;
- default:
- //no-op
- } /* switch */
- } /* mouseMoved */
-
- } /* EACMouseMotionAdapter */
-
- // Key Adapter
- private class EACKeyAdapter extends KeyAdapter implements KeyListener {
-
- EACPanel canvas;
-
- public EACKeyAdapter(EACPanel p) {
- canvas = p;
- } /* constructor */
-
- public void keyPressed(KeyEvent e) {
- Graphics g = getGraphics();
- String input;
-
- if ((mode == RC_TYPING) && (e.getKeyChar() == '\n')) {
- input = new String(inputArea.getText());
- try {
- current_component.setResourceConsumption(Integer.parseInt(input));
- current_component.draw();
- reportArea.setText("Please enter the duration for this component in the input area");
- inputArea.setText("");
- mode = DURATION_TYPING;
- } catch (NumberFormatException nfe) {
- reportArea.setText("Please enter an integer value between 1 and 100, inclusive");
- inputArea.setText("");
- return;
- } catch (BoundsException be) {
- reportArea.setText(be.getMessage());
- } /* try */
- } else if ((mode == DURATION_TYPING) && (e.getKeyChar() == '\n')) {
- input = new String(inputArea.getText());
- try {
- current_component.setDuration(Integer.parseInt(input));
- current_component.draw();
- reportArea.setText("Please enter a label for this component in the input area");
- inputArea.setText("");
- component_needs_label = true;
- mode = LABEL_TYPING;
- } catch (NumberFormatException nfe) {
- reportArea.setText("Please enter an integer value");
- inputArea.setText("");
- return;
- } catch (BoundsException be) {
- reportArea.setText(be.getMessage());
- } /* try */
- } else if ((mode == LABEL_TYPING) && (e.getKeyChar() == '\n')) {
- current_label = new EACLabel(canvas,inputArea.getText().length());
- current_label.setText(inputArea.getText());
- if (component_needs_label) {
- component_needs_label = false;
- current_component.setLabel(current_label);
- current_label.setLabelee(current_component);
- } else if (source_needs_label) {
- source_needs_label = false;
- current_source.setLabel(current_label);
- current_label.setLabelee(current_source);
- }
- reportArea.setText("Click at desired label location");
- inputArea.setText("");
- mode = LABEL_ADDING;
- } else if ((mode == PERIOD_TYPING) && (e.getKeyChar() == '\n')) {
- input = new String(inputArea.getText());
- try {
- current_source.setPeriod(Integer.parseInt(input));
- current_source.draw();
- inputArea.setText("");
- reportArea.setText("Please enter a label for this source in the input area");
- mode = LABEL_TYPING;
- source_needs_label = true;
- } catch (NumberFormatException nfe) {
- reportArea.setText("Please enter a positive integer value");
- inputArea.setText("");
- return;
- } catch (BoundsException be) {
- reportArea.setText(be.getMessage());
- } /* try */
- } else if ((mode == LOAD) && (e.getKeyChar() == '\n')) {
- File input_file;
- input = new String(inputArea.getText());
- try {
- input_file = new File(input,"r",config,canvas);
- input_file.readConfiguration();
- input_file.close();
- reportArea.setText("Configuration loaded successfully");
- inputArea.setText("");
- } catch (java.io.FileNotFoundException fnfe) {
- } catch (java.io.IOException ioe) {
- } catch (TooManyPrimitivesException tmpe) {
- reportArea.setText(tmpe.getMessage());
- }
- } else if ((mode == SAVE) && (e.getKeyChar() == '\n')) {
- File output_file;
- input = new String(inputArea.getText());
- try {
- output_file = new File(input,"rw",config,canvas);
- output_file.writeConfiguration();
- output_file.close();
- reportArea.setText("Configuration saved successfully");
- inputArea.setText("");
- } catch (java.io.FileNotFoundException fnfe) {
- } catch (java.io.IOException ioe) {}
- } /* if */
- } /* keyPressed */
- } /* EACKeyAdapter */
-
- // Mouse Adapter Instances
- private EACMouseAdapter eac_mouse_adapter = new EACMouseAdapter(this);
- private EACMouseMotionAdapter eac_mm_adapter = new EACMouseMotionAdapter();
-
- // Key Adapter Instance
- private EACKeyAdapter eac_key_adapter = new EACKeyAdapter(this);
-
- public void paint(Graphics g) {
- g.setColor(getBackground());
- g.fillRect(0,0,getSize().width,getSize().height);
- g.setColor(getForeground());
- g.drawRect(0,0,getSize().width - 1,getSize().height - 1);
- config.draw();
- } /* paint */
-
- public void repaint() {
- paint(getGraphics());
- } /* repaint */
-} \ No newline at end of file
diff --git a/java/EAC/EACPrintStream.java b/java/EAC/EACPrintStream.java
deleted file mode 100644
index 9e8d82d03f0..00000000000
--- a/java/EAC/EACPrintStream.java
+++ /dev/null
@@ -1,16 +0,0 @@
-/**
- * Title: EACFileStream
- * Description: A stream class for conducting file I/O in the Event Analysis Configurator.
- */
-package EAC;
-
-import java.io.RandomAccessF;
-
-public class EACPrintStream {
-
- PrintStream ps;
-
- public EACPrintStream(String filename) {
- ps = new PrintStream(new FileOutputStream(filename), true);
- }
-} \ No newline at end of file
diff --git a/java/EAC/EmptyQueueException.java b/java/EAC/EmptyQueueException.java
deleted file mode 100644
index 0b2af00c36f..00000000000
--- a/java/EAC/EmptyQueueException.java
+++ /dev/null
@@ -1,13 +0,0 @@
-/**
- * Title: EmptyQueueException
- * Description: An exception class for when an attempt is made to access
- * the head of the event queue when the queue is empty
- */
-package EAC;
-
-public class EmptyQueueException extends Exception {
-
- public EmptyQueueException(String msg) {
- super(msg);
- }
-} \ No newline at end of file
diff --git a/java/EAC/File.java b/java/EAC/File.java
deleted file mode 100644
index 6ba151cddc0..00000000000
--- a/java/EAC/File.java
+++ /dev/null
@@ -1,118 +0,0 @@
-/**
- * Title: File
- * Description: A file I/O class for the Event Analysis Configurator
- */
-package EAC;
-
-import java.io.RandomAccessFile;
-
-public class File extends RandomAccessFile {
-
- public final int SOURCE = 1;
- public final int SINK = 2;
- public final int COMPONENT = 3;
- public final int CONNECTOR = 4;
- public final int UNION = 5;
- public final int INTERSECTION = 6;
- public final int LABEL = 7;
-
- protected Configuration config;
-
- protected EACPanel canvas;
-
- public File(String filename, String mode, Configuration c, EACPanel p)
- throws java.io.FileNotFoundException {
- super(filename,mode);
- config = c;
- canvas = p;
- } /* constructor */
-
- public void writeConfiguration() throws java.io.IOException {
- int i;
-
- // write number of primitives
- writeInt(config.getPrimitiveCount());
-
- // write primitives
- for (i = 0; i < config.getPrimitiveCount(); i++)
- config.getPrimitive(i).write(this);
-
- } /* writeConfiguration */
-
- public void readConfiguration() throws java.io.IOException, TooManyPrimitivesException {
- int i,
- num,
- label_length, // for reading the number of chars in an EACLabel
- primitiveID;
-
- Primitive next_primitive = new Union(canvas); // dummy initialization
-
- Connector next_connector;
-
- // read number of primitives
- num = readInt();
-
- for (i = 0; i < num; i++) {
- primitiveID = readInt();
- switch(primitiveID) {
- case SOURCE:
- next_primitive = new Source(canvas,config);
- next_primitive.read(this);
- i++; // Add one more to the loop counter 'cause we read our own label
- break;
- case SINK:
- next_primitive = new Sink(canvas);
- next_primitive.read(this);
- break;
- case COMPONENT:
- next_primitive = new EACComponent(canvas,config);
- next_primitive.read(this);
- i++; // Add one more to the loop counter 'cause we read our own label
- break;
- case CONNECTOR:
- next_connector = new Connector(canvas);
- next_primitive = next_connector; // so it can be added to the config
- next_connector.read(this);
- try {
- int connector_start_index = config.leftSideOverlaps(next_connector);
- int connector_end_index = config.rightSideOverlaps(next_connector);
-
- Primitive startP = config.getPrimitive(connector_start_index);
- Primitive endP = config.getPrimitive(connector_end_index);
-
- // reinstate connection
- startP.addOutput(next_connector);
- next_connector.setInput(startP);
- next_connector.setOutput(endP);
- endP.addInput(next_connector);
-
- } catch (ConnectionException ce) {
- // can't happen (right?)
- } /* try */
- break;
- case UNION:
- next_primitive = new Union(canvas);
- next_primitive.read(this);
- break;
- case INTERSECTION:
- next_primitive = new Intersection(canvas);
- next_primitive.read(this);
- break;
- case LABEL:
- label_length = readInt();
- next_primitive = new EACLabel(canvas,label_length);
- next_primitive.read(this);
- break;
- } /* switch */
-
- // add to configuration
- config.addPrimitive(next_primitive);
-
- } /* for */
-
- // draw the configuration
- config.draw();
-
- } /* readConfiguration */
-
-} \ No newline at end of file
diff --git a/java/EAC/InputMode.java b/java/EAC/InputMode.java
deleted file mode 100644
index c44e4a45c4d..00000000000
--- a/java/EAC/InputMode.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/**
- * Title: InputMode
- * Description: Maintains Configurator state for deciding how to handle input
- */
-package EAC;
-
-public class InputMode {
-
- public final int COMMAND = 0;
- public final int SELECT = 1;
- public final int CUT = 2;
- public final int COPY = 3;
- public final int PASTE = 4;
- public final int EDIT = 5;
- public final int RESIZE = 6;
-
- protected int mode;
-
- protected Primitive current_shape;
-
- public InputMode() {
- mode = COMMAND;
- } /* constructor */
-
- public int getMode() {
- return mode;
- } /* getMode */
-
- protected void setMode(int m) {
- mode = m;
- } /* setMode */
-} \ No newline at end of file
diff --git a/java/EAC/Intersection.java b/java/EAC/Intersection.java
deleted file mode 100644
index 1e1beafb770..00000000000
--- a/java/EAC/Intersection.java
+++ /dev/null
@@ -1,62 +0,0 @@
-/**
- * Title: Intersection
- * Description: A binary intersection operator class for the Event Analysis
- * Configurator. Acts as a sort of filter, combining two event
- * streams into one.
- */
-package EAC;
-import java.awt.*;
-
-public class Intersection extends Operator {
-
- // Where did the last event come from?
- protected Primitive last_event_source;
-
- public Intersection(EACPanel p) {
- super(p);
- last_event_source = null;
- } /* constructor */
-
- public void draw() throws BoundsException {
- // the intersection symbol
- final char iSymbol = '^';
-
- // subtle adjustments to position symbol within circle
- final int xTweak = 2;
- final int yTweak = -5;
-
- char symbol[] = new char[1];
- Graphics g = canvas.getGraphics();
-
- super.draw();
- symbol[0] = iSymbol;
- g.drawChars(symbol,0,1,
- anchor.x + (int) (DIAMETER / 2) - xTweak,
- anchor.y + (int) (DIAMETER / 2) - yTweak);
- } /* draw */
-
- public void event(Source s) throws ConnectionException {
- //System.out.println("Intersection event");
- if (last_event_source == null)
- last_event_source = s;
- else if (last_event_source != s) { // we've now gotten events from two distinct sources
- int i;
-
- last_event_source = null;
- for (i = 0; i < output_count; i++)
- output[i].event(s);
- } // else no-op, because this event is from the same source as the last event
- } /* event */
-
- public void write(File f) throws java.io.IOException {
- f.writeInt(f.INTERSECTION);
- f.writeInt(anchor.x);
- f.writeInt(anchor.y);
- } /* write */
-
- public void read(File f) throws java.io.IOException {
- anchor = new Point();
- anchor.x = f.readInt();
- anchor.y = f.readInt();
- } /* read */
-} \ No newline at end of file
diff --git a/java/EAC/Operator.java b/java/EAC/Operator.java
deleted file mode 100644
index 724c9583b20..00000000000
--- a/java/EAC/Operator.java
+++ /dev/null
@@ -1,206 +0,0 @@
-/**
- * Title: Operator
- * Description: An abstract binary operator class for the Event Analysis
- * Configurator
- */
-package EAC;
-import java.awt.*;
-
-public abstract class Operator extends Primitive {
-
- // Radius of the circle
- protected final int DIAMETER = 40;
-
- // inputs
- protected Connector left_input,
- right_input;
-
- // outputs
- protected Connector output[] = new Connector[MAX_OUTPUTS];
- protected int output_count = 0;
-
- // helps with dragging the operator
- protected boolean selected;
- Point old_anchor;
-
- public Operator(EACPanel p) {
- super(p);
- } /* constructor */
-
- public void setTop(Point p) {
- anchor = new Point(p.x - (int) (DIAMETER / 2), p.y);
- } /* setTop */
-
- public Point getTop() {
- return new Point(anchor.x + (int) (DIAMETER / 2), anchor.y);
- } /* getTop */
-
- public void draw() throws BoundsException {
- Graphics g = canvas.getGraphics();
-
- if (selected)
- selected = false;
- else if (inBounds())
- g.drawOval(anchor.x, anchor.y, DIAMETER, DIAMETER);
- else
- throw new BoundsException("ERROR: Attempted to place Operator partially out of bounds");
- } /* draw */
-
- public void specialDraw() {
- Graphics g = canvas.getGraphics();
-
- g.setXORMode(canvas.getBackground());
- g.drawOval(anchor.x,anchor.y,DIAMETER,DIAMETER);
- } /* specialDraw */
-
- public void specialUndraw() {
- Graphics g = canvas.getGraphics();
-
- g.setColor(canvas.getBackground());
- g.setXORMode(canvas.getForeground());
- g.drawOval(anchor.x,anchor.y,DIAMETER,DIAMETER);
- } /* specialUndraw */
-
- public void selectedDraw() {
- old_anchor = anchor;
- selected = true;
- super.selectedDraw();
- } /* selectedDraw */
-
- public void reconnect() {
- int i;
-
- // move output anchors
- for (i = 0; i < output_count; i++)
- output[i].setAnchor(new Point(output[i].getAnchor().x + anchor.x - old_anchor.x,
- output[i].getAnchor().y + anchor.y - old_anchor.y));
-
- // move input endpoints
- if (left_input != null)
- left_input.setEndpoint(new Point(left_input.upperRight().x + anchor.x - old_anchor.x,
- left_input.upperRight().y + anchor.y - old_anchor.y));
- if (right_input != null)
- right_input.setEndpoint(new Point(right_input.upperRight().x + anchor.x - old_anchor.x,
- right_input.upperRight().y + anchor.y - old_anchor.y));
-
- } /* reconnect */
-
- public boolean contains(Point p) {
- if ((p.x >= anchor.x) &&
- (p.x <= anchor.x + DIAMETER) &&
- (p.y >= anchor.y) &&
- (p.y <= anchor.y + DIAMETER))
- return true;
- else
- return false;
- } /* contains */
-
- public Point upperLeft() {
- return anchor;
- } /* upperLeft */
-
- public Point lowerRight() {
- return new Point(anchor.x + DIAMETER, anchor.y + DIAMETER);
- } /* lowerRight */
-
- public Point upperRight() {
- return new Point(anchor.x + DIAMETER, anchor.y);
- } /* upperRight */
-
- public Point lowerLeft() {
- return new Point(anchor.x, anchor.y + DIAMETER);
- } /* lowerLeft */
-
- public int addInput(Connector c) throws ConnectionException {
- if (left_input == null) {
- left_input = c;
- return 0;
- } else if (right_input == null) {
- right_input = c;
- return 1;
- } else
- throw new ConnectionException("ERROR: Operator already has two inputs");
- } /* addInput */
-
- public int addOutput(Connector c) throws ConnectionException {
- if (output_count < MAX_OUTPUTS)
- output[output_count++] = c;
- else
- throw new ConnectionException("ERROR: Maximum outputs established for this operator");
-
- return output_count;
- } /* addOutput */
-
- public Connector getInput(int i) throws ConnectionException {
- if ((i < 0) || (i > 1))
- throw new ConnectionException("ERROR: Bad input index for operator");
- else if (i == 0) {
- if (left_input == null)
- throw new ConnectionException("ERROR: No left input for operator");
- else
- return left_input;
- } else // i == 1
- if (right_input == null)
- throw new ConnectionException("ERROR: No right input for operator");
-
- return right_input;
- } /* getInput */
-
- public Connector getOutput(int i) throws ConnectionException {
- if ((i >= 0) && (i < output_count))
- return output[i];
- else
- throw new ConnectionException("ERROR: Bad output index for operator");
- } /* getOutput */
-
- public void removeInput(int i) throws ConnectionException {
- if ((i < 0) || (i > 1))
- throw new ConnectionException("ERROR: Bad input index for operator");
- else if (i == 0) {
- if (left_input == null)
- throw new ConnectionException("ERROR: No left input for operator");
- else
- left_input = null;
- } else if (i == 1) {
- if (right_input == null)
- throw new ConnectionException("ERROR: No right input for operator");
- else
- right_input = null;
- }
- } /* removeInput */
-
- public void removeOutput(int i) throws ConnectionException {
- if ((i < 0) || (i > output_count))
- throw new ConnectionException("ERROR: Bad output index for operator");
- else {
- output[i] = output[output_count-1];
- --output_count;
- }
- } /* removeOutput */
-
- public int getOutputCount() throws ConnectionException {
- return output_count;
- } /* getOutputCount */
-
- public int getInputCount() throws ConnectionException {
- if (left_input == null)
- return 0;
- else if (right_input == null)
- return 1;
- else
- return 2;
- } /* getInputCount */
-
- public void wakeup(long t) throws ConnectionException {
- throw new ConnectionException("ERROR: Attempted to wake up operator");
- } /* wakeup */
-
- public boolean inBounds() {
- if (canvas.contains(anchor.x,anchor.y) &&
- canvas.contains(anchor.x + DIAMETER, anchor.y + DIAMETER))
- return true;
- else
- return false;
- } /* inBounds */
-
-} \ No newline at end of file
diff --git a/java/EAC/Primitive.java b/java/EAC/Primitive.java
deleted file mode 100644
index a0532a9731b..00000000000
--- a/java/EAC/Primitive.java
+++ /dev/null
@@ -1,121 +0,0 @@
-/**
- * Title: Primitive
- * Description: An abstract class for Event Analysis Configurator graphical
- * primitives
- */
-package EAC;
-import java.awt.*;
-import java.io.*;
-
-public abstract class Primitive {
-
- // maximum number of outputs from any primitive
- public final int MAX_OUTPUTS = 8;
-
- // maximum number of inputs to a sink
- public final int MAX_INPUTS = 8;
-
- // where the primitive will be drawn
- protected EACPanel canvas;
-
- // anchor point of the graphical shape
- protected Point anchor;
-
- // associated label
- protected EACLabel label;
-
- public Primitive(EACPanel p) {
- canvas = p;
- } /* constructor */
-
- public void setAnchor(Point p) {
- anchor = p;
- } /* setAnchor */
-
- public Point getAnchor() {
- return anchor;
- } /* getAnchor */
-
- public void setLabel(EACLabel l) {
- label = l;
- } /* setLabel */
-
- public EACLabel getLabel() {
- return label;
- } /* getLabel */
-
- public void restart() {
- // no-op for most primitives
- // overload as needed
- } /* restart */
-
- public void specialDraw() {
- // no-op for some primitives
- // overload as needed
- } /* specialDraw */
-
- public void specialUndraw() {
- // no-op for some primitives
- // overload as needed
- } /* specialUndraw */
-
- public void reconnect() {
- // no-op for some primitives
- // overload as needed
- } /* reconnect */
-
- public void selectedDraw() {
- final int d = 4; // dimension of hotspot
- Graphics g = canvas.getGraphics();
-
- g.setColor(java.awt.Color.darkGray);
- g.drawRect(upperLeft().x - (d/2),upperLeft().y - (d/2), d, d);
- g.drawRect(lowerLeft().x - (d/2),lowerLeft().y - (d/2), d, d);
- g.drawRect(upperRight().x - (d/2),upperRight().y - (d/2), d, d);
- g.drawRect(lowerRight().x - (d/2),lowerRight().y - (d/2), d, d);
- } /* selectedDraw */
-
- // establish the top center point of the graphical shape
- public abstract void setTop(Point p);
-
- public abstract Point getTop();
-
- public abstract boolean inBounds();
-
- public abstract int addInput(Connector c) throws ConnectionException;
-
- public abstract int addOutput(Connector c) throws ConnectionException;
-
- public abstract Connector getInput(int i) throws ConnectionException;
-
- public abstract Connector getOutput(int i) throws ConnectionException;
-
- public abstract void removeInput(int i) throws ConnectionException;
-
- public abstract void removeOutput(int i) throws ConnectionException;
-
- public abstract int getInputCount() throws ConnectionException;
-
- public abstract int getOutputCount() throws ConnectionException;
-
- public abstract void event(Source s) throws ConnectionException;
-
- public abstract void wakeup(long t) throws ConnectionException;
-
- public abstract void draw() throws BoundsException;
-
- public abstract void write(File f) throws java.io.IOException;
-
- public abstract void read(File f) throws java.io.IOException;
-
- public abstract boolean contains(Point p);
-
- public abstract Point upperLeft();
-
- public abstract Point lowerRight();
-
- public abstract Point upperRight();
-
- public abstract Point lowerLeft();
-
-} \ No newline at end of file
diff --git a/java/EAC/Queue.java b/java/EAC/Queue.java
deleted file mode 100644
index 20c4483a17a..00000000000
--- a/java/EAC/Queue.java
+++ /dev/null
@@ -1,94 +0,0 @@
-/**
- * Title: Queue
- * Description: The primary event queue for the Event Analysis Configurator
- */
-package EAC;
-
-public class Queue {
-
- private class Node {
-
- public Primitive primitive;
- public long time;
- public Node next;
-
- public Node(Primitive p, long t, Node n) {
- primitive = p;
- time = t;
- next = n;
- } /* constructor */
-
- } /* Node */
-
- private Node head;
-
- private int count;
-
- public Queue() {
- count = 0;
- } /* constructor */
-
- public boolean empty() {
- return (count == 0);
- } /* empty */
-
- public void clear() {
- while (!empty())
- try {
- dequeue();
- } catch (EmptyQueueException eqe) {
- // can't happen
- }
- } /* clear */
-
- public void enqueue(Primitive p, long t) {
- if (head == null) {
- head = new Node(p,t,null);
- count = 1;
- } else { // non-empty
- if ((head.time == t) && (head.primitive == p))
- return; // no duplicates
- else if (head.time >= t) { // need new head
- Node temp = new Node(p,t,head);
- head = temp;
- } else { // find insertion point
- Node ptr = head;
-
- while (ptr.next != null)
- if (ptr.next.time < t)
- ptr = ptr.next;
- else
- break;
-
- if (ptr.next == null)
- ptr.next = new Node(p,t,null);
- else if ((ptr.next.time == t) && (ptr.next.primitive == p))
- return; // no duplicates
- else {
- Node temp = new Node(p,t,ptr.next);
- ptr.next = temp;
- }
- }
-
- count++;
- } /* else */
- } /* enqueue */
-
- public Primitive dequeue () throws EmptyQueueException {
- if (count == 0)
- throw new EmptyQueueException("ERROR: dequeue called when queue empty");
-
- Primitive temp = head.primitive;
- head = head.next;
- --count;
- return temp;
- } /* dequeue */
-
- public long frontTime () throws EmptyQueueException {
- if (count == 0)
- throw new EmptyQueueException("ERROR: frontTime called when queue empty");
-
- return head.time;
- } /* frontTime */
-
-} \ No newline at end of file
diff --git a/java/EAC/README b/java/EAC/README
deleted file mode 100644
index 91773ab16bd..00000000000
--- a/java/EAC/README
+++ /dev/null
@@ -1,6 +0,0 @@
-This directory contains the source code for the Event Analysis Configurator (EAC).
-The EAC was built as a final project for an Advanced User Interface (CS 501) course,
-taught by Dr. Kimura in the fall of 2000.
-
-There are also two MS-Word documents which were written as part of the project.
-Hopefully these will explain what the EAC is, what it does, and how it works.
diff --git a/java/EAC/ResourcePool.java b/java/EAC/ResourcePool.java
deleted file mode 100644
index c2200baa2fc..00000000000
--- a/java/EAC/ResourcePool.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/**
- * Title: ResourcePool
- * Description: An abstraction of a collection of resources that can be
- * reserved and released by real-time components
- */
-package EAC;
-
-public class ResourcePool {
-
- // percentage of resources reserved
- protected int reserved;
-
- public ResourcePool()
- {
- reserved = 0;
- } /* default constructor */
-
- public ResourcePool(int r) {
- reserved = r;
- } /* constructor */
-
- public int usage() {
- return reserved;
- } /* usage */
-
- public boolean reserve(int r) {
- if (reserved + r > 100)
- return false;
- else {
- //System.out.println("Reservation ok: " + java.lang.Integer.toString(r));
- reserved += r;
- return true;
- } /* else */
- } /* reserve */
-
- public boolean release(int r) {
- if (reserved - r < 0)
- return false;
- else {
- //System.out.println("Release ok: " + java.lang.Integer.toString(r));
- reserved -= r;
- return true;
- } /* else */
- } /* release */
-
-} \ No newline at end of file
diff --git a/java/EAC/Rubberband.java b/java/EAC/Rubberband.java
deleted file mode 100644
index b5fcf7e60a0..00000000000
--- a/java/EAC/Rubberband.java
+++ /dev/null
@@ -1,103 +0,0 @@
-/**
- * A abstract base class for rubberbands.<p>
- *
- * Rubberbands do their rubberbanding inside of a Component,
- * which must be specified at construction time.<p>
- *
- * Subclasses are responsible for implementing
- * <em>void drawLast(Graphics g)</em> and
- * <em>void drawNext(Graphics g)</em>.
- *
- * drawLast() draws the appropriate geometric shape at the last
- * rubberband location, while drawNext() draws the appropriate
- * geometric shape at the next rubberband location. All of the
- * underlying support for rubberbanding is taken care of here,
- * including handling XOR mode setting; extensions of Rubberband
- * need not concern themselves with anything but drawing the
- * last and next geometric shapes.<p>
- *
- * @version 1.00, 12/27/95
- * @author David Geary
- */
-package EAC;
-import java.awt.*;
-
-abstract public class Rubberband {
- protected Point anchor = new Point(0,0);
- protected Point stretched = new Point(0,0);
- protected Point last = new Point(0,0);
- protected Point end = new Point(0,0);
-
- private Component component;
- private boolean firstStretch = true;
-
- abstract public void drawLast(Graphics g);
- abstract public void drawNext(Graphics g);
-
- public Rubberband(Component component) {
- this.component = component;
- }
-
- public Point getAnchor () { return anchor; }
- public Point getStretched() { return stretched; }
- public Point getLast () { return last; }
- public Point getEnd () { return end; }
- public void setAnchor(Point p) { anchor = p; }
- public void setEnd(Point p) { end = p; }
-
- public void anchor(Point p) {
- firstStretch = true;
- anchor.x = p.x;
- anchor.y = p.y;
-
- stretched.x = last.x = anchor.x;
- stretched.y = last.y = anchor.y;
- }
-
- public void stretch(Point p) {
- last.x = stretched.x;
- last.y = stretched.y;
- stretched.x = p.x;
- stretched.y = p.y;
-
- Graphics g = component.getGraphics();
- if (g != null) {
- g.setXORMode(component.getBackground());
-
- if (firstStretch == true)
- firstStretch = false;
- else
- drawLast(g);
-
- drawNext(g);
- }
- }
-
- public void end(Point p) {
- last.x = end.x = p.x;
- last.y = end.y = p.y;
-
- Graphics g = component.getGraphics();
- if(g != null) {
- g.setXORMode(component.getBackground());
- drawLast(g);
- }
- }
-
- public Rectangle bounds() {
- return new Rectangle(stretched.x < anchor.x ?
- stretched.x : anchor.x,
- stretched.y < anchor.y ?
- stretched.y : anchor.y,
- Math.abs(stretched.x - anchor.x),
- Math.abs(stretched.y - anchor.y));
- }
-
- public Rectangle lastBounds() {
- return new Rectangle(
- last.x < anchor.x ? last.x : anchor.x,
- last.y < anchor.y ? last.y : anchor.y,
- Math.abs(last.x - anchor.x),
- Math.abs(last.y - anchor.y));
- }
-}
diff --git a/java/EAC/RubberbandLine.java b/java/EAC/RubberbandLine.java
deleted file mode 100644
index 8a4ebfd2230..00000000000
--- a/java/EAC/RubberbandLine.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/**
- * Title: RubberbandLine
- * Description: A line subclass of Rubberband
- */
-package EAC;
-import java.awt.*;
-
-public class RubberbandLine extends Rubberband {
-
- public RubberbandLine(EACPanel p) {
- super(p);
- } /* RubberbandLine constructor */
-
- public void drawNext(Graphics g) {
- g.drawLine(getAnchor().x,
- getAnchor().y,
- getStretched().x,
- getStretched().y);
- } /* drawNext */
-
- public void drawLast(Graphics g) {
- g.drawLine(getAnchor().x,
- getAnchor().y,
- getLast().x,
- getLast().y);
- } /* drawLast */
-
-} /* RubberbandLine */
diff --git a/java/EAC/Sink.java b/java/EAC/Sink.java
deleted file mode 100644
index f4f8d02d0fe..00000000000
--- a/java/EAC/Sink.java
+++ /dev/null
@@ -1,231 +0,0 @@
-/**
- * Title: Sink
- * Description: An event sink for the Event Analysis Configurator
- */
-package EAC;
-import java.awt.*;
-
-public class Sink extends Primitive {
-
- // triangle dimensions
- protected final int WIDTH = 20;
- protected final int HEIGHT = 35;
-
- // lower left and lower right corner points
- // inherited anchor attribute holds the top point
- protected Point p2,
- p3;
-
- // inputs
- protected Connector input[] = new Connector[MAX_INPUTS];
- protected int input_count;
-
- // for help with dragging this Sink
- Point old_anchor;
-
- public Sink(EACPanel p) {
- super(p);
- } /* constructor */
-
- public void draw() throws BoundsException {
- int x[] = new int[3],
- y[] = new int[3];
-
- if (inBounds()) {
- Graphics g = canvas.getGraphics();
-
- g.drawLine(anchor.x,anchor.y,p2.x,p2.y);
- g.drawLine(p2.x,p2.y,p3.x,p3.y);
- g.drawLine(p3.x,p3.y,anchor.x,anchor.y);
-
- /* Make it black */
- x[0] = anchor.x;
- x[1] = p2.x;
- x[2] = p3.x;
-
- y[0] = anchor.y;
- y[1] = p2.y;
- y[2] = p3.y;
-
- g.fillPolygon(x,y,3);
- } else
- throw new BoundsException("ERROR: Attempted to place Sink partially out of bounds");
- } /* draw */
-
- public void selectedDraw() {
- old_anchor = anchor;
- super.selectedDraw();
- } /* selectedDraw */
-
- public void specialDraw() {
- int x[] = new int[3],
- y[] = new int[3];
-
- Graphics g = canvas.getGraphics();
-
- g.setXORMode(canvas.getBackground());
- g.drawLine(anchor.x,anchor.y,p2.x,p2.y);
- g.drawLine(p2.x,p2.y,p3.x,p3.y);
- g.drawLine(p3.x,p3.y,anchor.x,anchor.y);
-
- /* Make it black */
- x[0] = anchor.x;
- x[1] = p2.x;
- x[2] = p3.x;
-
- y[0] = anchor.y;
- y[1] = p2.y;
- y[2] = p3.y;
-
- g.fillPolygon(x,y,3);
- } /* specialDraw */
-
- public void specialUndraw() {
- int x[] = new int[3],
- y[] = new int[3];
-
- Graphics g = canvas.getGraphics();
-
- g.setColor(canvas.getBackground());
- g.setXORMode(canvas.getForeground());
- g.drawLine(anchor.x,anchor.y,p2.x,p2.y);
- g.drawLine(p2.x,p2.y,p3.x,p3.y);
- g.drawLine(p3.x,p3.y,anchor.x,anchor.y);
-
- /* Make it black */
- x[0] = anchor.x;
- x[1] = p2.x;
- x[2] = p3.x;
-
- y[0] = anchor.y;
- y[1] = p2.y;
- y[2] = p3.y;
-
- g.fillPolygon(x,y,3);
- } /* specialUndraw */
-
- public void reconnect() {
- int i;
-
- for (i = 0; i < input_count; i++)
- input[i].setEndpoint(new Point(input[i].upperRight().x + anchor.x - old_anchor.x,
- input[i].upperRight().y + anchor.y - old_anchor.y));
- } /* reconnect */
-
- public boolean contains(Point p) {
- if ((p.x >= p2.x) &&
- (p.x <= p3.x) &&
- (p.y >= anchor.y) &&
- (p.y <= anchor.y + HEIGHT))
- return true;
- else
- return false;
- } /* contains */
-
- public Point upperLeft() {
- return new Point(p2.x,anchor.y);
- } /* upperLeft */
-
- public Point lowerRight() {
- return p3;
- } /* lowerRight */
-
- public Point upperRight() {
- return new Point(p3.x,anchor.y);
- } /* upperRight */
-
- public Point lowerLeft() {
- return p2;
- } /* lowerLeft */
-
- public void setTop(Point p) {
- anchor = p;
- p2 = bottomLeft();
- p3 = bottomRight();
- } /* setTop */
-
- public Point getTop() {
- return anchor;
- } /* getTop */
-
- public boolean inBounds() {
- if (canvas.contains(bottomLeft()) &&
- canvas.contains(bottomRight()))
- return true;
- else
- return false;
- } /* inBounds */
-
- private Point bottomLeft() {
- return new Point(anchor.x - WIDTH, anchor.y + HEIGHT);
- } /* bottomLeft */
-
- private Point bottomRight() {
- return new Point(anchor.x + WIDTH, anchor.y + HEIGHT);
- } /* bottomRight */
-
- public void write(File f) throws java.io.IOException {
- f.writeInt(f.SINK);
- f.writeInt(anchor.x);
- f.writeInt(anchor.y);
- } /* write */
-
- public void read(File f) throws java.io.IOException {
- anchor = new Point();
- anchor.x = f.readInt();
- anchor.y = f.readInt();
- p2 = bottomLeft();
- p3 = bottomRight();
- } /* read */
-
- public int addInput(Connector c) throws ConnectionException {
- if (input_count == MAX_INPUTS)
- throw new ConnectionException("ERROR: Maximum inputs established for sink");
- else
- input[input_count++] = c;
-
- return input_count;
- } /* addInput */
-
- public int addOutput(Connector c) throws ConnectionException {
- throw new ConnectionException("ERROR: Attempted to add output to sink");
- } /* addOutput */
-
- public Connector getInput(int i) throws ConnectionException {
- if ((i < 0) || (i >= input_count))
- throw new ConnectionException("ERROR: Bad input index for sink");
- else
- return input[i];
- } /* getInput */
-
- public Connector getOutput(int i) throws ConnectionException {
- throw new ConnectionException("ERROR: Attempted to retrieve output from source");
- } /* getOutput */
-
- public void removeOutput(int i) throws ConnectionException {
- throw new ConnectionException("ERROR: Attempted to remove output from source");
- } /* removeOutput */
-
- public void removeInput(int i) throws ConnectionException {
- if ((i >= 0) && (i < input_count)) {
- input[i] = input[input_count-1];
- --input_count;
- } else
- throw new ConnectionException("ERROR: Bad input index for sink");
- } /* removeInput */
-
- public int getInputCount() throws ConnectionException {
- return input_count;
- } /* getInputCount */
-
- public int getOutputCount() throws ConnectionException {
- throw new ConnectionException("ERROR: Attempted to retrieve output count from sink");
- } /* getOutputCount */
-
- public void event(Source s) {
- } /* event */
-
- public void wakeup(long t) throws ConnectionException {
- throw new ConnectionException("ERROR: Attempted to wake up sink");
- } /* wakeup */
-} \ No newline at end of file
diff --git a/java/EAC/Source.java b/java/EAC/Source.java
deleted file mode 100644
index d8b50ee224f..00000000000
--- a/java/EAC/Source.java
+++ /dev/null
@@ -1,341 +0,0 @@
-/**
- * Title: Source
- * Description: An event source for the Event Analysis Configurator
- */
-package EAC;
-import java.awt.*;
-
-public class Source extends Primitive {
-
- // Font for text
- protected Font text_font = new EACFont().getFont();
-
- // triangle dimensions
- protected final int WIDTH = 20;
- protected final int HEIGHT = 35;
-
- // lower left and lower right corner points
- // inherited anchor attribute holds the top point
- protected Point p2,
- p3;
-
- // period at which events will be generated
- protected int period;
-
- // where the Source was anchored prior to a move
- protected Point old_anchor;
-
- // where events will be pushed
- protected Connector output[] = new Connector[MAX_OUTPUTS];
- protected int output_count;
-
- // Is this Source currently selected for dragging?
- protected boolean selected = false;
-
- // Black-on-white (normal) or white-on-black (reversed)?
- protected boolean reverse_color = false;
-
- // configuration to which the Source belongs
- Configuration config;
-
- public Source(EACPanel p, Configuration c) {
- super(p);
- config = c;
- output_count = 0;
- period = 0;
- } /* constructor */
-
- private void drawTriangle(Graphics g) {
- g.drawLine(anchor.x,anchor.y,p2.x,p2.y);
- g.drawLine(p2.x,p2.y,p3.x,p3.y);
- g.drawLine(p3.x,p3.y,anchor.x,anchor.y);
- } /* drawTriangle */
-
- public void draw() throws BoundsException {
- int x[] = new int[3],
- y[] = new int[3];
-
- if (selected)
- selected = false;
- else if (inBounds()) {
- Graphics g = canvas.getGraphics();
- Color bg,
- fg;
-
- x[0] = anchor.x;
- x[1] = p2.x;
- x[2] = p3.x;
-
- y[0] = anchor.y;
- y[1] = p2.y;
- y[2] = p3.y;
-
- if (reverse_color) {
- bg = Color.black;
- fg = Color.white;
- } else {
- bg = Color.white;
- fg = Color.black;
- }
-
- g.setColor(bg); // for interior
- g.fillPolygon(x,y,3);
-
- g.setColor(Color.black); // triangle itself is always black
- drawTriangle(g);
-
- g.setColor(fg); // for text
-
- // print period
- if (period > 0) {
- g.setFont(text_font);
- g.drawString(java.lang.String.valueOf(period),
- anchor.x - (3 * java.lang.String.valueOf(period).length()),
- anchor.y + 28);
- }
- } else
- throw new BoundsException("ERROR: Attempted to place source partially out of bounds");
- } /* draw */
-
- public void selectedDraw() {
- Graphics g = canvas.getGraphics();
- int x[] = new int[3],
- y[] = new int[3];
-
- old_anchor = anchor;
- x[0] = anchor.x;
- x[1] = p2.x;
- x[2] = p3.x;
-
- y[0] = anchor.y;
- y[1] = p2.y;
- y[2] = p3.y;
-
- //drawTriangle();
- g.setColor(canvas.getBackground());
- g.fillPolygon(x,y,3);
-
- // this will preclude drawing this Source for one repaint() call
- selected = true;
-
- super.selectedDraw();
- } /* selectedDraw */
-
- public void specialDraw() {
- Graphics g = canvas.getGraphics();
-
- g.setXORMode(canvas.getBackground());
- drawTriangle(g);
- } /* specialDraw */
-
- public void specialUndraw() {
- Graphics g = canvas.getGraphics();
-
- g.setColor(canvas.getBackground());
- g.setXORMode(canvas.getForeground());
- drawTriangle(g);
- } /* specialUndraw */
-
- public void reverseColor() {
- reverse_color = true;
- } /* reverseColor */
-
- public void normalColor() {
- reverse_color = false;
- } /* normalColor */
-
- public void reconnect() {
- int i;
-
- for (i = 0; i < output_count; i++)
- output[i].setAnchor(new Point(output[i].getAnchor().x + anchor.x - old_anchor.x,
- output[i].getAnchor().y + anchor.y - old_anchor.y));
-
- // move label anchor
- label.setAnchor(new Point(label.getAnchor().x + anchor.x - old_anchor.x,
- label.getAnchor().y + anchor.y - old_anchor.y));
- } /* reconnect */
-
- public boolean contains(Point p) {
- if ((p.x >= p2.x) &&
- (p.x <= p3.x) &&
- (p.y >= anchor.y) &&
- (p.y <= anchor.y + HEIGHT))
- return true;
- else
- return false;
- } /* contains */
-
- public Point upperLeft() {
- return new Point(p2.x,anchor.y);
- } /* upperLeft */
-
- public Point lowerRight() {
- return p3;
- } /* lowerRight */
-
- public Point upperRight() {
- return new Point(p3.x,anchor.y);
- } /* upperRight */
-
- public Point lowerLeft() {
- return p2;
- } /* lowerLeft */
-
- public void setTop(Point p) {
- anchor = p;
- p2 = bottomLeft();
- p3 = bottomRight();
- } /* setTop */
-
- public Point getTop() {
- return anchor;
- } /* getTop */
-
- public void setPeriod(int p) throws NumberFormatException {
- if (p > 0) {
- period = p;
- config.eventEnqueue(this,period); // Enqueue first wakeup time
- }
- else
- throw new NumberFormatException();
- } /* setPeriod */
-
- public int getPeriod() {
- return period;
- } /* getPeriod */
-
- public void restart() {
- config.eventEnqueue(this,period);
- reverse_color = false;
- selected = false;
- } /* restart */
-
- public int addOutput(Connector c) throws ConnectionException {
- if (output_count == MAX_OUTPUTS)
- throw new ConnectionException("ERROR: Maximum outputs established for source");
- else
- output[output_count++] = c;
-
- return output_count;
- } /* addOutput */
-
- public int addInput(Connector c) throws ConnectionException {
- throw new ConnectionException("ERROR: Attempted to add input to source");
- } /* addInput */
-
- public Connector getOutput(int i) throws ConnectionException {
- if ((i < 0) || (i >= output_count))
- throw new ConnectionException("ERROR: Bad output index for source");
- else
- return output[i];
- } /* getOutput */
-
- public Connector getInput(int i) throws ConnectionException {
- throw new ConnectionException("ERROR: Attempted to retrieve input from source");
- } /* getInput */
-
- public void removeInput(int i) throws ConnectionException {
- throw new ConnectionException("ERROR: Attempted to remove input from source");
- } /* removeInput */
-
- public void removeOutput(int i) throws ConnectionException {
- if ((i >= 0) && (i < output_count)) {
- output[i] = output[output_count-1];
- --output_count;
- } else
- throw new ConnectionException("ERROR: Bad output index for source");
- } /* removeOutput */
-
- public int getOutputCount() throws ConnectionException {
- return output_count;
- } /* getOutputCount */
-
- public int getInputCount() throws ConnectionException {
- throw new ConnectionException("ERROR: Attempted to retrieve input count from source");
- } /* getInputCount */
-
- public void event(Source s) throws ConnectionException {
- throw new ConnectionException("Internal error: event() called on source");
- } /* event */
-
- public void wakeup(long t) throws ConnectionException {
- int i;
-
- //System.out.println("Source wakeup at: " + java.lang.Long.toString(t));
- config.eventEnqueue(this,t + period); // enqueue next wakeup time
-
- // send an event to all outputs
- for (i = 0; i < output_count; i++)
- output[i].event(this);
- } /* wakeup */
-
- public boolean inBounds() {
- if (canvas.contains(bottomLeft()) &&
- canvas.contains(bottomRight()) &&
- canvas.contains(anchor))
- return true;
- else
- return false;
- } /* inBounds */
-
- private Point bottomLeft() {
- return new Point(anchor.x - WIDTH, anchor.y + HEIGHT);
- } /* bottomLeft */
-
- private Point bottomRight() {
- return new Point(anchor.x + WIDTH, anchor.y + HEIGHT);
- } /* bottomRight */
-
- public void write(File f) throws java.io.IOException {
- char temp[]; // for reading label
- int i, n;
-
- f.writeInt(f.SOURCE);
- f.writeInt(anchor.x);
- f.writeInt(anchor.y);
- f.writeInt(period);
-
- // Write out the associated label
- n = label.getText().length();
- f.writeInt(n); // text length
- temp = new char[n];
- temp = label.getText().toCharArray();
-
- for (i = 0; i < n; i++)
- f.writeChar(temp[i]);
- f.writeInt(label.getAnchor().x); // label position
- f.writeInt(label.getAnchor().y);
- } /* write */
-
- public void read(File f) throws java.io.IOException {
- char temp[]; // for reading label
- int i, n;
- int label_x, label_y;
-
- anchor = new Point();
- anchor.x = f.readInt();
- anchor.y = f.readInt();
- period = f.readInt();
- config.eventEnqueue(this,period); // Enqueue first event
- p2 = bottomLeft();
- p3 = bottomRight();
-
- // get label info
- n = f.readInt(); // text length
- label = new EACLabel(canvas,n);
- temp = new char[n];
- for (i = 0; i < n; i++)
- temp[i] = f.readChar();
- label.setText(java.lang.String.valueOf(temp));
- label_x = f.readInt();
- label_y = f.readInt();
- label.setAnchor(new Point(label_x,label_y));
- label.setLabelee(this);
- try {
- config.addPrimitive(label);
- } catch (TooManyPrimitivesException tmpe) {
- // have faith :-)
- }
- } /* read */
-} \ No newline at end of file
diff --git a/java/EAC/System_Manual.doc b/java/EAC/System_Manual.doc
deleted file mode 100644
index 89d76eba720..00000000000
--- a/java/EAC/System_Manual.doc
+++ /dev/null
Binary files differ
diff --git a/java/EAC/TooManyPrimitivesException.java b/java/EAC/TooManyPrimitivesException.java
deleted file mode 100644
index d9cb8efa733..00000000000
--- a/java/EAC/TooManyPrimitivesException.java
+++ /dev/null
@@ -1,13 +0,0 @@
-/**
- * Title: TooManyPrimitivesException
- * Description: An exception class for when an attempt is made to add a
- * primitives when the maximum number have already been added
- */
-package EAC;
-
-public class TooManyPrimitivesException extends Exception {
-
- public TooManyPrimitivesException(String msg) {
- super(msg);
- }
-} \ No newline at end of file
diff --git a/java/EAC/Union.java b/java/EAC/Union.java
deleted file mode 100644
index 107390dc560..00000000000
--- a/java/EAC/Union.java
+++ /dev/null
@@ -1,56 +0,0 @@
-/**
- * Title: Union
- * Description: A binary union operator class for the Event Analysis
- * Configurator. Acts as a sort of multiplexor, combining two
- * event streams into one.
- */
-package EAC;
-import java.awt.*;
-
-public class Union extends Operator {
-
- public Union(EACPanel p) {
- super(p);
- } /* constructor */
-
- public void draw() throws BoundsException {
- // the union symbol
- final char uSymbol = 'U';
-
- // subtle adjustments to position symbol within circle
- final int xTweak = 4;
- final int yTweak = -4;
-
- char symbol[] = new char[1];
-
- Graphics g = canvas.getGraphics();
-
- super.draw();
- symbol[0] = (char) uSymbol;
- g.drawChars(symbol,0,1,
- anchor.x + (int) (DIAMETER / 2) - xTweak,
- anchor.y + (int) (DIAMETER / 2) - yTweak);
- } /* draw */
-
- public void event(Source s) throws ConnectionException {
- int i;
-
- //System.out.println("Union event");
-
- // send an event to all outputs
- for (i = 0; i < output_count; i++)
- output[i].event(s);
- } /* event */
-
- public void write(File f) throws java.io.IOException {
- f.writeInt(f.UNION);
- f.writeInt(anchor.x);
- f.writeInt(anchor.y);
- } /* write */
-
- public void read(File f) throws java.io.IOException {
- anchor = new Point();
- anchor.x = f.readInt();
- anchor.y = f.readInt();
- } /* read */
-} \ No newline at end of file
diff --git a/java/EAC/User_Manual.doc b/java/EAC/User_Manual.doc
deleted file mode 100644
index 5f17fc98f37..00000000000
--- a/java/EAC/User_Manual.doc
+++ /dev/null
Binary files differ
diff --git a/java/ImageProcessing/ImageProcessing.dsp b/java/ImageProcessing/ImageProcessing.dsp
deleted file mode 100644
index 897cf304526..00000000000
--- a/java/ImageProcessing/ImageProcessing.dsp
+++ /dev/null
@@ -1,253 +0,0 @@
-# Microsoft Developer Studio Project File - Name="ImageProcessing" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 6.00
-# ** DO NOT EDIT **
-
-# TARGTYPE "Java Virtual Machine Java Project" 0x0809
-
-CFG=ImageProcessing - Java Virtual Machine Debug
-!MESSAGE This is not a valid makefile. To build this project using NMAKE,
-!MESSAGE use the Export Makefile command and run
-!MESSAGE
-!MESSAGE NMAKE /f "ImageProcessing.mak".
-!MESSAGE
-!MESSAGE You can specify a configuration when running NMAKE
-!MESSAGE by defining the macro CFG on the command line. For example:
-!MESSAGE
-!MESSAGE NMAKE /f "ImageProcessing.mak"\
- CFG="ImageProcessing - Java Virtual Machine Debug"
-!MESSAGE
-!MESSAGE Possible choices for configuration are:
-!MESSAGE
-!MESSAGE "ImageProcessing - Java Virtual Machine Release" (based on\
- "Java Virtual Machine Java Project")
-!MESSAGE "ImageProcessing - Java Virtual Machine Debug" (based on\
- "Java Virtual Machine Java Project")
-!MESSAGE
-
-# Begin Project
-# PROP Scc_ProjName ""
-# PROP Scc_LocalPath ""
-JAVA=jvc.exe
-
-!IF "$(CFG)" == "ImageProcessing - Java Virtual Machine Release"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir ""
-# PROP BASE Intermediate_Dir ""
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "..\classes-r"
-# PROP Intermediate_Dir ""
-# PROP Target_Dir ""
-# ADD BASE JAVA /O
-# ADD JAVA /O
-
-!ELSEIF "$(CFG)" == "ImageProcessing - Java Virtual Machine Debug"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir ""
-# PROP BASE Intermediate_Dir ""
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "..\classes"
-# PROP Intermediate_Dir ""
-# PROP Target_Dir ""
-# ADD BASE JAVA /g
-# ADD JAVA /g
-
-!ENDIF
-
-# Begin Target
-
-# Name "ImageProcessing - Java Virtual Machine Release"
-# Name "ImageProcessing - Java Virtual Machine Debug"
-# Begin Source File
-
-SOURCE=.\filters\Assert.java
-# End Source File
-# Begin Source File
-
-SOURCE=.\framework\BaseButton.java
-# End Source File
-# Begin Source File
-
-SOURCE=.\framework\BenchmarkApplet.java
-# End Source File
-# Begin Source File
-
-SOURCE=.\filters\BleachFilter.java
-# End Source File
-# Begin Source File
-
-SOURCE=.\filters\BlurFilter.java
-# End Source File
-# Begin Source File
-
-SOURCE=.\filters\DarkenFilter.java
-# End Source File
-# Begin Source File
-
-SOURCE=.\filters\DeSpeckleFilter.java
-# End Source File
-# Begin Source File
-
-SOURCE=.\framework\DialogManager.java
-# End Source File
-# Begin Source File
-
-SOURCE=.\framework\DialogType.java
-# End Source File
-# Begin Source File
-
-SOURCE=.\filters\DissolveFilter.java
-# End Source File
-# Begin Source File
-
-SOURCE=.\filters\EdgeDetectFilter.java
-# End Source File
-# Begin Source File
-
-SOURCE=.\filters\EmbossFilter.java
-# End Source File
-# Begin Source File
-
-SOURCE=.\framework\FileBrowser.java
-# End Source File
-# Begin Source File
-
-SOURCE=.\framework\FilePanel.java
-# End Source File
-# Begin Source File
-
-SOURCE=.\framework\GifEncoder.java
-# End Source File
-# Begin Source File
-
-SOURCE=.\framework\GIFHandler.java
-# End Source File
-# Begin Source File
-
-SOURCE=.\framework\Hierarchy.java
-# End Source File
-# Begin Source File
-
-SOURCE=.\framework\HierarchyAdapter.java
-# End Source File
-# Begin Source File
-
-SOURCE=.\framework\Icon.java
-# End Source File
-# Begin Source File
-
-SOURCE=.\framework\ImageApp.java
-# End Source File
-# Begin Source File
-
-SOURCE=.\framework\ImageByteCounter.java
-# End Source File
-# Begin Source File
-
-SOURCE=.\framework\ImageCanvas.java
-# End Source File
-# Begin Source File
-
-SOURCE=.\framework\ImageEncoder.java
-# End Source File
-# Begin Source File
-
-SOURCE=.\framework\ImageProcessor.java
-# End Source File
-# Begin Source File
-
-SOURCE=.\framework\ImageSender.java
-# End Source File
-# Begin Source File
-
-SOURCE=.\framework\IntHashtable.java
-# End Source File
-# Begin Source File
-
-SOURCE=.\framework\ListFiles.java
-# End Source File
-# Begin Source File
-
-SOURCE=.\framework\LoadURLFrame.java
-# End Source File
-# Begin Source File
-
-SOURCE=.\filters\MedFilter.java
-# End Source File
-# Begin Source File
-
-SOURCE=.\filters\OilPaintFilter.java
-# End Source File
-# Begin Source File
-
-SOURCE=.\framework\Options.java
-# End Source File
-# Begin Source File
-
-SOURCE=.\filters\PixelizeFilter.java
-# End Source File
-# Begin Source File
-
-SOURCE=.\filters\RandomizeFilter.java
-# End Source File
-# Begin Source File
-
-SOURCE=.\filters\RotateFilter.java
-# End Source File
-# Begin Source File
-
-SOURCE=.\framework\SaveURLFrame.java
-# End Source File
-# Begin Source File
-
-SOURCE=.\framework\Separator.java
-# End Source File
-# Begin Source File
-
-SOURCE=.\framework\ServerHandler.java
-# End Source File
-# Begin Source File
-
-SOURCE=.\framework\ServerTest.java
-# End Source File
-# Begin Source File
-
-SOURCE=.\filters\SharpenFilter.java
-# End Source File
-# Begin Source File
-
-SOURCE=.\filters\SpatialFilter.java
-# End Source File
-# Begin Source File
-
-SOURCE=.\filters\SpreadFilter.java
-# End Source File
-# Begin Source File
-
-SOURCE=.\framework\StatusDisplay.java
-# End Source File
-# Begin Source File
-
-SOURCE=.\framework\StatusIndicator.java
-# End Source File
-# Begin Source File
-
-SOURCE=.\framework\Tester.java
-# End Source File
-# Begin Source File
-
-SOURCE=.\framework\TestHandler.java
-# End Source File
-# Begin Source File
-
-SOURCE=.\filters\Timer.java
-# End Source File
-# End Target
-# End Project
diff --git a/java/ImageProcessing/ImageProcessing.dsw b/java/ImageProcessing/ImageProcessing.dsw
deleted file mode 100644
index 672fddb912b..00000000000
--- a/java/ImageProcessing/ImageProcessing.dsw
+++ /dev/null
@@ -1,29 +0,0 @@
-Microsoft Developer Studio Workspace File, Format Version 6.00
-# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
-
-###############################################################################
-
-Project: "ImageProcessing"=.\ImageProcessing.dsp - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
-}}}
-
-###############################################################################
-
-Global:
-
-Package=<5>
-{{{
-}}}
-
-Package=<3>
-{{{
-}}}
-
-###############################################################################
-
diff --git a/java/ImageProcessing/filters/Assert.java b/java/ImageProcessing/filters/Assert.java
deleted file mode 100644
index c83f9ca94c0..00000000000
--- a/java/ImageProcessing/filters/Assert.java
+++ /dev/null
@@ -1,33 +0,0 @@
-package imaging.filters;
-
-/**
- * A simple assertion mechanism for asserting validity of
- * arguments.<p>
- *
- * @version 1.0, Apr 1 1996
- * @author David Geary
- */
-class Assert {
- static public void notFalse(boolean b)
- throws IllegalArgumentException {
- if(b == false)
- throw new IllegalArgumentException(
- "boolean expression false");
- }
- static public void notNull(Object obj)
- throws IllegalArgumentException {
- if(obj == null)
- throw new IllegalArgumentException("null argument");
- }
-
- static public void notFalse(boolean b, String s)
- throws IllegalArgumentException {
- if(b == false)
- throw new IllegalArgumentException(s);
- }
- static public void notNull(Object obj, String s)
- throws IllegalArgumentException {
- if(obj == null)
- throw new IllegalArgumentException(s);
- }
-}
diff --git a/java/ImageProcessing/filters/BleachFilter.java b/java/ImageProcessing/filters/BleachFilter.java
deleted file mode 100644
index e9d6a0b9e0e..00000000000
--- a/java/ImageProcessing/filters/BleachFilter.java
+++ /dev/null
@@ -1,65 +0,0 @@
-package imaging.filters;
-
-import java.awt.image.*;
-
-/**
- * A derivation of RGBImageFilter that bleaches an image.<p>
- *
- * Extent of the bleaching effect is controlled by the only
- * constructor argument: an integer representing the percentage
- * of bleaching. The percentage of bleaching may also be
- * controlled after instantiation by invoking the
- * void percent(int) method.<p>
- *
- * @version 1.0, Apr 1 1996
- * @author David Geary
- * @see RGBImageFilter
- */
-public class BleachFilter extends RGBImageFilter implements MedFilter
-{
- private int percent;
-
- public BleachFilter()
- {
- this(25);
- }
-
- public BleachFilter(int percent)
- {
- Assert.notFalse(percent >= 0 && percent <= 100);
- this.percent = percent;
- canFilterIndexColorModel = true;
- }
-
- public String info ()
- {
- return "Bleaches/Lightens an image";
- }
-
- public int percent() { return percent; }
- public void percent(int percent) { percent = percent; }
-
- public int filterRGB(int x, int y, int rgb) {
- DirectColorModel cm =
- (DirectColorModel)ColorModel.getRGBdefault();
-
- int alpha = cm.getAlpha(rgb);
- int red = cm.getRed (rgb);
- int green = cm.getGreen(rgb);
- int blue = cm.getBlue (rgb);
- double percentMultiplier = (double)percent/100;
-
- red = Math.min((int)
- (red + (red * percentMultiplier)), 255);
- green = Math.min((int)
- (green + (green * percentMultiplier)), 255);
- blue = Math.min((int)
- (blue + (blue * percentMultiplier)), 255);
-
- alpha = alpha << 24;
- red = red << 16;
- green = green << 8;
-
- return alpha | red | green | blue;
- }
-}
diff --git a/java/ImageProcessing/filters/BlurFilter.java b/java/ImageProcessing/filters/BlurFilter.java
deleted file mode 100644
index e071324e491..00000000000
--- a/java/ImageProcessing/filters/BlurFilter.java
+++ /dev/null
@@ -1,95 +0,0 @@
-package imaging.filters;
-
-import java.awt.image.*;
-
-public class BlurFilter extends SpatialFilter
-{
- private int[][] mean_filter;
- private int degree_ = 3;
-
- public BlurFilter()
- {
- }
-
- public BlurFilter(int degree)
- {
- degree_ = degree;
- }
-
- public void imageComplete(int status)
- {
- if (status == IMAGEERROR || status == IMAGEABORTED)
- {
- consumer.imageComplete(status);
- System.out.println("Image Error");
- return;
- }
-
- System.gc();
-
- int[] pixels = new int[columns_*rows_];
- int pixel = 0, count = 0;
- int red, green, blue, index;
- int alpha, n2 = degree_/2;
-
- profile_timer_.start();
-
- for (int z = SpatialFilter.iterations_; z-- > 0;)
- {
-
- for (int y = 0, i = 0; y < rows_; y++)
- {
- for (int x = 0; x < columns_; x++, i++)
- {
- red = 0; green = 0; blue = 0; count = 0;
- alpha = (raster_[i] >> 24) & 0xff;
-
- for (int y1 = y - n2; y1 < y + n2; y1++)
- {
- index = y1*columns_;
- if (y1 >= 0 && y1 < rows_)
- {
- for (int x1 = x - n2; x1 < x + n2; x1++)
- {
- if (x1 >= 0 && x1 < columns_)
- {
- pixel = raster_[index + x1];
-
- red += (pixel >> 16) & 0xff;
- green += (pixel >> 8) & 0xff;
- blue += (pixel) & 0xff;
- count++;
- }
- }
- }
- }
-
- red /= count;
- green /= count;
- blue /= count;
-
- if (red < 0) red = 0;
- if (green < 0) green = 0;
- if (blue < 0) blue = 0 ;
-
- if (red > 255) red = 255;
- if (green > 255) green = 255;
- if (blue > 255) blue = 255;
-
- pixels[i] = (alpha << 24) | (red << 16) | (green << 8) | blue;
- }
- }
- }
-
- profile_timer_.stop();
-
- System.out.println("Finished altering image");
- consumer.setPixels(0, 0, columns_, rows_, defaultRGB_, pixels, 0, columns_);
- consumer.imageComplete(status);
- }
-
- public String info ()
- {
- return "Blurs an image.";
- }
-}
diff --git a/java/ImageProcessing/filters/DarkenFilter.java b/java/ImageProcessing/filters/DarkenFilter.java
deleted file mode 100644
index ea20d15a46b..00000000000
--- a/java/ImageProcessing/filters/DarkenFilter.java
+++ /dev/null
@@ -1,48 +0,0 @@
-package imaging.filters;
-
-import java.awt.image.*;
-
-public class DarkenFilter extends RGBImageFilter implements MedFilter
-{
- private int percent_;
-
- public DarkenFilter ()
- {
- percent_ = 50;
- canFilterIndexColorModel = true;
- }
-
- public DarkenFilter(int percent)
- {
- Assert.notFalse(percent >= 0 && percent <= 100);
- percent_ = percent;
- canFilterIndexColorModel = true;
- }
-
- public String info ()
- {
- return "Darkens an image.";
- }
-
- public int filterRGB(int x, int y, int rgb)
- {
- DirectColorModel cm =
- (DirectColorModel)ColorModel.getRGBdefault();
-
- int alpha = cm.getAlpha(rgb);
- int red = cm.getRed (rgb);
- int green = cm.getGreen(rgb);
- int blue = cm.getBlue (rgb);
- double percentMultiplier = (double)((double)1.0 - (double)percent_/100);
-
- red *= percentMultiplier;
- blue *= percentMultiplier;
- green *= percentMultiplier;
-
- alpha = alpha << 24;
- red = red << 16;
- green = green << 8;
-
- return alpha | red | green | blue;
- }
-}
diff --git a/java/ImageProcessing/filters/DeSpeckleFilter.java b/java/ImageProcessing/filters/DeSpeckleFilter.java
deleted file mode 100644
index d9bff1de3b5..00000000000
--- a/java/ImageProcessing/filters/DeSpeckleFilter.java
+++ /dev/null
@@ -1,123 +0,0 @@
-package imaging.filters;
-
-import java.awt.image.*;
-
-public class DeSpeckleFilter extends SpatialFilter
-{
- private int degree_ = 3;
-
- public DeSpeckleFilter()
- {
- }
-
- public DeSpeckleFilter(int degree)
- {
- degree_ = degree;
- }
-
- public String info ()
- {
- return "Removes speckles from an image.";
- }
-
- public void imageComplete(int status)
- {
- if (status == IMAGEERROR || status == IMAGEABORTED)
- {
- consumer.imageComplete(status);
- System.out.println("DeSpeckleFilter Image Error: " + status);
- return;
- }
-
- System.gc();
-
- int rsum, bsum, gsum, r, g, b, a;
- int count, n2, nsq, c2, lcv, lcv2, index;
- int[] rtab, gtab, btab;
- int[] pixels = new int[columns_*rows_];
-
- profile_timer_.start();
-
- n2 = degree_/2;
- nsq = degree_ * degree_;
-
- rtab = new int[nsq];
- gtab = new int[nsq];
- btab = new int[nsq];
-
- for (int z = SpatialFilter.iterations_; z-- > 0;)
- {
- for (int y = 0, k = 0; y < rows_; y++)
- {
- lcv = y + n2;
- for (int x = 0; x < columns_; x++, k++)
- {
- rsum = gsum = bsum = 0;
- count = 0;
-
- lcv2 = x + n2;
- for (int y1 = y - n2; y1 < lcv; y1++)
- {
- index = y1*columns_;
- if (y1 >= 0 && y1 < rows_)
- {
- for (int x1 = x - n2; x1 < lcv2; x1++)
- {
- if (x1 >= 0 && x1 < columns_)
- {
- int pixel = raster_[index + x1];
- rtab[count] = (pixel >> 16) & 0xff;
- gtab[count] = (pixel >> 8) & 0xff;
- btab[count] = (pixel) & 0xff;
- count++;
- }
- }
- }
- }
-
- for (int d = count >> 1; d > 0; d >>= 1)
- {
- for (int i = d; i < count; i++)
- {
- for (int j = i - d; j >= 0 && rtab[j] > rtab[j+d]; j -= d)
- {
- int t = rtab[j];
- rtab[j] = rtab[j + d];
- rtab[j + d] = t;
- }
-
- for (int j = i - d; j >= 0 && gtab[j] > gtab[j+d]; j -= d)
- {
- int t = gtab[j];
- gtab[j] = gtab[j + d];
- gtab[j + d] = t;
- }
-
- for (int j = i - d; j >= 0 && btab[j] > btab[j+d]; j -= d)
- {
- int t = btab[j];
- btab[j] = btab[j + d];
- btab[j + d] = t;
- }
- }
- }
-
- c2 = count >> 1;
-
- a = (raster_[k] >> 24) & 0xff;
- r = ( (count % 2 == 0) ? (rtab[c2] + rtab[c2 - 1]) >> 1 : rtab[c2]);
- g = ( (count % 2 == 0) ? (gtab[c2] + gtab[c2 - 1]) >> 1 : gtab[c2]);
- b = ( (count % 2 == 0) ? (btab[c2] + btab[c2 - 1]) >> 1 : btab[c2]);
-
- pixels[k] = (a << 24) | (r << 16) | (g << 8) | b;
- }
- }
- }
-
- profile_timer_.stop();
-
- consumer.setPixels(0, 0, columns_, rows_, defaultRGB_, pixels, 0, columns_);
- consumer.imageComplete(status);
- }
-
-}
diff --git a/java/ImageProcessing/filters/DissolveFilter.java b/java/ImageProcessing/filters/DissolveFilter.java
deleted file mode 100644
index 0225aad6ad1..00000000000
--- a/java/ImageProcessing/filters/DissolveFilter.java
+++ /dev/null
@@ -1,52 +0,0 @@
-package imaging.filters;
-
-import java.awt.image.*;
-
-/**
- * A derivation of RGBImageFilter that partially or wholly
- * dissolves an image.<p>
- *
- * Extent of dissolving is set by the setOpacity(int) method,
- * which is passed an integer between 0 and 255 (inclusive).
- * The integer represents the alpha value to be applied to
- * every color in the image.<p>
- *
- * An alpha value of 255 signifies an opaque color, while an
- * alpha value of 0 signifies a translucent color.<p>
- *
- * @version 1.0, Apr 1 1996
- * @author David Geary
- * @see RGBImageFilter
- */
-public class DissolveFilter extends RGBImageFilter implements MedFilter
-{
- private int opacity;
-
- public DissolveFilter() {
- this(0);
- }
- public DissolveFilter(int opacity) {
- canFilterIndexColorModel = true;
- setOpacity(opacity);
- }
- public String info ()
- {
- return "Dissolves an image";
- }
- public void setOpacity(int opacity) {
- Assert.notFalse(opacity >= 0 && opacity <= 255);
- this.opacity = opacity;
- }
- public int filterRGB(int x, int y, int rgb) {
- DirectColorModel cm =
- (DirectColorModel)ColorModel.getRGBdefault();
- int alpha = cm.getAlpha(rgb);
- int red = cm.getRed (rgb);
- int green = cm.getGreen(rgb);
- int blue = cm.getBlue (rgb);
-
- alpha = opacity;
-
- return alpha << 24 | red << 16 | green << 8 | blue;
- }
-}
diff --git a/java/ImageProcessing/filters/EdgeDetectFilter.java b/java/ImageProcessing/filters/EdgeDetectFilter.java
deleted file mode 100644
index 87cc88d475d..00000000000
--- a/java/ImageProcessing/filters/EdgeDetectFilter.java
+++ /dev/null
@@ -1,250 +0,0 @@
-package imaging.filters;
-
-import java.awt.image.*;
-
-public class EdgeDetectFilter extends SpatialFilter
-{
- public EdgeDetectFilter()
- {
- }
-
- public String info ()
- {
- return "Edge detection filter.";
- }
-
- public void imageComplete(int status)
- {
- if (status == IMAGEERROR || status == IMAGEABORTED)
- {
- consumer.imageComplete(status);
- System.out.println("Image Error");
- return;
- }
-
- System.gc();
-
- int[] pixels = new int[columns_*rows_];
- int pixel = 0;
- int red, green, blue;
- int row1, row2, row3;
- int new_red1 = 0, new_green1 = 0, new_blue1 = 0,
- new_red2 = 0, new_green2 = 0, new_blue2 = 0;
- int ul, um, ur, ll, lm, lr, ml, mr;
- int alpha, lcv, lcv2;
-
- profile_timer_.start();
-
- for (int z = SpatialFilter.iterations_; z-- > 0;)
- {
- lcv = rows_ - 1;
- lcv2 = columns_ - 1;
- for (int x = 1, index = 0; x < lcv; x++, index += columns_)
- {
- for (int y = 1; y < lcv2; y++)
- {
- row1 = index + y;
- row2 = row1 + columns_;
- row3 = row2 + columns_;
-
- ul = raster_[row1 - 1];
- um = raster_[row1];
- ur = raster_[row1 + 1];
- ml = raster_[row2 - 1];
- mr = raster_[row2 + 1];
- ll = raster_[row3 - 1];
- lm = raster_[row3];
- lr = raster_[row3 + 1];
-
- alpha = (raster_[row2] >> 24) & 0xff;
-
- new_red1 =
- (((ul >> 16) & 0xff)
- + (((um >> 16) & 0xff) << 1)
- + ((ur >> 16) & 0xff)
- - ((ll >> 16) & 0xff)
- - (((lm >> 16) & 0xff) << 1)
- - ((lr >> 16) & 0xff));
-
- new_green1 =
- (((ul >> 8) & 0xff)
- + (((um >> 8) & 0xff) << 1)
- + ((ur >> 8) & 0xff)
- - ((ll >> 8) & 0xff)
- - (((lm >> 8) & 0xff) << 1)
- - ((lr >> 8) & 0xff));
-
- new_blue1 =
- (((ul) & 0xff)
- + (((um) & 0xff) << 1)
- + ((ur) & 0xff)
- - ((ll) & 0xff)
- - (((lm) & 0xff) << 1)
- - ((lr) & 0xff));
-
- new_red2 =
- (- ((ul >> 16) & 0xff)
- + ((ur >> 16) & 0xff)
- - (((ml >> 16) & 0xff) << 1)
- + (((mr >> 16) & 0xff) << 1)
- - ((ll >> 16) & 0xff)
- + ((lr >> 16) & 0xff));
-
- new_green2 =
- (- ((ul >> 8) & 0xff)
- + ((ur >> 8) & 0xff)
- - (((ml >> 8) & 0xff) << 1)
- + (((mr >> 8) & 0xff) << 1)
- - ((ll >> 8) & 0xff)
- + ((lr >> 8) & 0xff));
-
- new_blue2 =
- (- ((ul) & 0xff)
- + ((ur) & 0xff)
- - (((ml) & 0xff) << 1)
- + (((mr) & 0xff) << 1)
- - ((ll) & 0xff)
- + ((lr) & 0xff));
-
-
- new_red1 = (int)Math.sqrt(new_red1*new_red1 + new_red2*new_red2);
- new_green1 = (int)Math.sqrt(new_green1*new_green1 + new_green2*new_green2);
- new_blue1 = (int)Math.sqrt(new_blue1*new_blue1 + new_blue2*new_blue2);
-
- if (new_red1 < 0) red = 0;
- if (new_green1 < 0) green = 0;
- if (new_blue1 < 0) blue = 0 ;
-
-
- if (new_red1 > 255)
- new_red1 = 255;
-
- if (new_green1 > 255)
- new_green1 = 255;
-
- if (new_blue1 > 255)
- new_blue1 = 255;
-
- pixels[row2] = (alpha << 24) | (new_red1 << 16) | (new_green1 << 8) | new_blue1;
- }
- }
- }
-
- profile_timer_.stop();
-
- consumer.setPixels(0, 0, columns_, rows_, defaultRGB_, pixels, 0, columns_);
- consumer.imageComplete(status);
- }
-
- /*
- public void imageComplete(int status)
- {
- if (status == IMAGEERROR || status == IMAGEABORTED)
- {
- consumer.imageComplete(status);
- System.out.println("Image Error");
- return;
- }
-
- int[][] pixels = new int[rows_*columns_];
- int pixel = 0;
- int red, green, blue;
- int row1, row2, row3, row4, row5;
- int a, b, c, d, rsum, gsum, bsum, v, maxv = 0;
- int ul, um, ur, ml, mr, ll, lm, lr, lcv, lcv2;
- int alpha;
-
- lcv = rows_ -1;
- for (int y = 1; y < lcv; y++)
- {
- lcv2 = columns_ -1;
- for (int x = 1; x < lcv2; x++)
- {
- row1 = columns_*(y-1) + x;
- row2 = row1 + columns_;
- row3 = row2 + columns_;
- ul = raster_[row1 - 1];
- um = raster_[row1];
- ur = raster_[row1 + 1];
- ml = raster_[row2 - 1];
- mr = raster_[row2 + 1];
- ll = raster_[row3 - 1];
- lm = raster_[row3];
- lr = raster_[row3 + 1];
-
- alpha = defaultRGB_.getAlpha(raster_[row2]);
-
- a = ((lr >> 16) & 0xff) - ((ul >> 16) & 0xff);
- b = ((mr >> 16) & 0xff) - ((ml >> 16) & 0xff);
- c = ((ur >> 16) & 0xff) - ((ll >> 16) & 0xff);
- d = ((um >> 16) & 0xff) - ((lm >> 16) & 0xff);
-
- rsum = a + b + c;
- if (rsum < 0) rsum = -rsum;
- a = a - c - d;
- if (a < 0) a = -a;
- if (rsum > a) rsum = a;
- rsum /= 3;
-
- a = ((lr >> 8) & 0xff) - ((ul >> 8) & 0xff);
- b = ((mr >> 8) & 0xff) - ((ml >> 8) & 0xff);
- c = ((ur >> 8) & 0xff) - ((ll >> 8) & 0xff);
- d = ((um >> 8) & 0xff) - ((lm >> 8) & 0xff);
-
- gsum = a + b + c;
- if (gsum < 0) gsum = -gsum;
- a = a - c - d;
- if (a < 0) a = -a;
- if (gsum > a) gsum = a;
- gsum /= 3;
-
- a = ((lr) & 0xff) - ((ul) & 0xff);
- b = ((mr) & 0xff) - ((ml) & 0xff);
- c = ((ur) & 0xff) - ((ll) & 0xff);
- d = ((um) & 0xff) - ((lm) & 0xff);
-
- bsum = a + b + c;
- if (bsum < 0) bsum = -bsum;
- a = a - c - d;
- if (a < 0) a = -a;
- if (bsum > a) bsum = a;
- bsum /= 3;
-
- pixels[row2] = (alpha << 24) | (rsum << 16) | (gsum << 8) | bsum;
-
- v = (((int)(rsum)*11 + ((int)(gsum) << 4) + (int)(bsum)*5) >> 5);
-
- if (maxv < v)
- maxv = v;
- }
-
- }
-
- for (int y = 1; y < rows_ - 1; y++)
- {
- for (int x = 1; x < columns_ - 1; x++)
- {
- pixel = pixels[y][x];
- alpha = (pixel >> 24) & 0xff;
- red = (((pixel >> 16) & 0xff) * 255) / maxv;
- green = (((pixel >> 8) & 0xff) * 255) / maxv;
- blue = ((pixel & 0xff) * 255) / maxv;
-
- if (red < 0) red = 0;
- if (green < 0) green = 0;
- if (blue < 0) blue = 0 ;
-
- if (red > 255) red = 255;
- if (green > 255) green = 255;
- if (blue > 255) blue = 255;
-
- pixels[y*x] = (alpha << 24) | (red << 16) | (green << 8) | blue;
- }
-
- consumer.setPixels(0, y, columns_, 1, defaultRGB_, pixels[y], 0, columns_);
- }
-
- consumer.imageComplete(status);
- }
- */
-}
diff --git a/java/ImageProcessing/filters/EmbossFilter.java b/java/ImageProcessing/filters/EmbossFilter.java
deleted file mode 100644
index e6d5833ee39..00000000000
--- a/java/ImageProcessing/filters/EmbossFilter.java
+++ /dev/null
@@ -1,86 +0,0 @@
-package imaging.filters;
-
-import java.awt.image.*;
-
-public class EmbossFilter extends SpatialFilter
-{
-
- public EmbossFilter()
- {
- }
-
- public String info ()
- {
- return "Embosses an image.";
- }
-
- public void imageComplete(int status)
- {
- if (status == IMAGEERROR || status == IMAGEABORTED)
- {
- consumer.imageComplete(status);
- System.out.println("Emboss: Image Error: " + status);
- return;
- }
-
- System.out.println("Beginning to emboss an image.");
- System.gc();
-
- int[] pixels = new int[columns_*rows_];
- int pixel = 0;
- int red, green, blue;
- int row1, row2, row3, ul, um, ml, mr, lm, lr;
- int new_grey = 0, lcv, lcv2;
- int alpha;
-
- profile_timer_.start();
-
- for (int z = SpatialFilter.iterations_; z-- > 0;)
- {
- lcv = rows_ -1;
- for (int x = 1, index = 0; x < lcv; x++, index += columns_)
- {
- lcv2 = columns_ - 1;
- for (int y = 1; y < lcv2; y++)
- {
-
- row1 = index + y;
- row2 = row1 + columns_;
- row3 = row2 + columns_;
-
- ul = raster_[row1 - 1];
- um = raster_[row1];
- ml = raster_[row2 - 1];
- mr = raster_[row2 + 1];
- lm = raster_[row3];
- lr = raster_[row3 + 1];
-
- alpha = (raster_[row2] >> 24) & 0xff;
-
- red = ((- (((ul >> 16) & 0xff) << 1) - ((um >> 16) & 0xff) -
- ((ml >> 16) & 0xff) + ((mr >> 16) & 0xff) +
- ((lm >> 16) & 0xff) + (((lr >> 16) & 0xff) << 1)) >> 3) + 128;
-
- green = ((- (((ul >> 8) & 0xff) << 1) - ((um >> 8) & 0xff) -
- ((ml >> 8) & 0xff) + ((mr >> 8) & 0xff) +
- ((lm >> 8) & 0xff) + (((lr >> 8) & 0xff) << 1)) >> 3) + 128;
-
- blue = ((- ((ul & 0xff) << 1) - (um & 0xff) -
- (ml & 0xff) + (mr & 0xff) +
- (lm & 0xff) + ((lr & 0xff) << 1)) >> 3) + 128;
-
- new_grey = (((int)(red)*11 + ((int)(green) << 4) + (int)(blue)*5) >> 5);
-
- pixels[row2] = (alpha << 24) | (new_grey << 16) | (new_grey << 8) | new_grey;
-
- }
- }
- }
-
- profile_timer_.stop();
-
- consumer.setPixels(0, 0, columns_, rows_, defaultRGB_, pixels, 0, columns_);
- // System.out.println(timer);
- consumer.imageComplete(status);
- }
-}
diff --git a/java/ImageProcessing/filters/Makefile b/java/ImageProcessing/filters/Makefile
deleted file mode 100644
index 253bc9b5c22..00000000000
--- a/java/ImageProcessing/filters/Makefile
+++ /dev/null
@@ -1,36 +0,0 @@
-# Makefile
-
-.SUFFIXES: .java .class
-
-JACE_WRAPPER = ../..
-CLASSDIR = $(JACE_WRAPPER)/classes
-DOCDIR = $(JACE_WRAPPER)/doc
-
-CLASSPATH := $(CLASSDIR):$(CLASSPATH)
-
-all:
- javac -d ${JACE_WRAPPER}/classes $(files)
-
-clean:
- rm -rf *~
-
-realclean: clean
- rm -rf $(JACE_WRAPPER)/classes/imaging/filters/*.class
-
-files = MedFilter.java \
- Assert.java \
- BleachFilter.java \
- BlurFilter.java \
- DarkenFilter.java \
- DeSpeckleFilter.java \
- DissolveFilter.java \
- EdgeDetectFilter.java \
- EmbossFilter.java \
- OilPaintFilter.java \
- PixelizeFilter.java \
- RotateFilter.java \
- SharpenFilter.java \
- SpatialFilter.java \
- SpreadFilter.java \
- Timer.java
-
diff --git a/java/ImageProcessing/filters/MedFilter.java b/java/ImageProcessing/filters/MedFilter.java
deleted file mode 100644
index def0bd2075a..00000000000
--- a/java/ImageProcessing/filters/MedFilter.java
+++ /dev/null
@@ -1,6 +0,0 @@
-package imaging.filters;
-
-public interface MedFilter
-{
- String info ();
-}
diff --git a/java/ImageProcessing/filters/OilPaintFilter.java b/java/ImageProcessing/filters/OilPaintFilter.java
deleted file mode 100644
index 68bcf79e5c2..00000000000
--- a/java/ImageProcessing/filters/OilPaintFilter.java
+++ /dev/null
@@ -1,97 +0,0 @@
-package imaging.filters;
-
-import java.awt.image.*;
-
-public class OilPaintFilter extends SpatialFilter
-{
- private int degree_ = 3;
-
- public OilPaintFilter()
- {
- }
-
- public OilPaintFilter(int degree)
- {
- degree_ = degree;
- }
-
- public String info ()
- {
- return "Converts an image into an oil painting.";
- }
-
- public void imageComplete(int status)
- {
- if (status == IMAGEERROR || status == IMAGEABORTED)
- {
- consumer.imageComplete(status);
- System.out.println("Oil Paint FilterImage Error: " + status);
- return;
- }
-
- System.gc();
-
- int[] pixels = new int[columns_*rows_];
- int[] nnrect = new int[degree_*degree_];
- int offset = degree_/2, cnt = 0, maxcnt = 0, col = 0, tmp;
- int lcv1 = rows_,
- lcv2 = columns_,
- lcv3 = degree_*degree_;
-
- profile_timer_.start();
-
- for (int z = SpatialFilter.iterations_; z-- > 0;)
- {
- for (int y = 0, index = 0; y < lcv1; y++)
- {
- for (int x = 0; x < lcv2; x++, index++)
- {
- cnt = 0;
- for (int i = y - offset; i < y + offset; i++)
- {
- tmp = i*columns_;
- for (int j = x - offset; j < x + offset; j++, cnt++)
- {
- if (i >= 0 && i < lcv1 && j >= 0 && j < lcv2)
- nnrect[cnt] = raster_[tmp + j];
- else
- nnrect[cnt] = -1;
- }
- }
-
- maxcnt = 0;
- col = 0;
- cnt = 0;
- for (int i = 0; i < lcv3; i++)
- {
- if (nnrect[i] != -1)
- {
- cnt = 1;
-
- for (int j = i+1; j < lcv3; j++)
- {
- if (nnrect[i] == nnrect[j])
- cnt++;
- }
-
- if (cnt > maxcnt)
- {
- col = nnrect[i];
- maxcnt = cnt;
- }
- }
- }
-
- pixels[index] = col;
- }
- }
- }
-
- System.err.println("Oil Paint should be finished.");
-
- profile_timer_.stop();
-
- consumer.setPixels(0, 0, columns_, rows_, defaultRGB_, pixels, 0, columns_);
- consumer.imageComplete(status);
- }
-}
diff --git a/java/ImageProcessing/filters/PixelizeFilter.java b/java/ImageProcessing/filters/PixelizeFilter.java
deleted file mode 100644
index cdfe768789a..00000000000
--- a/java/ImageProcessing/filters/PixelizeFilter.java
+++ /dev/null
@@ -1,117 +0,0 @@
-package imaging.filters;
-
-import java.awt.image.*;
-
-public class PixelizeFilter extends SpatialFilter
-{
- private int pwidth_ = 4;
- private int pheight_ = 4;
-
- public PixelizeFilter()
- {
- }
-
- public PixelizeFilter(int pwidth, int pheight)
- {
- pwidth_ = pwidth;
- pheight_ = pheight;
- }
-
- public String info ()
- {
- return "Pixelizes the image.";
- }
-
- public void imageComplete(int status)
- {
- if (status == IMAGEERROR || status == IMAGEABORTED)
- {
- consumer.imageComplete(status);
- System.out.println("Pixelize Image Error: " + status);
- return;
- }
-
- System.gc();
-
- int pixel;
- int nsum, asum, rsum, gsum, bsum, nwide, nhigh, stx, sty, x, y;
- int x_offset, y_offset, x_extent, y_extent, lcv, lcv2, lcv3, index;
- int[] results = new int[rows_*columns_];
-
- profile_timer_.start();
-
- for (int z = SpatialFilter.iterations_; z-- > 0;)
- {
- lcv3 = pwidth_*pheight_;
- nwide = (columns_ + pwidth_ - 1) / pwidth_;
- nhigh = (rows_ + pheight_ - 1) / pheight_;
-
- stx = -(nwide*pwidth_ - columns_)/2;
- sty = -(nhigh*pheight_ - rows_)/2;
-
- y = sty;
- for (int i = 0; i < nhigh; i++, y += pheight_)
- {
- x = stx;
- for (int j = 0; j < nwide; j++, x += pwidth_)
- {
- nsum = asum = rsum = bsum = gsum = 0;
-
- lcv = y + pheight_;
- lcv2 = x + pwidth_;
- for (int y1 = y; y1 < lcv; y1++)
- {
- index = y1*columns_;
- for (int x1 = x; x1 < lcv2; x1++)
- {
- if (x1 >= 0 && y1 >= 0 && x1 < columns_ && y1 < rows_)
- {
- nsum++;
- pixel = raster_[index + x1];
-
- asum += (pixel >> 24) & 0xff;
- rsum += (pixel >> 16) & 0xff;
- gsum += (pixel >> 8 ) & 0xff;
- bsum += pixel & 0xff;
- }
- }
- }
-
- if (nsum > 0)
- {
- rsum /= nsum;
- gsum /= nsum;
- bsum /= nsum;
-
- if (asum < 0) asum = 0;
- if (rsum < 0) rsum = 0;
- if (gsum < 0) gsum = 0;
- if (bsum < 0) bsum = 0;
-
- if (asum > 255) asum = 255;
- if (rsum > 255) rsum = 255;
- if (gsum > 255) gsum = 255;
- if (bsum > 255) bsum = 255;
-
- }
-
- for (int y1 = y; y1< lcv; y1++)
- {
- index = y1*columns_;
- for (int x1 = x; x1 < lcv2; x1++)
- {
- if (x1 >= 0 && y1 >= 0 && x1 < columns_ && y1 < rows_)
- results[index + x1]
- = (asum << 24) | (rsum << 16) | (gsum << 8) | bsum;
- }
- }
- }
- }
- }
-
- profile_timer_.stop();
-
- consumer.setPixels(0, 0, columns_, rows_, defaultRGB_, results, 0, columns_);
- consumer.imageComplete(status);
- }
-}
diff --git a/java/ImageProcessing/filters/RandomizeFilter.java b/java/ImageProcessing/filters/RandomizeFilter.java
deleted file mode 100644
index 438f79e01c0..00000000000
--- a/java/ImageProcessing/filters/RandomizeFilter.java
+++ /dev/null
@@ -1,36 +0,0 @@
-package imaging.filters;
-
-import java.awt.image.*;
-import java.util.Random;
-
-public class RandomizeFilter extends RGBImageFilter implements MedFilter
-{
- private static Random rand = new Random(System.currentTimeMillis());
-
- public RandomizeFilter ()
- {
- canFilterIndexColorModel = true;
- }
-
- public String info ()
- {
- return "Randomizes an image.";
- }
-
- public int filterRGB(int x, int y, int rgb)
- {
- DirectColorModel cm =
- (DirectColorModel)ColorModel.getRGBdefault();
-
- int alpha = cm.getAlpha(rgb);
- int red = rand.nextInt() % 255;
- int green = rand.nextInt() % 255;
- int blue = rand.nextInt() % 255;
-
- alpha = alpha << 24;
- red = red << 16;
- green = green << 8;
-
- return alpha | red | green | blue;
- }
-}
diff --git a/java/ImageProcessing/filters/RotateFilter.java b/java/ImageProcessing/filters/RotateFilter.java
deleted file mode 100644
index 39551017a4b..00000000000
--- a/java/ImageProcessing/filters/RotateFilter.java
+++ /dev/null
@@ -1,358 +0,0 @@
-package imaging.filters;
-
-import java.awt.image.*;
-
-public class RotateFilter extends SpatialFilter
-{
- private double angle_;
- private int rotx_, roty_;
- private int rotheight_, rotwidth_;
-
- public RotateFilter ()
- {
- this.angle_ = 90.0;
- }
-
- public RotateFilter(double angle)
- {
- this.angle_ = angle;
- }
-
- public String info ()
- {
- return "Rotates an image";
- }
-
- public void setDimensions(int width, int height)
- {
- DoublePoint temp;
-
- rows_ = height;
- columns_ = width;
-
- // Convert the angle into radians
- double rotrad = angle_ * Math.PI / (double)180.0;
-
- // Compute the corner points after rotation
- double center_x = (double)(columns_ - 1) / (double)2.0;
- double center_y = (double)(rows_ - 1) / (double)2.0;
-
- // The new top left corner
- temp = rotatePoint(0, 0, center_x, center_y, rotrad);
- int rtl_x = (int)(temp.x_ + ((temp.x_ < 0) ? -0.5 : 0.5));
- int rtl_y = (int)(temp.y_ + ((temp.y_ < 0) ? -0.5 : 0.5));
-
- // the new top right corner
- temp = rotatePoint(0, rows_, center_x, center_y, rotrad);
- int rtr_x = (int)(temp.x_ + ((temp.x_ < 0) ? -0.5 : 0.5));
- int rtr_y = (int)(temp.y_ + ((temp.y_ < 0) ? -0.5 : 0.5));
-
- // the new bottom left corner
- temp = rotatePoint(columns_, 0, center_x, center_y, rotrad);
- int rbl_x = (int)(temp.x_ + ((temp.x_ < 0) ? -0.5 : 0.5));
- int rbl_y = (int)(temp.y_ + ((temp.y_ < 0) ? -0.5 : 0.5));
-
- // the new bottom right corner
- temp = rotatePoint(columns_, rows_, center_x, center_y, rotrad);
- int rbr_x = (int)(temp.x_ + ((temp.x_ < 0) ? -0.5 : 0.5));
- int rbr_y = (int)(temp.y_ + ((temp.y_ < 0) ? -0.5 : 0.5));
-
- //System.out.println(" ( " + center_x + "," + center_y + " ) ");
- //System.out.println(" ( " + rtl_x + "," + rtl_y + " ) ");
- //System.out.println(" ( " + rtr_x + "," + rtr_y + " ) ");
- //System.out.println(" ( " + rbr_x + "," + rbr_y + " ) ");
- //System.out.println(" ( " + rbl_x + "," + rbl_y + " ) ");
-
- // rotated bounding box
- int rbbx1, rbby1;
- int rbbx = rbbx1 = rtl_x;
- int rbby = rbby1 = rtl_y;
-
- if (rtr_x < rbbx) rbbx = rtr_x;
- if (rtr_x > rbbx1) rbbx1 = rtr_x;
- if (rtr_y < rbby) rbby = rtr_y;
- if (rtr_y > rbby1) rbby1 = rtr_y;
-
- if (rbl_x < rbbx) rbbx = rbl_x;
- if (rbl_x > rbbx1) rbbx1 = rbl_x;
- if (rbl_y < rbby) rbby = rbl_y;
- if (rbl_y > rbby1) rbby1 = rbl_y;
-
- if (rbr_x < rbbx) rbbx = rbr_x;
- if (rbr_x > rbbx1) rbbx1 = rbr_x;
- if (rbr_y < rbby) rbby = rbr_y;
- if (rbr_y > rbby1) rbby1 = rbr_y;
-
- int rbbw = rbbx1 - rbbx;
- int rbbh = rbby1 - rbby;
-
- //System.out.println("(rbbx, rbby): " + rbbx + " " + rbby);
- //System.out.println("(rbbx1, rbby1): " + rbbx1 + " " + rbby1);
- //System.out.println("(rbbw, rbbh): " + rbbw + " " + rbbh);
-
-
- //rbbx--; rbby--; rbbw+=2; rbbh+=2;
-
-
- // Ensure we haven't increased the size of the image
-
- /*
- int x = rbbx + rbbw - 1, y = rbby + rbbh - 1;
- if (rbbx < 0) rbbx = 0;
- if (rbbx > columns_ - 1 ) rbbx = columns_ - 1;
- if (rbby < 0) rbby = 0;
- if (rbby > rows_ - 1) rbby = rows_ - 1;
- */
-
- /*
-
- if (x < 0) x = 0;
- if (x > columns_ - 1) x = columns_ - 1;
- if (y < 0) y = 0;
- if (y > rows_ - 1) y = rows_ - 1;
-
- if (x < rbbx) x = rbbx;
- if (y < rbby) y = rbby;
- rbbw = (x - rbbx) + 1;
- rbbh = (y - rbby) + 1;
-
- */
-
- rotx_ = rbbx;
- roty_ = rbby;
- rotheight_ = rbbh;
- rotwidth_ = rbbw;
-
- //System.out.println("(rotx,roty): " + rotx_ + " " +
- // roty_);
- //System.out.println("(rotwidth,rotheight): " + rotwidth_ + " " +
- // rotheight_);
- //System.out.println("(columns,rows): " + columns_ +
- // " " + rows_);
-
-
- raster_ = new int[columns_*rows_];
- consumer.setDimensions(rotwidth_, rotheight_);
- }
-
-
- public void imageComplete(int status)
- {
- if (status == IMAGEERROR || status == IMAGEABORTED)
- {
- consumer.imageComplete(status);
- System.out.println("Image Error: " + status);
- return;
- }
-
- // For each pixel in the dimensions of the rotated image, if the
- // inverse rotation falls in the bounds of the original image. If
- // it does, compute and store an appropriate color, otherwise skip
- // it.
-
- System.gc();
-
- double xf, yf, px, py, apx, apy;
- int[] pixels = new int[rotwidth_*rotheight_];
- int ox, oy, ox1, oy1, index, pixel;
- double cx = (columns_ - 1) / 2;
- double cy = (rows_ - 1) / 2;
- double rotrad = angle_ * Math.PI / 180.0, ang, d;
- int p0r = 0, p0g = 0, p0b = 0,
- p1r = 0, p1g = 0,p1b = 0,
- p2r = 0, p2g = 0, p2b = 0,
- p3r = 0, p3g = 0, p3b = 0, lcv, lcv2;
- int rv,gv,bv, alpha;
- double rd,gd,bd, p0wgt = 0,
- p1wgt = 0, p2wgt = 0, p3wgt = 0, xfrac, yfrac;
-
- profile_timer_.start();
-
- lcv = roty_ + rotheight_;
- lcv2 = rotx_ + rotwidth_;
- for (int y = roty_, i = 0; y < lcv; y++)
- {
- for (int x = rotx_; x < lcv2; x++, i++)
- {
- // Inverse rotate the point (x,y)
- // Inlining the call to rotatePoint
- xf = (double)x;
- yf = (double)y;
- d = Math.sqrt((xf - cx) * (xf - cx) + (yf - cy) * (yf - cy));
-
- if ((xf - cx) != 0.0)
- {
- ang = Math.atan((cy-yf)/(xf-cx));
- if ((xf - cx) < 0)
- ang += Math.PI;
- }
- else
- {
- if ((yf - cy) > 0.0)
- ang = (Math.PI * 3.0) / 2;
- else
- ang = Math.PI / 2;
- }
-
- xf = cx + (d * Math.cos(ang - rotrad));
- yf = cy - (d * Math.sin(ang - rotrad));
- // end inline
-
- // Cheat a little
- if (xf < 0.0 && xf > -0.5) xf = 0.0;
- if (yf < 0.0 && yf > -0.5) yf = 0.0;
-
- ox = (int)Math.floor(xf);
- oy = (int)Math.floor(yf);
-
- if ((ox >= 0) && (oy >= 0) &&
- (ox < columns_) && (oy < rows_) )
- {
- // The color will be a linear combination of the colors of
- // the center pixel, its left or right neighbor, its top
- // or bottom neighbor, and its corner neighbor. Which
- // neighbors are used is determined by the position of
- // the fractional part of xf, xy within the 1-unit square
- // of the pixel.
-
- /* compute px,py: fractional offset from center of pixel (x.5,y.5) */
- xfrac = xf - ox; /* 0 - .9999 */
- yfrac = yf - oy;
- px = ((xfrac >= .5) ? (xfrac - .5) : (-.5 + xfrac));
- py = ((yfrac >= .5) ? (yfrac - .5) : (-.5 + yfrac));
- apx = ((px < 0) ? -px : px);
- apy = ((py < 0) ? -py : py);
-
- /* get neighbor colors: p0col, p1col, p2col, p3col */
- ox1 = ox + ((px < 0.0) ? -1 : 1);
- oy1 = oy + ((py < 0.0) ? -1 : 1);
-
- index = oy * columns_ + ox;
- pixel = raster_[index];
- alpha = (pixel >> 24) & 0xff;
- p0r = (pixel >> 16) & 0xff;
- p0g = (pixel >> 8) & 0xff;
- p0b = pixel & 0xff;
-
- if (ox1 >= 0 && ox1 < columns_)
- {
- index = oy*columns_ + ox1;
- pixel = raster_[index];
- p1r = (pixel >> 16) & 0xff;
- p1g = (pixel >> 8) & 0xff;
- p1b = pixel & 0xff;
- p1wgt = apx * (1.0 - apy);
- }
- else { p1r=p1g=p1b=0; p1wgt = 0.0; }
-
- if (oy1 >= 0 && oy1 < rows_)
- {
- index = oy1*columns_ + ox;
- pixel = raster_[index];
- p2r = (pixel >> 16) & 0xff;
- p2g = (pixel >> 8) & 0xff;
- p2b = pixel & 0xff;
- p2wgt = apx * (1.0 - apy);
- }
- else { p2r=p2g=p2b=0; p2wgt = 0.0; }
-
- if (ox1 >= 0 && ox1 < columns_ &&
- oy1 >= 0 && oy1 < rows_)
- {
- index = oy1 * columns_ + ox1;
- pixel = raster_[index];
- p3r = (pixel >> 16) & 0xff;
- p3g = (pixel >> 8) & 0xff;
- p3b = pixel & 0xff;
- p3wgt = apx * (1.0 - apy);
- }
- else { p3r=p3g=p3b=0; p3wgt = 0.0; }
-
- p1wgt = p1wgt * .7; /* black art */
- p2wgt = p2wgt * .7;
- p3wgt = p3wgt * .7;
-
- p0wgt = 1.0 - (p1wgt + p2wgt + p3wgt);
-
- /* okay, compute and store resulting color */
- rd = p0r * p0wgt + p1r * p1wgt + p2r * p2wgt + p3r * p3wgt;
- gd = p0g * p0wgt + p1g * p1wgt + p2g * p2wgt + p3g * p3wgt;
- bd = p0b * p0wgt + p1b * p1wgt + p2b * p2wgt + p3b * p3wgt;
-
- rv = (int) (rd + 0.5);
- gv = (int) (gd + 0.5);
- bv = (int) (bd + 0.5);
-
- if (rv < 0) rv = 0;
- if (gv < 0) gv = 0;
- if (bv < 0) bv = 0 ;
-
- if (rv > 255) rv = 255;
- if (gv > 255) gv = 255;
- if (bv > 255) bv = 255;
-
- pixels[i] = (alpha << 24) | (rv << 16) | (gv << 8) | bv;
- }
- }
- }
-
- profile_timer_.stop();
-
- consumer.setPixels(0, 0, rotwidth_, rotheight_, defaultRGB_,
- pixels, 0, rotwidth_);
-
- consumer.imageComplete(status);
- }
-
- private final static DoublePoint rotatePoint(int x, int y,
- double cx, double cy, double rad)
- {
- /* rotate point x, y 'rad' radians around cx, cy, return rx, ry */
- double d, xf, yf, ang, rx, ry;
-
- xf = (double)x;
- yf = (double)y;
-
- // d = distance from the point to the center
- d = Math.sqrt((xf - cx) * (xf - cx) + (yf - cy) * (yf - cy));
-
- if ((xf - cx) != 0.0)
- {
- // Compute the angle between the axis and the point in radians
- // using the inverse tangent function.
- ang = Math.atan((cy-yf)/(xf-cx));
-
- // If the x value falls below the axis the angle is between
- // PI and 2*PI.
- if ((xf - cx) < 0)
- ang += Math.PI;
- }
- else
- {
- // The point is on the positive y-axis so its angle is 3/2*PI
- // I'm guessing this the cooridnate system is flipped in
- // screen graphics.
- if ((yf - cy) > 0.0)
- ang = (Math.PI * 3.0) / 2;
- else
- ang = Math.PI / 2;
- }
-
- rx = cx + (d * Math.cos(ang + rad));
- ry = cy - (d * Math.sin(ang + rad));
-
- return new DoublePoint(rx, ry);
- }
-}
-
-class DoublePoint
-{
- public double x_;
- public double y_;
-
- DoublePoint(double x, double y)
- {
- x_ = x;
- y_ = y;
- }
-}
diff --git a/java/ImageProcessing/filters/SharpenFilter.java b/java/ImageProcessing/filters/SharpenFilter.java
deleted file mode 100644
index fcb6f03c7ac..00000000000
--- a/java/ImageProcessing/filters/SharpenFilter.java
+++ /dev/null
@@ -1,272 +0,0 @@
-package imaging.filters;
-
-import java.awt.Color;
-import java.awt.image.*;
-import java.util.*;
-
-public class SharpenFilter extends SpatialFilter
-{
- float percentage_ = (float)75.0;
-
- public SharpenFilter()
- {
- }
-
- public SharpenFilter(float percentage)
- {
- percentage_ = percentage;
- }
-
- public String info ()
- {
- return "Sharpens an image.";
- }
-
-
- public void imageComplete(int status)
- {
- System.out.println("Image Complete called");
-
- if (status == IMAGEERROR || status == IMAGEABORTED)
- {
- consumer.imageComplete(status);
- System.out.println("Image Error");
- return;
- }
-
- System.gc();
-
- float[] hsv = new float[3];
- int rgb, red, green, blue;
- int pixel, alpha, lcv, lcv2, lcv3;
- int[] pixels = new int[columns_*rows_];
- float fact, ifact, hue, sat, val, vsum;
- float[] line0 = new float[columns_],
- linep1 = new float[columns_],
- linem1 = new float[columns_],
- tmpptr;
-
- profile_timer_.start();
-
- for (int z = 0; z < SpatialFilter.iterations_; z++)
- {
- fact = percentage_/(float)100.0;
- ifact = (float)1.0 - fact;
-
- for (int x = 0; x < columns_; x++)
- {
- pixel = raster_[x];
- hsv = getHSV(((pixel >> 16) & 0xff), ((pixel >> 8) & 0xff), (pixel & 0xff),hsv);
- line0[x] = hsv[2];
- }
-
- lcv = columns_ << 1;
- for (int x = columns_, index = 0; x < lcv; x++, index++)
- {
- pixel = raster_[x];
- hsv = getHSV(((pixel >> 16) & 0xff), ((pixel >> 8) & 0xff), (pixel & 0xff),hsv);
- linep1[index] = hsv[2];
- }
-
- lcv = columns_ - 1;
- lcv2 = rows_ - 1;
- for (int y = 1, i = columns_; y < lcv2; y++)
- {
- tmpptr = linem1;
- linem1 = line0;
- line0 = linep1;
- linep1 = tmpptr;
-
- lcv3 = columns_*(y+2);
- for (int x = columns_*(y+1), index= 0; x < lcv; x++, index++)
- {
- pixel = raster_[x];
- // Note hsv is only instantiated once
- hsv = getHSV(((pixel >> 16) & 0xff), ((pixel >> 8) & 0xff), (pixel & 0xff), hsv);
- linep1[index] = hsv[2];
- }
-
- i++;
- for (int x = 1; x < lcv; x++, i++)
- {
- vsum = (float)0.0;
- vsum = linem1[x-1] + linem1[x] + linem1[x+1] +
- line0[x-1] + line0[x] + line0[x + 1] +
- linep1[x-1] + linep1[x] + linep1[x + 1];
-
- pixel = raster_[i];
- alpha = (pixel >> 24) & 0xff;
- hsv = getHSV(((pixel >> 16) & 0xff), ((pixel >> 8) & 0xff), (pixel & 0xff), hsv);
-
- val = ((hsv[2] - (fact * vsum) / 9) / ifact);
- if (val < 1.0)
- {
- if (val < 0.0)
- val = (float)0.0;
- }
- else
- val = (float)1.0;
-
- hsv[2] = val;
- rgb = getRGB(hsv[0], hsv[1], hsv[2]);
-
- red = (rgb >> 16) & 0xff;
- green = (rgb >> 8) & 0xff;
- blue = rgb & 0xff;
-
- if (red < 0) red = 0;
- if (green < 0) green = 0;
- if (blue < 0) blue = 0 ;
-
- if (red > 255) red = 255;
- if (green > 255) green = 255;
- if (blue > 255) blue = 255;
-
- pixels[i] =
- (alpha << 24) | (red << 16) | (green << 8) | blue;
- }
- i++;
- }
- }
-
- profile_timer_.stop();
-
- consumer.setPixels(0, 0, columns_, rows_, defaultRGB_, pixels, 0, columns_);
-
- System.out.println("Finished altering image");
- consumer.imageComplete(status);
- }
-
-
- static private float[] getHSV(int red, int green, int blue, float[] hsv)
- {
- float rd, gd, bd, max, min, del, rc, gc, bc, hue, sat;
- if (hsv == null)
- hsv = new float[3];
-
- /* convert RGB to HSV */
- rd = red / (float)255.0; /* rd,gd,bd range 0-1 instead of 0-255 */
- gd = green / (float)255.0;
- bd = blue / (float)255.0;
-
- /* compute maximum of rd,gd,bd */
- if (rd >= gd)
- {
- if (rd >= bd)
- max = rd;
- else
- max = bd;
- }
- else
- {
- if (gd >= bd)
- max = gd;
- else
- max = bd;
- }
-
- /* compute minimum of rd,gd,bd */
- if (rd<=gd)
- {
- if (rd<=bd)
- min = rd;
- else
- min = bd;
- }
- else
- {
- if (gd<=bd)
- min = gd;
- else
- min = bd;
- }
-
- del = max - min;
- hsv[2] = max;
-
- if (max != 0.0)
- sat = (del) / max;
- else
- sat = (float)0.0;
-
- hue = -1;
-
- if (sat != 0.0)
- {
- rc = (max - rd) / del;
- gc = (max - gd) / del;
- bc = (max - bd) / del;
-
- if (rd == max)
- hue = bc - gc;
- else
- if (gd == max)
- hue = 2 + rc - bc;
- else
- if (bd == max)
- hue = 4 + gc - rc;
-
- hue *= 60;
- if (hue<0)
- hue += 360;
- }
-
- hsv[0] = hue;
- hsv[1] = sat;
- return hsv;
- }
-
- static private int getRGB(float hue, float sat, float val)
- {
- int j, r, g, b;
- float rd, gd, bd;
- float f, p, q, t;
-
- /* convert HSV back to RGB */
- if (hue == -1 || sat == 0.0)
- {
- rd = val; gd = val; bd = val;
- }
- else
- {
- if (hue==(float)360.0) hue = (float)0.0;
- hue = hue / (float)60.0;
- j = (int) hue;
- if (j<0) j=0; /* either hue or floor seem to go neg on some sys */
- f = hue - j;
- p = val * (1-sat); // val - sat* val
- q = val * (1 - (sat*f)); // val - val*sat*f
- t = val * (1 - (sat*(1 - f)));
-
- switch (j) {
- case 0: rd = val; gd = t; bd = p; break;
- case 1: rd = q; gd = val; bd = p; break;
- case 2: rd = p; gd = val; bd = t; break;
- case 3: rd = p; gd = q; bd = val; break;
- case 4: rd = t; gd = p; bd = val; break;
- case 5: rd = val; gd = p; bd = q; break;
- default: rd = val; gd = t; bd = p; break; /* never happen */
- }
- }
- r = (int)(rd * 255.0 + 0.5);
- g = (int)(gd * 255.0 + 0.5);
- b = (int)(bd * 255.0 + 0.5);
-
- return 0xff000000 | (r << 16) | (g << 8) | b;
- }
-}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/java/ImageProcessing/filters/SpatialFilter.java b/java/ImageProcessing/filters/SpatialFilter.java
deleted file mode 100644
index ad56164819e..00000000000
--- a/java/ImageProcessing/filters/SpatialFilter.java
+++ /dev/null
@@ -1,213 +0,0 @@
-package imaging.filters;
-
-import java.awt.image.*;
-import JACE.Timers.ProfileTimer;
-
-public class SpatialFilter extends ImageFilter implements MedFilter
-{
- public SpatialFilter()
- {
- }
-
- public SpatialFilter(int[][] matrix, int degree)
- {
- this(matrix, degree, 1, 0);
- }
-
- public SpatialFilter(int[][] matrix, int degree, int div_factor, int offset)
- {
- matrix_ = matrix;
- div_factor_ = div_factor;
- offset_ = offset;
- degree_ = degree;
- }
-
- public void setFilter(int[][] matrix, int degree, int div_factor)
- {
- matrix_ = matrix;
- degree_ = degree;
- div_factor_ = div_factor;
- }
-
- public String info ()
- {
- return "Base Filter class. Doesn't do much";
- }
-
- public long filterTime()
- {
- return profile_timer_.elapsedTime();
- }
-
- public static void setTimer(int internal_iterations)
- {
- iterations_ = internal_iterations;
- }
-
- public void setDimensions(int width, int height)
- {
- rows_ = height;
- columns_ = width;
- raster_ = new int[width * height];
- consumer.setDimensions(width, height);
- }
-
- public void setPixels(int x, int y, int w, int h, ColorModel model,
- byte pixels[], int off, int scansize)
- {
- int source_offset = off;
- int dest_offset = y * columns_ + x;
-
- for (int y_ind = 0; y_ind < h; y_ind++)
- {
- for (int x_ind = 0; x_ind < w; x_ind++)
- {
- raster_[dest_offset] = model.getRGB(pixels[source_offset] & 0xff);
- dest_offset++;
- source_offset++;
- }
-
- source_offset += (scansize - w);
- dest_offset += (columns_ - w);
- }
- }
-
- public void setPixels(int x, int y, int w, int h, ColorModel model,
- int pixels[], int off, int scansize)
- {
- int source_offset = off;
- int dest_offset = y * columns_ + x;
-
- if (model == defaultRGB_)
- {
- for (int yc = 0; yc < h; yc++)
- {
- System.arraycopy(pixels, source_offset, raster_, dest_offset, w);
- source_offset += scansize;
- dest_offset += columns_;
- }
- }
- else
- {
-
- for (int yc = 0; yc < h; yc++)
- {
- for (int xc = 0; xc < w; xc++)
- {
- raster_[dest_offset] = model.getRGB(pixels[source_offset]);
- dest_offset++;
- source_offset++;
- }
- source_offset += (scansize - w);
- dest_offset += (columns_ - w);
- }
- }
- }
-
- public void setColorModel(ColorModel model)
- {
- consumer.setColorModel(defaultRGB_);
- }
-
- public void setHints(int hintflags)
- {
- consumer.setHints(TOPDOWNLEFTRIGHT
- | COMPLETESCANLINES
- | SINGLEPASS
- | (hintflags & SINGLEFRAME));
- }
-
-
- public void imageComplete(int status)
- {
- System.out.println("Image Complete called");
-
- if (status == IMAGEERROR || status == IMAGEABORTED)
- {
- consumer.imageComplete(status);
- System.out.println("Image Error");
- return;
- }
-
- int[] pixels = new int[columns_];
- int[][] new_raster= expandRaster();
- int pixel = 0;
- int red, green, blue;
- int new_red = 0, new_green = 0, new_blue = 0;
- int alpha;
-
- for (int x = raster_offset_; x < rows_; x++)
- {
- for (int y = raster_offset_; y < columns_; y++)
- {
- new_red = 0; new_green = 0; new_blue = 0;
- alpha = defaultRGB_.getAlpha(new_raster[x][y]);
- for (int i = 0; i < degree_; i++)
- {
- for (int j = 0; j < degree_; j++)
- {
- pixel = new_raster[x + (i - raster_offset_)][y + (j - raster_offset_)];
-
- red = defaultRGB_.getRed(pixel) * matrix_[i][j];
- blue = defaultRGB_.getBlue(pixel) * matrix_[i][j];
- green = defaultRGB_.getGreen(pixel) * matrix_[i][j];
-
- new_red += red;
- new_green += green;
- new_blue += blue;
- }
- }
-
- new_red /= div_factor_;
- new_green /= div_factor_;
- new_blue /= div_factor_;
-
- new_red = Math.min(Math.abs(new_red), 255);
- new_green = Math.min(Math.abs(new_green), 255);
- new_blue = Math.min(Math.abs(new_blue), 255);
-
- pixels[y - raster_offset_] =
- (alpha << 24) | (new_red << 16) | (new_green << 8) | new_blue;
- }
-
- consumer.setPixels(0, x - raster_offset_, columns_, 1, defaultRGB_, pixels, 0, columns_);
- }
-
- System.out.println("Finished altering image");
- consumer.imageComplete(status);
- }
-
- protected int[][] expandRaster()
- {
- int[][] new_raster;
- int index = 0;
-
- raster_offset_ = degree_ / 2;
- new_raster = new int[rows_ + raster_offset_*2][columns_ + raster_offset_*2];
-
- for (int x = 0; x < rows_; x++)
- {
- for (int y = 0; y < columns_; y++)
- {
- new_raster[x + raster_offset_][y + raster_offset_] = raster_[index];
- index++;
- }
- }
-
- return new_raster;
- }
-
- protected static final int intensity(int rd, int gn, int bl)
- {
- return (((int)(rd)*11 + (int)(gn)*16 + (int)(bl)*5) >> 5);
- }
-
- protected static int iterations_ = 1;
- protected static final ColorModel defaultRGB_ = ColorModel.getRGBdefault();
- protected int[][] matrix_;
- protected int[] raster_;
- protected int rows_ = 0, columns_ = 0;
- protected int div_factor_ = 1, offset_, degree_;
- protected int raster_offset_ = 0;
- protected final ProfileTimer profile_timer_ = new ProfileTimer();
-}
diff --git a/java/ImageProcessing/filters/SpreadFilter.java b/java/ImageProcessing/filters/SpreadFilter.java
deleted file mode 100644
index c78790c9235..00000000000
--- a/java/ImageProcessing/filters/SpreadFilter.java
+++ /dev/null
@@ -1,130 +0,0 @@
-package imaging.filters;
-
-import java.awt.image.*;
-import java.util.Random;
-
-public class SpreadFilter extends SpatialFilter
-{
- private int pwidth_ = 5;
- private int pheight_ = 5;
-
- public SpreadFilter()
- {
- }
-
- public SpreadFilter(int pwidth, int pheight)
- {
- pwidth_ = pwidth;
- pheight_ = pheight;
- }
-
- public String info ()
- {
- return "Spreads an image (an effect of being under water).";
- }
-
- public void imageComplete(int status)
- {
- if (status == IMAGEERROR || status == IMAGEABORTED)
- {
- consumer.imageComplete(status);
- System.out.println("Spread Image Error: " + status);
- return;
- }
-
- System.gc();
-
- Random rand = new Random();
- int[] pixels = new int[columns_*rows_];
- int d, dx, dy, x1, y1, xrng, xoff, yrng, yoff;
- int minx, maxx, miny, maxy, rdist, tmp;
-
- profile_timer_.start();
-
- for (int z = 0; z < SpatialFilter.iterations_; z++)
- {
- for (int y = 0, i=0; y < rows_; y++)
- {
- for (int x = 0; x < columns_; x++, i++)
- {
- if (pwidth_ < 0)
- {
- d = (pwidth_ < 0 ? -pwidth_ : pwidth_);
-
- minx = x - d;
- if (minx < 0)
- minx = 0;
-
- maxx = x + d;
- if (maxx >= columns_)
- maxx = columns_ - 1;
-
- tmp = rand.nextInt();
- tmp = (tmp < 0 ? -tmp : tmp);
- x1 = minx + tmp % ((maxx - minx) + 1);
-
- miny = y - d;
- if (miny < 0)
- miny = 0;
-
- maxy = y + d;
- if (maxy >= rows_)
- maxy = rows_ - 1;
-
- rdist = d - (x1 < x ? -(x1 - x) : x1 - x);
- if (y - miny > rdist)
- miny = (y - rdist);
- if (maxy - y > rdist)
- maxy = (y + rdist);
-
- tmp = rand.nextInt();
- tmp = (tmp < 0 ? -tmp : tmp);
- y1 = miny + tmp % ((maxy - miny) + 1);
- }
- else
- {
- minx = x - pwidth_;
- if (minx < 0)
- minx = 0;
-
- maxx = x + pwidth_;
- if (maxx >= columns_)
- maxx = columns_ - 1;
-
- tmp = rand.nextInt();
- tmp = (tmp < 0 ? -tmp : tmp);
- x1 = minx + tmp % ((maxx - minx) + 1);
-
- miny = y - pheight_;
- if (miny < 0)
- miny = 0;
-
- maxy = y + pheight_;
- if (maxx >= columns_)
- maxx = columns_ - 1;
-
- tmp = rand.nextInt();
- tmp = (tmp < 0 ? -tmp : tmp);
- y1 = miny + tmp % ((maxy - miny) + 1);
- }
-
- if (x1 >= 0 && y1 >= 0 && x1 < columns_ && y1 < rows_)
- {
- int pixel = raster_[i];
- int alpha = (pixel >> 24) & 0xff;
- int red = (pixel >> 16) & 0xff;
- int green = (pixel >> 8) & 0xff;
- int blue = pixel & 0xff;
-
- pixels[i] = (alpha << 24) | (red << 16) | (green << 8) | blue;
- }
- }
- }
- }
-
- profile_timer_.stop();
-
- consumer.setPixels(0, 0, columns_, rows_, defaultRGB_, pixels, 0, columns_);
- consumer.imageComplete(status);
- }
-}
diff --git a/java/ImageProcessing/filters/Timer.java b/java/ImageProcessing/filters/Timer.java
deleted file mode 100644
index 609ec8aa366..00000000000
--- a/java/ImageProcessing/filters/Timer.java
+++ /dev/null
@@ -1,23 +0,0 @@
-package imaging.filters;
-
-public class Timer
-{
- long start_time_;
- long stop_time_;
-
- public void start()
- {
- start_time_ = System.currentTimeMillis();
- }
-
- public void stop()
- {
- stop_time_ = System.currentTimeMillis();
- }
-
- public String toString()
- {
- long total = stop_time_ - start_time_;
- return "Total Time:" + total + " ms";
- }
-}
diff --git a/java/ImageProcessing/framework/BaseButton.java b/java/ImageProcessing/framework/BaseButton.java
deleted file mode 100644
index 794670b2f3f..00000000000
--- a/java/ImageProcessing/framework/BaseButton.java
+++ /dev/null
@@ -1,234 +0,0 @@
-package imaging.framework;
-
-import java.awt.*;
-import imaging.filters.*;
-
-public class BaseButton extends Panel
-{
- public BaseButton (String title, String description, ImageApp parent)
- {
- this.setLayout (new BorderLayout ());
- this.button_ = new Button (title);
- this.add ("Center", this.button_);
- this.resize (100, 100);
- this.description_ = description;
- this.parent_ = parent;
- }
-
- public boolean mouseEnter(Event evt, int x, int y)
- {
- this.parent_.displayStatus (this.description_);
- return true;
- }
-
- public boolean mouseExit(Event evt, int x, int y)
- {
- this.parent_.displayStatus ("");
- return true;
- }
-
- protected ImageApp parent_;
- private String description_;
- private Button button_;
-}
-
-class URLDialogButton extends BaseButton
-{
- public URLDialogButton (String title, String desc, ImageApp parent)
- {
- super (title, desc, parent);
- this.openURLFrame_ = new LoadURLFrame ("Open URL <2>", this.parent_);
- }
-
- public boolean action (Event e, Object arg)
- {
- this.openURLFrame_.show ();
- return true;
- }
- private LoadURLFrame openURLFrame_;
-}
-
-// ******************
-// Should continue to remember the password
-// ******************
-class SaveButton extends BaseButton
-{
- public SaveButton (String title, String desc, ImageApp parent)
- {
- super (title, desc, parent);
- this.openURLFrame_ = new SaveURLFrame ("Save Image <2>", this.parent_);
- }
-
- public boolean action (Event e, Object arg)
- {
- this.openURLFrame_.show ();
- return true;
- }
- private SaveURLFrame openURLFrame_;
-}
-
-class ReloadButton extends BaseButton
-{
- public ReloadButton (String title, String desc, ImageApp parent)
- {
- super (title, desc, parent);
- }
-
- public boolean action (Event e, Object arg)
- {
- this.parent_.reloadFilters ();
- return true;
- }
-}
-
-class ApplyButton extends BaseButton
-{
- public ApplyButton (String title, String desc, ImageApp parent)
- {
- super (title, desc, parent);
- }
-
- public boolean action (Event e, Object arg)
- {
- this.parent_.apply ();
- return true;
- }
-}
-
-class ResetButton extends BaseButton
-{
- public ResetButton (String title, String desc, ImageApp parent)
- {
- super (title, desc, parent);
- }
-
- public boolean action (Event e, Object arg)
- {
- this.parent_.resetImage ();
- return true;
- }
-}
-
-class ZoomInButton extends BaseButton
-{
- public ZoomInButton (String title, String desc, ImageApp parent)
- {
- super (title, desc, parent);
- }
-
- public boolean action (Event e, Object arg)
- {
- this.parent_.zoomFactor (1.6);
- return true;
- }
-}
-
-class ZoomOutButton extends BaseButton
-{
- public ZoomOutButton (String title, String desc, ImageApp parent)
- {
- super (title, desc, parent);
- }
-
- public boolean action (Event e, Object arg)
- {
- this.parent_.zoomFactor (0.625);
- return true;
- }
-}
-
-
-class AboutButton extends BaseButton
-{
- public AboutButton (String title, String desc, ImageApp parent)
- {
- super (title, desc, parent);
- }
-
- public boolean action (Event e, Object arg)
- {
- DialogManager.popDialog (DialogType.ABOUT, null);
- return true;
- }
-}
-
-class HelpButton extends BaseButton
-{
- public HelpButton (String title, String desc, ImageApp parent)
- {
- super (title, desc, parent);
- }
-
- public boolean action (Event e, Object arg)
- {
- DialogManager.popDialog (DialogType.HELP, null);
- return true;
- }
-}
-
-class ChoicePanel extends Panel
-{
- public ChoicePanel (String desc, ImageApp parent)
- {
- this.description_ = desc;
- this.parent_ = parent;
-
- this.loadFilters ();
- // Set the layout of the Choice Panel. Note that the Choice Panel
- // holds the choice button of filters.
- this.setLayout (new FlowLayout ());
- this.resize (150, 100);
- }
-
- public void choice (Choice choice)
- {
- this.choice_ = choice;
- }
-
- public Choice choice ()
- {
- return this.choice_;
- }
-
- public void loadFilters ()
- {
- // First remove all components of the panel including the
- // choices of filters
- this.removeAll ();
-
- // Now create new choices
- this.choice_ = this.parent_.getFilters ();
-
- // Add the choices to our choice panel
- this.add (this.choice_);
- }
-
- public boolean mouseEnter(Event evt, int x, int y)
- {
- MedFilter filter = null;
- String displayString = null;
- String filterName = this.choice_.getSelectedItem ();
-
- if (filterName.compareTo ("Filters:") == 0)
- displayString = "No filter selected";
- else
- {
- filter = (MedFilter) this.parent_.getFilter (filterName);
- displayString = filter.info ();
- }
- this.parent_.displayStatus (displayString);
- // this.parent_.displayStatus (this.description_);
- return true;
- }
-
- public boolean mouseExit(Event evt, int x, int y)
- {
- this.parent_.displayStatus ("");
- return true;
- }
-
- private Choice choice_;
- private ImageApp parent_;
- String description_;
-}
-
diff --git a/java/ImageProcessing/framework/BenchmarkApplet.java b/java/ImageProcessing/framework/BenchmarkApplet.java
deleted file mode 100644
index ac125a1d9de..00000000000
--- a/java/ImageProcessing/framework/BenchmarkApplet.java
+++ /dev/null
@@ -1,622 +0,0 @@
-package imaging.framework;
-
-import JACE.Timers.ProfileTimer;
-import imaging.filters.*;
-import java.awt.*;
-import java.awt.image.*;
-import java.applet.*;
-import java.net.*;
-import java.util.*;
-import java.io.*;
-import gjt.*;
-
-public class BenchmarkApplet extends Applet implements Runnable
-{
- public static final Font GLOBAL_FONT = new Font("Dialog", Font.BOLD, 10);
- private static final String NEW_LINE = System.getProperty("line.separator");
- private static final String WELCOME = "Welcome to MedJava Image Processing Benchmarking Tool";
- private static final String COPYRIGHT = "(c) 1997 Distributed Object Computing Group, Washington Univesity";
- private static final String ABORT = "Image Processing Tests Aborted";
- private static final String STOP = "Stop";
- private static final String START= "Start";
- private static final String CLEAR= "Clear";
- private static final String RANDOM= "Create Random Image";
- private static final int INTERNAL_ITERATIONS = 10;
- private static final int TRIALS = 1;
-
- private List images_, filters_;
- private TextArea console_;
- private TextField new_image_;
- private Button start_button_;
- private Button stop_button_;
- private Button clear_button_;
- private Button random_button_;
- private ButtonPanel button_panel_ = new ButtonPanel();
- private Hashtable filter_table_ = new Hashtable();
- private Hashtable image_table_ = new Hashtable();
- private Thread benchmarker_;
- private long elapsed_time_;
- private SpatialFilter filter_;
- private Object monitor_ = new Object();
-
- public void init()
- {
- Panel control_panel = new Panel();
- Panel sub_panel1 = new Panel();
- Panel filter_panel = new Panel();
- Panel image_panel = new Panel();
- Label image_panel_label = new Label("Images");
- Label filter_panel_label = new Label("Filters");
-
- new_image_ = new TextField();
- console_ = new TextArea();
- images_ = new List();
- filters_ = new List();
-
- console_.setEditable(false);
- images_.setMultipleSelections(true);
- filters_.setMultipleSelections(true);
- console_.setFont(GLOBAL_FONT);
- images_.setFont(GLOBAL_FONT);
- filters_.setFont(GLOBAL_FONT);
- image_panel_label.setFont(GLOBAL_FONT);
- filter_panel_label.setFont(GLOBAL_FONT);
-
- console_.appendText(WELCOME + NEW_LINE);
- console_.appendText(COPYRIGHT + NEW_LINE);
-
- image_panel.setLayout(new BorderLayout());
- image_panel.add("North", image_panel_label);
- image_panel.add("Center", images_);
- image_panel.add("South", new_image_);
-
- filter_panel.setLayout(new BorderLayout());
- filter_panel.add("North", filter_panel_label);
- filter_panel.add("Center", filters_);
-
- sub_panel1.setLayout(new GridLayout(1, 2, 5, 5));
- sub_panel1.add(filter_panel);
- sub_panel1.add(image_panel);
-
- control_panel.setLayout(new GridLayout(2, 1, 5, 5));
- control_panel.add(sub_panel1);
- control_panel.add(console_);
-
- setLayout(new BorderLayout());
-
- stop_button_ = button_panel_.add(STOP);
- start_button_ = button_panel_.add(START);
- clear_button_ = button_panel_.add(CLEAR);
- random_button_ = button_panel_.add(RANDOM);
-
- stop_button_.disable();
- add("Center", control_panel);
- add("South", button_panel_);
-
- getFilters();
- getImages();
- }
-
- synchronized public void run()
- {
- Image image;
- String image_name, filter_name;
- int image_height, image_width;
- String[] image_list = images_.getSelectedItems();
- String[] filter_list = filters_.getSelectedItems();
- ImageProducer image_source;
- FilteredImageSource filtered_image;
- // BenchmarkFrame bframe = BenchmarkFrame.instance();
-
- double cumulative_time;
- double best_time;
-
- SpatialFilter.setTimer(INTERNAL_ITERATIONS);
- console_.appendText(NEW_LINE);
- console_.appendText("Benchmark tests: [mem=" +
- Runtime.getRuntime().freeMemory() +"/" +
- Runtime.getRuntime().totalMemory() +"]"
- + NEW_LINE);
-
- for (int i = 0; i < image_list.length; i++)
- {
-
- image_name = image_list[i];
- image = (Image)image_table_.get(image_name);
-
- image_width = image.getWidth(this);
- image_height = image.getHeight(this);
-
- console_.appendText("Begining tests for image " + image_name);
- console_.appendText(" (size " + image_width + "x" + image_height +
- " = " + image_height*image_width*4 + " bytes )");
- console_.appendText(NEW_LINE);
-
- console_.appendText(NEW_LINE + " ********** " + NEW_LINE);
- // bframe.init("Begining tests for image " + image_name, image, image_width, image_height);
-
- // if (! bframe.isShowing())
- // bframe.show();
-
- for (int j = 0; j < filter_list.length; j++)
- {
- filter_name = filter_list[j];
- filter_ = (SpatialFilter)filter_table_.get(filter_name);
-
- if (filter_ == null)
- System.err.println(filter_name + " is null");
-
- best_time = Double.MAX_VALUE;
- cumulative_time = 0;
- image_source = image.getSource();
- filtered_image = new FilteredImageSource(image.getSource(), filter_);
-
- for (int l = 0; l < TRIALS; l++)
- {
- elapsed_time_ = 0;
- prepareImage(createImage(filtered_image), this);
-
- try
- {
- // synchronized(monitor_)
- // {
- while (elapsed_time_ == 0)
- {
- System.out.println("Waiting for image loading to complete.");
- // monitor_.wait();
- wait();
- }
-
- System.out.println("Image loading has completed.");
- // }
- }
- catch(Exception excp)
- {
- System.out.println(excp);
- stop();
- }
-
- cumulative_time = (double)elapsed_time_ / (double)INTERNAL_ITERATIONS;
- System.out.println(image_name + " " + filter_name + " " + elapsed_time_);
-
- if (best_time > cumulative_time)
- best_time = cumulative_time;
- }
-
- console_.appendText(filter_name + ": best time from " +
- TRIALS + " trials of " + INTERNAL_ITERATIONS +
- " iterations equals: " + best_time + " ms");
- console_.appendText(NEW_LINE);
- Thread.yield();
- }
-
- console_.appendText(NEW_LINE);
- }
-
- console_.appendText("Tests concluded." + NEW_LINE);
-
- // if (bframe.isShowing())
- // bframe.hide();
-
- stop_button_.disable();
- start_button_.enable();
- }
-
- synchronized public boolean imageUpdate(Image img, int infoflags, int x, int y,
- int width, int height)
- {
- System.out.println("Image Update called");
-
- boolean return_value = false;
- try
- {
- if ((infoflags & ALLBITS) != 0 ||
- (infoflags & SOMEBITS) != 0)
- {
- System.out.println("notify called" + width + " " + height);
- elapsed_time_ = filter_.filterTime();
- return_value = true;
- // monitor_.notify();
- notifyAll();
- }
- else if ((infoflags & ImageObserver.ABORT) != 0 ||
- (infoflags & ERROR) != 0)
- {
- System.out.println("image error!");
- // stop();
- return_value = true;
- }
- }
- catch(SecurityException excp)
- {
- System.err.println(excp);
- }
-
- return return_value;
- }
-
- public void stop()
- {
- try
- {
- if (benchmarker_.isAlive())
- {
- BenchmarkFrame bframe = BenchmarkFrame.instance();
-
- if (bframe.isShowing())
- bframe.hide();
-
- System.out.println("Stopping tests...");
- benchmarker_.stop();
- console_.appendText(NEW_LINE + ABORT + NEW_LINE);
- }
-
- start_button_.enable();
- stop_button_.disable();
- }
- catch(SecurityException exception)
- {
- console_.appendText(NEW_LINE + "Stop Failed." + NEW_LINE);
- }
- }
-
- public boolean action(Event evt, Object what)
- {
- if (what.equals(START))
- {
- boolean proceed = ! (benchmarker_ != null && benchmarker_.isAlive());
-
- stop_button_.enable();
-
- if (proceed &&
- images_.getSelectedIndexes() != null &&
- filters_.getSelectedIndexes() != null)
- {
- System.out.println("Starting tests...");
- start_button_.disable();
- benchmarker_ = new Thread(this);
- benchmarker_.setPriority(Math.min(Thread.currentThread().getPriority() + 2,
- Thread.MAX_PRIORITY - 1));
- benchmarker_.start();
- }
- }
- else if (what.equals(STOP))
- {
- stop();
- }
- else if (what.equals(CLEAR))
- {
- console_.setText("");
- console_.appendText(WELCOME + NEW_LINE);
- console_.appendText(COPYRIGHT + NEW_LINE);
- }
- else if (what.equals(RANDOM))
- {
- RandomImageDialog.instance(this).show();
- }
- else if (evt.target == new_image_)
- {
- getSingleImage(new_image_.getText());
- }
-
-
- return true;
- }
-
- private void getSingleImage(String image_url)
- {
- Image image;
- MediaTracker tracker = new MediaTracker(this);
-
- try
- {
- image = getImage(new URL(image_url));
- tracker.addImage(image, 0);
- tracker.waitForID(0);
-
- if (image != null)
- {
- int index = image_url.lastIndexOf('/');
-
- if (index != -1)
- image_url = image_url.substring(index + 1);
-
- image_table_.put(image_url, image);
- images_.addItem(image_url);
- }
- }
- catch(MalformedURLException e)
- {
- System.err.println(e);
- }
- catch(InterruptedException excp)
- {
- System.err.println(excp);
- }
-
- }
-
- private void getImages()
- {
- Image image;
- String image_list = getParameter("images"), image_url;
- StringTokenizer str_tok = new StringTokenizer(image_list, ",");
-
- while (str_tok.hasMoreTokens())
- {
- image_url = str_tok.nextToken();
- getSingleImage(image_url);
- }
- }
-
- private void getFilters()
- {
- URL url;
- Object download;
- String config_file;
- String configInfo= null;
- Choice choice = new Choice ();
- ImageFilter filter;
-
- config_file = getParameter ("configFile");
-
- if (config_file == null)
- config_file = "http://www.cs.wustl.edu/~pjain/java/ACE_wrappers/java/ImageProcessing/framework/filter.conf";
-
- try
- {
- System.out.println ("Configuration File: " + config_file);
- // Create a new URL
- url = new URL (config_file);
-
- // Get the input stream and pipe it to a DataInputStream
- DataInputStream iStream = new DataInputStream (url.openStream ());
-
- // Create a buffer to hold all the data we get
- StringBuffer tempBuf = new StringBuffer ();
- // Keep reading the data until we are done
- String tempString = iStream.readLine ();
- while (tempString != null)
- {
- tempBuf.append (tempString);
- tempBuf.append (" ");
- tempString = iStream.readLine ();
- }
-
- configInfo = tempBuf.toString ();
- System.out.println(configInfo);
-
- if (configInfo != null)
- {
- StringTokenizer tokens = new StringTokenizer (configInfo);
- String fullFilterName = null;
- String filterName = null;
- // Now parse the string, picking up filter names. Use these
- // names to load the actual filters as well add new choices to
- // the filter choices.
- while (tokens.hasMoreTokens ())
- {
- // Get the next token
- fullFilterName = tokens.nextToken ();
- filterName = this.extractFilterName (fullFilterName);
-
- System.out.println ("Loading: " + fullFilterName);
- // Load the filter class
- Class c = Class.forName (fullFilterName);
- // Class c = this.filterRepository_.load (filter);
-
- filter = (ImageFilter)c.newInstance();
-
- if (filter instanceof SpatialFilter)
- {
- // Add the filter to the Filter Repository
- filter_table_.put(filterName, filter);
-
- // Add filter name to the list of filter choices
- filters_.addItem (filterName);
- }
- }
- }
- }
- catch (Exception e)
- {
- System.err.println ("Filter not found: " + e);
- }
- }
-
- private String extractFilterName (String s)
- {
- String filterName = null;
- StringTokenizer tokens = new StringTokenizer (s, ".");
- while (tokens.hasMoreTokens ())
- filterName = tokens.nextToken ();
- return filterName;
- }
-
- public void generateRandomImage(String name, int width, int height)
- {
- Image image = createImage(width, height);
- Graphics g = image.getGraphics();
- FilteredImageSource filtered_image;
-
- if (g != null)
- {
- ImageFilter filter = new RandomizeFilter();
- g.fillRect(0, 0, width, height);
- filtered_image = new FilteredImageSource(image.getSource(), filter);
- image_table_.put(name, createImage(filtered_image));
- images_.addItem(name);
- }
- }
-}
-
-class RandomImageDialog extends Frame
-{
- private static String GENERATE = "Generate";
- private static String CANCEL = "Cancel";
-
- private TextField name_ = new TextField(30),
- width_ = new TextField(5),
- height_= new TextField(5);
- private BenchmarkApplet applet_;
- private Button generate_button_;
- private Button cancel_button_;
- private ButtonPanel button_panel_ = new ButtonPanel();
-
- private static RandomImageDialog instance_;
-
- public static RandomImageDialog instance(BenchmarkApplet applet)
- {
- if (instance_ == null)
- instance_ = new RandomImageDialog(applet);
-
- return instance_;
- }
-
- protected RandomImageDialog(BenchmarkApplet applet)
- {
- super("Generate Random Image");
- applet_ = applet;
-
- Panel controls = new Panel();
- GridBagLayout gb = new GridBagLayout();
- GridBagConstraints gc = new GridBagConstraints();
- Label width = new Label("Width: "),
- height = new Label("Height: "),
- name = new Label("Name: ");
-
- reshape (0, 0, 300, 200);
-
- controls.setLayout(gb);
- gc.gridx = 0;
- gc.gridy = 0;
- gc.gridwidth = 1;
- gc.insets = new Insets(5,5,5,5);
- gc.anchor = GridBagConstraints.WEST;
- width.setFont(BenchmarkApplet.GLOBAL_FONT);
- gb.setConstraints(width, gc);
- controls.add(width);
-
- gc.gridx = 1;
- gc.anchor = GridBagConstraints.CENTER;
- gc.fill = GridBagConstraints.HORIZONTAL;
- gb.setConstraints(width_, gc);
- controls.add(width_);
-
- gc.gridx = 2;
- gc.anchor = GridBagConstraints.WEST;
- gc.fill = GridBagConstraints.NONE;
- height.setFont(BenchmarkApplet.GLOBAL_FONT);
- gb.setConstraints(height, gc);
- controls.add(height);
-
- gc.gridx = 3;
- gc.anchor = GridBagConstraints.CENTER;
- gc.fill = GridBagConstraints.HORIZONTAL;
- gb.setConstraints(height_, gc);
- controls.add(height_);
-
- gc.gridx = 0;
- gc.gridy = 1;
- gc.gridwidth = 1;
- gc.fill = GridBagConstraints.NONE;
- gc.anchor = GridBagConstraints.WEST;
- name.setFont(BenchmarkApplet.GLOBAL_FONT);
- gb.setConstraints(name, gc);
- controls.add(name);
-
- gc.gridx = 1;
- gc.gridwidth = GridBagConstraints.REMAINDER;
- gc.anchor = GridBagConstraints.CENTER;
- gc.fill = GridBagConstraints.HORIZONTAL;
- gb.setConstraints(name_, gc);
- controls.add(name_);
-
- setLayout(new BorderLayout());
- generate_button_ = button_panel_.add(GENERATE);
- cancel_button_ = button_panel_.add(CANCEL);
- add("Center", controls);
- add("South", button_panel_);
-
- }
-
- public boolean action(Event evt, Object what)
- {
- if (what.equals(GENERATE))
- {
- String width = width_.getText(),
- height = height_.getText(),
- name = name_.getText();
-
- try
- {
- int width_num = Integer.parseInt(width),
- height_num = Integer.parseInt(height);
-
- applet_.generateRandomImage(name, width_num, height_num);
- dispose();
- }
- catch(NumberFormatException nfe)
- {
- width_.setText("");
- height_.setText("");
- }
- }
- else if (what.equals(CANCEL))
- dispose();
-
- return true;
- }
-}
-
-class BenchmarkFrame extends Frame
-{
- private String desc_;
- private Image image_;
- private int height_, width_;
- private static BenchmarkFrame instance_;
- private static final Font FONT = new Font("Dialog", Font.BOLD, 12);
-
- public static BenchmarkFrame instance()
- {
- if (instance_ == null)
- instance_ = new BenchmarkFrame();
-
- return instance_;
- }
-
- public void init(String desc, Image image, int width, int height)
- {
- reshape(0, 0, width, height + 50);
- setImage(desc, image);
- }
-
- public void setImage(String desc, Image image)
- {/*
- try
- {
- MediaTracker tracker = new MediaTracker(this);
- tracker.addImage(image, 0);
- tracker.waitForID(0);
- }
- catch(InterruptedException excp)
- {
- }
- */
- desc_ = desc;
- image_ = image;
- }
-
- public void paint(Graphics g)
- {
- g.setColor(Color.black);
- g.setFont(FONT);
- g.drawImage(image_, 0, 50, this);
- g.drawString(desc_, 5, 40);
- }
-
- protected BenchmarkFrame()
- {
- super("Benchmark Frame");
- }
-}
diff --git a/java/ImageProcessing/framework/DialogManager.java b/java/ImageProcessing/framework/DialogManager.java
deleted file mode 100644
index cca0c037af1..00000000000
--- a/java/ImageProcessing/framework/DialogManager.java
+++ /dev/null
@@ -1,277 +0,0 @@
-package imaging.framework;
-
-import java.awt.*;
-import java.awt.image.*;
-import java.applet.*;
-import java.util.*;
-import java.io.*;
-import java.net.*;
-
-class DialogManager
-{
- public static void initialize (Applet parent)
- {
- codeBase_ = parent.getCodeBase ().toString ();
- aboutFrame_ = new AboutFrame ();
- helpFrame_ = new HelpFrame (codeBase_);
- }
-
- public static void popDialog (int type, String message)
- {
- Frame frame = null;
-
- switch (type)
- {
- case DialogType.ABOUT:
- aboutFrame_.show ();
- break;
- case DialogType.HELP:
- helpFrame_.show ();
- break;
- case DialogType.MALFORMED_URL:
- case DialogType.NOT_SUPPORTED:
- case DialogType.URL_NOT_FOUND:
- frame = new MessageFrame ("Error", message);
- break;
- case DialogType.NOT_YET_IMPLEMENTED:
- frame = new MessageFrame ("", message);
- break;
- }
- Dimension d = Toolkit.getDefaultToolkit ().getScreenSize ();
- frame.move ((d.width - frame.size ().width)/2,
- (d.height - frame.size ().height)/2);
- frame.show ();
- }
-
- private static String codeBase_ = "";
- private static AboutFrame aboutFrame_;
- private static HelpFrame helpFrame_;
-}
-
-class MessageFrame extends Frame
-{
- public MessageFrame (String title, String message)
- {
- super (title);
-
- this.resize (message.length () * 8, 100);
- this.setLayout (new BorderLayout ());
-
- this.text_ = new TextField (message);
- this.text_.setEditable (false);
-
- Panel okButtonPanel = new Panel ();
- okButtonPanel.add (this.okButton_);
- okButtonPanel.resize (100, 100);
-
- this.add ("Center", this.text_);
- this.add ("South", okButtonPanel);
- }
-
- public boolean handleEvent (Event evt)
- {
- if (evt.id == Event.WINDOW_DESTROY)
- {
- this.dispose ();
- return true;
- }
- return super.handleEvent (evt);
- }
-
- // Handle all action events
- public boolean action (Event e, Object arg)
- {
- if (e.target instanceof Button)
- {
- if (e.target == this.okButton_)
- {
- this.dispose ();
- }
- return true;
- }
- else
- return false;
- }
-
- private Button okButton_ = new Button (" ok ");
- private TextField text_ = null;
-}
-
-class AboutFrame extends Frame
-{
- public AboutFrame ()
- {
- super ("About");
- this.resize (300,300);
- this.setLayout (new BorderLayout ());
-
- Panel okButtonPanel = new Panel ();
- okButtonPanel.add (this.okButton_);
- AboutFrameTextPanel textPanel = new AboutFrameTextPanel ();
-
- this.add ("Center", textPanel);
- this.add ("South", okButtonPanel);
- }
-
- // Handle window destroy events
- public boolean handleEvent (Event evt)
- {
- if (evt.id == Event.WINDOW_DESTROY)
- {
- this.hide ();
- return true;
- }
- return super.handleEvent (evt);
- }
-
- // Handle all action events
- public boolean action (Event e, Object arg)
- {
- if (e.target instanceof Button)
- {
- if (e.target == this.okButton_)
- {
- this.hide ();
- }
- return true;
- }
- else
- return false;
- }
- private Button okButton_ = new Button (" ok ");
-}
-
-class AboutFrameTextPanel extends Panel
-{
- public void paint (Graphics g)
- {
- int width = this.size ().width;
- int height = this.size ().height;
-
- g.clearRect (0, 0, width, height);
- this.setBackground (Color.cyan);
-
- // First draw the title
- g.setFont (new Font ("TimesRoman", Font.BOLD | Font.ITALIC, 48));
- FontMetrics fontMetrics = g.getFontMetrics ();
- int x = (width - fontMetrics.stringWidth (title_))/2;
- int y = 100;
-
- Color color = g.getColor ();
- g.setColor (Color.orange);
- g.drawString(title_, x+2, y+2);
- g.setColor (color);
- g.drawString(title_, x, y);
-
- // Then draw author's name
- g.setFont (new Font ("TimesRoman", Font.ITALIC, 24));
- fontMetrics = g.getFontMetrics ();
- x = (width - fontMetrics.stringWidth (by_))/2;
- y += 50;
- g.drawString(by_, x, y);
-
- x = (width - fontMetrics.stringWidth (author_))/2;
- y += 50;
- g.drawString(author_, x, y);
-
- // Finally draw other information -- version number etc.
- g.setFont (new Font ("TimesRoman", Font.ITALIC, 18));
- fontMetrics = g.getFontMetrics ();
- x = (width - fontMetrics.stringWidth (info_))/2;
- y += 50;
- g.drawString(info_, x, y);
- }
-
- private String title_ = "MedJava";
- private String by_ = "by";
- private String author_ = "Prashant Jain";
- private String info_ = "Version 1.0";
-}
-
-class HelpFrame extends Frame
-{
- public HelpFrame (String codeBase)
- {
- super ("Help");
- this.setBackground (Color.white);
- this.text_.setEditable (false);
- Font defaultFont = new Font ("TimesRoman", Font.PLAIN, 14);
- this.text_.setFont (defaultFont);
-
- try
- {
- URL url = new URL (codeBase + "../ImageProcessing/framework/help.conf");
- String delim = "\n";
-
- // Get the input stream and pipe it to a DataInputStream
- DataInputStream iStream = new DataInputStream (url.openStream ());
-
- // Keep reading the data until we are done
- String tempString = iStream.readLine ();
- while (tempString != null)
- {
- if (tempString.startsWith ("<START>"))
- delim = "";
- else if (tempString.startsWith ("<END>"))
- delim = "\n";
- else if (tempString.startsWith ("<TAB>"))
- this.text_.appendText ("\t");
- else if (tempString.startsWith ("<P>"))
- this.text_.appendText ("\n");
- else
- {
- this.text_.appendText (tempString);
- this.text_.appendText (delim);
- }
- tempString = iStream.readLine ();
- }
- }
- catch (MalformedURLException e)
- {
- System.err.println (e);
- }
- catch (IOException e)
- {
- System.err.println (e);
- }
-
- this.resize (600,700);
- this.setLayout (new BorderLayout ());
-
- Panel okButtonPanel = new Panel ();
- okButtonPanel.add (this.okButton_);
- this.add ("South", okButtonPanel);
- this.add ("Center", this.text_);
- }
-
- // Handle window destroy events
- public boolean handleEvent (Event evt)
- {
- if (evt.id == Event.WINDOW_DESTROY)
- {
- this.hide ();
- return true;
- }
- return super.handleEvent (evt);
- }
-
- // Handle all action events
- public boolean action (Event e, Object arg)
- {
- if (e.target instanceof Button)
- {
- if (e.target == this.okButton_)
- {
- this.hide ();
- }
- return true;
- }
- else
- return false;
- }
-
- private Vector helpInfo_ = new Vector ();
- private Button okButton_ = new Button (" ok ");
- private TextArea text_ = new TextArea ();
-}
-
diff --git a/java/ImageProcessing/framework/DialogType.java b/java/ImageProcessing/framework/DialogType.java
deleted file mode 100644
index c95372c08e1..00000000000
--- a/java/ImageProcessing/framework/DialogType.java
+++ /dev/null
@@ -1,11 +0,0 @@
-package imaging.framework;
-
-public class DialogType
-{
- public static final int ABOUT = 0;
- public static final int MALFORMED_URL = 1;
- public static final int URL_NOT_FOUND = 2;
- public static final int NOT_SUPPORTED = 3;
- public static final int HELP = 4;
- public static final int NOT_YET_IMPLEMENTED = 10;
-}
diff --git a/java/ImageProcessing/framework/FileBrowser.java b/java/ImageProcessing/framework/FileBrowser.java
deleted file mode 100644
index 27245b1f2f4..00000000000
--- a/java/ImageProcessing/framework/FileBrowser.java
+++ /dev/null
@@ -1,173 +0,0 @@
-package imaging.framework;
-
-import java.awt.*;
-import java.awt.image.*;
-import java.net.*;
-import java.applet.*;
-import gjt.Separator;
-import gjt.ComponentScroller;
-
-class FileNode extends HierarchyAdapter
-{
- public FileNode (String name,
- Icon icon,
- boolean root,
- ImageApp app)
- {
- super (name, icon, root);
- this.app_ = app;
- }
-
- public FileNode (String name,
- Icon icon,
- ListFiles list,
- ImageApp app)
- {
- super (name, icon);
- this.list_ = list;
- this.app_ = app;
- }
-
- public ImageApp app ()
- {
- return this.app_;
- }
-
- public void handleEvent ()
- {
- String s = null;
- String pString = "";
- Hierarchy p = this.getHierarchyParent ();
-
- while (p != null)
- {
- pString = p.getName () + pString;
- p = p.getHierarchyParent ();
- }
-
- if (pString.endsWith ("/"))
- s = "http://" + pString + this.getName ();
- else
- s = "http://" + pString + "/" + this.getName ();
-
- System.out.println ("Opening: " + s);
-
- // If list is null, then it is a file, else it is a directory and
- // use list to get the rest of the directory.
- if (this.list_ == null)
- this.app_.openURL (s); // It is a file
- else
- this.list_.listFiles (s, this); // It is a directory.
- }
-
- private ListFiles list_ = null;
- private ImageApp app_ = null;
-}
-
-class BrowserPanel extends Panel
-{
- public BrowserPanel (ImageApp parent)
- {
- this.resize (300, 300);
- this.parent_ = parent;
- this.setLayout (new BorderLayout ());
- }
-
- public int initialize (String url, ListFiles list)
- {
- String directory = null;
- int index = -1;
-
- String pString = list.stripProtocolHeader (url);
- if (!pString.endsWith ("/"))
- pString = pString + "/";
-
- try
- {
- Icon dirIcon = new Icon (this.parent_.getCodeBase () +
- "../ImageProcessing/framework/" +
- "file03.gif", (Applet) this.parent_);
- System.out.println (this.parent_.getCodeBase () +
- "../ImageProcessing/framework/" +
- "file03.gif");
- this.root_ = new FileNode (pString,
- dirIcon, true, this.parent_);
- }
- catch (MalformedURLException e)
- {
- }
-
- int count = list.listFiles (url, this.root_);
- // System.out.println ("Count: " + count);
- if (count > 0)
- {
- // Add the root to the component scroller and then add the
- // component scroller to the panel.
- this.scroller_ = new ComponentScroller (this.root_);
- this.add ("Center", this.scroller_);
- }
- return count;
- }
-
- private FileNode root_ = null;
- private ImageApp parent_;
- private ComponentScroller scroller_;
-}
-
-class FileBrowser extends Frame
-{
- public FileBrowser (String title, ImageApp parent)
- {
- super (title);
- this.resize (300, 300);
- this.browser_ = new BrowserPanel (parent);
- this.setLayout (new BorderLayout ());
-
- this.cancelButton_ = new Button (" cancel ");
- Panel buttonPanel = new Panel ();
- buttonPanel.add (this.cancelButton_);
- buttonPanel.resize (100, 100);
-
- Panel southPanel = new Panel ();
- southPanel.setLayout (new BorderLayout ());
- southPanel.add ("North", new Separator ());
- southPanel.add ("South", buttonPanel);
- this.add ("South", southPanel);
- this.add ("Center", this.browser_);
- }
-
- public int initialize (String url, ListFiles list)
- {
- return this.browser_.initialize (url, list);
- }
-
- // Handle window destroy events
- public boolean handleEvent (Event evt)
- {
- if (evt.id == Event.WINDOW_DESTROY)
- {
- this.dispose ();
- return true;
- }
- return super.handleEvent (evt);
- }
-
- // Handle all action events
- public boolean action (Event e, Object arg)
- {
- if (e.target instanceof Button)
- {
- if (e.target == this.cancelButton_)
- {
- this.dispose ();
- }
- validate ();
- return true;
- }
- else
- return false;
- }
-
- private Button cancelButton_;;
- private BrowserPanel browser_;
-}
diff --git a/java/ImageProcessing/framework/FilePanel.java b/java/ImageProcessing/framework/FilePanel.java
deleted file mode 100644
index f8ffc7dbca8..00000000000
--- a/java/ImageProcessing/framework/FilePanel.java
+++ /dev/null
@@ -1,161 +0,0 @@
-package imaging.framework;
-
-import java.awt.*;
-
-// Create a panel for all the buttons
-class FilePanel extends Panel
-{
- FilePanel (ImageApp parent)
- {
- this.parent_ = parent;
-
- this.setLayout (new GridLayout (2, 1));
-
- // First create all the buttons
- this.URLDialogButton_ = new URLDialogButton ("Open URL", "Download an image", this.parent_);
- this.saveButton_ = new SaveButton ("Save", "Upload an image", this.parent_);
-
- // Place the created buttons in the panel
- this.add (this.URLDialogButton_);
- this.add (this.saveButton_);
-
- // Disable the save button for now
- this.disableSaveButton ();
- this.resize (400, 400);
- }
-
- public void enableSaveButton ()
- {
- this.saveButton_.enable ();
- }
-
- public void disableSaveButton ()
- {
- this.saveButton_.disable ();
- }
-
- // All the created buttons
- private URLDialogButton URLDialogButton_;
- private SaveButton saveButton_;
-
- private ImageApp parent_;
-}
-
-// Create a panel for all the buttons
-class ResetPanel extends Panel
-{
- ResetPanel (ImageApp parent)
- {
- this.parent_ = parent;
-
- this.setLayout (new GridLayout (2, 1));
-
- // First create all the buttons
- this.reloadButton_ = new ReloadButton ("Reload Filters", "Reload all filters", this.parent_);
-
- // **********************
- // Disable this until it works
- // **********************
- this.reloadButton_.disable();
-
-
- this.resetButton_ = new ResetButton ("Reset", "Reset the image", this.parent_);
-
-
- // Place the created buttons in the panel
- this.add (this.resetButton_);
- this.add (this.reloadButton_);
-
- this.resize (400, 400);
- }
-
- // All the created buttons
- private ReloadButton reloadButton_;
- private ResetButton resetButton_;
-
- private ImageApp parent_;
-}
-
-
-class ZoomPanel extends Panel
-{
- ZoomPanel (ImageApp parent)
- {
- this.parent_ = parent;
-
- this.setLayout (new GridLayout (2, 1));
-
- // First create the two zoom buttons
- this.zoomInButton_ = new ZoomInButton ("<< Zoom in", "Zoom into the image", this.parent_);
- this.zoomOutButton_ = new ZoomOutButton ("Zoom out >>", "Zoom out of the image", this.parent_);
-
- // Now add the buttons to the panel
- this.add (this.zoomInButton_);
- this.add (this.zoomOutButton_);
-
- this.resize (100, 100);
- }
-
- private ZoomInButton zoomInButton_;
- private ZoomOutButton zoomOutButton_;
-
- private ImageApp parent_;
-}
-
-
-class FilterPanel extends Panel
-{
- FilterPanel (ImageApp parent)
- {
- this.parent_ = parent;
-
- this.setLayout (new GridLayout (2, 1));
- this.applyButton_ = new ApplyButton ("Apply", "Apply the selected filter", this.parent_);
-
- // Set the layout of the Choice Panel. Note that the Choice Panel
- // holds the choice button of filters.
- this.choicePanel_ = new ChoicePanel ("Select filter", this.parent_);
-
- this.add (this.applyButton_);
- this.add (this.choicePanel_);
- this.resize (200,200);
- }
-
- public Choice choice ()
- {
- return this.choicePanel_.choice ();
- }
-
- public void loadFilters ()
- {
- this.choicePanel_.loadFilters ();
- }
-
- private ChoicePanel choicePanel_;
- private ApplyButton applyButton_;
- private ImageApp parent_;
-}
-
-class HelpPanel extends Panel
-{
- HelpPanel (ImageApp parent)
- {
- this.parent_ = parent;
-
- this.setLayout (new GridLayout (2, 1));
-
- this.aboutButton_ = new AboutButton ("About", "About the applet", this.parent_);
- this.helpButton_ = new HelpButton ("Help", "Help on how to use the applet", this.parent_);
-
- // Now add the buttons to the panel
- this.add (this.aboutButton_);
- this.add (this.helpButton_);
-
- this.resize (100, 100);
- }
-
- private AboutButton aboutButton_;
- private HelpButton helpButton_;
-
- private ImageApp parent_;
-}
diff --git a/java/ImageProcessing/framework/FilterTest.java b/java/ImageProcessing/framework/FilterTest.java
deleted file mode 100644
index b1e33482be9..00000000000
--- a/java/ImageProcessing/framework/FilterTest.java
+++ /dev/null
@@ -1,62 +0,0 @@
-package imaging.framework;
-
-import java.awt.*;
-import java.awt.image.*;
-import imaging.filters.Timer;
-
-public class FilterTest
-{
- public static void main(String[] args)
- {
- Timer timer = new Timer();
- ImageProcessor ip = new ImageProcessor();
- ImageFilterFactory iff = new ImageFilterFactory();
- Frame frame = new Frame("Rotate Example");
- Toolkit tk = Toolkit.getDefaultToolkit();
- Dimension d = tk.getScreenSize();
- Image old_image = tk.getImage("myphoto.gif"), image;
- int image_x, image_y, x = 50, y = 50;
- Graphics g;
-
- frame.reshape(d.width/4, d.height/8, d.width/2, 3*d.height/4);
- frame.show();
- g = frame.getGraphics();
- d = frame.size();
-
- MediaTracker tracker = new MediaTracker(frame);
- tracker.addImage(old_image, 0);
- try { tracker.waitForID(0); } catch(InterruptedException excp) {}
- g.drawImage(old_image, x, y, frame);
- x += old_image.getWidth(frame) + 50;
-
- timer.start();
- image = ip.processImage(old_image, iff.createMeanImageFilter(), frame);
- timer.stop();
- System.out.println(timer);
- g.drawImage(image, x, y, frame);
- x += old_image.getWidth(frame) + 50;
-
- timer.start();
- image = ip.processImage(old_image, iff.createSobelFilter(), frame);
- timer.stop();
- System.out.println(timer);
- g.drawImage(image, x, y, frame);
- x = 50;
- y += old_image.getHeight(frame) + 50;
-
- timer.start();
- image = ip.processImage(old_image, iff.createEmbossFilter(), frame);
- timer.stop();
- System.out.println(timer);
- g.drawImage(image, x, y, frame);
- x += old_image.getWidth(frame) + 50;
-
- image = ip.processImage(old_image, iff.createSharpenFilter(), frame);
- g.drawImage(image, x, y, frame);
- x = 50;
- y += old_image.getHeight(frame) + 50;
-
- image = ip.processImage(old_image, iff.createRotateImageFilter(), frame);
- g.drawImage(image, x, y, frame);
- }
-}
diff --git a/java/ImageProcessing/framework/GIFHandler.java b/java/ImageProcessing/framework/GIFHandler.java
deleted file mode 100644
index 3d099ba294c..00000000000
--- a/java/ImageProcessing/framework/GIFHandler.java
+++ /dev/null
@@ -1,75 +0,0 @@
-package imaging.framework;
-
-import java.awt.*;
-import java.io.*;
-import JACE.OS.*;
-import JACE.Connection.*;
-
-
-public class GIFHandler extends BlobWriter
-{
- public GIFHandler (String filename, Image image, int length)
- {
- super (null, length, 0, filename);
- this.image_ = image;
- }
-
- /******************************
- * Used for HTTP 1.1 PUT authorization
- *****************************/
- public GIFHandler (String filename, Image image, int length, String authentication)
- {
- super (null, length, 0, filename, authentication);
- this.image_ = image;
- }
-
- protected int sendRequest ()
- {
- if (this.sendHeader () == -1)
- {
- ACE.ERROR ("GIFHandler::sendHeader failed.");
- return -1;
- }
- else
- if (this.sendData () == -1)
- {
- ACE.ERROR ("GIFHandler::sendData failed.");
- return -1;
- }
- return 0;
- }
-
- // Send the data
- protected int sendData ()
- {
-
-
- try
- {
- if (this.length_ > 0)
- {
- OutputStream ostream = this.peer ().outputStream ();
-
- this.encoder_ = new GifEncoder (this.image_, ostream);
-
- this.encoder_.encode ();
-
- ostream.flush();
-
- // this.encoder_ = new GIFEncoder (this.image_);
- // this.encoder_.Write (ostream);
- }
- this.bytesWritten_ = this.length_;
-
- }
- catch (IOException e)
- {
- ACE.ERROR ("Error writing to server");
- }
- return 0;
- }
-
- GifEncoder encoder_ = null;
- // GIFEncoder encoder_ = null;
- Image image_ = null;
-}
diff --git a/java/ImageProcessing/framework/GifEncoder.java b/java/ImageProcessing/framework/GifEncoder.java
deleted file mode 100644
index 91a3927d95d..00000000000
--- a/java/ImageProcessing/framework/GifEncoder.java
+++ /dev/null
@@ -1,693 +0,0 @@
-// GifEncoder - write out an image as a GIF
-//
-// Transparency handling and variable bit size courtesy of Jack Palevich.
-//
-// Copyright (C) 1996 by Jef Poskanzer <jef@acme.com>. All rights reserved.
-//
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions
-// are met:
-// 1. Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// 2. Redistributions in binary form must reproduce the above copyright
-// notice, this list of conditions and the following disclaimer in the
-// documentation and/or other materials provided with the distribution.
-//
-// THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
-// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-// ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
-// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
-// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
-// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
-// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-// SUCH DAMAGE.
-//
-// Visit the ACME Labs Java page for up-to-date versions of this and other
-// fine Java utilities: http://www.acme.com/java/
-
-package imaging.framework;
-
-import java.util.*;
-import java.io.*;
-import java.awt.Image;
-import java.awt.image.*;
-
-/// Write out an image as a GIF.
-// <P>
-// <A HREF="/resources/classes/Acme/JPM/Encoders/GifEncoder.java">Fetch the software.</A><BR>
-// <A HREF="/resources/classes/Acme.tar.Z">Fetch the entire Acme package.</A>
-// <P>
-// @see ToGif
-
-public class GifEncoder extends ImageEncoder
- {
-
- private boolean interlace = false;
-
- /// Constructor from Image.
- // @param img The image to encode.
- // @param out The stream to write the GIF to.
- public GifEncoder( Image img, OutputStream out ) throws IOException
- {
- super( img, out );
- }
-
- /// Constructor from Image with interlace setting.
- // @param img The image to encode.
- // @param out The stream to write the GIF to.
- // @param interlace Whether to interlace.
- public GifEncoder( Image img, OutputStream out, boolean interlace ) throws IOException
- {
- super( img, out );
- this.interlace = interlace;
- }
-
- /// Constructor from ImageProducer.
- // @param prod The ImageProducer to encode.
- // @param out The stream to write the GIF to.
- public GifEncoder( ImageProducer prod, OutputStream out ) throws IOException
- {
- super( prod, out );
- }
-
- /// Constructor from ImageProducer with interlace setting.
- // @param prod The ImageProducer to encode.
- // @param out The stream to write the GIF to.
- public GifEncoder( ImageProducer prod, OutputStream out, boolean interlace ) throws IOException
- {
- super( prod, out );
- this.interlace = interlace;
- }
-
-
- int width, height;
- int[][] rgbPixels;
-
- void encodeStart( int width, int height ) throws IOException
- {
- this.width = width;
- this.height = height;
- rgbPixels = new int[height][width];
- }
-
- void encodePixels(
- int x, int y, int w, int h, int[] rgbPixels, int off, int scansize )
- throws IOException
- {
- // Save the pixels.
- for ( int row = 0; row < h; ++row )
- System.arraycopy(
- rgbPixels, row * scansize + off,
- this.rgbPixels[y + row], x, w );
-
- }
-
- IntHashtable colorHash;
-
- void encodeDone() throws IOException
- {
- int transparentIndex = -1;
- int transparentRgb = -1;
- // Put all the pixels into a hash table.
- colorHash = new IntHashtable();
- int index = 0;
- for ( int row = 0; row < height; ++row )
- {
- int rowOffset = row * width;
- for ( int col = 0; col < width; ++col )
- {
- int rgb = rgbPixels[row][col];
- boolean isTransparent = ( ( rgb >>> 24 ) < 0x80 );
- if ( isTransparent )
- {
- if ( transparentIndex < 0 )
- {
- // First transparent color; remember it.
- transparentIndex = index;
- transparentRgb = rgb;
- }
- else if ( rgb != transparentRgb )
- {
- // A second transparent color; replace it with
- // the first one.
- rgbPixels[row][col] = rgb = transparentRgb;
- }
- }
- GifEncoderHashitem item =
- (GifEncoderHashitem) colorHash.get( rgb );
- if ( item == null )
- {
- if ( index >= 256 )
- throw new IOException( "too many colors for a GIF" );
- item = new GifEncoderHashitem(
- rgb, 1, index, isTransparent );
- ++index;
- colorHash.put( rgb, item );
- }
- else
- ++item.count;
- }
- }
-
- // Figure out how many bits to use.
- int logColors;
- if ( index <= 2 )
- logColors = 1;
- else if ( index <= 4 )
- logColors = 2;
- else if ( index <= 16 )
- logColors = 4;
- else
- logColors = 8;
-
- // Turn colors into colormap entries.
- int mapSize = 1 << logColors;
- byte[] reds = new byte[mapSize];
- byte[] grns = new byte[mapSize];
- byte[] blus = new byte[mapSize];
- for ( Enumeration e = colorHash.elements(); e.hasMoreElements(); )
- {
- GifEncoderHashitem item = (GifEncoderHashitem) e.nextElement();
- reds[item.index] = (byte) ( ( item.rgb >> 16 ) & 0xff );
- grns[item.index] = (byte) ( ( item.rgb >> 8 ) & 0xff );
- blus[item.index] = (byte) ( item.rgb & 0xff );
- }
-
- GIFEncode(
- out, width, height, interlace, (byte) 0, transparentIndex,
- logColors, reds, grns, blus );
- }
-
- byte GetPixel( int x, int y ) throws IOException
- {
- GifEncoderHashitem item =
- (GifEncoderHashitem) colorHash.get( rgbPixels[y][x] );
- if ( item == null )
- throw new IOException( "color not found" );
- return (byte) item.index;
- }
-
- static void writeString( OutputStream out, String str ) throws IOException
- {
- int len = str.length();
- byte[] buf = new byte[len];
- str.getBytes( 0, len, buf, 0 );
- out.write( buf );
- }
-
- // Adapted from ppmtogif, which is based on GIFENCOD by David
- // Rowley <mgardi@watdscu.waterloo.edu>. Lempel-Zim compression
- // based on "compress".
-
- int Width, Height;
- boolean Interlace;
- int curx, cury;
- int CountDown;
- int Pass = 0;
-
- void GIFEncode(
- OutputStream outs, int Width, int Height, boolean Interlace, byte Background, int Transparent, int BitsPerPixel, byte[] Red, byte[] Green, byte[] Blue )
- throws IOException
- {
- byte B;
- int LeftOfs, TopOfs;
- int ColorMapSize;
- int InitCodeSize;
- int i;
-
- this.Width = Width;
- this.Height = Height;
- this.Interlace = Interlace;
- ColorMapSize = 1 << BitsPerPixel;
- LeftOfs = TopOfs = 0;
-
- // Calculate number of bits we are expecting
- CountDown = Width * Height;
-
- // Indicate which pass we are on (if interlace)
- Pass = 0;
-
- // The initial code size
- if ( BitsPerPixel <= 1 )
- InitCodeSize = 2;
- else
- InitCodeSize = BitsPerPixel;
-
- // Set up the current x and y position
- curx = 0;
- cury = 0;
-
- // Write the Magic header
- writeString( outs, "GIF89a" );
-
- // Write out the screen width and height
- Putword( Width, outs );
- Putword( Height, outs );
-
- // Indicate that there is a global colour map
- B = (byte) 0x80; // Yes, there is a color map
- // OR in the resolution
- B |= (byte) ( ( 8 - 1 ) << 4 );
- // Not sorted
- // OR in the Bits per Pixel
- B |= (byte) ( ( BitsPerPixel - 1 ) );
-
- // Write it out
- Putbyte( B, outs );
-
- // Write out the Background colour
- Putbyte( Background, outs );
-
- // Pixel aspect ratio - 1:1.
- //Putbyte( (byte) 49, outs );
- // Java's GIF reader currently has a bug, if the aspect ratio byte is
- // not zero it throws an ImageFormatException. It doesn't know that
- // 49 means a 1:1 aspect ratio. Well, whatever, zero works with all
- // the other decoders I've tried so it probably doesn't hurt.
- Putbyte( (byte) 0, outs );
-
- // Write out the Global Colour Map
- for ( i = 0; i < ColorMapSize; ++i )
- {
- Putbyte( Red[i], outs );
- Putbyte( Green[i], outs );
- Putbyte( Blue[i], outs );
- }
-
- // Write out extension for transparent colour index, if necessary.
- if ( Transparent != -1 )
- {
- Putbyte( (byte) '!', outs );
- Putbyte( (byte) 0xf9, outs );
- Putbyte( (byte) 4, outs );
- Putbyte( (byte) 1, outs );
- Putbyte( (byte) 0, outs );
- Putbyte( (byte) 0, outs );
- Putbyte( (byte) Transparent, outs );
- Putbyte( (byte) 0, outs );
- }
-
- // Write an Image separator
- Putbyte( (byte) ',', outs );
-
- // Write the Image header
- Putword( LeftOfs, outs );
- Putword( TopOfs, outs );
- Putword( Width, outs );
- Putword( Height, outs );
-
- // Write out whether or not the image is interlaced
- if ( Interlace )
- Putbyte( (byte) 0x40, outs );
- else
- Putbyte( (byte) 0x00, outs );
-
- // Write out the initial code size
- Putbyte( (byte) InitCodeSize, outs );
-
- // Go and actually compress the data
- compress( InitCodeSize+1, outs );
-
- // Write out a Zero-length packet (to end the series)
- Putbyte( (byte) 0, outs );
-
- // Write the GIF file terminator
- Putbyte( (byte) ';', outs );
- }
-
- // Bump the 'curx' and 'cury' to point to the next pixel
- void BumpPixel()
- {
- // Bump the current X position
- ++curx;
-
- // If we are at the end of a scan line, set curx back to the beginning
- // If we are interlaced, bump the cury to the appropriate spot,
- // otherwise, just increment it.
- if ( curx == Width )
- {
- curx = 0;
-
- if ( ! Interlace )
- ++cury;
- else
- {
- switch( Pass )
- {
- case 0:
- cury += 8;
- if ( cury >= Height )
- {
- ++Pass;
- cury = 4;
- }
- break;
-
- case 1:
- cury += 8;
- if ( cury >= Height )
- {
- ++Pass;
- cury = 2;
- }
- break;
-
- case 2:
- cury += 4;
- if ( cury >= Height )
- {
- ++Pass;
- cury = 1;
- }
- break;
-
- case 3:
- cury += 2;
- break;
- }
- }
- }
- }
-
- static final int EOF = -1;
-
- // Return the next pixel from the image
- int GIFNextPixel() throws IOException
- {
- byte r;
-
- if ( CountDown == 0 )
- return EOF;
-
- --CountDown;
-
- r = GetPixel( curx, cury );
-
- BumpPixel();
-
- return r & 0xff;
- }
-
- // Write out a word to the GIF file
- void Putword( int w, OutputStream outs ) throws IOException
- {
- Putbyte( (byte) ( w & 0xff ), outs );
- Putbyte( (byte) ( ( w >> 8 ) & 0xff ), outs );
- }
-
- // Write out a byte to the GIF file
- void Putbyte( byte b, OutputStream outs ) throws IOException
- {
- outs.write( b );
- }
-
-
- // GIFCOMPR.C - GIF Image compression routines
- //
- // Lempel-Ziv compression based on 'compress'. GIF modifications by
- // David Rowley (mgardi@watdcsu.waterloo.edu)
-
- // General DEFINEs
-
- static final int BITS = 12;
-
- static final int HSIZE = 5003; // 80% occupancy
-
- // GIF Image compression - modified 'compress'
- //
- // Based on: compress.c - File compression ala IEEE Computer, June 1984.
- //
- // By Authors: Spencer W. Thomas (decvax!harpo!utah-cs!utah-gr!thomas)
- // Jim McKie (decvax!mcvax!jim)
- // Steve Davies (decvax!vax135!petsd!peora!srd)
- // Ken Turkowski (decvax!decwrl!turtlevax!ken)
- // James A. Woods (decvax!ihnp4!ames!jaw)
- // Joe Orost (decvax!vax135!petsd!joe)
-
- int n_bits; // number of bits/code
- int maxbits = BITS; // user settable max # bits/code
- int maxcode; // maximum code, given n_bits
- int maxmaxcode = 1 << BITS; // should NEVER generate this code
-
- final int MAXCODE( int n_bits )
- {
- return ( 1 << n_bits ) - 1;
- }
-
- int[] htab = new int[HSIZE];
- int[] codetab = new int[HSIZE];
-
- int hsize = HSIZE; // for dynamic table sizing
-
- int free_ent = 0; // first unused entry
-
- // block compression parameters -- after all codes are used up,
- // and compression rate changes, start over.
- boolean clear_flg = false;
-
- // Algorithm: use open addressing double hashing (no chaining) on the
- // prefix code / next character combination. We do a variant of Knuth's
- // algorithm D (vol. 3, sec. 6.4) along with G. Knott's relatively-prime
- // secondary probe. Here, the modular division first probe is gives way
- // to a faster exclusive-or manipulation. Also do block compression with
- // an adaptive reset, whereby the code table is cleared when the compression
- // ratio decreases, but after the table fills. The variable-length output
- // codes are re-sized at this point, and a special CLEAR code is generated
- // for the decompressor. Late addition: construct the table according to
- // file size for noticeable speed improvement on small files. Please direct
- // questions about this implementation to ames!jaw.
-
- int g_init_bits;
-
- int ClearCode;
- int EOFCode;
-
- void compress( int init_bits, OutputStream outs ) throws IOException
- {
- int fcode;
- int i /* = 0 */;
- int c;
- int ent;
- int disp;
- int hsize_reg;
- int hshift;
-
- // Set up the globals: g_init_bits - initial number of bits
- g_init_bits = init_bits;
-
- // Set up the necessary values
- clear_flg = false;
- n_bits = g_init_bits;
- maxcode = MAXCODE( n_bits );
-
- ClearCode = 1 << ( init_bits - 1 );
- EOFCode = ClearCode + 1;
- free_ent = ClearCode + 2;
-
- char_init();
-
- ent = GIFNextPixel();
-
- hshift = 0;
- for ( fcode = hsize; fcode < 65536; fcode *= 2 )
- ++hshift;
- hshift = 8 - hshift; // set hash code range bound
-
- hsize_reg = hsize;
- cl_hash( hsize_reg ); // clear hash table
-
- output( ClearCode, outs );
-
- outer_loop:
- while ( (c = GIFNextPixel()) != EOF )
- {
- fcode = ( c << maxbits ) + ent;
- i = ( c << hshift ) ^ ent; // xor hashing
-
- if ( htab[i] == fcode )
- {
- ent = codetab[i];
- continue;
- }
- else if ( htab[i] >= 0 ) // non-empty slot
- {
- disp = hsize_reg - i; // secondary hash (after G. Knott)
- if ( i == 0 )
- disp = 1;
- do
- {
- if ( (i -= disp) < 0 )
- i += hsize_reg;
-
- if ( htab[i] == fcode )
- {
- ent = codetab[i];
- continue outer_loop;
- }
- }
- while ( htab[i] >= 0 );
- }
- output( ent, outs );
- ent = c;
- if ( free_ent < maxmaxcode )
- {
- codetab[i] = free_ent++; // code -> hashtable
- htab[i] = fcode;
- }
- else
- cl_block( outs );
- }
- // Put out the final code.
- output( ent, outs );
- output( EOFCode, outs );
- }
-
- // output
- //
- // Output the given code.
- // Inputs:
- // code: A n_bits-bit integer. If == -1, then EOF. This assumes
- // that n_bits =< wordsize - 1.
- // Outputs:
- // Outputs code to the file.
- // Assumptions:
- // Chars are 8 bits long.
- // Algorithm:
- // Maintain a BITS character long buffer (so that 8 codes will
- // fit in it exactly). Use the VAX insv instruction to insert each
- // code in turn. When the buffer fills up empty it and start over.
-
- int cur_accum = 0;
- int cur_bits = 0;
-
- int masks[] = { 0x0000, 0x0001, 0x0003, 0x0007, 0x000F,
- 0x001F, 0x003F, 0x007F, 0x00FF,
- 0x01FF, 0x03FF, 0x07FF, 0x0FFF,
- 0x1FFF, 0x3FFF, 0x7FFF, 0xFFFF };
-
- void output( int code, OutputStream outs ) throws IOException
- {
- cur_accum &= masks[cur_bits];
-
- if ( cur_bits > 0 )
- cur_accum |= ( code << cur_bits );
- else
- cur_accum = code;
-
- cur_bits += n_bits;
-
- while ( cur_bits >= 8 )
- {
- char_out( (byte) ( cur_accum & 0xff ), outs );
- cur_accum >>= 8;
- cur_bits -= 8;
- }
-
- // If the next entry is going to be too big for the code size,
- // then increase it, if possible.
- if ( free_ent > maxcode || clear_flg )
- {
- if ( clear_flg )
- {
- maxcode = MAXCODE(n_bits = g_init_bits);
- clear_flg = false;
- }
- else
- {
- ++n_bits;
- if ( n_bits == maxbits )
- maxcode = maxmaxcode;
- else
- maxcode = MAXCODE(n_bits);
- }
- }
-
- if ( code == EOFCode )
- {
- // At EOF, write the rest of the buffer.
- while ( cur_bits > 0 )
- {
- char_out( (byte) ( cur_accum & 0xff ), outs );
- cur_accum >>= 8;
- cur_bits -= 8;
- }
-
- flush_char( outs );
- }
- }
-
- // Clear out the hash table
-
- // table clear for block compress
- void cl_block( OutputStream outs ) throws IOException
- {
- cl_hash( hsize );
- free_ent = ClearCode + 2;
- clear_flg = true;
-
- output( ClearCode, outs );
- }
-
- // reset code table
- void cl_hash( int hsize )
- {
- for ( int i = 0; i < hsize; ++i )
- htab[i] = -1;
- }
-
- // GIF Specific routines
-
- // Number of characters so far in this 'packet'
- int a_count;
-
- // Set up the 'byte output' routine
- void char_init()
- {
- a_count = 0;
- }
-
- // Define the storage for the packet accumulator
- byte[] accum = new byte[256];
-
- // Add a character to the end of the current packet, and if it is 254
- // characters, flush the packet to disk.
- void char_out( byte c, OutputStream outs ) throws IOException
- {
- accum[a_count++] = c;
- if ( a_count >= 254 )
- flush_char( outs );
- }
-
- // Flush the packet to disk, and reset the accumulator
- void flush_char( OutputStream outs ) throws IOException
- {
- if ( a_count > 0 )
- {
- outs.write( a_count );
- outs.write( accum, 0, a_count );
- a_count = 0;
- }
- }
-
- }
-
-class GifEncoderHashitem
- {
-
- public int rgb;
- public int count;
- public int index;
- public boolean isTransparent;
-
- public GifEncoderHashitem( int rgb, int count, int index, boolean isTransparent )
- {
- this.rgb = rgb;
- this.count = count;
- this.index = index;
- this.isTransparent = isTransparent;
- }
-
- }
diff --git a/java/ImageProcessing/framework/Hierarchy.java b/java/ImageProcessing/framework/Hierarchy.java
deleted file mode 100644
index 41b1825ef4d..00000000000
--- a/java/ImageProcessing/framework/Hierarchy.java
+++ /dev/null
@@ -1,347 +0,0 @@
-package imaging.framework;
-
-import java.awt.*;
-import java.util.Vector;
-
-public class Hierarchy extends Canvas
-{
- // Attributes
- private String name_;
- private Hierarchy root_;
- private Hierarchy parent_;
- private Icon icon_ = null;
-
- // State
- private boolean collapsed_ = true;
- private boolean deadend_ = true;
- private Vector contained_ = new Vector();
- private Rectangle self_;
- private Rectangle scope_;
-
- // Constants
- private Color COLOR = Color.black;
- private Font FONT = new Font("Dialog", Font.BOLD, 12);
- private static int TRI_HEIGHT = 8;
- private int SPACE = 15;
-
- static Hierarchy last_lit_ = null;
-
- public Hierarchy(String name, boolean root)
- {
- name_ = name;
-
- if (root)
- {
- deadend_ = false;
- root_ = this;
- parent_ = null;
- }
- }
-
- public Hierarchy(String name, Icon icon, boolean root)
- {
- this(name, root);
- icon_ = icon;
- }
-
- public Hierarchy(String name)
- {
- this(name, false);
- }
-
- public Hierarchy(String name, Icon icon)
- {
- this(name, icon, false);
- }
-
- public void setExpandable(boolean expandable)
- {
- deadend_ = ! expandable;
-
- /*
- if (root_ != null)
- root_.repaint();
- */
- }
-
- public void setCollapsed(boolean collapsed)
- {
- collapsed_ = collapsed;
-
- if (root_ != null)
- root_.repaint();
- }
-
- public void addEntry(Hierarchy entry)
- {
- deadend_ = false;
- entry.parent_ = this;
- entry.root_ = root_;
- entry.FONT = FONT;
- entry.COLOR = COLOR;
- entry.SPACE = SPACE;
-
- contained_.addElement(entry);
- }
-
- public boolean removeEntry(String name)
- {
- if (contained_.size() == 1)
- deadend_ = true;
-
- return contained_.removeElement(name);
- }
-
- public String getName()
- {
- return name_;
- }
-
- public void setName(String name)
- {
- name_ = name;
- }
-
- public Hierarchy getHierarchyParent()
- {
- return parent_;
- }
-
- public void setFont(Font font)
- {
- FONT = font;
- }
-
- public void setColor(Color color)
- {
- COLOR = color;
- }
-
- public void setSpace(int space)
- {
- SPACE = space;
- }
-
- public void handleEvent() {}
-
- public boolean mouseDown(Event evt, int x, int y)
- {
- Hierarchy value = mouseInside(x, y);
-
- if (value != null)
- {
- if (! value.deadend_)
- {
- if (x < value.self_.x + TRI_HEIGHT + SPACE)
- {
- value.collapsed_ = ! value.collapsed_;
- if (value.contained_.isEmpty())
- value.handleEvent();
- repaint();
- }
- }
- else
- {
- if (value.contained_.isEmpty())
- value.handleEvent();
- }
- }
-
- return false;
- }
-
- public boolean mouseMove(Event evt, int x, int y)
- {
- Hierarchy value = mouseInside(x, y);
-
- if ((value != last_lit_) && (last_lit_ != null))
- last_lit_.highlight(getGraphics(), false);
-
- if (value != null && value.deadend_)
- value.highlight(getGraphics(), true);
-
- last_lit_ = value;
-
- return false;
- }
-
- public void paint(Graphics g)
- {
- Dimension d = size();
-
- drawLevel(g, SPACE, SPACE);
-
- if (d.width < scope_.width || d.height < scope_.height ||
- d.width > scope_.width || d.height > scope_.height)
- resize(scope_.width, scope_.height);
- }
-
-
- private Point drawLevel(Graphics g, int x, int y)
- {
- g.setFont(FONT);
- FontMetrics font_metrics = g.getFontMetrics();
- int string_height = font_metrics.getHeight();
- int string_width = font_metrics.stringWidth(name_);
- int entry_height = string_height;
- int entry_width = string_width + 2*SPACE + TRI_HEIGHT;
- int total_height, total_width, initial_x = x, initial_y = y;
- int indent = SPACE + TRI_HEIGHT/2;
- int temp_x = x;
- Point place_marker;
- Hierarchy entry;
-
- if (icon_ != null)
- {
- entry_height = Math.max(string_height, icon_.iconSize().height);
- entry_width += icon_.iconSize().width + SPACE;
- indent += icon_.iconSize().width/2;
- if (! deadend_)
- drawShape(g, x, y + (entry_height - TRI_HEIGHT)/2, deadend_, collapsed_);
- }
- else
- drawShape(g, x, y + (entry_height - TRI_HEIGHT)/2, deadend_, collapsed_);
-
- self_ = new Rectangle(initial_x, initial_y, entry_width, entry_height);
-
- temp_x += TRI_HEIGHT + SPACE;
-
- if (icon_ != null)
- {
- icon_.drawIcon(g, temp_x, y, root_);
- temp_x += SPACE + icon_.iconSize().width;
- }
-
- g.setColor(COLOR);
-
- g.drawString(name_, temp_x, y + (entry_height + string_height)/2);
-
- total_width = entry_width;
- y += entry_height + SPACE;
-
- if (! (deadend_ || collapsed_))
- {
- x += indent;
- for (int i = 0; i < contained_.size(); i++)
- {
- entry = (Hierarchy)contained_.elementAt(i);
- place_marker = entry.drawLevel(g, x, y);
- total_width = Math.max(total_width, entry.scope_.width + indent + SPACE);
- x = place_marker.x;
- y = place_marker.y;
- }
- x -= indent;
- }
-
- total_height = y - initial_y;
- scope_ = new Rectangle(initial_x, initial_y, total_width, total_height);
-
- return new Point(x, y);
- }
-
- private Hierarchy mouseInside(int x, int y)
- {
- Hierarchy entry;
- Hierarchy return_value = null;
-
- if (self_.inside(x, y))
- {
- return_value = this;
- }
- else
- {
- if (scope_.inside(x, y) && (! collapsed_))
- {
- for (int i = 0; i < contained_.size(); i++)
- {
- entry = (Hierarchy)contained_.elementAt(i);
- if ((return_value = entry.mouseInside(x, y)) != null)
- break;
- }
- }
- else
- return_value = null;
- }
-
- return return_value;
- }
-
- private void highlight(Graphics g, boolean lit)
- {
- g.setFont(FONT);
- FontMetrics fm = g.getFontMetrics();
- int string_height = fm.getHeight();
- int x = self_.x + SPACE + TRI_HEIGHT;
- int y = self_.y;
-
- if (icon_ != null)
- x += icon_.iconSize().width + SPACE;
-
- if (lit)
- g.setColor(Color.magenta);
- else
- g.setColor(COLOR);
-
- g.drawString(name_, x, y + (self_.height + string_height)/2);
- }
-
-
- private static void drawShape(Graphics g, int x, int y, boolean dead_end, boolean collapsed)
- {
- int xpoints[] = new int[3];
- int ypoints[] = new int[3];
-
- xpoints[0] = x;
- ypoints[0] = y;
-
- if (dead_end)
- {
- g.fillOval(x, y, TRI_HEIGHT, TRI_HEIGHT);
- }
- else
- {
- // Draw a small collapsed triangle: |>
- if (collapsed)
- {
- xpoints[1] = x;
- xpoints[2] = x + TRI_HEIGHT;
- ypoints[1] = y + TRI_HEIGHT;
- ypoints[2] = y + TRI_HEIGHT/2;
- g.fillPolygon(xpoints, ypoints, 3);
- }
- //Draw a small uncollapsed triangle
- else
- {
- xpoints[1] = x + TRI_HEIGHT;
- xpoints[2] = x + TRI_HEIGHT/2;
- ypoints[1] = y;
- ypoints[2] = y + TRI_HEIGHT;
- g.fillPolygon(xpoints, ypoints, 3);
- }
- }
- }
-
- private static void drawVertHashedLine(Graphics g, int x, int y1, int y2, int hashsize)
- {
- for (int ytemp = y1; ytemp < y2; ytemp += hashsize*3)
- {
- if (y2 - hashsize < ytemp)
- g.drawLine(x, ytemp, x, y2);
- else
- g.drawLine(x, ytemp, x, ytemp + hashsize);
- }
- }
-
- private static void drawHoroHashedLine(Graphics g, int y, int x1, int x2, Color color, int hashsize)
- {
- for (int xtemp = x1; xtemp < x2; xtemp += hashsize*3)
- {
- if (x2 - hashsize < xtemp)
- g.drawLine(xtemp, y, x1, y);
- else
- g.drawLine(xtemp, y, xtemp + hashsize, y);
- }
- }
-}
-
-
diff --git a/java/ImageProcessing/framework/HierarchyAdapter.java b/java/ImageProcessing/framework/HierarchyAdapter.java
deleted file mode 100644
index a265be656ea..00000000000
--- a/java/ImageProcessing/framework/HierarchyAdapter.java
+++ /dev/null
@@ -1,34 +0,0 @@
-package imaging.framework;
-
-import java.awt.*;
-
-class HierarchyAdapter extends Hierarchy
-{
- public HierarchyAdapter(String name, boolean root)
- {
- super(name, root);
- }
-
- public HierarchyAdapter(String name, Icon icon, boolean root)
- {
- super(name, icon, root);
- }
-
- public HierarchyAdapter(String name)
- {
- super(name);
- }
-
- public HierarchyAdapter(String name, Icon icon)
- {
- super(name, icon);
- }
-
- public void paint(Graphics g)
- {
- super.paint(g);
-
- Container p = getParent().getParent();
- p.getLayout ().layoutContainer (p);
- }
-}
diff --git a/java/ImageProcessing/framework/Icon.java b/java/ImageProcessing/framework/Icon.java
deleted file mode 100644
index eed91ed55c7..00000000000
--- a/java/ImageProcessing/framework/Icon.java
+++ /dev/null
@@ -1,70 +0,0 @@
-package imaging.framework;
-
-import java.awt.*;
-import java.applet.*;
-import java.net.*;
-
-public class Icon
-{
- protected Image icon_;
- protected Dimension iconSize_;
-
- Icon()
- {
- super();
- }
-
- Icon(String file_name, Component comp)
- {
- this.icon_ = Toolkit.getDefaultToolkit().getImage(file_name);
- this.loadImage(comp);
- }
-
- Icon(Image icon_image, Component comp)
- {
- this.icon_ = icon_image;
- this.loadImage(comp);
- }
-
- Icon(String url, Applet applet) throws MalformedURLException
- {
- this.icon_ = applet.getImage(new URL(url));
- loadImage(applet);
- }
-
- public void drawIcon(Graphics g, int x, int y, Component comp)
- {
- g.drawImage(this.icon_, x, y, comp);
- }
-
- private void loadImage(Component comp)
- {
- try
- {
- MediaTracker tracker = new MediaTracker(comp);
- tracker.addImage(this.icon_, 0);
- tracker.waitForID(0);
-
- this.iconSize_ = new Dimension(this.icon_.getWidth(comp), this.icon_.getHeight(comp));
- }
- catch (InterruptedException excp)
- {
- System.err.println("Icon::getIcon image failed to load");
- }
- }
-
- public Dimension iconSize()
- {
- return this.iconSize_;
- }
-
- public Image getIconImage()
- {
- return this.icon_;
- }
-
-}
-
-
-
-
diff --git a/java/ImageProcessing/framework/ImageApp.java b/java/ImageProcessing/framework/ImageApp.java
deleted file mode 100644
index 486f45b9afb..00000000000
--- a/java/ImageProcessing/framework/ImageApp.java
+++ /dev/null
@@ -1,303 +0,0 @@
-package imaging.framework;
-
-import java.util.*;
-import java.awt.*;
-import java.net.*;
-import java.io.*;
-import java.awt.image.*;
-import java.applet.*;
-import gjt.Separator;
-import gjt.Util;
-
-public class ImageApp extends Applet
-{
- public void init ()
- {
- // Use BorderLayout for our applet frame
- this.setLayout (new BorderLayout ());
-
- // Now load all the filters specified in the config file
- // this.loadFilters ();
- this.setupButtonPanel ();
- this.add ("Center", this.imageCanvas_);
- // Check if we are running in test mode
- String testFile = getParameter ("testFile");
- if (testFile != null)
- {
- this.tester_ = new Tester (testFile, this);
- this.tester_.initialize ();
- }
- // Initialize the DialogManager
- DialogManager.initialize (this);
- }
-
- private void setupButtonPanel ()
- {
- Panel southPanel = new Panel ();
- southPanel.setLayout (new BorderLayout ());
-
- Panel buttonPanel = new Panel ();
- buttonPanel.setLayout (new GridLayout (1, 5));
-
- this.statusDisplay_ = new StatusDisplay ();
- // Create a panel for all the buttons
- this.filePanel_ = new FilePanel (this);
- this.resetPanel_ = new ResetPanel (this);
- this.zoomPanel_ = new ZoomPanel (this);
- this.filterPanel_ = new FilterPanel (this);
- this.helpPanel_ = new HelpPanel (this);
-
- buttonPanel.add (this.filePanel_);
- buttonPanel.add (this.resetPanel_);
- buttonPanel.add (this.zoomPanel_);
- buttonPanel.add (this.filterPanel_);
- buttonPanel.add (this.helpPanel_);
-
- southPanel.add ("North", new Separator ());
- southPanel.add ("Center", buttonPanel);
- southPanel.add ("South", this.statusDisplay_);
-
- southPanel.resize (400, 400);
-
- // Now add all these components to the main frame
- this.add ("South", southPanel);
- this.add ("North", new Panel ()); // Empty panel (for aesthetics)
- // this.add ("East", new Panel ()); // Empty panel (for aesthetics)
- // this.add ("West", new Panel ()); // Empty panel (for aesthetics)
- }
-
- public void displayStatus (String s)
- {
- this.statusDisplay_.setText (s);
- }
-
- // Handle all action events
- public void zoomFactor (double zoomFactor)
- {
- this.imageCanvas_.zoomFactor (zoomFactor);
- }
-
- public void reloadFilters ()
- {
- this.filterPanel_.loadFilters ();
- repaint ();
- }
-
- public Hashtable filterTable ()
- {
- return this.filterTable_;
- }
-
- public ImageFilter getFilter (String s)
- {
- return (ImageFilter) this.filterTable_.get (s);
- }
-
- public void apply ()
- {
- ImageFilter filter = this.getFilter (this.filterPanel_.choice ().getSelectedItem ());
- this.apply (filter);
- }
-
- public void apply (ImageFilter filter)
- {
- if (filter != null)
- {
- Util.getFrame (this).setCursor (Frame.WAIT_CURSOR);
- this.imageCanvas_.applyFilter (filter);
- Util.getFrame (this).setCursor (Frame.DEFAULT_CURSOR);
- }
- }
-
- public void resetImage ()
- {
- this.imageCanvas_.applyFilter (null);
- }
-
- public int openURL (String url)
- {
- if (url == null)
- return -1;
-
- Image image = null;
- try
- {
- System.out.println("Getting image");
- image = getImage (new URL (url));
- System.out.println("Done");
- }
- catch (MalformedURLException e)
- {
- return -1;
- }
-
- if (image != null)
- {
- // Check if the image was actually loaded. Note that we have
- // to wait for the potential image to finish loading before we
- // know if it is a valid image.
- if (this.imageCanvas_.setImage (image) == -1)
- return -1;
- else
- this.filePanel_.enableSaveButton ();
- }
- else
- return -1;
- return 0;
- }
-
- // maintain compatibility
- public void saveFile (String url)
- {
- this.saveFile (url, null);
- }
-
- public void saveFile (String url, String authentication)
- {
- ImageSender imageSender = new ImageSender (this);
- imageSender.open (this.imageCanvas_.getImage (), url);
- int bytesSent = imageSender.send (authentication);
- if (bytesSent == -1)
- DialogManager.popDialog (DialogType.NOT_SUPPORTED,
- "Server does not support uploading or URL not found");
- }
-
- public Choice getFilters ()
- {
- Choice choice = new Choice ();
-
- // Add the default choice first
- choice.addItem ("Filters:");
-
- // Now do the file processing -- to determine which filters need
- // to be loaded.
-
- // Check if the filename has been previously specified and
- // if not then check if the user has specified the name of the
- // config file
- if (this.configFile_ == null)
- this.configFile_ = getParameter ("configFile");
-
- /*
- if (this.configFile_ == null)
- this.configFile_ = "http://www.cs.wustl.edu/~pjain/java/ACE_wrappers/java/ImageProcessing/framework/filter.conf";
- */
-
- if (this.configFile_ == null)
- this.configFile_ = this.getCodeBase().toString() + "../ImageProcessing/framework/filter.conf";
-
- String configInfo = null;
-
- // Only get the file as a URL if it was specified as an http style parameter!
- if ((this.configFile_ != null) && ((this.configFile_.startsWith("http://")) ||
- (this.configFile_.startsWith("file://")) ||
- (this.configFile_.startsWith("ftp://")))) {
-
- URL url;
-
- try
- {
- System.out.println ("Configuration File: " + this.configFile_);
- // Create a new URL
- url = new URL (this.configFile_);
-
- // Get the input stream and pipe it to a DataInputStream
- DataInputStream iStream = new DataInputStream (url.openStream ());
-
- // Create a buffer to hold all the data we get
- StringBuffer tempBuf = new StringBuffer ();
- // Keep reading the data until we are done
- String tempString = iStream.readLine ();
- while (tempString != null)
- {
- tempBuf.append (tempString);
- tempBuf.append (" ");
- tempString = iStream.readLine ();
- }
- configInfo = tempBuf.toString ();
- }
- catch (MalformedURLException e)
- {
- System.err.println (e);
- }
- catch (IOException e)
- {
- System.err.println (e);
- }
- }
-
- if (configInfo != null)
- {
- try
- {
- StringTokenizer tokens = new StringTokenizer (configInfo);
- String fullFilterName = null;
- String filterName = null;
- // Now parse the string, picking up filter names. Use these
- // names to load the actual filters as well add new choices to
- // the filter choices.
- while (tokens.hasMoreTokens ())
- {
- // Get the next token
- fullFilterName = tokens.nextToken ();
- filterName = this.extractFilterName (fullFilterName);
-
- System.out.println ("Loading: " + fullFilterName);
- // Load the filter class
- Class c = Class.forName (fullFilterName);
- // Class c = this.filterRepository_.load (filter);
-
- // Add the filter to the Filter Repository
- this.filterTable_.put (filterName,
- (ImageFilter) c.newInstance ());
-
- // Add filter name to the list of filter choices
- choice.addItem (filterName);
- }
- }
- catch (ClassNotFoundException e)
- {
- System.err.println ("Filter not found: " + e);
- return null;
- }
- catch (IllegalAccessException e)
- {
- System.err.println ("Filter not found: " + e);
- return null;
- }
- catch (InstantiationException e)
- {
- System.err.println ("Filter not found: " + e);
- return null;
- }
- }
- return choice;
- }
-
- // Extract the short filter name from the full filter name. For
- // example, this method returns "EmbossFilter" if it is given the
- // string "imaging/filters/EmbossFilter"
- private String extractFilterName (String s)
- {
- String filterName = null;
- StringTokenizer tokens = new StringTokenizer (s, ".");
- while (tokens.hasMoreTokens ())
- filterName = tokens.nextToken ();
- return filterName;
- }
-
- private Panel centerPanel_ = new Panel ();
- private String configFile_ = null;
- private Choice choice_ = null;
- private ImageCanvas imageCanvas_ = new ImageCanvas ();
- private FilePanel filePanel_;
- private ResetPanel resetPanel_;
- private ZoomPanel zoomPanel_;
- private FilterPanel filterPanel_;
- private HelpPanel helpPanel_;
-
- private StatusDisplay statusDisplay_;
- private Hashtable filterTable_ = new Hashtable ();
- private Tester tester_;
-
-}
diff --git a/java/ImageProcessing/framework/ImageByteCounter.java b/java/ImageProcessing/framework/ImageByteCounter.java
deleted file mode 100644
index c907c9f1c92..00000000000
--- a/java/ImageProcessing/framework/ImageByteCounter.java
+++ /dev/null
@@ -1,94 +0,0 @@
-package imaging.framework;
-
-import java.io.*;
-import java.awt.*;
-import java.applet.*;
-import java.net.*;
-import JACE.OS.*;
-
-public class ImageByteCounter
-{
- public ImageByteCounter (String title, Image image, Applet parent)
- {
- this.image_ = image;
- this.parent_ = parent;
-
- Image im = null;
- try
- {
- im = this.parent_.getImage (new URL (this.parent_.getCodeBase () +
- "../ImageProcessing/framework/" +
- "10.gif"));
- }
- catch (MalformedURLException e)
- {
- ACE.ERROR (e);
- }
-
- indicator_ = new StatusIndicator ("", im);
- }
-
- public int count ()
- {
- int length = 0;
- try
- {
- GIFOutputStream ostream = new GIFOutputStream (indicator_);
- // GIFOutputStream ostream = new GIFOutputStream (null);
- GifEncoder encoder = new GifEncoder (this.image_, ostream);
- encoder.encode ();
-
- length = ostream.count ();
- System.out.println ("send: " + length);
- }
- catch (IOException e)
- {
- ACE.ERROR ("Exception generating gif");
- }
- indicator_.dispose ();
- return length;
- }
-
- Image image_ = null;
- StatusIndicator indicator_ = null;
- boolean done_ = false;
- Applet parent_;
-}
-
-class GIFOutputStream extends OutputStream
-{
- public GIFOutputStream (StatusIndicator indicator)
- {
- super ();
- this.indicator_ = indicator;
- }
-
- public synchronized void write (int b) throws IOException
- {
- bytesWritten_++;
- if (this.indicator_ != null)
- this.indicator_.update (bytesWritten_);
- }
-
- public synchronized void write (byte buf[]) throws IOException
- {
- bytesWritten_ += buf.length;
- if (this.indicator_ != null)
- this.indicator_.update (bytesWritten_);
- }
-
- public synchronized void write (byte buf[], int offset, int length) throws IOException
- {
- bytesWritten_ += length;
- if (this.indicator_ != null)
- this.indicator_.update (bytesWritten_);
- }
-
- public int count ()
- {
- return this.bytesWritten_;
- }
-
- private int bytesWritten_ = 0;
- private StatusIndicator indicator_ = null;
-}
diff --git a/java/ImageProcessing/framework/ImageCanvas.java b/java/ImageProcessing/framework/ImageCanvas.java
deleted file mode 100644
index 182bd54bf9b..00000000000
--- a/java/ImageProcessing/framework/ImageCanvas.java
+++ /dev/null
@@ -1,166 +0,0 @@
-package imaging.framework;
-
-import java.awt.*;
-import java.awt.image.*;
-import gjt.Util;
-import JACE.OS.*;
-
-class ImageCanvas extends Canvas
-{
- public static final double MAX_ZOOM = 4.0;
- public static final double MIN_ZOOM = 0.5;
-
- public int setImage (Image image)
- {
- int flags = 0;
- if (image != null)
- {
- // Load the image
- this.tracker_.addImage(image, 0);
- try { this.tracker_.waitForID(0); } catch(InterruptedException excp) {}
-
- // Check if the image was actually loaded. Note that we have
- // to wait for the potential image to finish loading before we
- // know if it is a valid image.
- flags = this.checkImage (image, this);
- if (ACE.BIT_ENABLED (flags, ImageObserver.ERROR))
- return -1;
-
- // If we reached here, it means image was loaded successfully so cache it
- this.image_ = image;
- this.originalImage_ = this.image_;
-
- this.x_ = (this.size ().width - this.image_.getWidth (this))/2;
- this.y_ = (this.size ().height - this.image_.getHeight (this))/2;
- this.original_x_ = this.x_;
- this.original_y_ = this.y_;
- repaint ();
- }
- return 0;
- }
-
- public Image getImage ()
- {
- return this.image_;
- }
-
- public void paint (Graphics g)
- {
- this.setBackground (Color.white);
- if (this.image_ != null)
- g.drawImage(this.image_,
- this.x_, this.y_,
- (int) (this.image_.getWidth (this) * this.zoom_),
- (int) (this.image_.getHeight (this) * this.zoom_),
- this);
- }
-
- public void applyFilter (ImageFilter filter)
- {
- if (this.image_ != null)
- {
- Image temp;
- if (filter == null)
- {
- temp = this.originalImage_;
- this.x_ = this.original_x_;
- this.y_ = this.original_y_;
- this.zoom_ = 1.0;
- }
- else
- temp = this.ip_.processImage(this.image_, filter, this);
-
- this.tracker_.addImage(temp, 0);
- try { this.tracker_.waitForID(0); } catch(InterruptedException excp) {}
-
- this.image_ = temp;
-
- // Originally I needed to flush the pixel data for the image to be
- // drawn properly. When running the applet in appletviewer, the
- // image used to jump around, but running in a browser seems to be
- // ok.
- //this.image_.flush();
- repaint ();
- }
- }
-
- public void zoomFactor (double zoom)
- {
- this.zoom_ *= zoom;
- if (this.zoom_ > ImageCanvas.MAX_ZOOM)
- this.zoom_ = ImageCanvas.MAX_ZOOM;
- else if (this.zoom_ < ImageCanvas.MIN_ZOOM)
- this.zoom_ = ImageCanvas.MIN_ZOOM;
-
- repaint ();
- }
-
- public boolean mouseDown (Event evt, int x, int y)
- {
- if (inBounds (x, y))
- {
- this.selected_ = true;
- this.last_x_ = x;
- this.last_y_ = y;
- }
- return true;
- }
-
- public boolean mouseUp (Event evt, int x, int y)
- {
- this.selected_ = false;
- return true;
- }
-
- public boolean mouseDrag (Event evt, int x, int y)
- {
- if (this.selected_)
- {
- this.x_ = x - (this.last_x_ - this.x_);
- this.y_ = y - (this.last_y_ - this.y_);
- this.last_x_ = x;
- this.last_y_ = y;
- repaint ();
- }
- return true;
- }
-
- public boolean mouseMove (Event evt, int x, int y)
- {
- if (this.image_ != null && inBounds (x, y))
- Util.getFrame (this).setCursor (Frame.HAND_CURSOR);
- else
- Util.getFrame (this).setCursor (Frame.DEFAULT_CURSOR);
- return true;
- }
-
- public boolean mouseExit (Event evt, int x, int y)
- {
- Util.getFrame (this).setCursor (Frame.DEFAULT_CURSOR);
- return true;
- }
-
- // Check if mouse is within the bounds of the image
- private boolean inBounds (int x, int y)
- {
- if (this.image_ == null)
- return false;
- else
- return (x >= this.x_) &&
- (y >= this.y_) &&
- (x <= (this.x_ + this.zoom_ * this.image_.getWidth (this))) &&
- (y <= (this.y_ + this.zoom_ * this.image_.getHeight (this)));
- }
-
- private MediaTracker tracker_ = new MediaTracker(this);
- private Image image_, originalImage_;
- private int x_ = 0, y_ = 0;
- private int original_x_ = 0, original_y_ = 0;
- private int width_ = 0, height_ = 0;
- private ImageProcessor ip_ = new ImageProcessor ();
- private boolean selected_ = false;
- private int last_x_ = 0, last_y_ = 0;
- private double zoom_ = 1.0;
-
-}
-
diff --git a/java/ImageProcessing/framework/ImageEncoder.java b/java/ImageProcessing/framework/ImageEncoder.java
deleted file mode 100644
index a0aac0d559f..00000000000
--- a/java/ImageProcessing/framework/ImageEncoder.java
+++ /dev/null
@@ -1,271 +0,0 @@
-// ImageEncoder - abstract class for writing out an image
-//
-// Copyright (C) 1996 by Jef Poskanzer <jef@acme.com>. All rights reserved.
-//
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions
-// are met:
-// 1. Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// 2. Redistributions in binary form must reproduce the above copyright
-// notice, this list of conditions and the following disclaimer in the
-// documentation and/or other materials provided with the distribution.
-//
-// THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
-// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-// ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
-// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
-// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
-// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
-// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-// SUCH DAMAGE.
-//
-// Visit the ACME Labs Java page for up-to-date versions of this and other
-// fine Java utilities: http://www.acme.com/java/
-
-package imaging.framework;
-
-import java.util.*;
-import java.io.*;
-import java.awt.Image;
-import java.awt.image.*;
-
-/// Abstract class for writing out an image.
-// <P>
-// A framework for classes that encode and write out an image in
-// a particular file format.
-// <P>
-// This provides a simplified rendition of the ImageConsumer interface.
-// It always delivers the pixels as ints in the RGBdefault color model.
-// It always provides them in top-down left-right order.
-// If you want more flexibility you can always implement ImageConsumer
-// directly.
-// <P>
-// <A HREF="/resources/classes/Acme/JPM/Encoders/ImageEncoder.java">Fetch the software.</A><BR>
-// <A HREF="/resources/classes/Acme.tar.Z">Fetch the entire Acme package.</A>
-// <P>
-// @see GifEncoder
-// @see PpmEncoder
-// @see Acme.JPM.Decoders.ImageDecoder
-
-public abstract class ImageEncoder implements ImageConsumer
- {
-
- protected OutputStream out;
-
- private ImageProducer producer;
- private int width = -1;
- private int height = -1;
- private int hintflags = 0;
- private boolean started = false;
- private boolean encoding;
- private IOException iox;
- private static final ColorModel rgbModel = ColorModel.getRGBdefault();
- private Hashtable props = null;
-
- /// Constructor.
- // @param img The image to encode.
- // @param out The stream to write the bytes to.
- public ImageEncoder( Image img, OutputStream out ) throws IOException
- {
- this( img.getSource(), out );
- }
-
- /// Constructor.
- // @param producer The ImageProducer to encode.
- // @param out The stream to write the bytes to.
- public ImageEncoder( ImageProducer producer, OutputStream out ) throws IOException
- {
- this.producer = producer;
- this.out = out;
- }
-
-
- // Methods that subclasses implement.
-
- /// Subclasses implement this to initialize an encoding.
- abstract void encodeStart( int w, int h ) throws IOException;
-
- /// Subclasses implement this to actually write out some bits. They
- // are guaranteed to be delivered in top-down-left-right order.
- // One int per pixel, index is row * scansize + off + col,
- // RGBdefault (AARRGGBB) color model.
- abstract void encodePixels(
- int x, int y, int w, int h, int[] rgbPixels, int off, int scansize )
- throws IOException;
-
- /// Subclasses implement this to finish an encoding.
- abstract void encodeDone() throws IOException;
-
-
- // Our own methods.
-
- /// Call this after initialization to get things going.
- public synchronized void encode() throws IOException
- {
- encoding = true;
- iox = null;
- producer.startProduction( this );
- while ( encoding )
- try
- {
- wait();
- }
- catch ( InterruptedException e ) {}
- if ( iox != null )
- throw iox;
- }
-
- private boolean accumulate = false;
- private int[] accumulator;
-
- private void encodePixelsWrapper(
- int x, int y, int w, int h, int[] rgbPixels, int off, int scansize )
- throws IOException
- {
- if ( ! started )
- {
- started = true;
- encodeStart( width, height );
- if ( ( hintflags & TOPDOWNLEFTRIGHT ) == 0 )
- {
- accumulate = true;
- accumulator = new int[width * height];
- }
- }
- if ( accumulate )
- for ( int row = 0; row < h; ++row )
- System.arraycopy(
- rgbPixels, row * scansize + off,
- accumulator, ( y + row ) * width + x,
- w );
- else
- encodePixels( x, y, w, h, rgbPixels, off, scansize );
- }
-
- private void encodeFinish() throws IOException
- {
- if ( accumulate )
- {
- encodePixels( 0, 0, width, height, accumulator, 0, width );
- accumulator = null;
- accumulate = false;
- }
- }
-
- private synchronized void stop()
- {
- encoding = false;
- notifyAll();
- }
-
-
- // Methods from ImageConsumer.
-
- public void setDimensions( int width, int height )
- {
- this.width = width;
- this.height = height;
- }
-
- public void setProperties( Hashtable props )
- {
- this.props = props;
- }
-
- public void setColorModel( ColorModel model )
- {
- // Ignore.
- }
-
- public void setHints( int hintflags )
- {
- this.hintflags = hintflags;
- }
-
- public void setPixels(
- int x, int y, int w, int h, ColorModel model, byte[] pixels,
- int off, int scansize )
- {
- int[] rgbPixels = new int[w];
- for ( int row = 0; row < h; ++row )
- {
- int rowOff = off + row * scansize;
- for ( int col = 0; col < w; ++col )
- rgbPixels[col] = model.getRGB( pixels[rowOff + col] & 0xff );
- try
- {
- encodePixelsWrapper( x, y + row, w, 1, rgbPixels, 0, w );
- }
- catch ( IOException e )
- {
- iox = e;
- stop();
- return;
- }
- }
- }
-
- public void setPixels(
- int x, int y, int w, int h, ColorModel model, int[] pixels,
- int off, int scansize )
- {
- if ( model == rgbModel )
- {
- try
- {
- encodePixelsWrapper( x, y, w, h, pixels, off, scansize );
- }
- catch ( IOException e )
- {
- iox = e;
- stop();
- return;
- }
- }
- else
- {
- int[] rgbPixels = new int[w];
- for ( int row = 0; row < h; ++row )
- {
- int rowOff = off + row * scansize;
- for ( int col = 0; col < w; ++col )
- rgbPixels[col] = model.getRGB( pixels[rowOff + col] );
- try
- {
- encodePixelsWrapper( x, y + row, w, 1, rgbPixels, 0, w );
- }
- catch ( IOException e )
- {
- iox = e;
- stop();
- return;
- }
- }
- }
- }
-
- public void imageComplete( int status )
- {
- producer.removeConsumer( this );
- if ( status == ImageConsumer.IMAGEABORTED )
- iox = new IOException( "image aborted" );
- else
- {
- try
- {
- encodeFinish();
- encodeDone();
- }
- catch ( IOException e )
- {
- iox = e;
- }
- }
- stop();
- }
-
- }
diff --git a/java/ImageProcessing/framework/ImageProcessor.java b/java/ImageProcessing/framework/ImageProcessor.java
deleted file mode 100644
index 422298d508f..00000000000
--- a/java/ImageProcessing/framework/ImageProcessor.java
+++ /dev/null
@@ -1,111 +0,0 @@
-package imaging.framework;
-
-import java.awt.*;
-import java.awt.image.*;
-import java.util.Vector;
-
-public class ImageProcessor
-{
- private Vector pipeline_ = new Vector();
-
-
- public ImageProcessor()
- {
- }
-
- public void addFilter(String filter_name, ImageFilter filter)
- {
- pipeline_.addElement(new FilterNode(filter_name, filter));
- }
-
- public boolean removeFilter(String name)
- {
- FilterNode filter_node;
-
- for (int i = 0; i < pipeline_.size(); i++)
- {
- filter_node = (FilterNode)pipeline_.elementAt(i);
- if (name.equals(filter_node.getName()))
- {
- pipeline_.removeElementAt(i);
- pipeline_.trimToSize();
- return true;
- }
- }
-
- return false;
- }
-
- public Image processImage(Image image, ImageFilter filter, Component component)
- {
- Image old_image = image, new_image = old_image;
- MediaTracker tracker = new MediaTracker(component);
-
- try
- {
- new_image = component.createImage(new FilteredImageSource(old_image.getSource(), filter));
- tracker.addImage(new_image, 0);
- tracker.waitForID(0);
- }
- catch(InterruptedException excp)
- {
- System.out.println("ImageProcessor::processImage Image failed to load.");
- System.out.println(excp);
- return null;
- }
-
- return new_image;
- }
-
- public Image processImage(Image image, Component component)
- {
- Image old_image = image, new_image = null;
- ImageFilter image_filter;
- FilterNode filter_node;
- MediaTracker tracker = new MediaTracker(component);
-
- try
- {
- for (int i = 0; i < pipeline_.size(); i++)
- {
- filter_node = (FilterNode) pipeline_.elementAt(i);
- image_filter = filter_node.getFilter();
- new_image = component.createImage(new FilteredImageSource(old_image.getSource(), image_filter));
- old_image = new_image;
- tracker.addImage(new_image, 0);
- tracker.waitForID(0);
- }
- }
- catch(InterruptedException excp)
- {
- System.out.println("ImageProcessor::processImage Image failed to load.");
- System.out.println(excp);
- return null;
- }
-
- return new_image;
- }
-}
-
-
-class FilterNode
-{
- private String name_;
- private ImageFilter filter_;
-
- FilterNode(String name, ImageFilter filter)
- {
- name_ = name;
- filter_ = filter;
- }
-
- String getName()
- {
- return name_;
- }
-
- ImageFilter getFilter()
- {
- return filter_;
- }
-}
diff --git a/java/ImageProcessing/framework/ImageSender.java b/java/ImageProcessing/framework/ImageSender.java
deleted file mode 100644
index c1659267537..00000000000
--- a/java/ImageProcessing/framework/ImageSender.java
+++ /dev/null
@@ -1,128 +0,0 @@
-package imaging.framework;
-
-import java.awt.*;
-import java.net.*;
-import java.io.*;
-import java.applet.*;
-import JACE.OS.*;
-import JACE.Connection.*;
-
-public class ImageSender
-{
- public ImageSender (Applet parent)
- {
- this.parent_ = parent;
- }
-
- // ******************
- // Currently bombs if it's not in an http or / format
- //
- public void open (Image image, String url)
- {
- this.image_ = image;
-
- this.hostname_ = url;
- if (this.hostname_.startsWith ("http://"))
- this.hostname_ = this.hostname_.substring (7);
-
- int index = -1;
- if ((index = this.hostname_.indexOf (":")) != -1)
- {
- String temp = this.hostname_.substring (index + 1);
- int i = -1;
- if ((i = temp.indexOf ("/")) != -1)
- {
- this.port_ = (new Integer (temp.substring (0, i))).intValue ();
- this.filename_ = temp.substring (i);
- }
- this.hostname_ = this.hostname_.substring (0, index);
- }
- else
- {
- int i = -1;
- if ((i = this.hostname_.indexOf ("/")) != -1)
- {
- this.filename_ = hostname_.substring (i);
- }
- this.hostname_ = this.hostname_.substring (0, i);
- this.port_ = 80;
- }
- }
-
- // Maintain compatibility
- public int send ()
- {
- return send(null);
- }
-
- /*******************************************
- * The authenication string allows the PUT command to work if the server
- * accepts the basic HTTP 1.1 encryption scheme
- *******************************************/
- public int send (String authentication)
- {
- ImageByteCounter byteCounter = new ImageByteCounter ("", this.image_, this.parent_);
- // StatusIndicator indicator = new StatusIndicator ("");
- // ImageByteCounter byteCounter = new ImageByteCounter ("", this.image_, indicator);
- int length = byteCounter.count ();
- // indicator.dispose ();
- // First determine how many bytes we will be sending
- /*
- try
- {
- GIFOutputStream ostream = new GIFOutputStream ();
- GifEncoder encoder = new GifEncoder (this.image_, ostream);
- encoder.encode ();
-
- length = ostream.count ();
- System.out.println ("send: " + length);
- }
- catch (IOException e)
- {
- ACE.ERROR ("Exception generating gif");
- }
- */
-
- GIFHandler gifHandler;
- if (authentication == null)
- gifHandler = new GIFHandler (this.filename_, this.image_, length);
- else
- gifHandler = new GIFHandler (this.filename_, this.image_, length, authentication);
-
- try
- {
- // Connect to the server and send the image
- this.connector_.open (this.hostname_, this.port_);
- this.connector_.connect (gifHandler);
- }
- catch (UnknownHostException e)
- {
- ACE.ERROR (e);
- }
- catch (InstantiationException e)
- {
- ACE.ERROR (e);
- }
- catch (IllegalAccessException e)
- {
- ACE.ERROR (e);
- }
- catch (IOException e)
- {
- ACE.ERROR (e);
- }
-
- if (gifHandler.returnCode () != -1)
- return gifHandler.bytesWritten ();
- else
- return -1;
- }
-
- private Image image_ = null;
- String filename_;
- String hostname_;
- int port_;
- Connector connector_ = new Connector ();
- Applet parent_;
-}
-
diff --git a/java/ImageProcessing/framework/IntHashtable.java b/java/ImageProcessing/framework/IntHashtable.java
deleted file mode 100644
index 95e6cbc25e0..00000000000
--- a/java/ImageProcessing/framework/IntHashtable.java
+++ /dev/null
@@ -1,396 +0,0 @@
-// IntHashtable - a Hashtable that uses ints as the keys
-//
-// This is 90% based on JavaSoft's java.util.Hashtable.
-//
-// Visit the ACME Labs Java page for up-to-date versions of this and other
-// fine Java utilities: http://www.acme.com/java/
-
-package imaging.framework;
-
-import java.util.*;
-
-/// A Hashtable that uses ints as the keys.
-// <P>
-// Use just like java.util.Hashtable, except that the keys must be ints.
-// This is much faster than creating a new Integer for each access.
-// <P>
-// <A HREF="/resources/classes/Acme/IntHashtable.java">Fetch the software.</A><BR>
-// <A HREF="/resources/classes/Acme.tar.Z">Fetch the entire Acme package.</A>
-// <P>
-// @see java.util.Hashtable
-
-public class IntHashtable extends Dictionary implements Cloneable
- {
- /// The hash table data.
- private IntHashtableEntry table[];
-
- /// The total number of entries in the hash table.
- private int count;
-
- /// Rehashes the table when count exceeds this threshold.
- private int threshold;
-
- /// The load factor for the hashtable.
- private float loadFactor;
-
- /// Constructs a new, empty hashtable with the specified initial
- // capacity and the specified load factor.
- // @param initialCapacity the initial number of buckets
- // @param loadFactor a number between 0.0 and 1.0, it defines
- // the threshold for rehashing the hashtable into
- // a bigger one.
- // @exception IllegalArgumentException If the initial capacity
- // is less than or equal to zero.
- // @exception IllegalArgumentException If the load factor is
- // less than or equal to zero.
- public IntHashtable( int initialCapacity, float loadFactor )
- {
- if ( initialCapacity <= 0 || loadFactor <= 0.0 )
- throw new IllegalArgumentException();
- this.loadFactor = loadFactor;
- table = new IntHashtableEntry[initialCapacity];
- threshold = (int) ( initialCapacity * loadFactor );
- }
-
- /// Constructs a new, empty hashtable with the specified initial
- // capacity.
- // @param initialCapacity the initial number of buckets
- public IntHashtable( int initialCapacity )
- {
- this( initialCapacity, 0.75f );
- }
-
- /// Constructs a new, empty hashtable. A default capacity and load factor
- // is used. Note that the hashtable will automatically grow when it gets
- // full.
- public IntHashtable()
- {
- this( 101, 0.75f );
- }
-
- /// Returns the number of elements contained in the hashtable.
- public int size()
- {
- return count;
- }
-
- /// Returns true if the hashtable contains no elements.
- public boolean isEmpty()
- {
- return count == 0;
- }
-
- /// Returns an enumeration of the hashtable's keys.
- // @see IntHashtable#elements
- public synchronized Enumeration keys()
- {
- return new IntHashtableEnumerator( table, true );
- }
-
- /// Returns an enumeration of the elements. Use the Enumeration methods
- // on the returned object to fetch the elements sequentially.
- // @see IntHashtable#keys
- public synchronized Enumeration elements()
- {
- return new IntHashtableEnumerator( table, false );
- }
-
- /// Returns true if the specified object is an element of the hashtable.
- // This operation is more expensive than the containsKey() method.
- // @param value the value that we are looking for
- // @exception NullPointerException If the value being searched
- // for is equal to null.
- // @see IntHashtable#containsKey
- public synchronized boolean contains( Object value )
- {
- if ( value == null )
- throw new NullPointerException();
- IntHashtableEntry tab[] = table;
- for ( int i = tab.length ; i-- > 0 ; )
- {
- for ( IntHashtableEntry e = tab[i] ; e != null ; e = e.next )
- {
- if ( e.value.equals( value ) )
- return true;
- }
- }
- return false;
- }
-
- /// Returns true if the collection contains an element for the key.
- // @param key the key that we are looking for
- // @see IntHashtable#contains
- public synchronized boolean containsKey( int key )
- {
- IntHashtableEntry tab[] = table;
- int hash = key;
- int index = ( hash & 0x7FFFFFFF ) % tab.length;
- for ( IntHashtableEntry e = tab[index] ; e != null ; e = e.next )
- {
- if ( e.hash == hash && e.key == key )
- return true;
- }
- return false;
- }
-
- /// Gets the object associated with the specified key in the
- // hashtable.
- // @param key the specified key
- // @returns the element for the key or null if the key
- // is not defined in the hash table.
- // @see IntHashtable#put
- public synchronized Object get( int key )
- {
- IntHashtableEntry tab[] = table;
- int hash = key;
- int index = ( hash & 0x7FFFFFFF ) % tab.length;
- for ( IntHashtableEntry e = tab[index] ; e != null ; e = e.next )
- {
- if ( e.hash == hash && e.key == key )
- return e.value;
- }
- return null;
- }
-
- /// A get method that takes an Object, for compatibility with
- // java.util.Dictionary. The Object must be an Integer.
- public Object get( Object okey )
- {
- if ( ! ( okey instanceof Integer ) )
- throw new InternalError( "key is not an Integer" );
- Integer ikey = (Integer) okey;
- int key = ikey.intValue();
- return get( key );
- }
-
- /// Rehashes the content of the table into a bigger table.
- // This method is called automatically when the hashtable's
- // size exceeds the threshold.
- protected void rehash()
- {
- int oldCapacity = table.length;
- IntHashtableEntry oldTable[] = table;
-
- int newCapacity = oldCapacity * 2 + 1;
- IntHashtableEntry newTable[] = new IntHashtableEntry[newCapacity];
-
- threshold = (int) ( newCapacity * loadFactor );
- table = newTable;
-
- for ( int i = oldCapacity ; i-- > 0 ; )
- {
- for ( IntHashtableEntry old = oldTable[i] ; old != null ; )
- {
- IntHashtableEntry e = old;
- old = old.next;
-
- int index = ( e.hash & 0x7FFFFFFF ) % newCapacity;
- e.next = newTable[index];
- newTable[index] = e;
- }
- }
- }
-
- /// Puts the specified element into the hashtable, using the specified
- // key. The element may be retrieved by doing a get() with the same key.
- // The key and the element cannot be null.
- // @param key the specified key in the hashtable
- // @param value the specified element
- // @exception NullPointerException If the value of the element
- // is equal to null.
- // @see IntHashtable#get
- // @return the old value of the key, or null if it did not have one.
- public synchronized Object put( int key, Object value )
- {
- // Make sure the value is not null.
- if ( value == null )
- throw new NullPointerException();
-
- // Makes sure the key is not already in the hashtable.
- IntHashtableEntry tab[] = table;
- int hash = key;
- int index = ( hash & 0x7FFFFFFF ) % tab.length;
- for ( IntHashtableEntry e = tab[index] ; e != null ; e = e.next )
- {
- if ( e.hash == hash && e.key == key )
- {
- Object old = e.value;
- e.value = value;
- return old;
- }
- }
-
- if ( count >= threshold )
- {
- // Rehash the table if the threshold is exceeded.
- rehash();
- return put( key, value );
- }
-
- // Creates the new entry.
- IntHashtableEntry e = new IntHashtableEntry();
- e.hash = hash;
- e.key = key;
- e.value = value;
- e.next = tab[index];
- tab[index] = e;
- ++count;
- return null;
- }
-
- /// A put method that takes an Object, for compatibility with
- // java.util.Dictionary. The Object must be an Integer.
- public Object put( Object okey, Object value )
- {
- if ( ! ( okey instanceof Integer ) )
- throw new InternalError( "key is not an Integer" );
- Integer ikey = (Integer) okey;
- int key = ikey.intValue();
- return put( key, value );
- }
-
- /// Removes the element corresponding to the key. Does nothing if the
- // key is not present.
- // @param key the key that needs to be removed
- // @return the value of key, or null if the key was not found.
- public synchronized Object remove( int key )
- {
- IntHashtableEntry tab[] = table;
- int hash = key;
- int index = ( hash & 0x7FFFFFFF ) % tab.length;
- for ( IntHashtableEntry e = tab[index], prev = null ; e != null ; prev = e, e = e.next )
- {
- if ( e.hash == hash && e.key == key )
- {
- if ( prev != null )
- prev.next = e.next;
- else
- tab[index] = e.next;
- --count;
- return e.value;
- }
- }
- return null;
- }
-
- /// A remove method that takes an Object, for compatibility with
- // java.util.Dictionary. The Object must be an Integer.
- public Object remove( Object okey )
- {
- if ( ! ( okey instanceof Integer ) )
- throw new InternalError( "key is not an Integer" );
- Integer ikey = (Integer) okey;
- int key = ikey.intValue();
- return remove( key );
- }
-
- /// Clears the hash table so that it has no more elements in it.
- public synchronized void clear()
- {
- IntHashtableEntry tab[] = table;
- for ( int index = tab.length; --index >= 0; )
- tab[index] = null;
- count = 0;
- }
-
- /// Creates a clone of the hashtable. A shallow copy is made,
- // the keys and elements themselves are NOT cloned. This is a
- // relatively expensive operation.
- public synchronized Object clone()
- {
- try
- {
- IntHashtable t = (IntHashtable) super.clone();
- t.table = new IntHashtableEntry[table.length];
- for ( int i = table.length ; i-- > 0 ; )
- t.table[i] = ( table[i] != null ) ?
- (IntHashtableEntry) table[i].clone() : null;
- return t;
- }
- catch ( CloneNotSupportedException e)
- {
- // This shouldn't happen, since we are Cloneable.
- throw new InternalError();
- }
- }
-
- /// Converts to a rather lengthy String.
- public synchronized String toString()
- {
- int max = size() - 1;
- StringBuffer buf = new StringBuffer();
- Enumeration k = keys();
- Enumeration e = elements();
- buf.append( "{" );
-
- for ( int i = 0; i <= max; ++i )
- {
- String s1 = k.nextElement().toString();
- String s2 = e.nextElement().toString();
- buf.append( s1 + "=" + s2 );
- if ( i < max )
- buf.append( ", " );
- }
- buf.append( "}" );
- return buf.toString();
- }
- }
-
-
-class IntHashtableEntry
- {
- int hash;
- int key;
- Object value;
- IntHashtableEntry next;
-
- protected Object clone()
- {
- IntHashtableEntry entry = new IntHashtableEntry();
- entry.hash = hash;
- entry.key = key;
- entry.value = value;
- entry.next = ( next != null ) ? (IntHashtableEntry) next.clone() : null;
- return entry;
- }
- }
-
-
-class IntHashtableEnumerator implements Enumeration
- {
- boolean keys;
- int index;
- IntHashtableEntry table[];
- IntHashtableEntry entry;
-
- IntHashtableEnumerator( IntHashtableEntry table[], boolean keys )
- {
- this.table = table;
- this.keys = keys;
- this.index = table.length;
- }
-
- public boolean hasMoreElements()
- {
- if ( entry != null )
- return true;
- while ( index-- > 0 )
- if ( ( entry = table[index] ) != null )
- return true;
- return false;
- }
-
- public Object nextElement()
- {
- if ( entry == null )
- while ( ( index-- > 0 ) && ( ( entry = table[index] ) == null ) )
- ;
- if ( entry != null )
- {
- IntHashtableEntry e = entry;
- entry = e.next;
- return keys ? new Integer( e.key ) : e.value;
- }
- throw new NoSuchElementException( "IntHashtableEnumerator" );
- }
- }
diff --git a/java/ImageProcessing/framework/ListFiles.java b/java/ImageProcessing/framework/ListFiles.java
deleted file mode 100644
index 7abe067341c..00000000000
--- a/java/ImageProcessing/framework/ListFiles.java
+++ /dev/null
@@ -1,167 +0,0 @@
-package imaging.framework;
-
-import java.net.*;
-import java.io.*;
-import java.applet.*;
-
-public class ListFiles
-{
- public ListFiles ()
- {
- }
-
- public ListFiles (FileBrowser browser, Applet parent)
- {
- this.browser_ = browser;
- try
- {
- this.fileIcon_ = new Icon (parent.getCodeBase () +
- "../ImageProcessing/framework/" +
- "doc01.gif",
- parent);
- this.dirIcon_ = new Icon (parent.getCodeBase () +
- "../ImageProcessing/framework/" +
- "file03.gif",
- parent);
- }
- catch (MalformedURLException e)
- {
- }
- }
-
- public String stripProtocolHeader (String url)
- {
- if (url.startsWith ("http://"))
- {
- return url.substring (7);
- }
- else
- return url;
- }
-
- public int listFiles (String url, FileNode fileNode)
- {
- String s = this.stripProtocolHeader (url);
- String hostname = s;
- String directory = null;
- int index = -1;
-
- if ((index = s.indexOf ("/")) != -1)
- {
- hostname = s.substring (0, index);
- directory = s.substring (index);
- }
- return this.listFiles (hostname, directory, fileNode);
- }
-
- public int listFiles (String url, String directory, FileNode fileNode)
- {
- boolean validDirectory = false;
- int count = 0;
- String hostname = this.stripProtocolHeader (url);
- this.url_ = url;
- this.directory_ = directory;
- try
- {
- Socket sock = new Socket (hostname, 80);
- PrintStream out = new PrintStream (sock.getOutputStream ());
- DataInputStream in = new DataInputStream (sock.getInputStream ());
- System.out.println ("Connected to: " + hostname);
-
- String request = null;
- if (directory.endsWith ("/"))
- request = "GET " + directory + "\n\n";
- else
- request = "GET " + directory + "/\n\n";
-
- System.out.println ("Sending request: " + request);
-
- // Send the request
- out.println (request);
-
- String reply = null;
- // Receive the reply
-
- // Read all the data in a loop. Search for "Parent Directory"
- // to verify that this indeed is a directory. If we encounter
- // the string "<HTML>" then assume that this is an HTML page
- // and therefore the directory contained "index.html"
- while ((reply = in.readLine ()) != null)
- {
- if (validDirectory)
- this.parse (reply, fileNode);
- else
- {
- // Take a guess at the type of data we get back
- if (reply.indexOf ("Parent Directory") != -1)
- validDirectory = true;
- else if ((reply.toUpperCase ().indexOf ("<HTML>") != -1) ||
- (reply.toUpperCase ().indexOf ("<P>") != -1) ||
- (reply.toUpperCase ().indexOf ("<TABLE") != -1))
- return 0;
- }
- }
- }
- catch (MalformedURLException e)
- {
- System.err.println (e);
- }
- catch (IOException e)
- {
- System.err.println (e);
- }
- if (validDirectory == false)
- return -1;
- return 1;
- }
-
- private int parse (String s, FileNode fileNode)
- {
- int i= -1;
- int j = -1;
- int startIndex = -1;
- int endIndex = -1;
- boolean isFile = true;
- String name = null;
-
- if ((i = s.indexOf ("HREF=")) != -1)
- startIndex = i + 6;
- else
- return -1;
-
- if ((j = s.indexOf (">", i)) != -1)
- endIndex = j - 1;
- else
- return -1;
-
- // Check if this is a directory
- if (s.charAt (endIndex - 1) == '/')
- isFile = false;
-
- if (endIndex >= startIndex)
- {
- name = s.substring (startIndex, endIndex);
- if (browser_ != null)
- {
- // System.out.println (name);
- if (isFile)
- fileNode.addEntry (new FileNode (name, this.fileIcon_, null,
- fileNode.app ()));
- else
- {
- FileNode f = new FileNode (name, this.dirIcon_, this,
- fileNode.app ());
- fileNode.addEntry (f);
- f.setExpandable (true);
- }
- }
- }
- return 0;
- }
-
- private FileBrowser browser_ = null;
- private String url_ = null;
- private String directory_ = null;
- private Icon fileIcon_;
- private Icon dirIcon_;
-}
diff --git a/java/ImageProcessing/framework/LoadURLFrame.java b/java/ImageProcessing/framework/LoadURLFrame.java
deleted file mode 100755
index 610d9eaafa8..00000000000
--- a/java/ImageProcessing/framework/LoadURLFrame.java
+++ /dev/null
@@ -1,142 +0,0 @@
-package imaging.framework;
-
-import java.awt.*;
-import java.awt.image.*;
-import java.net.*;
-import java.io.*;
-
-/******************************************************
- * Future idea:
- *
- * Create a smart button class with an invoke method that's
- * to be called when the button is pressed.
- *
- * Subclasses override the invoke method to define
- * specific behavior.
- *
- * That would allow things like load and save frames
- * to be almost exactly the same -- one could inherit
- * from the other and override addButtons, etc
- *****************************************************/
-
-class LoadURLFrame extends Frame
-{
- public LoadURLFrame (String title, ImageApp parent)
- {
- super (title);
-
- this.parent_ = parent;
- this.resize (500,130);
-
- this.addButtons();
- }
-
- private void addButtons()
- {
- this.setLayout (new BorderLayout ());
-
- Panel textPanel = new Panel ();
- textPanel.setLayout (new BorderLayout ());
- textPanel.add ("North", new Label ("Image Location:"));
- textPanel.add ("Center", this.openURLText_);
-
- Panel buttonPanel = new Panel ();
- buttonPanel.setLayout (new FlowLayout (FlowLayout.CENTER));
-
- buttonPanel.add (this.openButton_);
-
- buttonPanel.add (this.clearButton_);
- buttonPanel.add (this.cancelButton_);
-
- this.add ("North", textPanel);
- this.add ("South", buttonPanel);
- }
-
- private int browseFiles (String url)
- {
- fileBrowser_ = new FileBrowser ("Browse", this.parent_);
- ListFiles list = new ListFiles (this.fileBrowser_, this.parent_);
- return this.fileBrowser_.initialize (url, list);
- }
-
- // Handle all action events
- public boolean action (Event e, Object arg)
- {
- if (e.target instanceof Button)
- {
- if (e.target == this.openButton_)
- {
- this.getURL ();
- }
- else if (e.target == this.clearButton_)
- {
- this.openURLText_.setText (new String ());
- this.openURLText_.requestFocus ();
- }
- else if (e.target == this.cancelButton_)
- this.dispose ();
- validate ();
- return true;
- }
- else
- return false;
- }
-
- public boolean keyDown (Event e, int key)
- {
- if (key == 10)
- {
- this.getURL ();
- return true;
- }
- else
- return false;
- }
-
- private void getURL ()
- {
- this.hide ();
- String url = this.openURLText_.getText ();
- this.dispose ();
-
- // The following is only for debugging
- if (url.compareTo ("ru") == 0)
- url = "http://www.cs/~pjain/gifs/";
- else if (url.compareTo ("pj") == 0)
- url = "http://www.cs/~pjain/myphoto.gif";
-
- if (!url.endsWith ("/") &&
- (this.parent_.openURL (url) != -1)) // Try to open it as an image
- return;
- else
- {
- ListFiles list = new ListFiles ();
- switch (this.browseFiles (url))
- {
- case 1:
- this.fileBrowser_.show ();
- break;
- case 0:
- DialogManager.popDialog (DialogType.MALFORMED_URL,
- "Error: Directory contains index.html");
- break;
- default:
- DialogManager.popDialog (DialogType.MALFORMED_URL,
- "Error: Not a valid image or URL not found");
- break;
- }
- }
- }
-
- // Create the Open URL Frame and also the buttons which appear in
- // it
- private Button openButton_ = new Button ("Open");
- private Button clearButton_ = new Button ("Clear");
- private Button cancelButton_ = new Button ("Cancel");
-
- private TextField openURLText_ = new TextField (40);
-
- private FileBrowser fileBrowser_ = null;
- private ImageApp parent_;
-
-}
diff --git a/java/ImageProcessing/framework/Makefile b/java/ImageProcessing/framework/Makefile
deleted file mode 100644
index 1187b8a88d7..00000000000
--- a/java/ImageProcessing/framework/Makefile
+++ /dev/null
@@ -1,45 +0,0 @@
-# Makefile
-
-.SUFFIXES: .java .class
-
-JACE_WRAPPER = ../..
-CLASSDIR = $(JACE_WRAPPER)/classes
-DOCDIR = $(JACE_WRAPPER)/doc
-
-CLASSPATH := $(CLASSDIR):$(CLASSPATH)
-
-all:
- javac -d ${JACE_WRAPPER}/classes $(files)
-
-clean:
- rm -rf *~
-
-realclean: clean
- rm -rf $(JACE_WRAPPER)/classes/imaging/framework
-
-files = ImageProcessor.java \
- DialogType.java \
- LoadURLFrame.java \
- SaveURLFrame.java \
- DialogManager.java \
- ImageCanvas.java \
- ImageApp.java \
- BaseButton.java \
- FilePanel.java \
- StatusDisplay.java \
- Icon.java \
- Hierarchy.java \
- HierarchyAdapter.java \
- FileBrowser.java \
- ListFiles.java \
- IntHashtable.java \
- ImageEncoder.java \
- GifEncoder.java \
- ImageByteCounter.java \
- StatusIndicator.java \
- GIFHandler.java \
- ImageSender.java \
- ServerTest.java \
- ServerHandler.java \
- Tester.java \
- TestHandler.java
diff --git a/java/ImageProcessing/framework/MedJava.html b/java/ImageProcessing/framework/MedJava.html
deleted file mode 100644
index fe9ce09e7eb..00000000000
--- a/java/ImageProcessing/framework/MedJava.html
+++ /dev/null
@@ -1,15 +0,0 @@
-<HTML>
-<!-- $Id$ -->
-<BODY text = "#000000"
-link="#000fff"
-vlink="#ff0f0f"
-bgcolor="#888888">
-
-<HR>
-<APPLET CODEBASE="/classes/" CODE="imaging.framework.ImageApp.class" width=700 height=700>
-<param name=filename value="myphoto.gif">
-
-</APPLET>
-<HR>
-
-</HTML>
diff --git a/java/ImageProcessing/framework/Options.java b/java/ImageProcessing/framework/Options.java
deleted file mode 100644
index edbe90ba904..00000000000
--- a/java/ImageProcessing/framework/Options.java
+++ /dev/null
@@ -1,25 +0,0 @@
-package imaging.framework;
-
-import java.awt.*;
-
-class Options
-{
- // Set GridBagConstraints
- public static void constrain (Container container, Component component,
- int gridx, int gridy,
- int gridwidth, int gridheight,
- int fill, int anchor)
- {
- GridBagConstraints c = new GridBagConstraints ();
- GridBagLayout gbl = (GridBagLayout) container.getLayout ();
-
- c.gridx = gridx;
- c.gridy = gridy;
- c.gridwidth = gridwidth;
- c.gridheight = gridheight;
- c.fill = fill;
- c.anchor = anchor;
- gbl.setConstraints (component, c);
- container.add (component);
- }
-}
diff --git a/java/ImageProcessing/framework/SaveURLFrame.java b/java/ImageProcessing/framework/SaveURLFrame.java
deleted file mode 100755
index c3b6adf3490..00000000000
--- a/java/ImageProcessing/framework/SaveURLFrame.java
+++ /dev/null
@@ -1,133 +0,0 @@
-package imaging.framework;
-
-import java.awt.*;
-import java.awt.image.*;
-import java.net.*;
-import java.io.*;
-
-/******************************************************
- * Future idea:
- *
- * Create a smart button class with an invoke method that's
- * to be called when the button is pressed.
- *
- * Subclasses override the invoke method to define
- * specific behavior.
- *
- * That would allow things like load and save frames
- * to be almost exactly the same -- one could inherit
- * from the other and override addButtons, etc
- *****************************************************/
-
-
-class SaveURLFrame extends Frame
-{
- public SaveURLFrame (String title, ImageApp parent)
- {
- super (title);
-
- this.parent_ = parent;
- this.resize (500,200);
-
- this.addButtons();
- }
-
- private void addButtons()
- {
- this.setLayout (new BorderLayout ());
-
- Panel textPanels = new Panel();
- textPanels.setLayout(new BorderLayout());
-
- Panel URLPanel = new Panel ();
- URLPanel.setLayout (new BorderLayout ());
- URLPanel.add ("North", new Label ("Image Location:"));
- URLPanel.add ("Center", this.openURLText_);
-
- // Password panel
- Panel pwPanel = new Panel();
- pwPanel.setLayout (new BorderLayout ());
- pwPanel.add ("North", new Label ("Authentication:"));
- pwPanel.add ("Center", this.passwordText_);
-
- textPanels.add("North", URLPanel);
- textPanels.add("South", pwPanel);
-
- Panel buttonPanel = new Panel ();
- buttonPanel.setLayout (new FlowLayout (FlowLayout.CENTER));
-
- buttonPanel.add (this.saveButton_);
- buttonPanel.add (this.clearButton_);
- buttonPanel.add (this.cancelButton_);
-
- this.add ("North", textPanels);
- this.add ("South", buttonPanel);
- }
-
- // Handle all action events
- public boolean action (Event e, Object arg)
- {
- if (e.target instanceof Button)
- {
- if (e.target == this.saveButton_)
- {
- this.saveFile ();
- }
- else if (e.target == this.clearButton_)
- {
- this.openURLText_.setText (new String ());
- this.openURLText_.requestFocus ();
- }
- else if (e.target == this.cancelButton_)
- this.dispose ();
- validate ();
- return true;
- }
- else
- return false;
- }
-
- public boolean keyDown (Event e, int key)
- {
- if (key == 10)
- {
- this.saveFile ();
- return true;
- }
- else
- return false;
- }
-
- private void saveFile ()
- {
- String url = this.openURLText_.getText ();
- String password = this.passwordText_.getText();
- this.hide ();
- this.dispose ();
-
- // The following is only for debugging
- if (url.startsWith ("#"))
- url = "http://merengue.cs:5432/" + url.substring (1);
-
- if ((password != null) && (password.length() > 0))
- this.parent_.saveFile (url, password);
- else
- this.parent_.saveFile (url);
- }
-
-
- // Create the Open URL Frame and also the buttons which appear in
- // it
- private Button saveButton_ = new Button ("Save");
- private Button clearButton_ = new Button ("Clear");
- private Button cancelButton_ = new Button ("Cancel");
-
- private TextField openURLText_ = new TextField (40);
- private TextField passwordText_ = new TextField (40);
-
- private ImageApp parent_;
-
- // Flag indicating if this is a load window or a save window
- private boolean open_ = true;
-
-}
diff --git a/java/ImageProcessing/framework/Separator.java b/java/ImageProcessing/framework/Separator.java
deleted file mode 100644
index 6bd610e1ad9..00000000000
--- a/java/ImageProcessing/framework/Separator.java
+++ /dev/null
@@ -1,90 +0,0 @@
-package gjt;
-
-import java.awt.*;
-
-/**
- * A separator that is drawn either vertically or horizontally
- * depending upon how it is laid out. Can be drawn either
- * etched-in or etched-out, with varying thicknesses. Both
- * thickness and etching are settable at construction time
- * only.<p>
- *
- * Default thickness is 2 pixels and default etching is
- * Etching.IN. Note that thicknesses greater than 4 loose the
- * etching effect.<p>
- *
- * @version 1.0, Apr 1 1996
- * @author David Geary
- * @see Etching
- * @see gjt.test.SeparatorTest
- */
-public class Separator extends Canvas {
- static private Etching _defaultEtching = Etching.IN;
- static private int _defaultThickness = 2;
-
- private Etching etching;
- private int thickness;
-
- public Separator() {
- this(_defaultThickness, _defaultEtching);
- }
- public Separator(int thickness) {
- this(thickness, _defaultEtching);
- }
- public Separator(Etching etching) {
- this(_defaultThickness, etching);
- }
- public Separator(int thickness, Etching etching) {
- this.etching = etching;
- this.thickness = thickness;
- resize(thickness, thickness);
- }
- public Dimension minimumSize() {
- return preferredSize();
- }
- public Dimension preferredSize() {
- return new Dimension(thickness, thickness);
- }
- public void paint(Graphics g) {
- Dimension size = size();
- Color brighter = getBackground().brighter().brighter();
- Color darker = getBackground().darker().darker();
-
- if(etching == Etching.IN) {
- if(size.width > size.height)
- paintHorizontal(g, size, darker, brighter);
- else
- paintVertical(g, size, darker, brighter);
- }
- else {
- if(size.width > size.height)
- paintHorizontal(g, size, brighter, darker);
- else
- paintVertical(g, size, brighter, darker);
- }
- }
- public String paramString() {
- Dimension size = size();
- Orientation orient = size.width > size.height ?
- Orientation.HORIZONTAL :
- Orientation.VERTICAL;
- return super.paramString() + "thickness=" +
- thickness + "," + etching + "," + orient;
- }
- private void paintHorizontal(Graphics g, Dimension size,
- Color top, Color bottom) {
- g.setColor(top);
- g.fillRect(0, (size.height/2) - (thickness/2),
- size.width, thickness/2);
- g.setColor(bottom);
- g.fillRect(0, size.height/2, size.width, thickness/2);
- }
- private void paintVertical(Graphics g, Dimension size,
- Color left, Color right) {
- g.setColor(left);
- g.fillRect((size.width/2) - (thickness/2),
- 0, thickness/2, size.height);
- g.setColor(right);
- g.fillRect(size.width/2, 0, thickness/2, size.height);
- }
-}
diff --git a/java/ImageProcessing/framework/ServerHandler.java b/java/ImageProcessing/framework/ServerHandler.java
deleted file mode 100644
index 88da64d6328..00000000000
--- a/java/ImageProcessing/framework/ServerHandler.java
+++ /dev/null
@@ -1,50 +0,0 @@
-package imaging.framework;
-
-import java.io.*;
-import java.net.*;
-import JACE.OS.*;
-import JACE.Connection.*;
-
-public class ServerHandler extends SvcHandler
-{
- public int open (Object obj)
- {
- new Thread (this).start ();
- return 0;
- }
-
- public void run ()
- {
- int msg_len;
- try
- {
- while (true)
- {
- StringBuffer msg = new StringBuffer ();
- msg_len = this.peer ().recv (msg);
- if (msg_len == 0)
- break;
- System.out.println (msg);
- }
- }
- catch (NullPointerException e)
- {
- ACE.ERROR ("connection reset by peer");
- }
- catch (IOException e)
- {
- ACE.ERROR (e);
- }
- finally
- {
- try
- {
- this.peer ().close ();
- }
- catch (IOException e)
- {
- }
- }
-
- }
-}
diff --git a/java/ImageProcessing/framework/ServerTest.java b/java/ImageProcessing/framework/ServerTest.java
deleted file mode 100644
index b5ab00596ea..00000000000
--- a/java/ImageProcessing/framework/ServerTest.java
+++ /dev/null
@@ -1,67 +0,0 @@
-package imaging.framework;
-
-import java.io.*;
-import java.net.*;
-import JACE.OS.*;
-import JACE.Connection.*;
-
-public class ServerTest
-{
- void print_usage_and_die ()
- {
- System.out.println ("Usage: ServerTest [<port>]");
- System.exit (0);
- }
-
- public void init (int port)
- {
- try
- {
- Acceptor acceptor = new Acceptor (Class.forName ("imaging.framework.ServerHandler"));
- acceptor.open (port);
- while (true)
- {
- acceptor.accept ();
- }
- }
- catch (ClassNotFoundException e)
- {
- ACE.ERROR (e);
- }
- catch (SocketException e)
- {
- ACE.ERROR ("Socket Exception: " + e);
- }
- catch (InstantiationException e)
- {
- ACE.ERROR (e);
- }
- catch (IllegalAccessException e)
- {
- ACE.ERROR ("Dang!" + e);
- }
- catch (IOException e)
- {
- ACE.ERROR (e);
- }
- }
-
- public static void main (String [] args)
- {
- int port = ACE.DEFAULT_SERVER_PORT;
- ServerTest server = new ServerTest ();
-
- if (args.length == 1)
- {
- try
- {
- port = Integer.parseInt (args[0]);
- }
- catch (NumberFormatException e)
- {
- server.print_usage_and_die ();
- }
- }
- server.init (port);
- }
-}
diff --git a/java/ImageProcessing/framework/StatusDisplay.java b/java/ImageProcessing/framework/StatusDisplay.java
deleted file mode 100644
index e20e9b8384d..00000000000
--- a/java/ImageProcessing/framework/StatusDisplay.java
+++ /dev/null
@@ -1,23 +0,0 @@
-package imaging.framework;
-
-import java.awt.*;
-import gjt.Separator;
-
-class StatusDisplay extends Panel
-{
- public StatusDisplay ()
- {
- this.setLayout (new BorderLayout ());
- this.textField_.setEditable (false);
- this.add ("North", new Separator ());
- this.add ("Center", this.textField_);
- this.add ("South", new Separator ());
- }
-
- public void setText (String s)
- {
- this.textField_.setText (s);
- }
-
- private TextField textField_ = new TextField ();
-}
diff --git a/java/ImageProcessing/framework/StatusIndicator.java b/java/ImageProcessing/framework/StatusIndicator.java
deleted file mode 100644
index 0f13a71c016..00000000000
--- a/java/ImageProcessing/framework/StatusIndicator.java
+++ /dev/null
@@ -1,70 +0,0 @@
-package imaging.framework;
-
-import java.io.*;
-import java.awt.*;
-
-public class StatusIndicator extends Frame
-{
- public StatusIndicator (String title, Image image)
- {
- super (title);
- this.image_ = image;
- // statusCanvas_ = new CounterCanvas (image);
- this.setLayout (new BorderLayout ());
- this.text_ = new TextField ();
- this.label_ = new TextField ("Generating");
-
- this.add ("North", this.label_);
- this.add ("Center", text_);
- // this.add ("Center", statusCanvas_);
- // this.add ("Center", new Button ("Hello"));
- // this.add ("South", new Button ("Hello"));
- this.resize (300,200);
- this.show ();
- }
-
- public void update (int count)
- {
- // this.label_.setText ("Generating...");
- this.text_.setText ((new Integer (count++)).toString ());
- // statusCanvas_.update ();
- // textCanvas_.setCount (count);
- }
-
- TextField text_;
- TextField label_;
- Image image_;
- // CounterCanvas statusCanvas_ = null;
-}
-
-class CounterCanvas extends Canvas
-{
- public CounterCanvas (Image image)
- {
- this.image_ = image;
- }
-
- public void paint (Graphics g)
- {
- g.clearRect (0, 0, this.size ().width, this.size ().height);
- this.setBackground (Color.white);
-
- if (this.image_ != null)
- g.drawImage(this.image_,
- 40, 40,
- this.image_.getWidth (this),
- this.image_.getHeight (this),
- this);
-
- g.setFont (new Font ("TimesRoman", Font.PLAIN, 18));
- g.drawString ("Generating GIF format: ", 120, 120);
- }
-
- public void update ()
- {
- repaint ();
- }
-
- Image image_ = null;
-}
-
diff --git a/java/ImageProcessing/framework/TestHandler.java b/java/ImageProcessing/framework/TestHandler.java
deleted file mode 100644
index 5a97ae6f8b2..00000000000
--- a/java/ImageProcessing/framework/TestHandler.java
+++ /dev/null
@@ -1,149 +0,0 @@
-package imaging.framework;
-
-import java.io.*;
-import java.net.*;
-import java.awt.*;
-import java.awt.image.*;
-import java.util.*;
-import JACE.OS.*;
-import JACE.Connection.*;
-import JACE.Timers.*;
-
-public class TestHandler extends SvcHandler
-{
- public TestHandler (String imageList,
- String JAWSServer, int JAWSPort,
- ImageApp parent)
- {
- this.imageList_ = imageList;
- this.JAWSServer_ = JAWSServer;
- this.JAWSPort_ = JAWSPort;
- this.parent_ = parent;
- this.filterTable_ = this.parent_.filterTable();
- }
-
- public int open (Object obj)
- {
- // We got called by the Connector so assume connection was set up
- // fine and therfore do not use standard output
- stdOut = false;
-
- doTesting ();
- return 0;
- }
-
- public void doTesting ()
- {
- if (imageList_ != null)
- {
- StringTokenizer tokens = new StringTokenizer (imageList_);
- String image = null;
-
- // Now parse the string, picking up image names.
- while (tokens.hasMoreTokens ())
- {
- // Get the next token
- image = tokens.nextToken ();
- this.process (image);
- }
- }
- }
-
- private void write (String data)
- {
- try
- {
- // If we are connected to the server then send the data to the
- // server, otherwise write it to standard out.
- if (stdOut)
- System.out.print (data);
- else
- this.peer ().send (data);
- }
- catch (IOException e)
- {
- ACE.ERROR (e);
- }
- }
-
- private void process (String image)
- {
- this.write ("Image: " + image + "\n");
-
- this.loadImage (image);
- this.processImage (image);
- this.uploadImage (image);
- }
-
- private void loadImage (String image)
- {
- this.write ("\tLoading...");
-
- // Start the timer
- timer_.start ();
-
- // Load the image
- parent_.openURL (image);
-
- // Stop the timer
- timer_.stop ();
- long time = timer_.elapsedTime ();
-
- this.write ("done (" + ((double) time)/1000 + " seconds).\n");
- }
-
- private void processImage (String image)
- {
- this.write ("\tProcessing...\n");
-
- for (Enumeration e = filterTable_.keys (); e.hasMoreElements (); )
- {
- String filterName = (String) e.nextElement ();
-
- this.write ("\t\t" + filterName + "...");
-
- ImageFilter filter = (ImageFilter) filterTable_.get (filterName);
-
- // Reset the image -- in case it was modified earlier
- this.parent_.resetImage ();
-
- // Start the timer
- timer_.start ();
-
- this.parent_.apply (filter);
-
- // Stop the timer
- timer_.stop ();
- long time = timer_.elapsedTime ();
-
- this.write ("done (" + ((double) time)/1000 + " seconds).\n");
- }
- }
-
- private void uploadImage (String image)
- {
- int index = image.lastIndexOf ("/");
- String imageName = image.substring (index+1);
- String url = "http://" + this.JAWSServer_ + ":" + this.JAWSPort_ + "/" + imageName;
- this.write ("\tUploading " + url + "...");
-
- // Start the timer
- timer_.start ();
-
- this.parent_.saveFile (url);
-
- // Stop the timer
- timer_.stop ();
- long time = timer_.elapsedTime ();
-
- this.write ("done (" + ((double) time)/1000 + " seconds).\n");
- }
-
- private ImageApp parent_ = null;
- private ProfileTimer timer_ = new ProfileTimer ();
- private String imageList_ = null;
- private boolean stdOut = true;
- private Hashtable filterTable_ = null;
- private String JAWSServer_ = null;
- private int JAWSPort_ = 5432;
-}
diff --git a/java/ImageProcessing/framework/Tester.java b/java/ImageProcessing/framework/Tester.java
deleted file mode 100644
index 79204bb4c5a..00000000000
--- a/java/ImageProcessing/framework/Tester.java
+++ /dev/null
@@ -1,148 +0,0 @@
-package imaging.framework;
-
-import java.io.*;
-import java.net.*;
-import java.awt.*;
-import java.awt.image.*;
-import java.util.*;
-import JACE.Connection.*;
-import JACE.OS.*;
-
-public class Tester implements Runnable
-{
- public static final String DEFAULT_TEST_SERVER = "siesta.cs.wustl.edu";
- public static final int DEFAULT_TEST_SERVER_PORT = 7787;
- public static final String DEFAULT_JAWS_SERVER = "siesta.cs.wustl.edu";
- public static final int DEFAULT_JAWS_SERVER_PORT = 5432;
-
- public Tester (String testInFile,
- ImageApp parent)
- {
- this.testInFile_ = testInFile;
- this.parent_ = parent;
- }
-
- public void initialize ()
- {
- System.out.println ("Initializing tester...");
-
- // Get the hostname of the test server
- this.server_ = this.parent_.getParameter ("testServer");
- if (this.server_ == null)
- this.server_ = DEFAULT_TEST_SERVER;
-
- // Get the port number of the test server
- String testPortString = this.parent_.getParameter ("testPort");
- if (testPortString == null)
- this.port_ = DEFAULT_TEST_SERVER_PORT;
- else
- this.port_ = (new Integer (testPortString)).intValue ();
-
- // Get the hostname of the JAWS server
- this.JAWSServer_ = this.parent_.getParameter ("JAWSServer");
- if (this.JAWSServer_ == null)
- this.JAWSServer_ = DEFAULT_JAWS_SERVER;
-
- // Get the port number of the JAWS server
- String JAWSPortString = this.parent_.getParameter ("JAWSPort");
- if (JAWSPortString == null)
- this.JAWSServerPort_ = DEFAULT_JAWS_SERVER_PORT;
- else
- this.JAWSServerPort_ = (new Integer (JAWSPortString)).intValue ();
-
- System.out.println ("Test Input File: " + this.testInFile_);
- System.out.println ("Test Server: " + this.server_ + "\tPort: " + this.port_);
- System.out.println ("JAWS Server: " + this.JAWSServer_ + "\tPort: " + this.JAWSServerPort_);
-
- // Run in your own thread of control
- (new Thread (this)).start ();
- }
-
- public void run ()
- {
- this.setupConnection (this.getImages ());
- }
-
- private String getImages ()
- {
- URL inputURL;
- String imageList = null;
- try
- {
- // Create input URL
- inputURL = new URL (this.testInFile_);
-
- // Get the input stream and pipe it to a DataInputStream
- DataInputStream iStream = new DataInputStream (inputURL.openStream ());
-
- // Create a buffer to hold all the data we get
- StringBuffer tempBuf = new StringBuffer ();
- // Keep reading the data until we are done
- String tempString = iStream.readLine ();
- while (tempString != null)
- {
- tempBuf.append (tempString);
- tempBuf.append (" ");
- tempString = iStream.readLine ();
- }
- imageList = tempBuf.toString ();
- }
- catch (MalformedURLException e)
- {
- ACE.ERROR (e);
- }
- catch (IOException e)
- {
- ACE.ERROR (e);
- }
- return imageList;
- }
-
- private void setupConnection (String imageList)
- {
- // First try to connect to the server. If the server is not
- // running then we will write to standard output.
-
- // Create a handler which will handle our connection.
- TestHandler handler = new TestHandler (imageList,
- this.JAWSServer_, this.JAWSServerPort_,
- this.parent_);
- try
- {
- Connector connector = new Connector ();
- connector.open (server_, port_);
- connector.connect (handler);
- }
- catch (UnknownHostException e)
- {
- ACE.ERROR (e);
- }
- catch (SocketException e)
- {
- System.out.println ("Test Server not running! Writing to standard out...");
- // The server is not running so write all the output to screen
- handler.doTesting ();
- }
- catch (InstantiationException e)
- {
- ACE.ERROR (e);
- }
- catch (IllegalAccessException e)
- {
- ACE.ERROR (e);
- }
- catch (IOException e)
- {
- ACE.ERROR (e);
- }
- }
-
- private String testInFile_ = null;
- private ImageApp parent_ = null;
- private String server_ = "siesta.cs.wustl.edu";
- private int port_ = 7787;
-
- private String JAWSServer_ = "siesta.cs.wustl.edu";
- private int JAWSServerPort_ = 5432;
-}
-
diff --git a/java/ImageProcessing/framework/doc01.gif b/java/ImageProcessing/framework/doc01.gif
deleted file mode 100644
index 51262529f6d..00000000000
--- a/java/ImageProcessing/framework/doc01.gif
+++ /dev/null
Binary files differ
diff --git a/java/ImageProcessing/framework/file03.gif b/java/ImageProcessing/framework/file03.gif
deleted file mode 100644
index c98654c604b..00000000000
--- a/java/ImageProcessing/framework/file03.gif
+++ /dev/null
Binary files differ
diff --git a/java/ImageProcessing/framework/filter.conf b/java/ImageProcessing/framework/filter.conf
deleted file mode 100644
index 2e90ea136ce..00000000000
--- a/java/ImageProcessing/framework/filter.conf
+++ /dev/null
@@ -1,15 +0,0 @@
-imaging.filters.EmbossFilter
-imaging.filters.BleachFilter
-imaging.filters.BlurFilter
-imaging.filters.DarkenFilter
-imaging.filters.DeSpeckleFilter
-imaging.filters.EdgeDetectFilter
-imaging.filters.OilPaintFilter
-imaging.filters.PixelizeFilter
-imaging.filters.RotateFilter
-imaging.filters.SharpenFilter
-imaging.filters.SpreadFilter
-
-
-
-
diff --git a/java/ImageProcessing/framework/help.conf b/java/ImageProcessing/framework/help.conf
deleted file mode 100644
index 8a07e2867d9..00000000000
--- a/java/ImageProcessing/framework/help.conf
+++ /dev/null
@@ -1,216 +0,0 @@
- MedJava
- ~~~~~~~
-
-Overview
---------
-
-MedJava is a prototype of a large scale distributed medical imaging
-system. It has been developed using Java, in particular, several
-components of Java ACE.
-
-Here are the key features of the MedJava toolkit:
-
-* Images can be both downloaded and uploaded across the network.
-* Images can be uploaded to Web servers that support HTTP PUT
- functionality (for example, JAWS).
-* The tool contains more than a dozen image filters to do image
- processing.
-* The image filters can be configured into the system dynamically
- using the Service Configurator pattern.
-
-Please send comments/suggestions to Prashant Jain (pjain@cs.wustl.edu).
-
-======================================================================
-Getting Started
----------------
-
-MedJava applet can be configured with several (optional) parameters
-via the HTML file from which the applet is invoked. Here is a list of
-the parameters:
-
-Note:
- 1) * indicates test-mode parameters
- 2) All Default URLs begin with
- http://www.cs.wustl.edu/~pjain/java/ACE_wrappers/java/ImageProcessing/framework/
-
-<START>
-Name
-<TAB>
-<TAB>
-Description
-<TAB>
-<TAB>
-<TAB>
-<TAB>
-Default
-<P>
---------------------------------------------------------------
-<P>
-configFile
-<TAB>
-<TAB>
-Specifies a URL that points to the filter
-<P>
-<TAB>
-<TAB>
-configuration file.
-<TAB>
-<TAB>
-<TAB>
-<TAB>
-<TAB>
-filter.conf
-<P>
-<P>
-*testFile
-<TAB>
-<TAB>
-Specifies a URL that points to the file that contains
-<P>
-<TAB>
-<TAB>
-a list of images that need to be tested.
-<TAB>
-<TAB>
-<TAB>
-testImages.conf
-<P>
-<P>
-*testServer
-<TAB>
-Specifies the name of the test server.
-<TAB>
-<TAB>
-<TAB>
-siesta.cs.wustl.edu
-<P>
-<P>
-*testPort
-<TAB>
-<TAB>
-Specifies the port number of the test server.
-<TAB>
-<TAB>
-<TAB>
-7789
-<P>
-<P>
-*JAWSServer
-<TAB>
-Specifies the name of the server to use in
-<P>
-<TAB>
-<TAB>
-doing image uploading during testing.
-<TAB>
-<TAB>
-<TAB>
-siesta.cs.wustl.edu
-<P>
-<P>
-*JAWSPort
-<TAB>
-Specifies the port number of the server to use
-<P>
-<TAB>
-<TAB>
-in doing image uploading during testing.
-<TAB>
-<TAB>
-<TAB>
-5432
-<P>
-======================================================================
-<END>
-
-Menu
-----
-
-o Open URL
-
- Allows user to specify a URL. If the URL points to an image that is
- readable, then the image is downloaded and displayed in the view
- panel.
-
- If the URL points to a directory that is readable then a window
- appears displaying a list of files in that directory. The user can
- then click on an image file in this window to fetch an image.
-
- IMPORTANT NOTE: If the URL points to a directory, the directory must
- not contain an "index.html" file! If it does, the
- query will fail and no list of files will appear.
-
-o Save
-
- Allows user to specify a URL to save the currently loaded image to.
- All images are saved in GIF format. Note that saving/uploading a
- file can take a while depending upon the size of the image. This is
- because, the tool first generates the GIF format and then sends the
- bytes across the network.
-
- IMPORTANT NOTE: The Web server must support image uploading, that is
- HTTP PUT functionality. Also, due to applet
- restrictions, the server MUST be running on the same
- host from which the applet was downloaded from.
-
-o Reset
-
- Resets the image to the original. Note that the effects of any
- filters that were applied to the image will be lost.
-
-o Reload Filters
-
- Reads the filter configuration file again and reloads all the image
- filters. Note that this serves as the trigger of the Service
- Configurator pattern allowing the tool to reconfigure based on new
- configuration information.
-
- The filters are specified in filter.conf. To add/remove filters,
- change this file and then select "Reload Filters".
-
- To specify a different configuration file, please see "Getting Started".
-
-o Zoom In
-
- Zooms in to the currently displayed image. Note that the applet only
- allows to zoom in 4 x times.
-
-o Zoom Out
-
- Zooms out of the currently displayed image. Note that the applet
- only allows to zoom out 1/4 x times.
-
-o Apply
-
- Apply the currently selected filter. By default no filter is
- selected. Note that applying a filter to an image can taken
- anywhere between a few seconds to a few minutes depending upon the
- image size, the filter type, and the speed of the machine on which
- the applet is running.
-
-o Filters:
-
- Allows the user to select a filter from the ones that have been
- configured into the applet. Note that this is a choice menu and its
- entries depend upon the filters that were specified in the filter
- configuration file.
-
- For more information, on how to specify the filters, please see
- "Getting Started".
-
-o About
-
- Displays the "About" dialog containing the version of the MedJava
- applet.
-
-o Help
-
- Displays this window
-
-======================================================================
-
-Limitations
------------
-
-In several browsers, for images larger than 100 KB, the Java virtual
-machine may run out of memory while doing image processing.
diff --git a/java/ImageProcessing/framework/test.html b/java/ImageProcessing/framework/test.html
deleted file mode 100644
index 4c0c080bbfa..00000000000
--- a/java/ImageProcessing/framework/test.html
+++ /dev/null
@@ -1,20 +0,0 @@
-<HTML>
-<!-- $Id$ -->
-
-<BODY text = "#000000"
-link="#000fff"
-vlink="#ff0f0f"
-bgcolor="#888888">
-
-<HR>
-<APPLET CODEBASE="../../classes" CODE="imaging.framework.ImageApp.class" width=700 height=700>
-<param name=configFile value="http://www.cs.wustl.edu/~pjain/java/ACE_wrappers/java/ImageProcessing/framework/testFilter.conf">
-<param name=testFile value="http://www.cs.wustl.edu/~pjain/java/ACE_wrappers/java/ImageProcessing/framework/testImages.conf">
-<param name=testServer value="siesta.cs.wustl.edu">
-<param name=testPort value="7789">
-<param name=JAWSServer value="siesta.cs.wustl.edu">
-<param name=JAWSPort value="5432">
-</APPLET>
-<HR>
-
-</HTML>
diff --git a/java/ImageProcessing/framework/testFilter.conf b/java/ImageProcessing/framework/testFilter.conf
deleted file mode 100644
index 2e90ea136ce..00000000000
--- a/java/ImageProcessing/framework/testFilter.conf
+++ /dev/null
@@ -1,15 +0,0 @@
-imaging.filters.EmbossFilter
-imaging.filters.BleachFilter
-imaging.filters.BlurFilter
-imaging.filters.DarkenFilter
-imaging.filters.DeSpeckleFilter
-imaging.filters.EdgeDetectFilter
-imaging.filters.OilPaintFilter
-imaging.filters.PixelizeFilter
-imaging.filters.RotateFilter
-imaging.filters.SharpenFilter
-imaging.filters.SpreadFilter
-
-
-
-
diff --git a/java/JACE/ASX/IOCntlCmds.java b/java/JACE/ASX/IOCntlCmds.java
deleted file mode 100644
index 3cc7c76256d..00000000000
--- a/java/JACE/ASX/IOCntlCmds.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/*************************************************
- *
- * = PACKAGE
- * JACE.ASX
- *
- * = FILENAME
- * TaskFlags.java
- *
- *@author Prashant Jain
- *
- *************************************************/
-package JACE.ASX;
-
-/**
- * Constants used for IOCTL messages.
- *
- *@see JACE.ASX.IOCntlMsg
- */
-public abstract class IOCntlCmds
-{
- /** Set the low water mark. */
- public static final int SET_LWM = 1;
-
- /** Get the low water mark. */
- public static final int GET_LWM = 2;
-
- /** Set the high water mark. */
- public static final int SET_HWM = 3;
-
- /** Get the high water mark. */
- public static final int GET_HWM = 4;
-
- /** Link modules */
- public static final int MOD_LINK = 5;
-
- /** Unlink modules */
- public static final int MOD_UNLINK = 6;
-}
diff --git a/java/JACE/ASX/IOCntlMsg.java b/java/JACE/ASX/IOCntlMsg.java
deleted file mode 100644
index 4eea18b36f6..00000000000
--- a/java/JACE/ASX/IOCntlMsg.java
+++ /dev/null
@@ -1,124 +0,0 @@
-/*************************************************
- *
- * = PACKAGE
- * JACE.ASX
- *
- * = FILENAME
- * IOCntlMsg.java
- *
- *@author Prashant Jain
- *
- *************************************************/
-package JACE.ASX;
-
-import JACE.OS.*;
-
-/**
- * Data format for IOCTL messages.
- */
-public class IOCntlMsg
-{
-
- // = Initialization method.
-
- /*
- * Initialize the control message.
- *@param c IOCntlCmd for the control message. Note that this should
- * be of type IOCntlCmds
- */
- public IOCntlMsg (int c)
- {
- this.cmd_ = c;
- }
-
- // = Get/set methods
-
- /*
- * Get the command.
- *@return the command.
- */
- public int cmd ()
- {
- return this.cmd_;
- }
-
- /*
- * Set the command.
- *@param c the command.
- */
- public void cmd (int c)
- {
- this.cmd_ = c;
- }
-
- /*
- * Get the count.
- *@return the count.
- */
- public int count ()
- {
- return this.count_;
- }
-
- /*
- * Set the count.
- *@param c the count.
- */
- public void count (int c)
- {
- this.count_ = c;
- }
-
- /*
- * Get the error.
- *@return the error.
- */
- public int error ()
- {
- return this.error_;
- }
-
- /*
- * Set the error.
- *@param e the error.
- */
- public void error (int e)
- {
- this.error_ = e;
- }
-
- /*
- * Get the return value.
- *@return the return value.
- */
- public int rval ()
- {
- return this.rval_;
- }
-
- /*
- * Set the return value.
- *@param r the return value.
- */
- public void rval (int r)
- {
- this.rval_ = r;
- }
-
- public String toString ()
- {
- return (new Integer (this.cmd_)).toString ();
- }
-
- private int cmd_;
- // Command.
-
- private int count_;
- // Count.
-
- private int error_;
- // Error.
-
- private int rval_;
- // Return value
-}
diff --git a/java/JACE/ASX/MessageBlock.java b/java/JACE/ASX/MessageBlock.java
deleted file mode 100644
index 4035e34a7bd..00000000000
--- a/java/JACE/ASX/MessageBlock.java
+++ /dev/null
@@ -1,447 +0,0 @@
-/*************************************************
- *
- * = PACKAGE
- * JACE.ASX
- *
- * = FILENAME
- * MessageBlock.java
- *
- *@author Prashant Jain
- *
- *************************************************/
-package JACE.ASX;
-
-import JACE.OS.*;
-
-/**
- * Object used to store messages in the ASX framework.<P>
- *
- * <tt>MessageBlock</tt> is modeled after the message data structures
- * used in System V STREAMS. A <tt>MessageBlock</tt> is composed of
- * one or more <tt>MessageBlock</tt>s that are linked together by
- * <em>PREV</em> and <em>NEXT</em> pointers. In addition, a
- * <tt>MessageBlock</tt> may also be linked to a chain of other
- * <tt>MessageBlock</tt>s. This structure enables efficient manipulation
- * of arbitrarily-large messages <em>without</em> incurring memory
- * copying overhead.
- *
- *@see MessageQueue
- */
-public class MessageBlock
-{
- /**
- * Create an empty Message Block
- */
- public MessageBlock ()
- {
- this (0);
- }
-
- /**
- * Create an empty Message Block.
- * Note that this assumes that type of MessageBlock is MB_DATA.
- *@param size size of the Message Block to create.
- */
- public MessageBlock (int size)
- {
- // Note the explicit cast toString() is needed. For some strange
- // reason, it fails otherwise if size == 0.
- this ((new StringBuffer (size)).toString ());
- }
-
- /**
- * Create a Message Block. Note that this assumes that type of
- * MessageBlock is MB_DATA.
- *@param data initial data to create a Message Block with.
- */
- public MessageBlock (String data)
- {
- this (MessageType.MB_DATA,
- null,
- data);
- }
-
- /**
- * Create a Message Block.
- *@param type type of the Message Block (must be one of those
- * specified in class Message Type)
- *@param cont next block of data
- *@param data initial data to create Message Block with
- */
- public MessageBlock (int type,
- MessageBlock cont,
- String data)
- {
- this.flags_ = 0;
- this.priority_ = 0;
- this.next_ = null;
- this.prev_ = null;
-
- this.init (type, cont, data);
- }
-
- /**
- * Create a Message Block. Note that this assumes that type of
- * MessageBlock is MB_OBJECT.
- *@param obj initial object to create a Message Block with.
- */
- public MessageBlock (Object obj)
- {
- this (MessageType.MB_OBJECT,
- null,
- obj);
- }
-
- /**
- * Create a Message Block.
- *@param type type of the Message Block (must be one of those
- * specified in class Message Type)
- *@param cont next block of data
- *@param obj initial object to create Message Block with
- */
- public MessageBlock (int type,
- MessageBlock cont,
- Object obj)
- {
- this.init (type, cont, obj);
- }
-
- /* Initialize the Message Block
- *@param data data to initialize Message Block with
- */
- public void init (String data)
- {
- this.base_ = new StringBuffer (data);
- }
-
- /**
- * Initialize a Message Block.
- *@param type type of the Message Block (must be one of those
- * specified in class Message Type)
- *@param cont next block of data
- *@param data data to initialize Message Block with
- */
- public void init (int msgType,
- MessageBlock msgCont,
- String data)
- {
- if (data.length () == 0)
- this.base_ = new StringBuffer (0);
- else
- this.base_ = new StringBuffer (data);
- this.type_ = msgType;
- this.cont_ = msgCont;
- }
-
- /**
- * Initialize a Message Block. Note that this assumes that type of
- * MessageBlock is MB_OBJECT.
- *@param obj initial object to initialize a Message Block with.
- */
- public void init (Object obj)
- {
- this.init (MessageType.MB_OBJECT, null, obj);
- }
-
- /**
- * Initialize a Message Block.
- *@param type type of the Message Block (must be one of those
- * specified in class Message Type)
- *@param cont next block of data
- *@param obj object to initialize Message Block with
- */
- public void init (int msgType,
- MessageBlock msgCont,
- Object obj)
- {
- this.obj_ = obj;
- this.type_ = msgType;
- this.cont_ = msgCont;
- this.flags_ = 0;
- this.priority_ = 0;
- this.next_ = null;
- this.prev_ = null;
- }
-
- /**
- * Set message flags. Note that the flags will be set on top of
- * already set flags.
- *@param moreFlags flags to set for the Message Block.
- */
- public long setFlags (long moreFlags)
- {
- // Later we might mask more_flags so that user can't change
- // internal ones: more_flags &= ~(USER_FLAGS -1).
- this.flags_ = ACE.SET_BITS (this.flags_, moreFlags);
- return this.flags_;
- }
-
- /**
- * Unset message flags.
- *@param lessFlags flags to unset for the Message Block.
- */
- public long clrFlags (long lessFlags)
- {
- // Later we might mask more_flags so that user can't change
- // internal ones: less_flags &= ~(USER_FLAGS -1).
- this.flags_ = ACE.CLR_BITS (this.flags_, lessFlags);
- return this.flags_;
- }
-
- /**
- * Get the message flags.
- *@return Message flags
- */
- public long flags ()
- {
- return this.flags_;
- }
-
- /**
- * Get the type of the message.
- *@return message type
- */
- public int msgType ()
- {
- return this.type_;
- }
-
- /**
- * Set the type of the message.
- *@param t type of the message
- */
- public void msgType (int t)
- {
- this.type_ = t;
- }
-
- /**
- * Get the class of the message. Note there are two classes,
- * <normal> messages and <high-priority> messages.
- *@return message class
- */
- public int msgClass ()
- {
- return this.msgType () >= MessageType.MB_PRIORITY
- ? MessageType.MB_PRIORITY : MessageType.MB_NORMAL;
- }
-
- /**
- * Find out if the message is a data message.
- *@return true if message is a data message, false otherwise
- */
- public boolean isDataMsg ()
- {
- int mt = this.msgType ();
- return mt == MessageType.MB_DATA
- || mt == MessageType.MB_PROTO
- || mt == MessageType.MB_PCPROTO;
- }
-
- /**
- * Find out if the message is an object message.
- *@return true if message is an object message, false otherwise
- */
- public boolean isObjMsg ()
- {
- int mt = this.msgType ();
- return mt == MessageType.MB_OBJECT
- || mt == MessageType.MB_PROTO
- || mt == MessageType.MB_PCPROTO;
- }
-
- /**
- * Get the priority of the message.
- *@return message priority
- */
- public long msgPriority ()
- {
- return this.priority_;
- }
-
- /**
- * Set the priority of the message.
- *@param pri priority of the message
- */
- public void msgPriority (long pri)
- {
- this.priority_ = pri;
- }
-
- /**
- * Get message data. This assumes that msgType is MB_DATA.
- *@return message data
- */
- public String base ()
- {
- // Create a String object to return
- char temp[] = new char [this.base_.length ()];
- this.base_.getChars (0, this.base_.length (), temp, 0);
- return new String (temp);
- }
-
- /**
- * Set the message data. This assumes that msgType is MB_DATA.
- *@param data message data
- *@param msgFlags message flags
- */
- public void base (String data,
- long msgFlags)
- {
- this.base_ = new StringBuffer (data);
- this.flags_ = msgFlags;
- }
-
- /**
- * Get message object. This assumes that msgType is MB_OBJECT.
- *@return message object
- */
- public Object obj ()
- {
- return this.obj_;
- }
-
- /**
- * Set the message object. This assumes that msgType is MB_OBJECT.
- *@param object message object
- *@param msgFlags message flags
- */
- public void obj (Object obj,
- long msgFlags)
- {
- this.obj_ = obj;
- this.flags_ = msgFlags;
- }
-
- // = The following four methods only make sense if the Message_Block
- // is of type MB_DATA and not MB_OBJECT.
-
- /**
- * Get length of the message. This method only makes sense if the
- * MessageBlock is of type MB_DATA and not MB_OBJECT.
- *@return length of the message.
- */
- public int length ()
- {
- return this.base_.length ();
- }
-
- /**
- * Set the length of the message. This method only makes sense if the
- * MessageBlock is of type MB_DATA and not MB_OBJECT.
- *@param n message length
- */
- public void length (int n)
- {
- this.base_.setLength (n);
- }
-
- /**
- * Get size of the allocated buffer for the message. This method
- * only makes sense if the MessageBlock is of type MB_DATA and not
- * MB_OBJECT.
- *@return size of the message buffer
- */
- public int size ()
- {
- return this.base_.capacity ();
- }
-
- /**
- * Set the total size of the buffer. This method will grow the
- * buffer if need be. Also, this method only makes sense if the
- * MessageBlock is of type MB_DATA and not MB_OBJECT.
- *@param n size of message buffer
- */
- public void size (int n)
- {
- this.base_.ensureCapacity (n);
- }
-
-
- /**
- * Get the continuation field. The coninuation field is used to
- * chain together composite messages.
- *@return the continuation field
- */
- public MessageBlock cont ()
- {
- return this.cont_;
- }
-
- /**
- * Set the continuation field. The coninuation field is used to
- * chain together composite messages.
- *@param msgCont continuation field
- */
- void cont (MessageBlock msgCont)
- {
- this.cont_ = msgCont;
- }
-
- /**
- * Get link to next message. The next message points to the
- * <MessageBlock> directly ahead in the MessageQueue.
- *@return next message block
- */
- MessageBlock next ()
- {
- return this.next_;
- }
-
- /**
- * Set link to next message. The next message points to the
- * <MessageBlock> directly ahead in the MessageQueue.
- *@param msgBlock next message block
- */
- void next (MessageBlock msgBlock)
- {
- this.next_ = msgBlock;
- }
-
- /**
- * Get link to previous message. The previous message points to the
- * <MessageBlock> directly before in the MessageQueue.
- *@return previous message block
- */
- MessageBlock prev ()
- {
- return this.prev_;
- }
-
- /**
- * Set link to previous message. The previous message points to the
- * <MessageBlock> directly before in the MessageQueue.
- *@param msgBlock previous message block
- */
- void prev (MessageBlock msgBlock)
- {
- this.prev_ = msgBlock;
- }
-
- private int type_;
- // Type of message.
-
- private long flags_;
- // Misc flags.
-
- private long priority_;
- // Priority of message.
-
- private StringBuffer base_;
- // String data of message block (initialized to null).
-
- private Object obj_;
- // Object data of message block (initialized to null).
-
- private MessageBlock cont_;
- // Next message block in the chain.
-
- private MessageBlock next_;
- // Next message in the list.
-
- private MessageBlock prev_;
- // Previous message in the list.
-
-}
-
diff --git a/java/JACE/ASX/MessageQueue.java b/java/JACE/ASX/MessageQueue.java
deleted file mode 100644
index df25870dd52..00000000000
--- a/java/JACE/ASX/MessageQueue.java
+++ /dev/null
@@ -1,633 +0,0 @@
-/*************************************************
- *
- * = PACKAGE
- * JACE.ASX
- *
- * = FILENAME
- * MessageQueue.java
- *
- *@author Prashant Jain
- *
- *************************************************/
-package JACE.ASX;
-
-import java.util.Date;
-import JACE.OS.*;
-import JACE.Reactor.*;
-
-class NotFullCondition extends TimedWait
-{
- public NotFullCondition (MessageQueue mq)
- {
- super (mq);
- this.mq_ = mq;
- }
-
- public boolean condition () {
- // Delegate to the appropriate conditional
- // check on the MessageQueue.
- return !this.mq_.isFull ();
- }
- private MessageQueue mq_;
-}
-
-class NotEmptyCondition extends TimedWait
-{
- public NotEmptyCondition (MessageQueue mq)
- {
- super (mq);
- this.mq_ = mq;
- }
-
- public boolean condition () {
- // Delegate to the appropriate conditional
- // check on the MessageQueue.
- return !this.mq_.isEmpty ();
- }
- private MessageQueue mq_;
-}
-
-
-/**
- * A thread-safe message queueing facility, modeled after the
- * queueing facilities in System V StreamS. <P>
- *
- * <tt>MessageQueue</tt> is the central queueing facility for messages
- * in the ASX framework. All operations are thread-safe, as it is intended
- * to be used for inter-thread communication (<em>e.g.</em>, a producer and
- * consumer thread joined by a <tt>MessageQueue</tt>). The queue
- * consists of <tt>MessageBlock</tt>s.
- *</blockquote>
- *
- *@see MessageBlock
- *@see TimeValue
- */
-public class MessageQueue
-{
- /**
- * Default constructor
- */
- public MessageQueue ()
- {
- this (DEFAULT_HWM, DEFAULT_LWM);
- }
-
- /**
- * Create a Message Queue with high and low water marks.
- *@param hwm High water mark (max number of bytes allowed in the
- * queue)
- *@param lwm Low water mark (min number of bytes in the queue)
- */
- public MessageQueue (int hwm, int lwm)
- {
- if (this.open (hwm, lwm) == -1)
- ACE.ERROR ("open");
- }
-
- /**
- * Initialize a Message Queue with high and low water marks.
- *@param hwm High water mark (max number of bytes allowed in the
- * queue)
- *@param lwm Low water mark (min number of bytes in the queue)
- */
- public synchronized int open (int hwm, int lwm)
- {
- this.highWaterMark_ = hwm;
- this.lowWaterMark_ = lwm;
- this.deactivated_ = false;
- this.currentBytes_ = 0;
- this.currentCount_ = 0;
- this.tail_ = null;
- this.head_ = null;
- return 0;
- }
-
- // ************ Note! ***********
- // = For enqueue, enqueueHead, enqueueTail, and dequeueHead if
- // timeout is specified, the caller will wait until the *absolute time*
- // tv. Calls will return, however, when queue is closed,
- // deactivated, or if it is past the time tv
-
- /**
- * Enqueue a <MessageBlock> into the <MessageQueue> in accordance
- * with its <msgPriority> (0 is lowest priority). Note that the
- * call will block (unless the queue has been deactivated).
- *
- *@exception java.lang.InterruptedException Interrupted while accessing queue
- *@param newItem item to enqueue onto the Message Queue
- *@return -1 on failure, else the number of items still on the queue.
- */
- public synchronized int enqueue (MessageBlock newItem) throws InterruptedException
- {
- return this.enqueue (newItem, null);
- }
-
- /**
- * Enqueue a <MessageBlock> into the <MessageQueue> in accordance
- * with its <msgPriority> (0 is lowest priority). Note that the
- * call will return if the queue has been deactivated or it is
- * later than the specified absolute time value.
- *@param newItem item to enqueue onto the Message Queue
- *@param tv absolute TimeValue to timeout after
- *@return -1 on failure, else the number of items still on the
- * queue.
- *@exception java.lang.InterruptedException Interrupted while accessing queue
- */
- public synchronized int enqueue (MessageBlock newItem,
- TimeValue tv) throws InterruptedException
- {
- int result = -1;
- if (this.deactivated_)
- return -1;
- try
- {
- if (tv == null) // Need to do a blocking wait
- notFullCondition_.timedWait ();
- else // Need to do a timed wait
- notFullCondition_.timedWait (tv);
- }
- catch (TimeoutException e)
- {
- return -1;
- }
-
- // Check again if queue is still active
- if (this.deactivated_)
- return -1;
- else
- result = this.enqueueInternal (newItem);
-
- // Tell any blocked threads that the queue has a new item!
- this.notEmptyCondition_.broadcast ();
- return result;
- }
-
- /**
- * Enqueue a <MessageBlock> at the end of the <MessageQueue>. Note
- * that the call will block (unless the queue has been deactivated).
- *@param newItem item to enqueue onto the Message Queue
- *@return -1 on failure, else the number of items still on the queue.
- *@exception java.lang.InterruptedException Interrupted while accessing queue
- */
- public synchronized int enqueueTail (MessageBlock newItem) throws InterruptedException
- {
- return this.enqueueTail (newItem, null);
- }
-
- /**
- * Enqueue a <MessageBlock> at the end of the <MessageQueue>. Note
- * that the call will return when it's later than the given TimeValue or
- * if the queue has been deactivated.
- *@param newItem item to enqueue onto the Message Queue
- *@param tv absolute TimeValue to wait until before returning (unless
- * the operation compeltes before this time)
- *@return -1 on failure, else the number of items still on the queue.
- *@exception java.lang.InterruptedException Interrupted while accessing queue
- */
- public synchronized int enqueueTail (MessageBlock newItem,
- TimeValue tv) throws InterruptedException
- {
- int result = -1;
- if (this.deactivated_)
- return -1;
- try
- {
- if (tv == null) // Need to do a blocking wait
- notFullCondition_.timedWait ();
- else // Need to do a timed wait
- notFullCondition_.timedWait (tv);
- }
- catch (TimeoutException e)
- {
- return -1;
- }
-
- // Check again if queue is still active
- if (this.deactivated_)
- return -1;
- else
- result = this.enqueueTailInternal (newItem);
-
- // Tell any blocked threads that the queue has a new item!
- this.notEmptyCondition_.broadcast ();
- return result;
- }
-
- /**
- * Enqueue a <MessageBlock> at the head of the <MessageQueue>. Note
- * that the call will block (unless the queue has been deactivated).
- *@param newItem item to enqueue onto the Message Queue
- *@return -1 on failure, else the number of items still on the queue.
- *@exception java.lang.InterruptedException Interrupted while accessing queue
- */
- public synchronized int enqueueHead (MessageBlock newItem) throws InterruptedException
- {
- return this.enqueueHead (newItem, null);
- }
-
- /**
- * Enqueue a <MessageBlock> at the head of the <MessageQueue>. Note
- * that the call will return when it's later than the given TimeValue or
- * if the queue has been deactivated.
- *@param newItem item to enqueue onto the Message Queue
- *@param tv absolute TimeValue to wait until before returning (unless
- * the operation completes before that time)
- *@return -1 on failure, else the number of items still on the queue.
- *@exception java.lang.InterruptedException Interrupted while accessing queue
- */
- public synchronized int enqueueHead (MessageBlock newItem,
- TimeValue tv) throws InterruptedException
- {
- int result = -1;
- if (this.deactivated_)
- return -1;
- try
- {
- if (tv == null) // Need to do a blocking wait
- notFullCondition_.timedWait ();
- else // Need to do a timed wait
- notFullCondition_.timedWait (tv);
- }
- catch (TimeoutException e)
- {
- return -1;
- }
-
- // Check again if queue is still active
- if (this.deactivated_)
- return -1;
- else
- result = this.enqueueHeadInternal (newItem);
-
- // Tell any blocked threads that the queue has a new item!
- this.notEmptyCondition_.broadcast ();
- return result;
- }
-
- /**
- * Dequeue and return the <MessageBlock> at the head of the
- * <MessageQueue>. Note that the call will block (unless the queue
- * has been deactivated).
- *@return null on failure, else the <MessageBlock> at the head of queue.
- *@exception java.lang.InterruptedException Interrupted while accessing queue
- */
- public synchronized MessageBlock dequeueHead () throws InterruptedException
- {
- return this.dequeueHead (null);
- }
-
- /**
- * Dequeue and return the <MessageBlock> at the head of the
- * <MessageQueue>. Note that the call when return if the queue has
- * been deactivated or when the current time is later than the given
- * time value.
- *@param tv absolute time timeout (blocks indefinitely if null)
- *@return null on failure, else the <MessageBlock> at the head of queue.
- *@exception InterruptedException Interrupted while accessing queue
- */
- public synchronized MessageBlock dequeueHead (TimeValue tv)
- throws InterruptedException
- {
- MessageBlock result = null;
- if (this.deactivated_)
- return null;
- try
- {
- if (tv == null) // Need to do a blocking wait
- notEmptyCondition_.timedWait ();
- else // Need to do a timed wait
- notEmptyCondition_.timedWait (tv);
- }
- catch (TimeoutException e)
- {
- return null;
- }
-
- // Check again if queue is still active
- if (this.deactivated_)
- return null;
- else
- result = this.dequeueHeadInternal ();
-
- // Tell any blocked threads that the queue has room for an item!
- this.notFullCondition_.broadcast ();
- return result;
- }
-
- /**
- * Check if queue is full.
- *@return true if queue is full, else false.
- */
- public synchronized boolean isFull ()
- {
- return this.isFullInternal ();
- }
-
- /**
- * Check if queue is empty.
- *@return true if queue is empty, else false.
- */
- public synchronized boolean isEmpty ()
- {
- return this.isEmptyInternal ();
- }
-
- /**
- * Get total number of bytes on the queue.
- *@return total number number of bytes on the queue
- */
- public int messageBytes ()
- {
- return this.currentBytes_;
- }
-
- /**
- * Get total number of messages on the queue.
- *@return total number number of messages on the queue
- */
- public int messageCount ()
- {
- return this.currentCount_;
- }
-
- // = Flow control routines
-
- /**
- * Get high watermark.
- *@return high watermark
- */
- public int highWaterMark ()
- {
- return this.highWaterMark_;
- }
-
- /**
- * Set high watermark.
- *@param hwm high watermark
- */
- public void highWaterMark (int hwm)
- {
- this.highWaterMark_ = hwm;
- }
-
- /**
- * Get low watermark.
- *@return low watermark
- */
- public int lowWaterMark ()
- {
- return this.lowWaterMark_;
- }
-
- /**
- * Set low watermark.
- *@param lwm low watermark
- */
- public void lowWaterMark (int lwm)
- {
- this.lowWaterMark_ = lwm;
- }
-
- // = Activation control methods.
-
- /**
- * Deactivate the queue and wakeup all threads waiting on the queue
- * so they can continue. No messages are removed from the queue,
- * however. Any other operations called until the queue is
- * activated again will immediately return -1.
- *@return WAS_INACTIVE if queue was inactive before the call and
- * WAS_ACTIVE if queue was active before the call.
- */
- public synchronized int deactivate ()
- {
- return this.deactivateInternal ();
- }
-
-
- /**
- * Reactivate the queue so that threads can enqueue and dequeue
- * messages again.
- *@return WAS_INACTIVE if queue was inactive before the call and
- * WAS_ACTIVE if queue was active before the call.
- */
- public synchronized int activate ()
- {
- return this.activateInternal ();
- }
-
- protected boolean isEmptyInternal ()
- {
- // Not sure about this one!!!!
- return this.currentBytes_ <= this.lowWaterMark_ && this.currentCount_ <= 0;
- }
-
- protected boolean isFullInternal ()
- {
- return this.currentBytes_ > this.highWaterMark_;
- }
-
- protected int deactivateInternal ()
- {
- int currentStatus =
- this.deactivated_ ? WAS_INACTIVE : WAS_ACTIVE;
-
- this.notFullCondition_.broadcast ();
- this.notEmptyCondition_.broadcast ();
-
- this.deactivated_ = true;
- return currentStatus;
- }
-
- protected int activateInternal ()
- {
- int currentStatus =
- this.deactivated_ ? WAS_INACTIVE : WAS_ACTIVE;
- this.deactivated_ = false;
-
- return currentStatus;
- }
-
- protected int enqueueTailInternal (MessageBlock newItem)
- {
- if (newItem == null)
- return -1;
-
- // List was empty, so build a new one.
- if (this.tail_ == null)
- {
- this.head_ = newItem;
- this.tail_ = newItem;
- newItem.next (null);
- newItem.prev (null);
- }
- // Link at the end.
- else
- {
- newItem.next (null);
- this.tail_.next (newItem);
- newItem.prev (this.tail_);
- this.tail_ = newItem;
- }
-
- if (newItem.msgType() != MessageType.MB_OBJECT)
- {
- // Make sure to count *all* the bytes in a composite message!!!
- for (MessageBlock temp = newItem;
- temp != null;
- temp = temp.cont ())
- this.currentBytes_ += temp.size ();
- }
-
- this.currentCount_++;
- return this.currentCount_;
- }
-
- protected int enqueueHeadInternal (MessageBlock newItem)
- {
- if (newItem == null)
- return -1;
-
- newItem.prev (null);
- newItem.next (this.head_);
-
- if (this.head_ != null)
- this.head_.prev (newItem);
- else
- this.tail_ = newItem;
-
- this.head_ = newItem;
-
- if (newItem.msgType() != MessageType.MB_OBJECT)
- {
- // Make sure to count *all* the bytes in a composite message!!!
- for (MessageBlock temp = newItem;
- temp != null;
- temp = temp.cont ())
- this.currentBytes_ += temp.size ();
- }
-
- this.currentCount_++;
-
- return this.currentCount_;
- }
-
- protected int enqueueInternal (MessageBlock newItem)
- {
- if (newItem == null)
- return -1;
-
- if (this.head_ == null)
- // Check for simple case of an empty queue, where all we need to
- // do is insert <newItem> into the head.
- return this.enqueueHeadInternal (newItem);
- else
- {
- MessageBlock temp;
-
- // Figure out where the new item goes relative to its priority.
-
- for (temp = this.head_;
- temp != null;
- temp = temp.next ())
- {
- if (temp.msgPriority () <= newItem.msgPriority ())
- // Break out when we've located an item that has lower
- // priority that <newItem>.
- break;
- }
-
- if (temp == null)
- // Check for simple case of inserting at the end of the queue,
- // where all we need to do is insert <newItem> after the
- // current tail.
- return this.enqueueTailInternal (newItem);
- else if (temp.prev () == null)
- // Check for simple case of inserting at the beginning of the
- // queue, where all we need to do is insert <newItem> before
- // the current head.
- return this.enqueueHeadInternal (newItem);
- else
- {
- // Insert the message right before the item of equal or lower
- // priority.
- newItem.next (temp);
- newItem.prev (temp.prev ());
- temp.prev ().next (newItem);
- temp.prev (newItem);
- }
- }
-
- if (newItem.msgType() != MessageType.MB_OBJECT)
- {
- // Make sure to count *all* the bytes in a composite message!!!
- for (MessageBlock temp = newItem;
- temp != null;
- temp = temp.cont ())
- this.currentBytes_ += temp.size ();
- }
-
- this.currentCount_++;
- return this.currentCount_;
- }
-
- protected MessageBlock dequeueHeadInternal ()
- {
- MessageBlock firstItem = this.head_;
- this.head_ = this.head_.next ();
-
- if (this.head_ == null)
- this.tail_ = null;
-
- if (firstItem.msgType() != MessageType.MB_OBJECT)
- {
- // Make sure to subtract off all of the bytes associated with this
- // message.
- for (MessageBlock temp = firstItem;
- temp != null;
- temp = temp.cont ())
- this.currentBytes_ -= temp.size ();
- }
-
- this.currentCount_--;
- return firstItem;
- }
-
-
- /** Default high watermark (16 K). */
- public final static int DEFAULT_HWM = 16 * 1024;
-
- /** Default low watermark. */
- public final static int DEFAULT_LWM = 0;
-
- /** Message queue was active before activate() or deactivate(). */
- public final static int WAS_ACTIVE = 1;
-
- /** Message queue was inactive before activate() or deactivate(). */
- public final static int WAS_INACTIVE = 2;
-
- private int highWaterMark_;
- // Greatest number of bytes before blocking.
-
- private int lowWaterMark_;
- // Lowest number of bytes before unblocking occurs.
-
- private boolean deactivated_;
- // Indicates that the queue is inactive.
-
- private int currentBytes_;
- // Current number of bytes in the queue.
-
- private int currentCount_;
- // Current number of messages in the queue.
-
- private MessageBlock head_;
- // Head of Message_Block list.
-
- private MessageBlock tail_;
- // Tail of Message_Block list.
-
- // The Delegated Notification mechanisms.
- private NotFullCondition notFullCondition_ = new NotFullCondition (this);
- private NotEmptyCondition notEmptyCondition_ = new NotEmptyCondition (this);
-
-}
diff --git a/java/JACE/ASX/MessageType.java b/java/JACE/ASX/MessageType.java
deleted file mode 100644
index 97e33a6c6ba..00000000000
--- a/java/JACE/ASX/MessageType.java
+++ /dev/null
@@ -1,102 +0,0 @@
-/*************************************************
- *
- * = PACKAGE
- * JACE.ASX
- *
- * = FILENAME
- * MessageType.java
- *
- *@author Prashant Jain
- *
- *************************************************/
-package JACE.ASX;
-
-/**
- * Message types used by MessageBlock. <P>
- *
- * Defines bit masks used to identify various types of messages.<P>
- *
- * This class is not intended to be instantiable.
- *
- *@see MessageBlock
- */
-public class MessageType
-{
- // = Data and protocol messages (regular and priority)
- /** regular data */
- public static final int MB_DATA = 0x01;
-
- /** protocol control */
- public static final int MB_PROTO = 0x02;
-
- /** regular data */
- public static final int MB_OBJECT = 0x09;
-
-
- // = Control messages (regular and priority)
- /** line break */
- public static final int MB_BREAK = 0x03;
-
- /** pass file pointer */
- public static final int MB_PASSFP = 0x04;
-
- /** post an event to an event queue */
- public static final int MB_EVENT = 0x05;
-
- /** generate process signal */
- public static final int MB_SIG = 0x06;
-
- /** ioctl; set/get params */
- public static final int MB_IOCTL = 0x07;
-
- /** set various stream head options */
- public static final int MB_SETOPTS = 0x08;
-
-
- // = Control messages (high priority; go to head of queue)
- /** acknowledge ioctl */
- public static final int MB_IOCACK = 0x81;
-
- /** negative ioctl acknowledge */
- public static final int MB_IOCNAK = 0x82;
-
- /** priority proto message */
- public static final int MB_PCPROTO = 0x83;
-
- /** generate process signal */
- public static final int MB_PCSIG = 0x84;
-
- /** generate read notification */
- public static final int MB_READ = 0x85;
-
- /** flush your queues */
- public static final int MB_FLUSH = 0x86;
-
- /** stop transmission immediately */
- public static final int MB_STOP = 0x87;
-
- /** restart transmission after stop */
- public static final int MB_START = 0x88;
-
- /** line disconnect */
- public static final int MB_HANGUP = 0x89;
-
- /** fatal error used to set u.u_error */
- public static final int MB_ERROR = 0x8a;
-
- /** post an event to an event queue */
- public static final int MB_PCEVENT = 0x8b;
-
-
- /** Normal priority messages */
- public static final int MB_NORMAL = 0x00;
-
- /** High priority control messages */
- public static final int MB_PRIORITY = 0x80;
-
- // Default private constructor to avoid instantiation
- private MessageType ()
- {
- }
-}
-
diff --git a/java/JACE/ASX/Module.java b/java/JACE/ASX/Module.java
deleted file mode 100644
index 2b80cd690c9..00000000000
--- a/java/JACE/ASX/Module.java
+++ /dev/null
@@ -1,246 +0,0 @@
-/*************************************************
- *
- * = PACKAGE
- * JACE.ASX
- *
- * = FILENAME
- * Module.java
- *
- *@author Prashant Jain
- *
- *************************************************/
-package JACE.ASX;
-
-import JACE.OS.*;
-
-/**
- * Provides an abstraction for managing a bi-directional flow of
- * messages. <P>
- *
- * This is based on the Module concept in System V Streams,
- * which contains a pair of Tasks, one for handling upstream
- * processing, one for handling downstream processing.
- */
-public class Module
-{
- // = Initialization and termination methods.
-
- /**
- * Create an empty Module.
- */
- public Module ()
- {
- // Do nothing...
- this.name ("<unknown>");
- }
-
- /*
- * Create an initialized module.
- *@param modName identity of the module.
- *@param writerQ writer task of the module.
- *@param readerQ reader task of the module.
- *@param flags Module flags
- */
- public Module (String modName,
- Task writerQ,
- Task readerQ,
- Object flags)
- {
- this.open (modName, writerQ, readerQ, flags);
- }
-
- /*
- * Create an initialized module.
- *@param modName identity of the module.
- *@param writerQ writer task of the module.
- *@param readerQ reader task of the module.
- *@param flags Module flags
- */
- public void open (String modName,
- Task writerQ,
- Task readerQ,
- Object arg)
- {
- this.name (modName);
- this.arg_ = arg;
-
- if (writerQ == null)
- writerQ = new ThruTask ();
- if (readerQ == null)
- readerQ = new ThruTask ();
-
- this.reader (readerQ);
- this.writer (writerQ);
-
- // Setup back pointers.
- readerQ.module (this);
- writerQ.module (this);
- }
-
-
- /*
- * Set the writer task.
- *@param q the writer task
- */
- public void writer (Task q)
- {
- this.qPair_[1] = q;
- if (q != null)
- q.flags (ACE.CLR_BITS (q.flags (), TaskFlags.ACE_READER));
- }
-
- /*
- * Set the reader task.
- *@param q the reader task
- */
- public void reader (Task q)
- {
- this.qPair_[0] = q;
- if (q != null)
- q.flags (ACE.SET_BITS (q.flags (), TaskFlags.ACE_READER));
- }
-
- /*
- * Link this Module on top of Module.
- *@param m the module to link this on top of.
- */
- public void link (Module m)
- {
- this.next (m);
- this.writer ().next (m.writer ());
- m.reader ().next (this.reader ());
- }
-
- /*
- * Set and get pointer to sibling Task in Module.
- *@param orig the task to get the sibling for
- *@return the sibling of the task
- */
- public Task sibling (Task orig)
- {
- if (this.qPair_[0] == orig)
- return this.qPair_[1];
- else if (this.qPair_[1] == orig)
- return this.qPair_[0];
- else
- return null;
- }
-
- /*
- * Close down the module and its tasks.
- *@param flags Module flags
- *@return 0 on success, -1 on failure
- */
- public int close (long flags)
- {
- Task readerQ = this.reader ();
- Task writerQ = this.writer ();
- int result = 0;
-
- if (readerQ != null)
- {
- if (readerQ.close (flags) == -1)
- result = -1;
- readerQ.flush (flags);
- readerQ.next (null);
- }
-
- if (writerQ != null)
- {
- if (writerQ.close (flags) == -1)
- result = -1;
- writerQ.flush (flags);
- writerQ.next (null);
- }
-
- return result;
- }
-
- /*
- * Get the argument passed to tasks.
- *@return the argument passed to tasks.
- */
- public Object arg ()
- {
- return this.arg_;
- }
-
- /*
- * Set the argument to be passed to tasks.
- *@param a the argument to be passed to tasks.
- */
- public void arg (Object a)
- {
- this.arg_ = a;
- }
-
- /*
- * Get the name of the module.
- *@return the name of the module.
- */
- public String name ()
- {
- return this.name_;
- }
-
- /*
- * Set the name of the module.
- *@param n the name of the module.
- */
- public void name (String n)
- {
- this.name_ = n;
- }
-
- /*
- * Get the writer task of the module.
- *@return the writer task of the module.
- */
- public Task writer ()
- {
- return this.qPair_[1];
- }
-
- /*
- * Get the reader task of the module.
- *@return the reader task of the module.
- */
- public Task reader ()
- {
- return this.qPair_[0];
- }
-
- /*
- * Get the next pointer to the module above in the stream.
- *@return the next pointer to the module above in the stream.
- */
- public Module next ()
- {
- return this.next_;
- }
-
- /*
- * Set the next pointer to the module above in the stream.
- *@param m the next pointer to the module above in the stream.
- */
- public void next (Module m)
- {
- this.next_ = m;
- }
-
- private Task qPair_[] = new Task[2];
- // Pair of Tasks that form the "read-side" and "write-side" of the
- // ACE_Module partitioning.
-
- private String name_ = null;
- // Name of the ACE_Module.
-
- private Module next_;
- // Next ACE_Module in the stack.
-
- private Object arg_;
- // Argument passed through to the reader and writer task when they
- // are opened.
-
-}
-
diff --git a/java/JACE/ASX/Stream.java b/java/JACE/ASX/Stream.java
deleted file mode 100644
index 6a968714ab7..00000000000
--- a/java/JACE/ASX/Stream.java
+++ /dev/null
@@ -1,436 +0,0 @@
-/*************************************************
- *
- * = PACKAGE
- * JACE.ASX
- *
- * = FILENAME
- * Stream.java
- *
- *@author Prashant Jain
- *
- *************************************************/
-package JACE.ASX;
-
-import JACE.OS.*;
-
-/**
- * This class is the primary abstraction for the ASX framework.
- * It is moduled after System V Stream. <P>
- *
- * A Stream consists of a stack of Modules, each of which
- * contains two Tasks.
- *
- *@see Module
- *@see Task
- */
-
-public class Stream
-{
-
- public Stream ()
- {
- this (null, null, null);
- }
-
- // Create a Stream consisting of <head> and <tail> as the Stream
- // head and Stream tail, respectively. If these are 0 then the
- // <ACE_Stream_Head> and <ACE_Stream_Tail> are used, respectively.
- // <arg> is the value past in to the open() methods of the tasks.
-
- public Stream (Object a,
- Module head,
- Module tail)
- {
- this.linkedUs_ = null;
- // this.final_close_ = this.lock_;
-
- if (this.open (a, head, tail) == -1)
- ACE.ERROR ("open" + head.name () + " " + tail.name ());
- }
-
- public int push (Module newTop)
- {
- if (this.pushModule (newTop,
- this.streamHead_.next (),
- this.streamHead_) == -1)
- return -1;
- else
- return 0;
- }
-
- // Note that the timeout tv is absolute time
- public int put (MessageBlock mb, TimeValue tv)
- {
- return this.streamHead_.writer ().put (mb, tv);
- }
-
- // Note that the timeout tv is absolute time
- public MessageBlock get (TimeValue tv) throws InterruptedException
- {
- return this.streamHead_.reader ().getq (tv);
- }
-
-// Return the "top" ACE_Module in a ACE_Stream, skipping over the
-// stream_head.
-
- public Module top ()
- {
- if (this.streamHead_.next () == this.streamTail_)
- return null;
- else
- return this.streamHead_.next ();
- }
-
-// Remove the "top" ACE_Module in a ACE_Stream, skipping over the
-// stream_head.
-
- public int pop (long flags)
- {
- if (this.streamHead_.next () == this.streamTail_)
- return -1;
- else
- {
- // Skip over the ACE_Stream head.
- Module top = this.streamHead_.next ();
- Module newTop = top.next ();
-
- this.streamHead_.next (newTop);
-
- // Close the top ACE_Module.
-
- top.close (flags);
-
- this.streamHead_.writer ().next (newTop.writer ());
- newTop.reader ().next (this.streamHead_.reader ());
-
- return 0;
- }
- }
-
-// Remove a named ACE_Module from an arbitrary place in the
-// ACE_Stream.
-
- public int remove (String name, long flags)
- {
- Module prev = null;
-
- for (Module mod = this.streamHead_;
- mod != null; mod = mod.next ())
- if (name.compareTo (mod.name ()) == 0)
- {
- if (prev == null) // Deleting ACE_Stream Head
- this.streamHead_.link (mod.next ());
- else
- prev.link (mod.next ());
-
- mod.close (flags);
- return 0;
- }
- else
- prev = mod;
-
- return -1;
- }
-
- public Module find (String name)
- {
- for (Module mod = this.streamHead_;
- mod != null;
- mod = mod.next ())
- if (name.compareTo (mod.name ()) == 0)
- return mod;
-
- return null;
- }
-
-// Actually push a module onto the stack...
-
- private int pushModule (Module newTop,
- Module currentTop,
- Module head)
- {
- Task ntReader = newTop.reader ();
- Task ntWriter = newTop.writer ();
- Task ctReader = null;
- Task ctWriter = null;
-
- if (currentTop != null)
- {
- ctReader = currentTop.reader ();
- ctWriter = currentTop.writer ();
- ctReader.next (ntReader);
- }
-
- ntWriter.next (ctWriter);
-
- if (head != null)
- {
- if (head != newTop)
- head.link (newTop);
- }
- else
- ntReader.next (null);
-
- newTop.next (currentTop);
-
- if (ntReader.open (newTop.arg ()) == -1)
- return -1;
-
- if (ntWriter.open (newTop.arg ()) == -1)
- return -1;
- return 0;
- }
-
- public synchronized int open (Object a,
- Module head,
- Module tail)
- {
- Task h1 = null, h2 = null;
- Task t1 = null, t2 = null;
-
- if (head == null)
- {
- h1 = new StreamHead ();
- h2 = new StreamHead ();
- head = new Module ("ACEStreamHead", h1, h2, a);
- }
-
- if (tail == null)
- {
- t1 = new StreamTail ();
- t2 = new StreamTail ();
- tail = new Module ("ACEStreamTail",
- t1, t2, a);
- }
-
- // Make sure *all* the allocation succeeded!
- if (h1 == null || h2 == null || head == null
- || t1 == null || t2 == null || tail == null)
- {
- // Close up!
- head.close (0);
- tail.close (0);
- return -1;
- }
-
- this.streamHead_ = head;
- this.streamTail_ = tail;
-
- if (this.pushModule (this.streamTail_,
- null, null) == -1)
- return -1;
- else if (this.pushModule (this.streamHead_,
- this.streamTail_,
- this.streamHead_) == -1)
- return -1;
- else
- return 0;
- }
-
- public synchronized int close (long flags)
- {
- if (this.streamHead_ != null
- && this.streamTail_ != null)
- {
- // Don't bother checking return value here.
- this.unlinkInternal ();
-
- int result = 0;
-
- // Remove and cleanup all the intermediate modules.
-
- while (this.streamHead_.next () != this.streamTail_)
- {
- if (this.pop (flags) == -1)
- result = -1;
- }
-
- // Clean up the head and tail of the stream.
- if (this.streamHead_.close (flags) == -1)
- result = -1;
- if (this.streamTail_.close (flags) == -1)
- result = -1;
-
- this.streamHead_ = null;
- this.streamTail_ = null;
-
- // Tell all threads waiting on the close that we are done.
- // this.final_close_.broadcast ();
- return result;
- }
- return 0;
- }
-
- public int control (int cmd, Object a) throws InterruptedException
- {
- IOCntlMsg ioc = new IOCntlMsg (cmd);
-
- // Create a data block that contains the user-supplied data.
- MessageBlock db =
- new MessageBlock (MessageType.MB_IOCTL,
- null,
- a);
-
- // Create a control block that contains the control field and a
- // pointer to the data block.
- MessageBlock cb =
- new MessageBlock (MessageType.MB_IOCTL,
- db,
- (Object) ioc);
-
- int result = 0;
-
- if (this.streamHead_.writer ().put (cb, null) == -1)
- result = -1;
- else if ((cb = this.streamHead_.reader ().getq (null)) == null)
- result = -1;
- else
- result = ((IOCntlMsg ) cb.obj ()).rval ();
-
- return result;
- }
-
-// Link two streams together at their bottom-most Modules (i.e., the
-// one just above the Stream tail). Note that all of this is premised
-// on the fact that the Stream head and Stream tail are non-NULL...
-// This must be called with locks held.
-
- private int linkInternal (Stream us)
- {
- this.linkedUs_ = us;
- // Make sure the other side is also linked to us!
- us.linkedUs_ = this;
-
- Module myTail = this.streamHead_;
-
- if (myTail == null)
- return -1;
-
- // Locate the module just above our Stream tail.
- while (myTail.next () != this.streamTail_)
- myTail = myTail.next ();
-
- Module otherTail = us.streamHead_;
-
- if (otherTail == null)
- return -1;
-
- // Locate the module just above the other Stream's tail.
- while (otherTail.next () != us.streamTail_)
- otherTail = otherTail.next ();
-
- // Reattach the pointers so that the two streams are linked!
- myTail.writer ().next (otherTail.reader ());
- otherTail.writer ().next (myTail.reader ());
- return 0;
- }
-
- public synchronized int link (Stream us)
- {
- return this.linkInternal (us);
- }
-
-// Must be called with locks held...
-
- private int unlinkInternal ()
- {
- // Only try to unlink if we are in fact still linked!
-
- if (this.linkedUs_ != null)
- {
- Module myTail = this.streamHead_;
-
- // Only relink if we still exist!
- if (myTail != null)
- {
- // Find the module that's just before our stream tail.
- while (myTail.next () != this.streamTail_)
- myTail = myTail.next ();
-
- // Restore the writer's next() link to our tail.
- myTail.writer ().next (this.streamTail_.writer ());
- }
-
- Module otherTail = this.linkedUs_.streamHead_;
-
- // Only fiddle with the other side if it in fact still remains.
- if (otherTail != null)
- {
- while (otherTail.next () != this.linkedUs_.streamTail_)
- otherTail = otherTail.next ();
-
- otherTail.writer ().next (this.linkedUs_.streamTail_.writer ());
-
- }
-
- // Make sure the other side is also aware that it's been unlinked!
- this.linkedUs_.linkedUs_ = null;
-
- this.linkedUs_ = null;
- return 0;
- }
- else
- return -1;
- }
-
- public synchronized int unlink ()
- {
- return this.unlinkInternal ();
- }
-
- public void dump ()
- {
- ACE.DEBUG ("-------- module links --------");
-
- for (Module mp = this.streamHead_; ; mp = mp.next ())
- {
- ACE.DEBUG ("module name = " + mp.name ());
- if (mp == this.streamTail_)
- break;
- }
-
- ACE.DEBUG ("-------- writer links --------");
-
- Task tp;
-
- for (tp = this.streamHead_.writer (); ; tp = tp.next ())
- {
- ACE.DEBUG ("writer queue name = " + tp.name ());
- tp.dump ();
- ACE.DEBUG ("-------\n");
- if (tp == this.streamTail_.writer ()
- || (this.linkedUs_ != null && tp == this.linkedUs_.streamHead_.reader ()))
- break;
- }
-
- ACE.DEBUG ("-------- reader links --------\n");
- for (tp = this.streamTail_.reader (); ; tp = tp.next ())
- {
- ACE.DEBUG ("reader queue name = " + tp.name ());
- tp.dump ();
- ACE.DEBUG ("-------\n");
- if (tp == this.streamHead_.reader ()
- || (this.linkedUs_ != null && tp == this.linkedUs_.streamHead_.writer ()))
- break;
- }
- }
-
- Module streamHead_ = null;
- // Pointer to the head of the stream.
-
- Module streamTail_ = null;
- // Pointer to the tail of the stream.
-
- Stream linkedUs_ = null;
- // Pointer to an adjoining linked stream.
-
- // = Synchronization objects used for thread-safe streams.
- // ACE_SYNCH_MUTEX lock_;
- // Protect the stream against race conditions.
-
- // ACE_SYNCH_CONDITION final_close_;
- // Use to tell all threads waiting on the close that we are done.
-
-}
-
-
diff --git a/java/JACE/ASX/StreamHead.java b/java/JACE/ASX/StreamHead.java
deleted file mode 100644
index 1492b43a297..00000000000
--- a/java/JACE/ASX/StreamHead.java
+++ /dev/null
@@ -1,123 +0,0 @@
-/*************************************************
- *
- * = PACKAGE
- * JACE.ASX
- *
- * = FILENAME
- * StreamHead.java
- *
- *@author Prashant Jain
- *
- *************************************************/
-package JACE.ASX;
-
-import JACE.OS.*;
-
-/**
- * Standard module that acts as the head of a ustream.
- */
-
-public class StreamHead extends Task
-{
- // Module that acts as the head of a Stream.
-
- public int open (Object obj)
- {
- return 0;
- }
-
- public int close (long l)
- {
- return 0;
- }
-
- public int svc ()
- {
- return -1;
- }
-
- private int control (MessageBlock mb)
- {
-
- IOCntlMsg ioc = (IOCntlMsg) mb.obj ();
- int cmd = ioc.cmd ();
-
- switch (cmd)
- {
- case IOCntlCmds.SET_LWM:
- case IOCntlCmds.SET_HWM:
- this.waterMarks (cmd, mb.cont ().length ());
- ioc.rval (0);
- break;
- default:
- return 0;
- }
- return ioc.rval ();
- }
-
- /* Performs canonical flushing at the ACE_Stream Head */
-
- private int canonicalFlush (MessageBlock mb)
- {
- String s = mb.base ();
- long f = (new Long (s)).longValue ();
-
- if ((f & TaskFlags.ACE_FLUSHR) != 0)
- {
- this.flush (TaskFlags.ACE_FLUSHALL);
- f &= ~TaskFlags.ACE_FLUSHR;
- }
- if ((f & TaskFlags.ACE_FLUSHW) != 0)
- return this.reply (mb, null);
- return 0;
- }
-
- // Will block forever to add the given MessageBlock
- public int put (MessageBlock mb)
- {
- return this.put (mb, null);
- }
-
- // tv is absolute time
- public int put (MessageBlock mb, TimeValue tv)
- {
- int res = 0;
- if (mb.msgType () == MessageType.MB_IOCTL
- && (res = this.control (mb)) == -1)
- return res;
-
- if (this.isWriter ())
- {
- return this.putNext (mb, tv);
- }
- else /* this.isReader () */
- {
- switch (mb.msgType ())
- {
- case MessageType.MB_FLUSH:
- return this.canonicalFlush (mb);
- default:
- break;
- }
-
- try
- {
- return this.putq (mb, tv);
- }
- catch (InterruptedException e)
- {
- return -1;
- }
- }
- }
-
- public void dump ()
- {
- }
-
- public int handleTimeout (TimeValue tv, Object obj)
- {
- return 0;
- }
-
-}
diff --git a/java/JACE/ASX/StreamTail.java b/java/JACE/ASX/StreamTail.java
deleted file mode 100644
index c1148a4c0f1..00000000000
--- a/java/JACE/ASX/StreamTail.java
+++ /dev/null
@@ -1,114 +0,0 @@
-/*************************************************
- *
- * = PACKAGE
- * JACE.ASX
- *
- * = FILENAME
- * StreamTail.java
- *
- *@author Prashant Jain
- *
- *************************************************/
-package JACE.ASX;
-
-import JACE.OS.*;
-
-/**
- * Standard module that acts as the tail of a ustream.
- */
-public class StreamTail extends Task
-{
- // Module that acts as the tail of a Stream.
-
- public int open (Object obj)
- {
- return 0;
- }
-
- public int close (long l)
- {
- return 0;
- }
-
- public int svc ()
- {
- return -1;
- }
-
- private int control (MessageBlock mb)
- {
- IOCntlMsg ioc = (IOCntlMsg) mb.obj ();
- int cmd = ioc.cmd ();
-
- switch (cmd)
- {
- case IOCntlCmds.SET_LWM:
- case IOCntlCmds.SET_HWM:
- {
- int size = mb.cont ().length ();
-
- this.waterMarks (cmd, size);
- this.sibling ().waterMarks (cmd, size);
- ioc.rval (0);
- break;
- }
- default:
- mb.msgType (MessageType.MB_IOCNAK);
- }
- return this.reply (mb, null);
- }
-
- // Perform flush algorithm as though we were the driver
- private int canonicalFlush (MessageBlock mb)
- {
- String s = mb.base ();
- long f = (new Long (s)).longValue ();
-
- if ((f & TaskFlags.ACE_FLUSHW) != 0)
- {
- this.flush (TaskFlags.ACE_FLUSHALL);
- f &= ~TaskFlags.ACE_FLUSHW;
- }
- if ((f & TaskFlags.ACE_FLUSHR) != 0)
- {
- this.sibling ().flush (TaskFlags.ACE_FLUSHALL);
- return this.reply (mb, null);
- }
- return 0;
- }
-
- // put the given MessageBlock without a timeout (block forever if
- // necessary)
- public int put (MessageBlock mb)
- {
- return this.put (mb, null);
- }
-
- // tv is an absolute time timeout
- public int put (MessageBlock mb, TimeValue tv)
- {
- if (this.isWriter ())
- {
- switch (mb.msgType ())
- {
- case MessageType.MB_IOCTL:
- return this.control (mb);
- /* NOTREACHED */
- default:
- break;
- }
- }
-
- return -1;
- }
-
- public void dump ()
- {
- }
-
- public int handleTimeout (TimeValue tv, Object obj)
- {
- return 0;
- }
-
-}
diff --git a/java/JACE/ASX/Task.java b/java/JACE/ASX/Task.java
deleted file mode 100644
index b13de64f16a..00000000000
--- a/java/JACE/ASX/Task.java
+++ /dev/null
@@ -1,443 +0,0 @@
-/*************************************************
- *
- * = PACKAGE
- * JACE.ASX
- *
- * = FILENAME
- * Task.java
- *
- *@author Prashant Jain
- *
- *************************************************/
-package JACE.ASX;
-
-import JACE.OS.*;
-import JACE.Reactor.*;
-import JACE.Concurrency.*;
-
-/**
- * Primary interface for application message processing, as well
- * as input and output message queueing. <P>
- *
- * This class serves as the basis for passive and active objects
- * in ACE.
- *
- *@see MessageQueue
- *@see EventHandler
- */
-public abstract class Task implements Runnable, EventHandler
-{
- // = Initialization/termination methods.
-
- /**
- * Initialize a Task. Note, we allocate a message queue ourselves.
- */
- public Task ()
- {
- this.msgQueue_ = new MessageQueue ();
- this.thrMgr_ = null;
- }
-
- /**
- * Initialize a Task. Note, we use the message queue and thread
- * manager supplied by the user.
- *@param mq Message Queue to hold list of messages on the Task
- *@param thrMgr Thread Manager that manages all the spawned threads
- */
- public Task (MessageQueue mq,
- ThreadManager thrMgr)
- {
- this.msgQueue_ = mq;
- this.thrMgr_ = thrMgr;
- }
-
- /**
- * Not meant to be invoked by the user directly!. This needs to be
- * in the public interface in order to get invoked by Thread
- * class.
- */
- public void run ()
- {
- this.svc ();
- }
-
- // = Initialization and termination hooks (note that these *must* be
- // defined by subclasses).
-
- /**
- * Hook called to open a Task.
- *@param obj used to pass arbitrary information
- */
- public abstract int open (Object obj);
-
- /**
- * Hook called to close a Task.
- */
- public abstract int close (long flags);
-
- // = Immediate and deferred processing methods, respectively.
-
- /**
- * Transfer a message into the queue to handle immediate
- * processing.
- *@param mb Message Block to handle immediately
- *@param tv Latest time to wait until (absolute time)
- */
- public abstract int put (MessageBlock mb, TimeValue tv);
-
- /**
- * Run by a daemon thread to handle deferred processing. Note, that
- * to do anything useful, this method should be overriden by the
- * subclass.
- *@return default implementation always returns 0.
- */
- public int svc ()
- {
- return 0;
- }
-
- /**
- * Set the underlying Thread Manager.
- *@param t Thread Manager to use
- */
- public synchronized void thrMgr (ThreadManager t)
- {
- this.thrMgr_ = t;
- }
-
- /**
- * Get the Thread Manager.
- *@return Underlying Thread Manager
- */
- public synchronized ThreadManager thrMgr ()
- {
- return this.thrMgr_;
- }
-
- // = Active object method.
-
- /**
- * Turn the task into an active object. That is, having <nThreads>
- * separate threads of control that all invoke Task::svc.
- *@param flags Task Flags
- *@param nThreads number of threads to spawn
- *@param forceActive whether to force creation of new threads or not
- *@return -1 if failure occurs, 1 if Task is already an active
- * object and <forceActive> is false (doesn't *not* create a new
- * thread in this case), and 0 if Task was not already an active
- * object and a thread is created successfully or thread is an active
- * object and <forceActive> is true.
- */
- public synchronized int activate (long flags, int nThreads, boolean forceActive)
- {
- // Create a Thread Manager if we do not already have one
- if (this.thrMgr_ == null)
- this.thrMgr_ = new ThreadManager ();
-
- if (this.thrCount () > 0 && forceActive == false)
- return 1; // Already active.
- this.flags_ = flags;
-
- if (ACE.BIT_ENABLED (flags, TaskFlags.THR_DAEMON))
- this.thrMgr_.spawnN (nThreads, this, true); // Spawn off all threads as daemon threads
- else // Spawn off all threads as normal threads
- this.thrMgr_.spawnN (nThreads, this, false);
-
- return 0;
- }
-
- // = Suspend/resume a Task
-
- /**
- * Suspend a task. Default implementation is a no-op.
- */
- public synchronized void suspend ()
- {
- }
-
- /**
- * Resume a suspended task. Default implementation is a no-op.
- */
- public synchronized void resume ()
- {
- }
-
- /**
- * Get the current group name.
- *@return name of the current thread group
- */
- public synchronized String grpName ()
- {
- if (this.thrMgr_ != null)
- return this.thrMgr_.thrGrp ().getName ();
- else
- return null;
- }
-
- /**
- * Get the message queue associated with this task.
- *@return the message queue associated with this task.
- */
- public MessageQueue msgQueue ()
- {
- return this.msgQueue_;
- }
-
- /**
- * Set the message queue associated with this task.
- *@param mq Message Queue to use with this Task.
- */
- public void msgQueue (MessageQueue mq)
- {
- this.msgQueue_ = mq;
- }
-
- /**
- * Get the number of threads currently running within the Task.
- *@return the number of threads currently running within the Task.
- * 0 if we're a passive object, else > 0.
- */
- public synchronized int thrCount ()
- {
- if (this.thrMgr_ != null)
- return this.thrMgr_.thrGrp ().activeCount ();
- else
- return 0;
- }
-
- /**
- * Set the Task flags
- *@param flags Task Flags
- */
- public synchronized void flags (long flags)
- {
- this.flags_ = flags;
- }
-
- /**
- * Get the Task flags
- *@return Task Flags
- */
- public synchronized long flags ()
- {
- return this.flags_;
- }
-
- // = Message queue manipulation methods.
-
-
- /*
- * Dump debug information.
- */
- public void dump ()
- {
- }
-
- /**
- * Insert a message into the queue, blocking forever if necessary.
- *@param mb Message Block to insert
- *@exception java.lang.InterruptedException Interrupted while accessing queue
- */
- protected int putq (MessageBlock mb) throws InterruptedException
- {
- return this.putq(mb, null);
- }
-
- /**
- * Insert message into the message queue.
- *@param mb Message Block to insert into the Message Queue
- *@param tv time to wait until (absolute time)
- *@exception java.lang.InterruptedException Interrupted while accessing queue
- */
- protected int putq (MessageBlock mb, TimeValue tv) throws InterruptedException
- {
- return this.msgQueue_.enqueueTail (mb, tv);
- }
-
- /**
- * Extract the first message from the queue, blocking forever if
- * necessary.
- *@return the first Message Block from the Message Queue.
- *@exception InterrupteException Interrupted while accessing queue
- */
- protected MessageBlock getq() throws InterruptedException
- {
- return this.getq(null);
- }
-
- /**
- * Extract the first message from the queue. Note that the call is blocking.
- *@return the first Message Block from the Message Queue.
- *@param tv Latest time to wait until (absolute time)
- *@exception java.lang.InterruptedException Interrupted while accessing queue
- */
- protected MessageBlock getq (TimeValue tv) throws InterruptedException
- {
- return this.msgQueue_.dequeueHead (tv);
- }
-
- /**
- * Return a message back to the queue.
- *@param mb Message Block to return back to the Message Queue
- *@param tv Latest time to wait until (absolute time)
- *@exception java.lang.InterruptedException Interrupted while accessing queue
- */
- protected int ungetq (MessageBlock mb, TimeValue tv) throws InterruptedException
- {
- return this.msgQueue_.enqueueHead (mb, tv);
- }
-
- /**
- * Transfer message to the adjacent ACETask in an ACEStream.
- *@param mb Message Block to transfer to the adjacent Task
- *@param tv Latest time to wait until (absolute time)
- *@return -1 if there is no adjacent Task, else the return value of
- * trying to put the Message Block on that Task's Message Queue.
- */
- protected int putNext (MessageBlock mb, TimeValue tv)
- {
- return this.next_ == null ? -1 : this.next_.put (mb, tv);
- }
-
- /**
- * Turn the message back around. Puts the message in the sibling's
- * Message Queue.
- *@param mb Message Block to put into sibling's Message Queue
- *@param tv Latest time to wait until (absolute time)
- *@return -1 if there is no adjacent Task to the sibling, else the
- * return value of trying to put the Message Block on sibling's
- * Message Queue.
- */
- protected int reply (MessageBlock mb, TimeValue tv)
- {
- return this.sibling ().putNext (mb, tv);
- }
-
- // = ACE_Task utility routines to identify names et al.
-
- /**
- * Get the name of the enclosing Module.
- *@return the name of the enclosing Module if there's one associated
- * with the Task, else null.
- */
- protected String name ()
- {
- if (this.mod_ == null)
- return null;
- else
- return this.mod_.name ();
- }
-
- /**
- * Get the Task's sibling.
- *@return the Task's sibling if there's one associated with the
- * Task's Module, else null.
- */
- protected Task sibling ()
- {
- if (this.mod_ == null)
- return null;
- else
- return this.mod_.sibling (this);
- }
-
- /**
- * Set the Task's module.
- *@param mod the Task's Module.
- */
- protected void module (Module mod)
- {
- this.mod_ = mod;
- }
-
- /**
- * Get the Task's module.
- *@return the Task's Module if there is one, else null.
- */
- protected Module module ()
- {
- return this.mod_;
- }
-
- /**
- * Check if queue is a reader.
- *@return true if queue is a reader, else false.
- */
- protected boolean isReader ()
- {
- return (ACE.BIT_ENABLED (this.flags_, TaskFlags.ACE_READER));
- }
-
- /**
- * Check if queue is a writer.
- *@return true if queue is a writer, else false.
- */
- protected boolean isWriter ()
- {
- return (ACE.BIT_DISABLED (this.flags_, TaskFlags.ACE_READER));
- }
-
- // = Pointers to next ACE_Queue (if ACE is part of an ACE_Stream).
-
- /**
- * Get next Task pointer.
- *@return pointer to the next Task
- */
- protected Task next ()
- {
- return this.next_;
- }
-
- /**
- * Set next Task pointer.
- *@param task next task pointer
- */
- protected void next (Task task)
- {
- this.next_ = task;
- }
-
- // Special routines corresponding to certain message types.
-
- /**
- * Flush the Message Queue
- *@return 0 if Message Queue is null, 1 if flush succeeds, -1 if
- * ACE_FLUSHALL bit is not enabled in flags.
- */
- protected int flush (long flag)
- {
- if (ACE.BIT_ENABLED (flag, TaskFlags.ACE_FLUSHALL))
- return (this.msgQueue_ == null ? 0 : 1);
- else
- return -1;
- }
-
-
- /**
- * Manipulate watermarks.
- *@param cmd IOCntlCmd
- *@param size watermark
- */
- protected void waterMarks (int cmd, int size)
- {
- if (cmd == IOCntlCmds.SET_LWM)
- this.msgQueue_.lowWaterMark (size);
- else /* cmd == IOCntlMsg.SET_HWM */
- this.msgQueue_.highWaterMark (size);
- }
-
- private ThreadManager thrMgr_ = null;
- // Thread_Manager that manages all the spawned threads
-
- private long flags_;
- // Task flags.
-
- private MessageQueue msgQueue_;
- // List of messages on the Task..
-
- private Task next_;
- // Adjacent ACE_Task.
-
- private Module mod_;
- // Back-pointer to the enclosing module.
-}
diff --git a/java/JACE/ASX/TaskFlags.java b/java/JACE/ASX/TaskFlags.java
deleted file mode 100644
index 13347283adf..00000000000
--- a/java/JACE/ASX/TaskFlags.java
+++ /dev/null
@@ -1,49 +0,0 @@
-/*************************************************
- *
- * = PACKAGE
- * JACE.ASX
- *
- * = FILENAME
- * TaskFlags.java
- *
- *@author Prashant Jain
- *
- *************************************************/
-package JACE.ASX;
-
-/**
- * Flags used within Task.
- *
- *@see Task
- */
-public abstract class TaskFlags
-{
- /** Identifies a Task as being the "reader" in a Module. */
- public static final int ACE_READER = 01;
-
- /** Just flush data messages in the queue. */
- public static final int ACE_FLUSHDATA = 02;
-
- /** Flush all messages in the Queue. */
- public static final int ACE_FLUSHALL = 04;
-
- /** Flush read queue */
- public static final int ACE_FLUSHR = 010;
-
- /** Flush write queue */
- public static final int ACE_FLUSHW = 020;
-
- /** Flush both queues */
- public static final int ACE_FLUSHRW = 030;
-
- /** Identifies a thread as suspended */
- public static final int THR_SUSPENDED = 0x00000080;
-
- /** Identifies a thread as a daemon thread */
- public static final int THR_DAEMON = 0x00000100;
-
- // Default private constructor to avoid instantiation
- private TaskFlags ()
- {
- }
-}
diff --git a/java/JACE/ASX/ThruTask.java b/java/JACE/ASX/ThruTask.java
deleted file mode 100644
index 3fd0bbd4476..00000000000
--- a/java/JACE/ASX/ThruTask.java
+++ /dev/null
@@ -1,44 +0,0 @@
-/*************************************************
- *
- * = PACKAGE
- * JACE.ASX
- *
- * = FILENAME
- * ThruTask.java
- *
- *@author Prashant Jain
- *
- *************************************************/
-package JACE.ASX;
-
-/**
- * Standard module that acts as a "no op", simply passing on all
- * data to its adjacent neighbor.
- */
-public class ThruTask extends Task
-{
- public int open (Object obj)
- {
- return 0;
- }
-
- public int close (long flags)
- {
- return 0;
- }
-
- public int put (MessageBlock msg, TimeValue tv)
- {
- return this.putNext (msg, tv);
- }
-
- public int svc ()
- {
- return -1;
- }
-
- public int handleTimeout (TimeValue tv, Object obj)
- {
- return 0;
- }
-}
diff --git a/java/JACE/ASX/TimeValue.java b/java/JACE/ASX/TimeValue.java
deleted file mode 100644
index 452f80447c4..00000000000
--- a/java/JACE/ASX/TimeValue.java
+++ /dev/null
@@ -1,296 +0,0 @@
-/*************************************************
- *
- * = PACKAGE
- * JACE.Reactor
- *
- * = FILENAME
- * TimeValue.java
- *
- *@author Prashant Jain
- *
- *************************************************/
-//package JACE.Reactor;
-package JACE.ASX;
-
-/**
- * Encapsulates a specific time or time interval. <P>
- *
- * Also provides methods for generating absolute times from
- * relative times. This is used throughout JACE for timeouts.
- *
- *@see TimedWait
- */
-public class TimeValue
-{
- /**
- * TimeValue representing 0 seconds and 0 nanoseconds.
- */
- public final static TimeValue zero = new TimeValue (0,0);
-
- /**
- * Default constructor. This creates a TimeValue that is
- * equal to TimeValue.zero.
- */
- public TimeValue ()
- {
- this (0, 0);
- }
-
- /**
- * Constructor
- *@param sec seconds
- */
- public TimeValue (long sec)
- {
- this (sec, 0);
- }
-
- /**
- * Constructor
- *@param sec seconds
- *@param nanos nanoseconds
- */
- public TimeValue (long sec, int nanos)
- {
- this.set (sec, nanos);
- }
-
- /**
- * Sets the seconds and nanoseconds of Time Value
- *@param sec seconds
- *@param nanos nanoseconds
- */
- public void set (long sec, int nanos)
- {
- this.millisec_ = sec * 1000;
- this.nanos_ = nanos;
- this.normalize ();
- }
-
- /**
- * Get seconds
- *@return Seconds
- */
- public long sec ()
- {
- return this.millisec_/1000;
- }
-
- /**
- * Get nanoseconds
- *@return Nanoseconds
- */
- public int nanos ()
- {
- return this.nanos_;
- }
-
- /**
- * Get time in milliseconds.
- *@return time in milliseconds
- */
- public long getMilliTime ()
- {
- return this.millisec_;
- }
-
- /**
- * Get a String representation of the Time Value.
- *@return String representation of the Time Value
- */
- public String toString ()
- {
- return (new Long (this.millisec_/1000)).toString () + ":" +
- (new Integer (this.nanos_)).toString ();
- }
-
- /**
- * Get current time.
- *@return the current system time as a new TimeValue
- */
- public static TimeValue getTimeOfDay ()
- {
- return new TimeValue (System.currentTimeMillis ()/1000);
- }
-
- /**
- * Return a new TimeValue that represents the current system time
- * of day offset by the given number of seconds and nanoseconds.
- *@param sec Number of seconds to offset by
- *@param nanos Number of nanoseconds to offset by
- *@see JACE.ASX.TimeValue
- *@return TimeValue for the system time plus the given offset
- */
- public static TimeValue relativeTimeOfDay(long sec, int nanos)
- {
- return new TimeValue ((System.currentTimeMillis() / 1000) + sec,
- nanos);
- }
-
- /**
- * Return a new TimeValue that represents the current system time
- * of day offset by the given TimeValue.
- *@param tv TimeValue to offset by
- *@see JACE.ASX.TimeValue
- *@return TimeValue for the system time plus the given offset
- */
- public static TimeValue relativeTimeOfDay(TimeValue offset)
- {
- return new TimeValue ((System.currentTimeMillis() / 1000) +
- offset.sec(),
- offset.nanos());
- }
-
- /**
- * Compare two Time Values for equality.
- *@param tv Time Value to compare with
- *@return true if the two Time Values are equal, false otherwise
- */
- public boolean equals (TimeValue tv)
- {
- return this.millisec_ == (tv.sec () * 1000) && this.nanos_ == tv.nanos ();
- }
-
- /**
- * Compare two Time Values for non-equality.
- *@param tv Time Value to compare with
- *@return true if the two Time Values are not equal, false otherwise
- */
- public boolean notEquals (TimeValue tv)
- {
- return !this.equals (tv);
- }
-
- /**
- * Add two Time Values.
- *@param tv1 The first Time Value
- *@param tv2 The second Time Value
- *@return sum of the two Time Values.
- */
- public static TimeValue plus (TimeValue tv1, TimeValue tv2)
- {
- TimeValue tv = new TimeValue (tv1.sec () + tv2.sec (),
- tv1.nanos () + tv2.nanos ());
- tv.normalize ();
- return tv;
- }
-
- /**
- * Subtract two Time Values.
- *@param tv1 The first Time Value
- *@param tv2 The second Time Value
- *@return difference of the two Time Values.
- */
- public static TimeValue minus (TimeValue tv1, TimeValue tv2)
- {
- TimeValue tv = new TimeValue (tv1.sec () - tv2.sec (),
- tv1.nanos () - tv2.nanos ());
- tv.normalize ();
- return tv;
- }
-
- /**
- * Add Time Value to "this".
- *@param tv The Time Value to add to this.
- */
- public void plusEquals (TimeValue tv)
- {
- this.set (this.sec () + tv.sec (),
- this.nanos () + tv.nanos ());
- this.normalize ();
- }
-
- /**
- * Subtract Time Value from "this".
- *@param tv The Time Value to subtract from this.
- */
- public void minusEquals (TimeValue tv)
- {
- this.set (this.sec () - tv.sec (),
- this.nanos () - tv.nanos ());
- this.normalize ();
- }
-
- /**
- * Compare two Time Values for less than.
- *@param tv Time Value to compare with
- *@return true if "this" is less than tv, false otherwise
- */
- public boolean lessThan (TimeValue tv)
- {
- return tv.greaterThan (this);
- }
-
- /**
- * Compare two Time Values for greater than.
- *@param tv Time Value to compare with
- *@return true if "this" is greater than tv, false otherwise
- */
- public boolean greaterThan (TimeValue tv)
- {
- if (this.sec () > tv.sec ())
- return true;
- else if (this.sec () == tv.sec ()
- && this.nanos () > tv.nanos ())
- return true;
- else
- return false;
- }
-
- /**
- * Compare two Time Values for <=.
- *@param tv Time Value to compare with
- *@return true if "this" <= tv, false otherwise
- */
- public boolean lessThanEqual (TimeValue tv)
- {
- return tv.greaterThanEqual (this);
- }
-
- /**
- * Compare two Time Values for >=.
- *@param tv Time Value to compare with
- *@return true if "this" >= tv, false otherwise
- */
- public boolean greaterThanEqual (TimeValue tv)
- {
- return this.sec () >= tv.sec () && this.nanos () >= tv.nanos ();
- }
-
- private void normalize ()
- {
- if (this.nanos_ >= ONE_MILLISECOND)
- {
- do
- {
- this.millisec_++;
- this.nanos_ -= ONE_MILLISECOND;
- }
- while (this.nanos_ >= ONE_MILLISECOND);
- }
- else if (this.nanos_ <= -ONE_MILLISECOND)
- {
- do
- {
- this.millisec_--;
- this.nanos_ += ONE_MILLISECOND;
- }
- while (this.nanos_ <= -ONE_MILLISECOND);
- }
-
- if (this.millisec_ >= 1 && this.nanos_ < 0)
- {
- this.millisec_--;
- this.nanos_ += ONE_MILLISECOND;
- }
- else if (this.millisec_ < 0 && this.nanos_ > 0)
- {
- this.millisec_++;
- this.nanos_ -= ONE_MILLISECOND;
- }
- }
-
- private long millisec_;
- private int nanos_;
- private final static int ONE_MILLISECOND = 1000000;
-}
diff --git a/java/JACE/ASX/TimedWait.java b/java/JACE/ASX/TimedWait.java
deleted file mode 100644
index dc1d0bab673..00000000000
--- a/java/JACE/ASX/TimedWait.java
+++ /dev/null
@@ -1,157 +0,0 @@
-/*************************************************
- *
- * = PACKAGE
- * JACE.ASX
- *
- * = FILENAME
- * TimedWait.java
- *
- *@author Prashant Jain and Doug Schmidt
- *
- *************************************************/
-package JACE.ASX;
-
-/**
- * A wait/notify system with absolute time timeouts and built-in
- * check of a condition. <P>
- *
- * Subclasses define the condition to check, and the object to
- * wait on can be specified.
- */
-public abstract class TimedWait
-{
- /**
- * Default Constructor. Sets "this" to be used for the delegation of
- * the wait() call to.
- */
- public TimedWait ()
- {
- object_ = this;
- }
-
- /**
- * Constructor. Allows subclasses to supply us with an Object that
- * is delegated the wait() call.
- *@param obj The Object that is delegated the wait() call.
- */
- public TimedWait (Object obj)
- {
- object_ = obj;
- }
-
- /**
- * Hook method that needs to be implemented by subclasses.
- */
- public abstract boolean condition ();
-
- /**
- * Wait until condition becomes true. Note that the method
- * blocks. Also note that this method is final to ensure that no one
- * overrides it.
- * IMPORTANT: This method assumes it is called with the object_'s
- * monitor lock already held.
- *@exception InterruptedException Interrupted during wait
- */
- public final void timedWait () throws InterruptedException
- {
- // Acquire the monitor lock.
- if (!condition ())
- {
- // Only attempt to perform the wait if the condition isn't
- // true initially.
- for (;;)
- {
- // Wait until we are notified.
- object_.wait ();
-
- // Recheck the condition.
- if (condition ())
- break; // Condition became true.
-
- // else we were falsely notified so go back into wait
- }
- }
- }
-
- /**
- * Template Method that implements the actual timed wait. Note that
- * this method is final to ensure that no one overrides it.
- * IMPORTANT: This method assumes it is called with the object_'s
- * monitor lock already held.
- * If the specified wait time is zero, this checks the condition,
- * then returns on success or throws a TimeoutException on failure.
- *@param tv Absolute time to wait until before throwing an exception
- * if the condition isn't satisfied
- *@exception java.lang.InterruptedException Interrupted during wait
- *@exception JACE.ASX.TimeoutException Reached timeout specified
- */
- public final void timedWait (TimeValue tv)
- throws InterruptedException,
- TimeoutException
- {
- if (tv == null) {
- this.timedWait();
- return;
- }
-
- // Acquire the monitor lock.
- if (!condition ())
- {
- long start = System.currentTimeMillis();
- long waitTime = tv.getMilliTime() - start;
-
- for (;;) {
-
- // Prevent a conversion from absolute to relative time from
- // generating a zero or negative waitTime.
- if (waitTime < 1)
- throw new TimeoutException ();
-
- // Wait until we are notified.
- object_.wait (waitTime);
-
- // Recheck the condition.
- if (!condition ()) {
-
- long now = System.currentTimeMillis();
-
- // Timed out!
- if (now >= tv.getMilliTime ())
- throw new TimeoutException ();
- else
- // We still have some time left to wait, so adjust the
- // wait_time.
- waitTime = tv.getMilliTime() - now;
- }
- else
- break; // Condition became true.
- }
- }
- }
-
- /**
- * Notify any one thread waiting on the object_.
- * IMPORTANT: This method assumes it is called with the object_'s
- * monitor lock already held.
- */
- public final void signal () {
- object_.notify ();
- }
-
- /**
- * Notify all threads waiting on the object_.
- * IMPORTANT: This method assumes it is called with the object_'s
- * monitor lock already held.
- */
- public final void broadcast () {
- object_.notifyAll ();
- }
-
- /**
- * The object we delegate to. If a subclass gives us a particular
- * object, we use that to delegate to, otherwise, we ``delegate''
- * to ourself (i.e., this).
- */
- protected Object object_;
-
-}
diff --git a/java/JACE/ASX/TimeoutException.java b/java/JACE/ASX/TimeoutException.java
deleted file mode 100644
index d55cc4fe999..00000000000
--- a/java/JACE/ASX/TimeoutException.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*************************************************
- *
- * = PACKAGE
- * JACE.ASX
- *
- * = FILENAME
- * TimeoutException.java
- *
- *@author Prashant Jain and Doug Schmidt
- *
- *************************************************/
-package JACE.ASX;
-
-/**
- * Thrown when a timer has expired.
- */
-public class TimeoutException extends Exception
-{
- /**
- * Default Constructor.
- */
- public TimeoutException ()
- {
- super ("Timed Out");
- }
-
- /**
- * Constructor.
- *@param timeout The timeout value which expired.
- *@param desc Textual description of the exception
- */
- public TimeoutException (TimeValue timeout, String desc)
- {
- super ("Timed Out in " + timeout + ": " + desc);
- }
-
-}
diff --git a/java/JACE/ASX/package.html b/java/JACE/ASX/package.html
deleted file mode 100644
index 346782ed083..00000000000
--- a/java/JACE/ASX/package.html
+++ /dev/null
@@ -1,11 +0,0 @@
-<!-- $Id$ -->
-<HTML>
-<BODY>
-Message queueing facilities.
-<P>
-@see <a href="http://www.cs.wustl.edu/~schmidt/ACE-papers.html#ipc">
-Documents on ACE interprocess communication components</a>
-@see <a href="http://www.cs.wustl.edu/~schmidt/ACE-papers.html#streams">
-Documents on the ACE streams framework</a>
-</BODY>
-</HTML>
diff --git a/java/JACE/Concurrency/AbstractLock.java b/java/JACE/Concurrency/AbstractLock.java
deleted file mode 100644
index c8afaf789ae..00000000000
--- a/java/JACE/Concurrency/AbstractLock.java
+++ /dev/null
@@ -1,269 +0,0 @@
-/*************************************************
- *
- * = PACKAGE
- * JACE.Concurrency
- *
- * = FILENAME
- * Lock.java
- *
- *@author Everett Anderson
- *
- *************************************************/
-package JACE.Concurrency;
-
-import JACE.ASX.*;
-
-/**
- * Interface for any Java ACE synchronization mechanism.
- * <P>
- * Defines the interface for Token, Mutex, RWMutex, Semaphore,
- * and the RemoteLock proxies in the Token service, as well as
- * the possible constant return values.
- * <P>
- * Methods which take TimeValue timeouts can throw
- * JACE.ASX.TimeoutExceptions. The locks should continue to
- * function properly after a thread times out or is interrupted.
- * <em>Also note that the timeouts are absolute time-of-day
- * values, not relative times.</em>
- * <P>
- * An AbstractLock.FAILURE can be returned for an undefined type of
- * failure.
- * <P>
- * You can assume that
- * AbstractLock.FAILURE < AbstractLock.SUCCESS < AbstractLock.SLEEPHOOK
- * <P>
- * Any method can throw a LockException, providing a way to return
- * unusual error cases in future types of locks (such as the Token
- * service).
- * <P>
- * It is safe to call release () in a finally block, since it will
- * return FAILURE if the accessing thread is not the owner.
- *
- */
-public interface AbstractLock
-{
- /**
- * Generic failure indication, used as a return value.
- */
- public static final int FAILURE = -1;
-
- /**
- * Success indication, used as a return value.
- */
- int SUCCESS = 0;
-
- /**
- * Success indication, but notes that the thread had to sleep
- * to complete it (and it called the sleep hook). Used as a
- * return value.
- */
- int SLEEPHOOK = 1;
-
-
- /**
- * Acquire ownership of the lock, blocking indefinitely if necessary.
- * <P>
- *@return AbstractLock.FAILURE or AbstractLock.SUCCESS
- *@exception LockException special exception defined by a later
- * implementation
- *@exception InterruptedException indicates another thread has
- * interrupted this one during wait
- */
- public int acquire () throws LockException, InterruptedException;
-
- /**
- * Acquire ownership of the lock by the given absolute time time-out.
- * A value of null for the timeout parameter results in a blocking
- * acquire.
- * A value of TimeValue.zero throws a TimeoutException if the
- * acquire would block.
- * <P>
- *@param timeout absolute time by which the lock must be acquired
- *@return appropriate Lock return value (AbstractLock.FAILURE,
- * AbstractLock.SUCCESS or AbstractLock.SLEEPHOOK)
- *@exception LockException special exception defined by a later
- * implementation
- *@exception JACE.ASX.TimeoutException thrown when the lock is not
- * obtained by the desired time
- *@exception InterruptedException indicates another thread has
- * interrupted this one during wait
- *@see AbstractLock#tryAcquire
- */
- public int acquire (TimeValue timeout)
- throws LockException, TimeoutException, InterruptedException;
-
- /**
- * Acquire a read lock, blocking indefinitely if necessary. This can
- * be used to implement Reader-Writer locks in which multiple readers
- * may have simultaneous access.
- * <P>
- *@return AbstractLock.FAILURE or AbstractLock.SUCCESS
- *@exception LockException special exception defined by a later
- * implementation
- *@exception InterruptedException indicates another thread has
- * interrupted this one during wait
- */
- public int acquireRead () throws LockException, InterruptedException;
-
- /**
- * Acquire a read lock by the given absolute time time-out. This can
- * be used to implement Reader-Writer locks in which multiple readers
- * may have simultaneous access.
- * <P>
- *@param timeout absolute time by which the lock must be acquired
- *@return appropriate lock return value (AbstractLock.FAILURE,
- * AbstractLock.SUCCESS or AbstractLock.SLEEPHOOK)
- *@exception LockException special exception defined by a later
- * implementation
- *@exception JACE.ASX.TimeoutException thrown when the lock is not
- * obtained by the desired time
- *@exception InterruptedException indicates another thread has
- * interrupted this one during wait
- *@see AbstractLock#tryAcquireRead
- */
- public int acquireRead (TimeValue timeout)
- throws LockException, TimeoutException, InterruptedException;
-
- /**
- * Acquire a write lock, blocking indefinitely if necessary. This can
- * be used to implement Reader-Writer locks in which a writer has
- * exclusive access.
- * <P>
- *@return AbstractLock.FAILURE or AbstractLock.SUCCESS
- *@exception LockException special exception defined by a later
- * implementation
- *@exception InterruptedException indicates another thread has
- * interrupted this one during wait
- */
- public int acquireWrite () throws LockException, InterruptedException;
-
- /**
- * Acquire a write lock by the given absolute time time-out. This can
- * be used to implement Reader-Writer locks in which a writer has
- * exclusive access.
- * <P>
- *@param timeout absolute time by which the lock must be acquired
- *@return appropriate AbstractLock return value (AbstractLock.FAILURE,
- * AbstractLock.SUCCESS or AbstractLock.SLEEPHOOK)
- *@exception LockException special exception defined by a later
- * implementation
- *@exception JACE.ASX.TimeoutException thrown when the lock is not
- * obtained by the desired time
- *@exception InterruptedException indicates another thread has
- * interrupted this one during wait
- *@see AbstractLock#tryAcquireWrite
- */
- public int acquireWrite (TimeValue timeout)
- throws LockException, TimeoutException, InterruptedException;
-
- /**
- * Give up the lock to some number of waiting threads (if any), then
- * reacquire, blocking indefinitely if necessary.
- * <P>
- * An optimized method that efficiently reacquires the token if no
- * other threads are waiting. This is useful for situations where
- * you don't want to degrade the quality of service if there are
- * other threads waiting to get the token.
- * <P>
- *@param requeuePosition position in the waiters queue to insert
- * this thread. If this value is -1 and there are other
- * threads waiting to obtain the token, this thread is queued
- * at the end. If this value is greater than -1, then it
- * indicates how many entries to skip over before inserting
- * our thread into the queue. (For example, if it is 0,
- * this thread is put at the front of the queue.) If this
- * value is greater than the number of waiters, this thread is
- * simply put at the end of the current waiters queue.
- *@return AbstractLock.FAILURE or AbstractLock.SUCCESS
- *@exception LockException special exception defined by a later
- * implementation
- *@exception InterruptedException indicates another thread has
- * interrupted this one during wait
- */
- public int renew (int requeuePosition) throws LockException,
- InterruptedException;
-
- /**
- * Give up the lock to some waiting threads (if any), then reacquire
- * by the given absolute time time-out.
- * <P>
- * An optimized method that efficiently reacquires the token if no
- * other threads are waiting. This is useful for situations where
- * you don't want to degrade the quality of service if there are
- * other threads waiting to get the token.
- * <P>
- * A value of null for the timeout should indicate a blocking renew.
- * <P>
- *@param requeuePosition position in the waiters queue to insert
- * this thread. If this value is -1 and there are other
- * threads waiting to obtain the token, this thread is queued
- * at the end. If this value is greater than -1, then it
- * indicates how many entries to skip over before inserting
- * our thread into the queue. (For example, if it is 0,
- * this thread is put at the front of the queue.) If this
- * value is greater than the number of waiters, this thread is
- * simply put at the end of the current waiters queue.
- *
- *@param timeout absolute time by which the lock must be reacquired
- *
- *@return appropriate AbstractLock return value
- * (AbstractLock.FAILURE or AbstractLock.SUCCESS)
- *@exception LockException special exception defined by a later
- * implementation
- *@exception JACE.ASX.TimeoutException thrown when the lock is not
- * obtained by the desired time
- *@exception InterruptedException indicates another thread has
- * interrupted this one during wait
- */
- public int renew (int requeuePosition, TimeValue timeout)
- throws LockException, TimeoutException, InterruptedException;
-
- /**
- * Try to acquire the lock without blocking.
- * <P>
- *@return appropriate AbstractLock return value
- * (AbstractLock.FAILURE or AbstractLock.SUCCESS)
- *@exception LockException special exception defined by a later
- * implementation
- */
- public int tryAcquire () throws LockException;
-
- /**
- * Try to acquire a read lock without blocking.
- * <P>
- *@see #acquireRead
- *@return appropriate AbstractLock return value
- * (AbstractLock.FAILURE or AbstractLock.SUCCESS)
- *@exception LockException special exception defined by a later
- * implementation
- */
- public int tryAcquireRead () throws LockException;
-
- /**
- * Try to acquire a write lock without blocking.
- *<P>
- *@see #acquireWrite
- *@return appropriate AbstractLock return value
- * (AbstractLock.FAILURE or AbstractLock.SUCCESS)
- *@exception LockException special exception defined by a later
- * implementation
- */
- public int tryAcquireWrite () throws LockException;
-
- /**
- * Method that is called before a thread goes to sleep in an
- * acquire. This should be overridden by a subclass to define
- * the appropriate behavior.
- */
- public void sleepHook ();
-
- /**
- * Release ownership of this lock.
- * <P>
- *@return appropriate AbstractLock return value
- * (AbstractLock.FAILURE or AbstractLock.SUCCESS)
- *@exception LockException special exception defined by a later
- * implementation
- */
- public int release () throws LockException;
-}
diff --git a/java/JACE/Concurrency/Condition.java b/java/JACE/Concurrency/Condition.java
deleted file mode 100644
index 1889f6e1edf..00000000000
--- a/java/JACE/Concurrency/Condition.java
+++ /dev/null
@@ -1,124 +0,0 @@
-/*************************************************
- *
- * = PACKAGE
- * JACE.Concurrency
- *
- * = FILENAME
- * Condition.java
- *
- *@author Irfan Pyarali
- *
- *************************************************/
-package JACE.Concurrency;
-
-import JACE.ASX.TimeoutException;
-import JACE.ASX.TimeValue;
-
-/**
- * Abstraction for <em>traditional</em>
- * condition variable
- * <P>
- * This condition variable allows the use of one
- * mutex between multiple conditions.
- * This implementation is based on the C++ version of ACE.
- */
-public class Condition
-{
- /**
- * Default constructor
- *@param Mutex for synchronization
- */
- public Condition (Mutex mutex)
- {
- mutex_ = mutex;
- }
-
- /**
- * Wait for condition to become signaled.
- *@exception InterruptedException exception during wait
- */
- public void Wait ()
- throws InterruptedException
- {
- waiters_++;
-
- try
- {
- mutex_.release();
- synchronized (waitObject_) {
- waitObject_.wait ();
- }
- mutex_.acquire ();
- }
- finally
- {
- waiters_--;
- }
- }
-
- /**
- * TimedWait for condition to become signaled. Note that the
- * given TimeValue is an absolute time, not a relative time.
- *
- *@param tv Absolute time to wait until before timing out
- *@exception TimeoutException wait timed out exception
- *@exception InterruptedException exception during wait
- */
- public void Wait (TimeValue tv)
- throws TimeoutException, InterruptedException
- {
- waiters_++;
-
- try
- {
- mutex_.release();
-
- synchronized (waitObject_) {
- long start = System.currentTimeMillis();
- long waitTime = tv.getMilliTime() - start;
- if (waitTime < 1)
- throw new TimeoutException ();
- waitObject_.wait (waitTime);
- }
-
- mutex_.acquire (tv);
- }
- finally
- {
- waiters_--;
- }
- }
-
- /**
- * Signal condition. Wake one waiter (if any).
- */
- public void signal ()
- {
- synchronized (waitObject_) {
- waitObject_.notify ();
- }
- }
-
- /**
- * Signal condition. Wake up all waiters (if any).
- */
- public void broadcast ()
- {
- synchronized (waitObject_) {
- waitObject_.notifyAll ();
- }
- }
-
- /**
- * Accessor to lock
- *@return Mutex
- */
- public Mutex mutex ()
- {
- return mutex_;
- }
-
- private int waiters_;
- private Object waitObject_ = new Object ();
- private Mutex mutex_;
-}
diff --git a/java/JACE/Concurrency/LockAdapter.java b/java/JACE/Concurrency/LockAdapter.java
deleted file mode 100644
index db2e9de05c7..00000000000
--- a/java/JACE/Concurrency/LockAdapter.java
+++ /dev/null
@@ -1,262 +0,0 @@
-/*************************************************
- *
- * = PACKAGE
- * JACE.Concurrency
- *
- * = FILENAME
- * Lock.java
- *
- *@author Everett Anderson
- *
- *************************************************/
-package JACE.Concurrency;
-
-import JACE.ASX.*;
-
-/**
- * Abstract adapter class which provides useful default implementations
- * for several methods in the AbstractLock interface, as well as
- * protected helper functions for making sure only the owner
- * can perform certain operations.
- *
- *@see JACE.Concurrency.AbstractLock
- */
-public abstract class LockAdapter implements AbstractLock
-{
- /**
- * Default implementation that calls acquire (TimeValue) with a null
- * timeout.
- *
- *@see AbstractLock#acquire
- */
- public int acquire () throws InterruptedException
- {
- try {
- return acquire (null);
- } catch (TimeoutException e) {
- // This should never happen
- return AbstractLock.FAILURE;
- }
- }
-
- /**
- * Acquire ownership of the lock by the given absolute time time-out.
- * A value of null for the timeout parameter results in a blocking
- * acquire.
- * A value of TimeValue.zero throws a TimeoutException if the
- * acquire would block.
- * <P>
- *@param timeout absolute time by which the lock must be acquired
- *@return appropriate Lock return value (AbstractLock.FAILURE,
- * AbstractLock.SUCCESS or AbstractLock.SLEEPHOOK)
- *@exception JACE.ASX.TimeoutException thrown when the lock is not
- * obtained by the desired time
- *@exception InterruptedException indicates another thread has
- * interrupted this one during wait
- *@see AbstractLock#tryAcquire
- */
- public abstract int acquire (TimeValue timeout)
- throws TimeoutException, InterruptedException;
-
- /**
- * Default implementation that calls acquireRead (TimeValue) with a
- * null timeout.
- *
- *@see AbstractLock#acquireRead
- */
- public int acquireRead () throws InterruptedException
- {
- try {
- return acquireRead (null);
- } catch (TimeoutException e) {
- // This should never happen
- }
-
- return AbstractLock.FAILURE;
- }
-
- /**
- * Default implementation that calls acquire (TimeValue).
- *
- *@see AbstractLock#acquireRead(TimeValue)
- */
- public int acquireRead (TimeValue timeout)
- throws TimeoutException, InterruptedException
- {
- return acquire (timeout);
- }
-
- /**
- * Default implementation that calls acquire with a null
- * timeout.
- *
- *@see AbstractLock#acquireWrite
- */
- public int acquireWrite () throws InterruptedException
- {
- try {
- return acquire (null);
- } catch (TimeoutException e) {
- // This should never happen
- }
-
- return AbstractLock.FAILURE;
- }
-
- /**
- * Default implementation that calls acquire (TimeValue).
- *
- *@see AbstractLock#acquireWrite(TimeValue)
- */
- public int acquireWrite (TimeValue timeout)
- throws TimeoutException, InterruptedException
- {
- return acquire (timeout);
- }
-
- /**
- * Default implementation that calls renew (int, TimeValue) with
- * a null timeout.
- *
- *@see AbstractLock#renew(int)
- */
- public int renew (int requeuePosition) throws InterruptedException
- {
- try
- {
- return renew (requeuePosition, null);
- } catch (TimeoutException e) {
- // Note that this should never happen since we requested a
- // blocking acquire.
- return AbstractLock.FAILURE;
- }
- }
-
- /**
- * Give up the lock to some waiting threads (if any), then reacquire
- * by the given absolute time time-out.
- * <P>
- * An optimized method that efficiently reacquires the token if no
- * other threads are waiting. This is useful for situations where
- * you don't want to degrade the quality of service if there are
- * other threads waiting to get the token.
- * <P>
- * A value of null for the timeout should indicate a blocking renew.
- * <P>
- *@param requeuePosition position in the waiters queue to insert
- * this thread. If this value is -1 and there are other
- * threads waiting to obtain the token, this thread is queued
- * at the end. If this value is greater than -1, then it
- * indicates how many entries to skip over before inserting
- * our thread into the queue. (For example, if it is 0,
- * this thread is put at the front of the queue.) If this
- * value is greater than the number of waiters, this thread is
- * simply put at the end of the current waiters queue.
- *
- *@param timeout absolute time by which the lock must be reacquired
- *
- *@return appropriate AbstractLock return value
- * (AbstractLock.FAILURE or AbstractLock.SUCCESS)
- *@exception JACE.ASX.TimeoutException thrown when the lock is not
- * obtained by the desired time
- *@exception InterruptedException indicates another thread has
- * interrupted this one during wait
- */
- public abstract int renew (int requeuePosition,
- TimeValue timeout)
- throws TimeoutException,
- InterruptedException;
-
- /**
- * Default implementation that calls tryAcquire ().
- *
- *@see AbstractLock#tryAcquireRead
- */
- public int tryAcquireRead ()
- {
- return tryAcquire ();
- }
-
- /**
- * Default implementation that calls tryAcquire ().
- *
- *@see AbstractLock#tryAcquireWrite
- */
- public int tryAcquireWrite ()
- {
- return tryAcquire ();
- }
- /**
- * Try to acquire the lock without blocking.
- * <P>
- *@return appropriate AbstractLock return value
- * (AbstractLock.FAILURE or AbstractLock.SUCCESS)
- */
- public abstract int tryAcquire ();
-
- /**
- * Default implementation as a no-op.
- *
- *@see AbstractLock#sleepHook
- */
- public void sleepHook ()
- {
- }
-
- /**
- * Release ownership of this lock.
- * <P>
- *@return appropriate AbstractLock return value
- * (AbstractLock.FAILURE or AbstractLock.SUCCESS)
- */
- public abstract int release ();
-
- /**
- * Obtains an Object which uniquely identifies the current accessor
- * (usually a thread). This is used to make sure only an owner can
- * perform certain operations like release. Subclasses can redefine
- * the behavior as necessary, such as in the Token service where it is
- * defined to be the client ID sent by the proxy.
- * <P>
- * When using Java 1.2 or later, it might be more efficient to use
- * ThreadLocal and an Integer for the ID. The current default
- * implementation returns the Thread.currentThread () reference.
- *
- *@return Object representing a unique ID for this accessor
- */
- protected Object accessorID ()
- {
- return Thread.currentThread();
- }
-
- /**
- * Check to see if the current accessor is the (or a) owner of this
- * lock.
- */
- protected boolean isOwner()
- {
- return accessorID().equals(this.owner_);
- }
-
- /**
- * Set the current accessor to be the (or a) owner of this lock.
- */
- protected void setOwner()
- {
- this.owner_ = accessorID();
- }
-
- /**
- * Make sure that this accessor is no longer the (or a) owner of this
- * lock.
- */
- protected void clearOwner()
- {
- this.owner_ = null;
- }
-
- /**
- * Reference to the accessorID of the owner.
- */
- private Object owner_;
-}
diff --git a/java/JACE/Concurrency/LockException.java b/java/JACE/Concurrency/LockException.java
deleted file mode 100644
index dff4c09c626..00000000000
--- a/java/JACE/Concurrency/LockException.java
+++ /dev/null
@@ -1,28 +0,0 @@
-package JACE.Concurrency;
-
-/**
- * Base class for possible exceptions thrown from Lock
- * mechanisms. This can be used by later Lock
- * implementations to signal special types of exceptions, such
- * as a remote failure, etc.
- * <P>
- */
-public class LockException extends java.lang.Exception
-{
- /**
- * Default constructor
- */
- public LockException () { }
-
- /**
- * Constructor with a string message that will be returned
- * via the getMessage() method on Exception.
- * <P>
- *@see java.lang.Exception#getMessage
- */
- public LockException (String message)
- {
- super(message);
- }
-}
-
diff --git a/java/JACE/Concurrency/Mutex.java b/java/JACE/Concurrency/Mutex.java
deleted file mode 100644
index 856fdbd79eb..00000000000
--- a/java/JACE/Concurrency/Mutex.java
+++ /dev/null
@@ -1,239 +0,0 @@
-/*************************************************
- *
- * = PACKAGE
- * JACE.Concurrency
- *
- * = FILENAME
- * Mutex.java
- *
- *@author Prashant Jain
- *@author Everett Anderson
- *
- *************************************************/
-package JACE.Concurrency;
-
-import java.util.*;
-import JACE.ASX.*;
-
-/**
- * Value added abstraction for mutex variable creation.
- *
- * A mutex whose operations do not block forever and can time out.
- * <P>
- * <EM>This class does not support recursive semantics.</EM>
- */
-public class Mutex extends LockAdapter
-{
- /**
- * Acquire ownership of the lock, blocking indefinitely if necessary.
- * <P>
- *@return AbstractLock.FAILURE or AbstractLock.SUCCESS
- *@exception InterruptedException indicates another thread has
- * interrupted this one during wait
- */
- public synchronized int acquire () throws InterruptedException
- {
- if (this.monitor_.condition ()) {
- this.monitor_.condition (false);
- setOwner ();
- return AbstractLock.SUCCESS;
- }
-
- this.numberOfWaiters_++;
- try {
- sleepHook ();
- this.monitor_.timedWait ();
- } finally {
- this.numberOfWaiters_--;
- }
- this.monitor_.condition (false);
- setOwner();
-
- return AbstractLock.SLEEPHOOK;
- }
-
- public int renew (int requeuePosition,
- TimeValue timeout)
- throws InterruptedException,
- TimeoutException
- {
- RenewObject rwo;
-
- synchronized (this) {
-
- if (!this.isOwner ())
- return AbstractLock.FAILURE;
-
- if (numberOfWaiters_ == 0 || requeuePosition == 0)
- return AbstractLock.SUCCESS;
-
- if (requeuePosition < 0 || requeuePosition > numberOfWaiters_)
- requeuePosition = numberOfWaiters_;
-
- rwo = new RenewObject (requeuePosition);
-
- this.release ();
- this.renewers_.addElement (rwo);
- }
-
- // We can't have the method synchronized, or synchronize on (this)
- // in here because then the Thread that was woken up won't be able
- // to continue its acquire.
- //
- // Normally when an exception occurs in timedWait, this thread just
- // needs to remove itself from the renewers queue.
- //
- // However, the following situation exists:
- // Thread A is the current owner, and is doing processing in release()
- // This thread generates a timeout exception in timedWait
- // Thread A signals this thread to wake up and take ownership, and
- // removes it from the queue.
- // This thread never takes ownership -- the exception keeps going up.
- //
- // This could lead to other renewers waiting in limbo forever.
- //
- // Solution: If this thread has an exception and it looks like it
- // has been proclaimed the owner, then it calls release and lets
- // the exception continue.
-
- boolean exceptionOccured = true;
- try {
- synchronized (rwo) {
- rwo.timedWait (timeout);
-
- exceptionOccured = false;
- }
- } finally {
- if (exceptionOccured) {
- synchronized (this) {
- if (!renewers_.removeElement (rwo)) {
- setOwner ();
- release ();
- }
- }
- }
- }
-
- synchronized (this) {
- setOwner ();
- }
-
- // By this point, we should know that we have the lock. The condition
- // flag is never set to true in the release() call from the Thread
- // that gave us control.
-
- return AbstractLock.SUCCESS;
- }
-
- public synchronized int tryAcquire () {
- if (this.monitor_.condition ()) {
- this.monitor_.condition (false);
- setOwner();
- return AbstractLock.SUCCESS;
- } else
- return AbstractLock.FAILURE;
- }
-
- public synchronized int acquire (TimeValue tv)
- throws TimeoutException, InterruptedException
- {
- if (this.monitor_.condition ()) {
- this.monitor_.condition (false);
- setOwner ();
- return AbstractLock.SUCCESS;
- }
-
- this.numberOfWaiters_++;
- try {
- sleepHook ();
- this.monitor_.timedWait (tv);
- } finally {
- this.numberOfWaiters_--;
- }
- this.monitor_.condition (false);
- setOwner();
-
- return AbstractLock.SLEEPHOOK;
- }
-
- /**
- * Checks any objects in the renewers queue, giving one of them
- * the lock if it is appropriate. Assumes the synchronization
- * lock is already held.
- *
- *@return true if a renewer was signaled, else false
- */
- protected boolean signalNextRenewer ()
- {
- // First find the renewer with the minimum yieldTo count, processing
- // all of them along the way.
- if (this.renewers_.size() > 0) {
-
- RenewObject renewer = (RenewObject)renewers_.
- elementAt (renewers_.size () - 1);
-
- renewer.decrementYieldTo ();
-
- for (int i = this.renewers_.size() - 2; i >=0; i--) {
-
- RenewObject rwo = (RenewObject)renewers_.elementAt (i);
-
- rwo.decrementYieldTo ();
-
- renewer = renewer.min (rwo);
- }
-
- // If the renewer with the minimum yieldTo count has yielded to
- // enough threads, or if there are no waiting threads, it should
- // be signaled (thus, it wakes up and obtains the lock again).
-
- if (renewer.condition () || numberOfWaiters_ == 0) {
- // Note that we leave monitor_.condition in the false state so
- // we are assured that only the renewer (and not another
- // Thread that does an acquire) will gain control. This
- // is important since the renew method can't be synchronized
- // in its current implementation.
- renewers_.removeElement(renewer);
-
- synchronized (renewer) {
- renewer.signal ();
- }
-
- return true;
- }
- }
-
- return false;
- }
-
- public synchronized int release ()
- {
- if (!isOwner())
- return AbstractLock.FAILURE;
-
- if (!signalNextRenewer ()) {
- // Do a normal release if there are no threads waiting to renew
- // or no such threads are ready to renew.
- this.monitor_.condition (true);
- this.monitor_.signal ();
- }
-
- return AbstractLock.SUCCESS;
- }
-
- /**
- * Monitor used to signal whether or not this Mutex is available.
- */
- protected WaitObject monitor_ = new WaitObject (true, this);
- // The monitor (adapter) to wait on
-
- /**
- * Queue of waiting renewers.
- */
- protected Vector renewers_ = new Vector ();
-
- /**
- * Number of waiting threads.
- */
- protected int numberOfWaiters_ = 0;
-}
diff --git a/java/JACE/Concurrency/RWMutex.java b/java/JACE/Concurrency/RWMutex.java
deleted file mode 100644
index abb30ce3bc8..00000000000
--- a/java/JACE/Concurrency/RWMutex.java
+++ /dev/null
@@ -1,268 +0,0 @@
-package JACE.Concurrency;
-
-import java.util.*;
-import JACE.ASX.*;
-
-/**
- * A read/write lock allows multiple
- * readers or a single writer to access the guarded element.
- * <P>
- * <EM>This class does not support recursive semantics.</EM>
- */
-public class RWMutex extends LockAdapter
-{
- public synchronized int tryAcquire ()
- {
- if (referenceCount_ == 0) {
- referenceCount_ = -1;
- setOwner ();
- return AbstractLock.SUCCESS;
- } else
- return AbstractLock.FAILURE;
- }
-
- public synchronized int tryAcquireRead ()
- {
- if (referenceCount_ > -1 && waiters_.size () == 0) {
- referenceCount_++;
- setOwner ();
- return AbstractLock.SUCCESS;
- } else
- return AbstractLock.FAILURE;
- }
-
- public int acquire(TimeValue timeout)
- throws TimeoutException, InterruptedException
- {
- return acquireWrite(timeout);
- }
-
- public void waitUntilIsOwner (RWWaitObject waitObj, TimeValue timeout)
- throws TimeoutException, InterruptedException
- {
- boolean exceptionOccured = true;
- try {
- sleepHook ();
- synchronized (waitObj) {
- waitObj.timedWait (timeout);
- }
- exceptionOccured = false;
- } finally {
-
- synchronized (this) {
-
- if (exceptionOccured) {
- if (!waiters_.removeElement (waitObj)) {
- setOwner ();
- release ();
- }
- } else
- setOwner();
- }
- }
- }
-
- public int acquireRead(TimeValue timeout)
- throws TimeoutException, InterruptedException
- {
- RWWaitObject waitObj = null;
-
- synchronized (this) {
-
- if (referenceCount_ > -1 && waiters_.size () == 0) {
- referenceCount_++;
- setOwner ();
- return AbstractLock.SUCCESS;
- }
-
- waitObj = new RWWaitObject (true);
-
- waiters_.addElement (waitObj);
- }
-
- waitUntilIsOwner (waitObj, timeout);
-
- return AbstractLock.SLEEPHOOK;
- }
-
- public int acquireWrite(TimeValue timeout)
- throws TimeoutException, InterruptedException
- {
- RWWaitObject waitObj = null;
-
- synchronized (this) {
-
- if (referenceCount_ == 0) {
- referenceCount_ = -1;
- setOwner ();
- return AbstractLock.SUCCESS;
- }
-
- waitObj = new RWWaitObject (false);
-
- waiters_.addElement (waitObj);
- }
-
- waitUntilIsOwner (waitObj, timeout);
-
- // When the writer gets here, it has been cleared to go by
- // whatever thread specifically gave control to this writer in
- // release. The referenceCount_ and numberOfWaitingWriters_
- // variables are also adjusted by the releasing thread since
- // it already has a synchronization lock. Not doing that,
- // and then having another synchronized (this) block in here
- // could lead to a situation in which another thread sneaks
- // in inbetween when this thread leaves timedWait and goes to
- // adjust them.
-
- return AbstractLock.SLEEPHOOK;
- }
-
-
- public synchronized int release ()
- {
- if (!isOwner ())
- return AbstractLock.FAILURE;
-
- clearOwner ();
-
- // Releasing a reader.
- if (referenceCount_ > 0) {
- referenceCount_--;
-
- if (referenceCount_ != 0)
- return AbstractLock.SUCCESS;
-
- } else {
- // releasing a writer
- referenceCount_ = 0;
- }
-
- if (waiters_.size () == 0)
- return AbstractLock.SUCCESS;
-
- if (releaseFirstReaders () == 0) {
- RWWaitObject waitObj = (RWWaitObject)waiters_.firstElement ();
- waiters_.removeElementAt (0);
-
- referenceCount_ = -1;
-
- waitObj.condition (true);
- synchronized (waitObj) {
- waitObj.signal ();
- }
- }
-
- return AbstractLock.SUCCESS;
- }
-
- // Releases all waiting readers up to the first waiting writer
- // or the end of the queue. Returns the number of readers
- // released.
- protected int releaseFirstReaders ()
- {
- int releasedReaders = 0;
-
- do {
-
- RWWaitObject waitObj = (RWWaitObject)waiters_.firstElement ();
- if (!waitObj.isReader ())
- break;
-
- waiters_.removeElementAt (0);
-
- referenceCount_++;
- releasedReaders++;
-
- waitObj.condition (true);
- synchronized (waitObj) {
- waitObj.signal ();
- }
-
- } while (waiters_.size () > 0);
-
- return releasedReaders;
- }
-
- public int renew (int requeuePosition,
- JACE.ASX.TimeValue timeout)
- throws InterruptedException,
- TimeoutException
- {
- RWWaitObject waitObj = null;
-
- synchronized (this) {
-
- if (!isOwner ())
- return AbstractLock.FAILURE;
-
- if (requeuePosition == 0 || waiters_.size () == 0)
- return AbstractLock.SUCCESS;
-
- waitObj = new RWWaitObject (referenceCount_ > 0);
-
- if (requeuePosition < 0 || requeuePosition > waiters_.size ()) {
- requeuePosition = waiters_.size ();
- }
-
- waiters_.insertElementAt (waitObj, requeuePosition);
-
- release ();
- }
-
- waitUntilIsOwner (waitObj, timeout);
-
- // When the writer gets here, it has been cleared to go by
- // whatever thread specifically gave control to this writer in
- // release. The referenceCount_ and numberOfWaitingWriters_
- // variables are also adjusted by the releasing thread since
- // it already has a synchronization lock. Not doing that,
- // and then having another synchronized (this) block in here
- // could lead to a situation in which another thread sneaks
- // in inbetween when this thread leaves timedWait and goes to
- // adjust them.
-
- return AbstractLock.SUCCESS;
- }
-
- static class RWWaitObject extends WaitObject
- {
- public RWWaitObject (boolean isReader)
- {
- isReader_ = isReader;
- }
-
- public boolean isReader ()
- {
- return isReader_;
- }
-
- private boolean isReader_ = false;
- }
-
- protected boolean isOwner ()
- {
- return owners_.containsKey (accessorID());
- }
-
- protected void setOwner ()
- {
- owners_.put (accessorID(), this);
- }
-
- protected void clearOwner ()
- {
- owners_.remove (accessorID());
- }
-
- private Vector waiters_ = new Vector ();
-
- private int referenceCount_ = 0;
- // Value is -1 if writer has the lock, else this keeps track of the
- // number of readers holding the lock.
-
- private Hashtable owners_ = new Hashtable ();
-
- private int nestingLevel_ = 0;
-}
-
diff --git a/java/JACE/Concurrency/RenewObject.java b/java/JACE/Concurrency/RenewObject.java
deleted file mode 100644
index b690958968a..00000000000
--- a/java/JACE/Concurrency/RenewObject.java
+++ /dev/null
@@ -1,36 +0,0 @@
-package JACE.Concurrency;
-
-import JACE.ASX.TimedWait;
-
-class RenewObject extends TimedWait
-{
- public RenewObject (int maxYieldTo)
- {
- yieldTo_ = maxYieldTo;
- }
-
- public boolean condition ()
- {
- return yieldTo_ <= 0;
- }
-
- public void decrementYieldTo()
- {
- this.yieldTo_--;
- }
-
- public int yieldTo ()
- {
- return this.yieldTo_;
- }
-
- public RenewObject min (RenewObject other)
- {
- if (other.yieldTo_ < this.yieldTo_)
- return other;
- else
- return this;
- }
-
- private int yieldTo_;
-}
diff --git a/java/JACE/Concurrency/Semaphore.java b/java/JACE/Concurrency/Semaphore.java
deleted file mode 100644
index 5e558035aee..00000000000
--- a/java/JACE/Concurrency/Semaphore.java
+++ /dev/null
@@ -1,263 +0,0 @@
-/*************************************************
- *
- * = PACKAGE
- * JACE.Concurrency
- *
- * = FILENAME
- * Semaphore.java
- *
- *@author Prashant Jain
- *
- *************************************************/
-package JACE.Concurrency;
-
-import java.util.*;
-import JACE.ASX.*;
-
-/**
- * Implementation of Dijkstra's counting semaphore in java.
- * <P>
- * <EM>This class does not support recursive semantics.</EM>
- */
-public class Semaphore extends LockAdapter
-{
- static class TimedWaitSAdapter extends JACE.ASX.TimedWait
- {
- TimedWaitSAdapter (Object obj)
- {
- super (obj);
- }
-
- // Check to see if there are any semaphores available.
- public boolean condition ()
- {
- return this.count_ > 0;
- }
-
- // Increment the count by one
- public void increment ()
- {
- this.count_++;
- }
-
- // Decrement the count by one
- public void decrement ()
- {
- this.count_--;
- }
-
- // Set the count
- public void count (int c)
- {
- this.count_ = c;
- }
-
- public int count ()
- {
- return this.count_;
- }
-
- private int count_ = 0;
- }
-
- /**
- * Create a Semaphore.
- *@param count semaphore count
- */
- public Semaphore (int c)
- {
- this.monitor_.count (c);
- this.owners_ = new Hashtable (c);
- }
-
- /**
- * Create a binary Semaphore.
- */
- public Semaphore ()
- {
- this.monitor_.count (1);
- this.owners_ = new Hashtable (1);
- }
-
- public synchronized int tryAcquire ()
- {
- if (this.monitor_.condition ()) {
- this.monitor_.decrement ();
- setOwner ();
- return AbstractLock.SUCCESS;
- } else
- return AbstractLock.FAILURE;
- }
-
- /**
- * Acquire the Semaphore. Throws a TimeoutException if the semaphore
- * isn't acquired before the given absolute time.
- *@param tv time (TimeValue) to wait until before throwing a
- * TimeoutException (unless the semaphore is acquired before that)
- *@exception TimeoutException wait timed out exception
- *@exception InterruptedException exception during wait
- */
- public synchronized int acquire (TimeValue tv)
- throws TimeoutException, InterruptedException
- {
- if (this.monitor_.condition ()) {
- this.monitor_.decrement ();
- setOwner ();
- return AbstractLock.SUCCESS;
- }
-
- numberOfWaiters_++;
-
- try {
- sleepHook ();
- this.monitor_.timedWait (tv);
- } finally {
- numberOfWaiters_--;
- }
-
- this.monitor_.decrement ();
- setOwner ();
-
- return AbstractLock.SLEEPHOOK;
- }
-
- public synchronized int release ()
- {
- if (!isOwner ())
- return AbstractLock.FAILURE;
-
- if (!signalNextRenewer ()) {
- this.monitor_.increment ();
- this.monitor_.signal ();
- clearOwner ();
- }
-
- return AbstractLock.SUCCESS;
- }
-
- /**
- * Checks any objects in the renewers queue, giving one of them
- * the lock if it is appropriate. Assumes the synchronization
- * lock is already held.
- *
- *@return true if a renewer was signaled, else false
- */
- protected boolean signalNextRenewer ()
- {
- // First find the renewer with the minimum yieldTo count, processing
- // all of them along the way.
- if (this.renewers_.size() > 0) {
-
- RenewObject renewer = (RenewObject)renewers_.
- elementAt (renewers_.size () - 1);
-
- renewer.decrementYieldTo ();
-
- for (int i = this.renewers_.size() - 2; i >=0; i--) {
-
- RenewObject rwo = (RenewObject)renewers_.elementAt (i);
-
- rwo.decrementYieldTo ();
-
- renewer = renewer.min (rwo);
- }
-
- // If the renewer with the minimum yieldTo count has yielded to
- // enough threads, or if there are no waiting threads, it should
- // be signaled (thus, it wakes up and obtains the lock again).
-
- if (renewer.condition () || numberOfWaiters_ == 0) {
- // Note that we leave monitor_.inUse in the true state so
- // we are assured that only the renewer (and not another
- // Thread that does an acquire) will gain control. This
- // is important since the renew method can't be synchronized
- // in its current implementation.
- renewers_.removeElement(renewer);
-
- synchronized (renewer) {
- renewer.signal ();
- }
-
- return true;
- }
- }
-
- return false;
- }
-
- public int renew (int requeuePosition,
- JACE.ASX.TimeValue timeout)
- throws InterruptedException,
- TimeoutException
- {
- RenewObject rwo;
-
- synchronized (this) {
-
- if (!this.isOwner ())
- return AbstractLock.FAILURE;
-
- if (numberOfWaiters_ == 0 ||
- requeuePosition == 0 ||
- this.monitor_.condition ())
- return AbstractLock.SUCCESS;
-
- if (requeuePosition < 0 || requeuePosition > numberOfWaiters_)
- requeuePosition = numberOfWaiters_;
-
- rwo = new RenewObject (requeuePosition);
-
- this.release ();
- this.renewers_.addElement (rwo);
- }
-
- boolean exceptionOccured = true;
- try {
- synchronized (rwo) {
- rwo.timedWait (timeout);
-
- exceptionOccured = false;
- }
- } finally {
- synchronized (this) {
-
- if (exceptionOccured) {
- if (!renewers_.removeElement (rwo)) {
- setOwner ();
- release ();
- }
- } else {
- setOwner();
- }
- }
- }
-
- // By this point, we should know that we have the lock. The inUse
- // flag is never set to false in the release() call from the Thread
- // that gave us control. That thread also set the owner value.
-
- return AbstractLock.SUCCESS;
- }
-
- protected boolean isOwner ()
- {
- return owners_.containsKey (accessorID());
- }
-
- protected void setOwner ()
- {
- owners_.put (accessorID(), this);
- }
-
- protected void clearOwner ()
- {
- owners_.remove (accessorID());
- }
-
- private TimedWaitSAdapter monitor_ = new TimedWaitSAdapter (this);
- // The monitor (adapter) to wait on
-
- private Hashtable owners_;
- private Vector renewers_ = new Vector ();
- private int numberOfWaiters_ = 0;
-}
diff --git a/java/JACE/Concurrency/ThreadManager.java b/java/JACE/Concurrency/ThreadManager.java
deleted file mode 100644
index d23e2410676..00000000000
--- a/java/JACE/Concurrency/ThreadManager.java
+++ /dev/null
@@ -1,113 +0,0 @@
-/*************************************************
- *
- * = PACKAGE
- * JACE.Concurrency
- *
- * = FILENAME
- * ThreadManager.java
- *
- *@author Prashant Jain
- *
- *************************************************/
-package JACE.Concurrency;
-
-import java.util.*;
-import JACE.OS.*;
-
-/**
- * Wrapper for a ThreadGroup which provides additional methods for
- * creating a certain number of Runnable instances.
- */
-public class ThreadManager
-{
- /**
- * Default constructor
- */
- public ThreadManager ()
- {
- this (ACE.DEFAULT_THREAD_GROUP_NAME);
- }
-
- /**
- * Create a Thread Manager.
- *@param groupName name of the thread group that the Thread Manager
- * will manage
- */
- public ThreadManager (String groupName)
- {
- this.thrGrp_ = new ThreadGroup (groupName);
- if (this.thrGrp_ == null)
- ACE.ERROR ("Thread group create failed");
- }
-
- /**
- * Create a new thread.
- *@param thr the caller whose run method will be invoked when the
- * thread has been spawned
- *@param daemon flag indicating whether the thread should be
- * spawned off as a daemon thread
- */
- public void spawn (Runnable thr,
- boolean daemon)
- {
- Thread t = new Thread (this.thrGrp_, thr);
- if (daemon) // Set the thread to be a daemon thread
- t.setDaemon (true);
- t.start ();
- }
-
- /**
- * Create a new thread and also give it a name.
- *@param thr the caller whose run method will be invoked when the
- * thread has been spawned
- *@param threadName the name of the new thread
- *@param daemon flag indicating whether the thread should be
- * spawned off as a daemon thread
- */
- public void spawn (Runnable thr,
- String threadName,
- boolean daemon)
- {
- Thread t = new Thread (this.thrGrp_, thr, threadName);
- if (daemon) // Set the thread to be a daemon thread
- t.setDaemon (true);
- t.start ();
- }
-
-
- /**
- * Create <n> new threads.
- *@param n the number of threads to spawn
- *@param thr the caller whose run method will be invoked by each of
- * the <n> threads
- *@param daemon flag indicating whether the threads should be
- * spawned off as daemon threads
- */
- public void spawnN (int n,
- Runnable thr,
- boolean daemon)
- {
- // Spawn off all the threads.
- for (int i = 0; i < n; i++)
- {
- this.spawn (thr, daemon);
- }
- }
-
- /**
- * Get the thread group containing all the threads. Note that the
- * thread group can be used to get information regarding number of
- * active threads as well as to suspend/resume all the threads in
- * the group.
- *@return the thread group that contains all the threads managed by
- * the Thread Manager
- */
- public ThreadGroup thrGrp ()
- {
- return this.thrGrp_;
- }
-
- private ThreadGroup thrGrp_;
- // Thread Group that contains all the spawned threads
-
-}
diff --git a/java/JACE/Concurrency/Token.java b/java/JACE/Concurrency/Token.java
deleted file mode 100644
index c9080b47fbe..00000000000
--- a/java/JACE/Concurrency/Token.java
+++ /dev/null
@@ -1,301 +0,0 @@
-/*************************************************
- *
- * = PACKAGE
- * JACE.Concurrency
- *
- * = FILENAME
- * Token.java
- *
- *@author Prashant Jain
- *
- *************************************************/
-package JACE.Concurrency;
-
-import java.util.*;
-import JACE.ASX.*;
-
-import JACE.OS.*;
-
-/**
- * Class that acquires, renews, and releases a synchronization
- * token that is serviced in strict FIFO ordering.
- * <P>
- * This is a general-purpose synchronization mechanism that offers
- * several benefits. For example, it implements "recursive mutex"
- * semantics, where a thread that owns the token can reacquire it
- * without deadlocking. In addition, threads that are blocked
- * awaiting the token are serviced in strict FIFO order as other
- * threads release the token. The solution makes use of the
- * Specific Notification pattern presented by Tom Cargill in
- * "Specific Notification for Java Thread Synchronization," PLoP96.
- *
- * <P>
- * This class DOES support recursive semantics.
- */
-public class Token extends LockAdapter
-{
- /**
- * Acquire ownership of the lock, blocking indefinitely if necessary.
- * <P>
- *@return AbstractLock.FAILURE or AbstractLock.SUCCESS
- *@exception InterruptedException indicates another thread has
- * interrupted this one during wait
- */
- public int acquire () throws InterruptedException
- {
- try
- {
- return this.acquire (null);
- }
- catch (TimeoutException e)
- {
- // This really shouldn't happen since we are supposed to
- // block.
- return AbstractLock.FAILURE;
- }
- }
-
- /**
- * Acquire the token by the given absolute time time-out. The
- * method uses synchronized blocks internally to avoid race conditions.
- *@param timeout time to wait until before throwing a
- * TimeoutException (unless the token is acquired before that).
- * Performs a blocking acquire if the given timeout is null.
- *@return AbstractLock.SUCCESS if acquires without calling <sleepHook>
- * AbstractLock.SLEEPHOOK if <sleepHook> is called.
- * AbstractLock.FAILURE if failure occurs
- *@exception TimeoutException if time-out occurs
- *@exception InterruptedException exception during wait
- */
- public int acquire (TimeValue timeout) throws TimeoutException,
- InterruptedException
- {
- int result = AbstractLock.SUCCESS;
- WaitObject snl = new WaitObject ();
- boolean mustWait;
- synchronized (snl)
- {
- synchronized (this)
- {
- mustWait = !this.snq_.isEmpty ();
-
- if (mustWait && isOwner ())
- {
- // I am the one who has the token. So just increment
- // the nesting level
- this.nestingLevel_++;
- return AbstractLock.SUCCESS;
- }
- // Add local lock to the queue
- this.snq_.addElement (snl);
- }
- if (mustWait)
- {
- result = AbstractLock.SLEEPHOOK;
- sleepHook();
-
- boolean exceptionOccured = true;
- try {
- snl.timedWait(timeout);
- exceptionOccured = false;
- } finally {
- if (exceptionOccured) {
- synchronized (this) {
- if (!snq_.removeElement (snl)) {
- setOwner ();
- release ();
- }
- }
- }
- }
- }
-
- // Set the owner of the token
- synchronized (this) {
- setOwner();
- }
- }
-
- return result;
- }
-
- /**
- * Try to acquire the token. Implements a non-blocking acquire.
- *
- *@return AbstractLock.SUCCESS if acquires
- * AbstractLock.FAILURE if failure occurs
- */
- public synchronized int tryAcquire ()
- {
- int result = AbstractLock.SUCCESS;
-
- if (this.snq_.isEmpty ())
- {
- // No one has the token, so acquire it
- this.snq_.addElement (new WaitObject ());
-
- setOwner();
- }
- else if (isOwner())
- {
- this.nestingLevel_++;
- }
- // Someone else has the token.
- else
- {
- // Would have to block to acquire the token, so return
- // failure.
- result = AbstractLock.FAILURE;
- }
- return result;
- }
-
- /**
- * An optimized method that efficiently reacquires the token if no
- * other threads are waiting. This is useful for situations where
- * you don't want to degrade the quality of service if there are
- * other threads waiting to get the token. If the given TimeValue
- * is null, it's the same as calling renew(int requeuePosition).
- *@param requeuePosition Position in the queue where to insert the
- * lock. If requeuePosition == -1 and there are other threads
- * waiting to obtain the token we are queued at the end of the list
- * of waiters. If requeuePosition > -1 then it indicates how many
- * entries to skip over before inserting our thread into the list of
- * waiters (e.g.,requeuePosition == 0 means "insert at front of the
- * queue").
- *@param timeout Throw a TimeoutException if the token isn't renewed
- * before this absolute time timeout.
- *@return AbstractLock.SUCCESS if renewed the lock
- * AbstractLock.FAILURE if failure occurs
- *@exception TimeoutException exception if timeout occurs
- *@exception InterruptedException exception during wait
- */
- public int renew (int requeuePosition, TimeValue timeout)
- throws TimeoutException, InterruptedException
- {
- WaitObject snl = null;
- int saveNestingLevel = 0;
-
- synchronized (this)
- {
- if (!isOwner ())
- return AbstractLock.FAILURE;
-
- // Check if there is a thread waiting to acquire the token. If
- // not or if requeuePosition == 0, then we don't do anything
- // and we simply keep the token.
- if (this.snq_.size () > 1 && requeuePosition != 0)
- {
- // Save the nesting level
- saveNestingLevel = this.nestingLevel_;
- this.nestingLevel_ = 0;
-
- // Reinsert ourselves at requeuePosition in the queue
- snl = (WaitObject) this.snq_.firstElement ();
- this.snq_.removeElementAt (0);
-
- if (requeuePosition < 0)
- this.snq_.addElement (snl); // Insert at end
- else
- this.snq_.insertElementAt (snl, Math.min(requeuePosition,
- this.snq_.size()));
-
- synchronized (this.snq_.firstElement ())
- {
- // Notify the first waiting thread in the queue
- WaitObject obj = (WaitObject) this.snq_.firstElement ();
- // Set its condition to be true so that it falls out
- // of the for loop
- obj.condition (true);
- // Now signal the thread
- obj.signal ();
- }
- }
- }
-
- // Check if we reinserted the lock in the queue and therefore need
- // to do a wait
- if (snl != null)
- {
- synchronized (snl)
- {
- // Set the condition to be false so that we can begin the
- // wait
- snl.condition (false);
- // Wait until the given absolute time (or until notified
- // if the timeout is null)
-
- boolean exceptionOccured = true;
- try {
-
- snl.timedWait (timeout);
-
- exceptionOccured = false;
-
- } finally {
- if (exceptionOccured) {
- synchronized (this) {
- if (!snq_.removeElement (snl)) {
- setOwner ();
- release ();
- }
- }
- }
- }
- }
-
- synchronized (this) {
- // Restore the nesting level and current owner of the lock
- this.nestingLevel_ = saveNestingLevel;
-
- // Set the owner of the token
- setOwner();
- }
- }
-
- return AbstractLock.SUCCESS;
- }
-
- /**
- * Release the token. It is safe for non-owners to call
- * this.
- *@return AbstractLock.SUCCESS on success
- * AbstractLock.FAILURE on failure (for instance, a non-owner
- * calling release)
- */
- public synchronized int release ()
- {
- if (!isOwner())
- return AbstractLock.FAILURE;
-
- // Check if nestingLevel > 0 and if so, decrement it
- if (this.nestingLevel_ > 0)
- this.nestingLevel_--;
- else
- {
- clearOwner ();
- this.snq_.removeElementAt (0);
- if (!this.snq_.isEmpty ())
- {
- synchronized (this.snq_.firstElement ())
- {
- // Notify the first waiting thread in the queue
- WaitObject obj = (WaitObject) this.snq_.firstElement ();
- // Set its condition to be true so that it falls out
- // of the for loop
- obj.condition (true);
- // Now signal the thread
- obj.signal ();
- }
- }
- }
-
- return AbstractLock.SUCCESS;
- }
-
- private Vector snq_ = new Vector ();
- // Vector of lock objects
-
- private int nestingLevel_ = 0;
- // Current Nesting Level
-}
diff --git a/java/JACE/Concurrency/WaitObject.java b/java/JACE/Concurrency/WaitObject.java
deleted file mode 100644
index b7c8cbc7191..00000000000
--- a/java/JACE/Concurrency/WaitObject.java
+++ /dev/null
@@ -1,39 +0,0 @@
-package JACE.Concurrency;
-
-import JACE.ASX.TimedWait;
-
-class WaitObject extends TimedWait
-{
- public WaitObject ()
- {
- super ();
- }
-
- public WaitObject (Object obj)
- {
- super (obj);
- }
-
- public WaitObject (boolean initialState)
- {
- condition_ = initialState;
- }
-
- public WaitObject (boolean initialState, Object obj)
- {
- super (obj);
- condition_ = initialState;
- }
-
- public boolean condition ()
- {
- return this.condition_;
- }
-
- public void condition (boolean c)
- {
- this.condition_ = c;
- }
-
- private boolean condition_ = false;
-}
diff --git a/java/JACE/Concurrency/package.html b/java/JACE/Concurrency/package.html
deleted file mode 100644
index ceadb36f662..00000000000
--- a/java/JACE/Concurrency/package.html
+++ /dev/null
@@ -1,15 +0,0 @@
-<!-- $Id$ -->
-<HTML>
-<BODY>
-Collection of concurrency mechanisms and a Thread manager.
-<P>
-JACE concurrency mechanisms now inherit from a common base class,
-AbstractLock. This allows users to write code without regard to
-whether a lock is local or remote.
-
-@see JACE.netsvcs.Token.RemoteLock
-@see <a href="http://www.cs.wustl.edu/~schmidt/ACE-papers.html#concurrency">Documents on ACE concurrency components</a>
-</BODY>
-</HTML>
-
-
diff --git a/java/JACE/Connection/AcceptStrategy.java b/java/JACE/Connection/AcceptStrategy.java
deleted file mode 100644
index 3af87865c79..00000000000
--- a/java/JACE/Connection/AcceptStrategy.java
+++ /dev/null
@@ -1,87 +0,0 @@
-/*************************************************
- *
- * = PACKAGE
- * JACE.Connection
- *
- * = FILENAME
- * AcceptStrategy.java
- *
- *@author Prashant Jain
- *@author Everett Anderson
- *
- *************************************************/
-package JACE.Connection;
-
-import java.io.*;
-import java.net.*;
-import JACE.SOCK_SAP.*;
-
-/**
- * Interface for specifying a passive connection
- * acceptance strategy for a
- * <a href="ACE.Connection.SvcHandler.html"><tt>SvcHandler</tt></a>
- * .
- * <P>
- * This class provides a strategy that manages passive
- * connection setup for an application, and can be extended
- * to define new strategies.
- * <P>
- *
- * The default implementation delegates to a generic Acceptor.
- *
- *@see SvcHandler
- *@see Acceptor
- */
-public class AcceptStrategy
-{
- /**
- * Create an instance of AcceptStrategy that delegates to the given
- * Acceptor.
- *@param port port number where the server will listen for connections
- *@param peer Acceptor instance to delegate to
- */
- AcceptStrategy (int port, Acceptor peer) throws IOException
- {
- this.acceptor_ = peer;
- this.open (port);
- }
-
- /**
- * Create an instance of Accept Strategy that delegates to Acceptor.
- *@param port port number where the server will listen for connections
- *@exception IOException couldn't open port
- */
- AcceptStrategy (int port) throws IOException
- {
- this.acceptor_ = new Acceptor ();
- this.open (port);
- }
-
- /**
- * Initialize AcceptStrategy.
- *@param port port number where the server will listen for connections
- *@exception IOException couldn't open port
- */
- public void open (int port) throws IOException
- {
- this.acceptor_.open (port);
- }
-
- /**
- * Accept connections into the SvcHandler. Note that subclasses
- * should overwrite this method to provide a different accept
- * strategy.
- *@param sh Svc Handler in which to accept the connection
- *@exception SocketException Socket error
- *@exception IOException Socket error
- *@return 0
- */
- public int acceptSvcHandler (SvcHandler sh) throws
- SocketException, IOException
- {
- return this.acceptor_.acceptSvcHandler (sh);
- }
-
- // The Acceptor we delegate to (if any)
- private Acceptor acceptor_;
-}
diff --git a/java/JACE/Connection/Acceptor.java b/java/JACE/Connection/Acceptor.java
deleted file mode 100644
index 00dbed4c056..00000000000
--- a/java/JACE/Connection/Acceptor.java
+++ /dev/null
@@ -1,215 +0,0 @@
-/*************************************************
- *
- * = PACKAGE
- * JACE.Connection
- *
- * = FILENAME
- * Acceptor.java
- *
- *@author Prashant Jain
- *
- *************************************************/
-package JACE.Connection;
-
-import java.io.*;
-import java.net.*;
-import JACE.OS.*;
-import JACE.SOCK_SAP.*;
-import JACE.ServiceConfigurator.*;
-
-/**
- * Abstract factory for creating a service handler
- * (<a href="ACE.Connection.SvcHandler.html"><tt>SvcHandler</tt></a>),
- * accepting into the
- * <a href="ACE.Connection.SvcHandler.html"><tt>SvcHandler</tt></a>, and activating the
- * <a href="ACE.Connection.SvcHandler.html"><tt>SvcHandler</tt></a>.
- * <P>
- *
- * Implements the basic strategy for passively establishing
- * connections with applications. The <tt>Acceptor</tt>
- * is a factory for <tt>SvcHandler</tt> instances, and, by default
- * generates a new <tt>SvcHandler</tt> instance for each connection
- * esablished.
- *
- * <p>
- *
- * The user of this class <em>must</em> provide a
- * reference to a handler factory prior to calling <a
- * href="#accept()"><tt>accept</tt></a>, or an exception will be
- * thrown. The handler factory is identified by the meta-class for
- * the <tt>SvcHandler</tt>, and is typically obtained by calling <a
- * href="java.lang.Class#classForName(java.lang.String)"><tt>Class.classForName("SvcHandler")</tt></a>.
- *
- * <p>
- *
- * TCP is the transport mechanism used, via
- * <a href="ACE.SOCK_SAP.SOCKAcceptor.html#_top_"><tt>SOCKAcceptor</tt></a>,
- * <em>et.al.</em> The SvcHandler is instantiated with a concrete type
- * that performs the application-specific service.
- *
- * <P>
- *
- * This class is not directly related to the
- * <tt>AcceptorStrategy</tt> class.
- *
- *
- * @see java.lang.Class
- * @see JACE.Connection.SvcHandler
- * @see JACE.SOCK_SAP.SOCKAcceptor
- */
-public class Acceptor extends ServiceObject
-{
- /**
- * Create an instance of Acceptor. Default constructor. Note that if
- * an instance is created via this method, <tt>setHandlerFactory</tt>
- * must be called prior to using <tt>accept</tt>.
- *
- * @see JACE.Connection.Acceptor#setHandlerFactory
- */
- public Acceptor ()
- {
- }
-
- /**
- * Create an instance of Acceptor.
- *@param handlerFactory meta-class reference used to create
- * an instance of a SvcHandler when a connection is accepted
- * (typically obtained by calling <tt>Class.classForName</tt>).
- *
- *@see java.lang.Class#forName
- */
- public Acceptor (Class handlerFactory)
- {
- this.handlerFactory_ = handlerFactory;
- }
-
- /**
- * Set the handler factory. This is provided to aid the default
- * no-arg constructor.
- *@param handlerFactory meta-class reference used to create
- * an instance of a SvcHandler when a connection is accepted
- * (typically obtained by calling <tt>Class.forName</tt>).
- *
- *@see java.lang.Class#forName
- */
- public void setHandlerFactory (Class handlerFactory)
- {
- this.handlerFactory_ = handlerFactory;
- }
-
- /**
- * Initialize the Acceptor.
- *@param port TCP port number where the Acceptor will listen for connections
- *@exception IOException socket level exception
- */
- public void open (int port) throws IOException
- {
- this.port_ = port;
- this.sockAcceptor_ = new SOCKAcceptor (port);
- }
-
- /**
- * Template method for accepting connections. Delegates operational
- * activities to the following bridge methods:
- * <ul>
- * <li><tt>makeSvcHandler</tt></li>
- * <li><tt>acceptSvcHandler</tt></li>
- * <li><tt>activateSvcHandler</tt></li>
- * </ul>
- *
- * <p>
- *
- * The method first obtains a <tt>SvcHandler</tt> via
- * <tt>makeSvcHandler</tt>, accepts the connection <q>into</q> the
- * handler using <tt>acceptSvcHandler</tt>, and finally turns over
- * control to the handler with <tt>activateSvcHandler</tt>.
- *
- *@exception SocketException socket level error
- *@exception InstantiationException <tt>makeSvcHandler</tt> failure
- *@exception IllegalAccessException <tt>makeSvcHandler</tt> failure
- *@exception IOException socket level error
- */
- public void accept () throws SocketException,
- InstantiationException,
- IllegalAccessException,
- IOException
- {
-
- // Create a Svc_Handler using the appropriate Creation_Strategy
- SvcHandler sh = this.makeSvcHandler ();
-
- // Accept a connection into the SvcHandler using the appropriate
- // Accept_Strategy
- this.acceptSvcHandler (sh);
-
- // Activate the SvcHandler using the appropriate ActivationStrategy
- this.activateSvcHandler (sh);
- }
-
- /**
- * Bridge method for creating a <tt>SvcHandler</tt>. The default is to
- * create a new <SvcHandler>. However, subclasses can override this
- * policy to perform <SvcHandler> creation in any way that they like
- * (such as creating subclass instances of <SvcHandler>, using a
- * singleton, etc.)
- *@return a new instance of the SvcHandler
- *@exception InstantiationException could not create new SvcHandler
- *@exception IllegalAccessException no SvcHandler factory provided
- */
- protected SvcHandler makeSvcHandler ()
- throws InstantiationException, IllegalAccessException
- {
- // Create a new handler for the connection
- return (SvcHandler) handlerFactory_.newInstance ();
- }
-
- /**
- * Bridge method for accepting the new connection into the
- * <tt>SvcHandler</tt>. The default behavior delegates the work to
- * <tt>SOCKAcceptor.accept</tt>. However, subclasses can override this
- * strategy.
- *@param sh SvcHandler in which to accept the connection
- *@return 0
- *@exception SocketException socket level error
- *@exception IOException socket level error
- */
- protected int acceptSvcHandler (SvcHandler sh)
- throws SocketException, IOException
- {
- // Create a new stream
- SOCKStream sockStream = new SOCKStream ();
-
- // Block in accept. Returns when a connection shows up
- this.sockAcceptor_.accept (sockStream);
-
- // Set the streams for the new handler
- sh.setHandle (sockStream);
- return 0;
- }
-
- /**
- * Bridge method for activating a <tt>SvcHandler</tt>. The default
- * behavior of this method is to activate the <tt>SvcHandler</tt> by
- * calling its open() method (which allows the <tt>SvcHandler</tt> to
- * define its own concurrency strategy). However, subclasses can
- * override this strategy to do more sophisticated concurrency
- * activations.
- *@param sh SvcHandler to activate
- *@return 0
- */
- protected int activateSvcHandler (SvcHandler sh)
- {
- sh.open (null);
- return 0;
- }
-
- protected int port_ = ACE.DEFAULT_SERVER_PORT;
-
- // Handler class that should be instantiated when a connection is
- // made with a client
- protected Class handlerFactory_;
-
- // Our connection acceptance factory
- protected SOCKAcceptor sockAcceptor_;
-}
-
diff --git a/java/JACE/Connection/ActivateStrategy.java b/java/JACE/Connection/ActivateStrategy.java
deleted file mode 100644
index 91072a6c823..00000000000
--- a/java/JACE/Connection/ActivateStrategy.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*************************************************
- *
- * = PACKAGE
- * JACE.Connection
- *
- * = FILENAME
- * ActivateStrategy.java
- *
- *@author Prashant Jain
- *
- *************************************************/
-package JACE.Connection;
-
-
-/**
- * Bridge supporting activation strategy used by
- * <a href="ACE.Connection.StrategyAcceptor.html#_top_"><tt>StrategyAcceptor</tt></a>
- * <P>
- * Subclass and overload
- * <a href="#activateSvcHandler(ACE.Connection.SvcHandler)"><tt>activateSvcHandler</tt></a>
- * in order change the activation strategy. Then, submit this subclass to
- * <a href="ACE.Connection.StrategyAcceptor.html#_top_"><tt>StrategyAcceptor</tt></a>
- * as the activation strategy.
- *
- *@see StrategyAcceptor
- */
-public class ActivateStrategy
-{
- /**
- * Activate the Svc Handler. Note that subclasses should overwrite
- * this method to provide a different Activate strategy.
- *@param sh Svc Handler to activate
- *@return zero if success, non-zero for failure
- */
- public int activateSvcHandler (SvcHandler sh)
- {
- sh.open (null);
- return 0;
- }
-}
diff --git a/java/JACE/Connection/Blob.java b/java/JACE/Connection/Blob.java
deleted file mode 100644
index d3102c81aa2..00000000000
--- a/java/JACE/Connection/Blob.java
+++ /dev/null
@@ -1,114 +0,0 @@
-/*************************************************
- *
- * = PACKAGE
- * JACE.Connection
- *
- * = FILENAME
- * Blob.java
- *
- *@author Prashant Jain
- *
- *************************************************/
-package JACE.Connection;
-
-import java.io.*;
-import java.net.*;
-import JACE.SOCK_SAP.*;
-import JACE.ASX.*;
-import JACE.OS.*;
-
-/**
- * Provides a way of reading from or writing to a remote file
- * using MessageBlocks.
- */
-public class Blob
-{
- /**
- * Initialize the Blob.
- *
- *@param filename File to read or write
- *@param hostname Host to contact for the file
- *@param port Port on which to connect
- */
- public int open (String filename, String hostname , int port)
- {
- this.filename_ = filename;
- this.hostname_ = hostname;
- this.port_ = port;
- return 0;
- }
-
- /**
- * Read a certain amount from the file.
- */
- public MessageBlock read (int length, int offset)
- {
- // Check if we have a valid length and a valid offset
- if (length < 0 || offset < 0)
- {
- ACE.ERROR ("Blob::read(): Negative length or offset");
- return null;
- }
-
- // Create a Blob Reader
- BlobReader blobReader = new BlobReader (length,
- offset,
- this.filename_,
- this.hostname_, this.port_);
-
- // Receive data
- MessageBlock mb = blobReader.receiveData ();
- if (blobReader.bytesRead () != length)
- return null;
- else
- return mb;
- }
-
- /**
- * Write a certain amount to the file.
- */
- public int write (MessageBlock mb, int length, int offset)
- {
- // Check if we have a valid length and a valid offset
- if (length < 0 || offset < 0)
- ACE.ERROR ("Blob::write(): Negative length or offset");
-
- // Create a Blob Writer
- BlobWriter blobWriter = new BlobWriter (mb, length, offset, this.filename_);
-
- try
- {
- // Connect to the server
- this.connector_.open (this.hostname_, this.port_);
- this.connector_.connect (blobWriter);
- }
- catch (UnknownHostException e)
- {
- ACE.ERROR (e);
- }
- catch (InstantiationException e)
- {
- ACE.ERROR (e);
- }
- catch (IllegalAccessException e)
- {
- ACE.ERROR (e);
- }
- catch (IOException e)
- {
- ACE.ERROR (e);
- }
-
- return blobWriter.bytesWritten ();
- }
-
- public int close ()
- {
- return 0;
- }
-
- String filename_;
- String hostname_;
- int port_;
- Connector connector_ = new Connector ();
-}
diff --git a/java/JACE/Connection/BlobHandler.java b/java/JACE/Connection/BlobHandler.java
deleted file mode 100644
index ec282bdeaa9..00000000000
--- a/java/JACE/Connection/BlobHandler.java
+++ /dev/null
@@ -1,35 +0,0 @@
-/*************************************************
- *
- * = PACKAGE
- * JACE.Connection
- *
- * = FILENAME
- * BlobHandler.java
- *
- *@author Prashant Jain
- *
- *************************************************/
-package JACE.Connection;
-
-import java.io.*;
-import java.net.*;
-import JACE.SOCK_SAP.*;
-import JACE.ASX.*;
-import JACE.OS.*;
-
-public abstract class BlobHandler extends SvcHandler
-{
- public BlobHandler (int length, int offset, String filename)
- {
- this.length_ = length;
- this.offset_ = offset;
- this.filename_ = filename;
- }
-
- public abstract int open (Object obj);
-
- protected int length_ = 0;
- protected int offset_ = 0;
- protected String filename_ = null;
-}
-
diff --git a/java/JACE/Connection/BlobReader.java b/java/JACE/Connection/BlobReader.java
deleted file mode 100644
index 4de6b65bedc..00000000000
--- a/java/JACE/Connection/BlobReader.java
+++ /dev/null
@@ -1,108 +0,0 @@
-/*************************************************
- *
- * = PACKAGE
- * JACE.Connection
- *
- * = FILENAME
- * BlobReader.java
- *
- *@author Prashant Jain
- *
- *************************************************/
-package JACE.Connection;
-
-import java.io.*;
-import java.net.*;
-import JACE.SOCK_SAP.*;
-import JACE.ASX.*;
-import JACE.OS.*;
-
-/**
- * Provides a way to read from a remote file using
- * MessageBlocks (and HTTP). <P>
- *
- * Created by Blob during a call to read.
- */
-public class BlobReader
-{
- public BlobReader (int length,
- int offset,
- String filename,
- String hostname,
- int port)
- {
- this.length_ = length;
- this.offset_= offset;
- this.filename_ = filename;
- this.hostname_ = hostname;
- this.port_ = port;
- }
-
-
- public MessageBlock receiveData ()
- {
- String hostname = this.hostname_;
- String filename = this.filename_;
-
- // Check if the filename begins with a "/" and if so, remove it
- // since we are concatenating a "/" to the hostname.
- if (this.filename_.startsWith ("/"))
- filename = this.filename_.substring (1);
-
- hostname = hostname + ":" + this.port_ + "/";
- // System.out.println (hostname + filename);
-
- // Allocate a buffer to hold the offset worth of data
- byte tempBuf [] = new byte [this.offset_];
- // Allocate a buffer to hold the actual data
- byte dataBuf [] = new byte [this.length_];
-
- try
- {
- // Create a URL to fetch the file
- URL url = new URL (this.protocol_ + hostname + filename);
-
- // Get the input stream and pipe it to a DataInputStream
- DataInputStream iStream = new DataInputStream (url.openStream ());
-
- // Read the offset worth of bytes
- iStream.readFully (tempBuf, 0, this.offset_);
-
- // Read length worth of bytes
- iStream.readFully (dataBuf, 0, this.length_);
- }
- catch (MalformedURLException e)
- {
- ACE.ERROR (e);
- }
- catch (IOException e)
- {
- ACE.ERROR (e);
- }
- // Cache number of bytes read
- this.bytesRead_ = this.length_;
- return new MessageBlock (new String (dataBuf, 0, this.length_));
- }
-
- public int close (long flags)
- {
- return 0;
- }
-
- public int bytesRead ()
- {
- return this.bytesRead_;
- }
-
- private String protocol_ = "http://";
-
- int length_ = 0;
- int offset_= 0;
- String filename_ = null;
- String hostname_ = "localhost";
- int port_ = 80;
-
- int bytesRead_ = 0;
-}
-
-
diff --git a/java/JACE/Connection/BlobWriter.java b/java/JACE/Connection/BlobWriter.java
deleted file mode 100644
index 18c9b092964..00000000000
--- a/java/JACE/Connection/BlobWriter.java
+++ /dev/null
@@ -1,224 +0,0 @@
-/*************************************************
- *
- * = PACKAGE
- * JACE.Connection
- *
- * = FILENAME
- * BlobWriter.java
- *
- *@author Prashant Jain
- *
- *************************************************/
-package JACE.Connection;
-
-import java.io.*;
-import java.net.*;
-import JACE.SOCK_SAP.*;
-import JACE.ASX.*;
-import JACE.OS.*;
-
-/**
- * Provides a way to write to a remote file using MessageBlocks
- * (and HTTP). <P>
- *
- * Created by Blob during a write.
- */
-public class BlobWriter extends BlobHandler
-{
- public BlobWriter (MessageBlock mb,
- int length,
- int offset,
- String filename)
- {
- super (length, offset, filename);
- this.mb_ = mb;
- this.returnCode_ = -1;
-
- }
-
- /*******************************
- * This constructor should be used when using the basic HTTP 1.1
- * authentication scheme
- *******************************/
- public BlobWriter (MessageBlock mb,
- int length,
- int offset,
- String filename,
- String authentication)
- {
- super (length, offset, filename);
- this.mb_ = mb;
- this.returnCode_ = -1;
- this.authentication_ = authentication;
- }
-
-
- public int open (Object obj)
- {
- if (this.sendRequest () != 0)
- {
- ACE.ERROR ("BlobWriter::open():sendRequest failed");
- return -1;
- }
- else if (this.receiveReply () != 0)
- {
- ACE.ERROR ("BlobWriter::open():receiveReply failed");
- return -1;
- }
- return 0;
- }
-
- public int close (long flags)
- {
- return 0;
- }
-
- public int bytesWritten ()
- {
- return this.bytesWritten_;;
- }
-
- protected int sendRequest ()
- {
- // Check for sanity -- check if we have any data to send.
- if (this.offset_+ this.length_ > this.mb_.length ())
- {
- ACE.ERROR ("BlobWriter::sendRequest():Invalid offset/length");
- return -1;
- }
-
- if (this.sendHeader () == -1)
- {
- ACE.ERROR ("BlobWriter::sendHeader failed.");
- return -1;
- }
- else
- if (this.sendData () == -1)
- {
- ACE.ERROR ("BlobWriter::sendData failed.");
- return -1;
- }
- return 0;
- }
-
- // Send the header
- protected int sendHeader ()
- {
- String filename = this.filename_;
- // Check if the filename begins with a "/" and if it doesn't, add it
- if (!this.filename_.startsWith ("/"))
- filename = "/" + this.filename_;
-
- // Create the header, store the actual length in mesglen
- String mesg = this.requestPrefix_ + " " + filename + " " + this.requestSuffix_;
-
- if (this.authentication_ != null)
- mesg += "Authorization: Basic " + JACE.Connection.HTTPHelper.EncodeBase64(this.authentication_) + '\n';
-
- mesg += "Content-length: " + this.length_ + "\n";
-
- try
- {
- if (this.peer ().send (mesg) < 0)
- {
- ACE.ERROR ("Error sending request");
- return -1;
- }
- }
- catch (IOException e)
- {
- ACE.ERROR (e);
- return -1;
- }
- return 0;
- }
-
- // Send the data
- protected int sendData ()
- {
- // Get the actual data to send
- String data = this.mb_.base ().substring (this.offset_,
- this.offset_ + this.length_);
-
-
- try
- {
- // System.out.println (data);
- // Now send the data
- if (this.peer ().send (data) != this.length_)
- {
- ACE.ERROR ("Error sending file");
- return -1;
- }
- }
- catch (IOException e)
- {
- ACE.ERROR (e);
- return -1;
- }
- this.bytesWritten_ = this.length_;
- return 0;
- }
-
-
- protected int receiveReply ()
- {
- System.out.println("Waiting for reply");
-
- // Receive the reply from the server
- StringBuffer reply = new StringBuffer (1024);
-
- try
- {
- if (this.peer ().recv (reply) < 0)
- {
- ACE.ERROR ("Error receiving reply from server");
- return -1;
- }
- }
- catch (IOException e)
- {
- ACE.ERROR (e);
- }
-
- String s = reply.toString ();
-
- int index = -1;
- // Now parse the reply to see if it was a success or a failure
- if ((index = s.indexOf (replyPrefix_)) == -1)
- {
- ACE.ERROR ("Error receiving reply from server");
- return -1;
- }
-
- int codeIndex = index + replyPrefix_.length () + 1;
-
- // Assume code is a 3 digit number
- String codeString = s.substring (codeIndex, codeIndex + 3);
-
- returnCode_ = (new Integer (codeString)).intValue ();
- // System.out.println (code);
-
- if (returnCode_ >= 200 && returnCode_ < 300) { // Check if everything went smoothly
- System.out.println("We got the goodies!");
- return 0;
- } else
- return -1;
- }
-
- public int returnCode ()
- {
- return this.returnCode_;
- }
-
- protected String authentication_ = null;
- protected String protocol_ = "http://";
- protected int bytesWritten_ = 0;
- protected MessageBlock mb_ = null;
- protected String requestPrefix_ = "PUT";
- protected String requestSuffix_ = "HTTP/1.0\n";
- protected String replyPrefix_ = "HTTP/1.0";
- protected int returnCode_;
-}
-
-
diff --git a/java/JACE/Connection/Connector.java b/java/JACE/Connection/Connector.java
deleted file mode 100644
index dbe72b8c359..00000000000
--- a/java/JACE/Connection/Connector.java
+++ /dev/null
@@ -1,148 +0,0 @@
-/*************************************************
- *
- * = PACKAGE
- * JACE.Connection
- *
- * = FILENAME
- * Connector.java
- *
- *@author Prashant Jain
- *
- *************************************************/
-package JACE.Connection;
-
-import java.io.*;
-import java.net.*;
-import JACE.OS.*;
-import JACE.SOCK_SAP.*;
-import JACE.ServiceConfigurator.*;
-
-/**
- * Abstract factory for connecting a
- * (<a href="JACE.Connection.SvcHandler.html"><tt>SvcHandler</tt></a>),
- * to an application.
- * <P>
- * Implements the basic strategy for actively establishing connections
- * with applications. The <tt>Connector</tt> establishes the connection,
- * passing it on to a <tt>SvcHandler</tt> instance, and handing over
- * control to that instance.
- *<p>
- * TCP is the transport mechanism used, via
- * <a href="JACE.SOCK_SAP.SOCKConnector.html#_top_"><tt>SOCKConnector</tt></a>.
- *<P>
- * This class, as currently implemented, does not work like its C++
- * counterpart.
- * Future versions are expected to rectify this discrepancy.
- *
- *@see SOCKConnector
- *@see SvcHandler
- */
-public class Connector extends ServiceObject
-{
- /**
- * Create a Connector. Do nothing constructor. Allows user to
- * call <a href="#open(java.lang.String)">open</a>() later.
- */
- public Connector ()
- {
- }
-
- /**
- * Create a Connector passing in server hostname and port
- * number, effectively shorthand for calling
- * <a href="#open(java.lang.String)">open</a>().
- *@param hostname server hostname
- *@param port server port number
- */
- public Connector (String hostname, int port)
- {
- this.open (hostname, port);
- }
-
- /**
- * Initialize the Connector passing in server hostname and port
- * number. Note that no connection attempt is made.
- *@param hostname server hostname
- *@param port server port number
- */
- public void open (String hostname, int port)
- {
- this.hostname_ = hostname;
- this.port_ = port;
- }
-
- /**
- * Connect to the server.
- *@param sh Svc Handler to use to handle the connection
- *@exception UnknownHostException Bad host
- *@exception SocketException Socket error
- *@exception InstantiationException Couldn't create new SOCKConnector
- *@exception IllegalAccessException No strategy available
- *@exception IOException Socket error
- */
- public void connect (SvcHandler sh) throws UnknownHostException,
- SocketException,
- InstantiationException,
- IllegalAccessException,
- IOException
- {
- // Make a connection using the appropriate Connection_Strategy
- this.connectSvcHandler (sh);
-
- // Activate the Svc_Handler using the appropriate Activation_Strategy
- this.activateSvcHandler (sh);
- }
-
- /**
- * Bridge method for making a new connection. The default behavior
- * creates a new SOCKConnector and then calls setHandle() on the
- * <SvcHandler> that was passed in. Subclasses can override this
- * strategy, if needed.
- *@param sh Svc Handler to use to handle the connection
- *@return 0
- *@exception SocketException Socket error
- *@exception IOException Socket error
- */
- protected int connectSvcHandler (SvcHandler sh) throws
- SocketException, IOException
- {
- // Create a new stream
- SOCKStream sockStream = new SOCKStream ();
-
- // Create a SOCK_Connector (note the constructor does the connect for us)
- this.sockConnector_ = new SOCKConnector (sockStream,
- this.hostname_,
- this.port_);
- ACE.DEBUG ("Connected to " +
- sockStream.socket ().getInetAddress ());
-
- // Set the streams for the new handler
- sh.setHandle (sockStream);
- return 0;
- }
-
- /**
- * Bridge method for activating a <SvcHandler>. The default
- * behavior of this method is to activate the <SvcHandler> by
- * calling its open() method (which allows the SVC_HANDLER to define
- * its own concurrency strategy). However, subclasses can override
- * this strategy to do more sophisticated concurrency activations.
- *@param sh Svc Handler to activate
- *@return 0
- */
- protected int activateSvcHandler (SvcHandler sh)
- {
- sh.open (null);
- return 0;
- }
-
-
- // Port server is listening on
- private int port_;
-
- // Server hostname
- private String hostname_;
-
- // Our connection factory
- private SOCKConnector sockConnector_;
-}
diff --git a/java/JACE/Connection/CreationStrategy.java b/java/JACE/Connection/CreationStrategy.java
deleted file mode 100644
index f4828d5bff5..00000000000
--- a/java/JACE/Connection/CreationStrategy.java
+++ /dev/null
@@ -1,57 +0,0 @@
-/*************************************************
- *
- * = PACKAGE
- * JACE.Connection
- *
- * = FILENAME
- * CreationStrategy.java
- *
- *@author Prashant Jain
- *
- *************************************************/
-package JACE.Connection;
-
-/**
- * Defines the interface for specifying a creation strategy for a
- * <a href="ACE.Connection.SvcHandler.html#_top_"><tt>SvcHandler</tt></a> to the
- * <a href="ACE.Connection.StrategyAcceptor.html#_top_"><tt>StrategyAcceptor</tt></a>.
- * <P>
- * The default behavior is to make a new SvcHandler. However,
- * subclasses can override this strategy to perform SvcHandler
- * creation in any way that they like (such as creating subclass
- * instances of SvcHandler, using a singleton, dynamically
- * linking the handler, etc.).
- *
- *@see SvcHandler
- *@see StrategyAcceptor
- *@see AcceptStrategy
- *@see ActivateStrategy
- */
-public class CreationStrategy
-{
- /**
- * Create an instance of Creation Strategy.
- *@param handlerFactory Svc Handler factory that is used to create
- * an instance of a Svc Handler
- */
- public CreationStrategy (Class handlerFactory)
- {
- this.handlerFactory_ = handlerFactory;
- }
-
- /**
- * Create a new SvcHandler. Note that subclasses should override
- * this method to provide a new creation strategy.
- *@return reference to a new instance of the SvcHandler (or subclass)
- *@exception InstantiationException Unable to instantiate.
- *@exception IllegalAccessException No handler factory available.
- */
- public SvcHandler makeSvcHandler () throws InstantiationException,
- IllegalAccessException
- {
- // Create a new Svc_Handler
- return (SvcHandler) handlerFactory_.newInstance ();
- }
-
- private Class handlerFactory_;
-}
diff --git a/java/JACE/Connection/HTTPHelper.java b/java/JACE/Connection/HTTPHelper.java
deleted file mode 100644
index 2901d74a14a..00000000000
--- a/java/JACE/Connection/HTTPHelper.java
+++ /dev/null
@@ -1,182 +0,0 @@
-package JACE.Connection;
-
-import JACE.OS.*;
-
-/**
- * Collection of methods concerning HTTP.
- */
-public class HTTPHelper
-{
- /**
- * Alphabet used in encoding and decoding basic base64 authentication.
- * See the HTTP 1.1 RFC for details.
- */
- public static String Alphabet
- = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
-
- /**
- * Decode a secret encrypted with the basic base64 HTTP 1.1 authentication
- * scheme.
- *
- *@param secret Message to decode
- *@return null on error, decoded String on success
- */
- public static String DecodeBase64 (String secret)
- {
- StringBuffer output = new StringBuffer ();
- boolean inalphabet [] = new boolean[256];
- char decoder [] = new char [256];
-
- for (int i = 0; i < 256; i++) {
- inalphabet [i] = false;
- decoder [i] = 0;
- }
-
- for (int i = Alphabet.length () - 1;
- i >= 0;
- i--)
- {
- inalphabet [(int)Alphabet.charAt (i)] = true;
- decoder [(int)Alphabet.charAt (i)] = (char)i;
- }
-
- int inidx = 0;
- int c = 0;
- int char_count = 0;
- int bits = 0;
- boolean error = false;
-
- while (inidx < secret.length ())
- {
- c = secret.charAt (inidx++);
-
- if (c == '=')
- break;
-
- if (c > 255 || !inalphabet[(int)c])
- continue;
-
- bits += decoder[c];
- char_count++;
- if (char_count == 4) {
- output.append ((char) (bits >> 16));
- output.append ((char) ((bits >> 8) & 0xff));
- output.append ((char) (bits & 0xff));
- bits = 0;
- char_count = 0;
- } else
- bits <<= 6;
- }
-
- if (c == '\0') {
- if (char_count != 0) {
- ACE.DEBUG ("base64 encoding incomplete: at least "
- + ((4 - char_count) * 6) + " bits truncated");
- error = true;
- }
- } else {
- // c == '='
- switch (char_count)
- {
- case 1:
- ACE.DEBUG ("output so far: " + output.toString ());
- ACE.DEBUG ("base64 encoding incomplete: at least 2 bits missing");
- error = true;
- break;
- case 2:
- output.append ((char) (bits >> 10));
- break;
- case 3:
- output.append ((char) (bits >> 16));
- output.append ((char) ((bits >> 8) & 0xff));
- break;
- }
- }
-
- if (!error)
- return output.toString ();
- else
- return null;
- }
-
- /**
- * Encode a message with the basic base64 HTTP 1.1 authentication
- * scheme. Adapted from James' JAWS HTTP_Helpers code.
- *
- *@param secret Message to encode
- *@return null on error, an encoded String on success
- */
- public static String EncodeBase64 (String secret)
- {
- StringBuffer output = new StringBuffer ();
-
- // Index of the input string
- int inidx = 0;
-
- // character value
- int c;
-
- int char_count = 0;
- int bits = 0;
- boolean error = false;
-
- while (inidx < secret.length())
- {
- c = secret.charAt(inidx++);
-
- // This will mess up internationalization. I wonder if it is really
- // necessary for HTTP?
- if (c > 255)
- {
- ACE.DEBUG ("encountered char > 255 (decimal %d): " + c);
- error = true;
- break;
- }
-
- bits += c;
- char_count++;
-
- if (char_count == 3)
- {
- output.append(HTTPHelper.Alphabet.charAt(bits >> 18));
- output.append(HTTPHelper.Alphabet.charAt((bits >> 12) & 0x3f));
- output.append(HTTPHelper.Alphabet.charAt((bits >> 6) & 0x3f));
- output.append(HTTPHelper.Alphabet.charAt(bits & 0x3f));
-
- bits = 0;
- char_count = 0;
- }
- else
- bits <<= 8;
- }
-
- if (!error)
- {
- if (char_count != 0)
- {
- bits <<= 16 - (8 * char_count);
- output.append(HTTPHelper.Alphabet.charAt(bits >> 18));
- output.append(HTTPHelper.Alphabet.charAt((bits >> 12) & 0x3f));
-
- if (char_count == 1)
- {
- output.append("==");
- }
- else
- {
- output.append(HTTPHelper.Alphabet.charAt((bits >> 6) & 0x3f));
- output.append('=');
- }
- }
-
- return output.toString();
- }
-
- // Returns null on error
- return null;
- }
-
- private HTTPHelper () {}
-}
-
-
diff --git a/java/JACE/Connection/StrategyAcceptor.java b/java/JACE/Connection/StrategyAcceptor.java
deleted file mode 100644
index 743d384776f..00000000000
--- a/java/JACE/Connection/StrategyAcceptor.java
+++ /dev/null
@@ -1,174 +0,0 @@
-/*************************************************
- *
- * = PACKAGE
- * JACE.Connection
- *
- * = FILENAME
- * StrategyAcceptor.java
- *
- *@author Prashant Jain
- *
- *************************************************/
-package JACE.Connection;
-
-import java.io.*;
-import java.net.*;
-import JACE.OS.*;
-import JACE.SOCK_SAP.*;
-
-/**
- * Abstract factory for creating, accepting into, and activating
- * a service handler.
- * <P>
- * Uses instances of CreationStrategy, AcceptStrategy, and
- * ActivateStrategy.
- *
- *@see SvcHandler
- *@see CreationStrategy
- *@see AcceptStrategy
- *@see ActivateStrategy
- */
-public class StrategyAcceptor extends Acceptor
-{
- /**
- * Create an instance of StrategyAcceptor. The caller must
- * call setHandlerFactory before open!
- */
- public StrategyAcceptor ()
- {
- this (null, null, null, null);
- }
-
- /**
- * Create an instance of StrategyAcceptor.
- *@param handlerFactory Svc Handler factory that is used to create
- * an instance of a Svc Handler when a connection is accepted.
- */
- public StrategyAcceptor (Class handlerFactory)
- {
- this (handlerFactory, null, null, null);
- }
-
- /**
- * Create an instance of StrategyAcceptor. Use the creation
- * strategy and the handlerFactory passed in to creae a new instance
- * of the Svc Handler.
- *@param handlerFactory Svc Handler factory that is used to create
- * an instance of a Svc Handler when a connection is accepted.
- *@param creStrategy Creation strategy to use to create a new
- * instance of the Svc Handler.
- *@param acceptStrategy Accept strategy to use to accept a new
- * connection into the Svc Handler.
- *@param activateStrategy Activate strategy to use to activate the
- * instance of the Svc Handler.
- */
- public StrategyAcceptor (Class handlerFactory,
- CreationStrategy creStrategy,
- AcceptStrategy acceptStrategy,
- ActivateStrategy activateStrategy)
- {
- // Cache everything
- this.handlerFactory_ = handlerFactory;
- this.creStrategy_ = creStrategy;
- this.acceptStrategy_ = acceptStrategy;
- this.activateStrategy_ = activateStrategy;
- }
-
- /**
- * Initialize the Strategy Acceptor. The method creates the
- * appropriate strategies as needed.
- *@param port port number where the server will listen for connections
- *@exception IOException Socket level error
- */
- public void open (int port) throws IOException
- {
- if (this.creStrategy_ == null)
- this.creStrategy_ = new CreationStrategy (this.handlerFactory_);
- if (this.acceptStrategy_ == null)
- this.acceptStrategy_ = new AcceptStrategy (port);
- else
- this.acceptStrategy_.open (port);
- if (this.activateStrategy_ == null)
- this.activateStrategy_ = new ActivateStrategy ();
- }
-
- /**
- * Accept a connection using the appropriate strategies.
- *
- *@exception SocketException Socket level error
- *@exception InstantiationException Problem creating a handler
- *@exception IllegalAccessException No strategy available
- *@exception IOException Socket level error
- */
- public void accept () throws SocketException,
- InstantiationException,
- IllegalAccessException,
- IOException
- {
- // Create a Svc_Handler using the appropriate Creation_Strategy
- SvcHandler sh = this.makeSvcHandler ();
-
- // Accept a connection into the Svc_Handler
- this.acceptSvcHandler (sh);
-
- // Activate the Svc_Handler
- this.activateSvcHandler (sh);
- }
-
- /**
- * Bridge method for creating a SvcHandler. The strategy for
- * creating a SvcHandler is configured into the Acceptor via it's
- * creStrategy_. If no strategy is passed in, the default behavior
- * of this method is to use the default CreationStrategy.
- *@return a new instance of the Svc Handler
- *@exception InstantiationException Couldn't create SvcHandler
- *@exception IllegalAccessException No strategy available
- */
- protected SvcHandler makeSvcHandler ()
- throws InstantiationException, IllegalAccessException
- {
- // Create a new handler for the connection
- return this.creStrategy_.makeSvcHandler ();
- }
-
-
- /**
- * Bridge method for accepting the new connection into the
- * <SvcHandler>. The strategy for accepting into a SvcHandler is
- * configured into the Acceptor via it's acceptStrategy_. If no
- * strategy is passed in, the default behavior of this method is to
- * use the default AcceptStrategy.
- *@param sh Svc Handler in which to accept the connection
- *@return result of accepting a connection using the accept strategy
- *@exception SocketException Socket level error
- *@exception IOException Socket level error
- */
- protected int acceptSvcHandler (SvcHandler sh) throws SocketException, IOException
- {
- // Delegate responsibility to the appropriate strategy
- return this.acceptStrategy_.acceptSvcHandler (sh);
- }
-
- /**
- * Bridge method for activating a <SvcHandler>. The strategy for
- * activating a SvcHandler is configured into the Acceptor via it's
- * activateStrategy_. If no strategy is passed in, the default
- * behavior of this method is to use the default ActivateStrategy.
- *@param sh Svc Handler to activate
- *@return result of activating the Svc Handler
- */
- protected int activateSvcHandler (SvcHandler sh)
- {
- // Delegate responsibility to the appropriate strategy
- return this.activateStrategy_.activateSvcHandler (sh);
- }
-
- // Creation Strategy
- private CreationStrategy creStrategy_;
-
- // Accept Strategy
- private AcceptStrategy acceptStrategy_;
-
- // Activation Strategy
- private ActivateStrategy activateStrategy_;
-}
diff --git a/java/JACE/Connection/SvcHandler.java b/java/JACE/Connection/SvcHandler.java
deleted file mode 100644
index 1df62247baa..00000000000
--- a/java/JACE/Connection/SvcHandler.java
+++ /dev/null
@@ -1,101 +0,0 @@
-/*************************************************
- *
- * = PACKAGE
- * JACE.Connection
- *
- * = FILENAME
- * SvcHandler.java
- *
- *@author Prashant Jain
- *
- *************************************************/
-package JACE.Connection;
-
-import java.io.*;
-import java.net.*;
-import JACE.SOCK_SAP.*;
-import JACE.ASX.*;
-import JACE.Reactor.*;
-
-/**
- * Defines the interface for a service that exchanges data with its
- * connected peer.
- * <P>
- * This class provides a well-defined interface that the Acceptor and
- * Connector pattern factories use as their target. Typically, client
- * applications will subclass SvcHandler and do all the interesting work
- * in the subclass. One thing that the SvcHandler does contain is a
- * peer SOCKStream endpoint that is initialized by Acceptor or Connector
- * when a connection is established successfully. This endpoint is used
- * to exchange data between a SvcHandler and the peer it is connected
- * with.
- */
-public abstract class SvcHandler extends Task
-{
-
- /**
- * Do nothing constructor.
- */
- public SvcHandler ()
- {
- }
-
- /**
- * Set the stream using the SOCKStream passed in. This sets the
- * underlying peer
- *@param s SOCK Stream to use for the connection
- */
- public void setHandle (SOCKStream s) throws IOException
- {
- this.stream_ = s;
- }
-
- /**
- * Get the underlying peer
- *@return the underlying peer
- */
- public SOCKStream peer ()
- {
- return this.stream_;
- }
-
- /**
- * Abstract method that subclasses must define to allow
- * initialization to take place.
- */
- public abstract int open (Object obj);
-
- /**
- * Provide a default implementation to simplify ancestors.
- *@return 0
- */
- public int close (long flags)
- {
- return 0;
- }
-
- /**
- * Provide a default implementation to simplify ancestors.
- *@return -1
- */
- public int put (MessageBlock mb, TimeValue tv)
- {
- return -1;
- }
-
- /**
- * Provide a default implementation to simplify ancestors.
- *@param tv Time Value when the event occured
- *@param obj An arbitrary object that was passed to the Timer Queue
- * (Asynchronous Completion Token)
- */
- public int handleTimeout (TimeValue tv, Object obj)
- {
- return -1;
- }
-
- /**
- * Underlying peer socket stream.
- */
- protected SOCKStream stream_;
-}
diff --git a/java/JACE/Connection/package.html b/java/JACE/Connection/package.html
deleted file mode 100644
index 429904216d5..00000000000
--- a/java/JACE/Connection/package.html
+++ /dev/null
@@ -1,7 +0,0 @@
-<!-- $Id$ -->
-<HTML>
-<BODY>
-Collection of factories for services.
-@see <a href="http://www.cs.wustl.edu/~schmidt/ACE-papers.html#initialize">Documents on ACE object and service initialization components</a>
-</BODY>
-</HTML>
diff --git a/java/JACE/Makefile b/java/JACE/Makefile
deleted file mode 100644
index fd8d7b7a68a..00000000000
--- a/java/JACE/Makefile
+++ /dev/null
@@ -1,234 +0,0 @@
-# Makefile
-# $Id$
-
-.SUFFIXES: .java .class
-
-VERSION = 1.5
-JACE_WRAPPER = ..
-CLASSDIR = $(JACE_WRAPPER)/classes
-DOCDIR = $(JACE_WRAPPER)/doc
-
-JC = javac
-JCOPTS = -d $(CLASSDIR)
-JD = javadoc
-JDOPTS = -classpath $(CLASSDIR) -sourcepath $(JACE_WRAPPER) -windowtitle \
- "Java ACE $(VERSION) Documentation" -bottom \
- "Java ACE Version $(VERSION)<BR> \
- <A HREF="http://www.cs.wustl.edu/~schmidt"> \
- http://www.cs.wustl.edu/~schmidt</A>" \
- -doctitle "Java ACE Version $(VERSION) Documentation" -d $(DOCDIR) \
- -overview overview.html
-
-COMPILE.java = $(JC) $(JCOPTS) $(filter %.java,$?)
-
-CLASSPATH := $(CLASSDIR):$(CLASSPATH)
-
-all: asx os concurrency connection timers misc reactor svcconfig socksap netsvcs
-
-pkg_all = $(pkg_asx_timestuff) $(pkg_asx) $(pkg_os) $(pkg_concurrency) \
- $(pkg_connection) $(pkg_timers) $(pkg_misc) $(pkg_reactor) \
- $(pkg_socksap) $(pkg_svcconfig) $(pkg_netsvcs)
-
-doc:
- $(JD) $(JDOPTS) $(packages)
-
-docclean:
- find ${JACE_WRAPPER}/doc -name '*.html' -print | xargs ${RM}
-
-clean:
- find ${JACE_WRAPPER}/classes/JACE -name '*.class' -print | xargs ${RM}
-
-realclean: clean docclean
-
-
-pkg_asx_timestuff = \
- TimeValue \
- TimeoutException \
- TimedWait
-
-asx_timestuff: $(addprefix ASX/,$(addsuffix .java,$(pkg_asx_timestuff)))
- $(COMPILE.java)
-
-pkg_asx = \
- IOCntlCmds \
- IOCntlMsg \
- Task \
- TaskFlags \
- ThruTask \
- Module \
- MessageType \
- MessageBlock \
- MessageQueue \
- StreamHead \
- StreamTail \
- Stream
-
-asx: os asx_timestuff reactor concurrency \
- $(addprefix ASX/,$(addsuffix .java,$(pkg_asx)))
- $(COMPILE.java)
-
-pkg_os = \
- OS \
- ACE
-
-os: $(addprefix OS/,$(addsuffix .java,$(pkg_os)))
- $(COMPILE.java)
-
-pkg_concurrency = \
- AbstractLock \
- LockAdapter \
- LockException \
- WaitObject \
- RenewObject \
- Condition \
- Mutex \
- RWMutex \
- Semaphore \
- ThreadManager \
- Token
-
-concurrency: $(addprefix Concurrency/,$(addsuffix .java,\
- $(pkg_concurrency))) asx_timestuff os
- $(COMPILE.java)
-
-pkg_connection = \
- SvcHandler \
- Acceptor \
- Connector \
- AcceptStrategy \
- ActivateStrategy \
- CreationStrategy \
- StrategyAcceptor \
- Blob \
- BlobHandler \
- BlobReader \
- BlobWriter \
- HTTPHelper
-
-connection: os socksap svcconfig $(addprefix Connection/,\
- $(addsuffix .java,$(pkg_connection)))
- $(COMPILE.java)
-
-pkg_timers = \
- ProfileTimer
-
-timers: $(addprefix Timers/,$(addsuffix .java,$(pkg_timers)))
- $(COMPILE.java)
-
-pkg_misc = \
- GetOpt
-
-misc: $(addprefix Misc/,$(addsuffix .java,$(pkg_misc)))
- $(COMPILE.java)
-
-pkg_reactor = \
- EventHandler \
- TimerQueue
-
-reactor: asx_timestuff $(addprefix Reactor/,\
- $(addsuffix .java,$(pkg_reactor)))
- $(COMPILE.java)
-
-pkg_socksap = \
- INETAddr \
- SOCKStream \
- SOCKAcceptor \
- SOCKConnector
-
-socksap: os $(addprefix SOCK_SAP/,\
- $(addsuffix .java,$(pkg_socksap)))
- $(COMPILE.java)
-
-pkg_svcconfig = \
- Service \
- ServiceLoader \
- ServiceObject \
- ServiceConfig \
- ServiceRepository
-
-svcconfig: os reactor misc $(addprefix ServiceConfigurator/,\
- $(addsuffix .java,$(pkg_svcconfig)))
- $(COMPILE.java)
-
-netsvcs: netsvcs_base netsvcs_logger netsvcs_naming netsvcs_time \
- netsvcs_token
-
-pkg_netsvcs = $(pkg_netsvcs_base) $(pkg_netsvcs_logger) \
- $(pkg_netsvcs_time) $(pkg_netsvcs_naming) $(pkg_netsvcs_token)
-
-pkg_netsvcs_base = \
- Server \
- Handler
-
-netsvcs_base: os asx concurrency connection socksap svcconfig \
- $(addprefix netsvcs/,$(addsuffix .java,$(pkg_netsvcs_base)))
- $(COMPILE.java)
-
-pkg_netsvcs_logger = \
- LogRecord \
- LoggingStrategy \
- StderrStrategy \
- ServerLoggingHandler \
- ServerLoggingAcceptor
-
-netsvcs_logger: netsvcs_base $(addprefix netsvcs/Logger/,\
- $(addsuffix .java,$(pkg_netsvcs_logger)))
- $(COMPILE.java)
-
-pkg_netsvcs_naming = \
- NameRequest \
- NameReply \
- NameProxy \
- NameHandler \
- NameAcceptor
-
-netsvcs_naming: netsvcs_base $(addprefix netsvcs/Naming/,\
- $(addsuffix .java,$(pkg_netsvcs_naming)))
- $(COMPILE.java)
-
-pkg_netsvcs_time = \
- TimeInfo \
- TimeRequest \
- TSClerkHandler \
- TSClerkProcessor \
- TSServerHandler \
- TSServerAcceptor
-
-netsvcs_time: netsvcs_base $(addprefix netsvcs/Time/,\
- $(addsuffix .java,$(pkg_netsvcs_time)))
- $(COMPILE.java)
-
-pkg_netsvcs_token = \
- TokenRequest \
- TokenReply \
- TokenRequestHandler \
- LockHandler \
- LockHandlerAdapter \
- LockOperations \
- LockTypes \
- TokenAcceptor \
- RemoteLock \
- RemoteMutex \
- RemoteRWMutex \
- MutexHandler \
- RWMutexHandler
-
-netsvcs_token: netsvcs_base $(addprefix netsvcs/Token/,\
- $(addsuffix .java,$(pkg_netsvcs_token)))
- $(COMPILE.java)
-
-packages = \
- JACE.ASX \
- JACE.Connection \
- JACE.Concurrency \
- JACE.Misc \
- JACE.OS \
- JACE.Reactor \
- JACE.SOCK_SAP \
- JACE.ServiceConfigurator \
- JACE.Timers \
- JACE.netsvcs \
- JACE.netsvcs.Logger \
- JACE.netsvcs.Naming \
- JACE.netsvcs.Time \
- JACE.netsvcs.Token
diff --git a/java/JACE/Misc/GetOpt.java b/java/JACE/Misc/GetOpt.java
deleted file mode 100644
index e373baedb67..00000000000
--- a/java/JACE/Misc/GetOpt.java
+++ /dev/null
@@ -1,171 +0,0 @@
-/*************************************************
- *
- * = PACKAGE
- * JACE.Misc
- *
- * = FILENAME
- * GetOpt.java
- *
- *@author Prashant Jain
- *
- *************************************************/
-package JACE.Misc;
-
-import java.io.*;
-import java.util.Hashtable;
-import java.util.StringTokenizer;
-
-/**
- * Iterator for parsing command-line arguments.
- * <P>
- * This version of `get_opt' appears to the caller like standard
- * Unix `get_opt' but it behaves differently for the user, since
- * it allows the user to intersperse the options with the other
- * arguments.
- *
- * <p> As `get_opt' works, it permutes the elements of `argv' so that,
- * when it is done, all the options precede everything else. Thus
- * all application programs are extended to handle flexible argument
- * order.
- */
-public class GetOpt
-{
- /**
- * Constructor
- *@param args command line arguments
- *@param optstring string containing the legitimate option
- * characters. A colon in optstring means that the previous character
- * is an option that wants an argument which is then taken from the
- * rest of the current args-element. Here is an example of what
- * optstring might look like: "c:dP:p".
- */
- public GetOpt (String[] args, String optstring)
- {
- this (args, optstring, false);
- }
-
- /**
- * Constructor
- *@param args command line arguments
- *@param optstring string containing the legitimate option
- * characters. A colon in optstring means that the previous character
- * is an option that wants an argument which is then taken from the
- * rest of the current args-element. Here is an example of what
- * optstring might look like: "c:dP:p".
- *@param returnAllArgs specify true if next() should return any
- * arguments, even if not in the optstring. This is useful for
- * providing an error message.
- */
- public GetOpt (String[] args, String optstring, boolean returnAllArgs)
- {
- returnAllArgs_ = returnAllArgs;
-
- // Cache the arguments
- this.args_ = args;
- this.hasArg_ = false;
-
- // Build the arg hashtable
- this.buildArgTable (optstring);
- }
-
- /**
- * Scan elements specified in optstring for next option flag.
- *@return The character corresponding to the next flag.
- */
- public int next ()
- {
- if (this.args_ == null)
- return -1;
-
- if (this.index_ < this.args_.length)
- {
- String arg = this.args_[this.index_++];
-
- // Make sure flag starts with "-"
- if (!arg.startsWith ("-"))
- return -1;
-
- // Check if there is more than one character specified as flag
- if (arg.length () > 2)
- return -1;
-
- // So far so good
- // Check if the flag is in the arg_table and if it is get the
- // associated binding.
- Character c = (Character) this.argTable_.get
- (new Character (arg.charAt (1)));
-
- if (c == null) {
- if (returnAllArgs_)
- return arg.charAt (1);
- else
- return -1;
- }
-
- if (c.charValue () == '#')
- {
- this.hasArg_ = false;
- return arg.charAt (1);
- }
- else if (c.charValue () == ':')
- {
- this.hasArg_ = true;
- return arg.charAt (1);
- }
- else // This should not happen
- return -1;
- }
- return -1;
- }
-
- /**
- * Get the argument (if any) associated with the flag.
- *@return the argument associated with the flag.
- */
- public String optarg ()
- {
- if (this.hasArg_)
- return this.args_[this.index_++];
- else
- return null;
- }
-
- // Build the argument table
- private void buildArgTable (String s)
- {
- this.argTable_ = new Hashtable ();
- StringTokenizer tokens = new StringTokenizer (s, ":");
- while (tokens.hasMoreTokens ())
- {
- // Get the next token
- String t = tokens.nextToken ();
-
- // First add all flags except the one with ":" after it
- // Note "#" is an arbitrary character we use to distinguish
- // the two cases
- for (int i = 0; i < t.length () - 1; i++)
- this.argTable_.put (new Character (t.charAt (i)),
- new Character ('#'));
-
- // Now Add the flag just before ":" to the arg_table
- this.argTable_.put (new Character (t.charAt (t.length () - 1)),
- new Character (':'));
- }
- }
-
- private String [] args_;
- // Copy of the args passed in
-
- private boolean hasArg_;
- // Indicator that the flag has an argument following it
-
- private int index_;
- // Index into the array of arguments
-
- private Hashtable argTable_;
- // Table of flags that take arguments after them
-
- private boolean returnAllArgs_;
- // When true, GetOpt returns arguments even if not present in the
- // given optstring.
-}
diff --git a/java/JACE/Misc/package.html b/java/JACE/Misc/package.html
deleted file mode 100644
index 31803472e19..00000000000
--- a/java/JACE/Misc/package.html
+++ /dev/null
@@ -1,6 +0,0 @@
-<!-- $Id$ -->
-<HTML>
-<BODY>
-Miscellaneous utility classes.
-</BODY>
-</HTML>
diff --git a/java/JACE/OS/ACE.java b/java/JACE/OS/ACE.java
deleted file mode 100644
index 3979fa6c2d2..00000000000
--- a/java/JACE/OS/ACE.java
+++ /dev/null
@@ -1,156 +0,0 @@
-/*************************************************
- *
- * = PACKAGE
- * JACE.OS
- *
- * = FILENAME
- * JACE.java
- *
- *@author Prashant Jain
- *
- *************************************************/
-package JACE.OS;
-
-/**
- * Constants, utility "functions", etc.
- * <P>
- * Defines default constants for ACE. Many of these are used for the
- * ACE tests and applications. You may want to change some of these to
- * correspond to your environment. Also, routines for error handling,
- * debugging and bit manipulation are included.
- * <P>
- * This class is non-instantiable, and intended only to provide a constrained
- * namespace.
- */
-public abstract class ACE
-{
- /**
- * Default port on which a server listens for connections.
- */
- public static final int DEFAULT_SERVER_PORT = 10002;
-
- /**
- * Default name to use for a thread group.
- */
- public static final String DEFAULT_THREAD_GROUP_NAME = "ace_thread_group";
-
- /**
- * Disable debugging. Once debugging is disabled, all ACE.DEBUG
- * statements would be ignored.
- */
- public static final void disableDebugging ()
- {
- ACE.debug_ = false;
- }
-
- /**
- * Enable debugging. Once debugging is enabled, all ACE.DEBUG
- * statements get printed.
- */
- public static final void enableDebugging ()
- {
- ACE.debug_ = true;
- }
-
- /**
- * Print the string representation of Java Exception.
- *@param e Java exception
- */
- public static final void ERROR (Exception e)
- {
- System.err.println (e);
- }
-
- /**
- * Print the string being passed in.
- *@param s a Java String
- */
- public static final void ERROR (String s)
- {
- System.err.println (s);
- }
-
- /**
- * Print the string being passed in.
- *@param s A Java String
- *@return Error value passed in
- */
- public static final int ERROR_RETURN (String s, int errorVal)
- {
- System.err.println (s);
- return errorVal;
- }
-
- /**
- * Print the string being passed in. Note the behavior will vary
- * depending upon whether debugging is enabled or disabled.
- *@param s a Java String
- */
- public static final void DEBUG (String s)
- {
- if (ACE.debug_)
- System.out.println (s);
- }
-
- /**
- * Flush out any data that may be buffered.
- */
- public static final void FLUSH ()
- {
- System.out.flush ();
- }
-
- /**
- * Set the bits of WORD using BITS as the mask.
- *@param WORD the bits to be set.
- *@param BITS the mask to use.
- *@return The value obtained after setting the bits.
- */
- public static final long SET_BITS (long WORD, long BITS)
- {
- return WORD | BITS;
- }
-
- /**
- * Clear the bits of WORD using BITS as the mask.
- *@param WORD the bits to clear.
- *@param BITS the mask to use.
- *@return The value obtained after clearing the bits.
- */
- public static final long CLR_BITS (long WORD, long BITS)
- {
- return WORD & ~BITS;
- }
-
- /**
- * Check if bits are enabled in WORD.
- *@param WORD the bits to check.
- *@param BIT the bit to check to see if it is enabled or not.
- *@return true if bit is enabled, false otherwise.
- */
- public static final boolean BIT_ENABLED (long WORD, long BIT)
- {
- return (WORD & BIT) != 0;
- }
-
- /**
- * Check if bits are disabled in WORD.
- *@param WORD the bits to check.
- *@param BIT the bit to check to see if it is disabled or not.
- *@return true if bit is disabled, false otherwise.
- */
- public static final boolean BIT_DISABLED (long WORD, long BIT)
- {
- return (WORD & BIT) == 0;
- }
-
- // Debug flag (turn debugging on/off)
- private static boolean debug_ = false;
-
- // Default private constructor to avoid instantiation
- private ACE ()
- {
- }
-}
-
-
diff --git a/java/JACE/OS/OS.java b/java/JACE/OS/OS.java
deleted file mode 100644
index 3f15a028cc2..00000000000
--- a/java/JACE/OS/OS.java
+++ /dev/null
@@ -1,65 +0,0 @@
-/*************************************************
- *
- * = PACKAGE
- * JACE.OS
- *
- * = FILENAME
- * OS.java
- *
- *@author Prashant Jain
- *
- *************************************************/
-package JACE.OS;
-
-import java.util.StringTokenizer;
-
-/**
- * Methods to extend the capabilities of the Java runtime system.
- * <P>
- * This non-instantiable class contains little <q>utility functions</q>
- * that should have been in Java to begin with :-)
- */
-public class OS
-{
- /**
- * Create an array of Strings from a single String using <delim> as
- * the delimiter.
- *@param args the String to break up to make an array of Strings
- *@param delim the delimeter to use to break the String up
- *@return an array containing the original String broken up
- */
- public static String [] createStringArray (String args, String delim)
- {
- // First determine the number of arguments
- int count = 0;
- StringTokenizer tokens = new StringTokenizer (args, delim);
- while (tokens.hasMoreTokens ())
- {
- tokens.nextToken ();
- count++;
- }
- if (count == 0)
- return null;
-
- // Create argument array
- String [] argArray = new String [count];
- int index = 0;
- tokens = new StringTokenizer (args, " ");
- while (tokens.hasMoreTokens ())
- {
- argArray [index] = tokens.nextToken ();
- index++;
- }
-
- // Assert index == count
- if (index != count)
- return null;
- else
- return argArray;
- }
-
- // Default private constructor to avoid instantiation
- private OS ()
- {
- }
-}
diff --git a/java/JACE/OS/package.html b/java/JACE/OS/package.html
deleted file mode 100644
index 01245ef0b51..00000000000
--- a/java/JACE/OS/package.html
+++ /dev/null
@@ -1,6 +0,0 @@
-<!-- $Id$ -->
-<HTML>
-<BODY>
-Extensions to the Java runtime system.
-</BODY>
-</HTML>
diff --git a/java/JACE/Reactor/EventHandler.java b/java/JACE/Reactor/EventHandler.java
deleted file mode 100644
index 220f999fcb5..00000000000
--- a/java/JACE/Reactor/EventHandler.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/*************************************************
- *
- * = PACKAGE
- * JACE.Reactor
- *
- * = FILENAME
- * EventHandler.java
- *
- *@author Prashant Jain
- *
- *************************************************/
-package JACE.Reactor;
-
-import JACE.ASX.TimeValue;
-
-/**
- * Provides an abstract interface for handling timer events.
- * <P>
- * Classes implementing this interface handle a timer's
- * expiration.
- * <P>
- * Users of C++ ACE will notice that this defines a substantially
- * smaller interface than the C++ counterpart. Signal events are
- * absent due to the complete absence of this feature from Java itself.
- * Moreover, at this point
- * there is still some question regarding whether or not the I/O
- * portion will make any sense or fit into the Java model for I/O.
- *
- *@see JACE.Reactor.TimerQueue
- *@see JACE.Reactor
- */
-public interface EventHandler
-{
- /**
- * Called when timer expires.
- *@param tv Time Value for which timer was set
- *@param obj An arbitrary object that was passed to the Timer Queue
- * (Asynchronous Completion Token)
- */
- public int handleTimeout (TimeValue tv, Object obj);
-}
-
-// Note that more methods will be added as needed
diff --git a/java/JACE/Reactor/TimerQueue.java b/java/JACE/Reactor/TimerQueue.java
deleted file mode 100644
index 638cffe3391..00000000000
--- a/java/JACE/Reactor/TimerQueue.java
+++ /dev/null
@@ -1,437 +0,0 @@
-/*************************************************
- *
- * = PACKAGE
- * JACE.Reactor
- *
- * = FILENAME
- * TimerQueue.java
- *
- *@author Prashant Jain
- *
- *************************************************/
-package JACE.Reactor;
-
-import java.util.*;
-import JACE.ASX.*;
-
-import JACE.OS.*;
-
-/**
- * Timer Queue implementation which calls back to the handleTimeout
- * method on EventHandler implementations when their timers expire.
- * <P>
- * This is a simple implementation that keeps a linked list of
- * absolute timers. It allows multiple timers to be scheduled
- * and returns a timer id for each timer scheduled. In addition,
- * it allows periodic timers to be scheduled.
- * <P>
- * Note that timeouts given to the TimerQueue are relative time
- * ("2 seconds from now", etc).
- */
-public class TimerQueue implements Runnable
-{
- static class TimerNode
- {
- public TimerNode (EventHandler handler,
- Object arg,
- TimeValue timerValue,
- TimeValue interval,
- TimerNode next,
- int timerId)
- {
- this.handler_ = handler;
- this.arg_ = arg;
- this.timerValue_ = timerValue;
- this.interval_ = interval;
- this.next_ = next;
- this.timerId_ = timerId;
- }
-
- public EventHandler handler_;
- // Handler to invoke <handleTimeout> on when a timeout occurs.
-
- public Object arg_;
- // Argument to pass to <handleTimeout>.
-
- public TimeValue timerValue_;
- // Time until the timer expires.
-
- public TimeValue interval_;
- // If this is a periodic timer this holds the time until the next
- // timeout.
-
- public TimerNode next_;
- // Pointer to next timer.
-
- public int timerId_;
- // Id of this timer (used to cancel timers before they expire).
- }
-
- static class WaitObject extends TimedWait
- {
- public boolean condition ()
- {
- return this.condition_;
- }
-
- public void condition (boolean c)
- {
- this.condition_ = c;
- }
-
- private boolean condition_ = false;
- }
-
- /**
- * Constructor. The caller is responsible for calling handleEvents ()
- * to run the event loop.
- */
- public TimerQueue ()
- {
- this (false);
- }
-
- /**
- * Constructor.
- *@param createInternalThread flag specifying whether to create an
- * internal thread that runs the event loop. If it is true, a thread
- * is spawned and it runs the event loop, handling all timeout
- * events. If it is false, the caller is then responsible for calling
- * handleEvents () to run the event loop. The thread that is created
- * is set to be a daemon thread.
- */
- public TimerQueue (boolean createInternalThread)
- {
- this.eventLoopRunning_ = false;
- if (createInternalThread) {
- Thread queueThread = new Thread (this, "Timer Queue");
- queueThread.setDaemon (true);
- queueThread.start ();
- }
- }
-
- /**
- * The thread run method. Do *NOT* call this method! It gets called
- * automatically.
- */
- public void run ()
- {
- this.handleEvents ();
- }
-
- /**
- * Handle timeout events. This forms the event loop and takes care
- * of all scheduling. This method should only be called if the Timer
- * Queue was constructed with the value of createInternalThread as
- * false.
- */
- public void handleEvents ()
- {
- if (!this.eventLoopRunning_)
- {
- // Set the flag indicating that the event loop is now running
- this.eventLoopRunning_ = true;
-
- for (;;)
- {
- synchronized (this.obj_)
- {
- try {
- // Extract the earliest time from the queue and do a
- // timed wait
-
- this.obj_.timedWait (this.earliestTime ());
-
- // We have been notified. Check to see if we need to
- // restart the wait with a different timeout
- if (this.reset_)
- {
- this.reset_ = false;
- this.obj_.condition (false);
- }
-
- } catch (TimeoutException e) {
- // Timeout occurred. Call handleTimeout on appropriate
- // Event Handlers
- this.dispatchHandlers ();
-
- } catch (InterruptedException e) {
- ACE.ERROR ("TimerQueue was interrupted");
- return;
- }
- }
- }
- }
- }
-
- /**
- * Check if the queue is empty.
- *@return true if queue is empty, else false.
- */
- boolean isEmpty ()
- {
- return this.head_ == null;
- }
-
- /**
- * Get the node of the earliest node in the TimerQueue.
- *@return the time of the earlier node in the TimerQueue.
- */
- TimeValue earliestTime ()
- {
- synchronized (this.obj_)
- {
- if (!this.isEmpty ())
- return this.head_.timerValue_;
- else
- return null;
- }
- }
-
- /**
- * Schedule an <EventHandler> that will expire after <delta> amount
- * of time. If it expires then <obj> is passed in as the value to
- * the <EventHandler>'s <handleTimeout> callback method. This method
- * returns a timer id that uniquely identifies the timer and can be
- * used to cancel the timer before it expires.
- *@param handler Event Handler that is to be scheduled with the timer
- *@param obj Object that is passed back to the Event Handler when
- * timeout occurs (Asynchronous Completion Token)
- *@param delta amount of time for which to schedule the timer
- *@return id of the timer scheduled
- */
- public int scheduleTimer (EventHandler handler,
- Object obj,
- TimeValue delta)
- {
- return this.scheduleTimer (handler, obj, delta, TimeValue.zero);
- }
-
- /**
- * Schedule an <EventHandler> that will expire after <delta> amount
- * of time. If it expires then <obj> is passed in as the value to
- * the <EventHandler>'s <handleTimeout> callback method. If
- * <interval> is != to <TimeValue.zero> then it is used to
- * reschedule the <EventHandler> automatically. This method
- * returns a timer id that uniquely identifies the timer and can be
- * used to cancel the timer before it expires.
- *@param handler Event Handler that is to be scheduled with the timer
- *@param arg Object that is passed back to the Event Handler when
- * timeout occurs (Asynchronous Completion Token)
- *@param timeout amount of time for which to schedule the timer
- *@param interval amount of time to use to reschedule the timer
- *@return id of the timer scheduled
- */
- public int scheduleTimer (EventHandler handler,
- Object arg,
- TimeValue timeout,
- TimeValue interval)
- {
-
- // Increment the sequence number (it will wrap around).
- this.timerId_++;
-
- ACE.DEBUG("scheduleTimer (" + this.timerId_ + "): " +
- timeout + ", " + interval);
-
-
- TimeValue futureTime = TimeValue.plus (timeout, TimeValue.getTimeOfDay ());
- TimerNode node = new TimerNode (handler,
- arg,
- futureTime,
- interval,
- null,
- this.timerId_);
- synchronized (this.obj_)
- {
- // Check if event loop is running. If it is not, then we can
- // just place it at the appropriate place in the queue and
- // don't need to do any notification. If event loop is
- // running, then check if the node is the first node in the
- // queue (either because the queue is empty or because the
- // time for the node is earlier than the currently scheduled
- // timer node).
- if (this.eventLoopRunning_ &&
- (this.isEmpty () || futureTime.lessThan (this.earliestTime ())))
- {
- // Insert the node into (the beginning of) the queue to be
- // scheduled.
- this.reschedule (node);
-
- // Notify the waiting thread so that it can reschedule
- // using the earliest timeout
- this.obj_.notify ();
- }
- else // Place in the appropriate position in the queue.
- {
- this.reschedule (node);
- }
- }
- return this.timerId_;
- }
-
-
- /**
- * Cancel the single timer associated with <timerId>.
- *@param timerId id of the timer that needs to be cancelled.
- *@return Object that was passed in when timer was scheduled
- * (Asynchronous Completion Token).
- */
- public Object cancelTimer (int timerId)
- {
- TimerNode prev = null;
- TimerNode curr = null;
-
- synchronized (this.obj_)
- {
- // Try to locate the TimerNode that matches the timerId.
- for (curr = this.head_;
- curr != null && curr.timerId_ != timerId;
- curr = curr.next_)
- prev = curr;
-
- if (curr != null)
- {
- if (prev == null)
- this.head_ = curr.next_;
- else
- prev.next_ = curr.next_;
-
- return curr.arg_;
- }
- }
- return null;
- }
-
- /**
- * Cancel all timers associated with <Event Handler>.
- *@param handler Event Handler whose associated timers need to be cancelled.
- */
- public void cancelTimer (EventHandler handler)
- {
- TimerNode prev = null;
- TimerNode curr = this.head_;
-
- synchronized (this.obj_)
- {
- while (curr != null)
- {
- if (curr.handler_ == handler)
- {
- if (prev == null)
- {
- this.head_ = curr.next_;
- curr = this.head_;
- }
- else
- {
- prev.next_ = curr.next_;
- curr = prev.next_;
- }
- }
- else
- {
- prev = curr;
- curr = curr.next_;
- }
- }
- }
- }
-
- // Call handleTimeout() on all handlers whose timers have expired.
- private void dispatchHandlers ()
- {
- TimeValue currentTime = TimeValue.getTimeOfDay ();
-
- for (;;)
- {
- if (this.isEmpty () || this.earliestTime ().greaterThan (currentTime))
- break; // There aren't any more timers eligible to expire.
-
- TimerNode expired = this.head_;
- EventHandler handler = expired.handler_;
- Object arg = expired.arg_;
- int result;
-
- this.head_ = this.head_.next_;
-
- // Check whether this is an interval timer.
- if (expired.interval_.greaterThan (TimeValue.zero))
- {
- // Make sure that we skip past values that have already
- // "expired".
- do
- expired.timerValue_.plusEquals (expired.interval_);
- while (expired.timerValue_.lessThanEqual (currentTime));
-
- // Since this is an interval timer, we need to reschedule
- // it.
- this.reschedule (expired);
- }
-
- ACE.DEBUG("Calling handleTimeout for ID " + expired.timerId_);
-
- // Perform the callback.
- result = handler.handleTimeout (currentTime, arg);
-
- if (result == -1)
- this.cancelTimer (handler);
- }
- }
-
- // Reschedule a TimerNode by inserting it at the appropriate
- // position in the queue.
- private void reschedule (TimerNode expired)
- {
- if (this.isEmpty () ||
- expired.timerValue_.lessThan (this.earliestTime ()))
- {
- expired.next_ = this.head_;
- this.head_ = expired;
- // Set the condition to true so that the waiting thread can be
- // notified and it can reschedule.
- this.obj_.condition (true);
- this.reset_ = true;
- }
- else
- {
- TimerNode prev = this.head_;
- TimerNode after = this.head_.next_;
-
- // Locate the proper position in the queue.
-
- while (after != null
- && expired.timerValue_.greaterThan (after.timerValue_))
- {
- prev = after;
- after = after.next_;
- }
-
- expired.next_ = after;
- prev.next_ = expired;
- }
- }
-
- public boolean eventLoopRunning ()
- {
- return eventLoopRunning_;
- }
-
- private WaitObject obj_ = new WaitObject ();
- // Synchronization object (as well as object to use to do wait on)
-
- private TimerNode head_;
- // Pointer to linked list of TimerHandles.
-
- private int timerId_;
- // Keeps track of the timer id that uniquely identifies each timer.
- // This id can be used to cancel a timer via the <cancel (int)>
- // method.
-
- private boolean reset_;
- // Flag indicating whether to start the wait again
-
- private boolean eventLoopRunning_;
- // Flag indicating whether the event loop is running or not
-}
-
diff --git a/java/JACE/Reactor/package.html b/java/JACE/Reactor/package.html
deleted file mode 100644
index 8cf9b2a941a..00000000000
--- a/java/JACE/Reactor/package.html
+++ /dev/null
@@ -1,6 +0,0 @@
-<!-- $Id$ -->
-<HTML>
-<BODY>
-Timer queue implementation and a system for handling timeout events.
-</BODY>
-</HTML>
diff --git a/java/JACE/SOCK_SAP/INETAddr.java b/java/JACE/SOCK_SAP/INETAddr.java
deleted file mode 100644
index 11b74a2b0ba..00000000000
--- a/java/JACE/SOCK_SAP/INETAddr.java
+++ /dev/null
@@ -1,96 +0,0 @@
-/*************************************************
- *
- * = PACKAGE
- * JACE.SOCK_SAP
- *
- * = FILENAME
- * INETAddr.java
- *
- *@author Chris Cleeland
- *
- *************************************************/
-package JACE.SOCK_SAP;
-
-import java.io.*;
-import java.net.*;
-import JACE.OS.*;
-
-/**
- * Defines an endpoint of a connection, encapsulating host and port.
- * This is only a part-way implementation of C++ ACE's ACE_INET_Addr.
- * <P>
- * Currently the class is very limited in its capabilities; it will
- * be expanded in future revisions of ACE.
- */
-public class INETAddr // extends Addr
-{
- private InetAddress addr_;
- private int port_ = 0;
- /**
- */
- public INETAddr ()
- {
- // Do nothing constructor
- }
-
- /**
- * Create an INETAddr from a port/hostname
- *@param port port number to connect with server at
- *@param hostname hostname of the server
- */
- public INETAddr (int port, String hostname) throws UnknownHostException
- {
- super();
- port_ = port;
- addr_ = InetAddress.getByName(hostname);
- // Should really use getAllByName(),
- // but I don't think we do that in
- // C++ ACE, even.
- }
-
- /**
- * Create an INETAddr from an address.
- * @param address an address in the form "ip-number:port-number", <em>e.g.</em> <pre>tango.cs.wustl.edu:1234</pre> or <pre>128.252.166.57:1234</pre>; if no ':' is present address is assumed to be <b>INADDR_ANY</b> and address contains only the port number
- * @throws UnknownHostException
- */
- public INETAddr (String address) throws UnknownHostException
- {
- int colon = address.indexOf(':');
- if (colon != 0)
- {
- addr_ = InetAddress.getByName(address.substring(0, colon));
- address = address.substring(colon+1);
- }
-
- port_ = Integer.parseInt(address);
- }
-
- /**
- * Return the name of the host.
- */
- public String getHostName()
- {
- return addr_.getHostName();
- }
-
- /**
- * Return the dotted Internet address.
- */
- public String getHostAddr()
- {
- return addr_.toString();
- }
-
- /**
- * Return the port number.
- */
- public int getPortNumber()
- {
- return port_;
- }
-
- public String toString()
- {
- return getHostAddr() + Integer.toString(port_);
- }
-}
diff --git a/java/JACE/SOCK_SAP/SOCKAcceptor.java b/java/JACE/SOCK_SAP/SOCKAcceptor.java
deleted file mode 100644
index dc9e12c8496..00000000000
--- a/java/JACE/SOCK_SAP/SOCKAcceptor.java
+++ /dev/null
@@ -1,113 +0,0 @@
-/*************************************************
- *
- * = PACKAGE
- * JACE.SOCK_SAP
- *
- * = FILENAME
- * SOCKAcceptor.java
- *
- *@author Prashant Jain
- *
- *************************************************/
-package JACE.SOCK_SAP;
-
-import java.io.*;
-import java.net.*;
-import JACE.OS.*;
-
-/**
- * Defines a factory that creates new SOCKStreams passively.
- */
-public class SOCKAcceptor
-{
- // = Initialization
-
- /**
- * Create a SOCKAcceptor. Do nothing constructor. Allows user to
- * call open() later and pass in the port number.
- */
- public SOCKAcceptor ()
- {
- }
-
- /**
- * Create a SOCKAcceptor.
- *@param port port number where the server will listen for connections
- */
- public SOCKAcceptor (int port) throws IOException
- {
- this.open (port);
- }
-
- /**
- * Create socket to listen for connections on.
- *@param port port number where the server will listen for connections
- */
- public void open(int port) throws IOException
- {
- // Close old socket (if there is one)
- this.close ();
-
- // Create a new server socket
- this.listenSocket_ = new ServerSocket (port);
- // ACE.DEBUG ("Server listening on port " + port);
- }
-
- /**
- * Close the socket and do any necessary cleanup.
- */
- public void close () throws IOException
- {
- if (this.listenSocket_ != null)
- {
- this.listenSocket_.close ();
- this.listenSocket_ = null;
- }
- }
-
- /**
- * Accept a connection. The streams are set when the method returns.
- *@param sockStream SOCK Stream to use for the connection
- */
- public void accept (SOCKStream sockStream) throws SocketException, IOException
- {
- // Block in accept. Returns when a connection shows up and sets
- // the streams
- sockStream.socket (this.listenSocket_.accept ());
- ACE.DEBUG ("Accepted connection from " +
- sockStream.socket ().getInetAddress ());
- }
-
- /**
- * Get the underlying listen socket.
- *@return the underlying listen socket
- */
- public ServerSocket listenSocket ()
- {
- return this.listenSocket_;
- }
-
- /**
- * Set the underlying listen socket.
- *@param s the underlying listen socket
- */
- public void listenSocket (ServerSocket s)
- {
- this.listenSocket_ = s;
- }
-
- /**
- * Clean up when the garbage collector gets run (if at all). Note
- * that there is no guarantee that finalize () will get called.
- *@exception Throwable (Probably IOException from the socket level)
- */
- protected void finalize () throws Throwable
- {
- super.finalize ();
- this.close ();
- }
-
- // Socket on which listen for connections (by default initialized to
- // null)
- private ServerSocket listenSocket_;
-}
diff --git a/java/JACE/SOCK_SAP/SOCKConnector.java b/java/JACE/SOCK_SAP/SOCKConnector.java
deleted file mode 100644
index cc3a558f77f..00000000000
--- a/java/JACE/SOCK_SAP/SOCKConnector.java
+++ /dev/null
@@ -1,73 +0,0 @@
-/*************************************************
- *
- * = PACKAGE
- * JACE.SOCK_SAP
- *
- * = FILENAME
- * SOCKConnector.java
- *
- *@author Prashant Jain
- *
- *************************************************/
-package JACE.SOCK_SAP;
-
-import java.io.*;
-import java.net.*;
-import JACE.OS.*;
-
-/**
- * Defines an active connection factory for the socket wrappers.
- */
-public class SOCKConnector
-{
- // = Initialization
-
- /**
- * Create a SOCKConnector. Do nothing constructor. Allows user to
- * call connect() later.
- */
- public SOCKConnector ()
- {
- // Do nothing constructor
- }
-
- /**
- * Create a SOCKConnector and connect to the server.
- *@param sockStream SOCK Stream to use for the connection
- *@param hostname hostname of the server
- *@param port port number to connect with server at
- */
- public SOCKConnector (SOCKStream sockStream,
- String hostname,
- int port) throws SocketException, IOException
- {
- this.connect (sockStream,
- hostname,
- port);
- }
-
- /**
- * Connect to the server.
- *@param sockStream SOCK Stream to use for the connection
- *@param hostname hostname of the server
- *@param port port number to connect with server at
- */
- public void connect (SOCKStream sockStream,
- String hostname,
- int port) throws SocketException, IOException
- {
- sockStream.socket (new Socket (hostname, port));
- }
-
- /**
- * Connect to the server.
- *@param sockStream SOCK Stream to use for the connection
- *@param addr INETAddr instance specifying host/port
- */
- public void connect (SOCKStream sockStream,
- INETAddr addr) throws SocketException, IOException
- {
- sockStream.socket (new Socket (addr.getHostName(),
- addr.getPortNumber()));
- }
-}
diff --git a/java/JACE/SOCK_SAP/SOCKStream.java b/java/JACE/SOCK_SAP/SOCKStream.java
deleted file mode 100644
index 05e2535e62a..00000000000
--- a/java/JACE/SOCK_SAP/SOCKStream.java
+++ /dev/null
@@ -1,227 +0,0 @@
-/*************************************************
- *
- * = PACKAGE
- * JACE.SOCK_SAP
- *
- * = FILENAME
- * SOCKStream.java
- *
- *@author Prashant Jain
- *
- *************************************************/
-package JACE.SOCK_SAP;
-
-import java.io.*;
-import java.net.*;
-import JACE.OS.*;
-
-/**
- * This adds additional wrapper methods atop the java Socket class.
- */
-public class SOCKStream
-{
- /**
- * Create a default SOCK Stream. Do nothing constructor.
- */
- public SOCKStream ()
- {
- }
-
- /**
- * Create a SOCK Stream.
- *@param s Socket to initialize SOCK Stream with.
- */
- public SOCKStream (Socket s) throws IOException
- {
- this.socket (s);
- }
-
- /**
- * Set the socket and the underlying streams.
- *@param s Socket associated with the SOCK Stream.
- */
- public void socket (Socket s) throws IOException
- {
- this.socket_ = s;
- // Note that if s is not a valid socket or is null, the
- // following calls will throw exceptions
-
- this.iStream_ =
- new DataInputStream(new BufferedInputStream(s.getInputStream()));
-
- this.oStream_ =
- new DataOutputStream(new BufferedOutputStream(s.getOutputStream()));
- }
-
- /* Get the underlying Socket.
- *@return the underlying socket
- */
- public Socket socket ()
- {
- return this.socket_;
- }
-
- /**
- * Close the streams and the underlying socket.
- */
- public void close () throws IOException
- {
- if (this.socket_ != null)
- this.socket_.close ();
- this.socket_ = null;
- }
-
- // = The following send and recv methods are overloaded to provide a
- // flexible interface
-
- /**
- * Send a StringBuffer. Note that the method blocks.
- *@param s the StringBuffer to send
- *@return the length of the StringBuffer
- */
- public int send (StringBuffer s) throws IOException
- {
- // Get the data out
- String buf = s.toString ();
-
- //this.oStream_.println(buf);
- this.oStream_.writeChars(buf.toString());
- this.oStream_.writeChar('\n');
- this.oStream_.flush ();
-
- return buf.length ();
- }
-
- /**
- * Send a String. Note that the method blocks.
- *@param s the String to send
- *@return the length of the String
- */
- public int send (String s) throws IOException
- {
- this.oStream_.writeChars(s);
- this.oStream_.writeChar('\n');
-
- //this.oStream_.println(s);
- this.oStream_.flush();
-
- return s.length ();
- }
-
- /**
- * Send an array of bytes. Note that the method blocks.
- *@param b array of bytes to send
- *@param offset offset into the byte array to start sending from
- *@param length number of bytes to send
- *@return number of bytes sent
- */
- public int sendN (byte[] b, int offset, int length) throws IOException
- {
- this.oStream_.write (b, offset, length);
- this.oStream_.flush ();
- return length;
- }
-
- /**
- * Receive data and append it to the StringBuffer that was passed
- * in. Note that the method blocks.
- *@param s the StringBuffer to append the result of the recv to
- *@return the length of the String received
- */
- public int recv (StringBuffer s) throws IOException
- {
- int len = 0;
- char in = (char)this.iStream_.readByte();
-
- while (in != '\n') {
- s.append(in);
- in = (char)this.iStream_.readByte();
- len++;
- }
-
- return len;
- }
-
- /**
- * Receive an array of characters. This method blocks until either
- * all the bytes are read, the end of the stream is detected, or
- * an exception is thrown.
- *@param b byte array to receive the data in
- *@param offset the start offset of the data in the byte array.
- *@param n number of bytes to receive
- *@return n
- */
- public int recvN (byte[] b, int offset, int n) throws IOException
- {
- this.iStream_.readFully (b, offset, n);
- return n;
- }
-
- /**
- * Set the underlying input stream.
- *@param iStream the input stream
- */
- public void inputStream (InputStream iStream)
- {
- this.iStream_ = new DataInputStream(new BufferedInputStream(iStream));
- }
-
- /**
- * Get the underlying input stream.
- *@return the underlying input stream
- */
- public InputStream inputStream ()
- {
- return this.iStream_;
- }
-
- /**
- * Set the underlying output stream.
- *@param iStream the output stream
- */
- public void outputStream (OutputStream oStream)
- {
- this.oStream_ = new DataOutputStream(new BufferedOutputStream(oStream));
- }
-
- /**
- * Get the underlying output stream.
- *@return the underlying output stream
- */
- public OutputStream outputStream ()
- {
- return this.oStream_;
- }
-
- /**
- * Get the underlying stream wrapped in a buffered DataOutputStream
- */
- public DataOutputStream dataOutputStream ()
- {
- return this.oStream_;
- }
-
- /**
- * Get the underlying stream wrapped in a buffered DataInputStream
- */
- public DataInputStream dataInputStream ()
- {
- return this.iStream_;
- }
-
- /**
- * Cleanup when the SOCK Stream is garbage collected.
- *@exception Throwable (Probably IOException from the socket level)
- */
- protected void finalize () throws Throwable
- {
- super.finalize ();
- this.close ();
- }
-
- private Socket socket_;
-
- // = The input and output streams (by default null)
- private DataInputStream iStream_;
- private DataOutputStream oStream_;
-}
diff --git a/java/JACE/SOCK_SAP/package.html b/java/JACE/SOCK_SAP/package.html
deleted file mode 100644
index fa4b9346aab..00000000000
--- a/java/JACE/SOCK_SAP/package.html
+++ /dev/null
@@ -1,8 +0,0 @@
-<!-- $Id$ -->
-<HTML>
-<BODY>
-Wrappers for the sockets system.
-
-@see JACE.Connection.Acceptor
-</BODY>
-</HTML>
diff --git a/java/JACE/ServiceConfigurator/Service.java b/java/JACE/ServiceConfigurator/Service.java
deleted file mode 100644
index fac0b0fc54b..00000000000
--- a/java/JACE/ServiceConfigurator/Service.java
+++ /dev/null
@@ -1,96 +0,0 @@
-package JACE.ServiceConfigurator;
-
-/**
- * Interface common to all services loaded with the
- * Service Configurator.
- * <P>
- * In order to create a completely new type of service, all that
- * is necessary is to implement this interface, and ServiceConfig
- * will be able to load it. A concrete example is ServiceObject,
- * the base class for the network services.
- * <P>
- * Implementing classes must also:
- * <UL>
- * <LI> Provide a default constructor
- * <LI> Begin in their own thread (probably in init (String[]))
- * </UL>
- * <P>
- * Implementing classes should also:
- * <UL>
- * <LI> Shut down completely when close () has been called. That
- * means ending thread activity.
- * </UL>
- *
- *@see JACE.ServiceConfigurator.ServiceObject
- *@see JACE.ServiceConfigurator.ServiceConfig
- *@author Everett Anderson
- */
-public interface Service
-{
- /**
- * Temporarily disable this service. This will only be called for a
- * service which returns false from its suspended() method.
- * <P>
- *@return -1 on failure, 0 on success
- */
- int suspend ();
-
- /**
- * Re-enable this service. This will only be called for a service
- * which returns true from its suspended() method.
- * <P>
- *@return -1 on failure, 0 on success
- */
- int resume ();
-
- /**
- * Initialize this service. The arguments will be given as if they
- * were from the command line, separated into Strings using spaces
- * as the delimiters.
- * <P>
- *@param args set of command line arguments
- *@return -1 on failure, 0 on success
- */
- int init (String [] args);
-
- /**
- * Close this service and free any internal resources.
- * <P>
- *@return -1 on failure, 0 on success
- */
- int fini ();
-
- /**
- * Provide a status message for this service.
- * <P>
- *@return status message
- */
- String info ();
-
- /**
- * Return the name of this service. The name is typically set
- * in ServiceConfig to a name supplied in a configuration file.
- * <P>
- *@return name of this service
- */
- String name ();
-
- /**
- * Set the name of this service. This is typically caled in
- * ServiceConfig, setting the name to one supplied in a configuration
- * file.
- * <P>
- *@param name new name for this service
- */
- void name (String name);
-
- /**
- * Returns whether or not this service is suspended. The result
- * determines whether or not this service's resume() and suspend()
- * methods will be called by ServiceConfig. (For instance, while
- * a service returns true, its suspend() method will not be called.)
- * <P>
- *@return true if suspended, else false
- */
- boolean suspended ();
-}
diff --git a/java/JACE/ServiceConfigurator/ServiceConfig.java b/java/JACE/ServiceConfigurator/ServiceConfig.java
deleted file mode 100644
index 894cf415f06..00000000000
--- a/java/JACE/ServiceConfigurator/ServiceConfig.java
+++ /dev/null
@@ -1,482 +0,0 @@
-/*************************************************
- *
- * = PACKAGE
- * JACE.ServiceConfigurator
- *
- * = FILENAME
- * ServiceConfig.java
- *
- *************************************************/
-package JACE.ServiceConfigurator;
-
-import java.io.*;
-import java.util.*;
-import java.net.*;
-import JACE.OS.*;
-import JACE.Misc.*;
-
-/**
- * Provide the base class that supplies common server daemon
- * operations. Also provides a global point for interacting with
- * the service repository. Services can be suspended, resumed,
- * removed, and reloaded.
- * <P>
- * ServiceConfig files contain lines of the following forms:
- *
- * <PRE>
- * load (Service Name) (Class Name) (Type) "argument list" (opt URL path)
- *
- * resume (Service Name)
- * suspend (Service Name)
- * remove (Service Name)
- *
- * where (Type) is currently only ServiceObject or Service_Object
- * [Note: This is not enforced by the ServiceConfig program, but
- * something must be there.]
- * </PRE>
- * <P>
- * <B>Valid command line arguments:</B>
- * <PRE>
- * -f (filename) Specify name of the service config file
- * -d Enable debugging
- * -p (URL path) If not found locally, search this URL path
- * for classes (multiple -p options allowed)
- * </PRE>
- *
- *@author Prashant Jain
- *@author Everett Anderson
- */
-public class ServiceConfig
-{
- /** Begins the process of loading a service configurator file:
- * parses the command line and calls processDirectives
- *
- *@param args command line arguments to the Service Configurator
- *@exception FileNotFoundException Couldn't find service config file
- *@exception IOException Problem reading or parsing the config file
- *@exception ClassNotFoundException Couldn't find a certain class
- *@exception IllegalAccessException Inappropriate method call on a class
- *@exception InstantiationException Couldn't create a certain class instance
- *@return -1 on failure, 0 on success
- */
- public static int open (String [] args)
- throws FileNotFoundException, IOException, ClassNotFoundException,
- IllegalAccessException, InstantiationException
- {
- // Parse the command line
- if (ServiceConfig.parseArgs (args) < 0) {
- printUsage ();
- return -1;
- }
-
- return ServiceConfig.processDirectives ();
- }
-
- protected static void printUsage ()
- {
- ACE.ERROR ("Valid options:\n");
- ACE.ERROR ("-f <filename> Specify name of the service config file");
- ACE.ERROR ("-d Enable debugging");
- ACE.ERROR ("-p <URL path> If not found locally, search this URL path");
- ACE.ERROR (" for classes (multiple -p options allowed)");
- }
-
- /** Parse the command line.
- * <P>
- * Currently, valid command line options are the following:
- * <PRE>
- * -d Debug mode
- * -f (filename) Load services in the given file
- * -p (URL path) If not found locally, search this URL path for classes
- * (there can be multiple -p URL options)
- * </PRE>
- *@param args command line arguments
- *@exception ClassNotFoundException Couldn't find a specified Service
- *@exception IllegalAccessException Inappropriate method call on a Service
- *@exception InstantiationException Couldn't create a Service instance
- */
- protected static int parseArgs (String [] args)
- throws ClassNotFoundException, IllegalAccessException,
- InstantiationException
- {
- GetOpt getopt = new GetOpt (args, "df:p:", true);
- for (int c; (c = getopt.next ()) != -1; )
- switch (c)
- {
- case 'p':
- // Specify a URL path
- try {
- ServiceConfig.loader_.addURLPath (getopt.optarg ());
- } catch (MalformedURLException e) {
- ACE.ERROR ("Invalid URL: " + getopt.optarg ());
- }
- break;
- /*
- Not supported:
-
- case 'b':
- ServiceConfig.beADaemon_ = true;
- break;
- case 'n':
- break;
- */
- case 'd':
- ACE.enableDebugging ();
- ACE.DEBUG ("Debugging is enabled");
- break;
- case 'f':
- // Specify the file name of the config file
- ServiceConfig.serviceConfigFile_ = getopt.optarg ();
- break;
- default:
- ACE.ERROR ((char ) c + " is not a ServiceConfig option");
- return -1;
- }
-
- return 0;
- }
-
- /**
- * Uses the Service Repository to suspend a service with the given name.
- *
- *@param name name of the Service to suspend
- *@return -1 on failure, 0 on success
- */
- public static int suspend (String name)
- {
- return ServiceConfig.svcRep_.suspend (name);
- }
-
- /**
- * Uses the Service Repository to resume a service with the given name.
- *
- *@param name name of the Service to resume
- *@return -1 on failure, 0 on success
- */
- public static int resume (String name)
- {
- return ServiceConfig.svcRep_.resume (name);
- }
-
- /**
- * Removes the specified Service from the Service Repository.
- *
- *@param name name of the Service to remove
- *@return -1 on failure, 0 on success
- */
- public static int remove (String name)
- {
- return ServiceConfig.svcRep_.remove (name);
- }
-
- /**
- * Returns the info String from the specified Service.
- *
- *@param name name of the Service to query
- *@return information about the Service
- */
- public static String info (String name)
- {
- return ServiceConfig.svcRep_.info (name);
- }
-
- /**
- * Call fini on the specified Service.
- *
- *@param name name of the Service to shut down
- *@return -1 on failure, 0 on success
- */
- public static int fini (String name)
- {
- return ServiceConfig.svcRep_.fini (name);
- }
-
- /**
- * Call init on the specified Service. This is only needed
- * when a user wants to add a Service to the repository without
- * using service config files.
- *
- *@param name name of the Service to initialize
- *@param args command line arguments to pass to the Service
- *@return -1 on failure, 0 on success
- *@see ServiceConfig#insert
- */
- public static int init (String name, String [] args)
- {
- return ServiceConfig.svcRep_.init (name, args);
- }
-
- /**
- * Adds the given Service to the Service Repository. This is
- * only needed when a user wants to add a Service to the repository
- * without using service config files.
- *
- *@param service Service to insert
- *@see ServiceConfig#init
- */
- public static void insert (Service service)
- {
- ServiceConfig.svcRep_.insert (service);
- }
-
- /**
- * Check to see if the specified Service is suspended.
- *
- *@param name name of the Service to check
- *@return true if it is suspended, else false
- */
- public static boolean suspended (String name)
- {
- return ServiceConfig.svcRep_.suspended (name);
- }
-
- /**
- * Check to see if the repository contains a service with the given
- * name.
- *
- *@param name name of the Service to check
- *@return true if it is in the repository, else false
- */
- public static boolean contains (String name)
- {
- return (ServiceConfig.svcRep_.find (name) == null ? false : true);
- }
-
- /**
- * Get an Enumeration of all of the names of the Services in the
- * repository.
- *
- *@return Enumeration of Service names
- */
- public static Enumeration serviceNames ()
- {
- return ServiceConfig.svcRep_.serviceNames ();
- }
-
- /**
- * Get an Enumeration of all Services in the repository.
- *
- *@return Enumeration of Services
- */
- public static Enumeration services ()
- {
- return ServiceConfig.svcRep_.services ();
- }
-
- /**
- * Load a service of the given name, type, and arguments, then
- * initialize it with the given arguments.
- *
- * Should be aware that this could also throw a class cast exception if
- * the author of the service didn't implement the Service interface.
- *
- *@param serviceName name of the service to load
- *@param className class name to load
- *@param args command line arguments to initialize the service
- *@exception ClassNotFoundException couldn't find the specified class file
- *@exception IllegalAccessException problem calling a method on the service
- *@exception InstantiationException problem creating an instance
- *@exception IOException problem reading the class file
- *@return -1 on failure, 0 on success
- */
- public static int load (String serviceName,
- String className,
- String [] args)
- throws ClassNotFoundException, IllegalAccessException,
- InstantiationException, IOException
- {
- Class svcClass = ServiceConfig.loader_.loadClass (className);
-
- Service svc = (Service)(svcClass.newInstance());
-
- svc.name (serviceName);
-
- ServiceConfig.svcRep_.insert (svc);
-
- return ServiceConfig.svcRep_.init (serviceName, args);
- }
-
- /**
- * Same as load (String, String, String[]) but creates the
- * String array from the given args parameter using the space
- * character as a delimiter.
- *
- */
- public static int load (String serviceName,
- String className,
- String args)
- throws ClassNotFoundException, IllegalAccessException,
- InstantiationException, IOException
- {
- return ServiceConfig.load (serviceName,
- className,
- OS.createStringArray (args, " "));
- }
-
- /**
- * Parse a service configurator file, creating classes as necessary.
- *
- *@return -1 on failure, 0 on success
- *@exception FileNotFoundException Couldn't find the file
- *(default "svc.conf")
- *@exception IOException Problem reading/parsing
- *@exception ClassNotFoundException Couldn't find a certain class
- *@exception IllegalAccessException Inappropriate method call
- *@exception InstantiationException Couldn't create a class instance
- */
- protected static int processDirectives ()
- throws FileNotFoundException, IOException, ClassNotFoundException,
- IllegalAccessException, InstantiationException
- {
- ACE.DEBUG("Processing directives in file " +
- ServiceConfig.serviceConfigFile_);
-
- File configFile = new File (ServiceConfig.serviceConfigFile_);
-
- // Check if file exists and is a normal file
- if (!configFile.exists () || !configFile.isFile ())
- throw new FileNotFoundException ("File " +
- ServiceConfig.serviceConfigFile_ +
- " not found");
-
- // Check if the file is readable
- if (!configFile.canRead ())
- throw new IOException ("File " +
- ServiceConfig.serviceConfigFile_ +
- " not readable");
-
- // Set up the stream
- FileInputStream fileIn = new FileInputStream (configFile);
-
- // Parse the file
- Reader r = new BufferedReader(new InputStreamReader(fileIn));
- StreamTokenizer in = new StreamTokenizer (r);
-
- // Set characters in ASCII range 32 to 47, ASCII range 91 to 96,
- // and ASCII range 123 to 126 as ordinary characters
- in.wordChars ('.', '/'); // ASCII range 32 to 47
- in.wordChars (':', '@'); // ASCII range 58 to 64
- in.wordChars ('[', '`'); // ASCII range 91 to 96
- in.wordChars ('{', '~'); // ASCII range 123 to 126
- in.quoteChar ('\"');
- in.commentChar ('#');
- in.eolIsSignificant(true);
- in.lowerCaseMode(false);
-
- Vector strs = new Vector();
- int lineNumber = 1;
-
- while (in.nextToken () != StreamTokenizer.TT_EOF) {
-
- if (in.ttype == StreamTokenizer.TT_EOL) {
-
- String command = ((String)strs.elementAt(COMMAND_NAME)).toLowerCase();
- String name = (String)strs.elementAt(SERVICE_NAME);
-
- if (strs.size() == 2) {
- if (command.equals("remove"))
- ServiceConfig.remove(name);
- else
- if (command.equals("suspend"))
- ServiceConfig.suspend(name);
- else
- if (command.equals("resume"))
- ServiceConfig.resume(name);
- } else {
-
- if (!command.equals("load"))
- throw new IOException ("Unknown command: " +
- command +
- " at line " +
- lineNumber);
-
- if (strs.size() < 5)
- throw new IOException ("Line " + lineNumber +
- " requires 5 values, not " +
- strs.size());
-
- // Type is currently unenforced since everything must descend
- // from Service anyway.
- //String type = (String)strs.elementAt (SERVICE_TYPE);
- String className = (String)strs.elementAt (CLASS_NAME);
-
- if (strs.size () > CODE_BASE) {
- try {
- String url = (String)strs.elementAt (CODE_BASE);
-
- ServiceConfig.loader_.addURLPath (url);
-
- } catch (MalformedURLException e) {
- ACE.ERROR("Bad code base on line " + lineNumber);
- }
- }
-
- ServiceConfig.load(name,
- className,
- (String)strs.elementAt(ARGS));
- }
-
- lineNumber++;
- strs.removeAllElements();
- continue;
- }
-
- // Skip over non-strings
- if ((in.ttype == StreamTokenizer.TT_WORD) ||
- (in.ttype == '\"'))
- strs.addElement(new String(in.sval));
- else
- ACE.DEBUG ("Invalid string on line " + lineNumber +
- " element " + strs.size() +
- " type " + in.ttype);
- }
-
- return 0;
- }
-
- /**
- * Close all services.
- */
- public static void close ()
- {
- ServiceConfig.svcRep_.close ();
- }
-
- /**
- * Return a reference to the ServiceLoader used to load
- * classes.
- *
- *@return ServiceLoader used internally by ServiceConfig.
- */
- public static ServiceLoader loader ()
- {
- return ServiceConfig.loader_;
- }
-
- /**
- * Specify the ServiceLoader to be used by ServiceConfig.
- *
- *@param loader ServiceLoader instance to use (should support remote
- * loading)
- */
- public static void loader (ServiceLoader loader)
- {
- ServiceConfig.loader_ = loader;
- }
-
- // Set by command line options
- private static boolean beADaemon_ = false;
-
- private static String serviceConfigFile_ = "svc.conf";
-
- private static ServiceRepository svcRep_ = new ServiceRepository ();
- private static ServiceLoader loader_ = new ServiceLoader ();
-
- // Order for the commands on a line in the config file
- private final static int COMMAND_NAME = 0;
- private final static int SERVICE_NAME = 1;
- private final static int CLASS_NAME = 2;
- private final static int SERVICE_TYPE = 3;
- private final static int ARGS = 4;
- private final static int CODE_BASE = 5;
-}
diff --git a/java/JACE/ServiceConfigurator/ServiceLoader.java b/java/JACE/ServiceConfigurator/ServiceLoader.java
deleted file mode 100644
index 75297f9631d..00000000000
--- a/java/JACE/ServiceConfigurator/ServiceLoader.java
+++ /dev/null
@@ -1,254 +0,0 @@
-/*************************************************
- *
- * = PACKAGE
- * JACE.ServiceConfigurator
- *
- * = FILENAME
- * ServiceLoader.java
- *
- * Implementation of a network-capable class loader
- *
- *@author Prashant Jain
- *@author Everett Anderson
- *
- *************************************************/
-package JACE.ServiceConfigurator;
-
-import java.io.*;
-import java.util.*;
-import java.net.*;
-import JACE.OS.*;
-import JACE.Misc.*;
-
-/**
- * ClassLoader that can load classes from across the network
- * via provided URL search paths, or from the local machine.
- * <P>
- * This operates in the same way as the JDK 1.2 ClassLoader by
- * first checking for preloaded classes, then trying to use the system
- * loader, and finally trying to load it via the network. The user can also
- * provide URL search paths, or explicitly call the loadClass method which
- * takes a URL.
- *
- *@see java.lang.ClassLoader
- *@see java.lang.Class
- */
-public class ServiceLoader extends ClassLoader
-{
- /**
- * Creates a loader that will only search the local machine for classes
- * until URL paths are registered via addURLPath.
- */
- public ServiceLoader ()
- {
- this.URLSearchPaths_ = new Vector();
- }
-
- /**
- * Creates a loader that will search the local machine followed by
- * this array of URL paths when loading classes. Note that additional
- * paths can be added later with the addURLPath method.
- *@param remotePaths array of URLs to search when loading classes, after
- *attempts to load from the local machine have failed
- */
- public ServiceLoader (URL remotePaths[])
- {
- this();
-
- if (remotePaths == null)
- return;
-
- for (int i = 0; i < remotePaths.length; i++)
- this.addURLPath(remotePaths[i]);
- }
-
- /**
- * Add the given URL to the list of URL paths to search when loading
- * classes.
- *@param url URL ending in '/' where classes can be found
- */
- public void addURLPath (URL url)
- {
- if (!URLSearchPaths_.contains(url))
- URLSearchPaths_.addElement(url);
- }
-
- /**
- * Add the given URL to the list of URL paths to search when loading
- * classes.
- *@param String representation of a URL ending in '/'
- *@exception MalformedURLException the given String wasn't a valid URL
- */
- public void addURLPath (String url) throws MalformedURLException
- {
- URL resource = new URL (url);
- this.addURLPath (resource);
- }
-
- /**
- * Tries to load the given class by following the example of JDK 1.2
- * ClassLoader. First check loaded classes, then try to use the system
- * loader, and only then perform the user defined subclass behavior
- * from findClass (in this case, it's searching over the network).
- *@param name name of the class to load
- *@param resolve whether or not to resolve the class
- *@exception ClassNotFoundException if the class could not be found
- *@return loaded Class instance
- */
- protected Class loadClass(String name,
- boolean resolve)
- throws ClassNotFoundException
- {
-
- Class c = null;
-
- // Has this class already been loaded once?
- c = findLoadedClass(name);
- if (c != null)
- return c;
-
- try {
-
- // Can the system loader find it?
- c = findSystemClass(name);
- return c;
-
- } catch (ClassNotFoundException e2) {
- // The system loader couldn't find it
- }
-
- // If none of the above, try searching our way
- return findClass(name);
- }
-
- /**
- * This should duplicate the behavior of this class in JDK 1.2. It is
- * called by the protected loadClass method after trying to load the
- * class in other ways. It simply calls loadClassData and then defines
- * the class.
- *@param name name of the class to load
- *@exception ClassNotFoundException couldn't find the class
- *@return loaded Class
- */
- protected Class findClass(String name) throws ClassNotFoundException
- {
- byte[] b = loadClassData(name);
- return defineClass(name, b, 0, b.length);
- }
-
- /**
- * Try loading a class with the given name, searching the remote
- * URL paths that have been registered. Note that this will only
- * be called after first checking to see if the class has already
- * been loaded, then checking to see whether or not the system
- * loader can find it.
- * <P>
- * This could be overriden by subclasses to define different
- * loading behavior.
- *
- *@param className name of the class (not file name) of the class to load
- *@exception ClassNotFoundException couldn't find the class
- *@return bytes of a .class file
- */
- private byte[] loadClassData(String className) throws ClassNotFoundException
- {
- byte data[] = null;
-
- // Try to load it by reading in the bytes from the net
- Enumeration e = URLSearchPaths_.elements();
-
- while (e.hasMoreElements())
- {
- try
- {
- URL path = (URL)e.nextElement();
- URL classFileURL;
-
- try
- {
- classFileURL = new URL(path.toExternalForm() +
- className +
- ".class");
- } catch (MalformedURLException ex) {
- ACE.ERROR("Bad URL: " + ex.getMessage());
- continue;
- }
-
- ACE.DEBUG("Looking for " + classFileURL.toExternalForm());
- URLConnection urlConnection = classFileURL.openConnection ();
-
- // Get the input stream associated with the URL connection and
- // pipe it to a newly created DataInputStream
- DataInputStream i = new DataInputStream
- (urlConnection.getInputStream ());
-
- // Allocate a buffer big enough to hold the contents of the
- // data we are about to read
- data = new byte [urlConnection.getContentLength ()];
-
- // Now read all the data into the buffer
- i.readFully (data);
-
- } catch (IOException ex) {
- // Either the URL wasn't there or we couldn't get the data
- continue;
- }
- }
-
- // Couldn't find it or it loaded improperly
- if (data == null)
- throw new ClassNotFoundException("Can't obtain " + className);
-
- return data;
- }
-
- /**
- * Load a class from across the network
- *
- * The newer way to do this is similar to JDK 1.2 URLClassLoader:
- * Add URLs that end in '/' via the addURLPath method
- * Call loadClass (class name without .class extension) method
- *
- *@param url URL of the class to load
- *@exception ClassNotFoundException Couldn't find the class
- *@return loaded Class
- */
- public Class loadClass (URL url) throws ClassNotFoundException
- {
- // Extract the name of the class from the URL
- String URLPath = url.getFile();
-
- // Get the class name by removing any directory information
- int idx = URLPath.lastIndexOf("/");
- if (idx == -1)
- throw new ClassNotFoundException("Can't find " + URLPath);
- String className = URLPath.substring(idx + 1);
- URLPath = URLPath.substring(0, idx + 1);
-
- // Get rid of the class suffix
- idx = className.lastIndexOf(".class");
- if (idx != -1)
- className = className.substring(0, idx);
-
- ACE.DEBUG("The name of the class about to load is " + className);
-
- try {
- // Add the URL to the list of URL search paths
- URL path = new URL(URLPath);
-
- this.addURLPath(path);
-
- } catch (MalformedURLException e) {
- throw new ClassNotFoundException("Can't find " + URLPath);
- }
-
- // Try to load the class
- return loadClass(className);
- }
-
- /**
- * Collection of URLs which end in the HTTP path separator. Used
- * for searching for classes across the network.
- */
- protected Vector URLSearchPaths_;
-}
diff --git a/java/JACE/ServiceConfigurator/ServiceObject.java b/java/JACE/ServiceConfigurator/ServiceObject.java
deleted file mode 100644
index 4538698e8a6..00000000000
--- a/java/JACE/ServiceConfigurator/ServiceObject.java
+++ /dev/null
@@ -1,130 +0,0 @@
-/*************************************************
- *
- * = PACKAGE
- * JACE.ServiceConfigurator
- *
- * = FILENAME
- * ServiceObject.java
- *
- *@author Prashant Jain
- *@author Everett Anderson
- *
- *************************************************/
-package JACE.ServiceConfigurator;
-
-import java.io.*;
-import JACE.ASX.*;
-import JACE.Reactor.*;
-
-/**
- * Provides a default implementation of the Service interface, and can also
- * be registered with the Reactor.
- *
- *@see JACE.Reactor
- *@see Service
- */
-public class ServiceObject implements EventHandler, Service
-{
- /**
- * Initialize object when dynamic loading occurs. Overwrite this
- * method to do anything useful.
- *@return -1 (default implementation)
- */
- public int init (String [] args)
- {
- return -1;
- }
-
- /**
- * Terminate the object. Note that an object can not be explicitly
- * unloaded. Overwrite this method to do anything useful.
- *@return -1 (default implementation)
- */
- public int fini ()
- {
- return -1;
- }
-
- /**
- * Get information on an active object. Overwrite this method to do
- * anything useful.
- *@return null (default implementation)
- */
- public String info ()
- {
- return null;
- }
-
- /**
- * Called when timer expires. Overwrite this method to do
- * anything useful.
- *@param tv Time Value for when timer expired
- *@param obj An arbitrary object that was passed to the Timer Queue
- * (Asynchronous Completion Token)
- *@return -1
- */
- public int handleTimeout (TimeValue tv, Object obj)
- {
- return -1;
- }
-
- /**
- * Request that this service suspend activity. Overwrite this
- * method to do anything useful. Currently, this sets an internal
- * state variable to true.
- */
- public int suspend ()
- {
- this.suspended_ = true;
-
- return 0;
- }
-
- /**
- * Request that this service resume activity. Currently, this sets
- * an internal state variable to false.
- */
- public int resume ()
- {
- this.suspended_ = false;
-
- return 0;
- }
-
- /**
- * Is this service suspended?
- */
- public boolean suspended ()
- {
- return this.suspended_;
- }
-
- /**
- * Return the name of the Service. Implementation provided.
- */
- public String name ()
- {
- return this.name_;
- }
-
- /**
- * Set the name of the Service. Should be called when a Service is
- * created -- this is done automatically by ServiceConfig when loading
- * from a file. Implementation provided.
- */
- public void name (String name)
- {
- this.name_ = name;
- }
-
- /**
- * Name of this ServiceObject.
- */
- protected String name_ = null;
-
- /**
- * Status of whether this ServiceObject is suspended or not.
- * (Initially false)
- */
- protected boolean suspended_ = false;
-}
diff --git a/java/JACE/ServiceConfigurator/ServiceRepository.java b/java/JACE/ServiceConfigurator/ServiceRepository.java
deleted file mode 100644
index 33f9a088077..00000000000
--- a/java/JACE/ServiceConfigurator/ServiceRepository.java
+++ /dev/null
@@ -1,274 +0,0 @@
-/*************************************************
- *
- * = PACKAGE
- * JACE.ServiceConfigurator
- *
- * = FILENAME
- * ServiceRepository.java
- *
- * The service repository stores the network services, allowing them to be
- * removed, suspended, resumed, etc.
- *
- *@see JACE.ServiceConfigurator.ServiceConfig;
- *@see JACE.ServiceConfigurator.Service;
- *
- *@author Everett Anderson
- *
- *************************************************/
-package JACE.ServiceConfigurator;
-
-import java.io.*;
-import java.util.*;
-
-/**
- * Stores Services, providing operations such as remove, suspend, resume, etc.
- */
-public class ServiceRepository
-{
- /**
- * Constructor
- */
- public ServiceRepository ()
- {
- this.serviceMap_ = new Hashtable ();
- this.serviceNames_ = new Vector ();
- }
-
- /**
- * Constructor
- *
- *@param initialSize Initial vector size for the repository
- */
- public ServiceRepository (int initialSize)
- {
- this.serviceMap_ = new Hashtable (initialSize);
- this.serviceNames_ = new Vector (initialSize);
- }
-
- /**
- * Shut down all the services, closing them in reverse order of insertion.
- * This calls fini on each service.
- *@return -1 on failure, 0 on sucess
- */
- public int close()
- {
- int result = 0;
-
- for (int i = this.size() - 1; i >= 0; i--) {
-
- String name = (String)this.serviceNames_.elementAt (i);
-
- Service s = (Service)this.serviceMap_.get (name);
-
- result = (s.fini () == -1 ? -1 : result);
- }
-
- this.serviceMap_.clear ();
- this.serviceNames_.removeAllElements ();
-
- return result;
- }
-
- /**
- * Insert a Service into the repository.
- * (If already in, calls fini() and replaces)
- *
- *@param service Service to add
- */
- public void insert (Service service)
- {
- String name = service.name ();
- Service alreadyIn = this.find (name);
-
- if (alreadyIn != null) {
-
- alreadyIn.fini ();
- this.remove (alreadyIn);
-
- } else {
-
- this.serviceMap_.put (name, service);
- this.serviceNames_.addElement (name);
-
- }
- }
-
- /**
- * Returns an enumeration of all the Service objects.
- *
- */
- public Enumeration services ()
- {
- return this.serviceMap_.elements ();
- }
-
- /**
- * Returns an enumeration of all the Service names
- */
- public Enumeration serviceNames ()
- {
- return this.serviceMap_.keys ();
- }
-
- /**
- * Convenience method that returns null when the service isn't
- * found.
- */
- public Service find (String name)
- {
- Object serviceObj = this.serviceMap_.get (name);
-
- if (serviceObj == null)
- return null;
-
- return (Service)serviceObj;
- }
-
- /**
- * Finds the Service associated with a given
- * name.
- *
- *@param name Name of the service to find
- *@exception NoSuchElementException if the given service is not found
- */
- protected Service findService (String name) throws NoSuchElementException
- {
- Object serviceObj = this.serviceMap_.get (name);
-
- if (serviceObj == null)
- throw new NoSuchElementException ("Service " + name + " not found.");
-
- return (Service)serviceObj;
- }
-
- /**
- * Removes the given Service and calls its fini () method.
- *@param service Service to remove
- *@return -1 on failure, 0 on success
- */
- protected int remove (Service service)
- {
- String name = service.name ();
-
- this.serviceMap_.remove (name);
-
- int index = this.serviceNames_.indexOf (name);
-
- this.serviceNames_.removeElementAt (index);
-
- return service.fini ();
- }
-
- /**
- * Shut down the specified Service.
- *
- *@param name name of the Service to shut down
- *@return -1 on failure, 0 on success
- */
- public int fini (String name)
- {
- Service service = this.findService (name);
-
- return service.fini ();
- }
-
- /**
- * Remove the specified Service, calling its fini () method.
- *
- *@param name name of the Service to remove
- *@return -1 on failure, 0 on success
- */
- public int remove (String name)
- {
- Service service = this.findService (name);
-
- return this.remove (service);
- }
-
- /**
- * Resume a suspended service
- *@param name Name of the service to resume
- *@return -1 on failure, 0 on success
- */
- public int resume (String name)
- {
- Service service = this.findService (name);
-
- return service.resume();
- }
-
- /**
- * Suspend a service
- *@param name Name of the service to suspend
- *@return -1 on failure, 0 on success
- */
- public int suspend (String name)
- {
- Service service = this.findService (name);
-
- if (service.suspended ())
- return 0;
-
- return service.suspend ();
- }
-
- /**
- * Returns status information about the specified Service.
- *
- *@param name name of the Service to query
- *@return String of information about the Service's status
- */
- public String info (String name)
- {
- Service service = this.findService (name);
-
- return service.info ();
- }
-
- /**
- * Check to see if the specified Service is suspended or not
- */
- public boolean suspended (String name)
- {
- Service service = this.findService (name);
-
- return service.suspended ();
- }
-
- /**
- * Initialize the specified Service with the given command
- * line arguments.
- */
- public int init (String name, String [] args)
- {
- Service service = this.findService (name);
-
- return service.init (args);
- }
-
- /**
- * Returns the number of items in the repository
- */
- public int size ()
- {
- return this.serviceNames_.size();
- }
-
- /**
- * Stores the Service names in order of insertion
- */
- Vector serviceNames_;
-
- /**
- * A mapping between Service names and Service objects
- */
- Hashtable serviceMap_;
-};
-
-
-
-
-
-
-
-
diff --git a/java/JACE/ServiceConfigurator/package.html b/java/JACE/ServiceConfigurator/package.html
deleted file mode 100644
index 2092fc34f5a..00000000000
--- a/java/JACE/ServiceConfigurator/package.html
+++ /dev/null
@@ -1,10 +0,0 @@
-<!-- $Id$ -->
-<HTML>
-<BODY>
-Point for loading and managing services.
-<P>
-See also:
-<a href="http://www.cs.wustl.edu/~schmidt/ACE-papers.html#config">
-Documents on the ACE Service Configurator</a>
-</BODY>
-</HTML>
diff --git a/java/JACE/Timers/ProfileTimer.java b/java/JACE/Timers/ProfileTimer.java
deleted file mode 100644
index 210d8887907..00000000000
--- a/java/JACE/Timers/ProfileTimer.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/*************************************************
- *
- * = PACKAGE
- * JACE.Timers
- *
- * = FILENAME
- * ProfileTimer.java
- *
- *@author Prashant Jain
- *
- *************************************************/
-package JACE.Timers;
-
-/**
- * A Java wrapper for interval timers.
- */
-public class ProfileTimer
-{
- /**
- * Start the timer.
- */
- public void start ()
- {
- this.startTime_ = java.lang.System.currentTimeMillis ();
- }
-
- /**
- * Stop the timer.
- */
- public void stop ()
- {
- this.stopTime_ = java.lang.System.currentTimeMillis ();
- }
-
- /**
- * Determine elapsed time between start and stop.
- *@return Total elapsed time (stop - start).
- */
- public long elapsedTime ()
- {
- return this.stopTime_ - this.startTime_;
- }
-
- private long startTime_;
- private long stopTime_;
-}
diff --git a/java/JACE/Timers/package.html b/java/JACE/Timers/package.html
deleted file mode 100644
index 4aa67ec1fd6..00000000000
--- a/java/JACE/Timers/package.html
+++ /dev/null
@@ -1,8 +0,0 @@
-<!-- $Id$ -->
-<HTML>
-<BODY>
-Time related classes.
-
-@see JACE.ASX.TimeValue
-</BODY>
-</HTML>
diff --git a/java/JACE/makebat.zip b/java/JACE/makebat.zip
deleted file mode 100644
index a05c72f274e..00000000000
--- a/java/JACE/makebat.zip
+++ /dev/null
Binary files differ
diff --git a/java/JACE/netsvcs/Handler.java b/java/JACE/netsvcs/Handler.java
deleted file mode 100644
index 7bf73f01206..00000000000
--- a/java/JACE/netsvcs/Handler.java
+++ /dev/null
@@ -1,185 +0,0 @@
-package JACE.netsvcs;
-
-import java.io.*;
-import java.net.*;
-import JACE.OS.*;
-import JACE.Connection.*;
-
-/**
- * Abstract class representing a handler for a Server. Provides
- * default implementations and template methods.
- *
- *@see Server
- *@author Everett Anderson
- */
-public abstract class Handler extends SvcHandler
-{
- /**
- * Initialize this Handler. The default implementation sets the
- * done flag to false.
- *
- *@return -1 on failure, 0 on success
- */
- public int open (Object obj)
- {
- done_ = false;
- return 0;
- }
-
- /**
- * Shut down this handler. Default implementation calls close ().
- */
- public int close (long flags)
- {
- return close ();
- }
-
- /**
- * Shut down this handler, setting the done flag, and removing it
- * from the parent Server's handler list.
- */
- public synchronized int close ()
- {
- if (!done ()) {
- try {
- done_ = true;
- parent_.removeHandler (this);
- peer ().close ();
- } catch (IOException e) {
- return -1;
- }
- }
-
- return 0;
- }
-
- /**
- * Returns the name of the host that is connected to this handler,
- * or null if not connected.
- */
- public String hostName ()
- {
- if (done ())
- return null;
- else
- return this.peer().socket().getInetAddress().getHostName();
- }
-
- /**
- * Process a single request and handle any errors. The default
- * implementation calls handleRequest with an Object from
- * newRequest ().
- */
- public void handleRequest ()
- {
- handleRequest (newRequest ());
- }
-
- /**
- * Process a single request and handle any errors. The default
- * implementation calls processRequest with the given request
- * Object, and then handles exceptions appropriately. Subclasses
- * normally just implement processRequest rather than override
- * this method.
- *
- *@param request request to process
- */
- public void handleRequest (Object request)
- {
- try {
-
- processRequest (request);
-
- } catch (NullPointerException e) {
- if (!done ()) {
- ACE.ERROR("Failure: " + e);
- close ();
- }
- } catch (SocketException e) {
- if (!done ()) {
- ACE.DEBUG (hostName () + " disconnected");
- close ();
- }
- } catch (EOFException e) {
- if (!done ()) {
- ACE.DEBUG (hostName () + " disconnected");
- close ();
- }
- } catch (IOException e) {
- if (!done ()) {
- ACE.ERROR ("Lost connection: " + e);
- close ();
- }
- }
- }
-
- /**
- * Process a single request (including reading it from the wire)
- * without handling errors. Subclasses must define the behavior.
- *
- *@param requestObject request to process
- *@exception SocketException problem with the socket
- *@exception EOFException end of connection,
- * usually means client disconnected
- *@exception IOException error during transmission
- */
- protected abstract void processRequest (Object requestObject)
- throws SocketException, EOFException, IOException;
-
- /**
- * Returns a new instance of a request object. Subclasses must
- * define the behavior.
- */
- public abstract Object newRequest ();
-
- /**
- * Called by the JVM when a Handler is run in its own Thread. The
- * default implementation creates a single request object which is
- * reused during multiple handleRequest calls. The loop exits
- * when the Handler's done() method returns true.
- */
- public void run()
- {
- Object request = newRequest ();
-
- while (!done ())
- handleRequest (request);
-
- close ();
- }
-
- /**
- * Set the Server parent of this Handler.
- */
- public void parent (Server parent)
- {
- parent_ = parent;
- }
-
- /**
- * Return the Server parent of this Handler.
- */
- public Server parent ()
- {
- return parent_;
- }
-
- /**
- * Check to see if this Handler should shut down.
- */
- protected synchronized boolean done ()
- {
- return done_;
- }
-
- /**
- * Closes the handler, freeing resources.
- */
- protected void finalize () throws Throwable
- {
- close ();
- }
-
- private boolean done_ = true;
- private Server parent_;
-}
diff --git a/java/JACE/netsvcs/Logger/LogRecord.java b/java/JACE/netsvcs/Logger/LogRecord.java
deleted file mode 100644
index 972cf45af74..00000000000
--- a/java/JACE/netsvcs/Logger/LogRecord.java
+++ /dev/null
@@ -1,290 +0,0 @@
-/*************************************************
- *
- * = PACKAGE
- * JACE.netsvcs.Logger
- *
- * = FILENAME
- * LogRecord.java
- *
- *@author Chris Cleeland, Everett Anderson
- *
- *************************************************/
-package JACE.netsvcs.Logger;
-
-import java.util.*;
-import java.io.*;
-import JACE.OS.*;
-
-/**
- * Communicates logging information. Compatible with the C++ ACE
- * ACE_Log_Record class.
- */
-public class LogRecord
-{
- /**
- * Maximum size of a LogRecord
- */
- final public int MAXLOGMSGLEN = 4 * 1024;
-
- private int type_;
- private int length_;
- private long msec_;
- private int pid_;
- private byte[] msgData_;
- private final static int numIntMembers = 5;
- private final static int sizeofIntInBytes = 4;
-
- /**
- * Create a default instance.
- */
- public LogRecord()
- {
- type(0);
- timeStamp((int)new Date().getTime());
- length(0);
- pid(0);
- }
-
- /**
- * Create a LogRecord. This is the designated initializer.
- * @param priority a numeric specification of the priority (ascending)
- * @param milliseconds time attached to the log entry in Unix <pre>time_t</pre> format
- * @param pid the process ID
- */
- public LogRecord(int priority,
- long milliseconds,
- int pid)
- {
- type(priority);
- timeStamp(milliseconds);
- length(0);
- pid(pid);
- }
-
- /**
- * Create a LogRecord with the current time and the given message.
- *
- *@param message message to log
- */
- public LogRecord (String message)
- {
- this ();
-
- msgData (message);
- }
-
- /**
- * Conversion to string. Only includes the <pre>msgData_</pre> member.
- */
- public String toString()
- {
- String result = null;
- try {
- result = new String (msgData_,
- "US-ASCII");
- } catch (UnsupportedEncodingException e) {
- result = new String (msgData_);
- }
-
- return result;
- }
-
- /**
- * Place a textual representation of the record on a PrintStream.
- * When verbose is specified to be true, the output takes the form
- * <PRE>(Date)@(host name)@(PID)@(type)@(message)</PRE>
- * Otherwise it just prints the message.
- * @param hostname name of the host generating this record
- * @param verbose specify how much information to print (see above)
- * @param ps A PrintStream instance to which the output should go.
- */
- public void print(String hostname,
- boolean verbose,
- PrintStream ps)
- {
- String toprint;
- if (verbose)
- {
- Date now = new Date(this.timeStamp());
-
- /* 01234567890123456789012345 */
- /* Wed Oct 18 14:25:36 1989n0 */
- toprint = now.toString().substring(4) + "@"
- + hostname + "@" + pid_ + "@" + type_ + "@"
- + this.toString();
- }
- else
- {
- toprint = this.toString();
- }
- ps.println(toprint);
- }
-
- /**
- * Read in the data for this LogRecord from the given InputStream.
- *
- *@param is InputStream to read from
- *@exception IOException error during transmission
- */
- public void streamInFrom (InputStream is) throws IOException
- {
- BufferedInputStream bis = new BufferedInputStream (is);
-
- DataInputStream dis = new DataInputStream (bis);
-
- streamInFrom (dis);
- }
-
- /**
- * Read in the data for this LogRecord from the given DataInputStream.
- *
- *@param dis DataInputStream to read from
- *@exception IOException error during transmission
- */
- public void streamInFrom(DataInputStream dis) throws IOException
- {
- // Order here must match layout order in the C++ class.
- length(dis.readInt());
- type(dis.readInt());
- this.timeStamp((long)dis.readInt() * 1000);
-
- // Skip smaller time resolution info since we're lucky if Java's
- // timer can handle more than millisecond precision, anyway
- dis.skipBytes(4);
-
- pid(dis.readInt());
-
- int dataLength = (int) (length_ - numIntMembers * sizeofIntInBytes);
-
- msgData_ = new byte[dataLength];
-
- dis.readFully(msgData_, 0, dataLength);
- }
-
- /**
- * Write this LogRecord out to the given OutputStream.
- *
- *@param os OutputStream to write to
- *@exception IOException error during transmission
- */
- public void streamOutTo (OutputStream os) throws IOException
- {
- BufferedOutputStream bos = new BufferedOutputStream (os);
-
- DataOutputStream dos = new DataOutputStream (bos);
-
- streamOutTo (dos);
- }
-
- /**
- * Write this LogRecord out to the given DataOutputStream.
- *
- *@param dos OutputStream to write to
- *@exception IOException error during transmission
- */
- public void streamOutTo(DataOutputStream dos) throws IOException
- {
- dos.writeInt(length());
- dos.writeInt(type());
- dos.writeInt((int)(this.msec_ / 1000));
- dos.writeInt(0);
- dos.writeInt(pid());
-
- dos.write(msgData_);
-
- dos.flush ();
- }
-
- /**
- * Return the LogRecord type.
- */
- public int type() { return type_; }
-
- /**
- * Set the LogRecord type.
- */
- public void type(int t) { type_ = t; }
-
- /**
- * Return the length of this LogRecord.
- */
- public int length() { return length_; }
-
- /**
- * Set the length of this LogRecord.
- */
- public void length(int l) { length_ = l; }
-
- /**
- * Calculate the length of this LogRecord from the size of
- * the message and the header.
- */
- private void setLen(int msgLen)
- { length(msgLen + numIntMembers * sizeofIntInBytes); }
-
- /**
- * Return the millisec time stamp of this LogRecord.
- */
- public long timeStamp() { return this.msec_; }
-
- /**
- * Set the millisec time stamp of this LogRecord.
- */
- public void timeStamp(long msec){ this.msec_ = msec; }
-
- /**
- * Return the PID of this LogRecord.
- */
- public int pid() { return pid_; }
-
- /**
- * Set the PID of this LogRecord.
- */
- public void pid(int p) { pid_ = p; }
-
- /**
- * Return the message of this LogRecord as a byte array.
- */
- public byte[] msgData() { return msgData_; }
-
- /**
- * Set the message of this LogRecord to a given byte array.
- */
- public void msgData(byte[] m)
- {
- int size = m.length;
-
- if (size > MAXLOGMSGLEN)
- size = MAXLOGMSGLEN;
-
- this.msgData_ = new byte[size];
-
- System.arraycopy(m, 0, msgData_, 0, size);
-
- setLen(size);
- }
-
- /**
- * Set the message of this LogRecord to a given byte array. First
- * tries to use US-ASCII encoding, then uses the default encoding
- * if that fails. The toString method is essentially the opposite
- * version.
- */
- public void msgData(String m)
- {
- byte temp[] = null;
- try {
- temp = m.getBytes("US-ASCII");
- } catch (UnsupportedEncodingException e) {
- temp = m.getBytes ();
- }
- if (temp.length > MAXLOGMSGLEN) {
- this.msgData_ = new byte[MAXLOGMSGLEN];
-
- System.arraycopy(temp, 0, msgData_, 0, MAXLOGMSGLEN);
- } else
- this.msgData_ = temp;
-
- setLen(msgData_.length);
- }
-}
diff --git a/java/JACE/netsvcs/Logger/LoggingStrategy.java b/java/JACE/netsvcs/Logger/LoggingStrategy.java
deleted file mode 100644
index b7912499385..00000000000
--- a/java/JACE/netsvcs/Logger/LoggingStrategy.java
+++ /dev/null
@@ -1,35 +0,0 @@
-/*************************************************
- *
- * = PACKAGE
- * netsvcs.Logger
- *
- * = FILENAME
- * LogMessageReceiver.java
- *
- *@author Everett Anderson
- *
- *************************************************/
-package JACE.netsvcs.Logger;
-
-import java.io.*;
-
-/**
- * Encapsulates the handling of a LogRecord from a given host, allowing
- * easy swapping of behavior in the logging service. Strategies could
- * be developed to save to a file, print on a certain stream, forward
- * to another service, etc.
- *
- *@see StderrStrategy
- *@see LogRecord
- */
-public interface LoggingStrategy
-{
- /**
- * Process the given LogRecord.
- *
- *@param hostname host from which this LogRecord originated
- *@param record LogRecord instance to process
- */
- public void logRecord (String hostname,
- LogRecord record);
-}
diff --git a/java/JACE/netsvcs/Logger/ServerLoggingAcceptor.java b/java/JACE/netsvcs/Logger/ServerLoggingAcceptor.java
deleted file mode 100644
index c0ef8831fc6..00000000000
--- a/java/JACE/netsvcs/Logger/ServerLoggingAcceptor.java
+++ /dev/null
@@ -1,147 +0,0 @@
-package JACE.netsvcs.Logger;
-
-import java.util.*;
-import java.io.*;
-import java.net.*;
-import JACE.SOCK_SAP.*;
-import JACE.Connection.*;
-import JACE.OS.*;
-import JACE.Misc.*;
-import JACE.netsvcs.Server;
-
-/**
- * Server for the logging service. Sets the default logging strategy
- * to StderrStrategy so that logging requests are printed on the
- * System.err stream. Other strategies can be specified on the
- * command line.
- * <P>
- * <B>Valid command line arguments:</B>
- * <PRE>
- * -r (class name) Specify a LoggingStrategy
- * (Default is StdErrStrategy)
- * -p (port) Port to listen on for clients
- * -d Enable debugging messages
- * -a (class name) Specify ActivateStrategy
- * (Default is thread per connection)
- * </PRE>
- *
- *@see LoggingStrategy
- *@see StderrStrategy
- */
-public class ServerLoggingAcceptor extends Server
-{
- /**
- * Default constructor. Sets the default LoggingStrategy to
- * StderrStrategy.
- */
- public ServerLoggingAcceptor ()
- {
- name ("Logging Service");
- logStrategy_ = new StderrStrategy ();
- }
-
- /**
- * Simple main program for running the logging service without the
- * service configurator.
- *
- *@param args command line arguments
- */
- public static void main (String [] args)
- {
- ServerLoggingAcceptor sla = new ServerLoggingAcceptor();
-
- sla.init(args);
- }
-
- /**
- * Accessor for the LoggingStrategy
- */
- public LoggingStrategy loggingStrategy ()
- {
- return this.logStrategy_;
- }
-
- /**
- * Creates a new ServerLoggingHandler instance.
- */
- protected SvcHandler makeSvcHandler ()
- {
- return new ServerLoggingHandler ();
- }
-
- /**
- * Prints out the valid command line arguments. See the class
- * description for more information. Called by Server.init when
- * parseArgs returns -1.
- */
- protected void printUsage ()
- {
- ACE.ERROR ("Valid options:\n");
- ACE.ERROR ("-r <class name> Specify a LoggingStrategy");
- ACE.ERROR (" (Default is StdErrStrategy");
- ACE.ERROR ("-p <port> Port to listen on for clients");
- ACE.ERROR ("-d Enable debugging messages");
- ACE.ERROR ("-a <class name> Specify ActivateStrategy");
- ACE.ERROR (" (Default is single threaded");
- }
-
- /**
- * Parses the command line arguments. See the class description
- * for more information.
- *
- *@param args command line arguments
- *@return -1 on failure, 0 on success
- */
- protected int parseArgs (String args[])
- {
- String s;
- Object strategy;
- GetOpt opt = new GetOpt (args, "p:r:da:", true);
- int c = 0;
-
- try {
-
- while ((c = opt.next ()) != -1)
- {
- switch (c)
- {
- case 'd':
- ACE.enableDebugging ();
- ACE.DEBUG ("Debugging is enabled");
- break;
- case 'p':
- if (!port (opt.optarg ()))
- return -1;
- break;
- case 'a':
- strategy = newStrategyInstance (opt.optarg (),
- "ActivateStrategy");
- if (strategy == null)
- return -1;
-
- activateStrategy ((ActivateStrategy) strategy);
- break;
- case 'r':
- // Load the Strategy with the given name
- strategy = newStrategyInstance (opt.optarg (),
- "LoggingStrategy");
- if (strategy == null)
- return -1;
-
- logStrategy_ = (LoggingStrategy)strategy;
- break;
- default:
- ACE.ERROR ("Unknown argument: " + c);
- return -1;
- }
- }
- } catch (ArrayIndexOutOfBoundsException e) {
- ACE.ERROR ("Option -" + (char)c + " requires an argument");
- return -1;
- }
-
- return 0;
- }
-
- private LoggingStrategy logStrategy_;
-}
diff --git a/java/JACE/netsvcs/Logger/ServerLoggingHandler.java b/java/JACE/netsvcs/Logger/ServerLoggingHandler.java
deleted file mode 100644
index 88a564c2c34..00000000000
--- a/java/JACE/netsvcs/Logger/ServerLoggingHandler.java
+++ /dev/null
@@ -1,60 +0,0 @@
-/*************************************************
- *
- * = PACKAGE
- * netsvcs.Logger
- *
- * = FILENAME
- * ServerLoggingHandler.java
- *
- *@author Everett Anderson
- *
- *************************************************/
-package JACE.netsvcs.Logger;
-
-import java.io.*;
-import java.util.*;
-import java.net.*;
-import JACE.SOCK_SAP.*;
-import JACE.Connection.*;
-import JACE.OS.*;
-import JACE.netsvcs.Handler;
-
-/**
- *
- * Created by ServerLoggingAcceptor to handle logging requests. This
- * simply reads the record and hands it to the registered LoggingStrategy.
- *
- * @see JACE.netsvcs.Logger.ServerLoggingAcceptor
- */
-public class ServerLoggingHandler extends Handler
-{
- /**
- * Reads in the given LogRecord request and hands it to the
- * LoggingStrategy registered with the ServerLoggingAcceptor parent.
- *
- *@param request LogRecord instance to use
- */
- public void processRequest (Object request)
- throws SocketException, EOFException, IOException
- {
- LogRecord rec = (LogRecord)request;
-
- rec.streamInFrom (this.peer ().dataInputStream ());
-
- ServerLoggingAcceptor parent = (ServerLoggingAcceptor)parent ();
-
- parent.loggingStrategy ().logRecord (this.hostName (), rec);
- }
-
- /**
- * Creates a new instance of LogRecord.
- */
- public Object newRequest ()
- {
- return new LogRecord ();
- }
-}
-
-
-
-
diff --git a/java/JACE/netsvcs/Logger/StderrStrategy.java b/java/JACE/netsvcs/Logger/StderrStrategy.java
deleted file mode 100644
index ee927e19062..00000000000
--- a/java/JACE/netsvcs/Logger/StderrStrategy.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/*************************************************
- *
- * = PACKAGE
- * netsvcs.Logger
- *
- * = FILENAME
- * DefaultLMR.java
- *
- *
- *@author Everett Anderson
- *
- *************************************************/
-package JACE.netsvcs.Logger;
-
-import java.io.*;
-
-/**
- * Default LoggingStrategy for the logging service. This prints out the
- * LogRecord on the System.err stream.
- *
- * @see JACE.netsvcs.Logger.LogRecord
- */
-public class StderrStrategy implements LoggingStrategy
-{
- /**
- * Process the given LogRecord by printing it on the System.err stream.
- *
- *@param hostname host from which this LogRecord originated
- *@param record LogRecord instance to process
- */
- public void logRecord (String hostname,
- LogRecord record)
- {
- record.print(hostname, true, System.err);
- }
-}
diff --git a/java/JACE/netsvcs/Logger/c.bat b/java/JACE/netsvcs/Logger/c.bat
deleted file mode 100644
index 6600766df1d..00000000000
--- a/java/JACE/netsvcs/Logger/c.bat
+++ /dev/null
@@ -1,2 +0,0 @@
-@echo off
-javac -d C:\Everett\JACE\classes *.java
diff --git a/java/JACE/netsvcs/Logger/package.html b/java/JACE/netsvcs/Logger/package.html
deleted file mode 100644
index 84bffb246d9..00000000000
--- a/java/JACE/netsvcs/Logger/package.html
+++ /dev/null
@@ -1,17 +0,0 @@
-<!-- $Id$ -->
-<HTML>
-<BODY>
-Logging Service for processing logging records received from remote hosts.
-<P>
-The strategy for how to process the records can be easily changed via the
-command line.
-<P>
-A simple test client is available in the tests directory under netsvcs\Logger.
-The service itself can either be run on the command line (by running
-ServerLoggingAcceptor) or by loading it with a ServiceConfig file (see
-the tests for the service configurator).
-
-@see JACE.netsvcs.Logger.LoggingStrategy
-@see <a href="http://www.cs.wustl.edu/~schmidt/ACE-netsvcs.html">ACE Network Services</a>
-</BODY>
-</HTML>
diff --git a/java/JACE/netsvcs/Naming/NameAcceptor.java b/java/JACE/netsvcs/Naming/NameAcceptor.java
deleted file mode 100644
index 7e7be457d70..00000000000
--- a/java/JACE/netsvcs/Naming/NameAcceptor.java
+++ /dev/null
@@ -1,313 +0,0 @@
-/*************************************************
- *
- * = PACKAGE
- * netsvcs.Naming
- *
- * = FILENAME
- * NameAcceptor.java
- *
- *************************************************/
-package JACE.netsvcs.Naming;
-
-import java.io.*;
-import java.net.*;
-import java.util.*;
-import JACE.OS.*;
-import JACE.Misc.*;
-import JACE.Connection.*;
-import JACE.Reactor.*;
-import JACE.ASX.TimeValue;
-import JACE.netsvcs.Server;
-
-/**
- * Server for the naming service.
- * Listens on the specified port (command line option) and launches
- * NameHandlers when connections are made.
- * <P>
- * The hash table for the mapping and a timer queue are created here.
- * Periodically, if it has been changed, the mapping is saved to a file.
- * If the data file exists at load time, it is read from disk. Currently,
- * the service stores the entire mapping in one Hashtable (which is probably
- * kept in memory at all times).
- * <P>
- * <B>Valid command line arguments:</B>
- * <PRE>
- * -f (file name) File name of the database
- * (Default is namedata.dat)
- * -p (port number) Port to listen on for clients
- * -d Enable debugging
- * -t (time sec) How often to save the database (default 60 sec)
- * -a (class name) Specify ActivateStrategy
- * (Default is multi-threaded)
- * </PRE>
- *
- *@see NameHandler
- *
- *@author Everett Anderson
- *
- */
-public class NameAcceptor extends Server
-{
- /**
- * Constructor
- */
- public NameAcceptor ()
- {
- // Set the name in case we are not using the service
- // configurator
- name ("Naming Service");
-
- // Create the hash table and timer queue
- this.mapping_ = new Hashtable ();
- this.tq_ = new TimerQueue (true);
- }
-
- /**
- * Simple main program. See the class description for more
- * information about command line arguments.
- */
- public static void main (String [] args)
- {
- // Simple main program to get things rolling
- NameAcceptor na = new NameAcceptor();
-
- na.init(args);
- }
-
- /**
- * Check to see if the mapping has been modified since the last
- * save.
- */
- synchronized boolean modifiedMapping ()
- {
- return mappingWasModified_;
- }
-
- /**
- * Set the modified state of the mapping.
- */
- synchronized void modifiedMapping (boolean value)
- {
- mappingWasModified_ = value;
- }
-
- /**
- * Cancels the timer which was used to save the mapping, then delegates
- * to Server.fini ().
- *
- *@return -1 on failure, 0 on success
- */
- public int fini ()
- {
- if (!done () && tq_ != null)
- tq_.cancelTimer (this);
-
- return super.fini ();
- }
-
- /**
- * Read the data file (if it exists) and schedule a periodic timer
- * to save it at intervals. At the end, this delegates to
- * Server.initialize () (which currently sets the default
- * activation scheme if it wasn't defined on the command line).
- *
- *@see Server#initialize
- *@return -1 on failure, 0 on success
- */
- protected int initialize ()
- {
- this.loadTable ();
-
- this.tq_.scheduleTimer (this,
- null,
- new TimeValue (this.updateInterval_),
- new TimeValue (this.updateInterval_));
-
- // Use whatever default ActivateStrategy is defined in the
- // Server class (unless specified in parseArgs)
- return super.initialize ();
- }
-
- /**
- * Create a new NameHandler instance.
- */
- protected SvcHandler makeSvcHandler ()
- {
- return new NameHandler (mapping_);
- }
-
- /**
- * Prints out the valid command line arguments. See the class
- * description for more information. Called by Server.init when
- * parseArgs returns -1.
- */
- protected void printUsage ()
- {
- ACE.ERROR ("Valid options:\n");
- ACE.ERROR ("-f <file name> File name of the database");
- ACE.ERROR (" (Default is namedata.dat)");
- ACE.ERROR ("-p <port number> Port to listen on for clients");
- ACE.ERROR ("-d Enable debugging");
- ACE.ERROR ("-t <time sec> How often to save the database");
- ACE.ERROR (" (Default is 60 seconds)");
- ACE.ERROR ("-a <class name> Specify ActivateStrategy");
- ACE.ERROR (" (Default is multi-threaded");
- }
-
- /**
- * Parses the command line arguments. See the class description
- * for more information.
- *
- *@param args command line arguments
- *@return -1 on failure, 0 on success
- */
- protected int parseArgs (String [] args)
- {
- int c = 0;
- String s;
- GetOpt opt = new GetOpt (args, "p:f:t:da:", true);
-
- try {
-
- while ((c = opt.next ()) != -1) {
- switch (c)
- {
- case 'f':
- this.filename_ = opt.optarg ();
- break;
- case 't':
- try {
- this.updateInterval_ = Integer.parseInt (opt.optarg ());
- } catch (NumberFormatException e) {
- ACE.ERROR ("Invalid interval specified: " + e.getMessage ());
- return -1;
- }
- break;
- case 'd':
- ACE.enableDebugging ();
- ACE.DEBUG ("Debugging is enabled");
- break;
- case 'p':
- if (!port (opt.optarg ()))
- return -1;
- break;
- case 'a':
- Object strategy = newStrategyInstance (opt.optarg (),
- "ActivateStrategy");
- if (strategy == null)
- return -1;
-
- activateStrategy ((ActivateStrategy) strategy);
- break;
- default:
- ACE.ERROR ("Unknown argument: " + (char)c);
- return -1;
- }
- }
- } catch (ArrayIndexOutOfBoundsException e) {
- ACE.ERROR ("Option -" + (char)c + " requires an argument");
- return -1;
- }
-
- return 0;
- }
-
- /**
- * Loads the hash table into memory from the specified
- * file. Uses ObjectInputStream.
- */
- protected void loadTable ()
- {
- File file = new File(this.filename_);
- FileInputStream fis;
- ObjectInputStream ois;
-
- Hashtable ht = null;
-
- try {
-
- if ((file.exists()) && (file.canRead())) {
-
- fis = new FileInputStream (file);
-
- ois = new ObjectInputStream(fis);
-
- ht = (Hashtable)ois.readObject();
- } else
- return;
- } catch (ClassNotFoundException e) {
- ACE.ERROR(e);
- } catch (StreamCorruptedException e) {
- ACE.ERROR(e);
- } catch (SecurityException e) {
- ACE.ERROR(e);
- } catch (IOException e) {
- ACE.ERROR(e);
- }
-
- if (ht != null)
- this.mapping_ = ht;
-
- }
-
- /**
- * Writes the table out to the specified file if it has been modified.
- */
- protected void saveTable ()
- {
- if (!modifiedMapping ())
- return;
-
- FileOutputStream fos;
- ObjectOutputStream oos;
-
- try {
-
- fos = new FileOutputStream(this.filename_);
- oos = new ObjectOutputStream(fos);
-
- synchronized (this.mapping_) {
- oos.writeObject(this.mapping_);
-
- modifiedMapping (false);
- }
-
- oos.flush();
-
- oos.close();
-
- } catch (OptionalDataException e) {
- ACE.ERROR(e);
- } catch (NotSerializableException e) {
- ACE.ERROR(e);
- } catch (IOException e) {
- ACE.ERROR(e);
- }
- }
-
- /**
- * Call back for the TimerQueue. This calls the method to save the
- * hash table. The default time out is 60 seconds.
- */
- public int handleTimeout (TimeValue tv, Object obj)
- {
- this.saveTable();
-
- return 0;
- }
-
- // Mapping data structure
- Hashtable mapping_ = null;
-
- // Default file name
- String filename_ = "namedata.dat";
-
- // How often to save the table (seconds)
- int updateInterval_ = 60;
-
- // Calls handleTimeout at updateInterval_ intervals
- TimerQueue tq_ = null;
-
- boolean mappingWasModified_ = false;
-}
-
diff --git a/java/JACE/netsvcs/Naming/NameHandler.java b/java/JACE/netsvcs/Naming/NameHandler.java
deleted file mode 100644
index 9989e925543..00000000000
--- a/java/JACE/netsvcs/Naming/NameHandler.java
+++ /dev/null
@@ -1,473 +0,0 @@
-/*************************************************
- *
- * = PACKAGE
- * netsvcs.Naming
- *
- * = FILENAME
- * NameHandler.java
- *
- *************************************************/
-package JACE.netsvcs.Naming;
-
-import java.net.SocketException;
-import java.io.*;
-import java.util.*;
-import JACE.OS.*;
-import JACE.Connection.*;
-import JACE.Reactor.*;
-import JACE.SOCK_SAP.*;
-import JACE.netsvcs.Handler;
-
-/**
- * Handlers interaction between a client (NameProxy) and the naming
- * service database. Created by NameAcceptor to handle requests.
- * <P>
- * In general, the user binds a name to a (value, type) pair. The type is just
- * treated as just another String (in the C++ version the name and value are
- * arrays of 16 bit data types and the type is an array of 8 bit chars).
- * <P>
- * For this to work in the hash table scheme, the type and value are wrapped in
- * a ValueType class defined as a nested top level class within the
- * NameHandler.
- * <P>
- * This is compatible with the C++ ACE remote name service.
- *
- *@see JACE.netsvcs.Naming.NameAcceptor
- *@see JACE.netsvcs.Naming.NameRequest
- *@see JACE.netsvcs.Naming.NameReply
- *
- *@author Everett Anderson
- */
-public class NameHandler extends Handler
-{
- /**
- * Constructor
- *
- * @param mapping Hash table created in NameAcceptor
- */
- public NameHandler (Hashtable mapping)
- {
- this.mapping_ = mapping;
- }
-
- /**
- * Read in the given NameRequest and calls dispatch.
- */
- public void processRequest (Object request)
- throws SocketException, EOFException, IOException
- {
- NameRequest nameRequest = (NameRequest)request;
-
- nameRequest.streamInFrom (peer ().dataInputStream ());
-
- this.dispatch (nameRequest);
- }
-
- /**
- * Create a new instance of NameRequest.
- */
- public Object newRequest ()
- {
- return new NameRequest ();
- }
-
- /**
- * This is the point at which a request is sent to the various methods
- * that fulfill it. It switches on the request type -- bind,
- * rebind, resolve, etc.
- *
- *@param nameRequest The request to respond to
- */
- void dispatch (NameRequest nameRequest) throws IOException
- {
- NameAcceptor parent = (NameAcceptor)parent ();
-
- // Call the various other member functions based on the
- // message type of the request -- bind, rebind, etc.
- switch (nameRequest.requestType())
- {
- case NameRequest.BIND:
- this.bind(nameRequest, false);
- parent.modifiedMapping (true);
- break;
- case NameRequest.REBIND:
- this.bind(nameRequest, true);
- parent.modifiedMapping (true);
- break;
- case NameRequest.RESOLVE:
- this.resolve(nameRequest);
- break;
- case NameRequest.UNBIND:
- this.unbind(nameRequest);
- parent.modifiedMapping (true);
- break;
- case NameRequest.LIST_NAMES:
- this.listByName(nameRequest.name(), false);
- break;
- case NameRequest.LIST_VALUES:
- this.listByValue(nameRequest.name(), false);
- break;
- case NameRequest.LIST_TYPES:
- this.listByType(nameRequest.name(), false);
- break;
- case NameRequest.LIST_NAME_ENTRIES:
- this.listByName(nameRequest.name(), true);
- break;
- case NameRequest.LIST_VALUE_ENTRIES:
- this.listByValue(nameRequest.name(), true);
- break;
- case NameRequest.LIST_TYPE_ENTRIES:
- this.listByType(nameRequest.name(), true);
- break;
- default:
- ACE.ERROR("Unknown type: " + nameRequest.requestType());
-
- // Send a failure message. This will only work if the other
- // side is expecting something like a NameReply rather than
- // a NameRequest. It would've been better to have everything
- // use NameRequests to avoid this kind of thing.
- NameReply reply = new NameReply (NameReply.FAILURE, 0);
- reply.streamOutTo(peer ().dataOutputStream ());
- break;
- }
-
- }
-
- /**
- *
- * Bind a name and a (value, type) pair. All this data is given in the
- * NameRequest from the client. Returns a NameReply back to the client
- * with either Reply.SUCCESS or Reply.FAILURE as the type.
- *
- *@param request NameRequest given by the client
- *@param rebind Is this a rebind or not?
- */
- void bind (NameRequest request,
- boolean rebind) throws IOException
- {
- // The hash table entries consists of (String name, ValueType data)
- // pairs, so create the appropriate ValueType
- ValueType vt = new ValueType(request.type(),
- request.value());
-
- // Reply to tell sender of success or failure
- NameReply reply = new NameReply();
-
- // If it's a rebind request, overwrite the old entry. If the key doesn't
- // exist, add it. If it does exist and it's not a bind request, return
- // a failure code via a NameReply.
- if ((rebind) || (!this.mapping_.containsKey(request.name()))) {
-
- ACE.DEBUG ("Binding: " + request.name() + " and " + vt.value_);
-
- // Add/Update the entry in the hash table
- this.mapping_.put(request.name(), vt);
-
- // Set the reply code to success
- reply.type(NameReply.SUCCESS);
-
- } else {
-
- ACE.DEBUG ("Key " + request.name() + " already exists");
-
- // Set reply code to failure
- reply.type(NameReply.FAILURE);
-
- // reply error code unused as far as I know
- }
-
- reply.streamOutTo(peer ().dataOutputStream ());
- }
-
- /**
- * Given a name, this looks up and returns the type and value. This is
- * done by sending back a full NameRequest with the correct info. If
- * there is a problem, an "empty" NameRequest is returned -- it has no
- * name, type, or value fields.
- *
- *@param request NameRequest sent by the client (has the name to lookup)
- */
- void resolve (NameRequest request) throws IOException
- {
- // A NameRequest is also used in response
- NameRequest result;
-
- // If the requested name is in the hash table, return the data
- if (this.mapping_.containsKey(request.name())) {
-
- // Get the data pair based on the name
- ValueType vt = (ValueType)this.mapping_.get(request.name());
-
- ACE.DEBUG("Good resolve: " + vt.value_);
-
- // Fill the reply structure
- result = new NameRequest(NameRequest.RESOLVE,
- null,
- vt.value_,
- vt.type_,
- null);
-
- } else {
-
- // Otherwise return a null response
- result = new NameRequest(NameRequest.RESOLVE,
- null,
- null,
- null,
- null);
-
- }
-
- result.streamOutTo (peer ().dataOutputStream ());
- }
-
- /**
- *
- * Given a name, remove its entry in the mapping. Returns a NameReply
- * to the client with NameReply.SUCCESS or NameReply.FAILURE.
- *
- *@param request NameRequest from the client (has the name to remove)
- */
- void unbind (NameRequest request) throws IOException
- {
- NameReply reply = new NameReply();
-
- // If the given key isn't in the table, return an error
- // Otherwise remove it. Uses a NameReply to respond.
- if (!this.mapping_.containsKey(request.name()))
- reply.type(NameReply.FAILURE);
- else {
- this.mapping_.remove(request.name());
- reply.type(NameReply.SUCCESS);
- }
-
- // Send the reply out to the socket
- reply.streamOutTo (peer ().dataOutputStream ());
- }
-
- /**
- *
- * Given a pattern string (given in NameRequest's name field), this
- * finds all the entries in the mapping which have a name that begins with
- * the string. Each one is sent back separately via a NameRequest, and this
- * sequence is followed by a blank NameRequest.
- *
- *@param pattern Pattern to find (what result names should
- * begin with)
- *@param completeLookup Should the value and type be returned as well?
- */
- void listByName (String pattern,
- boolean completeLookup) throws IOException
- {
- // Get a listing of all the keys in the hash table
- Enumeration enum = this.mapping_.keys();
-
- // References used in the loop
- String name;
- ValueType vt;
-
- // A NameRequest is used to return each item corresponding to the pattern.
- NameRequest result =
- new NameRequest((completeLookup ? NameRequest.LIST_NAMES :
- NameRequest.LIST_NAME_ENTRIES),
- null,
- null,
- null,
- null);
-
- // Keep ourselves safe from null pointer exceptions
- if (pattern == null)
- pattern = new String("");
-
- // Scan through all the elements
- while (enum.hasMoreElements()) {
-
- // Get a key
- name = (String)enum.nextElement();
-
- // Does it fit the pattern?
- if (name.startsWith(pattern)) {
-
- // Set the result name
- result.name(name);
-
- // Only make another hash table request if the user
- // wants all the data
- if (completeLookup) {
-
- // Get data from the hash table
- vt = (ValueType)mapping_.get(name);
-
- // Set the rest of the data
- result.type(vt.type_);
- result.value(vt.value_);
- }
-
- // Send it to the socket
- result.streamOutTo (peer ().dataOutputStream ());
- }
- }
-
- // Send final null message
- result.name(null);
- result.type(null);
- result.value(null);
- result.requestType(NameRequest.MAX_ENUM);
- result.streamOutTo (peer ().dataOutputStream ());
- }
-
- /**
- *
- * Given a pattern string (given in NameRequest's name field), this
- * finds all the entries in the mapping which have a type that begins with
- * the string. Each one is sent back separately via a NameRequest, and this
- * sequence is followed by a blank NameRequest.
- *
- *@param pattern Pattern to find (what result types should
- * begin with)
- *@param completeLookup Should the value be returned as well? This is
- * only used to decide between LIST_TYPES and
- * LIST_TYPE_ENTRIES since we might as well send
- * back both if we look them up together.
- */
- void listByType (String pattern,
- boolean completeLookup) throws IOException
- {
- // Get a listing of all the keys in the hash table
- Enumeration enum = this.mapping_.keys();
-
- // References used in the loop
- String name;
- ValueType vt;
-
- // A NameRequest is used to return each item corresponding to the pattern.
- NameRequest result =
- new NameRequest((completeLookup ? NameRequest.LIST_TYPES :
- NameRequest.LIST_TYPE_ENTRIES),
- null,
- null,
- null,
- null);
- // Keep ourselves safe from null pointer exceptions
- if (pattern == null)
- pattern = new String("");
-
- // Scan through all the elements
- while (enum.hasMoreElements()) {
-
- // Get a key
- name = (String)enum.nextElement();
-
- // Have to get all the data for this entry to compare
- vt = (ValueType)mapping_.get(name);
-
- // Does it fit the pattern?
- if (vt.type_ != null)
- if (vt.type_.startsWith(pattern)) {
-
- // Set the result values
- result.name(name);
- result.type(vt.type_);
- result.value(vt.value_);
-
- // Send it out to the socket
- result.streamOutTo (peer ().dataOutputStream ());
- }
- }
-
- // Send final null message
- result.name(null);
- result.type(null);
- result.value(null);
- result.requestType(NameRequest.MAX_ENUM);
- result.streamOutTo (peer ().dataOutputStream ());
- }
- /**
- *
- * Given a pattern string (given in NameRequest's name field), this
- * finds all the entries in the mapping which have a value that begins with
- * the string. Each one is sent back separately via a NameRequest, and this
- * sequence is followed by a blank NameRequest.
- *
- *@param pattern Pattern to find (what result values should
- * begin with)
- *@param completeLookup Should the value be returned as well? This is
- * only used to decide between LIST_TYPES and
- * LIST_TYPE_ENTRIES since we might as well send
- * back both if we look them up together.
- */
- void listByValue (String pattern,
- boolean completeLookup) throws IOException
- {
- // Get a listing of all the keys in the hash table
- Enumeration enum = this.mapping_.keys();
-
- // References used in the loop
- String name;
- ValueType vt;
-
- // A NameRequest is used to return each item corresponding to the pattern.
- NameRequest result =
- new NameRequest((completeLookup ? NameRequest.LIST_VALUES :
- NameRequest.LIST_VALUE_ENTRIES),
- null,
- null,
- null,
- null);
- // Keep ourselves safe from null pointer exceptions
- if (pattern == null)
- pattern = new String("");
-
- // Scan through all the elements
- while (enum.hasMoreElements()) {
-
- // Get a key
- name = (String)enum.nextElement();
-
- // Have to get all the data for this entry to compare
- vt = (ValueType)mapping_.get(name);
-
- // Does it fit the pattern?
- if (vt.value_ != null)
- if (vt.value_.startsWith(pattern)) {
-
- // Set the result values
- result.name(name);
- result.type(vt.type_);
- result.value(vt.value_);
-
- // Send it out to the socket
- result.streamOutTo (peer ().dataOutputStream ());
- }
- }
-
- // Send final null message
- result.name(null);
- result.type(null);
- result.value(null);
- result.requestType(NameRequest.MAX_ENUM);
- result.streamOutTo (peer ().dataOutputStream ());
- }
-
- // References to the hash table and the timer queue
- private Hashtable mapping_;
-
- /**
- * A simple wrapper to keep the type and value together in
- * the hash table.
- */
- static class ValueType implements Serializable
- {
- /**
- * Constructor
- *
- *@param type Type string to include
- *@param value Value string to include
- */
- ValueType(String type, String value)
- { this.type_ = type; this.value_ = value; }
-
- public String type_;
- public String value_;
- }
-}
diff --git a/java/JACE/netsvcs/Naming/NameProxy.java b/java/JACE/netsvcs/Naming/NameProxy.java
deleted file mode 100644
index 9b1b3102f1d..00000000000
--- a/java/JACE/netsvcs/Naming/NameProxy.java
+++ /dev/null
@@ -1,405 +0,0 @@
-/*************************************************
- *
- * = PACKAGE
- * netsvcs.Naming
- *
- * = FILENAME
- * NameProxy.java
- *
- *************************************************/
-package JACE.netsvcs.Naming;
-
-import java.io.*;
-import java.net.*;
-import java.util.*;
-import JACE.OS.*;
-import JACE.SOCK_SAP.*;
-import JACE.Connection.*;
-
-/**
- * Proxy which clients can use to interact with the naming service.
- * Can be used with the Connector.
- *
- *@see JACE.Connection.Connector
- *@see NameAcceptor
- *@see NameHandler
- *
- *@author Everett Anderson
- */
-public class NameProxy extends SvcHandler
-{
- /**
- * Constructor, connects itself using a Connector.
- *
- *@param host name of the host of the naming service
- *@param port port to connect to on the host
- */
- public NameProxy (String host, int port)
- throws UnknownHostException,
- SocketException,
- InstantiationException,
- IllegalAccessException,
- IOException
- {
- Connector c = new Connector ();
- c.open (host, port);
- c.connect (this);
- }
-
- /**
- * Default constructor. Proxies created with this constructor must
- * be connected to use.
- */
- public NameProxy ()
- {
- }
-
- /**
- * Constructor taking a SOCKStream to use.
- *
- *@param sock SOCKStream already open to the naming service
- */
- public NameProxy (SOCKStream sock)
- {
- this.stream_ = sock;
- }
-
- /**
- * Initialize this proxy. (Called by Connector)
- */
- public int open (Object obj)
- {
- connected_ = true;
- return 0;
- }
-
- /**
- * Close the proxy, shutting down the connection to the service.
- */
- public int close ()
- {
- if (!connected_)
- return 0;
-
- try {
- this.peer ().close ();
- } catch (IOException e) {
- return -1;
- } finally {
- connected_ = false;
- }
-
- return 0;
- }
-
- /**
- * Attempt to bind the given data pair
- * @param name Name/key
- * @param value Value to bind
- *
- * @return True iff bind is successful
- */
- public boolean bind(String name, String value) throws IOException
- {
- return this.bind(name, value, null, false);
- }
-
- /**
- * Attempt to bind the given data triplet
- * @param name Name/key
- * @param value Value to bind
- * @param type Type to bind (another string)
- *
- * @return True iff the bind was successful
- */
- public boolean bind(String name, String value, String type)
- throws IOException
- {
- return this.bind(name, value, type, false);
- }
-
- /**
- * The most generic of the bind methods. Allows factoring out of
- * common code. Not public.
- */
- boolean bind (String name, String value, String type, boolean rebind)
- throws IOException
- {
- // Create a new NameRequest with the desired info
- NameRequest request =
- new NameRequest(rebind ? NameRequest.REBIND : NameRequest.BIND,
- name,
- value,
- type,
- null);
-
- // Send it to the naming service
- request.streamOutTo(this.stream_);
-
- // Create a reply
- NameReply reply = new NameReply();
-
- // Get the status of the bind from the naming service
- reply.streamInFrom(this.stream_);
-
- // Return true on success
- return (reply.type() == NameReply.SUCCESS ? true : false);
- }
-
- /**
- * Rebind a name and a value
- * @param name Name/key
- * @param value Bound value
- *
- * @return True if the rebind was successful
- */
- public boolean rebind (String name, String value) throws IOException
- {
- return this.bind(name, value, null, true);
- }
-
- /**
- * Rebind a name, value, and type
- * @param name Name/key
- * @param value Bound value
- * @param type Bound type
- *
- * @return True if rebind was successful
- */
- public boolean rebind (String name, String value, String type)
- throws IOException
- {
- return this.bind(name, value, type, true);
- }
- /**
- * Look up information bound to the given key/name.
- *
- * @param name Name/key
- *
- * @return Vector with three elements:
- * 0 Name/key
- * 1 Value
- * 2 Type
- */
- public Vector resolve (String name) throws IOException
- {
- // Create a new NameRequest with the name & request type
- NameRequest request = new NameRequest(NameRequest.RESOLVE,
- name,
- null,
- null,
- null);
-
- // Send it to the naming service
- request.streamOutTo(this.stream_);
-
- // Get a response (hopefully with the value and type)
- request.streamInFrom(this.stream_);
-
- // Dump the result into a vector
- Vector result = new Vector();
-
- result.addElement(request.name());
- result.addElement(request.value());
- result.addElement(request.type());
-
- // Cut it down to the size we need
- result.trimToSize();
-
- return result;
- }
-
- /**
- * Remove the entry in the mapping corresponding to the given name/key.
- *
- * @param name Name/key
- *
- * @return True if the unbind was successful
- */
- public boolean unbind (String name) throws IOException
- {
- NameRequest request = new NameRequest(NameRequest.UNBIND,
- name,
- null,
- null,
- null);
- // Send the request to the naming service
- request.streamOutTo(this.stream_);
-
- NameReply reply = new NameReply();
-
- // Get reply
- reply.streamInFrom(this.stream_);
-
- return (reply.type() == NameReply.SUCCESS ? true : false);
- }
-
- /**
- * Return a vector that's a list of names (Strings) that begin with
- * the given pattern
- * @param pattern Search pattern
- * @return Vector List of names
- */
- public Vector listNames (String pattern) throws IOException
- {
- return this.requestSimpleList(pattern, NameRequest.LIST_NAMES);
- }
-
- /**
- * Return a vector that's a list of types (Strings) that begin with
- * the given pattern
- * @param pattern Search pattern
- * @return Vector List of types
- */
- public Vector listTypes (String pattern) throws IOException
- {
- return this.requestSimpleList(pattern, NameRequest.LIST_TYPES);
- }
-
- /**
- * Return a vector that's a list of values (Strings) that begin with
- * the given pattern
- * @param pattern Search pattern
- * @return Vector List of values
- */
- public Vector listValues (String pattern) throws IOException
- {
- return this.requestSimpleList(pattern, NameRequest.LIST_VALUES);
- }
-
- /**
- * Non-public generic list gathering method
- */
- Vector requestSimpleList (String pattern, int type) throws IOException
- {
- // Make request for a list of the given type
- NameRequest request = new NameRequest(type,
- pattern,
- null,
- null,
- null);
- request.streamOutTo(this.stream_);
-
- // Allocate and reuse the DIS here rather than each time we call
- // streamInFrom
- DataInputStream dis = new DataInputStream(this.stream_.inputStream());
-
- request.streamInFrom(dis);
- Vector result = new Vector();
-
- // Add elements until there's a null message with the MAX_ENUM
- // request type
- while (request.requestType() != NameRequest.MAX_ENUM) {
- if (type == NameRequest.LIST_NAMES)
- result.addElement(new String(request.name()));
- else
- if (type == NameRequest.LIST_VALUES)
- result.addElement(new String(request.value()));
- else
- result.addElement(new String(request.type()));
-
- request.streamInFrom(dis);
- }
-
- // Adjust the vector to the minimal size
- result.trimToSize();
-
- return result;
- }
-
- /**
- * Get a vector with the entire data set for entries whose name begins with
- * the given pattern. Each element in the vector is another vector
- * with the following layout:
- * 0 Name/key
- * 1 Value
- * 2 Type
- *
- * @param pattern Search pattern
- * @return Vector of vectors
- */
- public Vector listNameEntries (String pattern) throws IOException
- {
- return this.requestComplexList(pattern, NameRequest.LIST_NAME_ENTRIES);
- }
-
- /**
- * Get a vector with the entire data set for entries whose value begins with
- * the given pattern. Each element in the vector is another vector
- * with the following layout:
- * 0 Name/key
- * 1 Value
- * 2 Type
- *
- * @param pattern Search pattern
- * @return Vector of vectors
- */
- public Vector listValueEntries (String pattern) throws IOException
- {
- return this.requestComplexList(pattern, NameRequest.LIST_VALUE_ENTRIES);
- }
-
- /**
- * Get a vector with the entire data set for entries whose type begins with
- * the given pattern. Each element in the vector is another vector
- * with the following layout:
- * 0 Name/key
- * 1 Value
- * 2 Type
- *
- * @param pattern Search pattern
- * @return Vector of vectors
- */
-
- public Vector listTypeEntries (String pattern) throws IOException
- {
- return this.requestComplexList(pattern, NameRequest.LIST_TYPE_ENTRIES);
- }
-
- /**
- * Non-public generic method for getting a a vector of vectors with the
- * entire data set for entries fitting the given pattern.
- */
- Vector requestComplexList (String pattern, int type) throws IOException
- {
- // Create request with desired type
- NameRequest request = new NameRequest(type,
- pattern,
- null,
- null,
- null);
- // Send it to the naming service
- request.streamOutTo(this.stream_);
-
- // Allocate the DIS here and reuse
- DataInputStream dis = new DataInputStream(this.stream_.inputStream());
-
- // Get the first response
- request.streamInFrom(dis);
- Vector result = new Vector();
-
- // Loop while we don't see a null response with the MAX_ENUM
- //request type
- while (request.requestType() != NameRequest.MAX_ENUM) {
- Vector entry = new Vector();
-
- // Create an element in the main vector
- entry.addElement(request.name());
- entry.addElement(request.value());
- entry.addElement(request.type());
- entry.trimToSize();
-
- // Add it to the result
- result.addElement(entry);
-
- // Get another NameRequest
- request.streamInFrom(dis);
- }
-
- result.trimToSize();
-
- return result;
- }
-
- private boolean connected_ = false;
-}
diff --git a/java/JACE/netsvcs/Naming/NameReply.java b/java/JACE/netsvcs/Naming/NameReply.java
deleted file mode 100644
index d20c9ed05f0..00000000000
--- a/java/JACE/netsvcs/Naming/NameReply.java
+++ /dev/null
@@ -1,169 +0,0 @@
-/*************************************************
- *
- * = PACKAGE
- * netsvcs.Naming
- *
- * = FILENAME
- * NameReply.java
- *
- *************************************************/
-package JACE.netsvcs.Naming;
-
-import java.io.*;
-import java.util.*;
-import JACE.OS.*;
-import JACE.Connection.*;
-import JACE.Reactor.*;
-import JACE.ASX.*;
-import JACE.SOCK_SAP.*;
-
-/**
- * Used by the naming server to give quick status messages
- * to the client. This is only used to signal the success or
- * failure of bind and unbind requests. The error number seems
- * to be unused in the C++ version.
- *
- *@see NameHandler
- *@author Everett Anderson
- *
- */
-public class NameReply
-{
- /** Successful operation indicator */
- public final static int SUCCESS = 0;
-
- /** Failed operation indicator */
- public final static int FAILURE = -1;
-
- /**
- * Default Constructor (success, errno 0)
- */
- public NameReply ()
- {
- this.type_ = this.SUCCESS;
- this.errno_ = 0;
- }
-
- /**
- * Constructor
- *
- *@param type Success or failure
- *@param err Error number (unused)
- */
- public NameReply (int type, int err)
- {
- this.type_ = type;
- this.errno_ = err;
- }
-
- /**
- * Length accessor
- */
- int length()
- { return this.length_; }
-
- /**
- * Type accessor -- success or failure
- */
- int type()
- { return this.type_; }
-
- /**
- * Error number accessor
- */
- int errno()
- { return this.errno_; }
-
- /**
- * Set type
- * @param type New type
- */
- void type(int type)
- { this.type_ = type; }
-
- /**
- * Set error number
- * @param errno New error number
- */
- void errno(int errno)
- { this.errno_ = errno; }
-
- /**
- * Send this data to the given SOCKStream.
- *
- *@param sock SOCKStream to send to
- */
- public void streamOutTo (JACE.SOCK_SAP.SOCKStream sock) throws IOException
- {
- streamOutTo (sock.dataOutputStream ());
- }
-
- /**
- * Send this instance to the given DataOutputStream.
- */
- public void streamOutTo (DataOutputStream dos) throws IOException
- {
- dos.writeInt(this.length_);
- dos.writeInt(this.type_);
- dos.writeInt(this.errno_);
-
- dos.flush();
- }
-
- /**
- * Send this instance to the given OutputStream.
- */
- public void streamOutTo (OutputStream os) throws IOException
- {
- BufferedOutputStream bos = new BufferedOutputStream (os);
- DataOutputStream dos = new DataOutputStream (bos);
-
- streamOutTo (dos);
- }
-
- /**
- * Fill the fields of this instance from data in the socket
- *
- *@param sock SOCKStream to read from
- */
- public void streamInFrom (JACE.SOCK_SAP.SOCKStream sock) throws IOException
- {
- this.streamInFrom(sock.dataInputStream ());
- }
-
- /**
- * Fill this instance from the DataInputStream (which should be buffered).
- *
- *@param dis DataInputStream to use
- */
- public void streamInFrom (DataInputStream dis) throws IOException
- {
- int length = dis.readInt();
-
- if (length != this.length_)
- throw new IOException("Incorrect NameReply length");
-
- type_ = dis.readInt();
- errno_ = dis.readInt();
- }
-
- /**
- * Fill this instance from the given InputStream.
- */
- public void streamInFrom (InputStream is) throws IOException
- {
- BufferedInputStream bis = new BufferedInputStream (is);
- DataInputStream dis = new DataInputStream (bis);
-
- streamInFrom (dis);
- }
-
- final static int length_ = 12;
-
- int type_;
- int errno_;
-}
-
-
-
-
diff --git a/java/JACE/netsvcs/Naming/NameRequest.java b/java/JACE/netsvcs/Naming/NameRequest.java
deleted file mode 100644
index 706b14728c5..00000000000
--- a/java/JACE/netsvcs/Naming/NameRequest.java
+++ /dev/null
@@ -1,373 +0,0 @@
-/*************************************************
- *
- * = PACKAGE
- * netsvcs.Naming
- *
- * = FILENAME
- * NameRequest.java
- *
- *@see netsvcs.Naming.NameHandler
- *
- *@author Everett Anderson
- *
- *************************************************/
-package JACE.netsvcs.Naming;
-
-import java.io.*;
-import java.util.*;
-import JACE.OS.*;
-import JACE.Connection.*;
-import JACE.Reactor.*;
-import JACE.ASX.*;
-import JACE.SOCK_SAP.*;
-
-/**
- * Holds information including name, value, type, and request
- * type. Used by both client and naming server as detailed in
- * NameHandler. Compatible with the C++ ACE_Name_Request.
- *
- *@see NameHandler
- */
-public class NameRequest
-{
- /** Bind request type */
- public static final int BIND = 1;
-
- /** Rebind request type */
- public static final int REBIND = 2;
-
- /** Resolve request type */
- public static final int RESOLVE = 3;
-
- /** Unbind request type */
- public static final int UNBIND = 4;
-
- /** List Names request type */
- public static final int LIST_NAMES = 5;
-
- /** List Values request type */
- public static final int LIST_VALUES = 13;
-
- /** List Types request type */
- public static final int LIST_TYPES = 21;
-
- /** List Name Entries request type */
- public static final int LIST_NAME_ENTRIES = 6;
-
- /** List Value Entries request type */
- public static final int LIST_VALUE_ENTRIES = 14;
-
- /** List Type Entries request type */
- public static final int LIST_TYPE_ENTRIES = 22;
-
- /** Type used to send a final "null" request when returning
- * a list of items */
- public static final int MAX_ENUM = 11;
- /**
- * Maximum length of a NameRequest instance.
- * See C++ ACE Name_Request_Reply.h for the details of the
- * value of this constant.
- */
- public static final int MAX_LEN = 6182;
-
- /**
- * Default constructor.
- */
- public NameRequest ()
- {
- this.name_ = this.value_ = this.type_ = null;
- this.length_ = 32;
- }
-
- /**
- * Constructor
- *
- * @param requestType Type of request this is (BIND, REBIND, etc)
- * @param name Key to bind
- * @param value Value to bind
- * @param type Type to couple with the value
- * @param timeout Timer information (not really used in JACE yet)
- */
- public NameRequest(int requestType,
- String name,
- String value,
- String type,
- TimeValue timeout)
- {
- this.requestType_ = requestType;
-
- if (timeout == null) {
-
- this.blockForever_ = 1;
- this.secTimeout_ = 0;
- this.usecTimeout_ = 0;
- } else {
-
- this.blockForever_ = 0;
- this.secTimeout_ = (int)timeout.sec();
- this.usecTimeout_ = (int)timeout.getMilliTime() * 1000;
- }
-
- // This is necessary to make sure null pointer exceptions are
- // avoided. It makes it more consistent later on
- if (name == null)
- this.name_ = new String("");
- else
- this.name_ = new String(name);
- if (value == null)
- this.value_ = new String("");
- else
- this.value_ = new String(value);
- if (type == null)
- this.type_ = new String("");
- else
- this.type_ = new String(type);
-
- // Set the length
- this.calculateLength();
- }
-
- /**
- * Calculate the transmission length (bytes) of this structure
- */
- private void calculateLength()
- {
- // The type is sent as an 8 bit data type (chars in the C++ version),
- // but the name and value are sent as 16 bit chars (ACE_USHORT16's in C++)
-
- this.length_ = 34 + this.type_.length() + 2 * (this.name_.length() +
- this.value_.length());
- }
-
- /**
- * Return the transmission length
- */
- public int length()
- { return this.length_; }
-
- /**
- * Return the name/key
- */
- public String name()
- { return new String(this.name_); }
-
- /**
- * Set the name/key
- * @param name Name to set to
- */
- public void name(String name)
- {
- if (name == null)
- this.name_ = new String("");
- else
- this.name_ = new String(name);
-
- this.calculateLength();
- }
-
- /**
- * Return the value
- */
- public String value()
- { return new String(this.value_); }
-
- /**
- * Set the value
- * @param value New value
- */
- public void value(String value)
- {
- if (value == null)
- this.value_ = new String("");
- else
- this.value_ = new String(value);
-
- this.calculateLength();
- }
-
- /**
- * Return the type
- */
- public String type()
- { return new String(this.type_); }
-
- /**
- * Set the type
- * @param type New type
- */
- public void type(String type)
- {
- if (type == null)
- this.type_ = new String("");
- else
- this.type_ = new String(type);
-
- this.calculateLength();
- }
-
- /**
- * Fill the fields of this instance with data from the InputStream.
- */
- public void streamInFrom (InputStream is) throws IOException
- {
- BufferedInputStream bis = new BufferedInputStream (is);
-
- DataInputStream dis = new DataInputStream (bis);
-
- this.streamInFrom(dis);
- }
-
- /**
- * Fill the fields of this instance with data from the SOCKStream.
- */
- public void streamInFrom (SOCKStream sock) throws IOException
- {
- streamInFrom (sock.dataInputStream ());
- }
-
- /**
- * Fill the fields of this instance from the given DataInputStream
- *
- *@param dis DataInputStream to read from
- */
- public void streamInFrom (DataInputStream dis) throws IOException
- {
- // Read the length (32 bits)
- length_ = dis.readInt();
-
- if (length_ > MAX_LEN)
- throw new IOException ("Invalid NameRequest length " + length_);
-
- // Read the request type
- requestType_ = dis.readInt();
-
- // Can we block forever to fulfill this request? (unused)
- blockForever_ = dis.readInt();
-
- // How long until we should time out this request? (unused)
- secTimeout_ = dis.readInt();
- usecTimeout_ = dis.readInt();
-
- // The sizes are in bytes, and there are two bytes per char
- // (ACE_USHORT16 in C++ land)
- int nameLen = dis.readInt() / 2;
- int valueLen = dis.readInt() / 2;
-
- int typeLen = dis.readInt();
-
- // Read the name -- just read chars since they're 16 bits.
- // Hopefully the SOCKStream has buffered the data
- char buf[] = new char[nameLen];
- for (int i = 0; i < nameLen; i++) {
- buf[i] = dis.readChar();
- }
- this.name_ = new String(buf);
-
- // Read the value
- buf = new char[valueLen];
- for (int i = 0; i < valueLen; i++)
- buf[i] = dis.readChar();
- this.value_ = new String(buf);
-
- // Read the type -- now we can use readFully since
- // the type was sent as 8 bit chars
- byte tbuf[] = new byte[typeLen];
- dis.readFully(tbuf);
- this.type_ = new String(tbuf);
-
- // Skip the null char at the end
- dis.skipBytes(2);
- }
-
- /**
- * Write the data of this instance to the given SOCKStream.
- */
- public void streamOutTo (SOCKStream sock) throws IOException
- {
- streamOutTo (sock.dataOutputStream ());
- }
-
- /**
- * Write the data of this instance to the given OutputStream.
- */
- public void streamOutTo (OutputStream os) throws IOException
- {
- BufferedOutputStream bos = new BufferedOutputStream (os);
- DataOutputStream dos = new DataOutputStream (bos);
-
- streamOutTo (dos);
- }
-
- /**
- * Send this NameRequest out to the given DataOutputStream
- */
- public void streamOutTo (DataOutputStream dos) throws IOException
- {
- dos.writeInt(length_);
- dos.writeInt(requestType_);
- dos.writeInt(blockForever_);
- dos.writeInt(secTimeout_);
- dos.writeInt(usecTimeout_);
-
- // Byte sizes are sent, and the name and value are stored as
- // 16 bit char arrays (ACE_USHORT16 arrays in C++ version)
- dos.writeInt(this.name_.length() * 2);
- dos.writeInt(this.value_.length() * 2);
- dos.writeInt(this.type_.length());
-
- // Making sure the name_ wasn't null comes in handy
- // in situations like this
- dos.writeChars(this.name_);
- dos.writeChars(this.value_);
- dos.writeBytes(this.type_);
-
- // Null termination
- dos.writeChar(0);
-
- // Send it for real
- dos.flush();
- }
-
- /**
- * Set the requestType
- *@param type Type to set to
- */
- public void requestType(int type)
- {
- this.requestType_ = type;
- }
-
- /**
- * Get requestType
- */
- public int requestType()
- {
- return this.requestType_;
- }
-
- /**
- * Can we block forever to fulfill the request? (unused)
- */
- public boolean blockForever()
- {
- return (this.blockForever_ != 0) ? true : false;
- }
-
- /**
- * Allowed timeout (unused)
- */
- public int secTimeout()
- {
- return this.secTimeout_;
- }
-
- int length_;
- int requestType_;
- int blockForever_;
- int secTimeout_;
- int usecTimeout_;
-
- String name_;
- String value_;
- String type_;
-};
diff --git a/java/JACE/netsvcs/Naming/c.bat b/java/JACE/netsvcs/Naming/c.bat
deleted file mode 100644
index 2b540b1b051..00000000000
--- a/java/JACE/netsvcs/Naming/c.bat
+++ /dev/null
@@ -1,2 +0,0 @@
-@echo off
-javac -d c:\Everett\JACE\classes *.java
diff --git a/java/JACE/netsvcs/Naming/package.html b/java/JACE/netsvcs/Naming/package.html
deleted file mode 100644
index b7ee951fc2e..00000000000
--- a/java/JACE/netsvcs/Naming/package.html
+++ /dev/null
@@ -1,11 +0,0 @@
-<!-- $Id$ -->
-<HTML>
-<BODY>
-Naming Service for associating names and values in a distributed system.
-<P>
-A simple test program for NameProxy and the naming service is in
-the tests directory under netsvcs\Naming.
-
-@see <a href="http://www.cs.wustl.edu/~schmidt/ACE-netsvcs.html">ACE Network Services</a>
-</BODY>
-</HTML>
diff --git a/java/JACE/netsvcs/Server.java b/java/JACE/netsvcs/Server.java
deleted file mode 100644
index 199a830d0c5..00000000000
--- a/java/JACE/netsvcs/Server.java
+++ /dev/null
@@ -1,356 +0,0 @@
-package JACE.netsvcs;
-
-import java.io.*;
-import java.net.*;
-import java.util.*;
-import JACE.OS.*;
-import JACE.Connection.*;
-import JACE.Misc.GetOpt;
-import JACE.ServiceConfigurator.Service;
-
-/**
- * Abstract class providing default implementations for several
- * Service methods. Currently, all the network services
- * descend from this class. The real work for a service is done
- * by a Handler.
- * <P>
- * Inner classes are provided for thread per connection
- * and single threaded server activation strategies. Currently,
- * specifying a single threaded strategy means that the server will
- * disconnect the client after handling one request. Acceptor and
- * EventHandler may be changed later to incorporate handleInput to
- * address this. Thus, the default activation strategy is thread
- * per connection.
- *
- *@see Handler
- *@see JACE.Connection.ActivateStrategy
- *@author Everett Anderson
- */
-public abstract class Server extends Acceptor implements Runnable
-{
- /**
- * Safely shuts down all the handlers as well as the accepting socket.
- *
- *@return -1 on failure, 0 on success
- */
- public synchronized int fini ()
- {
- if (!done ()) {
- ACE.DEBUG ("Shutting down " + name ());
- try {
- this.done_ = true;
- for (int i = handlers_.size () - 1; i >= 0; i--)
- ((Handler)handlers_.elementAt (i)).close ();
-
- this.sockAcceptor_.close();
- } catch (IOException e) {
- ACE.ERROR(e);
- return -1;
- }
- }
-
- return 0;
- }
-
- /**
- * Returns information about the state of the service such as
- * suspended, not running, or running.
- */
- public String info ()
- {
- if (suspended ())
- return "suspended";
- else
- if (done ())
- return "not running";
- else
- return "running on port " + port_;
- }
-
- /**
- * Provided for extra initialization in subclasses after the
- * command line arguments have been parsed but before starting the
- * service. This is a good place to set the default ActivateStrategy
- * since you can make sure it wasn't set in parseArgs. The default
- * implementation sets the strategy to Server.ThreadPerConnection.
- *
- *@return -1 on error, 0 on success
- */
- protected int initialize ()
- {
- if (activateStrategy_ == null)
- activateStrategy (new Server.ThreadPerConnection ());
-
- return 0;
- }
-
- /**
- * Template method for initialization. Calls parseArgs, initialize,
- * sets the done() state to false, and starts this Server in its own
- * thread. If parseArgs fails, this calls printUsage.
- *
- *@param args command line arguments
- *@return -1 on failure, 0 on success
- */
- public int init (String [] args)
- {
- // Parse arguments
- if (this.parseArgs (args) == -1) {
- printUsage ();
- return -1;
- }
-
- if (initialize () < 0) {
- ACE.ERROR (name () + " failed initializing");
- return -1;
- }
-
- ACE.DEBUG ("Using " + activateStrategy_.getClass().getName ());
- ACE.DEBUG ("Starting " + name () + " on port: " + this.port_);
-
- done_ = false;
-
- // Run in own thread of control so that we don't block the caller
- new Thread (this).start();
- return 0;
- }
-
- /**
- * Called by the JVM when this Server starts running in its own
- * thread.
- */
- public void run ()
- {
- try {
- this.open (this.port_);
- while (!this.done ()) {
- this.accept ();
- }
- } catch (InstantiationException e) {
- ACE.ERROR (e);
- } catch (IllegalAccessException e) {
- ACE.ERROR (e);
- } catch (IOException e) {
- if (!done ())
- ACE.ERROR (e);
- } finally {
- fini ();
- }
- }
-
- /**
- * Calls the appropriate activation strategy with the given
- * service handler. This assumes the SvcHandler is an instance
- * of type Handler, and sets its parent accordingly.
- *
- *@param sh SvcHandler (assumed to be a Handler) to activate
- *@return -1 on failure, 0 on success
- */
- protected int activateSvcHandler (SvcHandler sh)
- {
- if (done ())
- return -1;
-
- addHandler (sh);
- ((Handler)sh).parent (this);
-
- while (suspended () && !done ())
- Thread.yield ();
-
- if (activateStrategy_.activateSvcHandler (sh) != 0) {
- removeHandler (sh);
- return -1;
- }
-
- return 0;
- }
-
- /**
- * Add the given SvcHandler to this Servers list of handlers.
- * @param sh service handler to add (assumed to be a Handler)
- */
- protected void addHandler (SvcHandler sh)
- {
- handlers_.addElement (sh);
- }
-
- /**
- * Called by Handler instances during their close () method.
- *@param sh service handler to remove
- */
- public void removeHandler (SvcHandler sh)
- {
- handlers_.removeElement (sh);
- }
-
- /**
- * Parses the command line arguments. Subclasses must override
- * this.
- *
- *@param args command line arguments
- *@return -1 on failure, 0 on success
- */
- protected abstract int parseArgs (String [] args);
-
- /**
- * Create the appropriate Handler. Subclasses must override this,
- * returning a new instance of the proper subclass of Handler.
- *
- *@return new Handler instance
- */
- protected abstract SvcHandler makeSvcHandler ();
-
- /**
- * Print out the correct syntax and meaning of the command line
- * arguments.
- */
- protected abstract void printUsage ();
-
- /**
- * Set the ActivateStrategy for handlers.
- *
- *@param strategy new ActivateStrategy to use
- *@see JACE.Connection.ActivateStrategy
- */
- protected void activateStrategy (ActivateStrategy strategy)
- {
- activateStrategy_ = strategy;
- }
-
- /**
- * Return the current ActivateStrategy for handlers.
- *
- *@return current ActivateStrategy instance
- */
- protected ActivateStrategy activateStrategy ()
- {
- return activateStrategy_;
- }
-
- /**
- * Check to see if this Server has been shut down.
- */
- protected synchronized boolean done ()
- {
- return done_;
- }
-
- /**
- * Useful method for subclasses when parsing the port command
- * line option.
- *
- *@param port String gathered from the command line representing the port
- *@return false if there was an error, true if successful
- */
- protected boolean port (String port)
- {
- try {
-
- this.port_ = Integer.parseInt (port);
-
- } catch (NumberFormatException e) {
- ACE.ERROR("Invalid port specified: " + e.getMessage ());
- return false;
- } catch (ArrayIndexOutOfBoundsException e) {
- ACE.ERROR("Port option requires an argument");
- return false;
- }
-
- return true;
- }
-
- /**
- * Useful method for subclasses when trying to load and instantiate
- * a certain class from a command line argument. This can be used
- * when a possible command line argument is what kind of activation
- * strategy is used for handlers.
- *
- *@param classname name of the class to load and create an instance of
- *@param descrption descrption of what type of class it is
- *@return null if failed loading, a new instance of the class on success
- */
- protected Object newStrategyInstance (String classname,
- String description)
- {
- try {
- Class factory = Class.forName (classname);
-
- return factory.newInstance ();
-
- } catch (ClassNotFoundException e) {
- ACE.ERROR("Unable to find " + description + ": "
- + e.getMessage ());
- } catch (InstantiationException e) {
- ACE.ERROR ("Instantiating " + description + ": "
- + e.getMessage ());
- } catch (IllegalAccessException e) {
- ACE.ERROR ("Illegal access on " + description + ": "
- + e.getMessage ());
- }
-
- return null;
- }
-
- /**
- * Shuts down the Server if it wasn't already done
- */
- protected void finalize () throws Throwable
- {
- fini ();
- }
-
- private boolean done_ = true;
-
- /**
- * List of currently active Handlers
- */
- protected Vector handlers_ = new Vector ();
- private ActivateStrategy activateStrategy_ = null;
-
- /**
- * Activation strategy in which each Handler is run in its own
- * Thread.
- */
- public static class ThreadPerConnection extends ActivateStrategy
- {
- /**
- * Opens the given service handler, and runs it in its own
- * Thread.
- *@param sh service handler to activate
- *@return -1 on failure, 0 on success
- */
- public int activateSvcHandler (SvcHandler sh)
- {
- if (sh.open (null) < 0)
- return -1;
-
- new Thread (sh).start ();
- return 0;
- }
- }
-
- /**
- * Activation strategy in which all Handlers are run in the
- * Server Thread in sequence. This assumes that the given
- * SvcHandler is a Handler instance.
- */
- public static class SingleThreaded extends ActivateStrategy
- {
- /**
- * Opens the given service handler, calls Handler.handleRequest, and
- * then Handler.close before returning.
- *@param sh service handler to activate (assumed to be a Handler)
- *@return -1 on failure, 0 on success
- */
- public int activateSvcHandler (SvcHandler sh)
- {
- if (sh.open (null) < 0)
- return -1;
-
- ((Handler)sh).handleRequest ();
- ((Handler)sh).close ();
-
- return 0;
- }
- }
-}
diff --git a/java/JACE/netsvcs/Time/TSClerkHandler.java b/java/JACE/netsvcs/Time/TSClerkHandler.java
deleted file mode 100644
index e0a2290d81b..00000000000
--- a/java/JACE/netsvcs/Time/TSClerkHandler.java
+++ /dev/null
@@ -1,195 +0,0 @@
-package JACE.netsvcs.Time;
-
-import java.io.*;
-import java.net.*;
-
-import JACE.OS.*;
-import JACE.Connection.*;
-import JACE.ASX.*;
-
-/**
- * Requests a time update from a time server. This is used by the
- * TSClerkProcessor to query a server.
- */
-public class TSClerkHandler extends SvcHandler
-{
- /**
- * Constructor.
- *
- *@param parent TSClerkProcessor which is creating this instance
- *@param host name of the machine this handler is connected to
- *@param port port on the time server to connect to
- */
- public TSClerkHandler (TSClerkProcessor parent,
- String host,
- int port)
- {
- parent_ = parent;
- host_ = host;
- port_ = port;
- }
-
- /**
- * Initialize this handler. Called automatically by Connector when a
- * successful connection is made.
- *
- *@return -1 on failure, 0 on success
- */
- public int open (Object obj)
- {
- ACE.DEBUG ("Successful connection to " + host ());
- connected (true);
- return 0;
- }
-
- /**
- * Safely shut down this handler, closing the socket.
- *
- *@return -1 on failure, 0 on success
- */
- public synchronized int close ()
- {
- if (!connected ())
- return 0;
-
- ACE.DEBUG ("Shutting down connection to " + host ());
- try {
- peer ().close ();
- } catch (IOException e) {
- return -1;
- } finally {
- connected (false);
- }
-
- return 0;
- }
-
- /**
- * Accessor for the port number of the server.
- */
- public int port ()
- {
- return port_;
- }
-
- /**
- * Accessor for the host name of the server.
- */
- public String host ()
- {
- return host_;
- }
-
- /**
- * Check to see if this handler is currently connected to a server.
- */
- public synchronized boolean connected ()
- {
- return connected_;
- }
-
- /**
- * Set the connected state.
- *
- *@param state true if connected, false if not
- */
- protected synchronized void connected (boolean state)
- {
- connected_ = state;
- }
-
- /**
- * (Isn't used, just fulfills the interface. Returns -1 by
- * default)
- */
- public int handleTimeout (TimeValue tv, Object obj)
- {
- return -1;
- }
-
- /**
- * (Isn't used, just fulfills the interface.)
- */
- public void run ()
- {
- ACE.ERROR ("TSClerkHandler is not setup to run in its own thread");
- }
-
- /**
- * Sends a request to the server and waits for a reply. This is called
- * by TSClerkProcessor.
- *
- *@return -1 on failure, 0 on success
- */
- public int sendRequest ()
- {
- // Ask the clerk processor to connect this handler if it isn't
- // already. Thus, it tries to reconnect if the server has gone
- // down.
- if (!connected ())
- parent_.connectHandler (this, host_, port_);
-
- TimeRequest request = new TimeRequest ();
-
- long start, stop;
- try {
-
- start = System.currentTimeMillis ();
- request.streamOutTo (peer().outputStream ());
-
- request.streamInFrom (peer().inputStream ());
- stop = System.currentTimeMillis ();
-
- } catch (NullPointerException e) {
- close ();
- return -1;
- } catch (IOException e) {
- close ();
- return -1;
- }
-
- // Compute the difference in the local time and the server time
- // (in seconds)
- long difference = request.time () - (stop / 1000);
-
- // Calculate the transmission time (in seconds)
- long oneWayTime = (stop - start) / 2000;
-
- difference += oneWayTime;
-
- /*
- ACE.DEBUG (host() + " reports:");
- ACE.DEBUG (" time difference: " + difference);
- ACE.DEBUG (" trans. delay: " + oneWayTime);
- */
-
- // Set the time difference for this handler
- delta (difference);
-
- return 0;
- }
-
- /**
- * Returns the current time difference between local time and
- * the server (in seconds).
- */
- public synchronized long delta ()
- {
- return delta_;
- }
-
- /**
- * Sets the current time difference between local time and the
- * server (in seconds).
- */
- protected synchronized void delta (long delta)
- {
- delta_ = delta;
- }
-
- private long delta_;
- private TSClerkProcessor parent_;
- private boolean connected_ = false;
- private String host_;
- private int port_;
-}
diff --git a/java/JACE/netsvcs/Time/TSClerkProcessor.java b/java/JACE/netsvcs/Time/TSClerkProcessor.java
deleted file mode 100644
index bec3bd417df..00000000000
--- a/java/JACE/netsvcs/Time/TSClerkProcessor.java
+++ /dev/null
@@ -1,307 +0,0 @@
-package JACE.netsvcs.Time;
-
-import java.net.*;
-import java.io.*;
-import java.util.*;
-
-import JACE.ASX.TimeValue;
-import JACE.Connection.*;
-import JACE.OS.*;
-import JACE.Reactor.*;
-import JACE.Misc.*;
-
-/**
- * Clerk used to query a number of time servers, compute the average
- * of the time differences, and report it with a sequence number. This
- * can be used to adjust the current local time accordingly.
- * <P>
- * <B>Valid command line arguments:</B>
- * <PRE>
- * -h (host name:port) Specify a time server to contact
- * -t (time in seconds) Specify how often to query the servers
- * (Defaults to five minutes)
- * -d Enable debugging messages
- * </PRE>
- */
-public class TSClerkProcessor implements EventHandler, Runnable
-{
- /**
- * Prints out the valid command line arguments. See the class
- * description for more information.
- */
- public void printUsage ()
- {
- ACE.ERROR ("Valid options:");
- ACE.ERROR ("-h <host name>:<port> Specify a time server to contact");
- ACE.ERROR ("-t <time in seconds> How often to query the servers");
- ACE.ERROR ("-d Enable debugging messages");
- }
-
- /**
- * Parses the command line arguments. See the class description
- * for more information.
- */
- protected int parseArgs (String args[])
- {
- GetOpt opt = new GetOpt (args, "h:t:d", true);
- for (int c; (c = opt.next ()) != -1; )
- {
- switch (c)
- {
- // Specify a hostname:port pair to query
- case 'h':
- if (newHandler (opt.optarg ()) == -1) {
- printUsage ();
- return -1;
- }
- break;
- // Specify time interval to query servers
- case 't':
- int sec = Integer.parseInt (opt.optarg ());
- updateInterval_ = new TimeValue (sec);
- break;
- case 'd':
- ACE.enableDebugging ();
- ACE.DEBUG ("Debugging is enabled");
- break;
- default:
- ACE.ERROR ("Unknown argument: " + (char)c);
- printUsage ();
- return -1;
- }
- }
- return 0;
- }
-
- /**
- * Safely shut down the clerk and all its handlers.
- */
- public synchronized void close ()
- {
- if (!done_) {
- done_ = true;
- tq_.cancelTimer (this);
-
- for (int i = 0; i < handlerSet_.size (); i++) {
- TSClerkHandler h = (TSClerkHandler)handlerSet_.elementAt (i);
-
- h.close ();
- }
- }
- }
-
- /**
- * Called by the JVM when the clerk is run in its own thread. If the
- * TimerQueue provided to (or created by) this TSClerkProcessor isn't
- * running its event loop, it will be run in this thread (by calling
- * handleEvents ()).
- *
- *@see JACE.Reactor.TimerQueue
- */
- public void run ()
- {
- if (handlerSet_.size () == 0) {
- ACE.DEBUG ("No servers are registered. Call init first.");
- return;
- }
-
- if (!tq_.eventLoopRunning ())
- tq_.handleEvents ();
- }
-
- /**
- * Initialize this TSClerkProcessor with command line arguments. See
- * the class description for more information. This also schedules
- * a timeout with the timer queue for when to query the servers.
- *
- *@return -1 on failure, 0 on success
- */
- public int init (String args[])
- {
- if (args.length < 2) {
- printUsage ();
- return -1;
- }
-
- if (parseArgs (args) == -1)
- return -1;
-
- if (handlerSet_.size () == 0) {
- ACE.ERROR ("No servers are registered.");
- done_ = true;
- return -1;
- }
-
- if (tq_ == null)
- tq_ = new TimerQueue (true);
-
- tq_.scheduleTimer (this,
- "Time Service Processor",
- TimeValue.zero,
- updateInterval_);
-
- return 0;
- }
-
- /**
- * Called by TSClerkHandler instances when they need to connect
- * (or reconnect) to a server. This uses Connector to make the
- * connection.
- *
- *@param handler TSClerkHandler to connect to the server
- *@param host name of the service
- *@param port port to connect to on the server
- */
- void connectHandler (TSClerkHandler handler,
- String host,
- int port)
- {
- // Don't let handlers reconnect if we are in the process of closing
- if (done_)
- return;
-
- ACE.DEBUG ("Connecting handler to " + host + " on port " + port);
- try {
-
- Connector c = new Connector ();
- c.open (host, port);
- c.connect (handler);
-
- } catch (UnknownHostException e) {
- synchronized (this) {
- handlerSet_.removeElement (handler);
- }
- ACE.ERROR (e);
- } catch (SocketException e) {
- ACE.ERROR (e);
- } catch (InstantiationException e) {
- ACE.ERROR (e);
- } catch (IllegalAccessException e) {
- ACE.ERROR (e);
- } catch (IOException e) {
- ACE.ERROR (e);
- }
- }
-
- /**
- * Create a new TSClerkHandler for the given (host name):(port)
- * combination. See the class description for more information about
- * providing a host names and ports on the command line.
- *
- *@param hostAndPort String with the host name and port separated by
- * a colon.
- *@return -1 on failure, 0 on success
- */
- protected int newHandler (String hostAndPort)
- {
- int colon = hostAndPort.lastIndexOf (':');
-
- if (colon < 1) {
- ACE.ERROR ("Invalid -h <host>:<port> parameter: " + hostAndPort);
- return -1;
- }
-
- int port = Integer.parseInt (hostAndPort.substring (colon + 1));
- String host = hostAndPort.substring (0, colon);
-
- ACE.DEBUG ("New handler for server " + host + " on port " + port);
-
- TSClerkHandler handler = new TSClerkHandler (this, host, port);
- handlerSet_.addElement (handler);
-
- return 0;
- }
-
- /**
- * Have each TSClerkHandler query its time server, average the results,
- * and set the timeStatus accordingly. This is called by the
- * TimerQueue when appropriate. The interval can be specified on the
- * command line.
- */
- public synchronized int handleTimeout (TimeValue tv, Object obj)
- {
- if (done_)
- return -1;
-
- // Increment the sequence number
- int sequenceNumber = status_.sequenceNumber () + 1;
- Enumeration handlers = handlerSet_.elements ();
-
- long total = 0;
- int count = 0;
-
- // Use each handler to query its server, collecting the time
- // difference information.
- while (handlers.hasMoreElements ()) {
- TSClerkHandler h = (TSClerkHandler)handlers.nextElement ();
-
- if (h.sendRequest () < 0)
- continue;
-
- total += h.delta ();
- count++;
- }
-
- if (count == 0) {
- ACE.ERROR ("Could not reach any time servers, will keep trying.");
- return 0;
- }
-
- timeStatus (new TimeInfo (sequenceNumber, total / count));
-
- ACE.DEBUG ("Status: " + timeStatus ());
-
- return 0;
- }
-
- /**
- * Return the current sequence number and time difference pair.
- */
- public synchronized TimeInfo timeStatus ()
- {
- return status_;
- }
-
- /**
- * Set the current sequence number and time difference pair.
- */
- protected synchronized void timeStatus (TimeInfo status)
- {
- status_ = status;
- }
-
- /**
- * Default constructor. Results in this TSClerkProcessor creating
- * a new timer queue which runs in its own thread. Thus, this
- * TSClerkProcessor runs in its own thread.
- */
- public TSClerkProcessor ()
- {
- // Effectively runs in its own thread because of the timer queue
- }
-
- /**
- * Constructor allowing the timer queue to be specified. If the timer
- * queue isn't already running, the caller is responsible for calling
- * handleEvents to start the clerk. Be careful since the querying
- * process for the servers may take a while.
- *
- *@param queue TimerQueue to register with
- */
- public TSClerkProcessor (TimerQueue queue)
- {
- tq_ = queue;
- }
-
- private boolean done_ = false;
-
- // List of the TSClerkHandlers this uses to maintain its
- // server connections.
- private Vector handlerSet_ = new Vector ();
- private TimerQueue tq_ = null;
-
- // Default is every five minutes
- private TimeValue updateInterval_ = new TimeValue (300, 0);
-
- TimeInfo status_ = new TimeInfo ();
-}
diff --git a/java/JACE/netsvcs/Time/TSServerAcceptor.java b/java/JACE/netsvcs/Time/TSServerAcceptor.java
deleted file mode 100644
index 7e8b9476c19..00000000000
--- a/java/JACE/netsvcs/Time/TSServerAcceptor.java
+++ /dev/null
@@ -1,116 +0,0 @@
-package JACE.netsvcs.Time;
-
-import java.io.*;
-import java.net.*;
-import java.util.*;
-import JACE.OS.*;
-import JACE.Misc.*;
-import JACE.Connection.*;
-import JACE.Reactor.*;
-import JACE.ASX.TimeValue;
-import JACE.Concurrency.ThreadManager;
-import JACE.netsvcs.Server;
-
-/**
- * Server for the time service. Creates TSServerHandlers as necessary
- * to handle the requests.
- * <P>
- * <B>Valid command line arguments:</B>
- * <PRE>
- * -p (port) Port to listen on for clients");
- * -d Enable debugging messages");
- * -a (class name) Specify ActivateStrategy");
- * (Default is multi-threaded");
- * </PRE>
- *
- */
-public class TSServerAcceptor extends Server
-{
- public TSServerAcceptor ()
- {
- // Set the name in case we're not using the service configurator
- name ("Time Service");
- }
-
- /**
- * Simple main program for running the logging service without the
- * service configurator.
- *
- *@param args command line arguments
- */
- public static void main (String [] args)
- {
- // Simple main program to get things rolling
- TSServerAcceptor ta = new TSServerAcceptor();
-
- ta.init (args);
- }
-
- /**
- * Creates a new TSServerHandler instance.
- */
- protected SvcHandler makeSvcHandler ()
- {
- return new TSServerHandler ();
- }
-
- /**
- * Prints out the valid command line arguments. See the class
- * description for more information. Called by Server.init when
- * parseArgs returns -1.
- */
- protected void printUsage ()
- {
- ACE.ERROR ("Valid options:\n");
- ACE.ERROR ("-p <port> Port to listen on for clients");
- ACE.ERROR ("-d Enable debugging messages");
- ACE.ERROR ("-a <class name> Specify ActivateStrategy");
- ACE.ERROR (" (Default is multi-threaded");
- }
-
- /**
- * Parses the command line arguments. See the class description
- * for more information.
- *
- *@param args command line arguments
- *@return -1 on failure, 0 on success
- */
- protected int parseArgs (String [] args)
- {
- int c = 0;
- GetOpt opt = new GetOpt(args, "p:da:", true);
-
- try {
-
- while ((c = opt.next ()) != -1) {
- switch (c)
- {
- case 'd':
- ACE.enableDebugging ();
- ACE.DEBUG ("Debugging is enabled");
- break;
- case 'p':
- if (!port (opt.optarg ()))
- return -1;
- break;
- case 'a':
- Object strategy = newStrategyInstance (opt.optarg (),
- "ActivateStrategy");
- if (strategy == null)
- return -1;
-
- activateStrategy ((ActivateStrategy) strategy);
- break;
- default:
- ACE.ERROR("Unknown argument: " + (char)c);
- return -1;
- }
- }
- } catch (ArrayIndexOutOfBoundsException e) {
- ACE.ERROR ("Option -" + (char)c + " requires an argument");
- return -1;
- }
-
- return 0;
- }
-}
diff --git a/java/JACE/netsvcs/Time/TSServerHandler.java b/java/JACE/netsvcs/Time/TSServerHandler.java
deleted file mode 100644
index 69bf4239280..00000000000
--- a/java/JACE/netsvcs/Time/TSServerHandler.java
+++ /dev/null
@@ -1,53 +0,0 @@
-package JACE.netsvcs.Time;
-
-import java.io.*;
-import java.util.*;
-import java.net.*;
-import JACE.OS.*;
-import JACE.Connection.*;
-import JACE.Reactor.*;
-import JACE.SOCK_SAP.*;
-import JACE.netsvcs.Handler;
-
-/**
- * Created by TSServerAcceptor to handle time update requests. Currently,
- * this simply sends back the current time (in seconds).
- *
- * @see JACE.netsvcs.Logger.ServerLoggingAcceptor
- */
-public class TSServerHandler extends Handler
-{
- /**
- * Reads in the given TimeRequest request and calls dispatch.
- *
- *@param request TimeRequest instance to use
- */
- public void processRequest (Object requestObject)
- throws SocketException, EOFException, IOException
- {
- TimeRequest request = (TimeRequest)requestObject;
-
- request.streamInFrom (peer ().dataInputStream ());
-
- this.dispatch (request);
- }
-
- /**
- * Sets the time value of the request to be the local time (in sec)
- * and sends it back to the client.
- */
- void dispatch(TimeRequest request) throws IOException
- {
- request.time ((int)(System.currentTimeMillis () / 1000));
-
- request.streamOutTo (peer().outputStream ());
- }
-
- /**
- * Creates a new instance of TimeRequest.
- */
- public Object newRequest ()
- {
- return new TimeRequest ();
- }
-}
diff --git a/java/JACE/netsvcs/Time/TimeInfo.java b/java/JACE/netsvcs/Time/TimeInfo.java
deleted file mode 100644
index 4ebfc793adb..00000000000
--- a/java/JACE/netsvcs/Time/TimeInfo.java
+++ /dev/null
@@ -1,90 +0,0 @@
-package JACE.netsvcs.Time;
-
-/**
- * Wrapper for use with the clerk, containing a sequence number and
- * time offset pair.
- */
-public class TimeInfo
-{
- /**
- * Default constructor.
- */
- public TimeInfo ()
- {
- this (0, 0);
- }
-
- /**
- * Constructor.
- *
- *@param seqNum sequence number
- *@param delta time offset in seconds
- */
- public TimeInfo (int seqNum, long delta)
- {
- sequenceNumber_ = seqNum;
- delta_ = delta;
- }
-
- /**
- * Returns this TimeInfo's sequence number.
- */
- public int sequenceNumber ()
- {
- return sequenceNumber_;
- }
-
- /**
- * Sets this TimeInfo's sequence number.
- */
- public void sequenceNumber (int num)
- {
- sequenceNumber_ = num;
- }
-
- /**
- * Returns the time offset represented by this TimeInfo instance.
- * (in sec)
- */
- public long delta ()
- {
- return delta_;
- }
-
- /**
- * Sets the time offset (in sec).
- */
- public void delta (long num)
- {
- delta_ = num;
- }
-
- /**
- * Returns an informative String about the time difference represented
- * by this TimeInfo instance. The sequence number is included in
- * brackets.
- * <P>
- * Example:
- * <PRE>
- * Local time is 3 sec slower [57]
- * </PRE>
- */
- public String toString ()
- {
- String result = "Local time is ";
- if (delta_ > 0) {
- result += (delta_ + " sec slower");
- } else
- if (delta_ < 0) {
- result += (delta_ + " sec faster");
- } else
- result += "the same as the average";
-
- result += " [" + sequenceNumber_ + "]";
-
- return result;
- }
-
- private long delta_;
- private int sequenceNumber_;
-}
diff --git a/java/JACE/netsvcs/Time/TimeRequest.java b/java/JACE/netsvcs/Time/TimeRequest.java
deleted file mode 100644
index 1b0e691398a..00000000000
--- a/java/JACE/netsvcs/Time/TimeRequest.java
+++ /dev/null
@@ -1,121 +0,0 @@
-package JACE.netsvcs.Time;
-
-import java.io.*;
-import java.net.*;
-
-/**
- * Request for a time update (and its reply). This is compatible with
- * C++ ACE_Time_Request. Currently, the Java version always specifies to
- * block forever for requests.
- */
-public class TimeRequest
-{
- /**
- * Type for requesting updates.
- */
- public static int TIME_UPDATE = 01;
-
- /**
- * Default constructor, specifies block forever for an update.
- */
- public TimeRequest ()
- {
- messageType_ = TIME_UPDATE;
- blockForever_ = 1;
- }
-
- /**
- * Constructor specifying the type of request, the current
- * time, and to block forever.
- */
- public TimeRequest (int messageType,
- int timeSec)
- {
- time_ = timeSec;
- messageType_ = messageType;
- blockForever_ = 1;
- }
-
- /**
- * Dump all class information to a String.
- */
- public String toString ()
- {
- return "TimeRequest (" + messageType_ +
- ", " + blockForever_ + ", " + secTimeout_ + ", " +
- usecTimeout_ + ", " + time_ + ")";
- }
-
- /**
- * Read the TimeRequest in from a given InputStream.
- */
- public void streamInFrom (InputStream is)
- throws IOException, EOFException
- {
- BufferedInputStream bis = new BufferedInputStream (is, 25);
- DataInputStream dis = new DataInputStream (bis);
-
- streamInFrom (dis);
- }
-
- /**
- * Read the TimeRequest in from a given DataInputStream.
- */
- public void streamInFrom (DataInputStream dis)
- throws IOException, EOFException
- {
- messageType_ = dis.readInt ();
- blockForever_ = dis.readInt ();
- secTimeout_ = dis.readInt ();
- usecTimeout_ = dis.readInt ();
- time_ = dis.readInt ();
- }
-
- /**
- * Write this TimeRequest out to a given OutputStream.
- */
- public void streamOutTo (OutputStream os)
- throws IOException
- {
- BufferedOutputStream bos = new BufferedOutputStream (os, 25);
- DataOutputStream dos = new DataOutputStream (bos);
-
- streamOutTo (dos);
- }
-
- /**
- * Write this TimeRequest out to a given DataOutputStream.
- */
- public void streamOutTo (DataOutputStream dos) throws IOException
- {
- dos.writeInt (messageType_);
- dos.writeInt (blockForever_);
- dos.writeInt (secTimeout_);
- dos.writeInt (usecTimeout_);
- dos.writeInt (time_);
-
- dos.flush ();
- }
-
- /**
- * Return the time value in seconds.
- */
- public int time ()
- {
- return time_;
- }
-
- /**
- * Set the time value in seconds.
- */
- public void time (int value)
- {
- time_ = value;
- }
-
- private int messageType_;
- private int blockForever_;
- private int secTimeout_;
- private int usecTimeout_;
- private int time_;
-}
diff --git a/java/JACE/netsvcs/Time/c.bat b/java/JACE/netsvcs/Time/c.bat
deleted file mode 100644
index 5e9e99f5807..00000000000
--- a/java/JACE/netsvcs/Time/c.bat
+++ /dev/null
@@ -1 +0,0 @@
-javac -d C:\Everett\JACE\classes *.java
diff --git a/java/JACE/netsvcs/Time/package.html b/java/JACE/netsvcs/Time/package.html
deleted file mode 100644
index 96fff45b643..00000000000
--- a/java/JACE/netsvcs/Time/package.html
+++ /dev/null
@@ -1,10 +0,0 @@
-<!-- $Id$ -->
-<HTML>
-<BODY>
-Time Service for synchronizing clocks of collaborating network computers.
-<P>
-A simple test client is available under the tests directory in netsvcs\Time.
-
-@see <a href="http://www.cs.wustl.edu/~schmidt/ACE-netsvcs.html">ACE Network Services</a>
-</BODY>
-</HTML>
diff --git a/java/JACE/netsvcs/Time/r.bat b/java/JACE/netsvcs/Time/r.bat
deleted file mode 100644
index 7c89fbddd77..00000000000
--- a/java/JACE/netsvcs/Time/r.bat
+++ /dev/null
@@ -1 +0,0 @@
-java JACE.netsvcs.Time.%1 %2 %3 %4 %5 %6 %7 %8 %9
diff --git a/java/JACE/netsvcs/Token/LockHandler.java b/java/JACE/netsvcs/Token/LockHandler.java
deleted file mode 100644
index 8e3612efb42..00000000000
--- a/java/JACE/netsvcs/Token/LockHandler.java
+++ /dev/null
@@ -1,38 +0,0 @@
-package JACE.netsvcs.Token;
-
-/**
- * Defines a handler for a certain type of lock. This allows new types
- * of synchronization mechanisms to be added to the Token service without
- * any modification of existing code. Implementing class instances that
- * are registered (via the command line or another way)
- * with the token service can be created as requests for that type of
- * lock come into the service.
- *
- *@see LockHandlerAdapter
- *@see MutexHandler
- *@author Everett Anderson
- */
-public interface LockHandler
-{
- /**
- * Process a given TokenRequest and construct the appropriate
- * reply. The request has already been read from the connection,
- * and the reply will be sent without the LockHandler having to
- * worry about the details.
- *
- *@param caller TokenRequestHandler which is accessing this LockHandler
- *@param request request read from the connection
- *@return appropriate TokenReply (success, failure, etc)
- */
- TokenReply handleRequest(TokenRequestHandler caller,
- TokenRequest request);
-
- /**
- * Release any claim the client represented with the given ID
- * has on this handler's lock. This is used when a client
- * disconnects.
- *
- *@param clientID ID of the client whose claims to abandon
- */
- void abandonLock (String clientID);
-}
diff --git a/java/JACE/netsvcs/Token/LockHandlerAdapter.java b/java/JACE/netsvcs/Token/LockHandlerAdapter.java
deleted file mode 100644
index e240000161c..00000000000
--- a/java/JACE/netsvcs/Token/LockHandlerAdapter.java
+++ /dev/null
@@ -1,380 +0,0 @@
-package JACE.netsvcs.Token;
-
-import java.util.*;
-import JACE.ASX.*;
-import JACE.OS.*;
-import JACE.Concurrency.*;
-
-/**
- * LockHandler implementation for any AbstractLock.
- * <P>
- * Provides the dispatching to appropriate methods on an AbstractLock
- * as requests come in.
- */
-public class LockHandlerAdapter implements LockHandler
-{
- /**
- * Constructor taking an AbstractLock to use as the locking
- * mechanism the requests work on.
- */
- public LockHandlerAdapter (AbstractLock lock)
- {
- lock_ = lock;
- }
-
- /**
- * Default constructor.
- */
- public LockHandlerAdapter ()
- {
- lock_ = null;
- }
-
- /**
- * Dispatch the request according to its type, calling the
- * appropriate methods on the AbstractLock member.
- *
- *@param caller TokenRequestHandler which called handleRequest (unused)
- *@param request request to process
- *@return appropriate reply to send to the client
- */
- public TokenReply handleRequest (TokenRequestHandler caller,
- TokenRequest request)
- {
- String client = request.clientID ();
- String token = request.tokenName ();
- TokenReply result = null;
-
- // Dispatch according to operation type
- switch (request.operationType ())
- {
- case LockOperations.ACQUIRE:
- ACE.DEBUG (client + " begins ACQUIRE for " + token);
- result = acquireDispatcher (request);
- break;
- case LockOperations.RELEASE:
- ACE.DEBUG (client + " begins RELEASE for " + token);
- result = release (request);
- break;
- case LockOperations.RENEW:
- ACE.DEBUG (client + " begins RENEW for " + token);
- result = renew (request);
- break;
- case LockOperations.REMOVE:
- ACE.DEBUG (client + " begins REMOVE for " + token);
- result = remove (request);
- break;
- case LockOperations.TRY_ACQUIRE:
- ACE.DEBUG (client + " begins TRY_ACQUIRE for " + token);
- result = tryAcquireDispatcher (request);
- break;
- default:
- ACE.ERROR ("Unknown operation: " + request.operationType ());
- break;
- }
-
- ACE.DEBUG (client + " result: " + result);
-
- return result;
- }
-
- /**
- * Create a TimeValue from the given request's timeout information. Note
- * that the time in the request is an absolute time timeout.
- *
- *@param request request to obtain the timeout info from
- *@return null if useTimeout is false, otherwise a TimeValue
- * representing the appropriate time period
- */
- protected TimeValue getTimeout (TokenRequest request)
- {
- if (request.useTimeout ())
- return new TimeValue (request.sec (),
- request.usec () * 1000);
- else
- return null;
- }
-
- /**
- * Call acquireWrite on the lock, returning its return value.
- *
- *@see AbstractLock#acquireWrite
- *@return value from the lock's operation
- */
- protected int acquireWrite (TokenRequest request, TimeValue timeout)
- throws LockException, TimeoutException, InterruptedException
- {
- int result;
-
- if (timeout != null)
- result = lock_.acquireWrite (timeout);
- else
- result = lock_.acquireWrite ();
-
- return result;
- }
-
- /**
- * Call acquireRead on the lock, returning its return value.
- *
- *@see AbstractLock#acquireRead
- *@return value from the lock's operation
- */
- protected int acquireRead (TokenRequest request, TimeValue timeout)
- throws LockException, TimeoutException, InterruptedException
- {
- int result;
-
- if (timeout != null)
- result = lock_.acquireRead (timeout);
- else
- result = lock_.acquireRead ();
-
- return result;
- }
-
- /**
- * Call acquire on the lock, returning its return value.
- *
- *@see AbstractLock#acquire
- *@return value from the lock's operation
- */
- protected int acquire (TokenRequest request, TimeValue timeout)
- throws LockException, TimeoutException, InterruptedException
- {
- int result;
-
- if (timeout != null)
- result = lock_.acquire (timeout);
- else
- result = lock_.acquire ();
-
- return result;
- }
-
- /**
- * Dispatch to the appropriate acquire method. In C++ ACE, when
- * the type is LockTypes.RWLOCK and the proxy type is
- * LockTypes.WRITE_LOCK_PROXY, then this calls acquireWrite.
- * If it's RWLOCK and the proxy is READ_LOCK_PROXY, it calls
- * acquireRead. In the normal case, it just calls acquire.
- *
- *@return reply to be sent back to the client (values for errno
- * include constants in TokenReply such as EFAULT, ETIME,
- * EINTR, or NO_ERRORS)
- */
- protected TokenReply acquireDispatcher (TokenRequest request)
- {
- int result;
- TimeValue timeout = getTimeout (request);
-
- try {
-
- /*
- ACE specifies that when requesting a reader lock, the
- token type will be RWLOCK and the proxy type is 0.
- When it's a writer lock, the proxy type is 1.
- */
- if (request.tokenType () == LockTypes.RWLOCK) {
- if (request.proxyType () == LockTypes.READ_LOCK_PROXY)
- result = acquireRead (request, timeout);
- else
- result = acquireWrite (request, timeout);
- } else
- result = acquire (request, timeout);
-
- } catch (LockException e) {
- return new TokenReply (TokenReply.EFAULT,
- request.arg ());
- } catch (TimeoutException e) {
- return new TokenReply (TokenReply.ETIME,
- request.arg ());
- } catch (InterruptedException e) {
- return new TokenReply (TokenReply.EINTR,
- request.arg ());
- }
-
- if (result == AbstractLock.FAILURE) {
- return new TokenReply (TokenReply.EFAULT,
- request.arg ());
- } else {
- return new TokenReply (TokenReply.NO_ERRORS,
- request.arg ());
- }
- }
-
- /**
- * Process a release request and construct a reply. The values
- * for errno include TokenReply constants EFAULT, EACCES, or
- * NO_ERRORS.
- */
- protected TokenReply release (TokenRequest request)
- {
- int result;
-
- try {
- result = lock_.release ();
- } catch (LockException e) {
- return new TokenReply (TokenReply.EFAULT,
- request.arg ());
- }
-
- if (result == AbstractLock.FAILURE) {
- return new TokenReply (TokenReply.EACCES,
- request.arg ());
- } else {
- return new TokenReply (TokenReply.NO_ERRORS,
- request.arg ());
- }
- }
-
- /**
- * Process a renew request and construct a reply. The values for
- * errno include TokenReply constants EFAULT, ETIME, EINTR, EACCES,
- * or NO_ERRORS.
- */
- protected TokenReply renew (TokenRequest request)
- {
- int result = AbstractLock.FAILURE;
- TimeValue timeout = getTimeout (request);
-
- try {
-
- if (timeout != null) {
- result = lock_.renew (request.requeuePosition (),
- timeout);
- } else {
- result = lock_.renew (request.requeuePosition ());
- }
-
- } catch (LockException e) {
- return new TokenReply (TokenReply.EFAULT,
- request.arg ());
- } catch (TimeoutException e) {
- return new TokenReply (TokenReply.ETIME,
- request.arg ());
- } catch (InterruptedException e) {
- return new TokenReply (TokenReply.EINTR,
- request.arg ());
- }
-
- if (result == AbstractLock.FAILURE) {
- return new TokenReply (TokenReply.EACCES,
- request.arg ());
- } else {
- return new TokenReply (TokenReply.NO_ERRORS,
- request.arg ());
- }
- }
-
- /**
- * Process a remove request and construct a reply. This currently
- * is not supported in the normal AbstractLock interface, so the
- * default implementation returns a reply with errno set to
- * TokenReply.ENOTSUP.
- */
- protected TokenReply remove (TokenRequest request)
- {
- ACE.ERROR ("Remove is unimplemented");
- return new TokenReply (TokenReply.ENOTSUP,
- request.arg ());
- }
-
- /**
- * Call tryAcquireWrite on the lock, returning the result.
- */
- protected int tryAcquireWrite (TokenRequest request)
- throws LockException
- {
- return lock_.tryAcquireWrite ();
- }
-
- /**
- * Call tryAcquireRead on the lock, returning the result.
- */
- protected int tryAcquireRead (TokenRequest request)
- throws LockException
- {
- return lock_.tryAcquireRead ();
- }
-
- /**
- * Call tryAcquire on the lock, returning the result.
- */
- protected int tryAcquire (TokenRequest request) throws LockException
- {
- return lock_.tryAcquire ();
- }
-
- /**
- * Dispatch to the appropriate tryAcquire method. In C++ ACE, when
- * the type is LockTypes.RWLOCK and the proxy type is
- * LockTypes.WRITE_LOCK_PROXY, then this calls acquireWrite.
- * If it's RWLOCK and the proxy is READ_LOCK_PROXY, it calls
- * acquireRead. In the normal case, it just calls acquire.
- *
- *@return reply to be sent back to the client (values for errno
- * include constants in TokenReply such as EFAULT,
- * EWOULDBLOCK, or NO_ERRORS).
- */
- protected TokenReply tryAcquireDispatcher (TokenRequest request)
- {
- int result;
-
- try {
-
- /*
- ACE specifies that when requesting a reader lock, the
- token type will be RWLOCK and the proxy type is 0.
- When it's a writer lock, the proxy type is 1.
- */
- if (request.tokenType () == LockTypes.RWLOCK) {
- if (request.proxyType () == LockTypes.READ_LOCK_PROXY)
- result = tryAcquireRead (request);
- else
- result = tryAcquireWrite (request);
- } else
- result = tryAcquire (request);
-
- } catch (LockException e) {
- return new TokenReply (TokenReply.EFAULT,
- request.arg ());
- }
-
- if (result == AbstractLock.FAILURE) {
- return new TokenReply (TokenReply.EWOULDBLOCK,
- request.arg ());
- } else {
- return new TokenReply (TokenReply.NO_ERRORS,
- request.arg ());
- }
- }
-
- /**
- * Abandon any claim the specified client has on the lock.
- *
- *@param clientID identification of the client
- */
- public void abandonLock (String clientID)
- {
- ACE.DEBUG (clientID + " abandoning lock");
- try {
- int nesting_level = 0;
- while (lock_.release () != AbstractLock.FAILURE)
- {
- nesting_level++;
- // Loop until not the owner in case the lock
- // supports nested acquires
- }
- if (nesting_level == 0)
- ACE.DEBUG (clientID + " was not the owner");
- else
- ACE.DEBUG (clientID + " had " + nesting_level + " locks");
- } catch (LockException e) {
- ACE.ERROR ("While abandoning lock: " + e.getMessage ());
- // Don't need to send a reply to the client
- }
- }
-
- protected AbstractLock lock_;
-}
diff --git a/java/JACE/netsvcs/Token/LockOperations.java b/java/JACE/netsvcs/Token/LockOperations.java
deleted file mode 100644
index f5dfa5bc486..00000000000
--- a/java/JACE/netsvcs/Token/LockOperations.java
+++ /dev/null
@@ -1,16 +0,0 @@
-package JACE.netsvcs.Token;
-
-/**
- * Constants defining the operation types available on a lock.
- * For information on specifying a read/write style lock, see LockTypes.
- *
- *@see LockTypes
- */
-public interface LockOperations
-{
- int ACQUIRE = 0;
- int RELEASE = 1;
- int RENEW = 2;
- int REMOVE = 3;
- int TRY_ACQUIRE = 4;
-}
diff --git a/java/JACE/netsvcs/Token/LockTypes.java b/java/JACE/netsvcs/Token/LockTypes.java
deleted file mode 100644
index f377529367a..00000000000
--- a/java/JACE/netsvcs/Token/LockTypes.java
+++ /dev/null
@@ -1,19 +0,0 @@
-package JACE.netsvcs.Token;
-
-/**
- * Constants related to the default lock and proxy types. New types
- * of LockHandlers and lock types can be created and registered with
- * the token service on the command line without modifying this.
- * <P>
- * C++ ACE handles RWLOCK in this way:
- * When a request comes through for a RWLOCK, the proxy type is
- * 0 for a read lock request and 1 for a write lock request.
- */
-public interface LockTypes
-{
- int MUTEX = 0;
- int RWLOCK = 1;
-
- int READ_LOCK_PROXY = 0;
- int WRITE_LOCK_PROXY = 1;
-}
diff --git a/java/JACE/netsvcs/Token/MutexHandler.java b/java/JACE/netsvcs/Token/MutexHandler.java
deleted file mode 100644
index 82f79fe5a76..00000000000
--- a/java/JACE/netsvcs/Token/MutexHandler.java
+++ /dev/null
@@ -1,51 +0,0 @@
-package JACE.netsvcs.Token;
-
-import JACE.Concurrency.*;
-
-/**
- * LockHandler implementation for a mutex lock.
- * <P>
- * Currently, this uses JACE.Concurrency.Token as the actual lock since
- * it supports nested acquires.
- *
- *@see LockHandler
- */
-public class MutexHandler extends LockHandlerAdapter
-{
- // Uses token since it supports nested acquires.
- static class ExtendedMutex extends Token
- {
- // This is so that we don't make any assumptions about previous
- // implementations of LockAdapter, and enable owner checking with
- // the client ID from TokenRequest. The thread name is set in
- // handleRequest.
- protected Object accessorID ()
- {
- return Thread.currentThread().getName();
- }
- }
-
- /**
- * Default constructor.
- */
- public MutexHandler ()
- {
- super (new ExtendedMutex ());
- }
-
- public TokenReply handleRequest (TokenRequestHandler caller,
- TokenRequest request)
- {
- Thread.currentThread().setName (request.clientID ());
-
- return super.handleRequest (caller, request);
- }
-
- public void abandonLock (String clientID)
- {
- Thread.currentThread().setName (clientID);
-
- super.abandonLock (clientID);
- }
-}
-
diff --git a/java/JACE/netsvcs/Token/RWMutexHandler.java b/java/JACE/netsvcs/Token/RWMutexHandler.java
deleted file mode 100644
index 89dc679dd8d..00000000000
--- a/java/JACE/netsvcs/Token/RWMutexHandler.java
+++ /dev/null
@@ -1,54 +0,0 @@
-package JACE.netsvcs.Token;
-
-import JACE.Concurrency.*;
-
-/**
- * LockHandler implementation for a reader/writer mutex lock.
- * <P>
- * Since it uses RWMutex as the actual lock, it doesn't support
- * nested acquires.
- *
- *@see LockHandler
- */
-public class RWMutexHandler extends LockHandlerAdapter
-{
- static class ExtendedRWMutex extends RWMutex
- {
- // This is so that we don't make any assumptions about previous
- // implementations of LockAdapter, and enable owner checking with
- // the client ID from TokenRequest. The thread name is set in
- // handleRequest.
- protected Object accessorID ()
- {
- return Thread.currentThread().getName();
- }
- }
-
- /**
- * Default constructor.
- */
- public RWMutexHandler ()
- {
- super (new ExtendedRWMutex ());
- }
-
- public TokenReply handleRequest (TokenRequestHandler caller,
- TokenRequest request)
- {
- // Set the name of this thread to the client ID to perform
- // proper owner checking.
- Thread.currentThread().setName (request.clientID ());
-
- // process the request
- return super.handleRequest (caller, request);
- }
-
- public void abandonLock (String clientID)
- {
- // Set the name of this thread to the client ID to perform
- // proper owner checking.
- Thread.currentThread().setName (clientID);
-
- super.abandonLock (clientID);
- }
-}
diff --git a/java/JACE/netsvcs/Token/RemoteLock.java b/java/JACE/netsvcs/Token/RemoteLock.java
deleted file mode 100644
index 824e05a31f0..00000000000
--- a/java/JACE/netsvcs/Token/RemoteLock.java
+++ /dev/null
@@ -1,543 +0,0 @@
-package JACE.netsvcs.Token;
-
-import java.io.*;
-import JACE.Concurrency.*;
-import JACE.ASX.*;
-import JACE.Connection.*;
-import JACE.OS.*;
-
-/**
- * Proxy used by clients to connect to the token service. This
- * implements the AbstractLock interface, so can be used like any
- * other synchronization mechanism. The user can either use this
- * class directly, or use a proxy which already inputs its type.
- * <P>
- * Currently, a separate instance (and thus a separate socket connection)
- * must be used for each thread which accesses the service. The token
- * service itself could handle multiple client IDs and token names per
- * connection with the following requirement -- since the service blocks
- * in its operations, a shadow mutex would have to be used in the proxy.
- * <P>
- * It would be best if the user called the close () method after finishing
- * up with a RemoteLock, but that is not absolutely necessary. The socket
- * will be closed when the JVM exits or finalize is called. (That will also
- * free the actual token in the token service in case release was never
- * called.)
- * <P>
- * The SLEEPHOOK result is never returned, only SUCCESS or FAILURE. (C++
- * version doesn't seem to indicate the sleep hook result.)
- *
- *@see MutexHandler
- *@see RWMutexHandler
- *@see JACE.Concurrency.AbstractLock
- *
- *@author Everett Anderson
- */
-public class RemoteLock extends SvcHandler implements AbstractLock
-{
- /**
- * Accessor for the token name.
- *
- *@return name of the token
- */
- public String tokenName ()
- {
- return request_.tokenName ();
- }
-
- /**
- * Set the name of the token.
- */
- public void tokenName (String name)
- {
- request_.tokenName (name);
- }
-
- /**
- * Accessor for the client ID.
- */
- public String clientID ()
- {
- return request_.clientID ();
- }
-
- /**
- * Set the client ID.
- */
- public void clientID (String clientID)
- {
- request_.clientID (clientID);
- }
-
- /**
- * Constructor.
- *
- *@see LockTypes
- *@param tokenType type of token to create in the token service
- *@param proxyType type of proxy to define this RemoteLock as
- *@param tokenName name of the token to connect to in the token service
- *@param clientID clientID to use to refer to this client
- *@param host host name of the token service
- *@param port port to connect to for the token service
- */
- public RemoteLock (int tokenType,
- int proxyType,
- String tokenName,
- String clientID,
- String host,
- int port)
- {
- host_ = host;
- port_ = port;
-
- // Only allocates one reply and one request
- reply_ = new TokenReply ();
-
- request_ = new TokenRequest (tokenType,
- proxyType,
- 0,
- tokenName,
- clientID);
- }
-
- /**
- * Reconnect this proxy to the token service.
- *
- *@exception LockException problem occured in reconnecting
- */
- protected void reconnect () throws LockException
- {
- Connector c = new Connector ();
- c.open (host_, port_);
-
- try {
- c.connect (this);
- } catch (InstantiationException e) {
- throw new LockException (e.getMessage());
- } catch (IllegalAccessException e) {
- throw new LockException (e.getMessage());
- } catch (IOException e) {
- throw new LockException (e.getMessage());
- }
- }
-
- /**
- * Check to see if this RemoteLock is connected.
- */
- public boolean connected ()
- {
- return connected_;
- }
-
- /**
- * Initialize this RemoteLock. Called by Connector.
- */
- public int open (Object obj)
- {
- connected_ = true;
- return 0;
- }
-
- /**
- * Shut down the connection to the server. Current implementation
- * calls close ().
- */
- public int close (long flags)
- {
- return close ();
- }
-
- /**
- * Shut down the connection to the server and mark this lock
- * as disconnected.
- */
- public int close ()
- {
- if (connected ()) {
- try {
- connected_ = false;
- peer ().close ();
- } catch (IOException e) {
- return -1;
- }
- }
-
- return 0;
- }
-
- /**
- * Send the given request to the token service, throwing a
- * LockException on error.
- */
- protected void sendRequest (TokenRequest request) throws LockException
- {
- try {
- if (!connected ())
- reconnect ();
-
- request.streamOutTo (peer ().dataOutputStream ());
-
- } catch (IOException e) {
- close ();
- throw new LockException (e.getMessage ());
- }
- }
-
- /**
- * Receive a reply from the token service, throwing a LockException
- * on error.
- */
- protected void receiveReply (TokenReply reply) throws LockException
- {
- if (!connected ())
- throw new LockException ("Proxy wasn't connected, any replies lost");
-
- try {
-
- reply.streamInFrom (peer ().dataInputStream ());
-
- } catch (IOException e) {
- close ();
- throw new LockException (e.getMessage ());
- }
- }
-
- /**
- * For errors that shouldn't generate exceptions, return the
- * appropriate result code as defined in AbstractLock.
- *
- *@return AbstractLock.SUCCESS or AbstractLock.FAILURE
- */
- protected int processErrno (TokenReply reply)
- {
- switch (reply.errno ())
- {
- case TokenReply.NO_ERRORS:
- return AbstractLock.SUCCESS;
- case TokenReply.EIO:
- close ();
- return AbstractLock.FAILURE;
- default:
- return AbstractLock.FAILURE;
- }
- }
-
- /**
- * Make a request to the token service with the given operation
- * type and arguments.
- *
- *@see LockOperations
- *@see LockTypes
- *@param operationType type of operation to perform
- *@param proxyType type of proxy this is
- *@param requeuePosition put this owner at this position in the
- * waiting queue (only makes sense if the
- * operation is renew)
- *@return AbstractLock.SUCCESS or AbstractLock.FAILURE
- *@exception LockException remote access error occured
- */
- protected int makeRequest (int operationType,
- int proxyType,
- int requeuePosition)
- throws LockException
- {
- request_.operationType (operationType);
- request_.proxyType (proxyType);
- request_.requeuePosition (requeuePosition);
- request_.useTimeout (false);
-
- sendRequest (request_);
- receiveReply (reply_);
-
- // make sure that if someone does send a magic cookie arg back,
- // to keep it going
- request_.arg (reply_.arg ());
-
- return processErrno (reply_);
- }
-
- /**
- * Make a request to the token service with the given arguments
- * that must be performed by the given absolute time timeout.
- * Currently, the timeout is managed by the remote service.
- *
- *@see LockOperations
- *@see LockTypes
- *@param operationType type of operation to perform
- *@param proxyType type of proxy this is
- *@param requeuePosition put this owner at this position in the
- * waiting queue (only makes sense if the
- * operation is renew)
- *@param timeout absolute time timeout to accomplish the operation by
- *@return AbstractLock.SUCCESS or AbstractLock.FAILURE
- *@exception LockException remote access error occured
- */
- protected int makeRequest (int operationType,
- int proxyType,
- int requeuePosition,
- TimeValue timeout)
- throws LockException, TimeoutException
- {
- request_.operationType (operationType);
- request_.proxyType (proxyType);
- request_.requeuePosition (requeuePosition);
- request_.useTimeout (timeout);
-
- sendRequest (request_);
- receiveReply (reply_);
-
- request_.arg (reply_.arg ());
-
- if (reply_.errno () == TokenReply.ETIME)
- throw new TimeoutException (timeout, "Remote Lock");
-
- return processErrno (reply_);
- }
-
- /**
- * Acquire ownership of the lock, blocking indefinitely if necessary.
- * <P>
- *@return AbstractLock.FAILURE or AbstractLock.SUCCESS
- *@exception LockException a remote error occured
- */
- public int acquire () throws LockException
- {
- return makeRequest (LockOperations.ACQUIRE, 0, 0);
- }
-
- /**
- * Acquire ownership of the lock by the given absolute time time-out.
- * A value of null for the timeout parameter results in a blocking
- * acquire.
- * A value of TimeValue.zero throws a TimeoutException if the
- * acquire would block.
- * <P>
- *@param timeout absolute time by which the lock must be acquired
- *@return appropriate Lock return value (AbstractLock.FAILURE,
- * AbstractLock.SUCCESS or AbstractLock.SLEEPHOOK)
- *@exception LockException a remote error occured
- *@exception JACE.ASX.TimeoutException thrown when the lock is not
- * obtained by the desired time
- *@see #tryAcquire
- */
- public int acquire (TimeValue timeout)
- throws LockException, TimeoutException
- {
- return makeRequest (LockOperations.ACQUIRE, 0, 0, timeout);
- }
-
- /**
- * Acquire a read lock, blocking indefinitely if necessary.
- *
- *@return AbstractLock.FAILURE or AbstractLock.SUCCESS
- *@exception LockException a remote error occured
- */
- public int acquireRead () throws LockException
- {
- return makeRequest (LockOperations.ACQUIRE,
- LockTypes.READ_LOCK_PROXY,
- 0);
- }
-
- /**
- * Acquire a read lock by the given absolute time time-out.
- *
- *@param timeout absolute time by which the lock must be acquired
- *@return appropriate lock return value (AbstractLock.FAILURE,
- * AbstractLock.SUCCESS or AbstractLock.SLEEPHOOK)
- *@exception LockException a remote error occured
- *@exception JACE.ASX.TimeoutException thrown when the lock is not
- * obtained by the desired time
- *@see #tryAcquireRead
- */
- public int acquireRead (TimeValue timeout)
- throws LockException, TimeoutException
- {
- return makeRequest (LockOperations.ACQUIRE,
- LockTypes.READ_LOCK_PROXY,
- 0,
- timeout);
- }
-
- /**
- * Acquire a write lock, blocking indefinitely if necessary.
- *
- *@return AbstractLock.FAILURE or AbstractLock.SUCCESS
- *@exception LockException a remote error occured
- */
- public int acquireWrite ()
- throws LockException
- {
- return makeRequest (LockOperations.ACQUIRE,
- LockTypes.WRITE_LOCK_PROXY,
- 0);
- }
-
- /**
- * Acquire a write lock by the given absolute time time-out.
- *
- *@param timeout absolute time by which the lock must be acquired
- *@return appropriate lock return value (AbstractLock.FAILURE,
- * AbstractLock.SUCCESS or AbstractLock.SLEEPHOOK)
- *@exception LockException a remote error occured
- *@exception JACE.ASX.TimeoutException thrown when the lock is not
- * obtained by the desired time
- *@see #tryAcquireWrite
- */
- public int acquireWrite (TimeValue timeout)
- throws LockException, TimeoutException
- {
- return makeRequest (LockOperations.ACQUIRE,
- LockTypes.WRITE_LOCK_PROXY,
- 0,
- timeout);
- }
-
-
- /**
- * Give up the lock to some number of waiting threads (if any), then
- * reacquire, blocking indefinitely if necessary.
- * <P>
- * An optimized method that efficiently reacquires the token if no
- * other threads are waiting. This is useful for situations where
- * you don't want to degrade the quality of service if there are
- * other threads waiting to get the token.
- * <P>
- *@param requeuePosition position in the waiters queue to insert
- * this thread. If this value is -1 and there are other
- * threads waiting to obtain the token, this thread is queued
- * at the end. If this value is greater than -1, then it
- * indicates how many entries to skip over before inserting
- * our thread into the queue. (For example, if it is 0,
- * this thread is put at the front of the queue.) If this
- * value is greater than the number of waiters, this thread is
- * simply put at the end of the current waiters queue.
- *@return AbstractLock.FAILURE or AbstractLock.SUCCESS
- *@exception LockException a remote error occured
- */
- public int renew (int requeuePosition)
- throws LockException
- {
- return makeRequest (LockOperations.RENEW,
- 0,
- requeuePosition);
- }
-
- /**
- * Give up the lock to some waiting threads (if any), then reacquire
- * by the given absolute time time-out.
- * <P>
- * An optimized method that efficiently reacquires the token if no
- * other threads are waiting. This is useful for situations where
- * you don't want to degrade the quality of service if there are
- * other threads waiting to get the token.
- * <P>
- * A value of null for the timeout indicates a blocking renew.
- * <P>
- *@param requeuePosition position in the waiters queue to insert
- * this thread. If this value is -1 and there are other
- * threads waiting to obtain the token, this thread is queued
- * at the end. If this value is greater than -1, then it
- * indicates how many entries to skip over before inserting
- * our thread into the queue. (For example, if it is 0,
- * this thread is put at the front of the queue.) If this
- * value is greater than the number of waiters, this thread is
- * simply put at the end of the current waiters queue.
- *
- *@param timeout absolute time by which the lock must be reacquired
- *
- *@return appropriate AbstractLock return value
- * (AbstractLock.FAILURE or AbstractLock.SUCCESS)
- *@exception LockException a remote error occured
- *@exception JACE.ASX.TimeoutException thrown when the lock is not
- * obtained by the desired time
- */
- public int renew (int requeuePosition, TimeValue timeout)
- throws LockException, TimeoutException
- {
- return makeRequest (LockOperations.RENEW,
- 0,
- requeuePosition,
- timeout);
- }
-
- /**
- * Try to acquire the lock without blocking.
- * <P>
- *@return appropriate AbstractLock return value
- * (AbstractLock.FAILURE or AbstractLock.SUCCESS)
- *@exception LockException a remote error occured
- */
- public int tryAcquire () throws LockException
- {
- return makeRequest (LockOperations.TRY_ACQUIRE, 0, 0);
- }
-
- /**
- * Try to acquire a read lock without blocking.
- * <P>
- *@return appropriate AbstractLock return value
- * (AbstractLock.FAILURE or AbstractLock.SUCCESS)
- *@exception LockException a remote error occured
- */
- public int tryAcquireRead () throws LockException
- {
- return makeRequest (LockOperations.TRY_ACQUIRE,
- LockTypes.READ_LOCK_PROXY,
- 0);
- }
-
- /**
- * Try to acquire a write lock without blocking.
- *
- *@return appropriate AbstractLock return value
- * (AbstractLock.FAILURE or AbstractLock.SUCCESS)
- *@exception LockException a remote error occured
- */
- public int tryAcquireWrite () throws LockException
- {
- return makeRequest (LockOperations.TRY_ACQUIRE,
- LockTypes.WRITE_LOCK_PROXY,
- 0);
- }
-
- /**
- * Release ownership of this lock.
- *
- *@return appropriate AbstractLock return value
- * (AbstractLock.FAILURE or AbstractLock.SUCCESS)
- *@exception LockException a remote error occured
- */
- public int release () throws LockException
- {
- return makeRequest (LockOperations.RELEASE, 0, 0);
- }
-
- /**
- * Closes the connection to the server (if it is still open).
- */
- protected void finalize () throws Throwable
- {
- close ();
- }
-
- /**
- * No-op implementation for the sleep hook (unused).
- */
- public void sleepHook () {}
-
- /** Status of whether this RemoteLock is connected to the server or not */
- protected boolean connected_ = false;
-
- /** Request object for transmissions to the server */
- protected TokenRequest request_;
-
- /** Reply object for receiving transmissions from the server */
- protected TokenReply reply_;
-
- /** Host name of the token service */
- protected String host_;
-
- /** Port number of the token service */
- protected int port_;
-}
diff --git a/java/JACE/netsvcs/Token/RemoteMutex.java b/java/JACE/netsvcs/Token/RemoteMutex.java
deleted file mode 100644
index 7f2a4311116..00000000000
--- a/java/JACE/netsvcs/Token/RemoteMutex.java
+++ /dev/null
@@ -1,28 +0,0 @@
-package JACE.netsvcs.Token;
-
-/**
- * Proxy used by clients for accessing a mutex at the token service.
- */
-public class RemoteMutex extends RemoteLock
-{
- /**
- * Constructor.
- *
- *@param tokenName name of the mutex to access
- *@param clientID identification of this client
- *@param host host of the token service
- *@param port port number of the token service
- */
- public RemoteMutex (String tokenName,
- String clientID,
- String host,
- int port)
- {
- super (LockTypes.MUTEX,
- 0,
- tokenName,
- clientID,
- host,
- port);
- }
-}
diff --git a/java/JACE/netsvcs/Token/RemoteRWMutex.java b/java/JACE/netsvcs/Token/RemoteRWMutex.java
deleted file mode 100644
index cc666bfd70f..00000000000
--- a/java/JACE/netsvcs/Token/RemoteRWMutex.java
+++ /dev/null
@@ -1,29 +0,0 @@
-package JACE.netsvcs.Token;
-
-/**
- * Proxy used by clients for accessing a reader/writer mutex
- * at the token service.
- */
-public class RemoteRWMutex extends RemoteLock
-{
- /**
- * Constructor.
- *
- *@param tokenName name of the reader/writer lock to access
- *@param clientID identification of this client
- *@param host host of the token service
- *@param port port number of the token service
- */
- public RemoteRWMutex (String tokenName,
- String clientID,
- String host,
- int port)
- {
- super (LockTypes.RWLOCK,
- 0,
- tokenName,
- clientID,
- host,
- port);
- }
-}
diff --git a/java/JACE/netsvcs/Token/TokenAcceptor.java b/java/JACE/netsvcs/Token/TokenAcceptor.java
deleted file mode 100644
index 53adf08753b..00000000000
--- a/java/JACE/netsvcs/Token/TokenAcceptor.java
+++ /dev/null
@@ -1,353 +0,0 @@
-package JACE.netsvcs.Token;
-
-import java.io.*;
-import java.net.*;
-import java.util.*;
-import JACE.OS.*;
-import JACE.Misc.*;
-import JACE.Connection.*;
-import JACE.netsvcs.Server;
-
-/**
- * Server for the token service. Launches TokenRequestHandlers as
- * connections are made. Currently, the activation strategy must be
- * thread per connection since the operations are allowed to block
- * during acquires, etc.
- * <P>
- * Two types of locks are supported by default -- Mutex and RWMutex.
- * New lock types can be added from the command line without changing
- * any code in the service. To do this, just create a class which
- * implements the LockHandler interface.
- * <P>
- * When a request for a new lock comes in, a LockHandler of the corresponding
- * type is created and a mapping is created between the lock name and the
- * handler. Later requests reuse that mapping.
- * <P>
- * <B>Valid command line arguments:</B>
- * <PRE>
- * -f (class name):(type) Specify a LockHandler for a type of lock");
- * -p (port number) Port to listen on for clients");
- * -d Enable debugging messages");
- * </PRE>
- *
- *@see JACE.netsvcs.Server
- *@see TokenRequestHandler
- *@see LockHandler
- *@see LockTypes
- */
-public class TokenAcceptor extends Server
-{
- protected void addDefaultFactories() throws ClassNotFoundException {
- addHandlerFactory(LockTypes.MUTEX,
- Class.forName("JACE.netsvcs.Token.MutexHandler"));
- addHandlerFactory(LockTypes.RWLOCK,
- Class.forName("JACE.netsvcs.Token.RWMutexHandler"));
- }
-
- /**
- * Default constructor.
- */
- public TokenAcceptor() {
-
- // Set the name in case we aren't using the service configurator.
- name ("Token Service");
-
- lockHandlerMap_ = new Hashtable();
- handlerFactoryMap_ = new Hashtable();
- clientHandlerMap_ = new Hashtable ();
- }
-
- /**
- * Add a map between a type of lock and the factory which
- * creates LockHandler instances that handle it.
- *
- *@see LockTypes
- *@param type number representing the type of lock
- *@param factory Class object for a LockHandler class
- */
- public void addHandlerFactory(Integer type, Class factory) {
- handlerFactoryMap_.put(type, factory);
- }
-
- /**
- * Add a map between a type of lock and the factory which
- * creates LockHandler instances that handle it.
- *
- *@see LockTypes
- *@param type number representing the type of lock
- *@param factory Class object for a LockHandler class
- */
- public void addHandlerFactory(int type, Class factory) {
- addHandlerFactory(new Integer(type), factory);
- }
-
- /**
- * Remove the LockHandler factory which handles locks
- * of the specified type.
- *
- *@param type type of LockHandler to cease supporting
- *@return the LockHandler instance (or null if not found)
- */
- public Object removeHandlerFactory(Integer type) {
- return handlerFactoryMap_.remove(type);
- }
-
- /**
- * Remove the LockHandler factory which handles locks
- * of the specified type.
- *
- *@param type type of LockHandler to cease supporting
- *@return the LockHandler instance (or null if not found)
- */
- public Object removeHandlerFactory(int type) {
- return handlerFactoryMap_.remove(new Integer(type));
- }
-
- /**
- * Retrieve the LockHandler corresponding to the given name
- * or create a new one if it doesn't exist. This is called by
- * TokenRequestHandlers.
- *
- *@param lockName name of the lock to retrieve or create a LockHandler for
- *@param lockType type of the lock
- *@return LockHandler which handles the lock with that name
- */
- public LockHandler getLockHandler (String lockName,
- int lockType) {
- synchronized (lockHandlerMap_) {
-
- Object obj = lockHandlerMap_.get(lockName);
-
- if (obj != null)
- return (LockHandler)obj;
- else {
- LockHandler handler = newHandler (lockType);
- lockHandlerMap_.put (lockName, handler);
- return handler;
- }
- }
- }
-
- /**
- * Create a new LockHandler of the specified type.
- *
- *@param type type of LockHandler to create
- *@return a new LockHandler instance
- */
- protected LockHandler newHandler (int type) {
- ACE.DEBUG ("Creating new handler of type " + type);
- Object factoryObj = handlerFactoryMap_.get(new Integer(type));
- if (factoryObj == null)
- return null;
-
- Class factory = (Class)factoryObj;
- LockHandler handler = null;
-
- try {
- handler = (LockHandler)factory.newInstance();
- } catch (InstantiationException e) {
- ACE.ERROR("Can't create a handler of type " + type);
- } catch (IllegalAccessException e) {
- ACE.ERROR("Handler of type " + type +
- " must have a default constructor");
- }
- return handler;
- }
-
- /**
- * Simple main program. See the class description for more
- * information about command line arguments.
- */
- public static void main(String args[]) {
- TokenAcceptor ta = new TokenAcceptor();
-
- ta.init(args);
- }
-
- /**
- * Create a new TokenRequestHandler instance.
- */
- protected SvcHandler makeSvcHandler()
- {
- return new TokenRequestHandler();
- }
-
- /**
- * Sets up the default factories so the user can override them on
- * the command line, then delegates back to Server.init (String[]).
- *
- *@see JACE.netsvcs.Server#init
- *@param args command line arguments
- *@return -1 on failure, 0 on success
- */
- public int init(String [] args) {
- try {
- addDefaultFactories ();
- } catch (ClassNotFoundException e) {
- ACE.ERROR ("Can't find default factory " + e.getMessage ());
- return -1;
- }
-
- return super.init (args);
- }
-
- /**
- * Prints out the valid command line arguments. See the class
- * description for more information. Called by Server.init when
- * parseArgs returns -1.
- */
- protected void printUsage ()
- {
- ACE.ERROR ("Valid options:\n");
- ACE.ERROR ("-f <class name>:<type> Specify a handler for a type of lock");
- ACE.ERROR ("-p <port number> Port to listen on for clients");
- ACE.ERROR ("-d Enable debugging messages");
- }
-
- /**
- * Parses the command line arguments. See the class description
- * for more information.
- *
- *@param args command line arguments
- *@return -1 on failure, 0 on success
- */
- protected int parseArgs(String [] args)
- {
- int c = 0;
- GetOpt opt = new GetOpt(args, "p:f:d", true);
-
- try {
-
- while ((c = opt.next ()) != -1) {
- switch (c)
- {
- case 'd':
- ACE.enableDebugging ();
- ACE.DEBUG ("Debugging is enabled");
- break;
- case 'p':
- if (!port (opt.optarg ()))
- return -1;
- break;
- case 'f':
- if (newHandlerFactory (opt.optarg ()) < 0)
- return -1;
- break;
- default:
- ACE.ERROR("Unknown argument: " + (char)c);
- return -1;
- }
- }
- } catch (ArrayIndexOutOfBoundsException e) {
- ACE.ERROR ("Option -" + (char)c + " requires an argument");
- return -1;
- }
-
- return 0;
- }
-
- /**
- * Load the Class for the specified LockHandler and create a mapping
- * from its type to the Class instance. Used to parse the command
- * line pair of (class name):(type).
- *
- *@param nameAndType (class name):(type) pair from the command line
- *@return -1 on failure, 0 on success
- */
- protected int newHandlerFactory (String nameAndType)
- {
- int colon = nameAndType.lastIndexOf (':');
-
- if (colon < 1) {
- ACE.ERROR ("Invalid -f <class name>:<type num> for handler: " +
- nameAndType);
- return -1;
- }
-
- int type = 0;
- try {
- type = Integer.parseInt (nameAndType.substring (colon + 1));
- } catch (NumberFormatException e) {
- ACE.ERROR ("Invalid token type: " + e.getMessage ());
- return -1;
- }
-
- String name = nameAndType.substring (0, colon);
-
- Class factory;
- try {
- factory = Class.forName (name);
- } catch (ClassNotFoundException e) {
- ACE.ERROR (e.getMessage ());
- return -1;
- }
-
- addHandlerFactory (type, factory);
- ACE.DEBUG ("New handler " + name + " with type " + type);
-
- return 0;
- }
-
- /**
- * Create a mapping between a client ID and a LockHandler. This is
- * only used by TokenRequestHandlers in order to keep track of which
- * locks a client touches. That way, if/when a client disconnects,
- * all its locks can be abandoned successfully.
- *
- *@param clientID client identification (key in the mapping)
- *@param handler LockHandler to map to (value in the mapping)
- *
- */
- void addClientLockHandler (String clientID,
- LockHandler handler)
- {
- Object obj = clientHandlerMap_.get (clientID);
- if (obj == null) {
- // Probably won't have more than 10 locks per client ID, and the Vector
- // should resize automatically even if someone does.
- Vector handlerList = new Vector (10);
- handlerList.addElement (handler);
- clientHandlerMap_.put (clientID, handlerList);
- } else {
- Vector handlerList = (Vector)obj;
- int alreadyThereIndex = handlerList.indexOf (handler);
- if (alreadyThereIndex == -1)
- handlerList.addElement (handler);
- }
- }
-
- /**
- * Called by TokenRequestHandlers to remove a specified client ID
- * from the client ID to LockHandler mapping.
- */
- void removeClient (String clientID)
- {
- clientHandlerMap_.remove (clientID);
- }
-
- /**
- * Called by TokenRequestHandlers to obtain a list of all LockHandlers
- * accessed by a particular client. Useful for abandoning the locks.
- */
- Enumeration getClientLockHandlers (String clientID)
- {
- Object obj = clientHandlerMap_.get (clientID);
- if (obj == null)
- return null;
- else
- return ((Vector)obj).elements ();
- }
-
- // These should be replaced by weak hash maps when available
-
- // Map consisting of (token name) to (LockHandler instance) pairs
- private Hashtable lockHandlerMap_;
-
- // Map consisting of (Integer token type) to (Class instance for
- // corresponding LockHandler class)
- private Hashtable handlerFactoryMap_;
-
- // Map consisting of (client ID) to (Vector of LockHandler) pairs
- private Hashtable clientHandlerMap_;
-}
-
diff --git a/java/JACE/netsvcs/Token/TokenReply.java b/java/JACE/netsvcs/Token/TokenReply.java
deleted file mode 100644
index 35f50901610..00000000000
--- a/java/JACE/netsvcs/Token/TokenReply.java
+++ /dev/null
@@ -1,171 +0,0 @@
-package JACE.netsvcs.Token;
-
-import java.io.*;
-import JACE.ASX.*;
-import JACE.OS.*;
-
-/**
- * Reply from a lock operation, and constants involved in it.
- * This is compatible with the C++ ACE version. The user probably
- * never deals directly with the constant errno values in Java ACE since
- * the proxy (RemoteLock) should hide those details.
- */
-public class TokenReply
-{
-
- /** indicates success */
- public static final int NO_ERRORS = 0;
-
- /** indicates a timeout */
- public static final int ETIME = 62;
-
- /** indicates the operation was interrupted */
- public static final int EINTR = 4;
-
- /** deadlock indication errno (JACE currently doesn't implement a
- * deadlock detection system, but C++ ACE does and JACE proxies
- * act appropriately).
- */
- public static final int EDEADLK = 45;
-
- /** indicates the operation would block, used in tryAcquire */
- public static final int EWOULDBLOCK = 11;
-
- /** indicates a token name or client ID was too long */
- public static final int ENAMETOOLONG = 78;
-
- /** indicates an operation type was not supported */
- public static final int ENOTSUP = 48;
-
- /** indicates that this client was not the owner of the lock,
- * so couldn't perform the desired operation */
- public static final int EACCES = 13;
-
- /** indicates an IO error occured during transmission of the request */
- public static final int EIO = 5;
-
- /** indicates a generic failure to complete the request */
- public static final int EFAULT = 14;
-
- /** indicates an operation was requested on an unknown type of token */
- public static final int EINVAL = 22;
-
- /** constant length of a valid token reply */
- private final static int LENGTH = 12;
-
- /** error code */
- private int errno_;
-
- /** argument (unused in JACE) */
- private int arg_;
-
- /** Dump the state of this TokenReply to a String */
- public String toString ()
- {
- return "TokenReply(" + this.length() + ", " + this.errno_
- + ", " + this.arg_ + ")";
- }
-
- /** Default constructor (NO_ERRORS) */
- public TokenReply ()
- {
- errno_ = NO_ERRORS;
- arg_ = 0;
- }
-
- /** Constructor which takes the error code and argument */
- public TokenReply (int errno, int arg)
- {
- errno_ = errno;
- arg_ = arg;
- }
-
- /**
- * Accessor for the length of this TokenReply.
- */
- public int length ()
- {
- return LENGTH;
- }
-
- /** Accessor for the error code of this TokenReply. */
- public int errno ()
- {
- return errno_;
- }
-
- /**
- * Set the error code of this TokenReply.
- */
- public void errno (int value)
- {
- errno_ = value;
- }
-
- /**
- * Accessor of the argument of this TokenReply. (Unused in JACE)
- */
- public int arg ()
- {
- return arg_;
- }
-
- /**
- * Set the argument of this TokenReply. (Unused in JACE)
- */
- public void arg (int value)
- {
- arg_ = value;
- }
-
- /**
- * Read this TokenReply in from the given InputStream.
- */
- public void streamInFrom (InputStream is)
- throws IOException, EOFException
- {
- BufferedInputStream bis = new BufferedInputStream (is, LENGTH);
- DataInputStream dis = new DataInputStream (bis);
-
- streamInFrom (dis);
- }
-
- /**
- * Read this TokenReply in from the given DataInputStream.
- */
- public void streamInFrom (DataInputStream dis)
- throws IOException, EOFException
- {
- int length = dis.readInt ();
- if (length != LENGTH)
- throw new IOException ("Invalid TokenReply length " + length);
-
- this.errno_ = dis.readInt ();
- this.arg_ = dis.readInt ();
- }
-
- /**
- * Write this TokenReply out to the given OutputStream.
- */
- public void streamOutTo (OutputStream os)
- throws IOException
- {
- BufferedOutputStream bos = new BufferedOutputStream (os, LENGTH);
- DataOutputStream dos = new DataOutputStream (bos);
-
- streamOutTo (dos);
- }
-
- /**
- * Write this TokenReply out to the given DataOutputStream.
- */
- public void streamOutTo (DataOutputStream dos)
- throws IOException
- {
- dos.writeInt (LENGTH);
- dos.writeInt (this.errno_);
- dos.writeInt (this.arg_);
-
- dos.flush ();
- }
-}
diff --git a/java/JACE/netsvcs/Token/TokenRequest.java b/java/JACE/netsvcs/Token/TokenRequest.java
deleted file mode 100644
index eb1113428c5..00000000000
--- a/java/JACE/netsvcs/Token/TokenRequest.java
+++ /dev/null
@@ -1,426 +0,0 @@
-package JACE.netsvcs.Token;
-
-import java.io.*;
-import JACE.ASX.*;
-import JACE.OS.*;
-
-/**
- * Request for an operation on a lock. This is compatible with the
- * C++ ACE version. The US-ASCII character encoding is used for
- * String to byte conversions (and vice versa). If
- * that encoding isn't supported, it attempts to use the default
- * encoding (but prints a message). Users probably never need to
- * deal with this class directly. The notify field isn't used
- * in JACE (or in C++ ACE as far as I can tell).
- *
- *@author Everett Anderson
- */
-public class TokenRequest
-{
- /** Maximum length for a token name */
- public final static int MAX_TOKEN_NAME_LEN = 40;
-
- /** Maximum length for a client ID */
- public final static int MAX_CLIENT_ID_LEN = 276;
-
- /** Length of the fixed size header */
- protected final static int HEADER_LEN = 40;
-
- /** Maximum length of any TokenRequest (total) */
- protected final static int MAX_LEN = 359;
-
- /**
- * Dump this TokenRequest's state out to a String.
- */
- public String toString()
- {
- return "TokenRequest(" + this.length() + ", " +
- this.tokenType_ + ", " +
- this.proxyType_ + ", " +
- this.operationType_ + ", " +
- this.requeuePosition_ + ", " +
- this.notify_ + ", " +
- this.useTimeout_ + ", " +
- this.sec_ + ", " +
- this.usec_ + ", " +
- this.arg_ + ", " +
- this.tokenName_ + ", " +
- this.clientID_ + ")";
- }
-
- /** Default constructor. */
- public TokenRequest()
- {
- // Remember that the length is transmitted first
- tokenType_ = 0;
- proxyType_ = 0;
- operationType_ = 0;
- requeuePosition_ = 0;
- notify_ = 0;
- useTimeout_ = 0;
- sec_ = 0;
- usec_ = 0;
- arg_ = 0;
- tokenName_ = "";
- clientID_ = "";
- // Transmission is "<10 ints><token name>(null):<clientID>(null)"
-
- charEncoding_ = "US-ASCII";
-
- buffer_ = new byte[MAX_LEN];
- }
-
- /**
- * Create a request which doesn't use timeouts.
- *
- *@param tokenType type of token (usually a constant in LockTypes)
- *@param proxyType type of proxy (usually a constant in LockTypes)
- *@param operationType type of operation (usually a constant in
- * LockOperations)
- *@param tokenName name of the token to operate on
- *@param clientID name of the client requesting an operation
- *
- *@see LockTypes
- *@see LockOperations
- */
- public TokenRequest(int tokenType,
- int proxyType,
- int operationType,
- String tokenName,
- String clientID)
- {
- this();
-
- this.tokenType_ = tokenType;
- this.proxyType_ = proxyType;
- this.operationType_ = operationType;
- this.tokenName_ = tokenName;
- this.clientID_ = clientID;
- }
-
- /**
- * Create a request which uses the given absolute time timeout.
- *
- *@param tokenType type of token (usually a constant in LockTypes)
- *@param proxyType type of proxy (usually a constant in LockTypes)
- *@param operationType type of operation (usually a constant in
- * LockOperations)
- *@param tokenName name of the token to operate on
- *@param clientID name of the client requesting an operation
- *@param tv absolute time timeout to process the request by
- *
- *@see LockTypes
- *@see LockOperations
- */
- public TokenRequest(int tokenType,
- int proxyType,
- int operationType,
- String tokenName,
- String clientID,
- TimeValue tv)
- {
- this(tokenType,
- proxyType,
- operationType,
- tokenName,
- clientID);
-
- this.useTimeout_ = 1;
- this.sec_ = (int)tv.sec();
- this.usec_ = tv.nanos() / 1000;
- }
-
- /**
- * Return the length of this TokenRequest.
- * <P>
- * Details:
- * <PRE>
- * Fixed size header of length HEADER_LEN
- * token name
- * null
- * :
- * client ID
- * null
- * </PRE>
- */
- public int length()
- {
- return (HEADER_LEN +
- this.tokenName_.length() +
- this.clientID_.length() + 3);
- }
-
- /** Accessor for the token type. */
- public int tokenType()
- {
- return this.tokenType_;
- }
- /** Set the token type. */
- public void tokenType(int type)
- {
- this.tokenType_ = type;
- }
- /** Accessor for the proxy type. */
- public int proxyType()
- {
- return this.proxyType_;
- }
- /** Set the proxy type. */
- public void proxyType(int type)
- {
- this.proxyType_ = type;
- }
- /** Accessor for the operation type. */
- public int operationType()
- {
- return this.operationType_;
- }
- /** Set the operation type. */
- public void operationType(int type)
- {
- this.operationType_ = type;
- }
- /** Accessor for the requeue position. This only makes
- * sense for a renew operation. */
- public int requeuePosition()
- {
- return this.requeuePosition_;
- }
- /** Set the requeue position. This only makes sense for
- * a renew operation. */
- public void requeuePosition(int position)
- {
- this.requeuePosition_ = position;
- }
- /** Accessor for the flag to determine if a timeout should be used. */
- public boolean useTimeout()
- {
- return (this.useTimeout_ == 1 ? true : false);
- }
- /** Set the flag to enable or disable use of timeouts.
- */
- public void useTimeout(boolean useIt)
- {
- this.useTimeout_ = (useIt == true ? 1 : 0);
- }
-
- /**
- * Set the absolute time timeout to the given TimeValue's value, and
- * enable the useTimeout flag.
- */
- public void useTimeout (TimeValue timeout)
- {
- this.useTimeout_ = 1;
- this.sec_ = (int)timeout.sec ();
- this.usec_ = timeout.nanos () / 1000;
- }
-
- /**
- * Accessor for the seconds component of the absolute time timeout.
- */
- public int sec()
- {
- return this.sec_;
- }
- /** Set the seconds component of the timeout. */
- public void sec(int sec)
- {
- this.sec_ = sec;
- }
- /** Accessor for the usec component of the timeout. */
- public int usec()
- {
- return this.usec_;
- }
- /** Set the usec component of the timeout. */
- public void usec(int usec)
- {
- this.usec_ = usec;
- }
- /** Accessor for the arg value. (unused in JACE) */
- public int arg()
- {
- return this.arg_;
- }
- /** Set the arg value. (unused in JACE) */
- public void arg(int arg)
- {
- this.arg_ = arg;
- }
-
- /** Accessor for the name of the token. */
- public String tokenName()
- {
- return this.tokenName_;
- }
-
- /** Set the name of the token. */
- public void tokenName(String name)
- {
- this.tokenName_ = name;
- }
-
- /** Accessor for the client identification string. */
- public String clientID()
- {
- return this.clientID_;
- }
-
- /** Set the client identification string. */
- public void clientID(String ID)
- {
- this.clientID_ = ID;
- }
-
- /**
- * Construct a String from a specific subset of the byte array.
- * The string begins at the start index and ends at either the
- * end of the buffer or the first byte with value 0 (null).
- * Tries to use the specified encoding, but uses the default
- * platform encoding if it isn't available.
- *
- *@param start beginning index in the buffer
- *@param bufferLength total length of the buffer
- */
- protected String stringFromBuffer(int start, int bufferLength)
- {
- int end = start;
- String result = null;
-
- while (end < bufferLength && this.buffer_[end] != 0)
- end++;
-
- try {
- result = new String(this.buffer_,
- start,
- end - start,
- this.charEncoding_);
- } catch (UnsupportedEncodingException e) {
- ACE.ERROR(this.charEncoding_ + " is not supported!");
- result = new String (this.buffer_, start, end - start);
- }
-
- return result;
- }
-
- /**
- * Read the request in from the given InputStream.
- */
- public void streamInFrom(InputStream is)
- throws IOException, EOFException
- {
- BufferedInputStream bis = new BufferedInputStream(is,
- MAX_LEN);
- DataInputStream dis = new DataInputStream(bis);
-
- streamInFrom (dis);
- }
-
- /**
- * Read the request in from the given DataInputStream.
- */
- public void streamInFrom (DataInputStream dis)
- throws IOException, EOFException
- {
- int length = dis.readInt();
- if (length > MAX_LEN || length < HEADER_LEN + 5)
- throw new IOException ("Invalid TokenRequest length: " + length);
-
- this.tokenType_ = dis.readInt();
- this.proxyType_ = dis.readInt();
- this.operationType_ = dis.readInt();
- this.requeuePosition_ = dis.readInt();
- this.notify_ = dis.readInt();
- this.useTimeout_ = dis.readInt();
- this.sec_ = dis.readInt();
- this.usec_ = dis.readInt();
- this.arg_ = dis.readInt();
-
- int total = dis.read(this.buffer_, 0, length - HEADER_LEN);
-
- this.tokenName_ = this.stringFromBuffer(0, total);
-
- this.clientID_ = this.stringFromBuffer(this.tokenName_.length() + 2,
- total);
-
- if (this.tokenName_.length() > MAX_TOKEN_NAME_LEN ||
- this.clientID_.length() > MAX_CLIENT_ID_LEN)
- throw new IOException("Exceeds maximum token name or client ID");
- }
-
- /**
- * Write the request out to the given OutputStream.
- */
- public void streamOutTo (OutputStream os)
- throws IOException
- {
- BufferedOutputStream bos = new BufferedOutputStream(os);
- DataOutputStream dos = new DataOutputStream(bos);
-
- streamOutTo (dos);
- }
-
- /**
- * Write the request out to the given DataOutputStream. Tries to use
- * the specified encoding to the convert the token name and client ID
- * to bytes, but uses the platform default encoding if necessary.
- */
- public void streamOutTo (DataOutputStream dos)
- throws IOException
- {
- dos.writeInt(this.length());
- dos.writeInt(this.tokenType_);
- dos.writeInt(this.proxyType_);
- dos.writeInt(this.operationType_);
- dos.writeInt(this.requeuePosition_);
-
- dos.writeInt(this.notify_);
- dos.writeInt(this.useTimeout_);
- dos.writeInt(this.sec_);
- dos.writeInt(this.usec_);
- dos.writeInt(this.arg_);
-
- StringBuffer data = new StringBuffer(this.tokenName_.length() +
- this.clientID_.length() +
- 3);
-
- data.append(this.tokenName_);
- data.append('\0');
- data.append(':');
- data.append(this.clientID_);
- data.append('\0');
-
- byte buf [] = null;
- String dataString = data.toString ();
- try {
- buf = dataString.getBytes (this.charEncoding_);
- } catch (UnsupportedEncodingException e) {
- ACE.ERROR (charEncoding_ + " is unsupported, trying to use default");
- buf = dataString.getBytes ();
- }
-
- dos.write(buf, 0, buf.length);
- dos.flush();
- }
-
- private int tokenType_;
- private int proxyType_;
- private int operationType_;
- private int requeuePosition_;
- private int notify_;
- private int useTimeout_;
- private int sec_;
- private int usec_;
- private int arg_;
-
- private String tokenName_;
- private String clientID_;
-
- private byte buffer_[];
-
- /**
- * Character encoding to use for converting the token name and
- * client ID to/from bytes.
- */
- protected String charEncoding_;
-}
diff --git a/java/JACE/netsvcs/Token/TokenRequestHandler.java b/java/JACE/netsvcs/Token/TokenRequestHandler.java
deleted file mode 100644
index cb6d729f3bd..00000000000
--- a/java/JACE/netsvcs/Token/TokenRequestHandler.java
+++ /dev/null
@@ -1,180 +0,0 @@
-package JACE.netsvcs.Token;
-
-import java.io.*;
-import java.net.SocketException;
-import java.util.*;
-import JACE.Connection.*;
-import JACE.OS.*;
-import JACE.netsvcs.Handler;
-
-/**
- * Created by TokenAcceptor to handle token requests. Delegates to
- * the appropriate LockHandler. This is fairly robust, and can handle
- * multiple clients and locks (meaning requests can come in to this
- * handle with varying client IDs and token names and still be processed
- * and released appropriately.) Compatible with the C++ ACE token service.
- *
- *@author Everett Anderson
- */
-class TokenRequestHandler extends Handler
-{
- /**
- * Default constructor.
- */
- public TokenRequestHandler() {
- this.clients_ = new Vector (10);
- }
-
- /**
- * Creates a new TokenRequest instance.
- */
- public Object newRequest ()
- {
- return new TokenRequest ();
- }
-
- /**
- * Sends an error message to a client with the TokenReply.EIO
- * errno before abandoning the connection. This is used when an IO
- * error occured while receiving the request.
- *
- *@param lastRequest request object to get the arg from
- */
- protected void sendAbortMessage (TokenRequest lastRequest)
- {
- TokenReply reply = new TokenReply (TokenReply.EIO,
- lastRequest.arg ());
- try {
- reply.streamOutTo (this.peer ().dataOutputStream ());
- } catch (Exception e) {
- // Doesn't matter if there is an error here, we've abandoned
- // the connection.
- }
- }
-
- /**
- * Safely shuts down this handler, making sure to release any locks
- * that were touched by clients from this TokenRequestHandler.
- *
- *@return -1 on failure, 0 on success
- */
- public synchronized int close ()
- {
- // For every client X that has used this handler
- // for every LockHandler that X has used
- // release the lock until it fails because X isn't the owner
- // remove the client entries
- // Call Handler.close ()
- if (!done ()) {
-
- TokenAcceptor parent = (TokenAcceptor) parent ();
- Enumeration clientEnum = clients_.elements ();
-
- while (clientEnum.hasMoreElements ()) {
- String clientID = (String)clientEnum.nextElement ();
-
- Enumeration handlers = parent.getClientLockHandlers (clientID);
- if (handlers == null)
- continue;
-
- int num = 0;
-
- while (handlers.hasMoreElements ()) {
- LockHandler handler = (LockHandler)handlers.nextElement ();
-
- handler.abandonLock (clientID);
-
- num++;
- }
-
- parent.removeClient (clientID);
- }
-
- return super.close ();
- }
-
- return 0;
- }
-
- /**
- * Read in the given TokenRequest and delegates to the appropriate
- * LockHandler.
- *
- *@see JACE.netsvcs.Handler
- *@param requestObject TokenRequest object to use
- */
- public void processRequest (Object requestObject)
- throws SocketException, EOFException, IOException
- {
- TokenRequest request = (TokenRequest)requestObject;
- TokenAcceptor parent = (TokenAcceptor) parent ();
-
- try {
- request.streamInFrom (this.peer ().dataInputStream ());
-
- if (!request.tokenName ().equals (lastTokenName_)) {
- // Switched tokens:
- //
- // Either find a handler that's already been made (which would
- // mean this token has been accessed before), or create a new
- // one with a new token
- handler_ = parent.getLockHandler(request.tokenName(),
- request.tokenType());
-
- if (handler_ == null) {
- // The client asked for an operation on a type of token
- // that we don't know about.
- ACE.ERROR ("Unknown lock type: " + request.tokenType ());
- TokenReply error = new TokenReply (TokenReply.EINVAL,
- request.arg ());
- error.streamOutTo(this.peer ().dataOutputStream ());
- return;
- }
-
- // Add this LockHandler to the list of those accessed by
- // this clientID
- parent.addClientLockHandler (request.clientID (),
- handler_);
- }
-
- if (!request.clientID ().equals (lastClientID_)) {
- // Switched clients
-
- if (!clients_.contains (request.clientID ()))
- clients_.addElement (request.clientID ());
-
- parent.addClientLockHandler (request.clientID (),
- handler_);
- }
-
- lastClientID_ = request.clientID ();
- lastTokenName_ = request.tokenName ();
-
- TokenReply reply = handler_.handleRequest(this, request);
-
- reply.streamOutTo(this.peer ().dataOutputStream ());
-
- } catch (NullPointerException e) {
- sendAbortMessage (request);
- throw e;
- } catch (IOException e) {
- sendAbortMessage (request);
- throw e;
- }
- }
-
- // List of clientIDs that have been processed by this instance
- // of TokenRequestHandler. This is useful when abandoning the
- // locks of any clients that have been using this socket.
- private Vector clients_;
-
- // Name of the last token accessed
- private String lastTokenName_ = null;
-
- // Last client ID which accessed a token from this handler
- private String lastClientID_ = null;
-
- // Current LockHandler
- private LockHandler handler_ = null;
-}
-
diff --git a/java/JACE/netsvcs/Token/package.html b/java/JACE/netsvcs/Token/package.html
deleted file mode 100644
index 80777aecc0a..00000000000
--- a/java/JACE/netsvcs/Token/package.html
+++ /dev/null
@@ -1,16 +0,0 @@
-<!-- $Id$ -->
-<HTML>
-<BODY>
-Token Service for remote mutexes and reader/writer locks.
-<P>
-New types of lock can be easily added on the command line to the service
-without changing existing code by implementing a LockHandler for the new
-type.
-<P>
-A simple test client is available in the tests directory under
-netsvcs\Token.
-
-@see JACE.netsvcs.Token.LockHandler
-@see <a href="http://www.cs.wustl.edu/~schmidt/ACE-netsvcs.html">ACE Network Services</a>
-</BODY>
-</HTML>
diff --git a/java/JACE/netsvcs/package.html b/java/JACE/netsvcs/package.html
deleted file mode 100644
index a806080aece..00000000000
--- a/java/JACE/netsvcs/package.html
+++ /dev/null
@@ -1,11 +0,0 @@
-<!-- $Id$ -->
-<HTML>
-<BODY>
-Bases classes for the network services and two activation strategies.
-<P>
-Services can be loaded and managed via the Service Configurator.
-
-@see JACE.ServiceConfigurator
-@see <a href="http://www.cs.wustl.edu/~schmidt/ACE-netsvcs.html">ACE Network Services</a>
-</BODY>
-</HTML>
diff --git a/java/JACE/overview.html b/java/JACE/overview.html
deleted file mode 100644
index a0c2fdabd73..00000000000
--- a/java/JACE/overview.html
+++ /dev/null
@@ -1,84 +0,0 @@
-<!-- $Id$ -->
-<HTML>
-<BODY>
-Java ACE is a collection of Java packages containing classes that have been
-converted from the C++ version of the
-<A HREF="http://www.cs.wustl.edu/~schmidt/ACE.html">ADAPTIVE Communication
-Environment</A> (ACE).
-<P>
-The C++ version of ACE is a large object-oriented network programming toolkit
-which contains over 125,000 lines of C++ code and uses advanced C++ features
-like templates.
-</P>
-<P>The goal of converting ACE from C++ to Java is to provide a portable
-programming toolkit with a similar interface and functionality to the original
- version of ACE. This allows new and current users of C++ ACE an easy transition
-to Java and also adds significant value to programming concurrent Java
-networking applications. Note that applications written using Java ACE can
-communicate seamlessly over sockets with applications written using C++ ACE.
-</P>
-<P>
-The following diagram illustrates the architecture of the Java version of ACE:
-</P>
-
-<P ALIGN="CENTER">
-<IMG SRC="images/java-ace.gif" WIDTH="735" HEIGHT="339" ALIGN="BOTTOM" BORDER="0">
-</P>
-
-<P>
-The Java ACE architecture has fewer components than the diagram illustrating
-the architecture for the
-<A HREF="http://www.cs.wustl.edu/~schmidt/ACE-overview.html">C++ version
-of ACE </A>. This reduction in size occurs for two reasons. First, the Java
-Virtual Machine (JVM) handles many of the portability issues provided by C++
-ACE. Therefore, the OS adaptation layer is unnecessary. Second,
-Java doesn't support certain OS features provided by Win32, UNIX, and other
-OS platforms that C++ ACE is ported to. For example, Java doesn't support
-shared memory and memory-mapped files and therefore the memory management
-wrappers (such as <CODE>Mem_Map</CODE> and <CODE>Shared_Malloc</CODE>) are
-omitted from Java ACE.
-</P>
-
-<P>
-The process of converting ACE from C++ to Java provided us with an excellent
-source of insights on the strengths and weaknesses of using Java for
-industrial-strength software system frameworks. We've written a paper
-documenting our
-<A HREF="http://www.cs.wustl.edu/~schmidt/C++2java.html">experiences</A>
-converting the C++ version of ACE to Java.
-</P>
-
-<H3>Copyright Information for Java ACE</H3>
-
-<P>
-Java ACE is copyrighted by
-<A HREF="http://www.cs.wustl.edu/~schmidt">Douglas C. Schmidt</A> and his
-research group at
-<A HREF="http://www.wustl.edu">Washington University</A>.
-You are free to do anything you like with the Java ACE source code such
-as including it in commercial software, as long as you include this copyright
-statement along with code built using Java ACE.
-</P>
-<P>
-You are under no obligation to freely redistribute any of your source
-code that is built using Java ACE. Please note, however, that you may
-not do anything to the Java ACE code that will prevent it from being
-distributed freely (such as copyrighting it yourself). Naturally, I am not
-responsible for any problems caused by using Java ACE.
-</P>
-<P>
-My goal is to see Java ACE continue to evolve and become a more
-comprehensive, robust, and well-documented Java toolkit that is freely
-available to researchers and developers. If you have any
-improvements, suggestions, and or comments, I'd like to hear about it.
-</P>
-<P>
-Thanks,
-</P>
-<P>
-Douglas C. Schmidt
-<BR>
-<A HREF="mailto@schmidt@cs.wustl.edu">schmidt@cs.wustl.edu</A>
-</P>
-</BODY>
-</HTML>
diff --git a/java/JACE/package.html b/java/JACE/package.html
deleted file mode 100644
index 72d43449ea7..00000000000
--- a/java/JACE/package.html
+++ /dev/null
@@ -1,32 +0,0 @@
-<!-- $Id$ -->
-<HTML>
-<BODY>
-
-<H3>Overview of Java ACE</H3>
-<P>Java ACE is a collection of Java packages containing classes that have been converted from the C++ version of
-the <A HREF="http://www.cs.wustl.edu/~schmidt/ACE.html">ADAPTIVE Communication Environment</A> (ACE). The C++ version
-of ACE is a large object-oriented network programming toolkit which contains over 125,000 lines of C++ code and
-uses advanced C++ features like templates.</P>
-<P>The goal of converting ACE from C++ to Java is to provide a portable programming toolkit with a similar interface
-and functionality to the original version of ACE. This allows new and current users of C++ ACE an easy transition
-to Java and also adds significant value to programming concurrent Java networking applications. Note that applications
-written using Java ACE can communicate seamlessly over sockets with applications written using C++ ACE.</P>
-<P>The following diagram illustrates the architecture of the Java version of ACE:</P>
-<CENTER>
-<IMG SRC="java-ace.gif" ALIGN="BOTTOM" BORDER="0"></CENTER>
-<P>
-The Java ACE architecture has fewer components than the diagram illustrating the architecture for the <A HREF="http://www.cs.wustl.edu/~schmidt/ACE-overview.html">C++
-version of ACE </A>. This reduction in size occurs for two reasons. First, the Java Virtual Machine (JVM) handles
-many of the portability issues provided by C++ ACE. Therefore, the OS adaptation layer is unnecessary. Second,
-Java doesn't support certain OS features provided by Win32, UNIX, and other OS platforms that C++ ACE is ported
-to. For example, Java doesn't support shared memory and memory-mapped files and therefore the memory management
-wrappers (such as <CODE>Mem_Map</CODE> and <CODE>Shared_Malloc</CODE>) are omitted from Java ACE.</P>
-
-<P>The process of converting ACE from C++ to Java provided us with an excellent source of insights on the strengths
-and weaknesses of using Java for industrial-strength software system frameworks. We've written a paper documenting
-our <A HREF="http://www.cs.wustl.edu/~schmidt/C++2java.html">experiences</A> converting the C++ version of ACE
-to Java.
-
-</BODY>
-</HTML>
-
diff --git a/java/JACE/tests/ASX/BufferStreamTest.java b/java/JACE/tests/ASX/BufferStreamTest.java
deleted file mode 100644
index a9600da19dc..00000000000
--- a/java/JACE/tests/ASX/BufferStreamTest.java
+++ /dev/null
@@ -1,189 +0,0 @@
-// ============================================================================
-//
-// = PACKAGE
-// tests.ASX
-//
-// = FILENAME
-// BufferStreamTest.java
-//
-// = AUTHOR
-// Prashant Jain
-//
-// ============================================================================
-package JACE.tests.ASX;
-
-import java.io.*;
-import JACE.OS.*;
-import JACE.ASX.*;
-
-/**
- * This short program copies stdin to stdout via the use of an ASX
- * STREAM. It illustrates an implementation of the classic "bounded
- * buffer" program using an ASX STREAM containing two Modules. Each
- * Module contains two Tasks.
- */
-public class BufferStreamTest
-{
-
- static class CommonTask extends Task
- {
- // ACE_Task hooks
- public int open (Object obj)
- {
- if (this.activate (0, 1, false) == -1)
- ACE.ERROR ("spawn");
- return 0;
- }
-
- public int close (long exitStatus)
- {
- ACE.DEBUG (Thread.currentThread () + " thread is exiting with status " +
- exitStatus + " in module " + this.name () + "\n");
- return 0;
- }
-
- public int put (MessageBlock mb, TimeValue tv)
- {
- return 0;
- }
-
- public int handleTimeout (TimeValue tv, Object obj)
- {
- return 0;
- }
- }
-
- // Define the Producer interface.
-
- static class Producer extends CommonTask
- {
- // Read data from stdin and pass to consumer.
- // The Consumer reads data from the stdin stream, creates a message,
- // and then queues the message in the message list, where it is
- // removed by the consumer thread. A 0-sized message is enqueued when
- // there is no more data to read. The consumer uses this as a flag to
- // know when to exit.
-
- public int svc ()
- {
- // Keep reading stdin, until we reach EOF.
-
- BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
-
- String msg = null;
- try
- {
- while (true)
- {
- System.out.print ("Enter input: ");
- System.out.flush ();
- msg = in.readLine ();
- if (msg == null)
- {
- // Send a shutdown message to the other thread and exit.
- if (this.putNext (new MessageBlock (0), null) == -1)
- ACE.ERROR ("putNext");
- break;
- }
- else
- {
- // Send the message to the other thread.
- if (this.putNext (new MessageBlock (msg), null) == -1)
- ACE.ERROR ("putNext");
- }
- }
- }
- catch (IOException e)
- {
- }
- return 0;
- }
- }
-
- static class Consumer extends CommonTask
- // = TITLE
- // Define the Consumer interface.
- {
- // Enqueue the message on the MessageQueue for subsequent
- // handling in the svc() method.
- public int put (MessageBlock mb, TimeValue tv)
- {
- try
- {
- return this.putq (mb, tv);
- }
- catch (InterruptedException e)
- {
- }
- return 0;
- }
-
- // The consumer dequeues a message from the ACE_Message_Queue, writes
- // the message to the stderr stream, and deletes the message. The
- // Consumer sends a 0-sized message to inform the consumer to stop
- // reading and exit.
-
- public int svc ()
- {
- MessageBlock mb = null;
-
- // Keep looping, reading a message out of the queue, until we
- // timeout or get a message with a length == 0, which signals us to
- // quit.
- try
- {
- while (true)
- {
- // Wait for upto 4 seconds
- mb = this.getq (TimeValue.relativeTimeOfDay (4, 0));
-
- if (mb == null)
- break;
-
- int length = mb.length ();
-
- if (length > 0)
- System.out.println ("\n" + mb.base ());
-
- if (length == 0)
- break;
- }
- }
- catch (InterruptedException e)
- {
- }
- if (mb == null)
- {
- ACE.ERROR ("timed out waiting for message");
- System.exit (1);
- }
- return 0;
- }
- }
-
- // Spawn off a new thread.
-
- public static void main (String args[])
- {
- ACE.enableDebugging ();
-
- // Control hierachically-related active objects
- Stream stream = new Stream ();
- Module pm = new Module ("Consumer", new Consumer (), null, null);
- Module cm = new Module ("Producer", new Producer (), null, null);
-
- // Create Producer and Consumer Modules and push them onto the
- // STREAM. All processing is performed in the STREAM.
-
- if (stream.push (pm) == -1)
- {
- ACE.ERROR ("push");
- return;
- }
- else if (stream.push (cm) == -1)
- {
- ACE.ERROR ("push");
- return;
- }
- }
-}
diff --git a/java/JACE/tests/ASX/MessageQueueTest.java b/java/JACE/tests/ASX/MessageQueueTest.java
deleted file mode 100644
index 38f098c1bb7..00000000000
--- a/java/JACE/tests/ASX/MessageQueueTest.java
+++ /dev/null
@@ -1,54 +0,0 @@
-// ============================================================================
-//
-// = PACKAGE
-// tests.ASX
-//
-// = FILENAME
-// MessageQueueTest.java
-//
-// = AUTHOR
-// Prashant Jain
-//
-// ============================================================================
-package JACE.tests.ASX;
-
-import java.io.*;
-import JACE.OS.*;
-import JACE.ASX.*;
-
-public class MessageQueueTest
-{
- public static void main (String args[])
- {
- ACE.enableDebugging ();
-
- try
- {
- MessageBlock conMb;
- MessageQueue msgQueue = new MessageQueue ();
- MessageBlock mb1 = new MessageBlock ("hello");
- MessageBlock mb2 = new MessageBlock ("world");
- mb1.msgPriority (5);
- mb2.msgPriority (7);
-
- // Enqueue in priority order.
- if (msgQueue.enqueue (mb1) == -1)
- ACE.ERROR ("put_next");
-
- if (msgQueue.enqueue (mb2) == -1)
- ACE.ERROR ("put_next");
-
- // Now try to dequeue
- if ((conMb = msgQueue.dequeueHead ()) == null)
- ACE.ERROR ("dequeueHead");
- else
- ACE.DEBUG ("Consumer: removed item " + conMb.base ()
- + " of priority " + conMb.msgPriority ());
- }
- catch (InterruptedException e)
- {
- ACE.ERROR (e);
- }
- }
-}
-
diff --git a/java/JACE/tests/ASX/PriorityBufferTest.java b/java/JACE/tests/ASX/PriorityBufferTest.java
deleted file mode 100644
index 37f0370522d..00000000000
--- a/java/JACE/tests/ASX/PriorityBufferTest.java
+++ /dev/null
@@ -1,118 +0,0 @@
-// ============================================================================
-//
-// = PACKAGE
-// tests.ASX
-//
-// = FILENAME
-// PriorityBufferTest.java
-//
-// = AUTHOR
-// Prashant Jain
-//
-// ============================================================================
-package JACE.tests.ASX;
-
-import java.io.*;
-import JACE.OS.*;
-import JACE.ASX.*;
-
-class consumer extends Thread
-{
- public void run ()
- {
- MessageBlock mb = null;
- long curPriority = 0;
- int length = 0;
-
- try
- {
- // Keep looping, reading a message out of the queue, until we
- // get a message with a length == 0, which signals us to quit.
- for (;;)
- {
- if ((mb = PriorityBufferTest.msgQueue.dequeueHead ()) == null)
- break;
-
- length = mb.length ();
- curPriority = mb.msgPriority ();
-
- if (length > 0)
- ACE.DEBUG ("Consumer: removed item \"" + mb.base () + "\" of priority: " + curPriority);
-
- if (length == 0)
- break;
- }
- }
- catch (InterruptedException e)
- {
- }
- }
-}
-
-class producer extends Thread
-{
- producer (int delay)
- {
- this.delay_ = delay;
- }
-
- public void run ()
- {
- try
- {
- long count = 0;
- for (char c = 'a'; c <= 'z'; c++)
- {
- count++;
- // Allocate a new message
- MessageBlock mb = new MessageBlock (new Character (c).toString ());
- // Set the priority
- mb.msgPriority (count);
-
- // Enqueue in priority order.
- if (PriorityBufferTest.msgQueue.enqueue (mb) == -1)
- ACE.ERROR ("put_next");
- else
- {
- ACE.DEBUG ("Producer: inserted item \"" + mb.base () + "\" of priority: " + count);
- if (this.delay_ > 0)
- this.sleep (this.delay_);
- }
- }
-
- // Now send a 0-sized shutdown message to the other thread
- if (PriorityBufferTest.msgQueue.enqueueTail (new MessageBlock (0)) == -1)
- ACE.ERROR ("put_next");
- }
- catch (InterruptedException e)
- {
- }
- }
-
- private int delay_;
-}
-
-public class PriorityBufferTest
-{
- public static MessageQueue msgQueue = new MessageQueue ();
-
- public static void main (String args[])
- {
- ACE.enableDebugging ();
-
- int delay = 0;
- if (args.length == 1)
- {
- try
- {
- delay = Integer.parseInt (args[0]);
- }
- catch (NumberFormatException e)
- {
- ACE.ERROR ("Illegal argument.");
- }
- }
- new producer (delay).start ();
- new consumer ().start ();
- }
-}
diff --git a/java/JACE/tests/ASX/TaskTest.java b/java/JACE/tests/ASX/TaskTest.java
deleted file mode 100644
index 09ebfe22a1f..00000000000
--- a/java/JACE/tests/ASX/TaskTest.java
+++ /dev/null
@@ -1,95 +0,0 @@
-// ============================================================================
-//
-// = PACKAGE
-// tests.ASX
-//
-// = FILENAME
-// TaskTest.java
-//
-// = AUTHOR
-// Prashant Jain
-//
-// ============================================================================
-package JACE.tests.ASX;
-
-import java.io.*;
-import JACE.OS.*;
-import JACE.ASX.*;
-import JACE.Reactor.*;
-
-public class TaskTest extends Task
-{
- int nThreads_;
- int nIterations_;
-
- public TaskTest (int nThreads, int nIterations)
- {
- this.nIterations_ = nIterations;
- this.nThreads_ = nThreads;
- }
-
- public void beginTest ()
- {
- if (this.activate (0, this.nThreads_, true) == -1)
- ACE.ERROR ("activate failed");
- }
-
- public int open (Object obj)
- {
- return 0;
- }
-
- public int close (long flags)
- {
- return 0;
- }
-
- public int put (MessageBlock mb, TimeValue tv)
- {
- return 0;
- }
-
- public int handleTimeout (TimeValue tv, Object obj)
- {
- return 0;
- }
-
- public int svc ()
- {
- for (int i = 1; i <= this.nIterations_; i++)
- {
- ACE.DEBUG (Thread.currentThread ().toString () +
- " in iteration " + i);
- // Allow other threads to run
- Thread.yield ();
- }
- return 0;
- }
-
- public static void main (String args[])
- {
- int nThreads = 1;
- int nIterations = 1;
-
- ACE.enableDebugging ();
-
- try
- {
- if (args.length == 2)
- {
- nThreads = Integer.parseInt (args[0]);
- nIterations = Integer.parseInt (args[1]);
- }
- else if (args.length == 1)
- {
- nThreads = Integer.parseInt (args[0]);
- }
- }
- catch (NumberFormatException e)
- {
- ACE.ERROR ("Illegal argument.");
- }
- TaskTest tt = new TaskTest (nThreads, nIterations);
- tt.beginTest ();
- }
-}
diff --git a/java/JACE/tests/ASX/ThreadPoolTest.java b/java/JACE/tests/ASX/ThreadPoolTest.java
deleted file mode 100644
index c48b0caf3c2..00000000000
--- a/java/JACE/tests/ASX/ThreadPoolTest.java
+++ /dev/null
@@ -1,187 +0,0 @@
-// ============================================================================
-//
-// = PACKAGE
-// tests.ASX
-//
-// = FILENAME
-// ThreadPoolTest.java
-//
-// = AUTHOR
-// Prashant Jain
-//
-// ============================================================================
-package JACE.tests.ASX;
-
-import java.io.*;
-import JACE.OS.*;
-import JACE.ASX.*;
-import JACE.Reactor.*;
-
-public class ThreadPoolTest extends Task
-{
- int nThreads_;
- int nIterations_;
-
- public static int MAX_MB_SIZE = 1024;
-
- public ThreadPoolTest (int nThreads, int nIterations)
- {
- this.nIterations_ = nIterations;
- this.nThreads_ = nThreads;
- if (this.activate (0, nThreads, true) == -1)
- ACE.ERROR ("activate failed");
- }
-
- public int handleTimeout (TimeValue tv, Object obj)
- {
- return 0;
- }
-
- public int open (Object obj)
- {
- return 0;
- }
-
- public int close (long flags)
- {
- return 0;
- }
-
- public int put (MessageBlock mb, TimeValue tv)
- {
- try
- {
- return this.putq (mb, tv);
- }
- catch (InterruptedException e)
- {
- }
- return 0;
- }
-
- public int svc ()
- {
- int count = 1;
-
- // Keep looping, reading a message out of the queue, until we get a
- // message with a length == 0, which signals us to quit.
- try
- {
- for (;; count++)
- {
- MessageBlock mb = this.getq (null);
- if (mb == null)
- {
- ACE.ERROR (Thread.currentThread ().toString () + " in iteration " + count + ", got result -1, exiting");
- break;
- }
- int length = mb.length ();
-
- if (length > 0)
- ACE.DEBUG (Thread.currentThread ().toString () +
- " in iteration " + count + ", length = " +
- length + ", text = \"" + mb.base () + "\"");
-
- if (length == 0)
- {
- ACE.DEBUG (Thread.currentThread ().toString () +
- " in iteration " + count +
- ", got NULL message, exiting");
- break;
- }
- Thread.yield ();
- }
- }
- catch (InterruptedException e)
- {
- }
- return 0;
- }
-
- public static void produce (ThreadPoolTest threadPool, int nIterations)
- {
- int count = 0;
- for (int n = 0;;)
- {
- // Allocate a new message.
- MessageBlock mb = new MessageBlock (new Integer (count).toString ());
-
- if (count == nIterations)
- n = 1; // Indicate that we need to shut down.
- else
- count++;
-
- if (count == 0 || (count % 20 == 0))
- {
- try
- {
- Thread.sleep (1);
- }
- catch (InterruptedException e)
- {
- }
- }
- if (n != 1)
- {
- ACE.DEBUG ("Producing...");
- // Pass the message to the Thread_Pool.
- if (threadPool.put (mb, null) == -1)
- ACE.ERROR ("put");
- }
- else
- {
- // Send a shutdown message to the waiting threads and exit.
- ACE.DEBUG ("start loop, dump of task");
-
- for (int i = threadPool.thrCount (); i > 0; i--)
- {
- ACE.DEBUG (Thread.currentThread ().toString () +
- "EOF, enqueueing NULL block for thread " + i);
-
- // Enqueue a NULL message to flag each consumer to
- // shutdown.
- if (threadPool.put (new MessageBlock (0), null) == -1)
- ACE.ERROR ("put");
- }
-
- break;
- }
- }
- }
-
- public static void main (String args[])
- {
- int nThreads = 1;
- int nIterations = 100;
-
- ACE.enableDebugging ();
-
- try
- {
- if (args.length == 2)
- {
- nThreads = Integer.parseInt (args[0]);
- nIterations = Integer.parseInt (args[1]);
- }
- else if (args.length == 1)
- {
- nThreads = Integer.parseInt (args[0]);
- }
- }
- catch (NumberFormatException e)
- {
- ACE.ERROR ("Illegal argument.");
- }
- ACE.DEBUG ("Threads = " + nThreads + " Iterations = " + nIterations);
-
- // Create the worker tasks.
- ThreadPoolTest threadPool = new ThreadPoolTest (nThreads,
- nIterations);
-
- // Create work for the worker tasks to process in their own threads.
- produce (threadPool, nIterations);
- ACE.DEBUG ("exiting...");
- }
-}
-
-
diff --git a/java/JACE/tests/Concurrency/Condition/Consumer.java b/java/JACE/tests/Concurrency/Condition/Consumer.java
deleted file mode 100644
index e43a28f00e0..00000000000
--- a/java/JACE/tests/Concurrency/Condition/Consumer.java
+++ /dev/null
@@ -1,75 +0,0 @@
-//File: Consumer.java
-//Seth Widoff 8/8/96
-//This class attempts at random intervals to dequeue random elements
-//from a queue. If the queue is empty the thread waits until an element
-//has been enqueued and another thread has invoked the notify() method.
-package JACE.tests.Concurrency.Condition;
-
-import java.lang.Math;
-import JACE.ASX.TimeValue;
-import java.util.Random;
-
-public class Consumer implements Runnable
-{
- //Maximum pause between dequeues (in milliseconds)
- private static final int MAX_PAUSE = 1000;
-
- private SimpleMessageQueue queue_;
- private boolean stop_requested_ = false;
- private String name_;
- private int iterations_;
- private TimeValue timeout_;
-
- public Consumer(String name,
- SimpleMessageQueue queue,
- int iterations,
- TimeValue timeout)
- {
- name_ = "Consumer " + name;
- queue_ = queue;
- iterations_ = iterations;
- timeout_ = timeout;
- }
-
- public void run()
- {
- //Set the random number generator seed to the current time in
- //milliseconds.
-
- Random random = new Random(System.currentTimeMillis());
- Integer element;
-
- for (int i = 0; i < iterations_; )
- {
- try
- {
- TimeValue absTv = TimeValue.relativeTimeOfDay (timeout_);
- element = (Integer)queue_.dequeue(absTv);
- if (element != null)
- {
-
- System.out.println("Consumer::run() " + name_ + " dequeued "
- + element.toString() +
- " Queue size: " + queue_.size());
-
- Thread.sleep(Math.abs (random.nextLong()) % MAX_PAUSE);
- }
- else
- {
- System.out.println ("Null");
- }
- i++;
- }
- catch(Exception excp)
- {
- System.out.print ("Consumer::run() Exception: ");
- System.out.println(excp);
- }
- }
- }
-
- public void requestStop()
- {
- stop_requested_ = true;
- }
-}
diff --git a/java/JACE/tests/Concurrency/Condition/JoinableThreadGroup.java b/java/JACE/tests/Concurrency/Condition/JoinableThreadGroup.java
deleted file mode 100644
index 908da33f9f9..00000000000
--- a/java/JACE/tests/Concurrency/Condition/JoinableThreadGroup.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package JACE.tests.Concurrency.Condition;
-
-public class JoinableThreadGroup extends ThreadGroup
-{
- public JoinableThreadGroup(String name)
- {
- super(name);
- }
-
- public JoinableThreadGroup(ThreadGroup parent, String name)
- {
- super(parent, name);
- }
-
- public void join() throws InterruptedException
- {
- Thread list[] = new Thread[activeCount()];
-
- enumerate(list, true);
-
- for (int i = 0; i < list.length; i++)
- list[i].join();
- }
-}
diff --git a/java/JACE/tests/Concurrency/Condition/Producer.java b/java/JACE/tests/Concurrency/Condition/Producer.java
deleted file mode 100644
index cda5063ceed..00000000000
--- a/java/JACE/tests/Concurrency/Condition/Producer.java
+++ /dev/null
@@ -1,70 +0,0 @@
-//File: Producer.java
-//Seth Widoff 8/8/96
-//This class attempts at random intervals to enqueue random elements
-//into a queue. If the queue is full the thread waits until an element
-//has been dequeued and another thread has invoked the notify() method.
-
-package JACE.tests.Concurrency.Condition;
-
-import JACE.ASX.TimeValue;
-import java.lang.Math;
-import java.util.Random;
-
-public class Producer implements Runnable
-{
- //Maximum pause between enqueues (in milliseconds)
- private static final int MAX_PAUSE = 1000;
-
- private SimpleMessageQueue queue_;
- private boolean stop_requested_ = false;
- private String name_;
- private int iterations_;
- private TimeValue timeout_;
-
- public Producer(String name,
- SimpleMessageQueue queue,
- int iterations,
- TimeValue timeout)
- {
- name_ = "Producer " + name;
- queue_ = queue;
- iterations_ = iterations;
- timeout_ = timeout;
- }
-
- public void run()
- {
- //Set the random number generator seed to the current time in milliseconds.
- Random random = new Random(System.currentTimeMillis());
- int element = 1;
-
- for (int i = 0; i < iterations_; )
- {
- try
- {
- // element = random.nextInt();
- TimeValue absTv = TimeValue.relativeTimeOfDay (timeout_);
- queue_.enqueue((Object)new Integer(element), absTv);
-
- System.out.println("Producer::run() " + name_
- + " enqueued " + element +
- " Queue size: " + queue_.size());
-
- Thread.sleep(Math.abs (random.nextLong()) % MAX_PAUSE);
- i++;
- element++;
- }
- catch(Exception excp)
- {
- System.out.print("Producer::run() Exception: ");
- System.out.println(excp);
- }
- }
- }
-
- public void requestStop()
- {
- stop_requested_ = true;
- }
-}
-
diff --git a/java/JACE/tests/Concurrency/Condition/QueueTest.java b/java/JACE/tests/Concurrency/Condition/QueueTest.java
deleted file mode 100644
index 7d6560b11a7..00000000000
--- a/java/JACE/tests/Concurrency/Condition/QueueTest.java
+++ /dev/null
@@ -1,68 +0,0 @@
-//File: QueueTest.java
-//Seth Widoff, 8/8/96
-//This class is a test method for the Producer and Consumer classes.
-//The main method takes as arguments the number of producers, the
-//number of consumers and the number of elements in the queue. It then
-//spawn the specified threads and starts them.
-
-package JACE.tests.Concurrency.Condition;
-
-import JACE.ASX.TimeValue;
-
-public class QueueTest
-{
- public static void main(String[] args)
- {
- if (args.length < 5)
- {
- System.out.println("Usage: java QueueTest <# producers> <# consumers> " +
- "<# elements> <#iterations> <#timeout secs> <#timeout nano secs>");
- System.exit(1);
- }
-
- int num_producers = Integer.parseInt(args[0]),
- num_consumers = Integer.parseInt(args[1]),
- num_elements = Integer.parseInt(args[2]),
- num_iterations = Integer.parseInt(args[3]),
- num_timeout_secs = Integer.parseInt(args[4]),
- num_timeout_nano_secs = Integer.parseInt(args[5]);
-
- if (num_elements < 1
- || num_consumers < 1
- || num_producers < 1)
- {
- System.out.println("All the parameters must be larger than zero.");
- System.exit(1);
- }
-
- SimpleMessageQueue queue = new SimpleMessageQueue(num_elements);
- Consumer[] consumers = new Consumer[num_consumers];
- Producer[] producers = new Producer[num_producers];
- JoinableThreadGroup thread_group = new JoinableThreadGroup("Producer Consumer");
-
- for (int i = 0; i < num_producers; i++)
- {
- producers[i] = new Producer("Number " + (i + 1),
- queue,
- num_iterations,
- new TimeValue (num_timeout_secs, num_timeout_nano_secs));
- new Thread(thread_group, producers[i]).start();
- }
-
- for (int i = 0; i < num_consumers; i++)
- {
- consumers[i] = new Consumer("Number " + (i + 1), queue, num_iterations, new TimeValue (num_timeout_secs, num_timeout_nano_secs));
- new Thread(thread_group, consumers[i]).start();
- }
-
- try
- {
- thread_group.join();
- }
- catch(InterruptedException excp)
- {
- System.out.println("QueueTest::main");
- System.out.println(excp);
- }
- }
-}
diff --git a/java/JACE/tests/Concurrency/Condition/SimpleMessageQueue.java b/java/JACE/tests/Concurrency/Condition/SimpleMessageQueue.java
deleted file mode 100644
index f2a465a9025..00000000000
--- a/java/JACE/tests/Concurrency/Condition/SimpleMessageQueue.java
+++ /dev/null
@@ -1,86 +0,0 @@
-package JACE.tests.Concurrency.Condition;
-
-import JACE.ASX.TimeoutException;
-import JACE.ASX.TimeValue;
-import JACE.Concurrency.*;
-
-public class SimpleMessageQueue
-{
- private int num_items_ = 0;
- private int head_ = 0, tail_ = 0;
- private Object[] queue_;
-
- private Mutex lock_ = new Mutex ();
- private Condition notFull_ = new Condition (lock_);
- private Condition notEmpty_ = new Condition (lock_);
-
- public SimpleMessageQueue(int size)
- {
- queue_ = new Object[size];
- }
-
- public void enqueue(Object element, TimeValue timeout)
- throws TimeoutException, InterruptedException
- {
- try
- {
- lock_.acquire ();
- while (this.isFull ())
- notFull_.Wait (timeout);
-
- if (tail_ == queue_.length)
- tail_ = 0;
- queue_[tail_] = element;
- tail_++;
-
- num_items_++;
- notEmpty_.signal ();
- }
- finally
- {
- lock_.release ();
- }
- }
-
- public Object dequeue (TimeValue timeout)
- throws TimeoutException, InterruptedException
- {
- Object return_value = null;
-
- try
- {
- lock_.acquire ();
- while (this.isEmpty ())
- notEmpty_.Wait (timeout);
-
- return_value = queue_[head_];
- head_++;
- if (head_ == queue_.length)
- head_ = 0;
-
- num_items_--;
- notFull_.signal ();
- }
- finally
- {
- lock_.release ();
- }
- return return_value;
- }
-
- public boolean isEmpty()
- {
- return num_items_ == 0;
- }
-
- public boolean isFull()
- {
- return num_items_ == queue_.length;
- }
-
- public int size()
- {
- return num_items_;
- }
-}
-
diff --git a/java/JACE/tests/Concurrency/IterationTest.java b/java/JACE/tests/Concurrency/IterationTest.java
deleted file mode 100644
index 79e083e7f7a..00000000000
--- a/java/JACE/tests/Concurrency/IterationTest.java
+++ /dev/null
@@ -1,235 +0,0 @@
-/*************************************************
- *
- * = PACKAGE
- * JACE.tests.Concurrency
- *
- * = FILENAME
- * IterationTest.java
- *
- *@author Prashant Jain
- *@author Everett Anderson
- *
- *************************************************/
-package JACE.tests.Concurrency;
-
-import java.io.*;
-import JACE.OS.*;
-import JACE.Concurrency.*;
-
-/**
- * Test which uses an AbstractLock to prevent threads from mangling
- * shared data. This currently tests the four local concurrency
- * mechanisms -- Token, Mutex, RWMutex, and Semaphore.
- */
-public class IterationTest
-{
- static class LockReader extends Thread
- {
- LockReader (int nIterations, AbstractLock lock)
- {
- this.nIterations_ = nIterations;
- this.lock_ = lock;
- }
-
- public void run ()
- {
- for (int i = 1; i <= this.nIterations_; i++)
- {
- // Acquire the lock (will block until it gets it)
- try
- {
- this.lock_.acquire ();
- }
- catch (InterruptedException e)
- {
- ACE.ERROR (e);
- }
- catch (LockException e)
- {
- ACE.ERROR (e);
- }
-
- IterationTest.count++;
- ACE.DEBUG (Thread.currentThread ().toString () +
- " reader acquired lock in iteration " + i +
- ", count = " + IterationTest.count);
-
- try
- {
- Thread.sleep (1);
- }
- catch (InterruptedException e)
- {
- }
- // Release the lock
- try
- {
- this.lock_.release ();
- }
- catch (LockException e)
- {
- ACE.ERROR (e);
- }
- try
- {
- Thread.sleep (1);
- }
- catch (InterruptedException e)
- {
- }
-
- }
- }
-
- int nIterations_;
- AbstractLock lock_;
- }
-
- static class LockWriter extends Thread
- {
- LockWriter (int nIterations, AbstractLock lock)
- {
- this.nIterations_ = nIterations;
- this.lock_ = lock;
- }
-
- public void run ()
- {
- for (int i = 1; i <= this.nIterations_; i++)
- {
- // Acquire the lock (will block until it gets it)
- try
- {
- this.lock_.acquire ();
- }
- catch (InterruptedException e)
- {
- ACE.ERROR (e);
- }
- catch (LockException e)
- {
- ACE.ERROR (e);
- }
-
-
- IterationTest.count++;
- ACE.DEBUG (Thread.currentThread ().toString () +
- " writer acquired lock in iteration " + i +
- ", count = " + IterationTest.count);
-
- try
- {
- Thread.sleep (1);
- }
- catch (InterruptedException e)
- {
- }
-
- // Release the lock
- try
- {
- this.lock_.release ();
- }
- catch (LockException e)
- {
- ACE.ERROR (e);
- }
-
- try
- {
- Thread.sleep (1);
- }
- catch (InterruptedException e)
- {
- }
-
- }
- }
-
- int nIterations_;
- AbstractLock lock_;
- }
-
- final static int TOKEN = 0;
- final static int MUTEX = 1;
- final static int RWMUTEX = 2;
- final static int SEMAPHORE = 3;
-
- /**
- * Command line arguments:
- *
- * (number of readers) (number of writers) (number of iterations)
- */
- public static void main (String args[]) throws InterruptedException
- {
- int nReaders = 1;
- int nWriters = 1;
- int nIterations = 100;
- int i;
-
- ACE.enableDebugging ();
-
- try
- {
- if (args.length == 3)
- {
- nReaders = Integer.parseInt (args[0]);
- nWriters = Integer.parseInt (args[1]);
- nIterations = Integer.parseInt (args[2]);
- }
- }
- catch (NumberFormatException e)
- {
- ACE.ERROR ("Illegal argument.");
- }
-
- AbstractLock lock = null;
- Thread threads[] = new Thread [nReaders + nWriters];
-
- for (int state = TOKEN; state <= SEMAPHORE; state++) {
-
- count = 0;
-
- switch (state)
- {
- case TOKEN:
- ACE.DEBUG ("--------\nTesting Token:");
- lock = new Token ();
- break;
- case MUTEX:
- ACE.DEBUG ("--------\nTesting Mutex:");
- lock = new Mutex ();
- break;
- case RWMUTEX:
- ACE.DEBUG ("--------\nTesting RWMutex:");
- lock = new RWMutex ();
- break;
- case SEMAPHORE:
- ACE.DEBUG ("--------\nTesting Semaphore:");
- lock = new Semaphore ();
- break;
- }
-
- int numThreads = 0;
-
- // Spawn off the readers and writers
- for (i = 0; i < nReaders; i++) {
- threads[numThreads] = new LockReader (nIterations, lock);
- threads[numThreads].start ();
- numThreads++;
- }
-
- for (i = 0; i < nWriters; i++) {
- threads[numThreads] = new LockWriter (nIterations, lock);
- threads[numThreads].start ();
- numThreads++;
- }
-
- for (i = 0; i < numThreads; i++)
- threads[i].join ();
-
- }
- }
-
- public static int count;
-}
diff --git a/java/JACE/tests/Concurrency/RWMutexTest.java b/java/JACE/tests/Concurrency/RWMutexTest.java
deleted file mode 100644
index ff2bbc1f396..00000000000
--- a/java/JACE/tests/Concurrency/RWMutexTest.java
+++ /dev/null
@@ -1,137 +0,0 @@
-/*************************************************
- *
- * = PACKAGE
- * JACE.tests.Concurrency
- *
- * = FILENAME
- * RWMutexTest.java
- *
- *@author Ross Dargahi (rossd@krinfo.com)
- *
- *************************************************/
-package JACE.tests.Concurrency;
-
-import JACE.OS.*;
-import JACE.Concurrency.*;
-
-public class RWMutexTest
-{
- static class TestThread extends Thread
- {
- TestThread(String name,
- boolean writer,
- AbstractLock lock)
- {
- super (name);
- mWriter = writer;
- mLock = lock;
- }
-
- public void output (String msg)
- {
- synchronized (iosynch) {
- ACE.DEBUG (msg);
- }
- }
-
- public void run()
- {
- for (int i = 0; i < 10; i++)
- {
- try
- {
- if (!mWriter)
- {
- mLock.acquireRead();
- output (getName() + ": Acquired Read Lock");
-
- int sleepTime = 10;
- sleep (sleepTime);
-
- mLock.release ();
- output (getName () + ": Released Read Lock");
- }
- else
- {
- mLock.acquireWrite ();
- output (getName () + ": Acquired Write Lock");
-
- int sleepTime = 10;
- sleep (sleepTime);
-
- mLock.release ();
- output (getName () + ": Released Write Lock");
- }
- }
- catch (InterruptedException ex)
- {
- ACE.ERROR ("InterruptedException");
- }
- catch (LockException ex)
- {
- ACE.ERROR ("LockException: " + ex.getMessage ());
- }
- }
- }
-
- AbstractLock mLock;
- boolean mWriter;
-
- static Object iosynch = new Object ();
- }
-
- /**
- * Command line arguments:
- *
- * Optional class name to use for the tests (must implement the
- * AbstractLock interface). Followed by an optional number of
- * iterations.
- */
- public static void main(String [] args)
- throws ClassNotFoundException,
- IllegalAccessException,
- InstantiationException,
- InterruptedException,
- NumberFormatException
- {
- AbstractLock lock;
- int iterations = 1;
-
- ACE.enableDebugging ();
-
- if (args.length > 0) {
- ACE.DEBUG("Using class " + args[0] + " as the Lock");
-
- lock = (AbstractLock)(Class.forName (args[0]).newInstance ());
-
- if (args.length > 1)
- iterations = Integer.parseInt (args[1]);
-
- } else
- lock = new RWMutex ();
-
- for (int i = 0; i < iterations; i++) {
-
- ACE.DEBUG("Iteration " + (i + 1));
-
- TestThread t1 = new TestThread ("1", false, lock);
- TestThread t2 = new TestThread ("2", false, lock);
- TestThread t3 = new TestThread ("3", false, lock);
- TestThread t4 = new TestThread ("4", true, lock);
- TestThread t5 = new TestThread ("5", false, lock);
- TestThread t6 = new TestThread ("6", false, lock);
- TestThread t7 = new TestThread ("7", false, lock);
- TestThread t8 = new TestThread ("8", true, lock);
-
- t1.start ();
- t2.start ();
- t3.start ();
- t4.start ();
- t5.start ();
- t6.start ();
- t7.start ();
- t8.start ();
- }
- }
-}
-
diff --git a/java/JACE/tests/Concurrency/TimingTest.java b/java/JACE/tests/Concurrency/TimingTest.java
deleted file mode 100644
index 783d2e003a2..00000000000
--- a/java/JACE/tests/Concurrency/TimingTest.java
+++ /dev/null
@@ -1,290 +0,0 @@
-package JACE.tests.Concurrency;
-
-import JACE.OS.*;
-import JACE.ASX.*;
-import JACE.Concurrency.*;
-
-/**
- * Performs a test with 5 threads. This should test what happens during
- * renews, also testing what happens when timeout exceptions are generated
- * during operations.
- *
- * Sample output:
- *
- * Thread 1 calling acquire
- * Thread 1 got lock
- * Thread 1 doing work
- * Thread 2 calling acquire
- * Thread 1 finished doing work
- * Thread 1 calling renew -1 1
- * Thread 2 got lock
- * Thread 2 doing work
- * Thread 3 calling acquire
- * Thread 4 calling acquire
- * Thread 5 calling acquire with 1 sec timeout
- * Thread 1 timed out in renew
- * Thread 1 failed renewing
- * Thread 1 calling release
- * Thread 1 failed release
- * Thread 5 timed out in acquire
- * Thread 5 failed acquire
- * Thread 5 calling release
- * Thread 5 failed release
- * Thread 2 finished doing work
- * Thread 2 calling renew 1
- * Thread 3 got lock
- * Thread 3 doing work
- * Thread 3 finished doing work
- * Thread 3 calling release
- * Thread 3 released
- * Thread 2 got the lock back
- * Thread 2 calling release
- * Thread 2 released
- * Thread 4 got lock
- * Thread 4 doing work
- * Thread 4 finished doing work
- * Thread 4 calling release
- * Thread 4 released
- */
-public class TimingTest
-{
- static class Worker extends Thread
- {
- AbstractLock lock;
- String name;
- int order;
-
- public Worker (String name, int order, AbstractLock lock)
- {
- this.name = name;
- this.order = order;
- this.lock = lock;
- }
-
- public void run()
- {
- switch (this.order)
- {
- case 1:
- methodA();
- break;
- case 2:
- methodB();
- break;
- case 3:
- methodC();
- break;
- case 4:
- methodD();
- break;
- }
- }
-
- public void methodA()
- {
- // acquires
- // launches a class 2 worker
- // works
- // renew -1 with a 1 sec timeout (intended to fail)
- // release
-
- try {
- if (acquire() == AbstractLock.FAILURE)
- return;
-
- new Worker("Thread 2", 2, lock).start();
-
- work(3000);
-
- renew(-1, 1);
- } finally {
- release();
- }
- }
-
- public void methodB()
- {
- // acquire
- // launch two new class 3 workers and one class 4 worker
- // work
- // renew, yielding to one waiter
- // release
- try {
- if (acquire() == AbstractLock.FAILURE)
- return;
-
- new Worker ("Thread 3", 3, lock).start ();
- new Worker ("Thread 4", 3, lock).start ();
- new Worker ("Thread 5", 4, lock).start ();
-
- work(3000);
-
- renew(1);
- } finally {
- release();
- }
- }
-
- public void methodC()
- {
- // acquire
- // work
- // release
-
- try {
- if (acquire() == AbstractLock.FAILURE)
- return;
-
- work(1000);
- } finally {
- release();
- }
-
- }
-
- public void methodD()
- {
- // acquire with a short timeout
- // (shouldn't get past the timeout)
- try {
- if (acquire (1) == AbstractLock.FAILURE)
- return;
-
- ACE.DEBUG (name + " probably should have timed out in acquire");
- work (1000);
- } finally {
- release ();
- }
- }
-
- public int acquire (int relativeTimeout)
- {
- int result = AbstractLock.FAILURE;
- ACE.DEBUG(name + " calling acquire with " + relativeTimeout +
- " sec timeout");
-
- try {
- result = lock.acquire (TimeValue.relativeTimeOfDay (relativeTimeout, 0));
- } catch (JACE.ASX.TimeoutException e) {
- ACE.DEBUG(name + " timed out in acquire");
- } catch (Exception e) {
- ACE.DEBUG (name + " got exception: " + e);
- }
-
- if (result != AbstractLock.FAILURE)
- ACE.DEBUG(name + " got lock");
- else
- ACE.DEBUG(name + " failed acquire");
-
- return result;
- }
-
- public int acquire()
- {
- int result = AbstractLock.FAILURE;
-
- ACE.DEBUG(name + " calling acquire");
- try {
- result = lock.acquire();
- } catch (Exception e) {
- ACE.DEBUG(name + " got exception: " + e);
- }
- if (result != AbstractLock.FAILURE)
- ACE.DEBUG(name + " got lock");
- else
- ACE.DEBUG(name + " failed acquire");
-
- return result;
- }
-
- public void release()
- {
- ACE.DEBUG(name + " calling release");
- int result = AbstractLock.FAILURE;
- try {
- result = lock.release();
- } catch (Exception e) {
- ACE.DEBUG (name + " got exception: " + e);
- }
-
- if (result != AbstractLock.FAILURE)
- ACE.DEBUG(name + " released");
- else
- ACE.DEBUG(name + " failed release");
- }
-
- public void renew(int pos)
- {
- int result = AbstractLock.FAILURE;
- ACE.DEBUG(name + " calling renew " + pos);
- try {
- result = lock.renew(pos);
- } catch (Exception e) {
- ACE.DEBUG (name + " got exception: " + e);
- }
-
- if (result != AbstractLock.FAILURE)
- ACE.DEBUG(name + " got the lock back");
- else
- ACE.DEBUG(name + " failed renewing");
- }
-
- public void renew(int pos, int relativeTimeout)
- {
- int result = AbstractLock.FAILURE;
- ACE.DEBUG(name + " calling renew " + pos + " " +
- relativeTimeout);
- try {
- result = lock.renew(pos,
- TimeValue.relativeTimeOfDay(relativeTimeout,
- 0));
- } catch (JACE.ASX.TimeoutException e) {
- ACE.DEBUG(name + " timed out in renew");
- } catch (Exception e) {
- ACE.DEBUG (name + " got exception: " + e);
- }
-
- if (result != AbstractLock.FAILURE)
- ACE.DEBUG(name + " got the lock back");
- else
- ACE.DEBUG(name + " failed renewing");
- }
-
- public void work(int ms)
- {
- ACE.DEBUG(name + " doing work");
- try {
- Thread.sleep(ms);
- } catch (InterruptedException e) {
- ACE.DEBUG(name + " was interrupted");
- }
- ACE.DEBUG(name + " finished doing work");
- }
- }
-
- /**
- * Command line:
- *
- * Optional class name (which implements AbstractLock) to test
- */
- public static void main(String args[]) {
- AbstractLock lock;
-
- ACE.enableDebugging ();
-
- try {
-
- if (args.length > 0) {
- ACE.DEBUG("Using class " + args[0] + " as the Lock");
-
- lock = (AbstractLock)(Class.forName (args[0]).newInstance ());
- } else
- lock = new Token ();
-
- new Worker("Thread 1", 1, lock).start();
-
- } catch (Exception e) {
- ACE.ERROR("Error: " + e);
- }
- }
-}
diff --git a/java/JACE/tests/Concurrency/TokenTest.java b/java/JACE/tests/Concurrency/TokenTest.java
deleted file mode 100644
index 162170f1996..00000000000
--- a/java/JACE/tests/Concurrency/TokenTest.java
+++ /dev/null
@@ -1,95 +0,0 @@
-/*************************************************
- *
- * = PACKAGE
- * tests.Concurrency
- *
- * = FILENAME
- * TokenTest.java
- *
- *@author Prashant Jain
- *
- *************************************************/
-package JACE.tests.Concurrency;
-
-import java.io.*;
-import JACE.OS.*;
-import JACE.Concurrency.ThreadManager;
-import JACE.Concurrency.*;
-import JACE.ASX.TimeValue;
-
-public class TokenTest implements Runnable
-{
- static class MyToken extends Token
- {
- public void sleepHook ()
- {
- ACE.DEBUG (Thread.currentThread ().getName () +
- " blocking, sleepHook called");
- }
- }
-
- public void run ()
- {
- String name = Thread.currentThread().getName();
- try
- {
- if (this.token_.acquire () != AbstractLock.FAILURE)
- ACE.DEBUG (name + " got token");
- else
- ACE.DEBUG (name + " couldn't get token");
-
- ACE.DEBUG (name + " calling acquire again (test nesting)");
- if (this.token_.acquire() != AbstractLock.FAILURE)
- ACE.DEBUG (name + " got token again");
- else
- ACE.DEBUG (name + " couldn't get token");
-
- Thread.sleep (1000);
-
- ACE.DEBUG (name + " gives it up for max 2 sec to first waiter");
- this.token_.renew (1, TimeValue.relativeTimeOfDay(2, 0));
-
- ACE.DEBUG (name + " releases the token once");
- this.token_.release ();
- ACE.DEBUG (name + " calls release again (nesting level was 2)");
- this.token_.release ();
- }
- catch (InterruptedException e)
- {
- this.token_.release ();
- }
- catch (JACE.ASX.TimeoutException e)
- {
- ACE.DEBUG (name + " timed out");
- }
- }
-
- /**
- * Command line: optional number of threads to create (defaults to 2)
- */
- public static void main (String args [])
- {
- ThreadManager tm = new ThreadManager ();
- int n = 2;
-
- ACE.enableDebugging ();
-
- try
- {
- if (args.length == 1)
- {
- n = Integer.parseInt (args[0]);
- }
- }
- catch (NumberFormatException e)
- {
- ACE.ERROR ("Illegal argument.");
- }
-
- tm.spawnN (n,
- new TokenTest (),
- false);
- }
-
- private static MyToken token_ = new MyToken ();
-}
diff --git a/java/JACE/tests/Connection/AcceptorTest.java b/java/JACE/tests/Connection/AcceptorTest.java
deleted file mode 100644
index 0e313ba1f43..00000000000
--- a/java/JACE/tests/Connection/AcceptorTest.java
+++ /dev/null
@@ -1,83 +0,0 @@
-// ============================================================================
-//
-// = PACKAGE
-// tests.Connection
-//
-// = FILENAME
-// AcceptorTest.java
-//
-// = AUTHOR
-// Prashant Jain
-//
-// ============================================================================
-package JACE.tests.Connection;
-
-import java.io.*;
-import java.net.*;
-import JACE.OS.*;
-import JACE.Connection.*;
-
-public class AcceptorTest
-{
- void print_usage_and_die ()
- {
- System.out.println ("Usage: test_server [<port>]");
- System.exit (0);
- }
-
- public void init (int port)
- {
- try
- {
- Acceptor acceptor =
- new Acceptor
- (Class.forName ("JACE.tests.Connection.ServerHandler"));
- acceptor.open (port);
- while (true)
- {
- acceptor.accept ();
- }
- }
- catch (ClassNotFoundException e)
- {
- ACE.ERROR (e);
- }
- catch (SocketException e)
- {
- ACE.ERROR ("Socket Exception: " + e);
- }
- catch (InstantiationException e)
- {
- ACE.ERROR (e);
- }
- catch (IllegalAccessException e)
- {
- ACE.ERROR ("Dang!" + e);
- }
- catch (IOException e)
- {
- ACE.ERROR (e);
- }
- }
-
- public static void main (String [] args)
- {
- int port = ACE.DEFAULT_SERVER_PORT;
- AcceptorTest acceptorTest = new AcceptorTest ();
-
- ACE.enableDebugging ();
-
- if (args.length == 1)
- {
- try
- {
- port = Integer.parseInt (args[0]);
- }
- catch (NumberFormatException e)
- {
- acceptorTest.print_usage_and_die ();
- }
- }
- acceptorTest.init (port);
- }
-}
diff --git a/java/JACE/tests/Connection/ClientHandler.java b/java/JACE/tests/Connection/ClientHandler.java
deleted file mode 100644
index d5885a892e9..00000000000
--- a/java/JACE/tests/Connection/ClientHandler.java
+++ /dev/null
@@ -1,77 +0,0 @@
-// ============================================================================
-//
-// = PACKAGE
-// tests.Connection
-//
-// = FILENAME
-// ClientHandler.java
-//
-// = AUTHOR
-// Prashant Jain
-//
-// ============================================================================
-package JACE.tests.Connection;
-
-import java.io.*;
-import java.net.*;
-import JACE.OS.*;
-import JACE.Connection.*;
-
-public class ClientHandler extends SvcHandler
-{
- public ClientHandler ()
- {
- }
-
- public int open (Object obj)
- {
- new Thread (this).start ();
- return 0;
- }
-
- public void run ()
- {
- BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
-
- String msg;
- StringBuffer ack = new StringBuffer ();
- int ack_len;
- try
- {
- while (true)
- {
- System.out.print ("Enter input: ");
- System.out.flush ();
- msg = in.readLine ();
- if (msg == null)
- break;
- this.peer ().send (new StringBuffer (msg));
- System.out.println ("Waiting for ack...");
- ack_len = this.peer ().recv (ack);
- if (ack_len == 0)
- break;
- else
- System.out.println (ack);
- }
- }
- catch (NullPointerException e)
- {
- ACE.ERROR ("connection reset by peer");
- }
- catch (IOException e)
- {
- ACE.ERROR (e);
- }
- finally
- {
- try
- {
- this.peer ().close ();
- }
- catch (IOException e)
- {
- }
- }
-
- }
-}
diff --git a/java/JACE/tests/Connection/ConnectorTest.java b/java/JACE/tests/Connection/ConnectorTest.java
deleted file mode 100644
index 285e492dcaf..00000000000
--- a/java/JACE/tests/Connection/ConnectorTest.java
+++ /dev/null
@@ -1,78 +0,0 @@
-// ============================================================================
-//
-// = PACKAGE
-// tests.Connection
-//
-// = FILENAME
-// ConnectorTest.java
-//
-// = AUTHOR
-// Prashant Jain
-//
-// ============================================================================
-package JACE.tests.Connection;
-
-import java.io.*;
-import java.net.*;
-import JACE.OS.*;
-import JACE.Connection.*;
-
-public class ConnectorTest
-{
- void print_usage_and_die ()
- {
- System.out.println ("Usage: test_Connector <hostname> [<port>]");
- System.exit (0);
- }
-
- public void init (String hostname, int port)
- {
- try
- {
- Connector connector = new Connector ();
- connector.open (hostname, port);
- connector.connect (new ClientHandler ());
- }
- catch (UnknownHostException e)
- {
- ACE.ERROR (e);
- }
- catch (SocketException e)
- {
- ACE.ERROR ("Connection refused");
- }
- catch (InstantiationException e)
- {
- ACE.ERROR (e);
- }
- catch (IllegalAccessException e)
- {
- ACE.ERROR (e);
- }
- catch (IOException e)
- {
- ACE.ERROR (e);
- }
- }
-
- public static void main (String [] args)
- {
- int port = ACE.DEFAULT_SERVER_PORT;
- ConnectorTest connectorTest = new ConnectorTest ();
-
- ACE.enableDebugging ();
-
- if (args.length == 2)
- {
- try
- {
- port = Integer.parseInt (args[1]);
- }
- catch (NumberFormatException e)
- {
- connectorTest.print_usage_and_die ();
- }
- }
- connectorTest.init (args[0], port);
- }
-}
diff --git a/java/JACE/tests/Connection/HTTPHelperTest.java b/java/JACE/tests/Connection/HTTPHelperTest.java
deleted file mode 100644
index 28967acb8d3..00000000000
--- a/java/JACE/tests/Connection/HTTPHelperTest.java
+++ /dev/null
@@ -1,34 +0,0 @@
-package JACE.tests.Connection;
-
-import java.io.*;
-import JACE.Connection.*;
-import JACE.OS.*;
-
-public class HTTPHelperTest
-{
- public static void main(String args[])
- {
- ACE.enableDebugging ();
- // This is just a quick test to confirm that the Base 64
- // encoding and decoding work
- // (tests the example given in the HTTP 1.1 RFC)
-
- String secret = "Aladdin:open sesame";
-
- String encoded = HTTPHelper.EncodeBase64(secret);
-
- System.err.println("Encoding string: \"" + secret + '\"');
-
- System.err.println("Result: \"" + encoded + '\"');
-
- System.err.println("Is this right? " +
- (encoded.equals("QWxhZGRpbjpvcGVuIHNlc2FtZQ==") ?
- "Yes" : "No"));
-
- String decoded = HTTPHelper.DecodeBase64 (encoded);
- System.err.println("Decoded: \"" + decoded + '\"');
-
- System.err.println("Is this right? " +
- (decoded.equals (secret) ? "Yes" : "No"));
- }
-}
diff --git a/java/JACE/tests/Connection/ServerHandler.java b/java/JACE/tests/Connection/ServerHandler.java
deleted file mode 100644
index 4dec8186427..00000000000
--- a/java/JACE/tests/Connection/ServerHandler.java
+++ /dev/null
@@ -1,68 +0,0 @@
-// ============================================================================
-//
-// = PACKAGE
-// tests.Connection
-//
-// = FILENAME
-// ServerHandler.java
-//
-// = AUTHOR
-// Prashant Jain
-//
-// ============================================================================
-package JACE.tests.Connection;
-
-import java.io.*;
-import java.net.*;
-import JACE.OS.*;
-import JACE.Connection.*;
-
-public class ServerHandler extends SvcHandler
-{
- public ServerHandler ()
- {
- }
-
- public int open (Object obj)
- {
- new Thread (this).start ();
- return 0;
- }
-
- public void run ()
- {
- int msg_len;
- System.out.println ("Waiting for messages...");
- try
- {
- while (true)
- {
- StringBuffer msg = new StringBuffer ();
- msg_len = this.peer ().recv (msg);
- if (msg_len == 0)
- break;
- System.out.println ("Received: " + msg);
- this.peer ().send (new StringBuffer ("Got it!"));
- }
- }
- catch (NullPointerException e)
- {
- ACE.ERROR ("connection reset by peer");
- }
- catch (IOException e)
- {
- ACE.ERROR (e);
- }
- finally
- {
- try
- {
- this.peer ().close ();
- }
- catch (IOException e)
- {
- }
- }
-
- }
-}
diff --git a/java/JACE/tests/Makefile b/java/JACE/tests/Makefile
deleted file mode 100644
index f6336bd7ebb..00000000000
--- a/java/JACE/tests/Makefile
+++ /dev/null
@@ -1,115 +0,0 @@
-# Makefile for JACE tests
-# $Id$
-
-.SUFFIXES: .java .class
-
-JACE_WRAPPER = ../..
-CLASSDIR = $(JACE_WRAPPER)/classes
-
-JC = javac
-JCOPTS = -d $(CLASSDIR)
-
-COMPILE.java = $(JC) $(JCOPTS) $(filter %.java,$?)
-
-CLASSPATH := $(CLASSDIR):$(CLASSPATH)
-
-all: asx concurrency condition connection misc reactor socksap svcconfig netsvcs
-
-pkg_all = $(pkg_asx) $(pkg_concurrency) $(pkg_condition) $(pkg_connection) \
- $(pkg_misc) $(pkg_reactor) $(pkg_socksap) $(pkg_svcconfig) $(pkg_netsvcs)
-
-clean:
- find ${JACE_WRAPPER}/classes/JACE/tests -name '*.class' -print | xargs ${RM}
-
-pkg_asx = \
- BufferStreamTest \
- MessageQueueTest \
- PriorityBufferTest \
- TaskTest \
- ThreadPoolTest
-
-asx: $(addprefix ASX/,$(addsuffix .java,$(pkg_asx)))
- $(COMPILE.java)
-
-pkg_concurrency = \
- IterationTest \
- RWMutexTest \
- TimingTest \
- TokenTest
-
-concurrency: $(addprefix Concurrency/,$(addsuffix .java,$(pkg_concurrency)))
- $(COMPILE.java)
-
-pkg_condition = \
- Consumer \
- JoinableThreadGroup \
- Producer \
- QueueTest \
- SimpleMessageQueue
-
-condition: $(addprefix Concurrency/Condition/,$(addsuffix .java,$(pkg_condition)))
- $(COMPILE.java)
-
-pkg_connection = \
- AcceptorTest \
- ClientHandler \
- ConnectorTest \
- HTTPHelperTest \
- ServerHandler
-
-connection: $(addprefix Connection/,$(addsuffix .java,$(pkg_connection)))
- $(COMPILE.java)
-
-pkg_misc = \
- ParseArgsTest
-
-misc: $(addprefix Misc/,$(addsuffix .java,$(pkg_misc)))
- $(COMPILE.java)
-
-pkg_reactor = \
- TimeValueTest \
- TimerQueueTest
-
-reactor: $(addprefix Reactor/,$(addsuffix .java,$(pkg_reactor)))
- $(COMPILE.java)
-
-pkg_socksap = \
- SOCKAcceptorTest \
- SOCKConnectorTest
-
-socksap: $(addprefix SOCK_SAP/,$(addsuffix .java,$(pkg_socksap)))
- $(COMPILE.java)
-
-pkg_svcconfig = \
- Main
-
-svcconfig: $(addprefix ServiceConfigurator/,$(addsuffix .java,$(pkg_svcconfig)))
- $(COMPILE.java)
-
-netsvcs: logger_tests naming_tests time_tests token_tests
-
-pkg_logger_tests = \
- LoggerTest
-
-logger_tests: $(addprefix netsvcs/Logger/,$(addsuffix .java,$(pkg_logger_tests)))
- $(COMPILE.java)
-
-pkg_naming_tests = \
- ClientTest
-
-naming_tests: $(addprefix netsvcs/Naming/,$(addsuffix .java,$(pkg_naming_tests)))
- $(COMPILE.java)
-
-pkg_time_tests = \
- TSClient
-
-time_tests: $(addprefix netsvcs/Time/,$(addsuffix .java,$(pkg_time_tests)))
- $(COMPILE.java)
-
-pkg_token_tests = \
- ProxyClientTest
-
-token_tests: $(addprefix netsvcs/Token/,$(addsuffix .java,$(pkg_token_tests)))
- $(COMPILE.java)
-
-
diff --git a/java/JACE/tests/Misc/ParseArgsTest.java b/java/JACE/tests/Misc/ParseArgsTest.java
deleted file mode 100644
index cc27b28d75b..00000000000
--- a/java/JACE/tests/Misc/ParseArgsTest.java
+++ /dev/null
@@ -1,48 +0,0 @@
-// ============================================================================
-//
-// = PACKAGE
-// tests.Misc
-//
-// = FILENAME
-// ParseArgsTest.java
-//
-// = AUTHOR
-// Prashant Jain
-//
-// ============================================================================
-package JACE.tests.Misc;
-
-import JACE.OS.*;
-import JACE.Misc.*;
-
-public class ParseArgsTest
-{
- public static void main (String args[])
- {
- ACE.enableDebugging ();
-
- String s;
- GetOpt opt = new GetOpt (args, "p:rs:", true);
- for (int c; (c = opt.next ()) != -1; )
- {
- System.out.println ("c is " + (char)c);
- switch (c)
- {
- case 'p':
- s = opt.optarg ();
- ACE.DEBUG ("Option <p> selected with argument " + s);
- break;
- case 'r':
- ACE.DEBUG ("Option <r> selected");
- break;
- case 's':
- s = opt.optarg ();
- ACE.DEBUG ("Option <s> selected with argument " + s);
- break;
- default:
- ACE.DEBUG ("Usage: java tests.Misc.ParseArgsTest [-p arg1] [-r] [-s arg2]");
- break;
- }
- }
- }
-}
diff --git a/java/JACE/tests/Reactor/TimeValueTest.java b/java/JACE/tests/Reactor/TimeValueTest.java
deleted file mode 100644
index 559f6d15176..00000000000
--- a/java/JACE/tests/Reactor/TimeValueTest.java
+++ /dev/null
@@ -1,52 +0,0 @@
-/*************************************************
- *
- * = PACKAGE
- * ACE.Reactor
- *
- * = FILENAME
- * TimeValueTest.java
- *
- *@author Prashant Jain
- *
- *************************************************/
-package JACE.tests.Reactor;
-
-import JACE.OS.*;
-import JACE.ASX.*;
-
-public class TimeValueTest
-{
- public void ASSERT (boolean expression, int i)
- {
- if (!expression)
- ACE.ERROR ("ASSERT failed for " + i);
- }
-
- public void runTest ()
- {
- TimeValue tv1 = new TimeValue ();
- TimeValue tv2 = new TimeValue (2);
- TimeValue tv3 = new TimeValue (100);
- TimeValue tv4 = new TimeValue (1, 1000000000);
- TimeValue tv5 = new TimeValue (2);
- TimeValue tv6 = new TimeValue (1, -1000000000);
-
- this.ASSERT (tv1.equals (new TimeValue (0)), 1);
- this.ASSERT (tv2.lessThan (tv3), 2);
- this.ASSERT (tv2.lessThanEqual (tv2), 3);
- this.ASSERT (tv2.greaterThanEqual (tv4), 4);
- this.ASSERT (tv5.greaterThanEqual (tv6), 5);
- this.ASSERT (tv2.equals (new TimeValue (1, 1000000000)), 6);
- this.ASSERT (tv5.equals (tv4), 7);
- this.ASSERT (tv2.equals (tv4), 8);
- this.ASSERT (tv1.notEquals (tv2), 9);
- this.ASSERT (tv6.equals (tv1), 10);
- }
-
- public static void main (String [] args)
- {
- ACE.enableDebugging ();
-
- new TimeValueTest ().runTest ();
- }
-}
diff --git a/java/JACE/tests/Reactor/TimerQueueTest.java b/java/JACE/tests/Reactor/TimerQueueTest.java
deleted file mode 100644
index 93845ccb6ec..00000000000
--- a/java/JACE/tests/Reactor/TimerQueueTest.java
+++ /dev/null
@@ -1,84 +0,0 @@
-// ============================================================================
-//
-// = PACKAGE
-// tests.Reactor
-//
-// = FILENAME
-// TimerQueueTest.java
-//
-// = AUTHOR
-// Prashant Jain
-//
-// ============================================================================
-package JACE.tests.Reactor;
-
-import JACE.OS.*;
-import JACE.ASX.*;
-import JACE.Reactor.*;
-
-public class TimerQueueTest implements EventHandler
-{
- public int handleTimeout (TimeValue tv, Object obj)
- {
- ACE.DEBUG ("handleTimeout: " + tv.toString () + " " + (String) obj);
- return 0;
- }
-
- public static void main (String args [])
- {
- ACE.enableDebugging ();
-
- TimerQueue tq = new TimerQueue (true);
- TimerQueueTest th1 = new TimerQueueTest ();
- int n = 5;
-
- ACE.enableDebugging ();
-
- try
- {
- if (args.length == 1)
- {
- n = Integer.parseInt (args[0]);
- }
- }
- catch (NumberFormatException e)
- {
- ACE.ERROR ("Illegal argument.");
- }
-
- // Set a periodic timer
- int id = tq.scheduleTimer (th1,
- "periodic",
- new TimeValue (2),
- new TimeValue (3));
-
- int i;
- // Set a bunch of single timers
- for (i=1; i <= n; i++)
- {
- tq.scheduleTimer (th1,
- "A-timer-" + new Integer (i),
- new TimeValue (i*2));
- }
-
- TimerQueueTest th2 = new TimerQueueTest ();
- for (i=1; i <= n; i++)
- {
- tq.scheduleTimer (th2,
- "B-timer-" + new Integer (i),
- new TimeValue (i*3));
- }
- // Cancel all timers associated with this handler
- tq.cancelTimer (th2);
-
- try
- {
- Thread.sleep (30000);
- }
- catch (InterruptedException e)
- {
- }
- tq.cancelTimer (id);
- System.exit (0);
- }
-}
diff --git a/java/JACE/tests/SOCK_SAP/SOCKAcceptorTest.java b/java/JACE/tests/SOCK_SAP/SOCKAcceptorTest.java
deleted file mode 100644
index 3251030fe1c..00000000000
--- a/java/JACE/tests/SOCK_SAP/SOCKAcceptorTest.java
+++ /dev/null
@@ -1,110 +0,0 @@
-// ============================================================================
-//
-// = PACKAGE
-// tests.SOCK_SAP
-//
-// = FILENAME
-// SOCKAcceptorTest.java
-//
-// = AUTHOR
-// Prashant Jain
-//
-// ============================================================================
-package JACE.tests.SOCK_SAP;
-
-import java.io.*;
-import java.net.*;
-import JACE.OS.*;
-import JACE.SOCK_SAP.*;
-
-class TestHandler extends Thread
-{
- public TestHandler (SOCKStream stream)
- {
- this.stream_ = stream;
- }
-
- public void run ()
- {
- int msgLen;
- System.out.println ("Waiting for messages...");
- try
- {
- while (true)
- {
- StringBuffer msg = new StringBuffer ();
- msgLen = this.stream_.recv (msg);
- if (msgLen == 0)
- break;
- ACE.DEBUG ("Received: " + msg);
- this.stream_.send ("Got it!");
- }
- }
- catch (NullPointerException e)
- {
- ACE.ERROR ("connection reset by peer");
- }
- catch (IOException e)
- {
- ACE.ERROR (e);
- }
- finally
- {
- try
- {
- this.stream_.close ();
- }
- catch (IOException e)
- {
- }
- }
- }
- SOCKStream stream_;
-}
-
-public class SOCKAcceptorTest
-{
- void print_usage_and_die ()
- {
- ACE.DEBUG ("Usage: SOCKAcceptorTest [<port>]");
- System.exit (0);
- }
-
- public void init (int port)
- {
- try
- {
- SOCKAcceptor acceptor = new SOCKAcceptor (port);
- while (true)
- {
- SOCKStream stream = new SOCKStream ();
- acceptor.accept (stream);
- TestHandler handler = new TestHandler (stream);
- handler.start ();
- }
- }
- catch (IOException e)
- {
- }
- }
-
- public static void main (String [] args)
- {
- ACE.enableDebugging ();
-
- int port = ACE.DEFAULT_SERVER_PORT;
- SOCKAcceptorTest server = new SOCKAcceptorTest ();
- if (args.length == 1)
- {
- try
- {
- port = Integer.parseInt (args[0]);
- }
- catch (NumberFormatException e)
- {
- server.print_usage_and_die ();
- }
- }
- server.init (port);
- }
-}
diff --git a/java/JACE/tests/SOCK_SAP/SOCKConnectorTest.java b/java/JACE/tests/SOCK_SAP/SOCKConnectorTest.java
deleted file mode 100644
index e14b63936f5..00000000000
--- a/java/JACE/tests/SOCK_SAP/SOCKConnectorTest.java
+++ /dev/null
@@ -1,97 +0,0 @@
-// ============================================================================
-//
-// = PACKAGE
-// tests.SOCK_SAP
-//
-// = FILENAME
-// SOCKConnectorTest.java
-//
-// = AUTHOR
-// Prashant Jain
-//
-// ============================================================================
-package JACE.tests.SOCK_SAP;
-
-import java.io.*;
-import java.net.*;
-import JACE.OS.*;
-import JACE.SOCK_SAP.*;
-
-public class SOCKConnectorTest
-{
- static void print_usage_and_die ()
- {
- System.out.println ("Usage: SOCKConnectorTest <hostname> [<port>]");
- System.exit (0);
- }
-
- void processRequests (SOCKStream stream) throws IOException
- {
- // 1.0 JDK DataInputStream in = new DataInputStream (System.in);
- BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
- String msg;
- int ack_len;
-
- while (true)
- {
- StringBuffer ack = new StringBuffer ();
- ACE.DEBUG ("Enter input: ");
- ACE.FLUSH ();
- msg = in.readLine ();
- if (msg == null)
- break;
- stream.send (msg);
- ACE.DEBUG ("Waiting for ack...");
- ack_len = stream.recv (ack);
- if (ack_len == 0)
- break;
- else
- ACE.DEBUG (ack.toString ());
- }
- }
-
- public void init (String host, int port)
- {
- SOCKStream stream = new SOCKStream ();
- SOCKConnector connector = new SOCKConnector ();
- try
- {
- connector.connect (stream,
- host,
- port);
- processRequests (stream);
- }
- catch (IOException e)
- {
- ACE.ERROR (e);
- }
- }
-
- public static void main (String [] args)
- {
- ACE.enableDebugging ();
-
- int port = ACE.DEFAULT_SERVER_PORT;
- SOCKConnectorTest client = new SOCKConnectorTest ();
-
- // check arg count
- if (args.length == 0 || args.length > 2)
- print_usage_and_die();
-
- if (args.length == 2)
- {
- try
- {
- port = Integer.parseInt (args[1]);
- }
- catch (NumberFormatException e)
- {
- client.print_usage_and_die ();
- }
- }
- client.init (args[0], port);
-
-
- }
-}
-
diff --git a/java/JACE/tests/ServiceConfigurator/Main.java b/java/JACE/tests/ServiceConfigurator/Main.java
deleted file mode 100644
index 2b57d5ad429..00000000000
--- a/java/JACE/tests/ServiceConfigurator/Main.java
+++ /dev/null
@@ -1,113 +0,0 @@
-package JACE.tests.ServiceConfigurator;
-
-import java.io.*;
-import java.util.*;
-import JACE.OS.*;
-import JACE.ServiceConfigurator.*;
-
-/**
- * Runs the service configurator, allowing the user to interact with it.
- */
-public class Main
-{
- public static void main (String args[])
- throws FileNotFoundException, IOException, ClassNotFoundException,
- IllegalAccessException, InstantiationException
- {
- ACE.enableDebugging ();
-
- if (ServiceConfig.open (args) < 0) {
- System.err.println ("Error opening ServiceConfig");
- return;
- }
-
- processCommands (args);
-
- // close everything down
- ServiceConfig.close ();
- }
-
- public static void report(String s) {
- System.out.println(s);
- }
-
- static InputStreamReader stdin = new InputStreamReader (System.in);
-
- public static void showMenu ()
- {
- report ("\n[C]lose all");
- report ("[S]uspend all");
- report ("[R]esume all");
- report ("[Re[l]oad all");
- report ("List [n]ames");
-
- report ("\n[Q]uit");
- System.out.print ("\nOption (CSRLNQ): ");
- }
-
- public static void processCommands (String [] args)
- throws FileNotFoundException, IOException, ClassNotFoundException,
- IllegalAccessException, InstantiationException
- {
- int ch = 0;
- Enumeration svcs;
-
- showMenu ();
-
- do {
-
- ch = stdin.read ();
-
- switch (ch)
- {
- case 'c':
- case 'C':
- ServiceConfig.close ();
- break;
- case 's':
- case 'S':
- svcs = ServiceConfig.serviceNames ();
- while (svcs.hasMoreElements ())
- ServiceConfig.suspend ((String)svcs.nextElement ());
- break;
- case 'r':
- case 'R':
- svcs = ServiceConfig.serviceNames ();
- while (svcs.hasMoreElements ())
- ServiceConfig.resume ((String)svcs.nextElement ());
- break;
- case 'l':
- case 'L':
- ServiceConfig.close ();
- svcs = ServiceConfig.serviceNames ();
- while (svcs.hasMoreElements ())
- ServiceConfig.remove ((String)svcs.nextElement ());
- ServiceConfig.open (args);
- break;
- case 'n':
- case 'N':
- report ("\nService names:\n");
- svcs = ServiceConfig.services ();
- while (svcs.hasMoreElements ()) {
- Service sv = (Service)svcs.nextElement ();
- report (sv.name () + " : " + sv.info ());
- }
- break;
- case 'q':
- case 'Q':
- report ("\nExiting...");
- return;
- case -1:
- case 10:
- case 13:
- continue;
- default:
- break;
- }
-
- showMenu ();
-
- } while (true);
- }
-
-}
diff --git a/java/JACE/tests/ServiceConfigurator/svc.conf b/java/JACE/tests/ServiceConfigurator/svc.conf
deleted file mode 100644
index 5c0c331ed94..00000000000
--- a/java/JACE/tests/ServiceConfigurator/svc.conf
+++ /dev/null
@@ -1,4 +0,0 @@
-load TimeService JACE.netsvcs.Time.TSServerAcceptor ServiceObject "-d -p 30000"
-load LogService JACE.netsvcs.Logger.ServerLoggingAcceptor ServiceObject "-d -p 30001"
-load NameService JACE.netsvcs.Naming.NameAcceptor ServiceObject "-d -p 30002"
-load TokenService JACE.netsvcs.Token.TokenAcceptor ServiceObject "-d -p 30003"
diff --git a/java/JACE/tests/netsvcs/Logger/LoggerTest.java b/java/JACE/tests/netsvcs/Logger/LoggerTest.java
deleted file mode 100644
index ae835b07753..00000000000
--- a/java/JACE/tests/netsvcs/Logger/LoggerTest.java
+++ /dev/null
@@ -1,115 +0,0 @@
-/*************************************************
- *
- * = FILENAME
- * LoggerTest.java
- *
- *@author Everett Anderson
- *
- *************************************************/
-package JACE.tests.netsvcs.Logger;
-
-import JACE.SOCK_SAP.*;
-import java.io.*;
-import java.net.*;
-import JACE.OS.*;
-import JACE.netsvcs.Logger.*;
-
-/**
- *
- * This is a simple test log client very similar to the direct_logging
- * client of C++ ACE. The logging service should correctly receive
- * messages from both the C++ and Java version.
- *
- * @see JACE.netsvcs.Logger.ServerLoggingAcceptor
- */
-public class LoggerTest {
-
- /** Command line: <hostname> [<port>]
- *
- * Creates a "hello world" log message and sends it to the server logging
- * service.
- */
- public static void main(String args[])
- {
- if (args.length != 2) {
- System.err.println("Use: LoggerTest <host name> [<port>]");
- System.exit(0);
- }
-
- ACE.enableDebugging ();
-
- // Set the port
- int port = args.length > 1 ?
- (new Integer(args[1])).intValue() : ACE.DEFAULT_SERVER_PORT;
-
- SOCKStream cli_stream = new SOCKStream();
- INETAddr remote_addr;
- String host;
-
- // Try to find the host
- try {
-
- host = args[0];
-
- remote_addr = new INETAddr(port, host);
-
- } catch (UnknownHostException uhe) {
- ACE.ERROR("UnknownHostException " + uhe);
- return;
- }
-
- System.out.println("Connecting to " + host + " on port " + port);
-
- SOCKConnector con = new SOCKConnector();
-
- try {
-
- // Connect to the service
- con.connect(cli_stream, remote_addr);
-
- } catch (SocketException se) {
-
- ACE.ERROR("Socket Exception " + se);
- return;
-
- } catch (IOException ie) {
-
- ACE.ERROR("IOException " + ie);
- return;
- }
-
-
- // Send a message with priority 4, the current time,
- // and 0 for the process ID.
- LogRecord record = new LogRecord(4,
- System.currentTimeMillis(),
- 0);
-
- // Set the text of the message
- record.msgData("hello world");
-
- try {
-
- // Send it
- record.streamOutTo(cli_stream.socket().getOutputStream ());
-
- // Close the socket
- cli_stream.close();
-
- } catch (IOException ie) {
-
- ACE.ERROR("" + ie);
- return;
- }
- }
-};
-
-
-
-
-
-
-
-
-
-
diff --git a/java/JACE/tests/netsvcs/Naming/ClientTest.java b/java/JACE/tests/netsvcs/Naming/ClientTest.java
deleted file mode 100644
index f6af6f906ea..00000000000
--- a/java/JACE/tests/netsvcs/Naming/ClientTest.java
+++ /dev/null
@@ -1,107 +0,0 @@
-package JACE.tests.netsvcs.Naming;
-
-import java.io.*;
-import java.net.*;
-import java.util.*;
-import JACE.OS.*;
-import JACE.Connection.*;
-import JACE.SOCK_SAP.*;
-import JACE.netsvcs.Naming.*;
-
-/**
- * Simple test program for NameProxy and the naming service.
- *
- * Command line: (hostname) (port)
- */
-public class ClientTest
-{
- public static void print_usage_and_die ()
- {
- System.out.println ("Usage: ClientTest <hostname> [<port>]");
- System.exit (0);
- }
- public static void main (String [] args)
- throws UnknownHostException,
- SocketException,
- InstantiationException,
- IllegalAccessException,
- IOException
- {
- ACE.enableDebugging ();
-
- int port = ACE.DEFAULT_SERVER_PORT;
-
- if (args.length == 0 || args.length > 2)
- print_usage_and_die ();
-
- if (args.length == 2) {
- try
- {
- port = Integer.parseInt (args[1]);
- }
- catch (NumberFormatException e)
- {
- print_usage_and_die ();
- }
- }
-
- System.out.println("Trying to open port " + port + " on " + args[0]);
-
- NameProxy proxy = new NameProxy ();
-
- Connector c = new Connector ();
- c.open (args[0], port);
- c.connect (proxy);
-
- System.out.println("---- Beginning tests ----");
-
- try {
-
- System.out.println("Binding (five, six, seven): "
- + proxy.bind("five", "six", "seven"));
- System.out.println("Binding (filth, rat, eats): "
- + proxy.bind("filth", "rat", "eats"));
-
- Vector res = proxy.resolve("five");
-
- System.out.println("Resolve (five) : "
- + (String)res.elementAt(1) + " "
- + (String)res.elementAt(2));
-
- System.out.println("Binding (fish, words, him): "
- + proxy.bind("fish", "words", "him"));
-
- System.out.println("Unbind (five, six, seven): "
- + proxy.unbind("five"));
-
- res = proxy.resolve("five");
-
- System.out.println("Resolve (five) : "
- + (String)res.elementAt(1) + " "
- + (String)res.elementAt(2));
-
- System.out.println("Binding (fiction, us, you): "
- + proxy.bind("fiction", "us", "you"));
-
- System.out.println("\nGetting all records whose names begin with fi:\n");
- Vector res2 = proxy.listNameEntries("fi");
-
- Enumeration iter = res2.elements();
-
- while (iter.hasMoreElements()) {
- Vector res3 = (Vector)(iter.nextElement());
-
- System.out.println((String)res3.elementAt(0)
- + "\t" + (String)res3.elementAt(1)
- + "\t" + (String)res3.elementAt(2));
- }
-
- } catch (Exception e) {
- System.err.println ("" + e);
- e.printStackTrace ();
- } finally {
- proxy.close ();
- }
- }
-}
-
diff --git a/java/JACE/tests/netsvcs/Time/TSClient.java b/java/JACE/tests/netsvcs/Time/TSClient.java
deleted file mode 100644
index 7a8adf93f42..00000000000
--- a/java/JACE/tests/netsvcs/Time/TSClient.java
+++ /dev/null
@@ -1,37 +0,0 @@
-package JACE.tests.netsvcs.Time;
-
-import JACE.netsvcs.Time.*;
-import JACE.OS.*;
-import JACE.Reactor.*;
-
-public class TSClient
-{
-
- // Will run until killed since the default is to run the timer
- // queue in its own thread.
- public static void main (String args[])
- {
- ACE.enableDebugging ();
-
- TSClerkProcessor cp = new TSClerkProcessor ();
-
- if (cp.init (args) != 0)
- return;
-
- ACE.DEBUG ("***************************");
- ACE.DEBUG ("Press enter to end the test");
- ACE.DEBUG ("***************************");
-
- try {
- System.in.read();
-
- cp.close ();
-
- } catch (Exception e) {
- ACE.ERROR (e);
- }
- }
-}
-
-
-
diff --git a/java/JACE/tests/netsvcs/Token/ProxyClientTest.java b/java/JACE/tests/netsvcs/Token/ProxyClientTest.java
deleted file mode 100644
index 1b2118b7f9e..00000000000
--- a/java/JACE/tests/netsvcs/Token/ProxyClientTest.java
+++ /dev/null
@@ -1,200 +0,0 @@
-package JACE.tests.netsvcs.Token;
-
-import java.net.*;
-import java.io.*;
-import JACE.ASX.*;
-import JACE.OS.*;
-import JACE.Misc.*;
-import JACE.Concurrency.*;
-import JACE.netsvcs.Token.*;
-
-public class ProxyClientTest
-{
- public static void report(String s) {
- System.out.println(s);
- }
-
- static InputStreamReader stdin = new InputStreamReader (System.in);
- static RemoteLock lock;
- static int requeuePosition = -1, timeout = -1;
-
- public static void showMenu ()
- {
- report ("\n[A]cquire");
- report ("Acquire [w]rite");
- report ("Acquire rea[d]");
- report ("[T]ry Acquire");
- report ("Try acquire wr[i]te");
- report ("Try acquire r[e]ad");
- report ("Re[n]ew");
- report ("[R]elease");
-
- report ("\n[Q]uit");
- System.out.print ("\nOption (AWDTIENRQ): ");
- }
-
- public static void processCommands () throws IOException
- {
- int ch = 0, result = -1;
-
- showMenu ();
- do {
-
- ch = stdin.read();
-
- try {
-
- switch (ch)
- {
- case 'a':
- case 'A':
- if (timeout >= 0) {
- TimeValue tv = TimeValue.relativeTimeOfDay (timeout, 0);
- result = lock.acquire (tv);
- } else
- result = lock.acquire ();
- break;
- case 'w':
- case 'W':
- if (timeout >= 0) {
- TimeValue tv = TimeValue.relativeTimeOfDay (timeout, 0);
- result = lock.acquireWrite (tv);
- } else
- result = lock.acquire ();
- break;
- case 'd':
- case 'D':
- if (timeout >= 0) {
- TimeValue tv = TimeValue.relativeTimeOfDay (timeout, 0);
- result = lock.acquireRead (tv);
- } else
- result = lock.acquire ();
- break;
- case 't':
- case 'T':
- result = lock.tryAcquire ();
- break;
- case 'i':
- case 'I':
- result = lock.tryAcquireWrite ();
- break;
- case 'e':
- case 'E':
- result = lock.tryAcquireRead ();
- break;
- case 'r':
- case 'R':
- result = lock.release ();
- break;
- case 'n':
- case 'N':
- if (timeout >= 0) {
- TimeValue tv = TimeValue.relativeTimeOfDay (timeout, 0);
- result = lock.renew (requeuePosition, tv);
- } else
- result = lock.renew (requeuePosition);
- break;
- case 'q':
- case 'Q':
- continue;
- case -1:
- case 10:
- case 13:
- // Ignore line feeds and carriage returns
- continue;
- default:
- report ("Unknown command: " + (char)ch + " (" + ch + ")\n");
- showMenu ();
- continue;
- }
-
- report ("\nResult: " + (result == lock.SUCCESS ? "Success" :
- "Failure"));
-
- } catch (TimeoutException e) {
- report ("\nRequest timed out");
- /*
- } catch (InterruptedException e) {
- report ("\nInterrupted while attemping operation");
- */
- } catch (LockException e) {
- report ("\nLock failure: " + e.getMessage ());
- }
-
- showMenu ();
-
- } while (ch != 'Q' && ch != 'q');
- }
-
- public static void printUsage ()
- {
- report ("Valid options:\n");
- report ("-h <host name> Specify token server host");
- report ("-p <port number> Port to connect to");
- report ("-t <time in sec> Relative timeout to use");
- report ("-l <lock type> 0 Mutex, 1 RWMutex");
- report ("-c <client ID> Specify ID (default is this machine name)");
- report ("-n <token name> Specify token name");
- report ("-q <requeue pos> Use this requeue position in renew");
- report ("-d Enable debugging");
- }
-
- public static void main (String args[]) throws IOException
- {
- GetOpt opt = new GetOpt (args, "h:p:t:l:c:n:q:d", true);
-
- String host = "localhost", tokenName = "token1";
- int port = ACE.DEFAULT_SERVER_PORT;
- int type = LockTypes.MUTEX, c;
- String clientID = InetAddress.getLocalHost().getHostName ();
-
- try {
- while ((c = opt.next ()) != -1) {
- switch (c)
- {
- case 'h':
- host = opt.optarg ();
- break;
- case 'p':
- port = Integer.parseInt (opt.optarg ());
- break;
- case 't':
- timeout = Integer.parseInt (opt.optarg ());
- break;
- case 'l':
- type = Integer.parseInt (opt.optarg ());
- break;
- case 'c':
- clientID = opt.optarg ();
- break;
- case 'n':
- tokenName = opt.optarg ();
- break;
- case 'q':
- requeuePosition = Integer.parseInt (opt.optarg ());
- break;
- case 'd':
- ACE.enableDebugging ();
- ACE.DEBUG ("Debugging is enabled");
- break;
- default:
- printUsage ();
- return;
- }
- }
- } catch (ArrayIndexOutOfBoundsException e) {
- printUsage ();
- return;
- }
-
- report ("Using : " + host + " on port " + port);
- report ("Token : " + tokenName);
- report ("Client ID: " + clientID);
-
- lock = new RemoteLock (type, 0, tokenName, clientID, host, port);
-
- processCommands ();
-
- lock.close ();
- }
-}
diff --git a/java/MSVJProjects.zip b/java/MSVJProjects.zip
deleted file mode 100644
index d5d7c95ebe5..00000000000
--- a/java/MSVJProjects.zip
+++ /dev/null
Binary files differ
diff --git a/java/README b/java/README
deleted file mode 100644
index 961a0d94c66..00000000000
--- a/java/README
+++ /dev/null
@@ -1,40 +0,0 @@
-Java ACE Version 1.5
-
-JACE is compatible with Java 1.1 and higher.
-
-Directory information:
-
-JACE/ All main, network service, and test source files
-
-classes/ Output directory for all the .class files. This may
- need to be added to your classpath.
-
-doc/ If you generate the javadoc documentation, it will be
- placed here. Requires javadoc 1.2 or later. I think
- 1.2.2 is the first version that correctly "inherits"
- comments.
-
-Notes on building Java ACE:
-
-UNIX:
-
-Use GNU make on the Makefile in the JACE subdirectory. That will
-build the main and network service sources. To build the tests,
-use the Makefile in the JACE/tests subdirectory.
-
-Generate the javadoc documentation with the command "make doc" with
-the Makefile in the JACE subdirectory.
-
-Windows:
-
-Visual J++ 6.0 solution and project files are provided. The main
-JACE solution file compiles all the source files (main, network
-service, and test). The solutions and projects are in
-MSVJProjects.zip.
-
-If you don't have VJ++ and are using the JDK from the command line,
-you can compile JACE with the batch files in makebat.zip in the JACE
-subdirectory.
-
-Generate the javadoc documentation with the makedoc.bat file (also
-in makebat.zip).
diff --git a/java/VERSION b/java/VERSION
deleted file mode 100644
index 8c004c2231b..00000000000
--- a/java/VERSION
+++ /dev/null
@@ -1,5 +0,0 @@
-This is Java ACE version 1.5.
-
-If you have any problems, please send email to Douglas C. Schmidt
-at (schmidt@cs.wustl.edu)
-
diff --git a/java/apps/NexusII/README b/java/apps/NexusII/README
deleted file mode 100644
index 60a630cef5a..00000000000
--- a/java/apps/NexusII/README
+++ /dev/null
@@ -1,58 +0,0 @@
-Nexus II - A chat application in Java with image support
---------------------------------------------------------
-
- Rajeev Bector (rajeev@cs.wustl.edu)
- Aravind Gopalan (aravind@cs.wustl.edu)
- Sumedh Mungee (sumedh@cs.wustl.edu)
-
-This is the README file. This distribution contains the NexusII
-server, which is a java application that can be started by a command
-similar to the one contained in the sample "start" shell-script.
-
-It also contains a "start.html" file, which serves as an example on how
-a client applet can be included within a .html file.
-
-A sample use of this, alongwith a simple users manual, can be found at
-http://cumbia.cs.wustl.edu/NexusII/
-
-Compiling (optional, all the class files are already present)
--------------------------------------------------------------
-
-All the source .java files, alongwith the makefile should be placed in
-the same directory, and can then be compiled using make.
-
-The client/server use the following packages:
-
- awtCommand: This package provides a GUI toolkit for the applet
- ACE: This is used both by the client/server for
- networking. ACE documentation can be found at:
- http://www.cs.wustl.edu/~schmidt/ACE.html
-
-Running
--------
-
-See the "start" and "start.html" files for examples on how to run the
-server and client applet, respectively. The "mywebaddress" variable is
-the "temporary" URL of the server, and the "mywebdir" variable is the
-temporary directory in which images are cached by the server. Make
-sure that both these exist and are world-readable. The "mywebdir"
-should be writable to by the server. The "mywebdir" and "mywebaddress"
-variables should thus point to the same location, of which mywebdir
-contains the path, and mywebaddress contains the URL.
-
-See "start" for an example on how to do this.
-
-If you only want to use an existing running server, all you need to
-know is the server host-name and port number, and you can directly run
-the start.html file via appletviewer.
-
-Notes
------
-
-1. You can compile the client and server using the same makefile.
-2. The client applet MUST reside on the same host as the server is running on.
-4. run the server using start script. Change the paramters in the start script,
- suitable to your configurations. The start script contains further
- information on this.
-
-
diff --git a/java/apps/NexusII/classes/ClientHandler.class b/java/apps/NexusII/classes/ClientHandler.class
deleted file mode 100644
index ecfff46e582..00000000000
--- a/java/apps/NexusII/classes/ClientHandler.class
+++ /dev/null
Binary files differ
diff --git a/java/apps/NexusII/classes/FrameHandler.class b/java/apps/NexusII/classes/FrameHandler.class
deleted file mode 100644
index c7582979625..00000000000
--- a/java/apps/NexusII/classes/FrameHandler.class
+++ /dev/null
Binary files differ
diff --git a/java/apps/NexusII/classes/ImageCanvas.class b/java/apps/NexusII/classes/ImageCanvas.class
deleted file mode 100644
index 5768eef7116..00000000000
--- a/java/apps/NexusII/classes/ImageCanvas.class
+++ /dev/null
Binary files differ
diff --git a/java/apps/NexusII/classes/NexusClientApplet.class b/java/apps/NexusII/classes/NexusClientApplet.class
deleted file mode 100644
index f5c913215f6..00000000000
--- a/java/apps/NexusII/classes/NexusClientApplet.class
+++ /dev/null
Binary files differ
diff --git a/java/apps/NexusII/classes/NexusIIserver.class b/java/apps/NexusII/classes/NexusIIserver.class
deleted file mode 100644
index 5cf554e2961..00000000000
--- a/java/apps/NexusII/classes/NexusIIserver.class
+++ /dev/null
Binary files differ
diff --git a/java/apps/NexusII/classes/Room.class b/java/apps/NexusII/classes/Room.class
deleted file mode 100644
index 1dc6e2fab54..00000000000
--- a/java/apps/NexusII/classes/Room.class
+++ /dev/null
Binary files differ
diff --git a/java/apps/NexusII/classes/RoomFactory.class b/java/apps/NexusII/classes/RoomFactory.class
deleted file mode 100644
index e7addff06a4..00000000000
--- a/java/apps/NexusII/classes/RoomFactory.class
+++ /dev/null
Binary files differ
diff --git a/java/apps/NexusII/classes/RoomFrame.class b/java/apps/NexusII/classes/RoomFrame.class
deleted file mode 100644
index 76e27e3b97b..00000000000
--- a/java/apps/NexusII/classes/RoomFrame.class
+++ /dev/null
Binary files differ
diff --git a/java/apps/NexusII/classes/RoomThread.class b/java/apps/NexusII/classes/RoomThread.class
deleted file mode 100644
index 219a0cb0bc9..00000000000
--- a/java/apps/NexusII/classes/RoomThread.class
+++ /dev/null
Binary files differ
diff --git a/java/apps/NexusII/classes/awtCommand/CApplet.class b/java/apps/NexusII/classes/awtCommand/CApplet.class
deleted file mode 100644
index 998ff08bcef..00000000000
--- a/java/apps/NexusII/classes/awtCommand/CApplet.class
+++ /dev/null
Binary files differ
diff --git a/java/apps/NexusII/classes/awtCommand/CApplet.java b/java/apps/NexusII/classes/awtCommand/CApplet.java
deleted file mode 100644
index a8680d9abf3..00000000000
--- a/java/apps/NexusII/classes/awtCommand/CApplet.java
+++ /dev/null
@@ -1,199 +0,0 @@
-/*
- * Copyright 1996 Jan Newmarch, University of Canberra.
- * Permission to use, copy, modify, and distribute this
- * software and its documentation for any purpose and without
- * fee is hereby granted, provided that the above copyright
- * notice appear in all copies. The author
- * makes no representations about the suitability of this
- * software for any purpose. It is provided "as is" without
- * express or implied warranty.
- */
-
-package awtCommand;
-
-import java.awt.*;
-import java.applet.*;
-
-public class CApplet extends Applet {
-
- protected Command gotFocusCommand = null,
- lostFocusCommand = null;
- protected Command mouseDownCommand = null,
- mouseDragCommand = null,
- mouseEnterCommand = null,
- mouseExitCommand = null,
- mouseMoveCommand = null,
- mouseUpCommand = null;
- protected Command keyUpCommand = null,
- keyDownCommand = null;
-
- /**
- * Constructs a new CApplet.
- */
- public CApplet() {
- super();
- }
-
- /*
- * event handling methods
- */
-
- /**
- * Called if the window gains focus. This results in a call to
- * the gotFocusCommand object with <code>what</code> set to null.
- */
- public boolean gotFocus(Event evt, Object what) {
- if (gotFocusCommand != null)
- gotFocusCommand.execute(this, evt, what);
- return false;
- }
-
- /**
- * Called if the window loses focus. This results in a call to
- * the lostFocusCommand object with <code>what</code> set to null.
- */
- public boolean lostFocus(Event evt, Object what) {
- if (lostFocusCommand != null)
- lostFocusCommand.execute(this, evt, what);
- return false;
- }
-
- /**
- * Called if the mouse is down.
- * This results in a call to the mouseDownCommand object with
- * <code>what</code> set to Point(x, y)
- */
- public boolean mouseDown(Event evt, int x, int y) {
- if (mouseDownCommand != null)
- mouseDownCommand.execute(this, evt, new Point(x, y));
- return false;
- }
-
- /**
- * Called if the mouse is dragged.
- * This results in a call to the mouseDragCommand object with
- * <code>what</code> set to Point(x, y)
- */
- public boolean mouseDrag(Event evt, int x, int y) {
- if (mouseDragCommand != null)
- mouseDragCommand.execute(this, evt, new Point(x, y));
- return false;
- }
-
- /**
- * Called if the mouse enters the window.
- * This results in a call to the mouseEnterCommand object with
- * <code>what</code> set to Point(x, y)
- */
- public boolean mouseEnter(Event evt, int x, int y) {
- if (mouseEnterCommand != null)
- mouseEnterCommand.execute(this, evt, new Point(x, y));
- return false;
- }
-
- /**
- * Called if the mouse moves inside the window.
- * This results in a call to the mouseMoveCommand object with
- * <code>what</code> set to Point(x, y)
- */
- public boolean mouseMove(Event evt, int x, int y) {
- if (mouseExitCommand != null)
- mouseExitCommand.execute(this, evt, new Point(x, y));
- return false;
- }
-
- /**
- * Called if the mouse is up.
- * This results in a call to the mouseUpCommand object with
- * <code>what</code> set to Point(x, y)
- */
- public boolean mouseUp(Event evt, int x, int y) {
- if (mouseUpCommand != null)
- mouseUpCommand.execute(this, evt, new Point(x, y));
- return false;
- }
-
- /**
- * Called if a character is pressed.
- * This results in a call to the keyDownCommand object with
- * <code>what</code> set to Integer(key).
- */
- public boolean keyDown(Event evt, int key) {
- if (keyDownCommand != null)
- keyDownCommand.execute(this, evt, new Integer(key));
- return false;
- }
-
- /**
- * Called if a character is released.
- * This results in a call to the keyUpCommand object with
- * <code>what</code> set to Integer(key).
- */
- public boolean keyUp(Event evt, int key) {
- if (keyUpCommand != null)
- keyUpCommand.execute(this, evt, new Integer(key));
- return false;
- }
-
-
- /*
- * set...Command methods
- */
-
-
- /**
- * Sets the mouseDownCommand object.
- */
- public void setMouseDownCommand(Command c) {
- mouseDownCommand = c;
- }
-
- /**
- * Sets the moueDragCommand object.
- */
- public void setMouseDragCommand(Command c) {
- mouseDragCommand = c;
- }
-
- /**
- * Sets the mouseEnterCommand object.
- */
- public void setMouseEnterCommand(Command c) {
- mouseEnterCommand = c;
- }
-
- /**
- * Sets the mouseExitCommand object.
- */
- public void setMouseExitCommand(Command c) {
- mouseExitCommand = c;
- }
-
- /**
- * Sets the mouseMoveCommand object.
- */
- public void setMouseMoveCommand(Command c) {
- mouseMoveCommand = c;
- }
-
- /**
- * Sets the mouseUpCommand object.
- */
- public void setMouseUpCommand(Command c) {
- mouseUpCommand = c;
- }
-
- /**
- * Sets the keyDownCommand object.
- */
- public void setKeyDownCommand(Command c) {
- keyDownCommand = c;
- }
-
- /**
- * Sets the keyUpCommand object.
- */
- public void setKeyUpCommand(Command c) {
- keyUpCommand = c;
- }
-}
diff --git a/java/apps/NexusII/classes/awtCommand/CButton.class b/java/apps/NexusII/classes/awtCommand/CButton.class
deleted file mode 100644
index b099c2dc4a6..00000000000
--- a/java/apps/NexusII/classes/awtCommand/CButton.class
+++ /dev/null
Binary files differ
diff --git a/java/apps/NexusII/classes/awtCommand/CButton.java b/java/apps/NexusII/classes/awtCommand/CButton.java
deleted file mode 100644
index ff0f3385bad..00000000000
--- a/java/apps/NexusII/classes/awtCommand/CButton.java
+++ /dev/null
@@ -1,41 +0,0 @@
-
-package awtCommand;
-
-import java.lang.*;
-import java.awt.*;
-
-public class CButton extends java.awt.Button {
- protected Command actionCommand = null;
-
- /**
- * Constructs a CButton.
- */
- public CButton() {
- super();
- }
-
- /**
- * Constructs a CButton with the given name.
- */
- public CButton(String name) {
- super(name);
- }
-
- /**
- * Sets the actionCommand object.
- */
- public void setActionCommand(Command action) {
- actionCommand = action;
- }
-
- /**
- * Called when the button is selected..
- * This results in a call to the actionCommand object
- * with <code>what</code> set to the button's label.
- */
- public boolean action(Event evt, Object what) {
- if (actionCommand != null)
- actionCommand.execute(this, evt, what);
- return false;
- }
-}
diff --git a/java/apps/NexusII/classes/awtCommand/CCanvas.class b/java/apps/NexusII/classes/awtCommand/CCanvas.class
deleted file mode 100644
index 48f63357daf..00000000000
--- a/java/apps/NexusII/classes/awtCommand/CCanvas.class
+++ /dev/null
Binary files differ
diff --git a/java/apps/NexusII/classes/awtCommand/CCanvas.java b/java/apps/NexusII/classes/awtCommand/CCanvas.java
deleted file mode 100644
index 837b6f56f7a..00000000000
--- a/java/apps/NexusII/classes/awtCommand/CCanvas.java
+++ /dev/null
@@ -1,381 +0,0 @@
-/*
- * Copyright 1996 Jan Newmarch, University of Canberra.
- * Permission to use, copy, modify, and distribute this
- * software and its documentation for any purpose and without
- * fee is hereby granted, provided that the above copyright
- * notice appear in all copies. The author
- * makes no representations about the suitability of this
- * software for any purpose. It is provided "as is" without
- * express or implied warranty.
- */
-
-package awtCommand;
-
-import java.awt.*;
-
-public class CCanvas extends Canvas {
-
- protected Command gotFocusCommand = null,
- lostFocusCommand = null;
- protected Command mouseDownCommand = null,
- mouseDragCommand = null,
- mouseEnterCommand = null,
- mouseExitCommand = null,
- mouseMoveCommand = null,
- mouseUpCommand = null;
- protected Command keyUpCommand = null,
- keyDownCommand = null;
- protected Command actionCommand = null;
- protected Command scrollAbsoluteCommand = null,
- lineDownCommand = null,
- lineUpCommand = null,
- pageDownCommand = null,
- pageUpCommand = null;
- protected Command selectCommand = null,
- deselectCommand = null;
-
-
- /**
- * Constructs a new CCanvas.
- */
- public CCanvas() {
- super();
- }
-
- /**
- * Handles the event.
- * Calls methods for variousL events and passes
- * others to its superclass method.
- */
- public boolean handleEvent(Event evt) {
- switch (evt.id) {
- case Event.SCROLL_ABSOLUTE:
- return scrollAbsolute(evt, evt.arg);
- case Event.SCROLL_LINE_DOWN:
- return lineDown(evt, evt.arg);
- case Event.SCROLL_LINE_UP:
- return lineUp(evt, evt.arg);
- case Event.SCROLL_PAGE_DOWN:
- return pageDown(evt, evt.arg);
- case Event.SCROLL_PAGE_UP:
- return pageUp(evt, evt.arg);
- case Event.LIST_SELECT:
- return select(evt, evt.arg);
- case Event.LIST_DESELECT:
- return deselect(evt, evt.arg);
- default:
- return super.handleEvent(evt);
- }
- }
-
-
- /*
- * event handling methods
- */
-
- /**
- * Called if the window gains focus. This results in a call to
- * the gotFocusCommand object with <code>what</code> set to null.
- */
- public boolean gotFocus(Event evt, Object what) {
- if (gotFocusCommand != null)
- gotFocusCommand.execute(this, evt, what);
- return false;
- }
-
- /**
- * Called if the window loses focus. This results in a call to
- * the lostFocusCommand object with <code>what</code> set to null.
- */
- public boolean lostFocus(Event evt, Object what) {
- if (lostFocusCommand != null)
- lostFocusCommand.execute(this, evt, what);
- return false;
- }
-
- /**
- * Called if the mouse is down.
- * This results in a call to the mouseDownCommand object with
- * <code>what</code> set to Point(x, y)
- */
- public boolean mouseDown(Event evt, int x, int y) {
- if (mouseDownCommand != null)
- mouseDownCommand.execute(this, evt, new Point(x, y));
- return false;
- }
-
- /**
- * Called if the mouse is dragged.
- * This results in a call to the mouseDragCommand object with
- * <code>what</code> set to Point(x, y)
- */
- public boolean mouseDrag(Event evt, int x, int y) {
- if (mouseDragCommand != null)
- mouseDragCommand.execute(this, evt, new Point(x, y));
- return false;
- }
-
- /**
- * Called if the mouse enters the window.
- * This results in a call to the mouseEnterCommand object with
- * <code>what</code> set to Point(x, y)
- */
- public boolean mouseEnter(Event evt, int x, int y) {
- if (mouseEnterCommand != null)
- mouseEnterCommand.execute(this, evt, new Point(x, y));
- return false;
- }
-
- /**
- * Called if the mouse moves inside the window.
- * This results in a call to the mouseMoveCommand object with
- * <code>what</code> set to Point(x, y)
- */
- public boolean mouseMove(Event evt, int x, int y) {
- if (mouseExitCommand != null)
- mouseExitCommand.execute(this, evt, new Point(x, y));
- return false;
- }
-
- /**
- * Called if the mouse is up.
- * This results in a call to the mouseUpCommand object with
- * <code>what</code> set to Point(x, y)
- */
- public boolean mouseUp(Event evt, int x, int y) {
- if (mouseUpCommand != null)
- mouseUpCommand.execute(this, evt, new Point(x, y));
- return false;
- }
-
- /**
- * Called if a character is pressed.
- * This results in a call to the keyDownCommand object with
- * <code>what</code> set to Integer(key).
- */
- public boolean keyDown(Event evt, int key) {
- if (keyDownCommand != null)
- keyDownCommand.execute(this, evt, new Integer(key));
- return false;
- }
-
- /**
- * Called if a character is released.
- * This results in a call to the keyUpCommand object with
- * <code>what</code> set to Integer(key).
- */
- public boolean keyUp(Event evt, int key) {
- if (keyUpCommand != null)
- keyUpCommand.execute(this, evt, new Integer(key));
- return false;
- }
-
- /**
- * Called when an ACTION_EVENT is generated.
- * This results in a call to the actionCommand object
- * with <code>what</code> set to the event's arg.
- */
- public boolean action(Event evt, Object what) {
- if (actionCommand != null)
- actionCommand.execute(this, evt, what);
- return false;
- }
-
- /**
- * Called when a scrollbar is dragged.
- * This results in a call to the scrollAbsoluteCommand object
- * with <code>what</code> set to the slider location value.
- */
- public boolean scrollAbsolute(Event evt, Object what) {
- if (scrollAbsoluteCommand != null)
- scrollAbsoluteCommand.execute(this, evt, what);
- return false;
- }
-
- /**
- * Called when a scrollbar is incremented down.
- * This results in a call to the lineDownCommand object
- * with <code>what</code> set to the slider location value.
- */
- public boolean lineDown(Event evt, Object what) {
- if (lineDownCommand != null)
- lineDownCommand.execute(this, evt, what);
- return false;
- }
-
- /**
- * Called when a scrollbar is incremented up.
- * This results in a call to the lineUpCommand object
- * with <code>what</code> set to the slider location value.
- */
- public boolean lineUp(Event evt, Object what) {
- if (lineUpCommand != null)
- lineUpCommand.execute(this, evt, what);
- return false;
- }
-
- /**
- * Called when a scrollbar pages up.
- * This results in a call to the pageUpCommand object
- * with <code>what</code> set to the slider location value.
- */
- public boolean pageUp(Event evt, Object what) {
- if (pageUpCommand != null)
- pageUpCommand.execute(this, evt, what);
- return false;
- }
-
- /**
- * Called when a scrollbar pages down.
- * This results in a call to the pageDownCommand object
- * with <code>what</code> set to the slider location value.
- */
- public boolean pageDown(Event evt, Object what) {
- if (pageDownCommand != null)
- pageDownCommand.execute(this, evt, what);
- return false;
- }
-
- /**
- * Called if the mouse selects an item in a List.
- * This results in a call to the selectCommand object
- * with <code>what</code> set to the selected index.
- */
- public boolean select(Event evt, Object what) {
- if (selectCommand != null)
- selectCommand.execute(this, evt, what);
- return false;
- }
-
-
- /**
- * Called if the mouse deselects an item in a List.
- * This results in a call to the deselectCommand object
- * with <code>what</code> set to the deselected index.
- */
- public boolean deselect(Event evt, Object what) {
- if (deselectCommand != null)
- deselectCommand.execute(this, evt, what);
- return false;
- }
-
-
- /*
- * set...Command methods
- */
-
-
-
- /**
- * Sets the mouseDownCommand object.
- */
- public void setMouseDownCommand(Command c) {
- mouseDownCommand = c;
- }
-
- /**
- * Sets the moueDragCommand object.
- */
- public void setMouseDragCommand(Command c) {
- mouseDragCommand = c;
- }
-
- /**
- * Sets the mouseEnterCommand object.
- */
- public void setMouseEnterCommand(Command c) {
- mouseEnterCommand = c;
- }
-
- /**
- * Sets the mouseExitCommand object.
- */
- public void setMouseExitCommand(Command c) {
- mouseExitCommand = c;
- }
-
- /**
- * Sets the mouseMoveCommand object.
- */
- public void setMouseMoveCommand(Command c) {
- mouseMoveCommand = c;
- }
-
- /**
- * Sets the mouseUpCommand object.
- */
- public void setMouseUpCommand(Command c) {
- mouseUpCommand = c;
- }
-
- /**
- * Sets the keyDownCommand object.
- */
- public void setKeyDownCommand(Command c) {
- keyDownCommand = c;
- }
-
- /**
- * Sets the keyUpCommand object.
- */
- public void setKeyUpCommand(Command c) {
- keyUpCommand = c;
- }
-
- /**
- * Sets the actionCommand object.
- */
- public void setActionCommand(Command action) {
- actionCommand = action;
- }
-
- /**
- * Sets the scrollAbsoluteCommand.
- */
- public void setScrollAbsoluteCommand(Command c) {
- scrollAbsoluteCommand = c;
- }
-
- /**
- * Sets the lineUpCommand.
- */
- public void setLineUpCommand(Command c) {
- lineUpCommand = c;
- }
-
- /**
- * Sets the lineDownCommand.
- */
- public void setLineDownCommand(Command c) {
- lineDownCommand = c;
- }
-
- /**
- * Sets the pageUpCommand.
- */
- public void setPageUpCommand(Command c) {
- pageUpCommand = c;
- }
-
- /**
- * Sets the pageDownCommand.
- */
- public void setPageDownCommand(Command c) {
- pageDownCommand = c;
- }
-
- /**
- * Sets the selectCommand.
- */
- public void setSelectCommand(Command select) {
- selectCommand = select;
- }
-
- /**
- * Sets the deselectCommand.
- */
- public void setDeselectCommand(Command deselect) {
- deselectCommand = deselect;
- }
-
-}
diff --git a/java/apps/NexusII/classes/awtCommand/CFrame.class b/java/apps/NexusII/classes/awtCommand/CFrame.class
deleted file mode 100644
index 27f87ab82c8..00000000000
--- a/java/apps/NexusII/classes/awtCommand/CFrame.class
+++ /dev/null
Binary files differ
diff --git a/java/apps/NexusII/classes/awtCommand/CFrame.java b/java/apps/NexusII/classes/awtCommand/CFrame.java
deleted file mode 100644
index f63d3ce8b9a..00000000000
--- a/java/apps/NexusII/classes/awtCommand/CFrame.java
+++ /dev/null
@@ -1,486 +0,0 @@
-/*
- * Copyright 1996 Jan Newmarch, University of Canberra.
- * Permission to use, copy, modify, and distribute this
- * software and its documentation for any purpose and without
- * fee is hereby granted, provided that the above copyright
- * notice appear in all copies. The author
- * makes no representations about the suitability of this
- * software for any purpose. It is provided "as is" without
- * express or implied warranty.
- */
-
-package awtCommand;
-
-import java.awt.*;
-
-public class CFrame extends Frame {
-
- protected Command destroyCommand = null,
- deiconifyCommand = null,
- iconifyCommand = null,
- movedCommand = null;
- protected Command gotFocusCommand = null,
- lostFocusCommand = null;
- protected Command mouseDownCommand = null,
- mouseDragCommand = null,
- mouseEnterCommand = null,
- mouseExitCommand = null,
- mouseMoveCommand = null,
- mouseUpCommand = null;
- protected Command keyUpCommand = null,
- keyDownCommand = null;
- protected Command actionCommand = null;
- protected Command scrollAbsoluteCommand = null,
- lineDownCommand = null,
- lineUpCommand = null,
- pageDownCommand = null,
- pageUpCommand = null;
- protected Command selectCommand = null,
- deselectCommand = null;
-
- /**
- * Constructs a new, initially invisible CFrame.
- */
- public CFrame() {
- super();
- }
-
- /**
- * Constructs a new, initially invisible CFrame with the
- * specified title.
- */
- public CFrame(String title) {
- super(title);
- }
-
- /**
- * Handles the event
- */
- public boolean handleEvent(Event evt) {
- switch (evt.id) {
- case Event.WINDOW_DESTROY:
- return windowDestroy(evt);
- case Event.WINDOW_DEICONIFY:
- return windowDeiconify(evt);
- case Event.WINDOW_ICONIFY:
- return windowIconify(evt);
- case Event.WINDOW_MOVED:
- return windowMoved(evt);
- case Event.SCROLL_ABSOLUTE:
- return scrollAbsolute(evt, evt.arg);
- case Event.SCROLL_LINE_DOWN:
- return lineDown(evt, evt.arg);
- case Event.SCROLL_LINE_UP:
- return lineUp(evt, evt.arg);
- case Event.SCROLL_PAGE_DOWN:
- return pageDown(evt, evt.arg);
- case Event.SCROLL_PAGE_UP:
- return pageUp(evt, evt.arg);
- case Event.LIST_SELECT:
- return select(evt, evt.arg);
- case Event.LIST_DESELECT:
- return deselect(evt, evt.arg);
- default:
- return super.handleEvent(evt);
- }
- }
-
- /*
- * event handling methods
- */
-
- /**
- * Called if the dialog's window is destroyed. This results in a call to
- * the destroyCommand object with <code>what</code> set to null
- */
- public boolean windowDestroy(Event evt) {
- if (destroyCommand != null)
- destroyCommand.execute(this, evt, null);
- return false;
- }
-
- /**
- * Called if the dialog's window is deiconified. This results in a call to
- * the deiconifyCommand object with <code>what</code> set to null
- */
- public boolean windowDeiconify(Event evt) {
- if (deiconifyCommand != null)
- deiconifyCommand.execute(this, evt, null);
- return false;
- }
-
- /**
- * Called if the dialog is iconified. This results in a call to
- * the iconifyCommand object with <code>what</code> set to null
- */
- public boolean windowIconify(Event evt) {
- if (iconifyCommand != null)
- iconifyCommand.execute(this, evt, null);
- return false;
- }
-
- /**
- * Called if the dialog's window is moved. This results in a call to
- * the movedCommand object with <code>what</code> set to Point(x, y)
- */
- public boolean windowMoved(Event evt) {
- if (movedCommand != null)
- movedCommand.execute(this, evt, new Point(evt.x, evt.y));
- return false;
- }
-
- /*
- * I don't know where what objects this next set should belong
- * to. Putting them at the top is ok for now
- */
-
- /**
- * Called if the window gains focus. This results in a call to
- * the gotFocusCommand object with <code>what</code> set to null.
- */
- public boolean gotFocus(Event evt, Object what) {
- if (gotFocusCommand != null)
- gotFocusCommand.execute(this, evt, what);
- return false;
- }
-
- /**
- * Called if the window loses focus. This results in a call to
- * the lostFocusCommand object with <code>what</code> set to null.
- */
- public boolean lostFocus(Event evt, Object what) {
- if (lostFocusCommand != null)
- lostFocusCommand.execute(this, evt, what);
- return false;
- }
-
- /**
- * Called if the mouse is down.
- * This results in a call to the mouseDownCommand object with
- * <code>what</code> set to Point(x, y)
- */
- public boolean mouseDown(Event evt, int x, int y) {
- if (mouseDownCommand != null)
- mouseDownCommand.execute(this, evt, new Point(x, y));
- return false;
- }
-
- /**
- * Called if the mouse is dragged.
- * This results in a call to the mouseDragCommand object with
- * <code>what</code> set to Point(x, y)
- */
- public boolean mouseDrag(Event evt, int x, int y) {
- if (mouseDragCommand != null)
- mouseDragCommand.execute(this, evt, new Point(x, y));
- return false;
- }
-
- /**
- * Called if the mouse enters the window.
- * This results in a call to the mouseEnterCommand object with
- * <code>what</code> set to Point(x, y)
- */
- public boolean mouseEnter(Event evt, int x, int y) {
- if (mouseEnterCommand != null)
- mouseEnterCommand.execute(this, evt, new Point(x, y));
- return false;
- }
-
- /**
- * Called if the mouse moves inside the window.
- * This results in a call to the mouseMoveCommand object with
- * <code>what</code> set to Point(x, y)
- */
- public boolean mouseMove(Event evt, int x, int y) {
- if (mouseExitCommand != null)
- mouseExitCommand.execute(this, evt, new Point(x, y));
- return false;
- }
-
- /**
- * Called if the mouse is up.
- * This results in a call to the mouseUpCommand object with
- * <code>what</code> set to Point(x, y)
- */
- public boolean mouseUp(Event evt, int x, int y) {
- if (mouseUpCommand != null)
- mouseUpCommand.execute(this, evt, new Point(x, y));
- return false;
- }
-
- /**
- * Called if a character is pressed.
- * This results in a call to the keyDownCommand object with
- * <code>what</code> set to Integer(key).
- */
- public boolean keyDown(Event evt, int key) {
- if (keyDownCommand != null)
- keyDownCommand.execute(this, evt, new Integer(key));
- return false;
- }
-
- /**
- * Called if a character is released.
- * This results in a call to the keyUpCommand object with
- * <code>what</code> set to Integer(key).
- */
- public boolean keyUp(Event evt, int key) {
- if (keyUpCommand != null)
- keyUpCommand.execute(this, evt, new Integer(key));
- return false;
- }
-
-
- /**
- * Called when an ACTION_EVENT is generated.
- * This results in a call to the actionCommand object
- * with <code>what</code> set to the event's arg.
- */
- public boolean action(Event evt, Object what) {
- if (actionCommand != null)
- actionCommand.execute(this, evt, what);
- return false;
- }
-
- /**
- * Called when a scrollbar is dragged.
- * This results in a call to the scrollAbsoluteCommand object
- * with <code>what</code> set to the slider location value.
- */
- public boolean scrollAbsolute(Event evt, Object what) {
- if (scrollAbsoluteCommand != null)
- scrollAbsoluteCommand.execute(this, evt, what);
- return false;
- }
-
- /**
- * Called when a scrollbar is incremented down.
- * This results in a call to the lineDownCommand object
- * with <code>what</code> set to the slider location value.
- */
- public boolean lineDown(Event evt, Object what) {
- if (lineDownCommand != null)
- lineDownCommand.execute(this, evt, what);
- return false;
- }
-
- /**
- * Called when a scrollbar is incremented up.
- * This results in a call to the lineUpCommand object
- * with <code>what</code> set to the slider location value.
- */
- public boolean lineUp(Event evt, Object what) {
- if (lineUpCommand != null)
- lineUpCommand.execute(this, evt, what);
- return false;
- }
-
- /**
- * Called when a scrollbar pages up.
- * This results in a call to the pageUpCommand object
- * with <code>what</code> set to the slider location value.
- */
- public boolean pageUp(Event evt, Object what) {
- if (pageUpCommand != null)
- pageUpCommand.execute(this, evt, what);
- return false;
- }
-
- /**
- * Called when a scrollbar pages down.
- * This results in a call to the pageDownCommand object
- * with <code>what</code> set to the slider location value.
- */
- public boolean pageDown(Event evt, Object what) {
- if (pageDownCommand != null)
- pageDownCommand.execute(this, evt, what);
- return false;
- }
-
- /**
- * Called if the mouse selects an item in a List.
- * This results in a call to the selectCommand object
- * with <code>what</code> set to the selected index.
- */
- public boolean select(Event evt, Object what) {
- if (selectCommand != null)
- selectCommand.execute(this, evt, what);
- return false;
- }
-
-
- /**
- * Called if the mouse deselects an item in a List.
- * This results in a call to the deselectCommand object
- * with <code>what</code> set to the deselected index.
- */
- public boolean deselect(Event evt, Object what) {
- if (deselectCommand != null)
- deselectCommand.execute(this, evt, what);
- return false;
- }
-
-
- /*
- * set...Command methods
- */
-
-
- /**
- * Sets the destroyCommand object.
- */
- public void setDestroyCommand(Command c) {
- destroyCommand = c;
- }
-
- /**
- * Sets the deiconifyCommand object.
- */
- public void setDeiconifyCommand(Command c) {
- deiconifyCommand = c;
- }
-
- /**
- * Sets the iconifyCommand object.
- */
- public void setIconifyCommand(Command c) {
- iconifyCommand = c;
- }
-
- /**
- * Sets the movedCommand object.
- */
- public void setMovedCommand(Command c) {
- movedCommand = c;
- }
-
- /**
- * Sets the mouseDownCommand object.
- */
- public void setMouseDownCommand(Command c) {
- mouseDownCommand = c;
- }
-
- /**
- * Sets the moueDragCommand object.
- */
- public void setMouseDragCommand(Command c) {
- mouseDragCommand = c;
- }
-
- /**
- * Sets the mouseEnterCommand object.
- */
- public void setMouseEnterCommand(Command c) {
- mouseEnterCommand = c;
- }
-
- /**
- * Sets the mouseExitCommand object.
- */
- public void setMouseExitCommand(Command c) {
- mouseExitCommand = c;
- }
-
- /**
- * Sets the mouseMoveCommand object.
- */
- public void setMouseMoveCommand(Command c) {
- mouseMoveCommand = c;
- }
-
- /**
- * Sets the mouseUpCommand object.
- */
- public void setMouseUpCommand(Command c) {
- mouseUpCommand = c;
- }
-
- /**
- * Sets the keyDownCommand object.
- */
- public void setKeyDownCommand(Command c) {
- keyDownCommand = c;
- }
-
- /**
- * Sets the keyUpCommand object.
- */
- public void setKeyUpCommand(Command c) {
- keyUpCommand = c;
- }
-
- /**
- * Sets the actionCommand object.
- */
- public void setActionCommand(Command action) {
- actionCommand = action;
- }
-
- /**
- * Sets the scrollAbsoluteCommand.
- */
- public void setScrollAbsoluteCommand(Command c) {
- scrollAbsoluteCommand = c;
- }
-
- /**
- * Sets the lineUpCommand.
- */
- public void setLineUpCommand(Command c) {
- lineUpCommand = c;
- }
-
- /**
- * Sets the lineDownCommand.
- */
- public void setLineDownCommand(Command c) {
- lineDownCommand = c;
- }
-
- /**
- * Sets the pageUpCommand.
- */
- public void setPageUpCommand(Command c) {
- pageUpCommand = c;
- }
-
- /**
- * Sets the pageDownCommand.
- */
- public void setPageDownCommand(Command c) {
- pageDownCommand = c;
- }
-
- /**
- * Sets the selectCommand.
- */
- public void setSelectCommand(Command select) {
- selectCommand = select;
- }
-
- public void setGotFocusCommand(Command c) {
- gotFocusCommand = c ;
- }
- /**
- * Sets the deselectCommand.
- */
- public void setDeselectCommand(Command deselect) {
- deselectCommand = deselect;
- }
-
-}
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/java/apps/NexusII/classes/awtCommand/CList.class b/java/apps/NexusII/classes/awtCommand/CList.class
deleted file mode 100644
index 1de89790826..00000000000
--- a/java/apps/NexusII/classes/awtCommand/CList.class
+++ /dev/null
Binary files differ
diff --git a/java/apps/NexusII/classes/awtCommand/CList.java b/java/apps/NexusII/classes/awtCommand/CList.java
deleted file mode 100644
index 110e6a01db2..00000000000
--- a/java/apps/NexusII/classes/awtCommand/CList.java
+++ /dev/null
@@ -1,96 +0,0 @@
-/*
- * Copyright 1996 Jan Newmarch, University of Canberra.
- * Permission to use, copy, modify, and distribute this
- * software and its documentation for any purpose and without
- * fee is hereby granted, provided that the above copyright
- * notice appear in all copies. The author
- * makes no representations about the suitability of this
- * software for any purpose. It is provided "as is" without
- * express or implied warranty.
- */
-
-
-package awtCommand;
-
-import java.awt.*;
-
-public class CList extends List {
- protected Command selectCommand = null;
- protected Command deselectCommand = null;
- protected Command actionCommand = null;
-
- /**
- * Handles the event
- */
- public boolean handleEvent(Event evt) {
- switch (evt.id) {
- case Event.LIST_SELECT:
- return select(evt, evt.arg);
- case Event.LIST_DESELECT:
- return deselect(evt, evt.arg);
- default:
- return super.handleEvent(evt);
- }
- }
-
- /*
- * event handling methods
- */
-
-
- /**
- * Called if the Enter key is pressed.
- * This results in a call to the actionCommand object
- * with <code>what</code> set to the selected item.
- */
- public boolean action(Event evt, Object what) {
- if (actionCommand != null)
- actionCommand.execute(this, evt, what);
- return false;
- }
-
- /**
- * Called if the mouse selects an item.
- * This results in a call to the selectCommand object
- * with <code>what</code> set to the selected index.
- */
- public boolean select(Event evt, Object what) {
- if (selectCommand != null)
- selectCommand.execute(this, evt, what);
- return false;
- }
-
-
- /**
- * Called if the mouse deselects an item.
- * This results in a call to the deselectCommand object
- * with <code>what</code> set to the deselected index.
- */
- public boolean deselect(Event evt, Object what) {
- if (deselectCommand != null)
- deselectCommand.execute(this, evt, what);
- return false;
- }
-
-
- /**
- * Sets the actionCommand.
- */
- public void setActionCommand(Command action) {
- actionCommand = action;
- }
-
- /**
- * Sets the selectCommand.
- */
- public void setSelectCommand(Command select) {
- selectCommand = select;
- }
-
- /**
- * Sets the deselectCommand.
- */
- public void setDeselectCommand(Command deselect) {
- deselectCommand = deselect;
- }
-}
diff --git a/java/apps/NexusII/classes/awtCommand/CPanel.class b/java/apps/NexusII/classes/awtCommand/CPanel.class
deleted file mode 100644
index a1b72ca7cb7..00000000000
--- a/java/apps/NexusII/classes/awtCommand/CPanel.class
+++ /dev/null
Binary files differ
diff --git a/java/apps/NexusII/classes/awtCommand/CPanel.java b/java/apps/NexusII/classes/awtCommand/CPanel.java
deleted file mode 100644
index 1c8d39f8537..00000000000
--- a/java/apps/NexusII/classes/awtCommand/CPanel.java
+++ /dev/null
@@ -1,381 +0,0 @@
-/*
- * Copyright 1996 Jan Newmarch, University of Canberra.
- * Permission to use, copy, modify, and distribute this
- * software and its documentation for any purpose and without
- * fee is hereby granted, provided that the above copyright
- * notice appear in all copies. The author
- * makes no representations about the suitability of this
- * software for any purpose. It is provided "as is" without
- * express or implied warranty.
- */
-
-package awtCommand;
-
-import java.awt.*;
-
-public class CPanel extends Panel {
-
- protected Command gotFocusCommand = null,
- lostFocusCommand = null;
- protected Command mouseDownCommand = null,
- mouseDragCommand = null,
- mouseEnterCommand = null,
- mouseExitCommand = null,
- mouseMoveCommand = null,
- mouseUpCommand = null;
- protected Command keyUpCommand = null,
- keyDownCommand = null;
- protected Command actionCommand = null;
- protected Command scrollAbsoluteCommand = null,
- lineDownCommand = null,
- lineUpCommand = null,
- pageDownCommand = null,
- pageUpCommand = null;
- protected Command selectCommand = null,
- deselectCommand = null;
-
- /**
- * Constructs a new CPanel.
- */
- public CPanel() {
- super();
- }
-
-
- /**
- * Handles the event.
- * Calls methods for variousL events and passes
- * others to its superclass method.
- */
- public boolean handleEvent(Event evt) {
- switch (evt.id) {
- case Event.SCROLL_ABSOLUTE:
- return scrollAbsolute(evt, evt.arg);
- case Event.SCROLL_LINE_DOWN:
- return lineDown(evt, evt.arg);
- case Event.SCROLL_LINE_UP:
- return lineUp(evt, evt.arg);
- case Event.SCROLL_PAGE_DOWN:
- return pageDown(evt, evt.arg);
- case Event.SCROLL_PAGE_UP:
- return pageUp(evt, evt.arg);
- case Event.LIST_SELECT:
- return select(evt, evt.arg);
- case Event.LIST_DESELECT:
- return deselect(evt, evt.arg);
- default:
- return super.handleEvent(evt);
- }
- }
-
- /*
- * event handling methods
- */
-
- /**
- * Called if the window gains focus. This results in a call to
- * the gotFocusCommand object with <code>what</code> set to null.
- */
- public boolean gotFocus(Event evt, Object what) {
- if (gotFocusCommand != null)
- gotFocusCommand.execute(this, evt, what);
- return false;
- }
-
- /**
- * Called if the window loses focus. This results in a call to
- * the lostFocusCommand object with <code>what</code> set to null.
- */
- public boolean lostFocus(Event evt, Object what) {
- if (lostFocusCommand != null)
- lostFocusCommand.execute(this, evt, what);
- return false;
- }
-
- /**
- * Called if the mouse is down.
- * This results in a call to the mouseDownCommand object with
- * <code>what</code> set to Point(x, y)
- */
- public boolean mouseDown(Event evt, int x, int y) {
- if (mouseDownCommand != null)
- mouseDownCommand.execute(this, evt, new Point(x, y));
- return false;
- }
-
- /**
- * Called if the mouse is dragged.
- * This results in a call to the mouseDragCommand object with
- * <code>what</code> set to Point(x, y)
- */
- public boolean mouseDrag(Event evt, int x, int y) {
- if (mouseDragCommand != null)
- mouseDragCommand.execute(this, evt, new Point(x, y));
- return false;
- }
-
- /**
- * Called if the mouse enters the window.
- * This results in a call to the mouseEnterCommand object with
- * <code>what</code> set to Point(x, y)
- */
- public boolean mouseEnter(Event evt, int x, int y) {
- if (mouseEnterCommand != null)
- mouseEnterCommand.execute(this, evt, new Point(x, y));
- return false;
- }
-
- /**
- * Called if the mouse moves inside the window.
- * This results in a call to the mouseMoveCommand object with
- * <code>what</code> set to Point(x, y)
- */
- public boolean mouseMove(Event evt, int x, int y) {
- if (mouseExitCommand != null)
- mouseExitCommand.execute(this, evt, new Point(x, y));
- return false;
- }
-
- /**
- * Called if the mouse is up.
- * This results in a call to the mouseUpCommand object with
- * <code>what</code> set to Point(x, y)
- */
- public boolean mouseUp(Event evt, int x, int y) {
- if (mouseUpCommand != null)
- mouseUpCommand.execute(this, evt, new Point(x, y));
- return false;
- }
-
- /**
- * Called if a character is pressed.
- * This results in a call to the keyDownCommand object with
- * <code>what</code> set to Integer(key).
- */
- public boolean keyDown(Event evt, int key) {
- if (keyDownCommand != null)
- keyDownCommand.execute(this, evt, new Integer(key));
- return false;
- }
-
- /**
- * Called if a character is released.
- * This results in a call to the keyUpCommand object with
- * <code>what</code> set to Integer(key).
- */
- public boolean keyUp(Event evt, int key) {
- if (keyUpCommand != null)
- keyUpCommand.execute(this, evt, new Integer(key));
- return false;
- }
-
-
- /**
- * Called when an ACTION_EVENT is generated.
- * This results in a call to the actionCommand object
- * with <code>what</code> set to the event's arg.
- */
- public boolean action(Event evt, Object what) {
- if (actionCommand != null)
- actionCommand.execute(this, evt, what);
- return false;
- }
-
- /**
- * Called when a scrollbar is dragged.
- * This results in a call to the scrollAbsoluteCommand object
- * with <code>what</code> set to the slider location value.
- */
- public boolean scrollAbsolute(Event evt, Object what) {
- if (scrollAbsoluteCommand != null)
- scrollAbsoluteCommand.execute(this, evt, what);
- return false;
- }
-
- /**
- * Called when a scrollbar is incremented down.
- * This results in a call to the lineDownCommand object
- * with <code>what</code> set to the slider location value.
- */
- public boolean lineDown(Event evt, Object what) {
- if (lineDownCommand != null)
- lineDownCommand.execute(this, evt, what);
- return false;
- }
-
- /**
- * Called when a scrollbar is incremented up.
- * This results in a call to the lineUpCommand object
- * with <code>what</code> set to the slider location value.
- */
- public boolean lineUp(Event evt, Object what) {
- if (lineUpCommand != null)
- lineUpCommand.execute(this, evt, what);
- return false;
- }
-
- /**
- * Called when a scrollbar pages up.
- * This results in a call to the pageUpCommand object
- * with <code>what</code> set to the slider location value.
- */
- public boolean pageUp(Event evt, Object what) {
- if (pageUpCommand != null)
- pageUpCommand.execute(this, evt, what);
- return false;
- }
-
- /**
- * Called when a scrollbar pages down.
- * This results in a call to the pageDownCommand object
- * with <code>what</code> set to the slider location value.
- */
- public boolean pageDown(Event evt, Object what) {
- if (pageDownCommand != null)
- pageDownCommand.execute(this, evt, what);
- return false;
- }
-
- /**
- * Called if the mouse selects an item in a List.
- * This results in a call to the selectCommand object
- * with <code>what</code> set to the selected index.
- */
- public boolean select(Event evt, Object what) {
- if (selectCommand != null)
- selectCommand.execute(this, evt, what);
- return false;
- }
-
-
- /**
- * Called if the mouse deselects an item in a List.
- * This results in a call to the deselectCommand object
- * with <code>what</code> set to the deselected index.
- */
- public boolean deselect(Event evt, Object what) {
- if (deselectCommand != null)
- deselectCommand.execute(this, evt, what);
- return false;
- }
-
- /*
- * set...Command methods
- */
-
-
-
- /**
- * Sets the mouseDownCommand object.
- */
- public void setMouseDownCommand(Command c) {
- mouseDownCommand = c;
- }
-
- /**
- * Sets the moueDragCommand object.
- */
- public void setMouseDragCommand(Command c) {
- mouseDragCommand = c;
- }
-
- /**
- * Sets the mouseEnterCommand object.
- */
- public void setMouseEnterCommand(Command c) {
- mouseEnterCommand = c;
- }
-
- /**
- * Sets the mouseExitCommand object.
- */
- public void setMouseExitCommand(Command c) {
- mouseExitCommand = c;
- }
-
- /**
- * Sets the mouseMoveCommand object.
- */
- public void setMouseMoveCommand(Command c) {
- mouseMoveCommand = c;
- }
-
- /**
- * Sets the mouseUpCommand object.
- */
- public void setMouseUpCommand(Command c) {
- mouseUpCommand = c;
- }
-
- /**
- * Sets the keyDownCommand object.
- */
- public void setKeyDownCommand(Command c) {
- keyDownCommand = c;
- }
-
- /**
- * Sets the keyUpCommand object.
- */
- public void setKeyUpCommand(Command c) {
- keyUpCommand = c;
- }
-
-
- /**
- * Sets the actionCommand object.
- */
- public void setActionCommand(Command action) {
- actionCommand = action;
- }
-
- /**
- * Sets the scrollAbsoluteCommand.
- */
- public void setScrollAbsoluteCommand(Command c) {
- scrollAbsoluteCommand = c;
- }
-
- /**
- * Sets the lineUpCommand.
- */
- public void setLineUpCommand(Command c) {
- lineUpCommand = c;
- }
-
- /**
- * Sets the lineDownCommand.
- */
- public void setLineDownCommand(Command c) {
- lineDownCommand = c;
- }
-
- /**
- * Sets the pageUpCommand.
- */
- public void setPageUpCommand(Command c) {
- pageUpCommand = c;
- }
-
- /**
- * Sets the pageDownCommand.
- */
- public void setPageDownCommand(Command c) {
- pageDownCommand = c;
- }
-
- /**
- * Sets the selectCommand.
- */
- public void setSelectCommand(Command select) {
- selectCommand = select;
- }
-
- /**
- * Sets the deselectCommand.
- */
- public void setDeselectCommand(Command deselect) {
- deselectCommand = deselect;
- }
-
-}
diff --git a/java/apps/NexusII/classes/awtCommand/CTextArea.class b/java/apps/NexusII/classes/awtCommand/CTextArea.class
deleted file mode 100644
index 307cbf9e01c..00000000000
--- a/java/apps/NexusII/classes/awtCommand/CTextArea.class
+++ /dev/null
Binary files differ
diff --git a/java/apps/NexusII/classes/awtCommand/CTextArea.java b/java/apps/NexusII/classes/awtCommand/CTextArea.java
deleted file mode 100644
index eacaf526929..00000000000
--- a/java/apps/NexusII/classes/awtCommand/CTextArea.java
+++ /dev/null
@@ -1,93 +0,0 @@
-/*
- * Copyright 1996 Jan Newmarch, University of Canberra.
- * Permission to use, copy, modify, and distribute this
- * software and its documentation for any purpose and without
- * fee is hereby granted, provided that the above copyright
- * notice appear in all copies. The author
- * makes no representations about the suitability of this
- * software for any purpose. It is provided "as is" without
- * express or implied warranty.
- */
-
-package awtCommand;
-
-import java.awt.*;
-
-public class CTextArea extends TextArea {
-
- protected Command gotFocusCommand = null,
- lostFocusCommand = null;
-
- /**
- * Constructs a new TextArea.
- */
- public CTextArea() {
- super();
- }
-
- /**
- * Constructs a new TextArea with the specified number of rows and columns.
- * @param rows the number of rows
- * @param cols the number of columns
- */
- public CTextArea(int rows, int cols) {
- super(rows, cols);
- }
-
- /**
- * Constructs a new TextArea with the specified text displayed.
- * @param text the text to be displayed
- */
- public CTextArea(String text) {
- super(text);
- }
-
- /**
- * Constructs a new TextArea with the specified text and the
- * specified number of rows
- * and columns.
- * @param text the text to be displayed
- * @param rows the number of rows
- * @param cols the number of cols
- */
- public CTextArea(String text, int rows, int cols) {
- super(text, rows, cols);
- }
-
-
- /**
- * Called when the text area gains the focus.
- * This results in a call to the gotFocusCommand object
- * with <code>what</code> set to null.
- */
- public boolean gotFocus(Event evt, Object what) {
- if (gotFocusCommand != null)
- gotFocusCommand.execute(this, evt, what);
- return false;
- }
-
- /**
- * Called when the text area loses the focus.
- * This results in a call to the lostFocusCommand object
- * with <code>what</code> set to null.
- */
- public boolean lostFocus(Event evt, Object what) {
- if (lostFocusCommand != null)
- lostFocusCommand.execute(this, evt, what);
- return false;
- }
-
- /**
- * Sets the gotFocusCommand object.
- */
- public void setGotFocusCommand(Command c) {
- gotFocusCommand = c;
- }
-
- /**
- * Sets the lostFocusCommand object.
- */
- public void setLostFocusCommand(Command c) {
- lostFocusCommand = c;
- }
-}
diff --git a/java/apps/NexusII/classes/awtCommand/CTextField.class b/java/apps/NexusII/classes/awtCommand/CTextField.class
deleted file mode 100644
index 9e8e8bea709..00000000000
--- a/java/apps/NexusII/classes/awtCommand/CTextField.class
+++ /dev/null
Binary files differ
diff --git a/java/apps/NexusII/classes/awtCommand/CTextField.java b/java/apps/NexusII/classes/awtCommand/CTextField.java
deleted file mode 100644
index 146f13206e5..00000000000
--- a/java/apps/NexusII/classes/awtCommand/CTextField.java
+++ /dev/null
@@ -1,110 +0,0 @@
-/*
- * Copyright 1996 Jan Newmarch, University of Canberra.
- * Permission to use, copy, modify, and distribute this
- * software and its documentation for any purpose and without
- * fee is hereby granted, provided that the above copyright
- * notice appear in all copies. The author
- * makes no representations about the suitability of this
- * software for any purpose. It is provided "as is" without
- * express or implied warranty.
- */
-
-package awtCommand;
-
-import java.awt.*;
-
-public class CTextField extends TextField {
-
- protected Command actionCommand = null,
- gotFocusCommand = null,
- lostFocusCommand = null;
-
- /**
- * Constructs a new CTextField.
- */
- public CTextField() {
- super();
- }
-
- /**
- * Constructs a new CTextField initialized with the specified columns.
- * @param cols the number of columns
- */
- public CTextField(int cols) {
- super(cols);
- }
-
- /**
- * Constructs a new CTextField initialized with the specified text.
- * @param text the text to be displayed
- */
- public CTextField(String text) {
- super(text);
- }
-
-
- /**
- * Constructs a new CTextField initialized with the specified text and columns.
- * @param text the text to be displayed
- * @param cols the number of columns
- */
- public CTextField(String text, int cols) {
- super(text, cols);
- }
-
-
- /**
- * Called when Enter is pressed in the text field.
- * This results in a call to the actionCommand object
- * with <code>what</code> set to the text contents.
- */
- public boolean action(Event evt, Object what) {
- if (actionCommand != null)
- actionCommand.execute(this, evt, what);
- return false;
- }
-
- /**
- * Called when the text field gains the focus.
- * This results in a call to the gotFocusCommand object
- * with <code>what</code> set to null.
- */
- public boolean gotFocus(Event evt, Object what) {
- if (gotFocusCommand != null)
- gotFocusCommand.execute(this, evt, what);
- return false;
- }
-
- /**
- * Called when the text field loses the focus.
- * This results in a call to the lostFocusCommand object
- * with <code>what</code> set to null.
- */
- public boolean lostFocus(Event evt, Object what) {
- if (lostFocusCommand != null)
- lostFocusCommand.execute(this, evt, what);
- return false;
- }
-
- /**
- * Sets the actionCommand object.
- */
- public void setActionCommand(Command c) {
- actionCommand = c;
- }
-
-
- /**
- * Sets the gotFocusCommand object.
- */
- public void setGotFocusCommand(Command c) {
- gotFocusCommand = c;
- }
-
- /**
- * Sets the lostFocusCommand object.
- */
- public void setLostFocusCommand(Command c) {
- lostFocusCommand = c;
- }
-}
diff --git a/java/apps/NexusII/classes/awtCommand/Command.class b/java/apps/NexusII/classes/awtCommand/Command.class
deleted file mode 100644
index 6b3c12c24f7..00000000000
--- a/java/apps/NexusII/classes/awtCommand/Command.class
+++ /dev/null
Binary files differ
diff --git a/java/apps/NexusII/classes/awtCommand/Command.java b/java/apps/NexusII/classes/awtCommand/Command.java
deleted file mode 100644
index 373c7a363cf..00000000000
--- a/java/apps/NexusII/classes/awtCommand/Command.java
+++ /dev/null
@@ -1,25 +0,0 @@
-/*
- * Copyright 1996 Jan Newmarch, University of Canberra.
- * Permission to use, copy, modify, and distribute this
- * software and its documentation for any purpose and without
- * fee is hereby granted, provided that the above copyright
- * notice appear in all copies. The author
- * makes no representations about the suitability of this
- * software for any purpose. It is provided "as is" without
- * express or implied warranty.
- */
-
-
-
-package awtCommand;
-
-import java.awt.*;
-
-public interface Command {
-
- /**
- * Executes application logic.
- * Called by events occurring in associated objects
- */
- public abstract void execute(Object target, Event evt, Object what);
-}
diff --git a/java/apps/NexusII/classes/commandHandler.class b/java/apps/NexusII/classes/commandHandler.class
deleted file mode 100644
index ce09bf08a09..00000000000
--- a/java/apps/NexusII/classes/commandHandler.class
+++ /dev/null
Binary files differ
diff --git a/java/apps/NexusII/classes/commandParser.class b/java/apps/NexusII/classes/commandParser.class
deleted file mode 100644
index 19b91f654ff..00000000000
--- a/java/apps/NexusII/classes/commandParser.class
+++ /dev/null
Binary files differ
diff --git a/java/apps/NexusII/classes/connectionHandler.class b/java/apps/NexusII/classes/connectionHandler.class
deleted file mode 100644
index b91e9259402..00000000000
--- a/java/apps/NexusII/classes/connectionHandler.class
+++ /dev/null
Binary files differ
diff --git a/java/apps/NexusII/classes/joinHandler.class b/java/apps/NexusII/classes/joinHandler.class
deleted file mode 100644
index 82dc4cd27b3..00000000000
--- a/java/apps/NexusII/classes/joinHandler.class
+++ /dev/null
Binary files differ
diff --git a/java/apps/NexusII/classes/roomHandler.class b/java/apps/NexusII/classes/roomHandler.class
deleted file mode 100644
index f952c389176..00000000000
--- a/java/apps/NexusII/classes/roomHandler.class
+++ /dev/null
Binary files differ
diff --git a/java/apps/NexusII/classes/textHandler.class b/java/apps/NexusII/classes/textHandler.class
deleted file mode 100644
index d5ce3bf1d5e..00000000000
--- a/java/apps/NexusII/classes/textHandler.class
+++ /dev/null
Binary files differ
diff --git a/java/apps/NexusII/src/Consumer.java b/java/apps/NexusII/src/Consumer.java
deleted file mode 100644
index 84df9b3a3ae..00000000000
--- a/java/apps/NexusII/src/Consumer.java
+++ /dev/null
@@ -1,74 +0,0 @@
-
-// This class encapsulates a Consumer. The consumer dq's from the queue
-// Supports both a timed and blocking consumer.
-// Each instance of this class creates a different thread of control.
-// On timeout, the producer returns.
-// The producer tries to dq "iteration" number of times, unless it times out
-
-//package NexusII.util ;
-
-public class Consumer extends Thread
-{
-public static final int DEFAULT_ITERATIONS = 1 ;
-public Consumer(MT_Bounded_Queue queue)
- {
- this.queue_ = queue ;
- this.iterations_ = new Integer(DEFAULT_ITERATIONS);
- this.time_out_ = -1 ;
- }
-
-public Consumer(MT_Bounded_Queue queue, String name)
- {
- super(name);
- this.queue_ = queue ;
- this.iterations_ = new Integer(DEFAULT_ITERATIONS);
- this.time_out_ = -1 ;
- }
-
-
-public Consumer(MT_Bounded_Queue queue, String name, Integer iterations)
- {
- super(name);
- this.queue_ = queue ;
- this.iterations_ = iterations ;
- this.time_out_ = -1 ;
- }
-
-
-public Consumer(MT_Bounded_Queue queue, String name, Integer iterations, long msec_timeout)
- {
- super(name);
- this.queue_ = queue ;
- this.iterations_ = iterations ;
- this.time_out_ = msec_timeout ;
- }
-
-
-
-public void run()
- {
- for(int i=0;i<iterations_.intValue();i++)
- {
- if(time_out_ < 0)
- System.out.println(getName() + ": dequeued " + queue_.dq());
- else
- {
- Object err = queue_.dq(time_out_);
- if(err == null)
- {
- System.out.println(getName() + ": Timedout\n");
- return ;
- }
-
- else
- System.out.println(getName() + ": dequeued " + err);
- }
- }
- }
-
-
-protected MT_Bounded_Queue queue_ ;
-private Integer iterations_ ;
-private long time_out_ ;
-}
-
diff --git a/java/apps/NexusII/src/MT_Bounded_Queue.java b/java/apps/NexusII/src/MT_Bounded_Queue.java
deleted file mode 100644
index a9b493fa263..00000000000
--- a/java/apps/NexusII/src/MT_Bounded_Queue.java
+++ /dev/null
@@ -1,226 +0,0 @@
-
-// package NexusII.util ;
-
-// The minimun functionality to be associated with a queue
-interface Queue
-{
-public void nq(Object item);
-public Object dq();
-public boolean is_full();
-public boolean is_empty();
-public static final int DEF_SIZE = 1;
-};
-
-// Specific Conditions associated with MT_Bounded_Queue
-// Is true if there is space in the queue
-
-class Not_Full_Condition extends Timed_Wait
-{
-
-public Not_Full_Condition(MT_Bounded_Queue q)
- {
- super(q);
- }
-
-public synchronized boolean condition()
- {
- MT_Bounded_Queue mq_ = (MT_Bounded_Queue) object_;
- return !mq_.is_full ();
- }
-
-}
-
-// Is true if there's something in the queue
-
-class Not_Empty_Condition extends Timed_Wait
-{
-
-public Not_Empty_Condition(MT_Bounded_Queue q)
- {
- super(q);
- }
-
-public synchronized boolean condition()
- {
- // Delegate to the appropriate conditional
- // check on the MessageQueue.
- MT_Bounded_Queue mq_ = (MT_Bounded_Queue) object_;
- return !mq_.is_empty ();
- }
-
-private MT_Bounded_Queue mq_ ;
-}
-
-
-
-
-// Encapsulates a bounded - synchronized queue
-
-public class MT_Bounded_Queue implements Queue
-{
-
-
-private Object[] queue_ ;
-private int front_ ;
-private int back_ ;
-private int max_size_ ;
-private int size_ ;
-private Not_Empty_Condition not_empty_condition_ ;
-private Not_Full_Condition not_full_condition_ ;
-private int nq_count_ ;
-private int dq_count_ ;
-
-// The counters counts the number of nq's and dq's operations made on this
-// instance of the queue
-
-public int dq_count()
-{
- return dq_count_ ;
-}
-
-public int nq_count()
-{
- return nq_count_ ;
-}
-
-public MT_Bounded_Queue()
- {
- // call the other constructor with DEF_SIZE
- this(DEF_SIZE);
- }
-
-public MT_Bounded_Queue(int max_size)
- {
- this.front_ = 0 ;
- this.back_ = 0 ;
- this.max_size_ = max_size ;
- this.size_ = 0 ;
- // these are included for STATISTICS
- this.nq_count_ = 0 ;
- this.dq_count_ = 0 ;
- this.queue_ = new Object[this.max_size_];
- not_full_condition_ = new Not_Full_Condition(this);
- not_empty_condition_ = new Not_Empty_Condition(this);
- }
-
-// Blocking nq
-public synchronized void nq(Object item)
- {
- // Wait till the queue has space
- while(is_full())
- {
- try {
- wait();
- } catch (InterruptedException e) {}
- }
-
- // enqueue here
- queue_[back_] = item ;
- back_ = (back_ + 1) % max_size_ ;
- size_++ ;
- // One more enqueue operation has occured
- nq_count_ ++ ;
- // wakeup the sleeping guys
- notifyAll();
- }
-
- // Timed nq
-// returns -1 if timed_out
-public synchronized int nq(Object item,long msec_timeout)
- {
- // Wait till the queue has space
- try {
- not_full_condition_.timed_wait(msec_timeout);
- } catch (InterruptedException e) {}
- catch (TimeoutException t)
- {
- return -1 ;
- }
-
- // enqueue here
- queue_[back_] = item ;
- back_ = (back_ + 1) % max_size_ ;
- size_++ ;
-
- // One more enqueue operation has occured
- nq_count_ ++ ;
- // wakeup the sleeping consumers
- not_empty_condition_.broadcast ();
- return 0 ;
- }
-
-
-
-
- // Blockin dq
-public synchronized Object dq()
- {
- // wait till the queue has something in it
- while(is_empty())
- {
- try {
- wait();
- } catch (InterruptedException e) {}
- }
-
- // dequeue here
- Object return_object = queue_[front_] ;
- front_ = (front_ + 1) % max_size_ ;
- size_ -- ;
- // One more enqueue operation has occured
- dq_count_ ++ ;
- //wake up the sleeping producers
- notifyAll();
- return return_object ;
- }
-
-
- // Timed dq
-
-public synchronized Object dq(long msec_timeout)
- {
- // wait till the queue has something in it
- try {
- not_empty_condition_.timed_wait(msec_timeout);
- } catch (InterruptedException e) {}
- catch (TimeoutException t)
- {
- return null;
- }
-
- // dequeue here
- Object return_object = queue_[front_] ;
- front_ = (front_ + 1) % max_size_ ;
- size_ -- ;
-
- // One more enqueue operation has occured
- dq_count_ ++ ;
-
- //wake up the sleeping guys
- not_full_condition_.broadcast();
- return return_object ;
- }
-
-public boolean is_empty()
- {
- if (size_ == 0)
- return true ;
- else
- return false ;
-
- }
-
-public boolean is_full()
- {
- if (size_ == max_size_)
- return true ;
- else
- return false ;
- }
-
-}
-
-
-
-
-
diff --git a/java/apps/NexusII/src/MT_Bounded_Queue_Group.java b/java/apps/NexusII/src/MT_Bounded_Queue_Group.java
deleted file mode 100644
index 734dc51a84b..00000000000
--- a/java/apps/NexusII/src/MT_Bounded_Queue_Group.java
+++ /dev/null
@@ -1,79 +0,0 @@
-//package NexusII.server;
-
-//import NexusII.util.*;
-import java.util.*;
-
-
-public class MT_Bounded_Queue_Group {
-
- public Vector q_group_ = new Vector();
-
- public MT_Bounded_Queue_Group(int num) {
-
- q_group_ = new Vector(num);
-
- }
-
- public MT_Bounded_Queue_Group() {
-
- // q_group_ = new Vector();
-
- }
-
- public String toString() {
-
- return q_group_.toString();
-
- }
-
- // always returns true
- public boolean addToGroup(MT_Bounded_Queue q) {
-
- q_group_.addElement(q);
- return true; // for now
-
- }
-
-
- // returns false if the q was not part of the group
- public boolean delFromGroup(MT_Bounded_Queue q) {
-
- return q_group_.removeElement(q);
-
- }
-
-
- public boolean checkInGroup(MT_Bounded_Queue q) {
-
- return q_group_.contains(q);
-
- }
-
-
- // returns number of q's on which data was successfully enqueued
- public int nq(Object o) {
-
- if(q_group_.isEmpty() )
- return 0;
-
- Enumeration e = q_group_.elements();
-
- int i = 0;
- while(e.hasMoreElements()) {
-
- MT_Bounded_Queue q = (MT_Bounded_Queue) e.nextElement();
- q.nq(o);
- i++;
-
- }
-
- return i;
- }
-
-}
-
-
-
-
-
-
diff --git a/java/apps/NexusII/src/NexusClientApplet.java b/java/apps/NexusII/src/NexusClientApplet.java
deleted file mode 100644
index 58b26930718..00000000000
--- a/java/apps/NexusII/src/NexusClientApplet.java
+++ /dev/null
@@ -1,494 +0,0 @@
-/*
- $RCSfile$
- $Author$
-
- Last Update: $Date$
- $Revision$
-
- REVISION HISTORY:
- $Log$
- Revision 1.1 1997/01/31 01:10:59 sumedh
- Added the Nexus II source code files.
-
-# Revision 1.3 1996/12/06 07:25:29 rajeev
-# Got SetRoomName to work -- needed for LROOMS
-#
-# Revision 1.2 1996/12/06 04:48:21 rajeev
-# added handling for l_users and L_room packets from server
-#
-# Revision 1.1 1996/12/06 03:37:22 rajeev
-# Initial revision
-#
-
- This is the client applet
- Part of Nexus-II project !!
- Copyright : Aravind Gopalan, Rajeev Bector, Sumedh Mungee
-*/
-
-// package NexusII;
-
-// I hate packages
-
-import java.applet.Applet;
-import java.awt.* ;
-import java.io.*;
-import java.net.*;
-import java.util.*;
-
-//import NexusII.networking.* ;
-//import NexusII.client.* ;
-//import NexusII.util.* ;
-
-// get the awtCommand package now
-import awtCommand.* ;
-
-// The applet runs the root thread -- easy access to graphics now ...
-
-public class NexusClientApplet extends CApplet implements consts,Runnable {
-
- // Who am I -- will be modified if the /nick command is given
- public static String myName = new String("anonymous");
-
- /* All Event Handlers */
-
- // To check if applet is connected
- boolean connected = false;
-
- // The connector handler
- connectionHandler nexusConnector ;
-
- // join handler
- joinHandler nexusJoiner ;
-
- // command handler
- commandParser nexusParser ;
-
- commandHandler commandLineHandler ;
- // Streams for writing and reading from Socket
- DataOutputStream outStream;
- DataInputStream inStream;
-
- // Thread which does everything for the applet
- Thread mainThread ;
-
- // this is just a visit
- // host where I live actually ;-)
- String host;
-
- // Which server to connect to
- Integer serverPort ;
-
- // Where are the queues for reading and writing
- // reader and writers will access these and also the interpretor and dep.
-
- MT_Bounded_Queue read_q ;
- MT_Bounded_Queue write_q ;
- MT_Bounded_Queue root_q ;
- // Where Aravind writes his commands
- MT_Bounded_Queue command_q ;
-
-
-
-
- // ***********************************************************
- // Graphics objects
- // ***********************************************************
-
- // Total applet size
- int minWidth_ = 500;
- int minHeight_ = 450;
-
- // State variables needed to be maintained
- boolean connected_ = false;
- int numRooms_ = 0;
-
- // Buttons
- private CButton bConn;
- private CButton bJoin;
- private CButton bLeave;
- private CButton bRooms;
- private CButton bUsers;
-
- private CTextField tfCommandLine = new CTextField(80);
- private CTextField tfRoomName = new CTextField(16);
- private List lRooms = new List(10,false);
- private Label roomLabel = new Label("Rooms:");
- private List lUsers = new List(10,false);
- private Label userLabel = new Label("Users:");
-
-// private RoomSpace roomspace = new RoomSpace();
- private Panel roomspace = new Panel();
-
- public Dimension preferredSize() {
- return minimumSize();
- }
-
- public Dimension minimumSize() {
- return new Dimension(minWidth_, minHeight_);
- }
-
- // -----------------------------------------------------------------
- // Basically draws up all the components (not sub-components) of the
- // Applet window ...
- // Pretty much straightforward barring quirks of AWT -- ArGo
- void SetUpButtons(GridBagLayout gbl, GridBagConstraints gbc) {
- // The Connect Button
- gbc.weightx = 1.0;
- gbc.weighty = 0.5;
- gbc.gridx = 2;
- gbc.gridy = 1;
- gbc.fill = GridBagConstraints.HORIZONTAL;
- gbc.anchor = GridBagConstraints.CENTER;
- gbc.ipady = 5;
- bConn = new CButton("Connect");
- bConn.setActionCommand(nexusConnector);
- gbl.setConstraints(bConn, gbc);
- add(bConn);
- gbc.ipady = 0;
-
- // The remaining buttons
- gbc.fill = GridBagConstraints.BOTH;
- gbc.anchor = GridBagConstraints.CENTER;
- gbc.weightx = 1.0;
- gbc.weighty = 0.5;
- gbc.insets = new Insets(2,2,2,2);
- gbc.ipadx = 2;
- gbc.ipady = 2;
-
- // Join Button
- gbc.gridx = 0;
- gbc.gridy = 3;
- bJoin = new CButton("Join");
- gbl.setConstraints(bJoin,gbc);
- add(bJoin);
-
- // Leave Button
- gbc.gridx = 1;
- gbc.gridy = 3;
- bLeave = new CButton("Leave");
- gbl.setConstraints(bLeave,gbc);
- add(bLeave);
-
- // List Rooms Button
- gbc.gridx = 0;
- gbc.gridy = 4;
- bRooms = new CButton("List Rooms");
- gbl.setConstraints(bRooms,gbc);
- add(bRooms);
-
- // List Users Button
- gbc.gridx = 1;
- gbc.gridy = 4;
- bUsers = new CButton("List Users");
- gbl.setConstraints(bUsers,gbc);
- add(bUsers);
-
- } // of SetUpButtons
-
- void SetUpGraphics() {
-
- resize(preferredSize());
-
- GridBagLayout gbl = new GridBagLayout();
- GridBagConstraints gbc = new GridBagConstraints();
- setFont(new Font("Helvetica", Font.PLAIN, 14));
- setLayout (gbl);
-
- gbc.weightx = 1.0;
- gbc.weighty = 1.0;
-
- // For the list of rooms
- // First the Room list label
- gbc.weightx = 0;
- gbc.weighty = 0;
- gbc.gridx = 0;
- gbc.gridy = 0;
- gbc.anchor = GridBagConstraints.SOUTHWEST;
- gbc.fill = GridBagConstraints.NONE;
- gbl.setConstraints(roomLabel,gbc);
- add(roomLabel);
- // Now the Room combo -- list + text field
- // the actual list
- gbc.weightx = 1.0;
- gbc.weighty = 1.0;
- gbc.gridy = 1;
- gbc.fill = GridBagConstraints.VERTICAL;
- gbc.anchor = GridBagConstraints.NORTH;
- // gbc.insets = new Insets(0,2,0,2);
- gbl.setConstraints(lRooms,gbc);
- add(lRooms);
- if (DEBUG)
- lRooms.addItem("Room_1");
- // The text field
- gbc.weightx = 0;
- gbc.weighty = 0;
- gbc.gridy = 2;
- gbc.anchor = GridBagConstraints.NORTH;
- gbc.fill = GridBagConstraints.HORIZONTAL;
- gbc.insets = new Insets(0,0,0,0);
- gbl.setConstraints(tfRoomName,gbc);
- add(tfRoomName);
-
- // Similarly for the list of users
- // label
- gbc.weightx = 0;
- gbc.weighty = 0;
- gbc.gridx = 1;
- gbc.gridy = 0;
- gbc.anchor = GridBagConstraints.SOUTHWEST;
- gbc.fill = GridBagConstraints.NONE;
- gbc.insets = new Insets(0,0,0,0);
- gbl.setConstraints(userLabel,gbc);
- add(userLabel);
- // The list
- gbc.weightx = 1;
- gbc.weighty = 1;
- gbc.gridy = 1;
- gbc.fill = GridBagConstraints.VERTICAL;
- gbc.anchor = GridBagConstraints.NORTH;
- gbl.setConstraints(lUsers,gbc);
- add(lUsers);
- if (DEBUG)
- lUsers.addItem("USer #1");
-
- // Setup all the buttons
- SetUpButtons(gbl,gbc) ;
-
- // The command line
- gbc.gridx = 0;
- gbc.gridy = 5;
- gbc.ipadx = 0;
- gbc.ipady = 0;
- gbc.insets = new Insets(0,0,0,0);
- gbc.gridwidth = GridBagConstraints.REMAINDER;
- gbc.fill = GridBagConstraints.NONE;
- gbc.anchor = GridBagConstraints.CENTER;
- gbl.setConstraints(tfCommandLine,gbc);
- add(tfCommandLine);
-
-
- // We are done -- startup with all buttons except connect disabled
- OnDisconnect();
- return;
- }
-
- public void init() {
- //Get the address of the host the applet was downloaded from
- host = getCodeBase().getHost();
- // Get servers portnumber from the home page
- serverPort = Integer.valueOf(getParameter("serverport"));
-
-
- // Create the nexusconnector object whose execute will be called later
- // on pressing the connect button
- nexusConnector = new connectionHandler(host,serverPort,this);
-
- if(DEBUG){
- System.out.println("Server Portnumber is " + serverPort + "\n");
- }
-
- // initialize the graphics
- SetUpGraphics();
- } // of method init
-
- public synchronized void start() {
- // Aravind will create the "connect" button here and register an instance
-
- if (DEBUG) {
- System.out.println("In start() method.");
- }
- }
-
-
- // Here is the stop for the applet
- // Called when the user goes away from the page
- public synchronized void stop() {
- if (!DEBUG) {
- showStatus("Stop has been called ");
- }
-
- if (connected) {
- nexusConnector.execute(null,null,null);
- }
- }
-
-
-
-
- // -----------------------------------------------------------------------
- // Public Access functions
- public Hashtable Mapper() {
- return nexusJoiner.Mapper();
- }
-
- public String GetRoomName() {
- StringTokenizer t = new StringTokenizer(tfRoomName.getText());
- if(t.hasMoreTokens()) {
- return t.nextToken();
- }
- else
- return "" ;
- }
-
- public void AddRoomName(String name) {
- int count = lRooms.countItems();
- for (int i=0;i<count;i++)
- if (lRooms.getItem(i).equalsIgnoreCase(name))
- return;
- lRooms.addItem(name);
- }
-
- public void SetRoomName(String name) {
- int count = lRooms.countItems();
- for(int i=0;i<count;i++) {
- if(lRooms.getItem(i).equalsIgnoreCase(name)) {
- // Have to simulate a select event by doing the selection ourselves
- lRooms.select(i);
- tfRoomName.setText(lRooms.getSelectedItem());
- tfRoomName.selectAll();
- break ;
- }
- }
- }
-
- public void sendNickToServer(String name) {
- nexusJoiner.sendTestPacket("ROOT","NICK",name,nexusConnector.writer_q());
- }
-
-
- // will run the mainthread
- public void run() {
- if(DEBUG) {
- System.out.println("Root thread is starting -- ");
- }
-
- root_q = new MT_Bounded_Queue(QUEUE_SIZE);
- nexusJoiner.Mapper().put("ROOT",root_q);
- // continously wait for something to read and then update the graphics
- // objects ----
- if(DEBUG) {
- nexusJoiner.sendTestPacket("ROOT","LROOMS","a b c d",root_q);
- }
-
- for(;;) {
- dataPacket rootPacket = (dataPacket)root_q.dq();
- if(DEBUG) {
- System.out.println("Root got a packet --- ");
- }
- if(rootPacket.contentType().equalsIgnoreCase("LROOMS")) {
- update_lrooms(rootPacket.content());
- }
- else if(rootPacket.contentType().equalsIgnoreCase("LUSERS")) {
- update_lusers(rootPacket.destination(),rootPacket.content());
- }
- }
-
- }
-
-
-
- // This method will update the graphics of lrooms
- void update_lrooms(String data) {
- lRooms.disable();
- tfRoomName.disable();
- lRooms.clear();
-
- StringTokenizer t = new StringTokenizer(data);
- while(t.hasMoreTokens()) {
- lRooms.addItem(t.nextToken());
- }
- if (lRooms.countItems() != 0) {
- lRooms.select(0);
- tfRoomName.setText(lRooms.getItem(0));
- }
- tfRoomName.enable();
- lRooms.enable();
- repaint();
- }
-
- void update_lusers(String name,String data) {
- lUsers.disable();
- userLabel.setText("Users: "+ name);
- lUsers.clear();
- StringTokenizer t = new StringTokenizer(data);
- while(t.hasMoreTokens()) {
- lUsers.addItem(t.nextToken());
- }
- lUsers.enable();
- repaint();
- }
-
- // -----------------------------------------------------------------------
- // User Input handling -- ArGo
-
- // Function to handle Connect button being pressed
- public void OnConnect(){
- // Create the event handlers --
- nexusJoiner = new joinHandler(nexusConnector.writer_q(),this);
- nexusParser = new commandParser(nexusConnector.writer_q(),this);
- commandLineHandler = new commandHandler(this);
- // start the main thread in the applets context
- mainThread = new Thread(this);
- mainThread.start();
- // test
- // Graphics here --
- bJoin.enable();
- bJoin.setActionCommand(nexusJoiner);
- bLeave.enable();
- bLeave.setActionCommand(nexusJoiner);
- bRooms.enable();
- bRooms.setActionCommand(nexusParser);
- bUsers.enable();
- bUsers.setActionCommand(nexusParser);
- tfCommandLine.enable();
- tfCommandLine.setActionCommand(commandLineHandler);
- tfRoomName.enable();
- lRooms.enable();
- lUsers.enable();
- // Change the name to "Disconnect" and ensure that update happens
- bConn.setLabel("Disconnect");
- validate(); // Don't know if this is necessary
- connected = true; // Applet is now connected
- }
-
- // Function to handle Connect button being pressed
- public void OnDisconnect(){
- bJoin.disable();
- bLeave.disable();
- bRooms.disable();
- bUsers.disable();
- tfCommandLine.disable();
- tfRoomName.disable();
- lRooms.disable();
- lUsers.disable();
- // Change the name back to "Connect" and ensure update happens
- bConn.setLabel("Connect");
- validate();
- // Stop the ROOT room thread
- if (connected) {
- mainThread.stop();
- connected = false; // Applet is disconnected
- }
- }
-
- // Basically take care of the inputs
- public boolean handleEvent(Event event) {
- if (event.target == lRooms) {
- if (event.id == Event.LIST_SELECT) { // selected the item
- tfRoomName.setText(lRooms.getSelectedItem());
- tfRoomName.selectAll();
- if (DEBUG)
- System.out.println("Actually handling the select event");
- return true;
- }
- }
- return super.handleEvent(event);
- }
-
- public void update(Graphics g) {
- paint(g);
- }
-} // of class NexusClientApplet
-
-
-
diff --git a/java/apps/NexusII/src/NexusIIserver.java b/java/apps/NexusII/src/NexusIIserver.java
deleted file mode 100644
index e3b5a52acd5..00000000000
--- a/java/apps/NexusII/src/NexusIIserver.java
+++ /dev/null
@@ -1,280 +0,0 @@
-// The Nexus II server.
-// Sumedh Mungee <sumedh@cs.wustl.edu>
-
-import java.net.*;
-import java.io.*;
-import java.util.*;
-import ACE.OS.*;
-import ACE.SOCK_SAP.*;
-
-public class NexusIIserver implements consts {
-
- // Entry point into the server
- public static void main(String args[]) throws IOException {
-
- if(args.length != 1) {
- System.out.println("Usage: java NexusIIserver <port_num>");
- return;
- }
-
- // Create a "Hotel", which is a factory to generate Rooms
- // as and when required.
- RoomFactory Hotel = new RoomFactory();
-
- System.out.println("NexusII server booting");
- SOCKAcceptor sacceptor = new SOCKAcceptor( (new Integer(args[0])).intValue());
-
- System.out.println("NexusII is now accepting connections on port " + (new Integer(args[0])).intValue());
-
- for(;;) {
-
- SOCKStream s = new SOCKStream();
- sacceptor.accept(s);
- // Accepted connection
- // construct a client handler..
- // Pass in the connected socket as an argument,
- // and a reference to the Hotel, in case it needs
- // to create rooms..
- // and away you go..
- new Thread(new ClientHandler(s, Hotel)).start();
-
- }
- }
-}
-
-
-// This thread handles the clients..
-// It uses 2 additional threads for read/write network operations
-// These threads are dedicated to read/write from the
-// respective read/write queues..
-class ClientHandler implements Runnable,consts {
-
- private SOCKStream s_;
- private RoomFactory Hotel_;
- private MT_Bounded_Queue rq_ = new MT_Bounded_Queue(QUEUE_SIZE);
- private MT_Bounded_Queue wq_ = new MT_Bounded_Queue(QUEUE_SIZE);
- private String my_name_;
- private Vector roomlist_ = new Vector();
- private boolean finished_ = false;
- private String init_image_;
-
- public ClientHandler(SOCKStream s, RoomFactory h) {
- s_ = s;
- Hotel_ = h;
- init_image_ = new String(System.getProperty("mywebaddress") + NEXUS_LOGO);
- }
-
- public void run() {
- // Construct the reader/writer threads with the queues and the
- // corresponding socket data streams as parameters.
- Thread r_ = new socketReaderThread(rq_, new DataInputStream(s_.inputStream()));
- Thread w_ = new socketWriterThread(wq_, new DataOutputStream(s_.outputStream()));
- r_.start();
- w_.start();
-
- // now start parsing the messages, and take action..
- // todo: optimize the below..
-
- while(!finished_) {
- dataPacket d = (dataPacket) rq_.dq();
- if(d.contentType().startsWith("INIT"))
- nexus_init(d);
- if(d.contentType().startsWith("JOIN"))
- nexus_join(d);
- if(d.contentType().startsWith("LEAVE"))
- nexus_leave(d);
- if(d.contentType().startsWith("QUIT"))
- nexus_quit(d);
- if(d.contentType().startsWith("TEXT"))
- nexus_text(d);
- if(d.contentType().startsWith("LUSERS"))
- nexus_lusers(d);
- if(d.contentType().startsWith("LROOMS"))
- nexus_lrooms(d);
- if(d.contentType().startsWith("NICK"))
- nexus_nick(d);
- if(d.contentType().startsWith("URL"))
- nexus_url(d);
- }
- }
-
- // The following classes implement the server functions..
-
- private void nexus_init(dataPacket packet) {
- my_name_ = new String(packet.clientName());
- wq_.nq(packet);
- }
-
- private void nexus_join(dataPacket packet) {
- Room r = Hotel_.getRoom(packet.content());
- if(r.checkClient(this))
- return;
- r.addClient(this);
- roomlist_.addElement(r);
- writeRoom(r, my_name_ + " has joined the room ");
- String contenttype = new String("url");
- dataPacket d = new dataPacket(my_name_, packet.content(), contenttype, (new Integer(init_image_.length())).toString() , init_image_);
- wq_.nq(d);
- }
-
- private void nexus_text(dataPacket packet) {
- Room r = Hotel_.getRoom(packet.destination());
- r.getQ().nq(packet);
- }
-
- private void nexus_lusers(dataPacket packet) {
-
- Room r = Hotel_.getRoom(packet.content());
- Enumeration e = r.clientList();
- StringBuffer sb = new StringBuffer();
- while(e.hasMoreElements())
- sb.append(" " + ((ClientHandler)e.nextElement()).getName() + " ");
- dataPacket d = new dataPacket(my_name_, packet.destination(), packet.contentType(), (new Integer(sb.length())).toString(), sb.toString());
- wq_.nq(d);
- }
-
- private void nexus_lrooms(dataPacket packet) {
- String s = Hotel_.listRooms();
- dataPacket d = new dataPacket(my_name_, packet.destination(), packet.contentType(), (new Integer(s.length())).toString(), s.toString());
- wq_.nq(d);
- }
-
- private void nexus_nick(dataPacket packet) {
- Enumeration e = roomlist_.elements();
- while(e.hasMoreElements())
- writeRoom((Room)e.nextElement(), my_name_ + " is now known as " + packet.content());
-
- my_name_ = new String(packet.content());
- }
-
- private void nexus_leave(dataPacket packet) {
-
- Room r = Hotel_.getRoom(packet.content());
- writeRoom(r, my_name_ + " has left the room " + packet.content());
- if(r.delClient(this)) Hotel_.delRoom(r);
- roomlist_.removeElement(r);
- }
-
- private void nexus_quit(dataPacket packet) {
-
- Enumeration e = roomlist_.elements();
- while(e.hasMoreElements()) {
- Room r = (Room)e.nextElement();
- writeRoom(r, my_name_ + " has quit " );
- r.delClient(this);
- }
- finished_ = true;
- }
-
- private void nexus_url(dataPacket packet) {
- try {
- URL u = new URL(packet.content());
-
- // first extract the filename stripped of its path.
- int index = u.getFile().lastIndexOf("/");
- String infilename = u.getFile().substring(index + 1);
-
- // next construct the name of the temporary file
- String outfilename = (System.getProperty("mywebdir") + "_" + packet.destination() + "." + infilename);
-
- // now the temporary URL assigned to this request
- String imageURL = new String(System.getProperty("mywebaddress") + "_" + packet.destination() + "." + infilename);
-
- // Open temporary file for writing
- FileOutputStream fout = new FileOutputStream(outfilename);
-
- // Now contact alien ship
- InputStream i = u.openStream();
- byte[] buffer = new byte[1024];
-
- // And download the image
- for(;;) {
- int num = i.read(buffer);
- if(num < 0)
- break;
- fout.write(buffer, 0, num);
- }
-
- fout.close();
- i.close();
-
- // Get room for which this request was issued
- Room r = Hotel_.getRoom(packet.destination());
-
- // invalidate previous entry
- File f = new File(r.getLastImageName());
- if(f.exists()) f.delete();
-
- // add new image name
- r.putNextImageName(outfilename);
- writeRoom(r,"Asynchronously transferring image " + packet.content() + " from " + my_name_ );
- dataPacket d = new dataPacket(my_name_, packet.destination(), packet.contentType(), (new Integer(imageURL.length())).toString(), imageURL);
- r.getQ().nq(d); // multicast this imageURL onto the room..
-
- }
- catch(java.net.MalformedURLException ue) {
- System.out.println("warning:Invalid URL requested");
- }
- catch(java.io.IOException e) {
- System.out.println("warning: IOException occurred");
- }
-
- }
-
- // Sends a "system" message msg onto room r
- private void writeRoom(Room r, String msg) {
- StringBuffer sb = new StringBuffer();
- sb.append("==>");
- sb.append(msg);
- dataPacket d = new dataPacket(my_name_, r.getName() , "TEXT" , (new Integer(sb.length())).toString(), sb.toString());
- r.getQ().nq(d);
- }
-
- public String getName() {
- return my_name_;
- }
-
- public MT_Bounded_Queue getQ() {
- return wq_;
- }
-
-}
-// ----------------------------------------------------------------------
-/** This class implements a room factory. getRoom returns an existing room,
- or else creates it and returns a reference to a new room.
-
-**/
-class RoomFactory implements consts {
-
- private Vector Hotel_;
- public RoomFactory() {
- Hotel_ = new Vector();
- }
- public synchronized Room getRoom(String name) {
- Enumeration e = Hotel_.elements();
- while(e.hasMoreElements()) {
- Room r = (Room) e.nextElement();
- if(r.getName().equals(name))
- return r;
- }
- addRoom(name);
- return getRoom(name);
- }
-
- private synchronized void addRoom(String name) {
- Room r = new Room(name);
- Hotel_.addElement(r);
- }
- public synchronized void delRoom(Room r) {
- Hotel_.removeElement(r);
- }
- public synchronized String listRooms() {
- Enumeration e = Hotel_.elements();
- StringBuffer sb = new StringBuffer();
- while(e.hasMoreElements())
- sb.append(" " + ((Room)e.nextElement()).getName() + " ");
- return sb.toString();
- }
-}
-
-
diff --git a/java/apps/NexusII/src/Producer.java b/java/apps/NexusII/src/Producer.java
deleted file mode 100644
index 4153f7d79df..00000000000
--- a/java/apps/NexusII/src/Producer.java
+++ /dev/null
@@ -1,87 +0,0 @@
-// This class encapsulates a Producer. Each new instance of this class
-// creates a different thread which tries to nq into the queue
-// Currently queues random values generated by the Random class
-// If timeout expires, the Producer instance returns
-
-//package NexusII.util ;
-
-import java.util.Random ;
-
-public class Producer extends Thread
-{
-
-// If no time out is desired, timeout value is set to one. so the run method
-// knows which nq to call
-
-public Producer(MT_Bounded_Queue queue)
- {
- this.queue_ = queue ;
- this.iterations_ = new Integer(DEFAULT_ITERATIONS);
- this.time_out_ = -1 ;
- }
-
-// Include the name of the thread as a parameter
-public Producer(MT_Bounded_Queue queue, String name)
- {
- super(name);
- this.queue_ = queue ;
- this.iterations_ = new Integer(DEFAULT_ITERATIONS);
- this.time_out_ = -1 ;
- }
-
-// If the number of iterations are also included --
-public Producer(MT_Bounded_Queue queue, String name, Integer iterations)
- {
- super(name);
- this.queue_ = queue ;
- iterations_ = iterations ;
- this.time_out_ = -1 ;
- }
-
-// Finally, if the timeout period is also included
-
-public Producer(MT_Bounded_Queue queue, String name, Integer iterations, long msec_timeout)
- {
- super(name);
- this.queue_ = queue ;
- iterations_ = iterations ;
- this.time_out_ = msec_timeout ;
- }
-
-// The hook method called by start()
-
-public void run()
- {
- // Initialize the random number generator
- Random rand = new Random();
- for(int i=0;i<iterations_.intValue();i++)
- {
- int err = 0 ;
- // Get the next random value for insertion into queue
- Integer new_item = new Integer(rand.nextInt()) ;
-
- // Doesnt make sense to have a negative timeout -- default
- if(time_out_ < 0)
- queue_.nq(new_item);
- else
- err = queue_.nq(new_item,time_out_);
-
- // If timedout stop this thread
- if(err == -1)
- {
- System.out.println(getName() + ": Timed Out \n");
- return ;
- }
-
- System.out.println(getName() + ": enqueued " + new_item.intValue());
- }
-
- }
-
-private static final int DEFAULT_ITERATIONS = 1 ;
-protected MT_Bounded_Queue queue_ ;
-private Integer iterations_ ;
-private long time_out_ ;
-}
-
-
diff --git a/java/apps/NexusII/src/Room.java b/java/apps/NexusII/src/Room.java
deleted file mode 100644
index 4a9a294c653..00000000000
--- a/java/apps/NexusII/src/Room.java
+++ /dev/null
@@ -1,97 +0,0 @@
-// RoomThread and Room implement the concept of a chat "room"
-// Sumedh Mungee <sumedh@cs.wustl.edu>
-
-
-import java.util.*;
-import java.io.File;
-
-// This class(&thread) is responsible for multicasting
-// packets on its incoming "client" queues, onto one or
-// more outgoing queues, which are picked up by the client.
-class RoomThread implements Runnable, consts {
-
- private MT_Bounded_Queue rq_;
- private Vector clientlist_;
-
- public RoomThread(MT_Bounded_Queue rq, Vector clientlist) {
- rq_ = rq;
- clientlist_ = clientlist;
- }
-
- public void run() {
- for(;;) {
- dataPacket d = (dataPacket) rq_.dq(); // Extract packet
- Enumeration e = clientlist_.elements(); // Iterate over clients
- while(e.hasMoreElements())
- ((ClientHandler)e.nextElement()).getQ().nq(d); // Enqueue packet
- }
- }
-}
-
-
-public class Room implements consts {
-
- private String name_; // name of this "room"
- private String last_image_ = new String("NexusII.gif"); // filename of the last image broadcast
- private Thread roomthread_;
- private MT_Bounded_Queue rq_ = new MT_Bounded_Queue();
- private Vector clientlist_ = new Vector();
-
- // Constructors
- public Room(String name) {
- int i;
- name_ = new String(name);
- roomthread_ = new Thread(new RoomThread(rq_, clientlist_));
- roomthread_.start();
- }
-
- // Client management methods follow..
-
- public synchronized void addClient(ClientHandler client) {
- clientlist_.addElement(client);
- }
- // Returns true if this room has now become empty
- public synchronized boolean delClient(ClientHandler client) {
- clientlist_.removeElement(client);
- return clientlist_.isEmpty();
- }
-
- public synchronized boolean checkClient(ClientHandler client) {
- return clientlist_.contains(client);
- }
-
- public synchronized Enumeration clientList() {
- return clientlist_.elements();
- }
-
- public String getName() {
- return name_;
- }
-
- public MT_Bounded_Queue getQ() {
- return rq_;
- }
-
- public synchronized String getLastImageName() {
- return last_image_;
- }
-
- public synchronized void putNextImageName(String s) {
- last_image_ = s;
- }
-
- protected void finalize() {
- roomthread_.stop();
- File f = new File(last_image_);
- if(f.exists())
- f.delete();
- roomthread_ = null;
- }
-}
-
-
-
-
-
-
-
diff --git a/java/apps/NexusII/src/RoomFrame.java b/java/apps/NexusII/src/RoomFrame.java
deleted file mode 100644
index e9da19b31d6..00000000000
--- a/java/apps/NexusII/src/RoomFrame.java
+++ /dev/null
@@ -1,297 +0,0 @@
-/*
- $RCSfile$
- $Author$
-
- Last Update: $Date$
- $Revision$
-
- REVISION HISTORY:
- $Log$
- Revision 1.1 1997/01/31 01:11:02 sumedh
- Added the Nexus II source code files.
-
-# Revision 1.2 1996/12/07 06:25:18 rajeev
-# backup
-#
-# Revision 1.1 1996/12/07 06:15:12 rajeev
-# Initial revision
-#
-
-
-*/
-import java.awt.*;
-import awtCommand.*;
-import java.util.* ;
-
-//import NexusII.client.* ;
-//import NexusII.util.* ;
-//import NexusII.networking.*;
-
-class RoomFrame extends CFrame implements consts {
- private static String rcsId = new String("$Id$");
-
- // Graphics Objects
- private CTextField tfInput ;
- private CTextArea taOutput ;
- private CButton bLeave ;
- private ImageCanvas icOutput;
- private Font normalFont = new Font("Helvetica", Font.PLAIN, 14);
- private Font boldFont = new Font("Helvetica", Font.BOLD, 14);
- private Font italicFont = new Font("Helvetica", Font.ITALIC, 14);
- private static final int LINE_LENGTH = 70;
-
- // Other required objects
- private MT_Bounded_Queue write_q_ ;
- private NexusClientApplet applet_ ;
- private String myName_ ;
-
- public RoomFrame(MT_Bounded_Queue write_q,
- NexusClientApplet applet,
- String name) {
- super(name);
- write_q_ = write_q ;
- applet_ = applet ;
- myName_ = name ;
- SetUpGraphics();
- this.pack();
- this.show();
- }
-
- void SetUpGraphics() {
- // Initialize the graphics objects
- // The input text line
- tfInput = new CTextField(LINE_LENGTH);
- textHandler handlerT = new textHandler(write_q_,applet_,myName_);
- tfInput.setActionCommand(handlerT);
- // The leave button
- bLeave = new CButton(LEAVE_STR);
- bLeave.setActionCommand(applet_.nexusJoiner);
-
- icOutput = new ImageCanvas(myName_);
- taOutput = new CTextArea(10,LINE_LENGTH);
-
- GridBagLayout gbl = new GridBagLayout();
- GridBagConstraints gbc = new GridBagConstraints();
- setFont(normalFont);
- setLayout (gbl);
-
- gbc.insets = new Insets(5,5,5,5);
- gbc.ipadx = 5;
- gbc.ipady = 5;
- gbc.weightx = 1.0;
- gbc.weighty = 1.0;
-
- // First the Image so that sizes are fixed
- gbc.gridx = 1;
- gbc.gridy = 0;
- gbc.anchor = GridBagConstraints.CENTER;
- gbc.fill = GridBagConstraints.BOTH;
- gbl.setConstraints(icOutput, gbc);
- add(icOutput);
-
- // The Text Output Area
- gbc.gridx = 0;
- gbc.gridy = 0;
- gbc.weighty = 0.0;
- gbc.anchor = GridBagConstraints.SOUTH;
- gbc.fill = GridBagConstraints.BOTH;
- gbl.setConstraints(taOutput,gbc);
- taOutput.setEditable(false);
- add(taOutput);
-
- // The Text Input Field
- gbc.gridx = 0;
- gbc.gridy = 1;
- gbc.weighty = 0.0;
- gbc.anchor = GridBagConstraints.NORTH;
- gbc.fill = GridBagConstraints.HORIZONTAL;
- gbl.setConstraints(tfInput,gbc);
- add(tfInput);
-
- // The Leave Button
- gbc.gridx = 1;
- gbc.gridy = 1;
- gbc.anchor = GridBagConstraints.NORTH;
- gbc.fill = GridBagConstraints.HORIZONTAL;
- gbl.setConstraints(bLeave,gbc);
- add(bLeave);
-
- resize(800,280);
- setResizable(true); // Allow the user to resize
- validate();
- }
-
- public boolean handleEvent(Event event) {
- if (event.id == Event.WINDOW_DESTROY)
- dispose();
- return super.handleEvent(event);
- }
-
- // This function will be called by the RoomHandler when it receives
- // anything for this room and will add the data
- public void addText(String tobeadded) {
- if (false) {
- String speaker = null;
- String msg = null;
- int pos = tobeadded.indexOf(':');
- if (pos >= 0)
- speaker = tobeadded.substring(0,pos+1);
- else
- speaker = new String("");
- msg = tobeadded.substring(pos+1);
- Font oldf = taOutput.getFont();
- taOutput.setFont(boldFont);
- taOutput.appendText(speaker);
- taOutput.setFont(italicFont);
- taOutput.appendText(msg+"\n");
- taOutput.setFont(oldf);
- }
- else {
- taOutput.appendText(tobeadded+"\n");
- }
- return;
- }
-
- // This function will also be called by the RoomHandler whenit receives
- // Image data for this room.
- public void updateImage(Image im) {
- if(DEBUG) {
- System.out.println("Room : I got an image");
- }
- icOutput.setImage(im);
- }
-
-
-}
-
-
-
-/**
- * The ImageCanvas Class -- for the image in the class
- */
-class ImageCanvas extends Canvas implements consts {
-
- Image image_ = null;
- int defWidth_ = 128;
- int defHeight_ = 128;
- int margin = 5;
-
- String name_ = new String("Nexus Room");
- Font nameFont = new Font("Helvetica",0,14);
-
- public ImageCanvas(String s)
- {
- name_ = s;
- }
-
- public Dimension preferredSize() {
- return minimumSize();
- }
- public Dimension minimumSize() {
- return new Dimension(defWidth_, defHeight_);
- }
-
- public void setImage(Image newIm) {
- image_ = newIm;
- repaint();
- }
- public Image getImage() {
- return image_;
- }
-
- public void name(String n) {
- name_ = n;
- }
- public String name() {
- return name_;
- }
-
- public void paint(Graphics g) {
- Dimension d = size();
- int width = d.width;
- int height = d.height;
-
- if (DEBUG)
- System.out.println("ImageCanvas:: width = "+width+ " height="+height);
-
- g.setColor(Color.black);
- g.fillRect(0,0,width-1,height-1);
- g.setColor(Color.white);
- g.fillRect(margin,margin,width-2*margin,height-2*margin);
- // Create image if reqd
- if (image_ == null)
- image_ = createImage(width-2*margin,height-2*margin);
-
- g.drawImage(image_, margin, margin,
- width-2*margin, height-2*margin, Color.white, this);
- g.setColor(Color.blue);
- g.setFont(nameFont);
- FontMetrics fm = g.getFontMetrics();
- g.drawString(name_,(width - fm.stringWidth(name_))/2,
- (int)(height*0.9 - fm.getMaxDescent()));
- validate();
- return;
- }
-
- public void update(Graphics g) {
- paint(g);
- }
-
-} // End of the Image Canvas Class
-
-
-
-// this is the event handler for the textfield -- whenever anything is typed
-class textHandler implements Command,consts,Runnable {
- private MT_Bounded_Queue write_q_ ;
- private NexusClientApplet applet_ ;
- private String name_ ;
- Object what_ ;
-
- public textHandler(MT_Bounded_Queue write_q,
- NexusClientApplet applet,
- String name) {
- write_q_ = write_q ;
- applet_ = applet ;
- name_ = name ;
- }
-
- public void execute(Object target, Event evt, Object what) {
- // get the string and send it across in a different thread
- what_ = what ;
- // clear the field in the gui
- ((TextField)target).setText("");
- // send it off
- new Thread(this).start();
- }
-
- // send off the string in a different thread
- public void run() {
- String data = (String)what_;
- // check if data begins with / and is followed by url
- if(!data.startsWith("/url")) {
-
- String user = NexusClientApplet.myName ;
- String command = user + ":" + data ;
- String len = Integer.toString(command.length());
- dataPacket packet = new dataPacket(NexusClientApplet.myName,name_,
- "TEXT",len,command);
- write_q_.nq(packet);
- }
- else {
- // it is /url
- StringTokenizer t = new StringTokenizer(data);
- // take out the /url from here
- String ur = t.nextToken();
- // data now
- String command = t.nextToken();
- String len = Integer.toString(command.length());
- dataPacket packet = new dataPacket(NexusClientApplet.myName,name_,
- "URL",len,command);
- write_q_.nq(packet);
- }
- }
-} // end of class
-
-
-
diff --git a/java/apps/NexusII/src/RoomSpace.java b/java/apps/NexusII/src/RoomSpace.java
deleted file mode 100644
index 9afb78ddff1..00000000000
--- a/java/apps/NexusII/src/RoomSpace.java
+++ /dev/null
@@ -1,110 +0,0 @@
-import java.awt.*;
-
-class RoomFrame extends Frame // implements Runnable
-{
-
- // Graphics Objects
- private Panel panel = new Panel();
- private TextField tfInput = new TextField(80);
- private TextArea taOutput = new TextArea(80,10);
- Button bLeave = new Button("Leave");
- ImageCanvas icOutput = new ImageCanvas();
-
- void InitGraphics()
- {
- GridBagLayout gbl = new GridBagLayout();
- GridBagConstraints gbc = new GridBagConstraints();
- setFont(new Font("Helvetica", Font.PLAIN, 14));
- panel.setLayout (gbl);
-
- gbc.weightx = 1.0;
- gbc.weighty = 1.0;
-
- // First the Image so that sizes are fixed
- gbc.gridx = 1;
- gbc.gridy = 0;
- gbc.anchor = GridBagConstraints.CENTER;
- gbc.fill = GridBagConstraints.NONE;
- gbl.setConstraints(icOutput, gbc);
- panel.add(icOutput);
-
- // The Text Output Area
- gbc.gridx = 0;
- gbc.gridy = 0;
- gbc.anchor = GridBagConstraints.WEST;
- gbc.fill = GridBagConstraints.HORIZONTAL;
- gbl.setConstraints(taOutput,gbc);
- taOutput.setEditable(false);
- panel.add(taOutput);
-
- // The Text Input Field
- gbc.gridx = 0;
- gbc.gridy = 1;
- gbc.anchor = GridBagConstraints.WEST;
- gbc.fill = GridBagConstraints.HORIZONTAL;
- gbl.setConstraints(tfInput,gbc);
- panel.add(tfInput);
-
- // The Leave Button
- gbc.gridx = 1;
- gbc.gridy = 1;
- gbc.anchor = GridBagConstraints.WEST;
- gbc.fill = GridBagConstraints.HORIZONTAL;
- gbl.setConstraints(bLeave,gbc);
- panel.add(bLeave);
- }
-
-
- public RoomFrame()
- {
- this("Anonymous");
- }
-
- public RoomFrame(String s)
- {
- InitGraphics();
- super(s);
- this.pack();
- this.show();
- }
-
- public boolean handleEvent(Event event)
- {
- if (event.id == Event.WINDOW_DESTROY)
- dispose();
- return super.handleEvent(event);
- }
-
-}
-
-class ImageCanvas extends Canvas {
-
- Image image_;
- int imgWidth_ = 128;
- int imgHeight_ = 128;
-
- public Dimension preferredSize() {
- return minimumSize();
- }
-
- public Dimension minimumSize() {
- return new Dimension(imgWidth_, imgHeight_);
- }
-
- public void image(Image newIm) {
- image_ = newIm;
- }
-
- public Image image() {
- return image_;
- }
-
- public void paint(Graphics g) {
- g.drawImage(image_,0,0,this);
- }
-
- public void update() {
- paint();
- }
-
-} // End of the Image Canvas Class
diff --git a/java/apps/NexusII/src/Timed_Wait.java b/java/apps/NexusII/src/Timed_Wait.java
deleted file mode 100644
index 792db39ceb9..00000000000
--- a/java/apps/NexusII/src/Timed_Wait.java
+++ /dev/null
@@ -1,86 +0,0 @@
-// package NexusII.util ;
-
-
-// Subclass the Exception class to get TimeoutException
-
-class TimeoutException extends Exception
-{
- public TimeoutException()
- {
- super();
- }
-
- public TimeoutException(String s)
- {
- super(s);
- }
-
-}
-
-// Timed_wait class. This can used by enq and deq to do timed_waits
-public abstract class Timed_Wait
-{
- // By default the object is itself
-public Timed_Wait ()
- {
- object_ = this;
- }
- // If the calling class specifies objects, delegate to it.
-public Timed_Wait (Object obj)
- {
- object_ = obj;
- }
-
- // This is the object we delegate to if a
- // subclass gives us a particular object,
- // otherwise, we ``delegate'' to ourself
- // (i.e., to this).
-protected Object object_;
-
- // This hook method must be overridden
- // by a subclass to provide the condition.
-
-public abstract boolean condition ();
-
- // This will borrow the monitor lock from the calling class
-
-public final void timed_wait(long msec_timeout)
-throws InterruptedException, TimeoutException
- {
- // wait if the condition is false
- if (!condition())
- {
- long start = System.currentTimeMillis() ;
- long wait_time = msec_timeout ;
-
- for(;;)
- {
- // anyway have to wait atleast till waittime
- object_.wait(wait_time);
-
- // on coming out check for the condition again
- if(!condition())
- {
- long now = System.currentTimeMillis() ;
- long time_so_far = now - start ;
-
- // if timed out
- if(time_so_far >= msec_timeout)
- throw new TimeoutException() ;
- else
- // retry !! we have some time left
- wait_time = msec_timeout - time_so_far ;
- }
- else // the condition is true here
- break ;
- }
- }
- }
-
- // Notify all threads waiting on the object_.
-public final void broadcast ()
- {
- object_.notifyAll ();
- }
-}
-
diff --git a/java/apps/NexusII/src/Timer.java b/java/apps/NexusII/src/Timer.java
deleted file mode 100644
index df781274913..00000000000
--- a/java/apps/NexusII/src/Timer.java
+++ /dev/null
@@ -1,31 +0,0 @@
-// This class encapsulates a Timer mechanism
-// Can be used for Profiling of parts of code and gathering statistics
-
-package NexusII ;
-
-public class Timer {
-
-public Timer()
-{
- start_ = 0 ;
-}
-
-public void start()
-
-{
- start_ = System.currentTimeMillis();
-}
-
-public long elapsed_time()
-{
- return System.currentTimeMillis() - start_ ;
-}
-
-public void stop()
-{
- start_ = 0 ;
-}
-
-private long start_ = 0 ;
-
-}
diff --git a/java/apps/NexusII/src/commandHandler.java b/java/apps/NexusII/src/commandHandler.java
deleted file mode 100644
index 4cf80d04235..00000000000
--- a/java/apps/NexusII/src/commandHandler.java
+++ /dev/null
@@ -1,44 +0,0 @@
-// To handle the events generated by command-line. The user will be saying
-// /nick <nick-name>
-
-import java.awt.* ;
-import java.util.* ;
-
-//import NexusII.client.* ;
-
-import awtCommand.* ;
-
-
-public class commandHandler implements Command,consts {
- NexusClientApplet applet_ ;
- // will handle the /nick command for now -- urgent
- public commandHandler(NexusClientApplet applet ) {
- applet_ = applet ;
- }
-
- public void execute(Object target,Event evt,Object what) {
- // Right now assume that it is just a nick command
- if(DEBUG) {
- System.out.println("Nick typed in ---- ");
- }
- StringTokenizer t = new StringTokenizer((String)what) ;
- // string for holding /nick and <nickname>
- String command = null ;
- if(t.hasMoreTokens()) {
- command = t.nextToken();
- }
-
- if(command.equalsIgnoreCase("/nick")) {
- if(t.hasMoreTokens()) {
- // have to send a nick packet to server
- applet_.myName = new String(t.nextToken());
- applet_.sendNickToServer(applet_.myName);
-
- }
- }
- // clear the field in the gui
- ((TextField)target).setText("");
-
- }
-}
-// of class
diff --git a/java/apps/NexusII/src/commandParser.java b/java/apps/NexusII/src/commandParser.java
deleted file mode 100644
index 64e6da66122..00000000000
--- a/java/apps/NexusII/src/commandParser.java
+++ /dev/null
@@ -1,124 +0,0 @@
-/*
- $RCSfile$
- $Author$
-
- Last Update: $Date$
- $Revision$
-
- REVISION HISTORY:
- $Log$
- Revision 1.1 1997/01/31 01:11:06 sumedh
- Added the Nexus II source code files.
-
-# Revision 1.1 1996/12/07 06:27:38 rajeev
-# Initial revision
-#
-# Revision 1.1 1996/12/02 06:05:08 rajeev
-# Initial revision
-#
-# Revision 1.1 1996/12/02 06:02:24 rajeev
-# Initial revision
-#
-
-*/
-// why not use java utilities !!
-
-import java.util.* ;
-import java.lang.* ;
-import java.awt.* ;
-
-
-
-//import NexusII.client.* ;
-//import NexusII.util.* ;
-//import NexusII.networking.* ;
-
-
-
-import awtCommand.* ;
-
-// This class takes a command parses it and packetizes it and puts it in the
-// global send queue. It works in its own thread of control and after nqing
-// its run() method falls off. It does its work and dies
-// Will act as an eventHandler for TextField most probably
-
-public class commandParser implements Command,consts,Runnable {
-
- String command ;
- MT_Bounded_Queue q_ ;
- NexusClientApplet applet_ ;
- // constructor
-
- public commandParser(MT_Bounded_Queue write_q,NexusClientApplet applet) {
- // create a reference to the write_q
- q_ = write_q ;
- // note the applet name
- applet_ = applet ;
-
- }
-
-
- public void execute(Object target, Event evt, Object what) {
- // Get the text which was entered there --
- command = new String((String) what) ;
- // run in a separate thread
- Thread main = new Thread(this);
- main.start();
- }
-
- // The parser etc. run here
- public synchronized void run() {
- String actual_command = new String();
- String data = new String();
- String data_len = new String();
- if(DEBUG) {
- System.out.println("commandParser thread running --- \n");
- }
-
- // Do the parsing first
- if(command.equalsIgnoreCase(LUSERS_STR)) {
- actual_command = new String("LUSERS") ;
- data = applet_.GetRoomName() ;
- data_len = new String(String.valueOf(data.length()));
- if(data.length() == 0)
- return ;
- }
-
- else if(command.equalsIgnoreCase(LROOMS_STR)) {
- actual_command = new String("LROOMS") ;
- data = new String("") ;
- data_len = new String("0") ;
- }
-
- String room = new String("ROOT");
-
- if(DEBUG) {
- System.out.println("The room is " + room + "\n");
- }
-
- /*
- StringBuffer databuffer = new StringBuffer();
-
- // Get the data
- while(t.hasMoreTokens()) {
- databuffer.append(t.nextToken());
- }
- String data = new String(databuffer);
- if(DEBUG) {
- System.out.println("The data is " + data + "\n");
- }
-
- // data length
- String data_len = String.valueOf(data.length());
- // Now make a packet
- */
-
- dataPacket pack = new dataPacket(NexusClientApplet.myName,room,actual_command,data_len,data);
- // enqueue it now
- q_.nq(pack);
-
- } // my job is over
-
-}
-// of class
-
diff --git a/java/apps/NexusII/src/connectionHandler.java b/java/apps/NexusII/src/connectionHandler.java
deleted file mode 100644
index 5e9d3823a68..00000000000
--- a/java/apps/NexusII/src/connectionHandler.java
+++ /dev/null
@@ -1,236 +0,0 @@
-/*
- $RCSfile$
- $Author$
-
- Last Update: $Date$
- $Revision$
-
- REVISION HISTORY:
- $Log$
- Revision 1.1 1997/01/31 01:11:07 sumedh
- Added the Nexus II source code files.
-
-# Revision 1.1 1996/12/07 06:27:38 rajeev
-# Initial revision
-#
-# Revision 1.1 1996/12/02 06:05:30 rajeev
-# Initial revision
-#
-# Revision 1.1 1996/12/02 06:02:24 rajeev
-# Initial revision
-#
-
-*/
-// This class will handle the event generated when user presses "connect/dis
-// connect" button. It will maintain all the state associated with a
-// connection ;
-// In particular, it will create reader,writer and demux threads and stop
-// them when user pressed disconnect. It also sends the init and quit
-// packet to the server
-// -- Rajeev Bector 11/26/96
-
-// package NexusII.networking ;
-
-import awtCommand.* ;
-
-import java.net.* ;
-import java.awt.* ;
-import java.io.* ;
-import java.util.* ;
-import ACE.OS.*;
-import ACE.SOCK_SAP.*;
-
-public class connectionHandler implements Command,consts,Runnable {
-
- // The socket for reading and writing
- // private Socket nexusSocket;
- private SOCKConnector nexusConnector_ = new SOCKConnector();
- private SOCKStream nexusStream_ = new SOCKStream();
-
- // Threads which will do reading and writing from Socket
- private Thread readerThread ;
- private Thread writerThread ;
-
- // Threads which demuxes the data from Write Queue
- private Thread demuxThread;
-
- // The socket
- // private Socket nexusSocket_ ;
-
- // Data Streams which flow the data out
- private DataInputStream is_ ;
- private DataOutputStream os_ ;
-
- // links to the outside world
- private MT_Bounded_Queue read_q_ ;
- private MT_Bounded_Queue write_q_ ;
-
- Integer port_ ;
- String host_ ;
-
- NexusClientApplet applet_ ;
- // Constructor
- public connectionHandler(String host,Integer port,NexusClientApplet applet) {
- host_ = host ;
- port_ = port ;
- applet_ = applet ;
- } // of constructor
-
- // This will be called when the "connect/disconnet" button is pressed
-
- public void execute(Object target, Event evt, Object what) {
- // run in a separate thread
- new Thread(this).start();
- }
-
- public synchronized void run() {
-
- // If not connected -- then connect
- if(!applet_.connected) {
-
- // Initialize the queues now
- read_q_ = new MT_Bounded_Queue(QUEUE_SIZE);
- write_q_ = new MT_Bounded_Queue(QUEUE_SIZE);
-
- // Try to connect to the server now
- // nexusSocket_ = new Socket(host_,port_.intValue());
- try {
- nexusConnector_.connect(nexusStream_, host_, port_.intValue());
- }
- catch(SocketException s) { }
- catch(IOException i) { }
- // Attach Streams to read and write end os socket
- os_ = new DataOutputStream(nexusStream_.outputStream());
- is_ = new DataInputStream(nexusStream_.inputStream());
-
- // do something now
-
- // create and start the socket reader first
- readerThread = new socketReaderThread(read_q_,is_);
- readerThread.start();
-
- // now create the writer also -- subclass of consumer
- writerThread = new socketWriterThread(write_q_,os_);
- writerThread.start();
- // Have to send the init packet to the server
- sayHelloToServer();
-
-
- // Do all the graphics needed and also init the join handlers etc.
- applet_.OnConnect();
-
- // make sure that when demux is created -- joinHandler is there ... !!
-
- // Create the demux here -- he'll spawn off the rooms
- demuxThread = new nexusDemuxThread(read_q_,applet_.Mapper());
- demuxThread.start();
-
- } // of if !connected
-
- // if connected already then I have to disconnect --- have to
- // write code for this
- else {
-
- // first leave all the rooms
- for(Enumeration e = applet_.Mapper().keys(); e.hasMoreElements();) {
- String name = (String) e.nextElement() ;
- applet_.SetRoomName(name);
- applet_.nexusJoiner.execute(null,null,LEAVE_STR);
- }
- // send a quit packet to the server
- sayByeToServer();
-
- // Have to send a leave for all the rooms and leave all the rooms
-
- // stop the running threads
- readerThread.stop();
- demuxThread.stop();
-
- // Again meddle with graphics
- applet_.OnDisconnect();
- return ;
- }
- } // of run
-
- // This method returns the underlying socket descriptor
- public Socket handle() {
- return nexusStream_.socket();
- }
-
- public DataInputStream getinStream() {
- return is_ ;
- }
-
- public DataOutputStream getoutStream() {
- return os_ ;
- }
-
- public MT_Bounded_Queue reader_q() {
- return read_q_ ;
- }
-
-
- public MT_Bounded_Queue writer_q() {
- if(write_q_ == null)
- System.out.println("Sending a null write_q");
- return write_q_ ;
- }
-
- // This method will compose a hello packet and send it off -- cannot run
- // this in a separate thread. Has to send this first surely to our TCP
- // Connection
-
- public void sayHelloToServer() {
- // hello doesnt have any body
- byte[] packetHeader = new byte[PACKET_HEADER_LENGTH] ;
- String clientID = new String(NexusClientApplet.myName);
- String roomID = new String("ROOT");
- String contentType = new String("INIT");
- String contentLength = new String("0");
-
- // Make a proper packet out of it
- dataPacket initPacket = new dataPacket(clientID,roomID,contentType,contentLength);
-
- // enqueue that packet for socketWriter to read
- write_q_.nq(initPacket);
-
- }
-
- // This method send a Quit command to the server -- to say that it is
- // pushing off
- public void sayByeToServer() {
- byte[] packetHeader = new byte[PACKET_HEADER_LENGTH] ;
- String clientID = new String(NexusClientApplet.myName);
- String roomID = new String("null");
- String contentType = new String("QUIT");
- String contentLength = new String("0");
-
- // Make a proper packet out of it
- dataPacket quitPacket = new dataPacket(clientID,roomID,contentType,contentLength);
-
- // enqueue that packet for socketWriter to read
- write_q_.nq(quitPacket);
- } // of sayByeToServer
-
-} // of class
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/java/apps/NexusII/src/consts.java b/java/apps/NexusII/src/consts.java
deleted file mode 100644
index 304ec41a41e..00000000000
--- a/java/apps/NexusII/src/consts.java
+++ /dev/null
@@ -1,40 +0,0 @@
-// package NexusII.client ;
-
-// An interface for all the public constants shared by clientApplet
-// All classes that need to access constants will implement this
-
-public interface consts {
- // Length of each field in the header
- public static final int FIELD_LENGTH = 32 ;
-
- // Total length of header
- public static final int PACKET_HEADER_LENGTH = 128;
-
- // Offset where we can find the data length
- public static final int DATA_LEN_OFFSET = 96;
-
- // Size of Queues where reader and writer work
- public static final int QUEUE_SIZE = 20 ;
-
- // Separator used by tokens in the packet
- public static final String SEPARATOR = " " ;
-
- // End of message
- public static final String END_OF_DATA = "\n" ;
-
- // Useful for debugging -- set to false for release version (demo) -- Aravind
- public static final boolean DEBUG = false;
-
- // Size of hash tables
- public static final int HASH_SIZE = 16 ;
-
- public static final String JOIN_STR = "Join" ;
- public static final String LEAVE_STR = "Leave" ;
- public static final String LUSERS_STR = "List Users" ;
- public static final String LROOMS_STR = "List Rooms" ;
-
- public static final int SERVER_PORT = 42429 ;
- public static final String NEXUS_LOGO = "Nexus_Logo.gif";
-}
-
-
diff --git a/java/apps/NexusII/src/dataPacket.java b/java/apps/NexusII/src/dataPacket.java
deleted file mode 100644
index 1bd2dfeb6ab..00000000000
--- a/java/apps/NexusII/src/dataPacket.java
+++ /dev/null
@@ -1,124 +0,0 @@
-/*
- $RCSfile$
- $Author$
-
- Last Update: $Date$
- $Revision$
-
- REVISION HISTORY:
- $Log$
- Revision 1.1 1997/01/31 01:11:08 sumedh
- Added the Nexus II source code files.
-
-# Revision 1.2 1996/12/07 06:27:38 rajeev
-# yaah paranoid backup ...
-#
-# Revision 1.1 1996/12/06 18:23:45 rajeev
-# Initial revision
-#
-# Revision 1.1 1996/12/02 06:07:53 rajeev
-# Initial revision
-#
-# Revision 1.1 1996/12/02 06:02:24 rajeev
-# Initial revision
-#
-
-*/
-// This class encapsulates a dataPacket
-// Will encapsulate the byteStream as a characterStream into a single thing
-// no packets for now
-// package NexusII.networking ;
-
-//import NexusII.client.* ;
-
-public class dataPacket implements consts, Cloneable{
-
- private String clientName ;
- private String roomName ;
- private String contentType ;
- private String contentLength ;
- private String content ;
-
- // constructor -- will create the data packet
- public dataPacket(byte[] header, byte[] body) {
- int len = FIELD_LENGTH ;
- clientName = new String(header,0,0,len);
- roomName = new String(header,0,1*len,len);
- contentType = new String(header,0,2*len,len);
- contentLength = new String(header,0,3*len,len);
- content = new String(body,0);
- if(DEBUG)
- System.out.println("datapacket: Constructed packet with header " + header + " and body " + body);
- }
-
- // another constructor for length 0 packets
- public dataPacket(String client, String room, String type,String len)
- {
- clientName = new String(client);
- roomName = new String(room);
- contentType = new String(type);
- contentLength = new String(len);
- content = new String();
- }
-
- // another one for some data also
- public dataPacket(String client, String room, String type,String len,String data)
- {
- this(client,room,type,len);
- content = new String(data);
- }
-
- // return the data in bytized header and body
- public void bytize(byte[] header, byte[] body)
- {
- // clear the header and body -- fill them with whitespace
- String white_space = new String(" ");
-
- if(DEBUG) {
- System.out.println("dataPacket: length is " + new Integer(contentLength.trim()).intValue() + "\n");
- }
-
- int len = FIELD_LENGTH ;
- // copy the header
- clientName.getBytes(0,clientName.length(),header,0);
- roomName.getBytes(0,roomName.length(),header,len*1);
- contentType.getBytes(0,contentType.length(),header,len*2);
- contentLength.getBytes(0,contentLength.length(),header,len*3);
-
- int body_len = (new Integer(contentLength.trim())).intValue();
- // copy the body also
- content.getBytes(0,body_len,body,0);
- }
-
- public int contentLength() {
- return new Integer(contentLength.trim()).intValue();
- }
-
- // Returns the destination for the current packet
- public String destination(){
- return roomName.trim() ;
- }
-
- public String contentType() {
- return contentType.trim() ;
- }
-
-
- public String content() {
- return content.trim() ;
- }
-
- public String clientName() {
- return clientName.trim() ;
- }
-
-}
-// of class datapacket
-
-
-
-
-
-
-
-
diff --git a/java/apps/NexusII/src/joinHandler.java b/java/apps/NexusII/src/joinHandler.java
deleted file mode 100644
index 3ff071c26ed..00000000000
--- a/java/apps/NexusII/src/joinHandler.java
+++ /dev/null
@@ -1,181 +0,0 @@
-/*
- $RCSfile$
- $Author$
-
- Last Update: $Date$
- $Revision$
-
- REVISION HISTORY:
- $Log$
- Revision 1.1 1997/01/31 01:11:09 sumedh
- Added the Nexus II source code files.
-
-# Revision 1.1 1996/12/07 06:27:38 rajeev
-# Initial revision
-#
-# Revision 1.1 1996/12/02 06:06:22 rajeev
-# Initial revision
-#
-# Revision 1.1 1996/12/02 06:02:24 rajeev
-# Initial revision
-#
-
-*/
-
-// This class will handle the event generated when user presses "join/leave"
-// button. It will maintain all the state associated with all the rooms
-// It'll also create and maintain the rooms
-// -- Rajeev Bector 11/26/96
-
-// package NexusII.networking ;
-
-// This is a SINGLETON
-
-
-import java.net.* ;
-import java.util.* ;
-import java.awt.* ;
-import java.io.* ;
-
-
-//import NexusII.client.* ;
-//import NexusII.util.* ;
-//import NexusII.networking.* ;
-
-import awtCommand.* ;
-
-public class joinHandler implements Command,consts {
- MT_Bounded_Queue write_q_ ;
- Hashtable name_to_q_ ;
- Hashtable name_to_handler_ ;
- NexusClientApplet applet_ ;
-
- // This will be called when the "join/leave" button is pressed
- public joinHandler(MT_Bounded_Queue writer_q,NexusClientApplet applet) {
- write_q_ = writer_q ;
- applet_ = applet ;
- // init. the Hashtables
- name_to_q_ = new Hashtable(HASH_SIZE);
- name_to_handler_ = new Hashtable(HASH_SIZE);
-
- }
-
- public Hashtable Mapper() {
- return name_to_q_ ;
- }
-
- public void execute(Object target, Event evt, Object what) {
-
- String roomName = applet_.GetRoomName() ;
- if(roomName.length()==0) {
- return ;
- }
-
- // if it is the join button
- if(((String)what).equalsIgnoreCase(JOIN_STR)) {
- //if already joined -- return
- if(name_to_q_.get(roomName) != null)
- return ;
-
- // room doesnt exist
- // Just in case the room name isn't listed
- applet_.AddRoomName(roomName);
- // create a new queue for the room to use
-
- MT_Bounded_Queue q_ = new MT_Bounded_Queue(QUEUE_SIZE);
- if(DEBUG) {
- System.out.println("joinHandler: inserted the queue in hash ");
- }
- name_to_q_.put(roomName,q_);
- roomHandler handler = new roomHandler(roomName,q_,write_q_,applet_);
- name_to_handler_.put(roomName,handler);
-
- // send a request to the server
- sayJoinToServer(roomName);
- // sendTestPacket(roomName,"URL","http://cumbia.cs.wustl.edu:4242/~sumedh/NexusII/NexusII.gif",q_);
- } // of join
-
- else {
- // its a "leave packet"
- if(name_to_q_.get(roomName) == null)
- return ;
- // remove the entry from the queue
- name_to_q_.remove(roomName);
-
- roomHandler handle = (roomHandler) name_to_handler_.get(roomName);
- if(DEBUG)
- System.out.println("joinHandler:Stopiing the room thread" + roomName);
- handle.mystop();
- // handle = null ;
-
- // remove the entry from the queue
- name_to_handler_.remove(roomName);
- sayLeaveToServer(roomName);
- } // of else
- } // of execute
-
- private void sayJoinToServer(String roomName) {
- //if (DEBUG)
- // System.out.println("In the say J to server...");
- byte[] packetHeader = new byte[PACKET_HEADER_LENGTH] ;
- String clientID = new String(NexusClientApplet.myName);
- String roomID = new String("ROOT");
- String contentType = new String("JOIN");
- String contentLength = String.valueOf(roomName.length());
- String content = new String(roomName);
- // Make a proper packet out of it
- dataPacket joinPacket = new dataPacket(clientID,roomID,contentType,contentLength,content);
-
- // enqueue that packet for socketWriter to read
- write_q_.nq(joinPacket);
- }
-
- private void sayLeaveToServer(String roomName) {
- byte[] packetHeader = new byte[PACKET_HEADER_LENGTH] ;
- String clientID = new String(NexusClientApplet.myName);
- String roomID = new String("ROOT");
- String contentType = new String("LEAVE");
- String contentLength = new String(Integer.toString(roomName.length()));
- String content = new String(roomName);
-
- // Make a proper packet out of it
- dataPacket leavePacket = new dataPacket(clientID,roomID,contentType,contentLength,content);
-
- // enqueue that packet for socketWriter to read
- write_q_.nq(leavePacket);
- }
-
-
- public void sendTestPacket(String roomName,String type,String content,MT_Bounded_Queue readq) {
- byte[] packetHeader = new byte[PACKET_HEADER_LENGTH] ;
- String clientID = new String(NexusClientApplet.myName);
- String contentLength = new String(Integer.toString(content.length()));
-
-
- // Make a proper packet out of it
- dataPacket testPacket = new dataPacket(clientID,roomName,type,contentLength,content);
-
- // enqueue that packet for socketWriter to read
- readq.nq(testPacket);
- }
-
-
-}
-
-// of class
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/java/apps/NexusII/src/makefile b/java/apps/NexusII/src/makefile
deleted file mode 100644
index c3cff521511..00000000000
--- a/java/apps/NexusII/src/makefile
+++ /dev/null
@@ -1,15 +0,0 @@
-all: client server
-
-client: ../classes/NexusClientApplet.class
-
-../classes/NexusClientApplet.class:
- javac -d ../classes -depend -g NexusClientApplet.java
-
-server: ../classes/NexusIIserver.class
-
-../classes/NexusIIserver.class:
- javac -d ../classes -depend -g NexusIIserver.java
-
-clean:
- rm -f ../classes/*.class *~
-
diff --git a/java/apps/NexusII/src/nexusDemuxThread.java b/java/apps/NexusII/src/nexusDemuxThread.java
deleted file mode 100644
index 96d0fdd06e1..00000000000
--- a/java/apps/NexusII/src/nexusDemuxThread.java
+++ /dev/null
@@ -1,97 +0,0 @@
-/*
- $RCSfile$
- $Author$
-
- Last Update: $Date$
- $Revision$
-
- REVISION HISTORY:
- $Log$
- Revision 1.1 1997/01/31 01:11:10 sumedh
- Added the Nexus II source code files.
-
-# Revision 1.1 1996/12/07 06:27:38 rajeev
-# Initial revision
-#
-# Revision 1.2 1996/12/05 05:39:47 sumedh
-# ok
-#
-# Revision 1.1 1996/12/02 06:08:20 rajeev
-# Initial revision
-#
-# Revision 1.1 1996/12/02 06:02:24 rajeev
-# Initial revision
-#
-
-*/
-
-// Will take the packets from the input queue
-// Parse the packet
-// Call the room handler thread which Aravind will provide
-
-// Mapper object is the one which returns the room_q reference if you pass
-// it the room number. Aravind has to implement this object called roomMapper
-// which has an instance called mapper in the Applet context. This will be
-// referred by nexusDemuxThread whenever it has anything to put in the room_q
-
-// package NexusII.networking ;
-
-//import NexusII.util.* ;
-//import NexusII.client.* ;
-
-import java.util.* ;
-
-public class nexusDemuxThread extends Thread implements consts {
- MT_Bounded_Queue q_ ;
- dataPacket packet ;
- Hashtable mapper_ ;
-
- // constructor
- public nexusDemuxThread(MT_Bounded_Queue read_q,Hashtable mapper) {
- q_ = read_q ;
- mapper_ = mapper ;
- }
-
- public void run() {
- // run till infinity
- for(;;) {
- if(DEBUG) {
- System.out.println("Demux running ---- ");
- }
- // take out packets from the queue
- // parse to find out which room they belong to
- packet = ((dataPacket)q_.dq());
- if(DEBUG) {
- System.out.println("Demux got something ---- ");
- }
-
- String roomName = packet.destination().trim();
- if(DEBUG) {
- System.out.println("demux: destination is : " + roomName);
- }
- if(DEBUG) {
- System.out.println("Hashtable size is " + new Integer(mapper_.size()));
- }
- // Get a reference to which queue to put it in
- MT_Bounded_Queue room_q = (MT_Bounded_Queue)mapper_.get(roomName);
-
- // nq the packet on the room q
- if(room_q != null) {
- room_q.nq(packet);
- System.out.println("deMux: I have enqueued it successfully");
- }
- else
- {
- System.out.println("demux: room_q was null: i couldnt do much");
- }
- }
- }
- // of run
-}
-// of class
-
-
-
-
-
-// 11/24/96 -- Rajeev Bector
diff --git a/java/apps/NexusII/src/roomHandler.java b/java/apps/NexusII/src/roomHandler.java
deleted file mode 100644
index bd125631b74..00000000000
--- a/java/apps/NexusII/src/roomHandler.java
+++ /dev/null
@@ -1,125 +0,0 @@
-/*
- $RCSfile$
- $Author$
-
- Last Update: $Date$
- $Revision$
-
- REVISION HISTORY:
- $Log$
- Revision 1.1 1997/01/31 01:11:11 sumedh
- Added the Nexus II source code files.
-
-# Revision 1.4 1996/12/07 06:22:49 rajeev
-# taking a backup !
-#
-# Revision 1.3 1996/12/06 06:20:07 rajeev
-# Changes to include leave handler
-#
-# Revision 1.2 1996/12/06 04:49:44 rajeev
-# working now hopefully !
-#
-# Revision 1.1 1996/12/06 03:44:32 rajeev
-# Initial revision
-#
-
-*/
-
-// per room
-import java.awt.* ;
-import awtCommand.* ;
-import java.io.* ;
-import java.net.* ;
-//import NexusII.client.* ;
-//import NexusII.util.* ;
-//import NexusII.networking.*;
-
-public class roomHandler implements Runnable,consts{
-
- String roomName_ ;
- MT_Bounded_Queue read_q_ ;
- MT_Bounded_Queue write_q_ ;
- RoomFrame rf_;
- Thread mainThread ;
- NexusClientApplet applet_ ;
-
- // I dont know what to do currently
- public roomHandler(String roomName, MT_Bounded_Queue reader_q,MT_Bounded_Queue writer_q,NexusClientApplet applet) {
- roomName_ = roomName ;
- read_q_ = reader_q ;
- write_q_ = writer_q ;
- applet_ = applet ;
- rf_ = new RoomFrame(write_q_,applet_,roomName_);
- // whenever this frame gets the mouse focus, handler will be called
- FrameHandler fh_ = new FrameHandler(applet_);
- rf_.setGotFocusCommand(fh_);
- mainThread = new Thread(this);
- mainThread.start();
- }
-
-
- public void mystop() {
- // dispose the graphics part here
- if(DEBUG)
- System.out.println("Roomhandlers stop called \n");
- rf_.hide();
- rf_.dispose();
- // no longer need the roomframe
- rf_ = null ;
- mainThread.stop();
- }
-
- public void run() {
- if(DEBUG) {
- System.out.println("Room receiver running ---- ");
- }
- while(Thread.currentThread() == mainThread) {
- // get the data packet
- dataPacket packet = (dataPacket)(read_q_.dq()) ;
- if(DEBUG)
- System.out.println("Room - I got something\n");
-
- // if the packet is of text type -- display it
- if(packet.contentType().trim().equalsIgnoreCase("TEXT")) {
- rf_.addText(packet.content());
- }
- // if the packet is a url address -- pull the image across
- // this url has to be an image as of now
- if(packet.contentType().equalsIgnoreCase("URL")) {
- Image im = null ;
- try {
- im = applet_.getImage(new URL(packet.content()));
- } catch (MalformedURLException i) {
- // nothing as of now
- }
- // display the image
- rf_.updateImage(im);
-
- }
-
- if (DEBUG)
- System.out.println("roomhandler" + roomName_ + " got data");
- }
- }
-
- public String toString() {
- return roomName_ ;
- }
-
-} // of class roomHandler
-
-// is executed when the room frame gets mouse focus
-
-class FrameHandler implements Command {
- NexusClientApplet applet_ ;
- public FrameHandler(NexusClientApplet applet) {
- applet_ = applet ;
- }
-
- public void execute(Object target, Event evt, Object what) {
- if(target instanceof Frame) {
- applet_.SetRoomName(((RoomFrame)target).getTitle());
- }
- }
-}
-
diff --git a/java/apps/NexusII/src/socketReaderThread.java b/java/apps/NexusII/src/socketReaderThread.java
deleted file mode 100644
index 35679c504b4..00000000000
--- a/java/apps/NexusII/src/socketReaderThread.java
+++ /dev/null
@@ -1,126 +0,0 @@
-/*
- $RCSfile$
- $Author$
-
- Last Update: $Date$
- $Revision$
-
- REVISION HISTORY:
- $Log$
- Revision 1.1 1997/01/31 01:11:11 sumedh
- Added the Nexus II source code files.
-
-# Revision 1.1 1996/12/07 06:27:38 rajeev
-# Initial revision
-#
-# Revision 1.3 1996/12/03 01:35:37 rajeev
-# fixed a big bug with respect to trim()
-#
-# Revision 1.2 1996/12/03 01:01:27 rajeev
-# // fixed the bug at line 76
-#
-# Revision 1.1 1996/12/02 06:08:56 rajeev
-# Initial revision
-#
-# Revision 1.1 1996/12/02 06:02:24 rajeev
-# Initial revision
-#
-
-*/
-// The socketReaderThread is like a Producer who reads from the socket and
-// nqs it onto the queue. Thats it ... Big Deal. huh !
-
-// This threads task is
-// 1. Take things from SocketBuffer.
-// 2. Ensure that Full Packets are read
-// 3. Put the packet onto the queue
-
-//package NexusII.networking ;
-
-// get hold of java classes
-//import NexusII.client.* ;
-//import NexusII.util.* ;
-
-import java.io.* ;
-
-
-public class socketReaderThread extends Producer implements Runnable,consts
-{
- DataInputStream is_ ;
-
- // new constructor
- // Pass the queue and socketid to the constructor
-
- public socketReaderThread(MT_Bounded_Queue q, DataInputStream is) {
- // call the super constructor
- super(q);
- is_ = is ;
- }
-
- // This will just override the run method and thats it
- // I want to have my own run !
-
- public void run() {
- // run indefinitely -- i am a daemon anyway
- if(DEBUG) {
- System.out.println("--- This is socketReaderThread --- \n");
- }
-
- for(;;) {
-
- // read header bytes from stream
- int field_len = FIELD_LENGTH ;
- byte[] packetHeader = new byte[PACKET_HEADER_LENGTH];
- try {
- is_.readFully(packetHeader,0,PACKET_HEADER_LENGTH);
- }
- catch (IOException e) {
- // do something here
- System.out.println("socketReader: I/O exception in read: I am quitting");
- // what to do here -- right now quit
- return ;
- }
- if(DEBUG){
- System.out.println("socketReader read:" + new String(packetHeader,0));
- }
-
- // take out the length field from this
- String length = new String(packetHeader,0,DATA_LEN_OFFSET,field_len);
-
- // Read this much more from the socket
- if(DEBUG) {
- System.out.println("The length of packet is " + length);
- }
-
- Integer Test = new Integer(length.trim());
- int len = Test.intValue();
- if(DEBUG) {
- System.out.println("srt: attempting to read " + Test + " bytes ");
- }
-
- byte[] packetBody = new byte[len] ;
- try {
- if(len != 0)
- is_.readFully(packetBody,0,len);
- }
- catch (IOException e) {
- // do something here
- System.out.println("socketReader: I/O exception in read: I am quitting");
- // what to do here -- right now quit
- return ;
- }
-
- // The header and the body are there now -- so make a packet
- dataPacket packet = new dataPacket(packetHeader,packetBody);
- if(DEBUG)
- System.out.println("srt: Now nq'ing item body " + packet.content() );
- queue_.nq(packet);
- if(DEBUG)
- System.out.println("srt: Done nq'ing..");
-
- // go back to reading the socket now
- }
- // of for(;;)
- }
- // of method run
-}
diff --git a/java/apps/NexusII/src/socketWriterThread.java b/java/apps/NexusII/src/socketWriterThread.java
deleted file mode 100644
index 395449b6a53..00000000000
--- a/java/apps/NexusII/src/socketWriterThread.java
+++ /dev/null
@@ -1,119 +0,0 @@
-/*
- $RCSfile$
- $Author$
-
- Last Update: $Date$
- $Revision$
-
- REVISION HISTORY:
- $Log$
- Revision 1.1 1997/01/31 01:11:12 sumedh
- Added the Nexus II source code files.
-
-# Revision 1.1 1996/12/07 06:27:38 rajeev
-# Initial revision
-#
-# Revision 1.1 1996/12/02 06:09:22 rajeev
-# Initial revision
-#
-# Revision 1.1 1996/12/02 06:02:24 rajeev
-# Initial revision
-#
-
-*/
-// The socketWriterThread is like a Consumer who reads from the write_q and
-// puts it onto the socket. Thats it ... Big Deal. huh !
-
-// This threads task is
-// 1. Write things to SocketBuffer.
-// 2. Ensure that Full Packets are sent
-// 3. Read the packet off the queue
-
-//package NexusII.networking ;
-
-// get hold of java classes
-
-import java.io.* ;
-
-//import NexusII.client.* ;
-//import NexusII.util.* ;
-
-public class socketWriterThread extends Consumer implements Runnable,consts
-{
- DataOutputStream os_ ;
-
- // new constructor
- // Pass the queue and outstream to the constructor
-
- public socketWriterThread(MT_Bounded_Queue q, DataOutputStream os) {
- // call the super constructor
- super(q);
- os_ = os ;
- }
-
- // This will just override the run method and thats it
- // I want to have my own run !
-
- public void run() {
- // run indefinitely -- i am a daemon anyway
- if(DEBUG) {
- System.out.println("--- This is socketWriterThread --- \n");
- }
- boolean bye_sent = false ;
- while(!bye_sent) {
-
- // read the packet from the queue
- dataPacket packet = (dataPacket) queue_.dq();
- if(DEBUG){
- System.out.println("socketWriterThread: I got something -- \n");
- }
-
- // read length bytes from packet
- int len = packet.contentLength() ;
- if(DEBUG) {
- System.out.println("socketWriterThread: length is " + new Integer(len));
- }
-
-
- int field_len = FIELD_LENGTH ;
-
- // Allocate storage for holding the fields
-
- byte[] packetHeader = new byte[PACKET_HEADER_LENGTH];
- byte[] packetBody = new byte[len] ;
-
- // Fill them
- packet.bytize(packetHeader,packetBody);
-
- // put it on the wire now --
-
- try {
- os_.write(packetHeader,0,PACKET_HEADER_LENGTH);
- }
- catch (IOException e) {
- // do something here
- }
- if(DEBUG){
- System.out.println("I wrote:" + new String(packetHeader,0));
- }
-
- try {
- os_.write(packetBody,0,len);
- }
- catch (IOException e) {
- // do something here
- }
- if(DEBUG){
- System.out.println("I wrote:" + new String(packetBody,0));
- }
- // this is to handle if the user presses disconnect without leaving the
- // room
- if(packet.contentType().equalsIgnoreCase("QUIT"))
- bye_sent = true ;
- // go back to reading the queue now
- }
- // of for(;;)
- }
- // of method run
-
-}
diff --git a/java/apps/NexusII/src/url_to_url.java b/java/apps/NexusII/src/url_to_url.java
deleted file mode 100644
index 0fe08ab6db3..00000000000
--- a/java/apps/NexusII/src/url_to_url.java
+++ /dev/null
@@ -1,33 +0,0 @@
-// This method takes in a url and a prefix name and pulls that url across the
-// network, stores it in a local file named prefix
-
-// for now it assumes that the url is an image only !
-
-import java.net.* ;
-import java.io.* ;
-import java.awt.* ;
-public class url_to_url {
- Image im ;
-
- public url_to_url(URL url,String prefix) {
- try {
- im = (Image)url.getContent();
- } catch (IOException i) {}
- String www_path = System.getProperty("www-path");
- String home_dir = System.getProperty("user.home");
- String dir = home_dir + www_path ;
- System.out.println("web dir is this : " + dir);
-
- }
-
- public static void main(String[] argv) {
- URL test = null ;
- try {
- test = new URL("http://www.cs.wustl.edu/~rajeev/images/sand.jpg");
- } catch ( MalformedURLException e) {}
-
- url_to_url t = new url_to_url(test,"root") ;
-
- }
-
-}
diff --git a/java/apps/NexusII/start b/java/apps/NexusII/start
deleted file mode 100755
index c699c96da60..00000000000
--- a/java/apps/NexusII/start
+++ /dev/null
@@ -1,27 +0,0 @@
-#! /bin/sh
-
-## This is an example script to launch the server.
-
-# the mywebaddress variable should point to a URL which is world-readable
-# the mywebdir variable should point to the actual pathname of the URL
-# which is specified by the mywebaddress variable
-# The server needs to have write access to the mywebdir directory.
-# Thus, the server saves images into the "mywebdir", and clients
-# can access them via the "mywebaddress" URL.
-
-# the 222222 number is the port number on which the server is to be launched
-# the same port number should appear in the html document containing
-# the client applet (see start.html for an example)
-
-# while running the server, the ./classes should be part of the CLASSPATH.
-# while running the client, the client classes as well as the awtCommand
-# toolkit should be world-readable. (The awtcommand toolkit is included
-# in this toolkit, under the classes directory.)
-
-
-umask 022
-java -Dmywebaddress=http://cumbia.cs.wustl.edu/NexusII/tmp/ -Dmywebdir=/project/cumbia/sumedh/web/apache/root/NexusII/tmp/ NexusIIserver 222222
-
-
-
-
diff --git a/java/apps/NexusII/start.html b/java/apps/NexusII/start.html
deleted file mode 100644
index e80bdd13d4b..00000000000
--- a/java/apps/NexusII/start.html
+++ /dev/null
@@ -1,4 +0,0 @@
-<!-- $Id$ -->
-<applet code=NexusClientApplet.class width=550 height=500>
- <param name=serverport value="222222">
-</applet>
diff --git a/java/classes/README.TXT b/java/classes/README.TXT
deleted file mode 100644
index ba771e6615d..00000000000
--- a/java/classes/README.TXT
+++ /dev/null
@@ -1,2 +0,0 @@
-The .class files are not included in the release archive. When properly
-setup and built, a JACE subdirectory will be here.
diff --git a/java/doc/images/GridBagEx.gif b/java/doc/images/GridBagEx.gif
deleted file mode 100644
index 16c326d88ca..00000000000
--- a/java/doc/images/GridBagEx.gif
+++ /dev/null
Binary files differ
diff --git a/java/doc/images/OpenBookIcon.gif b/java/doc/images/OpenBookIcon.gif
deleted file mode 100644
index 86384f7733f..00000000000
--- a/java/doc/images/OpenBookIcon.gif
+++ /dev/null
Binary files differ
diff --git a/java/doc/images/blue-ball-small.gif b/java/doc/images/blue-ball-small.gif
deleted file mode 100644
index d4c5cde5b00..00000000000
--- a/java/doc/images/blue-ball-small.gif
+++ /dev/null
Binary files differ
diff --git a/java/doc/images/blue-ball.gif b/java/doc/images/blue-ball.gif
deleted file mode 100644
index edc29b786ce..00000000000
--- a/java/doc/images/blue-ball.gif
+++ /dev/null
Binary files differ
diff --git a/java/doc/images/class-index.gif b/java/doc/images/class-index.gif
deleted file mode 100644
index 7f276bcb242..00000000000
--- a/java/doc/images/class-index.gif
+++ /dev/null
Binary files differ
diff --git a/java/doc/images/constructor-index.gif b/java/doc/images/constructor-index.gif
deleted file mode 100644
index 435cac42386..00000000000
--- a/java/doc/images/constructor-index.gif
+++ /dev/null
Binary files differ
diff --git a/java/doc/images/constructors.gif b/java/doc/images/constructors.gif
deleted file mode 100644
index d1a6ae507ca..00000000000
--- a/java/doc/images/constructors.gif
+++ /dev/null
Binary files differ
diff --git a/java/doc/images/cyan-ball-small.gif b/java/doc/images/cyan-ball-small.gif
deleted file mode 100644
index 7f74357443a..00000000000
--- a/java/doc/images/cyan-ball-small.gif
+++ /dev/null
Binary files differ
diff --git a/java/doc/images/cyan-ball.gif b/java/doc/images/cyan-ball.gif
deleted file mode 100644
index 97ca1f2b6e3..00000000000
--- a/java/doc/images/cyan-ball.gif
+++ /dev/null
Binary files differ
diff --git a/java/doc/images/error-index.gif b/java/doc/images/error-index.gif
deleted file mode 100644
index 22835ff8c64..00000000000
--- a/java/doc/images/error-index.gif
+++ /dev/null
Binary files differ
diff --git a/java/doc/images/exception-index.gif b/java/doc/images/exception-index.gif
deleted file mode 100644
index e3830d9c52e..00000000000
--- a/java/doc/images/exception-index.gif
+++ /dev/null
Binary files differ
diff --git a/java/doc/images/green-ball-small.gif b/java/doc/images/green-ball-small.gif
deleted file mode 100644
index 17fea5b32bb..00000000000
--- a/java/doc/images/green-ball-small.gif
+++ /dev/null
Binary files differ
diff --git a/java/doc/images/green-ball.gif b/java/doc/images/green-ball.gif
deleted file mode 100644
index 71e1b2ec2db..00000000000
--- a/java/doc/images/green-ball.gif
+++ /dev/null
Binary files differ
diff --git a/java/doc/images/interface-index.gif b/java/doc/images/interface-index.gif
deleted file mode 100644
index bf93dda9e35..00000000000
--- a/java/doc/images/interface-index.gif
+++ /dev/null
Binary files differ
diff --git a/java/doc/images/magenta-ball-small.gif b/java/doc/images/magenta-ball-small.gif
deleted file mode 100644
index bd0584b3c67..00000000000
--- a/java/doc/images/magenta-ball-small.gif
+++ /dev/null
Binary files differ
diff --git a/java/doc/images/magenta-ball.gif b/java/doc/images/magenta-ball.gif
deleted file mode 100644
index 5da03b84d2b..00000000000
--- a/java/doc/images/magenta-ball.gif
+++ /dev/null
Binary files differ
diff --git a/java/doc/images/method-index.gif b/java/doc/images/method-index.gif
deleted file mode 100644
index a05e7051160..00000000000
--- a/java/doc/images/method-index.gif
+++ /dev/null
Binary files differ
diff --git a/java/doc/images/methods.gif b/java/doc/images/methods.gif
deleted file mode 100644
index 949e01b8a33..00000000000
--- a/java/doc/images/methods.gif
+++ /dev/null
Binary files differ
diff --git a/java/doc/images/package-index.gif b/java/doc/images/package-index.gif
deleted file mode 100644
index f894d4210d7..00000000000
--- a/java/doc/images/package-index.gif
+++ /dev/null
Binary files differ
diff --git a/java/doc/images/red-ball-small.gif b/java/doc/images/red-ball-small.gif
deleted file mode 100644
index f6b3c372ca1..00000000000
--- a/java/doc/images/red-ball-small.gif
+++ /dev/null
Binary files differ
diff --git a/java/doc/images/red-ball.gif b/java/doc/images/red-ball.gif
deleted file mode 100644
index dca92960148..00000000000
--- a/java/doc/images/red-ball.gif
+++ /dev/null
Binary files differ
diff --git a/java/doc/images/variable-index.gif b/java/doc/images/variable-index.gif
deleted file mode 100644
index 65cc029e722..00000000000
--- a/java/doc/images/variable-index.gif
+++ /dev/null
Binary files differ
diff --git a/java/doc/images/variables.gif b/java/doc/images/variables.gif
deleted file mode 100644
index e8a735399a6..00000000000
--- a/java/doc/images/variables.gif
+++ /dev/null
Binary files differ
diff --git a/java/doc/images/yellow-ball-small.gif b/java/doc/images/yellow-ball-small.gif
deleted file mode 100644
index 8e5f57cdfcb..00000000000
--- a/java/doc/images/yellow-ball-small.gif
+++ /dev/null
Binary files differ
diff --git a/java/doc/images/yellow-ball.gif b/java/doc/images/yellow-ball.gif
deleted file mode 100644
index 2b8c0bb3d6b..00000000000
--- a/java/doc/images/yellow-ball.gif
+++ /dev/null
Binary files differ
diff --git a/java/examples/Logger/README b/java/examples/Logger/README
deleted file mode 100644
index 1da7dbcbb19..00000000000
--- a/java/examples/Logger/README
+++ /dev/null
@@ -1,29 +0,0 @@
-This directory contains a simple client/server Java implementation of the
-distributed logging server described in several papers in the C++
-Report (which can be obtained via the following WWW URLs:
-http://www.cs.wustl.edu/~schmidt/{Reactor1-93.ps.gz,Reactor2-93.ps.gz}).
-
-The example consists of the following two directories:
-
- . client
- NOT YET CONVERTED
- This program talks directly to the server logging
- daemon. The server daemon must be started before you
- can run this test.
-
- . simple-server
-
- This program runs a simple
- implementation of the
- distributed logging server daemon. It also contains
- code for a simple client as well.
-
- . Acceptor-server
- NOT YET CONVERTED
- This program runs templated, Acceptor-based
- single-threaded Reactive implementation of the
- distributed logging server daemon.
-
-The server implemented in "simple" is completely compatible with the
-client defined in the C++ version of ACE.
-
diff --git a/java/examples/Logger/simple-server/LogRecord.java b/java/examples/Logger/simple-server/LogRecord.java
deleted file mode 100644
index e29ed6e32b9..00000000000
--- a/java/examples/Logger/simple-server/LogRecord.java
+++ /dev/null
@@ -1,145 +0,0 @@
-/**
- * Class used to communicate logging information; compatible with
- * the C++ ACE ACE_Log_Record class.
- *
- * @author Chris Cleeland
- */
-
-//package ACE.SimpleLogger;
-
-import java.util.Date;
-import java.io.DataOutputStream;
-import java.io.DataInputStream;
-import java.io.PrintStream;
-import java.io.IOException;
-
-public class LogRecord
-{
- final public static int MAXLOGMSGLEN = 4 * 1024;
-
- private int type_;
- private int length_;
- private int timeStamp_;
- private int pid_;
- private byte[] msgData_ = new byte[MAXLOGMSGLEN];
- private final static int numIntMembers = 4;
- private final static int sizeofIntInBytes = 4;
-
- /**
- * Create a default instance.
- */
- public LogRecord()
- {
- this(0, (int) ((new Date()).getTime()/1000), 0);
- }
-
- /**
- * Create a LogRecord. This is the designated initializer.
- * @param priority a numeric specification of the priority (ascending)
- * @param time_stamp time attached to the log entry in Unix <pre>time_t</pre> format
- * @param pid the process ID; not currently used
- */
- public LogRecord(int priority,
- int timeStamp,
- int pid)
- {
- type(priority);
- timeStamp(timeStamp);
- length(0);
- pid(pid);
- }
-
- /**
- * Conversion to string. Only includes the <pre>msgData_</pre> member.
- */
- public String toString()
- {
- return new String(msgData_, 0);
- }
-
- /**
- * Place a textual representation of the record on a PrintStream.
- * @param hostname name of the host generating this record
- * @param verbose if <b>true</b>, print information in the form, (give example)
- * @param ps A PrintStream instance to which the output should go.
- * @see PrintStream,String
- */
- public void print(String hostname,
- boolean verbose,
- PrintStream ps)
- {
- String toprint;
- if (verbose)
- {
- long cur = (long)timeStamp() * (long)1000;
- Date now = new Date(cur);
-
- /* 01234567890123456789012345 */
- /* Wed Oct 18 14:25:36 1989n0 */
- toprint = now.toString().substring(4) + "@"
- + hostname + "@" + pid_ + "@" + type_ + "@"
- + this.toString();
- }
- else
- {
- toprint = this.toString();
- }
- ps.println(toprint);
- }
-
- /**
- * Streaming methods
- */
- public void streamInFrom(DataInputStream dis) throws IOException
- {
- // Order here must match layout order in the C++ class.
- // This, of course, is VERY fragile, and ought not be used as
- // a model for anything except how NOT to do anything.
- type(dis.readInt());
- length(dis.readInt());
- timeStamp(dis.readInt());
- pid(dis.readInt());
-
- // Does readFully() allocate space for the buffer? Either
- // way, we won't have memory leaks :-)
- int dataLength = (int) (length_ - numIntMembers * sizeofIntInBytes);
- msgData_ = new byte[dataLength];
- dis.readFully(msgData_, 0, dataLength);
- }
-
- public void streamOutTo(DataOutputStream dos) throws IOException
- {
- dos.writeInt(type());
- dos.writeInt(length());
- dos.writeInt(timeStamp());
- dos.writeInt(pid());
- int dataLength = (int) (length_ - numIntMembers * sizeofIntInBytes);
- dos.write(msgData_, 0, dataLength);
- }
-
- /**
- * Accessor methods
- */
- public int type() { return type_; }
- public void type(int t) { type_ = t; }
-
- public int length() { return length_; }
- public void length(int l) { length_ = l; }
- private void setLen(int msgLen)
- { length(msgLen + numIntMembers * sizeofIntInBytes); }
-
- public int timeStamp() { return timeStamp_; }
- public void timeStamp(int t){ timeStamp_ = t; }
-
- public int pid() { return pid_; }
- public void pid(int p) { pid_ = p; }
-
- public byte[] msgData() { return msgData_; }
- public void msgData(byte[] m){ msgData_ = m; setLen(m.length); }
- public void msgData(String m)
- {
- m.getBytes(0, m.length(), msgData_, 0);
- setLen(m.length());
- }
-};
-
diff --git a/java/examples/Logger/simple-server/LoggerConstants.java b/java/examples/Logger/simple-server/LoggerConstants.java
deleted file mode 100644
index db62d2fff6e..00000000000
--- a/java/examples/Logger/simple-server/LoggerConstants.java
+++ /dev/null
@@ -1,7 +0,0 @@
-// package ACE.Logger;
-
-public class LoggerConstants
-{
- final public static int DEFAULT_SERVER_PORT = 4000;
- final public static String DEFAULT_SERVER_HOSTNAME = "localhost";
-}
diff --git a/java/examples/Logger/simple-server/LoggingAcceptor.java b/java/examples/Logger/simple-server/LoggingAcceptor.java
deleted file mode 100644
index 7925e3d5a15..00000000000
--- a/java/examples/Logger/simple-server/LoggingAcceptor.java
+++ /dev/null
@@ -1,33 +0,0 @@
-//package ACE.SimpleLogger;
-
-import JACE.SOCK_SAP.*;
-import java.io.IOException;
-
-public class LoggingAcceptor extends Thread
-{
- private SOCKAcceptor peerAcceptor_;
-
- public LoggingAcceptor(int port) throws IOException
- {
- peerAcceptor_ = new SOCKAcceptor(port);
- this.setName("LoggingAcceptor");
- System.err.println("Waiting for connection on port " +
- port);
- }
-
- public void run()
- {
- try
- {
- while (true)
- {
- LoggingHandler handler = new LoggingHandler();
- peerAcceptor_.accept(handler.stream());
- handler.open();
- }
- }
- catch (IOException e)
- {
- }
- }
-};
diff --git a/java/examples/Logger/simple-server/LoggingClient.java b/java/examples/Logger/simple-server/LoggingClient.java
deleted file mode 100644
index e6ea986c011..00000000000
--- a/java/examples/Logger/simple-server/LoggingClient.java
+++ /dev/null
@@ -1,108 +0,0 @@
-/**
- * Main class that acts as an example logging client.
- */
-
-import java.io.*;
-import java.net.*;
-import JACE.SOCK_SAP.*;
-import LogRecord;
-import LoggerConstants;
-
-public class LoggingClient implements Runnable
-{
- private String loggerHost_;
- private int port_;
- private int maxIter_;
- private static final int DEFAULT_ITERATIONS = 10;
-
- public static void main(String[] args)
- {
- // Really need to put code in here to parse options
- int iter;
- int port;
- String host;
-
- iter = (args.length > 0) ? Integer.parseInt(args[0])
- : DEFAULT_ITERATIONS;
- port = (args.length > 1) ? Integer.parseInt(args[1])
- : LoggerConstants.DEFAULT_SERVER_PORT;
- host = (args.length > 2) ? args[2]
- : LoggerConstants.DEFAULT_SERVER_HOSTNAME;
-
- LoggingClient lc = new LoggingClient(iter, port, host);
- lc.run();
- }
-
- public LoggingClient()
- {
-
- this(DEFAULT_ITERATIONS,
- LoggerConstants.DEFAULT_SERVER_PORT,
- LoggerConstants.DEFAULT_SERVER_HOSTNAME);
- }
-
- public LoggingClient(int iterations, int thePort, String theHost)
- {
- maxIter_ = iterations;
- port_ = thePort;
- loggerHost_ = theHost;
- }
-
- public void run()
- {
- SOCKStream logger = new SOCKStream();
- SOCKConnector connector = new SOCKConnector();
- // INETAddr addr = new INETAddr(port_, loggerHost_);
-
- LogRecord rec = new LogRecord(9, 2, 0);
-
- try
- {
- connector.connect(logger, loggerHost_, port_);
-
- int oneSecond = 1000;
- // Currently SOCKStream uses DataInputStream for its input stream,
- // and PrintStream for its output stream. It probably ought to use
- // DataOutputStream for the output stream for symmetry, or at least
- // provide a mechanism for changing the type of the filter stream
- // used (which might be better in the long run...give it the class
- // id).
- BufferedOutputStream bos = new BufferedOutputStream((OutputStream) logger.outputStream(), LogRecord.MAXLOGMSGLEN);
- DataOutputStream dos = new DataOutputStream(bos);
-
- for (int i = 0; i < maxIter_; i++)
- {
- // Need to overload LogRecord.msgData to take a String
- // argument so that it's easy to create instances with text
- // inside.
- rec.msgData("message = " + i);
- try
- {
- dos.writeInt(rec.length());
- rec.streamOutTo(dos);
- bos.flush();
- rec.print("localhost", true, System.err);
- }
- catch (IOException ex) { }
-
- try
- {
- Thread.sleep(oneSecond);
- }
- catch (InterruptedException ex) { }
- }
-
- try { logger.close(); } catch (IOException ex) { }
-
- }
- catch (SocketException ex)
- {
- System.err.println("socket exception: " + ex);
- }
- catch (IOException ex)
- {
- System.err.println("io exception: " + ex);
- }
-
- }
-}
diff --git a/java/examples/Logger/simple-server/LoggingHandler.java b/java/examples/Logger/simple-server/LoggingHandler.java
deleted file mode 100644
index aeffc991ac3..00000000000
--- a/java/examples/Logger/simple-server/LoggingHandler.java
+++ /dev/null
@@ -1,121 +0,0 @@
-/*************************************************
- *
- *@author Chris Cleeland
- *
- * What we really need to define is a run() (or whatever
- * the Thread class has as its method to execute code), and
- * have that do the usual delegated work of handle_input.
- * We also need to figure out the best place to close the
- * the socket, which probably ISN'T the finalizer.
- *
- *************************************************/
-
-//package ACE.SimpleLogger;
-
-import JACE.SOCK_SAP.*;
-import java.util.*;
-import java.io.*;
-
-// Should this extend or simply be handed to a Thread instance to
-// be run?
-public class LoggingHandler extends Thread
-{
- private SOCKStream cliStream_;
-
- /**
- * Create a default Logging Handler
- */
- public LoggingHandler()
- {
- this(new SOCKStream());
- }
-
- /**
- * Create a LoggingHandler with an existing stream
- */
- public LoggingHandler(SOCKStream aStream)
- {
- cliStream_ = aStream;
- setName();
- }
-
- private void setName()
- {
- int portnum = ((cliStream_.socket() == null)
- ? 0
- : cliStream_.socket().getLocalPort());
- this.setName("LoggingHandler#" + portnum);
- }
-
- /**
- * Start
- */
- public void open()
- {
- this.start();
- }
-
- /**
- */
- public SOCKStream stream()
- {
- return cliStream_;
- }
-
- /**
- * Handle logging events
- */
- public void run()
- {
- DataInputStream dis = (DataInputStream) cliStream_.inputStream();
-
- for (;;)
- {
- // Messages arrive in the following format:
- // o 4 byte length (network format)
- // o message, in ACE.LogRecord format
- //
- // Hey! We need exception catching in here too!
- try
- {
- // Reconstitute a log message from the wire
- LogRecord rec = new LogRecord();
-
- // We don't really need this, because
- // the object already knows how to
- // extract itself properly. However,
- // in order to interoperate with the
- // C++ version, this must be extracted.
- // Plus, it makes a convenient way to
- // check everything.
- int length = dis.readInt();
-
- rec.streamInFrom(dis);
-
- if (rec.length() == length)
- {
- rec.print(cliStream_.socket().getInetAddress().getHostName(),
- true, System.out);
- System.out.flush();
- }
- else
- {
- System.err.println("Logging_Handler: Length error receiving logging message\n");
- }
- }
- catch (EOFException eof)
- {
- System.err.println(Thread.currentThread().getName()
- + ": end-of-file condition found; terminating.");
- try { cliStream_.close(); } catch (IOException n) { }
- this.stop();
- }
- catch (IOException ioe)
- {
- System.err.println(Thread.currentThread().getName()
- + ": IOException received -- "
- + ioe.getMessage());
- }
- }
- }
-};
diff --git a/java/examples/Logger/simple-server/Makefile b/java/examples/Logger/simple-server/Makefile
deleted file mode 100644
index 5be1b0d048e..00000000000
--- a/java/examples/Logger/simple-server/Makefile
+++ /dev/null
@@ -1,34 +0,0 @@
-.SUFFIXES: .java .class
-
-CLASSDIR = .
-DOCDIR = .
-
-JC = javac_g
-JCOPTS = -g -d $(CLASSDIR)
-JD = javadoc
-JDOPTS = -d $(DOCDIR)
-
-COMPILE.java = $(JC) $(JCOPTS) $<
-DOCCOMP.java = $(JD) $(JDOPTS) $<
-
-CLASSPATH := $(CLASSDIR):$(CLASSPATH)
-
-CLASSES = LoggerConstants LogRecord LoggingHandler \
- LoggingAcceptor SimpleLogger LoggingClient
-CLASSFILES = $(addsuffix .class,$(CLASSES))
-DOCFILES = $(addsuffix .html,$(CLASSES))
-
-%.class: %.java
- $(COMPILE.java)
-
-%.html: %.java
- $(DOCCOMP.java)
-
-all: classes doc
-
-classes: $(CLASSFILES)
-doc: $(DOCFILES)
-
-clean:
- $(RM) *~ $(CLASSFILES) $(DOCFILES)
-
diff --git a/java/examples/Logger/simple-server/README b/java/examples/Logger/simple-server/README
deleted file mode 100644
index 90393c1aae8..00000000000
--- a/java/examples/Logger/simple-server/README
+++ /dev/null
@@ -1,25 +0,0 @@
-======
-BASICS
-======
-
-This directory contains both the client (LoggingClient.java) and the
-server (SimpleLogger.java). To compile, use GNU make with no specific
-target.
-
-To execute, use "java <classname>" where <classname> is from the
-following table:
-
- Application <classname>
- ===========================================
- client LoggingClient
- server SimpleLogger
-
-
-==============
-KNOWN PROBLEMS
-==============
-
-Interoperability between the C++ client and the Java server
-implementation is fine. Interoperability between the C++ server and
-the Java client seems to work right now. See the CVS information on
-LoggingClient.java for details.
diff --git a/java/examples/Logger/simple-server/SimpleLogger.java b/java/examples/Logger/simple-server/SimpleLogger.java
deleted file mode 100644
index f562689e283..00000000000
--- a/java/examples/Logger/simple-server/SimpleLogger.java
+++ /dev/null
@@ -1,44 +0,0 @@
-//package ACE.SimpleLogger;
-
-import java.io.IOException;
-
-class SimpleLogger implements Runnable
-{
- private LoggingAcceptor la;
- private int port;
-
- public static void main(String[] args)
- {
- SimpleLogger sl = new SimpleLogger();
- sl.run();
- }
-
- public SimpleLogger()
- {
- this(LoggerConstants.DEFAULT_SERVER_PORT);
- }
-
- public SimpleLogger(int port)
- {
- try
- {
- la = new LoggingAcceptor(port);
- }
- catch (IOException ioe)
- {
- System.err.println("SimpleLogger: unable to create LoggingAcceptor ("
- + ioe.getMessage() + ")");
- }
- }
-
- public void run()
- {
- la.run();
- try
- {
- la.join();
- }
- catch (InterruptedException ie)
- { }
- }
-};
diff --git a/java/gjt/Assert.java b/java/gjt/Assert.java
deleted file mode 100644
index b704be9ff3c..00000000000
--- a/java/gjt/Assert.java
+++ /dev/null
@@ -1,33 +0,0 @@
-package gjt;
-
-/**
- * A simple assertion mechanism for asserting validity of
- * arguments.<p>
- *
- * @version 1.0, Apr 1 1996
- * @author David Geary
- */
-public class Assert {
- static public void notFalse(boolean b)
- throws IllegalArgumentException {
- if(b == false)
- throw new IllegalArgumentException(
- "boolean expression false");
- }
- static public void notNull(Object obj)
- throws IllegalArgumentException {
- if(obj == null)
- throw new IllegalArgumentException("null argument");
- }
-
- static public void notFalse(boolean b, String s)
- throws IllegalArgumentException {
- if(b == false)
- throw new IllegalArgumentException(s);
- }
- static public void notNull(Object obj, String s)
- throws IllegalArgumentException {
- if(obj == null)
- throw new IllegalArgumentException(s);
- }
-}
diff --git a/java/gjt/Bargauge.java b/java/gjt/Bargauge.java
deleted file mode 100644
index 27be8afad7b..00000000000
--- a/java/gjt/Bargauge.java
+++ /dev/null
@@ -1,80 +0,0 @@
-package gjt;
-
-import java.awt.*;
-
-/**
- * A bargauge which can be filled (wholly or partially) with a
- * client-specified color. Fill color is specified at
- * construction time; both fill color and fill percent may be
- * set after construction time.<p>
- *
- * @version 1.0, Apr 1 1996
- * @author David Geary
- * @see ThreeDRectangle
- * @see gjt.test.BargaugeTest
- */
-public class Bargauge extends Canvas {
- private double percentFill = 0;
- private ThreeDRectangle border = new ThreeDRectangle(this);
- private Color fillColor;
-
- public Bargauge(Color fillColor) {
- setFillColor(fillColor);
- }
- public void setFillColor(Color fillColor) {
- this.fillColor = fillColor;
- }
- public void setFillPercent(double percentage) {
- Assert.notFalse(percentage >= 0 && percentage <= 100);
- percentFill = percentage;
- }
- public void resize(int w, int h) {
- reshape(location().x, location().y, w, h);
- }
- public void reshape(int x, int y, int w, int h) {
- super.reshape(x,y,w,h);
- border.resize(w,h);
- }
- public Dimension minimumSize() { return preferredSize(); }
-
- public Dimension preferredSize() {
- int w = border.getThickness() * 3;
- return new Dimension(w, w*4);
- }
- public void paint(Graphics g) {
- border.raise();
- border.paint();
- fill();
- }
- public void fill() {
- Graphics g = getGraphics();
-
- if((g != null) && (percentFill > 0)) {
- Rectangle b = border.getInnerBounds();
- int fillw = b.width;
- int fillh = b.height;
-
- if(b.width > b.height) fillw *= percentFill/100;
- else fillh *= percentFill/100;
-
- g.setColor(fillColor);
- border.clearInterior();
-
- if(b.width > b.height)
- g.fillRect(b.x, b.y, fillw, b.height);
- else
- g.fillRect(b.x, b.y + b.height - fillh,
- b.width, fillh);
- }
- }
- protected String paramString() {
- Dimension size = size();
- Orientation orient = size.width > size.height ?
- Orientation.HORIZONTAL :
- Orientation.VERTICAL;
- String str = "fill percent=" + percentFill + "," +
- "orientation=" + orient + "," +
- "color" + fillColor;
- return str;
- }
-}
diff --git a/java/gjt/Border.java b/java/gjt/Border.java
deleted file mode 100644
index ba80ef2e76a..00000000000
--- a/java/gjt/Border.java
+++ /dev/null
@@ -1,105 +0,0 @@
-package gjt;
-
-import java.awt.*;
-
-/**
- * A panel containing a single component, around which a border
- * is drawn. Of course, the single component may be a
- * container which may contain other components, so a Border
- * can surround multiple components.<p>
- *
- * Thickness of the border, and the gap between the Component
- * and the border are specified at time of construction.
- * Default border thickness is 2 - default gap is 0.<p>
- *
- * Border color may be set via setLineColor(Color).<p>
- *
- * Border employs a DrawnRectangle to paint the border. Derived
- * classes are free to override DrawnRectangle border() if they
- * wish to use an extension of DrawnRectangle for drawing their
- * border.<p>
- *
- * The following code snippet, from gjt.test.BorderTest creates
- * and AWT Button, and embeds the button in a border. That
- * border is then embedded in another border. The AWT Button
- * winds up inside of a cyan border with a pixel width of 7,
- * inside of a black border (pixel width 2):<p>
- *
- * <pre>
- * private Border makeBorderedAWTButton() {
- * Button button;
- * Border cyanBorder, blackBorder;
- *
- * button = new Button("Button Inside Two Borders");
- * cyanBorder = new Border(button, 7);
- * cyanBorder.setLineColor(Color.cyan);
- *
- * blackBorder = new Border(cyanBorder);
- *
- * return blackBorder;
- * }
- *</pre>
- *
- * @version 1.0, Apr 1 1996
- * @author David Geary
- * @see DrawnRectangle
- * @see ThreeDBorder
- * @see EtchedBorder
- * @see gjt.test.BorderTest
- */
-public class Border extends Panel {
- protected int thickness;
- protected int gap;
- protected DrawnRectangle border;
-
- protected static int _defaultThickness = 2;
- protected static int _defaultGap = 0;
-
- public Border(Component borderMe) {
- this(borderMe, _defaultThickness, _defaultGap);
- }
- public Border(Component borderMe, int thickness) {
- this(borderMe, thickness, _defaultGap);
- }
- public Border(Component borderMe, int thickness, int gap) {
- this.thickness = thickness;
- this.gap = gap;
-
- setLayout(new BorderLayout());
- add("Center", borderMe);
- }
- public Insets insets() {
- return new Insets(thickness+gap, thickness+gap,
- thickness+gap, thickness+gap);
- }
- public Rectangle getInnerBounds() {
- return border().getInnerBounds();
- }
- public void setLineColor(Color c) {
- border().setLineColor(c);
- }
- public Color getLineColor() {
- return border().getLineColor();
- }
- public void paint(Graphics g) {
- border().paint();
- }
- public void resize(int w, int h) {
- Point location = location();
- reshape(location.x, location.y, w, h);
- }
- public void reshape(int x, int y, int w, int h) {
- super.reshape(x, y, w, h);
- border().resize(w, h);
- }
- protected String paramString() {
- return super.paramString() + ",border=" +
- border().toString() + ",thickness=" + thickness
- + ",gap=" + gap;
- }
- protected DrawnRectangle border() {
- if(border == null)
- border = new DrawnRectangle(this, thickness);
- return border;
- }
-}
diff --git a/java/gjt/Box.java b/java/gjt/Box.java
deleted file mode 100644
index 8feda366942..00000000000
--- a/java/gjt/Box.java
+++ /dev/null
@@ -1,81 +0,0 @@
-package gjt;
-
-import java.awt.*;
-
-/**
- * A Panel containing a single component; an etched rectangle is
- * drawn around the component, and a Label is centered at the top
- * of the rectangle. Of course, the single component may be
- * a container, and therefore a Box may surround many components.
- * <p>
- *
- * Both the Component around which the box is drawn, and the
- * String drawn at the top of the box are specified at
- * construction time.<p>
- *
- * Etching of the box is controlled by etchedIn() and
- * etchedOut(). Default etching is etched in.<p>
- *
- * <em>Note: AWT 1.0.2 contains a bug which causes the
- * Label.CENTER argument of the Label created for the title
- * to be ignored, under Win95. Therefore, under Win95, the
- * title will be off-center.</em><p>
- *
- * @version 1.0, Apr 1 1996
- * @author David Geary
- * @see EtchedRectangle
- * @see gjt.test.BoxTest
- */
-public class Box extends Panel {
- private EtchedRectangle box = new EtchedRectangle(this);
- private Label titleLabel;
-
- public Box(Component surrounded, String title) {
- this(surrounded, new Label(title, Label.CENTER));
- }
- public Box(Component surrounded, Label label) {
- Assert.notNull(surrounded);
- Assert.notNull(label);
-
- titleLabel = label;
-
- GridBagLayout gbl = new GridBagLayout();
- GridBagConstraints gbc = new GridBagConstraints();
-
- setLayout(gbl);
- gbc.gridwidth = GridBagConstraints.REMAINDER;
- gbc.anchor = GridBagConstraints.NORTH;
- gbl.setConstraints(titleLabel, gbc);
- add(titleLabel);
-
- gbc.insets = new Insets(0,10,10,10);
- gbc.anchor = GridBagConstraints.CENTER;
- gbc.weighty = 1.0;
- gbc.weightx = 1.0;
- gbc.fill = GridBagConstraints.BOTH;
- gbl.setConstraints(surrounded,gbc);
- add(surrounded);
- }
- public void etchedIn () { box.etchedIn (); }
- public void etchedOut() { box.etchedOut(); }
- public void paint (Graphics g) { box.paint(); }
-
- public void resize(int w, int h) {
- reshape(location().x, location().y, w, h);
- }
- public void reshape(int x, int y, int w, int h) {
- super.reshape(x,y,w,h);
-
- FontMetrics fm = titleLabel.getFontMetrics(
- titleLabel.getFont());
- int top = insets().top + fm.getAscent();
- Dimension size = size();
-
- box.reshape(0, top, size.width-1, size.height-top-1);
- }
- protected String paramString() {
- return super.paramString() + ",etching=" +
- (box.isEtchedIn() ? Etching.IN : Etching.OUT) +
- ",title=" + titleLabel;
- }
-}
diff --git a/java/gjt/BulletinLayout.java b/java/gjt/BulletinLayout.java
deleted file mode 100644
index 848a280de03..00000000000
--- a/java/gjt/BulletinLayout.java
+++ /dev/null
@@ -1,100 +0,0 @@
-package gjt;
-
-import java.awt.*;
-
-/**
- * Lays out components as though they were pinned to
- * a bulletin board.<p>
- *
- * Components are simply reshaped to their location and their
- * preferred size. BulletinLayout is preferrable to setting
- * a container's layout manager to null and explicitly positioning
- * and sizing components.<p>
- *
- * @version 1.0, Apr 1 1996
- * @author David Geary
- */
-public class BulletinLayout implements LayoutManager {
- public BulletinLayout() {
- }
- public void addLayoutComponent(String name, Component comp) {
- }
- public void removeLayoutComponent(Component comp) {
- }
- public Dimension preferredLayoutSize(Container target) {
- Insets insets = target.insets();
- Dimension dim = new Dimension(0,0);
- int ncomponents = target.countComponents();
- Component comp;
- Dimension d;
- Rectangle preferredBounds = new Rectangle(0,0);
- Rectangle compPreferredBounds;
-
- for (int i = 0 ; i < ncomponents ; i++) {
- comp = target.getComponent(i);
-
- if(comp.isVisible()) {
- d = comp.preferredSize();
- compPreferredBounds =
- new Rectangle(comp.location());
- compPreferredBounds.width = d.width;
- compPreferredBounds.height = d.height;
-
- preferredBounds =
- preferredBounds.union(compPreferredBounds);
- }
- }
- dim.width += insets.left + insets.right;
- dim.height += insets.top + insets.bottom;
-
- return dim;
- }
- public Dimension minimumLayoutSize(Container target) {
- Insets insets = target.insets();
- Dimension dim = new Dimension(0,0);
- int ncomponents = target.countComponents();
- Component comp;
- Dimension d;
- Rectangle minimumBounds = new Rectangle(0,0);
- Rectangle compMinimumBounds;
-
- for (int i = 0 ; i < ncomponents ; i++) {
- comp = target.getComponent(i);
-
- if(comp.isVisible()) {
- d = comp.minimumSize();
- compMinimumBounds =
- new Rectangle(comp.location());
- compMinimumBounds.width = d.width;
- compMinimumBounds.height = d.height;
-
- minimumBounds =
- minimumBounds.union(compMinimumBounds);
- }
- }
- dim.width += insets.left + insets.right;
- dim.height += insets.top + insets.bottom;
-
- return dim;
- }
- public void layoutContainer(Container target) {
- Insets insets = target.insets();
- int ncomponents = target.countComponents();
- Component comp;
- Dimension ps;
- Point loc;
-
- for (int i = 0 ; i < ncomponents ; i++) {
- comp = target.getComponent(i);
-
- if(comp.isVisible()) {
- ps = comp.preferredSize();
- loc = comp.location();
-
- comp.reshape(insets.left + loc.x,
- insets.top + loc.y,
- ps.width, ps.height);
- }
- }
- }
-}
diff --git a/java/gjt/ButtonPanel.java b/java/gjt/ButtonPanel.java
deleted file mode 100644
index 6fc72ecaab2..00000000000
--- a/java/gjt/ButtonPanel.java
+++ /dev/null
@@ -1,51 +0,0 @@
-package gjt;
-
-import java.awt.*;
-
-/**
- * Button panel employs a BorderLayout to lay out a Separator in
- * the north, and a Panel to which Buttons are added in the
- * center.<p>
- *
- * Buttons may be added to the panel via two methods:
- * <dl>
- * <dd> void add(Button)
- * <dd> Button add(String)
- * </dl>
- * <p>
- *
- * Button add(String) creates a Button and adds it to the
- * panel, then returns the Button created, as a convenience to
- * clients so that they do not have to go through the pain
- * and agony of creating an ImageButton.<p>
- *
- * @version 1.0, Apr 1 1996
- * @author David Geary
- * @see MessageDialog
- * @see QuestionDialog
- * @see YesNoDialog
- * @see gjt.test.DialogTest
- * @see gjt.test.ComponentScrollerTest
- */
-public class ButtonPanel extends Panel {
- Panel buttonPanel = new Panel();
- Separator separator = new Separator();
-
- public ButtonPanel() {
- setLayout(new BorderLayout(0,5));
- add("North", separator);
- add("Center", buttonPanel);
- }
- public void add(Button button) {
- buttonPanel.add(button);
- }
- public Button add(String buttonLabel) {
- Button addMe = new Button(buttonLabel);
- buttonPanel.add(addMe);
- return addMe;
- }
- protected String paramString() {
- return super.paramString() + "buttons=" +
- countComponents();
- }
-}
diff --git a/java/gjt/CardPanel.java b/java/gjt/CardPanel.java
deleted file mode 100644
index c2ab1a9033c..00000000000
--- a/java/gjt/CardPanel.java
+++ /dev/null
@@ -1,48 +0,0 @@
-package gjt;
-
-import java.awt.*;
-
-/**
- * CardPanel employs a BorderLayout to lay out North and Center
- * panels; extensions of CardPanel must implement
- * Component viewSelector(). The component returned from
- * Component viewSelector() is centered in the North panel, and
- * should contain UI controls that allow selection of the
- * component to be displayed in the Center panel.<p>
- *
- * @version 1.0, Apr 1 1996
- * @author David Geary
- * @see IconCardPanel
- * @see ChoiceCardPanel
- * @see gjt.test.ChoiceCardPanelTest
- * @see gjt.test.IconCardPanelTest
- */
-public abstract class CardPanel extends Panel {
- private Panel north, center;
- private CardLayout cards;
-
- abstract public Component viewSelector();
-
- public CardPanel() {
- center = new Panel();
- north = new Panel();
-
- setLayout(new BorderLayout());
- center.setLayout(cards = new CardLayout());
- north.setLayout (new BorderLayout());
-
- add("North", north);
- add("Center", center);
- }
- public void addNotify() {
- super.addNotify();
- north.add("Center", viewSelector());
- north.add("South", new Separator());
- }
- protected void addView(String name, Component component) {
- center.add(name, component);
- }
- protected void showView(String name) {
- cards.show(center, name);
- }
-}
diff --git a/java/gjt/ChoiceCardPanel.java b/java/gjt/ChoiceCardPanel.java
deleted file mode 100644
index 6273e03a5aa..00000000000
--- a/java/gjt/ChoiceCardPanel.java
+++ /dev/null
@@ -1,53 +0,0 @@
-package gjt;
-
-import java.awt.*;
-
-/**
- * ChoiceCardPanel is an extension of CardPanel which presents
- * an awt.Choice for selecting the panel to be displayed
- * in the center panel.<p>
- *
- * @version 1.0, Apr 1 1996
- * @author David Geary
- * @see CardPanel
- * @see IconCardPanel
- * @see gjt.test.IconCardPanelTest
- * @see gjt.test.ChoiceCardPanelTest
- */
-public class ChoiceCardPanel extends CardPanel {
- private ChoiceViewSelector viewSelector;
-
- public ChoiceCardPanel() {
- viewSelector = new ChoiceViewSelector(this);
- }
- public Component viewSelector() {
- return viewSelector;
- }
- public void addChoice(String name,
- Component component) {
- viewSelector.addItem(name);
- super.addView(name, component);
- }
-}
-
-class ChoiceViewSelector extends Panel {
- private ChoiceCardPanel mvp;
- private Choice choice;
-
- public ChoiceViewSelector(ChoiceCardPanel panel) {
- setLayout(new FlowLayout());
- add(choice = new Choice());
- mvp = panel;
- }
- public void addItem(String name) {
- choice.addItem(name);
- }
- public boolean handleEvent(Event event) {
- if(event.id == Event.ACTION_EVENT) {
- if(event.target instanceof Choice) {
- mvp.showView(choice.getSelectedItem());
- }
- }
- return super.handleEvent(event);
- }
-}
diff --git a/java/gjt/ColumnLayout.java b/java/gjt/ColumnLayout.java
deleted file mode 100644
index bc51b44e456..00000000000
--- a/java/gjt/ColumnLayout.java
+++ /dev/null
@@ -1,154 +0,0 @@
-package gjt;
-
-import java.awt.*;
-
-/**
- * ColumnLayout lays out components in a column. At
- * construction time, both horizontal orientation and vertical
- * orientation may be specified, along with the gap to use
- * between components.<p>
- *
- * Horizontal orientation must be one of the following:
- * <dl>
- * <dd> LEFT
- * <dd> CENTER
- * <dd> RIGHT
- * </dl>
- *
- * Vertical orientation must be one of the following:
- * <dl>
- * <dd> TOP
- * <dd> CENTER
- * <dd> BOTTOM
- * </dl>
- *
- * @version 1.0, Apr 1 1996
- * @author David Geary
- * @see Orientation
- * @see RowLayout
- */
-public class ColumnLayout implements LayoutManager {
- static private int _defaultGap = 5;
-
- private int gap;
- private Orientation horizontalOrientation;
- private Orientation verticalOrientation;
-
- public ColumnLayout() {
- this(Orientation.CENTER,
- Orientation.CENTER, _defaultGap);
- }
- public ColumnLayout(int gap) {
- this(Orientation.CENTER, Orientation.CENTER, gap);
- }
- public ColumnLayout(Orientation horizontalOrient,
- Orientation verticalOrient) {
- this(horizontalOrient, verticalOrient, _defaultGap);
- }
- public ColumnLayout(Orientation horizontalOrient,
- Orientation verticalOrient, int gap) {
- Assert.notFalse(gap >= 0);
- Assert.notFalse(
- horizontalOrient == Orientation.LEFT ||
- horizontalOrient == Orientation.CENTER ||
- horizontalOrient == Orientation.RIGHT);
- Assert.notFalse(
- verticalOrient == Orientation.TOP ||
- verticalOrient == Orientation.CENTER ||
- verticalOrient == Orientation.BOTTOM);
-
- this.gap = gap;
- this.verticalOrientation = verticalOrient;
- this.horizontalOrientation = horizontalOrient;
- }
-
- public void addLayoutComponent(String name,
- Component comp) {
- }
- public void removeLayoutComponent(Component comp) {
- }
-
- public Dimension preferredLayoutSize(Container target) {
- Insets insets = target.insets();
- Dimension dim = new Dimension(0,0);
- int ncomponents = target.countComponents();
- Component comp;
- Dimension d;
-
- for (int i = 0 ; i < ncomponents ; i++) {
- comp = target.getComponent(i);
-
- if(comp.isVisible()) {
- d = comp.preferredSize();
- if(i > 0)
- dim.height += gap;
-
- dim.height += d.height;
- dim.width = Math.max(d.width, dim.width);
- }
- }
- dim.width += insets.left + insets.right;
- dim.height += insets.top + insets.bottom;
- return dim;
- }
- public Dimension minimumLayoutSize(Container target) {
- Insets insets = target.insets();
- Dimension dim = new Dimension(0,0);
- int ncomponents = target.countComponents();
- Component comp;
- Dimension d;
-
- for (int i = 0 ; i < ncomponents ; i++) {
- comp = target.getComponent(i);
-
- if(comp.isVisible()) {
- d = comp.minimumSize();
-
- dim.width = Math.max(d.width, dim.width);
- dim.height += d.height;
-
- if(i > 0) dim.height += gap;
- }
- }
- dim.width += insets.left + insets.right;
- dim.height += insets.top + insets.bottom;
-
- return dim;
- }
- public void layoutContainer(Container target) {
- Insets insets = target.insets();
- int top = insets.top;
- int left = 0;
- int ncomponents = target.countComponents();
- Dimension preferredSize = target.preferredSize();
- Dimension targetSize = target.size();
- Component comp;
- Dimension ps;
-
- if(verticalOrientation == Orientation.CENTER)
- top += (targetSize.height/2) -
- (preferredSize.height/2);
- else if(verticalOrientation == Orientation.BOTTOM)
- top = targetSize.height - preferredSize.height +
- insets.top;
-
- for (int i = 0 ; i < ncomponents ; i++) {
- comp = target.getComponent(i);
- left = insets.left;
-
- if(comp.isVisible()) {
- ps = comp.preferredSize();
-
- if(horizontalOrientation == Orientation.CENTER)
- left = (targetSize.width/2) - (ps.width/2);
- else if(
- horizontalOrientation == Orientation.RIGHT) {
- left = targetSize.width - ps.width -
- insets.right;
- }
- comp.reshape(left,top,ps.width,ps.height);
- top += ps.height + gap;
- }
- }
- }
-}
diff --git a/java/gjt/ComponentScroller.java b/java/gjt/ComponentScroller.java
deleted file mode 100644
index 3aef71c4ea2..00000000000
--- a/java/gjt/ComponentScroller.java
+++ /dev/null
@@ -1,42 +0,0 @@
-package gjt;
-
-import java.awt.*;
-
-/**
- * Scrolls any component. Component to be scrolled may be a
- * container, so ultimately many components may be scrolled
- * at once.<p>
- *
- * Component to be scrolled may be specified at construction
- * time, or may be set after construction via
- * void setComponent(Component).<p>
- *
- * @version 1.0, Apr 1 1996
- * @author David Geary
- * @see BulletinLayout
- * @see Scroller
- * @see ScrollerLayout
- * @see ImageScroller
- * @see gjt.test.ComponentScrollerTest
- */
-public class ComponentScroller extends Scroller {
- private Component scrollMe;
-
- public ComponentScroller() {
- }
- public ComponentScroller(Component component) {
- setComponent(component);
- }
- public void setComponent(Component component) {
- scrollMe = component;
- viewport.setLayout(new BulletinLayout());
- viewport.add (scrollMe);
- viewport.move (0,0);
- }
- public void scrollTo(int x, int y) {
- scrollMe.move(-x,-y);
- }
- public Dimension getScrollAreaSize() {
- return scrollMe.preferredSize();
- }
-}
diff --git a/java/gjt/DialogClient.java b/java/gjt/DialogClient.java
deleted file mode 100644
index 7e67cea758e..00000000000
--- a/java/gjt/DialogClient.java
+++ /dev/null
@@ -1,20 +0,0 @@
-package gjt;
-
-import java.awt.Dialog;
-
-/**
- * DialogClients are notified when the Dialog with which they
- * are associated is dismissed. A reference to the dismissed
- * Dialog is passed as a parameter of dialogDismissed() in case
- * a DialogClient is a client of more than one Dialog.<p>
- *
- * @version 1.0, Apr 1 1996
- * @author David Geary
- * @see MessageDialog
- * @see QuestionDialog
- * @see YesNoDialog
- * @see gjt.test.DialogTest
- */
-public interface DialogClient {
- abstract public void dialogDismissed(Dialog d);
-}
diff --git a/java/gjt/DrawingPanel.java b/java/gjt/DrawingPanel.java
deleted file mode 100644
index cda3fd69431..00000000000
--- a/java/gjt/DrawingPanel.java
+++ /dev/null
@@ -1,72 +0,0 @@
-package gjt;
-
-import java.awt.*;
-import gjt.rubberband.*;
-
-/**
- * An extension of gjt.rubberband.RubberbandPanel which serves
- * as a panel used for drawing simple shapes (lines, rectangles,
- * and ellipses). The shapes may be filled (except for lines,
- * of course), and the color of the shapes may be specified.<p>
- *
- * @version 1.0, Apr 1 1996
- * @author David Geary
- * @see gjt.rubberband.RubberbandPanel
- * @see gjt.rubberband.RubberbandEllipse
- * @see gjt.rubberband.RubberbandLine
- * @see gjt.rubberband.RubberbandRectangle
- * @see gjt.test.RubberbandTest
- * @see gjt.test.ToolbarTest
- */
-public class DrawingPanel extends RubberbandPanel {
- private Rubberband rbLine, rbRect, rbEllipse;
- private Color color;
- private boolean fill;
-
- public DrawingPanel() {
- rbLine = new RubberbandLine (this);
- rbRect = new RubberbandRectangle(this);
- rbEllipse = new RubberbandEllipse (this);
-
- setRubberband(rbLine);
- }
- public void drawLines () { setRubberband(rbLine); }
- public void drawRectangles() { setRubberband(rbRect); }
- public void drawEllipses () { setRubberband(rbEllipse); }
-
- public void setColor(Color color) { this.color = color; }
- public Color getColor() { return color; }
-
- public void setFill(boolean b) { fill = b; }
- public boolean getFill() { return fill; }
-
- public boolean mouseUp(Event event, int x, int y) {
- Rubberband rb = getRubberband();
- Graphics g = getGraphics();
-
- super.mouseUp(event, x, y);
- g.setColor(color);
-
- if(rb == rbLine) drawLine (rb, g);
- else if(rb == rbRect) drawRectangle(rb, g);
- else if(rb == rbEllipse) drawEllipse (rb, g);
-
- return true;
- }
- protected void drawLine(Rubberband rb, Graphics g) {
- Point anchor = rb.getAnchor(), end = rb.getEnd();
- g.drawLine(anchor.x, anchor.y, end.x, end.y);
- }
- protected void drawRectangle(Rubberband rb, Graphics g) {
- Rectangle r = rb.bounds();
-
- if(fill) g.fillRect(r.x, r.y, r.width, r.height);
- else g.drawRect(r.x, r.y, r.width, r.height);
- }
- protected void drawEllipse(Rubberband rb, Graphics g) {
- Rectangle r = rb.bounds();
-
- if(fill) g.fillArc(r.x, r.y, r.width, r.height, 0, 360);
- else g.drawArc(r.x, r.y, r.width, r.height, 0, 360);
- }
-}
diff --git a/java/gjt/DrawnRectangle.java b/java/gjt/DrawnRectangle.java
deleted file mode 100644
index e96fd8d3673..00000000000
--- a/java/gjt/DrawnRectangle.java
+++ /dev/null
@@ -1,136 +0,0 @@
-package gjt;
-
-import java.awt.*;
-
-/**
- * A Rectangle which draws itself inside of a Component.<p>
- *
- * DrawnRectangles may have their thickness and line color set,
- * and are capable of reporting their inner bounds (the area
- * inside the lines).<p>
- *
- * Default thickness is 2.<p>
- *
- * If not set explicitly, the line color used is three shades
- * darker than the background color of the Component being
- * drawn into.<p>
- *
- * DrawnRectangles may be clear()ed, which clears both the
- * exterior (the lines) and the interior (the area inside of
- * the lines) of the DrawnRectangle.<p>
- *
- * DrawnRectangles may also be fill()ed with a specified color
- * by calling fill(Color), or by calling setFillColor(Color)
- * followed by fill().<p>
- *
- * By default, the fill Color is the background color of the
- * Component drawn into.<p>
- *
- * @version 1.0, Apr 1 1996
- * @author David Geary
- * @see ThreeDRectangle
- * @see EtchedRectangle
- * @see Border
- * @see EtchedBorder
- * @see ThreeDBorder
- * @see gjt.test.DrawnRectangleTest
- */
-public class DrawnRectangle extends Rectangle {
- protected static int _defaultThickness = 2;
-
- protected Component drawInto;
- private int thick;
- private Color lineColor, fillColor;
-
- public DrawnRectangle(Component drawInto) {
- this(drawInto, _defaultThickness, 0, 0, 0, 0);
- }
- public DrawnRectangle(Component drawInto, int thick) {
- this(drawInto, thick, 0, 0, 0, 0);
- }
- public DrawnRectangle(Component drawInto, int x, int y,
- int w, int h) {
- this(drawInto, _defaultThickness, x, y, w, h);
- }
- public DrawnRectangle(Component drawInto, int thick,
- int x, int y, int w, int h) {
- Assert.notNull(drawInto);
- Assert.notFalse(thick > 0);
-
- this.drawInto = drawInto;
- this.thick = thick;
- reshape(x,y,w,h);
- }
- public Component component() {return drawInto; }
- public int getThickness () {return thick; }
- public void setThickness (int thick) {this.thick = thick; }
-
- public void setLineColor(Color lineColor) {
- this.lineColor = lineColor;
- }
- public void setFillColor(Color fillColor) {
- this.fillColor = fillColor;
- }
- public void fill() {
- fill(getFillColor());
- }
- public Color getLineColor() {
- if(lineColor == null)
- lineColor =
- drawInto.getBackground().darker().darker().darker();
- return lineColor;
- }
- public Color getFillColor() {
- if(fillColor == null)
- fillColor = drawInto.getBackground();
- return fillColor;
- }
- public Rectangle getInnerBounds() {
- return new Rectangle(x+thick, y+thick,
- width-(thick*2), height-(thick*2));
- }
- public void paint() {
- Graphics g = drawInto.getGraphics();
- paintFlat(g, getLineColor());
- }
- private void paintFlat(Graphics g, Color color) {
- if(g != null) {
- g.setColor(color);
- for(int i=0; i < thick; ++i)
- g.drawRect(x+i, y+i,
- width-(i*2)-1, height-(i*2)-1);
- }
- }
- public void clearInterior() {
- fill(drawInto.getBackground());
- }
- public void clearExterior() {
- paintFlat(drawInto.getGraphics(),
- drawInto.getBackground());
- }
- public void clear() {
- clearExterior();
- clearInterior();
- }
- public void fill(Color color) {
- Graphics g = drawInto.getGraphics();
-
- if(g != null) {
- Rectangle r = getInnerBounds();
- g.setColor(color);
- g.fillRect(r.x, r.y, r.width, r.height);
- setFillColor(color);
- }
- }
- public String toString() {
- return super.toString() + "[" + paramString() + "]";
- }
- public String paramString() {
- return "color=" + getLineColor() + ",thickness=" +
- thick + ",fillColor=" + getFillColor();
- }
- protected Color brighter() {
- return
- getLineColor().brighter().brighter().brighter().brighter();
- }
-}
diff --git a/java/gjt/EtchedBorder.java b/java/gjt/EtchedBorder.java
deleted file mode 100644
index 09ff845014b..00000000000
--- a/java/gjt/EtchedBorder.java
+++ /dev/null
@@ -1,59 +0,0 @@
-package gjt;
-
-import java.awt.*;
-
-/**
- * An extension of Border that draws an etched border.
- *
- * Drawn etchedIn by default, drawing style used by paint() is
- * controlled by etchedIn() and etchedOut(). Note that
- * etchedIn() and etchedOut() do not result in anything being
- * painted, but only set the state for the next call to paint().
- * To set the state and paint in one operation, use
- * paintEtchedIn() and paintEtchedOut().<p>
- *
- * The current state of the border may be obtained by calling
- * isEtchedIn().<p>
- *
- * @version 1.0, Apr 1 1996
- * @author David Geary
- * @see Border
- * @see ThreeDRectangle
- * @see gjt.test.BorderTest
- */
-public class EtchedBorder extends Border {
- public EtchedBorder(Component borderMe) {
- this(borderMe, _defaultThickness, _defaultGap);
- }
- public EtchedBorder(Component borderMe,
- int borderThickness) {
- this(borderMe, borderThickness, _defaultGap);
- }
- public EtchedBorder(Component borderMe,
- int borderThickness, int gap) {
- super(borderMe, borderThickness, gap);
- }
- public void etchedIn() {
- ((EtchedRectangle)border()).etchedIn();
- }
- public void etchedOut() {
- ((EtchedRectangle)border()).etchedOut();
- }
- public void paintEtchedIn() {
- ((EtchedRectangle)border()).paintEtchedIn ();
- }
- public void paintEtchedOut() {
- ((EtchedRectangle)border()).paintEtchedOut();
- }
- public boolean isEtchedIn() {
- return ((EtchedRectangle)border()).isEtchedIn();
- }
- protected String paramString() {
- return super.paramString() + (EtchedRectangle)border();
- }
- protected DrawnRectangle border() {
- if(border == null)
- border = new EtchedRectangle(this, thickness);
- return border;
- }
-}
diff --git a/java/gjt/EtchedRectangle.java b/java/gjt/EtchedRectangle.java
deleted file mode 100644
index b8026d42f8d..00000000000
--- a/java/gjt/EtchedRectangle.java
+++ /dev/null
@@ -1,97 +0,0 @@
-package gjt;
-
-import java.awt.*;
-
-/**
- * A DrawnRectangle that draws an etched border.<p>
- *
- * Drawn etched in by default, drawing style used by paint() is
- * controlled by etchedIn() and etchedOut(). Note that
- * etchedIn() and etchedOut() do not result in anything being
- * painted, but only set the state for the next call to paint().
- * To set the state and paint in one operation, use
- * paintEtchedIn() and paintEtchedOut().<p>
- *
- * Although it is permissible to set the thickness of
- * EtchedRectangles, they tend to loose the etching effect
- * if thickness is greater than 4.<p>
- *
- * The current state of the rectangle may be obtained by
- * calling isEtchedIn().
- *
- * @version 1.0, Apr 1 1996
- * @author David Geary
- * @see DrawnRectangle
- * @see ThreeDRectangle
- * @see gjt.test.DrawnRectangleTest
- */
-public class EtchedRectangle extends DrawnRectangle {
- protected static Etching _defaultEtching = Etching.IN;
- private Etching etching;
-
- public EtchedRectangle(Component drawInto) {
- this(drawInto, _defaultEtching,
- _defaultThickness, 0, 0, 0, 0);
- }
- public EtchedRectangle(Component drawInto, int thickness) {
- this(drawInto, _defaultEtching, thickness, 0, 0, 0, 0);
- }
- public EtchedRectangle(Component drawInto, int x, int y,
- int w, int h) {
- this(drawInto, _defaultEtching,
- _defaultThickness, x, y, w, h);
- }
- public EtchedRectangle(Component drawInto, int thickness,
- int x, int y,
- int w, int h) {
- this(drawInto, _defaultEtching, thickness, x, y, w, h);
- }
- public EtchedRectangle(Component drawInto, Etching etching,
- int thickness, int x, int y,
- int w, int h) {
- super(drawInto, thickness, x, y, w, h);
- this.etching = etching;
- }
- public void etchedIn () { etching = Etching.IN; }
- public void etchedOut () { etching = Etching.OUT; }
- public boolean isEtchedIn() { return etching == Etching.IN;}
-
- public void paint() {
- if(etching == Etching.IN) paintEtchedIn();
- else paintEtchedOut();
- }
- public void paintEtchedIn() {
- Graphics g = drawInto.getGraphics();
- if(g != null)
- paintEtched(g, getLineColor(), brighter());
-
- etchedIn();
- }
- public void paintEtchedOut() {
- Graphics g = drawInto.getGraphics();
- if(g != null)
- paintEtched(g, brighter(), getLineColor());
-
- etchedOut();
- }
- public String paramString() {
- return super.paramString() + "," + etching;
- }
- private void paintEtched(Graphics g,
- Color topLeft,
- Color bottomRight) {
- int thickness = getThickness();
- int w = width - thickness;
- int h = height - thickness;
-
- g.setColor(topLeft);
- for(int i=0; i < thickness/2; ++i)
- g.drawRect(x+i, y+i, w, h);
-
- g.setColor(bottomRight);
-
- for(int i=0; i < thickness/2; ++i)
- g.drawRect(x+(thickness/2)+i,
- y+(thickness/2)+i, w, h);
- }
-}
diff --git a/java/gjt/Etching.java b/java/gjt/Etching.java
deleted file mode 100644
index ad40d9caaea..00000000000
--- a/java/gjt/Etching.java
+++ /dev/null
@@ -1,22 +0,0 @@
-package gjt;
-
-/**
- * Constants for Etching.
- *
- * This class may not be instantiated.
- *
- * @version 1.0, Apr 11 1996
- * @author David Geary
- */
-public class Etching {
- public static final Etching OUT = new Etching();
- public static final Etching IN = new Etching();
-
- public String toString() {
- if(this == Etching.OUT)
- return getClass().getName() + "=OUT";
- else
- return getClass().getName() + "=IN";
- }
- private Etching() { }
-}
diff --git a/java/gjt/ExclusiveImageButtonPanel.java b/java/gjt/ExclusiveImageButtonPanel.java
deleted file mode 100644
index f1d0878a499..00000000000
--- a/java/gjt/ExclusiveImageButtonPanel.java
+++ /dev/null
@@ -1,47 +0,0 @@
-package gjt;
-
-import java.awt.Image;
-
-/**
- * An ImageButtonPanel which fits all of its ImageButtons with
- * a StickyImageButtonController. ExclusiveImageButtonPanel
- * relies upon its superclass' controller: a
- * RadioImageButtonPanelController, which ensures that only one
- * of the ImageButtons is selected at a time.<p>
- *
- * @version 1.0, Apr 1 1996
- * @author David Geary
- * @see ImageButton
- * @see ImageButtonPanel
- * @see gjt.test.ToolbarTest
- */
-public class ExclusiveImageButtonPanel extends
- ImageButtonPanel {
- public ExclusiveImageButtonPanel(Orientation orient) {
- this(orient, 5);
- }
- public ExclusiveImageButtonPanel(Orientation orient,
- int gap) {
- super(orient, gap);
- }
- public ExclusiveImageButtonPanel(Orientation orient,
- Orientation horient,
- Orientation vorient,
- int gap) {
- super(orient, horient, vorient, gap);
- }
- public void add(ImageButton button) {
- super.add(button);
- new StickyImageButtonController(button);
- }
- public ImageButton add(Image image) {
- ImageButton button = super.add(image);
- new StickyImageButtonController(button);
- return button;
- }
- public ImageButton add(Image image, String name) {
- ImageButton button = super.add(image, name);
- new StickyImageButtonController(button);
- return button;
- }
-}
diff --git a/java/gjt/FontDialog.java b/java/gjt/FontDialog.java
deleted file mode 100644
index 182ca582884..00000000000
--- a/java/gjt/FontDialog.java
+++ /dev/null
@@ -1,362 +0,0 @@
-package gjt;
-
-import java.awt.*;
-
-/**
- * A dialog used for selecting a font. FontDialog is
- * constructed with a Frame, DialogClient, initial font to
- * display, and boolean that indicates modality.<p>
- *
- * FontDialog contains a preview panel which previews the
- * currently selected font. Updating of the preview panel is
- * triggered by a preview button at the bottom of the dialog.<p>
- *
- * FontDialog contains 3 methods which define the labels for
- * the buttons it contains:
- * <dl>
- * <dd> String getPreviewButtonLabel()
- * <dd> String getOkButtonLabel()
- * <dd> String getCancelButtonLabel()
- * </dl><p>
- *
- * By default the 3 methods return "Preview", "Ok" and "Cancel"
- * respectively. FontDialog may be extended and the 3 methods
- * overridden to customize the labels displayed in the
- * buttons.<p>
- *
- * FontDialog uses Toolkit to get a list of fonts by invoking
- * Toolkit.getFontList(). This is done in the getFontNames()
- * method, which may be overridden by extensions of FontDialog
- * in case the standard set of font names are inadequate.<p>
- *
- * Finally, font sizes are obtained by the getFontSizes()
- * method. FontDialog defines 8 sizes by default: 8, 12, 14,
- * 16, 18, 24, 48 and 64. Extensions of FontDialog may override
- * getFontSizes() to provide a different list of sizes.<p>
- *
- * See gjt.test.FontDialogTest for an example of an extension
- * of FontDialog which overrides the methods discussed above.<p>
- *
- * @version 1.0, Apr 1 1996
- * @author David Geary
- * @see java.awt.Dialog
- * @see java.awt.Toolkit
- * @see DialogClient
- * @see gjt.test.FontDialogTest
- */
-public class FontDialog extends Dialog {
- private static String _defaultSizes[] =
- { "8", "12", "14", "16", "18", "24", "48", "64" };
-
- private FontPanel fontPanel;
- private Font fontSelected;
- private DialogClient client;
-
- public FontDialog(Frame frame,
- DialogClient client,
- Font font, // initial font
- boolean modal) {
- super(frame, "Select A Font", modal);
- this.client = client;
-
- setLayout(new BorderLayout());
- add("Center", fontPanel = new FontPanel(this, font));
- }
- public boolean handleEvent(Event event) {
- if(event.id == Event.WINDOW_DESTROY)
- done(null);
-
- return super.handleEvent(event);
- }
- public String[] getFontNames() {
- return getToolkit().getFontList();
- }
- public String[] getFontSizes() {
- return _defaultSizes;
- }
-
- public String getPreviewButtonLabel() { return "Preview"; }
- public String getOkButtonLabel () { return "Ok"; }
- public String getCancelButtonLabel () { return "Cancel"; }
-
- public void show() {
- Point frameLoc = getParent().location();
- reshape(frameLoc.x + 50, frameLoc.x + 50, 550, 450);
- super.show();
- }
- public void done(Font font) {
- fontSelected = font;
- client.dialogDismissed(this);
- hide ();
- dispose();
- }
- public Font getFontSelected() {
- return fontSelected;
- }
- public void listSelectedInPicker() {
- fontPanel.getPreviewButton().requestFocus();
- }
-}
-
-class FontPanel extends Panel {
- private static Font defaultFont =
- new Font("TimesRoman", Font.PLAIN, 12);
-
- private FontPreviewPanel preview;
- private FontSelectionPanel fsp;
-
- public FontPanel(FontDialog dialog, Font f) {
- Font font = f == null ? defaultFont : f;
-
- setLayout(new BorderLayout());
- add("North", preview = new FontPreviewPanel ());
- add("Center", fsp =
- new FontSelectionPanel(dialog, preview, font));
- }
- public Button getPreviewButton() {
- return fsp.getPreviewButton();
- }
-}
-
-class FontPreviewPanel extends Panel {
- TextField textField = new TextField();
- Box box = new Box(textField, "Preview");
-
- public FontPreviewPanel() {
- textField.setEditable(false);
-
- setLayout(new BorderLayout());
- add("Center", box);
- }
- public void setPreviewFont(Font font) {
- String name = font.getName();
- String size = String.valueOf(font.getSize());
- String style = new String();
-
- if(font.isPlain () == true) style = "Plain";
- else {
- if(font.isBold () == true) style += "Bold";
- if(font.isItalic() == true) style += "Italic";
- }
- textField.setFont(font);
- textField.setText(name + " " + style + " " + size);
- retrofitPreviewPanel();
- }
- private void retrofitPreviewPanel() {
- Dimension tfps, tfs;
- FontPanel fontPanel = (FontPanel)getParent();
-
- tfps = textField.preferredSize();
- tfs = textField.size();
-
- if(tfps.width != tfs.width ||
- tfps.height != tfs.height) {
- fontPanel.invalidate();
- fontPanel.getParent().validate();
- box.repaint(); // Only necessary on Win95
- }
- }
-}
-
-class FontSelectionPanel extends Panel {
- private FontPickerPanel picker;
- private FontButtonsPanel buttons;
- private FontPreviewPanel preview;
- private Font initialFont;
-
- public FontSelectionPanel(FontDialog dialog,
- FontPreviewPanel preview,
- Font initialFont) {
- this.preview = preview;
- this.initialFont = initialFont;
-
- picker = new FontPickerPanel (dialog, initialFont);
- buttons = new FontButtonsPanel(dialog, picker, preview);
-
- setLayout(new BorderLayout());
- add("Center", picker);
- add("South", buttons);
- }
- public void addNotify() {
- super.addNotify();
- preview.setPreviewFont(initialFont);
- }
- public Button getPreviewButton() {
- return buttons.getPreviewButton();
- }
-}
-
-class FontPickerPanel extends Panel {
- private FontDialog dialog;
- private Button previewButton;
- private List fonts = new List();
- private List styles = new List();
- private List sizes = new List();
- private Font initialFont;
-
- public FontPickerPanel(FontDialog dialog,
- Font initialFont) {
- GridBagLayout gbl = new GridBagLayout();
- GridBagConstraints gbc = new GridBagConstraints();
- Label family = new Label("Family");
- Label style = new Label("Style");
- Label size = new Label("Size");
-
- this.initialFont = initialFont;
- this.dialog = dialog;
-
- populateFonts ();
- populateStyles();
- populateSizes ();
-
- setLayout(gbl);
-
- gbc.anchor = GridBagConstraints.NORTH;
- gbc.gridwidth = 1;
- gbl.setConstraints(family, gbc); add(family);
- gbl.setConstraints(style, gbc); add(style);
- gbc.gridwidth = GridBagConstraints.REMAINDER;
- gbl.setConstraints(size, gbc); add(size);
-
- gbc.gridwidth = 1;
- gbc.weighty = 1.0;
- gbc.weightx = 1.0;
- gbc.fill = GridBagConstraints.BOTH;
- gbl.setConstraints(fonts, gbc); add(fonts);
- gbl.setConstraints(styles, gbc); add(styles);
- gbl.setConstraints(sizes, gbc); add(sizes);
- }
- public boolean handleEvent(Event event) {
- if(event.id == Event.LIST_SELECT) {
- dialog.listSelectedInPicker();
- return true;
- }
- return false;
- }
- public void addNotify() {
- super.addNotify();
- String initialFamily = initialFont.getName();
- int initialSize = initialFont.getSize();
- int initialStyle = initialFont.getStyle();
-
- styles.select(initialStyle);
-
- for(int i=0; i < fonts.countItems(); ++i) {
- String nextFamily = fonts.getItem(i);
- if(nextFamily.equals(initialFamily))
- fonts.select(i);
- }
- for(int i=0; i < sizes.countItems(); ++i) {
- String nextSize = sizes.getItem(i);
- if(nextSize.equals(String.valueOf(initialSize)))
- sizes.select(i);
- }
- }
- public String fontSelected() {
- return fonts.getSelectedItem ();
- }
- public String styleSelected() {
- return styles.getSelectedItem();
- }
- public int sizeSelected() {
- String szstring = sizes.getSelectedItem();
-
- if(szstring != null) {
- Integer integer = new Integer(szstring);
- return integer.intValue();
- }
- else
- return 0;
- }
- private void populateFonts() {
- String names[] = dialog.getFontNames();
-
- for(int i=0; i < names.length; ++i) {
- fonts.addItem(names[i]);
- }
- }
- private void populateSizes() {
- String sizeArray[] = dialog.getFontSizes();
-
- for(int i=0; i < sizeArray.length; ++i) {
- sizes.addItem(sizeArray[i]);
- }
- }
- private void populateStyles() {
- styles.addItem("Plain");
- styles.addItem("Bold");
- styles.addItem("Italic");
- styles.addItem("BoldItalic");
- }
-}
-
-class FontButtonsPanel extends Panel {
- private FontDialog dialog;
- private FontPickerPanel picker;
- private FontPreviewPanel preview;
- private Button previewButton,
- okButton,
- cancelButton;
-
- public FontButtonsPanel(FontDialog dialog,
- FontPickerPanel picker,
- FontPreviewPanel preview) {
- this.picker = picker;
- this.preview = preview;
- this.dialog = dialog;
-
- add(previewButton =
- new Button(dialog.getPreviewButtonLabel()));
- add(cancelButton =
- new Button(dialog.getCancelButtonLabel()));
- add(okButton =
- new Button(dialog.getOkButtonLabel()));
- }
- public void addNotify() {
- super.addNotify();
- cancelButton.requestFocus();
- }
- public boolean action(Event event, Object object) {
- Button button = (Button)event.target;
- boolean handledEvent = true;
-
- if(event.target == previewButton) {
- Font selectedFont = fontSelected();
-
- if(selectedFont != null) {
- preview.setPreviewFont(selectedFont);
- okButton.requestFocus();
- }
- }
- else if(event.target == okButton)
- dialog.done(fontSelected());
- else if(event.target == cancelButton)
- dialog.done(null);
- else
- handledEvent = false;
-
- return handledEvent;
- }
- public Button getPreviewButton() {
- return previewButton;
- }
- private Font fontSelected() {
- String font = picker.fontSelected ();
- String style = picker.styleSelected();
- int size = picker.sizeSelected ();
- int istyle = Font.PLAIN;
-
- if(font != null && style != null && size > 0) {
- if(style.equals("Bold")) istyle = Font.BOLD;
- if(style.equals("Plain")) istyle = Font.PLAIN;
- if(style.equals("Italic")) istyle = Font.ITALIC;
-
- if(style.equals("BoldItalic"))
- istyle = Font.BOLD + Font.ITALIC;
-
- return new Font(font, istyle, size);
- }
- else
- return null;
- }
-}
diff --git a/java/gjt/GJT.DSP b/java/gjt/GJT.DSP
deleted file mode 100644
index e2060a0ad72..00000000000
--- a/java/gjt/GJT.DSP
+++ /dev/null
@@ -1,456 +0,0 @@
-# Microsoft Developer Studio Project File - Name="GJT" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 5.00
-# ** DO NOT EDIT **
-
-# TARGTYPE "Java Virtual Machine Java Project" 0x0809
-
-CFG=GJT - Java Virtual Machine Debug
-!MESSAGE This is not a valid makefile. To build this project using NMAKE,
-!MESSAGE use the Export Makefile command and run
-!MESSAGE
-!MESSAGE NMAKE /f "GJT.MAK".
-!MESSAGE
-!MESSAGE You can specify a configuration when running NMAKE
-!MESSAGE by defining the macro CFG on the command line. For example:
-!MESSAGE
-!MESSAGE NMAKE /f "GJT.MAK" CFG="GJT - Java Virtual Machine Debug"
-!MESSAGE
-!MESSAGE Possible choices for configuration are:
-!MESSAGE
-!MESSAGE "GJT - Java Virtual Machine Release" (based on\
- "Java Virtual Machine Java Project")
-!MESSAGE "GJT - Java Virtual Machine Debug" (based on\
- "Java Virtual Machine Java Project")
-!MESSAGE
-
-# Begin Project
-# PROP Scc_ProjName ""
-# PROP Scc_LocalPath ""
-JAVA=jvc.exe
-
-!IF "$(CFG)" == "GJT - Java Virtual Machine Release"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir ""
-# PROP BASE Intermediate_Dir ""
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "..\classes-r"
-# PROP Intermediate_Dir ""
-# PROP Target_Dir ""
-# ADD BASE JAVA /O
-# ADD JAVA /O
-
-!ELSEIF "$(CFG)" == "GJT - Java Virtual Machine Debug"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir ""
-# PROP BASE Intermediate_Dir ""
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "..\classes"
-# PROP Intermediate_Dir ""
-# PROP Target_Dir ""
-# ADD BASE JAVA /g
-# ADD JAVA /g
-
-!ENDIF
-
-# Begin Target
-
-# Name "GJT - Java Virtual Machine Release"
-# Name "GJT - Java Virtual Machine Debug"
-# Begin Source File
-
-SOURCE=.\Assert.java
-# End Source File
-# Begin Source File
-
-SOURCE=.\test\AttributesPanel.java
-# End Source File
-# Begin Source File
-
-SOURCE=.\Bargauge.java
-# End Source File
-# Begin Source File
-
-SOURCE=.\test\BargaugeTest.java
-# End Source File
-# Begin Source File
-
-SOURCE=.\image\BleachImageFilter.java
-# End Source File
-# Begin Source File
-
-SOURCE=.\test\BleachImageFilterTest.java
-# End Source File
-# Begin Source File
-
-SOURCE=.\Border.java
-# End Source File
-# Begin Source File
-
-SOURCE=.\test\BorderTest.java
-# End Source File
-# Begin Source File
-
-SOURCE=.\Box.java
-# End Source File
-# Begin Source File
-
-SOURCE=.\test\BoxTest.java
-# End Source File
-# Begin Source File
-
-SOURCE=.\BulletinLayout.java
-# End Source File
-# Begin Source File
-
-SOURCE=.\test\BumpAnimationTest.java
-# End Source File
-# Begin Source File
-
-SOURCE=.\ButtonPanel.java
-# End Source File
-# Begin Source File
-
-SOURCE=.\CardPanel.java
-# End Source File
-# Begin Source File
-
-SOURCE=.\ChoiceCardPanel.java
-# End Source File
-# Begin Source File
-
-SOURCE=.\test\ChoiceCardPanelTest.java
-# End Source File
-# Begin Source File
-
-SOURCE=.\animation\CollisionArena.java
-# End Source File
-# Begin Source File
-
-SOURCE=.\animation\CollisionDetector.java
-# End Source File
-# Begin Source File
-
-SOURCE=.\ColumnLayout.java
-# End Source File
-# Begin Source File
-
-SOURCE=.\test\ColumnLayoutTest.java
-# End Source File
-# Begin Source File
-
-SOURCE=.\ComponentScroller.java
-# End Source File
-# Begin Source File
-
-SOURCE=.\test\ComponentScrollerTest.java
-# End Source File
-# Begin Source File
-
-SOURCE=.\test\ConnectionsPanel.java
-# End Source File
-# Begin Source File
-
-SOURCE=.\DialogClient.java
-# End Source File
-# Begin Source File
-
-SOURCE=.\test\DialogTest.java
-# End Source File
-# Begin Source File
-
-SOURCE=.\image\DissolveFilter.java
-# End Source File
-# Begin Source File
-
-SOURCE=.\DrawingPanel.java
-# End Source File
-# Begin Source File
-
-SOURCE=.\DrawnRectangle.java
-# End Source File
-# Begin Source File
-
-SOURCE=.\test\DrawnRectangleTest.java
-# End Source File
-# Begin Source File
-
-SOURCE=.\animation\EdgeCollisionDetector.java
-# End Source File
-# Begin Source File
-
-SOURCE=.\EtchedBorder.java
-# End Source File
-# Begin Source File
-
-SOURCE=.\EtchedRectangle.java
-# End Source File
-# Begin Source File
-
-SOURCE=.\Etching.java
-# End Source File
-# Begin Source File
-
-SOURCE=.\ExclusiveImageButtonPanel.java
-# End Source File
-# Begin Source File
-
-SOURCE=.\FontDialog.java
-# End Source File
-# Begin Source File
-
-SOURCE=.\test\FontDialogTest.java
-# End Source File
-# Begin Source File
-
-SOURCE=.\GJTDialog.java
-# End Source File
-# Begin Source File
-
-SOURCE=.\IconCardPanel.java
-# End Source File
-# Begin Source File
-
-SOURCE=.\test\IconCardPanelTest.java
-# End Source File
-# Begin Source File
-
-SOURCE=.\ImageButton.java
-# End Source File
-# Begin Source File
-
-SOURCE=.\ImageButtonController.java
-# End Source File
-# Begin Source File
-
-SOURCE=.\ImageButtonEvent.java
-# End Source File
-# Begin Source File
-
-SOURCE=.\ImageButtonPanel.java
-# End Source File
-# Begin Source File
-
-SOURCE=.\ImageButtonPanelController.java
-# End Source File
-# Begin Source File
-
-SOURCE=.\test\ImageButtonTest.java
-# End Source File
-# Begin Source File
-
-SOURCE=.\ImageCanvas.java
-# End Source File
-# Begin Source File
-
-SOURCE=.\image\ImageDissolver.java
-# End Source File
-# Begin Source File
-
-SOURCE=.\test\ImageDissolverTest.java
-# End Source File
-# Begin Source File
-
-SOURCE=.\ImageScroller.java
-# End Source File
-# Begin Source File
-
-SOURCE=.\test\ImageScrollerTest.java
-# End Source File
-# Begin Source File
-
-SOURCE=.\LabelCanvas.java
-# End Source File
-# Begin Source File
-
-SOURCE=.\test\LabelCanvasTest.java
-# End Source File
-# Begin Source File
-
-SOURCE=.\MessageDialog.java
-# End Source File
-# Begin Source File
-
-SOURCE=.\test\MessageDialogTest.java
-# End Source File
-# Begin Source File
-
-SOURCE=.\MouseController.java
-# End Source File
-# Begin Source File
-
-SOURCE=.\test\OccupationOracle.java
-# End Source File
-# Begin Source File
-
-SOURCE=.\Orientation.java
-# End Source File
-# Begin Source File
-
-SOURCE=.\animation\Playfield.java
-# End Source File
-# Begin Source File
-
-SOURCE=.\ProgressDialog.java
-# End Source File
-# Begin Source File
-
-SOURCE=.\QuestionDialog.java
-# End Source File
-# Begin Source File
-
-SOURCE=.\RadioImageButtonPanelController.java
-# End Source File
-# Begin Source File
-
-SOURCE=.\RowLayout.java
-# End Source File
-# Begin Source File
-
-SOURCE=.\test\RowLayoutTest.java
-# End Source File
-# Begin Source File
-
-SOURCE=.\rubberband\Rubberband.java
-# End Source File
-# Begin Source File
-
-SOURCE=.\rubberband\RubberbandEllipse.java
-# End Source File
-# Begin Source File
-
-SOURCE=.\rubberband\RubberbandLine.java
-# End Source File
-# Begin Source File
-
-SOURCE=.\rubberband\RubberbandPanel.java
-# End Source File
-# Begin Source File
-
-SOURCE=.\rubberband\RubberbandRectangle.java
-# End Source File
-# Begin Source File
-
-SOURCE=.\test\RubberbandTest.java
-# End Source File
-# Begin Source File
-
-SOURCE=.\Scroller.java
-# End Source File
-# Begin Source File
-
-SOURCE=.\ScrollerLayout.java
-# End Source File
-# Begin Source File
-
-SOURCE=.\SelectionEvent.java
-# End Source File
-# Begin Source File
-
-SOURCE=.\Separator.java
-# End Source File
-# Begin Source File
-
-SOURCE=.\test\SeparatorTest.java
-# End Source File
-# Begin Source File
-
-SOURCE=.\animation\Sequence.java
-# End Source File
-# Begin Source File
-
-SOURCE=.\test\SimpleAnimationTest.java
-# End Source File
-# Begin Source File
-
-SOURCE=.\test\SimpleBargaugeTest.java
-# End Source File
-# Begin Source File
-
-SOURCE=.\SpringyImageButtonController.java
-# End Source File
-# Begin Source File
-
-SOURCE=.\animation\Sprite.java
-# End Source File
-# Begin Source File
-
-SOURCE=.\animation\SpriteCollisionDetector.java
-# End Source File
-# Begin Source File
-
-SOURCE=.\StateButton.java
-# End Source File
-# Begin Source File
-
-SOURCE=.\StateButtonController.java
-# End Source File
-# Begin Source File
-
-SOURCE=.\test\StateButtonTest.java
-# End Source File
-# Begin Source File
-
-SOURCE=.\StickyImageButtonController.java
-# End Source File
-# Begin Source File
-
-SOURCE=.\Stopwatch.java
-# End Source File
-# Begin Source File
-
-SOURCE=.\StopwatchClient.java
-# End Source File
-# Begin Source File
-
-SOURCE=.\test\TenPixelBorder.java
-# End Source File
-# Begin Source File
-
-SOURCE=.\ThreeDBorder.java
-# End Source File
-# Begin Source File
-
-SOURCE=.\ThreeDBorderStyle.java
-# End Source File
-# Begin Source File
-
-SOURCE=.\ThreeDRectangle.java
-# End Source File
-# Begin Source File
-
-SOURCE=.\test\TitledPanel.java
-# End Source File
-# Begin Source File
-
-SOURCE=.\Toolbar.java
-# End Source File
-# Begin Source File
-
-SOURCE=.\test\ToolbarTest.java
-# End Source File
-# Begin Source File
-
-SOURCE=.\test\TwoDrinkersAnimationTest.java
-# End Source File
-# Begin Source File
-
-SOURCE=.\test\UnitTest.java
-# End Source File
-# Begin Source File
-
-SOURCE=.\Util.java
-# End Source File
-# Begin Source File
-
-SOURCE=.\YesNoDialog.java
-# End Source File
-# End Target
-# End Project
diff --git a/java/gjt/GJT.DSW b/java/gjt/GJT.DSW
deleted file mode 100644
index fb82e10ad55..00000000000
--- a/java/gjt/GJT.DSW
+++ /dev/null
@@ -1,29 +0,0 @@
-Microsoft Developer Studio Workspace File, Format Version 5.00
-# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
-
-###############################################################################
-
-Project: "GJT"=.\GJT.DSP - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
-}}}
-
-###############################################################################
-
-Global:
-
-Package=<5>
-{{{
-}}}
-
-Package=<3>
-{{{
-}}}
-
-###############################################################################
-
diff --git a/java/gjt/GJTDialog.java b/java/gjt/GJTDialog.java
deleted file mode 100644
index 7fc0bd39f40..00000000000
--- a/java/gjt/GJTDialog.java
+++ /dev/null
@@ -1,51 +0,0 @@
-package gjt;
-
-import java.awt.*;
-
-/**
- * A base class for gjt dialog classes, this concrete class
- * establishes the relationship between a dialog and its
- * client (DialogClient).<p>
- *
- * Note that show() is overridden to ensure that the dialog is
- * centered in the frame which is specified as its parent. This
- * is necessary due to a bug in the Win95 implementation of the
- * AWT (version 1.0.2) that causes dialogs to be displayed at
- * a screen coordinate of 0,0. While the overridden show() is
- * not necessary under non-Win95 Java implementations, it
- * alleviates the Win95 bug and results in no dire consequences
- * on other platforms.<p>
- *
- * @version 1.0, Apr 1 1996
- * @author David Geary
- * @see MessageDialog
- * @see QuestionDialog
- * @see YesNoDialog
- * @see ProgressDialog
- * @see gjt.test.DialogTest
- */
-public class GJTDialog extends Dialog {
- protected DialogClient client;
-
- public GJTDialog(Frame frame,
- String title,
- DialogClient client,
- boolean modal) {
- super(frame, title, modal);
- setClient(client);
- }
- public void setClient(DialogClient client) {
- this.client = client;
- }
- public void show() { // Fixes bug under Win95
- Dimension frameSize = getParent().size();
- Point frameLoc = getParent().location();
- Dimension mySize = size();
- int x,y;
-
- x = frameLoc.x + (frameSize.width/2) -(mySize.width/2);
- y = frameLoc.y + (frameSize.height/2)-(mySize.height/2);
- reshape(x,y,size().width,size().height);
- super.show();
- }
-}
diff --git a/java/gjt/IconCardPanel.java b/java/gjt/IconCardPanel.java
deleted file mode 100644
index 78940bf8f4f..00000000000
--- a/java/gjt/IconCardPanel.java
+++ /dev/null
@@ -1,55 +0,0 @@
-package gjt;
-
-import java.awt.*;
-
-/**
- * A CardPanel whose Component viewSelector() returns
- * a panel with image buttons to control the selection of the
- * panel to be displayed beneath the view selector panel.<p>
- *
- * @version 1.0, Apr 1 1996
- * @author David Geary
- * @see CardPanel
- * @see ChoiceCardpanel
- * @see gjt.test.IconCardPanelTest
- */
-public class IconCardPanel extends CardPanel {
- private ImageButtonPanel viewSelector;
-
- public IconCardPanel() {
- viewSelector = new IconViewSelector(this);
- }
- public Component viewSelector() {
- return viewSelector;
- }
- public void addImageButton(Image image,
- String name,
- Component component) {
- ImageButton newButton;
-
- viewSelector.add(
- newButton = new ImageButton(image), name);
- newButton.setController(
- new StickyImageButtonController(newButton));
- super.addView(name, component);
- }
-}
-
-class IconViewSelector extends ImageButtonPanel {
- private IconCardPanel mvp;
-
- public IconViewSelector(IconCardPanel panel) {
- super(Orientation.HORIZONTAL);
- setLayout(new FlowLayout());
- mvp = panel;
- }
- public boolean handleEvent(Event event) {
- if(event.id == Event.MOUSE_DOWN) {
- if(event.target instanceof ImageButton) {
- ImageButton ib = (ImageButton)event.target;
- mvp.showView(getButtonName(ib));
- }
- }
- return super.handleEvent(event);
- }
-}
diff --git a/java/gjt/ImageButton.java b/java/gjt/ImageButton.java
deleted file mode 100644
index 07bdeff0ef8..00000000000
--- a/java/gjt/ImageButton.java
+++ /dev/null
@@ -1,209 +0,0 @@
-package gjt;
-
-import java.awt.*;
-import java.awt.image.FilteredImageSource;
-
-import gjt.image.BleachImageFilter;
-
-/**
- * An Image painted in a Canvas, bordered by a ThreeDRectangle.
- * <p>
- *
- * ImageButtons have two constructors, both of which take an
- * Image. The Image passed to the constructor must not be null;
- * this is enforced by an assertion.<p>
- *
- * Default border thickness is 2 pixels - thickness may be set
- * at construction time only.<p>
- *
- * Event handling is delegated to an ImageButtonController. By
- * default, all ImageButtons are fitted with an instance of
- * SpringyImageButtonController, however,
- * setController(ImageButtonController) may be used to fit an
- * ImageButton with a different derivation of
- * ImageButtonController after construction.<p>
- *
- * ImageButtons ensure that their Images are completely loaded
- * before they are displayed.<p>
- *
- * Drawn either raised or inset, current state may be queried
- * via the isRaised() method.<p>
- *
- * disable() disables response to input and repaints the image
- * with a bleached version. enable() restores the original
- * image and enables response to input. The intensity of the
- * bleaching effect may be controlled (for all ImageButtons)
- * via the static setBleachPercent(int) method.<p>
- *
- * @version 1.0, Apr 1 1996
- * @author David Geary
- * @see ThreeDRectangle
- * @see ImageButtonController
- * @see ImageButtonEvent
- * @see SpringyImageButtonController
- * @see StickyImageButtonController
- * @see BleachImageFilter
- * @see gjt.test.ImageButtonTest
- */
-public class ImageButton extends Canvas {
- private static BleachImageFilter _bleachFilter;
- private static int _bleachPercent = 50;
- private static int _offset = 1;
- private static int _defaultThickness = 2;
-
- private ThreeDRectangle border = new ThreeDRectangle(this);
- private boolean isDisabled = false;
- private Dimension preferredSize = new Dimension(0,0);
- private int thickness;
- private Image image, disabledImage;
- private ImageButtonController controller;
-
- public static int setBleachPercent() {
- return _bleachPercent;
- }
- public static void getBleachPercent(int p) {
- _bleachPercent = p;
- }
- public ImageButton(Image image) {
- this(image, _defaultThickness, null);
- }
- public ImageButton(Image image,
- ImageButtonController controller) {
- this(image, _defaultThickness, controller);
- }
- public ImageButton(Image image, int thickness,
- ImageButtonController controller) {
- Assert.notNull(image);
- Assert.notFalse(thickness > 0);
-
- if(controller == null)
- this.controller =
- new SpringyImageButtonController(this);
- else
- this.controller = controller;
-
- border.setThickness(this.thickness = thickness);
- setImage(image);
- }
- public void setImage(Image image) {
- Util.waitForImage(this, this.image = image);
-
- preferredSize.width = image.getWidth (this) +
- (2*thickness);
- preferredSize.height = image.getHeight(this) +
- (2*thickness);
- }
- public Dimension minimumSize() {
- return preferredSize;
- }
- public Dimension preferredSize() {
- return preferredSize;
- }
- public boolean isRaised () { return border.isRaised(); }
- public boolean isDisabled() { return isDisabled; }
-
- public void enable() {
- isDisabled = false;
- repaint();
- }
- public void disable() {
- isDisabled = true;
-
- if(disabledImage == null)
- createDisabledImage();
-
- repaint();
- }
- public void resize(int w, int h) {
- reshape(location().x, location().y, w, h);
- }
- public void reshape(int x, int y, int w, int h) {
- super.reshape(x,y,w,h);
- border.resize(w,h);
- }
- public void paint(Graphics g) {
- if(isRaised()) paintRaised();
- else paintInset ();
- }
- public void paintInset() {
- Point upperLeft = findUpperLeft();
- Graphics g = getGraphics();
- Image image = isDisabled() ?
- disabledImage : this.image;
- Dimension size = size();
-
- if(g != null) {
- border.clearInterior();
- g.drawImage(image,
- upperLeft.x + thickness + _offset,
- upperLeft.y + thickness + _offset,this);
-
- g.setColor(getBackground().darker());
- for(int i=0; i < _offset; ++i) {
- g.drawLine(thickness+i,thickness+i,
- size.width-thickness-i,thickness+i);
- g.drawLine(thickness+i,thickness+i,
- thickness+i,size.height-thickness-i);
- }
- border.paintInset();
- }
- }
- public void paintRaised() {
- Point upperLeft = findUpperLeft();
- Graphics g = getGraphics();
- Image image = isDisabled() ?
- disabledImage : this.image;
-
- if(g != null) {
- border.clearInterior();
- g.drawImage(image, upperLeft.x + thickness,
- upperLeft.y + thickness, this);
- border.paintRaised();
- }
- }
- public boolean isInside(int x, int y) {
- Dimension size = size();
- return x >= 0 && x < size.width && y >= 0 &&
- y < size.height;
- }
- public void setController(ImageButtonController controller){
- this.controller = controller;
- }
- public ImageButtonController getController() {
- return controller;
- }
- public boolean mouseDown(Event event, int x, int y) {
- if(isDisabled()) return false;
- else return controller.mouseDown(event,x,y);
- }
- public boolean mouseUp(Event event, int x, int y) {
- if(isDisabled()) return false;
- else return controller.mouseUp(event,x,y);
- }
- public boolean mouseDrag(Event event, int x, int y) {
- if(isDisabled()) return false;
- else return controller.mouseDrag(event,x,y);
- }
-
- private void createDisabledImage() {
- if(_bleachFilter == null)
- _bleachFilter =
- new BleachImageFilter(_bleachPercent);
-
- if(_bleachPercent != _bleachFilter.percent())
- _bleachFilter.percent(_bleachPercent);
-
- FilteredImageSource fis =
- new FilteredImageSource(image.getSource(),
- _bleachFilter);
-
- Util.waitForImage(this, disabledImage=createImage(fis));
- }
- private Point findUpperLeft() {
- Dimension size = size();
- return new Point((size.width/2) -
- (preferredSize.width/2),
- (size.height/2) -
- (preferredSize.height/2));
- }
-}
diff --git a/java/gjt/ImageButtonController.java b/java/gjt/ImageButtonController.java
deleted file mode 100644
index 0f6aa6f4add..00000000000
--- a/java/gjt/ImageButtonController.java
+++ /dev/null
@@ -1,79 +0,0 @@
-package gjt;
-import java.awt.Event;
-
-/**
- * A controller for an ImageButton, this abstract class
- * establishes the association between itself and an ImageButton
- * and delivers events to its ImageButton.<p>
- *
- * ImageButtonControllers must be constructed with an
- * ImageButton; the ImageButton's controller gets set by
- * ImageButtonController's constructor.<p>
- *
- * The ImageButton passed into the constructor must not be null;
- * this is enforced by an assertion.<p>
- *
- * Methods defined in the MouseController interface are left
- * for subclasses to implement. ImageButtonController defines
- * mouseMove(), mouseEnter() and mouseExit() as no-ops, so
- * that extensions of ImageButtonController only have to
- * implement mouseDown(), mouseUp() and mouseDrag(). Note
- * that extensions are still free to override mouseMove(),
- * mouseEnter() and mouseExit() if desired.<p>
- *
- * Subclasses should also call the protected XXXButton(Event)
- * methods below, where XXX is either arm, disarm, activate, or
- * deactivate as appropriate. SpringyImageButtonController is
- * a good example of this (so is StickyImageButtonController,
- * but it is more complicated than it's springy sibling).<p>
- *
- * @version 1.0, Apr 1 1996
- * @author David Geary
- * @see MouseController
- * @see ImageButton
- * @see ImageButtonEvent
- * @see SpringyImageButtonController
- * @see StickyImageButtonController
- * @see gjt.test.ImageButtonTest
- */
-public abstract class ImageButtonController
- implements MouseController {
- private ImageButton button;
-
- ImageButtonController(ImageButton button) {
- Assert.notNull(button);
- this.button = button;
- button.setController(this);
- }
- public ImageButton getButton() {
- return button;
- }
- public boolean mouseEnter(Event event, int x, int y) {
- return false;
- }
- public boolean mouseExit (Event event, int x, int y) {
- return false;
- }
- public boolean mouseMove (Event event, int x, int y) {
- return false;
- }
-
- protected void armButton(Event event) {
- button.deliverEvent(
- new ImageButtonEvent(button,
- event,
- ImageButtonEvent.ARM));
- }
- protected void disarmButton(Event event) {
- button.deliverEvent(
- new ImageButtonEvent(button,
- event,
- ImageButtonEvent.DISARM));
- }
- protected void activateButton(Event event) {
- button.deliverEvent(
- new ImageButtonEvent(button,
- event,
- ImageButtonEvent.ACTIVATE));
- }
-}
diff --git a/java/gjt/ImageButtonEvent.java b/java/gjt/ImageButtonEvent.java
deleted file mode 100644
index bb7f196698f..00000000000
--- a/java/gjt/ImageButtonEvent.java
+++ /dev/null
@@ -1,103 +0,0 @@
-package gjt;
-
-import java.awt.Event;
-
-/**
- * An extension of java.awt.Event, specifically designed for
- * ImageButton events.<p>
- *
- * ImageButtonEvents are constructed with 3 arguments:
- * <dl>
- * <dd> ImageButton in which the event occurred
- * <dd> The AWT event that triggered the image button event
- * <dd> The id of the event.
- * </dl>
- *
- * An ImageButtonEvent's id (the constructor's 3rd argument),
- * must be one of the following:
- *
- * <dl>
- * <dd> ImageButtonEvent.ARM
- * <dd> ImageButtonEvent.DISARM
- * <dd> ImageButtonEvent.ACTIVATE
- * </dl>
- *
- * ImageButtonEvent has only a constructor and a paramString()
- * method. Containers that contain ImageButtons should check
- * for ImageButtonEvents like so: <p>
- *
- * <pre>
- * // handleEvent(Event) method of a container that
- * // contains ImageButtons.
- *
- * public boolean handleEvent(Event event) {
- * if(event instanceof ImageButtonEvent) {
- * ImageButtonEvent ibevent =
- * (ImageButtonEvent)event;
- *
- * if(ibevent.isArmed()) {
- * // do something for arming
- * }
- * if(ibevent.isDisarmed()) {
- * // do something for disarming
- * }
- * if(ibevent.isActivated()) {
- * // do something for activation
- * }
- * }
- * }
- * </pre>
- *
- * ImageButtonController is the only GJT class that creates
- * ImageButtonEvents.
- *
- * @version 1.0, Apr 1 1996
- * @author David Geary
- * @see ImageButton
- * @see ImageButtonController
- * @see SpringyImageButtonController
- * @see StickyImageButtonController
- * @see gjt.test.ImageButtonTest
- */
-public class ImageButtonEvent extends Event {
- public static final int ARM = 1;
- public static final int DISARM = 2;
- public static final int ACTIVATE = 3;
-
- private int eventType;
-
- public ImageButtonEvent(ImageButton button,
- Event event,
- int type) {
- super(button, event.when, event.id, event.x, event.y,
- event.key, event.modifiers, event.arg);
-
- Assert.notFalse(type == ARM ||
- type == DISARM ||
- type == ACTIVATE);
-
- eventType = type;
- id = -1;
- }
- public boolean isArmed() {
- return eventType == ARM;
- }
- public boolean isDisarmed() {
- return eventType == DISARM;
- }
- public boolean isActivated() {
- return eventType == ACTIVATE;
- }
- protected String paramString() {
- String str = new String();
-
- if(eventType == ImageButtonEvent.ARM)
- str = "ARM";
- else if(eventType == ImageButtonEvent.DISARM)
- str = "DISARM";
- else if(eventType == ImageButtonEvent.ACTIVATE)
- str = "ACTIVATE";
-
- return super.paramString() + str;
- }
-}
diff --git a/java/gjt/ImageButtonPanel.java b/java/gjt/ImageButtonPanel.java
deleted file mode 100644
index 0d033b7967b..00000000000
--- a/java/gjt/ImageButtonPanel.java
+++ /dev/null
@@ -1,106 +0,0 @@
-package gjt;
-
-import java.awt.*;
-import java.util.Enumeration;
-import java.util.Hashtable;
-
-/**
- * A panel which contains a collection of ImageButtons,
- * arranged either horizontally or vertically.<p>
- *
- * Handling of mouse events is delegated to an image button
- * panel controller. By default, an image button panel is
- * outfitted with an instance of RadioImageButtonPanelController
- * which implements mutually exclusive selection behavior.
- *
- * @version 1.0, Apr 1 1996
- * @author David Geary
- * @see ImageButton
- * @see RadioImageButtonPanelController
- * @see gjt.test.ToolbarTest
- */
-public class ImageButtonPanel extends Panel {
- static private int _defaultGap = 5;
-
- private Hashtable nameAndButtonPairs = new Hashtable();
- private ImageButtonPanelController controller;
-
- public ImageButtonPanel(Orientation orient) {
- this(orient, Orientation.CENTER,
- Orientation.CENTER, _defaultGap);
- }
- public ImageButtonPanel(Orientation orient, int gap) {
- this(orient, Orientation.CENTER,
- Orientation.CENTER, gap);
- }
- public ImageButtonPanel(Orientation orient,
- Orientation horient,
- Orientation vorient, int gap) {
- Assert.notFalse(orient == Orientation.HORIZONTAL ||
- orient == Orientation.VERTICAL);
-
- if(orient == Orientation.VERTICAL)
- setLayout(new ColumnLayout(horient, vorient, gap));
- else
- setLayout(new RowLayout(horient, vorient, gap));
-
- setController(
- new RadioImageButtonPanelController(this));
- }
- public void setController(ImageButtonPanelController c) {
- this.controller = c;
- }
- public Insets insets() { return new Insets(10,10,10,10); }
-
- public ImageButton add(Image image, String name) {
- ImageButton button = new ImageButton(image);
- add(button);
- nameAndButtonPairs.put(name, button);
- return button;
- }
- public ImageButton add(Image image) {
- return add(image, "noname");
- }
- public void add(ImageButton button) {
- add(button, "noname");
- }
- public void add(ImageButton button, String name) {
- nameAndButtonPairs.put(name, button);
- super.add(button);
- }
- public ImageButton getButtonByName(String name) {
- return (ImageButton)nameAndButtonPairs.get(name);
- }
- public String getButtonName(ImageButton button) {
- Enumeration e = nameAndButtonPairs.keys();
- ImageButton nbutt;
- String nstr;
-
- while(e.hasMoreElements()) {
- nstr = (String)e.nextElement();
- nbutt = (ImageButton)nameAndButtonPairs.get(nstr);
-
- if(nbutt.equals(button))
- return nstr;
- }
- return null;
- }
- public void addSpacer(int sizeInPixels) {
- Assert.notFalse(sizeInPixels > 0);
- Canvas spacer = new Canvas();
- spacer.resize(sizeInPixels, sizeInPixels);
- add(spacer);
- }
- public boolean mouseDown(Event event, int x, int y) {
- return controller != null ?
- controller.mouseDown(event,x,y) : false;
- }
- public boolean mouseDrag(Event event, int x, int y) {
- return controller != null ?
- controller.mouseDrag(event,x,y) : false;
- }
- public boolean mouseUp(Event event, int x, int y) {
- return controller != null ?
- controller.mouseUp(event,x,y) : false;
- }
-}
diff --git a/java/gjt/ImageButtonPanelController.java b/java/gjt/ImageButtonPanelController.java
deleted file mode 100644
index 74f900001b6..00000000000
--- a/java/gjt/ImageButtonPanelController.java
+++ /dev/null
@@ -1,47 +0,0 @@
-package gjt;
-
-import java.awt.Event;
-
-/**
- * A controller for an ImageButtonPanel, this abstract class
- * does nothing more than establish the association between an
- * ImageButton and its controller.<p>
- *
- * ImageButtonControllers must be constructed with an
- * ImageButtonPanel; the ImageButtonPanels' controller gets set
- * by the constructor.<p>
- *
- * The ImageButton passed into the constructor must not be null;
- * this is enforced by an assertion.<p>
- *
- * Methods defined in the MouseController interface are left
- * for subclasses to implement.<p>
- *
- * @version 1.0, Apr 1 1996
- * @author David Geary
- * @see MouseController
- * @see ImageButtonPanel
- * @see gjt.test.Toolbar
- */
-abstract class ImageButtonPanelController implements
- MouseController {
- private ImageButtonPanel panel;
-
- ImageButtonPanelController(ImageButtonPanel panel) {
- Assert.notNull(panel);
- this.panel = panel;
- panel.setController(this);
- }
- public ImageButtonPanel panel() {
- return panel;
- }
- public boolean mouseEnter(Event event, int x, int y) {
- return false;
- }
- public boolean mouseExit (Event event, int x, int y) {
- return false;
- }
- public boolean mouseMove (Event event, int x, int y) {
- return false;
- }
-}
diff --git a/java/gjt/ImageCanvas.java b/java/gjt/ImageCanvas.java
deleted file mode 100644
index 49e3bc72f3f..00000000000
--- a/java/gjt/ImageCanvas.java
+++ /dev/null
@@ -1,31 +0,0 @@
-package gjt;
-
-import java.awt.*;
-
-/**
- * A Canvas that displays an image.<p>
- *
- * update() is overridden to call paint() directly, thus
- * bypassing the default implementation of update() which
- * erases the background of the canvas before calling paint().
- * This eliminates nasty flashing.<p>
- *
- * @version 1.0, Apr 1 1996
- * @author David Geary
- * @see Util
- */
-class ImageCanvas extends Canvas {
- private Image image;
-
- public ImageCanvas(Image image) {
- this.image = image;
- Util.waitForImage(this, image);
- resize(image.getWidth(this), image.getHeight(this));
- }
- public void paint(Graphics g) {
- g.drawImage(image, 0, 0, this);
- }
- public void update(Graphics g) {
- paint(g);
- }
-}
diff --git a/java/gjt/ImageScroller.java b/java/gjt/ImageScroller.java
deleted file mode 100644
index 79fdc86ea3c..00000000000
--- a/java/gjt/ImageScroller.java
+++ /dev/null
@@ -1,62 +0,0 @@
-package gjt;
-
-import java.awt.*;
-
-/**
- * An extension of Scroller that smoothly scrolls an Image.<p>
- *
- * An Image must be supplied at construction time. The image
- * may be reset any time after construction.<p>
- *
- * @version 1.0, Apr 1 1996
- * @author David Geary
- * @see Scroller
- * @see ImageCanvas
- * @see gjt.test.ScrollerTest
- */
-public class ImageScroller extends Scroller {
- private Image image;
- private ScrollerImageCanvas canvas;
-
- public ImageScroller(Image image) {
- viewport.setLayout(new BorderLayout());
- setImage(image);
- }
- public void resetImage(Image image) {
- viewport.remove(canvas);
- setImage(image);
- invalidate();
- validate();
- }
- public void scrollTo(int x, int y) {
- Graphics g = canvas.getGraphics();
- if(g != null) {
- g.translate(-x,-y);
- g.drawImage(image, 0, 0, this);
- }
- }
- public Dimension getScrollAreaSize() {
- return new Dimension(image.getWidth(this),
- image.getHeight(this));
- }
- private void setImage(Image image) {
- this.image = image;
- hbar.setValue(0);
- vbar.setValue(0);
- viewport.add("Center",
- canvas = new ScrollerImageCanvas(this, image));
- }
-}
-
-class ScrollerImageCanvas extends ImageCanvas {
- private ImageScroller scroller;
-
- public ScrollerImageCanvas(ImageScroller scroller,
- Image image) {
- super(image);
- this.scroller = scroller;
- }
- public void paint(Graphics g) {
- scroller.repaint();
- }
-}
diff --git a/java/gjt/LabelCanvas.java b/java/gjt/LabelCanvas.java
deleted file mode 100644
index ba733249b76..00000000000
--- a/java/gjt/LabelCanvas.java
+++ /dev/null
@@ -1,93 +0,0 @@
-package gjt;
-
-import java.awt.*;
-
-/**
- * A selectable label. Clients can set the insets around the
- * label via setInsets(Insets).
- *
- * LabelCanvases generate SelectionEvents when they are
- * selected or deselected.<p>
- *
- * @version 1.0, Apr 1 1996
- * @author David Geary
- * @see SelectionEvent
- * @see gjt.test.LabelCanvasTest
- */
-public class LabelCanvas extends Canvas {
- private String label;
- private boolean selected = false;
- private Insets insets = new Insets(2,2,2,2);
- private Point labelLoc = new Point(0,0);
-
- public LabelCanvas(String label) {
- this.label = label;
- }
- public void paint(Graphics g) {
- if(selected == true) paintSelected(g);
- else
- g.drawString(label, labelLoc.x, labelLoc.y);
- }
- public void setInsets(Insets insets) {
- this.insets = insets;
- repaint();
- }
- public String getLabel () { return label; }
- public boolean isSelected() { return selected; }
- public void select () { selected = true; repaint(); }
- public void deselect () { selected = false; repaint(); }
-
- public void resize(int w, int h) {
- reshape(location().x, location().y, w, h);
- }
- public void reshape(int x, int y, int w, int h) {
- super.reshape(x, y, w, h);
- labelLoc = labelLocation(getGraphics());
- }
- public Dimension minimumSize() {
- return preferredSize();
- }
- public Dimension preferredSize() {
- FontMetrics fm = getFontMetrics(getFont());
- return new Dimension(
- insets.left + fm.stringWidth(label) +
- insets.right,
- insets.top + fm.getHeight() +
- insets.bottom);
- }
- public boolean mouseDown(Event event, int x, int y) {
- if(selected) deselect();
- else select ();
-
- int eventType = isSelected() ?
- SelectionEvent.SELECT :
- SelectionEvent.DESELECT;
-
- Event newEvent = new SelectionEvent(this,
- event,
- eventType);
- deliverEvent(newEvent);
-
- return true;
- }
- protected void paintSelected(Graphics g) {
- Point labelLoc = labelLocation(g);
-
- g.setColor(getForeground());
- g.fillRect(0,0,size().width,size().height);
- g.setColor(getBackground());
- g.drawString(label, labelLoc.x, labelLoc.y);
- }
- protected String paramString() {
- return super.paramString() + ",text=" + label;
- }
- private Point labelLocation(Graphics g) {
- Dimension size = size();
- FontMetrics fm = g.getFontMetrics();
-
- int x = (size.width/2) - (fm.stringWidth(label)/2);
- int y = (size.height/2) + (fm.getAscent()/2) -
- fm.getLeading();
- return new Point(x,y);
- }
-}
diff --git a/java/gjt/Makefile b/java/gjt/Makefile
deleted file mode 100644
index ef6e80748a7..00000000000
--- a/java/gjt/Makefile
+++ /dev/null
@@ -1,67 +0,0 @@
-# Makefile
-
-.SUFFIXES: .java .class
-
-JACE_WRAPPER = ..
-CLASSDIR = $(JACE_WRAPPER)/classes
-DOCDIR = $(JACE_WRAPPER)/doc
-
-CLASSPATH := $(CLASSDIR):$(CLASSPATH)
-
-all:
- javac -d ${JACE_WRAPPER}/classes $(files)
-
-clean:
- rm -rf *~
-
-realclean: clean
- rm -rf $(JACE_WRAPPER)/classes/gjt
-
-files = Assert.java \
- Border.java \
- BulletinLayout.java \
- CardPanel.java \
- ChoiceCardPanel.java \
- ColumnLayout.java \
- ComponentScroller.java \
- DialogClient.java \
- DrawingPanel.java \
- DrawnRectangle.java \
- EtchedBorder.java \
- EtchedRectangle.java \
- Etching.java \
- ExclusiveImageButtonPanel.java \
- FontDialog.java \
- GJTDialog.java \
- IconCardPanel.java \
- ImageButton.java \
- ImageButtonController.java \
- ImageButtonEvent.java \
- ImageButtonPanel.java \
- ImageButtonPanelController.java \
- ImageCanvas.java \
- ImageScroller.java \
- LabelCanvas.java \
- MessageDialog.java \
- MouseController.java \
- Orientation.java \
- ProgressDialog.java \
- QuestionDialog.java \
- RadioImageButtonPanelController.java \
- RowLayout.java \
- Scroller.java \
- ScrollerLayout.java \
- SelectionEvent.java \
- Separator.java \
- SpringyImageButtonController.java \
- StateButton.java \
- StateButtonController.java \
- StickyImageButtonController.java \
- Stopwatch.java \
- StopwatchClient.java \
- ThreeDBorder.java \
- ThreeDBorderStyle.java \
- ThreeDRectangle.java \
- Toolbar.java \
- Util.java \
- YesNoDialog.java
diff --git a/java/gjt/MessageDialog.java b/java/gjt/MessageDialog.java
deleted file mode 100644
index 4b00bc7033f..00000000000
--- a/java/gjt/MessageDialog.java
+++ /dev/null
@@ -1,77 +0,0 @@
-package gjt;
-
-import java.awt.*;
-
-/**
- * A dialog that displays a message and comes equipped with an
- * Ok button with which the dialog is dismissed.<p>
- *
- * Note that there is only one MessageDialog, that gets
- * reused. Clients must call getMessageDialog() in order to
- * access the one and only MessageDialog.<p>
- *
- * <em>Note: The 1.0.2 version of the AWT seems to have
- * introduced a bug that causes pack() to work incorrectly
- * under Win95.</em>
- *
- * @version 1.0, Apr 1 1996
- * @author David Geary
- * @see GJTDialog
- * @see gjt.test.MessageDialogTest
- * @see gjt.test.DialogTest
- */
-public class MessageDialog extends GJTDialog {
- static private MessageDialog _theMessageDialog;
-
- private Button okButton;
- private String message;
- private ButtonPanel buttonPanel = new ButtonPanel();
-
- static public MessageDialog getMessageDialog(Frame frame,
- DialogClient client,
- String title,
- String message) {
- if(_theMessageDialog == null)
- _theMessageDialog = new MessageDialog(frame,
- client,
- title,
- message);
- else {
- _theMessageDialog.setClient (client);
- _theMessageDialog.setTitle (title);
- _theMessageDialog.setMessage(message);
- }
- return _theMessageDialog;
- }
- private MessageDialog(Frame frame, DialogClient client,
- String title, String message) {
- super(frame, title, client, true);
- okButton = buttonPanel.add("Ok");
-
- setLayout(new BorderLayout());
- add("Center", new MessagePanel(message));
- add("South", buttonPanel);
- pack();
- }
- public void show() {
- okButton.requestFocus();
- super.show();
- }
- public boolean action(Event event, Object what) {
- hide();
- client.dialogDismissed(this);
- return true;
- }
- private void setMessage(String message) {
- this.message = message;
- }
-}
-
-class MessagePanel extends Panel {
- public MessagePanel(String message) {
- add("Center", new Label(message, Label.CENTER));
- }
- public Insets insets() {
- return new Insets(10,10,10,10);
- }
-}
diff --git a/java/gjt/MouseController.java b/java/gjt/MouseController.java
deleted file mode 100644
index f044adee5ba..00000000000
--- a/java/gjt/MouseController.java
+++ /dev/null
@@ -1,32 +0,0 @@
-package gjt;
-
-import java.awt.Event;
-
-/**
- * An interface for handling mouse events.<p>
- *
- * Components delegate handling of mouse events to a
- * MouseController derivation.<p>
- *
- * For instance:<p>
- *<pre>
- * mouseDown(Event event, int x, int y) {
- * return controller.mouseDown(event,x,y);
- * }
- *</pre>
- * @version 1.0, Apr 1 1996
- * @author David Geary
- * @see ImageButton
- * @see ImageButtonController
- * @see SpringyImageButtonController
- * @see StickyImageButtonController
- */
-public interface MouseController {
- public boolean mouseEnter(Event event, int x, int y);
- public boolean mouseExit (Event event, int x, int y);
-
- public boolean mouseMove (Event event, int x, int y);
- public boolean mouseDown (Event event, int x, int y);
- public boolean mouseUp (Event event, int x, int y);
- public boolean mouseDrag (Event event, int x, int y);
-}
diff --git a/java/gjt/Orientation.java b/java/gjt/Orientation.java
deleted file mode 100644
index f83b27451da..00000000000
--- a/java/gjt/Orientation.java
+++ /dev/null
@@ -1,87 +0,0 @@
-package gjt;
-
-/**
- * Constants for orientations (and alignments).<p>
- *
- * This class may not be instantiated.
- *
- * @version 1.0, Apr 11 1996
- * @author David Geary
- */
-public class Orientation {
- public static final Orientation BAD = new Orientation();
- public static final Orientation NORTH = new Orientation();
- public static final Orientation SOUTH = new Orientation();
- public static final Orientation EAST = new Orientation();
- public static final Orientation WEST = new Orientation();
- public static final Orientation CENTER = new Orientation();
- public static final Orientation TOP = new Orientation();
- public static final Orientation LEFT = new Orientation();
- public static final Orientation RIGHT = new Orientation();
- public static final Orientation BOTTOM = new Orientation();
-
- public static final Orientation HORIZONTAL =
- new Orientation();
- public static final Orientation VERTICAL =
- new Orientation();
-
- static public Orientation fromString(String s) {
- Orientation o = BAD;
-
- if(s.equals("NORTH") || s.equals("north")) o = NORTH;
- else if(s.equals("SOUTH") || s.equals("south"))
- o = SOUTH;
- else if(s.equals("EAST") || s.equals("east"))
- o = EAST;
- else if(s.equals("WEST") || s.equals("west"))
- o = WEST;
- else if(s.equals("CENTER") || s.equals("center"))
- o = CENTER;
- else if(s.equals("TOP") || s.equals("top"))
- o = TOP;
- else if(s.equals("LEFT") || s.equals("left"))
- o = LEFT;
- else if(s.equals("RIGHT") || s.equals("right"))
- o = RIGHT;
- else if(s.equals("BOTTOM") || s.equals("bottom"))
- o = BOTTOM;
- else if(s.equals("VERTICAL") || s.equals("vertical"))
- o = VERTICAL;
- else if(s.equals("HORIZONTAL") ||
- s.equals("horizontal"))
- o = HORIZONTAL;
-
- return o;
- }
- public String toString() {
- String s = new String();
-
- if(this == Orientation.NORTH)
- s = getClass().getName() + "=NORTH";
- else if(this == Orientation.SOUTH)
- s = getClass().getName() + "=SOUTH";
- else if(this == Orientation.EAST)
- s = getClass().getName() + "=EAST";
- else if(this == Orientation.WEST)
- s = getClass().getName() + "=WEST";
- else if(this == Orientation.CENTER)
- s = getClass().getName() + "=CENTER";
- else if(this == Orientation.TOP)
- s = getClass().getName() + "=TOP";
- else if(this == Orientation.LEFT)
- s = getClass().getName() + "=LEFT";
- else if(this == Orientation.RIGHT)
- s = getClass().getName() + "=RIGHT";
- else if(this == Orientation.BOTTOM)
- s = getClass().getName() + "=BOTTOM";
- else if(this == Orientation.HORIZONTAL)
- s = getClass().getName() + "=HORIZONTAL";
- else if(this == Orientation.VERTICAL)
- s = getClass().getName() + "=VERTICAL";
- else if(this == Orientation.BAD)
- s = getClass().getName() + "=BAD";
-
- return s;
- }
- private Orientation() { } // Defeat instantiation
-}
diff --git a/java/gjt/ProgressDialog.java b/java/gjt/ProgressDialog.java
deleted file mode 100644
index de7d4be1674..00000000000
--- a/java/gjt/ProgressDialog.java
+++ /dev/null
@@ -1,67 +0,0 @@
-package gjt;
-
-import java.awt.*;
-
-/**
- * A dialog that uses a bargauge to indicate progress made on a
- * task that presumably takes some time to complete.
- *
- * ProgressDialog implements the singleton pattern: clients
- * may only access the one and only ProgressDialog through the
- * static getProgressDialog() method.<p>
- *
- * <em>Note: The 1.0.2 version of the AWT has introduced a
- * bug that breaks the ProgressDialog under Motif - the
- * bargauge does not function. This worked fine in 1.0.1.<em>
- *
- * @version 1.0, Apr 1 1996
- * @author David Geary
- * @see GJTDialog
- * @see Bargauge
- * @see gjt.test.DialogTest
- */
-public class ProgressDialog extends GJTDialog {
- static private ProgressDialog _theProgressDialog;
- static private int _preferredWidth = 400;
- static private int _preferredHeight = 75;
- static private Color _color;
- static private boolean _dialogUp;
-
- private Bargauge bargauge;
-
- static public ProgressDialog getProgressDialog(
- Frame frame,
- String title,
- Color color){
- if(_theProgressDialog == null)
- _theProgressDialog = new ProgressDialog(frame,
- title,
- color);
- else {
- _theProgressDialog.setTitle (title);
- _theProgressDialog.reset ();
- }
- return _theProgressDialog;
- }
- private ProgressDialog(Frame frame,
- String title,
- Color color) {
- super(frame, title, null, true);
- setLayout(new BorderLayout());
- add("Center", bargauge = new Bargauge(color));
- pack();
- }
- public void setPercentComplete(double percent) {
- bargauge.setFillPercent(percent);
- bargauge.fill();
-
- if(percent == 100)
- hide();
- }
- public void reset() {
- bargauge.setFillPercent(0);
- }
- public Dimension preferredSize() {
- return new Dimension(_preferredWidth, _preferredHeight);
- }
-}
diff --git a/java/gjt/QuestionDialog.java b/java/gjt/QuestionDialog.java
deleted file mode 100644
index 042b491e178..00000000000
--- a/java/gjt/QuestionDialog.java
+++ /dev/null
@@ -1,130 +0,0 @@
-package gjt;
-
-import java.awt.*;
-
-/**
- * A dialog that presents a prompt and a TextField into which
- * a reply may be entered. Comes complete with an Ok button
- * and a Cancel button, whose uses will be left to the
- * imagination.<p>
- *
- * @version 1.0, Apr 1 1996
- * @author David Geary
- * @see GJTDialog
- * @see gjt.test.DialogTest
- */
-public class QuestionDialog extends GJTDialog {
- static private int _defaultTextFieldSize = 20;
- private Button okButton;
- private Button cancelButton;
- private String question;
- private TextField textField;
- private boolean wasCancelled;
- private ButtonPanel buttonPanel = new ButtonPanel();
-
- public QuestionDialog(Frame frame, DialogClient client,
- String title, String question,
- String initialResponse) {
- this(frame, client, title, question, initialResponse,
- _defaultTextFieldSize);
- }
- public QuestionDialog(Frame frame, DialogClient client,
- String title, String question) {
- this(frame, client, title,
- question, null, _defaultTextFieldSize);
- }
- public QuestionDialog(Frame frame, DialogClient client,
- String title, String question,
- int textFieldSize) {
- this(frame, client, title,
- question, null, textFieldSize);
- }
- public QuestionDialog(Frame frame, DialogClient client,
- String title, String question,
- String initialResponse,
- int textFieldSize) {
- super(frame, title, client, true);
-
- QuestionPanel questionPanel;
-
- okButton = buttonPanel.add("Ok");
- cancelButton = buttonPanel.add("Cancel");
-
- setLayout(new BorderLayout());
- add("North", questionPanel =
- new QuestionPanel(this, question,
- initialResponse, textFieldSize));
- add("South", buttonPanel);
- textField = questionPanel.getTextField();
- pack();
- }
- public boolean action(Event event, Object what) {
- if(event.target == cancelButton) wasCancelled = true;
- else wasCancelled = false;
-
- hide();
- dispose();
- client.dialogDismissed(this);
- return true;
- }
- public void show() {
- textField.requestFocus();
- super.show();
- }
- public void returnInTextField() {
- okButton.requestFocus();
- }
- public TextField getTextField() {
- return textField;
- }
- public String getAnswer() {
- return textField.getText();
- }
- public boolean wasCancelled() {
- return wasCancelled;
- }
- private void setQuestion(String question) {
- this.question = question;
- }
-}
-
-class QuestionPanel extends Panel {
- private TextField field;
- private QuestionDialog dialog;
-
- public QuestionPanel(QuestionDialog dialog,
- String question) {
- this(dialog, question, null, 0);
- }
- public QuestionPanel(QuestionDialog dialog, String question,
- int columns) {
- this(dialog, question, null, columns);
- }
- public QuestionPanel(QuestionDialog dialog, String question,
- String initialResponse, int cols) {
- this.dialog = dialog;
- setLayout(new RowLayout());
- add(new Label(question));
-
- if(initialResponse != null) {
- if(cols != 0)
- add(field=new TextField(initialResponse, cols));
- else
- add(field=new TextField(initialResponse));
- }
- else {
- if(cols != 0) add(field = new TextField(cols));
- else add(field = new TextField());
- }
- }
- public TextField getTextField() {
- return field;
- }
- public boolean action(Event event, Object what) {
- dialog.returnInTextField();
- return false;
- }
- public Insets insets() {
- return new Insets(10,10,10,10);
- }
-}
diff --git a/java/gjt/RadioImageButtonPanelController.java b/java/gjt/RadioImageButtonPanelController.java
deleted file mode 100644
index 8dc34d25bff..00000000000
--- a/java/gjt/RadioImageButtonPanelController.java
+++ /dev/null
@@ -1,45 +0,0 @@
-package gjt;
-
-import java.awt.Event;
-
-/**
- * A controller for an ImageButtonPanel that ensures that only
- * one ImageButton in its associated ImageButtonPanel is
- * selected at a time.<p>
- *
- * @version 1.0, Apr 1 1996
- * @author David Geary
- * @see ImageButtonPanelController
- * @see ImageButton
- * @see ImageButtonPanel
- * @see gjt.test.ToolbarTest
- */
-class RadioImageButtonPanelController
- extends ImageButtonPanelController {
- ImageButton down;
-
- public RadioImageButtonPanelController(
- ImageButtonPanel panel) {
- super(panel);
- }
- public boolean mouseDown(Event event, int x, int y) {
- ImageButton button;
-
- if(event.target instanceof ImageButton) {
- button = (ImageButton)event.target;
- if(down == button) return false;
-
- if(down != null)
- down.paintRaised();
-
- down = button;
- }
- return false;
- }
- public boolean mouseUp(Event event, int x, int y) {
- return false;
- }
- public boolean mouseDrag(Event event, int x, int y) {
- return false;
- }
-}
diff --git a/java/gjt/RowLayout.java b/java/gjt/RowLayout.java
deleted file mode 100644
index eecd074c34f..00000000000
--- a/java/gjt/RowLayout.java
+++ /dev/null
@@ -1,153 +0,0 @@
-package gjt;
-
-import java.awt.*;
-
-/**
- * RowLayout lays out components in a row. At construction
- * time, both horizontal orientation and vertical orientation
- * may be specified, along with the gap to use between
- * components.<p>
- *
- * Horizontal orientation must be one of the following:
- * <dl>
- * <dd> LEFT
- * <dd> CENTER
- * <dd> RIGHT
- * </dl>
- *
- * Vertical orientation must be one of the following:
- * <dl>
- * <dd> TOP
- * <dd> CENTER
- * <dd> BOTTOM
- * </dl>
- *
- * @version 1.0, Apr 1 1996
- * @author David Geary
- * @see ColumnLayout
- * @see Orientation
- */
-public class RowLayout implements LayoutManager {
- static private int _defaultGap = 5;
-
- private int gap;
- private Orientation verticalOrientation;
- private Orientation horizontalOrientation;
-
- public RowLayout() {
- this(Orientation.CENTER,
- Orientation.CENTER, _defaultGap);
- }
- public RowLayout(int gap) {
- this(Orientation.CENTER, Orientation.CENTER, gap);
- }
- public RowLayout(Orientation horizontalOrient,
- Orientation verticalOrient) {
- this(horizontalOrient, verticalOrient, _defaultGap);
- }
- public RowLayout(Orientation horizontalOrient,
- Orientation verticalOrient, int gap) {
- Assert.notFalse(gap >= 0);
- Assert.notFalse(
- horizontalOrient == Orientation.LEFT ||
- horizontalOrient == Orientation.CENTER ||
- horizontalOrient == Orientation.RIGHT);
- Assert.notFalse(
- verticalOrient == Orientation.TOP ||
- verticalOrient == Orientation.CENTER ||
- verticalOrient == Orientation.BOTTOM);
-
- this.gap = gap;
- this.verticalOrientation = verticalOrient;
- this.horizontalOrientation = horizontalOrient;
- }
-
- public void addLayoutComponent(String name, Component comp) {
- }
- public void removeLayoutComponent(Component comp) {
- }
-
- public Dimension preferredLayoutSize(Container target) {
- Insets insets = target.insets();
- Dimension dim = new Dimension(0,0);
- int ncomponents = target.countComponents();
- Component comp;
- Dimension d;
-
- for (int i = 0 ; i < ncomponents ; i++) {
- comp = target.getComponent(i);
-
- if(comp.isVisible()) {
- d = comp.preferredSize();
-
- dim.width += d.width;
- dim.height = Math.max(d.height, dim.height);
-
- if(i > 0) dim.width += gap;
- }
- }
- dim.width += insets.left + insets.right;
- dim.height += insets.top + insets.bottom;
-
- return dim;
- }
- public Dimension minimumLayoutSize(Container target) {
- Insets insets = target.insets();
- Dimension dim = new Dimension(0,0);
- int ncomponents = target.countComponents();
- Component comp;
- Dimension d;
-
- for (int i = 0 ; i < ncomponents ; i++) {
- comp = target.getComponent(i);
-
- if(comp.isVisible()) {
- d = comp.minimumSize();
-
- dim.width += d.width;
- dim.height = Math.max(d.height, dim.height);
-
- if(i > 0) dim.width += gap;
- }
- }
- dim.width += insets.left + insets.right;
- dim.height += insets.top + insets.bottom;
-
- return dim;
- }
- public void layoutContainer(Container target) {
- Insets insets = target.insets();
- int ncomponents = target.countComponents();
- int top = 0;
- int left = insets.left;
- Dimension tps = target.preferredSize();
- Dimension targetSize = target.size();
- Component comp;
- Dimension ps;
-
- if(horizontalOrientation == Orientation.CENTER)
- left = left + (targetSize.width/2) - (tps.width/2);
- if(horizontalOrientation == Orientation.RIGHT)
- left = left + targetSize.width - tps.width;
-
- for (int i = 0 ; i < ncomponents ; i++) {
- comp = target.getComponent(i);
-
- if(comp.isVisible()) {
- ps = comp.preferredSize();
-
- if(verticalOrientation == Orientation.CENTER)
- top = (targetSize.height/2) - (ps.height/2);
- else if(verticalOrientation == Orientation.TOP)
- top = insets.top;
- else if(
- verticalOrientation == Orientation.BOTTOM)
- top = targetSize.height -
- ps.height - insets.bottom;
-
- comp.reshape(left,top,ps.width,ps.height);
- left += ps.width + gap;
- }
- }
- }
-}
diff --git a/java/gjt/Scroller.java b/java/gjt/Scroller.java
deleted file mode 100644
index 61d6e5f55e5..00000000000
--- a/java/gjt/Scroller.java
+++ /dev/null
@@ -1,154 +0,0 @@
-package gjt;
-
-import java.awt.*;
-
-/**
- * Each Scroller contains a Panel (viewport) and two Scrollbars
- * (horizontal and vertical). Works in conjunction with a
- * ScrollerLayout, that lays out the viewport and two
- * scrollbars.<p>
- *
- * Subclasses must override:<p>
- * <dl>
- * <dd> abstract public void scrollTo(int x, int y)
- * <dd> abstract public Dimension getScrollAreaSize()
- * </dl>
- *
- * @version 1.0, Apr 1 1996
- * @author David Geary
- * @see ComponentScroller
- * @see ImageScroller
- * @see ScrollerLayout
- * @see gjt.test.ComponentScrollerTest
- * @see gjt.test.ImageScrollerTest
- */
-public abstract class Scroller extends Panel {
- protected Panel viewport;
- protected Scrollbar hbar, vbar;
-
- abstract public void scrollTo(int x, int y);
- abstract public Dimension getScrollAreaSize();
-
- public Scroller() {
- setLayout(new ScrollerLayout(this));
- add("Scroll", viewport = new Panel());
- add("East", vbar = new Scrollbar(Scrollbar.VERTICAL));
- add("South",hbar = new Scrollbar(Scrollbar.HORIZONTAL));
- }
- public Scrollbar getHorizontalScrollbar() {return hbar; }
- public Scrollbar getVerticalScrollbar () {return vbar; }
- public Panel getViewport () {return viewport;}
-
- public boolean handleEvent(Event event) {
- boolean handledEvent;
-
- switch(event.id) {
- case Event.SCROLL_LINE_UP: scrollLineUp(event);
- break;
- case Event.SCROLL_LINE_DOWN: scrollLineDown(event);
- break;
- case Event.SCROLL_PAGE_UP: scrollPageUp (event);
- break;
- case Event.SCROLL_PAGE_DOWN: scrollPageDown(event);
- break;
- case Event.SCROLL_ABSOLUTE: scrollAbsolute(event);
- break;
- }
- handledEvent = event.id == Event.SCROLL_LINE_UP ||
- event.id == Event.SCROLL_LINE_DOWN ||
- event.id == Event.SCROLL_PAGE_UP ||
- event.id == Event.SCROLL_PAGE_DOWN ||
- event.id == Event.SCROLL_ABSOLUTE;
-
- if(handledEvent) return true;
- else return super.handleEvent(event);
- }
- public void paint (Graphics g) { scroll(); }
- public void update(Graphics g) { paint(g); }
-
- public void manageScrollbars() {
- manageHorizontalScrollbar();
- manageVerticalScrollbar ();
- }
- protected void manageHorizontalScrollbar() {
- Dimension size = size();
- Dimension scrollAreaSize = getScrollAreaSize();
-
- if(vbar.isVisible())
- size.width -= vbar.size().width;
-
- if(scrollAreaSize.width > size.width) {
- if( ! hbar.isVisible())
- hbar.show();
- }
- else if(hbar.isVisible()) {
- hbar.hide();
- hbar.setValue(0);
- repaint();
- }
- }
- protected void manageVerticalScrollbar() {
- Dimension size = size();
- Dimension scrollAreaSize = getScrollAreaSize();
-
- if(hbar.isVisible())
- size.height -= hbar.size().height;
-
- if(scrollAreaSize.height > size.height) {
- if( ! vbar.isVisible())
- vbar.show();
- }
- else if(vbar.isVisible()) {
- vbar.hide();
- vbar.setValue(0);
- repaint();
- }
- }
- public void setScrollbarValues() {
- if(hbar.isVisible()) setHorizontalScrollbarValues();
- if(vbar.isVisible()) setVerticalScrollbarValues();
- }
- protected void setHorizontalScrollbarValues() {
- Dimension vsize = viewport.size();
- Dimension scrollAreaSize = getScrollAreaSize();
- int max = scrollAreaSize.width - vsize.width;
-
- hbar.setValues(hbar.getValue(), // value
- vsize.width, // amt visible/page
- 0, // minimum
- max); // maximum
-
- setHorizontalLineAndPageIncrements();
- }
- protected void setVerticalScrollbarValues() {
- Dimension vsize = viewport.size();
- Dimension scrollAreaSize = getScrollAreaSize();
- int max = scrollAreaSize.height - vsize.height;
-
- vbar.setValues(vbar.getValue(), // value
- vsize.height, // amt visible/page
- 0, // minimum
- max); // maximum
-
- setVerticalLineAndPageIncrements();
- }
- protected void scrollLineUp (Event event) { scroll(); }
- protected void scrollLineDown(Event event) { scroll(); }
- protected void scrollPageUp (Event event) { scroll(); }
- protected void scrollPageDown(Event event) { scroll(); }
- protected void scrollAbsolute(Event event) { scroll(); }
-
- protected void setHorizontalLineAndPageIncrements() {
- Dimension size = getScrollAreaSize();
- hbar.setLineIncrement(size.width/10);
- hbar.setPageIncrement(size.width/5);
- }
- protected void setVerticalLineAndPageIncrements() {
- Dimension size = getScrollAreaSize();
- vbar.setLineIncrement(size.height/10);
- vbar.setPageIncrement(size.height/5);
- }
- protected void scroll() {
- scrollTo(hbar.getValue(), vbar.getValue());
- }
-}
diff --git a/java/gjt/ScrollerLayout.java b/java/gjt/ScrollerLayout.java
deleted file mode 100644
index 21012fd5688..00000000000
--- a/java/gjt/ScrollerLayout.java
+++ /dev/null
@@ -1,160 +0,0 @@
-package gjt;
-
-import java.awt.*;
-
-/**
- * Layout manager for a Scroller.<p>
- *
- * Lays out 3 Components: a horizontal scrollbar, a vertical
- * scrollbar and a viewport (Panel).<p>
- *
- * Valid names/Component pairs that can be added via
- * addLayoutComponent(String, Component):<p>
- * <dl>
- * <dd> "East" Scrollbar (vertical)
- * <dd> "West" Scrollbar (vertical)
- * <dd> "North" Scrollbar (horizontal)
- * <dd> "South" Scrollbar (horizontal)
- * <dd> "Scroll" Panel (viewport)
- * </dl>
- *
- * @version 1.0, Apr 1 1996
- * @author David Geary
- * @see Scroller
- */
-public class ScrollerLayout implements LayoutManager {
- private Scroller scroller;
- private Scrollbar hbar, vbar;
- private String hbarPosition, vbarPosition;
- private Component viewport;
- private int top, bottom, right, left;
-
- public ScrollerLayout(Scroller scroller) {
- this.scroller = scroller;
- }
-
- public void addLayoutComponent(String name,
- Component comp) {
- Assert.notFalse(comp != null);
-
- if(comp instanceof Scrollbar) {
- Scrollbar sbar = (Scrollbar)comp;
-
- if(sbar.getOrientation() == Scrollbar.VERTICAL) {
- Assert.notFalse("East".equals(name) == true ||
- "West".equals(name) == true);
- vbar = sbar;
- vbarPosition = name;
- }
- else {
- Assert.notFalse("North".equals(name) == true ||
- "South".equals(name) == true);
- hbar = sbar;
- hbarPosition = name;
- }
- }
- else {
- Assert.notFalse("Scroll".equals(name) == true);
- viewport = comp;
- }
- }
- public void removeLayoutComponent(Component comp) {
- if(comp == vbar) vbar = null;
- if(comp == hbar) hbar = null;
- if(comp == viewport) viewport = null;
- }
- public Dimension preferredLayoutSize(Container parent) {
- Dimension dim = new Dimension(0,0);
-
- if(vbar != null && vbar.isVisible()) {
- Dimension d = vbar.preferredSize();
- dim.width += d.width;
- dim.height = d.height;
- }
- if(hbar != null && hbar.isVisible()) {
- Dimension d = hbar.preferredSize();
- dim.width += d.width;
- dim.height = Math.max(d.height, dim.height);
- }
- if(viewport != null && viewport.isVisible()) {
- Dimension d = viewport.preferredSize();
- dim.width += d.width;
- dim.height = Math.max(d.height, dim.height);
- }
- return dim;
- }
- public Dimension minimumLayoutSize(Container parent) {
- Dimension dim = new Dimension(0,0);
-
- if(vbar != null && vbar.isVisible()) {
- Dimension d = vbar.minimumSize();
- dim.width += d.width;
- dim.height = d.height;
- }
- if(hbar != null && hbar.isVisible()) {
- Dimension d = hbar.minimumSize();
- dim.width += d.width;
- dim.height = Math.max(d.height, dim.height);
- }
- if(viewport != null && viewport.isVisible()) {
- Dimension d = viewport.minimumSize();
- dim.width += d.width;
- dim.height = Math.max(d.height, dim.height);
- }
- return dim;
- }
- public void layoutContainer(Container target) {
- Insets insets = target.insets();
- Dimension targetSize = target.size();
-
- top = insets.top;
- bottom = targetSize.height - insets.bottom;
- left = insets.left;
- right = targetSize.width - insets.right;
-
- scroller.manageScrollbars();
-
- reshapeHorizontalScrollbar();
- reshapeVerticalScrollbar ();
- reshapeViewport ();
-
- scroller.setScrollbarValues();
- }
- private void reshapeHorizontalScrollbar() {
- if(hbar != null && hbar.isVisible()) {
- if("North".equals(hbarPosition)) {
- Dimension d = hbar.preferredSize();
- hbar.reshape(left, top, right - left, d.height);
- top += d.height;
- }
- else { // South
- Dimension d = hbar.preferredSize();
- hbar.reshape(left, bottom - d.height,
- right - left,d.height);
- bottom -= d.height;
- }
- }
- }
- private void reshapeVerticalScrollbar() {
- if(hbar != null && vbar.isVisible()) {
- if("East".equals(vbarPosition)) {
- Dimension d = vbar.preferredSize();
- vbar.reshape(right - d.width, top,
- d.width, bottom - top);
- right -= d.width;
- }
- else { // West
- Dimension d = vbar.preferredSize();
- vbar.reshape(left, top,
- d.width, bottom - top);
- left += d.width;
- }
- }
- }
- private void reshapeViewport() {
- if(viewport != null && viewport.isVisible()) {
- viewport.reshape(left, top,
- right - left, bottom - top);
- }
- }
-}
diff --git a/java/gjt/SelectionEvent.java b/java/gjt/SelectionEvent.java
deleted file mode 100644
index 4bcab59cd0a..00000000000
--- a/java/gjt/SelectionEvent.java
+++ /dev/null
@@ -1,82 +0,0 @@
-package gjt;
-
-import java.awt.Event;
-
-/**
- * An extension of java.awt.Event, specifically designed for
- * selection events.<p>
- *
- * SelectionEvents are constructed with arguments:<p>
- * <dl>
- * <dd> The AWT event that triggered the image button event
- * <dd> The id of the event.
- * </dl>
- *
- * An SelectionEvent's id (the constructor's 3rd argument),
- * must be one of the following:<p>
- * <dl>
- * <dd> SelectionEvent.SELECT
- * <dd> SelectionEvent.DESELECT
- * </dl>
- *
- * SelectionEvent has only a constructor and a paramString()
- * method. Containers that contain objects which are capable
- * of generating SelectionEvents should check the events
- * like so:
- *
- * <pre>
- * // handleEvent(Event) method of a container that
- * // contain objects that generate SelectionEvents
- *
- * public boolean handleEvent(Event event) {
- * if(event instanceof SelectionEvent) {
- * SelectionEvent sevent =
- * (SelectionEvent)event;
- *
- * if(sevent.isSelected()) {
- * // do something for selection
- * }
- * else {
- * // do something for deselection
- * }
- * }
- * }
- * </pre>
- *
- * @version 1.0, Apr 1 1996
- * @author David Geary
- * @see LabelCanvas
- * @see ImageButtonEvent
- * @see gjt.test.LabelCanvasTest
- */
-public class SelectionEvent extends Event {
- public static final int SELECT = 1;
- public static final int DESELECT = 2;
-
- private int eventType;
-
- public SelectionEvent(Object target,
- Event event,
- int type) {
- super(target, event.when, event.id, event.x, event.y,
- event.key, event.modifiers, event.arg);
-
- Assert.notFalse(type == SELECT || type == DESELECT);
-
- eventType = type;
- id = -1;
- }
- public boolean isSelected() {
- return eventType == SELECT;
- }
- protected String paramString() {
- String typeString = new String();
-
- if(eventType == SelectionEvent.SELECT)
- typeString = "SELECT";
- else if(eventType == SelectionEvent.DESELECT)
- typeString = "DESELECT";
-
- return super.paramString() + typeString;
- }
-}
diff --git a/java/gjt/Separator.java b/java/gjt/Separator.java
deleted file mode 100644
index 6bd610e1ad9..00000000000
--- a/java/gjt/Separator.java
+++ /dev/null
@@ -1,90 +0,0 @@
-package gjt;
-
-import java.awt.*;
-
-/**
- * A separator that is drawn either vertically or horizontally
- * depending upon how it is laid out. Can be drawn either
- * etched-in or etched-out, with varying thicknesses. Both
- * thickness and etching are settable at construction time
- * only.<p>
- *
- * Default thickness is 2 pixels and default etching is
- * Etching.IN. Note that thicknesses greater than 4 loose the
- * etching effect.<p>
- *
- * @version 1.0, Apr 1 1996
- * @author David Geary
- * @see Etching
- * @see gjt.test.SeparatorTest
- */
-public class Separator extends Canvas {
- static private Etching _defaultEtching = Etching.IN;
- static private int _defaultThickness = 2;
-
- private Etching etching;
- private int thickness;
-
- public Separator() {
- this(_defaultThickness, _defaultEtching);
- }
- public Separator(int thickness) {
- this(thickness, _defaultEtching);
- }
- public Separator(Etching etching) {
- this(_defaultThickness, etching);
- }
- public Separator(int thickness, Etching etching) {
- this.etching = etching;
- this.thickness = thickness;
- resize(thickness, thickness);
- }
- public Dimension minimumSize() {
- return preferredSize();
- }
- public Dimension preferredSize() {
- return new Dimension(thickness, thickness);
- }
- public void paint(Graphics g) {
- Dimension size = size();
- Color brighter = getBackground().brighter().brighter();
- Color darker = getBackground().darker().darker();
-
- if(etching == Etching.IN) {
- if(size.width > size.height)
- paintHorizontal(g, size, darker, brighter);
- else
- paintVertical(g, size, darker, brighter);
- }
- else {
- if(size.width > size.height)
- paintHorizontal(g, size, brighter, darker);
- else
- paintVertical(g, size, brighter, darker);
- }
- }
- public String paramString() {
- Dimension size = size();
- Orientation orient = size.width > size.height ?
- Orientation.HORIZONTAL :
- Orientation.VERTICAL;
- return super.paramString() + "thickness=" +
- thickness + "," + etching + "," + orient;
- }
- private void paintHorizontal(Graphics g, Dimension size,
- Color top, Color bottom) {
- g.setColor(top);
- g.fillRect(0, (size.height/2) - (thickness/2),
- size.width, thickness/2);
- g.setColor(bottom);
- g.fillRect(0, size.height/2, size.width, thickness/2);
- }
- private void paintVertical(Graphics g, Dimension size,
- Color left, Color right) {
- g.setColor(left);
- g.fillRect((size.width/2) - (thickness/2),
- 0, thickness/2, size.height);
- g.setColor(right);
- g.fillRect(size.width/2, 0, thickness/2, size.height);
- }
-}
diff --git a/java/gjt/SpringyImageButtonController.java b/java/gjt/SpringyImageButtonController.java
deleted file mode 100644
index 3559e040459..00000000000
--- a/java/gjt/SpringyImageButtonController.java
+++ /dev/null
@@ -1,54 +0,0 @@
-package gjt;
-
-import java.awt.Event;
-import java.awt.Graphics;
-
-/**
- * An ImageButtonController that reacts to mouseDown/mouseUp
- * events exactly as a java.awt.Button does.<p>
- *
- * @version 1.0, Apr 1 1996
- * @author David Geary
- * @see ImageButton
- * @see ImageButtonController
- * @see StickyImageButtonController
- */
-public class SpringyImageButtonController
- extends ImageButtonController {
- public SpringyImageButtonController(ImageButton ib) {
- super(ib);
- }
- public boolean mouseDown(Event event, int x, int y) {
- if(event.modifiers == 0) {
- getButton().paintInset();
- armButton(event);
- }
- return false;
- }
- public boolean mouseUp(Event event, int x, int y) {
- if(event.modifiers == 0) {
- if(getButton().isRaised() == false) {
- getButton().paintRaised();
- activateButton(event);
- }
- }
- return false;
- }
- public boolean mouseDrag(Event event, int x, int y) {
- if(event.modifiers == 0) {
- if(getButton().isInside(x,y)) {
- if(getButton().isRaised()) {
- getButton().paintInset();
- armButton(event);
- }
- }
- else {
- if(getButton().isRaised() == false) {
- getButton().paintRaised();
- disarmButton(event);
- }
- }
- }
- return false;
- }
-}
diff --git a/java/gjt/StateButton.java b/java/gjt/StateButton.java
deleted file mode 100644
index 6de20a76f98..00000000000
--- a/java/gjt/StateButton.java
+++ /dev/null
@@ -1,45 +0,0 @@
-package gjt;
-
-import java.awt.Image;
-
-/**
- * An ImageButton that cycles through a series of images. The
- * image advances to the next image in the series every time
- * the button is activated.<p>
- *
- * Note that the cycling is actually performed by the buttons'
- * controller - a StateButtonController.<p>
- *
- * @version 1.0, Apr 1 1996
- * @author David Geary
- * @see ImageButton
- * @see StateButtonController
- * @see gjt.test.StateButtonTest
- */
-public class StateButton extends ImageButton {
- private Image[] images;
- private int state = 0;
- private int numStates;
-
- public StateButton(Image[] images) {
- super(images[0]);
-
- this.images = images;
- numStates = images.length;
- setController(new StateButtonController(this));
- waitForImages();
- }
- public Image nextImage() {
- if(state + 1 < numStates) state++;
- else state = 0;
-
- return images[state];
- }
- public int state() {
- return state;
- }
- private void waitForImages() {
- for(int i=0; i < images.length; ++i)
- Util.waitForImage(this, images[i]);
- }
-}
diff --git a/java/gjt/StateButtonController.java b/java/gjt/StateButtonController.java
deleted file mode 100644
index d6fc83830a6..00000000000
--- a/java/gjt/StateButtonController.java
+++ /dev/null
@@ -1,27 +0,0 @@
-package gjt;
-
-import java.awt.Event;
-
-/**
- * A controller for a StateButton, that cycles through a
- * series of images which reside in the StateButton class.
- * Each time a mouse up is detected in the StateButton, the
- * buttons image is set to the next image in the array.
- *
- * @version 1.0, Apr 1 1996
- * @author David Geary
- * @see StateButton
- * @see SpringyImageButtonController
- * @see gjt.test.StateButtonTest
- */
-class StateButtonController extends SpringyImageButtonController {
- public StateButtonController(StateButton button) {
- super(button);
- }
- public boolean mouseUp(Event event, int x, int y) {
- StateButton button = (StateButton)getButton();
- button.setImage(button.nextImage());
- activateButton(event);
- return super.mouseUp(event, x, y);
- }
-}
diff --git a/java/gjt/StickyImageButtonController.java b/java/gjt/StickyImageButtonController.java
deleted file mode 100644
index c459e5cdae1..00000000000
--- a/java/gjt/StickyImageButtonController.java
+++ /dev/null
@@ -1,87 +0,0 @@
-package gjt;
-
-import java.awt.Event;
-import java.awt.Graphics;
-
-/**
- * An ImageButtonController that causes its associated
- * ImageButton to "stick" when activated. If the ImageButton
- * is raised it depresses<b>[1]</b> upon a mouse down and stays
- * down upon a subsequent mouse up event. The same "sticky"
- * behaviour occurs when a depressed ImageButton encounters a
- * mouse down followed by a subsequent mouse up.<p>
- *
- * Note that false is returned from mouse event handlers;
- * therefore mouse events will be propagated to the
- * ImageButton's container. While this is not always
- * desirable, it was deemed a better default than swallowing
- * the event here. Subclasses may, of course, modify this
- * behavior.<p>
- *
- * <b>[1]</b> No psychiatric consultation is necessary.<p>
- *
- * @version 1.0, Apr 1 1996
- * @author David Geary
- * @see ImageButton
- * @see ImageButtonController
- * @see SpringyImageButtonController
- */
-public class StickyImageButtonController
- extends ImageButtonController {
- private boolean buttonUpOnLastMouseDown = true;
-
- public StickyImageButtonController(ImageButton ib) {
- super(ib);
- }
- public boolean mouseDown(Event event, int x, int y) {
- ImageButton button = getButton();
-
- if(event.modifiers == 0) {
- if(button.isRaised()) button.paintInset();
- else button.paintRaised();
-
- buttonUpOnLastMouseDown = getButton().isRaised();
- armButton(event);
- }
- return false;
- }
- public boolean mouseUp(Event event, int x, int y) {
- activateButton(event);
- return false;
- }
- public boolean mouseDrag(Event event, int x, int y) {
- ImageButton button = getButton();
-
- if(event.modifiers == 0) {
- if(button.isInside(x,y)) {
- if(buttonUpOnLastMouseDown) {
- if(button.isRaised() == false) {
- button.paintRaised();
- armButton(event);
- }
- }
- else {
- if(button.isRaised()) {
- button.paintInset();
- armButton(event);
- }
- }
- }
- else {
- if(buttonUpOnLastMouseDown) {
- if(button.isRaised()) {
- button.paintInset();
- disarmButton(event);
- }
- }
- else {
- if(button.isRaised() == false) {
- button.paintRaised();
- disarmButton(event);
- }
- }
- }
- }
- return false;
- }
-}
diff --git a/java/gjt/Stopwatch.java b/java/gjt/Stopwatch.java
deleted file mode 100644
index fc8963e88a1..00000000000
--- a/java/gjt/Stopwatch.java
+++ /dev/null
@@ -1,94 +0,0 @@
-package gjt;
-
-import java.awt.*;
-
-/**
- * A Thread that acts as a stopwatch.<p>
- *
- * Stopwatch starts running when it is constructed, and may be
- * reset by the reset() method. getHour(), getMinute(),
- * getSecond(), and getMillisecond() are used to get the
- * elapsed time since construction, or since the last reset.<p>
- *
- * toString() returns the elapsed time in the form of
- * HH:MM:SS:mm, where HH == hours, MM == minutes, SS == seconds
- * and mm == milliseconds.<p>
- *
- * Each Stopwatch may have a StopwatchClient associated with it.
- * If the StopwatchClient is non-null, the StopwatchClients'
- * tick() method is invoked every 50 milliseconds.<p>
- *
- * @version 1.0, Apr 21 1996
- * @author David Geary
- * @see StopwatchClient
- * @see gjt.animation.Sequence
- * @see gjt.animation.Sprite
- */
-public class Stopwatch extends Thread {
- private StopwatchClient client;
- private long start, now, elapsed;
- private long hour, minute, second, millisecond;
-
- public Stopwatch() {
- this(null);
- }
- public Stopwatch(StopwatchClient client) {
- start = System.currentTimeMillis();
- this.client = client;
- }
- public void update() {
- now = System.currentTimeMillis();
- elapsed = now - start;
- hour = minute = second = millisecond = 0;
-
- second = elapsed / 1000;
- millisecond = elapsed % 1000;
- millisecond = (millisecond == 0) ? 0 : millisecond/10;
-
- if(second > 59) {
- minute = second / 60;
- second = second - (minute*60);
- }
- if(minute > 59) {
- hour = minute / 60;
- minute = minute - (hour*60);
- }
- }
- public String toString() {
- update();
- return new String(stringValueOf(hour) + ":" +
- stringValueOf(minute) + ":" +
- stringValueOf(second) + ":" +
- stringValueOf(millisecond));
- }
- public long getHour () { return hour; }
- public long getMinute () { return minute; }
- public long getSecond () { return second; }
- public long getMillisecond () { return millisecond; }
-
- public long elapsedTime() {
- update();
- return elapsed;
- }
- public void reset() {
- start = System.currentTimeMillis();
- }
- public void run() {
- while(true) {
- try {
- Thread.currentThread().sleep(50, 0);
- update();
- if(client != null)
- client.tick();
- }
- catch(InterruptedException e) {
- Assert.notFalse(false);
- }
- }
- }
- private String stringValueOf(long l) {
- if(l < 10) return "0" + String.valueOf(l);
- else return String.valueOf(l);
-
- }
-}
diff --git a/java/gjt/StopwatchClient.java b/java/gjt/StopwatchClient.java
deleted file mode 100644
index c2eb5fb0460..00000000000
--- a/java/gjt/StopwatchClient.java
+++ /dev/null
@@ -1,14 +0,0 @@
-package gjt;
-
-/**
- * Client of a Stopwatch. Stopwatches that have non-null
- * clients, call their clients' tick() method every 50
- * milliseconds.<p>
- *
- * @version 1.0, Apr 21 1996
- * @author David Geary
- * @see Stopwatch
- */
-public interface StopwatchClient {
- public void tick();
-}
diff --git a/java/gjt/ThreeDBorder.java b/java/gjt/ThreeDBorder.java
deleted file mode 100644
index 0441fdf3052..00000000000
--- a/java/gjt/ThreeDBorder.java
+++ /dev/null
@@ -1,53 +0,0 @@
-package gjt;
-
-import java.awt.*;
-
-/**
- * Extension of Border that draws a 3D border.
- *
- * Drawn raised by default, drawing style used by paint() is
- * controlled by raise() and inset(). Note that raise() and
- * inset() do not result in anything being painted, but only set
- * the state for the next call to paint(). To set the state and
- * paint in one operation, use paintRaised() and paintInset().
- * <p>
- *
- * The current state of the border may be obtained by calling
- * isRaised().<p>
- *
- * @version 1.0, Apr 1 1996
- * @author David Geary
- * @see Border
- * @see EtchedRectangle
- * @see gjt.test.BorderTest
- */
-public class ThreeDBorder extends Border {
- public ThreeDBorder(Component borderMe) {
- this(borderMe, _defaultThickness, _defaultGap);
- }
- public ThreeDBorder(Component borderMe,
- int borderThickness) {
- this(borderMe, borderThickness, _defaultGap);
- }
- public ThreeDBorder(Component borderMe,
- int borderThickness, int gap) {
- super(borderMe, borderThickness, gap);
- }
- public void inset() { ((ThreeDRectangle)border()).inset(); }
- public void raise() { ((ThreeDRectangle)border()).raise(); }
-
- public void paintRaised() {
- ((ThreeDRectangle)border()).paintRaised();
- }
- public void paintInset() {
- ((ThreeDRectangle)border()).paintInset ();
- }
- public boolean isRaised() {
- return ((ThreeDRectangle)border()).isRaised();
- }
- protected DrawnRectangle border() {
- if(border == null)
- border = new ThreeDRectangle(this, thickness);
- return border;
- }
-}
diff --git a/java/gjt/ThreeDBorderStyle.java b/java/gjt/ThreeDBorderStyle.java
deleted file mode 100644
index b0e1b7d8ab8..00000000000
--- a/java/gjt/ThreeDBorderStyle.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package gjt;
-
-/**
- * Constants for 3D border styles.
- *
- * This class may not be instantiated.
- *
- * @version 1.0, Apr 11 1996
- * @author David Geary
- */
-public class ThreeDBorderStyle {
- public static final ThreeDBorderStyle RAISED =
- new ThreeDBorderStyle();
- public static final ThreeDBorderStyle INSET =
- new ThreeDBorderStyle();
-
- public String toString() {
- if(this == ThreeDBorderStyle.RAISED)
- return getClass().getName() + "=RAISED";
- else
- return getClass().getName() + "=INSET";
- }
- private ThreeDBorderStyle() { } // defeat instantiation
-}
diff --git a/java/gjt/ThreeDRectangle.java b/java/gjt/ThreeDRectangle.java
deleted file mode 100644
index 647129190c5..00000000000
--- a/java/gjt/ThreeDRectangle.java
+++ /dev/null
@@ -1,105 +0,0 @@
-package gjt;
-
-import java.awt.*;
-
-/**
- * A DrawnRectangle which draws in 3D.<p>
- *
- * Drawn raised by default, drawing style used by paint() is
- * controlled by raise() and inset(). Note that raise() and
- * inset() do not result in anything being painted, but only set
- * the state for the next call to paint(). To set the state and
- * paint in one operation, use paintRaised() and paintInset().
- * <p>
- *
- * The current state of the rectangle may be obtained by
- * calling isRaised().<p>
- *
- * @version 1.0, Apr 1 1996
- * @author David Geary
- * @see DrawnRectangle
- * @see EtchedRectangle
- * @see gjt.test.DrawnRectangleTest
- */
-public class ThreeDRectangle extends DrawnRectangle {
- protected static ThreeDBorderStyle
- _defaultState = ThreeDBorderStyle.RAISED;
-
- private ThreeDBorderStyle state;
-
- public ThreeDRectangle(Component drawInto) {
- this(drawInto, _defaultState,
- _defaultThickness, 0, 0, 0, 0);
- }
- public ThreeDRectangle(Component drawInto, int thickness) {
- this(drawInto, _defaultState, thickness, 0, 0, 0, 0);
- }
- public ThreeDRectangle(Component drawInto,
- int x, int y, int w, int h) {
- this(drawInto,
- _defaultState, _defaultThickness, x, y, w, h);
- }
- public ThreeDRectangle(Component drawInto, int thickness,
- int x, int y,
- int w, int h) {
- this(drawInto, _defaultState, thickness, x, y, w, h);
- }
- public ThreeDRectangle(Component drawInto,
- ThreeDBorderStyle state,
- int thickness, int x, int y,
- int w, int h) {
- super(drawInto, thickness, x, y, w, h);
- this.state = state;
- }
- public void paint() {
- if(state == ThreeDBorderStyle.RAISED) paintRaised();
- else paintInset ();
- }
- public void raise() { state = ThreeDBorderStyle.RAISED; }
- public void inset() { state = ThreeDBorderStyle.INSET; }
-
- public boolean isRaised() {
- return state == ThreeDBorderStyle.RAISED;
- }
- public String paramString() {
- return super.paramString() + "," + state;
- }
- public void paintRaised() {
- Graphics g = drawInto.getGraphics();
-
- if(g != null) {
- raise ();
- drawTopLeftLines (g, brighter());
- drawBottomRightLines(g, getLineColor());
- }
- }
- public void paintInset() {
- Graphics g = drawInto.getGraphics();
-
- if(g != null) {
- inset ();
- drawTopLeftLines (g, getLineColor());
- drawBottomRightLines(g, brighter());
- }
- }
- private void drawTopLeftLines(Graphics g, Color color) {
- int thick = getThickness();
- g.setColor(color);
-
- for(int i=0; i < thick; ++i) {
- g.drawLine(x+i, y+i, x + width-(i+1), y+i);
- g.drawLine(x+i, y+i+1, x+i, y + height-(i+1));
- }
- }
- private void drawBottomRightLines(Graphics g, Color color) {
- int thick = getThickness();
- g.setColor(color);
-
- for(int i=1; i <= thick; ++i) {
- g.drawLine(x+i-1, y + height-i,
- x + width-i, y + height-i);
- g.drawLine(x + width-i, y+i-1,
- x + width-i, y + height-i);
- }
- }
-}
diff --git a/java/gjt/Toolbar.java b/java/gjt/Toolbar.java
deleted file mode 100644
index 4d6ebddc217..00000000000
--- a/java/gjt/Toolbar.java
+++ /dev/null
@@ -1,58 +0,0 @@
-package gjt;
-
-import java.awt.*;
-
-/**
- * A toolbar containing image buttons which are laid out to the
- * north of (horizontal) separator.<p>
- *
- * @version 1.0, Apr 1 1996
- * @author David Geary
- * @see ImageButton
- * @see ImageButtonPanel
- * @see gjt.test.ToolbarTest
- */
-public class Toolbar extends Panel {
- static private int _defaultGap = 0;
- static private int _defaultLeftInset = 0;
-
- private ToolbarButtonPanel buttonPanel;
-
- public Toolbar() {
- this(_defaultLeftInset, _defaultGap);
- }
- public Toolbar(int leftInset, int gap) {
- buttonPanel = new ToolbarButtonPanel(leftInset, gap);
-
- setLayout(new BorderLayout());
- add ("North", buttonPanel);
- add ("South", new Separator());
- }
- public ImageButton add(Image image) {
- return buttonPanel.add(image);
- }
- public void add(ImageButton button) {
- buttonPanel.add(button);
- }
- public void addSpacer(int sizeInPixels) {
- Assert.notFalse(sizeInPixels > 0);
- buttonPanel.addSpacer(sizeInPixels);
- }
-}
-
-class ToolbarButtonPanel extends ImageButtonPanel {
- private int leftInset;
-
- public ToolbarButtonPanel(int leftInset, int gap) {
- super(Orientation.HORIZONTAL,
- Orientation.LEFT,
- Orientation.CENTER,
- gap);
-
- this.leftInset = leftInset;
- setController(null);
- }
- public Insets insets() {
- return new Insets(5,leftInset,5,5);
- }
-}
diff --git a/java/gjt/Util.java b/java/gjt/Util.java
deleted file mode 100644
index 0970a6fd488..00000000000
--- a/java/gjt/Util.java
+++ /dev/null
@@ -1,69 +0,0 @@
-package gjt;
-
-import java.applet.Applet;
-import java.awt.*;
-
-/**
- * A handy collection of methods for getting a component's
- * frame, getting a component's applet, waiting for a
- * component's image, and wallpapering a components background.
- * <p>
- *
- * @version 1.0, Apr 1 1996
- * @author David Geary
- */
-public class Util {
- public static Frame getFrame(Component component) {
- Component c = component;
-
- if(c instanceof Frame)
- return (Frame)c;
-
- while((c = c.getParent()) != null) {
- if(c instanceof Frame)
- return (Frame)c;
- }
- return null;
- }
- public static Applet getApplet(Component component) {
- Component c = component;
-
- if(c instanceof Applet)
- return (Applet)c;
-
- while((c = c.getParent()) != null) {
- if(c instanceof Applet)
- return (Applet)c;
- }
- return null;
- }
- public static void waitForImage(Component component,
- Image image) {
- MediaTracker tracker = new MediaTracker(component);
- try {
- tracker.addImage(image, 0);
- tracker.waitForID(0);
- }
- catch(InterruptedException e) { Assert.notNull(null); }
- }
- public static void wallPaper(Component component,
- Graphics g,
- Image image) {
- Dimension compsize = component.size();
- Util.waitForImage(component, image);
-
- int patchW = image.getWidth(component);
- int patchH = image.getHeight(component);
-
- Assert.notFalse(patchW != -1 && patchH != -1);
-
- for(int r=0; r < compsize.width; r += patchW) {
- for(int c=0; c < compsize.height; c += patchH)
- g.drawImage(image, r, c, component);
- }
- }
- public static void setCursor(int cursor,
- Component component) {
- getFrame(component).setCursor(cursor);
- }
-}
diff --git a/java/gjt/YesNoDialog.java b/java/gjt/YesNoDialog.java
deleted file mode 100644
index 2db64ea6e4b..00000000000
--- a/java/gjt/YesNoDialog.java
+++ /dev/null
@@ -1,80 +0,0 @@
-package gjt;
-
-import java.awt.*;
-
-/**
- * Similar in fuction to the MessageDialog, YesNoDialog poses
- * a question, that is answered by selection of either a Yes
- * button or a No button.<p>
- *
- * Note that the YesNoDialog is a singleton - meaning there is
- * only one YesNoDialog in existence per applet. Clients
- * may obtain the YesNoDialog by invoking getYesNoDialog().<p>
- *
- * @version 1.0, Apr 1 1996
- * @author David Geary
- * @see GJTDialog
- * @see MessageDialog
- * @see gjt.test.DialogTest
- */
-public class YesNoDialog extends GJTDialog {
- static private YesNoDialog _theYesNoDialog;
- private Button yesButton;
- private Button noButton;
- private String message;
- private boolean answer = false;
- private ButtonPanel buttonPanel = new ButtonPanel();
-
- static public YesNoDialog getYesNoDialog( Frame frame,
- DialogClient client,
- String title,
- String message) {
- if(_theYesNoDialog == null)
- _theYesNoDialog = new YesNoDialog(frame,client,
- title,message);
- else {
- _theYesNoDialog.setClient (client);
- _theYesNoDialog.setTitle (title);
- _theYesNoDialog.setMessage(message);
- }
- return _theYesNoDialog;
- }
- private YesNoDialog(Frame frame, DialogClient client,
- String title, String message) {
- super(frame, title, client, true);
- yesButton = buttonPanel.add("Yes");
- noButton = buttonPanel.add("No");
-
- setLayout(new BorderLayout());
- add("Center", new YesNoPanel(message));
- add("South", buttonPanel);
- pack();
- }
- public void show() {
- yesButton.requestFocus();
- super.show();
- }
- public boolean answeredYes() {
- return answer;
- }
- public boolean action(Event event, Object what) {
- if(event.target == yesButton) answer = true;
- else answer = false;
-
- hide();
- client.dialogDismissed(this);
- return true;
- }
- private void setMessage(String message) {
- this.message = message;
- }
-}
-
-class YesNoPanel extends Panel {
- public YesNoPanel(String question) {
- add("Center", new Label(question, Label.CENTER));
- }
- public Insets insets() {
- return new Insets(10,10,10,10);
- }
-}
diff --git a/java/gjt/animation/CollisionArena.java b/java/gjt/animation/CollisionArena.java
deleted file mode 100644
index defb1a6d86b..00000000000
--- a/java/gjt/animation/CollisionArena.java
+++ /dev/null
@@ -1,39 +0,0 @@
-package gjt.animation;
-
-import java.awt.Dimension;
-import java.awt.Insets;
-import java.util.Vector;
-import gjt.Orientation;
-
-/**
- * A CollisionArena is defined as an arena in which collisions
- * may take place.<p>
- *
- * CollisionArenas must be able to report their size and
- * insets, and return a Vector of the Sprites contained in the
- * arena.<p>
- *
- * CollisionArenas must also implement two methods for handling
- * sprite and edge collisions, respectively.
- *
- * @version 1.0, Apr 1 1996
- * @author David Geary
- * @see Playfield
- * @see CollisionDetector
- * @see EdgeCollisionDetector
- * @see SpriteCollisionDetector
- * @see gjt.test.SimpleAnimationTest
- * @see gjt.test.BumpAnimationTest
- * @see gjt.test.TwoDrinkersAnimationTest
- */
-public interface CollisionArena {
- abstract public Vector getSprites();
- abstract public Dimension getSize ();
- abstract public Insets getInsets ();
-
- abstract public void spriteCollision(Sprite sprite,
- Sprite other);
-
- abstract public void edgeCollision(Sprite sprite,
- Orientation orient);
-}
diff --git a/java/gjt/animation/CollisionDetector.java b/java/gjt/animation/CollisionDetector.java
deleted file mode 100644
index ff05f16c6d3..00000000000
--- a/java/gjt/animation/CollisionDetector.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package gjt.animation;
-
-/**
- * Collision detectors detect collisions that take place within
- * a CollisionArena.
- *
- * @version 1.0, Apr 1 1996
- * @author David Geary
- * @see CollisionArena
- * @see EdgeCollisionDetector
- * @see SpriteCollisionDetector
- * @see gjt.test.SimpleAnimationTest
- * @see gjt.test.BumpAnimationTest
- * @see gjt.test.TwoDrinkersAnimationTest
- */
-abstract public class CollisionDetector {
- protected CollisionArena arena;
-
- abstract public void detectCollisions();
-
- public CollisionDetector(CollisionArena arena) {
- this.arena = arena;
- }
-}
diff --git a/java/gjt/animation/EdgeCollisionDetector.java b/java/gjt/animation/EdgeCollisionDetector.java
deleted file mode 100644
index 8624b7c2f28..00000000000
--- a/java/gjt/animation/EdgeCollisionDetector.java
+++ /dev/null
@@ -1,53 +0,0 @@
-package gjt.animation;
-
-import java.awt.*;
-import java.util.Enumeration;
-import java.util.Vector;
-import gjt.Orientation;
-
-/**
- * A CollisionDetector that detects collisions between Sprites
- * and the edges of the CollisionArena in which they reside.<p>
- *
- * @version 1.0, Apr 1 1996
- * @author David Geary
- * @see CollisionDetector
- * @see Sprite
- * @see gjt.test.SimpleAnimationTest
- * @see gjt.test.BumpAnimationTest
- * @see gjt.test.TwoDrinkersAnimationTest
- */
-public class EdgeCollisionDetector extends CollisionDetector {
- public EdgeCollisionDetector(CollisionArena arena) {
- super(arena);
- }
- public void detectCollisions() {
- Enumeration sprites = arena.getSprites().elements();
- Dimension arenaSize = arena.getSize();
- Insets arenaInsets = arena.getInsets();
- Sprite sprite;
-
- while(sprites.hasMoreElements()) {
- sprite = (Sprite)sprites.nextElement();
-
- Point nl = sprite.nextLocation ();
- Point mv = sprite.getMoveVector();
- int nextRightEdge = nl.x + sprite.width();
- int nextBottomEdge = nl.y + sprite.height();
- int arenaBottomEdge = arenaSize.height -
- arenaInsets.bottom;
- int arenaRightEdge = arenaSize.width -
- arenaInsets.right;
-
- if(nextRightEdge > arenaRightEdge)
- arena.edgeCollision(sprite, Orientation.LEFT);
- else if(nl.x < arenaInsets.left)
- arena.edgeCollision(sprite, Orientation.RIGHT);
-
- if(nextBottomEdge > arenaBottomEdge)
- arena.edgeCollision(sprite, Orientation.BOTTOM);
- else if(nl.y < arenaInsets.top)
- arena.edgeCollision(sprite, Orientation.TOP);
- }
- }
-}
diff --git a/java/gjt/animation/Playfield.java b/java/gjt/animation/Playfield.java
deleted file mode 100644
index 386c0fb24c4..00000000000
--- a/java/gjt/animation/Playfield.java
+++ /dev/null
@@ -1,140 +0,0 @@
-package gjt.animation;
-
-import java.awt.*;
-import java.util.Enumeration;
-import java.util.Vector;
-import gjt.Util;
-
-/**
- * A surface upon which Sprites are animated. Playfields are
- * responsible for animating the sprites.<p>
- *
- * Each Playfield comes complete with two collision detectors:
- * an edge collision detector and a sprite collision detector.
- *
- * Playfield is an abstract class: extensions must implement
- * the following methods:
- * <dl>
- * <dd> void paintBackground(Graphics)
- * <dd> void void spriteCollision(Sprite sprite, Sprite other)
- * <dd> void void edgeCollision (Sprite sprite, Sprite other)
- * </dl>
- *
- * @version 1.0, Apr 1 1996
- * @author David Geary
- * @see CollisionArena
- * @see Sprite
- * @see SpriteCollisionDetector
- * @see EdgeCollisionDetector
- * @see gjt.test.SimpleAnimationTest
- * @see gjt.test.BumpAnimationTest
- * @see gjt.test.TwoDrinkersAnimationTest
- */
-public abstract class Playfield extends Canvas
- implements Runnable,
- CollisionArena {
- protected Vector sprites = new Vector();
- private boolean running = false;
- private Insets insets = new Insets(0,0,0,0);
-
- private Thread animationThread;
- private Image bgoffscreen,
- workplaceBuffer;
- private Dimension offscreenSize;
- private EdgeCollisionDetector edgeCollisionDetector;
- private SpriteCollisionDetector spriteCollisionDetector;
-
- abstract public void paintBackground(Graphics g);
-
- public Playfield() {
- edgeCollisionDetector =
- new EdgeCollisionDetector(this);
- spriteCollisionDetector =
- new SpriteCollisionDetector(this);
- }
- public void stop () { running = false; }
- public boolean running () { return running; }
- public Dimension getSize () { return size(); }
- public Insets getInsets () { return insets; }
- public Vector getSprites() { return sprites; }
-
- public void addSprite(Sprite sprite) {
- sprites.addElement(sprite);
- }
- public void setInsets(Insets insets) {
- this.insets = insets;
- }
- public void start() {
- animationThread = new Thread(this);
- running = true;
- animationThread.start();
- }
- public void paint(Graphics g) {
- if(needNewOffscreenBuffer()) {
- workplaceBuffer = createOffscreenImage(size());
- bgoffscreen = createOffscreenImage(size());
- paintBackground(bgoffscreen.getGraphics());
- }
- g.drawImage(bgoffscreen, 0, 0, this);
- paintSprites();
- }
- public void reshape(int x, int y, int w, int h) {
- super.reshape(x,y,w,h);
- repaint();
- }
- public void run() {
- while(running == true) {
- edgeCollisionDetector.detectCollisions ();
- spriteCollisionDetector.detectCollisions();
-
- animateSprites();
- Thread.currentThread().yield();
- }
- animationThread = null;
- }
- private boolean needNewOffscreenBuffer() {
- return (workplaceBuffer == null ||
- bgoffscreen == null ||
- size().width != offscreenSize.width ||
- size().height != offscreenSize.height);
- }
- private Image createOffscreenImage(Dimension size) {
- Image image = createImage(size.width, size.height);
- Util.waitForImage(this, image);
- offscreenSize = size;
- return image;
- }
- protected void animateSprites() {
- Sprite nextSprite;
- Enumeration e = sprites.elements();
-
- while(e.hasMoreElements()) {
- nextSprite = (Sprite)e.nextElement();
- nextSprite.animate();
- }
- }
- protected void paintSprites() {
- Sprite nextSprite;
- Enumeration e = sprites.elements();
-
- while(e.hasMoreElements()) {
- nextSprite = (Sprite)e.nextElement();
- paintSprite(nextSprite);
- }
- }
- protected void paintSprite(Sprite sprite) {
- Graphics g = getGraphics();
- Graphics wpg = workplaceBuffer.getGraphics();
- Rectangle clip = sprite.clipRect();
-
- wpg.clipRect(clip.x, clip.y, clip.width, clip.height);
- wpg.drawImage(bgoffscreen, 0, 0, this);
- sprite.paint(wpg);
-
- g.clipRect (clip.x, clip.y, clip.width, clip.height);
- g.drawImage(workplaceBuffer, 0, 0, this);
-
- g.dispose();
- wpg.dispose();
- }
-}
diff --git a/java/gjt/animation/Sequence.java b/java/gjt/animation/Sequence.java
deleted file mode 100644
index 7b777ecd0d8..00000000000
--- a/java/gjt/animation/Sequence.java
+++ /dev/null
@@ -1,119 +0,0 @@
-package gjt.animation;
-
-import java.util.Vector;
-import java.awt.*;
-import java.awt.image.ImageObserver;
-import gjt.Util;
-import gjt.Stopwatch;
-
-/**
- * A sequence of images used in an animation. Each sequence
- * keeps track of the number of cycles the sequence is to run,
- * and reports whether or not the cycles have been completed
- * via the boolean animationOver() method.
- *
- * @version 1.0, Apr 1 1996
- * @author David Geary
- * @see Sprite
- * @see Playfield
- * @see gjt.test.SimpleAnimationTest
- * @see gjt.test.BumpAnimationTest
- * @see gjt.test.TwoDrinkersAnimationTest
- */
-public class Sequence {
- private static long infiniteCycle = -1;
-
- private Vector cells = new Vector();
- private Point lastPaintLocation = new Point(0,0);
- private Stopwatch cellAdvanceTimer = new Stopwatch();
- private Image currentImage, lastImagePainted;
- private long cellAdvanceInterval = 0,
- currentCycle = 0,
- cyclesPerAnimation = 0;
-
- public Sequence() { }
-
- public Sequence(Component component, Image[] images) {
- for(int i=0; i < images.length; ++i) {
- addImage(component, images[i]);
- }
- cyclesPerAnimation = infiniteCycle;
- }
- public void start () { cellAdvanceTimer.start(); }
- public Image getLastImage () { return lastImagePainted; }
- public Point getLastLocation() { return lastPaintLocation; }
- public int getNumImages () { return cells.size(); }
-
- public long getCurrentCycle() { return currentCycle; }
- public void setCurrentCycle(long c) { currentCycle = c; }
-
- public long getCyclesPerAnimation() {
- return currentCycle;
- }
- public void setCyclesPerAnimation(long cyclesPerAnimation) {
- this.cyclesPerAnimation = cyclesPerAnimation;
- }
- public Image getFirstImage() {
- return (Image)cells.firstElement();
- }
- public Image getCurrentImage() {
- return currentImage;
- }
- public int getCurrentImagePosition() {
- return cells.indexOf(currentImage);
- }
- public Image getNextImage() {
- int index = cells.indexOf(currentImage);
- Image image;
-
- if(index == cells.size() - 1)
- image = (Image)cells.elementAt(0);
- else
- image = (Image)cells.elementAt(index + 1);
-
- return image;
- }
- public void setAdvanceInterval(long interval) {
- cellAdvanceInterval = interval;
- }
- public void addImage(Component component, Image image) {
- if(currentImage == null)
- currentImage = image;
-
- Util.waitForImage(component, image);
- cells.addElement(image);
- }
- public void removeImage(Image image) {
- cells.removeElement(image);
- }
- public boolean needsRepainting(Point point) {
- return (lastPaintLocation.x != point.x ||
- lastPaintLocation.y != point.y ||
- lastImagePainted != currentImage);
- }
- public void paint(Graphics g, int x, int y,
- ImageObserver observer) {
- g.drawImage(currentImage, x, y, observer);
- lastPaintLocation.x = x;
- lastPaintLocation.y = y;
- lastImagePainted = currentImage;
- }
- public boolean isAtLastImage() {
- return getCurrentImagePosition() == (cells.size() - 1);
- }
- public boolean timeToAdvanceCell() {
- return
- cellAdvanceTimer.elapsedTime() > cellAdvanceInterval;
- }
- public boolean animationOver() {
- return (cyclesPerAnimation != infiniteCycle) &&
- (currentCycle >= cyclesPerAnimation);
- }
- public void advance() {
- if(isAtLastImage())
- ++currentCycle;
-
- currentImage = getNextImage();
- cellAdvanceTimer.reset();
- }
-}
diff --git a/java/gjt/animation/Sprite.java b/java/gjt/animation/Sprite.java
deleted file mode 100644
index e7840b7615b..00000000000
--- a/java/gjt/animation/Sprite.java
+++ /dev/null
@@ -1,191 +0,0 @@
-package gjt.animation;
-
-import java.awt.*;
-import java.util.Vector;
-import gjt.Assert;
-import gjt.Stopwatch;
-import gjt.Util;
-
-/**
- * A sequence of images which are animated and moved about on
- * a Playfield.<p>
- *
- * Each Sprite is constructed with a reference to it's
- * Playfield, a Sequence, and a beginning position for it's
- * upper left hand corner.<p>
- *
- * A Sprite's animation is controlled by invoking the following
- * methods:
- *<dl>
- *<dd> setMoveVector(Point)
- *<dd> setMoveInterval(long)
- *<dd> setImageChangeInterval(long)
- *<dd> setMainSequence(Sequence)
- *<dd> setSequence(Sequence)
- *</dl>
- *
- * @version 1.0, Apr 1 1996
- * @author David Geary
- * @see Sequence
- * @see Playfield
- * @see SpriteCollisionDetector
- * @see gjt.test.SimpleAnimationTest
- * @see gjt.test.BumpAnimationTest
- * @see gjt.test.TwoDrinkersAnimationTest
- */
-public class Sprite {
- private Playfield field;
- private Sequence currentSequence, mainSequence;
- private Stopwatch moveTimer = new Stopwatch();
-
- private Point ulhc = new Point(0,0);
- private Point start = new Point(0,0);
- private Point moveVector = new Point(1,1);
-
- private Rectangle clip = new Rectangle(0,0);
- private Rectangle curBounds, lastBounds;
-
- private int width, height;
- private long moveInterval = 0;
-
- public Sprite(Playfield field,
- Sequence sequence,
- Point ulhc) {
- Assert.notNull(field);
- Assert.notNull(sequence);
- Assert.notNull(ulhc);
-
- this.field = field;
- this.ulhc = ulhc;
- start.x = ulhc.x;
- start.y = ulhc.y;
-
- setSequence(sequence);
- setMainSequence(sequence);
-
- initializeBounds();
- moveTimer.start();
- currentSequence.start();
- }
- public Playfield getPlayfield() { return field; }
- public Rectangle clipRect () { return clip; }
- public Rectangle curBounds () { return curBounds; }
-
- public int width () { return width; }
- public int height () { return height; }
- public void reverseX () { moveVector.x = 0-moveVector.x; }
- public void reverseY () { moveVector.y = 0-moveVector.y; }
- public void reverse () { reverseX(); reverseY(); }
- public Point start () { return start; }
-
- public void setMoveVector (Point p) { moveVector = p; }
- public Point getMoveVector() { return moveVector; }
-
- public void play(Sequence sequence, long cycles) {
- setSequence(sequence);
- sequence.setCyclesPerAnimation(cycles);
- sequence.setCurrentCycle(0);
- }
- public void animate() {
- if(currentSequence.animationOver())
- currentSequence = mainSequence;
-
- if(timeToChangeImage()) currentSequence.advance();
- if(timeToMove()) move();
- if(needsRepainting()) field.paintSprite(this);
- }
- public void setMainSequence(Sequence sequence) {
- mainSequence = sequence;
- }
- public Sequence getMainSequence() {
- return mainSequence;
- }
- public void setSequence(Sequence sequence) {
- currentSequence = sequence;
-
- if(curBounds != null)
- updateBounds();
- }
- public Sequence getSequence() {
- return currentSequence;
- }
- public boolean intersects(Sprite otherSprite) {
- return curBounds().intersects(otherSprite.curBounds());
- }
- public boolean willIntersect(Sprite otherSprite) {
- return
- nextBounds().intersects(otherSprite.nextBounds());
- }
- public boolean timeToMove() {
- return moveTimer.elapsedTime() > moveInterval;
- }
- public boolean timeToChangeImage() {
- return currentSequence.timeToAdvanceCell();
- }
- public void moveTo(Point p) {
- ulhc = p;
- moveTimer.reset();
- }
- public boolean needsRepainting() {
- return currentSequence.needsRepainting(ulhc);
- }
- public void setMoveInterval(long interval) {
- moveInterval = interval;
- }
- public void setImageChangeInterval(long interval) {
- currentSequence.setAdvanceInterval(interval);
- }
- public void move() {
- ulhc.x += moveVector.x;
- ulhc.y += moveVector.y;
- updateBounds();
- moveTimer.reset();
- }
- public Point location() {
- return ulhc;
- }
- public Point nextLocation() {
- return new Point(ulhc.x + moveVector.x,
- ulhc.y + moveVector.y);
- }
- public Rectangle nextBounds() {
- Image nextImage = currentSequence.getNextImage();
- Point nextLoc = nextLocation();
-
- return new Rectangle(
- nextLoc.x, nextLoc.y, width, height);
- }
- public void paint(Graphics g) {
- currentSequence.paint(g, ulhc.x, ulhc.y, field);
- }
- private void initializeBounds() {
- Image curImage = currentSequence.getCurrentImage();
-
- width = curImage.getWidth (field);
- height = curImage.getHeight(field);
-
- curBounds =
- new Rectangle(ulhc.x, ulhc.y, width, height);
-
- lastBounds = new Rectangle(curBounds.x,
- curBounds.y,
- curBounds.width,
- curBounds.height);
-
- clip = lastBounds.union(curBounds);
- }
- private void updateBounds() {
- Image curImage = currentSequence.getCurrentImage();
-
- lastBounds.width = curBounds.width;
- lastBounds.height = curBounds.height;
-
- curBounds.width = width = curImage.getWidth(field);
- curBounds.height = height = curImage.getHeight(field);
-
- lastBounds.move(curBounds.x, curBounds.y);
- curBounds.move (ulhc.x, ulhc.y);
-
- clip = lastBounds.union(curBounds);
- }
-}
diff --git a/java/gjt/animation/SpriteCollisionDetector.java b/java/gjt/animation/SpriteCollisionDetector.java
deleted file mode 100644
index 2ef37d79208..00000000000
--- a/java/gjt/animation/SpriteCollisionDetector.java
+++ /dev/null
@@ -1,45 +0,0 @@
-package gjt.animation;
-
-import java.awt.*;
-import java.util.Enumeration;
-import java.util.Vector;
-import gjt.Orientation;
-
-/**
- * A CollisionDetector that detects collisions between Sprites
- * residing in a CollisionArena.<p>
- *
- * @version 1.0, Apr 1 1996
- * @author David Geary
- * @see CollisionArena
- * @see CollisionDetector
- * @see Sprite
- * @see gjt.test.SimpleAnimationTest
- * @see gjt.test.BumpAnimationTest
- * @see gjt.test.TwoDrinkersAnimationTest
- */
-public class SpriteCollisionDetector extends CollisionDetector {
- public SpriteCollisionDetector(CollisionArena arena) {
- super(arena);
- }
- public void detectCollisions() {
- Enumeration sprites = arena.getSprites().elements();
- Sprite sprite;
-
- while(sprites.hasMoreElements()) {
- sprite = (Sprite)sprites.nextElement();
-
- Enumeration otherSprites =
- arena.getSprites().elements();
- Sprite otherSprite;
-
- while(otherSprites.hasMoreElements()) {
- otherSprite=(Sprite)otherSprites.nextElement();
-
- if(otherSprite != sprite)
- if(sprite.willIntersect(otherSprite))
- arena.spriteCollision(sprite,otherSprite);
- }
- }
- }
-}
diff --git a/java/gjt/image/BleachImageFilter.java b/java/gjt/image/BleachImageFilter.java
deleted file mode 100644
index f698a218284..00000000000
--- a/java/gjt/image/BleachImageFilter.java
+++ /dev/null
@@ -1,53 +0,0 @@
-package gjt.image;
-
-import java.awt.image.*;
-import gjt.Assert;
-
-/**
- * A derivation of RGBImageFilter that bleaches an image.<p>
- *
- * Extent of the bleaching effect is controlled by the only
- * constructor argument: an integer representing the percentage
- * of bleaching. The percentage of bleaching may also be
- * controlled after instantiation by invoking the
- * void percent(int) method.<p>
- *
- * @version 1.0, Apr 1 1996
- * @author David Geary
- * @see RGBImageFilter
- */
-public class BleachImageFilter extends RGBImageFilter {
- private int percent;
-
- public BleachImageFilter(int percent) {
- Assert.notFalse(percent >= 0 && percent <= 100);
- this.percent = percent;
- canFilterIndexColorModel = true;
- }
- public int percent() { return percent; }
- public void percent(int percent) { percent = percent; }
-
- public int filterRGB(int x, int y, int rgb) {
- DirectColorModel cm =
- (DirectColorModel)ColorModel.getRGBdefault();
-
- int alpha = cm.getAlpha(rgb);
- int red = cm.getRed (rgb);
- int green = cm.getGreen(rgb);
- int blue = cm.getBlue (rgb);
- double percentMultiplier = (double)percent/100;
-
- red = Math.min((int)
- (red + (red * percentMultiplier)), 255);
- green = Math.min((int)
- (green + (green * percentMultiplier)), 255);
- blue = Math.min((int)
- (blue + (blue * percentMultiplier)), 255);
-
- alpha = alpha << 24;
- red = red << 16;
- green = green << 8;
-
- return alpha | red | green | blue;
- }
-}
diff --git a/java/gjt/image/DissolveFilter.java b/java/gjt/image/DissolveFilter.java
deleted file mode 100644
index 027455b39b6..00000000000
--- a/java/gjt/image/DissolveFilter.java
+++ /dev/null
@@ -1,48 +0,0 @@
-package gjt.image;
-
-import java.awt.image.*;
-import gjt.Assert;
-
-/**
- * A derivation of RGBImageFilter that partially or wholly
- * dissolves an image.<p>
- *
- * Extent of dissolving is set by the setOpacity(int) method,
- * which is passed an integer between 0 and 255 (inclusive).
- * The integer represents the alpha value to be applied to
- * every color in the image.<p>
- *
- * An alpha value of 255 signifies an opaque color, while an
- * alpha value of 0 signifies a translucent color.<p>
- *
- * @version 1.0, Apr 1 1996
- * @author David Geary
- * @see RGBImageFilter
- */
-public class DissolveFilter extends RGBImageFilter {
- private int opacity;
-
- public DissolveFilter() {
- this(0);
- }
- public DissolveFilter(int opacity) {
- canFilterIndexColorModel = true;
- setOpacity(opacity);
- }
- public void setOpacity(int opacity) {
- Assert.notFalse(opacity >= 0 && opacity <= 255);
- this.opacity = opacity;
- }
- public int filterRGB(int x, int y, int rgb) {
- DirectColorModel cm =
- (DirectColorModel)ColorModel.getRGBdefault();
- int alpha = cm.getAlpha(rgb);
- int red = cm.getRed (rgb);
- int green = cm.getGreen(rgb);
- int blue = cm.getBlue (rgb);
-
- alpha = opacity;
-
- return alpha << 24 | red << 16 | green << 8 | blue;
- }
-}
diff --git a/java/gjt/image/ImageDissolver.java b/java/gjt/image/ImageDissolver.java
deleted file mode 100644
index 5d0e6a2daf6..00000000000
--- a/java/gjt/image/ImageDissolver.java
+++ /dev/null
@@ -1,132 +0,0 @@
-package gjt.image;
-
-import java.awt.*;
-import java.awt.image.*;
-import gjt.Util;
-
-/**
- * Given an image, an ImageDissolver produces an array of
- * images of varying opacity that are used in the fadeIn()
- * and fadeOut() methods for fading the image in and out
- * respectively.<p>
- *
- * As a convenience, ImageDissolver has a static method:
- * Image[] createImages() that creates the array of images
- * mentioned above, in case clients would like to create their
- * own array of images instead of using an ImageDissolver
- * directly.<p>
- *
- * @version 1.0, Apr 1 1996
- * @author David Geary
- * @see ThreeDBorder
- * @see ImageButtonController
- * @see SpringyImageButtonController
- * @see StickyImageButtonController
- * @see BleachImageFilter
- * @see gjt.test.ImageButtonTest
- */
-public class ImageDissolver {
- private static int _defaultNumImages = 10,
- _defaultPause = 50;
- Component comp;
- int numImages, pauseInterval;
- Image image, offscreen;
- Image[] dissolvedImages;
-
- static public Image[] createImages(Image image,
- int numImages,
- Component component) {
- Image images[] = new Image[numImages];
- MediaTracker tracker = new MediaTracker(component);
-
- DissolveFilter filter;
- FilteredImageSource fis;
-
- for(int i=0; i < numImages; ++i) {
- filter = new DissolveFilter((255/(numImages-1))*i);
- fis = new FilteredImageSource(image.getSource(),
- filter);
-
- images[i] = component.createImage(fis);
- tracker.addImage(images[i], i);
- }
- try { tracker.waitForAll(); }
- catch(InterruptedException e) { }
-
- return images;
- }
-
- public ImageDissolver(Component comp, Image image) {
- this(comp, image, _defaultNumImages, _defaultPause);
- }
- public ImageDissolver(Component comp, Image im,
- int numImages, int pause) {
- this.image = im;
- this.comp = comp;
- this.numImages = numImages;
- dissolvedImages = new Image[numImages];
- pauseInterval = pause;
-
- Util.waitForImage(comp, im);
- dissolvedImages = createImages(image, numImages, comp);
- }
- public void fadeIn(int x, int y) {
- if(offscreen == null)
- offscreen = comp.createImage(image.getWidth(comp),
- image.getHeight(comp));
-
- Graphics offg = offscreen.getGraphics();
- Graphics compg = comp.getGraphics();
-
- if(offg != null && compg != null) {
- clearComponent(compg, x, y);
- for(int i=0; i < numImages; ++i) {
- blitImage(compg, offg, x, y, i);
- pause ();
- }
- blitOpaqueImage(compg, offg, x, y);
- }
- }
- public void fadeOut(int x, int y) {
- if(offscreen == null)
- offscreen = comp.createImage(image.getWidth(comp),
- image.getHeight(comp));
-
- Graphics offg = offscreen.getGraphics();
- Graphics compg = comp.getGraphics();
-
- if(offg != null && compg != null) {
- blitOpaqueImage(compg, offg, x, y);
- for(int i=numImages-1; i >= 0; --i) {
- clearOffscreen();
- blitImage (compg, offg, x, y, i);
- pause ();
- }
- }
- }
- private void blitImage(Graphics compg, Graphics offg,
- int x, int y, int index) {
- offg.drawImage (dissolvedImages[index], 0, 0, comp);
- compg.drawImage(offscreen, x, y, comp);
- }
- private void blitOpaqueImage(Graphics compg, Graphics offg,
- int x, int y) {
- offg.drawImage(image, 0, 0, comp);
- compg.drawImage(offscreen, x, y, comp);
- }
- private void clearComponent(Graphics compg, int x, int y) {
- clearOffscreen();
- compg.drawImage(offscreen, x, y, comp);
- }
- private void clearOffscreen() {
- Graphics offg = offscreen.getGraphics();
-
- offg.setColor(comp.getBackground());
- offg.fillRect(0, 0,
- image.getWidth(comp), image.getHeight(comp));
- }
- private void pause() {
- try { Thread.currentThread().sleep(pauseInterval); }
- catch(InterruptedException e) { }
- }
-}
diff --git a/java/gjt/rubberband/Rubberband.java b/java/gjt/rubberband/Rubberband.java
deleted file mode 100644
index be4b1b6ac05..00000000000
--- a/java/gjt/rubberband/Rubberband.java
+++ /dev/null
@@ -1,100 +0,0 @@
-package gjt.rubberband;
-
-import java.awt.*;
-
-/**
- * A abstract base class for rubberbands.<p>
- *
- * Rubberbands do their rubberbanding inside of a Component,
- * which must be specified at construction time.<p>
- *
- * Subclasses are responsible for implementing
- * <em>void drawLast(Graphics g)</em> and
- * <em>void drawNext(Graphics g)</em>.
- *
- * drawLast() draws the appropriate geometric shape at the last
- * rubberband location, while drawNext() draws the appropriate
- * geometric shape at the next rubberband location. All of the
- * underlying support for rubberbanding is taken care of here,
- * including handling XOR mode setting; extensions of Rubberband
- * need not concern themselves with anything but drawing the
- * last and next geometric shapes.<p>
- *
- * @version 1.00, 12/27/95
- * @author David Geary
- * @see RubberbandLine
- * @see RubberbandRectangle
- * @see RubberbandEllipse
- * @see gjt.test.RubberbandTest
- */
-abstract public class Rubberband {
- protected Point anchor = new Point(0,0);
- protected Point stretched = new Point(0,0);
- protected Point last = new Point(0,0);
- protected Point end = new Point(0,0);
-
- private Component component;
- private boolean firstStretch = true;
-
- abstract public void drawLast(Graphics g);
- abstract public void drawNext(Graphics g);
-
- public Rubberband(Component component) {
- this.component = component;
- }
- public Point getAnchor () { return anchor; }
- public Point getStretched() { return stretched; }
- public Point getLast () { return last; }
- public Point getEnd () { return end; }
-
- public void anchor(Point p) {
- firstStretch = true;
- anchor.x = p.x;
- anchor.y = p.y;
-
- stretched.x = last.x = anchor.x;
- stretched.y = last.y = anchor.y;
- }
- public void stretch(Point p) {
- last.x = stretched.x;
- last.y = stretched.y;
- stretched.x = p.x;
- stretched.y = p.y;
-
- Graphics g = component.getGraphics();
- if(g != null) {
- g.setXORMode(component.getBackground());
-
- if(firstStretch == true) firstStretch = false;
- else drawLast(g);
-
- drawNext(g);
- }
- }
- public void end(Point p) {
- last.x = end.x = p.x;
- last.y = end.y = p.y;
-
- Graphics g = component.getGraphics();
- if(g != null) {
- g.setXORMode(component.getBackground());
- drawLast(g);
- }
- }
- public Rectangle bounds() {
- return new Rectangle(stretched.x < anchor.x ?
- stretched.x : anchor.x,
- stretched.y < anchor.y ?
- stretched.y : anchor.y,
- Math.abs(stretched.x - anchor.x),
- Math.abs(stretched.y - anchor.y));
- }
-
- public Rectangle lastBounds() {
- return new Rectangle(
- last.x < anchor.x ? last.x : anchor.x,
- last.y < anchor.y ? last.y : anchor.y,
- Math.abs(last.x - anchor.x),
- Math.abs(last.y - anchor.y));
- }
-}
diff --git a/java/gjt/rubberband/RubberbandEllipse.java b/java/gjt/rubberband/RubberbandEllipse.java
deleted file mode 100644
index 50ddb0cdd6b..00000000000
--- a/java/gjt/rubberband/RubberbandEllipse.java
+++ /dev/null
@@ -1,32 +0,0 @@
-package gjt.rubberband;
-
-import java.awt.Component;
-import java.awt.Graphics;
-import java.awt.Rectangle;
-
-/**
- * A Rubberband that does ellipses.
- *
- * @version 1.00, 12/27/95
- * @author David Geary
- * @see Rubberband
- * @see gjt.test.RubberbandTest
- */
-public class RubberbandEllipse extends Rubberband {
- private final int startAngle = 0;
- private final int endAngle = 360;
-
- public RubberbandEllipse(Component component) {
- super(component);
- }
- public void drawLast(Graphics graphics) {
- Rectangle r = lastBounds();
- graphics.drawArc(r.x, r.y,
- r.width, r.height, startAngle, endAngle);
- }
- public void drawNext(Graphics graphics) {
- Rectangle r = bounds();
- graphics.drawArc(r.x, r.y,
- r.width, r.height, startAngle, endAngle);
- }
-}
diff --git a/java/gjt/rubberband/RubberbandLine.java b/java/gjt/rubberband/RubberbandLine.java
deleted file mode 100644
index 95daafa32a6..00000000000
--- a/java/gjt/rubberband/RubberbandLine.java
+++ /dev/null
@@ -1,25 +0,0 @@
-package gjt.rubberband;
-
-import java.awt.Component;
-import java.awt.Graphics;
-
-/**
- * A Rubberband that does lines.
- *
- * @version 1.0, 12/27/95
- * @author David Geary
- * @see Rubberband
- * @see gjt.test.RubberbandTest
- */
-public class RubberbandLine extends Rubberband {
- public RubberbandLine(Component component) {
- super(component);
- }
- public void drawLast(Graphics graphics) {
- graphics.drawLine(anchor.x, anchor.y, last.x, last.y);
- }
- public void drawNext(Graphics graphics) {
- graphics.drawLine(anchor.x, anchor.y,
- stretched.x, stretched.y);
- }
-}
diff --git a/java/gjt/rubberband/RubberbandPanel.java b/java/gjt/rubberband/RubberbandPanel.java
deleted file mode 100644
index e4c25f4efb5..00000000000
--- a/java/gjt/rubberband/RubberbandPanel.java
+++ /dev/null
@@ -1,38 +0,0 @@
-package gjt.rubberband;
-
-import java.awt.*;
-
-/**
- * An extension of Panel which is fitted with a Rubberband.
- * Handling of mouse events is automatically handled for
- * rubberbanding.<p>
- *
- * Clients may set or get the Rubberband at any time.<p>
- *
- * @version 1.0, Dec 27 1995
- * @author David Geary
- * @see Rubberband
- * @see gjt.test.RubberbandTest
- */
-public class RubberbandPanel extends Panel {
- private Rubberband rubberband;
-
- public void setRubberband(Rubberband rubberband) {
- this.rubberband = rubberband;
- }
- public Rubberband getRubberband() {
- return rubberband;
- }
- public boolean mouseDown(Event event, int x, int y) {
- rubberband.anchor(new Point(x,y));
- return false;
- }
- public boolean mouseDrag(Event event, int x, int y) {
- rubberband.stretch(new Point(x,y));
- return false;
- }
- public boolean mouseUp(Event event, int x, int y) {
- rubberband.end(new Point(x,y));
- return false;
- }
-}
diff --git a/java/gjt/rubberband/RubberbandRectangle.java b/java/gjt/rubberband/RubberbandRectangle.java
deleted file mode 100644
index bfcb1bfc32c..00000000000
--- a/java/gjt/rubberband/RubberbandRectangle.java
+++ /dev/null
@@ -1,29 +0,0 @@
-package gjt.rubberband;
-
-import java.awt.Component;
-import java.awt.Graphics;
-import java.awt.Rectangle;
-
-/**
- * A Rubberband that does rectangles.
- *
- * @version 1.00, 12/27/95
- * @author David Geary
- * @see Rubberband
- * @see gjt.test.RubberbandTest
- */
-public class RubberbandRectangle extends Rubberband {
- public RubberbandRectangle(Component component) {
- super(component);
- }
- public void drawLast(Graphics graphics) {
- Rectangle rect = lastBounds();
- graphics.drawRect(rect.x, rect.y,
- rect.width, rect.height);
- }
- public void drawNext(Graphics graphics) {
- Rectangle rect = bounds();
- graphics.drawRect(rect.x, rect.y,
- rect.width, rect.height);
- }
-}
diff --git a/java/gjt/test/AttributesPanel.java b/java/gjt/test/AttributesPanel.java
deleted file mode 100644
index 535a12edaeb..00000000000
--- a/java/gjt/test/AttributesPanel.java
+++ /dev/null
@@ -1,78 +0,0 @@
-package gjt.test;
-
-import java.applet.Applet;
-import java.awt.*;
-import gjt.*;
-
-class AttributesPanel extends Panel {
- private Applet applet;
- private Box iconbox, labelbox, checkboxbox;
- private Panel panelInLabelbox = new Panel();
- private Panel panelInCheckboxbox = new Panel();
- private ExclusiveImageButtonPanel panelInIconbox;
-
- public AttributesPanel(Applet applet) {
- GridBagLayout gbl = new GridBagLayout();
- GridBagConstraints gbc = new GridBagConstraints();
-
- this.applet = applet;
- panelInIconbox = new ExclusiveImageButtonPanel(
- Orientation.HORIZONTAL);
-
- populateIconPanel ();
- populateLabelPanel ();
- populateCheckboxPanel();
-
- iconbox = new Box(panelInIconbox,
- "Meaningless Images");
- labelbox = new Box(panelInLabelbox, "Labels");
- checkboxbox = new Box(panelInCheckboxbox, "Fruits");
- iconbox.etchedOut();
-
- setLayout(gbl);
- gbc.anchor = GridBagConstraints.NORTH;
- gbc.gridwidth = GridBagConstraints.REMAINDER;
- gbc.weighty = 0.50;
- gbl.setConstraints(iconbox, gbc);
- add(iconbox);
- gbl.setConstraints(labelbox, gbc);
- add(labelbox);
-
- gbc.anchor = GridBagConstraints.SOUTH;
- gbc.weighty = 0;
- gbl.setConstraints(panelInCheckboxbox, gbc);
- add(checkboxbox);
- }
- private void populateIconPanel() {
- Image ballot, film, ticket;
-
- ballot = applet.getImage(applet.getCodeBase(),
- "gifs/ballot_box.gif");
- ticket = applet.getImage(applet.getCodeBase(),
- "gifs/movie_ticket.gif");
- film = applet.getImage(applet.getCodeBase(),
- "gifs/filmstrip.gif");
-
- panelInIconbox.add(ballot);
- panelInIconbox.add(ticket);
- panelInIconbox.add(film);
- }
- private void populateLabelPanel() {
- panelInLabelbox.add(new Label("Label One"));
- panelInLabelbox.add(new Label("Label Two"));
- panelInLabelbox.add(new Label("Label Three"));
- panelInLabelbox.add(new Label("Label Four"));
- panelInLabelbox.add(new Label("Label Five"));
- }
- private void populateCheckboxPanel() {
- CheckboxGroup group = new CheckboxGroup();
-
- panelInCheckboxbox.setLayout(new GridLayout(3,0));
- panelInCheckboxbox.add(new Checkbox("apples",
- group, false));
- panelInCheckboxbox.add(new Checkbox("oranges",
- group, false));
- panelInCheckboxbox.add(new Checkbox("pears",
- group, true));
- }
-}
diff --git a/java/gjt/test/BargaugeTest.java b/java/gjt/test/BargaugeTest.java
deleted file mode 100644
index 47733d6b0bf..00000000000
--- a/java/gjt/test/BargaugeTest.java
+++ /dev/null
@@ -1,130 +0,0 @@
-package gjt.test;
-
-import java.awt.*;
-import java.applet.*;
-import gjt.Bargauge;
-
-/**
- * An array of either horizontal or vertical animated bargauges.
- * The orientation of the bargauges is controlled by a parameter
- * passed into the applet.<p>
- *
- * <em>
- * Warning: An AWT bug causes this test to be a gluttenous
- * consumer of resources (especially under Win95). A mouse down
- * will halt the animation thread along with its consumption of
- * resources.<p>
- * </em>
- *
- * @version 1.0, April 25, 1996
- * @author David Geary
- * @see gjt.test.UnitTest
- * @see gjt.Bargauge
- */
-public class BargaugeTest extends UnitTest {
- private Bargauge[] gauges = new Bargauge[10];
- private Thread animatorThread;
- private boolean running;
-
- public String title() {
- return "Bargauge Test";
- }
- public Panel centerPanel() {
- return new BargaugeTestPanel(
- gauges, getParameter("orientation"));
- }
- public boolean mouseDown(Event event, int x, int y) {
- if(running == true) {
- animatorThread.suspend();
- running = false;
- }
- else {
- animatorThread.resume ();
- running = true;
- }
- return true;
- }
- public void start() {
- super.start();
- animatorThread = new BargaugeAnimator(gauges);
- animatorThread.start();
- running = true;
- }
- public void stop() {
- super.stop();
- animatorThread.suspend();
- running = false;
- }
-}
-
-class BargaugeTestPanel extends Panel {
- public BargaugeTestPanel(Bargauge[] gauges, String orient) {
- Panel bargaugePanel = new Panel();
-
- setLayout(new BorderLayout());
- add("North",
- new Label("Mouse Down Starts/Stops",Label.CENTER));
- add("Center", bargaugePanel);
-
- bargaugePanel.add(new BargaugeGridPanel(gauges,orient));
- }
-}
-
-class BargaugeGridPanel extends Panel {
- private Dimension preferredSize = new Dimension(200, 250);
-
- public BargaugeGridPanel(Bargauge[] gauges, String orient) {
- Bargauge nextGauge;
- Color color = Color.gray;
-
- if("horizontal".equals(orient))
- setLayout(new GridLayout(gauges.length,0,5,5));
- else
- setLayout(new GridLayout(0,gauges.length,5,5));
-
- for(int i=0; i < gauges.length; ++i) {
- switch(i) {
- case 1: color = Color.darkGray; break;
- case 2: color = Color.blue; break;
- case 3: color = Color.magenta; break;
- case 4: color = Color.yellow; break;
- case 5: color = Color.green; break;
- case 6: color = Color.cyan; break;
- case 7: color = Color.orange; break;
- case 8: color = Color.pink; break;
- case 9: color = Color.red; break;
- case 10: color = Color.yellow; break;
- }
- nextGauge = new Bargauge(color);
- gauges[i] = nextGauge;
- add(nextGauge);
- }
- }
- public Dimension preferredSize() { return preferredSize; }
- public Dimension minimumSize () { return preferredSize; }
-}
-
-class BargaugeAnimator extends Thread {
- private Bargauge[] gauges;
- private boolean firstAnimation = true;
-
- public BargaugeAnimator(Bargauge[] gauges) {
- this.gauges = gauges;
- }
- public void run() {
- int count = gauges.length;
-
- while(true) {
- try { Thread.currentThread().sleep(500,0); }
- catch(InterruptedException e) { }
- for(int i=0; i < count; ++i) {
- gauges[i].setFillPercent(Math.random() * 100);
- gauges[i].fill();
-
- if(firstAnimation)
- System.out.println(gauges[i].toString());
- }
- firstAnimation = false;
- }
- }
-}
diff --git a/java/gjt/test/BleachImageFilterTest.java b/java/gjt/test/BleachImageFilterTest.java
deleted file mode 100644
index 08fda725a08..00000000000
--- a/java/gjt/test/BleachImageFilterTest.java
+++ /dev/null
@@ -1,86 +0,0 @@
-package gjt.test;
-
-import java.applet.Applet;
-import java.awt.*;
-import java.awt.image.FilteredImageSource;
-
-import gjt.Util;
-import gjt.image.BleachImageFilter;
-
-/**
- * Initially displays an unbleached image. Subsequent mouse
- * clicks in the canvas containing the image toggle between
- * a bleached version of the image and an unbleached version.<p>
- *
- * @version 1.0, Apr 1 1996
- * @author David Geary
- * @see gjt.test.UnitTest
- * @see gjt.image.BleachImageFilter
- */
-public class BleachImageFilterTest extends UnitTest {
- public String title() {
- return "BleachImageFilter Test " +
- "(Click below to Bleach/Unbleach Picture)";
- }
- public Panel centerPanel() {
- return new BleachImageFilterTestPanel(this);
- }
-}
-
-class BleachImageFilterTestPanel extends Panel {
- BleachImageFilterTestCanvas canvas;
-
- public BleachImageFilterTestPanel(Applet applet) {
- add(canvas = new BleachImageFilterTestCanvas(applet));
- }
- public boolean mouseDown(Event event, int x, int y) {
- canvas.toggleBleaching();
- canvas.repaint();
- return true;
- }
-}
-
-class BleachImageFilterTestCanvas extends Canvas {
- private Image im;
- private Image bleached;
- private boolean showingBleached = false;
-
- public BleachImageFilterTestCanvas(Applet applet) {
- int bp;
- String bleachPercent =
- applet.getParameter("bleachPercent");
-
- if(bleachPercent != null)
- bp = new Integer(bleachPercent).intValue();
- else
- bp = 50;
-
- im = applet.getImage(applet.getCodeBase(),
- "gifs/saint.gif");
- Util.waitForImage(this, im);
-
- FilteredImageSource source =
- new FilteredImageSource(im.getSource(),
- new BleachImageFilter(bp));
-
- bleached = createImage(source);
- Util.waitForImage(this, bleached);
-
- showImageSize();
- }
- public Dimension preferredSize() {
- return new Dimension(im.getWidth(this),
- im.getHeight(this));
- }
- public void paint(Graphics g) {
- if(showingBleached) g.drawImage(bleached,0,0,this);
- else g.drawImage(im, 0,0,this);
- }
- public void toggleBleaching() {
- showingBleached = showingBleached ? false : true;
- }
- private void showImageSize() {
- System.out.print ("Image width=" + im.getWidth(this));
- System.out.println(" height=" + im.getHeight(this));
- }
-}
diff --git a/java/gjt/test/BorderTest.java b/java/gjt/test/BorderTest.java
deleted file mode 100644
index 450b5ffc7ea..00000000000
--- a/java/gjt/test/BorderTest.java
+++ /dev/null
@@ -1,202 +0,0 @@
-package gjt.test;
-
-import java.applet.Applet;
-import java.awt.*;
-import gjt.Border;
-import gjt.Box;
-import gjt.EtchedBorder;
-import gjt.ImageButton;
-import gjt.ThreeDBorder;
-
-/**
- * Creates 10 bordered Components:
- * <dl>
- * <dd> A Canvas (click in canvas to depress/raise the border).
- * <dd> A Label with an etched out border.
- * <dd> A TextField with an inset 3D border.
- * <dd> A CheckBox with a default border.
- * <dd> A List with a raised 3D border.
- * <dd> A Choice with an etched in border.
- * <dd> A Box with a raised 3D border.
- * <dd> An ImageButton with a thick, red border.
- * <dd> An AWT Button with a cyan border.
- * <dd> A TextArea with a blue default-width border.
- * </dl>
- *
- * @version 1.0, April 25, 1996
- * @author David Geary
- * @see gjt.test.UnitTest
- * @see gjt.Border
- * @see gjt.ThreeDBorder
- * @see gjt.EtchedBorder
- */
-public class BorderTest extends UnitTest {
- public String title() {
- return "Border Test";
- }
- public Panel centerPanel() {
- return new BorderTestPanel(this);
- }
-}
-
-class BorderTestPanel extends Panel {
- TextField tf = new TextField(
- "Inset TextField: border 5 pixels, gap 5 pixels ");
- ThreeDBorder threeDBorder;
- EtchedBorder etchedLabel;
- Border border;
-
- public BorderTestPanel(Applet applet) {
- setLayout(new FlowLayout(FlowLayout.CENTER, 10, 10));
-
- add(new BorderedCanvas());
- add(etchedLabel =
- new EtchedBorder(new Label("Etched Label")));
- add(threeDBorder = new ThreeDBorder(tf, 5, 5));
- add(new Border(new Checkbox("Check Me Out")));
- add(makeThreeDBorderedList ());
- add(makeEtchedBorderedChoice ());
- add(makeThreeDBorderedCheckboxes());
- add(makeBorderedImageButton (applet));
- add(makeBorderedAWTButton ());
- add(makeBorderedTextArea ());
-
- threeDBorder.inset();
- etchedLabel.etchedOut();
- }
- private Border makeThreeDBorderedList() {
- List list = new List(10, true);
-
- list.addItem("One");
- list.addItem("Two");
- list.addItem("Three");
- list.addItem("Four");
- list.addItem("Five");
- list.addItem("Six");
- list.addItem("Seven");
- list.addItem("Eight");
- list.addItem("Nine");
- list.addItem("Ten");
- list.addItem("Eleven");
- list.addItem("Twelve");
- list.addItem("Thirteen");
- list.addItem("Fourteen");
- list.addItem("Fiveteen");
- list.addItem("Sixteen");
- list.addItem("Seventeen");
- list.addItem("Eightteen");
- list.addItem("Nineteen");
- list.addItem("Twenty");
-
- return new ThreeDBorder(list);
- }
- private Border makeEtchedBorderedChoice() {
- Choice choice = new Choice();
-
- choice.addItem("Toadies");
- choice.addItem("SilverChair");
- choice.addItem("Rug Burns");
- choice.addItem("Cracker");
- choice.addItem("Seven Mary Three");
- choice.addItem("Dishwalla");
- choice.addItem("Blues Traveler");
- choice.addItem("BottleRockets");
- choice.addItem("SpaceHog");
-
- return new EtchedBorder(choice);
- }
- private Border makeBorderedImageButton(Applet applet) {
- Image snail;
- Border border;
-
- snail = applet.getImage(applet.getCodeBase(),
- "gifs/snail.gif");
- border = new Border(new ImageButton(snail), 10);
- border.setLineColor(Color.red);
-
- return border;
- }
- private Border makeBorderedAWTButton() {
- Button button;
- Border cyanBorder, blackBorder;
-
- button = new Button("Button Inside Two Borders");
- cyanBorder = new Border(button, 7);
- cyanBorder.setLineColor(Color.cyan);
-
- blackBorder = new Border(cyanBorder);
-
- return blackBorder;
- }
- private Border makeThreeDBorderedCheckboxes() {
- Panel panel = new Panel();
- Box box = new Box(panel, "Options");
- CheckboxGroup group = new CheckboxGroup();
-
- panel.setLayout(new GridLayout(3,0));
- panel.add(new Checkbox("bordered", group, false));
- panel.add(new Checkbox("transparent", group, false));
- panel.add(new Checkbox("continuous", group, true));
-
- return new ThreeDBorder(box, 4);
- }
- private Border makeBorderedTextArea() {
- Border border;
-
- border = new Border(
- new TextArea("Blue Bordered TextArea", 5, 30));
- border.setLineColor(Color.blue);
-
- return border;
- }
-}
-
-class BorderedCanvas extends ThreeDBorder {
- public BorderedCanvas() {
- super(new TestCanvas());
- }
- public boolean mouseDown(Event event, int x, int y) {
- if(isRaised()) paintInset ();
- else paintRaised();
- return true;
- }
-}
-
-class TestCanvas extends Canvas {
- private boolean centeredShowing = false;
- private String centered = new String ("Red Centered Text");
-
- public void paint(Graphics g) {
- String canvas = "Canvas";
- String click = "Click Me";
- Dimension size = size();
- FontMetrics fm = g.getFontMetrics();
-
- g.drawString(canvas, (size.width/2) -
- (fm.stringWidth(canvas)/2),
- fm.getHeight() - fm.getDescent());
-
- g.drawString(click, (size.width/2) -
- (fm.stringWidth(click)/2),
- size.height - fm.getHeight() +
- fm.getAscent());
-
- if(centeredShowing == true) {
- g.setColor(Color.red);
- g.drawString(centered,
- size.width/2-(fm.stringWidth(centered)/2),
- size.height/2 - (fm.getHeight()/2) +
- fm.getAscent());
- }
- }
- public Dimension preferredSize() {
- FontMetrics fm = getGraphics().getFontMetrics();
- return new Dimension(fm.stringWidth(centered)+10, 100);
- }
- public boolean mouseUp(Event event, int x, int y) {
- if(centeredShowing == false) centeredShowing = true;
- else centeredShowing = false;
- repaint();
- return true;
- }
-}
diff --git a/java/gjt/test/BoxTest.java b/java/gjt/test/BoxTest.java
deleted file mode 100644
index 24e3de9213e..00000000000
--- a/java/gjt/test/BoxTest.java
+++ /dev/null
@@ -1,100 +0,0 @@
-package gjt.test;
-
-import java.applet.Applet;
-import java.awt.*;
-import gjt.Box;
-import gjt.ExclusiveImageButtonPanel;
-import gjt.Orientation;
-
-/**
- * Three Boxes, each of which surrounds either: ImageButtons,
- * Labels or Checkboxes. The Box surrounding the ImageButtons
- * is etched out, while the other two Boxes are etched in.<p>
- *
- * @version 1.0, April 25, 1996
- * @author David Geary
- * @see gjt.test.UnitTest
- * @see gjt.ImageButton
- * @see gjt.Box
- */
-public class BoxTest extends UnitTest {
- public String title() {
- return "Box Test";
- }
- public Panel centerPanel() {
- return new BoxTestPanel(this);
- }
-}
-
-class BoxTestPanel extends Panel {
- private Applet applet;
- private Box iconbox, labelbox, checkboxbox;
- private Panel panelInLabelbox = new Panel();
- private Panel panelInCheckboxbox = new Panel();
- private ExclusiveImageButtonPanel panelInIconbox;
-
- public BoxTestPanel(Applet applet) {
- GridBagLayout gbl = new GridBagLayout();
- GridBagConstraints gbc = new GridBagConstraints();
-
- this.applet = applet;
- panelInIconbox = new ExclusiveImageButtonPanel(
- Orientation.HORIZONTAL);
-
- populateIconPanel ();
- populateLabelPanel ();
- populateCheckboxPanel();
-
- iconbox = new Box(panelInIconbox,
- "Meaningless Images");
- labelbox = new Box(panelInLabelbox, "Labels");
- checkboxbox = new Box(panelInCheckboxbox, "Fruits");
- iconbox.etchedOut();
-
- setLayout(gbl);
- gbc.anchor = GridBagConstraints.NORTH;
- gbc.gridwidth = GridBagConstraints.REMAINDER;
- gbc.weighty = 0.50;
- gbl.setConstraints(iconbox, gbc);
- add(iconbox);
- gbl.setConstraints(labelbox, gbc);
- add(labelbox);
-
- gbc.anchor = GridBagConstraints.SOUTH;
- gbc.weighty = 0;
- gbl.setConstraints(checkboxbox, gbc);
- add(checkboxbox);
- }
- private void populateIconPanel() {
- Image ballot, film, ticket;
-
- ballot = applet.getImage(applet.getCodeBase(),
- "gifs/ballot_box.gif");
- ticket = applet.getImage(applet.getCodeBase(),
- "gifs/movie_ticket.gif");
- film = applet.getImage(applet.getCodeBase(),
- "gifs/filmstrip.gif");
-
- panelInIconbox.add(ballot);
- panelInIconbox.add(ticket);
- panelInIconbox.add(film);
- }
- private void populateLabelPanel() {
- panelInLabelbox.add(new Label("Label One"));
- panelInLabelbox.add(new Label("Label Two"));
- panelInLabelbox.add(new Label("Label Three"));
- panelInLabelbox.add(new Label("Label Four"));
- panelInLabelbox.add(new Label("Label Five"));
- }
- private void populateCheckboxPanel() {
- CheckboxGroup group = new CheckboxGroup();
-
- panelInCheckboxbox.setLayout(new GridLayout(3,0));
- panelInCheckboxbox.add(new Checkbox("apples",
- group, false));
- panelInCheckboxbox.add(new Checkbox("oranges",
- group, false));
- panelInCheckboxbox.add(new Checkbox("pears",
- group, true));
- }
-}
diff --git a/java/gjt/test/BumpAnimationTest.java b/java/gjt/test/BumpAnimationTest.java
deleted file mode 100644
index 81b6fb5ce8e..00000000000
--- a/java/gjt/test/BumpAnimationTest.java
+++ /dev/null
@@ -1,107 +0,0 @@
-package gjt.test;
-
-import java.net.URL;
-import java.applet.Applet;
-import java.awt.*;
-
-import gjt.Util;
-import gjt.Orientation;
-import gjt.animation.*;
-
-/**
- * A simple animation playfield with one sprite that bounces
- * off the boundaries of the playfield.<p>
- *
- * When the sprite bounces off the left wall, it plays a
- * bump sequence once; when it bounces off the right wall
- * it plays the bump sequence twice.<p>
- *
- * @version 1.0, Apr 1 1996
- * @author David Geary
- * @see gjt.animation.Playfield
- * @see gjt.animation.Sprite
- */
-public class BumpAnimationTest extends UnitTest {
- public String title() {
- return "Bump Animation - Mouse Down Starts/Stops";
- }
- public Panel centerPanel() {
- return new BumpAnimationTestPanel(this);
- }
-}
-
-class BumpAnimationTestPanel extends Panel {
- public BumpAnimationTestPanel(Applet applet) {
- setLayout(new BorderLayout());
- add("Center", new BumpPlayfield(applet));
- }
-}
-
-class BumpPlayfield extends Playfield {
- private Applet applet;
- private URL cb;
- private Sprite javaDrinker;
- private Sequence spinSequence, bumpSequence;
-
- public BumpPlayfield(Applet applet) {
- this.applet = applet;
- cb = applet.getCodeBase();
- makeSequencesAndSprites();
- }
- public void paintBackground(Graphics g) {
- Image bg = applet.getImage(cb, "gifs/background.gif");
- Util.wallPaper(this, g, bg);
- }
- public boolean mouseDown(Event event, int x, int y) {
- if(running() == true) stop ();
- else start();
- return true;
- }
- public void spriteCollision(Sprite sprite, Sprite sprite2) {
- // Nothing to do: only 1 sprite!
- }
- public void edgeCollision(Sprite sprite,
- Orientation orientation) {
- if(orientation == Orientation.RIGHT ||
- orientation == Orientation.LEFT) {
- if(sprite.getSequence() != bumpSequence) {
- sprite.reverseX();
-
- if(orientation == Orientation.RIGHT)
- sprite.play(bumpSequence, 1);
- else
- sprite.play(bumpSequence, 2);
- }
- }
- else
- sprite.reverseY();
- }
- private void makeSequencesAndSprites() {
- String file;
- Point startLoc = new Point(10, 10);
- Image[] spinImages = new Image[19];
- Image[] bumpImages = new Image[6];
-
- for(int i=0; i < spinImages.length; ++i) {
- file = "gifs/spin";
-
- if(i < 10) file += "0" + i + ".gif";
- else file += i + ".gif";
-
- spinImages[i] = applet.getImage(cb, file);
- }
- for(int i=0; i < bumpImages.length; ++i) {
- file = "gifs/bump0" + i + ".gif";
- bumpImages[i] = applet.getImage(cb, file);
- }
- spinSequence = new Sequence(this, spinImages);
- bumpSequence = new Sequence(this, bumpImages);
- javaDrinker = new Sprite(this, spinSequence, startLoc);
-
- spinSequence.setAdvanceInterval(100);
- bumpSequence.setAdvanceInterval(200);
-
- javaDrinker.setMoveVector(new Point(2,2));
- addSprite(javaDrinker);
- }
-}
diff --git a/java/gjt/test/ChoiceCardPanelTest.java b/java/gjt/test/ChoiceCardPanelTest.java
deleted file mode 100644
index 4ec27ac8945..00000000000
--- a/java/gjt/test/ChoiceCardPanelTest.java
+++ /dev/null
@@ -1,34 +0,0 @@
-package gjt.test;
-
-import java.applet.Applet;
-import java.awt.*;
-import gjt.ChoiceCardPanel;
-
-/**
- * A ChoiceCardPanel that controls three Panels.<p>
- *
- * @version 1.0, April 25, 1996
- * @author David Geary
- * @see gjt.test.UnitTest
- * @see gjt.ChoiceCardPanel
- */
-public class ChoiceCardPanelTest extends UnitTest {
- public String title() { return "Choice CardPanel Test"; }
- public Panel centerPanel() {
- return new ChoiceCardPanelTestPanel(this);
- }
-}
-
-class ChoiceCardPanelTestPanel extends Panel {
- private ChoiceCardPanel mvp = new ChoiceCardPanel();
-
- public ChoiceCardPanelTestPanel(Applet applet) {
- setLayout(new BorderLayout());
-
- mvp.addChoice("Attributes",
- new AttributesPanel(applet));
- mvp.addChoice("Connections", new ConnectionsPanel());
- mvp.addChoice("Oracle", new OccupationOracle());
- add("Center", mvp);
- }
-}
diff --git a/java/gjt/test/ColumnLayoutTest.java b/java/gjt/test/ColumnLayoutTest.java
deleted file mode 100644
index fcef2151a25..00000000000
--- a/java/gjt/test/ColumnLayoutTest.java
+++ /dev/null
@@ -1,126 +0,0 @@
-package gjt.test;
-
-import java.applet.Applet;
-import java.net.URL;
-import java.awt.*;
-import gjt.*;
-
-/**
- * Lays out 3 image buttons, and provides controls for setting
- * orientations and gaps on the fly.<p>
- *
- * @version 1.0, April 25, 1996
- * @author David Geary
- * @see gjt.test.UnitTest
- * @see gjt.ImageButton
- * @see gjt.Box
- */
-public class ColumnLayoutTest extends UnitTest {
- public String title() {
- return "ColumnLayout Test";
- }
- public Panel centerPanel() {
- ColumnButtonPanel buttonPanel;
- Panel panel = new Panel();
-
- buttonPanel = new ColumnButtonPanel(this);
-
- panel.setLayout(new BorderLayout());
- panel.add("Center", buttonPanel);
- panel.add("North", new Box(new ColumnPicker(buttonPanel),
- "Column Layout Settings"));
- return panel;
- }
-}
-
-class ColumnButtonPanel extends Panel implements DialogClient {
- private ImageButton one, two, three;
- private Panel panel = new Panel();
- private TenPixelBorder border = new TenPixelBorder(panel);
-
- public ColumnButtonPanel(Applet applet) {
- URL cb = applet.getCodeBase();
-
- one = new ImageButton(applet.getImage(cb,
- "gifs/one.gif"));
- two = new ImageButton(applet.getImage(cb,
- "gifs/two.gif"));
- three = new ImageButton(applet.getImage(cb,
- "gifs/three.gif"));
-
- panel.setLayout(new ColumnLayout(0));
- panel.add(one);
- panel.add(two);
- panel.add(three);
-
- setLayout(new BorderLayout());
- add ("Center", border);
- }
- public void updateOrientations(Orientation horient,
- Orientation vorient,
- int gap) {
- panel.setLayout(new ColumnLayout(horient, vorient, gap));
- border.validate();
- }
- public void dialogDismissed(Dialog d) { }
-}
-
-class ColumnPicker extends Panel {
- private Label horientLabel = new Label("Horizontal:");
- private Label vorientLabel = new Label("Vertical:");
- private Label gapLabel = new Label("Gap:");
-
- private Choice hchoice = new Choice();
- private Choice vchoice = new Choice();
- private Choice gapChoice = new Choice();
-
- private ColumnButtonPanel buttonPanel;
-
- public ColumnPicker(ColumnButtonPanel buttonPanel) {
- Panel orientations = new Panel();
- Panel gap = new Panel();
-
- this.buttonPanel = buttonPanel;
- hchoice.addItem("left");
- hchoice.addItem("center");
- hchoice.addItem("right");
- hchoice.select(1);
-
- vchoice.addItem("top");
- vchoice.addItem("center");
- vchoice.addItem("bottom");
- vchoice.select(1);
-
- gapChoice.addItem("0");
- gapChoice.addItem("5");
- gapChoice.addItem("10");
- gapChoice.addItem("15");
- gapChoice.addItem("20");
-
- orientations.add(horientLabel);
- orientations.add(hchoice);
- orientations.add(vorientLabel);
- orientations.add(vchoice);
-
- gap.add(gapLabel);
- gap.add(gapChoice);
-
- add(new Box(orientations, "Orientations"));
- add(new Box(gap, "Gap"));
- }
- public boolean action(Event event, Object what) {
- String horient, vorient;
- int gap;
-
- horient = hchoice.getSelectedItem();
- vorient = vchoice.getSelectedItem();
- gap =
- (new Integer(gapChoice.getSelectedItem())).intValue();
-
- buttonPanel.updateOrientations(
- Orientation.fromString(horient),
- Orientation.fromString(vorient), gap);
-
- return true;
- }
-}
diff --git a/java/gjt/test/ComponentScrollerTest.java b/java/gjt/test/ComponentScrollerTest.java
deleted file mode 100644
index 4f0e4a2ec70..00000000000
--- a/java/gjt/test/ComponentScrollerTest.java
+++ /dev/null
@@ -1,205 +0,0 @@
-package gjt.test;
-
-import java.awt.*;
-import java.util.Vector;
-import java.applet.Applet;
-import java.net.URL;
-
-import gjt.Border;
-import gjt.ButtonPanel;
-import gjt.ColumnLayout;
-import gjt.ComponentScroller;
-import gjt.EtchedBorder;
-import gjt.ImageButton;
-import gjt.RowLayout;
-import gjt.Separator;
-import gjt.StickyImageButtonController;
-
-/**
- * A phony image store, where you can purchase images.<p>
- *
- * @version 1.0, April 25, 1996
- * @author David Geary
- * @see gjt.test.UnitTest
- * @see Border
- * @see ButtonPanel
- * @see ImageButton
- * @see Separator
- * @see StickyImageButtonController
- * @see ComponentScroller
- */
-public class ComponentScrollerTest extends UnitTest {
- public String title() {
- return "ComponentScroller Test";
- }
- public Panel centerPanel() {
- return new ComponentScrollerTestPanel(this);
- }
-}
-
-class ComponentScrollerTestPanel extends Panel {
- private ComponentScroller scroller;
- private Panel purchasePanel;
- private ImageButtonRow nextRow;
- private String[][] imageNames = {
- { "gifs/ballot_box.gif", "gifs/filmstrip.gif",
- "gifs/fly.gif", "gifs/eagle.gif",
- "gifs/bullet_hole.gif" },
- { "gifs/mad_hacker.gif", "gifs/tricycle.gif",
- "gifs/light_bulb1.gif", "gifs/scissors.gif",
- "gifs/palette.gif" },
- { "gifs/frog.gif", "gifs/gear.gif",
- "gifs/wrench.gif", "gifs/www.gif",
- "gifs/Dining.gif" },
- { "gifs/ant.gif", "gifs/abomb.gif",
- "gifs/basketball.gif", "gifs/soccer.gif",
- "gifs/skelly.gif" },
- };
- public ComponentScrollerTestPanel(Applet applet) {
- URL base = applet.getCodeBase();
- Image nextImage;
- Border border, blackBorder;
-
- purchasePanel = new Panel();
- purchasePanel.setLayout(new ColumnLayout());
-
- for(int r=0; r < imageNames.length; ++r) {
- nextRow = new ImageButtonRow();
- nextRow.setLayout(new RowLayout());
-
- for(int c=0; c < imageNames[r].length; ++c) {
- nextImage = applet.getImage(base,
- imageNames[r][c]);
- nextRow.add(nextImage);
- }
- purchasePanel.add(nextRow);
- }
- purchasePanel.add(new ButtonPurchaseForm());
-
- scroller = new ComponentScroller();
- border = new Border(purchasePanel, 3, 2);
- blackBorder = new Border(border, 1, 0);
-
- border.setLineColor(Color.gray);
- blackBorder.setLineColor(Color.black);
- scroller.setComponent(blackBorder);
-
- setLayout(new BorderLayout());
- add("Center", scroller);
- }
-}
-
-class ButtonPurchaseForm extends Panel {
- TextField nameField = new TextField(25);
- TextField addressField = new TextField(25);
- TextField cityField = new TextField(15);
- TextField stateField = new TextField(2);
-
- Choice paymentChoice = new Choice();
-
- Button paymentButton = new Button("Purchase");
- Button cancelButton = new Button("Cancel");
-
- public ButtonPurchaseForm() {
- GridBagLayout gbl = new GridBagLayout();
- GridBagConstraints gbc = new GridBagConstraints();
-
- Separator sep = new Separator();
- Label title =
- new Label("Purchase A Fine Image Today");
- Label name = new Label("Name:");
- Label address = new Label("Address:");
- Label payment = new Label("Purchase Method:");
- Label phone = new Label("Phone:");
- Label city = new Label("City:");
- Label state = new Label("State:");
-
- setLayout(gbl);
-
- paymentChoice.addItem("Visa");
- paymentChoice.addItem("MasterCard");
- paymentChoice.addItem("COD");
-
- title.setFont(new Font("Times-Roman",
- Font.BOLD + Font.ITALIC,
- 16));
- gbc.anchor = GridBagConstraints.NORTH;
- gbc.gridwidth = GridBagConstraints.REMAINDER;
- gbl.setConstraints(title, gbc);
- add(title);
-
- gbc.anchor = GridBagConstraints.NORTH;
- gbc.gridwidth = GridBagConstraints.REMAINDER;
- gbc.fill = GridBagConstraints.HORIZONTAL;
- gbc.insets = new Insets(0,0,10,0);
- gbl.setConstraints(sep, gbc);
- add(sep);
-
- gbc.anchor = GridBagConstraints.WEST;
- gbc.gridwidth = 1;
- gbc.insets = new Insets(0,0,0,10);
- gbl.setConstraints(name, gbc);
- add(name);
-
- gbc.gridwidth = GridBagConstraints.REMAINDER;
- gbl.setConstraints(nameField, gbc);
- add(nameField);
-
- gbc.gridwidth = 1;
- gbl.setConstraints(address, gbc);
- add(address);
-
- gbc.gridwidth = GridBagConstraints.REMAINDER;
- gbc.fill = GridBagConstraints.HORIZONTAL;
- gbl.setConstraints(addressField, gbc);
- add(addressField);
-
- gbc.gridwidth = 1;
- gbl.setConstraints(city, gbc);
- add(city);
-
- gbl.setConstraints(cityField, gbc);
- add(cityField);
-
- gbl.setConstraints(state, gbc);
- add(state);
-
- gbl.setConstraints(stateField, gbc);
- gbc.gridwidth = GridBagConstraints.REMAINDER;
- gbl.setConstraints(stateField, gbc);
- add(stateField);
-
- gbc.gridwidth = 1;
- gbl.setConstraints(payment, gbc);
- gbc.insets = new Insets(5,0,5,0);
- add(payment);
-
- gbc.gridwidth = GridBagConstraints.REMAINDER;
- gbc.fill = GridBagConstraints.NONE;
- gbl.setConstraints(paymentChoice, gbc);
- add(paymentChoice);
-
- ButtonPanel buttonPanel = new ButtonPanel();
-
- buttonPanel.add(paymentButton);
- buttonPanel.add(cancelButton);
-
- gbc.anchor = GridBagConstraints.SOUTH;
- gbc.insets = new Insets(5,0,0,0);
- gbc.fill = GridBagConstraints.HORIZONTAL;
- gbc.gridwidth = 4;
- gbl.setConstraints(buttonPanel, gbc);
- add(buttonPanel);
- }
-}
-class ImageButtonRow extends Panel {
- public ImageButtonRow() {
- setLayout(new RowLayout());
- }
- public void add(Image image) {
- ImageButton button = new ImageButton(image);
- add(button);
- button.setController(
- new StickyImageButtonController(button));
- }
-}
diff --git a/java/gjt/test/ConnectionsPanel.java b/java/gjt/test/ConnectionsPanel.java
deleted file mode 100644
index 7790d0709b1..00000000000
--- a/java/gjt/test/ConnectionsPanel.java
+++ /dev/null
@@ -1,9 +0,0 @@
-package gjt.test;
-
-import java.awt.*;
-
-class ConnectionsPanel extends Panel {
- public ConnectionsPanel() {
- add(new Label("Connections"));
- }
-}
diff --git a/java/gjt/test/DialogTest.java b/java/gjt/test/DialogTest.java
deleted file mode 100644
index f92069b7c49..00000000000
--- a/java/gjt/test/DialogTest.java
+++ /dev/null
@@ -1,140 +0,0 @@
-package gjt.test;
-
-import java.awt.*;
-import java.applet.Applet;
-
-import gjt.Util;
-import gjt.DialogClient;
-import gjt.MessageDialog;
-import gjt.ProgressDialog;
-import gjt.QuestionDialog;
-import gjt.YesNoDialog;
-
-/**
- * Tests 4 gjt custom dialogs:
- * <dl>
- * <dd> MessageDialog (a dialog which displays a message)
- * <dd> QuestionDialog (a dialog which asks a question)
- * <dd> YesNoDialog (a dialog with yes/no buttons)
- * <dd> ProgressDialog (a dialog which records progress of task)
- * </dl>
- * @version 1.0, April 25, 1996
- * @author David Geary
- * @see gjt.test.UnitTest
- * @see gjt.DialogClient
- * @see gjt.MessageDialog
- * @see gjt.ProgressDialog;
- * @see gjt.QuestionDialog;
- * @see gjt.YesNoDialog;
- */
-public class DialogTest extends UnitTest {
- public String title() {
- return "Graphic Java Toolkit Dialog Test";
- }
- public Panel centerPanel() {
- return new DialogLauncher();
- }
-}
-
-class DialogLauncher extends Panel implements DialogClient {
- private MessageDialog messageDialog;
- private QuestionDialog questionDialog;
- private YesNoDialog yesNoDialog;
- private ProgressDialog progressDialog;
-
- private Button messageDialogButton, questionDialogButton,
- yesNoDialogButton, progressDialogButton;
-
- public DialogLauncher() {
- setLayout(new GridLayout(0,1));
-
- add(messageDialogButton =
- new Button("Message Dialog"));
-
- add(questionDialogButton =
- new Button("Question Dialog"));
-
- add(yesNoDialogButton =
- new Button("YesNo Dialog"));
-
- add(progressDialogButton =
- new Button("Progress Dialog"));
- }
- public boolean action(Event event, Object what) {
- if(event.target == messageDialogButton) {
- messageDialog = MessageDialog.getMessageDialog(
- Util.getFrame(this), this,
- "Example Message Dialog",
- "This is an example of a message dialog.");
-
- messageDialog.show();
- }
- else if(event.target == questionDialogButton) {
- questionDialog =
- new QuestionDialog(Util.getFrame(this), this,
- "Example Question Dialog",
- "Name: ", "Gumby", 45);
- questionDialog.show();
- }
- else if(event.target == yesNoDialogButton) {
- yesNoDialog =
- YesNoDialog.getYesNoDialog(Util.getFrame(this),
- this,
- "Example YesNo Dialog",
- "Another cup of Java?");
- yesNoDialog.show();
- }
- else if(event.target == progressDialogButton) {
- progressDialog =
- ProgressDialog.getProgressDialog(
- Util.getFrame(this),
- "Example Progress Dialog",
- Color.blue);
-
- progressDialog.show();
-
- ProgressThread thread =
- new ProgressThread(progressDialog);
- thread.start();
- }
-
- return true;
- }
- public void dialogDismissed(Dialog d) {
- if(d == messageDialog) {
- System.out.println("MessageDialog Down");
- }
- if(d == questionDialog) {
- if(questionDialog.wasCancelled())
- System.out.println("CANCELLED");
- else
- System.out.println(
- "Name: " +
- questionDialog.getTextField().getText());
- }
- if(d == yesNoDialog) {
- if(yesNoDialog.answeredYes())
- System.out.println("YES");
- else
- System.out.println("NO");
- }
- }
-}
-
-class ProgressThread extends Thread {
- private ProgressDialog dialog;
- private double percentComplete = 0;
-
- public ProgressThread(ProgressDialog dialog) {
- this.dialog = dialog;
- }
- public void run() {
- while(percentComplete <= 100) {
- try { Thread.currentThread().sleep(500); }
- catch(InterruptedException e) { }
-
- dialog.setPercentComplete(percentComplete);
- percentComplete += 10;
- }
- }
-}
diff --git a/java/gjt/test/DrawnRectangleTest.java b/java/gjt/test/DrawnRectangleTest.java
deleted file mode 100644
index 19e3c195f7c..00000000000
--- a/java/gjt/test/DrawnRectangleTest.java
+++ /dev/null
@@ -1,119 +0,0 @@
-package gjt.test;
-
-import java.awt.*;
-import gjt.DrawnRectangle;
-import gjt.EtchedRectangle;
-import gjt.ThreeDRectangle;
-
-/**
- * 9 DrawnRectangles (some of which are EtchedRectangles
- * and ThreeDRectangles) with varying characteristics such
- * as line widths and colors.<p>
- *
- * A mouse down (any mouse button) in any of the rectangles
- * causes information about the rectangle to be printed to
- * System.out. (Output will go to Java Console in Netscape).<p>
- *
- * @version 1.0, April 25, 1996
- * @author David Geary
- * @see gjt.test.UnitTest
- * @see gjt.DrawnRectangle
- * @see gjt.EtchedRectangle
- * @see gjt.ThreeDRectangle
- */
-public class DrawnRectangleTest extends UnitTest {
- public String title() {
- return "Drawn Rectangle Test";
- }
- public Panel centerPanel() {
- return new DrawnRectangleTestPanel();
- }
-}
-
-class DrawnRectangleTestPanel extends Panel {
- private DrawnRectangle drawnFilledOrange,
- drawnFilledBlue, drawnBlue;
- private EtchedRectangle etchedOut,
- etchedIn, etchedFilledCyan;
- private ThreeDRectangle thinRaised,
- thinInset, thickRaised, thickInset;
-
- public DrawnRectangleTestPanel() {
- drawnFilledOrange =
- new DrawnRectangle (this, 10, 10, 100, 100);
- drawnFilledBlue =
- new DrawnRectangle (this, 135, 135, 100, 100);
- drawnBlue =
- new DrawnRectangle (this, 505, 135, 100, 100);
- etchedFilledCyan =
- new EtchedRectangle(this, 10, 135, 100, 100);
-
- etchedIn = new EtchedRectangle(this, 385, 10, 100, 100);
- etchedOut= new EtchedRectangle(this, 505, 10, 100, 100);
-
- thinRaised =
- new ThreeDRectangle(this, 135, 10, 100, 100);
- thinInset =
- new ThreeDRectangle(this, 260, 10, 100, 100);
- thickRaised =
- new ThreeDRectangle(this, 385, 135, 100, 100);
- thickInset =
- new ThreeDRectangle(this, 260, 135, 100, 100);
-
- drawnFilledOrange.setLineColor(Color.black);
-
- drawnFilledBlue.setLineColor(Color.yellow);
- drawnFilledBlue.setThickness(3);
-
- drawnBlue.setLineColor(Color.blue);
- drawnBlue.setThickness(5);
-
- thickRaised.setThickness(5);
- thickInset.setThickness (5);
- }
- public Dimension preferredSize() {
- return new Dimension(610, 270);
- }
- public void paint(Graphics g) {
- drawnFilledOrange.paint();
- drawnFilledOrange.fill (Color.orange);
-
- drawnFilledBlue.paint ();
- drawnFilledBlue.fill (Color.blue);
-
- drawnBlue.paint ();
-
- etchedIn.paintEtchedIn ();
- etchedOut.paintEtchedOut();
-
- etchedFilledCyan.paintEtchedIn();
- etchedFilledCyan.fill(Color.cyan);
-
- thinRaised.paintRaised ();
- thinInset.paintInset ();
-
- thickRaised.paintRaised ();
-
- thickInset.paintInset ();
- thickInset.fill (Color.red);
- }
- public boolean mouseDown(Event event, int x, int y) {
- if(drawnFilledOrange.inside(x,y))
- show(drawnFilledOrange);
-
- if(drawnFilledBlue.inside(x,y)) show(drawnFilledBlue);
- if(drawnBlue.inside(x,y)) show(drawnBlue);
- if(etchedIn.inside(x,y)) show(etchedIn);
- if(etchedOut.inside(x,y)) show(etchedOut);
- if(etchedFilledCyan.inside(x,y)) show(etchedFilledCyan);
- if(thinRaised.inside(x,y)) show(thinRaised);
- if(thickRaised.inside(x,y)) show(thickRaised);
- if(thinInset.inside(x,y)) show(thinInset);
- if(thickInset.inside(x,y)) show(thickInset);
-
- return true;
- }
- private void show(DrawnRectangle drawnRectangle) {
- System.out.println(drawnRectangle);
- }
-}
diff --git a/java/gjt/test/FontDialogTest.java b/java/gjt/test/FontDialogTest.java
deleted file mode 100644
index d0b535c27f9..00000000000
--- a/java/gjt/test/FontDialogTest.java
+++ /dev/null
@@ -1,95 +0,0 @@
-package gjt.test;
-
-import java.awt.*;
-
-import gjt.FontDialog;
-import gjt.DialogClient;
-import gjt.Util;
-
-/**
- * Activating the button causes the FontDialog to be displayed.
- * Selecting a font from the FontDialog causes the button to
- * use the selected font.<p>
- *
- * This unit test overrides FontDialog to reset the labels
- * displayed in the buttons, and to reset the list of font
- * sizes displayed. See FontDialog for a discussion of the
- * overridden methods.<p>
- *
- *<em>Note: The FontDialog takes forever to come up in
- * Netscape.</em>
- *
- * @version 1.0, Apr 25, 1996
- * @author David Geary
- * @see gjt.test.UnitTest
- * @see gjt.Util
- * @see gjt.FontDialog
- * @see gjt.DialogClient
- */
-class LotsOfSizesFontDialog extends FontDialog {
- private static String _defaultSizes[] =
- { "8", "10", "12", "14", "16",
- "18", "20", "22", "24",
- "26", "28", "30", "32", "34",
- "36", "38", "40", "42", "44",
- "46", "48", "50", "52", "54",
- "56", "58", "60", "62", "64",
- "66", "68", "70", "72", "74",
- "76", "78", "80", "82", "84",
- "86", "88", "90", "92", "94",
- "96", "98", "100" };
-
- public LotsOfSizesFontDialog(Frame frame,
- DialogClient client,
- Font font) {
- super(frame, client, font, true);
- }
- public String getPreviewButtonLabel() {
- return "Preview Selected Font";
- }
- public String getOkButtonLabel () {
- return "I'll Take It";
- }
- public String getCancelButtonLabel () {
- return "Nevermind";
- }
- public String[] getFontSizes () {
- return _defaultSizes;
- }
-}
-
-public class FontDialogTest extends UnitTest {
- public String title() { return "Font Dialog Test"; }
- public Panel centerPanel() {
- return new FontDialogTestPanel();
- }
-}
-
-class FontDialogTestPanel extends Panel
- implements DialogClient {
- private Button fontButton;
-
- public FontDialogTestPanel() {
- setLayout(new BorderLayout());
- add("Center", fontButton = new Button("Fonts ..."));
- }
- public boolean handleEvent(Event event) {
- if(event.id == Event.ACTION_EVENT) {
- LotsOfSizesFontDialog d;
- d = new LotsOfSizesFontDialog(Util.getFrame(this),
- this,
- fontButton.getFont());
- d.show();
- }
- return true;
- }
- public void dialogDismissed(Dialog d) {
- FontDialog fontDialog = (FontDialog)d;
- Font fontSelected = fontDialog.getFontSelected();
-
- if(fontSelected != null)
- fontButton.setFont(fontSelected);
-
- fontButton.requestFocus();
- }
-}
diff --git a/java/gjt/test/IconCardPanelTest.java b/java/gjt/test/IconCardPanelTest.java
deleted file mode 100644
index 33a65e1939c..00000000000
--- a/java/gjt/test/IconCardPanelTest.java
+++ /dev/null
@@ -1,47 +0,0 @@
-package gjt.test;
-
-import java.applet.Applet;
-import java.awt.*;
-import java.net.URL;
-import gjt.IconCardPanel;
-
-/**
- * A gjt.IconCardPanel that controls 3 Panels.<p>
- *
- * @version 1.0, April 25, 1996
- * @author David Geary
- * @see gjt.test.UnitTest
- * @see gjt.IconCardPanel
- */
-public class IconCardPanelTest extends UnitTest {
- public String title() { return "IconCardPanel Test"; }
- public Panel centerPanel() {
- return new CardPanelTestPanel(this);
- }
-}
-class CardPanelTestPanel extends Panel {
- IconCardPanel mvp = new IconCardPanel();
-
- public CardPanelTestPanel(Applet applet) {
- URL cb = applet.getCodeBase();
-
- setLayout(new BorderLayout());
-
- Image folks = applet.getImage(cb,"gifs/cell_phone.gif");
- Image pencil = applet.getImage(cb,"gifs/clipboard.gif");
- Image library =
- applet.getImage(cb, "gifs/mad_hacker.gif");
-
- mvp.addImageButton(folks,
- "Attributes",
- new AttributesPanel(applet));
- mvp.addImageButton(pencil,
- "Connections",
- new ConnectionsPanel());
- mvp.addImageButton(library,
- "Oracle",
- new OccupationOracle());
-
- add("Center", mvp);
- }
-}
diff --git a/java/gjt/test/ImageButtonTest.java b/java/gjt/test/ImageButtonTest.java
deleted file mode 100644
index 52df6efeba0..00000000000
--- a/java/gjt/test/ImageButtonTest.java
+++ /dev/null
@@ -1,130 +0,0 @@
-package gjt.test;
-
-import java.applet.Applet;
-import java.awt.*;
-import gjt.Box;
-import gjt.ImageButton;
-import gjt.ImageButtonEvent;
-import gjt.SpringyImageButtonController;
-import gjt.StickyImageButtonController;
-
-/**
- * 2 ImageButtons, one springy and the other sticky, both
- * crabby.<p>
- *
- * Both ImageButtons come with an awt.Button that is used to
- * enable/disable the ImageButton it's associated with.<p>
- *
- * ImageButtonEvents, along with mouse enter and mouse exit
- * events for the two image buttons are printed out.<p>
- *
- * @version 1.0, Apr 25, 1996
- * @author David Geary
- * @see gjt.test.UnitTest
- * @see gjt.ImageButton
- * @see gjt.ImageButtonEvent
- * @see gjt.SpringyImageButtonController
- * @see gjt.StickyImageButtonController
- */
-public class ImageButtonTest extends UnitTest {
- public String title() {
- return "ImageButton Test";
- }
- public Panel centerPanel() {
- return new ImageButtonTestPanel(this);
- }
-}
-
-class ImageButtonTestPanel extends Panel {
- private ImageButton springyButton;
- private Button springyButtonEnabler;
- private ImageButton stickyButton;
- private Button stickyButtonEnabler;
-
- public ImageButtonTestPanel(Applet applet) {
- Image image;
- Box springyBox, stickyBox;
- GridBagLayout gbl = new GridBagLayout();
- GridBagConstraints gbc = new GridBagConstraints();
-
- image =
- applet.getImage(applet.getCodeBase(), "gifs/crab.gif");
-
- springyButton = new ImageButton(image);
- springyButtonEnabler = new Button ("Disable");
- stickyButton = new ImageButton(image);
- stickyButtonEnabler = new Button ("Disable");
-
- stickyButton.setController(
- new StickyImageButtonController(stickyButton));
-
- setLayout(gbl);
-
- gbc.anchor = GridBagConstraints.NORTH;
- springyBox = new Box(springyButton, "Springy");
- gbc.insets = new Insets(10,0,0,0);
- gbl.setConstraints(springyBox, gbc); add(springyBox);
-
- gbc.gridwidth = GridBagConstraints.REMAINDER;
- gbc.insets = new Insets(45,10,0,0);
- gbl.setConstraints(springyButtonEnabler, gbc);
- add(springyButtonEnabler);
-
- gbc.anchor = GridBagConstraints.NORTH;
- gbc.gridwidth = 1;
- stickyBox = new Box(stickyButton, "Sticky");
- gbc.insets = new Insets(10,0,0,0);
- gbc.weighty = 1.0;
- gbl.setConstraints(stickyBox, gbc); add(stickyBox);
-
- gbc.gridwidth = GridBagConstraints.REMAINDER;
- gbc.insets = new Insets(45,10,0,0);
- gbl.setConstraints(stickyButtonEnabler, gbc);
- add(stickyButtonEnabler);
- }
- public boolean action(Event event, Object what) {
- Button button = (Button)event.target;
- String label = (String)what;
-
- if(button == stickyButtonEnabler) {
- if(label.equals("Disable")) stickyButton.disable();
- else stickyButton.enable();
- }
- else {
- if(label.equals("Disable")) springyButton.disable();
- else springyButton.enable();
- }
- if(label.equals("Disable")) button.setLabel("Enable");
- else button.setLabel("Disable");
-
- return true;
- }
- public boolean handleEvent(Event event) {
- boolean eventHandled = false;
-
- if(event instanceof ImageButtonEvent) {
- System.out.println("ImageButton " + event);
- eventHandled = true;
- }
- if(event.id == Event.MOUSE_ENTER) {
- if(event.target == stickyButton)
- System.out.println("Sticky Button Entered");
-
- else if(event.target == springyButton)
- System.out.println("Springy Button Entered");
-
- eventHandled = true;
- }
- if(event.id == Event.MOUSE_EXIT) {
- if(event.target == stickyButton)
- System.out.println("Sticky Button Exited");
-
- else if(event.target == springyButton)
- System.out.println("Springy Button Exited");
-
- eventHandled = true;
- }
- if(eventHandled) return true;
- else return super.handleEvent(event);
- }
-}
diff --git a/java/gjt/test/ImageDissolverTest.java b/java/gjt/test/ImageDissolverTest.java
deleted file mode 100644
index c157408d2af..00000000000
--- a/java/gjt/test/ImageDissolverTest.java
+++ /dev/null
@@ -1,69 +0,0 @@
-package gjt.test;
-
-import java.applet.Applet;
-import java.awt.*;
-import java.awt.image.FilteredImageSource;
-
-import gjt.Util;
-import gjt.image.ImageDissolver;
-
-/**
- * Initially displays an image. Subsequent mouse clicks in the
- * canvas containing the image cause the image to fade in or
- * fade out, depending upon it's current state.<p>
- *
- * @version 1.0, Apr 1 1996
- * @author David Geary
- * @see gjt.test.UnitTest
- * @see gjt.image.DissolveFilter
- * @see gjt.image.ImageDissolver
- */
-public class ImageDissolverTest extends UnitTest {
- public String title() {
- return "ImageDissolver Test " +
- "(Click Below to Fade Picture In/Out)";
- }
- public Panel centerPanel() {
- return new ImageDissolverTestPanel(this);
- }
-}
-
-class ImageDissolverTestPanel extends Panel {
- ImageDissolverTestCanvas canvas;
-
- public ImageDissolverTestPanel(Applet applet) {
- add(canvas = new ImageDissolverTestCanvas(applet));
- }
- public boolean mouseDown(Event event, int x, int y) {
- canvas.doFade();
- return true;
- }
-}
-
-class ImageDissolverTestCanvas extends Canvas {
- private boolean isFaded = false;
- private Image image;
- private ImageDissolver dissolver;
-
- public ImageDissolverTestCanvas(Applet applet) {
- image =
- applet.getImage(applet.getCodeBase(),"gifs/saint.gif");
-
- Util.waitForImage(this, image);
- dissolver = new ImageDissolver(this, image);
- }
- public void paint(Graphics g) {
- if( ! isFaded)
- g.drawImage(image, 0, 0, this);
- }
- public Dimension preferredSize() {
- return new Dimension(image.getWidth(this),
- image.getHeight(this));
- }
- public void doFade() {
- if(isFaded) dissolver.fadeIn (0,0);
- else dissolver.fadeOut(0,0);
-
- isFaded = isFaded ? false : true;
- }
-}
diff --git a/java/gjt/test/ImageScrollerTest.java b/java/gjt/test/ImageScrollerTest.java
deleted file mode 100644
index 0476682eb6d..00000000000
--- a/java/gjt/test/ImageScrollerTest.java
+++ /dev/null
@@ -1,55 +0,0 @@
-package gjt.test;
-
-import java.awt.*;
-import java.applet.Applet;
-import java.net.URL;
-
-import gjt.ImageScroller;
-import gjt.Util;
-
-/**
- * Four images are loaded; subsequent mouse clicks cycle
- * through the images, that are displayed in an ImageScroller.
- *
- * @version 1.0, April 25, 1996
- * @author David Geary
- * @see gjt.test.UnitTest
- * @see gjt.Scroller
- * @see gjt.ImageScroller
- */
-public class ImageScrollerTest extends UnitTest {
- public String title() {
- return "ImageScroller Test";
- }
- public Panel centerPanel() {
- return new ImageScrollerTestPanel(this);
- }
-}
-
-class ImageScrollerTestPanel extends Panel {
- private Image[] images = new Image[4];
- private int imageIndex = 0;
- private ImageScroller scroller;
-
- public ImageScrollerTestPanel(Applet applet) {
- URL cb = applet.getCodeBase();
-
- images[0]=applet.getImage(cb,"gifs/ashleyAndRoy.gif");
- images[1]=applet.getImage(cb,"gifs/ashleyAndSabre.gif");
- images[2]=applet.getImage(cb,"gifs/anjinAndMariko.gif");
- images[3]=applet.getImage(cb,"gifs/ashleyAndAnjin.gif");
-
- setLayout(new BorderLayout());
- add("Center", scroller = new ImageScroller(images[0]));
- }
- public boolean mouseUp(Event event, int x, int y) {
- if(imageIndex == images.length-1) imageIndex = 0;
- else imageIndex++;
-
- Util.setCursor(Frame.WAIT_CURSOR, this);
- scroller.resetImage(images[imageIndex]);
- Util.setCursor(Frame.DEFAULT_CURSOR, this);
-
- return true;
- }
-}
diff --git a/java/gjt/test/LabelCanvasTest.java b/java/gjt/test/LabelCanvasTest.java
deleted file mode 100644
index cb4c0a857ae..00000000000
--- a/java/gjt/test/LabelCanvasTest.java
+++ /dev/null
@@ -1,75 +0,0 @@
-package gjt.test;
-import java.applet.Applet;
-import java.awt.Event;
-import java.awt.Panel;
-import java.awt.Insets;
-import java.awt.Graphics;
-import gjt.LabelCanvas;
-import gjt.SelectionEvent;
-import gjt.Util;
-
-/**
- * Four LabelCanvases, each with different insets. The leftmost
- * LabelCanvas has standard insets (2 all around), while the
- * other three were constructed as follows:
- * <pre>
- * insetFive.setInsets (new Insets(5,5,5,5));
- * insetTen.setInsets (new Insets(10,10,10,10));
- * insetFifteen.setInsets(new Insets(15,15,15,15));
- * </pre><p>
- *
- * LabelCanvases generate SelectionEvents, that we watch
- * for in our handleEvent() method, and print out.<p>
- *
- * @version 1.0, April 25, 1996
- * @author David Geary
- * @see gjt.test.UnitTest
- * @see gjt.LabelCanvas
- */
-public class LabelCanvasTest extends UnitTest {
- public String title() { return "LabelCanvas Test"; }
- public Panel centerPanel() {
- return new LabelCanvasTestPanel(this);
- }
-}
-
-class LabelCanvasTestPanel extends Panel {
- Applet applet;
- public LabelCanvasTestPanel(Applet applet) {
- this.applet = applet;
- LabelCanvas standard =
- new LabelCanvas("Standard Insets");
- LabelCanvas insetFive =
- new LabelCanvas("Insets = Five");
- LabelCanvas insetTen =
- new LabelCanvas("Insets = Ten");
- LabelCanvas insetFifteen =
- new LabelCanvas("Insets = Fifteen");
-
- insetFive.setInsets (new Insets(5,5,5,5));
- insetTen.setInsets (new Insets(10,10,10,10));
- insetFifteen.setInsets(new Insets(15,15,15,15));
-
- add(standard);
- add(insetFive);
- add(insetTen);
- add(insetFifteen);
- }
- public boolean handleEvent(Event event) {
- if(event instanceof SelectionEvent) {
- SelectionEvent sevent = (SelectionEvent)event;
- LabelCanvas canvas = (LabelCanvas)event.target;
-
- if(sevent.isSelected())
- System.out.println("LabelCanvas " +
- canvas.getLabel() +
- " selected");
- else
- System.out.println("LabelCanvas " +
- canvas.getLabel() +
- " deselected");
- return true;
- }
- return super.handleEvent(event);
- }
-}
diff --git a/java/gjt/test/MessageDialogTest.java b/java/gjt/test/MessageDialogTest.java
deleted file mode 100644
index 6efddd08cb4..00000000000
--- a/java/gjt/test/MessageDialogTest.java
+++ /dev/null
@@ -1,50 +0,0 @@
-
-package gjt.test;
-
-import java.awt.*;
-import java.applet.Applet;
-
-import gjt.MessageDialog;
-import gjt.DialogClient;
-import gjt.Util;
-
-/**
- * Simple unit test that exercises gjt.MessageDialog. This
- * unit test serves to illustrate the use of gjt.DialogClient.
- * For a unit test which covers all of the gjt dialogs,
- * see gjt.test.DialogTest.
- *
- * @version 1.0, April 25, 1996
- * @author David Geary
- * @see gjt.test.UnitTest
- * @see gjt.DialogClient
- * @see gjt.MessageDialog
- */
-public class MessageDialogTest extends UnitTest {
- public String title() {
- return "Message Dialog Test";
- }
- public Panel centerPanel() {
- return new MessageDialogLauncher();
- }
-}
-
-class MessageDialogLauncher extends Panel
- implements DialogClient {
- private MessageDialog messageDialog;
-
- public MessageDialogLauncher() {
- add(new Button("Show Message Dialog"));
- }
- public boolean action(Event event, Object what) {
- messageDialog = MessageDialog.getMessageDialog(
- Util.getFrame(this), this,
- "Example Message Dialog",
- "This is an example of a message dialog.");
- messageDialog.show();
- return true;
- }
- public void dialogDismissed(Dialog d) {
- System.out.println("MessageDialog Down");
- }
-}
diff --git a/java/gjt/test/OccupationOracle.java b/java/gjt/test/OccupationOracle.java
deleted file mode 100644
index a34c2ad2064..00000000000
--- a/java/gjt/test/OccupationOracle.java
+++ /dev/null
@@ -1,334 +0,0 @@
-package gjt.test;
-
-import java.applet.Applet;
-import java.awt.*;
-
-// The OccupationOracle class makes a guess at a person's occupation
-// within an engineering organization based on a few "key" traits.
-// Invalid entries in numeric fields result in an "Unknown" occupation.
-// This applet uses the awt.GridBagLayout class to structure the
-// occupation form. The awt.GridBagLayout class allows fields to
-// be placed in rows and columns within a form. Each component
-// is given a "display area" based on the constraints in effect
-// when it is added to the layout.
-
-// Author: Jerry Jackson (thanks, sifu)
-
-public class OccupationOracle extends Panel {
-
- // Construct the form. Create each component of the form and
- // add it to the layout. Initialize the occupation to "Unknown".
-
- public OccupationOracle() {
-
- // Use the GridBagLayout layout to construct rows and
- // columns.
-
- GridBagLayout gridbag = new GridBagLayout();
-
- // Create a new set of constraints to use when adding
- // a component to the layout. The constraint values
- // in effect when a component is added to the layout
- // are cloned and stored in conjunction with the component
- // by the layout.
-
- GridBagConstraints constraints = new GridBagConstraints();
-
- // Set the font for the form.
-
- //setFont(new Font("TimesRoman", Font.BOLD, 12));
-
- // Associate the GridBagLayout object with the applet.
-
- setLayout(gridbag);
-
- // The "anchor" constraint determines how a component
- // is justified within its display area.
-
- constraints.anchor = GridBagConstraints.WEST;
-
- // Determines how much space should be given to this component.
- // if left at 0.0, all components clump up in the middle as the
- // padding is applied to the outside.
-
- constraints.weightx = 1.0;
-
- // Create a name label and text field.
-
- makeNameField();
-
- // Setting the "gridwidth" constraint to 1 will
- // cause the component to take up the minimum
- // horizontal space in its row.
-
- constraints.gridwidth = 1;
-
- // "addFormComponent" will associate the current constraints
- // with a component and add the component to the form.
-
- addFormComponent(gridbag, nameLabel, constraints);
-
- // Setting the "gridwidth" constraint to REMAINDER will
- // cause the component to fill up the remainder of its row.
- // i.e. it will be the last entry in the row.
-
- constraints.gridwidth = GridBagConstraints.REMAINDER;
-
- // The "fill" constraint tells what to do if the item is in
- // a area larger than it is. In this case we want to fill
- // any extra horizontal space.
-
- constraints.fill = GridBagConstraints.HORIZONTAL;
-
- addFormComponent(gridbag, nameField, constraints);
-
- // Create and add an age label and text field.
-
- makeAgeField();
-
- constraints.gridwidth = 1;
- constraints.fill = GridBagConstraints.NONE;
- constraints.weightx = 0.0;
- addFormComponent(gridbag, ageLabel, constraints);
- constraints.gridwidth = GridBagConstraints.REMAINDER;
- constraints.weightx = 1.0;
- addFormComponent(gridbag, ageField, constraints);
-
- // Create and add a world view label and a single checkbox
- // for a true/false value.
-
- makeWorldViewField();
-
- constraints.gridwidth = 1;
- constraints.weightx = 0.0;
- addFormComponent(gridbag, worldViewLabel, constraints);
- constraints.gridwidth = GridBagConstraints.REMAINDER;
- constraints.weightx = 1.0;
- addFormComponent(gridbag, worldViewField, constraints);
-
-
- // Create and add a coffee consumption label and text field.
-
- makeCoffeeField();
-
- constraints.gridwidth = 1;
- constraints.weightx = 0.0;
- addFormComponent(gridbag, coffeeLabel, constraints);
- constraints.gridwidth = GridBagConstraints.REMAINDER;
- constraints.weightx = 1.0;
- addFormComponent(gridbag, coffeeField, constraints);
-
-
- // Create and add a fashion sense label and a checkbox
- // group that has three mutually exclusive values.
-
- makeFashionField();
-
- constraints.gridwidth = GridBagConstraints.REMAINDER;
- constraints.weightx = 0.0;
- constraints.weighty = 0.0;
- addFormComponent(gridbag, fashionLabel, constraints);
-
- // The three checkboxes that represent fashion sense.
-
- addFormComponent(gridbag, low, constraints);
- addFormComponent(gridbag, medium, constraints);
- addFormComponent(gridbag, high, constraints);
-
- // The Occupation field is output only.
-
- makeOccupationField();
-
- constraints.gridwidth = 1;
- constraints.weightx = 0.0;
- constraints.weighty = 1.0;
- constraints.fill = GridBagConstraints.NONE;
- addFormComponent(gridbag, occupationLabel, constraints);
- constraints.fill = GridBagConstraints.HORIZONTAL;
- constraints.gridwidth = GridBagConstraints.REMAINDER;
- constraints.weightx = 1.0;
- addFormComponent(gridbag, occupationField, constraints);
-
- // Display the initial "Unknown" occupation.
-
- recalculateOccupation();
-
- resize(400, 250);
- }
-
- // The paint() method for this applet just calls the paintComponents()
- // method which is defined by the Container class. It causes all
- // the components visible within the Container to get painted.
-
- public void paint(Graphics g) {
- paintComponents(g);
- }
-
- // When any action occurs within the form we do the same thing:
- // recalculate the person's occupation.
-
- public boolean action(Event event, Object arg) {
- recalculateOccupation();
- return true;
- }
-
- // A helper function that associates constraints with a component
- // and adds it to the form.
-
- private void addFormComponent(GridBagLayout grid, Component comp,
- GridBagConstraints c) {
- grid.setConstraints(comp, c);
- add(comp);
- }
-
-
- // recalculateOccupation() fetches the values of each component
- // and computes an occupation based on some truly stupid heuristics.
-
- private void recalculateOccupation() {
-
- // If we don't have a name yet we might incorrectly categorize
- // the CEO!
-
- if (nameField.getText() == "") {
- occupationField.setText("Unknown");
- }
-
- // Fetch other important values that we'll use in our
- // calculations.
-
- int age;
- int coffeeConsumption;
- boolean binaryView = worldViewField.getState();
-
-
- // Try to fetch integer values for age and coffeeConsumption.
- // If the values in the fields can't be parsed as integers,
- // set the occupation to "Unknown".
-
- try {
- age = Integer.parseInt(ageField.getText());
- coffeeConsumption = Integer.parseInt(coffeeField.getText());
- } catch (Exception e) {
- occupationField.setText("Unknown");
- return;
- }
-
- // Check for the CEO.
-
- String name = nameField.getText();
-
- if (name.endsWith("II") ||
- name.endsWith("III") ||
- name.endsWith("IV")) {
-
- if (age < 35 || coffeeConsumption < 4) {
- occupationField.setText("Junior Executive");
- } else {
- occupationField.setText("CEO");
- }
-
- return;
- }
-
- // Fashion sense is a critical piece of information.
- // The getCurrent() method of CheckboxGroup returns whichever
- // Checkbox in the group is currently selected. Only one
- // can be selected at a time.
-
- Checkbox fashionValue = fashionGroup.getCurrent();
-
- if (fashionValue == low || fashionValue == medium) {
-
- // There are two kinds of people in the world: those who
- // divide people into two kinds and those who don't.
-
- if (binaryView && coffeeConsumption >= 4) {
- occupationField.setText("Engineer");
-
- } else if ((age > 40 && binaryView) ||
- (age < 40 && coffeeConsumption >= 4)) {
- occupationField.setText("Engineering Manager");
-
- } else {
- occupationField.setText("Product Manager");
- }
-
- } else {
-
- // High fashion sense. Not an engineer!
-
- if (binaryView || coffeeConsumption >= 4) {
- occupationField.setText("Vice President");
-
- } else {
- occupationField.setText("Product Marketing");
- }
- }
- }
-
- // Helper functions to create form components.
-
- private void makeNameField() {
- nameLabel = new Label("Name: ");
- nameField = new TextField(40);
- }
-
- private void makeAgeField() {
- ageLabel = new Label("Age: ");
- ageField = new TextField(3);
- }
-
- private void makeOccupationField() {
- occupationLabel = new Label("Occupation: ");
- occupationField = new TextField(40);
- }
-
- private void makeWorldViewField() {
- worldViewLabel = new Label("Binary World View: ");
- worldViewField = new Checkbox();
- }
-
- private void makeCoffeeField() {
- coffeeLabel = new Label("Coffee consumption: ");
- coffeeField = new TextField(3);
- }
-
- private void makeFashionField() {
- fashionLabel = new Label("Fashion sense:");
-
- fashionGroup = new CheckboxGroup();
- low = new Checkbox("Low ", fashionGroup, false);
- medium = new Checkbox("Medium", fashionGroup, true);
- high = new Checkbox("High ", fashionGroup, false);
- }
-
- // Text fields.
-
- private TextField nameField;
- private TextField ageField;
- private TextField coffeeField;
- private TextField occupationField;
-
- // Labels.
-
- private Label nameLabel;
- private Label ageLabel;
- private Label coffeeLabel;
- private Label fashionLabel;
- private Label worldViewLabel;
- private Label occupationLabel;
-
- // Checkboxes.
-
- private Checkbox worldViewField;
- private Checkbox low;
- private Checkbox medium;
- private Checkbox high;
-
- // The fashion sense checkbox group.
-
- private CheckboxGroup fashionGroup;
-}
-
-
diff --git a/java/gjt/test/RowLayoutTest.java b/java/gjt/test/RowLayoutTest.java
deleted file mode 100644
index eb7b419ca17..00000000000
--- a/java/gjt/test/RowLayoutTest.java
+++ /dev/null
@@ -1,124 +0,0 @@
-package gjt.test;
-
-import java.applet.Applet;
-import java.net.URL;
-import java.awt.*;
-import gjt.*;
-
-/**
- * Lays out 3 image buttons, and provides controls for setting
- * orientations and gaps on the fly.<p>
- *
- * @version 1.0, April 25, 1996
- * @author David Geary
- * @see gjt.test.UnitTest
- * @see gjt.ImageButton
- * @see gjt.Box
- */
-public class RowLayoutTest extends UnitTest {
- public String title() {
- return "RowLayout Test";
- }
- public Panel centerPanel() {
- RowButtonPanel buttonPanel = new RowButtonPanel(this);
- Panel panel = new Panel();
-
- panel.setLayout(new BorderLayout());
- panel.add("Center", buttonPanel);
- panel.add("North", new Box(new RowPicker(buttonPanel),
- "Row Layout Settings"));
- return panel;
- }
-}
-
-class RowButtonPanel extends Panel implements DialogClient {
- private ImageButton one, two, three;
- private Panel panel = new Panel();
- private TenPixelBorder border = new TenPixelBorder(panel);
-
- public RowButtonPanel(Applet applet) {
- URL cb = applet.getCodeBase();
-
- one = new ImageButton(applet.getImage(cb,
- "gifs/one.gif"));
- two = new ImageButton(applet.getImage(cb,
- "gifs/two.gif"));
- three = new ImageButton(applet.getImage(cb,
- "gifs/three.gif"));
-
- panel.setLayout(new RowLayout(0));
- panel.add(one);
- panel.add(two);
- panel.add(three);
-
- setLayout(new BorderLayout());
- add ("Center", border);
- }
- public void updateOrientations(Orientation horient,
- Orientation vorient,
- int gap) {
- panel.setLayout(new RowLayout(horient, vorient, gap));
- border.validate();
- }
- public void dialogDismissed(Dialog d) { }
-}
-
-class RowPicker extends Panel {
- private Label horientLabel = new Label("Horizontal:");
- private Label vorientLabel = new Label("Vertical:");
- private Label gapLabel = new Label("Gap:");
-
- private Choice hchoice = new Choice();
- private Choice vchoice = new Choice();
- private Choice gapChoice = new Choice();
-
- private RowButtonPanel buttonPanel;
-
- public RowPicker(RowButtonPanel buttonPanel) {
- Panel orientations = new Panel();
- Panel gap = new Panel();
-
- this.buttonPanel = buttonPanel;
- hchoice.addItem("left");
- hchoice.addItem("center");
- hchoice.addItem("right");
- hchoice.select(1);
-
- vchoice.addItem("top");
- vchoice.addItem("center");
- vchoice.addItem("bottom");
- vchoice.select(1);
-
- gapChoice.addItem("0");
- gapChoice.addItem("5");
- gapChoice.addItem("10");
- gapChoice.addItem("15");
- gapChoice.addItem("20");
-
- orientations.add(horientLabel);
- orientations.add(hchoice);
- orientations.add(vorientLabel);
- orientations.add(vchoice);
-
- gap.add(gapLabel);
- gap.add(gapChoice);
-
- add(new Box(orientations, "Orientations"));
- add(new Box(gap, "Gap"));
- }
- public boolean action(Event event, Object what) {
- String horient, vorient;
- int gap;
-
- horient = hchoice.getSelectedItem();
- vorient = vchoice.getSelectedItem();
- gap =
- (new Integer(gapChoice.getSelectedItem())).intValue();
-
- buttonPanel.updateOrientations(
- Orientation.fromString(horient),
- Orientation.fromString(vorient), gap);
-
- return true;
- }
-}
diff --git a/java/gjt/test/RubberbandTest.java b/java/gjt/test/RubberbandTest.java
deleted file mode 100644
index ae256fb2c3a..00000000000
--- a/java/gjt/test/RubberbandTest.java
+++ /dev/null
@@ -1,112 +0,0 @@
-package gjt.test;
-
-import java.awt.*;
-import gjt.DrawingPanel;
-import gjt.Separator;
-import gjt.RowLayout;
-import gjt.rubberband.*;
-
-/**
- * A simple drawing applet that demonstrates the utility of
- * the gjt.rubberband package.<p>
- *
- * Note that this unit test also serves as the unit test for
- * gjt.DrawingPanel.<p>
- *
- * @version 1.0, April 25, 1996
- * @author David Geary
- * @see gjt.test.UnitTest
- * @see gjt.DrawingPanel
- * @see gjt.rubberband.Rubberband
- * @see gjt.rubberband.RubberbandLine
- * @see gjt.rubberband.RubberbandRectangle
- * @see gjt.rubberband.RubberbandEllipse
- * @see gjt.rubberband.RubberbandPanel
- */
-public class RubberbandTest extends UnitTest {
- public String title() {
- return "Rubberband Test";
- }
- public Panel centerPanel() {
- return new RubberbandTestPanel();
- }
-}
-
-class RubberbandTestPanel extends Panel {
- private DrawingPanel drawingPanel;
- private ChoicePanel choicePanel;
-
- public RubberbandTestPanel() {
- drawingPanel = new DrawingPanel();
- choicePanel = new ChoicePanel(drawingPanel);
-
- setLayout(new BorderLayout());
- add("North", choicePanel);
- add("Center", drawingPanel);
- }
-}
-
-class ChoicePanel extends Panel {
- private DrawingPanel drawingPanel;
- private Color color;
- private Checkbox fillCheckbox = new Checkbox();
-
- public ChoicePanel(DrawingPanel drawingPanel) {
- Panel choicePanel = new Panel();
- Choice geometricChoice = new Choice();
- Choice colorChoice = new Choice();
-
- this.drawingPanel = drawingPanel;
-
- geometricChoice.addItem("Lines");
- geometricChoice.addItem("Rectangles");
- geometricChoice.addItem("Ellipses");
-
- colorChoice.addItem("Black");
- colorChoice.addItem("Red");
- colorChoice.addItem("Blue");
- colorChoice.addItem("Gray");
- colorChoice.addItem("White");
-
- choicePanel.setLayout(new RowLayout(10));
- choicePanel.add(new Label("Shape:"));
- choicePanel.add(geometricChoice);
- choicePanel.add(new Label("Color:"));
- choicePanel.add(colorChoice);
- choicePanel.add(new Label("Fill:"));
- choicePanel.add(fillCheckbox);
-
- setLayout(new BorderLayout());
- add("Center", choicePanel);
- add("South", new Separator());
- }
- public boolean action(Event event, Object what) {
- if(event.target instanceof Checkbox) {
- drawingPanel.setFill(fillCheckbox.getState());
- }
- else if(event.target instanceof Choice) {
- if(((String)what).equals("Lines")) {
- fillCheckbox.setState(false);
- drawingPanel.drawLines();
- }
- else if(((String)what).equals("Rectangles")) {
- System.out.println("Rectangles");
- drawingPanel.drawRectangles();
- }
- else if(((String)what).equals("Ellipses"))
- drawingPanel.drawEllipses ();
- else if(((String)what).equals("Black"))
- drawingPanel.setColor(Color.black);
- else if(((String)what).equals("Red"))
- drawingPanel.setColor(Color.red);
- else if(((String)what).equals("Blue"))
- drawingPanel.setColor(Color.blue);
- else if(((String)what).equals("Gray"))
- drawingPanel.setColor(Color.gray);
- else if(((String)what).equals("White"))
- drawingPanel.setColor(Color.white);
- }
- return true;
- }
- public Insets insets() { return new Insets(5,0,5,0); }
-}
diff --git a/java/gjt/test/SeparatorTest.java b/java/gjt/test/SeparatorTest.java
deleted file mode 100644
index 3dd80173ea3..00000000000
--- a/java/gjt/test/SeparatorTest.java
+++ /dev/null
@@ -1,64 +0,0 @@
-package gjt.test;
-
-import java.awt.*;
-import gjt.Etching;
-import gjt.Separator;
-
-/**
- * Two Separators, one horizontal and the other vertical, the
- * former etched in, and the latter etched out are laid out with
- * an adorning Label for each.<p>
- *
- * @version 1.0, April 25, 1996
- * @author David Geary
- * @see gjt.UnitTest
- * @see gjt.Separator
- */
-public class SeparatorTest extends UnitTest {
- public String title () { return "Separator Test"; }
- public Panel centerPanel() {
- return new SeparatorTestPanel();
- }
-}
-
-class SeparatorTestPanel extends Panel {
- public SeparatorTestPanel() {
- setLayout(new BorderLayout());
- add("North", new SeparatorTestNorthPanel ());
- add("Center", new SeparatorTestCenterPanel());
- }
-}
-
-class SeparatorTestNorthPanel extends Panel {
- Separator separator = new Separator();
-
- public SeparatorTestNorthPanel() {
- setLayout(new BorderLayout());
- add("North", new Label("North Of Etched-In Separator"));
- add("South", separator);
- }
-}
-
-class SeparatorTestCenterPanel extends Panel {
- Separator separator = new Separator(Etching.OUT);
-
- public SeparatorTestCenterPanel() {
- GridBagConstraints gbc = new GridBagConstraints();
- GridBagLayout gbl = new GridBagLayout();
- Label label = new Label("West Of Etched-Out Separator");
-
- setLayout(gbl);
- gbc.anchor = GridBagConstraints.WEST;
- gbc.insets = new Insets(0,0,0,10);
- gbl.setConstraints(label, gbc);
- add(label);
-
- gbc.insets = new Insets(0,0,0,0);
- gbc.weightx = 1.0;
- gbc.weighty = 1.0;
- gbc.fill = GridBagConstraints.VERTICAL;
- gbl.setConstraints(separator, gbc);
- add(separator);
-
- }
-}
diff --git a/java/gjt/test/SimpleAnimationTest.java b/java/gjt/test/SimpleAnimationTest.java
deleted file mode 100644
index faf0c7c611c..00000000000
--- a/java/gjt/test/SimpleAnimationTest.java
+++ /dev/null
@@ -1,87 +0,0 @@
-package gjt.test;
-
-import java.net.URL;
-import java.applet.Applet;
-import java.awt.*;
-
-import gjt.Util;
-import gjt.Orientation;
-import gjt.animation.*;
-
-/**
- * An animation playfield containing a lone sprite that bounces
- * off the boundaries of the playfield.<p>
- *
- * @version 1.0, Apr 1 1996
- * @author David Geary
- * @see gjt.test.AnimationTest
- * @see gjt.animation.Playfield
- * @see gjt.animation.Sprite
- */
-public class SimpleAnimationTest extends UnitTest {
- public String title() {
- return "Simple Animation - Mouse Down Starts/Stops";
- }
- public Panel centerPanel() {
- return new SimpleAnimationTestPanel(this);
- }
-}
-
-class SimpleAnimationTestPanel extends Panel {
- public SimpleAnimationTestPanel(Applet applet) {
- setLayout(new BorderLayout());
- add("Center", new SimplePlayfield(applet));
- }
-}
-
-class SimplePlayfield extends Playfield {
- private Applet applet;
- private URL cb;
- private Sprite javaDrinker;
- private Sequence spinSequence;
-
- public SimplePlayfield(Applet applet) {
- this.applet = applet;
- cb = applet.getCodeBase();
- makeSequencesAndSprites();
- }
- public void paintBackground(Graphics g) {
- Image bg = applet.getImage(cb, "gifs/background.gif");
- Util.wallPaper(this, g, bg);
- }
- public boolean mouseDown(Event event, int x, int y) {
- if(running() == true) stop ();
- else start();
- return true;
- }
- public void spriteCollision(Sprite sprite, Sprite sprite2) {
- // Nothing to do: only 1 sprite!
- }
- public void edgeCollision(Sprite sprite,
- Orientation orientation) {
- if(orientation == Orientation.RIGHT ||
- orientation == Orientation.LEFT)
- sprite.reverseX();
- else
- sprite.reverseY();
- }
- private void makeSequencesAndSprites() {
- String file;
- Point startLoc = new Point(10, 10);
- Image[] spinImages = new Image[19];
-
- for(int i=0; i < spinImages.length; ++i) {
- file = "gifs/spin";
-
- if(i < 10) file += "0" + i + ".gif";
- else file += i + ".gif";
-
- spinImages[i] = applet.getImage(cb, file);
- }
- spinSequence = new Sequence(this, spinImages);
- javaDrinker = new Sprite(this, spinSequence, startLoc);
-
- javaDrinker.setMoveVector(new Point(2,2));
- addSprite(javaDrinker);
- }
-}
diff --git a/java/gjt/test/SimpleBargaugeTest.java b/java/gjt/test/SimpleBargaugeTest.java
deleted file mode 100644
index 57eb464f4b1..00000000000
--- a/java/gjt/test/SimpleBargaugeTest.java
+++ /dev/null
@@ -1,61 +0,0 @@
-package gjt.test;
-
-import java.awt.*;
-import gjt.Bargauge;
-
-/**
- * A lone Barguage which animates. This unit test is meant to
- * illustrate that a Bargauge can cope with having its
- * orientation chanaged from horizontal to vertical or
- * vice-versa. This test is best run in appletviewer, so that
- * the window may be resized such that the Bargauge changes its
- * orientation.<p>
- *
- * <em>
- * Warning: An AWT bug causes this test to be a gluttenous
- * consumer of resources (especially under Win95). A mouse down
- * will halt the animation thread along with its consumption of
- * resources.<p>
- * </em>
- *
- * @version 1.0, April 25, 1996
- * @author David Geary
- * @see gjt.test.UnitTest
- * @see gjt.Bargauge
- */
-public class SimpleBargaugeTest extends UnitTest {
- public String title() {
- return "Simple Bargauge Test";
- }
- public Panel centerPanel() {
- return new SimpleBargaugeTestPanel();
- }
-}
-
-class SimpleBargaugeTestPanel extends Panel implements Runnable {
- private Bargauge gauge = new Bargauge(Color.blue);
- private boolean running = true;
- private Thread t;
-
- public SimpleBargaugeTestPanel() {
- setLayout(new BorderLayout());
- add("Center", gauge);
-
- t = new Thread(this);
- t.start();
- }
- public void run() {
- while(true) {
- try { Thread.currentThread().sleep(500,0); }
- catch(InterruptedException e) { }
-
- gauge.setFillPercent(Math.random() * 100);
- gauge.fill();
- }
- }
- public boolean mouseDown(Event event, int x, int y) {
- if(running) { t.suspend(); running = false; }
- else { t.resume (); running = true; }
- return true;
- }
-}
diff --git a/java/gjt/test/StateButtonTest.java b/java/gjt/test/StateButtonTest.java
deleted file mode 100644
index 508aee1682e..00000000000
--- a/java/gjt/test/StateButtonTest.java
+++ /dev/null
@@ -1,41 +0,0 @@
-package gjt.test;
-
-import java.applet.Applet;
-import java.awt.*;
-import java.net.URL;
-import gjt.StateButton;
-import gjt.ImageButtonEvent;
-
-/**
- * A StateButton which cycles through a fascinating series of
- * Images.<p>
- *
- * @version 1.0, April 25, 1996
- * @author David Geary
- * @see gjt.test.UnitTest
- * @see gjt.StateButton
- */
-public class StateButtonTest extends UnitTest {
- public String title () { return "StateButton Test"; }
- public Panel centerPanel() {
- return new StateButtonTestPanel(this);
- }
-}
-
-class StateButtonTestPanel extends Panel {
- private URL codeBase;
- private Image[] images;
- private StateButton button;
-
- public StateButtonTestPanel(Applet applet) {
- codeBase = applet.getCodeBase();
- images = new Image[3];
- images[0] = applet.getImage(codeBase, "gifs/fly.gif");
- images[1] = applet.getImage(codeBase, "gifs/frog.gif");
- images[2] = applet.getImage(codeBase, "gifs/eagle.gif");
- button = new StateButton(images);
-
- setLayout(new FlowLayout(FlowLayout.CENTER, 20, 20));
- add (button);
- }
-}
diff --git a/java/gjt/test/TenPixelBorder.java b/java/gjt/test/TenPixelBorder.java
deleted file mode 100644
index bab694d0fb1..00000000000
--- a/java/gjt/test/TenPixelBorder.java
+++ /dev/null
@@ -1,44 +0,0 @@
-package gjt.test;
-
-import java.awt.*;
-
-public class TenPixelBorder extends Panel {
- public TenPixelBorder(Component borderMe) {
- setLayout(new BorderLayout());
- add("Center", borderMe);
- }
- public void paint(Graphics g) {
- Dimension mySize = size();
- Insets myInsets = insets();
-
- g.setColor(Color.gray);
-
- // Top Inset area
- g.fillRect(0,
- 0,
- mySize.width,
- myInsets.top);
-
- // Left Inset area
- g.fillRect(0,
- 0,
- myInsets.left,
- mySize.height);
-
- // Right Inset area
- g.fillRect(mySize.width - myInsets.right,
- 0,
- myInsets.right,
- mySize.height);
-
- // Bottom Inset area
- g.fillRect(0,
- mySize.height - myInsets.bottom,
- mySize.width,
- mySize.height);
- }
- public Insets insets() {
- return new Insets(10,10,10,10);
- }
-
-}
diff --git a/java/gjt/test/TitledPanel.java b/java/gjt/test/TitledPanel.java
deleted file mode 100644
index cb8d054e888..00000000000
--- a/java/gjt/test/TitledPanel.java
+++ /dev/null
@@ -1,22 +0,0 @@
-package gjt.test;
-
-import java.awt.BorderLayout;
-import java.awt.Label;
-import java.awt.Panel;
-import gjt.Separator;
-
-/**
- * A Panel fitted with a BorderLayout that contains a Label
- * (title) in the North, and a Separator in the South.
- *
- * @version 1.0, Apr 2 1996
- * @author David Geary
- */
-
-public class TitledPanel extends Panel {
- public TitledPanel(String title) {
- setLayout(new BorderLayout());
- add("North", new Label(title, Label.CENTER));
- add("South", new Separator());
- }
-}
diff --git a/java/gjt/test/ToolbarTest.java b/java/gjt/test/ToolbarTest.java
deleted file mode 100644
index f739ce96236..00000000000
--- a/java/gjt/test/ToolbarTest.java
+++ /dev/null
@@ -1,111 +0,0 @@
-package gjt.test;
-
-import java.net.URL;
-import java.awt.*;
-import java.applet.Applet;
-import gjt.ExclusiveImageButtonPanel;
-import gjt.ImageButton;
-import gjt.ImageButtonEvent;
-import gjt.Orientation;
-import gjt.Toolbar;
-import gjt.Separator;
-
-/**
- * A Toolbar to the north, and an ExclusiveImageButtonPanel on
- * the west give this little applet its own unique charm.
- * Owner is motivated.<p>
- *
- * @version 1.0, April 25, 1996
- * @author David Geary
- * @see gjt.test.UnitTest
- * @see gjt.ExclusiveImageButtonPanel
- * @see gjt.ImageButton
- * @see gjt.Toolbar
- */
-public class ToolbarTest extends UnitTest {
- public String title() {
- return "Toolbar/ImageButtonPanel Test";
- }
- public Panel centerPanel() {
- return new ToolbarTestPanel(this);
- }
-}
-
-class ToolbarTestPanel extends Panel {
- ImageButton newButton, openButton, diskButton,
- printButton, cutButton, copyButton,
- pasteButton;
-
- public ToolbarTestPanel(Applet app) {
- setLayout(new BorderLayout());
- add("North", makeToolbar(app, app.getCodeBase()));
- add("West", makePalette(app, app.getCodeBase()));
- }
- public boolean handleEvent(Event event) {
- if(event instanceof ImageButtonEvent) {
- ImageButtonEvent ibevent = (ImageButtonEvent)event;
-
- if(ibevent.isActivated()) {
- if(event.target == newButton)
- System.out.println("New Button Activated");
- if(event.target == openButton)
- System.out.println("Open Button Activated");
- if(event.target == diskButton)
- System.out.println("Disk Button Activated");
- if(event.target == printButton)
- System.out.println("Print Button Activated");
- if(event.target == cutButton)
- System.out.println("Cut Button Activated");
- if(event.target == copyButton)
- System.out.println("Copy Button Activated");
- if(event.target == pasteButton)
- System.out.println("Paste Button Activated");
-
- return true;
- }
- }
-
- return super.handleEvent(event);
- }
- private Toolbar makeToolbar(Applet app, URL cb) {
- Toolbar tb = new Toolbar(10, 0);
-
- newButton = tb.add(app.getImage(cb, "gifs/new.gif"));
- openButton = tb.add(app.getImage(cb, "gifs/open.gif"));
- diskButton = tb.add(app.getImage(cb, "gifs/disk.gif"));
-
- tb.addSpacer(newButton.preferredSize().width);
-
- printButton = tb.add(app.getImage(cb, "gifs/print.gif"));
-
- tb.addSpacer(newButton.preferredSize().width);
-
- cutButton = tb.add(app.getImage(cb, "gifs/cut.gif"));
- copyButton = tb.add(app.getImage(cb, "gifs/copy.gif"));
- pasteButton = tb.add(app.getImage(cb, "gifs/paste.gif"));
-
- return tb;
- }
- private Panel makePalette(Applet app, URL cb) {
- ExclusiveImageButtonPanel iconPalette;
- Panel iconPalettePanel = new Panel();
-
- iconPalette = new ExclusiveImageButtonPanel(
- Orientation.VERTICAL,
- Orientation.CENTER,
- Orientation.TOP, 10);
-
- iconPalette.add(app.getImage(cb,"gifs/ballot_box.gif"));
- iconPalette.add(app.getImage(cb,"gifs/palette.gif"));
- iconPalette.add(app.getImage(cb,"gifs/light_bulb1.gif"));
- iconPalette.add(app.getImage(cb,"gifs/Dining.gif"));
- iconPalette.add(app.getImage(cb,"gifs/scissors.gif"));
- iconPalette.add(app.getImage(cb,"gifs/tricycle.gif"));
-
- iconPalettePanel = new Panel();
- iconPalettePanel.setLayout(new BorderLayout());
- iconPalettePanel.add ("Center", iconPalette);
- iconPalettePanel.add ("East", new Separator());
- return iconPalettePanel;
- }
-}
diff --git a/java/gjt/test/TwoDrinkersAnimationTest.java b/java/gjt/test/TwoDrinkersAnimationTest.java
deleted file mode 100644
index ae4041b9eb6..00000000000
--- a/java/gjt/test/TwoDrinkersAnimationTest.java
+++ /dev/null
@@ -1,130 +0,0 @@
-package gjt.test;
-
-import java.net.URL;
-import java.applet.Applet;
-import java.awt.*;
-import java.awt.Panel;
-
-import gjt.Util;
-import gjt.Orientation;
-import gjt.animation.*;
-
-/**
- * An animation playfield containing two "java drinkers", that
- * both bounce off the sides of the playfield.<p>
- *
- * One of the java drinkers moves slow and spins fast, while
- * the other java drinker moves fast and spins slow. When
- * the two java drinkers collide, they both play a bump
- * sequence - at different speeds.<p>
- *
- * @version 1.0, Apr 1 1996
- * @author David Geary
- * @see gjt.test.AnimationTest
- * @see gjt.animation.Playfield
- * @see gjt.animation.Sprite
- */
-public class TwoDrinkersAnimationTest extends UnitTest {
- public String title() {
- return
- "TwoDrinkers Animation - Mouse Down Starts/Stops";
- }
- public Panel centerPanel() {
- return new TwoDrinkersAnimationTestPanel(this);
- }
-}
-
-class TwoDrinkersAnimationTestPanel extends Panel {
- public TwoDrinkersAnimationTestPanel(Applet applet) {
- setLayout(new BorderLayout());
- add("Center", new TwoDrinkersPlayfield(applet));
- }
-}
-
-class TwoDrinkersPlayfield extends Playfield {
- private Applet applet;
- private URL cb;
- private Sprite moveFastSpinSlow, moveSlowSpinFast;
- private Sequence fastSpinSequence,
- slowSpinSequence,
- fastBumpSequence,
- slowBumpSequence;
-
- public TwoDrinkersPlayfield(Applet applet) {
- this.applet = applet;
- cb = applet.getCodeBase();
- makeSequencesAndSprites();
- }
- public void paintBackground(Graphics g) {
- Image bg = applet.getImage(cb, "gifs/background.gif");
- Util.wallPaper(this, g, bg);
- }
- public boolean mouseDown(Event event, int x, int y) {
- if(running() == true) stop ();
- else start();
- return true;
- }
- public void spriteCollision(Sprite sprite, Sprite sprite2) {
- if(moveSlowSpinFast.getSequence() != fastBumpSequence) {
- sprite.reverse();
- sprite2.reverse();
-
- moveSlowSpinFast.play(fastBumpSequence, 3);
- moveFastSpinSlow.play(slowBumpSequence, 3);
- }
- }
- public void edgeCollision(Sprite sprite,
- Orientation orientation) {
- if(orientation == Orientation.RIGHT ||
- orientation == Orientation.LEFT)
- sprite.reverseX();
- else
- sprite.reverseY();
- }
- private void makeSequencesAndSprites() {
- String file;
- Image[] spinImages = new Image[19];
- Image[] bumpImages = new Image[6];
- Image[] volleyball = new Image[4];
-
- for(int i=0; i < spinImages.length; ++i) {
- file = "gifs/spin";
-
- if(i < 10) file += "0" + i + ".gif";
- else file += i + ".gif";
-
- spinImages[i] = applet.getImage(cb, file);
- }
- for(int i=0; i < bumpImages.length; ++i) {
- file = "gifs/bump0" + i + ".gif";
- bumpImages[i] = applet.getImage(cb, file);
- }
- fastSpinSequence = new Sequence(this, spinImages);
- slowSpinSequence = new Sequence(this, spinImages);
-
- fastBumpSequence = new Sequence(this, bumpImages);
- slowBumpSequence = new Sequence(this, bumpImages);
-
- moveFastSpinSlow =
- new Sprite(this,
- slowSpinSequence, new Point(25, 75));
-
- moveSlowSpinFast =
- new Sprite(this,
- fastSpinSequence, new Point(250,250));
-
- fastSpinSequence.setAdvanceInterval(50);
- slowSpinSequence.setAdvanceInterval(300);
-
- fastBumpSequence.setAdvanceInterval(25);
- slowBumpSequence.setAdvanceInterval(200);
-
- moveFastSpinSlow.setMoveVector(new Point(2,3));
- moveSlowSpinFast.setMoveVector(new Point(-1,-1));
-
- moveSlowSpinFast.setMoveInterval(100);
-
- addSprite(moveFastSpinSlow);
- addSprite(moveSlowSpinFast);
- }
-}
diff --git a/java/gjt/test/UnitTest.java b/java/gjt/test/UnitTest.java
deleted file mode 100644
index 1fa262d5629..00000000000
--- a/java/gjt/test/UnitTest.java
+++ /dev/null
@@ -1,46 +0,0 @@
-package gjt.test;
-
-import java.awt.BorderLayout;
-import java.awt.Frame;
-import java.awt.Panel;
-import java.applet.Applet;
-import gjt.*;
-
-/**
- * An (abstract) Applet fitted with a BorderLayout that
- * contains a TitledPanel in the North, and a Panel created by
- * derived classes in the Center.<p>
- *
- * Since some Applets take awhile to load, UnitTest changes the
- * cursor to a wait cursor in init(), changing it back to the
- * default cursor in start(). Derived classes must be sure to
- * call super.init() if they override init(); likewise for
- * start().<p>
- *
- * Subclasses must implement:
- * <dl>
- * <dd>String title()
- * <dd>Panel centerPanel()
- * </dl>
- * Subclasses should populate the Panel returned from
- * centerPanel() with whatever makes sense for their unit test.
- *
- * @version 1.0, April 25, 1996
- * @author David Geary
- * @see TitledPanel
- */
-abstract public class UnitTest extends Applet {
- abstract public String title();
- abstract public Panel centerPanel();
-
- public void init() {
- Util.getFrame(this).setCursor(Frame.WAIT_CURSOR);
- Panel titledPanel = new TitledPanel(title());
- setLayout(new BorderLayout());
- add("North", titledPanel);
- add("Center", centerPanel());
- }
- public void start() {
- Util.getFrame(this).setCursor(Frame.DEFAULT_CURSOR);
- }
-}
diff --git a/java/java-ace.gif b/java/java-ace.gif
deleted file mode 100644
index c3d89df46c0..00000000000
--- a/java/java-ace.gif
+++ /dev/null
Binary files differ
diff --git a/java/netsvcs/Logger/DefaultLMR.java b/java/netsvcs/Logger/DefaultLMR.java
deleted file mode 100644
index 19e319de015..00000000000
--- a/java/netsvcs/Logger/DefaultLMR.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/*************************************************
- *
- * = PACKAGE
- * netsvcs.Logger
- *
- * = FILENAME
- * DefaultLMR.java
- *
- *
- *@author Everett Anderson
- *
- *************************************************/
-package netsvcs.Logger;
-
-import java.io.*;
-
-/**
- *
- * <p><h2>DESCRIPTION</h2>
- *
- * <blockquote>
- * The LogMessageReceiver removes the code that handles a log message from
- * the logging service acceptor. The DefaultLMR simply calls the LogRecord's
- * print method.
- *
- * @see netsvcs.Logger.ServerLoggingAcceptor
- * @see netsvcs.Logger.LogRecord
- */
-class DefaultLMR implements LogMessageReceiver
-{
- public void logRecord (String hostname,
- LogRecord record)
- {
- record.print(hostname, true, System.err);
- }
-}
diff --git a/java/netsvcs/Logger/LogMessageReceiver.java b/java/netsvcs/Logger/LogMessageReceiver.java
deleted file mode 100644
index c001e06f2bd..00000000000
--- a/java/netsvcs/Logger/LogMessageReceiver.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/*************************************************
- *
- * = PACKAGE
- * netsvcs.Logger
- *
- * = FILENAME
- * LogMessageReceiver.java
- *
- *@author Everett Anderson
- *
- *************************************************/
-package netsvcs.Logger;
-
-import java.io.*;
-
-/**
- *
- * <p><h2>DESCRIPTION</h2>
- *
- * <blockquote>
- * The LogMessageReceiver removes the code that handles a log message from
- * the logging service acceptor. The DefaultLMR simply calls the LogRecord's
- * print method. Other implementations of this interface can be built and
- * given to the ServerLoggingAcceptor to change the result.
- *
- * @see netsvcs.Logger.ServerLoggingAcceptor
- * @see netsvcs.Logger.LogRecord
- */
-public interface LogMessageReceiver
-{
- public void logRecord (String hostname,
- LogRecord record);
-};
diff --git a/java/netsvcs/Logger/LogRecord.java b/java/netsvcs/Logger/LogRecord.java
deleted file mode 100644
index 0043c040f74..00000000000
--- a/java/netsvcs/Logger/LogRecord.java
+++ /dev/null
@@ -1,188 +0,0 @@
-/*************************************************
- *
- * = PACKAGE
- * netsvcs.Logger
- *
- * = FILENAME
- * LogRecord.java
- *
- *@author Chris Cleeland, Everett Anderson
- *
- *************************************************/
-package netsvcs.Logger;
-
-import java.util.Date;
-import java.io.DataOutputStream;
-import java.io.DataInputStream;
-import java.io.PrintStream;
-import java.io.IOException;
-import JACE.OS.*;
-
-/**
- *
- * <p><h2>DESCRIPTION</h2>
- *
- * <blockquote>
- * Communicates logging information. Compatible with the C++ ACE
- * ACE_Log_Record class.
- *
- */
-public class LogRecord
-{
- final public int MAXLOGMSGLEN = 4 * 1024;
-
- private int type_;
- private int length_;
- private long msec_;
- private int pid_;
- private byte[] msgData_;
- private final static int numIntMembers = 5;
- private final static int sizeofIntInBytes = 4;
-
- /**
- * Create a default instance.
- */
- public LogRecord()
- {
- type(0);
- timeStamp((int)new Date().getTime());
- length(0);
- pid(0);
- }
-
- /**
- * Create a LogRecord. This is the designated initializer.
- * @param priority a numeric specification of the priority (ascending)
- * @param milliseconds time attached to the log entry in Unix <pre>time_t</pre> format
- * @param pid the process ID; not currently used
- */
- public LogRecord(int priority,
- long milliseconds,
- int pid)
- {
- type(priority);
- timeStamp(milliseconds);
- length(0);
- pid(pid);
- }
-
- /**
- * Conversion to string. Only includes the <pre>msgData_</pre> member.
- */
- public String toString()
- {
- return new String(msgData_);
- }
-
- /**
- * Place a textual representation of the record on a PrintStream.
- * @param hostname name of the host generating this record
- * @param verbose if <b>true</b>, print information in the form, (give example)
- * @param ps A PrintStream instance to which the output should go.
- * @see PrintStream,String
- */
- public void print(String hostname,
- boolean verbose,
- PrintStream ps)
- {
- String toprint;
- if (verbose)
- {
- Date now = new Date(this.timeStamp());
-
- /* 01234567890123456789012345 */
- /* Wed Oct 18 14:25:36 1989n0 */
- toprint = now.toString().substring(4) + "@"
- + hostname + "@" + pid_ + "@" + type_ + "@"
- + this.toString();
- }
- else
- {
- toprint = this.toString();
- }
- ps.println(toprint);
- }
-
- /**
- * Streaming methods
- */
- public void streamInFrom(DataInputStream dis) throws IOException
- {
- // Order here must match layout order in the C++ class.
- // This, of course, is VERY fragile, and ought not be used as
- // a model for anything except how NOT to do anything.
- length(dis.readInt());
- type(dis.readInt());
- this.timeStamp((long)dis.readInt() * 1000);
-
- // Skip smaller time resolution info since we're lucky if Java's
- // timer can handle more than millisecond precision, anyway
- dis.skipBytes(4);
-
- pid(dis.readInt());
-
- // Does readFully() allocate space for the buffer? Either
- // way, we won't have memory leaks :-)
- int dataLength = (int) (length_ - numIntMembers * sizeofIntInBytes);
-
- msgData_ = new byte[dataLength];
- dis.readFully(msgData_, 0, dataLength);
- }
-
- public void streamOutTo(DataOutputStream dos) throws IOException
- {
- dos.writeInt(length());
- dos.writeInt(type());
- dos.writeInt((int)(this.msec_ / 1000));
- dos.writeInt(0);
- dos.writeInt(pid());
-
- dos.write(msgData_);
- }
-
- /**
- * Accessor methods
- */
- public int type() { return type_; }
- public void type(int t) { type_ = t; }
-
- public int length() { return length_; }
- public void length(int l) { length_ = l; }
- private void setLen(int msgLen)
- { length(msgLen + numIntMembers * sizeofIntInBytes); }
-
- public long timeStamp() { return this.msec_; }
- public void timeStamp(long msec){ this.msec_ = msec; }
-
- public int pid() { return pid_; }
- public void pid(int p) { pid_ = p; }
-
- public byte[] msgData() { return msgData_; }
- public void msgData(byte[] m)
- {
- int size = m.length;
-
- if (size > MAXLOGMSGLEN)
- size = MAXLOGMSGLEN;
-
- this.msgData_ = new byte[size];
-
- System.arraycopy(m, 0, msgData_, 0, size);
-
- setLen(size);
- }
-
- public void msgData(String m)
- {
- byte temp[] = m.getBytes();
- if (temp.length > MAXLOGMSGLEN) {
- this.msgData_ = new byte[MAXLOGMSGLEN];
-
- System.arraycopy(temp, 0, msgData_, 0, MAXLOGMSGLEN);
- } else
- this.msgData_ = temp;
-
- setLen(msgData_.length);
- }
-};
-
diff --git a/java/netsvcs/Logger/Makefile b/java/netsvcs/Logger/Makefile
deleted file mode 100644
index a15f673eba0..00000000000
--- a/java/netsvcs/Logger/Makefile
+++ /dev/null
@@ -1,23 +0,0 @@
-# $Id$
-
-.SUFFIXES: .java .class
-
-JACE_WRAPPER = $(ACE_ROOT)/java
-
-all:
- javac -d ${JACE_WRAPPER}/classes $(files)
-doc:
- javadoc -d ${JACE_WRAPPER}/doc $(files) $(packages)
-
-files = LogMessageReceiver.java \
- DefaultLMR.java \
- LogRecord.java \
- ServerLoggingAcceptor.java \
- ServerLoggingHandler.java
-
-packages = netsvcs \
- netsvcs.Logger
-
-realclean:
- /bin/rm -rf ${JACE_WRAPPER}/classes/netsvcs/Logger
-
diff --git a/java/netsvcs/Logger/ServerLoggingAcceptor.java b/java/netsvcs/Logger/ServerLoggingAcceptor.java
deleted file mode 100644
index d5d4ae5220d..00000000000
--- a/java/netsvcs/Logger/ServerLoggingAcceptor.java
+++ /dev/null
@@ -1,171 +0,0 @@
-/*************************************************
- *
- * = PACKAGE
- * netsvcs.Logger
- *
- * = FILENAME
- * ServerLoggingAcceptor.java
- *
- *@author Chris Cleeland, Everett Anderson
- *
- *************************************************/
-package netsvcs.Logger;
-
-import JACE.SOCK_SAP.*;
-import JACE.Connection.*;
-import JACE.OS.*;
-import java.io.*;
-import java.net.*;
-import JACE.Misc.*;
-
-/**
- *
- * <p><h2>DESCRIPTION</h2>
- *
- * <blockquote>
- * Acceptor: Listens on a specified port and launches ServerLoggingHandlers
- * in response to requests. A LogMessageReceiver can be specified on the
- * command line to change the way the logging service processes messages.
- *
- * @see netsvcs.Logger.ServerLoggingHandler, netsvcs.Logger.LogMessageReceiver
- */
-public class ServerLoggingAcceptor extends Acceptor implements Runnable
-{
- /** Main function to bootstrap the process
- *
- * Command line arguments:
- *
- * -p <port> Select a port for listening for requests
- * -r <class name> Specify a LogMessageReceiver (make sure it's a full class name)
- *
- */
- public static void main (String [] args)
- {
- ServerLoggingAcceptor sla = new ServerLoggingAcceptor();
-
- sla.init(args);
- }
-
- /**
- * Receives the command line and launches its own thread
- */
- public int init (String [] args)
- {
- this.parseArgs(args);
-
- // If the user didn't specify a LogMessageReceiver, use the default
- // (which just calls a print method on LogMessage)
- if (this.receiver_ == null)
- this.receiver_ = new DefaultLMR();
-
- new Thread (this).start();
- return 0;
- }
-
- /**
- * Specify what LogMessageReceiver to use
- */
- public void setLMR(LogMessageReceiver receiver)
- {
- this.receiver_ = receiver;
- }
-
- /**
- * Accessor for the LogMessageReceiver
- */
- public LogMessageReceiver getLMR ()
- {
- return this.receiver_;
- }
-
- /**
- * Create a new ServerLoggingHandler
- */
- protected SvcHandler makeSvcHandler ()
- throws InstantiationException, IllegalAccessException
- {
- return new netsvcs.Logger.ServerLoggingHandler (this.receiver_);
- }
-
- /**
- * Run forever accepting new connections
- */
- public void run ()
- {
- try {
-
- this.open (this.port_);
- while (true)
- this.accept();
-
- } catch (SocketException e)
- {
- ACE.ERROR ("Socket Exception: " + e);
- }
- catch (InstantiationException e)
- {
- ACE.ERROR (e);
- }
- catch (IllegalAccessException e)
- {
- ACE.ERROR (e);
- }
- catch (IOException e)
- {
- ACE.ERROR (e);
- }
-
- ACE.ERROR("ServerLoggingAcceptor has exited");
- }
-
- /**
- * Process the command line
- */
- protected void parseArgs (String args[])
- {
- String s;
- GetOpt opt = new GetOpt (args, "p:r:");
- for (int c; (c = opt.next ()) != -1; )
- {
- switch (c)
- {
- case 'p':
- s = opt.optarg ();
- this.port_ = (new Integer (s)).intValue ();
- break;
- case 'r':
- // Load the LMR with the given name
- s = new String(opt.optarg ());
- Class LMRfactory;
- try {
- LMRfactory = Class.forName(s);
-
- receiver_ = (LogMessageReceiver)LMRfactory.newInstance();
-
- } catch (ClassNotFoundException e) {
- ACE.ERROR("Unable to find LMR factory: " + e);
- } catch (InstantiationException e) {
- ACE.ERROR("Creating LMR: " + e);
- } catch (IllegalAccessException e) {
- ACE.ERROR("Creating LMR: " + e);
- }
- // Any of the above exceptions will result in just using the
- // default LMR
- break;
- default:
- ACE.ERROR ("Unknown argument: " + c);
- ACE.ERROR ("Valid args: -p <port> -r <LogMessageReceiver name>");
- break;
- }
- }
- }
-
- private int port_ = ACE.DEFAULT_SERVER_PORT;
- private LogMessageReceiver receiver_ = null;
-};
-
-
-
-
-
-
diff --git a/java/netsvcs/Logger/ServerLoggingHandler.java b/java/netsvcs/Logger/ServerLoggingHandler.java
deleted file mode 100644
index 40f1aee8440..00000000000
--- a/java/netsvcs/Logger/ServerLoggingHandler.java
+++ /dev/null
@@ -1,105 +0,0 @@
-/*************************************************
- *
- * = PACKAGE
- * netsvcs.Logger
- *
- * = FILENAME
- * ServerLoggingHandler.java
- *
- *@author Chris Cleeland, Everett Anderson
- *
- *************************************************/
-package netsvcs.Logger;
-
-import JACE.SOCK_SAP.*;
-import JACE.Connection.*;
-import JACE.OS.*;
-import java.util.*;
-import java.io.*;
-
-/**
- *
- * <p><h2>DESCRIPTION</h2>
- *
- * <blockquote>
- * Created by ServerLoggingAcceptor every time a client connects. This reads
- * a logging statement passes it to the LogMessageReceiver for processing.
- * </blockquote>
- *
- * @see netsvcs.Logger.ServerLoggingAcceptor
- */
-public class ServerLoggingHandler extends SvcHandler
-{
- // Processes log messages
- private LogMessageReceiver receiver_;
-
- /**
- * Constructor
- *
- *@param receiver LogMessageReceiver that handles what to do with a message
- */
- public ServerLoggingHandler (LogMessageReceiver receiver)
- {
- super();
- this.receiver_ = receiver;
- }
-
- /**
- * Start this handler in its own thread
- */
- public int open(Object obj)
- {
- new Thread (this).start();
- return 0;
- }
-
- /**
- * Accessor: get the host name of the connected client
- */
- protected String hostName ()
- {
- return new String(this.peer().socket().getInetAddress().getHostName());
- }
-
- /**
- * Receive input from the client, and send it to the LMR. This is the
- * main loop for this thread.
- */
- public void run()
- {
- DataInputStream dis = new DataInputStream(this.peer().inputStream());
-
- for (;;)
- {
- // Messages arrive in the ACE.LogRecord format
- //
- // Hey! We need exception catching in here too!
- try
- {
- // Reconstitute a log message from the wire
- LogRecord rec = new LogRecord();
-
- rec.streamInFrom(dis);
-
- // Give the record to the log processor
- this.receiver_.logRecord(this.hostName(),
- rec);
- }
- catch (EOFException eof)
- {
- try {
- this.stream_.close();
- } catch (IOException n) { }
-
- return;
- }
- catch (IOException ioe)
- {
- ACE.ERROR(Thread.currentThread().getName()
- + ": "
- + ioe);
- }
- }
- }
-};
-
diff --git a/java/netsvcs/Naming/Makefile b/java/netsvcs/Naming/Makefile
deleted file mode 100644
index af49d9061d8..00000000000
--- a/java/netsvcs/Naming/Makefile
+++ /dev/null
@@ -1,24 +0,0 @@
-# Makefile
-# $Id$
-
-.SUFFIXES: .java .class
-
-JACE_WRAPPER = $(WRAPPER_ROOT)/java
-
-all:
- javac -d ${JACE_WRAPPER}/classes $(files)
-doc:
- javadoc -d ${JACE_WRAPPER}/doc $(files) $(packages)
-
-files = NameAcceptor.java \
- NameHandler.java \
- NameRequest.java \
- NameReply.java \
- NameProxy.java \
-
-packages = netsvcs \
- netsvcs.Naming
-
-realclean:
- /bin/rm -rf ${JACE_WRAPPER}/classes/netsvcs/Naming
-
diff --git a/java/netsvcs/Naming/NameAcceptor.java b/java/netsvcs/Naming/NameAcceptor.java
deleted file mode 100644
index f704504ee3c..00000000000
--- a/java/netsvcs/Naming/NameAcceptor.java
+++ /dev/null
@@ -1,306 +0,0 @@
-/*************************************************
- *
- * = PACKAGE
- * netsvcs.Naming
- *
- * = FILENAME
- * NameAcceptor.java
- *
- * Listens on the specified port (command line option) and launches
- * NameHandlers when connections are made. Each NameHandler runs in
- * its own thread.
- *
- * The hash table for the mapping and a timer queue are created here.
- * Periodically the mapping is written out to a file.
- *
- * A small main program is included to start things off. If the
- * data file exists, it is read into memory. Currently the service
- * stores the entire mapping in memory at all times. The mapping is
- * dumped to a file at regular intervals.
- *
- *@see netsvcs.Naming.NameHandler
- *
- *@author Everett Anderson
- *
- *************************************************/
-package netsvcs.Naming;
-
-import java.io.*;
-import java.net.*;
-import java.util.*;
-import JACE.OS.*;
-import JACE.Misc.*;
-import JACE.Connection.*;
-import JACE.Reactor.*;
-import JACE.ASX.TimeValue;
-
-public class NameAcceptor extends Acceptor implements Runnable
-{
- /**
- * Constructor
- */
- public NameAcceptor ()
- {
- super();
-
- // Create the hash table and timer queue
- this.mapping_ = new Hashtable();
- this.tq_ = new TimerQueue(true);
- }
-
- /**
- * Simple main program. Command line options are
- * described under parseArgs.
- */
- public static void main (String [] args)
- {
- // Simple main program to get things rolling
- NameAcceptor na = new NameAcceptor();
-
- na.init(args);
- }
-
-
- /**
- * Close the socket when shutting down
- */
- public int fini ()
- {
- try
- {
- this.done_ = true;
- this.sockAcceptor_.close();
- }
- catch (IOException e)
- {
- ACE.ERROR("" + e);
- return -1;
- }
-
- return 0;
- }
-
- /**
- * Stops accepting when suspended
- */
- public int suspend()
- {
- this.suspended_ = true;
- return 0;
- }
-
- /**
- * Resumes accepting
- */
- public int resume()
- {
- this.suspended_ = false;
- return 0;
- }
-
-
- /**
- * Runs this instance in its own thread
- */
- public int init (String [] args)
- {
- // Parse arguments
- this.parseArgs (args);
-
- System.out.println("Starting naming service on port: " + this.port_);
-
- // Run in own thread of control so that we don't block the caller
- new Thread (this).start();
-
- return 0;
- }
-
- /**
- *
- * Main loop: launches NameHandlers in separate threads whenever a
- * connection request is made
- */
- public void run ()
- {
- // Load the hash table from disk
- this.loadTable();
-
- // Schedule to write out the memory copy of the hash table at regular
- // intervals
- this.tq_.scheduleTimer(this,
- null,
- new TimeValue(this.updateInterval_),
- new TimeValue(this.updateInterval_));
-
- try
- {
- // Create new NameHandlers as requests come in
- this.open (this.port_);
- while (!this.done_) {
-
- if (!this.suspended_)
- this.accept ();
- }
- }
- catch (SocketException e)
- {
- ACE.ERROR ("Socket Exception: " + e);
- }
- catch (InstantiationException e)
- {
- ACE.ERROR (e);
- }
- catch (IllegalAccessException e)
- {
- ACE.ERROR (e);
- }
- catch (IOException e)
- {
- ACE.ERROR (e);
- }
- }
-
- /**
- * Create a new NameHandler
- */
- protected SvcHandler makeSvcHandler ()
- throws InstantiationException, IllegalAccessException
- {
- return new netsvcs.Naming.NameHandler (this.mapping_);
- }
-
- /**
- * Process the command line. The following options are available:
- *
- * -p <port> Port number for listening
- * -f <filename> Name of the database file
- * -t <time> Mapping write-out time interval (in seconds)
- *
- */
- protected void parseArgs (String args[])
- {
- String s;
- GetOpt opt = new GetOpt (args, "p:f:t:");
- for (int c; (c = opt.next ()) != -1; )
- {
- switch (c)
- {
- // Specify port
- case 'p':
- s = opt.optarg ();
- this.port_ = (new Integer (s)).intValue ();
- break;
- // Specify file name of the database
- case 'f':
- s = opt.optarg ();
- this.filename_ = new String(s);
- break;
- // Specify time interval to write out the table
- case 't':
- s = opt.optarg ();
- this.updateInterval_ = (new Integer (s)).intValue();
- break;
- default:
- ACE.ERROR ("Unknown argument: " + c);
- break;
- }
- }
- }
-
- /**
- * Loads the hash table into memory from the specified
- * file. Uses ObjectInputStream.
- */
- protected void loadTable ()
- {
- File file = new File(this.filename_);
- FileInputStream fis;
- ObjectInputStream ois;
-
- Hashtable ht = null;
-
- try {
-
- if ((file.exists()) && (file.canRead())) {
-
- fis = new FileInputStream (file);
-
- ois = new ObjectInputStream(fis);
-
- ht = (Hashtable)ois.readObject();
- } else
- return;
- } catch (ClassNotFoundException e) {
- ACE.ERROR(e);
- } catch (StreamCorruptedException e) {
- ACE.ERROR(e);
- } catch (SecurityException e) {
- ACE.ERROR(e);
- } catch (IOException e) {
- ACE.ERROR(e);
- }
-
- if (ht != null)
- this.mapping_ = ht;
-
- }
-
- /**
- * Writes the table out to the specified file.
- */
- protected void saveTable ()
- {
- FileOutputStream fos;
- ObjectOutputStream oos;
-
- try {
-
- fos = new FileOutputStream(this.filename_);
- oos = new ObjectOutputStream(fos);
-
- oos.writeObject(this.mapping_);
-
- oos.flush();
-
- oos.close();
-
- } catch (OptionalDataException e) {
- ACE.ERROR(e);
- } catch (NotSerializableException e) {
- ACE.ERROR(e);
- } catch (IOException e) {
- ACE.ERROR(e);
- }
- }
-
- /**
- * Call back for the TimerQueue. This calls the method to save the
- * hash table. The default time out is 60 seconds.
- */
- public int handleTimeout (TimeValue tv, Object obj)
- {
- this.saveTable();
-
- return 0;
- }
-
- // Port to listen on
- private int port_ = ACE.DEFAULT_SERVER_PORT;
-
- // Mapping data structure
- Hashtable mapping_ = null;
-
- // Default file name
- String filename_ = "namedata.dat";
-
- // How often to save the table (seconds)
- int updateInterval_ = 60;
-
- // Calls handleTimeout at updateInterval_ intervals
- TimerQueue tq_ = null;
-
- boolean done_ = false;
- boolean suspended_ = false;
-
-}
-
diff --git a/java/netsvcs/Naming/NameHandler.java b/java/netsvcs/Naming/NameHandler.java
deleted file mode 100644
index a619eab0733..00000000000
--- a/java/netsvcs/Naming/NameHandler.java
+++ /dev/null
@@ -1,521 +0,0 @@
-/*************************************************
- *
- * = PACKAGE
- * netsvcs.Naming
- *
- * = FILENAME
- * NameHandler.java
- *
- * An instance of this class is created in a separate thread for each connection
- * request received by the NameAcceptor. All interaction between the
- * client's requests and the database are handled here.
- *
- * In general, the user binds a name to a (value, type) pair. The type is just
- * treated as just another String (in the C++ version the name and value are
- * arrays of 16 bit data types and the type is an array of 8 bit chars).
- *
- * For this to work in the hash table scheme, the type and value are wrapped in
- * a ValueType class defined at the end of this file.
- *
- * This is compatible with the C++ ACE remote name service.
- *
- *@see netsvcs.Naming.NameAcceptor
- *@see netsvcs.Naming.NameRequest
- *@see netsvcs.Naming.NameReply
- *
- *@author Everett Anderson
- *
- *************************************************/
-package netsvcs.Naming;
-
-import java.io.*;
-import java.util.*;
-import JACE.OS.*;
-import JACE.Connection.*;
-import JACE.Reactor.*;
-import JACE.SOCK_SAP.*;
-
-public class NameHandler extends SvcHandler
-{
- /**
- * Constructor
- *
- * @param mapping Hash table created in NameAcceptor
- */
- public NameHandler (Hashtable mapping)
- {
- super();
-
- this.mapping_ = mapping;
- }
-
- /**
- * Starts this handler in its own thread
- *
- */
- public int open (Object obj)
- {
- new Thread (this).start ();
- return 0;
- }
-
- /**
- * Main loop that this thread executes. Waits for connection requests and
- * creates a NameHandler thread for each.
- *
- */
- public void run ()
- {
- ACE.DEBUG("NameHandler instance running");
-
- // Can't assume the SOCKStream uses DataInputStream, so put one
- // over its OutputStream
- DataInputStream dis = new DataInputStream (this.peer().inputStream());
-
- // The NameRequest is the how all requests come in to the naming service.
- NameRequest nameRequest = new NameRequest();
-
- // Main loop -- wait for requests
- int msgLen;
- try
- {
- while (!this.done_)
- {
- // Read a NameRequest from the stream
- nameRequest.streamInFrom(dis);
-
- // Decide what to do based on the request type
- this.dispatch(nameRequest);
-
- }
- }
- catch (NullPointerException e)
- {
- ACE.ERROR ("Connection reset by peer");
- }
- catch (EOFException e)
- {
- /* The client has shut down the connection */
-
- }
- catch (IOException e)
- {
- ACE.ERROR (e);
- }
- finally
- {
- try
- {
- this.peer ().close ();
- }
- catch (IOException e)
- {
- }
- }
- }
-
-
- /**
- *
- * This is the point at which a request is sent to the various methods
- * that fulfill it. Switches on the request type -- bind, rebind, resolve,
- * etc.
- *
- *@param nameRequest The request to fill
- */
- void dispatch(NameRequest nameRequest) throws IOException
- {
-
- // Call the various other member functions based on the
- // message type of the request -- bind, rebind, etc.
- switch (nameRequest.requestType())
- {
- case NameRequest.BIND:
- this.bind(nameRequest, false);
- break;
- case NameRequest.REBIND:
- this.bind(nameRequest, true);
- break;
- case NameRequest.RESOLVE:
- this.resolve(nameRequest);
- break;
- case NameRequest.UNBIND:
- this.unbind(nameRequest);
- break;
- case NameRequest.LIST_NAMES:
- this.listByName(nameRequest.name(), false);
- break;
- case NameRequest.LIST_VALUES:
- this.listByValue(nameRequest.name(), false);
- break;
- case NameRequest.LIST_TYPES:
- this.listByType(nameRequest.name(), false);
- break;
- case NameRequest.LIST_NAME_ENTRIES:
- this.listByName(nameRequest.name(), true);
- break;
- case NameRequest.LIST_VALUE_ENTRIES:
- this.listByValue(nameRequest.name(), true);
- break;
- case NameRequest.LIST_TYPE_ENTRIES:
- this.listByType(nameRequest.name(), true);
- break;
- default:
- System.err.println("unknown type");
-
- ACE.ERROR("Unknown type: " + nameRequest.requestType());
-
- // Send a failure message. This will only work if the other
- // side is expecting something like a NameReply rather than
- // a NameRequest. It would've been better to have everything
- // use NameRequests to avoid this kind of thing.
- NameReply reply = new NameReply(NameReply.FAILURE, 0);
- reply.streamOutTo(this.peer());
-
- break;
- }
-
- }
-
- /**
- *
- * Bind a name and a (value, type) pair. All this data is given in the
- * NameRequest from the client. Returns a NameReply back to the client
- * with either Reply.SUCCESS or Reply.FAILURE as the type.
- *
- *@param request NameRequest given by the client
- *@param rebind Is this a rebind or not?
- */
- void bind (NameRequest request, boolean rebind) throws IOException
- {
- // The hash table entries consists of (String name, ValueType data) pairs, so
- // create the appropriate ValueType
- ValueType vt = new ValueType(request.type(),
- request.value());
-
- // Reply to tell sender of success or failure
- NameReply reply = new NameReply();
-
- // If it's a rebind request, overwrite the old entry. If the key doesn't
- // exist, add it. If it does exist and it's not a bind request, return
- // a failure code via a NameReply.
- if ((rebind) || (!this.mapping_.containsKey(request.name()))) {
-
- System.err.println("Binding: " + request.name() + " and " + vt.value_);
-
- // Add/Update the entry in the hash table
- this.mapping_.put(request.name(), vt);
-
- // Set the reply code to success
- reply.type(NameReply.SUCCESS);
-
- } else {
-
- ACE.DEBUG("Key " + request.name() + " already exists");
-
- // Set reply code to failure
- reply.type(NameReply.FAILURE);
-
- // reply error code unused as far as I know
- }
-
- reply.streamOutTo(this.peer());
- }
-
- /**
- * Given a name, this looks up and returns the type and value. This is
- * done by sending back a full NameRequest with the correct info. If
- * there is a problem, an "empty" NameRequest is returned -- it has no
- * name, type, or value fields.
- *
- *@param request NameRequest sent by the client (has the name to lookup)
- */
- void resolve (NameRequest request) throws IOException
- {
- // A NameRequest is also used in response
- NameRequest result;
-
- // Wrap a DataOutputStream around the socket's output stream
- // (the socket should already have at least a BufferedOutputStream)
- DataOutputStream dos = new DataOutputStream(this.peer().outputStream());
-
- // If the requested name is in the hash table, return the data
- if (this.mapping_.containsKey(request.name())) {
-
- // Get the data pair based on the name
- ValueType vt = (ValueType)this.mapping_.get(request.name());
-
- ACE.DEBUG("Good resolve: " + vt.value_);
-
- // Fill the reply structure
- result = new NameRequest(NameRequest.RESOLVE,
- null,
- vt.value_,
- vt.type_,
- null);
-
- } else {
-
- // Otherwise return a null response
- result = new NameRequest(NameRequest.RESOLVE,
- null,
- null,
- null,
- null);
-
- }
-
- // Send the result to the socket
- // result.streamOutTo(dos);
-
- result.streamOutTo(this.peer());
-
- }
-
- /**
- *
- * Given a name, remove its entry in the mapping. Returns a NameReply
- * to the client with NameReply.SUCCESS or NameReply.FAILURE.
- *
- *@param request NameRequest from the client (has the name to remove)
- */
- void unbind (NameRequest request) throws IOException
- {
- NameReply reply = new NameReply();
-
- // If the given key isn't in the table, return an error
- // Otherwise remove it. Uses a NameReply to respond.
- if (!this.mapping_.containsKey(request.name()))
- reply.type(NameReply.FAILURE);
- else {
- this.mapping_.remove(request.name());
- reply.type(NameReply.SUCCESS);
- }
-
- // Send the reply out to the socket
- reply.streamOutTo(this.peer());
- }
-
- /**
- *
- * Given a pattern string (given in NameRequest's name field), this
- * finds all the entries in the mapping which have a name that begins with
- * the string. Each one is sent back separately via a NameRequest, and this
- * sequence is followed by a blank NameRequest.
- *
- *@param pattern Pattern to find (what result names should begin with)
- *@param completeLookup Should the value and type be returned as well?
- */
- void listByName (String pattern, boolean completeLookup) throws IOException
- {
- // Get a listing of all the keys in the hash table
- Enumeration enum = this.mapping_.keys();
-
- // References used in the loop
- String name;
- ValueType vt;
-
- // A NameRequest is used to return each item corresponding to the pattern.
- NameRequest result = new NameRequest((completeLookup ? NameRequest.LIST_NAMES :
- NameRequest.LIST_NAME_ENTRIES),
- null,
- null,
- null,
- null);
-
- // Keep ourselves safe from null pointer exceptions
- if (pattern == null)
- pattern = new String("");
-
- // Scan through all the elements
- while (enum.hasMoreElements()) {
-
- // Get a key
- name = (String)enum.nextElement();
-
- // Does it fit the pattern?
- if (name.startsWith(pattern)) {
-
- // Set the result name
- result.name(name);
-
- // Only make another hash table request if the user
- // wants all the data
- if (completeLookup) {
-
- // Get data from the hash table
- vt = (ValueType)mapping_.get(name);
-
- // Set the rest of the data
- result.type(vt.type_);
- result.value(vt.value_);
- }
-
- // Send it to the socket
- result.streamOutTo(this.peer());
- }
- }
-
- // Send final null message
- result.name(null);
- result.type(null);
- result.value(null);
- result.requestType(NameRequest.MAX_ENUM);
- result.streamOutTo(this.peer());
- }
-
- /**
- *
- * Given a pattern string (given in NameRequest's name field), this
- * finds all the entries in the mapping which have a type that begins with
- * the string. Each one is sent back separately via a NameRequest, and this
- * sequence is followed by a blank NameRequest.
- *
- *@param pattern Pattern to find (what result types should begin with)
- *@param completeLookup Should the value be returned as well? This is only
- * used to decide between LIST_TYPES and LIST_TYPE_ENTRIES
- * since we might as well send back both if we look them up
- * together.
- */
- void listByType (String pattern, boolean completeLookup) throws IOException
- {
- // Get a listing of all the keys in the hash table
- Enumeration enum = this.mapping_.keys();
-
- // References used in the loop
- String name;
- ValueType vt;
-
- // A NameRequest is used to return each item corresponding to the pattern.
- NameRequest result = new NameRequest((completeLookup ? NameRequest.LIST_TYPES :
- NameRequest.LIST_TYPE_ENTRIES),
- null,
- null,
- null,
- null);
- // Keep ourselves safe from null pointer exceptions
- if (pattern == null)
- pattern = new String("");
-
- // Scan through all the elements
- while (enum.hasMoreElements()) {
-
- // Get a key
- name = (String)enum.nextElement();
-
- // Have to get all the data for this entry to compare
- vt = (ValueType)mapping_.get(name);
-
- // Does it fit the pattern?
- if (vt.type_ != null)
- if (vt.type_.startsWith(pattern)) {
-
- // Set the result values
- result.name(name);
- result.type(vt.type_);
- result.value(vt.value_);
-
- // Send it out to the socket
- result.streamOutTo(this.peer());
- }
- }
-
- // Send final null message
- result.name(null);
- result.type(null);
- result.value(null);
- result.requestType(NameRequest.MAX_ENUM);
- result.streamOutTo(this.peer());
- }
- /**
- *
- * Given a pattern string (given in NameRequest's name field), this
- * finds all the entries in the mapping which have a value that begins with
- * the string. Each one is sent back separately via a NameRequest, and this
- * sequence is followed by a blank NameRequest.
- *
- *@param pattern Pattern to find (what result values should begin with)
- *@param completeLookup Should the type be returned as well? This is only
- * used to decide between LIST_VALUES and LIST_VALUE_ENTRIES
- * since we might as well send back both if we look them up
- * together.
- */
-
- void listByValue (String pattern, boolean completeLookup) throws IOException
- {
- // Get a listing of all the keys in the hash table
- Enumeration enum = this.mapping_.keys();
-
- // References used in the loop
- String name;
- ValueType vt;
-
- // A NameRequest is used to return each item corresponding to the pattern.
- NameRequest result = new NameRequest((completeLookup ? NameRequest.LIST_VALUES :
- NameRequest.LIST_VALUE_ENTRIES),
- null,
- null,
- null,
- null);
- // Keep ourselves safe from null pointer exceptions
- if (pattern == null)
- pattern = new String("");
-
- // Scan through all the elements
- while (enum.hasMoreElements()) {
-
- // Get a key
- name = (String)enum.nextElement();
-
- // Have to get all the data for this entry to compare
- vt = (ValueType)mapping_.get(name);
-
- // Does it fit the pattern?
- if (vt.value_ != null)
- if (vt.value_.startsWith(pattern)) {
-
- // Set the result values
- result.name(name);
- result.type(vt.type_);
- result.value(vt.value_);
-
- // Send it out to the socket
- result.streamOutTo(this.peer());
- }
- }
-
- // Send final null message
- result.name(null);
- result.type(null);
- result.value(null);
- result.requestType(NameRequest.MAX_ENUM);
- result.streamOutTo(this.peer());
- }
-
- boolean done_ = false;
-
-
- // References to the hash table and the timer queue
- Hashtable mapping_;
-}
-
-
-/**
- * A simple wrapper to keep the type and value together in
- * the hash table.
- */
-class ValueType implements Serializable
-{
- /**
- * Constructor
- *
- *@param type Type string to include
- *@param value Value string to include
- */
- ValueType(String type, String value)
- { this.type_ = type; this.value_ = value; }
-
- public String type_;
- public String value_;
-}
-
diff --git a/java/netsvcs/Naming/NameProxy.java b/java/netsvcs/Naming/NameProxy.java
deleted file mode 100644
index 249f745f5ce..00000000000
--- a/java/netsvcs/Naming/NameProxy.java
+++ /dev/null
@@ -1,351 +0,0 @@
-/*************************************************
- *
- * = PACKAGE
- * netsvcs.Naming
- *
- * = FILENAME
- * NameProxy.java
- *
- * This is a proxy which clients can use to interact with the naming service. They
- * open a SOCKStream to the service, and can then call simple bind and resolve
- * methods.
- *
- *@see netsvcs.Naming.NameAcceptor
- *@see netsvcs.Naming.NameHandler
- *
- *@author Everett Anderson
- *
- *************************************************/
-package netsvcs.Naming;
-
-import java.io.*;
-import java.net.*;
-import java.util.*;
-import JACE.OS.*;
-import JACE.SOCK_SAP.*;
-
-public class NameProxy
-{
- /**
- * Constructor
- *
- *@param socket A SOCKStream already connected to the naming service
- */
- public NameProxy(SOCKStream socket)
- {
- this.socket_ = socket;
- }
-
- /**
- * Attempt to bind the given data pair
- * @param name Name/key
- * @param value Value to bind
- *
- * @return True iff bind is successful
- */
- public boolean bind(String name, String value) throws IOException
- {
- return this.bind(name, value, null, false);
- }
-
- /**
- * Attempt to bind the given data triplet
- * @param name Name/key
- * @param value Value to bind
- * @param type Type to bind (another string)
- *
- * @return True iff the bind was successful
- */
- public boolean bind(String name, String value, String type) throws IOException
- {
- return this.bind(name, value, type, false);
- }
-
- /**
- * The most generic of the bind methods. Allows factoring out of common code. Not public.
- */
- boolean bind (String name, String value, String type, boolean rebind) throws IOException
- {
- // Create a new NameRequest with the desired info
- NameRequest request = new NameRequest(rebind ? NameRequest.REBIND : NameRequest.BIND,
- name,
- value,
- type,
- null);
-
- // Send it to the naming service
- request.streamOutTo(this.socket_);
-
- // Create a reply
- NameReply reply = new NameReply();
-
- // Get the status of the bind from the naming service
- reply.streamInFrom(this.socket_);
-
- // Return true on success
- return (reply.type() == NameReply.SUCCESS ? true : false);
- }
-
- /**
- * Rebind a name and a value
- * @param name Name/key
- * @param value Bound value
- *
- * @return True if the rebind was successful
- */
- public boolean rebind (String name, String value) throws IOException
- {
- return this.bind(name, value, null, true);
- }
-
- /**
- * Rebind a name, value, and type
- * @param name Name/key
- * @param value Bound value
- * @param type Bound type
- *
- * @return True if rebind was successful
- */
- public boolean rebind (String name, String value, String type) throws IOException
- {
- return this.bind(name, value, type, true);
- }
- /**
- * Look up information bound to the given key/name.
- *
- * @param name Name/key
- *
- * @return Vector with three elements:
- * 0 Name/key
- * 1 Value
- * 2 Type
- */
- public Vector resolve (String name) throws IOException
- {
- // Create a new NameRequest with the name & request type
- NameRequest request = new NameRequest(NameRequest.RESOLVE,
- name,
- null,
- null,
- null);
-
- // Send it to the naming service
- request.streamOutTo(this.socket_);
-
- // Get a response (hopefully with the value and type)
- request.streamInFrom(this.socket_);
-
- // Dump the result into a vector
- Vector result = new Vector();
-
- result.addElement(request.name());
- result.addElement(request.value());
- result.addElement(request.type());
-
- // Cut it down to the size we need
- result.trimToSize();
-
- return result;
- }
-
- /**
- * Remove the entry in the mapping corresponding to the given name/key.
- *
- * @param name Name/key
- *
- * @return True if the unbind was successful
- */
- public boolean unbind (String name) throws IOException
- {
- NameRequest request = new NameRequest(NameRequest.UNBIND,
- name,
- null,
- null,
- null);
- // Send the request to the naming service
- request.streamOutTo(this.socket_);
-
- NameReply reply = new NameReply();
-
- // Get reply
- reply.streamInFrom(this.socket_);
-
- return (reply.type() == NameReply.SUCCESS ? true : false);
- }
-
- /**
- * Return a vector that's a list of names (Strings) that begin with
- * the given pattern
- * @param pattern Search pattern
- * @return Vector List of names
- */
- public Vector listNames (String pattern) throws IOException
- {
- return this.requestSimpleList(pattern, NameRequest.LIST_NAMES);
- }
-
- /**
- * Return a vector that's a list of types (Strings) that begin with
- * the given pattern
- * @param pattern Search pattern
- * @return Vector List of types
- */
- public Vector listTypes (String pattern) throws IOException
- {
- return this.requestSimpleList(pattern, NameRequest.LIST_TYPES);
- }
-
- /**
- * Return a vector that's a list of values (Strings) that begin with
- * the given pattern
- * @param pattern Search pattern
- * @return Vector List of values
- */
- public Vector listValues (String pattern) throws IOException
- {
- return this.requestSimpleList(pattern, NameRequest.LIST_VALUES);
- }
-
- /**
- * Non-public generic list gathering method
- */
- Vector requestSimpleList (String pattern, int type) throws IOException
- {
- // Make request for a list of the given type
- NameRequest request = new NameRequest(type,
- pattern,
- null,
- null,
- null);
- request.streamOutTo(this.socket_);
-
- // Allocate and reuse the DIS here rather than each time we call
- // streamInFrom
- DataInputStream dis = new DataInputStream(this.socket_.inputStream());
-
- request.streamInFrom(dis);
- Vector result = new Vector();
-
- // Add elements until there's a null message with the MAX_ENUM
- // request type
- while (request.requestType() != NameRequest.MAX_ENUM) {
- if (type == NameRequest.LIST_NAMES)
- result.addElement(new String(request.name()));
- else
- if (type == NameRequest.LIST_VALUES)
- result.addElement(new String(request.value()));
- else
- result.addElement(new String(request.type()));
-
- request.streamInFrom(dis);
- }
-
- // Adjust the vector to the minimal size
- result.trimToSize();
-
- return result;
- }
-
- /**
- * Get a vector with the entire data set for entries whose name begins with
- * the given pattern. Each element in the vector is another vector
- * with the following layout:
- * 0 Name/key
- * 1 Value
- * 2 Type
- *
- * @param pattern Search pattern
- * @return Vector of vectors
- */
- public Vector listNameEntries (String pattern) throws IOException
- {
- return this.requestComplexList(pattern, NameRequest.LIST_NAME_ENTRIES);
- }
-
- /**
- * Get a vector with the entire data set for entries whose value begins with
- * the given pattern. Each element in the vector is another vector
- * with the following layout:
- * 0 Name/key
- * 1 Value
- * 2 Type
- *
- * @param pattern Search pattern
- * @return Vector of vectors
- */
- public Vector listValueEntries (String pattern) throws IOException
- {
- return this.requestComplexList(pattern, NameRequest.LIST_VALUE_ENTRIES);
- }
-
- /**
- * Get a vector with the entire data set for entries whose type begins with
- * the given pattern. Each element in the vector is another vector
- * with the following layout:
- * 0 Name/key
- * 1 Value
- * 2 Type
- *
- * @param pattern Search pattern
- * @return Vector of vectors
- */
-
- public Vector listTypeEntries (String pattern) throws IOException
- {
- return this.requestComplexList(pattern, NameRequest.LIST_TYPE_ENTRIES);
- }
-
- /**
- * Non-public generic method for getting a a vector of vectors with the
- * entire data set for entries fitting the given pattern.
- */
- Vector requestComplexList (String pattern, int type) throws IOException
- {
- // Create request with desired type
- NameRequest request = new NameRequest(type,
- pattern,
- null,
- null,
- null);
- // Send it to the naming service
- request.streamOutTo(this.socket_);
-
- // Allocate the DIS here and reuse
- DataInputStream dis = new DataInputStream(this.socket_.inputStream());
-
- // Get the first response
- request.streamInFrom(dis);
- Vector result = new Vector();
-
- // Loop while we don't see a null response with the MAX_ENUM request type
- while (request.requestType() != NameRequest.MAX_ENUM) {
- Vector entry = new Vector();
-
- // Create an element in the main vector
- entry.addElement(request.name());
- entry.addElement(request.value());
- entry.addElement(request.type());
- entry.trimToSize();
-
- // Add it to the result
- result.addElement(entry);
-
- // Get another NameRequest
- request.streamInFrom(dis);
- }
-
- result.trimToSize();
-
- return result;
- }
-
- // The SOCKStream used to communication with the service
- SOCKStream socket_;
-};
-
-
-
-
-
-
-
diff --git a/java/netsvcs/Naming/NameReply.java b/java/netsvcs/Naming/NameReply.java
deleted file mode 100644
index 52ebb111574..00000000000
--- a/java/netsvcs/Naming/NameReply.java
+++ /dev/null
@@ -1,145 +0,0 @@
-/*************************************************
- *
- * = PACKAGE
- * netsvcs.Naming
- *
- * = FILENAME
- * NameReply.java
- *
- * Used by the naming server to give quick status messages
- * to the client. This is only used to signal the success or
- * failure of bind and unbind requests. The error number is
- * unused (same in C++ version?).
- *
- *@see netsvcs.Naming.NameHandler
- *
- *@author Everett Anderson
- *
- *************************************************/
-package netsvcs.Naming;
-
-import java.io.*;
-import java.util.*;
-import JACE.OS.*;
-import JACE.Connection.*;
-import JACE.Reactor.*;
-import JACE.ASX.*;
-import JACE.SOCK_SAP.*;
-
-public class NameReply
-{
- // Success and failure constants
- public final static int SUCCESS = 1;
- public final static int FAILURE = 2;
-
- /**
- * Default Constructor
- */
- public NameReply ()
- {
- this.type_ = this.SUCCESS;
- this.errno_ = 0;
- }
-
- /**
- * Constructor
- *
- *@param type Success or failure
- *@param err Error number (unused)
- */
- public NameReply (int type, int err)
- {
- this.type_ = type;
- this.errno_ = err;
- }
-
- /**
- * Length accessor
- */
- int length()
- { return this.length_; }
-
- /**
- * Type accessor -- success or failure
- */
- int type()
- { return this.type_; }
-
- /**
- * Error number accessor
- */
- int errno()
- { return this.errno_; }
-
- /**
- * Set type
- * @param type New type
- */
- void type(int type)
- { this.type_ = type; }
-
- /**
- * Set error number
- * @param errno New error number
- */
- void errno(int errno)
- { this.errno_ = errno; }
-
- /**
- * Send this data to the given SOCKStream
- *
- *@param sock SOCKStream to send to
- */
- public void streamOutTo (JACE.SOCK_SAP.SOCKStream sock) throws IOException
- {
- ByteArrayOutputStream bout = new ByteArrayOutputStream();
- DataOutputStream dos = new DataOutputStream(bout);
-
- dos.writeInt(this.length_);
- dos.writeInt(this.type_);
- dos.writeInt(this.errno_);
-
- dos.flush();
-
- byte[] array = bout.toByteArray();
-
- sock.sendN(array, 0, array.length);
- }
-
- /**
- * Fill the fields of this instance from data in the socket
- *
- *@param sock SOCKStream to read from
- */
- public void streamInFrom (JACE.SOCK_SAP.SOCKStream sock) throws IOException
- {
- DataInputStream dis = new DataInputStream(sock.inputStream());
-
- this.streamInFrom(dis);
- }
-
- /**
- * Send this data to the given DataInputStream (which should be buffered)
- *
- *@param dis DataInputStream to use
- */
- public void streamInFrom (DataInputStream dis) throws IOException
- {
- int length = dis.readInt();
-
- if (length != this.length_)
- throw new IOException("Incorrect NameReply length");
-
- type_ = dis.readInt();
- errno_ = dis.readInt();
- }
-
- final static int length_ = 12;
-
- int type_;
- int errno_;
-}
-
-
-
-
diff --git a/java/netsvcs/Naming/NameRequest.java b/java/netsvcs/Naming/NameRequest.java
deleted file mode 100644
index f8a3579fa35..00000000000
--- a/java/netsvcs/Naming/NameRequest.java
+++ /dev/null
@@ -1,331 +0,0 @@
-/*************************************************
- *
- * = PACKAGE
- * netsvcs.Naming
- *
- * = FILENAME
- * NameRequest.java
- *
- * Used by both client and naming server as detailed in
- * the NameHandler. This structure transfers information
- * including name, value, type, and request type.
- *
- *@see netsvcs.Naming.NameHandler
- *
- *@author Everett Anderson
- *
- *************************************************/
-package netsvcs.Naming;
-
-import java.io.*;
-import java.util.*;
-import JACE.OS.*;
-import JACE.Connection.*;
-import JACE.Reactor.*;
-import JACE.ASX.*;
-import JACE.SOCK_SAP.*;
-
-public class NameRequest
-{
- /**
- * Different types of requests
- */
- public static final int BIND = 1;
- public static final int REBIND = 2;
- public static final int RESOLVE = 3;
- public static final int UNBIND = 4;
- public static final int LIST_NAMES = 5;
- public static final int LIST_VALUES = 13;
- public static final int LIST_TYPES = 21;
- public static final int LIST_NAME_ENTRIES = 6;
- public static final int LIST_VALUE_ENTRIES = 14;
- public static final int LIST_TYPE_ENTRIES = 22;
- public static final int MAX_ENUM = 11;
-
- /**
- * Default constructor
- */
- public NameRequest ()
- {
- this.name_ = this.value_ = this.type_ = null;
- this.length_ = 32;
- }
-
- /**
- * Constructor
- *
- * @param requestType Type of request this is (BIND, REBIND, etc)
- * @param name Key to bind
- * @param value Value to bind
- * @param type Type to couple with the value
- * @param timeout Timer information (not really used in JACE yet)
- */
- public NameRequest(int requestType,
- String name,
- String value,
- String type,
- TimeValue timeout)
- {
- this.requestType_ = requestType;
-
- if (timeout == null) {
-
- this.blockForever_ = 1;
- this.secTimeout_ = 0;
- this.usecTimeout_ = 0;
- } else {
-
- this.blockForever_ = 0;
- this.secTimeout_ = (int)timeout.sec();
- this.usecTimeout_ = (int)timeout.getMilliTime() * 1000;
- }
-
- // This is necessary to make sure null pointer exceptions are
- // avoided. It makes it more consistent later on
- if (name == null)
- this.name_ = new String("");
- else
- this.name_ = new String(name);
- if (value == null)
- this.value_ = new String("");
- else
- this.value_ = new String(value);
- if (type == null)
- this.type_ = new String("");
- else
- this.type_ = new String(type);
-
- // Set the length
- this.calculateLength();
- }
-
- /**
- * Calculate the transmission length (bytes) of this structure
- */
- private void calculateLength()
- {
- // The type is sent as an 8 bit data type (chars in the C++ version),
- // but the name and value are sent as 16 bit chars (ACE_USHORT16's in C++)
-
- this.length_ = 34 + this.type_.length() + 2 * (this.name_.length() +
- this.value_.length());
-
- }
-
- /**
- * Return the transmission length
- */
- public int length()
- { return this.length_; }
-
- /**
- * Return the name/key
- */
- public String name()
- { return new String(this.name_); }
-
- /**
- * Set the name/key
- * @param name Name to set to
- */
- public void name(String name)
- {
- if (name == null)
- this.name_ = new String("");
- else
- this.name_ = new String(name);
-
- this.calculateLength();
- }
-
- /**
- * Return the value
- */
- public String value()
- { return new String(this.value_); }
-
- /**
- * Set the value
- * @param value New value
- */
- public void value(String value)
- {
- if (value == null)
- this.value_ = new String("");
- else
- this.value_ = new String(value);
-
- this.calculateLength();
- }
-
- /**
- * Return the type
- */
- public String type()
- { return new String(this.type_); }
-
- /**
- * Set the type
- * @param type New type
- */
- public void type(String type)
- {
- if (type == null)
- this.type_ = new String("");
- else
- this.type_ = new String(type);
-
- this.calculateLength();
- }
-
- /**
- * Fill the fields of this instance with data from the socket
- *
- *@param sock Socket to read from
- */
- public void streamInFrom (JACE.SOCK_SAP.SOCKStream sock) throws IOException
- {
- DataInputStream dis = new DataInputStream(sock.inputStream());
-
- this.streamInFrom(dis);
- }
-
- /**
- * Fill the fields of this instance from the given DataInputStream
- *
- *@param dis DataInputStream to read from
- */
- public void streamInFrom (DataInputStream dis) throws IOException
- {
- // Read the length (32 bits)
- length_ = dis.readInt();
-
- // Read the request type
- requestType_ = dis.readInt();
-
- // Can we block forever to fulfill this request? (unused)
- blockForever_ = dis.readInt();
-
- // How long until we should time out this request? (unused)
- secTimeout_ = dis.readInt();
- usecTimeout_ = dis.readInt();
-
- // The sizes are in bytes, and there are two bytes per char
- // (ACE_USHORT16 in C++ land)
- int nameLen = dis.readInt() / 2;
- int valueLen = dis.readInt() / 2;
-
- int typeLen = dis.readInt();
-
- // Read the name -- just read chars since they're 16 bits.
- // Hopefully the SOCKStream has buffered the data
- char buf[] = new char[nameLen];
- for (int i = 0; i < nameLen; i++) {
- buf[i] = dis.readChar();
- }
- this.name_ = new String(buf);
-
- // Read the value
- buf = new char[valueLen];
- for (int i = 0; i < valueLen; i++)
- buf[i] = dis.readChar();
- this.value_ = new String(buf);
-
- // Read the type -- now we can use readFully since
- // the type was sent as 8 bit chars
- byte tbuf[] = new byte[typeLen];
- dis.readFully(tbuf);
- this.type_ = new String(tbuf);
-
- // Skip the null char at the end
- dis.skipBytes(2);
- }
-
- /**
- * Send this NameRequest out to the given SOCKStream
- *
- *@param sock SOCKStream to send to
- */
- public void streamOutTo (JACE.SOCK_SAP.SOCKStream sock) throws IOException
- {
- ByteArrayOutputStream bout = new ByteArrayOutputStream();
- DataOutputStream dos = new DataOutputStream(bout);
-
- dos.writeInt(length_);
- dos.writeInt(requestType_);
- dos.writeInt(blockForever_);
- dos.writeInt(secTimeout_);
- dos.writeInt(usecTimeout_);
-
- // Byte sizes are sent, and the name and value are stored as
- // 16 bit char arrays (ACE_USHORT16 arrays in C++ version)
- dos.writeInt(this.name_.length() * 2);
- dos.writeInt(this.value_.length() * 2);
- dos.writeInt(this.type_.length());
-
- // Making sure the name_ wasn't null comes in handy
- // in situations like this
- dos.writeChars(this.name_);
- dos.writeChars(this.value_);
- dos.writeBytes(this.type_);
-
- // Null termination
- dos.writeChar(0);
-
- // Send it for real
- dos.flush();
-
- byte[] array = bout.toByteArray();
-
- sock.sendN(array, 0, array.length);
- }
-
- /**
- * Set the requestType
- *@param type Type to set to
- */
- public void requestType(int type)
- {
- this.requestType_ = type;
- }
-
- /**
- * Get requestType
- */
- public int requestType()
- {
- return this.requestType_;
- }
-
- /**
- * Can we block forever to fulfill the request? (unused)
- */
- public boolean blockForever()
- {
- return (this.blockForever_ != 0) ? true : false;
- }
-
- /**
- * Allowed timeout (unused)
- */
- public int secTimeout()
- {
- return this.secTimeout_;
- }
-
- int length_;
- int requestType_;
- int blockForever_;
- int secTimeout_;
- int usecTimeout_;
-
- String name_;
- String value_;
- String type_;
-};
-
-
-
-
-
-
diff --git a/java/netsvcs/Time/Clerk.java b/java/netsvcs/Time/Clerk.java
deleted file mode 100755
index f29e08e06f8..00000000000
--- a/java/netsvcs/Time/Clerk.java
+++ /dev/null
@@ -1,23 +0,0 @@
-// ============================================================================
-//
-// = PACKAGE
-// netsvcs.Time
-//
-// = FILENAME
-// Clerk.java
-//
-// = AUTHOR
-// Prashant Jain
-//
-// ============================================================================
-package netsvcs.Time;
-
-// Test driver for the time server clerk
-public class Clerk
-{
- public static void main (String [] args)
- {
- TSClerkProcessor clerk = new TSClerkProcessor ();
- clerk.init (args);
- }
-}
diff --git a/java/netsvcs/Time/Makefile b/java/netsvcs/Time/Makefile
deleted file mode 100755
index 830c2646a8a..00000000000
--- a/java/netsvcs/Time/Makefile
+++ /dev/null
@@ -1,26 +0,0 @@
-# $Id$
-
-.SUFFIXES: .java .class
-
-JACE_WRAPPER = $(ACE_ROOT)/java
-
-all:
- javac -d ${JACE_WRAPPER}/classes $(files)
-doc:
- javadoc -d ${JACE_WRAPPER}/doc $(files) $(packages)
-
-files = TSClerkProcessor.java \
- TSClerkHandler.java \
- TSRequestAcceptor.java \
- TSRequestHandler.java \
- TSServerAcceptor.java \
- TSServerHandler.java \
- Clerk.java \
- Server.java
-
-packages = netsvcs \
- netsvcs.Time
-
-realclean:
- /bin/rm -rf ${JACE_WRAPPER}/classes/netsvcs/Time
-
diff --git a/java/netsvcs/Time/Server.java b/java/netsvcs/Time/Server.java
deleted file mode 100755
index 6b44ddf8d9f..00000000000
--- a/java/netsvcs/Time/Server.java
+++ /dev/null
@@ -1,23 +0,0 @@
-// ============================================================================
-//
-// = PACKAGE
-// netsvcs.Time
-//
-// = FILENAME
-// Server.java
-//
-// = AUTHOR
-// Prashant Jain
-//
-// ============================================================================
-package netsvcs.Time;
-
-// Test driver for the time service server
-public class Server
-{
- public static void main (String [] args)
- {
- TSServerAcceptor server = new TSServerAcceptor ();
- server.init (args);
- }
-}
diff --git a/java/netsvcs/Time/TSClerkHandler.java b/java/netsvcs/Time/TSClerkHandler.java
deleted file mode 100755
index fc89b69c45c..00000000000
--- a/java/netsvcs/Time/TSClerkHandler.java
+++ /dev/null
@@ -1,296 +0,0 @@
-/*************************************************
- *
- * = PACKAGE
- * netsvcs.Time
- *
- * = FILENAME
- * TS_Clerk_Handler.java
- *
- *@author Prashant Jain, Everett Anderson
- *
- *************************************************/
-package netsvcs.Time;
-
-import java.io.*;
-import java.util.Date;
-import JACE.OS.*;
-import JACE.Connection.*;
-import JACE.Reactor.*;
-import JACE.ASX.TimeValue;
-
-/**
- * <hr>
- * <p><h2>SYNOPSIS</h2>
- *
- * <blockquote>Requests the remote time on a server at regular
- * intervals.</blockquote>
- *
- * <p><h2>DESCRIPTION</h2>
- *
- * <blockquote>TSClerkHandlers are created by a TSClerkProcessor. There
- * is one handler for each server that the Clerk Processor factors into
- * its calculations.</blockquote>
- */
-public class TSClerkHandler extends SvcHandler
-{
- /**
- * Constructor. TSClerkProcessor specifies the server machine and
- * port, as well as the interval at which to make the query.
- */
- public TSClerkHandler (String hostname,
- int port,
- TimerQueue tq,
- int timeout,
- TSClerkProcessor parent)
- {
-
- this.hostname_ = hostname;
- this.port_ = port;
- this.tq_ = tq;
- this.timeout_ = timeout;
-
- this.initialTimeout_ = timeout;
- this.processor_ = parent;
-
- this.sendMsg_ = new String ("TIME_UPDATE_REQUEST");
- }
-
- /**
- * Called to start this handler in a new thread. This only
- * does it when the state of the handler is INITIALIZING.
- */
- public int open (Object obj)
- {
- if (this.state_ != RECONNECTING) {
-
- Thread test = new Thread(this);
-
- new Thread (this).start ();
-
- }
- return 0;
- }
-
- /**
- * Accessor - return the host name of the server
- */
- public String hostname ()
- {
- return this.hostname_;
- }
-
- /**
- * Accessor - return the port used to contact the server
- */
- public int port ()
- {
- return this.port_;
- }
-
- /**
- * Accessor - returns the difference between the local time and
- * the remote server.
- */
- public long delta ()
- {
- return this.delta_;
- }
-
- /**
- * Called when the thread starts. Schedules itself with the
- * timer queue.
- */
- public void run ()
- {
- this.timerId_ = this.tq_.scheduleTimer (this,
- null,
- new TimeValue (this.timeout_),
- new TimeValue (this.timeout_));
-
- }
-
- /**
- * Accessor - return the state
- */
- public int state()
- {
- return this.state_;
- }
-
- /**
- * Sets the state of the handler
- */
- public void state(int newState)
- {
- this.state_ = newState;
- }
-
- /**
- * Provides a new time out interval (exponentially increasing) so
- * that if the server doesn't respond, we don't keep trying to
- * reconnect as often. Maximum value is 5 minutes.
- */
- public int recalculateTimeout()
- {
- this.timeout_ *= 2;
-
- if (this.timeout_ > this.max_timeout_)
- this.timeout_ = max_timeout_;
-
- return this.timeout_;
- }
-
- /**
- * Start the recovery from a server disconnection by closing the
- * port and recalculating the timeout value.
- */
- protected void errorRecovery()
- {
- ACE.DEBUG("Time Service failure with server " + this.hostname_);
-
- this.timeout_ = this.recalculateTimeout();
-
- this.reschedule();
- }
-
- /**
- * Removes this handler from the timer queue, and reschedules it
- * (presumably with a new timeout value)
- */
- public void reschedule()
- {
- this.tq_.cancelTimer(this);
-
- this.timerId_ = this.tq_.scheduleTimer (this,
- null,
- new TimeValue (this.timeout_),
- new TimeValue (this.timeout_));
- }
-
- /**
- * Called back by the timer queue. If the handler isn't connected,
- * it tries to reconnect to the server. Otherwise, it requests
- * the remote time. The server is said to have disconnected when
- * an exception is thrown in the socket system, or the result is
- * a string with length <= 0.
- */
- public int handleTimeout (TimeValue tv, Object obj)
- {
- if (this.state_ != CONNECTED) {
-
- this.processor_.initiateConnection(this);
-
- // If still not connected
- if (this.state_ != CONNECTED) {
-
- // used to set state to reconnecting here
- this.state_ = RECONNECTING;
-
- // Reschedule to try again later
- this.errorRecovery();
- return 0;
- }
-
- // If connected, poll the server at the requested intervals
- this.resetTimeout();
- }
-
- StringBuffer ack = new StringBuffer ();
- int ackLen;
- try
- {
- // Used to calculate the turn-around time
- long sendTime = System.currentTimeMillis();
-
- this.peer ().send(this.sendMsg_);
- ackLen = this.peer ().recv (ack);
-
- long recvTime = System.currentTimeMillis();
-
- if (ackLen <= 0) {
-
- this.state_ = DISCONNECTED;
- return -1;
-
- } else {
-
- long delta = (new Long(ack.toString())).longValue() - recvTime;
-
- delta += (recvTime - sendTime) / 2;
-
- this.delta_ = delta;
-
- System.err.println("Delta: " + this.delta_);
- }
-
- }
- catch (NullPointerException e)
- {
- ACE.ERROR ("connection reset by peer");
- this.state_ = DISCONNECTED;
- return -1;
- }
- catch (IOException e)
- {
- ACE.ERROR (e);
- this.state_ = DISCONNECTED;
- return -1;
- }
-
- return 0;
- }
-
- /**
- * Resets the timer interval to be the one supplied to the
- * constructor.
- */
- public void resetTimeout()
- {
- this.timeout_ = this.initialTimeout_;
-
- this.reschedule();
- }
-
- private TSClerkProcessor processor_;
- // Reference used to re-establish connections
-
- public static final int MAX_RETRY_TIMEOUT = 300;
- // Wait at most 5 minutes before trying to reconnect
-
- // States
- public static final int CONNECTED = 0;
- public static final int DISCONNECTED = 1;
- public static final int RECONNECTING = 2;
-
- // If there has been a failure, try reconnecting
- // at least every MAX_RETRY_TIMEOUT seconds
- private int max_timeout_ = MAX_RETRY_TIMEOUT;
-
- // State of the handler
- private int state_ = DISCONNECTED;
-
- // Difference between the remote time and the local time.
- private long delta_ = 0;
-
- // Name of the remote host
- private String hostname_;
-
- // Port used for the connection
- private int port_;
-
- // Current timer interval
- private int timeout_;
-
- // Reference to the Clerk Processor's timer queue
- private TimerQueue tq_;
-
- // Message to send for a time update
- private String sendMsg_;
-
- // ID of the handler in the queue
- private int timerId_;
-
- // Desired time interval to receive updates
- private int initialTimeout_;
-
-}
diff --git a/java/netsvcs/Time/TSClerkProcessor.java b/java/netsvcs/Time/TSClerkProcessor.java
deleted file mode 100755
index d7b1773cc9e..00000000000
--- a/java/netsvcs/Time/TSClerkProcessor.java
+++ /dev/null
@@ -1,267 +0,0 @@
-/*************************************************
- *
- * = PACKAGE
- * netsvcs.Time
- *
- * = FILENAME
- * TSClerkProcessor.java
- *
- *@author Prashant Jain, Everett Anderson
- *
- *************************************************/
-package netsvcs.Time;
-
-import java.io.*;
-import java.net.*;
-import java.util.*;
-import JACE.OS.*;
-import JACE.Misc.*;
-import JACE.Connection.*;
-import JACE.Reactor.*;
-import JACE.ASX.TimeValue;
-
-/**
- *
- * <hr>
- * <p><h2>SYNOPSIS</h2>
- *
- * <blockquote>Monitors a specified port (default 7989) and launches
- * TSClerkHandlers when connections are made. The handlers communicate
- * with servers and calculate the difference between the server time
- * and local time. The Clerk Processor averages these differences
- * and reports them to clients.</blockquote>
- *
- * <p><h2>DESCRIPTION</h2>
- *
- * <blockquote>This doesn't actually change the system clock, but it
- * provides the average of the differences of the local and server
- * times. A client could use this information to adjust the clock, or
- * just use the midpoint to determine the correct network time.</blockquote>
- *
- */
-public class TSClerkProcessor extends Connector implements Runnable
-{
- /**
- * Default constructor
- */
- public TSClerkProcessor ()
- {
- this.serverArray_ = new Vector ();
-
- }
-
- /**
- * Parse the command line, setup the TSRequestAcceptor, and run
- * the Clerk Processor in its own thread.
- */
- public int init (String [] args)
- {
- // Parse arguments
- this.parseArgs (args);
-
- TSRequestAcceptor ra = new TSRequestAcceptor (this);
- ra.init (args);
-
- // Run in own thread of control so that we don't block the caller
- new Thread (this).start ();
- return 0;
- }
-
-
- /**
- * Makes connections to the servers, schedules itself for intervals
- * to update the delta time.
- */
- public void run ()
- {
-
- // Set up connections with all servers
- Enumeration table = this.serverArray_.elements ();
- while (table.hasMoreElements ())
- {
- this.initiateConnection((TSClerkHandler)table.nextElement());
- }
-
- // Set up timer
- this.timer_id_ = this.tq_.scheduleTimer (this,
- null,
- new TimeValue (this.timeout_),
- new TimeValue (this.timeout_));
- }
-
- /**
- * Makes connections to the servers.
- */
- public void initiateConnection (TSClerkHandler handler)
- {
- this.open (handler.hostname(), handler.port());
-
- try
- {
- // Connect to the server
- this.connect (handler);
-
- // Set the state of the Clerk Handler so it queries the
- // server at intervals.
- handler.state(TSClerkHandler.CONNECTED);
-
- }
- catch (UnknownHostException e)
- {
- ACE.ERROR (e);
- }
- catch (SocketException e)
- {
- ACE.ERROR ("Connection refused");
- }
- catch (InstantiationException e)
- {
- ACE.ERROR (e);
- }
- catch (IllegalAccessException e)
- {
- ACE.ERROR (e);
- }
- catch (IOException e)
- {
- ACE.ERROR (e);
- }
- }
-
-
- /**
- *
- * Called by the timer queue. Calls updateTime().
- */
- public int handleTimeout (TimeValue tv, Object obj)
- {
- return this.updateTime ();
- }
-
- /**
- * Calculates the delta time by averaging the results from
- * Clerk Handler delta()'s. It only includes handlers whose
- * state is currently CONNECTED. If they're not connected, it
- * reschedules them to begin the error correction process of
- * trying to reconnect to the server (possible synch problems?).
- */
- protected int updateTime ()
- {
- TSClerkHandler handler;
- int count = 0;
- long totalDeltaTime = 0;
-
- Enumeration table = this.serverArray_.elements ();
-
- while (table.hasMoreElements ())
- {
- handler = (TSClerkHandler) table.nextElement ();
-
- if (handler.state() != TSClerkHandler.CONNECTED) {
-
- // Reconnecting state means we don't need to put
- // it in the timer queue again
- if (handler.state() == TSClerkHandler.RECONNECTING)
- continue;
- else
- if (handler.state() == TSClerkHandler.DISCONNECTED)
- handler.state(TSClerkHandler.RECONNECTING);
-
- handler.errorRecovery();
- continue;
- }
-
- long delta = handler.delta();
-
- ACE.DEBUG(handler.hostname() + ": " + delta);
-
- totalDeltaTime += delta;
- count++;
- }
-
- if (count > 0) {
-
- this.timeDelta_ = totalDeltaTime / count;
-
- ACE.DEBUG("Average deviation: " + totalDeltaTime/count);
-
- } else
-
- this.timeDelta_ = 0;
-
- return 0;
- }
-
- /**
- * Return the delta time.
- */
- public long getDelta()
- {
- return this.timeDelta_;
- }
-
- /**
- * Parse the command line. Watches for -t <time> and
- * -h <machine:port> switches. Must specify time
- * value before host switches!
- */
- protected void parseArgs (String args[])
- {
- String s;
- GetOpt opt = new GetOpt (args, "t:h:");
- for (int c; (c = opt.next ()) != -1; )
- {
- switch (c)
- {
- case 't':
- s = opt.optarg ();
- this.timeout_ = (new Integer (s)).intValue ();
- break;
- case 'h':
- s = opt.optarg ();
- this.addNewHandler (s);
- break;
- default:
- ACE.ERROR ("Bad command line argument: " + c);
-
- ACE.ERROR ("Valid arguments: -t <timeout> -h <hostname>:<port> -h ...");
- break;
- }
- }
- }
-
- /**
- *
- * Creates a new Clerk Handler and adds it to the serverArray_
- */
- private void addNewHandler (String s)
- {
- StringTokenizer tokens = new StringTokenizer (s, ":");
- String hostname = tokens.nextToken ();
-
- int port = (new Integer (tokens.nextToken ())).intValue ();
-
- // Create new handler and add it to array of servers
- this.serverArray_.addElement (new TSClerkHandler (hostname,
- port,
- this.tq_,
- this.timeout_,
- this));
- }
-
- // Vector of TSClerkHandlers, one for each server
- private Vector serverArray_;
-
- // Default interval at which to update the time
- private int timeout_ = 1000;
-
- // Timer queue which calls handleTimeout when the Clerk Processor
- // is supposed to update the time.
- private TimerQueue tq_ = new TimerQueue (true);
-
- // Clerk Processor ID in the timer queue
- private int timer_id_;
-
- // Average of the differences of the local and server times.
- private long timeDelta_;
-}
diff --git a/java/netsvcs/Time/TSRequestAcceptor.java b/java/netsvcs/Time/TSRequestAcceptor.java
deleted file mode 100755
index e02b0b261ba..00000000000
--- a/java/netsvcs/Time/TSRequestAcceptor.java
+++ /dev/null
@@ -1,142 +0,0 @@
-/*************************************************
- *
- * = PACKAGE
- * netsvcs.Time
- *
- * = FILENAME
- * TSRequestAcceptor.java
- *
- *@author Prashant Jain, Everett Anderson
- *
- *************************************************/
-package netsvcs.Time;
-
-import java.io.*;
-import java.net.*;
-import java.util.*;
-import JACE.OS.*;
-import JACE.Misc.*;
-import JACE.Connection.*;
-import JACE.Reactor.*;
-
-/**
- * <hr>
- * <p><h2>SYNOPSIS</h2>
- *
- * <blockquote>Monitors a specified port (default 7990) and launches
- * TSRequestHandlers when connections are made. The handlers
- * report the average deviation from the local time when input
- * is received to their sockets.</blockquote>
- *
- * <p><h2>DESCRIPTION</h2>
- * <blockquote>This is in place of the shared memory system used in C++ ACE.
- * The clients need to request the correct time range from the Clerk, so
- * they can do it with <a href="ACE.SOCK_SAP.SOCKStream.html#_top_">
- * <tt>sockets</tt></a>. An instance of TSRequestAcceptor is created
- * and initialized in TSClerkProcessor init(). This should be the
- * only place it's used.</blockquote>
- *
- * @see ACE.SOCK_SAP.SOCKAcceptor,ACE.netsvcs.Time.TSClerkProcessor
- */
-
-public class TSRequestAcceptor extends Acceptor implements Runnable
-{
- /**
- * Create an instance of TSRequestAcceptor. Default constructor.
- */
- public TSRequestAcceptor (TSClerkProcessor parent)
- {
- this.parent_ = parent;
- }
-
- /**
- *
- * Process command line arguments (port), and start this instance
- * in its own thread.
- *
- */
- public int init(String [] args)
- {
- this.parseArgs (args);
-
- new Thread (this).start();
- return 0;
- }
-
- /**
- *
- * Called when the thread starts. Open the port and accept
- * connections.
- */
- public void run ()
- {
- try {
- this.open (this.port_);
- while (true)
- this.accept();
- }
- catch (SocketException e)
- {
- ACE.ERROR (e);
- }
- catch (InstantiationException e)
- {
- ACE.ERROR (e);
- }
- catch (IllegalAccessException e)
- {
- ACE.ERROR (e);
- }
- catch (IOException e)
- {
- ACE.ERROR (e);
- }
-
- System.err.println("Stopped accepting");
- }
-
- /**
- *
- * Parse the command line. This only looks for -p <port number>.
- *
- */
- protected void parseArgs (String args[])
- {
- String s;
- GetOpt opt = new GetOpt (args, "p:");
-
- for (int c; (c = opt.next ()) != -1; )
- {
- switch (c)
- {
- case 'p':
- s = opt.optarg ();
- this.port_ = (new Integer (s)).intValue ();
- break;
- default:
- ACE.ERROR("Invalid argument: " + c);
- break;
- }
- }
- }
-
- /**
- *
- * Modifies to behavior of Acceptor accept() so the TSClerkProcessor
- * reference can be passed to the TSRequestHandler.
- *
- */
-
- protected SvcHandler makeSvcHandler ()
- throws InstantiationException, IllegalAccessException
- {
- return (SvcHandler) new TSRequestHandler(parent_);
- }
-
- // Port to monitor
- private int port_ = 7990;
-
- // Reference to the Clerk Processor (which holds the time value)
- private TSClerkProcessor parent_;
-};
-
diff --git a/java/netsvcs/Time/TSRequestHandler.java b/java/netsvcs/Time/TSRequestHandler.java
deleted file mode 100755
index dbeded22250..00000000000
--- a/java/netsvcs/Time/TSRequestHandler.java
+++ /dev/null
@@ -1,106 +0,0 @@
-package netsvcs.Time;
-/*************************************************
- *
- * = PACKAGE
- * netsvcs.Time
- *
- * = FILENAME
- * TSRequestHandler.java
- *
- *@author Prashant Jain, Everett Anderson
- *
- *************************************************/
-import java.io.*;
-import java.util.*;
-import JACE.OS.*;
-import JACE.Connection.*;
-import JACE.Reactor.*;
-
-/**
- * <hr>
- * <p><h2>SYNOPSIS</h2>
- *
- * <blockquote>Handles giving the client the average difference between
- * the local time and the server times.</blockquote>
- *
- * <p><h2>DESCRIPTION</h2>
- *
- * <blockquote>Whenever the RequestHandler receives input to the port, it
- * sends the current delta (average difference time) in return as a string.
- * Instances of this class are created by TSRequestAcceptor.</blockquote>
- */
-public class TSRequestHandler extends SvcHandler
-{
- /**
- * Constructor. Takes in a reference to the Clerk Processor
- * so it can call TSClerkProcessor getDelta().
- */
- public TSRequestHandler (TSClerkProcessor processor)
- {
- this.processor_ = processor;
- }
-
- /**
- *
- * Run this in a separate thread.
- */
- public int open (Object obj)
- {
- new Thread (this).start ();
- return 0;
- }
-
- /**
- *
- * Called when the thread starts. This is the main code -- whenever
- * input comes to the socket, it sends out the current delta time
- * as a string.
- */
- public void run ()
- {
- int msgLen;
- try
- {
- while (true)
- {
- StringBuffer msg = new StringBuffer ();
-
- msgLen = this.peer ().recv (msg);
-
- if (msgLen < 0)
- break;
- else {
-
- // No matter what was sent in, send the average difference back
-
- String msgOut = new String("" + this.processor_.getDelta() + '\n');
- this.peer ().send (msgOut);
-
- }
- }
- }
- catch (NullPointerException e)
- {
- ACE.ERROR ("Connection reset by peer");
- }
- catch (IOException e)
- {
- ACE.ERROR (e);
- }
- finally
- {
- try
- {
- this.peer ().close ();
- }
- catch (IOException e)
- {
- ACE.ERROR (e);
- }
- }
- }
-
-
- // Reference to the Clerk Processor to call getDelta()
- TSClerkProcessor processor_;
-}
diff --git a/java/netsvcs/Time/TSServerAcceptor.java b/java/netsvcs/Time/TSServerAcceptor.java
deleted file mode 100755
index 2d54f7b740b..00000000000
--- a/java/netsvcs/Time/TSServerAcceptor.java
+++ /dev/null
@@ -1,100 +0,0 @@
-/*************************************************
- *
- * = PACKAGE
- * netsvcs.Time
- *
- * = FILENAME
- * TS_Server_Acceptor.java
- *
- *@author Prashant Jain
- *
- *************************************************/
-package netsvcs.Time;
-
-import java.io.*;
-import java.net.*;
-import java.util.*;
-import JACE.OS.*;
-import JACE.Misc.*;
-import JACE.Connection.*;
-import JACE.Reactor.*;
-
-/**
- * <hr>
- * <p><h2>DESCRIPTION</h2>
- *
- * Acceptor: listens to a port and launches TSServerHandlers
- * when connections are made.
- *
- * @see netsvcs.Time.TSServerHandler, JACE.Connection.Acceptor
- */
-public class TSServerAcceptor extends Acceptor implements Runnable
-{
- // Run this in its own thread
- public int init (String [] args)
- {
- // Parse arguments
- this.parseArgs (args);
-
- // Run in own thread of control so that we don't block the caller
- new Thread (this).start ();
- return 0;
- }
-
- // Create a TSServerHandler for each client that wants to connect
- public void run ()
- {
- try
- {
- this.setHandlerFactory (Class.forName ("netsvcs.Time.TSServerHandler"));
- this.open (this.port_);
- while (true)
- this.accept ();
- }
- catch (ClassNotFoundException e)
- {
- ACE.ERROR (e);
- }
- catch (SocketException e)
- {
- ACE.ERROR ("Socket Exception: " + e);
- }
- catch (InstantiationException e)
- {
- ACE.ERROR (e);
- }
- catch (IllegalAccessException e)
- {
- ACE.ERROR (e);
- }
- catch (IOException e)
- {
- ACE.ERROR (e);
- }
-
- System.err.println("Stopped accepting");
- }
-
- // Process the command line
- protected void parseArgs (String args[])
- {
- String s;
- GetOpt opt = new GetOpt (args, "p:");
- for (int c; (c = opt.next ()) != -1; )
- {
- switch (c)
- {
- case 'p':
- s = opt.optarg ();
- this.port_ = (new Integer (s)).intValue ();
- break;
- default:
- ACE.ERROR ("Unknown argument: " + c);
- break;
- }
- }
- }
-
- private int port_ = 7989;
-}
-
diff --git a/java/netsvcs/Time/TSServerHandler.java b/java/netsvcs/Time/TSServerHandler.java
deleted file mode 100755
index 4ee700254ed..00000000000
--- a/java/netsvcs/Time/TSServerHandler.java
+++ /dev/null
@@ -1,99 +0,0 @@
-/*************************************************
- *
- * = PACKAGE
- * netsvcs.Time
- *
- * = FILENAME
- * TS_Server_Handler.java
- *
- *@author Prashant Jain, Everett Anderson
- *
- *************************************************/
-package netsvcs.Time;
-
-import java.io.*;
-import java.util.*;
-import JACE.OS.*;
-import JACE.Connection.*;
-import JACE.Reactor.*;
-
-/**
- * <hr>
- * <p><h2>DESCRIPTION</h2>
- *
- * <blockquote>Handles requests from a TSClerkHandler and sends
- * back the current local time.</blockquote>
- *
- * @see netsvcs.Time.TSClerkHandler. netsvcs.Time.TSServerAcceptor
- */
-
-public class TSServerHandler extends SvcHandler
-{
- // Constructor
- public TSServerHandler ()
- {
- }
-
- // Start this handler in its own thread
- public int open (Object obj)
- {
-
- new Thread (this).start ();
- return 0;
- }
-
- // Wait for messages from the Client and send the current local
- // time back as a string.
- public void run ()
- {
- int msgLen;
- try
- {
- while (true)
- {
- // Use a new one each time since recv appends
- StringBuffer msg = new StringBuffer ();
-
- // Get the message from the client (blocks)
- msgLen = this.peer ().recv (msg);
-
- // Just keep waiting if there's a problem
- if (msgLen <= 0)
- break;
-
- // Is the message for the right thing?
- if (msg.toString().compareTo ("TIME_UPDATE_REQUEST") != 0) {
- System.err.println("Unknown message: \"" + msg + '\"');
- this.peer().send("\n"); // send so other side isn't stuck
- break;
- }
-
- // Get local time
- long time = System.currentTimeMillis();
-
- // Send as a string
- this.peer ().send ("" + time);
-
- ACE.DEBUG("Time: " + new Date(time));
- }
- }
- catch (NullPointerException e)
- {
- ACE.ERROR ("Connection reset by peer");
- }
- catch (IOException e)
- {
- ACE.ERROR (e);
- }
- finally
- {
- try
- {
- this.peer ().close ();
- }
- catch (IOException e)
- {
- }
- }
- }
-}
diff --git a/java/src/ACE.java b/java/src/ACE.java
deleted file mode 100644
index 8fa6e1823fa..00000000000
--- a/java/src/ACE.java
+++ /dev/null
@@ -1,164 +0,0 @@
-/*************************************************
- *
- * = PACKAGE
- * JACE.OS
- *
- * = FILENAME
- * JACE.java
- *
- *@author Prashant Jain
- *
- *************************************************/
-package JACE.OS;
-
-/**
- * <hr>
- * <h2>SYNOPSIS</h2>
- * <blockquote>Constants, utility "functions", etc.</blockquote>
- *
- * <h2>DESCRIPTION</h2>
- *<blockquote>
- * Defines default constants for ACE. Many of these are used for the
- * ACE tests and applications. You may want to change some of these to
- * correspond to your environment. Also, routines for error handling,
- * debugging and bit manipulation are included.
- *</blockquote>
- *
- * <h2>NOTES</h2>
- *<blockquote>
- * This class is non-instantiable, and intended only to provide a constrained
- * namespace.
- *</blockquote>
- */
-public abstract class ACE
-{
- /**
- * Default port on which a server listens for connections.
- */
- public static final int DEFAULT_SERVER_PORT = 10002;
-
- /**
- * Default name to use for a thread group.
- */
- public static final String DEFAULT_THREAD_GROUP_NAME = "ace_thread_group";
-
- /**
- * Disable debugging. Once debugging is disabled, all ACE.DEBUG
- * statements would be ignored.
- */
- public static final void disableDebugging ()
- {
- ACE.debug_ = false;
- }
-
- /**
- * Enable debugging. Once debugging is enabled, all ACE.DEBUG
- * statements get printed.
- */
- public static final void enableDebugging ()
- {
- ACE.debug_ = true;
- }
-
- /**
- * Print the string representation of Java Exception.
- *@param e Java exception
- */
- public static final void ERROR (Exception e)
- {
- System.err.println (e);
- }
-
- /**
- * Print the string being passed in.
- *@param s a Java String
- */
- public static final void ERROR (String s)
- {
- System.err.println (s);
- }
-
- /**
- * Print the string being passed in.
- *@param s A Java String
- *@return Error value passed in
- */
- public static final int ERROR_RETURN (String s, int errorVal)
- {
- System.err.println (s);
- return errorVal;
- }
-
- /**
- * Print the string being passed in. Note the behavior will vary
- * depending upon whether debugging is enabled or disabled.
- *@param s a Java String
- */
- public static final void DEBUG (String s)
- {
- if (ACE.debug_)
- System.out.println (s);
- }
-
- /**
- * Flush out any data that may be buffered.
- */
- public static final void FLUSH ()
- {
- System.out.flush ();
- }
-
- /**
- * Set the bits of WORD using BITS as the mask.
- *@param WORD the bits to be set.
- *@param BITS the mask to use.
- *@return The value obtained after setting the bits.
- */
- public static final long SET_BITS (long WORD, long BITS)
- {
- return WORD | BITS;
- }
-
- /**
- * Clear the bits of WORD using BITS as the mask.
- *@param WORD the bits to clear.
- *@param BITS the mask to use.
- *@return The value obtained after clearing the bits.
- */
- public static final long CLR_BITS (long WORD, long BITS)
- {
- return WORD & ~BITS;
- }
-
- /**
- * Check if bits are enabled in WORD.
- *@param WORD the bits to check.
- *@param BIT the bit to check to see if it is enabled or not.
- *@return true if bit is enabled, false otherwise.
- */
- public static final boolean BIT_ENABLED (long WORD, long BIT)
- {
- return (WORD & BIT) != 0;
- }
-
- /**
- * Check if bits are disabled in WORD.
- *@param WORD the bits to check.
- *@param BIT the bit to check to see if it is disabled or not.
- *@return true if bit is disabled, false otherwise.
- */
- public static final boolean BIT_DISABLED (long WORD, long BIT)
- {
- return (WORD & BIT) == 0;
- }
-
- // Debug flag (turn debugging on/off)
- private static boolean debug_ = true;
-
- // Default private constructor to avoid instantiation
- private ACE ()
- {
- }
-}
-
-
diff --git a/java/src/AcceptStrategy.java b/java/src/AcceptStrategy.java
deleted file mode 100644
index e5af43f07f5..00000000000
--- a/java/src/AcceptStrategy.java
+++ /dev/null
@@ -1,89 +0,0 @@
-/*************************************************
- *
- * = PACKAGE
- * JACE.Connection
- *
- * = FILENAME
- * AcceptStrategy.java
- *
- *@author Prashant Jain
- *
- *************************************************/
-package JACE.Connection;
-
-import java.io.*;
-import java.net.*;
-import JACE.SOCK_SAP.*;
-
-/**
- * <hr>
- * <h2>SYNOPSIS</h2>
- *<blockquote>
- * Interface for specifying a passive connection
- * acceptance strategy for a
- * <a href="ACE.Connection.SvcHandler.html"><tt>SvcHandler</tt></a>
- * .
- *</blockquote>
- *
- * <h2>DESCRIPTION</h2>
- *
- *<blockquote>
- * This class provides a strategy that manages passive
- * connection setup for an application, and can be extended
- * to define new strategies.
- *</blockquote>
- *
- * @see SvcHandler
- * @see Acceptor
- */
-
-public class AcceptStrategy
-{
- /**
- * Create an instance of Accept Strategy.
- *@param port port number where the server will listen for connections
- *@exception IOException couldn't open port
- */
- AcceptStrategy (int port) throws IOException
- {
- this.open (port);
- }
-
- /**
- * Initialize AcceptStrategy.
- *@param port port number where the server will listen for connections
- *@exception IOException couldn't open port
- */
- public void open (int port) throws IOException
- {
- // Create a new SOCK_Acceptor to accept client connections
- this.sockAcceptor_ = new SOCKAcceptor (port);
- }
-
- /**
- * Accept connections into the SvcHandler. Note that subclasses
- * should overwrite this method to provide a different accept
- * strategy.
- *@param sh Svc Handler in which to accept the connection
- *@exception SocketException Socket error
- *@exception IOException Socket error
- *@return 0
- */
- public int acceptSvcHandler (SvcHandler sh) throws
- SocketException, IOException
- {
- // Create a new stream
- SOCKStream sockStream = new SOCKStream ();
-
- // Block in accept. Returns when a connection shows up
- this.sockAcceptor_.accept (sockStream);
-
- // Set the streams for the new handler
- sh.setHandle (sockStream);
- return 0;
- }
-
- // Our connection acceptance factory
- private SOCKAcceptor sockAcceptor_;
-
-}
diff --git a/java/src/Acceptor.java b/java/src/Acceptor.java
deleted file mode 100644
index 945f170fe38..00000000000
--- a/java/src/Acceptor.java
+++ /dev/null
@@ -1,216 +0,0 @@
-/*************************************************
- *
- * = PACKAGE
- * JACE.Connection
- *
- * = FILENAME
- * Acceptor.java
- *
- *@author Prashant Jain
- *
- *************************************************/
-package JACE.Connection;
-
-import java.io.*;
-import java.net.*;
-import JACE.OS.*;
-import JACE.SOCK_SAP.*;
-import JACE.ServiceConfigurator.*;
-
-/**
- * <hr>
- * <p><h2>SYNOPSIS</h2>
- *
- * <blockquote>Abstract factory for creating a service handler
- * (<a href="ACE.Connection.SvcHandler.html"><tt>SvcHandler</tt></a>),
- * accepting into the
- * <a href="ACE.Connection.SvcHandler.html"><tt>SvcHandler</tt></a>, and activating the
- * <a href="ACE.Connection.SvcHandler.html"><tt>SvcHandler</tt></a>.</blockquote>
- *
- * <p><h2>DESCRIPTION</h2>
- *
- * <blockquote>Implements the basic strategy for passively establishing
- * connections with applications. The <tt>Acceptor</tt>
- * is a factory for <tt>SvcHandler</tt> instances, and, by default
- * generates a new <tt>SvcHandler</tt> instance for each connection
- * esablished.</blockquote>
- *
- * <p>
- *
- * <blockquote> The user of this class <em>must</em> provide a
- * reference to a handler factory prior to calling <a
- * href="#accept()"><tt>accept</tt></a>, or an exception will be
- * thrown. The handler factory is identified by the meta-class for
- * the <tt>SvcHandler</tt>, and is typically obtained by calling <a
- * href="java.lang.Class#classForName(java.lang.String)"><tt>Class.classForName("SvcHandler")</tt></a>.
- * </blockquote>
- *
- * <p>
- *
- * <blockquote> TCP is the transport mechanism used, via
- * <a href="ACE.SOCK_SAP.SOCKAcceptor.html#_top_"><tt>SOCKAcceptor</tt></a>,
- * <em>et.al.</em> The SvcHandler is instantiated with a concrete type
- * that performs the application-specific service. </blockquote>
- *
- * <h2>NOTES</h2>
- *
- * <blockquote> This class is not directly related to the
- * <tt>AcceptorStrategy</tt> class.</blockquote>
- *
- *
- * @see java.lang.Class
- * @see JACE.Connection.SvcHandler
- * @see JACE.SOCK_SAP.SOCKAcceptor
- */
-public class Acceptor extends ServiceObject
-{
- /**
- * Create an instance of Acceptor. Default constructor. Note that if
- * an instance is created via this method, <tt>setHandlerFactory</tt>
- * must be called prior to using <tt>accept</tt>.
- *
- * @see JACE.Connection.Acceptor#setHandlerFactory
- */
- public Acceptor ()
- {
- }
-
- /**
- * Create an instance of Acceptor.
- *@param handlerFactory meta-class reference used to create
- * an instance of a SvcHandler when a connection is accepted
- * (typically obtained by calling <tt>Class.classForName</tt>).
- *
- *@see java.lang.Class#forName
- */
- public Acceptor (Class handlerFactory)
- {
- this.handlerFactory_ = handlerFactory;
- }
-
- /**
- * Set the handler factory. This is provided to aid the default
- * no-arg constructor.
- *@param handlerFactory meta-class reference used to create
- * an instance of a SvcHandler when a connection is accepted
- * (typically obtained by calling <tt>Class.forName</tt>).
- *
- *@see java.lang.Class#forName
- */
- public void setHandlerFactory (Class handlerFactory)
- {
- this.handlerFactory_ = handlerFactory;
- }
-
- /**
- * Initialize the Acceptor.
- *@param port TCP port number where the Acceptor will listen for connections
- *@exception IOException socket level exception
- */
- public void open (int port) throws IOException
- {
- this.sockAcceptor_ = new SOCKAcceptor (port);
- }
-
- /**
- * Template method for accepting connections. Delegates operational
- * activities to the following bridge methods:
- * <ul>
- * <li><tt>makeSvcHandler</tt></li>
- * <li><tt>acceptSvcHandler</tt></li>
- * <li><tt>activateSvcHandler</tt></li>
- * </ul>
- *
- * <p>
- *
- * The method first obtains a <tt>SvcHandler</tt> via
- * <tt>makeSvcHandler</tt>, accepts the connection <q>into</q> the
- * handler using <tt>acceptSvcHandler</tt>, and finally turns over
- * control to the handler with <tt>activateSvcHandler</tt>.
- *
- *@exception SocketException socket level error
- *@exception InstantiationException <tt>makeSvcHandler</tt> failure
- *@exception IllegalAccessException <tt>makeSvcHandler</tt> failure
- *@exception IOException socket level error
- */
- public void accept () throws SocketException,
- InstantiationException,
- IllegalAccessException,
- IOException
- {
-
- // Create a Svc_Handler using the appropriate Creation_Strategy
- SvcHandler sh = this.makeSvcHandler ();
-
- // Accept a connection into the SvcHandler using the appropriate
- // Accept_Strategy
- this.acceptSvcHandler (sh);
-
- // Activate the SvcHandler using the appropriate ActivationStrategy
- this.activateSvcHandler (sh);
- }
-
- /**
- * Bridge method for creating a <tt>SvcHandler</tt>. The default is to
- * create a new <SvcHandler>. However, subclasses can override this
- * policy to perform <SvcHandler> creation in any way that they like
- * (such as creating subclass instances of <SvcHandler>, using a
- * singleton, etc.)
- *@return a new instance of the SvcHandler
- *@exception InstantiationException could not create new SvcHandler
- *@exception IllegalAccessException no SvcHandler factory provided
- */
- protected SvcHandler makeSvcHandler ()
- throws InstantiationException, IllegalAccessException
- {
- // Create a new handler for the connection
- return (SvcHandler) handlerFactory_.newInstance ();
- }
-
- /**
- * Bridge method for accepting the new connection into the
- * <tt>SvcHandler</tt>. The default behavior delegates the work to
- * <tt>SOCKAcceptor.accept</tt>. However, subclasses can override this
- * strategy.
- *@param sh SvcHandler in which to accept the connection
- *@return 0
- *@exception SocketException socket level error
- *@exception IOException socket level error
- */
- protected int acceptSvcHandler (SvcHandler sh)
- throws SocketException, IOException
- {
- // Create a new stream
- SOCKStream sockStream = new SOCKStream ();
-
- // Block in accept. Returns when a connection shows up
- this.sockAcceptor_.accept (sockStream);
-
- // Set the streams for the new handler
- sh.setHandle (sockStream);
- return 0;
- }
-
- /**
- * Bridge method for activating a <tt>SvcHandler</tt>. The default
- * behavior of this method is to activate the <tt>SvcHandler</tt> by
- * calling its open() method (which allows the <tt>SvcHandler</tt> to
- * define its own concurrency strategy). However, subclasses can
- * override this strategy to do more sophisticated concurrency
- * activations.
- *@param sh SvcHandler to activate
- *@return 0
- */
- protected int activateSvcHandler (SvcHandler sh)
- {
- sh.open (null);
- return 0;
- }
-
- // Handler class that should be instantiated when a connection is
- // made with a client
- private Class handlerFactory_;
-
- // Our connection acceptance factory
- protected SOCKAcceptor sockAcceptor_;
-}
diff --git a/java/src/ActivateStrategy.java b/java/src/ActivateStrategy.java
deleted file mode 100644
index 882203ad552..00000000000
--- a/java/src/ActivateStrategy.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/*************************************************
- *
- * = PACKAGE
- * JACE.Connection
- *
- * = FILENAME
- * ActivateStrategy.java
- *
- *@author Prashant Jain
- *
- *************************************************/
-package JACE.Connection;
-
-
-/**
- * <hr>
- *<h2>SYNOPSIS</h2>
- * Bridge supporting activation strategy used by
- * <a href="ACE.Connection.StrategyAcceptor.html#_top_"><tt>StrategyAcceptor</tt></a>
- *
- *<h2>DESCRIPTION</h2>
- * Subclass and overload
- * <a href="#activateSvcHandler(ACE.Connection.SvcHandler)"><tt>activateSvcHandler</tt></a>
- * in order change the activation strategy. Then, submit this subclass to
- * <a href="ACE.Connection.StrategyAcceptor.html#_top_"><tt>StrategyAcceptor</tt></a>
- * as the activation strategy.
- *
- *@see StrategyAcceptor
- */
-public class ActivateStrategy
-{
- /**
- * Activate the Svc Handler. Note that subclasses should overwrite
- * this method to provide a different Activate strategy.
- *@param sh Svc Handler to activate
- *@return zero if success, non-zero for failure
- */
- public int activateSvcHandler (SvcHandler sh)
- {
- sh.open (null);
- return 0;
- }
-}
diff --git a/java/src/AddServiceObjectNode.java b/java/src/AddServiceObjectNode.java
deleted file mode 100644
index aa99c51ebc3..00000000000
--- a/java/src/AddServiceObjectNode.java
+++ /dev/null
@@ -1,54 +0,0 @@
-package JACE.ServiceConfigurator;
-
-import java.io.*;
-import JACE.OS.*;
-
-class AddServiceObjectNode extends ParseNode
-{
-
- public AddServiceObjectNode ()
- {
- this.locator_ = new String();
- this.params_ = new String();
- }
-
- /* This should be the class name, fully qualified or in the class path */
- public String locator ()
- {
- return this.locator_;
- }
-
- public String params ()
- {
- return this.params_;
- }
-
- public void params (String params)
- {
- this.params_ = params;
- }
-
- public boolean suspended ()
- {
- return this.suspended_;
- }
-
- public void init(String name, String locator, boolean suspended)
- {
- super.name_ = name;
- this.locator_ = locator;
- this.suspended_ = suspended;
- }
-
- public void apply ()
- {
- ACE.DEBUG("AddServiceObjectNode apply");
-
- if (JACE.ServiceConfigurator.ServiceConfig.initialize(this) == -1)
- ACE.ERROR("Error adding " + this.name_);
- }
-
- String params_;
- String locator_;
- boolean suspended_;
-};
diff --git a/java/src/Blob.java b/java/src/Blob.java
deleted file mode 100644
index 69feef248b3..00000000000
--- a/java/src/Blob.java
+++ /dev/null
@@ -1,94 +0,0 @@
-/*************************************************
- *
- * = PACKAGE
- * JACE.Connection
- *
- * = FILENAME
- * Blob.java
- *
- *@author Prashant Jain
- *
- *************************************************/
-package JACE.Connection;
-
-import java.io.*;
-import java.net.*;
-import JACE.SOCK_SAP.*;
-import JACE.ASX.*;
-import JACE.OS.*;
-
-public class Blob
-{
- public int open (String filename, String hostname , int port)
- {
- this.filename_ = filename;
- this.hostname_ = hostname;
- this.port_ = port;
- return 0;
- }
-
- public MessageBlock read (int length, int offset)
- {
- // Check if we have a valid length and a valid offset
- if (length < 0 || offset < 0)
- {
- ACE.ERROR ("Blob::read(): Negative length or offset");
- return null;
- }
-
- // Create a Blob Reader
- BlobReader blobReader = new BlobReader (length, offset, this.filename_, this.hostname_, this.port_);
-
- // Receive data
- MessageBlock mb = blobReader.receiveData ();
- if (blobReader.bytesRead () != length)
- return null;
- else
- return mb;
- }
-
- public int write (MessageBlock mb, int length, int offset)
- {
- // Check if we have a valid length and a valid offset
- if (length < 0 || offset < 0)
- ACE.ERROR ("Blob::write(): Negative length or offset");
-
- // Create a Blob Writer
- BlobWriter blobWriter = new BlobWriter (mb, length, offset, this.filename_);
-
- try
- {
- // Connect to the server
- this.connector_.open (this.hostname_, this.port_);
- this.connector_.connect (blobWriter);
- }
- catch (UnknownHostException e)
- {
- ACE.ERROR (e);
- }
- catch (InstantiationException e)
- {
- ACE.ERROR (e);
- }
- catch (IllegalAccessException e)
- {
- ACE.ERROR (e);
- }
- catch (IOException e)
- {
- ACE.ERROR (e);
- }
-
- return blobWriter.bytesWritten ();
- }
-
- public int close ()
- {
- return 0;
- }
-
- String filename_;
- String hostname_;
- int port_;
- Connector connector_ = new Connector ();
-}
diff --git a/java/src/BlobHandler.java b/java/src/BlobHandler.java
deleted file mode 100644
index ec282bdeaa9..00000000000
--- a/java/src/BlobHandler.java
+++ /dev/null
@@ -1,35 +0,0 @@
-/*************************************************
- *
- * = PACKAGE
- * JACE.Connection
- *
- * = FILENAME
- * BlobHandler.java
- *
- *@author Prashant Jain
- *
- *************************************************/
-package JACE.Connection;
-
-import java.io.*;
-import java.net.*;
-import JACE.SOCK_SAP.*;
-import JACE.ASX.*;
-import JACE.OS.*;
-
-public abstract class BlobHandler extends SvcHandler
-{
- public BlobHandler (int length, int offset, String filename)
- {
- this.length_ = length;
- this.offset_ = offset;
- this.filename_ = filename;
- }
-
- public abstract int open (Object obj);
-
- protected int length_ = 0;
- protected int offset_ = 0;
- protected String filename_ = null;
-}
-
diff --git a/java/src/BlobReader.java b/java/src/BlobReader.java
deleted file mode 100644
index 7209f3c721f..00000000000
--- a/java/src/BlobReader.java
+++ /dev/null
@@ -1,104 +0,0 @@
-/*************************************************
- *
- * = PACKAGE
- * JACE.Connection
- *
- * = FILENAME
- * BlobReader.java
- *
- *@author Prashant Jain
- *
- *************************************************/
-package JACE.Connection;
-
-import java.io.*;
-import java.net.*;
-import JACE.SOCK_SAP.*;
-import JACE.ASX.*;
-import JACE.OS.*;
-
-// Reader **************************************************
-
-public class BlobReader
-{
- public BlobReader (int length,
- int offset,
- String filename,
- String hostname,
- int port)
- {
- this.length_ = length;
- this.offset_= offset;
- this.filename_ = filename;
- this.hostname_ = hostname;
- this.port_ = port;
- }
-
-
- public MessageBlock receiveData ()
- {
- String hostname = this.hostname_;
- String filename = this.filename_;
-
- // Check if the filename begins with a "/" and if so, remove it
- // since we are concatenating a "/" to the hostname.
- if (this.filename_.startsWith ("/"))
- filename = this.filename_.substring (1);
-
- hostname = hostname + ":" + this.port_ + "/";
- // System.out.println (hostname + filename);
-
- // Allocate a buffer to hold the offset worth of data
- byte tempBuf [] = new byte [this.offset_];
- // Allocate a buffer to hold the actual data
- byte dataBuf [] = new byte [this.length_];
-
- try
- {
- // Create a URL to fetch the file
- URL url = new URL (this.protocol_ + hostname + filename);
-
- // Get the input stream and pipe it to a DataInputStream
- DataInputStream iStream = new DataInputStream (url.openStream ());
-
- // Read the offset worth of bytes
- iStream.readFully (tempBuf, 0, this.offset_);
-
- // Read length worth of bytes
- iStream.readFully (dataBuf, 0, this.length_);
- }
- catch (MalformedURLException e)
- {
- ACE.ERROR (e);
- }
- catch (IOException e)
- {
- ACE.ERROR (e);
- }
- // Cache number of bytes read
- this.bytesRead_ = this.length_;
- return new MessageBlock (new String (dataBuf, 0, this.length_));
- }
-
- public int close (long flags)
- {
- return 0;
- }
-
- public int bytesRead ()
- {
- return this.bytesRead_;
- }
-
- private String protocol_ = "http://";
-
- int length_ = 0;
- int offset_= 0;
- String filename_ = null;
- String hostname_ = "localhost";
- int port_ = 80;
-
- int bytesRead_ = 0;
-}
-
-
diff --git a/java/src/BlobWriter.java b/java/src/BlobWriter.java
deleted file mode 100644
index 09cc88a1f9e..00000000000
--- a/java/src/BlobWriter.java
+++ /dev/null
@@ -1,220 +0,0 @@
-/*************************************************
- *
- * = PACKAGE
- * JACE.Connection
- *
- * = FILENAME
- * BlobWriter.java
- *
- *@author Prashant Jain
- *
- *************************************************/
-package JACE.Connection;
-
-import java.io.*;
-import java.net.*;
-import JACE.SOCK_SAP.*;
-import JACE.ASX.*;
-import JACE.OS.*;
-
-// Writer **************************************************
-
-public class BlobWriter extends BlobHandler
-{
- public BlobWriter (MessageBlock mb,
- int length,
- int offset,
- String filename)
- {
- super (length, offset, filename);
- this.mb_ = mb;
- this.returnCode_ = -1;
-
- }
-
- /*******************************
- * This constructor should be used when using the basic HTTP 1.1
- * authentication scheme
- *******************************/
- public BlobWriter (MessageBlock mb,
- int length,
- int offset,
- String filename,
- String authentication)
- {
- super (length, offset, filename);
- this.mb_ = mb;
- this.returnCode_ = -1;
- this.authentication_ = authentication;
- }
-
-
- public int open (Object obj)
- {
- if (this.sendRequest () != 0)
- {
- ACE.ERROR ("BlobWriter::open():sendRequest failed");
- return -1;
- }
- else if (this.receiveReply () != 0)
- {
- ACE.ERROR ("BlobWriter::open():receiveReply failed");
- return -1;
- }
- return 0;
- }
-
- public int close (long flags)
- {
- return 0;
- }
-
- public int bytesWritten ()
- {
- return this.bytesWritten_;;
- }
-
- protected int sendRequest ()
- {
- // Check for sanity -- check if we have any data to send.
- if (this.offset_+ this.length_ > this.mb_.length ())
- {
- ACE.ERROR ("BlobWriter::sendRequest():Invalid offset/length");
- return -1;
- }
-
- if (this.sendHeader () == -1)
- {
- ACE.ERROR ("BlobWriter::sendHeader failed.");
- return -1;
- }
- else
- if (this.sendData () == -1)
- {
- ACE.ERROR ("BlobWriter::sendData failed.");
- return -1;
- }
- return 0;
- }
-
- // Send the header
- protected int sendHeader ()
- {
- String filename = this.filename_;
- // Check if the filename begins with a "/" and if it doesn't, add it
- if (!this.filename_.startsWith ("/"))
- filename = "/" + this.filename_;
-
- // Create the header, store the actual length in mesglen
- String mesg = this.requestPrefix_ + " " + filename + " " + this.requestSuffix_;
-
- if (this.authentication_ != null)
- mesg += "Authorization: Basic " + JACE.Connection.HTTPHelper.EncodeBase64(this.authentication_) + '\n';
-
- mesg += "Content-length: " + this.length_ + "\n";
-
- try
- {
- if (this.peer ().send (mesg) < 0)
- {
- ACE.ERROR ("Error sending request");
- return -1;
- }
- }
- catch (IOException e)
- {
- ACE.ERROR (e);
- return -1;
- }
- return 0;
- }
-
- // Send the data
- protected int sendData ()
- {
- // Get the actual data to send
- String data = this.mb_.base ().substring (this.offset_,
- this.offset_ + this.length_);
-
-
- try
- {
- // System.out.println (data);
- // Now send the data
- if (this.peer ().send (data) != this.length_)
- {
- ACE.ERROR ("Error sending file");
- return -1;
- }
- }
- catch (IOException e)
- {
- ACE.ERROR (e);
- return -1;
- }
- this.bytesWritten_ = this.length_;
- return 0;
- }
-
-
- protected int receiveReply ()
- {
- System.out.println("Waiting for reply");
-
- // Receive the reply from the server
- StringBuffer reply = new StringBuffer (1024);
-
- try
- {
- if (this.peer ().recv (reply) < 0)
- {
- ACE.ERROR ("Error receiving reply from server");
- return -1;
- }
- }
- catch (IOException e)
- {
- ACE.ERROR (e);
- }
-
- String s = reply.toString ();
-
- int index = -1;
- // Now parse the reply to see if it was a success or a failure
- if ((index = s.indexOf (replyPrefix_)) == -1)
- {
- ACE.ERROR ("Error receiving reply from server");
- return -1;
- }
-
- int codeIndex = index + replyPrefix_.length () + 1;
-
- // Assume code is a 3 digit number
- String codeString = s.substring (codeIndex, codeIndex + 3);
-
- returnCode_ = (new Integer (codeString)).intValue ();
- // System.out.println (code);
-
- if (returnCode_ >= 200 && returnCode_ < 300) { // Check if everything went smoothly
- System.out.println("We got the goodies!");
- return 0;
- } else
- return -1;
- }
-
- public int returnCode ()
- {
- return this.returnCode_;
- }
-
- protected String authentication_ = null;
- protected String protocol_ = "http://";
- protected int bytesWritten_ = 0;
- protected MessageBlock mb_ = null;
- protected String requestPrefix_ = "PUT";
- protected String requestSuffix_ = "HTTP/1.0\n";
- protected String replyPrefix_ = "HTTP/1.0";
- protected int returnCode_;
-}
-
-
diff --git a/java/src/ClassNameGenerator.java b/java/src/ClassNameGenerator.java
deleted file mode 100644
index 0be175c5275..00000000000
--- a/java/src/ClassNameGenerator.java
+++ /dev/null
@@ -1,181 +0,0 @@
-/*************************************************
- *
- * = PACKAGE
- * JACE.ServiceConfigurator
- *
- * = FILENAME
- * ClassNameGenerator.java
- *
- * Given a locator string which may specify a class name, this generates as many possible locations for that
- * class file as possible. This is needed when trying to infer a class name from a C++ DLL line in the
- * svc.conf file. Implements the Enumeration interface. A variety of questionable tactics are
- * used.
- *
- *@author Everett Anderson
- *
- *************************************************/
-package JACE.ServiceConfigurator;
-
-import java.io.*;
-import java.util.*;
-import JACE.OS.*;
-
-public class ClassNameGenerator implements Enumeration
-{
- /**
- * Constructor
- * @param locator Locator string -- approximate class name
- */
- public ClassNameGenerator (String locator)
- {
- this.locator_ = locator;
- this.current_ = 0;
- this.suggestions_ = new Vector();
-
- this.makeSuggestions();
- }
-
- /**
- * More unseen possibilities?
- */
- public boolean hasMoreElements()
- {
- return this.current_ < this.suggestions_.size();
- }
-
- /**
- * Get the next string
- */
- public Object nextElement()
- {
- return this.suggestions_.elementAt(this.current_++);
- }
-
- /**
- * Take away things underscores, adjust capitalization. This
- * makes a name more like a Java class name
- */
- String makeJavaName(String oldName)
- {
- StringTokenizer tok = new StringTokenizer(oldName, "_");
- String result = new String();
-
- while (tok.hasMoreTokens()) {
- String token = tok.nextToken();
-
- if (token.length() > 0) {
-
- result += (Character.toUpperCase(token.charAt(0)) + token.substring(1));
- }
- }
-
- return result;
- }
-
-
- /**
- * Generate the suggestions
- */
- void makeSuggestions()
- {
- String slash = new String(System.getProperty("file.separator"));
-
- // Discard things like .shobj
- if ((this.locator_.charAt(0) == '.') && (this.locator_.charAt(1) != '.')) {
- int firstslash = this.locator_.indexOf(slash);
- if (firstslash > 0)
- this.locator_ = this.locator_.substring(firstslash + 1);
- }
-
- // Find the last directory separator and the colon (inbetween
- // these two is the last directory name, and by our convention
- // this should be the class name)
- int lastSlash = this.locator_.lastIndexOf(slash);
- int colon = this.locator_.lastIndexOf(":");
-
- ACE.DEBUG("Working with " + this.locator_ + " " +
- lastSlash + " " + colon);
-
- // Best bet first:
- // Locator string is a path, and the last directory name is the class
- // name
- String lastDir = new String(this.locator_.substring(lastSlash + 1,
- colon));
-
- // Save any other path info for later tries
- String path = null;
- if (lastSlash >= 0)
- path = this.locator_.substring(0, lastSlash + 1);
-
- int tryNum = 0;
-
- if (lastDir.length() > 0) {
-
- // Add this try
- this.suggestions_.addElement(lastDir);
-
- if (path != null)
- this.suggestions_.addElement(path + lastDir);
-
- // Second try:
- // Same as the first, but changed to the Java convention for class names:
- // Begins with a capital letter, capital letters for new words rather
- // than underscores.
-
- String try2 = this.makeJavaName(lastDir);
-
- this.suggestions_.addElement(try2);
- if (path != null)
- this.suggestions_.addElement(path + try2);
- }
-
- // Third try:
- // After the colon, the name of the method that created instances of the
- // class in C++ may contain the class name. Maybe in the format of
- // make_classname, etc.
-
- String lastWord = new String(this.locator_.substring(colon + 1));
-
- if (lastWord.length() > 0) {
-
- // Try the word after the colon, too
- this.suggestions_.addElement(lastWord);
- if (path != null)
- this.suggestions_.addElement(path + lastWord);
-
- String try2 = this.makeJavaName(lastWord);
-
- this.suggestions_.addElement(try2);
- if (path != null)
- this.suggestions_.addElement(path + try2);
-
- int make = lastWord.indexOf("make");
- if (make >= 0) {
-
- make += 4;
- String makeTry = new String(lastWord.substring(make));
-
- if (makeTry.length() > 0) {
-
- this.suggestions_.addElement(makeTry);
- if (path != null)
- this.suggestions_.addElement(path + makeTry);
-
- String try3 = this.makeJavaName(makeTry);
-
- this.suggestions_.addElement(try3);
- if (path != null)
- this.suggestions_.addElement(path + try3);
- }
- }
- }
-
- }
-
- String locator_;
- Vector suggestions_;
-
- int current_;
-};
-
-
diff --git a/java/src/ClassReader.java b/java/src/ClassReader.java
deleted file mode 100644
index c10c00b061c..00000000000
--- a/java/src/ClassReader.java
+++ /dev/null
@@ -1,146 +0,0 @@
-/*************************************************
- *
- * = PACKAGE
- * JACE.ServiceConfigurator
- *
- * = FILENAME
- * ClassReader.java
- *
- *@author Everett Anderson
- *
- *@see JACE.ServiceConfigurator
- *@see JACE.ServiceConfigurator.ServiceLoader
- *
- *************************************************/
-package JACE.ServiceConfigurator;
-
-import JACE.OS.*;
-import java.io.*;
-import java.util.*;
-
-/**
- * <hr>
- * <p><b>TITLE</b><br>
- * Given a classfile name, this determines the qualified class name
- * of what's inside (pacakage and class name together). It is necessary
- * when users want to dynamically load classes, but don't provide the
- * full name in svc.conf.
- */
-
-public class ClassReader
-{
- // Types found in classfiles
- public static final byte CONSTANT_Class = 7;
- public static final byte CONSTANT_Fieldref = 9;
- public static final byte CONSTANT_Methodref = 10;
- public static final byte CONSTANT_InterfaceMethodref = 11;
- public static final byte CONSTANT_String = 8;
- public static final byte CONSTANT_Integer = 3;
- public static final byte CONSTANT_Float = 4;
- public static final byte CONSTANT_Long = 5;
- public static final byte CONSTANT_Double = 6;
- public static final byte CONSTANT_NameAndType = 12;
- public static final byte CONSTANT_Utf8 = 1;
-
- /** Returns a string that is the qualified class name of the
- * given file. It returns null if there are any problems.
- *
- *@param fileName File to examine
- *
- *@return String that's the qualified class name of the
- * given file (null on error)
- */
- public static String getClassName(String fileName)
- {
- try {
-
- // Open the .class file
- FileInputStream fis = new FileInputStream(fileName);
-
- DataInputStream dis = new DataInputStream(fis);
-
- // Skip magic number and version numbers
- dis.skipBytes(8);
-
- // Find out how many entries are in the constant pool table
- int count = dis.readUnsignedShort();
-
- // Hash table to hold the text entries (possibilities for
- // the class name)
- Hashtable ht = new Hashtable();
-
- // Vector that holds the index of the class name for each
- // class record (the vector is indexed by placement in the
- // table)
- Vector vt = new Vector(count);
- Integer noValue = new Integer(-1);
- int type;
-
- // Scan through all the entries
- for (int i = 1; i < count; i++) {
-
- // Read what type of entry this is
- type = dis.readUnsignedByte();
-
- switch (type) {
-
- case CONSTANT_Class:
- // Save the index of the class name
- vt.addElement(new Integer(dis.readUnsignedShort()));
- break;
- case CONSTANT_Fieldref:
- case CONSTANT_Methodref:
- case CONSTANT_InterfaceMethodref:
- case CONSTANT_Integer:
- case CONSTANT_Float:
- case CONSTANT_NameAndType:
- // Skip the data
- vt.addElement(noValue);
- dis.skipBytes(4);
- break;
- case CONSTANT_String:
- // Skip the data
- vt.addElement(noValue);
- dis.skipBytes(2);
- break;
- case CONSTANT_Long:
- case CONSTANT_Double:
- // Skip the data
- vt.addElement(noValue);
- dis.skipBytes(8);
- // These take up two spots in the table
- i++;
- break;
- case CONSTANT_Utf8:
- vt.addElement(noValue);
- // Save the text in the hash table
- ht.put(new Integer(i), new String(dis.readUTF()));
- break;
- default:
- ACE.DEBUG("Unknown type: " + type);
- break;
-
- }
-
- }
-
- // Skip the access flags
- dis.skipBytes(2);
-
- // Get index in table of this class
- int classIdx = dis.readUnsignedShort();
-
- // Get index in the table of the name of this class
- Integer idx = (Integer)vt.elementAt(classIdx - 1);
-
- // Put the result in period separated notation
- String result = new String(((String)ht.get(idx)).replace('/', '.'));
-
- return result;
-
- } catch (IOException e) {
- ACE.ERROR("" + e);
- return null;
- }
- }
-}
diff --git a/java/src/Condition.java b/java/src/Condition.java
deleted file mode 100644
index d0b5e10a84e..00000000000
--- a/java/src/Condition.java
+++ /dev/null
@@ -1,122 +0,0 @@
-/*************************************************
- *
- * = PACKAGE
- * JACE.Concurrency
- *
- * = FILENAME
- * Condition.java
- *
- *@author Irfan Pyarali
- *
- *************************************************/
-package JACE.Concurrency;
-
-import JACE.ASX.TimeoutException;
-import JACE.ASX.TimeValue;
-
-/**
- * <hr>
- * <h2>TITLE</h2>
- *<blockquote>
- * Abstraction for <em>traditional</em>
- * condition variable
- *</blockquote>
- *
- * <h2>DESCRIPTION</h2>
- *<blockquote>
- * This condition variable allows the use of one
- * mutex between multiple conditions.
- * This implementation is based on the C++ version of ACE.
- *</blockquote>
- */
-public class Condition
-{
- /**
- * Default constructor
- *@param Mutex for synchronization
- */
- public Condition (Mutex mutex)
- {
- mutex_ = mutex;
- }
-
- /**
- * Wait for condition to become signaled.
- *@exception InterruptedException exception during wait
- */
- public void Wait ()
- throws InterruptedException
- {
- waiters_++;
-
- try
- {
- mutex_.release();
- semaphore_.acquire ();
- mutex_.acquire ();
- }
- finally
- {
- waiters_--;
- }
- }
-
- /**
- * TimedWait for condition to become signaled. Note that the
- * given TimeValue is an absolute time, not a relative time.
- *
- *@param tv Absolute time to wait until before timing out
- *@exception TimeoutException wait timed out exception
- *@exception InterruptedException exception during wait
- */
- public void Wait (TimeValue tv)
- throws TimeoutException, InterruptedException
- {
- waiters_++;
-
- try
- {
- mutex_.release();
-
- semaphore_.acquire (tv);
-
- mutex_.acquire (tv);
- }
- finally
- {
- waiters_--;
- }
- }
-
- /**
- * Signal condition. Wake one waiter (if any).
- */
- public void signal ()
- {
- if (waiters_ > 0)
- semaphore_.release ();
- }
-
- /**
- * Signal condition. Wake up all waiters (if any).
- */
- public void broadcast ()
- {
- for (int i = waiters_; i > 0; i--)
- semaphore_.release ();
- }
-
- /**
- * Accessor to lock
- *@return Mutex
- */
- public Mutex mutex ()
- {
- return mutex_;
- }
-
- private int waiters_;
- private Semaphore semaphore_ = new Semaphore (0);
- private Mutex mutex_;
-
-}
diff --git a/java/src/Connector.java b/java/src/Connector.java
deleted file mode 100644
index 7393ea486e0..00000000000
--- a/java/src/Connector.java
+++ /dev/null
@@ -1,157 +0,0 @@
-/*************************************************
- *
- * = PACKAGE
- * JACE.Connection
- *
- * = FILENAME
- * Connector.java
- *
- *@author Prashant Jain
- *
- *************************************************/
-package JACE.Connection;
-
-import java.io.*;
-import java.net.*;
-import JACE.OS.*;
-import JACE.SOCK_SAP.*;
-import JACE.ServiceConfigurator.*;
-
-/**
- * <hr>
- * <h2>SYNOPSIS</h2>
- *<blockquote>
- * Abstract factory for connecting a
- * (<a href="JACE.Connection.SvcHandler.html"><tt>SvcHandler</tt></a>),
- * to an application.
- *</blockquote>
- *
- * <h2>DESCRIPTION</h2>
- *<blockquote>
- * Implements the basic strategy for actively establishing connections
- * with applications. The <tt>Connector</tt> establishes the connection,
- * passing it on to a <tt>SvcHandler</tt> instance, and handing over
- * control to that instance.
- *<p>
- * TCP is the transport mechanism used, via
- * <a href="JACE.SOCK_SAP.SOCKConnector.html#_top_"><tt>SOCKConnector</tt></a>.
- *</blockquote>
- *
- *<h2>NOTES</h2>
- *<blockquote>
- * This class, as currently implemented, does not work like its C++ counterpart.
- * Future versions are expected to rectify this discrepancy.
- *</blockquote>
- *
- *@see SOCKConnector
- *@see SvcHandler
- */
-public class Connector extends ServiceObject
-{
- /**
- * Create a Connector. Do nothing constructor. Allows user to
- * call <a href="#open(java.lang.String)">open</a>() later.
- */
- public Connector ()
- {
- }
-
- /**
- * Create a Connector passing in server hostname and port
- * number, effectively shorthand for calling
- * <a href="#open(java.lang.String)">open</a>().
- *@param hostname server hostname
- *@param port server port number
- */
- public Connector (String hostname, int port)
- {
- this.open (hostname, port);
- }
-
- /**
- * Initialize the Connector passing in server hostname and port
- * number. Note that no connection attempt is made.
- *@param hostname server hostname
- *@param port server port number
- */
- public void open (String hostname, int port)
- {
- this.hostname_ = hostname;
- this.port_ = port;
- }
-
- /**
- * Connect to the server.
- *@param sh Svc Handler to use to handle the connection
- *@exception UnknownHostException Bad host
- *@exception SocketException Socket error
- *@exception InstantiationException Couldn't create new SOCKConnector
- *@exception IllegalAccessException No strategy available
- *@exception IOException Socket error
- */
- public void connect (SvcHandler sh) throws UnknownHostException,
- SocketException,
- InstantiationException,
- IllegalAccessException,
- IOException
- {
- // Make a connection using the appropriate Connection_Strategy
- this.connectSvcHandler (sh);
-
- // Activate the Svc_Handler using the appropriate Activation_Strategy
- this.activateSvcHandler (sh);
- }
-
- /**
- * Bridge method for making a new connection. The default behavior
- * creates a new SOCKConnector and then calls setHandle() on the
- * <SvcHandler> that was passed in. Subclasses can override this
- * strategy, if needed.
- *@param sh Svc Handler to use to handle the connection
- *@return 0
- *@exception SocketException Socket error
- *@exception IOException Socket error
- */
- protected int connectSvcHandler (SvcHandler sh) throws
- SocketException, IOException
- {
- // Create a new stream
- SOCKStream sockStream = new SOCKStream ();
-
- // Create a SOCK_Connector (note the constructor does the connect for us)
- this.sockConnector_ = new SOCKConnector (sockStream,
- this.hostname_,
- this.port_);
- ACE.DEBUG ("Connected to " +
- sockStream.socket ().getInetAddress ());
-
- // Set the streams for the new handler
- sh.setHandle (sockStream);
- return 0;
- }
-
- /**
- * Bridge method for activating a <SvcHandler>. The default
- * behavior of this method is to activate the <SvcHandler> by
- * calling its open() method (which allows the SVC_HANDLER to define
- * its own concurrency strategy). However, subclasses can override
- * this strategy to do more sophisticated concurrency activations.
- *@param sh Svc Handler to activate
- *@return 0
- */
- protected int activateSvcHandler (SvcHandler sh)
- {
- sh.open (null);
- return 0;
- }
-
-
- // Port server is listening on
- private int port_;
-
- // Server hostname
- private String hostname_;
-
- // Our connection factory
- private SOCKConnector sockConnector_;
-}
diff --git a/java/src/CreationStrategy.java b/java/src/CreationStrategy.java
deleted file mode 100644
index f929ef86204..00000000000
--- a/java/src/CreationStrategy.java
+++ /dev/null
@@ -1,64 +0,0 @@
-/*************************************************
- *
- * = PACKAGE
- * JACE.Connection
- *
- * = FILENAME
- * CreationStrategy.java
- *
- *@author Prashant Jain
- *
- *************************************************/
-package JACE.Connection;
-
-/**
- * <hr>
- * <h2>SYNOPSIS</h2>
- *<blockquote>
- * Defines the interface for specifying a creation strategy for a
- * <a href="ACE.Connection.SvcHandler.html#_top_"><tt>SvcHandler</tt></a> to the
- * <a href="ACE.Connection.StrategyAcceptor.html#_top_"><tt>StrategyAcceptor</tt></a>.
- *</blockquote>
- *
- * <p><b>DESCRIPTION</b><br>
- *<blockquote>
- * The default behavior is to make a new SvcHandler. However,
- * subclasses can override this strategy to perform SvcHandler
- * creation in any way that they like (such as creating subclass
- * instances of SvcHandler, using a singleton, dynamically
- * linking the handler, etc.).
- *</blockquote>
- *
- *@see SvcHandler
- *@see StrategyAcceptor
- *@see AcceptStrategy
- *@see ActivateStrategy
- */
-public class CreationStrategy
-{
- /**
- * Create an instance of Creation Strategy.
- *@param handlerFactory Svc Handler factory that is used to create
- * an instance of a Svc Handler
- */
- public CreationStrategy (Class handlerFactory)
- {
- this.handlerFactory_ = handlerFactory;
- }
-
- /**
- * Create a new SvcHandler. Note that subclasses should override
- * this method to provide a new creation strategy.
- *@return reference to a new instance of the SvcHandler (or subclass)
- *@exception InstantiationException Unable to instantiate.
- *@exception IllegalAccessException No handler factory available.
- */
- public SvcHandler makeSvcHandler () throws InstantiationException,
- IllegalAccessException
- {
- // Create a new Svc_Handler
- return (SvcHandler) handlerFactory_.newInstance ();
- }
-
- private Class handlerFactory_;
-}
diff --git a/java/src/EventHandler.java b/java/src/EventHandler.java
deleted file mode 100644
index 30f5bb1dba4..00000000000
--- a/java/src/EventHandler.java
+++ /dev/null
@@ -1,53 +0,0 @@
-/*************************************************
- *
- * = PACKAGE
- * JACE.Reactor
- *
- * = FILENAME
- * EventHandler.java
- *
- *@author Prashant Jain
- *
- *************************************************/
-package JACE.Reactor;
-
-import JACE.ASX.TimeValue;
-
-/**
- * <hr>
- * <h2>SYNOPSIS</h2>
- *<blockquote>
- * Provides an abstract interface for handling timer events.
- *</blockquote>
- *
- * <h2>DESCRIPTION</h2>
- *<blockquote>
- * Classes implementing this interface handle a timer's
- * expiration.
- *</blockquote>
- *
- * <h2>NOTES</h2>
- *<blockquote>
- * Users of C++ ACE will notice that this defines a substantially
- * smaller interface than the C++ counterpart. Signal events are
- * absent due to the complete absence of this feature from Java itself.
- * Moreover, at this point
- * there is still some question regarding whether or not the I/O
- * portion will make any sense or fit into the Java model for I/O.
- *</blockquote>
- *
- *@see TimerQueue
- *@see JACE.Reactor
- */
-public interface EventHandler
-{
- /**
- * Called when timer expires.
- *@param tv Time Value at which the event occured
- *@param obj An arbitrary object that was passed to the Timer Queue
- * (Asynchronous Completion Token)
- */
- public int handleTimeout (TimeValue tv, Object obj);
-}
-
-// Note that more methods will be added as needed
diff --git a/java/src/GetOpt.java b/java/src/GetOpt.java
deleted file mode 100644
index 2bf5d27c406..00000000000
--- a/java/src/GetOpt.java
+++ /dev/null
@@ -1,150 +0,0 @@
-/*************************************************
- *
- * = PACKAGE
- * JACE.Misc
- *
- * = FILENAME
- * GetOpt.java
- *
- *@author Prashant Jain
- *
- *************************************************/
-package JACE.Misc;
-
-import java.io.*;
-import java.util.Hashtable;
-import java.util.StringTokenizer;
-
-/**
- * <hr>
- * <h2>SYNOPSIS</h2>
- *<blockquote>
- * Iterator for parsing command-line arguments.
- *</blockquote>
- *
- * <h2>DESCRIPTION</h2>
- *<blockquote>
- * This version of `get_opt' appears to the caller like standard
- * Unix `get_opt' but it behaves differently for the user, since
- * it allows the user to intersperse the options with the other
- * arguments.
- *
- * <p> As `get_opt' works, it permutes the elements of `argv' so that,
- * when it is done, all the options precede everything else. Thus
- * all application programs are extended to handle flexible argument
- * order.
- *</blockquote>
- *
- */
-public class GetOpt
-{
- /**
- * Constructor
- *@param args command line arguments
- *@param optstring string containing the legitimate option
- * characters. A colon in optstring means that the previous character
- * is an option that wants an argument which is then taken from the
- * rest of the current args-element. Here is an example of what
- * optstring might look like: "c:dP:p".
- */
- public GetOpt (String[] args, String optstring)
- {
- // Cache the arguments
- this.args_ = args;
- this.hasArg_ = false;
-
- // Build the arg hashtable
- this.buildArgTable (optstring);
- }
-
- /**
- * Scan elements specified in optstring for next option flag.
- *@return The character corresponding to the next flag.
- */
- public int next ()
- {
- if (this.args_ == null)
- return -1;
-
- if (this.index_ < this.args_.length)
- {
- String arg = this.args_[this.index_++];
-
- // Make sure flag starts with "-"
- if (!arg.startsWith ("-"))
- return -1;
-
- // Check if there is more than one character specified as flag
- if (arg.length () > 2)
- return -1;
-
- // So far so good
- // Check if the flag is in the arg_table and if it is get the
- // associated binding.
- Character c = (Character) this.argTable_.get (new Character (arg.charAt (1)));
- if (c == null)
- return -1;
-
- if (c.charValue () == '#')
- {
- this.hasArg_ = false;
- return arg.charAt (1);
- }
- else if (c.charValue () == ':')
- {
- this.hasArg_ = true;
- return arg.charAt (1);
- }
- else // This should not happen
- return -1;
- }
- return -1;
- }
-
- /**
- * Get the argument (if any) associated with the flag.
- *@return the argument associated with the flag.
- */
- public String optarg ()
- {
- if (this.hasArg_)
- return this.args_[this.index_++];
- else
- return null;
- }
-
- // Build the argument table
- private void buildArgTable (String s)
- {
- this.argTable_ = new Hashtable ();
- StringTokenizer tokens = new StringTokenizer (s, ":");
- while (tokens.hasMoreTokens ())
- {
- // Get the next token
- String t = tokens.nextToken ();
-
- // First add all flags except the one with ":" after it
- // Note "#" is an arbitrary character we use to distinguish
- // the two cases
- for (int i = 0; i < t.length () - 1; i++)
- this.argTable_.put (new Character (t.charAt (i)),
- new Character ('#'));
-
- // Now Add the flag just before ":" to the arg_table
- this.argTable_.put (new Character (t.charAt (t.length () - 1)),
- new Character (':'));
- }
- }
-
- private String [] args_;
- // Copy of the args passed in
-
- private boolean hasArg_;
- // Indicator that the flag has an argument following it
-
- private int index_;
- // Index into the array of arguments
-
- private Hashtable argTable_;
- // Table of flags that take arguments after them
-}
diff --git a/java/src/HTTPHelper.java b/java/src/HTTPHelper.java
deleted file mode 100644
index d946913693c..00000000000
--- a/java/src/HTTPHelper.java
+++ /dev/null
@@ -1,84 +0,0 @@
-package JACE.Connection;
-
-import JACE.OS.*;
-// Collection of various methods that have to do with HTTP
-
-public class HTTPHelper
-{
- // Encoding and decoding yadda
- public static String Alphabet = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
-
- // Basic encoding used in the HTTP 1.1 RFC. This doesn't
- // put the string "Basic " at the beginning of the return
- // string. Adapted from James' JAWS HTTP_Helpers code.
- // Returns null on error.
- public static String EncodeBase64 (String secret)
- {
- StringBuffer output = new StringBuffer();
-
- // Index of the input string
- int inidx = 0;
-
- // character value
- int c;
-
- int char_count = 0;
- int bits = 0;
- boolean error = false;
-
- while (inidx < secret.length())
- {
- c = secret.charAt(inidx++);
-
- // This will mess up internationalization. I wonder if it is really
- // necessary for HTTP?
- if (c > 255)
- {
- ACE.DEBUG ("encountered char > 255 (decimal %d): " + c);
- error = true;
- break;
- }
-
- bits += c;
- char_count++;
-
- if (char_count == 3)
- {
- output.append(HTTPHelper.Alphabet.charAt(bits >> 18));
- output.append(HTTPHelper.Alphabet.charAt((bits >> 12) & 0x3f));
- output.append(HTTPHelper.Alphabet.charAt((bits >> 6) & 0x3f));
- output.append(HTTPHelper.Alphabet.charAt(bits & 0x3f));
-
- bits = 0;
- char_count = 0;
- }
- else
- bits <<= 8;
- }
-
- if (!error)
- {
- if (char_count != 0)
- {
- bits <<= 16 - (8 * char_count);
- output.append(HTTPHelper.Alphabet.charAt(bits >> 18));
- output.append(HTTPHelper.Alphabet.charAt((bits >> 12) & 0x3f));
-
- if (char_count == 1)
- {
- output.append("==");
- }
- else
- {
- output.append(HTTPHelper.Alphabet.charAt((bits >> 6) & 0x3f));
- output.append('=');
- }
- }
-
- return output.toString();
- }
-
- // Returns null on error
- return null;
- }
-};
diff --git a/java/src/INETAddr.java b/java/src/INETAddr.java
deleted file mode 100644
index 8d16c46c6b3..00000000000
--- a/java/src/INETAddr.java
+++ /dev/null
@@ -1,99 +0,0 @@
-/*************************************************
- *
- * = PACKAGE
- * JACE.SOCK_SAP
- *
- * = FILENAME
- * INETAddr.java
- *
- *@author Chris Cleeland
- *
- *************************************************/
-package JACE.SOCK_SAP;
-
-import java.io.*;
-import java.net.*;
-import JACE.OS.*;
-
-/**
- * <hr>
- * <p><b>TITLE</b><br>
- * Defines an endpoint of a connection, encapsulating host and port.
- * This is only a part-way implementation of C++ ACE's ACE_INET_Addr.
- *
- * <p><b>LIMITATIONS</b><br>
- * Currently the class is very limited in its capabilities; it will
- * be expanded in future revisions of ACE.
- */
-public class INETAddr // extends Addr
-{
- private InetAddress addr_;
- private int port_ = 0;
- /**
- */
- public INETAddr ()
- {
- // Do nothing constructor
- }
-
- /**
- * Create an INETAddr from a port/hostname
- *@param port port number to connect with server at
- *@param hostname hostname of the server
- */
- public INETAddr (int port, String hostname) throws UnknownHostException
- {
- super();
- port_ = port;
- addr_ = InetAddress.getByName(hostname);
- // Should really use getAllByName(),
- // but I don't think we do that in
- // C++ ACE, even.
- }
-
- /**
- * Create an INETAddr from an address.
- * @param address an address in the form "ip-number:port-number", <em>e.g.</em> <pre>tango.cs.wustl.edu:1234</pre> or <pre>128.252.166.57:1234</pre>; if no ':' is present address is assumed to be <b>INADDR_ANY</b> and address contains only the port number
- * @throws UnknownHostException
- */
- public INETAddr (String address) throws UnknownHostException
- {
- int colon = address.indexOf(':');
- if (colon != 0)
- {
- addr_ = InetAddress.getByName(address.substring(0, colon));
- address = address.substring(colon+1);
- }
-
- port_ = Integer.parseInt(address);
- }
-
- /**
- * Return the name of the host.
- */
- public String getHostName()
- {
- return addr_.getHostName();
- }
-
- /**
- * Return the dotted Internet address.
- */
- public String getHostAddr()
- {
- return addr_.toString();
- }
-
- /**
- * Return the port number.
- */
- public int getPortNumber()
- {
- return port_;
- }
-
- public String toString()
- {
- return getHostAddr() + Integer.toString(port_);
- }
-}
diff --git a/java/src/IOCntlCmds.java b/java/src/IOCntlCmds.java
deleted file mode 100644
index 2469428a3a6..00000000000
--- a/java/src/IOCntlCmds.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/*************************************************
- *
- * = PACKAGE
- * JACE.ASX
- *
- * = FILENAME
- * TaskFlags.java
- *
- *@author Prashant Jain
- *
- *************************************************/
-package JACE.ASX;
-
-public abstract class IOCntlCmds
-{
- /** Set the low water mark. */
- public static final int SET_LWM = 1;
-
- /** Get the low water mark. */
- public static final int GET_LWM = 2;
-
- /** Set the high water mark. */
- public static final int SET_HWM = 3;
-
- /** Get the high water mark. */
- public static final int GET_HWM = 4;
-
- /** Link modules */
- public static final int MOD_LINK = 5;
-
- /** Unlink modules */
- public static final int MOD_UNLINK = 6;
-
-}
diff --git a/java/src/IOCntlMsg.java b/java/src/IOCntlMsg.java
deleted file mode 100644
index 8b69310c4f7..00000000000
--- a/java/src/IOCntlMsg.java
+++ /dev/null
@@ -1,128 +0,0 @@
-/*************************************************
- *
- * = PACKAGE
- * JACE.ASX
- *
- * = FILENAME
- * IOCntlMsg.java
- *
- *@author Prashant Jain
- *
- *************************************************/
-package JACE.ASX;
-
-import JACE.OS.*;
-
-/**
- * <hr>
- * <h2>SYNOPSIS</h2>
- *<blockquote>
- * Data format for IOCTL messages
- *</blockquote>
- */
-public class IOCntlMsg
-{
-
- // = Initialization method.
-
- /*
- * Initialize the control message.
- *@param c IOCntlCmd for the control message. Note that this should
- * be of type IOCntlCmds
- */
- public IOCntlMsg (int c)
- {
- this.cmd_ = c;
- }
-
- // = Get/set methods
-
- /*
- * Get the command.
- *@return the command.
- */
- public int cmd ()
- {
- return this.cmd_;
- }
-
- /*
- * Set the command.
- *@param c the command.
- */
- public void cmd (int c)
- {
- this.cmd_ = c;
- }
-
- /*
- * Get the count.
- *@return the count.
- */
- public int count ()
- {
- return this.count_;
- }
-
- /*
- * Set the count.
- *@param c the count.
- */
- public void count (int c)
- {
- this.count_ = c;
- }
-
- /*
- * Get the error.
- *@return the error.
- */
- public int error ()
- {
- return this.error_;
- }
-
- /*
- * Set the error.
- *@param e the error.
- */
- public void error (int e)
- {
- this.error_ = e;
- }
-
- /*
- * Get the return value.
- *@return the return value.
- */
- public int rval ()
- {
- return this.rval_;
- }
-
- /*
- * Set the return value.
- *@param r the return value.
- */
- public void rval (int r)
- {
- this.rval_ = r;
- }
-
- public String toString ()
- {
- return (new Integer (this.cmd_)).toString ();
- }
-
- private int cmd_;
- // Command.
-
- private int count_;
- // Count.
-
- private int error_;
- // Error.
-
- private int rval_;
- // Return value
-}
diff --git a/java/src/JACE.DSP b/java/src/JACE.DSP
deleted file mode 100644
index 8c564995235..00000000000
--- a/java/src/JACE.DSP
+++ /dev/null
@@ -1,292 +0,0 @@
-# Microsoft Developer Studio Project File - Name="JACE" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 5.00
-# ** DO NOT EDIT **
-
-# TARGTYPE "Java Virtual Machine Java Project" 0x0809
-
-CFG=JACE - Java Virtual Machine Debug
-!MESSAGE This is not a valid makefile. To build this project using NMAKE,
-!MESSAGE use the Export Makefile command and run
-!MESSAGE
-!MESSAGE NMAKE /f "JACE.MAK".
-!MESSAGE
-!MESSAGE You can specify a configuration when running NMAKE
-!MESSAGE by defining the macro CFG on the command line. For example:
-!MESSAGE
-!MESSAGE NMAKE /f "JACE.MAK" CFG="JACE - Java Virtual Machine Debug"
-!MESSAGE
-!MESSAGE Possible choices for configuration are:
-!MESSAGE
-!MESSAGE "JACE - Java Virtual Machine Release" (based on\
- "Java Virtual Machine Java Project")
-!MESSAGE "JACE - Java Virtual Machine Debug" (based on\
- "Java Virtual Machine Java Project")
-!MESSAGE
-
-# Begin Project
-# PROP Scc_ProjName ""
-# PROP Scc_LocalPath ""
-JAVA=jvc.exe
-
-!IF "$(CFG)" == "JACE - Java Virtual Machine Release"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir ""
-# PROP BASE Intermediate_Dir ""
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "..\classes-r\"
-# PROP Intermediate_Dir ""
-# PROP Target_Dir ""
-# ADD BASE JAVA /O
-# ADD JAVA /O
-
-!ELSEIF "$(CFG)" == "JACE - Java Virtual Machine Debug"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir ""
-# PROP BASE Intermediate_Dir ""
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "..\classes\"
-# PROP Intermediate_Dir ""
-# PROP Target_Dir ""
-# ADD BASE JAVA /g
-# ADD JAVA /g
-
-!ENDIF
-
-# Begin Target
-
-# Name "JACE - Java Virtual Machine Release"
-# Name "JACE - Java Virtual Machine Debug"
-# Begin Source File
-
-SOURCE=.\Acceptor.java
-# End Source File
-# Begin Source File
-
-SOURCE=.\AcceptStrategy.java
-# End Source File
-# Begin Source File
-
-SOURCE=.\ACE.java
-# End Source File
-# Begin Source File
-
-SOURCE=.\ActivateStrategy.java
-# End Source File
-# Begin Source File
-
-SOURCE=.\AddServiceObjectNode.java
-# End Source File
-# Begin Source File
-
-SOURCE=.\Blob.java
-# End Source File
-# Begin Source File
-
-SOURCE=.\BlobHandler.java
-# End Source File
-# Begin Source File
-
-SOURCE=.\BlobReader.java
-# End Source File
-# Begin Source File
-
-SOURCE=.\BlobWriter.java
-# End Source File
-# Begin Source File
-
-SOURCE=.\ClassNameGenerator.java
-# End Source File
-# Begin Source File
-
-SOURCE=.\ClassReader.java
-# End Source File
-# Begin Source File
-
-SOURCE=.\Condition.java
-# End Source File
-# Begin Source File
-
-SOURCE=.\Connector.java
-# End Source File
-# Begin Source File
-
-SOURCE=.\CreationStrategy.java
-# End Source File
-# Begin Source File
-
-SOURCE=.\EventHandler.java
-# End Source File
-# Begin Source File
-
-SOURCE=.\GetOpt.java
-# End Source File
-# Begin Source File
-
-SOURCE=.\HTTPHelper.java
-# End Source File
-# Begin Source File
-
-SOURCE=.\INETAddr.java
-# End Source File
-# Begin Source File
-
-SOURCE=.\IOCntlCmds.java
-# End Source File
-# Begin Source File
-
-SOURCE=.\IOCntlMsg.java
-# End Source File
-# Begin Source File
-
-SOURCE=.\MessageBlock.java
-# End Source File
-# Begin Source File
-
-SOURCE=.\MessageQueue.java
-# End Source File
-# Begin Source File
-
-SOURCE=.\MessageType.java
-# End Source File
-# Begin Source File
-
-SOURCE=.\Module.java
-# End Source File
-# Begin Source File
-
-SOURCE=.\Mutex.java
-# End Source File
-# Begin Source File
-
-SOURCE=.\OS.java
-# End Source File
-# Begin Source File
-
-SOURCE=.\ParseNode.java
-# End Source File
-# Begin Source File
-
-SOURCE=.\ProfileTimer.java
-# End Source File
-# Begin Source File
-
-SOURCE=.\RemoveNode.java
-# End Source File
-# Begin Source File
-
-SOURCE=.\ResumeNode.java
-# End Source File
-# Begin Source File
-
-SOURCE=.\RWMutex.java
-# End Source File
-# Begin Source File
-
-SOURCE=.\Semaphore.java
-# End Source File
-# Begin Source File
-
-SOURCE=.\ServiceConfig.java
-# End Source File
-# Begin Source File
-
-SOURCE=.\ServiceLoader.java
-# End Source File
-# Begin Source File
-
-SOURCE=.\ServiceObject.java
-# End Source File
-# Begin Source File
-
-SOURCE=.\ServiceObjectRecord.java
-# End Source File
-# Begin Source File
-
-SOURCE=.\ServiceRecord.java
-# End Source File
-# Begin Source File
-
-SOURCE=.\ServiceRepository.java
-# End Source File
-# Begin Source File
-
-SOURCE=.\SOCKAcceptor.java
-# End Source File
-# Begin Source File
-
-SOURCE=.\SOCKConnector.java
-# End Source File
-# Begin Source File
-
-SOURCE=.\SOCKStream.java
-# End Source File
-# Begin Source File
-
-SOURCE=.\StrategyAcceptor.java
-# End Source File
-# Begin Source File
-
-SOURCE=.\Stream.java
-# End Source File
-# Begin Source File
-
-SOURCE=.\StreamHead.java
-# End Source File
-# Begin Source File
-
-SOURCE=.\StreamTail.java
-# End Source File
-# Begin Source File
-
-SOURCE=.\SuspendNode.java
-# End Source File
-# Begin Source File
-
-SOURCE=.\SvcHandler.java
-# End Source File
-# Begin Source File
-
-SOURCE=.\Task.java
-# End Source File
-# Begin Source File
-
-SOURCE=.\TaskFlags.java
-# End Source File
-# Begin Source File
-
-SOURCE=.\ThreadManager.java
-# End Source File
-# Begin Source File
-
-SOURCE=.\ThruTask.java
-# End Source File
-# Begin Source File
-
-SOURCE=.\TimedWait.java
-# End Source File
-# Begin Source File
-
-SOURCE=.\TimeoutException.java
-# End Source File
-# Begin Source File
-
-SOURCE=.\TimerQueue.java
-# End Source File
-# Begin Source File
-
-SOURCE=.\TimeValue.java
-# End Source File
-# Begin Source File
-
-SOURCE=.\Token.java
-# End Source File
-# End Target
-# End Project
diff --git a/java/src/JACE.DSW b/java/src/JACE.DSW
deleted file mode 100644
index 1adb106b259..00000000000
--- a/java/src/JACE.DSW
+++ /dev/null
@@ -1,29 +0,0 @@
-Microsoft Developer Studio Workspace File, Format Version 5.00
-# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
-
-###############################################################################
-
-Project: "JACE"=.\JACE.DSP - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
-}}}
-
-###############################################################################
-
-Global:
-
-Package=<5>
-{{{
-}}}
-
-Package=<3>
-{{{
-}}}
-
-###############################################################################
-
diff --git a/java/src/Makefile b/java/src/Makefile
deleted file mode 100644
index ebdf2329861..00000000000
--- a/java/src/Makefile
+++ /dev/null
@@ -1,153 +0,0 @@
-# Makefile
-# $Id$
-
-.SUFFIXES: .java .class
-
-JACE_WRAPPER = ..
-CLASSDIR = $(JACE_WRAPPER)/classes
-DOCDIR = $(JACE_WRAPPER)/doc
-
-JC = javac
-JCOPTS = -g -d $(CLASSDIR)
-JD = javadoc
-JDOPTS = -d $(DOCDIR)
-
-COMPILE.java = $(JC) $(JCOPTS) $(filter %.java,$?)
-
-CLASSPATH := $(CLASSDIR):$(CLASSPATH)
-
-all: asx os concurrency connection timers misc reactor svcconfig socksap
-
-pkg_all = $(pkg_asx_timestuff) $(pkg_asx) $(pkg_os) $(pkg_concurrency) \
- $(pkg_connection) $(pkg_timers) $(pkg_misc) $(pkg_reactor) \
- $(pkg_socksap) $(pkg_svcconfig)
-
-doc:
- $(JD) $(JDOPTS) $(addsuffix .java,$(pkg_all)) $(packages)
-
-clean:
- find ${JACE_WRAPPER}/classes/JACE -name '*.class' -print | xargs ${RM}
-
-docclean:
- find ${JACE_WRAPPER}/doc -name '*.html' -print | xargs ${RM}
-
-realclean: clean docclean
-
-
-pkg_asx_timestuff = \
- TimeValue \
- TimeoutException \
- TimedWait
-
-asx_timestuff: $(addsuffix .java,$(pkg_asx_timestuff))
- $(COMPILE.java)
-
-pkg_asx = \
- IOCntlCmds \
- IOCntlMsg \
- Task \
- TaskFlags \
- ThruTask \
- Module \
- MessageType \
- MessageBlock \
- MessageQueue \
- StreamHead \
- StreamTail \
- Stream
-
-asx: os asx_timestuff reactor concurrency $(addsuffix .java,$(pkg_asx))
- $(COMPILE.java)
-
-pkg_os = \
- OS \
- ACE
-
-os: $(addsuffix .java,$(pkg_os))
- $(COMPILE.java)
-
-pkg_concurrency = \
- Condition \
- Mutex \
- RWMutex \
- Semaphore \
- ThreadManager \
- Token
-
-concurrency: $(addsuffix .java,$(pkg_concurrency)) asx_timestuff os
- $(COMPILE.java)
-
-pkg_connection = \
- SvcHandler \
- Acceptor \
- Connector \
- AcceptStrategy \
- ActivateStrategy \
- CreationStrategy \
- StrategyAcceptor \
- Blob \
- BlobHandler \
- BlobReader \
- BlobWriter \
- HTTPHelper
-
-connection: os socksap svcconfig $(addsuffix .java,$(pkg_connection))
- $(COMPILE.java)
-
-pkg_timers = \
- ProfileTimer
-
-timers: $(addsuffix .java,$(pkg_timers))
- $(COMPILE.java)
-
-pkg_misc = \
- GetOpt
-
-misc: $(addsuffix .java,$(pkg_misc))
- $(COMPILE.java)
-
-pkg_reactor = \
- EventHandler \
- TimerQueue
-
-reactor: asx_timestuff $(addsuffix .java,$(pkg_reactor))
- $(COMPILE.java)
-
-pkg_socksap = \
- INETAddr \
- SOCKStream \
- SOCKAcceptor \
- SOCKConnector
-
-socksap: os $(addsuffix .java,$(pkg_socksap))
- $(COMPILE.java)
-
-pkg_svcconfig = \
- ServiceLoader \
- ClassReader \
- ParseNode \
- SuspendNode \
- ResumeNode \
- RemoveNode \
- ServiceRecord \
- ServiceObjectRecord \
- AddServiceObjectNode \
- ServiceObject \
- ServiceConfig \
- ServiceRepository
-
-svcconfig: os reactor misc $(addsuffix .java,$(pkg_svcconfig))
- $(COMPILE.java)
-
-packages = JACE \
- JACE.ASX \
- JACE.Connection \
- JACE.Concurrency \
- JACE.Misc \
- JACE.OS \
- JACE.Reactor \
- JACE.SOCK_SAP \
- JACE.ServiceConfigurator \
- JACE.Timers
-
-
diff --git a/java/src/MessageBlock.java b/java/src/MessageBlock.java
deleted file mode 100644
index 1741f9bef80..00000000000
--- a/java/src/MessageBlock.java
+++ /dev/null
@@ -1,453 +0,0 @@
-/*************************************************
- *
- * = PACKAGE
- * JACE.ASX
- *
- * = FILENAME
- * MessageBlock.java
- *
- *@author Prashant Jain
- *
- *************************************************/
-package JACE.ASX;
-
-import JACE.OS.*;
-
-/**
- * <hr>
- * <h2>SYNOPSIS</h2>
- *<blockquote>
- * Object used to store messages in the ASX framework.
- *</blockquote>
- *
- * <h2>DESCRIPTION</h2>
- *<blockquote>
- * <tt>MessageBlock</tt> is modeled after the message data structures
- * used in System V STREAMS. A <tt>MessageBlock</tt> is composed of
- * one or more <tt>MessageBlock</tt>s that are linked together by <em>PREV</em>
- * and <em>NEXT</em> pointers. In addition, a <tt>MessageBlock</tt> may also be
- * linked to a chain of other <tt>MessageBlock</tt>s. This structure
- * enables efficient manipulation of arbitrarily-large messages
- * <em>without</em> incurring memory copying overhead.
- *</blockquote>
- *
- *@see MessageQueue
- */
-public class MessageBlock
-{
- /**
- * Create an empty Message Block
- */
- public MessageBlock ()
- {
- this (0);
- }
-
- /**
- * Create an empty Message Block.
- * Note that this assumes that type of MessageBlock is MB_DATA.
- *@param size size of the Message Block to create.
- */
- public MessageBlock (int size)
- {
- // Note the explicit cast toString() is needed. For some strange
- // reason, it fails otherwise if size == 0.
- this ((new StringBuffer (size)).toString ());
- }
-
- /**
- * Create a Message Block. Note that this assumes that type of
- * MessageBlock is MB_DATA.
- *@param data initial data to create a Message Block with.
- */
- public MessageBlock (String data)
- {
- this (MessageType.MB_DATA,
- null,
- data);
- }
-
- /**
- * Create a Message Block.
- *@param type type of the Message Block (must be one of those
- * specified in class Message Type)
- *@param cont next block of data
- *@param data initial data to create Message Block with
- */
- public MessageBlock (int type,
- MessageBlock cont,
- String data)
- {
- this.flags_ = 0;
- this.priority_ = 0;
- this.next_ = null;
- this.prev_ = null;
-
- this.init (type, cont, data);
- }
-
- /**
- * Create a Message Block. Note that this assumes that type of
- * MessageBlock is MB_OBJECT.
- *@param obj initial object to create a Message Block with.
- */
- public MessageBlock (Object obj)
- {
- this (MessageType.MB_OBJECT,
- null,
- obj);
- }
-
- /**
- * Create a Message Block.
- *@param type type of the Message Block (must be one of those
- * specified in class Message Type)
- *@param cont next block of data
- *@param obj initial object to create Message Block with
- */
- public MessageBlock (int type,
- MessageBlock cont,
- Object obj)
- {
- this.init (type, cont, obj);
- }
-
- /* Initialize the Message Block
- *@param data data to initialize Message Block with
- */
- public void init (String data)
- {
- this.base_ = new StringBuffer (data);
- }
-
- /**
- * Initialize a Message Block.
- *@param type type of the Message Block (must be one of those
- * specified in class Message Type)
- *@param cont next block of data
- *@param data data to initialize Message Block with
- */
- public void init (int msgType,
- MessageBlock msgCont,
- String data)
- {
- if (data.length () == 0)
- this.base_ = new StringBuffer (0);
- else
- this.base_ = new StringBuffer (data);
- this.type_ = msgType;
- this.cont_ = msgCont;
- }
-
- /**
- * Initialize a Message Block. Note that this assumes that type of
- * MessageBlock is MB_OBJECT.
- *@param obj initial object to initialize a Message Block with.
- */
- public void init (Object obj)
- {
- this.init (MessageType.MB_OBJECT, null, obj);
- }
-
- /**
- * Initialize a Message Block.
- *@param type type of the Message Block (must be one of those
- * specified in class Message Type)
- *@param cont next block of data
- *@param obj object to initialize Message Block with
- */
- public void init (int msgType,
- MessageBlock msgCont,
- Object obj)
- {
- this.obj_ = obj;
- this.type_ = msgType;
- this.cont_ = msgCont;
- this.flags_ = 0;
- this.priority_ = 0;
- this.next_ = null;
- this.prev_ = null;
- }
-
- /**
- * Set message flags. Note that the flags will be set on top of
- * already set flags.
- *@param moreFlags flags to set for the Message Block.
- */
- public long setFlags (long moreFlags)
- {
- // Later we might mask more_flags so that user can't change
- // internal ones: more_flags &= ~(USER_FLAGS -1).
- this.flags_ = ACE.SET_BITS (this.flags_, moreFlags);
- return this.flags_;
- }
-
- /**
- * Unset message flags.
- *@param lessFlags flags to unset for the Message Block.
- */
- public long clrFlags (long lessFlags)
- {
- // Later we might mask more_flags so that user can't change
- // internal ones: less_flags &= ~(USER_FLAGS -1).
- this.flags_ = ACE.CLR_BITS (this.flags_, lessFlags);
- return this.flags_;
- }
-
- /**
- * Get the message flags.
- *@return Message flags
- */
- public long flags ()
- {
- return this.flags_;
- }
-
- /**
- * Get the type of the message.
- *@return message type
- */
- public int msgType ()
- {
- return this.type_;
- }
-
- /**
- * Set the type of the message.
- *@param t type of the message
- */
- public void msgType (int t)
- {
- this.type_ = t;
- }
-
- /**
- * Get the class of the message. Note there are two classes,
- * <normal> messages and <high-priority> messages.
- *@return message class
- */
- public int msgClass ()
- {
- return this.msgType () >= MessageType.MB_PRIORITY
- ? MessageType.MB_PRIORITY : MessageType.MB_NORMAL;
- }
-
- /**
- * Find out if the message is a data message.
- *@return true if message is a data message, false otherwise
- */
- public boolean isDataMsg ()
- {
- int mt = this.msgType ();
- return mt == MessageType.MB_DATA
- || mt == MessageType.MB_PROTO
- || mt == MessageType.MB_PCPROTO;
- }
-
- /**
- * Find out if the message is an object message.
- *@return true if message is an object message, false otherwise
- */
- public boolean isObjMsg ()
- {
- int mt = this.msgType ();
- return mt == MessageType.MB_OBJECT
- || mt == MessageType.MB_PROTO
- || mt == MessageType.MB_PCPROTO;
- }
-
- /**
- * Get the priority of the message.
- *@return message priority
- */
- public long msgPriority ()
- {
- return this.priority_;
- }
-
- /**
- * Set the priority of the message.
- *@param pri priority of the message
- */
- public void msgPriority (long pri)
- {
- this.priority_ = pri;
- }
-
- /**
- * Get message data. This assumes that msgType is MB_DATA.
- *@return message data
- */
- public String base ()
- {
- // Create a String object to return
- char temp[] = new char [this.base_.length ()];
- this.base_.getChars (0, this.base_.length (), temp, 0);
- return new String (temp);
- }
-
- /**
- * Set the message data. This assumes that msgType is MB_DATA.
- *@param data message data
- *@param msgFlags message flags
- */
- public void base (String data,
- long msgFlags)
- {
- this.base_ = new StringBuffer (data);
- this.flags_ = msgFlags;
- }
-
- /**
- * Get message object. This assumes that msgType is MB_OBJECT.
- *@return message object
- */
- public Object obj ()
- {
- return this.obj_;
- }
-
- /**
- * Set the message object. This assumes that msgType is MB_OBJECT.
- *@param object message object
- *@param msgFlags message flags
- */
- public void obj (Object obj,
- long msgFlags)
- {
- this.obj_ = obj;
- this.flags_ = msgFlags;
- }
-
- // = The following four methods only make sense if the Message_Block
- // is of type MB_DATA and not MB_OBJECT.
-
- /**
- * Get length of the message. This method only makes sense if the
- * MessageBlock is of type MB_DATA and not MB_OBJECT.
- *@return length of the message.
- */
- public int length ()
- {
- return this.base_.length ();
- }
-
- /**
- * Set the length of the message. This method only makes sense if the
- * MessageBlock is of type MB_DATA and not MB_OBJECT.
- *@param n message length
- */
- public void length (int n)
- {
- this.base_.setLength (n);
- }
-
- /**
- * Get size of the allocated buffer for the message. This method
- * only makes sense if the MessageBlock is of type MB_DATA and not
- * MB_OBJECT.
- *@return size of the message buffer
- */
- public int size ()
- {
- return this.base_.capacity ();
- }
-
- /**
- * Set the total size of the buffer. This method will grow the
- * buffer if need be. Also, this method only makes sense if the
- * MessageBlock is of type MB_DATA and not MB_OBJECT.
- *@param n size of message buffer
- */
- public void size (int n)
- {
- this.base_.ensureCapacity (n);
- }
-
-
- /**
- * Get the continuation field. The coninuation field is used to
- * chain together composite messages.
- *@return the continuation field
- */
- public MessageBlock cont ()
- {
- return this.cont_;
- }
-
- /**
- * Set the continuation field. The coninuation field is used to
- * chain together composite messages.
- *@param msgCont continuation field
- */
- void cont (MessageBlock msgCont)
- {
- this.cont_ = msgCont;
- }
-
- /**
- * Get link to next message. The next message points to the
- * <MessageBlock> directly ahead in the MessageQueue.
- *@return next message block
- */
- MessageBlock next ()
- {
- return this.next_;
- }
-
- /**
- * Set link to next message. The next message points to the
- * <MessageBlock> directly ahead in the MessageQueue.
- *@param msgBlock next message block
- */
- void next (MessageBlock msgBlock)
- {
- this.next_ = msgBlock;
- }
-
- /**
- * Get link to previous message. The previous message points to the
- * <MessageBlock> directly before in the MessageQueue.
- *@return previous message block
- */
- MessageBlock prev ()
- {
- return this.prev_;
- }
-
- /**
- * Set link to previous message. The previous message points to the
- * <MessageBlock> directly before in the MessageQueue.
- *@param msgBlock previous message block
- */
- void prev (MessageBlock msgBlock)
- {
- this.prev_ = msgBlock;
- }
-
- private int type_;
- // Type of message.
-
- private long flags_;
- // Misc flags.
-
- private long priority_;
- // Priority of message.
-
- private StringBuffer base_;
- // String data of message block (initialized to null).
-
- private Object obj_;
- // Object data of message block (initialized to null).
-
- private MessageBlock cont_;
- // Next message block in the chain.
-
- private MessageBlock next_;
- // Next message in the list.
-
- private MessageBlock prev_;
- // Previous message in the list.
-
-}
-
diff --git a/java/src/MessageQueue.java b/java/src/MessageQueue.java
deleted file mode 100644
index 8c8dab1a0fe..00000000000
--- a/java/src/MessageQueue.java
+++ /dev/null
@@ -1,639 +0,0 @@
-/*************************************************
- *
- * = PACKAGE
- * JACE.ASX
- *
- * = FILENAME
- * MessageQueue.java
- *
- *@author Prashant Jain
- *
- *************************************************/
-package JACE.ASX;
-
-import java.util.Date;
-import JACE.OS.*;
-import JACE.Reactor.*;
-
-class NotFullCondition extends TimedWait
-{
- public NotFullCondition (MessageQueue mq)
- {
- super (mq);
- this.mq_ = mq;
- }
-
- public boolean condition () {
- // Delegate to the appropriate conditional
- // check on the MessageQueue.
- return !this.mq_.isFull ();
- }
- private MessageQueue mq_;
-}
-
-class NotEmptyCondition extends TimedWait
-{
- public NotEmptyCondition (MessageQueue mq)
- {
- super (mq);
- this.mq_ = mq;
- }
-
- public boolean condition () {
- // Delegate to the appropriate conditional
- // check on the MessageQueue.
- return !this.mq_.isEmpty ();
- }
- private MessageQueue mq_;
-}
-
-
-/**
- * <hr>
- * <h2>SYNOPSIS</h2>
- *<blockquote>
- * A thread-safe message queueing facility, modeled after the
- * queueing facilities in System V StreamS.
- *</blockquote>
- *
- * <h2>DESCRIPTION</h2>
- *</blockquote>
- * <tt>MessageQueue</tt> is the central queueing facility for messages
- * in the ASX framework. All operations are thread-safe, as it is intended
- * to be used for inter-thread communication (<em>e.g.</em>, a producer and
- * consumer thread joined by a <tt>MessageQueue</tt>). The queue
- * consiste of <tt>MessageBlock</tt>s.
- *</blockquote>
- *
- *@see MessageBlock
- *@see TimeValue
- */
-public class MessageQueue
-{
- /**
- * Default constructor
- */
- public MessageQueue ()
- {
- this (DEFAULT_HWM, DEFAULT_LWM);
- }
-
- /**
- * Create a Message Queue with high and low water marks.
- *@param hwm High water mark (max number of bytes allowed in the
- * queue)
- *@param lwm Low water mark (min number of bytes in the queue)
- */
- public MessageQueue (int hwm, int lwm)
- {
- if (this.open (hwm, lwm) == -1)
- ACE.ERROR ("open");
- }
-
- /**
- * Initialize a Message Queue with high and low water marks.
- *@param hwm High water mark (max number of bytes allowed in the
- * queue)
- *@param lwm Low water mark (min number of bytes in the queue)
- */
- public synchronized int open (int hwm, int lwm)
- {
- this.highWaterMark_ = hwm;
- this.lowWaterMark_ = lwm;
- this.deactivated_ = false;
- this.currentBytes_ = 0;
- this.currentCount_ = 0;
- this.tail_ = null;
- this.head_ = null;
- return 0;
- }
-
- // ************ Note! ***********
- // = For enqueue, enqueueHead, enqueueTail, and dequeueHead if
- // timeout is specified, the caller will wait until the *absolute time*
- // tv. Calls will return, however, when queue is closed,
- // deactivated, or if it is past the time tv
-
- /**
- * Enqueue a <MessageBlock> into the <MessageQueue> in accordance
- * with its <msgPriority> (0 is lowest priority). Note that the
- * call will block (unless the queue has been deactivated).
- *
- *@exception java.lang.InterruptedException Interrupted while accessing queue
- *@param newItem item to enqueue onto the Message Queue
- *@return -1 on failure, else the number of items still on the queue.
- */
- public synchronized int enqueue (MessageBlock newItem) throws InterruptedException
- {
- return this.enqueue (newItem, null);
- }
-
- /**
- * Enqueue a <MessageBlock> into the <MessageQueue> in accordance
- * with its <msgPriority> (0 is lowest priority). Note that the
- * call will return if the queue has been deactivated or it is
- * later than the specified absolute time value.
- *@param newItem item to enqueue onto the Message Queue
- *@param tv absolute TimeValue to timeout after
- *@return -1 on failure, else the number of items still on the
- * queue.
- *@exception java.lang.InterruptedException Interrupted while accessing queue
- */
- public synchronized int enqueue (MessageBlock newItem,
- TimeValue tv) throws InterruptedException
- {
- int result = -1;
- if (this.deactivated_)
- return -1;
- try
- {
- if (tv == null) // Need to do a blocking wait
- notFullCondition_.timedWait ();
- else // Need to do a timed wait
- notFullCondition_.timedWait (tv);
- }
- catch (TimeoutException e)
- {
- return -1;
- }
-
- // Check again if queue is still active
- if (this.deactivated_)
- return -1;
- else
- result = this.enqueueInternal (newItem);
-
- // Tell any blocked threads that the queue has a new item!
- this.notEmptyCondition_.broadcast ();
- return result;
- }
-
- /**
- * Enqueue a <MessageBlock> at the end of the <MessageQueue>. Note
- * that the call will block (unless the queue has been deactivated).
- *@param newItem item to enqueue onto the Message Queue
- *@return -1 on failure, else the number of items still on the queue.
- *@exception java.lang.InterruptedException Interrupted while accessing queue
- */
- public synchronized int enqueueTail (MessageBlock newItem) throws InterruptedException
- {
- return this.enqueueTail (newItem, null);
- }
-
- /**
- * Enqueue a <MessageBlock> at the end of the <MessageQueue>. Note
- * that the call will return when it's later than the given TimeValue or
- * if the queue has been deactivated.
- *@param newItem item to enqueue onto the Message Queue
- *@param tv absolute TimeValue to wait until before returning (unless
- * the operation compeltes before this time)
- *@return -1 on failure, else the number of items still on the queue.
- *@exception java.lang.InterruptedException Interrupted while accessing queue
- */
- public synchronized int enqueueTail (MessageBlock newItem,
- TimeValue tv) throws InterruptedException
- {
- int result = -1;
- if (this.deactivated_)
- return -1;
- try
- {
- if (tv == null) // Need to do a blocking wait
- notFullCondition_.timedWait ();
- else // Need to do a timed wait
- notFullCondition_.timedWait (tv);
- }
- catch (TimeoutException e)
- {
- return -1;
- }
-
- // Check again if queue is still active
- if (this.deactivated_)
- return -1;
- else
- result = this.enqueueTailInternal (newItem);
-
- // Tell any blocked threads that the queue has a new item!
- this.notEmptyCondition_.broadcast ();
- return result;
- }
-
- /**
- * Enqueue a <MessageBlock> at the head of the <MessageQueue>. Note
- * that the call will block (unless the queue has been deactivated).
- *@param newItem item to enqueue onto the Message Queue
- *@return -1 on failure, else the number of items still on the queue.
- *@exception java.lang.InterruptedException Interrupted while accessing queue
- */
- public synchronized int enqueueHead (MessageBlock newItem) throws InterruptedException
- {
- return this.enqueueHead (newItem, null);
- }
-
- /**
- * Enqueue a <MessageBlock> at the head of the <MessageQueue>. Note
- * that the call will return when it's later than the given TimeValue or
- * if the queue has been deactivated.
- *@param newItem item to enqueue onto the Message Queue
- *@param tv absolute TimeValue to wait until before returning (unless
- * the operation completes before that time)
- *@return -1 on failure, else the number of items still on the queue.
- *@exception java.lang.InterruptedException Interrupted while accessing queue
- */
- public synchronized int enqueueHead (MessageBlock newItem,
- TimeValue tv) throws InterruptedException
- {
- int result = -1;
- if (this.deactivated_)
- return -1;
- try
- {
- if (tv == null) // Need to do a blocking wait
- notFullCondition_.timedWait ();
- else // Need to do a timed wait
- notFullCondition_.timedWait (tv);
- }
- catch (TimeoutException e)
- {
- return -1;
- }
-
- // Check again if queue is still active
- if (this.deactivated_)
- return -1;
- else
- result = this.enqueueHeadInternal (newItem);
-
- // Tell any blocked threads that the queue has a new item!
- this.notEmptyCondition_.broadcast ();
- return result;
- }
-
- /**
- * Dequeue and return the <MessageBlock> at the head of the
- * <MessageQueue>. Note that the call will block (unless the queue
- * has been deactivated).
- *@return null on failure, else the <MessageBlock> at the head of queue.
- *@exception java.lang.InterruptedException Interrupted while accessing queue
- */
- public synchronized MessageBlock dequeueHead () throws InterruptedException
- {
- return this.dequeueHead (null);
- }
-
- /**
- * Dequeue and return the <MessageBlock> at the head of the
- * <MessageQueue>. Note that the call when return if the queue has
- * been deactivated or when the current time is later than the given
- * time value.
- *@param tv absolute time timeout (blocks indefinitely if null)
- *@return null on failure, else the <MessageBlock> at the head of queue.
- *@exception InterruptedException Interrupted while accessing queue
- */
- public synchronized MessageBlock dequeueHead (TimeValue tv)
- throws InterruptedException
- {
- MessageBlock result = null;
- if (this.deactivated_)
- return null;
- try
- {
- if (tv == null) // Need to do a blocking wait
- notEmptyCondition_.timedWait ();
- else // Need to do a timed wait
- notEmptyCondition_.timedWait (tv);
- }
- catch (TimeoutException e)
- {
- return null;
- }
-
- // Check again if queue is still active
- if (this.deactivated_)
- return null;
- else
- result = this.dequeueHeadInternal ();
-
- // Tell any blocked threads that the queue has room for an item!
- this.notFullCondition_.broadcast ();
- return result;
- }
-
- /**
- * Check if queue is full.
- *@return true if queue is full, else false.
- */
- public synchronized boolean isFull ()
- {
- return this.isFullInternal ();
- }
-
- /**
- * Check if queue is empty.
- *@return true if queue is empty, else false.
- */
- public synchronized boolean isEmpty ()
- {
- return this.isEmptyInternal ();
- }
-
- /**
- * Get total number of bytes on the queue.
- *@return total number number of bytes on the queue
- */
- public int messageBytes ()
- {
- return this.currentBytes_;
- }
-
- /**
- * Get total number of messages on the queue.
- *@return total number number of messages on the queue
- */
- public int messageCount ()
- {
- return this.currentCount_;
- }
-
- // = Flow control routines
-
- /**
- * Get high watermark.
- *@return high watermark
- */
- public int highWaterMark ()
- {
- return this.highWaterMark_;
- }
-
- /**
- * Set high watermark.
- *@param hwm high watermark
- */
- public void highWaterMark (int hwm)
- {
- this.highWaterMark_ = hwm;
- }
-
- /**
- * Get low watermark.
- *@return low watermark
- */
- public int lowWaterMark ()
- {
- return this.lowWaterMark_;
- }
-
- /**
- * Set low watermark.
- *@param lwm low watermark
- */
- public void lowWaterMark (int lwm)
- {
- this.lowWaterMark_ = lwm;
- }
-
- // = Activation control methods.
-
- /**
- * Deactivate the queue and wakeup all threads waiting on the queue
- * so they can continue. No messages are removed from the queue,
- * however. Any other operations called until the queue is
- * activated again will immediately return -1.
- *@return WAS_INACTIVE if queue was inactive before the call and
- * WAS_ACTIVE if queue was active before the call.
- */
- public synchronized int deactivate ()
- {
- return this.deactivateInternal ();
- }
-
-
- /**
- * Reactivate the queue so that threads can enqueue and dequeue
- * messages again.
- *@return WAS_INACTIVE if queue was inactive before the call and
- * WAS_ACTIVE if queue was active before the call.
- */
- public synchronized int activate ()
- {
- return this.activateInternal ();
- }
-
- protected boolean isEmptyInternal ()
- {
- // Not sure about this one!!!!
- return this.currentBytes_ <= this.lowWaterMark_ && this.currentCount_ <= 0;
- }
-
- protected boolean isFullInternal ()
- {
- return this.currentBytes_ > this.highWaterMark_;
- }
-
- protected int deactivateInternal ()
- {
- int currentStatus =
- this.deactivated_ ? WAS_INACTIVE : WAS_ACTIVE;
-
- this.notFullCondition_.broadcast ();
- this.notEmptyCondition_.broadcast ();
-
- this.deactivated_ = true;
- return currentStatus;
- }
-
- protected int activateInternal ()
- {
- int currentStatus =
- this.deactivated_ ? WAS_INACTIVE : WAS_ACTIVE;
- this.deactivated_ = false;
-
- return currentStatus;
- }
-
- protected int enqueueTailInternal (MessageBlock newItem)
- {
- if (newItem == null)
- return -1;
-
- // List was empty, so build a new one.
- if (this.tail_ == null)
- {
- this.head_ = newItem;
- this.tail_ = newItem;
- newItem.next (null);
- newItem.prev (null);
- }
- // Link at the end.
- else
- {
- newItem.next (null);
- this.tail_.next (newItem);
- newItem.prev (this.tail_);
- this.tail_ = newItem;
- }
-
- if (newItem.msgType() != MessageType.MB_OBJECT)
- {
- // Make sure to count *all* the bytes in a composite message!!!
- for (MessageBlock temp = newItem;
- temp != null;
- temp = temp.cont ())
- this.currentBytes_ += temp.size ();
- }
-
- this.currentCount_++;
- return this.currentCount_;
- }
-
- protected int enqueueHeadInternal (MessageBlock newItem)
- {
- if (newItem == null)
- return -1;
-
- newItem.prev (null);
- newItem.next (this.head_);
-
- if (this.head_ != null)
- this.head_.prev (newItem);
- else
- this.tail_ = newItem;
-
- this.head_ = newItem;
-
- if (newItem.msgType() != MessageType.MB_OBJECT)
- {
- // Make sure to count *all* the bytes in a composite message!!!
- for (MessageBlock temp = newItem;
- temp != null;
- temp = temp.cont ())
- this.currentBytes_ += temp.size ();
- }
-
- this.currentCount_++;
-
- return this.currentCount_;
- }
-
- protected int enqueueInternal (MessageBlock newItem)
- {
- if (newItem == null)
- return -1;
-
- if (this.head_ == null)
- // Check for simple case of an empty queue, where all we need to
- // do is insert <newItem> into the head.
- return this.enqueueHeadInternal (newItem);
- else
- {
- MessageBlock temp;
-
- // Figure out where the new item goes relative to its priority.
-
- for (temp = this.head_;
- temp != null;
- temp = temp.next ())
- {
- if (temp.msgPriority () <= newItem.msgPriority ())
- // Break out when we've located an item that has lower
- // priority that <newItem>.
- break;
- }
-
- if (temp == null)
- // Check for simple case of inserting at the end of the queue,
- // where all we need to do is insert <newItem> after the
- // current tail.
- return this.enqueueTailInternal (newItem);
- else if (temp.prev () == null)
- // Check for simple case of inserting at the beginning of the
- // queue, where all we need to do is insert <newItem> before
- // the current head.
- return this.enqueueHeadInternal (newItem);
- else
- {
- // Insert the message right before the item of equal or lower
- // priority.
- newItem.next (temp);
- newItem.prev (temp.prev ());
- temp.prev ().next (newItem);
- temp.prev (newItem);
- }
- }
-
- if (newItem.msgType() != MessageType.MB_OBJECT)
- {
- // Make sure to count *all* the bytes in a composite message!!!
- for (MessageBlock temp = newItem;
- temp != null;
- temp = temp.cont ())
- this.currentBytes_ += temp.size ();
- }
-
- this.currentCount_++;
- return this.currentCount_;
- }
-
- protected MessageBlock dequeueHeadInternal ()
- {
- MessageBlock firstItem = this.head_;
- this.head_ = this.head_.next ();
-
- if (this.head_ == null)
- this.tail_ = null;
-
- if (firstItem.msgType() != MessageType.MB_OBJECT)
- {
- // Make sure to subtract off all of the bytes associated with this
- // message.
- for (MessageBlock temp = firstItem;
- temp != null;
- temp = temp.cont ())
- this.currentBytes_ -= temp.size ();
- }
-
- this.currentCount_--;
- return firstItem;
- }
-
-
- /** Default high watermark (16 K). */
- public final static int DEFAULT_HWM = 16 * 1024;
-
- /** Default low watermark. */
- public final static int DEFAULT_LWM = 0;
-
- /** Message queue was active before activate() or deactivate(). */
- public final static int WAS_ACTIVE = 1;
-
- /** Message queue was inactive before activate() or deactivate(). */
- public final static int WAS_INACTIVE = 2;
-
- private int highWaterMark_;
- // Greatest number of bytes before blocking.
-
- private int lowWaterMark_;
- // Lowest number of bytes before unblocking occurs.
-
- private boolean deactivated_;
- // Indicates that the queue is inactive.
-
- private int currentBytes_;
- // Current number of bytes in the queue.
-
- private int currentCount_;
- // Current number of messages in the queue.
-
- private MessageBlock head_;
- // Head of Message_Block list.
-
- private MessageBlock tail_;
- // Tail of Message_Block list.
-
- // The Delegated Notification mechanisms.
- private NotFullCondition notFullCondition_ = new NotFullCondition (this);
- private NotEmptyCondition notEmptyCondition_ = new NotEmptyCondition (this);
-
-}
diff --git a/java/src/MessageType.java b/java/src/MessageType.java
deleted file mode 100644
index 62c34455854..00000000000
--- a/java/src/MessageType.java
+++ /dev/null
@@ -1,110 +0,0 @@
-/*************************************************
- *
- * = PACKAGE
- * JACE.ASX
- *
- * = FILENAME
- * MessageType.java
- *
- *@author Prashant Jain
- *
- *************************************************/
-package JACE.ASX;
-
-/**
- * <hr>
- * <h2>SYNOPSIS</h2>
- *<blockquote>
- * Message types used by ACE.MessageBlock.
- *</blockquote>
- *
- * <h2>DESCRIPTION</h2>
- *<blockquote>
- * Defines bit masks used to identify various types of messages.
- *</blockquote>
- *
- *<h2>NOTES</h2>
- *<blockquote>
- * This class is not intended to be instantiable.
- *</blockquote>
- */
-public class MessageType
-{
- // = Data and protocol messages (regular and priority)
- /** regular data */
- public static final int MB_DATA = 0x01;
-
- /** protocol control */
- public static final int MB_PROTO = 0x02;
-
- /** regular data */
- public static final int MB_OBJECT = 0x09;
-
-
- // = Control messages (regular and priority)
- /** line break */
- public static final int MB_BREAK = 0x03;
-
- /** pass file pointer */
- public static final int MB_PASSFP = 0x04;
-
- /** post an event to an event queue */
- public static final int MB_EVENT = 0x05;
-
- /** generate process signal */
- public static final int MB_SIG = 0x06;
-
- /** ioctl; set/get params */
- public static final int MB_IOCTL = 0x07;
-
- /** set various stream head options */
- public static final int MB_SETOPTS = 0x08;
-
-
- // = Control messages (high priority; go to head of queue)
- /** acknowledge ioctl */
- public static final int MB_IOCACK = 0x81;
-
- /** negative ioctl acknowledge */
- public static final int MB_IOCNAK = 0x82;
-
- /** priority proto message */
- public static final int MB_PCPROTO = 0x83;
-
- /** generate process signal */
- public static final int MB_PCSIG = 0x84;
-
- /** generate read notification */
- public static final int MB_READ = 0x85;
-
- /** flush your queues */
- public static final int MB_FLUSH = 0x86;
-
- /** stop transmission immediately */
- public static final int MB_STOP = 0x87;
-
- /** restart transmission after stop */
- public static final int MB_START = 0x88;
-
- /** line disconnect */
- public static final int MB_HANGUP = 0x89;
-
- /** fatal error used to set u.u_error */
- public static final int MB_ERROR = 0x8a;
-
- /** post an event to an event queue */
- public static final int MB_PCEVENT = 0x8b;
-
-
- /** Normal priority messages */
- public static final int MB_NORMAL = 0x00;
-
- /** High priority control messages */
- public static final int MB_PRIORITY = 0x80;
-
- // Default private constructor to avoid instantiation
- private MessageType ()
- {
- }
-}
-
diff --git a/java/src/Module.java b/java/src/Module.java
deleted file mode 100644
index 6eb56bcbf43..00000000000
--- a/java/src/Module.java
+++ /dev/null
@@ -1,253 +0,0 @@
-/*************************************************
- *
- * = PACKAGE
- * JACE.ASX
- *
- * = FILENAME
- * Module.java
- *
- *@author Prashant Jain
- *
- *************************************************/
-package JACE.ASX;
-
-import JACE.OS.*;
-
-/**
- * <hr>
- * <h2>SYNOPSIS</h2>
- *<blockquote>
- * Provides an abstraction for managing a bi-directional flow of
- * messages.
- *</blockquote>
- *
- * <h2>DESCRIPTION</h2>
- *<blockquote>
- * This is based on the Module concept in System V Streams,
- * which contains a pair of Tasks, one for handling upstream
- * processing, one for handling downstream processing.
- *</blockquote>
- */
-public class Module
-{
- // = Initialization and termination methods.
-
- /**
- * Create an empty Module.
- */
- public Module ()
- {
- // Do nothing...
- this.name ("<unknown>");
- }
-
- /*
- * Create an initialized module.
- *@param modName identity of the module.
- *@param writerQ writer task of the module.
- *@param readerQ reader task of the module.
- *@param flags Module flags
- */
- public Module (String modName,
- Task writerQ,
- Task readerQ,
- Object flags)
- {
- this.open (modName, writerQ, readerQ, flags);
- }
-
- /*
- * Create an initialized module.
- *@param modName identity of the module.
- *@param writerQ writer task of the module.
- *@param readerQ reader task of the module.
- *@param flags Module flags
- */
- public void open (String modName,
- Task writerQ,
- Task readerQ,
- Object arg)
- {
- this.name (modName);
- this.arg_ = arg;
-
- if (writerQ == null)
- writerQ = new ThruTask ();
- if (readerQ == null)
- readerQ = new ThruTask ();
-
- this.reader (readerQ);
- this.writer (writerQ);
-
- // Setup back pointers.
- readerQ.module (this);
- writerQ.module (this);
- }
-
-
- /*
- * Set the writer task.
- *@param q the writer task
- */
- public void writer (Task q)
- {
- this.qPair_[1] = q;
- if (q != null)
- q.flags (ACE.CLR_BITS (q.flags (), TaskFlags.ACE_READER));
- }
-
- /*
- * Set the reader task.
- *@param q the reader task
- */
- public void reader (Task q)
- {
- this.qPair_[0] = q;
- if (q != null)
- q.flags (ACE.SET_BITS (q.flags (), TaskFlags.ACE_READER));
- }
-
- /*
- * Link this Module on top of Module.
- *@param m the module to link this on top of.
- */
- public void link (Module m)
- {
- this.next (m);
- this.writer ().next (m.writer ());
- m.reader ().next (this.reader ());
- }
-
- /*
- * Set and get pointer to sibling Task in Module.
- *@param orig the task to get the sibling for
- *@return the sibling of the task
- */
- public Task sibling (Task orig)
- {
- if (this.qPair_[0] == orig)
- return this.qPair_[1];
- else if (this.qPair_[1] == orig)
- return this.qPair_[0];
- else
- return null;
- }
-
- /*
- * Close down the module and its tasks.
- *@param flags Module flags
- *@return 0 on success, -1 on failure
- */
- public int close (long flags)
- {
- Task readerQ = this.reader ();
- Task writerQ = this.writer ();
- int result = 0;
-
- if (readerQ != null)
- {
- if (readerQ.close (flags) == -1)
- result = -1;
- readerQ.flush (flags);
- readerQ.next (null);
- }
-
- if (writerQ != null)
- {
- if (writerQ.close (flags) == -1)
- result = -1;
- writerQ.flush (flags);
- writerQ.next (null);
- }
-
- return result;
- }
-
- /*
- * Get the argument passed to tasks.
- *@return the argument passed to tasks.
- */
- public Object arg ()
- {
- return this.arg_;
- }
-
- /*
- * Set the argument to be passed to tasks.
- *@param a the argument to be passed to tasks.
- */
- public void arg (Object a)
- {
- this.arg_ = a;
- }
-
- /*
- * Get the name of the module.
- *@return the name of the module.
- */
- public String name ()
- {
- return this.name_;
- }
-
- /*
- * Set the name of the module.
- *@param n the name of the module.
- */
- public void name (String n)
- {
- this.name_ = n;
- }
-
- /*
- * Get the writer task of the module.
- *@return the writer task of the module.
- */
- public Task writer ()
- {
- return this.qPair_[1];
- }
-
- /*
- * Get the reader task of the module.
- *@return the reader task of the module.
- */
- public Task reader ()
- {
- return this.qPair_[0];
- }
-
- /*
- * Get the next pointer to the module above in the stream.
- *@return the next pointer to the module above in the stream.
- */
- public Module next ()
- {
- return this.next_;
- }
-
- /*
- * Set the next pointer to the module above in the stream.
- *@param m the next pointer to the module above in the stream.
- */
- public void next (Module m)
- {
- this.next_ = m;
- }
-
- private Task qPair_[] = new Task[2];
- // Pair of Tasks that form the "read-side" and "write-side" of the
- // ACE_Module partitioning.
-
- private String name_ = null;
- // Name of the ACE_Module.
-
- private Module next_;
- // Next ACE_Module in the stack.
-
- private Object arg_;
- // Argument passed through to the reader and writer task when they
- // are opened.
-
-}
-
diff --git a/java/src/Mutex.java b/java/src/Mutex.java
deleted file mode 100644
index 1b796062ae8..00000000000
--- a/java/src/Mutex.java
+++ /dev/null
@@ -1,109 +0,0 @@
-/*************************************************
- *
- * = PACKAGE
- * JACE.Concurrency
- *
- * = FILENAME
- * Mutex.java
- *
- *@author Prashant Jain
- *
- *************************************************/
-package JACE.Concurrency;
-
-import java.util.*;
-import JACE.ASX.*;
-
-class TimedWaitMAdapter extends TimedWait
-{
- TimedWaitMAdapter (Object obj)
- {
- super (obj);
- }
-
- // Check to see if the lock is currently held or not.
- public boolean condition ()
- {
- return !this.inUse_;
- }
-
- // Acquire/Release the lock
- public void inUse (boolean c)
- {
- this.inUse_ = c;
- }
-
- private boolean inUse_ = false;
- // The actual lock
-}
-
-
-/**
- * <hr>
- * <h2>SYNOPSIS</h2>
- *<blockquote>
- * Value added abstraction for mutex variable creation.
- *</blockquote>
- *
- * <h2>DESCRIPTION</h2>
- *<blockquote>
- * A timed mutex, <em>i.e.</em> a mutex whose operations do not
- * block forever and can <q>time out</q>.
- *</blockquote>
- */
-public class Mutex
-{
- /**
- * Acquire the mutex. Note that this will block.
- *@exception InterruptedException exception during wait
- */
- public synchronized void acquire () throws InterruptedException
- {
- this.monitor_.timedWait ();
- this.monitor_.inUse (true);
- setOwner();
- }
-
- /**
- * Acquire the mutex.
- * Throws a TimeoutException if the mutex isn't acquired before the
- * given absolute time timeout.
- *@param tv time (TimeValue) to wait until before throwing a
- * TimeoutException (unless the mutex is acquired before that)
- *@exception TimeoutException wait timed out exception
- *@exception InterruptedException exception during wait
- */
- public synchronized void acquire (TimeValue tv) throws
- TimeoutException, InterruptedException
- {
- this.monitor_.timedWait (tv);
- this.monitor_.inUse (true);
- setOwner();
- }
-
- /**
- * Release the mutex. This is safe for non-owners to call.
- */
- public synchronized void release ()
- {
- if (isOwner()) {
- this.monitor_.inUse (false);
- this.monitor_.signal ();
- }
- }
-
- private TimedWaitMAdapter monitor_ = new TimedWaitMAdapter (this);
- // The monitor (adapter) to wait on
-
- // Keep track of the owner. Allow subclasses to redefine this
- // behavior
- private Object owner_ = null;
-
- protected void setOwner() {
- this.owner_ = Thread.currentThread().toString();
- }
-
- protected boolean isOwner() {
- return Thread.currentThread().toString().equals(this.owner_);
- }
-}
diff --git a/java/src/OS.java b/java/src/OS.java
deleted file mode 100644
index c17fd6d07f2..00000000000
--- a/java/src/OS.java
+++ /dev/null
@@ -1,72 +0,0 @@
-/*************************************************
- *
- * = PACKAGE
- * JACE.OS
- *
- * = FILENAME
- * OS.java
- *
- *@author Prashant Jain
- *
- *************************************************/
-package JACE.OS;
-
-import java.util.StringTokenizer;
-
-/**
- * <hr>
- * <h2>SYNOPSIS</h2>
- *<blockquote>
- * Methods to extend the capabilities of the Java runtime system.
- *</blockquote>
- *
- * <h2>DESCRIPTION</h2>
- *<blockquote>
- * This non-instantiable class contains little <q>utility functions</q>
- * that should have been in Java to begin with :-)
- *</blockquote>
- */
-public class OS
-{
- /**
- * Create an array of Strings from a single String using <delim> as
- * the delimiter.
- *@param args the String to break up to make an array of Strings
- *@param delim the delimeter to use to break the String up
- *@return an array containing the original String broken up
- */
- public static String [] createStringArray (String args, String delim)
- {
- // First determine the number of arguments
- int count = 0;
- StringTokenizer tokens = new StringTokenizer (args, delim);
- while (tokens.hasMoreTokens ())
- {
- tokens.nextToken ();
- count++;
- }
- if (count == 0)
- return null;
-
- // Create argument array
- String [] argArray = new String [count];
- int index = 0;
- tokens = new StringTokenizer (args, " ");
- while (tokens.hasMoreTokens ())
- {
- argArray [index] = tokens.nextToken ();
- index++;
- }
-
- // Assert index == count
- if (index != count)
- return null;
- else
- return argArray;
- }
-
- // Default private constructor to avoid instantiation
- private OS ()
- {
- }
-}
diff --git a/java/src/ParseNode.java b/java/src/ParseNode.java
deleted file mode 100644
index cdf8bb57955..00000000000
--- a/java/src/ParseNode.java
+++ /dev/null
@@ -1,69 +0,0 @@
-/*************************************************
- *
- * = PACKAGE
- * JACE.ServiceConfigurator
- *
- * = FILENAME
- * ParseNode.java
- *
- * Base class for the data types used in the parse tree for adjusting
- * services. Things like SuspendNode extend this.
- *
- *@author Everett Anderson
- *
- *************************************************/
-package JACE.ServiceConfigurator;
-
-import java.io.*;
-import JACE.OS.*;
-
-public class ParseNode
-{
- /**
- * Constructor
- *
- */
- public ParseNode ()
- {
- this.name_ = new String("Uninitialized");
- }
-
- /**
- * Initialize the service (subclasses
- * may do more than set the name)
- */
- public void init (String name)
- {
- this.name_ = name;
- }
-
- /**
- * Subclasses override to do real work, usually
- * initiating a service or modifying one
- */
- public void apply ()
- {
- // Empty
- }
-
- /**
- * Retrive the service name
- */
- public String name()
- {
- return this.name_;
- }
-
- /**
- * Set the name of the service
- */
- public void name(String newName)
- {
- this.name_ = newName;
- }
-
- String name_;
-};
-
-
-
diff --git a/java/src/ProfileTimer.java b/java/src/ProfileTimer.java
deleted file mode 100644
index b7e9c908a13..00000000000
--- a/java/src/ProfileTimer.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/*************************************************
- *
- * = PACKAGE
- * JACE.Timers
- *
- * = FILENAME
- * ProfileTimer.java
- *
- *@author Prashant Jain
- *
- *************************************************/
-package JACE.Timers;
-
-/**
- * <hr>
- * <p><b>TITLE</b><br>
- * A Java wrapper for interval timers.
- */
-public class ProfileTimer
-{
- /**
- * Start the timer.
- */
- public void start ()
- {
- this.startTime_ = java.lang.System.currentTimeMillis ();
- }
-
- /**
- * Stop the timer.
- */
- public void stop ()
- {
- this.stopTime_ = java.lang.System.currentTimeMillis ();
- }
-
- /**
- * Determine elapsed time between start and stop.
- *@return Total elapsed time (stop - start).
- */
- public long elapsedTime ()
- {
- return this.stopTime_ - this.startTime_;
- }
-
- private long startTime_;
- private long stopTime_;
-}
diff --git a/java/src/README b/java/src/README
deleted file mode 100644
index 1882de26380..00000000000
--- a/java/src/README
+++ /dev/null
@@ -1,19 +0,0 @@
-$Id$
-
-Make sure to update the environment variable CLASSPATH to include the
-path to where java/classes/ is located. The Java compiler uses this to
-find classes when resolving dependencies.
-
-As with the C++ version of ACE, the Makefile requires GNU Make.
-
-Suggestions are welcome to:
-
-Douglas C. Schmidt (schmidt@cs.wustl.edu)
-Everett Anderson (eea1@cs.wustl.edu)
-Darrell Brunsch (brunsch@cs.wustl.edu)
-Prashant Jain (pjain@cs.wustl.edu)
-
-The documentation for Java ACE has not been included in the release
-but can be automatically generated by typing "make doc" in the src
-directory. Note that the gif images needed by the documentation ARE
-included in the release.
diff --git a/java/src/RWMutex.java b/java/src/RWMutex.java
deleted file mode 100644
index 1161d9a8618..00000000000
--- a/java/src/RWMutex.java
+++ /dev/null
@@ -1,174 +0,0 @@
-/*************************************************
- *
- * = PACKAGE
- * JACE.Concurrency
- *
- * = FILENAME
- * RWMutex.java
- *
- *@author Ross Dargahi (rossd@krinfo.com), Prashant Jain, and Irfan Pyarali
- *
- *************************************************/
-
-package JACE.Concurrency;
-
-import JACE.OS.*;
-
-/*******************************************************************************
-* <HR>
-* <B> Description </B>
-* <BR>
-* This class increments a read/write lock. A read/write lock allows multiple
-* readers or a single writer to access the guarded element.
-* This implementation is based on the C++ version of ACE.
-* </PRE><P><HR>
-* <B> Notes </B>
-* <UL>
-* <LI> This class does not support recursive semantics
-* </UL>
-*******************************************************************************/
-public class RWMutex
-{
- /**
- * Acquires the write lock
- * @exception InterruptedException Lock acquisition interrupted
- **/
- public void acquire()
- throws InterruptedException
- {
- acquireWrite();
- }
-
- /**
- * Acquires the read lock
- * @exception InterruptedException Lock acquisition interrupted
- **/
- public void acquireRead()
- throws InterruptedException
- {
- // make sure we start with no exception
- InterruptedException exception_ = null;
-
- // grab lock
- lock_.acquire ();
-
- // Give preference to writers who are waiting.
- while (referenceCount_ < 0 || numberOfWaitingWriters_ > 0)
- {
- numberOfWaitingReaders_++;
- try
- {
- waitingReaders_.Wait ();
- }
- catch (InterruptedException exception)
- {
- // cache exception
- exception_ = exception;
- }
- numberOfWaitingReaders_--;
- }
-
- if (exception_ == null)
- // No errors
- referenceCount_++;
-
- // make sure this is released in all cases
- lock_.release ();
-
- if (exception_ != null)
- // error: propogate
- throw exception_;
- }
-
- /**
- * Acquires the write lock
- * @exception InterruptedException Lock acquisition interrupted
- **/
- public void acquireWrite()
- throws InterruptedException
- {
- // make sure we start with no exception
- InterruptedException exception_ = null;
-
- // grab lock
- lock_.acquire ();
-
- // Give preference to writers who are waiting.
- while (referenceCount_ != 0)
- {
- numberOfWaitingWriters_++;
- try
- {
- waitingWriters_.Wait ();
- }
- catch (InterruptedException exception)
- {
- // cache exception
- exception_ = exception;
- }
- numberOfWaitingWriters_--;
- }
-
- if (exception_ == null)
- // No errors
- referenceCount_ = -1;
-
- // make sure this is released in all cases
- lock_.release ();
-
- if (exception_ != null)
- // error: propogate
- throw exception_;
- }
-
- /**
- * Release held lock
- * @exception InterruptedException Lock acquisition interrupted
- **/
- public void release()
- throws InterruptedException
- {
- lock_.acquire ();
-
- // Releasing a reader.
- if (referenceCount_ > 0)
- referenceCount_--;
- else
- // Releasing a writer.
- if (referenceCount_ == -1)
- referenceCount_ = 0;
-
- // Give preference to writers over readers...
- if (numberOfWaitingWriters_ > 0)
- {
- waitingWriters_.signal ();
- }
- else if (numberOfWaitingReaders_ > 0)
- {
- waitingReaders_.broadcast ();
- }
-
-
- lock_.release ();
- }
-
- private Mutex lock_ = new Mutex ();
- // Serialize access to internal state.
-
- private Condition waitingReaders_ = new Condition (lock_);
- // Reader threads waiting to acquire the lock.
-
- private int numberOfWaitingReaders_;
- // Number of waiting readers.
-
- private Condition waitingWriters_ = new Condition (lock_);
- // Writer threads waiting to acquire the lock.
-
- private int numberOfWaitingWriters_ = 0;
- // Number of waiting writers.
-
- private int referenceCount_ = 0;
- // Value is -1 if writer has the lock, else this keeps track of the
- // number of readers holding the lock.
-}
-
diff --git a/java/src/RemoveNode.java b/java/src/RemoveNode.java
deleted file mode 100644
index b613d981ee5..00000000000
--- a/java/src/RemoveNode.java
+++ /dev/null
@@ -1,35 +0,0 @@
-/*************************************************
- *
- * = PACKAGE
- * JACE.ServiceConfigurator
- *
- * = FILENAME
- * RemoveNode.java
- *
- * Used when a service is specified to be removed based on a line
- * in a service configurator file. Note: Make sure to call the
- * prepareToReload method in ServiceConfig before reloading the
- * service that is being removed.
- *
- *@author Everett Anderson
- *
- *************************************************/
-package JACE.ServiceConfigurator;
-
-import java.io.*;
-import JACE.OS.*;
-
-class RemoveNode extends ParseNode
-{
- public RemoveNode ()
- {
- }
-
- public void apply ()
- {
- ACE.DEBUG("RemoveNode apply");
-
- if (JACE.ServiceConfigurator.ServiceConfig.remove(this.name_) == -1)
- ACE.ERROR("Error removing " + this.name_);
- }
-};
diff --git a/java/src/ResumeNode.java b/java/src/ResumeNode.java
deleted file mode 100644
index 055c19da408..00000000000
--- a/java/src/ResumeNode.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/*************************************************
- *
- * = PACKAGE
- * JACE.ServiceConfigurator
- *
- * = FILENAME
- * ResumeNode.java
- *
- * Used when a service is specified to be resumed based on a line
- * in a service configurator file. The actual implementation of the
- * service being resumed does the work.
- *
- *@author Everett Anderson
- *
- *************************************************/
-package JACE.ServiceConfigurator;
-
-import java.io.*;
-import JACE.OS.*;
-
-class ResumeNode extends ParseNode
-{
- public ResumeNode ()
- {
- }
-
- public void apply ()
- {
- ACE.DEBUG("ResumeNode apply: " + this.name_);
-
- if (JACE.ServiceConfigurator.ServiceConfig.resume(this.name_) == -1)
- ACE.ERROR("Error resuming " + this.name_);
- }
-};
diff --git a/java/src/SOCKAcceptor.java b/java/src/SOCKAcceptor.java
deleted file mode 100644
index f94d037d462..00000000000
--- a/java/src/SOCKAcceptor.java
+++ /dev/null
@@ -1,115 +0,0 @@
-/*************************************************
- *
- * = PACKAGE
- * JACE.SOCK_SAP
- *
- * = FILENAME
- * SOCKAcceptor.java
- *
- *@author Prashant Jain
- *
- *************************************************/
-package JACE.SOCK_SAP;
-
-import java.io.*;
-import java.net.*;
-import JACE.OS.*;
-
-/**
- * <hr>
- * <p><b>TITLE</b><br>
- * Defines the format and interface for an ACE.SOCKAcceptor.
- */
-public class SOCKAcceptor
-{
- // = Initialization
-
- /**
- * Create a SOCKAcceptor. Do nothing constructor. Allows user to
- * call open() later and pass in the port number.
- */
- public SOCKAcceptor ()
- {
- }
-
- /**
- * Create a SOCKAcceptor.
- *@param port port number where the server will listen for connections
- */
- public SOCKAcceptor (int port) throws IOException
- {
- this.open (port);
- }
-
- /**
- * Create socket to listen for connections on.
- *@param port port number where the server will listen for connections
- */
- public void open(int port) throws IOException
- {
- // Close old socket (if there is one)
- this.close ();
-
- // Create a new server socket
- this.listenSocket_ = new ServerSocket (port);
- // ACE.DEBUG ("Server listening on port " + port);
- }
-
- /**
- * Close the socket and do any necessary cleanup.
- */
- public void close () throws IOException
- {
- if (this.listenSocket_ != null)
- {
- this.listenSocket_.close ();
- this.listenSocket_ = null;
- }
- }
-
- /**
- * Accept a connection. The streams are set when the method returns.
- *@param sockStream SOCK Stream to use for the connection
- */
- public void accept (SOCKStream sockStream) throws SocketException, IOException
- {
- // Block in accept. Returns when a connection shows up and sets
- // the streams
- sockStream.socket (this.listenSocket_.accept ());
- ACE.DEBUG ("Accepted connection from " +
- sockStream.socket ().getInetAddress ());
- }
-
- /**
- * Get the underlying listen socket.
- *@return the underlying listen socket
- */
- public ServerSocket listenSocket ()
- {
- return this.listenSocket_;
- }
-
- /**
- * Set the underlying listen socket.
- *@param s the underlying listen socket
- */
- public void listenSocket (ServerSocket s)
- {
- this.listenSocket_ = s;
- }
-
- /**
- * Clean up when the garbage collector gets run (if at all). Note
- * that there is no guarantee that finalize () will get called.
- *@exception Throwable (Probably IOException from the socket level)
- */
- protected void finalize () throws Throwable
- {
- super.finalize ();
- this.close ();
- }
-
- // Socket on which listen for connections (by default initialized to
- // null)
- private ServerSocket listenSocket_;
-}
diff --git a/java/src/SOCKConnector.java b/java/src/SOCKConnector.java
deleted file mode 100644
index 98dfcaf6b3d..00000000000
--- a/java/src/SOCKConnector.java
+++ /dev/null
@@ -1,75 +0,0 @@
-/*************************************************
- *
- * = PACKAGE
- * JACE.SOCK_SAP
- *
- * = FILENAME
- * SOCKConnector.java
- *
- *@author Prashant Jain
- *
- *************************************************/
-package JACE.SOCK_SAP;
-
-import java.io.*;
-import java.net.*;
-import JACE.OS.*;
-
-/**
- * <hr>
- * <p><b>TITLE</b><br>
- * Defines an active connection factory for the socket wrappers.
- */
-public class SOCKConnector
-{
- // = Initialization
-
- /**
- * Create a SOCKConnector. Do nothing constructor. Allows user to
- * call connect() later.
- */
- public SOCKConnector ()
- {
- // Do nothing constructor
- }
-
- /**
- * Create a SOCKConnector and connect to the server.
- *@param sockStream SOCK Stream to use for the connection
- *@param hostname hostname of the server
- *@param port port number to connect with server at
- */
- public SOCKConnector (SOCKStream sockStream,
- String hostname,
- int port) throws SocketException, IOException
- {
- this.connect (sockStream,
- hostname,
- port);
- }
-
- /**
- * Connect to the server.
- *@param sockStream SOCK Stream to use for the connection
- *@param hostname hostname of the server
- *@param port port number to connect with server at
- */
- public void connect (SOCKStream sockStream,
- String hostname,
- int port) throws SocketException, IOException
- {
- sockStream.socket (new Socket (hostname, port));
- }
-
- /**
- * Connect to the server.
- *@param sockStream SOCK Stream to use for the connection
- *@param addr INETAddr instance specifying host/port
- */
- public void connect (SOCKStream sockStream,
- INETAddr addr) throws SocketException, IOException
- {
- sockStream.socket (new Socket (addr.getHostName(),
- addr.getPortNumber()));
- }
-}
diff --git a/java/src/SOCKStream.java b/java/src/SOCKStream.java
deleted file mode 100644
index f255b7bc44a..00000000000
--- a/java/src/SOCKStream.java
+++ /dev/null
@@ -1,218 +0,0 @@
-/*************************************************
- *
- * = PACKAGE
- * JACE.SOCK_SAP
- *
- * = FILENAME
- * SOCKStream.java
- *
- *@author Prashant Jain
- *
- *************************************************/
-package JACE.SOCK_SAP;
-
-import java.io.*;
-import java.net.*;
-import JACE.OS.*;
-
-/**
- * <hr>
- * <p><b>TITLE</b><br>
- * Defines the methods in the ACE.SOCKStream abstraction.
- *
- * <p><b>DESCRIPTION</b><br>
- * This adds additional wrapper methods atop the java Socket class.
- */
-public class SOCKStream
-{
- /**
- * Create a default SOCK Stream. Do nothing constructor.
- */
- public SOCKStream ()
- {
- }
-
- /**
- * Create a SOCK Stream.
- *@param s Socket to initialize SOCK Stream with.
- */
- public SOCKStream (Socket s) throws IOException
- {
- this.socket (s);
- }
-
- /**
- * Set the socket and the underlying streams.
- *@param s Socket associated with the SOCK Stream.
- */
- public void socket (Socket s) throws IOException
- {
- this.socket_ = s;
- // Note that if s is not a valid socket or is null, the
- // following calls will throw exceptions
-
- // Create buffered, platform independent byte streams. This hasn't been switched
- // to the newer character streams since the change would break cross talk with
- // non-Java sockets.
-
- this.iStream_ = new DataInputStream(new BufferedInputStream(s.getInputStream()));
-
- this.oStream_ = new DataOutputStream(new BufferedOutputStream(s.getOutputStream()));
- }
-
- /* Get the underlying Socket.
- *@return the underlying socket
- */
- public Socket socket ()
- {
- return this.socket_;
- }
-
- /**
- * Close the streams and the underlying socket.
- */
- public void close () throws IOException
- {
- if (this.socket_ != null)
- this.socket_.close ();
- this.socket_ = null;
- }
-
- // = The following send and recv methods are overloaded to provide a
- // flexible interface
-
- /**
- * Send a StringBuffer. Note that the method blocks.
- *@param s the StringBuffer to send
- *@return the length of the StringBuffer
- */
- public int send (StringBuffer s) throws IOException
- {
- // Get the data out
- String buf = s.toString ();
-
- //this.oStream_.println(buf);
- this.oStream_.writeChars(buf.toString());
- this.oStream_.writeChar('\n');
- this.oStream_.flush ();
-
- return buf.length ();
- }
-
- /**
- * Send a String. Note that the method blocks.
- *@param s the String to send
- *@return the length of the String
- */
- public int send (String s) throws IOException
- {
- this.oStream_.writeChars(s);
- this.oStream_.writeChar('\n');
-
- //this.oStream_.println(s);
- this.oStream_.flush();
-
- return s.length ();
- }
-
- /**
- * Send an array of bytes. Note that the method blocks.
- *@param b array of bytes to send
- *@param offset offset into the byte array to start sending from
- *@param length number of bytes to send
- *@return number of bytes sent
- */
- public int sendN (byte[] b, int offset, int length) throws IOException
- {
- this.oStream_.write (b, offset, length);
- this.oStream_.flush ();
- return length;
- }
-
- /**
- * Receive data and append it to the StringBuffer that was passed
- * in. Note that the method blocks.
- *@param s the StringBuffer to append the result of the recv to
- *@return the length of the String received
- */
- public int recv (StringBuffer s) throws IOException
- {
- int len = 0;
- char in = (char)this.iStream_.readByte();
-
- while (in != '\n') {
- s.append(in);
- in = (char)this.iStream_.readByte();
- len++;
- }
-
- return len;
- }
-
- /**
- * Receive an array of characters. This method blocks until either
- * all the bytes are read, the end of the stream is detected, or
- * an exception is thrown.
- *@param b byte array to receive the data in
- *@param offset the start offset of the data in the byte array.
- *@param n number of bytes to receive
- *@return n
- */
- public int recvN (byte[] b, int offset, int n) throws IOException
- {
- this.iStream_.readFully (b, offset, n);
- return n;
- }
-
- /**
- * Set the underlying input stream.
- *@param iStream the input stream
- */
- public void inputStream (InputStream iStream)
- {
- this.iStream_ = new DataInputStream(new BufferedInputStream(iStream));
- }
-
- /**
- * Get the underlying input stream.
- *@return the underlying input stream
- */
- public InputStream inputStream ()
- {
- return this.iStream_;
- }
-
- /**
- * Set the underlying output stream.
- *@param iStream the output stream
- */
- public void outputStream (OutputStream oStream)
- {
- this.oStream_ = new DataOutputStream(new BufferedOutputStream(oStream));
- }
-
- /**
- * Get the underlying output stream.
- *@return the underlying output stream
- */
- public OutputStream outputStream ()
- {
- return this.oStream_;
- }
-
- /**
- * Cleanup when the SOCK Stream is garbage collected.
- *@exception Throwable (Probably IOException from the socket level)
- */
- protected void finalize () throws Throwable
- {
- super.finalize ();
- this.close ();
- }
-
- private Socket socket_;
-
- // = The input and output streams (by default null)
- private DataInputStream iStream_;
- private DataOutputStream oStream_;
-}
diff --git a/java/src/Semaphore.java b/java/src/Semaphore.java
deleted file mode 100644
index 6c5427bb0c0..00000000000
--- a/java/src/Semaphore.java
+++ /dev/null
@@ -1,103 +0,0 @@
-/*************************************************
- *
- * = PACKAGE
- * JACE.Concurrency
- *
- * = FILENAME
- * Semaphore.java
- *
- *@author Prashant Jain
- *
- *************************************************/
-package JACE.Concurrency;
-
-import java.util.*;
-import JACE.ASX.*;
-
-class TimedWaitSAdapter extends JACE.ASX.TimedWait
-{
- TimedWaitSAdapter (Object obj)
- {
- super (obj);
- }
-
- // Check to see if there are any semaphores available.
- public boolean condition ()
- {
- return this.count_ > 0;
- }
-
- // Increment the count by one
- public void increment ()
- {
- this.count_++;
- }
-
- // Decrement the count by one
- public void decrement ()
- {
- this.count_--;
- }
-
- // Set the count
- public void count (int c)
- {
- this.count_ = c;
- }
-
- private int count_ = 0;
-}
-
-/**
- * <hr>
- * <h2>SYNOPSIS</h2>
- * Implementation of Dijkstra's counting semaphore in java.
- */
-public class Semaphore
-{
- /**
- * Create a Semaphore.
- *@param count semaphore count
- */
- public Semaphore (int c)
- {
- this.monitor_.count (c);
- }
-
- /**
- * Acquire the Semaphore. Note that this will block.
- *@exception InterruptedException exception during wait
- */
- public synchronized void acquire () throws InterruptedException
- {
- this.monitor_.timedWait ();
- this.monitor_.decrement ();
- }
-
- /**
- * Acquire the Semaphore. Throws a TimeoutException if the semaphore
- * isn't acquired before the given absolute time.
- *@param tv time (TimeValue) to wait until before throwing a
- * TimeoutException (unless the semaphore is acquired before that)
- *@exception TimeoutException wait timed out exception
- *@exception InterruptedException exception during wait
- */
- public synchronized void acquire (TimeValue tv)
- throws JACE.ASX.TimeoutException, InterruptedException
- {
- this.monitor_.timedWait (tv);
- this.monitor_.decrement ();
- }
-
- /**
- * Release the Semaphore.
- */
- public synchronized void release ()
- {
- this.monitor_.increment ();
- this.monitor_.signal ();
- }
-
- private TimedWaitSAdapter monitor_ = new TimedWaitSAdapter (this);
- // The monitor (adapter) to wait on
-}
diff --git a/java/src/ServiceConfig.java b/java/src/ServiceConfig.java
deleted file mode 100644
index e749076137b..00000000000
--- a/java/src/ServiceConfig.java
+++ /dev/null
@@ -1,375 +0,0 @@
- /*************************************************
- *
- * = PACKAGE
- * JACE.ServiceConfigurator
- *
- * = FILENAME
- * ServiceConfig.java
- *
- * Services can be suspended, resumed, removed, and reloaded. Reloading requires a
- * call to prepareForReload method after removing a service (done in remove()). You can't access
- * the ServiceObjects that are loaded directly -- anything loaded with a class loader
- * must be wrapped and have its methods called via reflection. This is because a
- * loaded class doesn't exist in the same space as one loaded with the system loader.
- *
- *
- *@author Prashant Jain, Everett Anderson
- *
- *************************************************/
-package JACE.ServiceConfigurator;
-
-import java.io.*;
-import java.util.*;
-import java.net.*;
-import JACE.OS.*;
-import JACE.Misc.*;
-
-/**
- * <hr>
- * <p><b>TITLE</b><br>
- * Provide the base class that supplies common server daemon
- * operations. Also provides a global point for interacting with
- * the service repository.
- */
-public class ServiceConfig
-{
- /** Begins the process of loading a service configurator file:
- * parses the command line and calls processDirectives
- *
- *@exception FileNotFoundException Couldn't find service config file
- *@exception IOException Problem reading or parsing
- *@exception ClassNotFoundException Couldn't find a certain class
- *@exception IllegalAccessException Inappropriate method call on a class
- *@exception InstantiationException Couldn't create a certain class instance
- */
- public static int open (String [] args) throws FileNotFoundException, IOException, ClassNotFoundException, IllegalAccessException, InstantiationException
- {
- // Parse the command line
- ServiceConfig.parseArgs (args);
-
- // Create a repository and class loader
- if (ServiceConfig.svcRep_ == null)
- ServiceConfig.svcRep_ = new ServiceRepository ();
- if (ServiceConfig.loader_ == null)
- ServiceConfig.loader_ = new ServiceLoader();
-
- return ServiceConfig.processDirectives ();
-
- }
-
- /** Parses the command line
- * Valid command line options:
- * -b Run as a daemon (not implemented yet)
- * -d Debug mode
- * -n No defaults
- * -f <filename> Load services in the given file [see below for info]
- *
- */
- protected static void parseArgs (String [] args)
- {
- GetOpt getopt = new GetOpt (args, "bdnf:");
- for (int c; (c = getopt.next ()) != -1; )
- switch (c)
- {
- case 'b':
- // Note: not supported yet!
- ServiceConfig.beADaemon_ = true;
- break;
- case 'd':
- ServiceConfig.debug_ = true;
- break;
- case 'n':
- ServiceConfig.noDefaults_ = true;
- break;
- case 'f':
- ServiceConfig.serviceConfigFile_ = getopt.optarg ();
- break;
- default:
- ACE.ERROR ((char ) c + " is not a ServiceConfig option");
- break;
- }
- }
-
- /** Called by ParseNode subclass
- * Asks the Service Repository to spend a service
- */
- public static int suspend (String name)
- {
- return svcRep_.suspend(name);
- }
-
- /** Called by ParseNode subclass
- * Asks the Service Repository to resume a service
- */
- public static int resume (String name)
- {
- return svcRep_.resume(name);
- }
-
- /** Called by ParseNode subclass
- * Asks the Service Repository to remove a service, also calls
- * prepareForReload so the user doesn't have to.
- */
- public static int remove (String name)
- {
- int result = svcRep_.remove(name);
-
- prepareForReload();
-
- return result;
- }
-
- /** Should be called before the user wants to reload
- * a service. This calls garbage collection to
- * (hopefully) obliterate the names of any unused
- * service classes, and creates a new instance
- * of the ClassLoader so there won't be problems
- * reloading.
- */
- public static void prepareForReload()
- {
- ServiceConfig.loader_ = new ServiceLoader();
-
- System.gc();
-
- }
-
- /**
- * Parse a service configurator file, creating classes as necessary
- *
- * This is getting complicated, but there were too many installation problems when using
- * CUP and JLex to merit developing a grammar.
- *
- * Current formats:
- *
- * load <Service Name> <Full Class Name> Service_Object "<argument list>"
- *
- * resume <Service Name>
- * suspend <Service Name>
- * remove <Service Name>
- *
- *@exception FileNotFoundException Couldn't find the file (default "svc.conf")
- *@exception IOException Problem reading/parsing
- *@exception ClassNotFoundException Couldn't find a certain class
- *@exception IllegalAccessException Inappropriate method call
- *@exception InstantiationException Couldn't create a class instance
- */
- protected static int processDirectives () throws FileNotFoundException, IOException, ClassNotFoundException, IllegalAccessException, InstantiationException
- {
- if (ServiceConfig.serviceConfigFile_ == null)
- ServiceConfig.serviceConfigFile_ = "svc.conf";
-
- ACE.DEBUG("Processing directives in file " + ServiceConfig.serviceConfigFile_);
-
- File configFile = new File (ServiceConfig.serviceConfigFile_);
-
- // Check if file exists and is a normal file
- if (!configFile.exists () || !configFile.isFile ())
- throw new FileNotFoundException ("File " + ServiceConfig.serviceConfigFile_ + " not found");
-
- // Check if the file is readable
- if (!configFile.canRead ())
- throw new IOException ("File " + ServiceConfig.serviceConfigFile_ + " not readable");
-
- // Set up the stream
- FileInputStream fileIn = new FileInputStream (configFile);
-
- // Parse the file
- Reader r = new BufferedReader(new InputStreamReader(fileIn));
- StreamTokenizer in = new StreamTokenizer (r);
-
- // Set '#' as comment character to be ignored and set '/' as
- // ordinary character (was original comment character)
- // in.commentChar ('#');
- in.ordinaryChar ('/');
-
- // Set characters in ASCII range 33 to 47, ASCII range 91 to 96,
- // and ASCII range 123 to 126 as ordinary characters
- in.wordChars ('!', '/'); // ASCII range 33 to 47
- in.wordChars (':', '@'); // ASCII range 58 to 64
- in.wordChars ('[', '`'); // ASCII range 91 to 96
- in.wordChars ('{', '~'); // ASCII range 123 to 126
-
- String commandName = null;
- String serviceName = null;
- String className = null;
- String classType = null;
- String args = null;
- // Create a state machine
- int state = ServiceConfig.COMMAND_NAME;
-
- // The apply() method on ParseNode starts the process of actually executing the
- // desired action (suspend, load, etc)
- ParseNode result = null;
-
- while (in.nextToken () != StreamTokenizer.TT_EOF)
- {
- switch (state)
- {
- case ServiceConfig.COMMAND_NAME:
- if (in.ttype == StreamTokenizer.TT_WORD) {
- commandName = in.sval;
-
- // **** This should be changed so that instantiation is only done
- // when we find out the type (ServiceObject or something else) a few
- // words later. Right now it works because we only have ServiceObjects
- // to load.
- if (commandName.equals("load"))
- result = new AddServiceObjectNode();
- else
- if (commandName.equals("remove"))
- result = new RemoveNode();
- else
- if (commandName.equals("suspend"))
- result = new SuspendNode();
- else
- if (commandName.equals("resume"))
- result = new ResumeNode();
- else
- throw new IOException ("COMMAND NAME missing or invalid: " + commandName);
-
- ACE.DEBUG("Command node type: " + ((Object)result).getClass().getName());
-
-
- } else
- throw new IOException ("Illegal COMMAND NAME argument in file " + ServiceConfig.serviceConfigFile_);
- state = ServiceConfig.SERVICE_NAME;
- break;
- case ServiceConfig.SERVICE_NAME:
- if (in.ttype == StreamTokenizer.TT_WORD)
- serviceName = in.sval;
- else
- throw new IOException ("Illegal SERVICE NAME argument in file " + ServiceConfig.serviceConfigFile_);
-
-
- if (!commandName.equals("load")) {
- result.init(serviceName);
- result.apply();
- in.whitespaceChars (' ', ' ');
- state = ServiceConfig.SERVICE_NAME;
- } else
- state = ServiceConfig.CLASS_NAME;
- break;
- case ServiceConfig.CLASS_NAME:
- if (in.ttype == StreamTokenizer.TT_WORD)
- className = in.sval;
- else
- throw new IOException ("Illegal CLASS NAME argument in file " + ServiceConfig.serviceConfigFile_);
- state = ServiceConfig.CLASS_TYPE;
- break;
- case ServiceConfig.CLASS_TYPE:
- // This is only Service_Object or ServiceObject at this time
- if (in.ttype == StreamTokenizer.TT_WORD)
- classType = in.sval;
- else
- throw new IOException ("Illegal CLASS TYPE argument in file " + ServiceConfig.serviceConfigFile_);
- state = ServiceConfig.ARGS;
- // Set space to be an ordinary character to allow
- // arguments to be parsed in
- in.wordChars (' ', ' ');
- break;
- case ServiceConfig.ARGS:
- ACE.DEBUG("Processing arguments");
-
- args = new String("");
-
- if (in.ttype == StreamTokenizer.TT_WORD)
- {
- args = in.sval;
-
- // If just two double quotes, there are no args
- if (args.length() == 2) {
- args = new String("");
- } else
- args = args.substring(1, args.length() - 1);
- }
-
- // Quick hack until more parsing necessary -- set the needed data
- ((AddServiceObjectNode)result).init(serviceName, className, false);
- ((AddServiceObjectNode)result).params(args);
-
- result.apply();
-
- state = ServiceConfig.SERVICE_NAME;
- // Set space back to whitespace-character to extract the
- // next token
- in.whitespaceChars (' ', ' ');
- break;
- default:
- throw new IOException ("Illegal argument in file " + ServiceConfig.serviceConfigFile_);
- }
- }
- return 0;
- }
-
-
- /**
- * This is called when apply() is called on AddServiceObjectNodes. Similar
- * methods could be developed for later data types (AddStreamNode, etc). This
- * tries to load the ServiceObject and its classes. When trying to find info
- * from the C++ files, this generates possible file paths.
- */
- public static int initialize (AddServiceObjectNode son)
- {
- Class c = null;
-
- try {
-
- c = loader_.loadClass(son.locator(), true);
-
- } catch (ClassNotFoundException e) {
- ACE.ERROR("Can't find class with locator: " + son.locator());
- return -1;
- }
-
- try {
-
- Object service = c.newInstance();
- // Can't cast this to a ServiceObject, even though it will look just
- // like one -- Java puts things loaded with a non-standard class loader
- // in their own name space. The ServiceObjectRecord is a wrapper that
- // gets around this by using reflection.
- ServiceObjectRecord svcObjRec = new ServiceObjectRecord(service, son.name());
-
- // Split the argument array up into smaller pieces
- String [] argArray = OS.createStringArray (son.params(), " ");
-
- // Initialize the service -- start it running
- svcObjRec.init(argArray);
-
- // Put it in the service repository
- svcRep_.insert((ServiceRecord)svcObjRec);
-
- } catch (IllegalAccessException e) {
- ACE.ERROR("Error " + e);
- return -1;
- } catch (InstantiationException e) {
- ACE.ERROR("Error " + e);
- return -1;
- }
-
- return 0;
- }
-
- // Set by command line options
- private static boolean beADaemon_ = false;
- private static boolean debug_ = false;
- private static boolean noDefaults_ = false;
-
- public static String serviceConfigFile_ = "svc.conf";
-
- private static ServiceRepository svcRep_ = null;
- private static ServiceLoader loader_ = null;
-
- // States for the state-machine used in parsing the config file
- private final static int SERVICE_NAME = 0;
- private final static int CLASS_NAME = 1;
- private final static int CLASS_TYPE = 2;
- private final static int ARGS = 3;
- private final static int COMMAND_NAME = 4;
-
-
-}
-
-
-
diff --git a/java/src/ServiceLoader.java b/java/src/ServiceLoader.java
deleted file mode 100644
index 86f15dc57c9..00000000000
--- a/java/src/ServiceLoader.java
+++ /dev/null
@@ -1,260 +0,0 @@
-/*************************************************
- *
- * = PACKAGE
- * JACE.ServiceConfigurator
- *
- * = FILENAME
- * ServiceLoader.java
- *
- * Implementation of a ClassLoader
- *
- *@author Prashant Jain, Everett Anderson
- *
- *************************************************/
-package JACE.ServiceConfigurator;
-
-import java.io.*;
-import java.util.*;
-import java.net.*;
-import JACE.OS.*;
-import JACE.Misc.*;
-
-public class ServiceLoader extends ClassLoader
-{
- /**
- * Constructor
- */
- public ServiceLoader ()
- {
- super ();
- this.getClassPath ();
- }
-
- /**
- * Searches the class path for a given file
- *
- *@param filename File name to look for
- *@return Returns the absolute path to the file
- * (useful for package name)
- */
- public String findFileInClasspath (String filename)
- {
- // Checks for the given name across the classpath
- StringTokenizer tokens = new StringTokenizer (this.classPath_,
- this.pathSeparator_);
-
- while (tokens.hasMoreTokens())
- {
- String fn = tokens.nextToken() + this.fileSeparator_ + filename;
-
- File f = new File (fn);
-
- if (f.exists() && f.isFile() && f.canRead())
- return new String(f.getAbsolutePath());
- }
-
- return null;
- }
-
- /**
- * Load a class from across the network
- *@exception ClassNotFoundException Couldn't find the class
- */
- public Class loadClass (URL url, boolean resolve) throws ClassNotFoundException
- {
- Class newClass = null;
-
- // Extract the name of the class from the URL
-
- String className = url.getFile();
-
- // Remove any directory information
- int idx = className.lastIndexOf("/");
- if (idx != -1)
- className = className.substring(idx + 1);
-
- // Get rid of the class suffix
- idx = className.lastIndexOf(".class");
- if (idx != -1)
- className = className.substring(0, idx);
-
- ACE.DEBUG("The name of the class about to load is " + className);
-
- // Try to load it the class by reading in the bytes.
- // Note that we are not catching ClassNotFoundException here
- // since our caller will catch it.
- try
- {
- URLConnection urlConnection = url.openConnection ();
-
- // Get the input stream associated with the URL connection and
- // pipe it to a newly created DataInputStream
- DataInputStream i = new DataInputStream (urlConnection.getInputStream ());
-
- // Allocate a buffer big enough to hold the contents of the
- // data we are about to read
- byte [] buf = new byte [urlConnection.getContentLength ()];
-
- // Now read all the data into the buffer
- i.readFully (buf);
-
- newClass = defineClass (className, buf, 0, buf.length);
- // ACE.DEBUG ("Loaded class: "+ name);
-
- // Check if we need to load other classes referred to by this class.
- if (resolve)
- resolveClass (newClass);
- }
- catch (IOException e)
- {
- throw new ClassNotFoundException (e.toString ());
- }
- return newClass;
- }
-
-
- /**
- * Load a class file:
- *
- * @param fn A file name WITHOUT the .class extension
- * @param resolve Standard resolve flag -- user should set to true
- *
- * @return A Class file capable of creating quasi-useful instances
- * of the loaded class. They can't exist in the normal
- * Java space, though, so it's impossible to cast them
- * to something useful. Use a wrapper and reflection
- * as in ServiceRecords.
- *@exception ClassNotFoundException Couldn't find the class
- */
- public Class loadClass (String fn, boolean resolve) throws ClassNotFoundException
- {
- Class newClass;
-
- // Load built-in java classes with the system loader
- if (fn.startsWith("java")) {
- newClass = findSystemClass(fn);
- if (newClass == null)
- throw (new ClassNotFoundException());
- else
- return newClass;
- }
-
- // If given a dot separated qualified name, put it in OS path format.
- // This assumes the file separator is one char
- String str = new String(fn);
- if (str.indexOf('.') >= 0)
- str = str.replace('.', this.fileSeparator_.charAt(0));
- str = str + ".class";
-
- // Search the class path for the given file name
- String fullname = this.findFileInClasspath(str);
- if (fullname == null) {
-
- // If we can't find the class file, see if the
- // system can
- if ((newClass = findSystemClass(fn)) != null) {
- return newClass;
- } else
- throw (new ClassNotFoundException());
- }
-
- try
- {
- // Try to load it the class by reading in the bytes.
- // Note that we are not catching ClassNotFoundException here
- // since our caller will catch it.
- try
- {
- byte[] buf = bytesForClass (fullname);
-
- // ***** Note *****
- // This looks inside the class file and digs up the true
- // fully qualified class name. You need this to
- // load the class!
- String className = ClassReader.getClassName(fullname);
-
- if (className != null) {
- ACE.DEBUG("Defining class with name: " + className);
- newClass = defineClass (className, buf, 0, buf.length);
- } else {
- // Try it anyway
- newClass = defineClass (null, buf, 0, buf.length);
-
- ACE.ERROR("Unknown class name");
- }
-
- // Check if we need to load other classes referred to by this class.
- if (resolve)
- resolveClass (newClass);
-
- } catch (ClassNotFoundException e) {
-
- ACE.DEBUG ("Using default loader for class: " + fn);
-
- if ((newClass = findSystemClass (fn)) != null)
- return newClass;
- else
- throw (e); // Rethrow the exception
- }
- }
- catch (IOException e)
- {
- throw new ClassNotFoundException (e.toString ());
- }
-
- return newClass;
- }
-
- /**
- * Get system properties for later use
- */
- private void getClassPath ()
- {
- // Cache system properties that are needed when trying to find a
- // class file
- this.classPath_ = System.getProperty ("java.class.path", ".");
- this.pathSeparator_ = System.getProperty ("path.separator", ":");
- this.fileSeparator_ = System.getProperty ("file.separator", "/");
- }
-
- /**
- * Read file into a byte array
- */
- private byte[] bytesForClass (String name) throws IOException, ClassNotFoundException
- {
- // Set up the stream
- FileInputStream in = new FileInputStream (name);
-
- // Get byte count
- int length = in.available ();
-
- if (length == 0)
- throw new ClassNotFoundException (name);
-
- // Create an array of bytes to read the file in
- byte[] buf = new byte[length];
-
- // Read the file
- in.read (buf);
-
- // Return byte array
- return buf;
- }
-
- private String classPath_;
- // Class path that is loaded at construction
-
- private String pathSeparator_;
- // Platform-dependent path separator (e.g., : or ;)
-
- private String fileSeparator_;
- // Platform-dependent file separator (e.g., / or \)
-
- private String context_ = null;
-}
-
-
-
-
-
-
diff --git a/java/src/ServiceObject.java b/java/src/ServiceObject.java
deleted file mode 100644
index faf5a28daa4..00000000000
--- a/java/src/ServiceObject.java
+++ /dev/null
@@ -1,80 +0,0 @@
-/*************************************************
- *
- * = PACKAGE
- * JACE.ServiceConfigurator
- *
- * = FILENAME
- * ServiceObject.java
- *
- *@author Prashant Jain
- *
- *************************************************/
-package JACE.ServiceConfigurator;
-
-import java.io.*;
-import JACE.ASX.*;
-import JACE.Reactor.*;
-
-public class ServiceObject implements EventHandler
-{
- /**
- * Initialize object when dynamic loading occurs. Overwrite this
- * method to do anything useful.
- *@return -1 (default implementation)
- */
- public int init (String [] args)
- {
- return -1;
- }
-
- /**
- * Terminate the object. Note that an object can not be explicitly
- * unloaded. Overwrite this method to do anything useful.
- *@return -1 (default implementation)
- */
- public int fini ()
- {
- return -1;
- }
-
- /**
- * Get information on an active object. Overwrite this method to do
- * anything useful.
- *@return null (default implementation)
- */
- public String info ()
- {
- return null;
- }
-
- /**
- * Called when timer expires. Overwrite this method to do
- * anything useful.
- *@param tv Time Value for when timer expired
- *@param obj An arbitrary object that was passed to the Timer Queue
- * (Asynchronous Completion Token)
- *@return -1
- */
- public int handleTimeout (TimeValue tv, Object obj)
- {
- return -1;
- }
-
- /**
- * Request that this service suspend activity. Overwrite this
- * method to do anything useful.
- */
- public int suspend ()
- {
- return -1;
- }
-
- /**
- * Request that this service resume activity. Overwrite this
- * method to do anything useful.
- */
- public int resume ()
- {
- return -1;
- }
-}
diff --git a/java/src/ServiceObjectRecord.java b/java/src/ServiceObjectRecord.java
deleted file mode 100644
index 282d4360fbf..00000000000
--- a/java/src/ServiceObjectRecord.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/*************************************************
- *
- * = PACKAGE
- * JACE.ServiceConfigurator
- *
- * = FILENAME
- * ServiceObjectRecord.java
- *
- * Provided to show future symmetry. ServiceRecord currently
- * provides all the desired behavior necessary for a record
- * of a ServiceObject, but later there could be ModuleRecords,
- * etc.
- *
- *@see JACE.ServiceConfigurator.ServiceRecord;
- *
- *@author Everett Anderson
- *
- *************************************************/
-package JACE.ServiceConfigurator;
-
-public class ServiceObjectRecord extends ServiceRecord
-{
- public ServiceObjectRecord (Object so, String name)
- {
- super (so, name);
- }
-
-};
-
-
-
-
-
diff --git a/java/src/ServiceRecord.java b/java/src/ServiceRecord.java
deleted file mode 100644
index e0bd75a1405..00000000000
--- a/java/src/ServiceRecord.java
+++ /dev/null
@@ -1,253 +0,0 @@
-/*************************************************
- *
- * = PACKAGE
- * JACE.ServiceConfigurator
- *
- * = FILENAME
- * ServiceRecord.java
- *
- * This class structure is used in the ServiceRepository. Each service
- * object, module, or stream in the repository should be wrapped by a
- * type of ServiceRecord. The contained object does the real work.
- *
- * Modules and Streams will require records with more functionality.
- *
- * The caller should never be allowed to access the Object within the
- * record -- casting will result in a ClassCastException because of
- * the problem with loading classes with a ClassLoader. To get
- * around this, all the method calls are made on the Object via
- * reflection.
- *
- *@see JACE.ServiceConfigurator.ServiceObject
- *@see JACE.ServiceConfigurator.ServiceRepository
- *
- *@author Everett Anderson
- *
- *************************************************/
-package JACE.ServiceConfigurator;
-
-import java.io.*;
-import java.lang.reflect.*;
-import JACE.OS.*;
-
-public class ServiceRecord
-{
- /**
- * Constructor
- *
- *@param service A java Object, the service
- *@param name Name of this service
- */
- ServiceRecord (Object service, String name)
- {
- this.service_ = service;
- this.name_ = name;
- this.suspended_ = false;
- }
-
- /**
- * Forward the call to suspend
- * @return -1 error
- */
- public int suspend()
- {
- this.setSuspend(true);
-
- Object result = this.invokeSimpleReflected("suspend");
-
- if (result == null)
- return -1;
- else
- return ((Integer)result).intValue();
- }
-
-
- /**
- * Forward the call to resume
- * @return -1 error
- */
- public int resume()
- {
- this.setSuspend(false);
-
- Object result = this.invokeSimpleReflected("resume");
-
- if (result == null)
- return -1;
- else
- return ((Integer)result).intValue();
- }
-
-
- /**
- * Initialize the service, provide the given command line args to it.
- *
- */
- public int init(String [] args)
- {
- Class types[] = new Class[1];
- if (args == null)
- args = new String[0];
-
- types[0] = args.getClass();
-
- // Find the method we want to call
- Method m;
- try {
- m = this.object().getClass().getMethod("init", types);
- } catch (NoSuchMethodException e) {
- ACE.ERROR("" + e);
- return -1;
- } catch (SecurityException e) {
- ACE.ERROR("" + e);
- return -1;
- }
-
- Class ptypes[] = m.getParameterTypes();
- //for (int x = 0; x < ptypes.length; x++)
- // System.err.println(ptypes[x].getName());
- Object params[] = new Object[1];
-
- params[0] = args;
-
- int result = -1;
- try {
- result = ((Integer)m.invoke(this.object(), params)).intValue();
- } catch (IllegalAccessException e) {
- ACE.ERROR("" + e);
- return -1;
- } catch (IllegalArgumentException e) {
- ACE.ERROR("" + e);
- return -1;
- } catch (InvocationTargetException e) {
- ACE.ERROR("init(): " + e.getTargetException());
- return -1;
- }
-
- return result;
- }
-
- /**
- * Prepare to close it
- */
- public int fini()
- {
- Object result = this.invokeSimpleReflected("fini");
-
- if (result == null)
- return -1;
- else
- return ((Integer)result).intValue();
- }
-
- /**
- * Obtain information about this service
- */
- public String info()
- {
- Object result = this.invokeSimpleReflected("info");
-
- if (result == null)
- return null;
- else
- return new String((String)result);
- }
-
- /** Invokes the method with the given name on the ServiceObject.
- * The invoked method must take no parameters for this to work.
- * Could be adjusted to throw a generic exception.
- */
- private Object invokeSimpleReflected(String name)
- {
- Method m;
-
- // find the desired method
- try {
- m = this.object().getClass().getMethod(name, null);
- } catch (NoSuchMethodException e) {
- ACE.ERROR("" + e);
- return null;
- } catch (SecurityException e) {
- ACE.ERROR("" + e);
- return null;
- }
-
- // Invoke it
- Object result = null;
-
- try {
- result = m.invoke(this.object(), null);
- } catch (IllegalAccessException e) {
- ACE.ERROR("" + e);
- } catch (IllegalArgumentException e) {
- ACE.ERROR("" + e);
- } catch (InvocationTargetException e) {
- ACE.ERROR(name + "(): " + e.getTargetException());
- }
-
- return result;
- }
-
- /**
- * Accessor for the name
- */
- public String name()
- {
- return new String(this.name_);
- }
-
- /** Set the name of the service
- */
- public void name(String name)
- {
- this.name_ = name;
- }
-
- /** Is this service suspended?
- */
- public boolean suspended()
- {
- return this.suspended_;
- }
-
- /** Set the suspended flag
- */
- void setSuspend (boolean suspended)
- {
- this.suspended_ = suspended;
- }
-
- /** Accessor for the contained Object. This should
- * never be available to the end user since they
- * might try casting the result.
- */
- Object object()
- {
- return this.service_;
- }
-
- /**
- * Set the contained object
- */
- void object(Object service)
- {
- this.service_ = service;
- }
-
- Object service_;
- String name_;
- boolean suspended_;
-};
-
-
-/*
-class ModuleRecord extends ServiceRecord
-{
-};
-
-class StreamRecord extends ServiceRecord
-{
-};
-*/
-
-
diff --git a/java/src/ServiceRepository.java b/java/src/ServiceRepository.java
deleted file mode 100644
index 4190646d213..00000000000
--- a/java/src/ServiceRepository.java
+++ /dev/null
@@ -1,189 +0,0 @@
-/*************************************************
- *
- * = PACKAGE
- * JACE.ServiceConfigurator
- *
- * = FILENAME
- * ServiceRepository.java
- *
- * The service repository stores the network services, allowing them to be removed, suspended,
- * resumed, etc. To reload a service, ServiceConfig.prepareForReload() must be called. This is
- * already done in the ServiceConfig.remove method.
- *
- *@see JACE.ServiceConfigurator.ServiceRecord;
- *@see JACE.ServiceConfigurator.ServiceConfig;
- *
- *@author Everett Anderson
- *
- *************************************************/
-package JACE.ServiceConfigurator;
-
-import java.io.*;
-import java.util.*;
-
-public class ServiceRepository
-{
- /**
- * Constructor
- */
- public ServiceRepository ()
- {
- this.serviceVector_ = new Vector();
- }
-
- /**
- * Constructor
- *
- *@param initialSize Initial vector size for the repository
- */
- public ServiceRepository (int initialSize)
- {
- this.serviceVector_ = new Vector (initialSize);
- }
-
- /**
- * Shut down all the services, closing them in reverse order of insertion
- *
- * Maybe should be called by finalize?
- */
- public int close()
- {
- for (int i = this.size() - 1; i >= 0; i--) {
- ServiceRecord rec = (ServiceRecord)this.serviceVector_.elementAt(i);
-
- rec.fini();
-
- this.serviceVector_.removeElementAt(i);
- }
-
- return 0;
- }
-
- /**
- * Insert a ServiceRecord into the repository.
- * (If already in, calls fini() and replaces)
- *
- *@param srvRec ServiceRecord to add
- */
- public void insert (ServiceRecord srvRec)
- {
- ServiceRecord alreadyIn = find(srvRec.name());
-
- // Replace the service
- if (alreadyIn != null) {
- alreadyIn.fini();
- this.serviceVector_.removeElement(alreadyIn);
- }
-
- this.serviceVector_.addElement(srvRec);
- }
-
- /**
- * Finds the ServiceRecord associated with a given
- * service name. Note -- the user should not try to
- * get a ServiceObject out of the ServiceRecord.
- * Same as saying ignoreSuspended is false on the
- * next method.
- *
- *@param name Name of the service to find
- */
- public ServiceRecord find (String name)
- {
- return this.find(name, false);
- }
-
- /** Return the service record for the given service. The caller
- * should NOT try to access a ServiceObject (or Module or Stream)
- * by taking it out of the ServiceRecord -- just make the calls
- * through the record!
- *
- *@param name Name of the service to find
- *@param ignoreSuspended Allow finding suspended services?
- */
- public ServiceRecord find (String name, boolean ignoreSuspended)
- {
- ServiceRecord rec;
-
- for (int i = 0; i < this.size(); i++) {
- rec = (ServiceRecord)this.serviceVector_.elementAt(i);
-
- if ((rec.name().equals(name)) && ((!ignoreSuspended) || (!rec.suspended())))
- return rec;
- }
-
- return null;
- }
-
- /** Take the given service out of the repository. This also sets the
- * reference in the repository to null to ensure there are no
- * hidden references to the old ServiceObject. To reload, the
- * ServiceConfig.prepareToReload method must be called. This is already
- * done in the ServiceConfig.remove method.
- */
- public int remove (String name)
- {
- ServiceRecord rec = this.find(name, false);
-
- if (rec == null)
- return -1;
-
- int index = this.serviceVector_.indexOf(rec);
-
- // Shut down the service
- rec.fini();
-
- // Make sure there are no hidden references left
- this.serviceVector_.setElementAt(null, index);
-
- this.serviceVector_.removeElementAt(index);
-
- return 0;
- }
-
- /**
- * Resume a suspended service
- *@param name Name of the service to resume
- */
- public int resume (String name)
- {
- ServiceRecord rec = this.find(name, false);
-
- if (rec == null)
- return -1;
-
- return rec.resume();
- }
-
- /**
- * Suspend a service
- *@param name Name of the service to suspend
- */
- public int suspend (String name)
- {
- ServiceRecord rec = this.find(name, true);
-
- if (rec == null)
- return -1;
-
- return rec.suspend();
- }
-
- /**
- * Returns the number of items in the repository
- */
- public int size ()
- {
- return this.serviceVector_.size();
- }
-
- // Vector representation
- Vector serviceVector_;
-};
-
-
-
-
-
-
-
-
diff --git a/java/src/StrategyAcceptor.java b/java/src/StrategyAcceptor.java
deleted file mode 100644
index d73c7b93006..00000000000
--- a/java/src/StrategyAcceptor.java
+++ /dev/null
@@ -1,156 +0,0 @@
-/*************************************************
- *
- * = PACKAGE
- * JACE.Connection
- *
- * = FILENAME
- * StrategyAcceptor.java
- *
- *@author Prashant Jain
- *
- *************************************************/
-package JACE.Connection;
-
-import java.io.*;
-import java.net.*;
-import JACE.OS.*;
-import JACE.SOCK_SAP.*;
-
-public class StrategyAcceptor
-{
- /**
- * Create an instance of StrategyAcceptor.
- *@param handlerFactory Svc Handler factory that is used to create
- * an instance of a Svc Handler when a connection is accepted.
- */
- public StrategyAcceptor (Class handlerFactory)
- {
- this (handlerFactory, null, null, null);
- }
-
- /**
- * Create an instance of StrategyAcceptor. Use the creation
- * strategy and the handlerFactory passed in to creae a new instance
- * of the Svc Handler.
- *@param handlerFactory Svc Handler factory that is used to create
- * an instance of a Svc Handler when a connection is accepted.
- *@param creStrategy Creation strategy to use to create a new
- * instance of the Svc Handler.
- *@param acceptStrategy Accept strategy to use to accept a new
- * connection into the Svc Handler.
- *@param activateStrategy Activate strategy to use to activate the
- * instance of the Svc Handler.
- */
- public StrategyAcceptor (Class handlerFactory,
- CreationStrategy creStrategy,
- AcceptStrategy acceptStrategy,
- ActivateStrategy activateStrategy)
- {
- // Cache everything
- this.handlerFactory_ = handlerFactory;
- this.creStrategy_ = creStrategy;
- this.acceptStrategy_ = acceptStrategy;
- this.activateStrategy_ = activateStrategy;
- }
-
- /**
- * Initialize the Strategy Acceptor. The method creates the
- * appropriate strategies as needed.
- *@param port port number where the server will listen for connections
- *@exception IOException Socket level error
- */
- public void open (int port) throws IOException
- {
- if (this.creStrategy_ == null)
- this.creStrategy_ = new CreationStrategy (this.handlerFactory_);
- if (this.acceptStrategy_ == null)
- this.acceptStrategy_ = new AcceptStrategy (port);
- else
- this.acceptStrategy_.open (port);
- if (this.activateStrategy_ == null)
- this.activateStrategy_ = new ActivateStrategy ();
- }
-
- /**
- * Accept a connection using the appropriate strategies.
- *
- *@exception SocketException Socket level error
- *@exception InstantiationException Problem creating a handler
- *@exception IllegalAccessException No strategy available
- *@exception IOException Socket level error
- */
- public void accept () throws SocketException,
- InstantiationException,
- IllegalAccessException,
- IOException
- {
- // Create a Svc_Handler using the appropriate Creation_Strategy
- SvcHandler sh = this.makeSvcHandler ();
-
- // Accept a connection into the Svc_Handler
- this.acceptSvcHandler (sh);
-
- // Activate the Svc_Handler
- this.activateSvcHandler (sh);
- }
-
- /**
- * Bridge method for creating a SvcHandler. The strategy for
- * creating a SvcHandler is configured into the Acceptor via it's
- * creStrategy_. If no strategy is passed in, the default behavior
- * of this method is to use the default CreationStrategy.
- *@return a new instance of the Svc Handler
- *@exception InstantiationException Couldn't create SvcHandler
- *@exception IllegalAccessException No strategy available
- */
- protected SvcHandler makeSvcHandler () throws InstantiationException, IllegalAccessException
- {
- // Create a new handler for the connection
- return this.creStrategy_.makeSvcHandler ();
- }
-
-
- /**
- * Bridge method for accepting the new connection into the
- * <SvcHandler>. The strategy for accepting into a SvcHandler is
- * configured into the Acceptor via it's acceptStrategy_. If no
- * strategy is passed in, the default behavior of this method is to
- * use the default AcceptStrategy.
- *@param sh Svc Handler in which to accept the connection
- *@return result of accepting a connection using the accept strategy
- *@exception SocketException Socket level error
- *@exception IOException Socket level error
- */
- protected int acceptSvcHandler (SvcHandler sh) throws SocketException, IOException
- {
- // Delegate responsibility to the appropriate strategy
- return this.acceptStrategy_.acceptSvcHandler (sh);
- }
-
- /**
- * Bridge method for activating a <SvcHandler>. The strategy for
- * activating a SvcHandler is configured into the Acceptor via it's
- * activateStrategy_. If no strategy is passed in, the default
- * behavior of this method is to use the default ActivateStrategy.
- *@param sh Svc Handler to activate
- *@return result of activating the Svc Handler
- */
- protected int activateSvcHandler (SvcHandler sh)
- {
- // Delegate responsibility to the appropriate strategy
- return this.activateStrategy_.activateSvcHandler (sh);
- }
-
- // Handler class that should be instantiated when a connection is
- // made with a client
- private Class handlerFactory_;
-
- // Creation Strategy
- private CreationStrategy creStrategy_;
-
- // Accept Strategy
- private AcceptStrategy acceptStrategy_;
-
- // Activation Strategy
- private ActivateStrategy activateStrategy_;
-}
diff --git a/java/src/Stream.java b/java/src/Stream.java
deleted file mode 100644
index 3c67efef220..00000000000
--- a/java/src/Stream.java
+++ /dev/null
@@ -1,440 +0,0 @@
-/*************************************************
- *
- * = PACKAGE
- * JACE.ASX
- *
- * = FILENAME
- * Stream.java
- *
- *@author Prashant Jain
- *
- *************************************************/
-package JACE.ASX;
-
-import JACE.OS.*;
-
-/**
- * <hr>
- * <h2>SYNOPSIS</h2>
- *<blockquote>
- * This class is the primary abstraction for the ASX framework.
- * It is moduled after System V Stream.
- *</blockquote>
- *
- * <h2>DESCRIPTION</h2>
- *<blockquote>
- * A Stream consists of a stack of <Modules>, each of which
- * contains two <Tasks>.
- *</blockquote>
- */
-
-public class Stream
-{
-
- public Stream ()
- {
- this (null, null, null);
- }
-
- // Create a Stream consisting of <head> and <tail> as the Stream
- // head and Stream tail, respectively. If these are 0 then the
- // <ACE_Stream_Head> and <ACE_Stream_Tail> are used, respectively.
- // <arg> is the value past in to the open() methods of the tasks.
-
- public Stream (Object a,
- Module head,
- Module tail)
- {
- this.linkedUs_ = null;
- // this.final_close_ = this.lock_;
-
- if (this.open (a, head, tail) == -1)
- ACE.ERROR ("open" + head.name () + " " + tail.name ());
- }
-
- public int push (Module newTop)
- {
- if (this.pushModule (newTop,
- this.streamHead_.next (),
- this.streamHead_) == -1)
- return -1;
- else
- return 0;
- }
-
- // Note that the timeout tv is absolute time
- public int put (MessageBlock mb, TimeValue tv)
- {
- return this.streamHead_.writer ().put (mb, tv);
- }
-
- // Note that the timeout tv is absolute time
- public MessageBlock get (TimeValue tv) throws InterruptedException
- {
- return this.streamHead_.reader ().getq (tv);
- }
-
-// Return the "top" ACE_Module in a ACE_Stream, skipping over the
-// stream_head.
-
- public Module top ()
- {
- if (this.streamHead_.next () == this.streamTail_)
- return null;
- else
- return this.streamHead_.next ();
- }
-
-// Remove the "top" ACE_Module in a ACE_Stream, skipping over the
-// stream_head.
-
- public int pop (long flags)
- {
- if (this.streamHead_.next () == this.streamTail_)
- return -1;
- else
- {
- // Skip over the ACE_Stream head.
- Module top = this.streamHead_.next ();
- Module newTop = top.next ();
-
- this.streamHead_.next (newTop);
-
- // Close the top ACE_Module.
-
- top.close (flags);
-
- this.streamHead_.writer ().next (newTop.writer ());
- newTop.reader ().next (this.streamHead_.reader ());
-
- return 0;
- }
- }
-
-// Remove a named ACE_Module from an arbitrary place in the
-// ACE_Stream.
-
- public int remove (String name, long flags)
- {
- Module prev = null;
-
- for (Module mod = this.streamHead_;
- mod != null; mod = mod.next ())
- if (name.compareTo (mod.name ()) == 0)
- {
- if (prev == null) // Deleting ACE_Stream Head
- this.streamHead_.link (mod.next ());
- else
- prev.link (mod.next ());
-
- mod.close (flags);
- return 0;
- }
- else
- prev = mod;
-
- return -1;
- }
-
- public Module find (String name)
- {
- for (Module mod = this.streamHead_;
- mod != null;
- mod = mod.next ())
- if (name.compareTo (mod.name ()) == 0)
- return mod;
-
- return null;
- }
-
-// Actually push a module onto the stack...
-
- private int pushModule (Module newTop,
- Module currentTop,
- Module head)
- {
- Task ntReader = newTop.reader ();
- Task ntWriter = newTop.writer ();
- Task ctReader = null;
- Task ctWriter = null;
-
- if (currentTop != null)
- {
- ctReader = currentTop.reader ();
- ctWriter = currentTop.writer ();
- ctReader.next (ntReader);
- }
-
- ntWriter.next (ctWriter);
-
- if (head != null)
- {
- if (head != newTop)
- head.link (newTop);
- }
- else
- ntReader.next (null);
-
- newTop.next (currentTop);
-
- if (ntReader.open (newTop.arg ()) == -1)
- return -1;
-
- if (ntWriter.open (newTop.arg ()) == -1)
- return -1;
- return 0;
- }
-
- public synchronized int open (Object a,
- Module head,
- Module tail)
- {
- Task h1 = null, h2 = null;
- Task t1 = null, t2 = null;
-
- if (head == null)
- {
- h1 = new StreamHead ();
- h2 = new StreamHead ();
- head = new Module ("ACEStreamHead", h1, h2, a);
- }
-
- if (tail == null)
- {
- t1 = new StreamTail ();
- t2 = new StreamTail ();
- tail = new Module ("ACEStreamTail",
- t1, t2, a);
- }
-
- // Make sure *all* the allocation succeeded!
- if (h1 == null || h2 == null || head == null
- || t1 == null || t2 == null || tail == null)
- {
- // Close up!
- head.close (0);
- tail.close (0);
- return -1;
- }
-
- this.streamHead_ = head;
- this.streamTail_ = tail;
-
- if (this.pushModule (this.streamTail_,
- null, null) == -1)
- return -1;
- else if (this.pushModule (this.streamHead_,
- this.streamTail_,
- this.streamHead_) == -1)
- return -1;
- else
- return 0;
- }
-
- public synchronized int close (long flags)
- {
- if (this.streamHead_ != null
- && this.streamTail_ != null)
- {
- // Don't bother checking return value here.
- this.unlinkInternal ();
-
- int result = 0;
-
- // Remove and cleanup all the intermediate modules.
-
- while (this.streamHead_.next () != this.streamTail_)
- {
- if (this.pop (flags) == -1)
- result = -1;
- }
-
- // Clean up the head and tail of the stream.
- if (this.streamHead_.close (flags) == -1)
- result = -1;
- if (this.streamTail_.close (flags) == -1)
- result = -1;
-
- this.streamHead_ = null;
- this.streamTail_ = null;
-
- // Tell all threads waiting on the close that we are done.
- // this.final_close_.broadcast ();
- return result;
- }
- return 0;
- }
-
- public int control (int cmd, Object a) throws InterruptedException
- {
- IOCntlMsg ioc = new IOCntlMsg (cmd);
-
- // Create a data block that contains the user-supplied data.
- MessageBlock db =
- new MessageBlock (MessageType.MB_IOCTL,
- null,
- a);
-
- // Create a control block that contains the control field and a
- // pointer to the data block.
- MessageBlock cb =
- new MessageBlock (MessageType.MB_IOCTL,
- db,
- (Object) ioc);
-
- int result = 0;
-
- if (this.streamHead_.writer ().put (cb, null) == -1)
- result = -1;
- else if ((cb = this.streamHead_.reader ().getq (null)) == null)
- result = -1;
- else
- result = ((IOCntlMsg ) cb.obj ()).rval ();
-
- return result;
- }
-
-// Link two streams together at their bottom-most Modules (i.e., the
-// one just above the Stream tail). Note that all of this is premised
-// on the fact that the Stream head and Stream tail are non-NULL...
-// This must be called with locks held.
-
- private int linkInternal (Stream us)
- {
- this.linkedUs_ = us;
- // Make sure the other side is also linked to us!
- us.linkedUs_ = this;
-
- Module myTail = this.streamHead_;
-
- if (myTail == null)
- return -1;
-
- // Locate the module just above our Stream tail.
- while (myTail.next () != this.streamTail_)
- myTail = myTail.next ();
-
- Module otherTail = us.streamHead_;
-
- if (otherTail == null)
- return -1;
-
- // Locate the module just above the other Stream's tail.
- while (otherTail.next () != us.streamTail_)
- otherTail = otherTail.next ();
-
- // Reattach the pointers so that the two streams are linked!
- myTail.writer ().next (otherTail.reader ());
- otherTail.writer ().next (myTail.reader ());
- return 0;
- }
-
- public synchronized int link (Stream us)
- {
- return this.linkInternal (us);
- }
-
-// Must be called with locks held...
-
- private int unlinkInternal ()
- {
- // Only try to unlink if we are in fact still linked!
-
- if (this.linkedUs_ != null)
- {
- Module myTail = this.streamHead_;
-
- // Only relink if we still exist!
- if (myTail != null)
- {
- // Find the module that's just before our stream tail.
- while (myTail.next () != this.streamTail_)
- myTail = myTail.next ();
-
- // Restore the writer's next() link to our tail.
- myTail.writer ().next (this.streamTail_.writer ());
- }
-
- Module otherTail = this.linkedUs_.streamHead_;
-
- // Only fiddle with the other side if it in fact still remains.
- if (otherTail != null)
- {
- while (otherTail.next () != this.linkedUs_.streamTail_)
- otherTail = otherTail.next ();
-
- otherTail.writer ().next (this.linkedUs_.streamTail_.writer ());
-
- }
-
- // Make sure the other side is also aware that it's been unlinked!
- this.linkedUs_.linkedUs_ = null;
-
- this.linkedUs_ = null;
- return 0;
- }
- else
- return -1;
- }
-
- public synchronized int unlink ()
- {
- return this.unlinkInternal ();
- }
-
- public void dump ()
- {
- ACE.DEBUG ("-------- module links --------");
-
- for (Module mp = this.streamHead_; ; mp = mp.next ())
- {
- ACE.DEBUG ("module name = " + mp.name ());
- if (mp == this.streamTail_)
- break;
- }
-
- ACE.DEBUG ("-------- writer links --------");
-
- Task tp;
-
- for (tp = this.streamHead_.writer (); ; tp = tp.next ())
- {
- ACE.DEBUG ("writer queue name = " + tp.name ());
- tp.dump ();
- ACE.DEBUG ("-------\n");
- if (tp == this.streamTail_.writer ()
- || (this.linkedUs_ != null && tp == this.linkedUs_.streamHead_.reader ()))
- break;
- }
-
- ACE.DEBUG ("-------- reader links --------\n");
- for (tp = this.streamTail_.reader (); ; tp = tp.next ())
- {
- ACE.DEBUG ("reader queue name = " + tp.name ());
- tp.dump ();
- ACE.DEBUG ("-------\n");
- if (tp == this.streamHead_.reader ()
- || (this.linkedUs_ != null && tp == this.linkedUs_.streamHead_.writer ()))
- break;
- }
- }
-
- Module streamHead_ = null;
- // Pointer to the head of the stream.
-
- Module streamTail_ = null;
- // Pointer to the tail of the stream.
-
- Stream linkedUs_ = null;
- // Pointer to an adjoining linked stream.
-
- // = Synchronization objects used for thread-safe streams.
- // ACE_SYNCH_MUTEX lock_;
- // Protect the stream against race conditions.
-
- // ACE_SYNCH_CONDITION final_close_;
- // Use to tell all threads waiting on the close that we are done.
-
-}
-
-
diff --git a/java/src/StreamHead.java b/java/src/StreamHead.java
deleted file mode 100644
index fc4419d819e..00000000000
--- a/java/src/StreamHead.java
+++ /dev/null
@@ -1,127 +0,0 @@
-/*************************************************
- *
- * = PACKAGE
- * JACE.ASX
- *
- * = FILENAME
- * StreamHead.java
- *
- *@author Prashant Jain
- *
- *************************************************/
-package JACE.ASX;
-
-import JACE.OS.*;
-
-/**
- * <hr>
- * <h2>SYNOPSIS</h2>
- *<blockquote>
- * Standard module that acts as the head of a ustream.
- *</blockquote>
- */
-
-public class StreamHead extends Task
-{
- // Module that acts as the head of a Stream.
-
- public int open (Object obj)
- {
- return 0;
- }
-
- public int close (long l)
- {
- return 0;
- }
-
- public int svc ()
- {
- return -1;
- }
-
- private int control (MessageBlock mb)
- {
-
- IOCntlMsg ioc = (IOCntlMsg) mb.obj ();
- int cmd = ioc.cmd ();
-
- switch (cmd)
- {
- case IOCntlCmds.SET_LWM:
- case IOCntlCmds.SET_HWM:
- this.waterMarks (cmd, mb.cont ().length ());
- ioc.rval (0);
- break;
- default:
- return 0;
- }
- return ioc.rval ();
- }
-
- /* Performs canonical flushing at the ACE_Stream Head */
-
- private int canonicalFlush (MessageBlock mb)
- {
- String s = mb.base ();
- long f = (new Long (s)).longValue ();
-
- if ((f & TaskFlags.ACE_FLUSHR) != 0)
- {
- this.flush (TaskFlags.ACE_FLUSHALL);
- f &= ~TaskFlags.ACE_FLUSHR;
- }
- if ((f & TaskFlags.ACE_FLUSHW) != 0)
- return this.reply (mb, null);
- return 0;
- }
-
- // Will block forever to add the given MessageBlock
- public int put (MessageBlock mb)
- {
- return this.put (mb, null);
- }
-
- // tv is absolute time
- public int put (MessageBlock mb, TimeValue tv)
- {
- int res = 0;
- if (mb.msgType () == MessageType.MB_IOCTL
- && (res = this.control (mb)) == -1)
- return res;
-
- if (this.isWriter ())
- {
- return this.putNext (mb, tv);
- }
- else /* this.isReader () */
- {
- switch (mb.msgType ())
- {
- case MessageType.MB_FLUSH:
- return this.canonicalFlush (mb);
- default:
- break;
- }
-
- try
- {
- return this.putq (mb, tv);
- }
- catch (InterruptedException e)
- {
- return -1;
- }
- }
- }
-
- public void dump ()
- {
- }
-
- public int handleTimeout (TimeValue tv, Object obj)
- {
- return 0;
- }
-
-}
diff --git a/java/src/StreamTail.java b/java/src/StreamTail.java
deleted file mode 100644
index 1c28c676c9c..00000000000
--- a/java/src/StreamTail.java
+++ /dev/null
@@ -1,119 +0,0 @@
-/*************************************************
- *
- * = PACKAGE
- * JACE.ASX
- *
- * = FILENAME
- * StreamTail.java
- *
- *@author Prashant Jain
- *
- *************************************************/
-package JACE.ASX;
-
-import JACE.OS.*;
-
-/**
- * <hr>
- * <h2>SYNOPSIS</h2>
- *<blockquote>
- * Standard module that acts as the tail of a ustream.
- *</blockquote>
- */
-
-public class StreamTail extends Task
-{
- // Module that acts as the tail of a Stream.
-
- public int open (Object obj)
- {
- return 0;
- }
-
- public int close (long l)
- {
- return 0;
- }
-
- public int svc ()
- {
- return -1;
- }
-
- private int control (MessageBlock mb)
- {
- IOCntlMsg ioc = (IOCntlMsg) mb.obj ();
- int cmd = ioc.cmd ();
-
- switch (cmd)
- {
- case IOCntlCmds.SET_LWM:
- case IOCntlCmds.SET_HWM:
- {
- int size = mb.cont ().length ();
-
- this.waterMarks (cmd, size);
- this.sibling ().waterMarks (cmd, size);
- ioc.rval (0);
- break;
- }
- default:
- mb.msgType (MessageType.MB_IOCNAK);
- }
- return this.reply (mb, null);
- }
-
- // Perform flush algorithm as though we were the driver
- private int canonicalFlush (MessageBlock mb)
- {
- String s = mb.base ();
- long f = (new Long (s)).longValue ();
-
- if ((f & TaskFlags.ACE_FLUSHW) != 0)
- {
- this.flush (TaskFlags.ACE_FLUSHALL);
- f &= ~TaskFlags.ACE_FLUSHW;
- }
- if ((f & TaskFlags.ACE_FLUSHR) != 0)
- {
- this.sibling ().flush (TaskFlags.ACE_FLUSHALL);
- return this.reply (mb, null);
- }
- return 0;
- }
-
- // put the given MessageBlock without a timeout (block forever if
- // necessary)
- public int put (MessageBlock mb)
- {
- return this.put (mb, null);
- }
-
- // tv is an absolute time timeout
- public int put (MessageBlock mb, TimeValue tv)
- {
- if (this.isWriter ())
- {
- switch (mb.msgType ())
- {
- case MessageType.MB_IOCTL:
- return this.control (mb);
- /* NOTREACHED */
- default:
- break;
- }
- }
-
- return -1;
- }
-
- public void dump ()
- {
- }
-
- public int handleTimeout (TimeValue tv, Object obj)
- {
- return 0;
- }
-
-}
diff --git a/java/src/SuspendNode.java b/java/src/SuspendNode.java
deleted file mode 100644
index 5b16a368458..00000000000
--- a/java/src/SuspendNode.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/*************************************************
- *
- * = PACKAGE
- * JACE.ServiceConfigurator
- *
- * = FILENAME
- * SuspendNode.java
- *
- * Used when a service is specified to be suspended based on a line
- * in a service configurator file. The actual implementation of the
- * service being suspended does the work.
- *
- *@author Everett Anderson
- *
- *************************************************/
-package JACE.ServiceConfigurator;
-
-import java.io.*;
-import JACE.OS.*;
-
-class SuspendNode extends ParseNode
-{
- public SuspendNode ()
- {
- }
-
- public void apply ()
- {
- ACE.DEBUG("Suspend Node apply: " + this.name_);
-
- if (JACE.ServiceConfigurator.ServiceConfig.suspend(this.name_) == -1)
- ACE.ERROR("Error suspending " + this.name_);
- }
-};
diff --git a/java/src/SvcHandler.java b/java/src/SvcHandler.java
deleted file mode 100644
index 17bac41a62d..00000000000
--- a/java/src/SvcHandler.java
+++ /dev/null
@@ -1,85 +0,0 @@
-/*************************************************
- *
- * = PACKAGE
- * JACE.Connection
- *
- * = FILENAME
- * SvcHandler.java
- *
- *@author Prashant Jain
- *
- *************************************************/
-package JACE.Connection;
-
-import java.io.*;
-import java.net.*;
-import JACE.SOCK_SAP.*;
-import JACE.ASX.*;
-import JACE.Reactor.*;
-
-public abstract class SvcHandler extends Task
-{
-
- /**
- * Do nothing constructor.
- */
- public SvcHandler ()
- {
- }
-
- /**
- * Set the stream using the SOCKStream passed in. This sets the
- * underlying peer
- *@param s SOCK Stream to use for the connection
- */
- public void setHandle (SOCKStream s) throws IOException
- {
- this.stream_ = s;
- }
-
- /**
- * Get the underlying peer
- *@return the underlying peer
- */
- public SOCKStream peer ()
- {
- return this.stream_;
- }
-
- /**
- * Abstract method that subclasses must define to allow
- * initialization to take place.
- */
- public abstract int open (Object obj);
-
- /**
- * Provide a default implementation to simplify ancestors.
- *@return 0
- */
- public int close (long flags)
- {
- return 0;
- }
-
- /**
- * Provide a default implementation to simplify ancestors.
- *@return -1
- */
- public int put (MessageBlock mb, TimeValue tv)
- {
- return -1;
- }
-
- /**
- * Provide a default implementation to simplify ancestors.
- *@param tv Time Value when the event occured
- *@param obj An arbitrary object that was passed to the Timer Queue
- * (Asynchronous Completion Token)
- */
- public int handleTimeout (TimeValue tv, Object obj)
- {
- return -1;
- }
-
- protected SOCKStream stream_;
-}
diff --git a/java/src/Task.java b/java/src/Task.java
deleted file mode 100644
index 825254e69a8..00000000000
--- a/java/src/Task.java
+++ /dev/null
@@ -1,439 +0,0 @@
-/*************************************************
- *
- * = PACKAGE
- * JACE.ASX
- *
- * = FILENAME
- * Task.java
- *
- *@author Prashant Jain
- *
- *************************************************/
-package JACE.ASX;
-
-import JACE.OS.*;
-import JACE.Reactor.*;
-import JACE.Concurrency.*;
-
-public abstract class Task implements Runnable, EventHandler
-{
- // = Initialization/termination methods.
-
- /**
- * Initialize a Task. Note, we allocate a message queue ourselves.
- */
- public Task ()
- {
- this.msgQueue_ = new MessageQueue ();
- this.thrMgr_ = null;
- }
-
- /**
- * Initialize a Task. Note, we use the message queue and thread
- * manager supplied by the user.
- *@param mq Message Queue to hold list of messages on the Task
- *@param thrMgr Thread Manager that manages all the spawned threads
- */
- public Task (MessageQueue mq,
- ThreadManager thrMgr)
- {
- this.msgQueue_ = mq;
- this.thrMgr_ = thrMgr;
- }
-
- /**
- * Not meant to be invoked by the user directly!. This needs to be
- * in the public interface in order to get invoked by Thread
- * class.
- */
- public void run ()
- {
- this.svc ();
- }
-
- // = Initialization and termination hooks (note that these *must* be
- // defined by subclasses).
-
- /**
- * Hook called to open a Task.
- *@param obj used to pass arbitrary information
- */
- public abstract int open (Object obj);
-
- /**
- * Hook called to close a Task.
- */
- public abstract int close (long flags);
-
- // = Immediate and deferred processing methods, respectively.
-
- /**
- * Transfer a message into the queue to handle immediate
- * processing.
- *@param mb Message Block to handle immediately
- *@param tv Latest time to wait until (absolute time)
- */
- public abstract int put (MessageBlock mb, TimeValue tv);
-
- /**
- * Run by a daemon thread to handle deferred processing. Note, that
- * to do anything useful, this method should be overriden by the
- * subclass.
- *@return default implementation always returns 0.
- */
- public int svc ()
- {
- return 0;
- }
-
- /**
- * Set the underlying Thread Manager.
- *@param t Thread Manager to use
- */
- public synchronized void thrMgr (ThreadManager t)
- {
- this.thrMgr_ = t;
- }
-
- /**
- * Get the Thread Manager.
- *@return Underlying Thread Manager
- */
- public synchronized ThreadManager thrMgr ()
- {
- return this.thrMgr_;
- }
-
- // = Active object method.
-
- /**
- * Turn the task into an active object. That is, having <nThreads>
- * separate threads of control that all invoke Task::svc.
- *@param flags Task Flags
- *@param nThreads number of threads to spawn
- *@param forceActive whether to force creation of new threads or not
- *@return -1 if failure occurs, 1 if Task is already an active
- * object and <forceActive> is false (doesn't *not* create a new
- * thread in this case), and 0 if Task was not already an active
- * object and a thread is created successfully or thread is an active
- * object and <forceActive> is true.
- */
- public synchronized int activate (long flags, int nThreads, boolean forceActive)
- {
- // Create a Thread Manager if we do not already have one
- if (this.thrMgr_ == null)
- this.thrMgr_ = new ThreadManager ();
-
- if (this.thrCount () > 0 && forceActive == false)
- return 1; // Already active.
- this.flags_ = flags;
-
- if (ACE.BIT_ENABLED (flags, TaskFlags.THR_DAEMON))
- this.thrMgr_.spawnN (nThreads, this, true); // Spawn off all threads as daemon threads
- else // Spawn off all threads as normal threads
- this.thrMgr_.spawnN (nThreads, this, false);
-
- return 0;
- }
-
- // = Suspend/resume a Task
-
- /**
- * Suspend a task.
- */
- public synchronized void suspend ()
- {
- // Suspend all threads
- if (this.thrMgr_ != null)
- this.thrMgr_.thrGrp ().suspend ();
- }
-
- /**
- * Resume a suspended task.
- */
- public synchronized void resume ()
- {
- // Resume all threads
- if (this.thrMgr_ != null)
- this.thrMgr_.thrGrp ().resume ();
- }
-
- /**
- * Get the current group name.
- *@return name of the current thread group
- */
- public synchronized String grpName ()
- {
- if (this.thrMgr_ != null)
- return this.thrMgr_.thrGrp ().getName ();
- else
- return null;
- }
-
- /**
- * Get the message queue associated with this task.
- *@return the message queue associated with this task.
- */
- public MessageQueue msgQueue ()
- {
- return this.msgQueue_;
- }
-
- /**
- * Set the message queue associated with this task.
- *@param mq Message Queue to use with this Task.
- */
- public void msgQueue (MessageQueue mq)
- {
- this.msgQueue_ = mq;
- }
-
- /**
- * Get the number of threads currently running within the Task.
- *@return the number of threads currently running within the Task.
- * 0 if we're a passive object, else > 0.
- */
- public synchronized int thrCount ()
- {
- if (this.thrMgr_ != null)
- return this.thrMgr_.thrGrp ().activeCount ();
- else
- return 0;
- }
-
- /**
- * Set the Task flags
- *@param flags Task Flags
- */
- public synchronized void flags (long flags)
- {
- this.flags_ = flags;
- }
-
- /**
- * Get the Task flags
- *@return Task Flags
- */
- public synchronized long flags ()
- {
- return this.flags_;
- }
-
- // = Message queue manipulation methods.
-
-
- /*
- * Dump debug information.
- */
- public void dump ()
- {
- }
-
- /**
- * Insert a message into the queue, blocking forever if necessary.
- *@param mb Message Block to insert
- *@exception java.lang.InterruptedException Interrupted while accessing queue
- */
- protected int putq (MessageBlock mb) throws InterruptedException
- {
- return this.putq(mb, null);
- }
-
- /**
- * Insert message into the message queue.
- *@param mb Message Block to insert into the Message Queue
- *@param tv time to wait until (absolute time)
- *@exception java.lang.InterruptedException Interrupted while accessing queue
- */
- protected int putq (MessageBlock mb, TimeValue tv) throws InterruptedException
- {
- return this.msgQueue_.enqueueTail (mb, tv);
- }
-
- /**
- * Extract the first message from the queue, blocking forever if
- * necessary.
- *@return the first Message Block from the Message Queue.
- *@exception InterrupteException Interrupted while accessing queue
- */
- protected MessageBlock getq() throws InterruptedException
- {
- return this.getq(null);
- }
-
- /**
- * Extract the first message from the queue. Note that the call is blocking.
- *@return the first Message Block from the Message Queue.
- *@param tv Latest time to wait until (absolute time)
- *@exception java.lang.InterruptedException Interrupted while accessing queue
- */
- protected MessageBlock getq (TimeValue tv) throws InterruptedException
- {
- return this.msgQueue_.dequeueHead (tv);
- }
-
- /**
- * Return a message back to the queue.
- *@param mb Message Block to return back to the Message Queue
- *@param tv Latest time to wait until (absolute time)
- *@exception java.lang.InterruptedException Interrupted while accessing queue
- */
- protected int ungetq (MessageBlock mb, TimeValue tv) throws InterruptedException
- {
- return this.msgQueue_.enqueueHead (mb, tv);
- }
-
- /**
- * Transfer message to the adjacent ACETask in an ACEStream.
- *@param mb Message Block to transfer to the adjacent Task
- *@param tv Latest time to wait until (absolute time)
- *@return -1 if there is no adjacent Task, else the return value of
- * trying to put the Message Block on that Task's Message Queue.
- */
- protected int putNext (MessageBlock mb, TimeValue tv)
- {
- return this.next_ == null ? -1 : this.next_.put (mb, tv);
- }
-
- /**
- * Turn the message back around. Puts the message in the sibling's
- * Message Queue.
- *@param mb Message Block to put into sibling's Message Queue
- *@param tv Latest time to wait until (absolute time)
- *@return -1 if there is no adjacent Task to the sibling, else the
- * return value of trying to put the Message Block on sibling's
- * Message Queue.
- */
- protected int reply (MessageBlock mb, TimeValue tv)
- {
- return this.sibling ().putNext (mb, tv);
- }
-
- // = ACE_Task utility routines to identify names et al.
-
- /**
- * Get the name of the enclosing Module.
- *@return the name of the enclosing Module if there's one associated
- * with the Task, else null.
- */
- protected String name ()
- {
- if (this.mod_ == null)
- return null;
- else
- return this.mod_.name ();
- }
-
- /**
- * Get the Task's sibling.
- *@return the Task's sibling if there's one associated with the
- * Task's Module, else null.
- */
- protected Task sibling ()
- {
- if (this.mod_ == null)
- return null;
- else
- return this.mod_.sibling (this);
- }
-
- /**
- * Set the Task's module.
- *@param mod the Task's Module.
- */
- protected void module (Module mod)
- {
- this.mod_ = mod;
- }
-
- /**
- * Get the Task's module.
- *@return the Task's Module if there is one, else null.
- */
- protected Module module ()
- {
- return this.mod_;
- }
-
- /**
- * Check if queue is a reader.
- *@return true if queue is a reader, else false.
- */
- protected boolean isReader ()
- {
- return (ACE.BIT_ENABLED (this.flags_, TaskFlags.ACE_READER));
- }
-
- /**
- * Check if queue is a writer.
- *@return true if queue is a writer, else false.
- */
- protected boolean isWriter ()
- {
- return (ACE.BIT_DISABLED (this.flags_, TaskFlags.ACE_READER));
- }
-
- // = Pointers to next ACE_Queue (if ACE is part of an ACE_Stream).
-
- /**
- * Get next Task pointer.
- *@return pointer to the next Task
- */
- protected Task next ()
- {
- return this.next_;
- }
-
- /**
- * Set next Task pointer.
- *@param task next task pointer
- */
- protected void next (Task task)
- {
- this.next_ = task;
- }
-
- // Special routines corresponding to certain message types.
-
- /**
- * Flush the Message Queue
- *@return 0 if Message Queue is null, 1 if flush succeeds, -1 if
- * ACE_FLUSHALL bit is not enabled in flags.
- */
- protected int flush (long flag)
- {
- if (ACE.BIT_ENABLED (flag, TaskFlags.ACE_FLUSHALL))
- return (this.msgQueue_ == null ? 0 : 1);
- else
- return -1;
- }
-
-
- /**
- * Manipulate watermarks.
- *@param cmd IOCntlCmd
- *@param size watermark
- */
- protected void waterMarks (int cmd, int size)
- {
- if (cmd == IOCntlCmds.SET_LWM)
- this.msgQueue_.lowWaterMark (size);
- else /* cmd == IOCntlMsg.SET_HWM */
- this.msgQueue_.highWaterMark (size);
- }
-
- private ThreadManager thrMgr_ = null;
- // Thread_Manager that manages all the spawned threads
-
- private long flags_;
- // Task flags.
-
- private MessageQueue msgQueue_;
- // List of messages on the Task..
-
- private Task next_;
- // Adjacent ACE_Task.
-
- private Module mod_;
- // Back-pointer to the enclosing module.
-}
diff --git a/java/src/TaskFlags.java b/java/src/TaskFlags.java
deleted file mode 100644
index 590e514b5e2..00000000000
--- a/java/src/TaskFlags.java
+++ /dev/null
@@ -1,44 +0,0 @@
-/*************************************************
- *
- * = PACKAGE
- * JACE.ASX
- *
- * = FILENAME
- * TaskFlags.java
- *
- *@author Prashant Jain
- *
- *************************************************/
-package JACE.ASX;
-
-public abstract class TaskFlags
-{
- /** Identifies a Task as being the "reader" in a Module. */
- public static final int ACE_READER = 01;
-
- /** Just flush data messages in the queue. */
- public static final int ACE_FLUSHDATA = 02;
-
- /** Flush all messages in the Queue. */
- public static final int ACE_FLUSHALL = 04;
-
- /** Flush read queue */
- public static final int ACE_FLUSHR = 010;
-
- /** Flush write queue */
- public static final int ACE_FLUSHW = 020;
-
- /** Flush both queues */
- public static final int ACE_FLUSHRW = 030;
-
- /** Identifies a thread as suspended */
- public static final int THR_SUSPENDED = 0x00000080;
-
- /** Identifies a thread as a daemon thread */
- public static final int THR_DAEMON = 0x00000100;
-
- // Default private constructor to avoid instantiation
- private TaskFlags ()
- {
- }
-}
diff --git a/java/src/ThreadManager.java b/java/src/ThreadManager.java
deleted file mode 100644
index 5043d26511e..00000000000
--- a/java/src/ThreadManager.java
+++ /dev/null
@@ -1,109 +0,0 @@
-/*************************************************
- *
- * = PACKAGE
- * JACE.Concurrency
- *
- * = FILENAME
- * ThreadManager.java
- *
- *@author Prashant Jain
- *
- *************************************************/
-package JACE.Concurrency;
-
-import java.util.*;
-import JACE.OS.*;
-
-public class ThreadManager
-{
- /**
- * Default constructor
- */
- public ThreadManager ()
- {
- this (ACE.DEFAULT_THREAD_GROUP_NAME);
- }
-
- /**
- * Create a Thread Manager.
- *@param groupName name of the thread group that the Thread Manager
- * will manage
- */
- public ThreadManager (String groupName)
- {
- this.thrGrp_ = new ThreadGroup (groupName);
- if (this.thrGrp_ == null)
- ACE.ERROR ("Thread group create failed");
- }
-
- /**
- * Create a new thread.
- *@param thr the caller whose run method will be invoked when the
- * thread has been spawned
- *@param daemon flag indicating whether the thread should be
- * spawned off as a daemon thread
- */
- public void spawn (Runnable thr,
- boolean daemon)
- {
- Thread t = new Thread (this.thrGrp_, thr);
- if (daemon) // Set the thread to be a daemon thread
- t.setDaemon (true);
- t.start ();
- }
-
- /**
- * Create a new thread and also give it a name.
- *@param thr the caller whose run method will be invoked when the
- * thread has been spawned
- *@param threadName the name of the new thread
- *@param daemon flag indicating whether the thread should be
- * spawned off as a daemon thread
- */
- public void spawn (Runnable thr,
- String threadName,
- boolean daemon)
- {
- Thread t = new Thread (this.thrGrp_, thr, threadName);
- if (daemon) // Set the thread to be a daemon thread
- t.setDaemon (true);
- t.start ();
- }
-
-
- /**
- * Create <n> new threads.
- *@param n the number of threads to spawn
- *@param thr the caller whose run method will be invoked by each of
- * the <n> threads
- *@param daemon flag indicating whether the threads should be
- * spawned off as daemon threads
- */
- public void spawnN (int n,
- Runnable thr,
- boolean daemon)
- {
- // Spawn off all the threads.
- for (int i = 0; i < n; i++)
- {
- this.spawn (thr, daemon);
- }
- }
-
- /**
- * Get the thread group containing all the threads. Note that the
- * thread group can be used to get information regarding number of
- * active threads as well as to suspend/resume all the threads in
- * the group.
- *@return the thread group that contains all the threads managed by
- * the Thread Manager
- */
- public ThreadGroup thrGrp ()
- {
- return this.thrGrp_;
- }
-
- private ThreadGroup thrGrp_;
- // Thread Group that contains all the spawned threads
-
-}
diff --git a/java/src/ThruTask.java b/java/src/ThruTask.java
deleted file mode 100644
index aebc8eb1f48..00000000000
--- a/java/src/ThruTask.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/*************************************************
- *
- * = PACKAGE
- * JACE.ASX
- *
- * = FILENAME
- * ThruTask.java
- *
- *@author Prashant Jain
- *
- *************************************************/
-package JACE.ASX;
-
-/**
- * <hr>
- * <h2>SYNOPSIS</h2>
- *<blockquote>
- * Standard module that acts as a "no op", simply passing on all
- * data to its adjacent neighbor.
- *</blockquote>
- */
-public class ThruTask extends Task
-{
- public int open (Object obj)
- {
- return 0;
- }
-
- public int close (long flags)
- {
- return 0;
- }
-
- public int put (MessageBlock msg, TimeValue tv)
- {
- return this.putNext (msg, tv);
- }
-
- public int svc ()
- {
- return -1;
- }
-
- public int handleTimeout (TimeValue tv, Object obj)
- {
- return 0;
- }
-}
diff --git a/java/src/TimeValue.java b/java/src/TimeValue.java
deleted file mode 100644
index 274fdd8cc3d..00000000000
--- a/java/src/TimeValue.java
+++ /dev/null
@@ -1,285 +0,0 @@
-/*************************************************
- *
- * = PACKAGE
- * JACE.Reactor
- *
- * = FILENAME
- * TimeValue.java
- *
- *@author Prashant Jain
- *
- *************************************************/
-//package JACE.Reactor;
-package JACE.ASX;
-
-public class TimeValue
-{
- public final static TimeValue zero = new TimeValue (0,0);
-
- /**
- * Default constructor. This creates a TimeValue that is
- * equal to TimeValue.zero.
- */
- public TimeValue ()
- {
- this (0, 0);
- }
-
- /**
- * Constructor
- *@param sec seconds
- */
- public TimeValue (long sec)
- {
- this (sec, 0);
- }
-
- /**
- * Constructor
- *@param sec seconds
- *@param nanos nanoseconds
- */
- public TimeValue (long sec, int nanos)
- {
- this.set (sec, nanos);
- }
-
- /**
- * Sets the seconds and nanoseconds of Time Value
- *@param sec seconds
- *@param nanos nanoseconds
- */
- public void set (long sec, int nanos)
- {
- this.millisec_ = sec * 1000;
- this.nanos_ = nanos;
- this.normalize ();
- }
-
- /**
- * Get seconds
- *@return Seconds
- */
- public long sec ()
- {
- return this.millisec_/1000;
- }
-
- /**
- * Get nanoseconds
- *@return Nanoseconds
- */
- public int nanos ()
- {
- return this.nanos_;
- }
-
- /**
- * Get time in milliseconds.
- *@return time in milliseconds
- */
- public long getMilliTime ()
- {
- return this.millisec_;
- }
-
- /**
- * Get a String representation of the Time Value.
- *@return String representation of the Time Value
- */
- public String toString ()
- {
- return (new Long (this.millisec_/1000)).toString () + ":" +
- (new Integer (this.nanos_)).toString ();
- }
-
- /**
- * Get current time.
- *@return the current system time as a new TimeValue
- */
- public static TimeValue getTimeOfDay ()
- {
- return new TimeValue (System.currentTimeMillis ()/1000);
- }
-
- /**
- * Return a new TimeValue that represents the current system time
- * of day offset by the given number of seconds and nanoseconds.
- *@param sec Number of seconds to offset by
- *@param nanos Number of nanoseconds to offset by
- *@see JACE.ASX.TimeValue
- *@return TimeValue for the system time plus the given offset
- */
- public static TimeValue relativeTimeOfDay(long sec, int nanos)
- {
- return new TimeValue ((System.currentTimeMillis() / 1000) + sec,
- nanos);
- }
-
- /**
- * Return a new TimeValue that represents the current system time
- * of day offset by the given TimeValue.
- *@param tv TimeValue to offset by
- *@see JACE.ASX.TimeValue
- *@return TimeValue for the system time plus the given offset
- */
- public static TimeValue relativeTimeOfDay(TimeValue offset)
- {
- return new TimeValue ((System.currentTimeMillis() / 1000) +
- offset.sec(),
- offset.nanos());
- }
-
- /**
- * Compare two Time Values for equality.
- *@param tv Time Value to compare with
- *@return true if the two Time Values are equal, false otherwise
- */
- public boolean equals (TimeValue tv)
- {
- return this.millisec_ == (tv.sec () * 1000) && this.nanos_ == tv.nanos ();
- }
-
- /**
- * Compare two Time Values for non-equality.
- *@param tv Time Value to compare with
- *@return true if the two Time Values are not equal, false otherwise
- */
- public boolean notEquals (TimeValue tv)
- {
- return !this.equals (tv);
- }
-
- /**
- * Add two Time Values.
- *@param tv1 The first Time Value
- *@param tv2 The second Time Value
- *@return sum of the two Time Values.
- */
- public static TimeValue plus (TimeValue tv1, TimeValue tv2)
- {
- TimeValue tv = new TimeValue (tv1.sec () + tv2.sec (),
- tv1.nanos () + tv2.nanos ());
- tv.normalize ();
- return tv;
- }
-
- /**
- * Subtract two Time Values.
- *@param tv1 The first Time Value
- *@param tv2 The second Time Value
- *@return difference of the two Time Values.
- */
- public static TimeValue minus (TimeValue tv1, TimeValue tv2)
- {
- TimeValue tv = new TimeValue (tv1.sec () - tv2.sec (),
- tv1.nanos () - tv2.nanos ());
- tv.normalize ();
- return tv;
- }
-
- /**
- * Add Time Value to "this".
- *@param tv The Time Value to add to this.
- */
- public void plusEquals (TimeValue tv)
- {
- this.set (this.sec () + tv.sec (),
- this.nanos () + tv.nanos ());
- this.normalize ();
- }
-
- /**
- * Subtract Time Value from "this".
- *@param tv The Time Value to subtract from this.
- */
- public void minusEquals (TimeValue tv)
- {
- this.set (this.sec () - tv.sec (),
- this.nanos () - tv.nanos ());
- this.normalize ();
- }
-
- /**
- * Compare two Time Values for less than.
- *@param tv Time Value to compare with
- *@return true if "this" is less than tv, false otherwise
- */
- public boolean lessThan (TimeValue tv)
- {
- return tv.greaterThan (this);
- }
-
- /**
- * Compare two Time Values for greater than.
- *@param tv Time Value to compare with
- *@return true if "this" is greater than tv, false otherwise
- */
- public boolean greaterThan (TimeValue tv)
- {
- if (this.sec () > tv.sec ())
- return true;
- else if (this.sec () == tv.sec ()
- && this.nanos () > tv.nanos ())
- return true;
- else
- return false;
- }
-
- /**
- * Compare two Time Values for <=.
- *@param tv Time Value to compare with
- *@return true if "this" <= tv, false otherwise
- */
- public boolean lessThanEqual (TimeValue tv)
- {
- return tv.greaterThanEqual (this);
- }
-
- /**
- * Compare two Time Values for >=.
- *@param tv Time Value to compare with
- *@return true if "this" >= tv, false otherwise
- */
- public boolean greaterThanEqual (TimeValue tv)
- {
- return this.sec () >= tv.sec () && this.nanos () >= tv.nanos ();
- }
-
- private void normalize ()
- {
- if (this.nanos_ >= ONE_MILLISECOND)
- {
- do
- {
- this.millisec_++;
- this.nanos_ -= ONE_MILLISECOND;
- }
- while (this.nanos_ >= ONE_MILLISECOND);
- }
- else if (this.nanos_ <= -ONE_MILLISECOND)
- {
- do
- {
- this.millisec_--;
- this.nanos_ += ONE_MILLISECOND;
- }
- while (this.nanos_ <= -ONE_MILLISECOND);
- }
-
- if (this.millisec_ >= 1 && this.nanos_ < 0)
- {
- this.millisec_--;
- this.nanos_ += ONE_MILLISECOND;
- }
- else if (this.millisec_ < 0 && this.nanos_ > 0)
- {
- this.millisec_++;
- this.nanos_ -= ONE_MILLISECOND;
- }
- }
-
- private long millisec_;
- private int nanos_;
- private final static int ONE_MILLISECOND = 1000000;
-}
diff --git a/java/src/TimedWait.java b/java/src/TimedWait.java
deleted file mode 100644
index a8f337c086b..00000000000
--- a/java/src/TimedWait.java
+++ /dev/null
@@ -1,150 +0,0 @@
-/*************************************************
- *
- * = PACKAGE
- * JACE.ASX
- *
- * = FILENAME
- * TimedWait.java
- *
- *@author Prashant Jain and Doug Schmidt
- *
- *************************************************/
-package JACE.ASX;
-
-public abstract class TimedWait
-{
- /**
- * Default Constructor. Sets "this" to be used for the delegation of
- * the wait() call to.
- */
- public TimedWait ()
- {
- object_ = this;
- }
-
- /**
- * Constructor. Allows subclasses to supply us with an Object that
- * is delegated the wait() call.
- *@param obj The Object that is delegated the wait() call.
- */
- public TimedWait (Object obj)
- {
- object_ = obj;
- }
-
- /**
- * Hook method that needs to be implemented by subclasses.
- */
- public abstract boolean condition ();
-
- /**
- * Wait until condition becomes true. Note that the method
- * blocks. Also note that this method is final to ensure that no one
- * overrides it.
- * IMPORTANT: This method assumes it is called with the object_'s
- * monitor lock already held.
- *@exception InterruptedException Interrupted during wait
- */
- public final void timedWait () throws InterruptedException
- {
- // Acquire the monitor lock.
- if (!condition ())
- {
- // Only attempt to perform the wait if the condition isn't
- // true initially.
- for (;;)
- {
- // Wait until we are notified.
- object_.wait ();
-
- // Recheck the condition.
- if (condition ())
- break; // Condition became true.
- // else we were falsely notified so go back into wait
- }
- }
- }
-
- /**
- * Template Method that implements the actual timed wait. Note that
- * this method is final to ensure that no one overrides it.
- * IMPORTANT: This method assumes it is called with the object_'s
- * monitor lock already held.
- * If the specified wait time is zero, this checks the condition,
- * then returns on success or throws a TimeoutException on failure.
- *@param tv Absolute time to wait until before throwing an exception
- * if the condition isn't satisfied
- *@exception java.lang.InterruptedException Interrupted during wait
- *@exception JACE.ASX.TimeoutException Reached timeout specified
- */
- public final void timedWait (TimeValue tv)
- throws InterruptedException,
- TimeoutException
- {
- if (tv == null) {
- this.timedWait();
- return;
- }
-
- // Acquire the monitor lock.
- if (!condition ())
- {
- long start = System.currentTimeMillis();
- long waitTime = tv.getMilliTime() - start;
-
- // Safety check since there is a possibility that it is now
- // exactly the same time as the tv. That would cause
- // waitTime to be 0, and since Java's wait(timeout) blocks
- // when timeout is 0, it would mean trouble.
- if (waitTime < 1)
- throw new TimeoutException();
-
- for (;;) {
- // Wait until we are notified.
- object_.wait (waitTime);
-
- // Recheck the condition.
- if (!condition ()) {
-
- long now = System.currentTimeMillis();
-
- // Timed out!
- if (now >= tv.getMilliTime ())
- throw new TimeoutException ();
- else
- // We still have some time left to wait, so adjust the
- // wait_time.
- waitTime = tv.getMilliTime() - now;
- }
- else
- break; // Condition became true.
- }
- }
- }
-
- /**
- * Notify any one thread waiting on the object_.
- * IMPORTANT: This method assumes it is called with the object_'s
- * monitor lock already held.
- */
- public final void signal () {
- object_.notify ();
- }
-
- /**
- * Notify all threads waiting on the object_.
- * IMPORTANT: This method assumes it is called with the object_'s
- * monitor lock already held.
- */
- public final void broadcast () {
- object_.notifyAll ();
- }
-
- /**
- * The object we delegate to. If a subclass gives us a particular
- * object, we use that to delegate to, otherwise, we ``delegate''
- * to ourself (i.e., this).
- */
- protected Object object_;
-
-}
diff --git a/java/src/TimeoutException.java b/java/src/TimeoutException.java
deleted file mode 100644
index b55549938dc..00000000000
--- a/java/src/TimeoutException.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/*************************************************
- *
- * = PACKAGE
- * JACE.ASX
- *
- * = FILENAME
- * TimeoutException.java
- *
- *@author Prashant Jain and Doug Schmidt
- *
- *************************************************/
-package JACE.ASX;
-
-public class TimeoutException extends Exception
-{
- /**
- * Default Constructor.
- */
- public TimeoutException ()
- {
- super ("Timed Out");
- }
-
- /**
- * Constructor.
- *@param timeout The timeout value which expired.
- *@param desc Textual description of the exception
- */
- public TimeoutException (TimeValue timeout, String desc)
- {
- super ("Timed Out in " + timeout + ": " + desc);
- }
-
-}
diff --git a/java/src/TimerQueue.java b/java/src/TimerQueue.java
deleted file mode 100644
index a374a9603cd..00000000000
--- a/java/src/TimerQueue.java
+++ /dev/null
@@ -1,432 +0,0 @@
-/*************************************************
- *
- * = PACKAGE
- * JACE.Reactor
- *
- * = FILENAME
- * TimerQueue.java
- *
- *@author Prashant Jain
- *
- *************************************************/
-package JACE.Reactor;
-
-import java.util.*;
-import JACE.ASX.*;
-
-import JACE.OS.*;
-
-class TimerNode
-{
- public TimerNode (EventHandler handler,
- Object arg,
- TimeValue timerValue,
- TimeValue interval,
- TimerNode next,
- int timerId)
- {
- this.handler_ = handler;
- this.arg_ = arg;
- this.timerValue_ = timerValue;
- this.interval_ = interval;
- this.next_ = next;
- this.timerId_ = timerId;
- }
-
- public EventHandler handler_;
- // Handler to invoke <handleTimeout> on when a timeout occurs.
-
- public Object arg_;
- // Argument to pass to <handleTimeout>.
-
- public TimeValue timerValue_;
- // Time when the timer expires. (absolute time)
-
- public TimeValue interval_;
- // If this is a periodic timer this holds the time until the next
- // timeout.
-
- public TimerNode next_;
- // Pointer to next timer.
-
- public int timerId_;
- // Id of this timer (used to cancel timers before they expire).
-}
-
-class WaitObject extends TimedWait
-{
- public boolean condition ()
- {
- return this.condition_;
- }
-
- public void condition (boolean c)
- {
- this.condition_ = c;
- }
-
- private boolean condition_ = false;
-}
-
-/**
- * <hr>
- * <h2>SYNOPSIS</h2>
- *<blockquote>
- * Class that provides an interface to timers.
- *
- *</blockquote>
- *
- * <h2>DESCRIPTION</h2>
- *<blockquote>
- * This is a simple implementation that keeps a linked list of
- * absolute timers. It allows multiple timers to be scheduled
- * and returns a timer id for each timer scheduled. In addition,
- * it allows periodic timers to be scheduled.
- *</blockquote>
- */
-public class TimerQueue implements Runnable
-{
- /**
- * Constructor.
- *@param createInternalThread flag specifying whether to create an
- * internal thread that runs the event loop. If it is true, a thread
- * is spawned and it runs the event loop, handling all timeout
- * events. If it is false, the caller is then responsible for calling
- * handleEvents () to run the event loop.
- */
- public TimerQueue (boolean createInternalThread)
- {
- this.eventLoopRunning_ = false;
- if (createInternalThread)
- new Thread (this).start ();
- }
-
- /**
- * The thread run method. Do *NOT* call this method! It gets called
- * automatically.
- */
- public void run ()
- {
- this.handleEvents ();
- }
-
- /**
- * Handle timeout events. This forms the event loop and takes care
- * of all scheduling. This method should only be called if the Timer
- * Queue was constructed with the value of createInternalThread as
- * false.
- */
- public void handleEvents ()
- {
- if (!this.eventLoopRunning_)
- {
- // Set the flag indicating that the event loop is now running
- this.eventLoopRunning_ = true;
-
- TimeValue timeout = null;
-
- for (;;)
- {
- synchronized (this.obj_)
- {
- timeout = this.earliestTime ();
-
- try
- {
- // Extract the earliest time from the queue and do a timed wait
- // Note that this does a blocking wait if timeout is null
- this.obj_.timedWait (timeout);
-
- // We have been notified.
- if (this.reset_)
- {
- this.reset_ = false;
- this.obj_.condition (false);
- // Don't need to change the timer since it's an absolute
- // time value.
- }
- }
- catch (TimeoutException e)
- {
- // Timeout occurred. Call handleTimeout on appropriate
- // Event Handlers
- this.dispatchHandlers ();
- }
- catch (InterruptedException e)
- {
- }
- }
- }
- }
- }
-
- /**
- * Check if the queue is empty.
- *@return true if queue is empty, else false.
- */
- boolean isEmpty ()
- {
- return this.head_ == null;
- }
-
- /**
- * Get the node of the earliest node in the TimerQueue.
- *@return the time of the earlier node in the TimerQueue.
- */
- TimeValue earliestTime ()
- {
- synchronized (this.obj_)
- {
- if (!this.isEmpty ())
- return this.head_.timerValue_;
- else
- return null;
- }
- }
-
- /**
- * Schedule an <EventHandler> that will expire after <delta> amount
- * of time. If it expires then <obj> is passed in as the value to
- * the <EventHandler>'s <handleTimeout> callback method. This method
- * returns a timer id that uniquely identifies the timer and can be
- * used to cancel the timer before it expires.
- *@param handler Event Handler that is to be scheduled with the timer
- *@param obj Object that is passed back to the Event Handler when
- * timeout occurs (Asynchronous Completion Token)
- *@param delta amount of time for which to schedule the timer (relative time)
- *@return id of the timer scheduled
- */
- public int scheduleTimer (EventHandler handler,
- Object obj,
- TimeValue delta)
- {
- return this.scheduleTimer (handler, obj, delta, TimeValue.zero);
- }
-
- /**
- * Schedule an <EventHandler> that will expire after <delta> amount
- * of time. If it expires then <obj> is passed in as the value to
- * the <EventHandler>'s <handleTimeout> callback method. If
- * <interval> is != to <TimeValue.zero> then it is used to
- * reschedule the <EventHandler> automatically. This method
- * returns a timer id that uniquely identifies the timer and can be
- * used to cancel the timer before it expires.
- *@param handler Event Handler that is to be scheduled with the timer
- *@param arg Object that is passed back to the Event Handler when
- * timeout occurs (Asynchronous Completion Token)
- *@param delta amount of time for which to schedule the timer (relative time)
- *@param interval amount of time to use to reschedule the timer
- *@return id of the timer scheduled
- */
- public int scheduleTimer (EventHandler handler,
- Object arg,
- TimeValue delta,
- TimeValue interval)
- {
-
- // Increment the sequence number (it will wrap around).
- this.timerId_++;
-
- ACE.DEBUG("scheduleTimer (" + this.timerId_ + "): " +
- delta + ", " + interval);
-
- // futureTime is the current time of day plus the given delta
- TimeValue futureTime = TimeValue.relativeTimeOfDay (delta);
-
- TimerNode node = new TimerNode (handler,
- arg,
- futureTime,
- interval,
- null,
- this.timerId_);
- synchronized (this.obj_)
- {
- // Check if event loop is running. If it is not, then we can
- // just place it at the appropriate place in the queue and
- // don't need to do any notification. If event loop is
- // running, then check if the node is the first node in the
- // queue (either because the queue is empty or because the
- // time for the node is earlier than the currently scheduled
- // timer node).
- if (this.eventLoopRunning_ &&
- (this.isEmpty () || futureTime.lessThan (this.earliestTime ())))
- {
- // Insert the node into (the beginning of) the queue to be
- // scheduled.
- this.reschedule (node);
-
- // Notify the waiting thread so that it can reschedule
- // using the earliest timeout
- this.obj_.notify ();
- }
- else // Place in the appropriate position in the queue.
- {
- this.reschedule (node);
- }
- }
- return this.timerId_;
- }
-
-
- /**
- * Cancel the single timer associated with <timerId>.
- *@param timerId id of the timer that needs to be cancelled.
- *@return Object that was passed in when timer was scheduled
- * (Asynchronous Completion Token).
- */
- public Object cancelTimer (int timerId)
- {
- TimerNode prev = null;
- TimerNode curr = null;
-
- synchronized (this.obj_)
- {
- // Try to locate the TimerNode that matches the timerId.
- for (curr = this.head_;
- curr != null && curr.timerId_ != timerId;
- curr = curr.next_)
- prev = curr;
-
- if (curr != null)
- {
- if (prev == null)
- this.head_ = curr.next_;
- else
- prev.next_ = curr.next_;
-
- return curr.arg_;
- }
- }
- return null;
- }
-
- /**
- * Cancel all timers associated with <Event Handler>.
- *@param handler Event Handler whose associated timers need to be cancelled.
- */
- public void cancelTimer (EventHandler handler)
- {
- TimerNode prev = null;
- TimerNode curr = this.head_;
-
- synchronized (this.obj_)
- {
- while (curr != null)
- {
- if (curr.handler_ == handler)
- {
- if (prev == null)
- {
- this.head_ = curr.next_;
- curr = this.head_;
- }
- else
- {
- prev.next_ = curr.next_;
- curr = prev.next_;
- }
- }
- else
- {
- prev = curr;
- curr = curr.next_;
- }
- }
- }
- }
-
- // Call handleTimeout() on all handlers whose timers have expired.
- private void dispatchHandlers ()
- {
- TimeValue currentTime = TimeValue.getTimeOfDay ();
-
- for (;;)
- {
- if (this.isEmpty () || this.earliestTime ().greaterThan (currentTime))
- break; // There aren't any more timers eligible to expire.
-
- TimerNode expired = this.head_;
- EventHandler handler = expired.handler_;
- Object arg = expired.arg_;
- int result;
-
- this.head_ = this.head_.next_;
-
- // Check whether this is an interval timer.
- if (expired.interval_.greaterThan (TimeValue.zero))
- {
- // Make sure that we skip past values that have already
- // "expired".
- do
- expired.timerValue_.plusEquals (expired.interval_);
- while (expired.timerValue_.lessThanEqual (currentTime));
-
- // Since this is an interval timer, we need to reschedule
- // it.
- this.reschedule (expired);
- }
-
- ACE.DEBUG("handleTimeout " + expired.timerId_);
-
- // Perform the callback.
- result = handler.handleTimeout (currentTime, arg);
-
- if (result == -1)
- this.cancelTimer (handler);
- }
- }
-
- // Reschedule a TimerNode by inserting it at the appropriate
- // position in the queue.
- private void reschedule (TimerNode expired)
- {
- ACE.DEBUG("reschedule " + expired.timerId_ + " for " + expired.timerValue_);
- // *** Shouldn't it use interval here?
-
- if (this.isEmpty () ||
- expired.timerValue_.lessThan (this.earliestTime ()))
- {
- expired.next_ = this.head_;
- this.head_ = expired;
- // Set the condition to true so that the waiting thread can be
- // notified and it can reschedule.
- this.obj_.condition (true);
- this.reset_ = true;
- }
- else
- {
- TimerNode prev = this.head_;
- TimerNode after = this.head_.next_;
-
- // Locate the proper position in the queue.
-
- while (after != null
- && expired.timerValue_.greaterThan (after.timerValue_))
- {
- prev = after;
- after = after.next_;
- }
-
- expired.next_ = after;
- prev.next_ = expired;
- }
- }
-
- private WaitObject obj_ = new WaitObject ();
- // Synchronization object (as well as object to use to do wait on)
-
- private TimerNode head_;
- // Pointer to linked list of TimerHandles.
-
- private int timerId_;
- // Keeps track of the timer id that uniquely identifies each timer.
- // This id can be used to cancel a timer via the <cancel (int)>
- // method.
-
- private boolean reset_;
- // Flag indicating whether to start the wait again
-
- private boolean eventLoopRunning_;
- // Flag indicating whether the event loop is running or not
-}
-
diff --git a/java/src/Token.java b/java/src/Token.java
deleted file mode 100644
index c112acdb653..00000000000
--- a/java/src/Token.java
+++ /dev/null
@@ -1,336 +0,0 @@
-/*************************************************
- *
- * = PACKAGE
- * JACE.Concurrency
- *
- * = FILENAME
- * Token.java
- *
- *@author Prashant Jain
- *
- *************************************************/
-package JACE.Concurrency;
-
-import java.util.*;
-import JACE.ASX.*;
-
-class WaitObject extends TimedWait
-{
- public boolean condition ()
- {
- return this.condition_;
- }
-
- public void condition (boolean c)
- {
- this.condition_ = c;
- }
-
- private boolean condition_ = false;
-}
-
-/**
- * <hr>
- * <h2>SYNOPSIS</h2>
- *<blockquote>
- * Class that acquires, renews, and releases a synchronization
- * token that is serviced in strict FIFO ordering.
- *
- *</blockquote>
- *
- * <h2>DESCRIPTION</h2>
- *<blockquote>
- * This is a general-purpose synchronization mechanism that offers
- * several benefits. For example, it implements "recursive mutex"
- * semantics, where a thread that owns the token can reacquire it
- * without deadlocking. In addition, threads that are blocked
- * awaiting the token are serviced in strict FIFO order as other
- * threads release the token. The solution makes use of the
- * Specific Notification pattern presented by Tom Cargill in
- * "Specific Notification for Java Thread Synchronization," PLoP96.
- *</blockquote>
- */
-public class Token
-{
-
- /**
- * Acquire the token. Note that this will block. The method uses
- * synchronized blocks internally to avoid race conditions. It
- * ignores thread interrupts.
- *@return 0 if acquires without calling <sleepHook>
- * 1 if <sleepHook> is called.
- * -1 if failure occurs (should never happen)
- */
- public int acquire ()
- {
- try
- {
- return this.acquire (null);
- }
- catch (TimeoutException e)
- {
- // This really shouldn't happen since we are supposed to
- // block.
- return -1;
- }
- }
-
- /**
- * Acquire the token. Returns failure
- * Throws a TimeoutException if the token isn't acquired before the
- * given absolute time timeout.
- *@param timeout time (TimeValue) to wait until before throwing a
- * TimeoutException (unless the token is acquired before that).
- * Performs a blocking acquire if the given timeout is null.
- *@return 0 if acquires without calling <sleepHook>
- * 1 if <sleepHook> is called.
- * -1 if failure occurs (timeout)
- */
- public int acquire (TimeValue timeout) throws TimeoutException
- {
- int result = 0;
- WaitObject snl = new WaitObject ();
- boolean mustWait;
- synchronized (snl)
- {
- synchronized (this)
- {
- mustWait = !this.snq_.isEmpty ();
-
- if (mustWait && isOwner ())
- {
- // I am the one who has the token. So just increment
- // the nesting level
- this.nestingLevel_++;
- return 0;
- }
- // Add local lock to the queue
- this.snq_.addElement (snl);
- }
- if (mustWait)
- {
- result = 1;
- sleepHook();
-
- while (mustWait) {
- try {
- snl.timedWait(timeout);
- mustWait = false;
- } catch (InterruptedException e) {
- // must keep waiting
- }
- }
- }
-
- // Set the owner of the token
- setOwner();
- }
- return result;
- }
-
- /**
- * Try to acquire the token. Implements a non-blocking acquire.
- *@return 0 if acquires without calling <sleepHook>
- * -1 if failure occurs
- */
- public synchronized int tryAcquire ()
- {
- int result = 0;
-
- if (this.snq_.isEmpty ())
- {
- // No one has the token, so acquire it
- this.snq_.addElement (new WaitObject ());
-
- setOwner();
- }
- else if (isOwner())
- {
- this.nestingLevel_++;
- }
- // Someone else has the token.
- else
- {
- // Would have to block to acquire the token, so return
- // failure.
- result = -1;
- }
- return result;
- }
-
- /**
- * Method that is called before a thread goes to sleep in an
- * acquire(). This should be overridden by a subclass to define
- * the appropriate behavior before acquire() goes to sleep.
- * By default, this is a no-op.
- */
- public void sleepHook ()
- {
- }
-
- /**
- * An optimized method that efficiently reacquires the token if no
- * other threads are waiting. This is useful for situations where
- * you don't want to degrade the quality of service if there are
- * other threads waiting to get the token. This blocks until it
- * can regain the token.
- *@param requeuePosition Position in the queue where to insert the
- * lock. If requeuePosition == -1 and there are other threads
- * waiting to obtain the token we are queued at the end of the list
- * of waiters. If requeuePosition > -1 then it indicates how many
- * entries to skip over before inserting our thread into the list of
- * waiters (e.g.,requeuePosition == 0 means "insert at front of the
- * queue").
- */
- public void renew (int requeuePosition)
- {
- try
- {
- this.renew (requeuePosition, null);
- }
- catch (TimeoutException e)
- {
- // This really shouldn't happen since we are supposed to
- // block.
- }
- }
-
- /**
- * An optimized method that efficiently reacquires the token if no
- * other threads are waiting. This is useful for situations where
- * you don't want to degrade the quality of service if there are
- * other threads waiting to get the token. If the given TimeValue
- * is null, it's the same as calling renew(int requeuePosition).
- *@param requeuePosition Position in the queue where to insert the
- * lock. If requeuePosition == -1 and there are other threads
- * waiting to obtain the token we are queued at the end of the list
- * of waiters. If requeuePosition > -1 then it indicates how many
- * entries to skip over before inserting our thread into the list of
- * waiters (e.g.,requeuePosition == 0 means "insert at front of the
- * queue").
- *@param timeout Throw a TimeoutException if the token isn't renewed
- * before this absolute time timeout.
- *@exception TimeoutException exception if timeout occurs
- */
- public void renew (int requeuePosition, TimeValue timeout)
- throws TimeoutException
- {
- WaitObject snl = null;
- int saveNestingLevel = 0;
-
- synchronized (this)
- {
- // Check if there is a thread waiting to acquire the token. If
- // not or if requeuePosition == 0, then we don't do anything
- // and we simply keep the token.
- if (this.snq_.size () > 1 && requeuePosition != 0)
- {
- // Save the nesting level
- saveNestingLevel = this.nestingLevel_;
- this.nestingLevel_ = 0;
-
- // Reinsert ourselves at requeuePosition in the queue
- snl = (WaitObject) this.snq_.firstElement ();
- this.snq_.removeElementAt (0);
-
- if (requeuePosition < 0)
- this.snq_.addElement (snl); // Insert at end
- else
- this.snq_.insertElementAt (snl, Math.min(requeuePosition,
- this.snq_.size()));
-
- synchronized (this.snq_.firstElement ())
- {
- // Notify the first waiting thread in the queue
- WaitObject obj = (WaitObject) this.snq_.firstElement ();
- // Set its condition to be true so that it falls out
- // of the for loop
- obj.condition (true);
- // Now signal the thread
- obj.signal ();
- }
- }
- }
-
- // Check if we reinserted the lock in the queue and therefore need
- // to do a wait
- if (snl != null)
- {
- synchronized (snl)
- {
- // Set the condition to be false so that we can begin the
- // wait
- snl.condition (false);
- // Wait until the given absolute time (or until notified
- // if the timeout is null)
- boolean mustWait = true;
- while (mustWait) {
- try {
- snl.timedWait (timeout);
- mustWait = false;
- } catch (InterruptedException e) {
- // must keep waiting
- }
- }
- }
- // Restore the nesting level and current owner of the lock
- this.nestingLevel_ = saveNestingLevel;
-
- // Set the owner of the token
- setOwner();
- }
- }
-
- /**
- * Release the token. It is safe for non-owners to call
- * this.
- */
- public synchronized void release ()
- {
- if (!isOwner())
- return;
-
- // Check if nestingLevel > 0 and if so, decrement it
- if (this.nestingLevel_ > 0)
- this.nestingLevel_--;
- else
- {
- this.snq_.removeElementAt (0);
- if (!this.snq_.isEmpty ())
- {
- synchronized (this.snq_.firstElement ())
- {
- // Notify the first waiting thread in the queue
- WaitObject obj = (WaitObject) this.snq_.firstElement ();
- // Set its condition to be true so that it falls out
- // of the for loop
- obj.condition (true);
- // Now signal the thread
- obj.signal ();
- }
- }
- }
- }
-
- // The next two methods allow subclasses to change the behavior of the
- // checking and setting the Object owner_ member variable. The default
- // is to use the current Thread's toString() as the Object.
- protected void setOwner() {
- this.owner_ = Thread.currentThread().toString();
- }
-
- protected boolean isOwner() {
- return Thread.currentThread().toString().equals(this.owner_);
- }
-
- private Vector snq_ = new Vector ();
- // Vector of lock objects
-
- private int nestingLevel_ = 0;
- // Current Nesting Level
-
- private Object owner_ = null;
- // Current owner of the token. The setOwner() and isOwner()
- // methods provide subclasses with the ability to change the
- // behavior. The default is to use the Thread.toString().
-}
diff --git a/java/tests/ASX/BufferStreamTest.dsp b/java/tests/ASX/BufferStreamTest.dsp
deleted file mode 100644
index 6a6b5107a4d..00000000000
--- a/java/tests/ASX/BufferStreamTest.dsp
+++ /dev/null
@@ -1,73 +0,0 @@
-# Microsoft Developer Studio Project File - Name="BufferStreamTest" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 6.00
-# ** DO NOT EDIT **
-
-# TARGTYPE "Java Virtual Machine Java Project" 0x0809
-
-CFG=BufferStreamTest - Java Virtual Machine Debug
-!MESSAGE This is not a valid makefile. To build this project using NMAKE,
-!MESSAGE use the Export Makefile command and run
-!MESSAGE
-!MESSAGE NMAKE /f "BufferStreamTest.mak".
-!MESSAGE
-!MESSAGE You can specify a configuration when running NMAKE
-!MESSAGE by defining the macro CFG on the command line. For example:
-!MESSAGE
-!MESSAGE NMAKE /f "BufferStreamTest.mak"\
- CFG="BufferStreamTest - Java Virtual Machine Debug"
-!MESSAGE
-!MESSAGE Possible choices for configuration are:
-!MESSAGE
-!MESSAGE "BufferStreamTest - Java Virtual Machine Release" (based on\
- "Java Virtual Machine Java Project")
-!MESSAGE "BufferStreamTest - Java Virtual Machine Debug" (based on\
- "Java Virtual Machine Java Project")
-!MESSAGE
-
-# Begin Project
-# PROP Scc_ProjName ""
-# PROP Scc_LocalPath ""
-JAVA=jvc.exe
-
-!IF "$(CFG)" == "BufferStreamTest - Java Virtual Machine Release"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir ""
-# PROP BASE Intermediate_Dir ""
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "..\..\classes-r"
-# PROP Intermediate_Dir ""
-# PROP Target_Dir ""
-# ADD BASE JAVA /O
-# ADD JAVA /O
-
-!ELSEIF "$(CFG)" == "BufferStreamTest - Java Virtual Machine Debug"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir ""
-# PROP BASE Intermediate_Dir ""
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "..\..\classes"
-# PROP Intermediate_Dir ""
-# PROP Target_Dir ""
-# ADD BASE JAVA /g
-# ADD JAVA /g
-
-!ENDIF
-
-# Begin Target
-
-# Name "BufferStreamTest - Java Virtual Machine Release"
-# Name "BufferStreamTest - Java Virtual Machine Debug"
-# Begin Source File
-
-SOURCE=.\BufferStreamTest.java
-# End Source File
-# End Target
-# End Project
diff --git a/java/tests/ASX/BufferStreamTest.java b/java/tests/ASX/BufferStreamTest.java
deleted file mode 100644
index c61f94f281e..00000000000
--- a/java/tests/ASX/BufferStreamTest.java
+++ /dev/null
@@ -1,185 +0,0 @@
-// ============================================================================
-//
-// = PACKAGE
-// tests.ASX
-//
-// = FILENAME
-// BufferStreamTest.java
-//
-// = AUTHOR
-// Prashant Jain
-//
-// ============================================================================
-package tests.ASX;
-
-import java.io.*;
-import JACE.OS.*;
-import JACE.ASX.*;
-
-// This short program copies stdin to stdout via the use of an ASX
-// STREAM. It illustrates an implementation of the classic "bounded
-// buffer" program using an ASX STREAM containing two Modules. Each
-// Module contains two Tasks.
-
-class CommonTask extends Task
-{
- // ACE_Task hooks
- public int open (Object obj)
- {
- if (this.activate (0, 1, false) == -1)
- ACE.ERROR ("spawn");
- return 0;
- }
-
- public int close (long exitStatus)
- {
- ACE.DEBUG (Thread.currentThread () + " thread is exiting with status " +
- exitStatus + " in module " + this.name () + "\n");
- return 0;
- }
-
- public int put (MessageBlock mb, TimeValue tv)
- {
- return 0;
- }
-
- public int handleTimeout (TimeValue tv, Object obj)
- {
- return 0;
- }
-}
-
-// Define the Producer interface.
-
-class Producer extends CommonTask
-{
- // Read data from stdin and pass to consumer.
- // The Consumer reads data from the stdin stream, creates a message,
- // and then queues the message in the message list, where it is
- // removed by the consumer thread. A 0-sized message is enqueued when
- // there is no more data to read. The consumer uses this as a flag to
- // know when to exit.
-
- public int svc ()
- {
- // Keep reading stdin, until we reach EOF.
-
- BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
-
- String msg = null;
- try
- {
- while (true)
- {
- System.out.print ("Enter input: ");
- System.out.flush ();
- msg = in.readLine ();
- if (msg == null)
- {
- // Send a shutdown message to the other thread and exit.
- if (this.putNext (new MessageBlock (0), new TimeValue ()) == -1)
- ACE.ERROR ("putNext");
- break;
- }
- else
- {
- // Send the message to the other thread.
- if (this.putNext (new MessageBlock (msg), new TimeValue ()) == -1)
- ACE.ERROR ("putNext");
- }
- }
- }
- catch (IOException e)
- {
- }
- return 0;
- }
-}
-
-class Consumer extends CommonTask
- // = TITLE
- // Define the Consumer interface.
-{
- // Enqueue the message on the MessageQueue for subsequent
- // handling in the svc() method.
- public int put (MessageBlock mb, TimeValue tv)
- {
- try
- {
- return this.putq (mb, tv);
- }
- catch (InterruptedException e)
- {
- }
- return 0;
- }
-
- // The consumer dequeues a message from the ACE_Message_Queue, writes
- // the message to the stderr stream, and deletes the message. The
- // Consumer sends a 0-sized message to inform the consumer to stop
- // reading and exit.
-
- public int svc ()
- {
- MessageBlock mb = null;
-
- // Keep looping, reading a message out of the queue, until we
- // timeout or get a message with a length == 0, which signals us to
- // quit.
- try
- {
- while (true)
- {
- // Wait for upto 4 seconds
- mb = this.getq (new TimeValue (4));
-
- if (mb == null)
- break;
-
- int length = mb.length ();
-
- if (length > 0)
- System.out.println ("\n" + mb.base ());
-
- if (length == 0)
- break;
- }
- }
- catch (InterruptedException e)
- {
- }
- if (mb == null)
- {
- ACE.ERROR ("timed out waiting for message");
- System.exit (1);
- }
- return 0;
- }
-}
-
-// Spawn off a new thread.
-
-public class BufferStreamTest
-{
- public static void main (String args[])
- {
- // Control hierachically-related active objects
- Stream stream = new Stream ();
- Module pm = new Module ("Consumer", new Consumer (), null, null);
- Module cm = new Module ("Producer", new Producer (), null, null);
-
- // Create Producer and Consumer Modules and push them onto the
- // STREAM. All processing is performed in the STREAM.
-
- if (stream.push (pm) == -1)
- {
- ACE.ERROR ("push");
- return;
- }
- else if (stream.push (cm) == -1)
- {
- ACE.ERROR ("push");
- return;
- }
- }
-}
diff --git a/java/tests/ASX/Makefile b/java/tests/ASX/Makefile
deleted file mode 100644
index d097cbb0850..00000000000
--- a/java/tests/ASX/Makefile
+++ /dev/null
@@ -1,26 +0,0 @@
-# Makefile
-
-.SUFFIXES: .java .class
-
-JACE_WRAPPER = ../..
-CLASSDIR = $(JACE_WRAPPER)/classes
-
-CLASSPATH := $(CLASSDIR):$(CLASSPATH)
-
-all:
- javac -d ${JACE_WRAPPER}/classes $(files)
-doc:
- javadoc -d ${JACE_WRAPPER}/doc $(files) $(packages)
-
-
-files = MessageQueueTest.java \
- TaskTest.java \
- PriorityBufferTest.java \
- ThreadPoolTest.java \
- BufferStreamTest.java
-
-packages = tests.ASX
-
-realclean:
- find ${JACE_WRAPPER}/classes/tests/ASX -name '*.class' -print | xargs ${RM}
-
diff --git a/java/tests/ASX/MessageQueueTest.dsp b/java/tests/ASX/MessageQueueTest.dsp
deleted file mode 100644
index 806ea9208c0..00000000000
--- a/java/tests/ASX/MessageQueueTest.dsp
+++ /dev/null
@@ -1,73 +0,0 @@
-# Microsoft Developer Studio Project File - Name="MessageQueueTest" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 6.00
-# ** DO NOT EDIT **
-
-# TARGTYPE "Java Virtual Machine Java Project" 0x0809
-
-CFG=MessageQueueTest - Java Virtual Machine Debug
-!MESSAGE This is not a valid makefile. To build this project using NMAKE,
-!MESSAGE use the Export Makefile command and run
-!MESSAGE
-!MESSAGE NMAKE /f "MessageQueueTest.mak".
-!MESSAGE
-!MESSAGE You can specify a configuration when running NMAKE
-!MESSAGE by defining the macro CFG on the command line. For example:
-!MESSAGE
-!MESSAGE NMAKE /f "MessageQueueTest.mak"\
- CFG="MessageQueueTest - Java Virtual Machine Debug"
-!MESSAGE
-!MESSAGE Possible choices for configuration are:
-!MESSAGE
-!MESSAGE "MessageQueueTest - Java Virtual Machine Release" (based on\
- "Java Virtual Machine Java Project")
-!MESSAGE "MessageQueueTest - Java Virtual Machine Debug" (based on\
- "Java Virtual Machine Java Project")
-!MESSAGE
-
-# Begin Project
-# PROP Scc_ProjName ""
-# PROP Scc_LocalPath ""
-JAVA=jvc.exe
-
-!IF "$(CFG)" == "MessageQueueTest - Java Virtual Machine Release"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir ""
-# PROP BASE Intermediate_Dir ""
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "..\..\classes-r"
-# PROP Intermediate_Dir ""
-# PROP Target_Dir ""
-# ADD BASE JAVA /O
-# ADD JAVA /O
-
-!ELSEIF "$(CFG)" == "MessageQueueTest - Java Virtual Machine Debug"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir ""
-# PROP BASE Intermediate_Dir ""
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "..\..\classes"
-# PROP Intermediate_Dir ""
-# PROP Target_Dir ""
-# ADD BASE JAVA /g
-# ADD JAVA /g
-
-!ENDIF
-
-# Begin Target
-
-# Name "MessageQueueTest - Java Virtual Machine Release"
-# Name "MessageQueueTest - Java Virtual Machine Debug"
-# Begin Source File
-
-SOURCE=.\MessageQueueTest.java
-# End Source File
-# End Target
-# End Project
diff --git a/java/tests/ASX/MessageQueueTest.java b/java/tests/ASX/MessageQueueTest.java
deleted file mode 100644
index c22d2cf041d..00000000000
--- a/java/tests/ASX/MessageQueueTest.java
+++ /dev/null
@@ -1,50 +0,0 @@
-// ============================================================================
-//
-// = PACKAGE
-// tests.ASX
-//
-// = FILENAME
-// MessageQueueTest.java
-//
-// = AUTHOR
-// Prashant Jain
-//
-// ============================================================================
-package tests.ASX;
-
-import java.io.*;
-import JACE.OS.*;
-import JACE.ASX.*;
-
-public class MessageQueueTest
-{
- public static void main (String args[])
- {
- try
- {
- MessageBlock conMb;
- MessageQueue msgQueue = new MessageQueue ();
- MessageBlock mb1 = new MessageBlock ("hello");
- MessageBlock mb2 = new MessageBlock ("world");
- mb1.msgPriority (5);
- mb2.msgPriority (7);
-
- // Enqueue in priority order.
- if (msgQueue.enqueue (mb1) == -1)
- ACE.ERROR ("put_next");
-
- if (msgQueue.enqueue (mb2) == -1)
- ACE.ERROR ("put_next");
-
- // Now try to dequeue
- if ((conMb = msgQueue.dequeueHead ()) == null)
- ACE.ERROR ("dequeueHead");
- else
- ACE.DEBUG ("Consumer: removed item " + conMb.base () + " of priority " + conMb.msgPriority ());
- }
- catch (InterruptedException e)
- {
- }
- }
-}
-
diff --git a/java/tests/ASX/PriorityBufferTest.dsp b/java/tests/ASX/PriorityBufferTest.dsp
deleted file mode 100644
index 844e281b1b1..00000000000
--- a/java/tests/ASX/PriorityBufferTest.dsp
+++ /dev/null
@@ -1,73 +0,0 @@
-# Microsoft Developer Studio Project File - Name="PriorityBufferTest" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 6.00
-# ** DO NOT EDIT **
-
-# TARGTYPE "Java Virtual Machine Java Project" 0x0809
-
-CFG=PriorityBufferTest - Java Virtual Machine Debug
-!MESSAGE This is not a valid makefile. To build this project using NMAKE,
-!MESSAGE use the Export Makefile command and run
-!MESSAGE
-!MESSAGE NMAKE /f "PriorityBufferTest.mak".
-!MESSAGE
-!MESSAGE You can specify a configuration when running NMAKE
-!MESSAGE by defining the macro CFG on the command line. For example:
-!MESSAGE
-!MESSAGE NMAKE /f "PriorityBufferTest.mak"\
- CFG="PriorityBufferTest - Java Virtual Machine Debug"
-!MESSAGE
-!MESSAGE Possible choices for configuration are:
-!MESSAGE
-!MESSAGE "PriorityBufferTest - Java Virtual Machine Release" (based on\
- "Java Virtual Machine Java Project")
-!MESSAGE "PriorityBufferTest - Java Virtual Machine Debug" (based on\
- "Java Virtual Machine Java Project")
-!MESSAGE
-
-# Begin Project
-# PROP Scc_ProjName ""
-# PROP Scc_LocalPath ""
-JAVA=jvc.exe
-
-!IF "$(CFG)" == "PriorityBufferTest - Java Virtual Machine Release"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir ""
-# PROP BASE Intermediate_Dir ""
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "..\..\classes-r"
-# PROP Intermediate_Dir ""
-# PROP Target_Dir ""
-# ADD BASE JAVA /O
-# ADD JAVA /O
-
-!ELSEIF "$(CFG)" == "PriorityBufferTest - Java Virtual Machine Debug"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir ""
-# PROP BASE Intermediate_Dir ""
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "..\..\classes"
-# PROP Intermediate_Dir ""
-# PROP Target_Dir ""
-# ADD BASE JAVA /g
-# ADD JAVA /g
-
-!ENDIF
-
-# Begin Target
-
-# Name "PriorityBufferTest - Java Virtual Machine Release"
-# Name "PriorityBufferTest - Java Virtual Machine Debug"
-# Begin Source File
-
-SOURCE=.\PriorityBufferTest.java
-# End Source File
-# End Target
-# End Project
diff --git a/java/tests/ASX/PriorityBufferTest.java b/java/tests/ASX/PriorityBufferTest.java
deleted file mode 100644
index 5cce32fa3b1..00000000000
--- a/java/tests/ASX/PriorityBufferTest.java
+++ /dev/null
@@ -1,116 +0,0 @@
-// ============================================================================
-//
-// = PACKAGE
-// tests.ASX
-//
-// = FILENAME
-// PriorityBufferTest.java
-//
-// = AUTHOR
-// Prashant Jain
-//
-// ============================================================================
-package tests.ASX;
-
-import java.io.*;
-import JACE.OS.*;
-import JACE.ASX.*;
-
-class consumer extends Thread
-{
- public void run ()
- {
- MessageBlock mb = null;
- long curPriority = 0;
- int length = 0;
-
- try
- {
- // Keep looping, reading a message out of the queue, until we
- // get a message with a length == 0, which signals us to quit.
- for (;;)
- {
- if ((mb = PriorityBufferTest.msgQueue.dequeueHead ()) == null)
- break;
-
- length = mb.length ();
- curPriority = mb.msgPriority ();
-
- if (length > 0)
- ACE.DEBUG ("Consumer: removed item \"" + mb.base () + "\" of priority: " + curPriority);
-
- if (length == 0)
- break;
- }
- }
- catch (InterruptedException e)
- {
- }
- }
-}
-
-class producer extends Thread
-{
- producer (int delay)
- {
- this.delay_ = delay;
- }
-
- public void run ()
- {
- try
- {
- long count = 0;
- for (char c = 'a'; c <= 'z'; c++)
- {
- count++;
- // Allocate a new message
- MessageBlock mb = new MessageBlock (new Character (c).toString ());
- // Set the priority
- mb.msgPriority (count);
-
- // Enqueue in priority order.
- if (PriorityBufferTest.msgQueue.enqueue (mb) == -1)
- ACE.ERROR ("put_next");
- else
- {
- ACE.DEBUG ("Producer: inserted item \"" + mb.base () + "\" of priority: " + count);
- if (this.delay_ > 0)
- this.sleep (this.delay_);
- }
- }
-
- // Now send a 0-sized shutdown message to the other thread
- if (PriorityBufferTest.msgQueue.enqueueTail (new MessageBlock (0)) == -1)
- ACE.ERROR ("put_next");
- }
- catch (InterruptedException e)
- {
- }
- }
-
- private int delay_;
-}
-
-public class PriorityBufferTest
-{
- public static MessageQueue msgQueue = new MessageQueue ();
-
- public static void main (String args[])
- {
- int delay = 0;
- if (args.length == 1)
- {
- try
- {
- delay = Integer.parseInt (args[0]);
- }
- catch (NumberFormatException e)
- {
- ACE.ERROR ("Illegal argument.");
- }
- }
- new producer (delay).start ();
- new consumer ().start ();
- }
-}
diff --git a/java/tests/ASX/TaskTest.dsp b/java/tests/ASX/TaskTest.dsp
deleted file mode 100644
index 072a92b8847..00000000000
--- a/java/tests/ASX/TaskTest.dsp
+++ /dev/null
@@ -1,72 +0,0 @@
-# Microsoft Developer Studio Project File - Name="TaskTest" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 6.00
-# ** DO NOT EDIT **
-
-# TARGTYPE "Java Virtual Machine Java Project" 0x0809
-
-CFG=TaskTest - Java Virtual Machine Debug
-!MESSAGE This is not a valid makefile. To build this project using NMAKE,
-!MESSAGE use the Export Makefile command and run
-!MESSAGE
-!MESSAGE NMAKE /f "TaskTest.mak".
-!MESSAGE
-!MESSAGE You can specify a configuration when running NMAKE
-!MESSAGE by defining the macro CFG on the command line. For example:
-!MESSAGE
-!MESSAGE NMAKE /f "TaskTest.mak" CFG="TaskTest - Java Virtual Machine Debug"
-!MESSAGE
-!MESSAGE Possible choices for configuration are:
-!MESSAGE
-!MESSAGE "TaskTest - Java Virtual Machine Release" (based on\
- "Java Virtual Machine Java Project")
-!MESSAGE "TaskTest - Java Virtual Machine Debug" (based on\
- "Java Virtual Machine Java Project")
-!MESSAGE
-
-# Begin Project
-# PROP Scc_ProjName ""
-# PROP Scc_LocalPath ""
-JAVA=jvc.exe
-
-!IF "$(CFG)" == "TaskTest - Java Virtual Machine Release"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir ""
-# PROP BASE Intermediate_Dir ""
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "..\..\classes-r"
-# PROP Intermediate_Dir ""
-# PROP Target_Dir ""
-# ADD BASE JAVA /O
-# ADD JAVA /O
-
-!ELSEIF "$(CFG)" == "TaskTest - Java Virtual Machine Debug"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir ""
-# PROP BASE Intermediate_Dir ""
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "..\..\classes"
-# PROP Intermediate_Dir ""
-# PROP Target_Dir ""
-# ADD BASE JAVA /g
-# ADD JAVA /g
-
-!ENDIF
-
-# Begin Target
-
-# Name "TaskTest - Java Virtual Machine Release"
-# Name "TaskTest - Java Virtual Machine Debug"
-# Begin Source File
-
-SOURCE=.\TaskTest.java
-# End Source File
-# End Target
-# End Project
diff --git a/java/tests/ASX/TaskTest.java b/java/tests/ASX/TaskTest.java
deleted file mode 100644
index b26b48ea148..00000000000
--- a/java/tests/ASX/TaskTest.java
+++ /dev/null
@@ -1,86 +0,0 @@
-// ============================================================================
-//
-// = PACKAGE
-// tests.ASX
-//
-// = FILENAME
-// TaskTest.java
-//
-// = AUTHOR
-// Prashant Jain
-//
-// ============================================================================
-package tests.ASX;
-
-import java.io.*;
-import JACE.OS.*;
-import JACE.ASX.*;
-import JACE.Reactor.*;
-
-public class TaskTest extends Task
-{
- int nThreads_;
- int nIterations_;
-
- public TaskTest (int nThreads, int nIterations)
- {
- this.nIterations_ = nIterations;
- this.nThreads_ = nThreads;
- if (this.activate (0, nThreads, true) == -1)
- ACE.ERROR ("activate failed");
- }
-
- public int open (Object obj)
- {
- return 0;
- }
-
- public int close (long flags)
- {
- return 0;
- }
-
- public int put (MessageBlock mb, TimeValue tv)
- {
- return 0;
- }
-
- public int handleTimeout (TimeValue tv, Object obj)
- {
- return 0;
- }
-
- public int svc ()
- {
- for (int i = 1; i <= this.nIterations_; i++)
- {
- ACE.DEBUG (Thread.currentThread ().toString () + " in iteration " + i);
- // Allow other threads to run
- Thread.yield ();
- }
- return 0;
- }
-
- public static void main (String args[])
- {
- int nThreads = 1;
- int nIterations = 1;
- try
- {
- if (args.length == 2)
- {
- nThreads = Integer.parseInt (args[0]);
- nIterations = Integer.parseInt (args[1]);
- }
- else if (args.length == 1)
- {
- nThreads = Integer.parseInt (args[0]);
- }
- }
- catch (NumberFormatException e)
- {
- ACE.ERROR ("Illegal argument.");
- }
- TaskTest tt = new TaskTest (nThreads, nIterations);
- }
-}
diff --git a/java/tests/ASX/ThreadPoolTest.dsp b/java/tests/ASX/ThreadPoolTest.dsp
deleted file mode 100644
index 466c198ae14..00000000000
--- a/java/tests/ASX/ThreadPoolTest.dsp
+++ /dev/null
@@ -1,73 +0,0 @@
-# Microsoft Developer Studio Project File - Name="ThreadPoolTest" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 6.00
-# ** DO NOT EDIT **
-
-# TARGTYPE "Java Virtual Machine Java Project" 0x0809
-
-CFG=ThreadPoolTest - Java Virtual Machine Debug
-!MESSAGE This is not a valid makefile. To build this project using NMAKE,
-!MESSAGE use the Export Makefile command and run
-!MESSAGE
-!MESSAGE NMAKE /f "ThreadPoolTest.mak".
-!MESSAGE
-!MESSAGE You can specify a configuration when running NMAKE
-!MESSAGE by defining the macro CFG on the command line. For example:
-!MESSAGE
-!MESSAGE NMAKE /f "ThreadPoolTest.mak"\
- CFG="ThreadPoolTest - Java Virtual Machine Debug"
-!MESSAGE
-!MESSAGE Possible choices for configuration are:
-!MESSAGE
-!MESSAGE "ThreadPoolTest - Java Virtual Machine Release" (based on\
- "Java Virtual Machine Java Project")
-!MESSAGE "ThreadPoolTest - Java Virtual Machine Debug" (based on\
- "Java Virtual Machine Java Project")
-!MESSAGE
-
-# Begin Project
-# PROP Scc_ProjName ""
-# PROP Scc_LocalPath ""
-JAVA=jvc.exe
-
-!IF "$(CFG)" == "ThreadPoolTest - Java Virtual Machine Release"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir ""
-# PROP BASE Intermediate_Dir ""
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "..\..\classes-r"
-# PROP Intermediate_Dir ""
-# PROP Target_Dir ""
-# ADD BASE JAVA /O
-# ADD JAVA /O
-
-!ELSEIF "$(CFG)" == "ThreadPoolTest - Java Virtual Machine Debug"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir ""
-# PROP BASE Intermediate_Dir ""
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "..\..\classes"
-# PROP Intermediate_Dir ""
-# PROP Target_Dir ""
-# ADD BASE JAVA /g
-# ADD JAVA /g
-
-!ENDIF
-
-# Begin Target
-
-# Name "ThreadPoolTest - Java Virtual Machine Release"
-# Name "ThreadPoolTest - Java Virtual Machine Debug"
-# Begin Source File
-
-SOURCE=.\ThreadPoolTest.java
-# End Source File
-# End Target
-# End Project
diff --git a/java/tests/ASX/ThreadPoolTest.java b/java/tests/ASX/ThreadPoolTest.java
deleted file mode 100644
index cfb20f87adb..00000000000
--- a/java/tests/ASX/ThreadPoolTest.java
+++ /dev/null
@@ -1,185 +0,0 @@
-// ============================================================================
-//
-// = PACKAGE
-// tests.ASX
-//
-// = FILENAME
-// ThreadPoolTest.java
-//
-// = AUTHOR
-// Prashant Jain
-//
-// ============================================================================
-package tests.ASX;
-
-import java.io.*;
-import JACE.OS.*;
-import JACE.ASX.*;
-import JACE.Reactor.*;
-
-public class ThreadPoolTest extends Task
-{
- int nThreads_;
- int nIterations_;
-
- public static int MAX_MB_SIZE = 1024;
-
- public ThreadPoolTest (int nThreads, int nIterations)
- {
- this.nIterations_ = nIterations;
- this.nThreads_ = nThreads;
- if (this.activate (0, nThreads, true) == -1)
- ACE.ERROR ("activate failed");
- }
-
- public int handleTimeout (TimeValue tv, Object obj)
- {
- return 0;
- }
-
- public int open (Object obj)
- {
- return 0;
- }
-
- public int close (long flags)
- {
- return 0;
- }
-
- public int put (MessageBlock mb, TimeValue tv)
- {
- try
- {
- return this.putq (mb, tv);
- }
- catch (InterruptedException e)
- {
- }
- return 0;
- }
-
- public int svc ()
- {
- int result = 0;
- int count = 1;
-
- // Keep looping, reading a message out of the queue, until we get a
- // message with a length == 0, which signals us to quit.
- try
- {
- for (;; count++)
- {
- MessageBlock mb = this.getq (new TimeValue ());
- if (mb == null)
- {
- ACE.ERROR (Thread.currentThread ().toString () + " in iteration " + count + ", got result -1, exiting");
- break;
- }
- int length = mb.length ();
-
- if (length > 0)
- ACE.DEBUG (Thread.currentThread ().toString () +
- " in iteration " + count + ", length = " +
- length + ", text = \"" + mb.base () + "\"");
-
- if (length == 0)
- {
- ACE.DEBUG (Thread.currentThread ().toString () +
- " in iteration " + count +
- ", got NULL message, exiting");
- break;
- }
- Thread.yield ();
- }
- }
- catch (InterruptedException e)
- {
- }
- return 0;
- }
-
- public static void produce (ThreadPoolTest threadPool, int nIterations)
- {
- int count = 0;
- for (int n = 0;;)
- {
- // Allocate a new message.
- MessageBlock mb = new MessageBlock (new Integer (count).toString ());
-
- if (count == nIterations)
- n = 1; // Indicate that we need to shut down.
- else
- count++;
-
- if (count == 0 || (count % 20 == 0))
- {
- try
- {
- Thread.sleep (1);
- }
- catch (InterruptedException e)
- {
- }
- }
- if (n != 1)
- {
- ACE.DEBUG ("Producing...");
- // Pass the message to the Thread_Pool.
- if (threadPool.put (mb, new TimeValue ()) == -1)
- ACE.ERROR ("put");
- }
- else
- {
- // Send a shutdown message to the waiting threads and exit.
- ACE.DEBUG ("start loop, dump of task");
-
- for (int i = threadPool.thrCount (); i > 0; i--)
- {
- ACE.DEBUG (Thread.currentThread ().toString () +
- "EOF, enqueueing NULL block for thread " + i);
-
- // Enqueue a NULL message to flag each consumer to
- // shutdown.
- if (threadPool.put (new MessageBlock (0), new TimeValue ()) == -1)
- ACE.ERROR ("put");
- }
-
- break;
- }
- }
- }
-
- public static void main (String args[])
- {
- int nThreads = 1;
- int nIterations = 100;
- try
- {
- if (args.length == 2)
- {
- nThreads = Integer.parseInt (args[0]);
- nIterations = Integer.parseInt (args[1]);
- }
- else if (args.length == 1)
- {
- nThreads = Integer.parseInt (args[0]);
- }
- }
- catch (NumberFormatException e)
- {
- ACE.ERROR ("Illegal argument.");
- }
- ACE.DEBUG ("Threads = " + nThreads + " Iterations = " + nIterations);
-
- // Create the worker tasks.
- ThreadPoolTest threadPool = new ThreadPoolTest (nThreads,
- nIterations);
-
- // Create work for the worker tasks to process in their own threads.
- produce (threadPool, nIterations);
- ACE.DEBUG ("exiting...");
- }
-}
-
-
diff --git a/java/tests/Concurrency/Condition/Condition.dsp b/java/tests/Concurrency/Condition/Condition.dsp
deleted file mode 100644
index e6d28e19c9a..00000000000
--- a/java/tests/Concurrency/Condition/Condition.dsp
+++ /dev/null
@@ -1,88 +0,0 @@
-# Microsoft Developer Studio Project File - Name="Condition" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 6.00
-# ** DO NOT EDIT **
-
-# TARGTYPE "Java Virtual Machine Java Project" 0x0809
-
-CFG=Condition - Java Virtual Machine Debug
-!MESSAGE This is not a valid makefile. To build this project using NMAKE,
-!MESSAGE use the Export Makefile command and run
-!MESSAGE
-!MESSAGE NMAKE /f "Condition.mak".
-!MESSAGE
-!MESSAGE You can specify a configuration when running NMAKE
-!MESSAGE by defining the macro CFG on the command line. For example:
-!MESSAGE
-!MESSAGE NMAKE /f "Condition.mak" CFG="Condition - Java Virtual Machine Debug"
-!MESSAGE
-!MESSAGE Possible choices for configuration are:
-!MESSAGE
-!MESSAGE "Condition - Java Virtual Machine Release" (based on\
- "Java Virtual Machine Java Project")
-!MESSAGE "Condition - Java Virtual Machine Debug" (based on\
- "Java Virtual Machine Java Project")
-!MESSAGE
-
-# Begin Project
-# PROP Scc_ProjName ""
-# PROP Scc_LocalPath ""
-JAVA=jvc.exe
-
-!IF "$(CFG)" == "Condition - Java Virtual Machine Release"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir ""
-# PROP BASE Intermediate_Dir ""
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "..\..\..\classes-r"
-# PROP Intermediate_Dir ""
-# PROP Target_Dir ""
-# ADD BASE JAVA /O
-# ADD JAVA /O
-
-!ELSEIF "$(CFG)" == "Condition - Java Virtual Machine Debug"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir ""
-# PROP BASE Intermediate_Dir ""
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "..\..\..\classes"
-# PROP Intermediate_Dir ""
-# PROP Target_Dir ""
-# ADD BASE JAVA /g
-# ADD JAVA /g
-
-!ENDIF
-
-# Begin Target
-
-# Name "Condition - Java Virtual Machine Release"
-# Name "Condition - Java Virtual Machine Debug"
-# Begin Source File
-
-SOURCE=.\Consumer.java
-# End Source File
-# Begin Source File
-
-SOURCE=.\JoinableThreadGroup.java
-# End Source File
-# Begin Source File
-
-SOURCE=.\Producer.java
-# End Source File
-# Begin Source File
-
-SOURCE=.\QueueTest.java
-# End Source File
-# Begin Source File
-
-SOURCE=.\SimpleMessageQueue.java
-# End Source File
-# End Target
-# End Project
diff --git a/java/tests/Concurrency/Condition/Consumer.java b/java/tests/Concurrency/Condition/Consumer.java
deleted file mode 100644
index ff4f5ff4a4b..00000000000
--- a/java/tests/Concurrency/Condition/Consumer.java
+++ /dev/null
@@ -1,73 +0,0 @@
-//File: Consumer.java
-//Seth Widoff 8/8/96
-//This class attempts at random intervals to dequeue random elements
-//from a queue. If the queue is empty the thread waits until an element
-//has been enqueued and another thread has invoked the notify() method.
-
-package tests.Concurrency.Condition;
-
-import JACE.ASX.TimeValue;
-import java.util.Random;
-
-public class Consumer implements Runnable
-{
- //Maximum pause between dequeues (in milliseconds)
- private static final int MAX_PAUSE = 1000;
-
- private SimpleMessageQueue queue_;
- private boolean stop_requested_ = false;
- private String name_;
- private int iterations_;
- private TimeValue timeout_;
-
- public Consumer(String name,
- SimpleMessageQueue queue,
- int iterations,
- TimeValue timeout)
- {
- name_ = "Consumer " + name;
- queue_ = queue;
- iterations_ = iterations;
- timeout_ = timeout;
- }
-
- public void run()
- {
- //Set the random number generator seed to the current time in
- //milliseconds.
-
- Random random = new Random(System.currentTimeMillis());
- Integer element;
-
- for (int i = 0; i < iterations_; )
- {
- try
- {
- element = (Integer)queue_.dequeue(timeout_);
- if (element != null)
- {
-
- System.out.print("Consumer::run() " + name_ + " dequeued " + element.toString());
- System.out.println(" Queue size: " + queue_.size());
-
- Thread.sleep(random.nextLong() % MAX_PAUSE);
- }
- else
- {
- System.out.println ("Null");
- }
- i++;
- }
- catch(Exception excp)
- {
- System.out.print ("Consumer::run() Exception: ");
- System.out.println(excp);
- }
- }
- }
-
- public void requestStop()
- {
- stop_requested_ = true;
- }
-}
diff --git a/java/tests/Concurrency/Condition/JoinableThreadGroup.java b/java/tests/Concurrency/Condition/JoinableThreadGroup.java
deleted file mode 100644
index c878eb026d3..00000000000
--- a/java/tests/Concurrency/Condition/JoinableThreadGroup.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package tests.Concurrency.Condition;
-
-public class JoinableThreadGroup extends ThreadGroup
-{
- public JoinableThreadGroup(String name)
- {
- super(name);
- }
-
- public JoinableThreadGroup(ThreadGroup parent, String name)
- {
- super(parent, name);
- }
-
- public void join() throws InterruptedException
- {
- Thread list[] = new Thread[activeCount()];
-
- enumerate(list, true);
-
- for (int i = 0; i < list.length; i++)
- list[i].join();
- }
-}
diff --git a/java/tests/Concurrency/Condition/Makefile b/java/tests/Concurrency/Condition/Makefile
deleted file mode 100644
index fd1e6a93677..00000000000
--- a/java/tests/Concurrency/Condition/Makefile
+++ /dev/null
@@ -1,25 +0,0 @@
-# Makefile
-
-.SUFFIXES: .java .class
-
-JACE_WRAPPER = ../../..
-CLASSDIR = $(JACE_WRAPPER)/classes
-
-CLASSPATH := $(CLASSDIR):$(CLASSPATH)
-
-all:
- javac -d ${JACE_WRAPPER}/classes $(files)
-doc:
- javadoc -d ${JACE_WRAPPER}/doc $(files) $(packages)
-
-files = \
- QueueTest.java \
- JoinableThreadGroup.java \
- SimpleMessageQueue.java \
- Producer.java \
- Consumer.java
-
-packages = tests.Concurrency.Condition;
-
-realclean:
- find ${JACE_WRAPPER}/classes/tests/Concurrency/Condition -name '*.class' -print | xargs ${RM}
diff --git a/java/tests/Concurrency/Condition/Producer.java b/java/tests/Concurrency/Condition/Producer.java
deleted file mode 100644
index ed6da2251ba..00000000000
--- a/java/tests/Concurrency/Condition/Producer.java
+++ /dev/null
@@ -1,67 +0,0 @@
-//File: Producer.java
-//Seth Widoff 8/8/96
-//This class attempts at random intervals to enqueue random elements
-//into a queue. If the queue is full the thread waits until an element
-//has been dequeued and another thread has invoked the notify() method.
-
-package tests.Concurrency.Condition;
-
-import JACE.ASX.TimeValue;
-import java.util.Random;
-
-public class Producer implements Runnable
-{
- //Maximum pause between enqueues (in milliseconds)
- private static final int MAX_PAUSE = 1000;
-
- private SimpleMessageQueue queue_;
- private boolean stop_requested_ = false;
- private String name_;
- private int iterations_;
- private TimeValue timeout_;
-
- public Producer(String name,
- SimpleMessageQueue queue,
- int iterations,
- TimeValue timeout)
- {
- name_ = "Producer " + name;
- queue_ = queue;
- iterations_ = iterations;
- timeout_ = timeout;
- }
-
- public void run()
- {
- //Set the random number generator seed to the current time in milliseconds.
- Random random = new Random(System.currentTimeMillis());
- int element = 1;
-
- for (int i = 0; i < iterations_; )
- {
- try
- {
- // element = random.nextInt();
-
- queue_.enqueue((Object)new Integer(element), timeout_);
- System.out.print("Producer::run() " + name_ + " enqueued " + element);
- System.out.println(" Queue size: " + queue_.size());
-
- Thread.sleep(random.nextLong() % MAX_PAUSE);
- i++;
- element++;
- }
- catch(Exception excp)
- {
- System.out.print("Producer::run() Exception: ");
- System.out.println(excp);
- }
- }
- }
-
- public void requestStop()
- {
- stop_requested_ = true;
- }
-}
-
diff --git a/java/tests/Concurrency/Condition/QueueTest.java b/java/tests/Concurrency/Condition/QueueTest.java
deleted file mode 100644
index 87e7d57bbbd..00000000000
--- a/java/tests/Concurrency/Condition/QueueTest.java
+++ /dev/null
@@ -1,64 +0,0 @@
-//File: QueueTest.java
-//Seth Widoff, 8/8/96
-//This class is a test method for the Producer and Consumer classes.
-//The main method takes as arguments the number of producers, the
-//number of consumers and the number of elements in the queue. It then
-//spawn the specified threads and starts them.
-
-package tests.Concurrency.Condition;
-
-import JACE.ASX.TimeValue;
-
-public class QueueTest
-{
- public static void main(String[] args)
- {
- if (args.length < 5)
- {
- System.out.println("Usage: java QueueTest <# producers> <# consumers> <# elements> <#iterations> <#timeout secs> <#timeout nano secs>");
- System.exit(1);
- }
-
- int num_producers = Integer.parseInt(args[0]),
- num_consumers = Integer.parseInt(args[1]),
- num_elements = Integer.parseInt(args[2]),
- num_iterations = Integer.parseInt(args[3]),
- num_timeout_secs = Integer.parseInt(args[4]),
- num_timeout_nano_secs = Integer.parseInt(args[5]);
-
- if (num_elements < 1
- || num_consumers < 1
- || num_producers < 1)
- {
- System.out.println("All the parameters must be larger than zero.");
- System.exit(1);
- }
-
- SimpleMessageQueue queue = new SimpleMessageQueue(num_elements);
- Consumer[] consumers = new Consumer[num_consumers];
- Producer[] producers = new Producer[num_producers];
- JoinableThreadGroup thread_group = new JoinableThreadGroup("Producer Consumer");
-
- for (int i = 0; i < num_producers; i++)
- {
- producers[i] = new Producer("Number " + (i + 1), queue, num_iterations, new TimeValue (num_timeout_secs, num_timeout_nano_secs));
- new Thread(thread_group, producers[i]).start();
- }
-
- for (int i = 0; i < num_consumers; i++)
- {
- consumers[i] = new Consumer("Number " + (i + 1), queue, num_iterations, new TimeValue (num_timeout_secs, num_timeout_nano_secs));
- new Thread(thread_group, consumers[i]).start();
- }
-
- try
- {
- thread_group.join();
- }
- catch(InterruptedException excp)
- {
- System.out.println("QueueTest::main");
- System.out.println(excp);
- }
- }
-}
diff --git a/java/tests/Concurrency/Condition/SimpleMessageQueue.java b/java/tests/Concurrency/Condition/SimpleMessageQueue.java
deleted file mode 100644
index bb703516858..00000000000
--- a/java/tests/Concurrency/Condition/SimpleMessageQueue.java
+++ /dev/null
@@ -1,86 +0,0 @@
-package tests.Concurrency.Condition;
-
-import JACE.ASX.TimeoutException;
-import JACE.ASX.TimeValue;
-import JACE.Concurrency.*;
-
-public class SimpleMessageQueue
-{
- private int num_items_ = 0;
- private int head_ = 0, tail_ = 0;
- private Object[] queue_;
-
- private Mutex lock_ = new Mutex ();
- private Condition notFull_ = new Condition (lock_);
- private Condition notEmpty_ = new Condition (lock_);
-
- public SimpleMessageQueue(int size)
- {
- queue_ = new Object[size];
- }
-
- public void enqueue(Object element, TimeValue timeout)
- throws TimeoutException, InterruptedException
- {
- try
- {
- lock_.acquire ();
- while (this.isFull ())
- notFull_.Wait (timeout);
-
- if (tail_ == queue_.length)
- tail_ = 0;
- queue_[tail_] = element;
- tail_++;
-
- num_items_++;
- notEmpty_.signal ();
- }
- finally
- {
- lock_.release ();
- }
- }
-
- public Object dequeue (TimeValue timeout)
- throws TimeoutException, InterruptedException
- {
- Object return_value = null;
-
- try
- {
- lock_.acquire ();
- while (this.isEmpty ())
- notEmpty_.Wait (timeout);
-
- return_value = queue_[head_];
- head_++;
- if (head_ == queue_.length)
- head_ = 0;
-
- num_items_--;
- notFull_.signal ();
- }
- finally
- {
- lock_.release ();
- }
- return return_value;
- }
-
- public boolean isEmpty()
- {
- return num_items_ == 0;
- }
-
- public boolean isFull()
- {
- return num_items_ == queue_.length;
- }
-
- public int size()
- {
- return num_items_;
- }
-}
-
diff --git a/java/tests/Concurrency/Makefile b/java/tests/Concurrency/Makefile
deleted file mode 100644
index f967dffb92f..00000000000
--- a/java/tests/Concurrency/Makefile
+++ /dev/null
@@ -1,23 +0,0 @@
-# Makefile
-
-.SUFFIXES: .java .class
-
-JACE_WRAPPER = ../..
-CLASSDIR = $(JACE_WRAPPER)/classes
-
-CLASSPATH := $(CLASSDIR):$(CLASSPATH)
-
-all:
- javac -d ${JACE_WRAPPER}/classes $(files)
-doc:
- javadoc -d ${JACE_WRAPPER}/doc $(files) $(packages)
-
-files = MutexTest.java \
- SemaphoreTest.java \
- RWMutexTest.java \
- TokenTest.java
-
-packages = tests.Concurrency
-
-realclean:
- find ${JACE_WRAPPER}/classes/tests/Concurrency -name '*.class' -print | xargs ${RM}
diff --git a/java/tests/Concurrency/MutexTest.dsp b/java/tests/Concurrency/MutexTest.dsp
deleted file mode 100644
index b430b5f7998..00000000000
--- a/java/tests/Concurrency/MutexTest.dsp
+++ /dev/null
@@ -1,72 +0,0 @@
-# Microsoft Developer Studio Project File - Name="MutexTest" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 6.00
-# ** DO NOT EDIT **
-
-# TARGTYPE "Java Virtual Machine Java Project" 0x0809
-
-CFG=MutexTest - Java Virtual Machine Debug
-!MESSAGE This is not a valid makefile. To build this project using NMAKE,
-!MESSAGE use the Export Makefile command and run
-!MESSAGE
-!MESSAGE NMAKE /f "MutexTest.mak".
-!MESSAGE
-!MESSAGE You can specify a configuration when running NMAKE
-!MESSAGE by defining the macro CFG on the command line. For example:
-!MESSAGE
-!MESSAGE NMAKE /f "MutexTest.mak" CFG="MutexTest - Java Virtual Machine Debug"
-!MESSAGE
-!MESSAGE Possible choices for configuration are:
-!MESSAGE
-!MESSAGE "MutexTest - Java Virtual Machine Release" (based on\
- "Java Virtual Machine Java Project")
-!MESSAGE "MutexTest - Java Virtual Machine Debug" (based on\
- "Java Virtual Machine Java Project")
-!MESSAGE
-
-# Begin Project
-# PROP Scc_ProjName ""
-# PROP Scc_LocalPath ""
-JAVA=jvc.exe
-
-!IF "$(CFG)" == "MutexTest - Java Virtual Machine Release"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir ""
-# PROP BASE Intermediate_Dir ""
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "..\..\classes-r"
-# PROP Intermediate_Dir ""
-# PROP Target_Dir ""
-# ADD BASE JAVA /O
-# ADD JAVA /O
-
-!ELSEIF "$(CFG)" == "MutexTest - Java Virtual Machine Debug"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir ""
-# PROP BASE Intermediate_Dir ""
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "..\..\classes"
-# PROP Intermediate_Dir ""
-# PROP Target_Dir ""
-# ADD BASE JAVA /g
-# ADD JAVA /g
-
-!ENDIF
-
-# Begin Target
-
-# Name "MutexTest - Java Virtual Machine Release"
-# Name "MutexTest - Java Virtual Machine Debug"
-# Begin Source File
-
-SOURCE=.\MutexTest.java
-# End Source File
-# End Target
-# End Project
diff --git a/java/tests/Concurrency/MutexTest.java b/java/tests/Concurrency/MutexTest.java
deleted file mode 100644
index 680266ef071..00000000000
--- a/java/tests/Concurrency/MutexTest.java
+++ /dev/null
@@ -1,154 +0,0 @@
-/*************************************************
- *
- * = PACKAGE
- * tests.Concurrency
- *
- * = FILENAME
- * MutexTest.java
- *
- *@author Prashant Jain
- *
- *************************************************/
-package tests.Concurrency;
-
-import java.io.*;
-import JACE.OS.*;
-import JACE.Concurrency.*;
-
-class MutexReader extends Thread
-{
- MutexReader (int nIterations, Mutex mutex)
- {
- this.nIterations_ = nIterations;
- this.mutex_ = mutex;
- }
-
- public void run ()
- {
- for (int i = 1; i <= this.nIterations_; i++)
- {
- // Acquire the mutex (will block until it gets it)
- try
- {
- this.mutex_.acquire ();
- }
- catch (InterruptedException e)
- {
- ACE.ERROR (e);
- }
-
- MutexTest.count++;
- ACE.DEBUG (Thread.currentThread ().toString () +
- " reader acquired mutex in iteration " + i +
- ", count = " + MutexTest.count);
-
- try
- {
- Thread.sleep (1);
- }
- catch (InterruptedException e)
- {
- }
- // Release the mutex
- this.mutex_.release ();
- try
- {
- Thread.sleep (1);
- }
- catch (InterruptedException e)
- {
- }
-
- }
- }
-
- int nIterations_;
- Mutex mutex_;
-}
-
-class MutexWriter extends Thread
-{
- MutexWriter (int nIterations, Mutex mutex)
- {
- this.nIterations_ = nIterations;
- this.mutex_ = mutex;
- }
-
- public void run ()
- {
- for (int i = 1; i <= this.nIterations_; i++)
- {
- // Acquire the mutex (will block until it gets it)
- try
- {
- this.mutex_.acquire ();
- }
- catch (InterruptedException e)
- {
- ACE.ERROR (e);
- }
-
- MutexTest.count++;
- ACE.DEBUG (Thread.currentThread ().toString () +
- " writer acquired mutex in iteration " + i +
- ", count = " + MutexTest.count);
-
- try
- {
- Thread.sleep (1);
- }
- catch (InterruptedException e)
- {
- }
-
- // Release the mutex
- this.mutex_.release ();
- try
- {
- Thread.sleep (1);
- }
- catch (InterruptedException e)
- {
- }
-
- }
- }
-
- int nIterations_;
- Mutex mutex_;
-}
-
-public class MutexTest
-{
- public static void main (String args[])
- {
- int nReaders = 1;
- int nWriters = 1;
- int nIterations = 100;
- int i;
- try
- {
- if (args.length == 3)
- {
- nReaders = Integer.parseInt (args[0]);
- nWriters = Integer.parseInt (args[1]);
- nIterations = Integer.parseInt (args[2]);
- }
- }
- catch (NumberFormatException e)
- {
- ACE.ERROR ("Illegal argument.");
- }
-
- // Create a lock
- Mutex mutex = new Mutex ();
-
- // Now spawn off the readers and writers
- for (i = 0; i < nReaders; i++)
- new MutexReader (nIterations, mutex).start ();
-
- for (i = 0; i < nWriters; i++)
- new MutexWriter (nIterations, mutex).start ();
- }
- public static int count;
-}
diff --git a/java/tests/Concurrency/RWMutexTest.dsp b/java/tests/Concurrency/RWMutexTest.dsp
deleted file mode 100644
index 96a88a32208..00000000000
--- a/java/tests/Concurrency/RWMutexTest.dsp
+++ /dev/null
@@ -1,73 +0,0 @@
-# Microsoft Developer Studio Project File - Name="RWMutexTest" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 6.00
-# ** DO NOT EDIT **
-
-# TARGTYPE "Java Virtual Machine Java Project" 0x0809
-
-CFG=RWMutexTest - Java Virtual Machine Debug
-!MESSAGE This is not a valid makefile. To build this project using NMAKE,
-!MESSAGE use the Export Makefile command and run
-!MESSAGE
-!MESSAGE NMAKE /f "RWMutexTest.mak".
-!MESSAGE
-!MESSAGE You can specify a configuration when running NMAKE
-!MESSAGE by defining the macro CFG on the command line. For example:
-!MESSAGE
-!MESSAGE NMAKE /f "RWMutexTest.mak"\
- CFG="RWMutexTest - Java Virtual Machine Debug"
-!MESSAGE
-!MESSAGE Possible choices for configuration are:
-!MESSAGE
-!MESSAGE "RWMutexTest - Java Virtual Machine Release" (based on\
- "Java Virtual Machine Java Project")
-!MESSAGE "RWMutexTest - Java Virtual Machine Debug" (based on\
- "Java Virtual Machine Java Project")
-!MESSAGE
-
-# Begin Project
-# PROP Scc_ProjName ""
-# PROP Scc_LocalPath ""
-JAVA=jvc.exe
-
-!IF "$(CFG)" == "RWMutexTest - Java Virtual Machine Release"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir ""
-# PROP BASE Intermediate_Dir ""
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "..\..\classes-r"
-# PROP Intermediate_Dir ""
-# PROP Target_Dir ""
-# ADD BASE JAVA /O
-# ADD JAVA /O
-
-!ELSEIF "$(CFG)" == "RWMutexTest - Java Virtual Machine Debug"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir ""
-# PROP BASE Intermediate_Dir ""
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "..\..\classes"
-# PROP Intermediate_Dir ""
-# PROP Target_Dir ""
-# ADD BASE JAVA /g
-# ADD JAVA /g
-
-!ENDIF
-
-# Begin Target
-
-# Name "RWMutexTest - Java Virtual Machine Release"
-# Name "RWMutexTest - Java Virtual Machine Debug"
-# Begin Source File
-
-SOURCE=.\RWMutexTest.java
-# End Source File
-# End Target
-# End Project
diff --git a/java/tests/Concurrency/RWMutexTest.java b/java/tests/Concurrency/RWMutexTest.java
deleted file mode 100644
index ab28c9a83fd..00000000000
--- a/java/tests/Concurrency/RWMutexTest.java
+++ /dev/null
@@ -1,93 +0,0 @@
-/*************************************************
- *
- * = PACKAGE
- * tests.Concurrency
- *
- * = FILENAME
- * RWMutexTest.java
- *
- *@author Ross Dargahi (rossd@krinfo.com)
- *
- *************************************************/
-package tests.Concurrency;
-
-import JACE.OS.*;
-import JACE.Concurrency.*;
-
-class TestThread extends Thread
-{
- TestThread(String name,
- boolean writer,
- RWMutex lock)
- {
- super (name);
- mWriter = writer;
- mLock = lock;
- }
-
- public void run()
- {
- for (int i = 0; i < 10; i++)
- {
- try
- {
- if (!mWriter)
- {
- mLock.acquireRead();
- ACE.DEBUG (getName() + ": Acquired Read Lock");
-
- int sleepTime = i * 100;
- sleep (sleepTime);
-
- mLock.release ();
- ACE.DEBUG (getName () + ": Released Read Lock");
- }
- else
- {
- mLock.acquireWrite ();
- ACE.DEBUG (getName () + ": Acquired Write Lock");
-
- int sleepTime = i * 100;
- sleep (sleepTime);
-
- mLock.release ();
- ACE.DEBUG (getName () + ": Released Write Lock");
- }
- }
- catch (InterruptedException ex)
- {
- ACE.ERROR ("InterruptedException");
- }
- }
- }
-
- RWMutex mLock;
- boolean mWriter;
-}
-
-public class RWMutexTest
-{
- public static void main(String [] args)
- {
- RWMutex lock = new RWMutex();
-
- TestThread t1 = new TestThread ("1", false, lock);
- TestThread t2 = new TestThread ("2", false, lock);
- TestThread t3 = new TestThread ("3", false, lock);
- TestThread t4 = new TestThread ("4", true, lock);
- TestThread t5 = new TestThread ("5", false, lock);
- TestThread t6 = new TestThread ("6", false, lock);
- TestThread t7 = new TestThread ("7", false, lock);
- TestThread t8 = new TestThread ("8", true, lock);
-
- t1.start ();
- t2.start ();
- t3.start ();
- t4.start ();
- t5.start ();
- t6.start ();
- t7.start ();
- t8.start ();
- }
-}
-
diff --git a/java/tests/Concurrency/SemaphoreTest.dsp b/java/tests/Concurrency/SemaphoreTest.dsp
deleted file mode 100644
index 2bc61986361..00000000000
--- a/java/tests/Concurrency/SemaphoreTest.dsp
+++ /dev/null
@@ -1,73 +0,0 @@
-# Microsoft Developer Studio Project File - Name="SemaphoreTest" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 6.00
-# ** DO NOT EDIT **
-
-# TARGTYPE "Java Virtual Machine Java Project" 0x0809
-
-CFG=SemaphoreTest - Java Virtual Machine Debug
-!MESSAGE This is not a valid makefile. To build this project using NMAKE,
-!MESSAGE use the Export Makefile command and run
-!MESSAGE
-!MESSAGE NMAKE /f "SemaphoreTest.mak".
-!MESSAGE
-!MESSAGE You can specify a configuration when running NMAKE
-!MESSAGE by defining the macro CFG on the command line. For example:
-!MESSAGE
-!MESSAGE NMAKE /f "SemaphoreTest.mak"\
- CFG="SemaphoreTest - Java Virtual Machine Debug"
-!MESSAGE
-!MESSAGE Possible choices for configuration are:
-!MESSAGE
-!MESSAGE "SemaphoreTest - Java Virtual Machine Release" (based on\
- "Java Virtual Machine Java Project")
-!MESSAGE "SemaphoreTest - Java Virtual Machine Debug" (based on\
- "Java Virtual Machine Java Project")
-!MESSAGE
-
-# Begin Project
-# PROP Scc_ProjName ""
-# PROP Scc_LocalPath ""
-JAVA=jvc.exe
-
-!IF "$(CFG)" == "SemaphoreTest - Java Virtual Machine Release"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir ""
-# PROP BASE Intermediate_Dir ""
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "..\..\classes-r"
-# PROP Intermediate_Dir ""
-# PROP Target_Dir ""
-# ADD BASE JAVA /O
-# ADD JAVA /O
-
-!ELSEIF "$(CFG)" == "SemaphoreTest - Java Virtual Machine Debug"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir ""
-# PROP BASE Intermediate_Dir ""
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "..\..\classes"
-# PROP Intermediate_Dir ""
-# PROP Target_Dir ""
-# ADD BASE JAVA /g
-# ADD JAVA /g
-
-!ENDIF
-
-# Begin Target
-
-# Name "SemaphoreTest - Java Virtual Machine Release"
-# Name "SemaphoreTest - Java Virtual Machine Debug"
-# Begin Source File
-
-SOURCE=.\SemaphoreTest.java
-# End Source File
-# End Target
-# End Project
diff --git a/java/tests/Concurrency/SemaphoreTest.java b/java/tests/Concurrency/SemaphoreTest.java
deleted file mode 100644
index b45929daa55..00000000000
--- a/java/tests/Concurrency/SemaphoreTest.java
+++ /dev/null
@@ -1,102 +0,0 @@
-/*************************************************
- *
- * = PACKAGE
- * tests.Concurrency
- *
- * = FILENAME
- * SemaphoreTest.java
- *
- *@author Prashant Jain
- *
- *************************************************/
-package tests.Concurrency;
-
-import java.io.*;
-import JACE.OS.*;
-import JACE.Concurrency.*;
-
-class SemaphoreWriter extends Thread
-{
- SemaphoreWriter (int nIterations, Semaphore s)
- {
- this.nIterations_ = nIterations;
- this.s_ = s;
- }
-
- public void run ()
- {
- for (int i = 1; i <= this.nIterations_; i++)
- {
- // Acquire the semaphore (will block until it gets it)
- try
- {
- this.s_.acquire ();
- }
- catch (InterruptedException e)
- {
- ACE.ERROR (e);
- }
-
- SemaphoreTest.counter++;
- ACE.DEBUG (Thread.currentThread ().toString () +
- " acquired semaphore in iteration " + i +
- ", counter = " + SemaphoreTest.counter);
-
- try
- {
- Thread.sleep (1);
- }
- catch (InterruptedException e)
- {
- }
-
- // Release the semaphore
- this.s_.release ();
- ACE.DEBUG (Thread.currentThread ().toString () +
- " released semaphore in iteration " + i);
- try
- {
- Thread.sleep (1);
- }
- catch (InterruptedException e)
- {
- }
-
- }
- }
-
- int nIterations_;
- Semaphore s_;
-}
-
-public class SemaphoreTest
-{
- public static void main (String args[])
- {
- int nThreads = 1;
- int count = 1;
- int nIterations = 100;
- int i;
- try
- {
- if (args.length == 3)
- {
- nThreads = Integer.parseInt (args[0]);
- count = Integer.parseInt (args[1]);
- nIterations = Integer.parseInt (args[2]);
- }
- }
- catch (NumberFormatException e)
- {
- ACE.ERROR ("Illegal argument.");
- }
-
- // Create a lock
- Semaphore s = new Semaphore (count);
-
- // Spawn off n_threads
- for (i = 0; i < nThreads; i++)
- new SemaphoreWriter (nIterations, s).start ();
- }
- public static int counter;
-}
diff --git a/java/tests/Concurrency/TokenTest.dsp b/java/tests/Concurrency/TokenTest.dsp
deleted file mode 100644
index f0a1f87345e..00000000000
--- a/java/tests/Concurrency/TokenTest.dsp
+++ /dev/null
@@ -1,72 +0,0 @@
-# Microsoft Developer Studio Project File - Name="TokenTest" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 6.00
-# ** DO NOT EDIT **
-
-# TARGTYPE "Java Virtual Machine Java Project" 0x0809
-
-CFG=TokenTest - Java Virtual Machine Debug
-!MESSAGE This is not a valid makefile. To build this project using NMAKE,
-!MESSAGE use the Export Makefile command and run
-!MESSAGE
-!MESSAGE NMAKE /f "TokenTest.mak".
-!MESSAGE
-!MESSAGE You can specify a configuration when running NMAKE
-!MESSAGE by defining the macro CFG on the command line. For example:
-!MESSAGE
-!MESSAGE NMAKE /f "TokenTest.mak" CFG="TokenTest - Java Virtual Machine Debug"
-!MESSAGE
-!MESSAGE Possible choices for configuration are:
-!MESSAGE
-!MESSAGE "TokenTest - Java Virtual Machine Release" (based on\
- "Java Virtual Machine Java Project")
-!MESSAGE "TokenTest - Java Virtual Machine Debug" (based on\
- "Java Virtual Machine Java Project")
-!MESSAGE
-
-# Begin Project
-# PROP Scc_ProjName ""
-# PROP Scc_LocalPath ""
-JAVA=jvc.exe
-
-!IF "$(CFG)" == "TokenTest - Java Virtual Machine Release"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir ""
-# PROP BASE Intermediate_Dir ""
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "..\..\classes-r"
-# PROP Intermediate_Dir ""
-# PROP Target_Dir ""
-# ADD BASE JAVA /O
-# ADD JAVA /O
-
-!ELSEIF "$(CFG)" == "TokenTest - Java Virtual Machine Debug"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir ""
-# PROP BASE Intermediate_Dir ""
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "..\..\classes"
-# PROP Intermediate_Dir ""
-# PROP Target_Dir ""
-# ADD BASE JAVA /g
-# ADD JAVA /g
-
-!ENDIF
-
-# Begin Target
-
-# Name "TokenTest - Java Virtual Machine Release"
-# Name "TokenTest - Java Virtual Machine Debug"
-# Begin Source File
-
-SOURCE=.\TokenTest.java
-# End Source File
-# End Target
-# End Project
diff --git a/java/tests/Concurrency/TokenTest.java b/java/tests/Concurrency/TokenTest.java
deleted file mode 100644
index ededed9fed9..00000000000
--- a/java/tests/Concurrency/TokenTest.java
+++ /dev/null
@@ -1,73 +0,0 @@
-/*************************************************
- *
- * = PACKAGE
- * tests.Concurrency
- *
- * = FILENAME
- * TokenTest.java
- *
- *@author Prashant Jain
- *
- *************************************************/
-package tests.Concurrency;
-
-import java.io.*;
-import JACE.OS.*;
-import JACE.Concurrency.*;
-
-class MyToken extends Token
-{
- public void sleepHook ()
- {
- ACE.DEBUG (Thread.currentThread () + " blocking, sleepHook called");
- }
-}
-
-public class TokenTest implements Runnable
-{
- public void run ()
- {
- try
- {
- this.token_.acquire ();
- ACE.DEBUG (Thread.currentThread () + " acquired token");
- this.token_.acquire ();
- ACE.DEBUG (Thread.currentThread () + " acquired token");
- Thread.sleep (100);
-
- this.token_.renew (1);
-
- this.token_.release ();
- ACE.DEBUG (Thread.currentThread () + " released token");
- this.token_.release ();
- ACE.DEBUG (Thread.currentThread () + " released token");
- }
- catch (InterruptedException e)
- {
- this.token_.release ();
- }
- }
-
- public static void main (String args [])
- {
- ThreadManager tm = new ThreadManager ();
- int n = 1;
- try
- {
- if (args.length == 1)
- {
- n = Integer.parseInt (args[0]);
- }
- }
- catch (NumberFormatException e)
- {
- ACE.ERROR ("Illegal argument.");
- }
-
- tm.spawnN (n,
- new TokenTest (),
- false);
- }
-
- private MyToken token_ = new MyToken ();
-}
diff --git a/java/tests/Connection/AcceptorTest.dsp b/java/tests/Connection/AcceptorTest.dsp
deleted file mode 100644
index c4295c34732..00000000000
--- a/java/tests/Connection/AcceptorTest.dsp
+++ /dev/null
@@ -1,73 +0,0 @@
-# Microsoft Developer Studio Project File - Name="AcceptorTest" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 6.00
-# ** DO NOT EDIT **
-
-# TARGTYPE "Java Virtual Machine Java Project" 0x0809
-
-CFG=AcceptorTest - Java Virtual Machine Debug
-!MESSAGE This is not a valid makefile. To build this project using NMAKE,
-!MESSAGE use the Export Makefile command and run
-!MESSAGE
-!MESSAGE NMAKE /f "AcceptorTest.mak".
-!MESSAGE
-!MESSAGE You can specify a configuration when running NMAKE
-!MESSAGE by defining the macro CFG on the command line. For example:
-!MESSAGE
-!MESSAGE NMAKE /f "AcceptorTest.mak"\
- CFG="AcceptorTest - Java Virtual Machine Debug"
-!MESSAGE
-!MESSAGE Possible choices for configuration are:
-!MESSAGE
-!MESSAGE "AcceptorTest - Java Virtual Machine Release" (based on\
- "Java Virtual Machine Java Project")
-!MESSAGE "AcceptorTest - Java Virtual Machine Debug" (based on\
- "Java Virtual Machine Java Project")
-!MESSAGE
-
-# Begin Project
-# PROP Scc_ProjName ""
-# PROP Scc_LocalPath ""
-JAVA=jvc.exe
-
-!IF "$(CFG)" == "AcceptorTest - Java Virtual Machine Release"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir ""
-# PROP BASE Intermediate_Dir ""
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "..\..\classes-r"
-# PROP Intermediate_Dir ""
-# PROP Target_Dir ""
-# ADD BASE JAVA /O
-# ADD JAVA /O
-
-!ELSEIF "$(CFG)" == "AcceptorTest - Java Virtual Machine Debug"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir ""
-# PROP BASE Intermediate_Dir ""
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "..\..\classes"
-# PROP Intermediate_Dir ""
-# PROP Target_Dir ""
-# ADD BASE JAVA /g
-# ADD JAVA /g
-
-!ENDIF
-
-# Begin Target
-
-# Name "AcceptorTest - Java Virtual Machine Release"
-# Name "AcceptorTest - Java Virtual Machine Debug"
-# Begin Source File
-
-SOURCE=.\AcceptorTest.java
-# End Source File
-# End Target
-# End Project
diff --git a/java/tests/Connection/AcceptorTest.java b/java/tests/Connection/AcceptorTest.java
deleted file mode 100644
index 0f8877f52d9..00000000000
--- a/java/tests/Connection/AcceptorTest.java
+++ /dev/null
@@ -1,79 +0,0 @@
-// ============================================================================
-//
-// = PACKAGE
-// tests.Connection
-//
-// = FILENAME
-// AcceptorTest.java
-//
-// = AUTHOR
-// Prashant Jain
-//
-// ============================================================================
-package tests.Connection;
-
-import java.io.*;
-import java.net.*;
-import JACE.OS.*;
-import JACE.Connection.*;
-
-public class AcceptorTest
-{
- void print_usage_and_die ()
- {
- System.out.println ("Usage: test_server [<port>]");
- System.exit (0);
- }
-
- public void init (int port)
- {
- try
- {
- Acceptor acceptor = new Acceptor (Class.forName ("tests.Connection.ServerHandler"));
- acceptor.open (port);
- while (true)
- {
- acceptor.accept ();
- }
- }
- catch (ClassNotFoundException e)
- {
- ACE.ERROR (e);
- }
- catch (SocketException e)
- {
- ACE.ERROR ("Socket Exception: " + e);
- }
- catch (InstantiationException e)
- {
- ACE.ERROR (e);
- }
- catch (IllegalAccessException e)
- {
- ACE.ERROR ("Dang!" + e);
- }
- catch (IOException e)
- {
- ACE.ERROR (e);
- }
- }
-
- public static void main (String [] args)
- {
- int port = ACE.DEFAULT_SERVER_PORT;
- AcceptorTest acceptorTest = new AcceptorTest ();
-
- if (args.length == 1)
- {
- try
- {
- port = Integer.parseInt (args[0]);
- }
- catch (NumberFormatException e)
- {
- acceptorTest.print_usage_and_die ();
- }
- }
- acceptorTest.init (port);
- }
-}
diff --git a/java/tests/Connection/ClientHandler.dsp b/java/tests/Connection/ClientHandler.dsp
deleted file mode 100644
index e9bf0f6fc4d..00000000000
--- a/java/tests/Connection/ClientHandler.dsp
+++ /dev/null
@@ -1,73 +0,0 @@
-# Microsoft Developer Studio Project File - Name="ClientHandler" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 6.00
-# ** DO NOT EDIT **
-
-# TARGTYPE "Java Virtual Machine Java Project" 0x0809
-
-CFG=ClientHandler - Java Virtual Machine Debug
-!MESSAGE This is not a valid makefile. To build this project using NMAKE,
-!MESSAGE use the Export Makefile command and run
-!MESSAGE
-!MESSAGE NMAKE /f "ClientHandler.mak".
-!MESSAGE
-!MESSAGE You can specify a configuration when running NMAKE
-!MESSAGE by defining the macro CFG on the command line. For example:
-!MESSAGE
-!MESSAGE NMAKE /f "ClientHandler.mak"\
- CFG="ClientHandler - Java Virtual Machine Debug"
-!MESSAGE
-!MESSAGE Possible choices for configuration are:
-!MESSAGE
-!MESSAGE "ClientHandler - Java Virtual Machine Release" (based on\
- "Java Virtual Machine Java Project")
-!MESSAGE "ClientHandler - Java Virtual Machine Debug" (based on\
- "Java Virtual Machine Java Project")
-!MESSAGE
-
-# Begin Project
-# PROP Scc_ProjName ""
-# PROP Scc_LocalPath ""
-JAVA=jvc.exe
-
-!IF "$(CFG)" == "ClientHandler - Java Virtual Machine Release"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir ""
-# PROP BASE Intermediate_Dir ""
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "..\..\classes-r"
-# PROP Intermediate_Dir ""
-# PROP Target_Dir ""
-# ADD BASE JAVA /O
-# ADD JAVA /O
-
-!ELSEIF "$(CFG)" == "ClientHandler - Java Virtual Machine Debug"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir ""
-# PROP BASE Intermediate_Dir ""
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "..\..\classes"
-# PROP Intermediate_Dir ""
-# PROP Target_Dir ""
-# ADD BASE JAVA /g
-# ADD JAVA /g
-
-!ENDIF
-
-# Begin Target
-
-# Name "ClientHandler - Java Virtual Machine Release"
-# Name "ClientHandler - Java Virtual Machine Debug"
-# Begin Source File
-
-SOURCE=.\ClientHandler.java
-# End Source File
-# End Target
-# End Project
diff --git a/java/tests/Connection/ClientHandler.java b/java/tests/Connection/ClientHandler.java
deleted file mode 100644
index a18f7740cce..00000000000
--- a/java/tests/Connection/ClientHandler.java
+++ /dev/null
@@ -1,77 +0,0 @@
-// ============================================================================
-//
-// = PACKAGE
-// tests.Connection
-//
-// = FILENAME
-// ClientHandler.java
-//
-// = AUTHOR
-// Prashant Jain
-//
-// ============================================================================
-package tests.Connection;
-
-import java.io.*;
-import java.net.*;
-import JACE.OS.*;
-import JACE.Connection.*;
-
-public class ClientHandler extends SvcHandler
-{
- public ClientHandler ()
- {
- }
-
- public int open (Object obj)
- {
- new Thread (this).start ();
- return 0;
- }
-
- public void run ()
- {
- BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
-
- String msg;
- StringBuffer ack = new StringBuffer ();
- int ack_len;
- try
- {
- while (true)
- {
- System.out.print ("Enter input: ");
- System.out.flush ();
- msg = in.readLine ();
- if (msg == null)
- break;
- this.peer ().send (new StringBuffer (msg));
- System.out.println ("Waiting for ack...");
- ack_len = this.peer ().recv (ack);
- if (ack_len == 0)
- break;
- else
- System.out.println (ack);
- }
- }
- catch (NullPointerException e)
- {
- ACE.ERROR ("connection reset by peer");
- }
- catch (IOException e)
- {
- ACE.ERROR (e);
- }
- finally
- {
- try
- {
- this.peer ().close ();
- }
- catch (IOException e)
- {
- }
- }
-
- }
-}
diff --git a/java/tests/Connection/ConnectorTest.dsp b/java/tests/Connection/ConnectorTest.dsp
deleted file mode 100644
index 221581c72fe..00000000000
--- a/java/tests/Connection/ConnectorTest.dsp
+++ /dev/null
@@ -1,73 +0,0 @@
-# Microsoft Developer Studio Project File - Name="ConnectorTest" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 6.00
-# ** DO NOT EDIT **
-
-# TARGTYPE "Java Virtual Machine Java Project" 0x0809
-
-CFG=ConnectorTest - Java Virtual Machine Debug
-!MESSAGE This is not a valid makefile. To build this project using NMAKE,
-!MESSAGE use the Export Makefile command and run
-!MESSAGE
-!MESSAGE NMAKE /f "ConnectorTest.mak".
-!MESSAGE
-!MESSAGE You can specify a configuration when running NMAKE
-!MESSAGE by defining the macro CFG on the command line. For example:
-!MESSAGE
-!MESSAGE NMAKE /f "ConnectorTest.mak"\
- CFG="ConnectorTest - Java Virtual Machine Debug"
-!MESSAGE
-!MESSAGE Possible choices for configuration are:
-!MESSAGE
-!MESSAGE "ConnectorTest - Java Virtual Machine Release" (based on\
- "Java Virtual Machine Java Project")
-!MESSAGE "ConnectorTest - Java Virtual Machine Debug" (based on\
- "Java Virtual Machine Java Project")
-!MESSAGE
-
-# Begin Project
-# PROP Scc_ProjName ""
-# PROP Scc_LocalPath ""
-JAVA=jvc.exe
-
-!IF "$(CFG)" == "ConnectorTest - Java Virtual Machine Release"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir ""
-# PROP BASE Intermediate_Dir ""
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "..\..\classes-r"
-# PROP Intermediate_Dir ""
-# PROP Target_Dir ""
-# ADD BASE JAVA /O
-# ADD JAVA /O
-
-!ELSEIF "$(CFG)" == "ConnectorTest - Java Virtual Machine Debug"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir ""
-# PROP BASE Intermediate_Dir ""
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "..\..\classes"
-# PROP Intermediate_Dir ""
-# PROP Target_Dir ""
-# ADD BASE JAVA /g
-# ADD JAVA /g
-
-!ENDIF
-
-# Begin Target
-
-# Name "ConnectorTest - Java Virtual Machine Release"
-# Name "ConnectorTest - Java Virtual Machine Debug"
-# Begin Source File
-
-SOURCE=.\ConnectorTest.java
-# End Source File
-# End Target
-# End Project
diff --git a/java/tests/Connection/ConnectorTest.java b/java/tests/Connection/ConnectorTest.java
deleted file mode 100644
index 605d5e7a400..00000000000
--- a/java/tests/Connection/ConnectorTest.java
+++ /dev/null
@@ -1,76 +0,0 @@
-// ============================================================================
-//
-// = PACKAGE
-// tests.Connection
-//
-// = FILENAME
-// ConnectorTest.java
-//
-// = AUTHOR
-// Prashant Jain
-//
-// ============================================================================
-package tests.Connection;
-
-import java.io.*;
-import java.net.*;
-import JACE.OS.*;
-import JACE.Connection.*;
-
-public class ConnectorTest
-{
- void print_usage_and_die ()
- {
- System.out.println ("Usage: test_Connector <hostname> [<port>]");
- System.exit (0);
- }
-
- public void init (String hostname, int port)
- {
- try
- {
- Connector connector = new Connector ();
- connector.open (hostname, port);
- connector.connect (new ClientHandler ());
- }
- catch (UnknownHostException e)
- {
- ACE.ERROR (e);
- }
- catch (SocketException e)
- {
- ACE.ERROR ("Connection refused");
- }
- catch (InstantiationException e)
- {
- ACE.ERROR (e);
- }
- catch (IllegalAccessException e)
- {
- ACE.ERROR (e);
- }
- catch (IOException e)
- {
- ACE.ERROR (e);
- }
- }
-
- public static void main (String [] args)
- {
- int port = ACE.DEFAULT_SERVER_PORT;
- ConnectorTest connectorTest = new ConnectorTest ();
-
- if (args.length == 2)
- {
- try
- {
- port = Integer.parseInt (args[1]);
- }
- catch (NumberFormatException e)
- {
- connectorTest.print_usage_and_die ();
- }
- }
- connectorTest.init (args[0], port);
- }
-}
diff --git a/java/tests/Connection/HTTPHelperTest.java b/java/tests/Connection/HTTPHelperTest.java
deleted file mode 100644
index 02a16d838af..00000000000
--- a/java/tests/Connection/HTTPHelperTest.java
+++ /dev/null
@@ -1,27 +0,0 @@
-package tests.Connection;
-
-import java.io.*;
-import JACE.Connection.*;
-
-public class HTTPHelperTest
-{
- public static void main(String args[])
- {
- // This is just a quick test to confirm that the Base 64 encoding and decoding work
- // (tests the example given in the HTTP 1.1 RFC)
-
- String secret = "Aladdin:open sesame";
-
- String encoded = JACE.Connection.HTTPHelper.EncodeBase64(secret);
-
- System.err.println("Encoding string: " + secret);
-
- System.err.println("Result: " + encoded);
-
- System.err.println("Is this right? " + (encoded.equals("QWxhZGRpbjpvcGVuIHNlc2FtZQ==") ? "Yes" : "No"));
-
- // Decode should also be tested
- //
- }
-};
-
diff --git a/java/tests/Connection/Makefile b/java/tests/Connection/Makefile
deleted file mode 100644
index f58878033e0..00000000000
--- a/java/tests/Connection/Makefile
+++ /dev/null
@@ -1,26 +0,0 @@
-# Makefile
-# $Id$
-
-.SUFFIXES: .java .class
-
-JACE_WRAPPER = ../..
-CLASSDIR = $(JACE_WRAPPER)/classes
-
-CLASSPATH := $(CLASSDIR):$(CLASSPATH)
-
-all:
- javac -d ${JACE_WRAPPER}/classes $(files)
-doc:
- javadoc -d ${JACE_WRAPPER}/doc $(files) $(packages)
-
-
-files = ServerHandler.java \
- ClientHandler.java \
- ConnectorTest.java \
- AcceptorTest.java \
- HTTPHelperTest.java
-
-packages = tests.Connection
-
-realclean:
- find ${JACE_WRAPPER}/classes/tests/Connection -name '*.class' -print | xargs ${RM}
diff --git a/java/tests/Connection/ServerHandler.dsp b/java/tests/Connection/ServerHandler.dsp
deleted file mode 100644
index 13aff2843e3..00000000000
--- a/java/tests/Connection/ServerHandler.dsp
+++ /dev/null
@@ -1,73 +0,0 @@
-# Microsoft Developer Studio Project File - Name="ServerHandler" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 6.00
-# ** DO NOT EDIT **
-
-# TARGTYPE "Java Virtual Machine Java Project" 0x0809
-
-CFG=ServerHandler - Java Virtual Machine Debug
-!MESSAGE This is not a valid makefile. To build this project using NMAKE,
-!MESSAGE use the Export Makefile command and run
-!MESSAGE
-!MESSAGE NMAKE /f "ServerHandler.mak".
-!MESSAGE
-!MESSAGE You can specify a configuration when running NMAKE
-!MESSAGE by defining the macro CFG on the command line. For example:
-!MESSAGE
-!MESSAGE NMAKE /f "ServerHandler.mak"\
- CFG="ServerHandler - Java Virtual Machine Debug"
-!MESSAGE
-!MESSAGE Possible choices for configuration are:
-!MESSAGE
-!MESSAGE "ServerHandler - Java Virtual Machine Release" (based on\
- "Java Virtual Machine Java Project")
-!MESSAGE "ServerHandler - Java Virtual Machine Debug" (based on\
- "Java Virtual Machine Java Project")
-!MESSAGE
-
-# Begin Project
-# PROP Scc_ProjName ""
-# PROP Scc_LocalPath ""
-JAVA=jvc.exe
-
-!IF "$(CFG)" == "ServerHandler - Java Virtual Machine Release"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir ""
-# PROP BASE Intermediate_Dir ""
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "..\..\classes-r"
-# PROP Intermediate_Dir ""
-# PROP Target_Dir ""
-# ADD BASE JAVA /O
-# ADD JAVA /O
-
-!ELSEIF "$(CFG)" == "ServerHandler - Java Virtual Machine Debug"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir ""
-# PROP BASE Intermediate_Dir ""
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "..\..\classes"
-# PROP Intermediate_Dir ""
-# PROP Target_Dir ""
-# ADD BASE JAVA /g
-# ADD JAVA /g
-
-!ENDIF
-
-# Begin Target
-
-# Name "ServerHandler - Java Virtual Machine Release"
-# Name "ServerHandler - Java Virtual Machine Debug"
-# Begin Source File
-
-SOURCE=.\ServerHandler.java
-# End Source File
-# End Target
-# End Project
diff --git a/java/tests/Connection/ServerHandler.java b/java/tests/Connection/ServerHandler.java
deleted file mode 100644
index 7cdd50d7d37..00000000000
--- a/java/tests/Connection/ServerHandler.java
+++ /dev/null
@@ -1,68 +0,0 @@
-// ============================================================================
-//
-// = PACKAGE
-// tests.Connection
-//
-// = FILENAME
-// ServerHandler.java
-//
-// = AUTHOR
-// Prashant Jain
-//
-// ============================================================================
-package tests.Connection;
-
-import java.io.*;
-import java.net.*;
-import JACE.OS.*;
-import JACE.Connection.*;
-
-public class ServerHandler extends SvcHandler
-{
- public ServerHandler ()
- {
- }
-
- public int open (Object obj)
- {
- new Thread (this).start ();
- return 0;
- }
-
- public void run ()
- {
- int msg_len;
- System.out.println ("Waiting for messages...");
- try
- {
- while (true)
- {
- StringBuffer msg = new StringBuffer ();
- msg_len = this.peer ().recv (msg);
- if (msg_len == 0)
- break;
- System.out.println ("Received: " + msg);
- this.peer ().send (new StringBuffer ("Got it!"));
- }
- }
- catch (NullPointerException e)
- {
- ACE.ERROR ("connection reset by peer");
- }
- catch (IOException e)
- {
- ACE.ERROR (e);
- }
- finally
- {
- try
- {
- this.peer ().close ();
- }
- catch (IOException e)
- {
- }
- }
-
- }
-}
diff --git a/java/tests/Misc/Makefile b/java/tests/Misc/Makefile
deleted file mode 100644
index 2ea3d10fba5..00000000000
--- a/java/tests/Misc/Makefile
+++ /dev/null
@@ -1,21 +0,0 @@
-# Makefile
-
-.SUFFIXES: .java .class
-
-JACE_WRAPPER = ../..
-CLASSDIR = $(JACE_WRAPPER)/classes
-
-CLASSPATH := $(CLASSDIR):$(CLASSPATH)
-
-all:
- javac -d ${JACE_WRAPPER}/classes $(files)
-doc:
- javadoc -d ${JACE_WRAPPER}/doc $(files) $(packages)
-
-
-files = ParseArgsTest.java
-
-packages = tests.Misc
-
-realclean:
- find ${JACE_WRAPPER}/classes/tests/Misc -name '*.class' -print | xargs ${RM}
diff --git a/java/tests/Misc/ParseArgsTest.dsp b/java/tests/Misc/ParseArgsTest.dsp
deleted file mode 100644
index 8befbaf1911..00000000000
--- a/java/tests/Misc/ParseArgsTest.dsp
+++ /dev/null
@@ -1,73 +0,0 @@
-# Microsoft Developer Studio Project File - Name="ParseArgsTest" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 6.00
-# ** DO NOT EDIT **
-
-# TARGTYPE "Java Virtual Machine Java Project" 0x0809
-
-CFG=ParseArgsTest - Java Virtual Machine Debug
-!MESSAGE This is not a valid makefile. To build this project using NMAKE,
-!MESSAGE use the Export Makefile command and run
-!MESSAGE
-!MESSAGE NMAKE /f "ParseArgsTest.mak".
-!MESSAGE
-!MESSAGE You can specify a configuration when running NMAKE
-!MESSAGE by defining the macro CFG on the command line. For example:
-!MESSAGE
-!MESSAGE NMAKE /f "ParseArgsTest.mak"\
- CFG="ParseArgsTest - Java Virtual Machine Debug"
-!MESSAGE
-!MESSAGE Possible choices for configuration are:
-!MESSAGE
-!MESSAGE "ParseArgsTest - Java Virtual Machine Release" (based on\
- "Java Virtual Machine Java Project")
-!MESSAGE "ParseArgsTest - Java Virtual Machine Debug" (based on\
- "Java Virtual Machine Java Project")
-!MESSAGE
-
-# Begin Project
-# PROP Scc_ProjName ""
-# PROP Scc_LocalPath ""
-JAVA=jvc.exe
-
-!IF "$(CFG)" == "ParseArgsTest - Java Virtual Machine Release"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir ""
-# PROP BASE Intermediate_Dir ""
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "..\..\classes-r"
-# PROP Intermediate_Dir ""
-# PROP Target_Dir ""
-# ADD BASE JAVA /O
-# ADD JAVA /O
-
-!ELSEIF "$(CFG)" == "ParseArgsTest - Java Virtual Machine Debug"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir ""
-# PROP BASE Intermediate_Dir ""
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "..\..\classes"
-# PROP Intermediate_Dir ""
-# PROP Target_Dir ""
-# ADD BASE JAVA /g
-# ADD JAVA /g
-
-!ENDIF
-
-# Begin Target
-
-# Name "ParseArgsTest - Java Virtual Machine Release"
-# Name "ParseArgsTest - Java Virtual Machine Debug"
-# Begin Source File
-
-SOURCE=.\ParseArgsTest.java
-# End Source File
-# End Target
-# End Project
diff --git a/java/tests/Misc/ParseArgsTest.java b/java/tests/Misc/ParseArgsTest.java
deleted file mode 100644
index 5baddd2745d..00000000000
--- a/java/tests/Misc/ParseArgsTest.java
+++ /dev/null
@@ -1,45 +0,0 @@
-// ============================================================================
-//
-// = PACKAGE
-// tests.Misc
-//
-// = FILENAME
-// ParseArgsTest.java
-//
-// = AUTHOR
-// Prashant Jain
-//
-// ============================================================================
-package tests.Misc;
-
-import JACE.OS.*;
-import JACE.Misc.*;
-
-public class ParseArgsTest
-{
- public static void main (String args[])
- {
- String s;
- GetOpt opt = new GetOpt (args, "p:rs:");
- for (int c; (c = opt.next ()) != -1; )
- {
- switch (c)
- {
- case 'p':
- s = opt.optarg ();
- ACE.DEBUG ("Option <p> selected with argument " + s);
- break;
- case 'r':
- ACE.DEBUG ("Option <r> selected");
- break;
- case 's':
- s = opt.optarg ();
- ACE.DEBUG ("Option <s> selected with argument " + s);
- break;
- default:
- ACE.DEBUG ("Usage: java tests.Misc.ParseArgsTest [-p arg1] [-r] [-s arg2]");
- break;
- }
- }
- }
-}
diff --git a/java/tests/Reactor/Makefile b/java/tests/Reactor/Makefile
deleted file mode 100644
index f55573a89cb..00000000000
--- a/java/tests/Reactor/Makefile
+++ /dev/null
@@ -1,22 +0,0 @@
-# Makefile
-
-.SUFFIXES: .java .class
-
-JACE_WRAPPER = ../..
-CLASSDIR = $(JACE_WRAPPER)/classes
-
-CLASSPATH := $(CLASSDIR):$(CLASSPATH)
-
-all:
- javac -d ${JACE_WRAPPER}/classes $(files)
-doc:
- javadoc -d ${JACE_WRAPPER}/doc $(files) $(packages)
-
-
-files = TimeValueTest.java \
- TimerQueueTest.java
-
-packages = tests.Reactor
-
-realclean:
- find ${JACE_WRAPPER}/classes/tests/Reactor -name '*.class' -print | xargs ${RM}
diff --git a/java/tests/Reactor/TimeValueTest.dsp b/java/tests/Reactor/TimeValueTest.dsp
deleted file mode 100644
index 5a957758046..00000000000
--- a/java/tests/Reactor/TimeValueTest.dsp
+++ /dev/null
@@ -1,73 +0,0 @@
-# Microsoft Developer Studio Project File - Name="TimeValueTest" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 6.00
-# ** DO NOT EDIT **
-
-# TARGTYPE "Java Virtual Machine Java Project" 0x0809
-
-CFG=TimeValueTest - Java Virtual Machine Debug
-!MESSAGE This is not a valid makefile. To build this project using NMAKE,
-!MESSAGE use the Export Makefile command and run
-!MESSAGE
-!MESSAGE NMAKE /f "TimeValueTest.mak".
-!MESSAGE
-!MESSAGE You can specify a configuration when running NMAKE
-!MESSAGE by defining the macro CFG on the command line. For example:
-!MESSAGE
-!MESSAGE NMAKE /f "TimeValueTest.mak"\
- CFG="TimeValueTest - Java Virtual Machine Debug"
-!MESSAGE
-!MESSAGE Possible choices for configuration are:
-!MESSAGE
-!MESSAGE "TimeValueTest - Java Virtual Machine Release" (based on\
- "Java Virtual Machine Java Project")
-!MESSAGE "TimeValueTest - Java Virtual Machine Debug" (based on\
- "Java Virtual Machine Java Project")
-!MESSAGE
-
-# Begin Project
-# PROP Scc_ProjName ""
-# PROP Scc_LocalPath ""
-JAVA=jvc.exe
-
-!IF "$(CFG)" == "TimeValueTest - Java Virtual Machine Release"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir ""
-# PROP BASE Intermediate_Dir ""
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "..\..\classes-r"
-# PROP Intermediate_Dir ""
-# PROP Target_Dir ""
-# ADD BASE JAVA /O
-# ADD JAVA /O
-
-!ELSEIF "$(CFG)" == "TimeValueTest - Java Virtual Machine Debug"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir ""
-# PROP BASE Intermediate_Dir ""
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "..\..\classes"
-# PROP Intermediate_Dir ""
-# PROP Target_Dir ""
-# ADD BASE JAVA /g
-# ADD JAVA /g
-
-!ENDIF
-
-# Begin Target
-
-# Name "TimeValueTest - Java Virtual Machine Release"
-# Name "TimeValueTest - Java Virtual Machine Debug"
-# Begin Source File
-
-SOURCE=.\TimeValueTest.java
-# End Source File
-# End Target
-# End Project
diff --git a/java/tests/Reactor/TimeValueTest.java b/java/tests/Reactor/TimeValueTest.java
deleted file mode 100644
index b4f3e420ae1..00000000000
--- a/java/tests/Reactor/TimeValueTest.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/*************************************************
- *
- * = PACKAGE
- * ACE.Reactor
- *
- * = FILENAME
- * TimeValueTest.java
- *
- *@author Prashant Jain
- *
- *************************************************/
-package tests.Reactor;
-
-import JACE.OS.*;
-import JACE.ASX.*;
-
-public class TimeValueTest
-{
- public void ASSERT (boolean expression, int i)
- {
- if (!expression)
- ACE.DEBUG ("ASSERT failed for " + i);
- }
-
- public void runTest ()
- {
- TimeValue tv1 = new TimeValue ();
- TimeValue tv2 = new TimeValue (2);
- TimeValue tv3 = new TimeValue (100);
- TimeValue tv4 = new TimeValue (1, 1000000000);
- TimeValue tv5 = new TimeValue (2);
- TimeValue tv6 = new TimeValue (1, -1000000000);
-
- this.ASSERT (tv1.equals (new TimeValue (0)), 1);
- this.ASSERT (tv2.lessThan (tv3), 2);
- this.ASSERT (tv2.lessThanEqual (tv2), 3);
- this.ASSERT (tv2.greaterThanEqual (tv4), 4);
- this.ASSERT (tv5.greaterThanEqual (tv6), 5);
- this.ASSERT (tv2.equals (new TimeValue (1, 1000000000)), 6);
- this.ASSERT (tv5.equals (tv4), 7);
- this.ASSERT (tv2.equals (tv4), 8);
- this.ASSERT (tv1.notEquals (tv2), 9);
- this.ASSERT (tv6.equals (tv1), 10);
- }
-
- public static void main (String [] args)
- {
- new TimeValueTest ().runTest ();
- }
-}
diff --git a/java/tests/Reactor/TimerQueueTest.dsp b/java/tests/Reactor/TimerQueueTest.dsp
deleted file mode 100644
index 35f52adbea0..00000000000
--- a/java/tests/Reactor/TimerQueueTest.dsp
+++ /dev/null
@@ -1,73 +0,0 @@
-# Microsoft Developer Studio Project File - Name="TimerQueueTest" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 6.00
-# ** DO NOT EDIT **
-
-# TARGTYPE "Java Virtual Machine Java Project" 0x0809
-
-CFG=TimerQueueTest - Java Virtual Machine Debug
-!MESSAGE This is not a valid makefile. To build this project using NMAKE,
-!MESSAGE use the Export Makefile command and run
-!MESSAGE
-!MESSAGE NMAKE /f "TimerQueueTest.mak".
-!MESSAGE
-!MESSAGE You can specify a configuration when running NMAKE
-!MESSAGE by defining the macro CFG on the command line. For example:
-!MESSAGE
-!MESSAGE NMAKE /f "TimerQueueTest.mak"\
- CFG="TimerQueueTest - Java Virtual Machine Debug"
-!MESSAGE
-!MESSAGE Possible choices for configuration are:
-!MESSAGE
-!MESSAGE "TimerQueueTest - Java Virtual Machine Release" (based on\
- "Java Virtual Machine Java Project")
-!MESSAGE "TimerQueueTest - Java Virtual Machine Debug" (based on\
- "Java Virtual Machine Java Project")
-!MESSAGE
-
-# Begin Project
-# PROP Scc_ProjName ""
-# PROP Scc_LocalPath ""
-JAVA=jvc.exe
-
-!IF "$(CFG)" == "TimerQueueTest - Java Virtual Machine Release"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir ""
-# PROP BASE Intermediate_Dir ""
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "..\..\classes-r"
-# PROP Intermediate_Dir ""
-# PROP Target_Dir ""
-# ADD BASE JAVA /O
-# ADD JAVA /O
-
-!ELSEIF "$(CFG)" == "TimerQueueTest - Java Virtual Machine Debug"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir ""
-# PROP BASE Intermediate_Dir ""
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "..\..\classes"
-# PROP Intermediate_Dir ""
-# PROP Target_Dir ""
-# ADD BASE JAVA /g
-# ADD JAVA /g
-
-!ENDIF
-
-# Begin Target
-
-# Name "TimerQueueTest - Java Virtual Machine Release"
-# Name "TimerQueueTest - Java Virtual Machine Debug"
-# Begin Source File
-
-SOURCE=.\TimerQueueTest.java
-# End Source File
-# End Target
-# End Project
diff --git a/java/tests/Reactor/TimerQueueTest.java b/java/tests/Reactor/TimerQueueTest.java
deleted file mode 100644
index d34439dcf9b..00000000000
--- a/java/tests/Reactor/TimerQueueTest.java
+++ /dev/null
@@ -1,80 +0,0 @@
-// ============================================================================
-//
-// = PACKAGE
-// tests.Reactor
-//
-// = FILENAME
-// TimerQueueTest.java
-//
-// = AUTHOR
-// Prashant Jain
-//
-// ============================================================================
-package tests.Reactor;
-
-import JACE.OS.*;
-import JACE.ASX.*;
-import JACE.Reactor.*;
-
-public class TimerQueueTest implements EventHandler
-{
- public int handleTimeout (TimeValue tv, Object obj)
- {
- ACE.DEBUG ("handleTimeout: " + tv.toString () + " " + (String) obj);
- return 0;
- }
-
- public static void main (String args [])
- {
- TimerQueue tq = new TimerQueue (true);
- TimerQueueTest th1 = new TimerQueueTest ();
- int n = 5;
-
- try
- {
- if (args.length == 1)
- {
- n = Integer.parseInt (args[0]);
- }
- }
- catch (NumberFormatException e)
- {
- ACE.ERROR ("Illegal argument.");
- }
-
- // Set a periodic timer
- int id= tq.scheduleTimer (th1,
- "periodic",
- new TimeValue (2),
- new TimeValue (3));
-
- int i;
- // Set a bunch of single timers
- for (i=1; i <= n; i++)
- {
- tq.scheduleTimer (th1,
- "A-timer-" + new Integer (i),
- new TimeValue (i*2));
- }
-
- TimerQueueTest th2 = new TimerQueueTest ();
- for (i=1; i <= n; i++)
- {
- tq.scheduleTimer (th2,
- "B-timer-" + new Integer (i),
- new TimeValue (i*3));
- }
- // Cancel all timers associated with this handler
- tq.cancelTimer (th2);
-
- try
- {
- Thread.sleep (30000);
- }
- catch (InterruptedException e)
- {
- }
- tq.cancelTimer (id);
- System.exit (0);
- }
-}
diff --git a/java/tests/SOCK_SAP/Makefile b/java/tests/SOCK_SAP/Makefile
deleted file mode 100644
index 1481d8e566f..00000000000
--- a/java/tests/SOCK_SAP/Makefile
+++ /dev/null
@@ -1,22 +0,0 @@
-# Makefile
-
-.SUFFIXES: .java .class
-
-JACE_WRAPPER = ../..
-CLASSDIR = $(JACE_WRAPPER)/classes
-
-CLASSPATH := $(CLASSDIR):$(CLASSPATH)
-
-all:
- javac -d ${JACE_WRAPPER}/classes $(files)
-doc:
- javadoc -d ${JACE_WRAPPER}/doc $(files) $(packages)
-
-
-files = SOCKConnectorTest.java \
- SOCKAcceptorTest.java
-
-packages = tests.SOCK_SAP
-
-realclean:
- find ${JACE_WRAPPER}/classes/tests/SOCK_SAP -name '*.class' -print | xargs ${RM}
diff --git a/java/tests/SOCK_SAP/SOCKAcceptorTest.dsp b/java/tests/SOCK_SAP/SOCKAcceptorTest.dsp
deleted file mode 100644
index e49c3a8e7ff..00000000000
--- a/java/tests/SOCK_SAP/SOCKAcceptorTest.dsp
+++ /dev/null
@@ -1,73 +0,0 @@
-# Microsoft Developer Studio Project File - Name="SOCKAcceptorTest" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 6.00
-# ** DO NOT EDIT **
-
-# TARGTYPE "Java Virtual Machine Java Project" 0x0809
-
-CFG=SOCKAcceptorTest - Java Virtual Machine Debug
-!MESSAGE This is not a valid makefile. To build this project using NMAKE,
-!MESSAGE use the Export Makefile command and run
-!MESSAGE
-!MESSAGE NMAKE /f "SOCKAcceptorTest.mak".
-!MESSAGE
-!MESSAGE You can specify a configuration when running NMAKE
-!MESSAGE by defining the macro CFG on the command line. For example:
-!MESSAGE
-!MESSAGE NMAKE /f "SOCKAcceptorTest.mak"\
- CFG="SOCKAcceptorTest - Java Virtual Machine Debug"
-!MESSAGE
-!MESSAGE Possible choices for configuration are:
-!MESSAGE
-!MESSAGE "SOCKAcceptorTest - Java Virtual Machine Release" (based on\
- "Java Virtual Machine Java Project")
-!MESSAGE "SOCKAcceptorTest - Java Virtual Machine Debug" (based on\
- "Java Virtual Machine Java Project")
-!MESSAGE
-
-# Begin Project
-# PROP Scc_ProjName ""
-# PROP Scc_LocalPath ""
-JAVA=jvc.exe
-
-!IF "$(CFG)" == "SOCKAcceptorTest - Java Virtual Machine Release"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir ""
-# PROP BASE Intermediate_Dir ""
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "..\..\classes-r"
-# PROP Intermediate_Dir ""
-# PROP Target_Dir ""
-# ADD BASE JAVA /O
-# ADD JAVA /O
-
-!ELSEIF "$(CFG)" == "SOCKAcceptorTest - Java Virtual Machine Debug"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir ""
-# PROP BASE Intermediate_Dir ""
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "..\..\classes"
-# PROP Intermediate_Dir ""
-# PROP Target_Dir ""
-# ADD BASE JAVA /g
-# ADD JAVA /g
-
-!ENDIF
-
-# Begin Target
-
-# Name "SOCKAcceptorTest - Java Virtual Machine Release"
-# Name "SOCKAcceptorTest - Java Virtual Machine Debug"
-# Begin Source File
-
-SOURCE=.\SOCKAcceptorTest.java
-# End Source File
-# End Target
-# End Project
diff --git a/java/tests/SOCK_SAP/SOCKAcceptorTest.java b/java/tests/SOCK_SAP/SOCKAcceptorTest.java
deleted file mode 100644
index 34ab8ecb6c9..00000000000
--- a/java/tests/SOCK_SAP/SOCKAcceptorTest.java
+++ /dev/null
@@ -1,108 +0,0 @@
-// ============================================================================
-//
-// = PACKAGE
-// tests.SOCK_SAP
-//
-// = FILENAME
-// SOCKAcceptorTest.java
-//
-// = AUTHOR
-// Prashant Jain
-//
-// ============================================================================
-package tests.SOCK_SAP;
-
-import java.io.*;
-import java.net.*;
-import JACE.OS.*;
-import JACE.SOCK_SAP.*;
-
-class TestHandler extends Thread
-{
- public TestHandler (SOCKStream stream)
- {
- this.stream_ = stream;
- this.start ();
- }
-
- public void run ()
- {
- int msgLen;
- System.out.println ("Waiting for messages...");
- try
- {
- while (true)
- {
- StringBuffer msg = new StringBuffer ();
- msgLen = this.stream_.recv (msg);
- if (msgLen == 0)
- break;
- ACE.DEBUG ("Received: " + msg);
- this.stream_.send ("Got it!");
- }
- }
- catch (NullPointerException e)
- {
- ACE.ERROR ("connection reset by peer");
- }
- catch (IOException e)
- {
- ACE.ERROR (e);
- }
- finally
- {
- try
- {
- this.stream_.close ();
- }
- catch (IOException e)
- {
- }
- }
- }
- SOCKStream stream_;
-}
-
-public class SOCKAcceptorTest
-{
- void print_usage_and_die ()
- {
- ACE.DEBUG ("Usage: SOCKAcceptorTest [<port>]");
- System.exit (0);
- }
-
- public void init (int port)
- {
- try
- {
- SOCKAcceptor acceptor = new SOCKAcceptor (port);
- while (true)
- {
- SOCKStream stream = new SOCKStream ();
- acceptor.accept (stream);
- TestHandler handler = new TestHandler (stream);
- }
- }
- catch (IOException e)
- {
- }
- }
-
- public static void main (String [] args)
- {
- int port = ACE.DEFAULT_SERVER_PORT;
- SOCKAcceptorTest server = new SOCKAcceptorTest ();
- if (args.length == 1)
- {
- try
- {
- port = Integer.parseInt (args[0]);
- }
- catch (NumberFormatException e)
- {
- server.print_usage_and_die ();
- }
- }
- server.init (port);
- }
-}
diff --git a/java/tests/SOCK_SAP/SOCKConnectorTest.dsp b/java/tests/SOCK_SAP/SOCKConnectorTest.dsp
deleted file mode 100644
index a075359a071..00000000000
--- a/java/tests/SOCK_SAP/SOCKConnectorTest.dsp
+++ /dev/null
@@ -1,73 +0,0 @@
-# Microsoft Developer Studio Project File - Name="SOCKConnectorTest" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 6.00
-# ** DO NOT EDIT **
-
-# TARGTYPE "Java Virtual Machine Java Project" 0x0809
-
-CFG=SOCKConnectorTest - Java Virtual Machine Debug
-!MESSAGE This is not a valid makefile. To build this project using NMAKE,
-!MESSAGE use the Export Makefile command and run
-!MESSAGE
-!MESSAGE NMAKE /f "SOCKConnectorTest.mak".
-!MESSAGE
-!MESSAGE You can specify a configuration when running NMAKE
-!MESSAGE by defining the macro CFG on the command line. For example:
-!MESSAGE
-!MESSAGE NMAKE /f "SOCKConnectorTest.mak"\
- CFG="SOCKConnectorTest - Java Virtual Machine Debug"
-!MESSAGE
-!MESSAGE Possible choices for configuration are:
-!MESSAGE
-!MESSAGE "SOCKConnectorTest - Java Virtual Machine Release" (based on\
- "Java Virtual Machine Java Project")
-!MESSAGE "SOCKConnectorTest - Java Virtual Machine Debug" (based on\
- "Java Virtual Machine Java Project")
-!MESSAGE
-
-# Begin Project
-# PROP Scc_ProjName ""
-# PROP Scc_LocalPath ""
-JAVA=jvc.exe
-
-!IF "$(CFG)" == "SOCKConnectorTest - Java Virtual Machine Release"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir ""
-# PROP BASE Intermediate_Dir ""
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "..\..\classes-r"
-# PROP Intermediate_Dir ""
-# PROP Target_Dir ""
-# ADD BASE JAVA /O
-# ADD JAVA /O
-
-!ELSEIF "$(CFG)" == "SOCKConnectorTest - Java Virtual Machine Debug"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir ""
-# PROP BASE Intermediate_Dir ""
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "..\..\classes"
-# PROP Intermediate_Dir ""
-# PROP Target_Dir ""
-# ADD BASE JAVA /g
-# ADD JAVA /g
-
-!ENDIF
-
-# Begin Target
-
-# Name "SOCKConnectorTest - Java Virtual Machine Release"
-# Name "SOCKConnectorTest - Java Virtual Machine Debug"
-# Begin Source File
-
-SOURCE=.\SOCKConnectorTest.java
-# End Source File
-# End Target
-# End Project
diff --git a/java/tests/SOCK_SAP/SOCKConnectorTest.java b/java/tests/SOCK_SAP/SOCKConnectorTest.java
deleted file mode 100644
index d1fdacc48a4..00000000000
--- a/java/tests/SOCK_SAP/SOCKConnectorTest.java
+++ /dev/null
@@ -1,95 +0,0 @@
-// ============================================================================
-//
-// = PACKAGE
-// tests.SOCK_SAP
-//
-// = FILENAME
-// SOCKConnectorTest.java
-//
-// = AUTHOR
-// Prashant Jain
-//
-// ============================================================================
-package tests.SOCK_SAP;
-
-import java.io.*;
-import java.net.*;
-import JACE.OS.*;
-import JACE.SOCK_SAP.*;
-
-public class SOCKConnectorTest
-{
- static void print_usage_and_die ()
- {
- System.out.println ("Usage: SOCKConnectorTest <hostname> [<port>]");
- System.exit (0);
- }
-
- void processRequests (SOCKStream stream) throws IOException
- {
- // 1.0 JDK DataInputStream in = new DataInputStream (System.in);
- BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
- String msg;
- int ack_len;
-
- while (true)
- {
- StringBuffer ack = new StringBuffer ();
- ACE.DEBUG ("Enter input: ");
- ACE.FLUSH ();
- msg = in.readLine ();
- if (msg == null)
- break;
- stream.send (msg);
- ACE.DEBUG ("Waiting for ack...");
- ack_len = stream.recv (ack);
- if (ack_len == 0)
- break;
- else
- ACE.DEBUG (ack.toString ());
- }
- }
-
- public void init (String host, int port)
- {
- SOCKStream stream = new SOCKStream ();
- SOCKConnector connector = new SOCKConnector ();
- try
- {
- connector.connect (stream,
- host,
- port);
- processRequests (stream);
- }
- catch (IOException e)
- {
- ACE.ERROR (e);
- }
- }
-
- public static void main (String [] args)
- {
- int port = ACE.DEFAULT_SERVER_PORT;
- SOCKConnectorTest client = new SOCKConnectorTest ();
-
- // check arg count
- if (args.length == 0 || args.length > 2)
- print_usage_and_die();
-
- if (args.length == 2)
- {
- try
- {
- port = Integer.parseInt (args[1]);
- }
- catch (NumberFormatException e)
- {
- client.print_usage_and_die ();
- }
- }
- client.init (args[0], port);
-
-
- }
-}
-
diff --git a/java/tests/ServiceConfigurator/Makefile b/java/tests/ServiceConfigurator/Makefile
deleted file mode 100644
index b4e62f70997..00000000000
--- a/java/tests/ServiceConfigurator/Makefile
+++ /dev/null
@@ -1,25 +0,0 @@
-# Makefile
-
-.SUFFIXES: .java .class
-
-JACE_WRAPPER = ../..
-CLASSDIR = $(JACE_WRAPPER)/classes
-
-CLASSPATH := $(CLASSDIR):$(CLASSPATH)
-
-all:
- javac -d ${JACE_WRAPPER}/classes $(files)
-doc:
- javadoc -d ${JACE_WRAPPER}/doc $(files) $(packages)
-
-
-files = TestService.java \
- reloadTest.java \
- suspendTest.java
-
-packages = tests.Service_Configurator
-
-realclean:
- find ${JACE_WRAPPER}/classes/tests/ServiceConfigurator -name '*.class' -print | xargs ${RM}
-
-
diff --git a/java/tests/ServiceConfigurator/ServiceConfigurator.dsp b/java/tests/ServiceConfigurator/ServiceConfigurator.dsp
deleted file mode 100644
index ab006d72da8..00000000000
--- a/java/tests/ServiceConfigurator/ServiceConfigurator.dsp
+++ /dev/null
@@ -1,81 +0,0 @@
-# Microsoft Developer Studio Project File - Name="ServiceConfigurator" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 6.00
-# ** DO NOT EDIT **
-
-# TARGTYPE "Java Virtual Machine Java Project" 0x0809
-
-CFG=ServiceConfigurator - Java Virtual Machine Debug
-!MESSAGE This is not a valid makefile. To build this project using NMAKE,
-!MESSAGE use the Export Makefile command and run
-!MESSAGE
-!MESSAGE NMAKE /f "ServiceConfigurator.mak".
-!MESSAGE
-!MESSAGE You can specify a configuration when running NMAKE
-!MESSAGE by defining the macro CFG on the command line. For example:
-!MESSAGE
-!MESSAGE NMAKE /f "ServiceConfigurator.mak"\
- CFG="ServiceConfigurator - Java Virtual Machine Debug"
-!MESSAGE
-!MESSAGE Possible choices for configuration are:
-!MESSAGE
-!MESSAGE "ServiceConfigurator - Java Virtual Machine Release" (based on\
- "Java Virtual Machine Java Project")
-!MESSAGE "ServiceConfigurator - Java Virtual Machine Debug" (based on\
- "Java Virtual Machine Java Project")
-!MESSAGE
-
-# Begin Project
-# PROP Scc_ProjName ""
-# PROP Scc_LocalPath ""
-JAVA=jvc.exe
-
-!IF "$(CFG)" == "ServiceConfigurator - Java Virtual Machine Release"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir ""
-# PROP BASE Intermediate_Dir ""
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "..\..\classes-r"
-# PROP Intermediate_Dir ""
-# PROP Target_Dir ""
-# ADD BASE JAVA /O
-# ADD JAVA /O
-
-!ELSEIF "$(CFG)" == "ServiceConfigurator - Java Virtual Machine Debug"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir ""
-# PROP BASE Intermediate_Dir ""
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "..\..\classes"
-# PROP Intermediate_Dir ""
-# PROP Target_Dir ""
-# ADD BASE JAVA /g
-# ADD JAVA /g
-
-!ENDIF
-
-# Begin Target
-
-# Name "ServiceConfigurator - Java Virtual Machine Release"
-# Name "ServiceConfigurator - Java Virtual Machine Debug"
-# Begin Source File
-
-SOURCE=.\reloadTest.java
-# End Source File
-# Begin Source File
-
-SOURCE=.\suspendTest.java
-# End Source File
-# Begin Source File
-
-SOURCE=.\TestService.java
-# End Source File
-# End Target
-# End Project
diff --git a/java/tests/ServiceConfigurator/TestService.java b/java/tests/ServiceConfigurator/TestService.java
deleted file mode 100644
index 7b34c181c60..00000000000
--- a/java/tests/ServiceConfigurator/TestService.java
+++ /dev/null
@@ -1,52 +0,0 @@
-/*************************************************
- *
- * = PACKAGE
- * tests.ServiceConfigurator
- *
- * = FILENAME
- * TestService.java
- *
- *@author Prashant Jain
- *
- *************************************************/
-package tests.ServiceConfigurator;
-
-import JACE.ServiceConfigurator.*;
-import JACE.OS.*;
-
-public class TestService extends ServiceObject
-{
- public int init (String [] args)
- {
- System.out.println("TestService init with arguments: ");
-
- if (args != null)
- for (int i = 0; i < args.length; i++)
- ACE.DEBUG (args[i]);
-
- return 0;
- }
-
- public int suspend()
- {
- System.out.println("TestService suspend ----");
-
- return 0;
- }
-
- public int resume()
- {
- System.out.println("TestService resume ----");
-
- return 0;
- }
-
- public int fini()
- {
- System.out.println("TestService remove ----");
-
- return 0;
- }
-
-}
-
diff --git a/java/tests/ServiceConfigurator/reloadTest.java b/java/tests/ServiceConfigurator/reloadTest.java
deleted file mode 100644
index 27806890239..00000000000
--- a/java/tests/ServiceConfigurator/reloadTest.java
+++ /dev/null
@@ -1,61 +0,0 @@
-/*************************************************
- *
- * = PACKAGE
- * tests.ServiceConfigurator
- *
- * = FILENAME
- * mainTest.java
- *
- *@author Prashant Jain, Everett Anderson
- *
- *************************************************/
-package tests.ServiceConfigurator;
-
-import JACE.ServiceConfigurator.*;
-import JACE.OS.*;
-import java.io.*;
-
-public class reloadTest
-{
-
- public static void main (String args [])
- {
- ServiceConfig daemon = new ServiceConfig ();
- try
- {
- daemon.open (args);
- Thread.sleep (10000);
-
- daemon.remove("TimeService");
-
- daemon.open (args);
- }
- catch (InterruptedException e)
- {
- ACE.ERROR (e);
- }
- catch (FileNotFoundException e)
- {
- ACE.ERROR (e);
- }
- catch (IOException e)
- {
- ACE.ERROR (e);
- }
- catch (ClassNotFoundException e)
- {
- ACE.ERROR (e + "foo");
- }
- catch (IllegalAccessException e)
- {
- ACE.ERROR (e);
- }
- catch (InstantiationException e)
- {
- ACE.ERROR (e);
- }
-
- System.err.println("End of reloadTest");
- }
-
-}
diff --git a/java/tests/ServiceConfigurator/suspendTest.java b/java/tests/ServiceConfigurator/suspendTest.java
deleted file mode 100644
index ab12d06f2f5..00000000000
--- a/java/tests/ServiceConfigurator/suspendTest.java
+++ /dev/null
@@ -1,80 +0,0 @@
-/*************************************************
- *
- * = PACKAGE
- * tests.ServiceConfigurator
- *
- * = FILENAME
- * mainTest.java
- *
- *@author Prashant Jain, Everett Anderson
- *
- *************************************************/
-package tests.ServiceConfigurator;
-
-import JACE.ServiceConfigurator.*;
-import JACE.OS.*;
-import java.io.*;
-
-public class suspendTest
-{
-
- public static void main (String args [])
- {
- ServiceConfig daemon = new ServiceConfig ();
- ACE.enableDebugging();
-
- try
- {
- String args1 = "-f suspendTest1.conf";
- String[] argv1 = OS.createStringArray(args1, " ");
-
- daemon.open (argv1);
-
- Thread.sleep (10000);
-
-
- System.err.println("Suspending");
- String args2 = "-f suspendTest2.conf";
- String[] argv2 = OS.createStringArray(args2, " ");
-
- daemon.open (argv2);
-
- Thread.sleep (10000);
-
- System.err.println("Resuming");
- String args3 = "-f suspendTest3.conf";
- String[] argv3 = OS.createStringArray(args3, " ");
-
- daemon.open (argv3);
-
- Thread.sleep(10000);
- }
- catch (InterruptedException e)
- {
- ACE.ERROR (e);
- }
- catch (FileNotFoundException e)
- {
- ACE.ERROR (e);
- }
- catch (IOException e)
- {
- ACE.ERROR (e);
- }
- catch (ClassNotFoundException e)
- {
- ACE.ERROR (e + "foo");
- }
- catch (IllegalAccessException e)
- {
- ACE.ERROR (e);
- }
- catch (InstantiationException e)
- {
- ACE.ERROR (e);
- }
-
- System.err.println("End of suspendTest");
- }
-
-}
diff --git a/java/tests/ServiceConfigurator/suspendTest1.conf b/java/tests/ServiceConfigurator/suspendTest1.conf
deleted file mode 100644
index 983af3234c1..00000000000
--- a/java/tests/ServiceConfigurator/suspendTest1.conf
+++ /dev/null
@@ -1 +0,0 @@
-load TestService tests.ServiceConfigurator.TestService ServiceObject "-p 10002"
diff --git a/java/tests/ServiceConfigurator/suspendTest2.conf b/java/tests/ServiceConfigurator/suspendTest2.conf
deleted file mode 100644
index 5cd6cd0fc77..00000000000
--- a/java/tests/ServiceConfigurator/suspendTest2.conf
+++ /dev/null
@@ -1 +0,0 @@
-suspend TestService
diff --git a/java/tests/ServiceConfigurator/suspendTest3.conf b/java/tests/ServiceConfigurator/suspendTest3.conf
deleted file mode 100644
index 71250c3acd7..00000000000
--- a/java/tests/ServiceConfigurator/suspendTest3.conf
+++ /dev/null
@@ -1 +0,0 @@
-resume TestService
diff --git a/java/tests/ServiceConfigurator/svc.conf b/java/tests/ServiceConfigurator/svc.conf
deleted file mode 100644
index 983af3234c1..00000000000
--- a/java/tests/ServiceConfigurator/svc.conf
+++ /dev/null
@@ -1 +0,0 @@
-load TestService tests.ServiceConfigurator.TestService ServiceObject "-p 10002"
diff --git a/java/tests/Tests.dsw b/java/tests/Tests.dsw
deleted file mode 100644
index 5e540af6a72..00000000000
--- a/java/tests/Tests.dsw
+++ /dev/null
@@ -1,257 +0,0 @@
-Microsoft Developer Studio Workspace File, Format Version 6.00
-# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
-
-###############################################################################
-
-Project: "AcceptorTest"=.\Connection\AcceptorTest.dsp - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
-}}}
-
-###############################################################################
-
-Project: "BufferStreamTest"=.\ASX\BufferStreamTest.dsp - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
-}}}
-
-###############################################################################
-
-Project: "ClientHandler"=.\Connection\ClientHandler.dsp - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
-}}}
-
-###############################################################################
-
-Project: "Condition"=.\Concurrency\Condition\Condition.dsp - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
-}}}
-
-###############################################################################
-
-Project: "ConnectorTest"=.\Connection\ConnectorTest.dsp - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
-}}}
-
-###############################################################################
-
-Project: "MessageQueueTest"=.\ASX\MessageQueueTest.dsp - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
-}}}
-
-###############################################################################
-
-Project: "MutexTest"=.\Concurrency\MutexTest.dsp - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
-}}}
-
-###############################################################################
-
-Project: "ParseArgsTest"=.\Misc\ParseArgsTest.dsp - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
-}}}
-
-###############################################################################
-
-Project: "PriorityBufferTest"=.\ASX\PriorityBufferTest.dsp - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
-}}}
-
-###############################################################################
-
-Project: "RWMutexTest"=.\Concurrency\RWMutexTest.dsp - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
-}}}
-
-###############################################################################
-
-Project: "SOCKAcceptorTest"=.\SOCK_SAP\SOCKAcceptorTest.dsp - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
-}}}
-
-###############################################################################
-
-Project: "SOCKConnectorTest"=.\SOCK_SAP\SOCKConnectorTest.dsp - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
-}}}
-
-###############################################################################
-
-Project: "SemaphoreTest"=.\Concurrency\SemaphoreTest.dsp - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
-}}}
-
-###############################################################################
-
-Project: "ServerHandler"=.\Connection\ServerHandler.dsp - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
-}}}
-
-###############################################################################
-
-Project: "ServiceConfigurator"=.\ServiceConfigurator\ServiceConfigurator.dsp - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
-}}}
-
-###############################################################################
-
-Project: "TaskTest"=.\ASX\TaskTest.dsp - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
-}}}
-
-###############################################################################
-
-Project: "ThreadPoolTest"=.\ASX\ThreadPoolTest.dsp - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
-}}}
-
-###############################################################################
-
-Project: "TimeValueTest"=.\Reactor\TimeValueTest.dsp - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
-}}}
-
-###############################################################################
-
-Project: "TimerQueueTest"=.\Reactor\TimerQueueTest.dsp - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
-}}}
-
-###############################################################################
-
-Project: "TokenTest"=.\Concurrency\TokenTest.dsp - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
-}}}
-
-###############################################################################
-
-Global:
-
-Package=<5>
-{{{
-}}}
-
-Package=<3>
-{{{
-}}}
-
-###############################################################################
-
diff --git a/java/tests/netsvcs/Logger/LoggerTest.java b/java/tests/netsvcs/Logger/LoggerTest.java
deleted file mode 100644
index 40ac903a1d3..00000000000
--- a/java/tests/netsvcs/Logger/LoggerTest.java
+++ /dev/null
@@ -1,122 +0,0 @@
-/*************************************************
- *
- * = FILENAME
- * LoggerTest.java
- *
- *@author Everett Anderson
- *
- *************************************************/
-package tests.netsvcs.Logger;
-
-import JACE.SOCK_SAP.*;
-import java.io.*;
-import java.net.*;
-import JACE.OS.*;
-import netsvcs.Logger.LogRecord;
-
-/**
- *
- * <p><h2>DESCRIPTION</h2>
- *
- * <blockquote>
- * This is a simple test log client very similar to the direct_logging client of
- * C++ ACE. The logging service should correctly receive messages from both
- * the C++ and Java version.
- * </blockquote>
- *
- * @see netsvcs.Logger.ServerLoggingAcceptor, netsvcs.Logger.LogRecord
- */
-public class LoggerTest {
-
- /** Command line: <hostname> [<port>]
- *
- * Creates a "hello world" log message and sends it to the server logging service.
- * If no command line arguments are given, it uses ACE.DEFAULT_SERVER_PORT, and the
- * current machine for the service location.
- *
- */
- public static void main(String args[])
- {
- if (args.length < 1) {
- System.err.println("Use: LoggerTest <host name> [<port>]");
- System.exit(0);
- }
-
- // Set the port
- int port = args.length > 1 ? (new Integer(args[1])).intValue() : ACE.DEFAULT_SERVER_PORT;
-
- SOCKStream cli_stream = new SOCKStream();
- INETAddr remote_addr;
- String host;
-
- // Try to find the host
- try {
-
- host = args[0];
-
- remote_addr = new INETAddr(port, host);
-
- } catch (UnknownHostException uhe) {
- ACE.ERROR("UnknownHostException " + uhe);
- return;
- }
-
- System.out.println("Connecting to " + host + " on port " + port);
-
- SOCKConnector con = new SOCKConnector();
-
- try {
-
- // Connect to the service
- con.connect(cli_stream, remote_addr);
-
- } catch (SocketException se) {
-
- ACE.ERROR("Socket Exception " + se);
- return;
-
- } catch (IOException ie) {
-
- ACE.ERROR("IOException " + ie);
- return;
- }
-
-
- // Send a message with priority 4, the current time,
- // and 0 for the process ID.
- LogRecord record = new LogRecord(4,
- System.currentTimeMillis(),
- 0);
-
- // Set the text of the message
- record.msgData("hello world");
-
- try {
-
- // Get a transmission system from the socket
- OutputStream os = cli_stream.socket().getOutputStream();
- DataOutputStream dos = new DataOutputStream(os);
-
- // Send it
- record.streamOutTo(dos);
-
- // Close the socket
- cli_stream.close();
-
- } catch (IOException ie) {
-
- ACE.ERROR("IOException, loop: " + ie);
- return;
- }
- }
-};
-
-
-
-
-
-
-
-
-
-
diff --git a/java/tests/netsvcs/Logger/Makefile b/java/tests/netsvcs/Logger/Makefile
deleted file mode 100644
index b61b785232a..00000000000
--- a/java/tests/netsvcs/Logger/Makefile
+++ /dev/null
@@ -1,19 +0,0 @@
-# $Id$
-
-.SUFFIXES: .java .class
-
-JACE_WRAPPER = $(ACE_ROOT)/java
-
-all:
- javac -d ${JACE_WRAPPER}/classes $(files)
-doc:
- javadoc -d ${JACE_WRAPPER}/doc $(files) $(packages)
-
-files = LoggerTest.java
-
-packages = netsvcs \
- netsvcs.Logger
-
-realclean:
- /bin/rm -rf ${JACE_WRAPPER}/classes/tests/netsvcs/Logger
-
diff --git a/java/tests/netsvcs/Naming/ClientTest.java b/java/tests/netsvcs/Naming/ClientTest.java
deleted file mode 100644
index c1189fecd7f..00000000000
--- a/java/tests/netsvcs/Naming/ClientTest.java
+++ /dev/null
@@ -1,117 +0,0 @@
-package tests.netsvcs.Naming;
-
-import java.io.*;
-import java.net.*;
-import java.util.*;
-import JACE.OS.*;
-import JACE.Connection.*;
-import JACE.SOCK_SAP.*;
-import netsvcs.Naming.*;
-
-public class ClientTest
-{
- void print_usage_and_die ()
- {
- System.out.println ("Usage: ClientTest <hostname> [<port>]");
- System.exit (0);
- }
-
- public SOCKStream init (SOCKStream socket, String hostname, int port)
- {
- try
- {
- SOCKConnector sc = new SOCKConnector(socket, hostname, port);
- }
- catch (UnknownHostException e)
- {
- ACE.ERROR (e);
- System.exit(0);
- }
- catch (SocketException e)
- {
- ACE.ERROR ("Connection refused");
- System.exit(0);
- }
- catch (IOException e)
- {
- ACE.ERROR (e);
- System.exit(0);
- }
-
- return socket;
- }
-
- public static void main (String [] args)
- {
- SOCKStream socket;
- int port = ACE.DEFAULT_SERVER_PORT;
- ClientTest clientTest = new ClientTest ();
-
- if (args.length == 2)
- {
- try
- {
- port = Integer.parseInt (args[1]);
- }
- catch (NumberFormatException e)
- {
- clientTest.print_usage_and_die ();
- }
- }
- System.out.println("Trying to open port " + port + " on " + args[0]);
-
- socket = clientTest.init (new SOCKStream(), args[0], port);
-
- NameProxy proxy = new NameProxy(socket);
-
- System.out.println("---- Beginning tests ----");
-
- try {
-
- System.out.println("Binding (five, six, seven): " + proxy.bind("five", "six", "seven"));
- System.out.println("Binding (filth, rat, eats): " + proxy.bind("filth", "rat", "eats"));
-
- Vector res = proxy.resolve("five");
-
- System.out.println("Resolve (five) : " + (String)res.elementAt(1) + " "
- + (String)res.elementAt(2));
-
- System.out.println("Binding (fish, words, him): " + proxy.bind("fish", "words", "him"));
-
- System.out.println("Unbind (five, six, seven): " + proxy.unbind("five"));
-
- res = proxy.resolve("five");
-
- System.out.println("Resolve (five) : " + (String)res.elementAt(1) + " "
- + (String)res.elementAt(2));
- System.out.println("Binding (fiction, us, you): " + proxy.bind("fiction", "us", "you"));
-
- System.out.println("\nGetting all records whose names begin with fi:\n");
- Vector res2 = proxy.listNameEntries("fi");
-
- Enumeration iter = res2.elements();
-
- while (iter.hasMoreElements()) {
- Vector res3 = (Vector)(iter.nextElement());
-
- System.out.println((String)res3.elementAt(0) + "\t" + (String)res3.elementAt(1)
- + "\t" + (String)res3.elementAt(2));
- }
-
- } catch (IOException e)
- {
- ACE.ERROR("" + e);
- }
- finally
- {
- try {
- socket.close();
- } catch (IOException e) {
- ACE.ERROR("" + e);
- }
- }
-
- }
-
-};
-
diff --git a/java/tests/netsvcs/Naming/Makefile b/java/tests/netsvcs/Naming/Makefile
deleted file mode 100644
index be6e9c45848..00000000000
--- a/java/tests/netsvcs/Naming/Makefile
+++ /dev/null
@@ -1,21 +0,0 @@
-# Makefile
-
-.SUFFIXES: .java .class
-
-JACE_WRAPPER = ../../..
-CLASSDIR = $(JACE_WRAPPER)/classes
-
-CLASSPATH := $(CLASSDIR):$(CLASSPATH)
-
-all:
- javac -d ${JACE_WRAPPER}/classes $(files)
-doc:
- javadoc -d ${JACE_WRAPPER}/doc $(files) $(packages)
-
-
-files = ClientTest.java
-
-packages = tests.netsvcs.Naming
-
-realclean:
- find ${JACE_WRAPPER}/classes/tests/netsvcs/Naming -name '*.class' -print | xargs ${RM}
diff --git a/nightly.mwc b/nightly.mwc
deleted file mode 100644
index 25da21e169b..00000000000
--- a/nightly.mwc
+++ /dev/null
@@ -1,7 +0,0 @@
-workspace {
- ace/ace.mpc
- ace/RMCast
- apps/gperf/src
- tests
- TAO
-}
diff --git a/protocols/ace/RMCast/Makefile.am b/protocols/ace/RMCast/Makefile.am
deleted file mode 100644
index 5a183b2e90b..00000000000
--- a/protocols/ace/RMCast/Makefile.am
+++ /dev/null
@@ -1,105 +0,0 @@
-##----------------------------------------------------------------------------
-## $Id$
-##
-## Makefile.am for ACE_RMCast library
-##----------------------------------------------------------------------------
-
-##
-## Process this file with automake to create Makefile.in
-##
-
-INCLUDES = -I$(top_builddir) -I$(top_srcdir)
-
-lib_LTLIBRARIES = libACE_RMCast.la
-
-libACE_RMCast_la_SOURCES = \
- RMCast.cpp \
- RMCast_Ack_Worker.cpp \
- RMCast_Fork.cpp \
- RMCast_Fragment.cpp \
- RMCast_IO_UDP.cpp \
- RMCast_Membership.cpp \
- RMCast_Module.cpp \
- RMCast_Module_Factory.cpp \
- RMCast_Partial_Message.cpp \
- RMCast_Proxy.cpp \
- RMCast_Reassembly.cpp \
- RMCast_Receiver_Module.cpp \
- RMCast_Reliable_Factory.cpp \
- RMCast_Reordering.cpp \
- RMCast_Resend_Handler.cpp \
- RMCast_Resend_Worker.cpp \
- RMCast_Retransmission.cpp \
- RMCast_Sequencer.cpp \
- RMCast_Singleton_Factory.cpp \
- RMCast_UDP_Event_Handler.cpp \
- RMCast_UDP_Proxy.cpp \
- RMCast_UDP_Reliable_Receiver.cpp \
- RMCast_UDP_Reliable_Sender.cpp
-
-libACE_RMCast_la_LIBADD = $(top_builddir)/ace/libACE.la
-
-## These are template source files.
-TEMPLATE_FILES = \
- RMCast_Copy_On_Write.cpp \
- RMCast_Worker.cpp
-
-HEADER_FILES = \
- RMCast.h \
- RMCast_Ack_Worker.h \
- RMCast_Copy_On_Write.h \
- RMCast_Export.h \
- RMCast_Fork.h \
- RMCast_Fragment.h \
- RMCast_IO_UDP.h \
- RMCast_Membership.h \
- RMCast_Module.h \
- RMCast_Module_Factory.h \
- RMCast_Partial_Message.h \
- RMCast_Proxy.h \
- RMCast_Reassembly.h \
- RMCast_Receiver_Module.h \
- RMCast_Reliable_Factory.h \
- RMCast_Reordering.h \
- RMCast_Resend_Handler.h \
- RMCast_Resend_Worker.h \
- RMCast_Retransmission.h \
- RMCast_Sequencer.h \
- RMCast_Singleton_Factory.h \
- RMCast_UDP_Event_Handler.h \
- RMCast_UDP_Proxy.h \
- RMCast_UDP_Reliable_Receiver.h \
- RMCast_UDP_Reliable_Sender.h \
- RMCast_Worker.h
-
-INLINE_FILES = \
- RMCast.i \
- RMCast_Ack_Worker.i \
- RMCast_Copy_On_Write.i \
- RMCast_Fork.i \
- RMCast_Fragment.i \
- RMCast_IO_UDP.i \
- RMCast_Membership.i \
- RMCast_Module.i \
- RMCast_Module_Factory.i \
- RMCast_Partial_Message.i \
- RMCast_Proxy.i \
- RMCast_Reassembly.i \
- RMCast_Receiver_Module.i \
- RMCast_Reliable_Factory.i \
- RMCast_Reordering.i \
- RMCast_Resend_Handler.i \
- RMCast_Resend_Worker.i \
- RMCast_Retransmission.i \
- RMCast_Sequencer.i \
- RMCast_Singleton_Factory.i \
- RMCast_UDP_Event_Handler.i \
- RMCast_UDP_Proxy.i \
- RMCast_UDP_Reliable_Receiver.i \
- RMCast_UDP_Reliable_Sender.i \
- RMCast_Worker.i
-
-pkginclude_HEADERS = \
- $(HEADER_FILES) \
- $(INLINE_FILES) \
- $(TEMPLATE_FILES)
diff --git a/protocols/ace/RMCast/README b/protocols/ace/RMCast/README
deleted file mode 100644
index 2dd0c5d9cfc..00000000000
--- a/protocols/ace/RMCast/README
+++ /dev/null
@@ -1,57 +0,0 @@
-# $Id$
-
- This directory will contain a simple, small-scale reliable
-multicast framework for ACE. The framework is based on the ASX
-components of the ACE library: the protocol is implemented as a stack
-of interchangeable "modules", each one in charge of a very small task.
-For example, one module implements fragmentation and reassembly, other
-modules implement retransmission, send ACK and NAK messages, and
-maintain receiver membership.
-
- The modules are replaced to achieve different levels of
-reliability. For example, the retransmission module can be either the
-"Best_Effort", "Semi_Reliable" or "Reliable" implementation. In the
-first case no retransmissions are performed, but lost messages are
-detected and reported to the receiver. The "Semi_Reliable" case
-messages are held for a pre-specified amount of time, and
-re-transmited if requested, but it is possible to loose some messages
-if multiple re-transmissions fail. As in the "Best_Effort" case the
-lost messages are detected and flagged to the application. Finally
-in the "Reliable" mode the senders are flowed controlled until enough
-messages are successfully transmitted.
-
- In general the stack looks like this:
-
-
-SENDER:
-
-----------------------------------------------------------------
-Buffering : Save lost messages
-Retransmission : Retransmit
-----------------------------------------------------------------
-Fragmentation : Fragment messages in smaller chunks
-Reassembly : and ensure that the IOVMAX limit is not
- : reached
-----------------------------------------------------------------
-Tranport : Encapsulate the specific transport media
- : such as TCP/IP, ATM, or shared memory
- : Demuxes incoming data to the right chain
- : Change control messages and data messages
- : to the right dynamic types.
-----------------------------------------------------------------
-
-RECEIVER:
-
-----------------------------------------------------------------
-Lost detection : Detect lost messages and send control
- : messages back
-----------------------------------------------------------------
-Reassembly : Reassemble messages, fragment control
-Fragmentation : data
-----------------------------------------------------------------
-Transport : Group membership, ACT reception,
- : handle keep-alive messages...
-----------------------------------------------------------------
-
-
-@@ TODO: Piggybacking...
diff --git a/protocols/ace/RMCast/RMCast_Export.h b/protocols/ace/RMCast/RMCast_Export.h
deleted file mode 100644
index 51257c4d682..00000000000
--- a/protocols/ace/RMCast/RMCast_Export.h
+++ /dev/null
@@ -1,44 +0,0 @@
-// -*- C++ -*-
-// $Id$
-// Definition for Win32 Export directives.
-// This file is generated automatically by
-// generate_export_file.pl
-// ------------------------------
-#if !defined (ACE_RMCAST_EXPORT_H)
-#define ACE_RMCAST_EXPORT_H
-
-#include "ace/config-all.h"
-
-#if defined (ACE_AS_STATIC_LIBS) && !defined (ACE_RMCAST_HAS_DLL)
-# define ACE_RMCAST_HAS_DLL 0
-#endif /* ACE_AS_STATIC_LIBS && ACE_RMCAST_HAS_DLL */
-
-#if !defined (ACE_RMCAST_HAS_DLL)
-#define ACE_RMCAST_HAS_DLL 1
-#endif /* ! ACE_RMCAST_HAS_DLL */
-
-#if defined (ACE_RMCAST_HAS_DLL)
-# if (ACE_RMCAST_HAS_DLL == 1)
-# if defined (ACE_RMCAST_BUILD_DLL)
-# define ACE_RMCast_Export ACE_Proper_Export_Flag
-# define ACE_RMCAST_SINGLETON_DECLARATION(T) ACE_EXPORT_SINGLETON_DECLARATION (T)
-# define ACE_RMCAST_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_EXPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
-# else
-# define ACE_RMCast_Export ACE_Proper_Import_Flag
-# define ACE_RMCAST_SINGLETON_DECLARATION(T) ACE_IMPORT_SINGLETON_DECLARATION (T)
-# define ACE_RMCAST_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_IMPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
-# endif /* ACE_RMCAST_BUILD_DLL */
-# else
-# define ACE_RMCast_Export
-# define ACE_RMCAST_SINGLETON_DECLARATION(T)
-# define ACE_RMCAST_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
-# endif /* ! ACE_RMCAST_HAS_DLL == 1 */
-#else
-# define ACE_RMCast_Export
-# define ACE_RMCAST_SINGLETON_DECLARATION(T)
-# define ACE_RMCAST_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
-#endif /* ACE_RMCAST_HAS_DLL */
-
-#endif /* ACE_RMCAST_EXPORT_H */
-
-// End of auto generated file.
diff --git a/psosim/Makefile b/psosim/Makefile
deleted file mode 100644
index 0902651a0da..00000000000
--- a/psosim/Makefile
+++ /dev/null
@@ -1,76 +0,0 @@
-#----------------------------------------------------------------------------
-#
-# $Id$
-#
-# Makefile for the pSOSim system object files
-#----------------------------------------------------------------------------
-
-#----------------------------------------------------------------------------
-# Local macros
-#----------------------------------------------------------------------------
-
-CPU_FAMILY = psosim
-CPU = psosim
-CPU_TOOLS = psosim
-BOARD = psosim
-
-PSS_CFG_DIR = $(ACE_ROOT)/psosim
-
-PSS_CFG_OBJS = $(PSS_CFG_DIR)/drv_conf.o $(PSS_CFG_DIR)/prepccfg.o $(PSS_CFG_DIR)/psoscfg.o $(PSS_CFG_DIR)/sysinit.o
-
-PSS_CONFIG = $(PSS_ROOT)/configs/std
-PSS_SYS_DIR = $(PSS_ROOT)/sys/os
-PSS_SYS_LIBS = $(PSS_SYS_DIR)/prepc.a $(PSS_SYS_DIR)/psos.a $(PSS_SYS_DIR)/pna.a
-PSS_BSP = $(PSS_ROOT)/bsps/psosim
-PSS_BSP_LIB = $(PSS_BSP)/bsp.a
-
-#----------------------------------------------------------------------------
-# Include macros and targets
-#----------------------------------------------------------------------------
-
-include $(ACE_ROOT)/include/makeinclude/wrapper_macros.GNU
-include $(ACE_ROOT)/include/makeinclude/macros.GNU
-include $(ACE_ROOT)/include/makeinclude/rules.common.GNU
-include $(ACE_ROOT)/include/makeinclude/rules.nonested.GNU
-include $(ACE_ROOT)/include/makeinclude/rules.bin.GNU
-include $(ACE_ROOT)/include/makeinclude/rules.local.GNU
-
-# To build multiple executables in the same directory on AIX, it works
-# best to wipe out any previously-created tempinc directory.
-# The compiler/linker isn't too smart about instantiating templates...
-ifdef TEMPINCDIR
-COMPILE.cc := $(RM) -rf tempinc; $(COMPILE.cc)
-endif
-
-#----------------------------------------------------------------------------
-# Local targets
-#----------------------------------------------------------------------------
-
-all : $(PSS_CFG_DIR)/acepsos.a
-
-$(PSS_CFG_DIR)/acepsos.a : $(PSS_CFG_OBJS)
- $(AR) $(ARFLAGS) $@ $?
-
-$(PSS_CFG_DIR)/sysinit.o : $(PSS_CONFIG)/sysinit.c $(ACE_ROOT)/ace/sys_conf.h $(PSS_BSP)/bsp.h \
- $(PSS_ROOT)/include/bspfuncs.h $(PSS_ROOT)/include/configs.h
- $(COMPILE.c) -o $@ $(PSS_CONFIG)/sysinit.c
-
-$(PSS_CFG_DIR)/prepccfg.o : $(PSS_CONFIG)/prepccfg.c $(ACE_ROOT)/ace/sys_conf.h $(PSS_BSP)/bsp.h \
- $(PSS_ROOT)/include/bspfuncs.h $(PSS_ROOT)/include/configs.h
- $(COMPILE.c) -o $@ $(PSS_CONFIG)/prepccfg.c
-
-$(PSS_CFG_DIR)/psoscfg.o : $(PSS_CONFIG)/psoscfg.c $(ACE_ROOT)/ace/sys_conf.h $(PSS_BSP)/bsp.h \
- $(PSS_ROOT)/include/bspfuncs.h $(PSS_ROOT)/include/configs.h
- $(COMPILE.c) -o $@ $(PSS_CONFIG)/psoscfg.c
-
-$(PSS_CFG_DIR)/drv_conf.o : $(PSS_CFG_DIR)/drv_conf.c $(ACE_ROOT)/ace/sys_conf.h $(PSS_BSP)/bsp.h \
- $(PSS_ROOT)/include/bspfuncs.h $(PSS_ROOT)/include/configs.h
- $(COMPILE.c) -o $@ $(PSS_CFG_DIR)/drv_conf.c
-
-#----------------------------------------------------------------------------
-# Dependencies
-#----------------------------------------------------------------------------
-# DO NOT DELETE THIS LINE -- g++dep uses it.
-# DO NOT PUT ANYTHING AFTER THIS LINE, IT WILL GO AWAY.
-
-# IF YOU PUT ANYTHING HERE IT WILL GO AWAY
diff --git a/psosim/drv_conf.c b/psosim/drv_conf.c
deleted file mode 100644
index 026e9d97193..00000000000
--- a/psosim/drv_conf.c
+++ /dev/null
@@ -1,80 +0,0 @@
-/* $Id$ */
-/***********************************************************************/
-/* */
-/* MODULE: drv_conf.c */
-/* DATE: 94/01/06 */
-/* PURPOSE: pSOSystem driver configuration and initialization */
-/* */
-/* There is one function in this file: */
-/* */
-/* SetUpDrivers to setup drivers except for Network drivers */
-/* */
-/* */
-/*---------------------------------------------------------------------*/
-/* */
-/* Copyright 1991 - 1993, Integrated Systems, Inc. */
-/* ALL RIGHTS RESERVED */
-/* */
-/* Permission is hereby granted to licensees of Integrated Systems, */
-/* Inc. products to use or abstract this computer program for the */
-/* sole purpose of implementing a product based on Integrated */
-/* Systems, Inc. products. No other rights to reproduce, use, */
-/* or disseminate this computer program, whether in part or in */
-/* whole, are granted. */
-/* */
-/* Integrated Systems, Inc. makes no representation or warranties */
-/* with respect to the performance of this computer program, and */
-/* specifically disclaims any responsibility for any damages, */
-/* special or consequential, connected with the use of this program. */
-/* */
-/***********************************************************************/
-#include "sys_conf.h"
-#include "bsp.h"
-#include <bspfuncs.h>
-#include <configs.h>
-
-struct ioparms;
-#define NULLF ((void (*)(struct ioparms *)) 0)
-UCHAR *SetUpDrivers(UCHAR *FreeMemPtr)
-{
-
-/*---------------------------------------------------------------------*/
-/* Install pSOSystem serial device driver */
-/*---------------------------------------------------------------------*/
-#if (SC_DEV_SERIAL && BSP_SERIAL)
- InstallDriver(SC_DEV_SERIAL, CnslInit, NULLF, NULLF,CnslRead,
- CnslWrite, CnslCntrl, 0, 0);
- FreeMemPtr = CnslSetup(FreeMemPtr, SD_DEF_BAUD, SC_APP_CONSOLE);
-#endif
-
-/*---------------------------------------------------------------------*/
-/* Install pSOSystem tick timer */
-/*---------------------------------------------------------------------*/
-#if SC_DEV_TIMER
- InstallDriver(SC_DEV_TIMER, RtcInit, NULLF, NULLF, NULLF, NULLF,
- NULLF, 0, 0);
-#endif
-
-/*---------------------------------------------------------------------*/
-/* Install pSOSystem ramdisk driver */
-/*---------------------------------------------------------------------*/
-#if SC_DEV_RAMDISK
- InstallDriver(SC_DEV_RAMDISK, RdskInit, NULLF, NULLF, RdskRead,
- RdskWrite, NULLF, 0, 0);
-#endif
-
-/*---------------------------------------------------------------------*/
-/* Install pSOSystem TFTP driver */
-/*---------------------------------------------------------------------*/
-#if (SC_DEV_TFTP)
- InstallDriver(SC_DEV_TFTP, TftpInit, TftpOpen, TftpClose, TftpRead,
- NULLF, TftpCntl, 0, 0);
-#endif
-
-/*---------------------------------------------------------------------*/
-/* Add additional drivers to install here. */
-/*---------------------------------------------------------------------*/
-
-return(FreeMemPtr);
-}
-
diff --git a/samwise/ChangeLog b/samwise/ChangeLog
deleted file mode 100644
index b36bc39a3af..00000000000
--- a/samwise/ChangeLog
+++ /dev/null
@@ -1,73 +0,0 @@
-Sun Apr 14 13:48:14 2002 Carlos O'Ryan <coryan@atdesk.com>
-
- * Add 'samwise' to the repository. Samwise is a tool to generate
- Makefiles and project files from a single source.
-
- * samwise/README.txt:
- The documentation.
-
- * samwise/TODO.txt:
- Things that need to be done.
-
- * samwise/create_sam.pl:
- A reverse engineering script to generate the sam.xml file from
- .dsp project files.
-
- * samwise/PerlACE/MSProject.pm:
- * samwise/PerlACE/MSProject/DSP.pm:
- Helper modules for create_sam.pl, based on the ones in
- $ACE_ROOT/bin/PerlACE, but with improvements. We probably want
- to merge those later.
-
- * samwise/libs.xml:
- The library properties.
-
- * samwise/sam.dtd:
- A DTD for the sam.xml file format.
-
- * samwise/sam.pl:
- The main script, parse a sam.xml file and generate the project
- files.
-
- * samwise/PerlSam/Generator.pm:
- Base class for the target project file/Makefile generators.
-
- * samwise/PerlSam/Generator/Borland.pm:
- Generate .bor files for Borland make.
-
- * samwise/PerlSam/Generator/GNUMake.pm:
- Generate GNUmakefile (for the workspace) and <project_name>.gnu
- for GNU/make.
-
- * samwise/PerlSam/Generator/MSVC6.pm:
- Generate .dsp and .dsw files for MSVC6.
-
- * samwise/PerlSam/Generator/View.pm:
- Dump the contents of sam.xml to the stdout, useful for
- debugging.
-
- * samwise/PerlSam/Generator/Automake.pm:
- Generate Makefile.am files for automake, this is still
- work-in-progress.
-
- * samwise/PerlSam/Generator/VisualAge.pm:
- Generate project files for VisualAge, very much
- work-in-progress.
-
- * samwise/PerlSam/Parser.pm:
- * samwise/PerlSam/Parser/Simple.pm:
- Parser for the sam.xml files.
-
- * samwise/makeinclude/executable.GNU:
- * samwise/makeinclude/library.GNU:
- * samwise/makeinclude/macros.GNU:
- * samwise/makeinclude/rules.common.GNU:
- * samwise/makeinclude/rules.makefiles.GNU:
- * samwise/makeinclude/rules.nomakefiles.GNU:
- * samwise/makeinclude/workspace.GNU:
- Helper includes for GNU/Makefiles, make the generated files
- smaller.
-
- * samwise/makeinclude/vacpp_setup.icc:
- Helper file for VisualAge projects.
-
diff --git a/samwise/PerlACE/MSProject.pm b/samwise/PerlACE/MSProject.pm
deleted file mode 100644
index 33ca05c3ca4..00000000000
--- a/samwise/PerlACE/MSProject.pm
+++ /dev/null
@@ -1,455 +0,0 @@
-# $Id$
-
-package PerlACE::MSProject;
-
-use strict;
-use FileHandle;
-
-###############################################################################
-
-# Constructor
-
-sub new
-{
- my $proto = shift;
- my $class = ref ($proto) || $proto;
- my $self = {};
-
- $self->{FILENAME} = shift;
- $self->{VERSION} = undef;
- $self->{NAME} = undef;
- %{$self->{CONFIGS}} = ();
- @{$self->{SOURCES}} = ();
- @{$self->{IGNORED_SOURCES}} = ();
-
- bless ($self, $class);
- return $self;
-}
-
-###############################################################################
-
-# Accessors
-
-sub Filename
-{
- my $self = shift;
-
- if (@_ != 0) {
- $self->{FILENAME} = shift;
- }
-
- return $self->{FILENAME};
-}
-
-sub Version ()
-{
- my $self = shift;
- return $self->{VERSION};
-}
-
-sub Name ()
-{
- my $self = shift;
- return $self->{NAME};
-}
-
-sub Configs ()
-{
- my $self = shift;
- return keys %{$self->{CONFIGS}};
-}
-
-sub Sources ()
-{
- my $self = shift;
- return @{$self->{SOURCES}};
-}
-
-sub IgnoredSources ()
-{
- my $self = shift;
- return @{$self->{IGNORED_SOURCES}};
-}
-
-sub DepOutputFile ($)
-{
- my $self = shift;
- my $config = shift;
-
- if (!defined $config) {
- print STDERR "Error: No configuration specified\n";
- return;
- }
-
- my $name = $self->OutputFile ($config);
-
- if ($name =~ m/\.dll$/) {
- $name = $self->LibraryFile ($config);
- }
-
- $name =~ s/.*\\//; # / <- For devenv
- $name =~ s/.*\///;
-
- return $name;
-}
-
-sub OutputFile ($)
-{
- my $self = shift;
- my $config = shift;
-
- if (!defined $config) {
- print STDERR "Error: No configuration specified\n";
- return;
- }
-
- if (defined $self->{CONFIGS}->{$config}->{LINK} &&
- %{$self->{CONFIGS}}->{$config}->{LINK} =~ m/out\:\"([^\"]*)\"/)
- {
- return $1;
- }
- elsif (defined $self->Name ()) {
- my $filename = $self->Filename;
- my $ext = "";
-
- if (!defined $self->{CONFIGS}->{$config}->{LINK}) {
- $ext = ".lib";
- }
- elsif ($self->{CONFIGS}->{$config}->{LINK} =~ m/\/dll/) {
- $ext = ".dll";
- }
- elsif ($self->{CONFIGS}->{$config}->{LINK} =~ m/\/subsystem\:/) {
- $ext = ".exe";
- }
- else {
- $ext = ".lib";
- }
-
- $filename =~ s/\.[^\.]*$/$ext/;
- return $filename;
- }
-
- print STDERR "Error: Couldn't figure out name\n";
- return "";
-}
-
-
-sub LibraryFile ($)
-{
- my $self = shift;
- my $config = shift;
- my $dll = undef;
-
- if (!defined $config) {
- print STDERR "Error: No configuration specified\n";
- return;
- }
-
- if ($self->OutputFile ($config) =~ m/([^\/\\]*)\.dll$/i) {
- $dll = $1;
- }
-
- if (defined $dll) {
- if (%{$self->{CONFIGS}}->{$config}->{LINK} =~ m/implib\:\"([^\"]*)\"/i) {
- return $1;
- }
- else {
- $dll =~ s/.*\\//ig;
- return $self->OutputDir ($config). $dll . ".lib";
- }
- }
-}
-
-sub OutputDir ($)
-{
- my $self = shift;
- my $config = shift;
-
- if (!defined $config) {
- print STDERR "Error: No configuration specified\n";
- return;
- }
-
- return %{$self->{CONFIGS}}->{$config}->{OUTPUTDIR};
-}
-
-sub IntermidiateDir ($)
-{
- my $self = shift;
- my $config = shift;
-
- if (!defined $config) {
- print STDERR "Error: No configuration specified\n";
- return;
- }
-
- return %{$self->{CONFIGS}}->{$config}->{INTERMEDIATEDIR};
-}
-
-sub TargetDir ($)
-{
- my $self = shift;
- my $config = shift;
-
- if (!defined $config) {
- print STDERR "Error: No configuration specified\n";
- return;
- }
-
- return %{$self->{CONFIGS}}->{$config}->{TARGETDIR};
-}
-
-sub CPPOptions ($)
-{
- my $self = shift;
- my $config = shift;
-
- if (!defined $config) {
- print STDERR "Error: No configuration specified\n";
- return;
- }
-
- return %{$self->{CONFIGS}}->{$config}->{CPP};
-}
-
-sub LINKOptions ($)
-{
- my $self = shift;
- my $config = shift;
-
- if (!defined $config) {
- print STDERR "Error: No configuration specified\n";
- return;
- }
-
- return %{$self->{CONFIGS}}->{$config}->{LINK};
-}
-
-sub Libs($)
-{
- my $self = shift;
- my $config = shift;
-
- if (!defined $config) {
- print STDERR "Error: No configuration specified\n";
- return;
- }
-
- return %{$self->{CONFIGS}}->{$config}->{LIBS};
-}
-
-sub UsesTAOIDL ()
-{
- my $self = shift;
-
- return $self->{TAOIDL};
-}
-
-sub IDLOpts ()
-{
- my $self = shift;
-
- return $self->{TAOIDLOPTS};
-}
-
-sub Compiler ()
-{
- my $self = shift;
-
- return $self->{COMPILER};
-}
-
-###############################################################################
-
-# Big methods
-
-sub Load ()
-{
- my $self = shift;
- my $config = "Unknown";
- my $sourcefile;
-
- $self->{valid} = 0;
-
- my $fh = new FileHandle;
-
- unless ($fh->open ("<" . $self->{FILENAME})) {
- print "Could not open file ", $self->{FILENAME}, ": ", $_;
- return;
- }
-
- while (<$fh>) {
- s/\r$//;
- if (m/^\#.*Project File - Name=\"([^\"]*)\"/) {
- $self->{NAME} = $1;
- }
-
- if (m/^\#.*Format Version (.*)/) {
- $self->{VERSION} = $1;
- }
-
- # Check for configurations
-
- if (m/^\!.*IF \"\$\(CFG\)\" == \".* - (.*)\"$/) {
- $config = $1;
- }
- elsif (m/^\!ENDIF$/) {
- $config = "";
- }
-
- # Check for directories
-
- if (m/\# PROP Output_Dir \"(.*)\"/) {
- %{$self->{CONFIGS}}->{$config}->{OUTPUTDIR} = $1;
- }
- elsif (m/\# PROP Intermediate_Dir \"(.*)\"/) {
- %{$self->{CONFIGS}}->{$config}->{INTERMEDIATEDIR} = $1;
- }
- elsif (m/\# PROP Target_Dir \"(.*)\"/) {
- %{$self->{CONFIGS}}->{$config}->{TARGETDIR} = $1;
- }
-
- # Look at CPP options
-
- if (m/\# ADD BASE CPP(.*)$/ || m/\# ADD CPP(.*)$/) {
- my @flags = split (/ \//, $1);
-
- foreach my $flag (@flags) {
- if ($flag) {
- if (!defined %{$self->{CONFIGS}}->{$config}->{CPP} ||
- %{$self->{CONFIGS}}->{$config}->{CPP} !~ m/\Q$flag\E/)
- {
- %{$self->{CONFIGS}}->{$config}->{CPP} .= " /$flag";
- }
- }
- }
- }
- elsif (m/\# SUBTRACT CPP(.*)$/ || m/\# SUBTRACT BASE CPP(.*)$/) {
- my @flags = split (/ \//, $1);
-
- foreach my $flag (@flags) {
- if ($flag && %{$self->{CONFIGS}}->{$config}->{CPP} =~ m/$flag/) {
- %{$self->{CONFIGS}}->{$config}->{CPP} =~ s/ \/$flag//g;
- }
- }
- }
-
- # Look at LINK32 options
-
- if (m/\# ADD BASE LINK32(.*)$/ || m/\# ADD LINK32(.*)$/
- || m/\# ADD BASE LIB32(.*)$/ || m/\# ADD LIB32(.*)$/) {
- my @flags = split (/ \//, $1);
-
- foreach my $flag (@flags) {
- my $found = 0;
- my @libs = split (/ /, $flag);
-
- foreach my $lib (@libs) {
- if ($lib =~ m/\.lib$/) {
- if (!defined %{$self->{CONFIGS}}->{$config}->{LIBS} ||
- %{$self->{CONFIGS}}->{$config}->{LIBS} !~ m/\Q$lib\E/)
- {
- %{$self->{CONFIGS}}->{$config}->{LIBS} .= " $lib";
- }
- $found = 1;
- }
- }
-
- if (!$found && $flag) {
- my $shortflag = $flag;
- if ($flag =~ m/^(.*)\:/) {
- $shortflag = $1;
- }
-
- if (!defined %{$self->{CONFIGS}}->{$config}->{LINK} ||
- %{$self->{CONFIGS}}->{$config}->{LINK} !~ m/ \/$shortflag/)
- {
- %{$self->{CONFIGS}}->{$config}->{LINK} .= " /$flag";
- }
- }
- }
- }
- elsif (m/\# SUBTRACT BASE LINK32(.*)$/ || m/\# SUBTRACT LINK32(.*)$/
- || m/\# SUBTRACT BASE LIB32(.*)$/ || m/\# SUBTRACT LIB32(.*)$/) {
- my @flags = split (/ \//, $1);
-
- foreach my $flag (@flags) {
- my $shortflag = $flag;
- if ($flag =~ m/^(.*)\:/) {
- $shortflag = $1;
- }
-
- if ($flag && %{$self->{CONFIGS}}->{$config}->{LINK} =~ m/ (\/$shortflag\:[^ ]*)/) {
- %{$self->{CONFIGS}}->{$config}->{LINK} =~ s/ \Q$1\E//ig;
- }
- }
- }
-
- if (m/^\# Name \".* - (.*)\"/ && defined %{$self->{CONFIGS}}->{"Unknown"}) {
- %{$self->{CONFIGS}}->{$1} = %{$self->{CONFIGS}}->{"Unknown"};
- delete %{$self->{CONFIGS}}->{"Unknown"};
- }
-
- if (m/^SOURCE\s*=\"(.*)\"/ || m/^SOURCE\s*=(.*)/) {
- $sourcefile = $1;
- }
-
- if (defined $sourcefile && m/^\# PROP Exclude_From_Build 1/) {
- push @{$self->{IGNORED_SOURCES}}, $sourcefile;
- $sourcefile = undef;
- }
-
- if (m/^\# End Source File/) {
- if (defined $sourcefile) {
- push @{$self->{SOURCES}}, $sourcefile;
- }
- $sourcefile = undef;
- }
-
- if (m/\t\.\.\\.*\\tao\_idl(.exe|)\s(.*)\s\$/
- || m/\t\.\.\\.*\\tao\_idl(.exe|)\s(.*)\s[^\s]*\.idl/
- || m/\t\$.*\/.*\/tao\_idl(.exe|)\s(.*)\s[^\s]*\.idl/) {
- $self->{TAOIDLOPTS} = $2;
- }
- elsif (m/\t\.\.\\.*\\tao\_idl(.exe|)\s[^\s]*\.idl/) {
- $self->{TAOIDLOPTS} = '';
- }
- if (m/tao\_idl/ && m/\$\(InputName\)\.idl/ || m/tao\_idl/ && m/\$\(InputPath\)/) {
- $self->{TAOIDL} = 1;
- }
- }
- $fh->close ();
- $self->{valid} = 1;
-}
-
-###############################################################################
-
-# Build functions
-
-sub Build ($)
-{
- my $self = shift;
- my ($config) = @_;
-
- my $command = $self->Compiler () . " " . $self->Filename ()
- . " /USEENV"
- . " /MAKE \"" . $self->Name ()
- . " - " . $config . "\"";
-
- system $command;
-}
-
-sub Clean ($)
-{
- my $self = shift;
- my ($config) = @_;
-
- my $command = $self->Compiler () . " " . $self->Filename ()
- . " /USEENV"
- . " /MAKE \"" . $self->Name ()
- . " - " . $config . "\" /CLEAN";
-
- system $command;
-}
-
-1;
diff --git a/samwise/PerlACE/MSProject/DSP.pm b/samwise/PerlACE/MSProject/DSP.pm
deleted file mode 100644
index de4e0cde13f..00000000000
--- a/samwise/PerlACE/MSProject/DSP.pm
+++ /dev/null
@@ -1,28 +0,0 @@
-# $Id$
-
-package PerlACE::MSProject::DSP;
-
-use strict;
-use PerlACE::MSProject;
-
-@PerlACE::MSProject::DSP::ISA = ("PerlACE::MSProject");
-
-###############################################################################
-
-# Constructor
-
-sub new
-{
- my $proto = shift;
- my $class = ref ($proto) || $proto;
- my $self = $class->SUPER::new (@_);
-
- $self->{COMPILER} = "msdev.com";
-
- bless ($self, $class);
- return $self;
-}
-
-###############################################################################
-
-1;
diff --git a/samwise/PerlSam/Generator.pm b/samwise/PerlSam/Generator.pm
deleted file mode 100644
index 3a6e5cade74..00000000000
--- a/samwise/PerlSam/Generator.pm
+++ /dev/null
@@ -1,482 +0,0 @@
-# $Id$
-
-package PerlSam::Generator;
-
-###############################################################################
-# Forward Declarations
-
-sub ConvertPathToRelative ($);
-sub ExpandIDLFiles (\%);
-sub ExpandBaseNames (\@);
-sub ExpandLibraries (\@);
-sub ExpandIncludeDirs (\@);
-sub ProjectOrder (\%);
-
-# some private declarations
-sub GetLibInfo ();
-sub SetLibInfo (\%);
-sub GenerateDependencies (\%);
-
-###############################################################################
-# Instantiations
-
-use PerlSam::Generator::Borland;
-use PerlSam::Generator::GNUMake;
-use PerlSam::Generator::Automake;
-use PerlSam::Generator::MSVC6;
-#use PerlSam::Generator::MSVC7;
-use PerlSam::Generator::View;
-use PerlSam::Generator::VisualAge;
-
-###############################################################################
-# Global
-
-use Cwd;
-use Data::Dumper;
-use strict;
-
-###############################################################################
-# Global
-
-# Return the default generators
-sub GetDefaults ()
-{
- return ('msvc6', 'gnumake', 'borland');
-}
-
-###############################################################################
-# Constructor
-
-sub new (@)
-{
- my $proto = shift;
- my $class = ref ($proto) || $proto;
- my $self = {};
-
- @{$self->{GENERATORS}} = ();
-
- foreach my $name (@_) {
- if ($name eq 'view') {
- push @{$self->{GENERATORS}}, new PerlSam::Generator::View;
- }
- elsif ($name eq 'msvc6') {
- push @{$self->{GENERATORS}}, new PerlSam::Generator::MSVC6;
- }
- elsif ($name eq 'gnumake') {
- push @{$self->{GENERATORS}}, new PerlSam::Generator::GNUMake;
- }
- elsif ($name eq 'borland') {
- push @{$self->{GENERATORS}}, new PerlSam::Generator::Borland;
- }
- elsif ($name eq 'automake') {
- push @{$self->{GENERATORS}}, new PerlSam::Generator::Automake;
- }
- elsif ($name eq 'visualage') {
- push @{$self->{GENERATORS}}, new PerlSam::Generator::VisualAge;
- }
- else {
- print STDERR "Error: Unrecognized Generator <$name>\n";
- exit 1;
- }
- }
-
- bless ($self, $class);
- return $self;
-}
-
-###############################################################################
-# Public Methods
-
-sub GenerateWorkspace (\%)
-{
- my $self = shift;
-
- foreach my $generator (@{$self->{GENERATORS}}) {
- $generator->GenerateWorkspace (@_);
- }
-}
-
-sub GenerateProjects (\%)
-{
- my $self = shift;
-
- foreach my $generator (@{$self->{GENERATORS}}) {
- $generator->GenerateProjects (@_);
- }
-}
-
-sub SetLibraryInfo (\%)
-{
- my $self = shift;
- my $data = shift;
-
- SetLibInfo (%{$data});
-}
-
-###############################################################################
-# Private Methods
-
-# global data
-my $generator_lib_info;
-
-sub GetLibInfo ()
-{
- return $generator_lib_info;
-}
-
-sub SetLibInfo (\%)
-{
- $generator_lib_info = shift;
-}
-
-# Takes in a string of paths based on ACE_ROOT and converts them to relative
-# paths based on the current directory (example: /bin -> ../../bin)
-sub ConvertPathToRelative ($)
-{
- my $args = shift;
- $args =~ s/\s\s*/ /g;
- $args =~ s/\s$//g;
- my @list = split / /, $args;
- my $result = "";
- my $root;
-
- my $current = getcwd ();
- my $traverse = $current;
- my $external = 0;
- my @current_list;
-
- # This little bit of code walks up the path looking ACE_ROOT. If
- # not found, just default to using "$ACE_ROOT/"
-
- while (1) {
- # Are we in the "root" yet?
- if (-r "$traverse/samwise/PerlSam/Generator.pm") {
- last;
- }
-
- # Move up in the directory tree by lopping off the last part of
- # the path
- if ($traverse =~ m/(.*)\/[^\/]*/) {
- $traverse = $1;
- $root .= "../";
- }
- else {
- # Ran out of path, default to environment variable
- $root = "\$ACE_ROOT/";
- $external = 1;
- last;
- }
- }
-
- # Remove the trailing slash
- $root =~ s/\/$//;
-
- if (!$external) {
- # Figure out what our relative current directory is
- $current =~ s/^\Q$traverse\E\///;
- @current_list = split /\//, $current;
- }
-
- # Rebuild the stringified list
- foreach my $entry (@list) {
- my $this_root = $root;
- my @this_current = @current_list;
-
- # Loop off any common parts. So if current directory is
- # "\TAO\tests" and the entry is "\TAO\" then reduce the root
- if (!$external) {
- if ($entry =~ m/^\//) {
- while ($#this_current >= 0) {
- my $top_dir = shift @this_current;
- if ($entry && $entry =~ s/^\/$top_dir//) {
- if ($this_root eq '..') {
- $this_root = '.';
- } else {
- $this_root =~ s/^\.\.\///;
- }
- } else {
- last;
- }
- }
- $result .= $this_root . $entry . " ";
- } else {
- $result .= $entry . " ";
- }
- }
-
- }
-
- # Remove the trailing space from the stringified list.
- $result =~ s/ $//;
-
- return $result;
-}
-
-sub ExpandIDLFiles (\%)
-{
- my $project = shift;
-
- foreach my $file (keys %{$project->{SOURCES}}) {
- my $base = $file;
- $base =~ s/\.idl$//i;
-
- next if (!defined $project->{SOURCES}->{$file}->{TYPE});
-
- if ($project->{SOURCES}->{$file}->{TYPE} eq 'clientidl') {
- $project->{SOURCES}->{$base ."C.h"} = ();
- $project->{SOURCES}->{$base ."C.i"} = ();
- $project->{SOURCES}->{$base ."C.cpp"} = ();
- }
- elsif ($project->{SOURCES}->{$file}->{TYPE} eq 'idl') {
- $project->{SOURCES}->{$base ."C.h"} = ();
- $project->{SOURCES}->{$base ."C.i"} = ();
- $project->{SOURCES}->{$base ."C.cpp"} = ();
- $project->{SOURCES}->{$base ."S.h"} = ();
- $project->{SOURCES}->{$base ."S.i"} = ();
- $project->{SOURCES}->{$base ."S.cpp"} = ();
- $project->{SOURCES}->{$base ."S_T.h"} = ();
- $project->{SOURCES}->{$base ."S_T.i"} = ();
- $project->{SOURCES}->{$base ."S_T.cpp"} = ();
- $project->{SOURCES}->{$base ."S_T.cpp"}->{TYPE} = 'template';
- }
- }
-}
-
-sub ExpandBaseNames (\@)
-{
- my $libs = shift;
- my $libinfo = GetLibInfo ();
-
- my @results;
-
- foreach my $namespace (@{$libinfo->{ORDER}}) {
- foreach my $maplib (@{$libinfo->{$namespace}->{LIST}}) {
- foreach my $lib (@{$libs}) {
- my $lib_namespace;
- my $lib_name;
- if ($lib =~ m/(.*)::(.*)/) {
- $lib_namespace = $1;
- $lib_name = $2;
- }
-
- next if ($lib_namespace ne $namespace);
-
- if ($lib_name eq $maplib) {
- push @results, $libinfo->{$namespace}->{DETAILS}->{$maplib}->{BASE};
- }
- }
- }
- }
-
- return @results;
-}
-
-sub ExpandLibraries (\@)
-{
- my $libs = shift;
- my $libinfo = GetLibInfo ();
-
- my $results = "";
-
- foreach my $namespace (@{$libinfo->{ORDER}}) {
- foreach my $maplib (@{$libinfo->{$namespace}->{LIST}}) {
- foreach my $lib (@{$libs}) {
- my $lib_namespace;
- my $lib_name;
- if ($lib =~ m/(.*)::(.*)/) {
- $lib_namespace = $1;
- $lib_name = $2;
- }
-
- next if ($lib_namespace ne $namespace);
-
- if ($lib_name eq $maplib) {
- my $dir = $libinfo->{$namespace}->{DETAILS}->{$maplib}->{LINK};
- my $data = $libinfo->{$namespace}->{DETAILS}->{$maplib}->{BASE};
-
- $dir =~ s/\/$//;
-
- if (defined $data) {
- $results .= ConvertPathToRelative ($dir) . "/$data ";
- }
- else {
- print STDERR "Error: No base name defined for lib <$maplib>\n";
- exit 1;
- }
- }
- }
- }
- }
-
- # Add in any local libs
- foreach my $lib (@{$libs}) {
- if ($lib =~ m/^::(.*)$/) {
- $results .= "$1 ";
- }
- }
-
- # Get rid of the last space
- $results =~ s/ $//;
-
- return $results;
-}
-
-sub ExpandIncludeDirs (\@)
-{
- my $libs = shift;
- my $libinfo = GetLibInfo ();
-
- my $results = "";
-
- foreach my $namespace (@{$libinfo->{ORDER}}) {
- foreach my $maplib (@{$libinfo->{$namespace}->{LIST}}) {
- foreach my $lib (@{$libs}) {
- my $lib_namespace;
- my $lib_name;
- if ($lib =~ m/(.*)::(.*)/) {
- $lib_namespace = $1;
- $lib_name = $2;
- }
-
- next if ($lib_namespace ne $namespace);
-
- if ($lib_name eq $maplib) {
- my $dir = $libinfo->{$namespace}->{DETAILS}->{$maplib}->{INCLUDE};
- if ($results !~ m/^$dir / &&
- $results !~ m/ $dir /)
- {
- $results .= $dir . " ";
- }
- }
- }
- }
- }
-
- # Add in any local libs
- foreach my $lib (@{$libs}) {
- if ($lib =~ m/^::(.*)\/[^\/]+$/) {
- $results .= "$1 ";
- }
- }
-
- # Get rid of the last space
- $results =~ s/ $//;
-
- return $results;
-}
-
-sub GenerateDependencies (\%)
-{
- my $self = shift;
- my $data = shift;
-
- print "====================\n" if ($main::verbose >= 2);
- print "Entering Generator::GenerateDependencies\n" if ($main::verbose >= 1);
-
- #
- # Create a mapping between output names to project names
- #
-
- my %output; # Mapping between output and project
-
- print "Calculating output/project mapping\n" if ($main::verbose >= 2);
-
- foreach my $project (values %{$data->{PROJECTS}}) {
- %output->{$project->{TARGET}} = $project->{NAME}
- }
-
- print Dumper (\%output) if ($main::verbose >= 2);
-
- #
- # Go through all the libraries needed by a project and create a DEPENDS
- # list for all dependencies on other projects in this workspace
- #
-
- foreach my $project (values %{$data->{PROJECTS}}) {
- print "Looking at project $project->{NAME}\n" if ($main::verbose >= 2);
-
- @{$data->{PROJECTS}->{$project->{NAME}}->{DEPENDS}} = ();
-
- foreach my $library (ExpandBaseNames (@{$project->{LIBS}})) {
- print " Looking for library '$library' ..." if ($main::verbose >= 2);
-
- if (defined %output->{$library}) {
- print "found" if ($main::verbose >= 2);
- push @{$data->{PROJECTS}->{$project->{NAME}}->{DEPENDS}}, %output->{$library};
- }
-
- print "\n" if ($main::verbose >= 2);
- }
- }
-
- print "====================\n" if ($main::verbose>= 2);
-}
-
-sub ProjectOrder (\%)
-{
- my $data = shift;
-
- my %done; # Hash for indicating whether a project has been ordered for compilation
- my @order; # Resulting order of the projects
- my $count; # Counter to keep track of how many projects made "done" in a pass
-
- my $cycle = 0; # Keep track of the cycle
-
- print "====================\n" if ($main::verbose >= 2);
- print "Entering Generator::ProjectOrder\n" if ($main::verbose >= 1);
-
- do {
- $count = 0;
- ++$cycle;
-
- print "Starting Cycle $cycle\n" if ($main::verbose >= 2);
-
- #
- # Search for projects that have all dependencies ready and add them to
- # the ordered list if so
- #
-
- foreach my $project (values %{$data->{PROJECTS}}) {
- print " Looking at project $project->{NAME}..." if ($main::verbose >= 2);
-
- if (defined %done->{$project->{NAME}}) {
- print "done\n" if ($main::verbose >= 2);
- }
- else {
- my $notready = 0;
- foreach my $depend (@{$project->{DEPENDS}}) {
- if (!defined %done->{$depend}) {
- print "waiting on $depend\n" if ($main::verbose >= 2);
- $notready = 1;
- last;
- }
- }
-
- if ($notready == 0) {
- ++$count;
- push @order, $project->{NAME};
- %done->{$project->{NAME}} = 1;
- print "ready\n" if ($main::verbose >= 2);
- }
- }
- }
- } while ($count > 0);
-
- #
- # Perform a verification that there are no leftovers. If there are, then
- # it means there was a circular dependency
- #
-
- foreach my $project (values %{$data->{PROJECTS}}) {
- if (!defined %done->{$project->{NAME}}) {
- print STDERR "Error: Circular dependency detected for project: $project->{NAME}\n";
- }
- }
-
- print "Final Order: ", join (" ", @order), "\n" if ($main::verbose >= 2);
- print "====================\n" if ($main::verbose >= 2);
-
- return @order;
-}
-
-1;
diff --git a/samwise/PerlSam/Generator/Automake.pm b/samwise/PerlSam/Generator/Automake.pm
deleted file mode 100644
index 54b883dd136..00000000000
--- a/samwise/PerlSam/Generator/Automake.pm
+++ /dev/null
@@ -1,264 +0,0 @@
-# $Id$
-
-package PerlSam::Generator::Automake;
-
-use Cwd;
-use Data::Dumper;
-use File::Basename;
-use FileHandle;
-use strict;
-
-###############################################################################
-# Forward Declarations
-
-
-###############################################################################
-# Constructor
-
-sub new (@)
-{
- my $proto = shift;
- my $class = ref ($proto) || $proto;
- my $self = {};
-
- bless ($self, $class);
- return $self;
-}
-
-###############################################################################
-# Methods
-
-sub GenerateWorkspace (\%)
-{
- my $self = shift;
- my $data = shift;
-
- my $string;
-
- $string .= "##\n";
- $string .= "## \$Id\$\n";
- $string .= "##\n";
- $string .= "## Automake makefile generated by the Samwise Compiler\n";
- $string .= "##\n";
- $string .= "\n";
- $string .= "#----------------------------------------------------------------------------\n";
- $string .= "# Subdirectories\n";
- $string .= "#----------------------------------------------------------------------------\n";
- $string .= "\n";
- $string .= "SUBDIRS =";
-
- foreach my $dir (@{$data->{WORKSPACE}->{SUBDIRS}}) {
- $string .= " \\\n $dir";
- }
- $string .= "\n";
- $string .= "\n";
-
- $string .= "#----------------------------------------------------------------------------\n";
- $string .= "# Subprojects\n";
- $string .= "#----------------------------------------------------------------------------\n";
-
- $string .= "\n";
- $string .= "lib_LTLIBRARIES =";
-
- foreach my $project (@{$data->{WORKSPACE}->{PROJECTLINKS}->{LIST}}) {
- my $type =
- $data->{PROJECTS}->{$project}->{TYPE};
- if ($type eq 'library') {
- $string .= " \\\n lib".$project.".la";
- }
- }
-
- $string .= "\n\n";
- $string .= "noinst_PROGRAMS =";
-
- foreach my $project (@{$data->{WORKSPACE}->{PROJECTLINKS}->{LIST}}) {
- my $type =
- $data->{PROJECTS}->{$project}->{TYPE};
- my $install =
- $data->{PROJECTS}->{$project}->{INSTALL};
- if ($type eq 'executable' && $install eq 'no') {
- $string .= " \\\n $project";
- }
- }
-
- $string .= "\n\n";
- $string .= "bin_PROGRAMS =";
-
- foreach my $project (@{$data->{WORKSPACE}->{PROJECTLINKS}->{LIST}}) {
- my $type =
- $data->{PROJECTS}->{$project}->{TYPE};
- my $install =
- $data->{PROJECTS}->{$project}->{INSTALL};
- if ($type eq 'executable' && $install eq 'yes') {
- $string .= " \\\n $project";
- }
- }
- $string .= "\n";
- $string .= "\n";
-
- print "Creating Workspace: Makefile.am\n";
-
- my $file_handle = new FileHandle ("Makefile.am", "w");
- print $file_handle $string;
-}
-
-sub GenerateProjects (\%)
-{
- my $self = shift;
- my $data = shift;
-
- my @INCLUDES = ();
-
- foreach my $project (sort keys %{$data->{PROJECTS}}) {
- my $string;
- my $description = $data->{PROJECTS}->{$project}->{DESCRIPTION};
- my $target = $data->{PROJECTS}->{$project}->{TARGET};
- my $type = $data->{PROJECTS}->{$project}->{TYPE};
-
- $string .= "##----------------------------------------------------------------------------\n";
- $string .= "##\n";
- $string .= "## Project Description: $description\n";
- $string .= "##\n";
- $string .= "##----------------------------------------------------------------------------\n";
- $string .= "\n";
-
- my $project_prefix = '';
-
- if ($type eq 'executable') {
- $project_prefix = $project;
- } elsif ($type eq 'library') {
- $project_prefix = 'lib'.$project.'_la';
- } else {
- die "Unknown project type $type\n";
- }
-
- my @project_libs = ();
- if (defined $data->{PROJECTS}->{$project}->{LIBS}) {
- @project_libs = @{$data->{PROJECTS}->{$project}->{LIBS}};
- }
- # Libraries need to add their own -I directory to the list!
- if (defined $data->{PROJECTS}->{$project}->{LIBINFO}->{NAMESPACE}
- && defined $data->{PROJECTS}->{$project}->{LIBINFO}->{NAME}) {
- push @project_libs,
- $data->{PROJECTS}->{$project}->{LIBINFO}->{NAMESPACE}
- .'::'
- .$data->{PROJECTS}->{$project}->{LIBINFO}->{NAME};
- }
- my $inc_dirs = PerlSam::Generator::ExpandIncludeDirs (@project_libs);
-
- foreach my $inc (split / /, $inc_dirs) {
- if ($inc =~ m/^\//) {
- push @INCLUDES, "-I\$(top_builddir)$inc";
- push @INCLUDES, "-I\$(top_srcdir)$inc";
- } else {
- push @INCLUDES, "-I$inc";
- }
- }
-
- # and we also need to add any local includes....
- if (defined $data->{PROJECTS}->{$project}->{LIBINFO}->{INCLUDE}) {
- foreach my $inc (split / /, $data->{PROJECTS}->{$project}->{LIBINFO}->{INCLUDE}) {
- push @INCLUDES, "-I$inc";
- }
- }
-
- if ($type eq 'library') {
- $string .= $project_prefix."_LIBADD =";
- } else {
- $string .= $project_prefix."_LDADD =";
- }
-
- my $libs = PerlSam::Generator::ExpandLibraries (@{$data->{PROJECTS}->{$project}->{LIBS}});
-
- foreach my $lib (reverse split / /, $libs) {
- $string .= "\\\n ".
- File::Basename::dirname ($lib)
- .'/lib'
- .File::Basename::basename ($lib)
- .'.la';
- }
- $string .= "\n";
-
- my %vpath;
-
- $string .= $project_prefix."_SOURCES =";
- foreach my $src (sort keys %{$data->{PROJECTS}->{$project}->{SOURCES}}) {
- my $type = $data->{PROJECTS}->{$project}->{SOURCES}->{$src}->{TYPE};
-
- if (defined $type && $type eq 'template') {
- next;
- }
-
- if ($src =~ /\.cpp$/
- || $src =~ /\.cc$/
- || $src =~ /\.C$/
- || $src =~ /\.c$/) {
- $string .= " \\\n $src";
- }
- $vpath{File::Basename::dirname ($src)} = '1';
- }
- $string .= "\n";
- $string .= "\n";
- # $string .= 'VPATH +=' . join(':', sort keys %vpath) . "\n";
- $string .= "\n";
-
- $string .= "pkginclude_HEADERS =";
-
- foreach my $src (sort keys %{$data->{PROJECTS}->{$project}->{SOURCES}}) {
- my $type = $data->{PROJECTS}->{$project}->{SOURCES}->{$src}->{TYPE};
-
- if (defined $type && $type eq 'template') {
- $string .= " \\\n $src";
- }
- }
- foreach my $src (sort keys %{$data->{PROJECTS}->{$project}->{SOURCES}}) {
- if ($src =~ /.h$/ || $src =~ /.i$/ || $src =~ /.inl$/) {
- $string .= " \\\n $src";
- }
- }
- $string .= "\n";
- $string .= "\n";
-
- my $has_idls = 0;
-
- foreach my $file (keys %{$data->{PROJECTS}->{$project}->{SOURCES}}) {
- my $type = $data->{PROJECTS}->{$project}->{SOURCES}->{$file}->{TYPE};
- if (defined $type && ($type eq 'idl' || $type eq 'clientidl')) {
- $has_idls = 1;
- }
- }
-
- if ($has_idls) {
- print "ERROR: IDL Files detected but not supported!!!\n";
- }
-
- print "Adding Project: $project\n";
-
- my $file_handle = new FileHandle ("Makefile.am", "a");
-
- print $file_handle $string;
- }
-
- my $string;
- $string .= "##----------------------------------------------------------------------------\n";
- $string .= "##\n";
- $string .= "## Global settings for all projects\n";
- $string .= "##\n";
- $string .= "##----------------------------------------------------------------------------\n";
- $string .= "\n";
- $string .= "AM_CPPFLAGS =";
- my $last_include = '';
- for my $inc (sort @INCLUDES) {
- next if ($last_include eq $inc);
- $string .= "\\\n $inc";
- }
- $string .= "\n";
-
- my $file_handle = new FileHandle ("Makefile.am", "a");
- print $file_handle $string;
-}
-
-###############################################################################
-# Internal Methods
-
-1;
diff --git a/samwise/PerlSam/Generator/Borland.pm b/samwise/PerlSam/Generator/Borland.pm
deleted file mode 100644
index a26486c2720..00000000000
--- a/samwise/PerlSam/Generator/Borland.pm
+++ /dev/null
@@ -1,383 +0,0 @@
-# $Id$
-
-package PerlSam::Generator::Borland;
-
-use Cwd;
-use Data::Dumper;
-use FileHandle;
-use strict;
-
-###############################################################################
-# Forward Declarations
-
-sub GetIncDir ($);
-
-###############################################################################
-# Constructor
-
-sub new (@)
-{
- my $proto = shift;
- my $class = ref ($proto) || $proto;
- my $self = {};
-
- bless ($self, $class);
- return $self;
-}
-
-###############################################################################
-# Methods
-
-sub GenerateWorkspace (\%)
-{
- my $self = shift;
- my $data = shift;
-
- my $output;
-
- $output .= "#\n";
- $output .= "# \$Id\$\n";
- $output .= "#\n";
- $output .= "# Borland Workspace Makefile generated by the Samwise Compiler\n";
- $output .= "#\n";
- $output .= "\n";
-
- #
- # Output the list of subdirectories, if there are any
- #
-
- if (scalar @{$data->{WORKSPACE}->{SUBDIRS}} > 0) {
- $output .= "# Subdirectories\n";
- $output .= "\n";
- $output .= "DIRS =";
-
- foreach my $dir (@{$data->{WORKSPACE}->{SUBDIRS}}) {
- $output .= " \\\n $dir";
- }
- $output .= "\n";
- $output .= "\n";
- }
-
- #
- # Output the list of projects, if there are any
- #
-
- if (scalar @{$data->{WORKSPACE}->{PROJECTLINKS}->{LIST}} > 0) {
- $output .= "# Subprojects\n";
- $output .= "\n";
- $output .= "MAKEFILES =";
-
- foreach my $project (@{$data->{WORKSPACE}->{PROJECTLINKS}->{LIST}}) {
- $output .= " \\\n $project.bor";
- }
- $output .= "\n";
- $output .= "\n";
- }
-
- $output .= "!include <\$(ACE_ROOT)\\include\\makeinclude\\recurse.bor>\n";
-
- my $file_name = "Makefile.bor";
-
- print "Creating Workspace: $file_name\n";
-
- my $file_handle = new FileHandle ($file_name, "w");
- print $file_handle $output;
-}
-
-sub GenerateProjects (\%)
-{
- my $self = shift;
- my $projectdata = shift;
-
- foreach my $project (sort keys %{$projectdata->{PROJECTS}}) {
- my $output;
- my $data = $projectdata->{PROJECTS}->{$project};
-
- my @basenames = PerlSam::Generator::ExpandBaseNames (@{$data->{LIBS}});
-
- #
- # Add generated files to list of sources
- #
-
- PerlSam::Generator::ExpandIDLFiles(%{$data});
-
- #
- # Output the Makefile header
- #
-
- $output .= "#\n";
- $output .= "# \$Id\$\n";
- $output .= "#\n";
- $output .= "# Borland Project Makefile generated by the Samwise Compiler\n";
- $output .= "# Project Description: $data->{DESCRIPTION}\n";
- $output .= "#\n\n";
-
- #
- # Output the target
- #
-
- $output .= "NAME = $data->{TARGET}\n\n";
-
- #
- # Look through all source files and store them for later use
- #
-
- my @idlfiles; # List of IDL files
- my @objfiles; # List of object files
- my @resfiles; # List of resource files
- my %filedirs; # Hash of all the subdirs used for source files
-
- foreach my $source (sort keys %{$data->{SOURCES}}) {
- if (defined $data->{SOURCES}->{$source}->{TYPE}
- && ($data->{SOURCES}->{$source}->{TYPE} eq 'idl'
- || $data->{SOURCES}->{$source}->{TYPE} eq 'clientidl'))
- {
- push @idlfiles, $source;
- }
- elsif ($source =~ m/(.*)\.cpp$/
- && (!defined $data->{SOURCES}->{$source}->{TYPE}
- || $data->{SOURCES}->{$source}->{TYPE} ne 'template'))
- {
- $source = $1;
-
- # Check for source file in a subdirectory
-
- if ($source =~ m/^(.*)\/([^\/]+)$/) {
- %filedirs->{$1} = 1;
- $source = $2;
- }
-
- push @objfiles, $source . '.obj';
- }
- elsif ($source =~ m/^(.*)\.rc$/) {
- $source = $1;
-
- # Check for source file in a subdirectory
-
- if ($source =~ m/^(.*)\/([^\/]+)$/) {
- %filedirs->{$1} = 1;
- $source = $2;
- }
-
- push @resfiles, $source . '.res';
- }
- }
-
- #
- # Output the list of IDL files
- #
-
- if (scalar (@idlfiles) > 0) {
- $output .= "IDLFILES =";
- foreach my $idlfile (@idlfiles) {
- $output .= " \\\n\t\$(IDLDIR)\\$idlfile";
- }
- $output .= "\n\n";
- }
-
- #
- # Output the list of object files
- #
-
- if (scalar (@objfiles) > 0) {
- $output .= "OBJFILES =";
- foreach my $objfile (sort @objfiles) {
- $output .= " \\\n\t\$(OBJDIR)\\$objfile";
- }
- $output .= "\n\n";
- }
-
- #
- # Output the list of resource files
- #
-
- if (scalar (@resfiles) > 0) {
- $output .= "RESOURCE =";
- foreach my $resfile (@resfiles) {
- $output .= " \$(OBJDIR)\\$resfile";
- }
- $output .= "\n\n";
- }
-
- #
- # Output the compiler flags
- #
-
- $output .= "CFLAGS =";
-
- foreach my $basename (@basenames) {
- $output .= " \\\n\t\$(" . uc $basename . "_CFLAGS)";
- }
-
- # If we are a library, also output our CFLAGS
-
- if (defined $data->{LIBINFO}->{BASE}) {
- $output .= " \\\n\t\$(" . uc $data->{LIBINFO}->{BASE} . "_CFLAGS)";
- }
-
- # And if we are a library, also define our export macro(s)
-
- if (defined $data->{LIBINFO}->{EXPORT}) {
- foreach my $export (split / /, $data->{LIBINFO}->{EXPORT}) {
- $output .= " \\\n\t-D" . uc $export . "_BUILD_DLL";
- }
- }
-
- $output .= "\n\n";
-
- #
- # Output the list of libraries
- #
-
- if ($#basenames >= 0) {
- $output .= "LIBFILES =";
- foreach my $basename (@basenames) {
- $output .= " \\\n\t\$(" . uc $basename . "_LIB)";
- }
- $output .= "\n\n";
- }
-
- #
- # Output the CPPDIR and IDLDIR
- #
-
- $output .= "CPPDIR = .";
- foreach my $filedir (sort keys %filedirs) {
- $output .= ";$filedir";
- }
- $output .= "\n\n";
-
- if (scalar (@idlfiles) > 0) {
- # $TODO Can we have multiple subdirs here, like with CPPDIR?
-
- $output .= "IDLDIR = .\n\n";
- }
-
- #
- # Output install information for libraries
- #
-
- if ($data->{TYPE} eq 'library') {
-
- # INCDIR_NAME is based of the libinfo include data
-
- if (defined $data->{LIBINFO}->{INCLUDE}) {
- $output .= "INCDIR_NAME = " . GetIncDir ($data->{LIBINFO}->{INCLUDE}) . "\n";
- }
-
- # INCLUDES lists all the template, header, and inline files.
-
- $output .= "INCLUDES =";
-
- foreach my $source (sort keys %{$data->{SOURCES}}) {
- my $filetype = $data->{SOURCES}->{$source}->{TYPE};
- if (defined $filetype && $filetype eq 'template') {
- $output .= " \\\n\t$source";
- }
-
- $source =~ s/\//\\/g;
-
- if ($source =~ m/\.(h|i|inl|pidl)$/) {
- $output .= " \\\n\t$source";
- }
- }
-
- $output .= "\n\n";
- }
-
- #
- # Output this command if we have IDL files
- #
-
- if (scalar (@idlfiles) > 0) {
- $output .= "all: idl_src_files\n\n";
- }
-
- #
- # Output the inclusion of a system *.bor file
- #
-
- if ($data->{TYPE} eq 'executable') {
- if (defined $data->{INSTALL} && $data->{INSTALL} eq 'yes') {
- $output .= "!include <\$(ACE_ROOT)\\include\\makeinclude\\build_core_exe.bor>";
- }
- else {
- $output .= "!include <\$(ACE_ROOT)\\include\\makeinclude\\build_exe.bor>";
- }
- }
- elsif ($data->{TYPE} eq 'library') {
- $output .= "!include <\$(ACE_ROOT)\\include\\makeinclude\\build_core_library.bor>\n";
- }
-
- #
- # IDL files need some explicit dependencies defined
- #
-
- if (scalar (@idlfiles) > 0) {
- $output .= "\n#\n# IDL Build rules\n#\n\n";
-
- $output .= "idl_src_files: \$(IDLFILES:.idl=C.cpp) \$(IDLFILES:.idl=S.cpp)\n\n";
-
- foreach my $idlfile (@idlfiles) {
- my $idlroot = "";
-
- if ($idlfile =~ m/^(.*)\.idl$/) {
- $idlroot = $1;
- }
-
- $output .= "\$(IDLDIR)\\" . $idlroot . "C.cpp \$(IDLDIR)\\";
- $output .= $idlroot . "S.cpp: ";
- $output .= "\$(IDLDIR)\\$idlfile\n";
- $output .= "\t\$(CORE_BINDIR)\\tao_idl -g \$(CORE_BINDIR)\\gperf.exe \\\n";
- $output .= "\t\t$data->{SOURCES}->{$idlfile}->{OPTS} \\\n";
- $output .= "\t\t\$**\n\n";
- }
- }
-
- #
- # Save the output to the file
- #
-
- my $filename = $project . ".bor";
-
- print "Creating Project: $filename\n";
-
- my $filehandle = new FileHandle ($filename, "w");
-
- if (!defined $filehandle) {
- print STDERR "Error: Could not open $filename for writing: $!\n";
- return;
- }
-
- print $filehandle $output;
- }
-}
-
-###############################################################################
-# Internal Methods
-
-sub GetIncDir ($)
-{
- my $incdir = shift;
- my $curdir = getcwd ();
- my $result = "";
-
- #
- # Replace each ../ with the corresponding value from $curdir
- #
-
- while ($incdir =~ m/..\/(.*)/) {
- $incdir = $1;
- if ($curdir =~ m/(.*)\/(.*)/) {
- $curdir = $1;
- $result = "$2\\" . $result;
- }
- }
-
- # We don't want to end with a \, so remove it.
-
- $result =~ s/\\$//;
-
- return $result;
-}
-1; \ No newline at end of file
diff --git a/samwise/PerlSam/Generator/GNUMake.pm b/samwise/PerlSam/Generator/GNUMake.pm
deleted file mode 100644
index 184c1be8573..00000000000
--- a/samwise/PerlSam/Generator/GNUMake.pm
+++ /dev/null
@@ -1,390 +0,0 @@
-# $Id$
-
-package PerlSam::Generator::GNUMake;
-
-use Cwd;
-use Data::Dumper;
-use File::Basename;
-use FileHandle;
-use strict;
-
-###############################################################################
-# Forward Declarations
-
-
-###############################################################################
-# Constructor
-
-sub new (@)
-{
- my $proto = shift;
- my $class = ref ($proto) || $proto;
- my $self = {};
-
- bless ($self, $class);
- return $self;
-}
-
-###############################################################################
-# Methods
-
-sub GenerateWorkspace (\%)
-{
- my $self = shift;
- my $data = shift;
-
- my $string;
-
- $string .= "#----------------------------------------------------------------------------\n";
- $string .= "#\n";
- $string .= "# \$Id\$\n";
- $string .= "#\n";
- $string .= "# GNU Workspace Makefile generated by the Samwise Compiler\n";
- $string .= "#\n";
- $string .= "#----------------------------------------------------------------------------\n";
- $string .= "\n";
- $string .= "#----------------------------------------------------------------------------\n";
- $string .= "# Subdirectories\n";
- $string .= "#----------------------------------------------------------------------------\n";
- $string .= "\n";
- $string .= "DIRS =";
-
- foreach my $dir (@{$data->{WORKSPACE}->{SUBDIRS}}) {
- $string .= " \\\n $dir";
- }
- $string .= "\n";
- $string .= "\n";
-
- $string .= "#----------------------------------------------------------------------------\n";
- $string .= "# Subprojects\n";
- $string .= "#----------------------------------------------------------------------------\n";
-
- $string .= "\n";
- $string .= "MAKEFILES =";
-
- foreach my $project (PerlSam::Generator::ProjectOrder (%{$data})) {
- $string .= " \\\n $project.gnu";
- }
- $string .= "\n";
- $string .= "\n";
-
- $string .= "#----------------------------------------------------------------------------\n";
- $string .= "# Include macros and targets\n";
- $string .= "#----------------------------------------------------------------------------\n";
- $string .= "\n";
-
- my $ace_root = PerlSam::Generator::ConvertPathToRelative ("/");
-
- # Only put this in if we are in the ACE_wrappers tree
- if ($ace_root ne "\$ACE_ROOT/") {
- $string .= "ifndef ACE_ROOT\n";
- $string .= " ACE_ROOT = $ace_root\n";
- $string .= "endif\n";
- $string .= "\n";
- }
-
- $string .= "include \$(ACE_ROOT)/samwise/makeinclude/workspace.GNU\n";
- $string .= "\n";
-
- my $file_name = "GNUmakefile";
-
- print "Creating Workspace: $file_name\n";
-
- my $file_handle = new FileHandle ($file_name, "w");
- print $file_handle $string;
-}
-
-sub GenerateProjects (\%)
-{
- my $self = shift;
- my $data = shift;
-
- foreach my $project (sort keys %{$data->{PROJECTS}}) {
- my $string;
- my $description = $data->{PROJECTS}->{$project}->{DESCRIPTION};
- my $target = $data->{PROJECTS}->{$project}->{TARGET};
- my $type = $data->{PROJECTS}->{$project}->{TYPE};
-
- my $file_name = $project . ".gnu";
-
- $string .= "#----------------------------------------------------------------------------\n";
- $string .= "#\n";
- $string .= "# \$Id\$\n";
- $string .= "#\n";
- $string .= "# GNU Project Makefile generated by the Samwise Compiler\n";
- $string .= "# Project Description: $description\n";
- $string .= "#\n";
- $string .= "#----------------------------------------------------------------------------\n";
- $string .= "\n";
-
- my $ace_root = PerlSam::Generator::ConvertPathToRelative ("/");
-
- # Only put this in if we are in the ACE_wrappers tree
- if ($ace_root ne "\$ACE_ROOT/") {
- $string .= "ifndef ACE_ROOT\n";
- $string .= " ACE_ROOT = $ace_root\n";
- $string .= "endif\n";
- $string .= "\n";
- }
-
- if ($type ne 'executable' && $type ne 'library') {
- die "Unknown project type $type\n";
- }
-
- $string .= "MAKEFILE = $file_name\n\n";
-
- my @project_libs = ();
- if (defined $data->{PROJECTS}->{$project}->{LIBS}) {
- @project_libs = @{$data->{PROJECTS}->{$project}->{LIBS}};
- }
- # Libraries need to add their own -I directory to the list!
- if (defined $data->{PROJECTS}->{$project}->{LIBINFO}->{NAMESPACE}
- && defined $data->{PROJECTS}->{$project}->{LIBINFO}->{NAME}) {
- push @project_libs,
- $data->{PROJECTS}->{$project}->{LIBINFO}->{NAMESPACE}
- .'::'
- .$data->{PROJECTS}->{$project}->{LIBINFO}->{NAME};
- }
- my $dirs = PerlSam::Generator::ExpandIncludeDirs (@project_libs);
- my $include_dirs = PerlSam::Generator::ConvertPathToRelative ($dirs);
-
- $string .= "CPPFLAGS += ";
- foreach my $inc (split / /, $include_dirs) {
- $string .= "\\\n -I".$inc;
- }
-
- # and we also need to add any local includes....
- if (defined $data->{PROJECTS}->{$project}->{LIBINFO}->{INCLUDE}) {
- foreach my $inc (split / /, $data->{PROJECTS}->{$project}->{LIBINFO}->{INCLUDE}) {
- $string .= "\\\n -I".$inc;
- }
- }
-
- $string .= "\n";
-
- $string .= "LDLIBS =";
-
- my $libs = PerlSam::Generator::ExpandLibraries (@{$data->{PROJECTS}->{$project}->{LIBS}});
-
- foreach my $lib (reverse split / /, $libs) {
- $string .= " \\\n -L".File::Basename::dirname ($lib);
- $string .= " \\\n -l".File::Basename::basename ($lib);
- }
- $string .= "\n";
-
- if ($type eq 'library') {
- $string .= "ACE_SHLIBS =";
-
- foreach my $lib (split / /, $libs) {
- $string .= " \\\n -L".File::Basename::dirname ($lib);
- $string .= " \\\n -l".File::Basename::basename ($lib);
- }
- $string .= "\n";
- }
-
- my $SRC_MACRO = '';
- my $GNU_INCLUDE = '';
-
- if ($type eq 'executable') {
- $string .= "BIN = $target\n";
- $SRC_MACRO = 'SRC';
- $GNU_INCLUDE = 'executable.GNU';
- }
- elsif ($type eq 'library') {
- $string .= "LIBNAME = $target\n";
- $string .= "LIB = lib\$(LIBNAME).a\n";
- $string .= "SHLIB = lib\$(LIBNAME).\$(SOEXT)\n";
- $SRC_MACRO = 'LSRC';
- $GNU_INCLUDE = 'library.GNU';
- }
-
- my %vpath = ();
- $string .= "$SRC_MACRO=";
- foreach my $src (sort keys %{$data->{PROJECTS}->{$project}->{SOURCES}}) {
- my $type = $data->{PROJECTS}->{$project}->{SOURCES}->{$src}->{TYPE};
-
- if (defined $type && $type eq 'template') {
- next;
- }
-
- if ($src =~ /\.cpp$/
- || $src =~ /\.cc$/
- || $src =~ /\.C$/
- || $src =~ /\.c$/) {
- $string .= " \\\n $src";
- }
- $vpath{File::Basename::dirname ($src)} = '1';
- }
- $string .= "\n";
- $string .= "\n";
- $string .= 'VPATH=' . join(':', sort keys %vpath) . "\n";
- $string .= "\n";
- $string .= "TEMPLATE_FILES =";
-
- foreach my $src (sort keys %{$data->{PROJECTS}->{$project}->{SOURCES}}) {
- my $type = $data->{PROJECTS}->{$project}->{SOURCES}->{$src}->{TYPE};
-
- if (defined $type && $type eq 'template') {
- $string .= " \\\n $src";
- }
- }
- $string .= "\n";
-
- $string .= "HEADERS =";
-
- foreach my $src (sort keys %{$data->{PROJECTS}->{$project}->{SOURCES}}) {
- if ($src =~ /.h$/ || $src =~ /.i$/ || $src =~ /.inl$/) {
- $string .= " \\\n $src";
- }
- }
- $string .= "\n";
- $string .= "\n";
-
- my $has_idls = 0;
-
- foreach my $file (keys %{$data->{PROJECTS}->{$project}->{SOURCES}}) {
- my $type = $data->{PROJECTS}->{$project}->{SOURCES}->{$file}->{TYPE};
- if (defined $type && ($type eq 'idl' || $type eq 'clientidl')) {
- $has_idls = 1;
- }
- }
-
- if ($has_idls) {
- $string .= "IDL_FILES=";
-
- foreach my $file (sort keys %{$data->{PROJECTS}->{$project}->{SOURCES}}) {
- my $type = $data->{PROJECTS}->{$project}->{SOURCES}->{$file}->{TYPE};
- if (defined $type && ($type eq 'idl' || $type eq 'clientidl')) {
- my $base = $file;
- $base =~ s/\.idl$//;
- $string .= "\\\n $base";
- }
- }
- $string .= "\n";
-
- $string .= "$SRC_MACRO+=";
- foreach my $file (sort keys %{$data->{PROJECTS}->{$project}->{SOURCES}}) {
- my $type = $data->{PROJECTS}->{$project}->{SOURCES}->{$file}->{TYPE};
- if (defined $type && ($type eq 'idl' || $type eq 'clientidl')) {
- my $idl = $file;
- my $base = $idl;
- $base =~ s/\.idl$//;
-
- $string .= "\\\n $base\$(IDL_CLIENT_SRC_EXT)";
-
- if ($type ne 'clientidl') {
- $string .= "\\\n $base\$(IDL_SERVER_SRC_EXT)";
- }
- }
- }
- $string .= "\n";
-
- $string .= "HEADERS+=";
- foreach my $file (sort keys %{$data->{PROJECTS}->{$project}->{SOURCES}}) {
- my $type = $data->{PROJECTS}->{$project}->{SOURCES}->{$file}->{TYPE};
- if (defined $type && ($type eq 'idl' || $type eq 'clientidl')) {
- my $idl = $file;
-
- my $base = $idl;
- $base =~ s/\.idl$//;
-
- $string .= "\\\n $base\$(IDL_CLIENT_HDR_EXT)";
- $string .= "\\\n $base\$(IDL_CLIENT_INL_EXT)";
-
- if ($type ne 'clientidl') {
- $string .= "\\\n $base\$(IDL_SERVER_HDR_EXT)";
- $string .= "\\\n $base\$(IDL_SERVER_INL_EXT)";
- $string .= "\\\n $base\$(IDL_SERVER_THDR_EXT)";
- $string .= "\\\n $base\$(IDL_SERVER_TINL_EXT)";
- }
- }
- }
- $string .= "\n";
-
- $string .= "TEMPLATE_FILES+=";
- foreach my $file (sort keys %{$data->{PROJECTS}->{$project}->{SOURCES}}) {
- my $type = $data->{PROJECTS}->{$project}->{SOURCES}->{$file}->{TYPE};
- if (defined $type && ($type eq 'idl' || $type eq 'clientidl')) {
- if ($type ne 'clientidl') {
- my $base = $file;
- $base =~ s/\.idl$//;
-
- $string .= "\\\n $base\$(IDL_SERVER_TSRC_EXT)";
- }
- }
- }
- $string .= "\n";
-
- my @opts = ();
- foreach my $file (sort keys %{$data->{PROJECTS}->{$project}->{SOURCES}}) {
- my $type = $data->{PROJECTS}->{$project}->{SOURCES}->{$file}->{TYPE};
- if (defined $type && ($type eq 'idl' || $type eq 'clientidl')) {
- push @opts,
- $data->{PROJECTS}->{$project}->{SOURCES}->{$file}->{OPTS};
- }
- }
- my @unique_opts = sort @opts;
- $string .= "TAO_IDLFLAGS+=";
- my $previous_opt = '';
- foreach my $o (@unique_opts) {
- if ($o ne $previous_opt) {
- $string .= "\\\n $o";
- $previous_opt = $o;
- }
- }
- $string .= "\n";
-
- }
- $string .= "\n";
- $string .= "include \$(ACE_ROOT)/samwise/makeinclude/$GNU_INCLUDE\n";
- $string .= "\n";
-
- if ($has_idls) {
- my $idl_deps = "";
- my $realclean_cmds = "";
- foreach my $file (sort keys %{$data->{PROJECTS}->{$project}->{SOURCES}}) {
- my $type = $data->{PROJECTS}->{$project}->{SOURCES}->{$file}->{TYPE};
- if (defined $type && ($type eq 'idl' || $type eq 'clientidl')) {
- my $base = $file;
- $base =~ s/\.idl$//;
-
- $realclean_cmds .= "\t\-\$(RM) \$(foreach ext, \$(IDL_EXT), $base\$(ext))\n";
- $string .= "\n";
- $string .= ".PRECIOUS: \$(foreach ext, \$(IDL_EXT), $base\$(ext))\n";
- $string .= "\n";
-
- $idl_deps .= " $base\$(IDL_CLIENT_HDR_EXT)";
- }
- }
- $string .= "realclean:\n";
- $string .= $realclean_cmds;
- $string .= "\n";
-
- foreach my $src (sort keys %{$data->{PROJECTS}->{$project}->{SOURCES}}) {
- my $type = $data->{PROJECTS}->{$project}->{SOURCES}->{$src}->{TYPE};
-
- if ((!defined $type || $type ne 'template') && $src =~ /.cpp$/) {
- my $base = $src;
- $base =~ s/\.cpp$//;
- $base = File::Basename::basename ($base);
-
- $string .= ".shobj/$base.o .obj/$base.o ";
- $string .= ".shobj/$base.so .obj/$base.so:";
- $string .= $idl_deps . "\n";
- }
- }
- $string .= "\n";
- }
-
- print "Creating Project: $file_name\n";
-
- my $file_handle = new FileHandle ($file_name, "w");
-
- print $file_handle $string;
- }
-}
-
-###############################################################################
-# Internal Methods
-
-1;
diff --git a/samwise/PerlSam/Generator/MSVC6.pm b/samwise/PerlSam/Generator/MSVC6.pm
deleted file mode 100644
index 2d903acae9a..00000000000
--- a/samwise/PerlSam/Generator/MSVC6.pm
+++ /dev/null
@@ -1,847 +0,0 @@
-# $Id$
-
-package PerlSam::Generator::MSVC6;
-
-use Cwd;
-use Data::Dumper;
-use FileHandle;
-use strict;
-
-###############################################################################
-# Forward Declarations
-
-sub GenerateExeProject (\%);
-sub GenerateDLLProject (\%);
-sub GenerateLIBProject (\%);
-
-sub WorkspaceProject ($$\@);
-
-sub ProjectHeader (\%\@$);
-sub ProjectAllGroups ($\%\@);
-sub ProjectGroup ($$$\%\@);
-sub ProjectSource ($$\%\@);
-sub ProjectFooter ();
-sub ConfigSection (%);
-
-###############################################################################
-# Constructor
-
-sub new (@)
-{
- my $proto = shift;
- my $class = ref ($proto) || $proto;
- my $self = {};
-
- bless ($self, $class);
- return $self;
-}
-
-###############################################################################
-# Methods
-
-my %tempdirs = ( 'Win32 Debug' => 'Debug',
- 'Win32 Release' => 'Release',
- 'Win32 Static Debug' => 'Debug\Static',
- 'Win32 Static Release' => 'Release\Static',
- 'Win32 MFC Debug' => 'Debug\MFC',
- 'Win32 MFC Release' => 'Release\MFC'
- );
-
-sub GenerateWorkspace (\%)
-{
- my $self = shift;
- my $data = shift;
-
- # Check to see if we even need to generate a workspace file
- if (!defined @{$data->{WORKSPACE}->{PROJECTLINKS}->{LIST}}) {
- return;
- }
-
- my $string;
-
- $string .= <<EOWH;
-Microsoft Developer Studio Workspace File, Format Version 6.00
-# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
-
-EOWH
-
- foreach my $project (sort @{$data->{WORKSPACE}->{PROJECTLINKS}->{LIST}}) {
- my $description = $data->{PROJECTS}->{$project}->{DESCRIPTION};
-
- if (!defined $data->{PROJECTS}->{$project}->{NAME}) {
- print STDERR "Error: Cannot find project <$project>\n";
- next;
- }
-
- $string .= WorkspaceProject ($description, $project . ".dsp", @{$data->{PROJECTS}->{$project}->{DEPENDS}});
-
- if ($data->{PROJECTS}->{$project}->{TYPE} eq "library") {
- my @empty = ();
- $string .= WorkspaceProject ($description. " Static" , $project . "_static.dsp", @empty);
- }
- }
- $string .= <<EOWF;
-###############################################################################
-
-Global:
-
-Package=<5>
-{{{
-}}}
-
-Package=<3>
-{{{
-}}}
-
-###############################################################################
-
-EOWF
-
- my $file_name;
-
- if (defined $data->{WORKSPACE}->{NAME}) {
- $file_name = $data->{WORKSPACE}->{NAME};
- }
- else {
- $file_name = getcwd ();
-
- if ($file_name =~ m/\/([^\/]*)$/) {
- $file_name = $1;
- }
- }
-
- $file_name = $file_name . ".dsw";
-
- print "Creating Workspace: $file_name\n";
-
- my $file_handle = new FileHandle ($file_name, "w");
- binmode $file_handle;
- $string =~ s/\n/\r\n/g;
- print $file_handle $string;
-}
-
-sub GenerateProjects (\%)
-{
- my $self = shift;
- my $data = shift;
-
- foreach my $name (sort keys %{$data->{PROJECTS}}) {
- # Expand the IDL files
-
- PerlSam::Generator::ExpandIDLFiles (%{$data->{PROJECTS}->{$name}});
-
- # Store the data in easier variables
-
- my $description = $data->{PROJECTS}->{$name}->{DESCRIPTION};
- my $target = $data->{PROJECTS}->{$name}->{TARGET};
- my $type = $data->{PROJECTS}->{$name}->{TYPE};
- my $export = "";
- my $include = "";
-
- if (defined $data->{PROJECTS}->{$name}->{LIBINFO}->{EXPORT}) {
- $export = $data->{PROJECTS}->{$name}->{LIBINFO}->{EXPORT};
- }
-
- if (defined $data->{PROJECTS}->{$name}->{LIBINFO}->{INCLUDE}) {
- $include = $data->{PROJECTS}->{$name}->{LIBINFO}->{INCLUDE};
- }
-
- if (!defined $data->{PROJECTS}->{$name}->{LIBS}) {
- @{$data->{PROJECTS}->{$name}->{LIBS}} = [];
- }
-
- if ($type eq "executable")
- {
- my $string = GenerateExeProject (%{$data->{PROJECTS}->{$name}});
-
- my $file_name = $name . ".dsp";
-
- print "Creating Project: $file_name\n";
-
- my $file_handle = new FileHandle ($file_name, "w");
- binmode $file_handle;
- $string =~ s/\n/\r\n/g;
- print $file_handle $string;
- }
- elsif ($type eq "library") {
- my $string;
- my $file_name;
- my $file_handle;
-
- $string = GenerateDLLProject (%{$data->{PROJECTS}->{$name}});
-
- $file_name = $name . ".dsp";
-
- print "Creating Project: $file_name\n";
-
- $file_handle = new FileHandle ($file_name, "w");
- binmode $file_handle;
- $string =~ s/\n/\r\n/g;
- print $file_handle $string;
- $file_handle->close ();
-
- my %newdata = %{$data->{PROJECTS}->{$name}};
-
- %newdata->{DESCRIPTION} .= " Static";
-
- $string = GenerateLIBProject (%newdata);
-
- $file_name = $name . "_static.dsp";
-
- print "Creating Project: $file_name\n";
-
- $file_handle = new FileHandle ($file_name, "w");
- binmode $file_handle;
- $string =~ s/\n/\r\n/g;
- print $file_handle $string;
-
- }
- else {
- print STDERR "Error: Unrecognized type <$type> for $name\n";
- next;
- }
- }
-}
-
-###############################################################################
-# Internal Methods
-
-sub GenerateExeProject (\%)
-{
- my $data = shift;
-
- my @configs = ('Win32 Release', 'Win32 Debug');
- my $type = 'executable';
-
- my $string = ProjectHeader (%{$data}, @configs, 0);
-
- my $libraries = PerlSam::Generator::ExpandLibraries (@{$data->{LIBS}});
-
- my $debug_link_opts;
- my $release_link_opts;
-
- foreach my $lib (split / /, $libraries) {
- $debug_link_opts .= $lib . "d.lib ";
- $release_link_opts .= $lib . ".lib ";
- }
-
- if ($data->{INSTALL} eq 'yes') {
- my $bindir = PerlSam::Generator::ConvertPathToRelative ('/bin');
- $debug_link_opts .= "/out:\"$bindir/$data->{TARGET}.exe\"";
- $release_link_opts .= "/out:\"$bindir/Release/$data->{TARGET}.exe\"";
- }
- else {
- $debug_link_opts .= "/out:\"$data->{TARGET}.exe\"";
- $release_link_opts .= "/out:\"$data->{TARGET}.exe\"";
- }
-
- $debug_link_opts =~ s/\s$//;
- $release_link_opts =~ s/\s$//;
-
- my $cpp_opts = "";
-
- my $dirs = PerlSam::Generator::ExpandIncludeDirs (@{$data->{LIBS}});
- my $include_dirs = PerlSam::Generator::ConvertPathToRelative ($dirs);
- foreach my $dir (split / /, $include_dirs) {
- $cpp_opts .= "/I \"$dir\" ";
- }
-
- $cpp_opts =~ s/ $//;
-
- $string .= "!IF \"\$(CFG)\" == \"$data->{DESCRIPTION} - Win32 Release\"\n\n";
- $string .= ConfigSection ({TYPE => $type,
- OUTPUTDIR => %tempdirs->{'Win32 Release'} . "\\$data->{NAME}",
- INTERDIR => %tempdirs->{'Win32 Release'} . "\\$data->{NAME}",
- ADDCPPOPTS => $cpp_opts,
- ADDLINKOPTS => $release_link_opts});
- $string .= "!ELSEIF \"\$(CFG)\" == \"$data->{DESCRIPTION} - Win32 Debug\"\n\n";
- $string .= ConfigSection ({TYPE => $type,
- OUTPUTDIR => '',
- INTERDIR => %tempdirs->{'Win32 Debug'} . "\\$data->{NAME}",
- DEBUG => 1,
- ADDCPPOPTS => $cpp_opts,
- ADDLINKOPTS => $debug_link_opts});
- $string .= "!ENDIF\n\n";
-
- $string .= "# Begin Target\n\n";
-
- foreach my $config (@configs) {
- $string .= "# Name \"$data->{DESCRIPTION} - $config\"\n";
- }
-
- $string .= ProjectAllGroups ($data->{DESCRIPTION}, %{$data->{SOURCES}}, @configs);
- $string .= ProjectFooter ();
-
- return $string;
-}
-
-sub GenerateDLLProject (\%)
-{
- my $data = shift;
-
- my @configs = ('Win32 MFC Release', 'Win32 MFC Debug', 'Win32 Release', 'Win32 Debug');
- my $type = 'library';
-
- my $export = "";
- my $include = "";
-
- if (defined $data->{LIBINFO}->{EXPORT}) {
- $export = $data->{LIBINFO}->{EXPORT};
- }
-
- if (defined $data->{LIBINFO}->{INCLUDE}) {
- $include = $data->{LIBINFO}->{INCLUDE};
- }
-
- my $string = ProjectHeader (%{$data}, @configs, 0);
-
- my $libraries = PerlSam::Generator::ExpandLibraries (@{$data->{LIBS}});
-
- my $mfc_debug_link_opts;
- my $mfc_release_link_opts;
- my $debug_link_opts;
- my $release_link_opts;
-
- foreach my $lib (split / /, $libraries) {
- $mfc_debug_link_opts .= $lib . "mfcd.lib ";
- $mfc_release_link_opts .= $lib . "mfc.lib ";
- $debug_link_opts .= $lib . "d.lib ";
- $release_link_opts .= $lib . ".lib ";
- }
-
- my $bindir = PerlSam::Generator::ConvertPathToRelative ("/bin") . "/";
-
- $mfc_debug_link_opts .= "/out:\"$bindir$data->{TARGET}" . "mfcd.dll\" ";
- $mfc_release_link_opts .= "/out:\"$bindir$data->{TARGET}" . "mfc.dll\" ";
- $debug_link_opts .= "/out:\"$bindir$data->{TARGET}" . "d.dll\" ";
- $release_link_opts .= "/out:\"$bindir$data->{TARGET}.dll\" ";
-
- $mfc_debug_link_opts =~ s/\s$//;
- $mfc_release_link_opts =~ s/\s$//;
- $debug_link_opts =~ s/\s$//;
- $release_link_opts =~ s/\s$//;
-
- my $cpp_opts = "";
-
- foreach my $ex (split / /, $export) {
- $cpp_opts .= "/D \"" . $ex . "_BUILD_DLL\" ";
- }
-
- my $include_dirs = PerlSam::Generator::ExpandIncludeDirs (@{$data->{LIBS}});
- $include_dirs = PerlSam::Generator::ConvertPathToRelative ($include_dirs);
- foreach my $dir (split / /, $include_dirs) {
- $cpp_opts .= "/I \"$dir\" ";
- }
-
- if ($cpp_opts !~ m/\/I "$include"/) {
- $cpp_opts .= "/I \"$include\" ";
- }
-
- $cpp_opts =~ s/ $//;
-
- $string .= "!IF \"\$(CFG)\" == \"$data->{DESCRIPTION} - Win32 MFC Release\"\n\n";
- $string .= ConfigSection ({TYPE => $type,
- OUTPUTDIR => '',
- INTERDIR => %tempdirs->{'Win32 MFC Release'} . "\\$data->{NAME}",
- ADDCPPOPTS => $cpp_opts . " /D ACE_HAS_MFC=1",
- ADDLINKOPTS => $mfc_release_link_opts});
- $string .= "!ELSEIF \"\$(CFG)\" == \"$data->{DESCRIPTION} - Win32 MFC Debug\"\n\n";
- $string .= ConfigSection ({TYPE => $type,
- OUTPUTDIR => '',
- INTERDIR => %tempdirs->{'Win32 MFC Debug'} . "\\$data->{NAME}",
- DEBUG => 1,
- ADDCPPOPTS => $cpp_opts . " /D ACE_HAS_MFC=1",
- ADDLINKOPTS => $mfc_debug_link_opts});
- $string .= "!ELSEIF \"\$(CFG)\" == \"$data->{DESCRIPTION} - Win32 Release\"\n\n";
- $string .= ConfigSection ({TYPE => $type,
- OUTPUTDIR => '',
- INTERDIR => %tempdirs->{'Win32 Release'} . "\\$data->{NAME}",
- ADDCPPOPTS => $cpp_opts,
- ADDLINKOPTS => $release_link_opts});
- $string .= "!ELSEIF \"\$(CFG)\" == \"$data->{DESCRIPTION} - Win32 Debug\"\n\n";
- $string .= ConfigSection ({TYPE => $type,
- OUTPUTDIR => '',
- INTERDIR => %tempdirs->{'Win32 Debug'} . "\\$data->{NAME}",
- DEBUG => 1,
- ADDCPPOPTS => $cpp_opts,
- ADDLINKOPTS => $debug_link_opts});
- $string .= "!ENDIF\n\n";
-
- $string .= "# Begin Target\n\n";
-
- foreach my $config (@configs) {
- $string .= "# Name \"$data->{DESCRIPTION} - $config\"\n";
- }
-
- $string .= ProjectAllGroups ($data->{DESCRIPTION},
- %{$data->{SOURCES}},
- @configs);
- $string .= ProjectFooter ();
-
- return $string;
-}
-
-sub GenerateLIBProject (\%)
-{
- my $data = shift;
-
- my @configs = ('Win32 Static Release', 'Win32 Static Debug');
- my $type = 'static library';
- my $include = "";
- my $namespace = "";
-
- if (defined $data->{LIBINFO}->{INCLUDE}) {
- $include = $data->{LIBINFO}->{INCLUDE};
- }
-
- if (defined $data->{LIBINFO}->{NAMESPACE}) {
- $namespace = $data->{LIBINFO}->{NAMESPACE};
- }
-
- my $string = ProjectHeader (%{$data}, @configs, 1);
-
- my $debug_link_opts;
- my $release_link_opts;
-
- $debug_link_opts .= "/out:\"$data->{TARGET}sd.lib\" ";
- $release_link_opts .= "/out:\"$data->{TARGET}s.lib\" ";
-
- my $cpp_opts = "";
-
- my $include_dirs = PerlSam::Generator::ExpandIncludeDirs (@{$data->{LIBS}});
- $include_dirs = PerlSam::Generator::ConvertPathToRelative ($include_dirs);
-
- foreach my $dir (split / /, $include_dirs) {
- $cpp_opts .= "/I \"$dir\" ";
- }
-
- if ($cpp_opts !~ m/\/I "$include"/) {
- $cpp_opts .= "/I \"$include\" ";
- }
-
- if ($#{$data->{LIBS}} > 0 || $namespace eq "ACE") {
- $cpp_opts .= "/D \"ACE_AS_STATIC_LIBS\" ";
- }
-
- if ($#{$data->{LIBS}} > 0 || $namespace eq "TAO") {
- $cpp_opts .= "/D \"TAO_AS_STATIC_LIBS\" ";
- }
-
- my $export = '';
- if (defined $data->{LIBINFO}->{EXPORT}) {
- $export = $data->{LIBINFO}->{EXPORT};
- }
- foreach my $ex (split / /, $export) {
- $cpp_opts .= "/D \"" . $ex . "_HAS_DLL=0\" ";
- }
-
- $cpp_opts =~ s/ $//;
-
- $string .= "!IF \"\$(CFG)\" == \"$data->{DESCRIPTION} - Win32 Static Release\"\n\n";
- $string .= ConfigSection ({TYPE => $type,
- OUTPUTDIR => '',
- INTERDIR => %tempdirs->{'Win32 Release'} . "\\$data->{NAME}",
- ADDCPPOPTS => $cpp_opts,
- ADDLINKOPTS => $release_link_opts});
- $string .= "!ELSEIF \"\$(CFG)\" == \"$data->{DESCRIPTION} - Win32 Static Debug\"\n\n";
- $string .= ConfigSection ({TYPE => $type,
- OUTPUTDIR => '',
- INTERDIR => %tempdirs->{'Win32 Debug'} . "\\$data->{NAME}",
- DEBUG => 1,
- ADDCPPOPTS => $cpp_opts,
- ADDLINKOPTS => $debug_link_opts});
- $string .= "!ENDIF\n\n";
-
- $string .= "# Begin Target\n\n";
-
- foreach my $config (@configs) {
- $string .= "# Name \"$data->{DESCRIPTION} - $config\"\n";
- }
-
- $string .= ProjectAllGroups ($data->{DESCRIPTION},
- %{$data->{SOURCES}},
- @configs);
- $string .= ProjectFooter ();
-
- return $string;
-}
-
-sub WorkspaceProject ($$\@)
-{
- my $name = shift;
- my $file = shift;
- my $depends = shift;
- my $string;
-
- $string .= "###############################################################################\n\n";
- $string .= "Project: \"$name\"=.\\$file - Package Owner=<4>\n\n";
- $string .= "Package=<5>\n";
- $string .= "{{{\n";
- $string .= "}}}\n\n";
- $string .= "Package=<4>\n";
- $string .= "{{{\n";
-
- foreach my $dep (@{$depends}) {
- $string .= " Begin Project Dependency\n";
- $string .= " Project_Dep_Name $dep\n";
- $string .= " End Project Dependency\n";
- }
-
- $string .= "}}}\n\n";
-
- return $string;
-}
-
-sub ProjectHeader (\%\@$)
-{
- my $data = shift;
- my $configs = shift;
- my $static = shift;
-
- my $default_config = (reverse @{$configs})[0];
-
- my $string = "";
-
- # Standard header. Do not edit? heh heh
-
- $string .= "# Microsoft Developer Studio Project File - Name=\"$data->{DESCRIPTION}\" - Package Owner=<4>\n";
- $string .= "# Microsoft Developer Studio Generated Build File, Format Version 6.00\n";
- $string .= "# ** DO NOT EDIT **\n";
- $string .= "\n";
-
- # Pick a target
-
- $string .= "# TARGTYPE \"Win32 (x86) Dynamic-Link Library\" 0x0102\n" if ($data->{TYPE} eq "library" && !$static);
- $string .= "# TARGTYPE \"Win32 (x86) Console Application\" 0x0103\n" if ($data->{TYPE} eq "executable");
- $string .= "# TARGTYPE \"Win32 (x86) Static Library\" 0x0104\n" if ($data->{TYPE} eq "library" && $static);
- $string .= "\n";
-
- # Next block of dsp goodness
-
- $string .= <<EOPH1;
-CFG=$data->{DESCRIPTION} - $default_config
-!MESSAGE This is not a valid makefile. To build this project using NMAKE,
-!MESSAGE use the Export Makefile command and run
-!MESSAGE
-!MESSAGE NMAKE /f "$data->{NAME}.mak".
-!MESSAGE
-!MESSAGE You can specify a configuration when running NMAKE
-!MESSAGE by defining the macro CFG on the command line. For example:
-!MESSAGE
-!MESSAGE NMAKE /f "$data->{NAME}.mak" CFG="$data->{DESCRIPTION} - $default_config"
-!MESSAGE
-!MESSAGE Possible choices for configuration are:
-!MESSAGE
-EOPH1
-
- # Now we need to output the list of configs possible
-
- my $target = "Unknown";
- $target = "Win32 (x86) Dynamic-Link Library" if ($data->{TYPE} eq "library" && !$static);
- $target = "Win32 (x86) Console Application" if ($data->{TYPE} eq "executable");
- $target = "Win32 (x86) Static Library" if ($data->{TYPE} eq "library" && $static);
-
- foreach my $config (@{$configs}) {
- $string .= "!MESSAGE \"$data->{DESCRIPTION} - $config\" (based on \"$target\")\n";
- }
-
- # More goodness
-
- $string .= <<EOPH2;
-!MESSAGE
-
-# Begin Project
-# PROP AllowPerConfigDependencies 0
-# PROP Scc_ProjName ""
-# PROP Scc_LocalPath ""
-CPP=cl.exe
-MTL=midl.exe
-RSC=rc.exe
-
-EOPH2
- return $string;
-}
-
-sub ProjectAllGroups ($\%\@)
-{
- my $description = shift;
- my $sources = shift;
- my $configs = shift;
-
- my $string;
-
- $string .= ProjectGroup ($description,
- "Source Files",
- "cpp;c;cxx;rc;def;r;odl;hpj;bat;for;f90",
- %{$sources},
- @{$configs});
- $string .= ProjectGroup ($description,
- "Header Files",
- "h;hpp;hxx;hm;fi;fd",
- %{$sources},
- @{$configs});
- $string .= ProjectGroup ($description,
- "IDL Files",
- "idl;pidl",
- %{$sources},
- @{$configs});
- $string .= ProjectGroup ($description,
- "Inline Files",
- "inl;i",
- %{$sources},
- @{$configs});
- $string .= ProjectGroup ($description,
- "Resource Files",
- "ico;cur;bmp;dlg;rc2;rct;bin;cnt;rtf;gif;jpg;jpeg;jpe",
- %{$sources},
- @{$configs});
- return $string;
-}
-
-sub ProjectGroup ($$$\%\@)
-{
- my $description = shift;
- my $name = shift;
- my $filter = shift;
- my $data = shift;
- my $configs = shift;
- my $string;
-
- $string .= "# Begin Group \"$name\"\n";
- $string .= "\n";
- $string .= "# PROP Default_Filter \"$filter\"\n";
-
- foreach my $source (sort keys %{$data}) {
- my $ext = "";
- if ($source =~ m/\.([^\.]*)$/) {
- $ext = $1;
- }
-
- if ($filter =~ m/^$ext;/ ||
- $filter =~ m/;$ext;/ ||
- $filter =~ m/;$ext$/ ||
- $filter =~ m/^$ext$/)
- {
- $string .= ProjectSource ($description, $source, %{$data->{$source}}, @{$configs});
- }
- }
- $string .= "# End Group\n";
- return $string;
-}
-
-sub ProjectSource ($$\%\@)
-{
- my $description = shift;
- my $file = shift;
- my $data = shift;
- my $configs = shift;
- my $string;
-
- $file =~ s/\//\\/g;
-
- if ($file !~ m/\\/) {
- $file = ".\\" . $file;
- }
-
- $string .= "# Begin Source File\n\nSOURCE=$file\n";
-
- if (defined $data->{TYPE} && lc ($data->{TYPE}) eq 'template') {
- $string .= "# PROP Exclude_From_Build 1\n";
- }
-
- if ($file =~ m/(.*)\.idl$/) {
- my $idl = $file;
- my $idlroot = $1;
- my $taoidl_opts;
-
- if ($idlroot =~ m/([^\\]*)$/) {
- $idlroot = $1;
- }
-
- if (defined $data->{OPTS}) {
- $taoidl_opts = $data->{OPTS};
- }
- else {
- $taoidl_opts = "-Ge 1";
- }
-
-
- my $first = 1;
- foreach my $config (@{$configs}) {
- my $taoidl_path = PerlSam::Generator::ConvertPathToRelative('/bin/' . %tempdirs->{$config} . '/tao_idl.exe');
-
- # Special case for Win32 Debug
- if ($config eq "Win32 Debug") {
- $taoidl_path = PerlSam::Generator::ConvertPathToRelative('/bin/tao_idl.exe');
- }
-
- $taoidl_path =~ s/\//\\/g;
-
- if ($first) {
- $first = 0;
- $string .= "!IF \"\$(CFG)\" == \"$description - $config\"\n\n"
- }
- else {
- $string .= "!ELSEIF \"\$(CFG)\" == \"$description - $config\"\n\n"
- }
- $string .= <<EOPS
-USERDEP__IDL_="$taoidl_path"
-
-# Begin Custom Build - Invoking TAO's IDL Compiler on \$(InputPath)
-InputPath=$idl
-InputName=$idlroot
-
-BuildCmds= \\
- $taoidl_path $taoidl_opts \$(InputName).idl
-
-"\$(InputName)C.h" : \$(SOURCE) "\$(INTDIR)" "\$(OUTDIR)"
- \$(BuildCmds)
-
-"\$(InputName)C.i" : \$(SOURCE) "\$(INTDIR)" "\$(OUTDIR)"
- \$(BuildCmds)
-
-"\$(InputName)C.cpp" : \$(SOURCE) "\$(INTDIR)" "\$(OUTDIR)"
- \$(BuildCmds)
-
-"\$(InputName)S.h" : \$(SOURCE) "\$(INTDIR)" "\$(OUTDIR)"
- \$(BuildCmds)
-
-"\$(InputName)S.i" : \$(SOURCE) "\$(INTDIR)" "\$(OUTDIR)"
- \$(BuildCmds)
-
-"\$(InputName)S.cpp" : \$(SOURCE) "\$(INTDIR)" "\$(OUTDIR)"
- \$(BuildCmds)
-
-"\$(InputName)S_T.h" : \$(SOURCE) "\$(INTDIR)" "\$(OUTDIR)"
- \$(BuildCmds)
-
-"\$(InputName)S_T.i" : \$(SOURCE) "\$(INTDIR)" "\$(OUTDIR)"
- \$(BuildCmds)
-
-"\$(InputName)S_T.cpp" : \$(SOURCE) "\$(INTDIR)" "\$(OUTDIR)"
- \$(BuildCmds)
-# End Custom Build
-
-EOPS
- }
-
- $string .= "!ENDIF\n";
- }
-
- $string .= "# End Source File\n";
-
- return $string;
-}
-
-sub ProjectFooter ()
-{
- return <<EOPF;
-# End Target
-# End Project
-EOPF
-}
-
-sub ConfigSection (%)
-{
- my $data = shift;
-
- my $type = $data->{TYPE};
- $type = "" if (!defined $type);
-
- my $output_dir = "Output";
- my $inter_dir = "Output";
- my $target_dir = "";
- my $base_cpp_opts = "/nologo /W3 /GX /D \"WIN32\" /D \"_WINDOWS\" /D \"_CONSOLE\" /D \"_MBCS\" /FD /c";
- my $base_link_opts = "kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386";
- my $use_debug_libs = 0;
- my $debug_macro = "NDEBUG";
- my $other_cpp_opts = "/D \"NDEBUG\" /O2 /MD ";
- my $link_opts = "/nologo /subsystem:console /machine:I386 ";
-
- if ($type eq "library") {
- $base_link_opts = "kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /machine:I386";
- $link_opts = "/nologo /dll /machine:I386 ";
- }
-
- if (defined $data->{DEBUG} && $data->{DEBUG} == 1) {
- $use_debug_libs = 1;
- $debug_macro = "_DEBUG";
- $other_cpp_opts = "/D \"_DEBUG\" /Od /MDd ";
- $base_cpp_opts .= " /Gm /Zi";
- $base_link_opts .= " /debug /pdbtype:sept";
- $link_opts .= "/debug /pdbtype:sept ";
- }
-
- if ($type eq "static library") {
- $base_link_opts = "/nologo ";
- $link_opts = "/nologo ";
-
- if (defined $data->{DEBUG} && $data->{DEBUG} == 1) {
- $other_cpp_opts = "/D \"_DEBUG\" /Od /Gy /MDd ";
- }
- else {
- $other_cpp_opts = "/D \"NDEBUG\" /O1 /MD ";
- }
- }
-
- # Override defaults
-
- $output_dir = $data->{OUTPUTDIR} if (defined $data->{OUTPUTDIR});
- $inter_dir = $data->{INTERDIR} if (defined $data->{INTERDIR});
- $target_dir = $data->{TARGETDIR} if (defined $data->{TARGETDIR});
- $other_cpp_opts = $data->{CPPOPTS} if (defined $data->{CPPOPTS});
- $link_opts = $data->{LINKOPTS} if (defined $data->{LINKOPTS});
-
- $other_cpp_opts .= $data->{ADDCPPOPTS} if (defined $data->{ADDCPPOPTS});
- $link_opts .= $data->{ADDLINKOPTS} if (defined $data->{ADDLINKOPTS});
-
- my $string = <<EOCS1;
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries $use_debug_libs
-# PROP BASE Output_Dir "$output_dir"
-# PROP BASE Intermediate_Dir "$inter_dir"
-# PROP BASE Target_Dir "$target_dir"
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries $use_debug_libs
-# PROP Output_Dir "$output_dir"
-# PROP Intermediate_Dir "$inter_dir"
-EOCS1
-
- $string .= "# PROP Ignore_Export_Lib 0\n" if ($type ne "static library");
-
- $string .= <<EOCS2;
-# PROP Target_Dir "$target_dir"
-# ADD BASE CPP $base_cpp_opts
-# ADD CPP $base_cpp_opts $other_cpp_opts
-EOCS2
-
- if ($type ne "static library") {
- $string .= "# ADD BASE MTL /nologo /D \"$debug_macro\" /mktyplib203 /win32\n";
- $string .= "# ADD MTL /nologo /D \"$debug_macro\" /mktyplib203 /win32\n";
- }
-
- $string .= <<EOCS3;
-# ADD BASE RSC /l 0x409 /d "$debug_macro"
-# ADD RSC /l 0x409 /d "$debug_macro"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-EOCS3
-
- if ($type eq "static library") {
- $string .= "LIB32=link.exe -lib\n";
- $string .= "# ADD BASE LIB32 $base_link_opts\n";
- $string .= "# ADD LIB32 $link_opts\n";
- }
- else {
- $string .= "LINK32=link.exe\n";
- $string .= "# ADD BASE LINK32 $base_link_opts\n";
- $string .= "# ADD LINK32 $link_opts \n";
- }
-
- $string .= "\n";
-
- return $string;
-}
-
-1;
diff --git a/samwise/PerlSam/Generator/View.pm b/samwise/PerlSam/Generator/View.pm
deleted file mode 100644
index 8f7361d771c..00000000000
--- a/samwise/PerlSam/Generator/View.pm
+++ /dev/null
@@ -1,42 +0,0 @@
-# $Id$
-
-package PerlSam::Generator::View;
-
-use Data::Dumper;
-use strict;
-
-###############################################################################
-# Constructor
-
-sub new (@)
-{
- my $proto = shift;
- my $class = ref ($proto) || $proto;
- my $self = {};
-
- bless ($self, $class);
- return $self;
-}
-
-###############################################################################
-# Methods
-
-sub GenerateWorkspace (\%)
-{
- my $self = shift;
- my $data = shift;
-
- print "-----Workspace\n";
- print Dumper ($data->{WORKSPACE});
-}
-
-sub GenerateProjects (\%)
-{
- my $self = shift;
- my $data = shift;
-
- print "-----Projects\n";
- print Dumper ($data->{PROJECTS});
-}
-
-1; \ No newline at end of file
diff --git a/samwise/PerlSam/Generator/VisualAge.pm b/samwise/PerlSam/Generator/VisualAge.pm
deleted file mode 100644
index ccf38e07e8a..00000000000
--- a/samwise/PerlSam/Generator/VisualAge.pm
+++ /dev/null
@@ -1,118 +0,0 @@
-# $Id$
-
-package PerlSam::Generator::VisualAge;
-
-use Cwd;
-use Data::Dumper;
-use File::Basename;
-use FileHandle;
-use strict;
-
-###############################################################################
-# Forward Declarations
-
-
-###############################################################################
-# Constructor
-
-sub new (@)
-{
- my $proto = shift;
- my $class = ref ($proto) || $proto;
- my $self = {};
-
- bless ($self, $class);
- return $self;
-}
-
-###############################################################################
-# Methods
-
-sub GenerateWorkspace (\%)
-{
- my $self = shift;
- my $data = shift;
-
- my $string;
-
- $string .= "//\n";
- $string .= "//\n";
- $string .= "// \$Id\$\n";
- $string .= "//\n";
- $string .= "// Visual Age C++ 5 super-project generated by the Samwise Compiler\n";
- $string .= "//\n";
- $string .= "//\n";
- $string .= "\n";
-
- foreach my $project (PerlSam::Generator::ProjectOrder (%{$data})) {
- $string .= "subproject $project, icc \"".$project.".icc\", ics \"".$project.".ics\"\n";
- $string .= "{\n";
- $string .= "}\n";
- $string .= "\n";
- }
-
- $string .= "build all\n";
- $string .= "{\n";
- foreach my $project (PerlSam::Generator::ProjectOrder (%{$data})) {
- $string .= "use $project\n";
- }
- $string .= "}\n";
-
- my $file_name;
-
- if (defined $data->{WORKSPACE}->{NAME}) {
- $file_name = $data->{WORKSPACE}->{NAME};
- }
- else {
- $file_name = getcwd ();
-
- if ($file_name =~ m/\/([^\/]*)$/) {
- $file_name = $1;
- }
- }
-
- $file_name = $file_name . ".icp";
-
- print "Creating Workspace: $file_name\n";
-
- my $file_handle = new FileHandle ($file_name, "w");
- binmode $file_handle;
- $string =~ s/\n/\r\n/g;
- print $file_handle $string;
-}
-
-sub GenerateProjects (\%)
-{
- my $self = shift;
- my $data = shift;
-
- foreach my $project (sort keys %{$data->{PROJECTS}}) {
- my $string;
- my $description = $data->{PROJECTS}->{$project}->{DESCRIPTION};
- my $target = $data->{PROJECTS}->{$project}->{TARGET};
- my $type = $data->{PROJECTS}->{$project}->{TYPE};
-
- my $file_name = $project . ".icc";
-
- my $string;
- $string .= "//\n";
- $string .= "// Visual Age C++ 5 Project file generated by the Samwise Compiler\n";
- $string .= "//\n";
-
- my $ace_root = PerlSam::Generator::ConvertPathToRelative ("/");
-
- $string .= "include \"".$ace_root."samwise/makeinclude/vacpp_setup.icc\"\n";
- $string .= "option\n";
- $string .= " link(libSearchPath,),\n";
-
- print "Creating Project: $file_name\n";
-
- # my $file_handle = new FileHandle ($file_name, "w");
- # print $file_handle $string;
- }
-}
-
-###############################################################################
-# Internal Methods
-
-1;
diff --git a/samwise/PerlSam/Parser.pm b/samwise/PerlSam/Parser.pm
deleted file mode 100644
index 08ce79a1f91..00000000000
--- a/samwise/PerlSam/Parser.pm
+++ /dev/null
@@ -1,57 +0,0 @@
-# $Id$
-
-package PerlSam::Parser;
-
-use PerlSam::Parser::Simple;
-use strict;
-
-###############################################################################
-# Global methods
-
-# Return the default parser
-sub GetDefault ()
-{
- return 'simple';
-}
-
-###############################################################################
-# Constructor
-
-sub new ($)
-{
- my $proto = shift;
- my $class = ref ($proto) || $proto;
- my $self = {};
-
- my $name = shift;
-
- if ($name eq 'simple') {
- $self->{PARSER} = new PerlSam::Parser::Simple;
- }
- else {
- print STDERR "Error: Unrecognized Parser <$name>\n";
- exit 1;
- }
-
- bless ($self, $class);
- return $self;
-}
-
-###############################################################################
-# Methods
-
-sub Parse ($\%)
-{
- my $self = shift;
-
- return $self->{PARSER}->Parse (@_);
-}
-
-sub ParseLibraryFile ($\%)
-{
- my $self = shift;
-
- return $self->{PARSER}->ParseLibraryFile (@_);
-}
-
-1; \ No newline at end of file
diff --git a/samwise/PerlSam/Parser/Simple.pm b/samwise/PerlSam/Parser/Simple.pm
deleted file mode 100644
index dc96672d69f..00000000000
--- a/samwise/PerlSam/Parser/Simple.pm
+++ /dev/null
@@ -1,331 +0,0 @@
-# $Id$
-
-package PerlSam::Parser::Simple;
-
-use strict;
-use FileHandle;
-
-my $good_versions = ":0.1:";
-
-###############################################################################
-# Constructor
-
-sub new
-{
- my $proto = shift;
- my $class = ref ($proto) || $proto;
- my $self = {};
-
- bless ($self, $class);
- return $self;
-}
-
-###############################################################################
-# Methods
-
-sub Parse ($\%)
-{
- my $self = shift;
- my $file = shift;
- my $data = shift;
-
- my $file_handle = new FileHandle ($file, 'r');
-
- if (!defined $file_handle) {
- print STDERR "Error: Could not open file <$file>: $!\n";
- return 0;
- }
-
- my $state = 'none';
- my $current_project;
- my $current_type;
- my $current_file;
-
- while (<$file_handle>) {
- chomp;
-
- # Ignore comments and blank lines
- s/<!--(.*?)-->//g;
- next if (m/^\s*$/);
-
- if ($state eq 'none') {
- if (m/^\s*<sam version="([^\"]*)">\s*$/i) {
- if ($good_versions !~ m/:\Q$1\E:/) {
- print STDERR "Error: Unsupported Samwise Format $1 (Supported: $good_versions)\n";
- return 0;
- }
- $state = 'sam';
- }
- elsif (m/^\s*<\?.*\?>\s*/i) {
- # ignore
- }
- else {
- print STDERR "Error: Unexpected in state <$state>: $_\n";
- return 0;
- }
- }
- elsif ($state eq 'sam') {
- if (m/^\s*<\/sam>\s*$/i) {
- $state = 'none';
- }
- elsif (m/^\s*<workspace>\s*$/i) {
- $state = 'workspace';
- }
- elsif (m/^\s*<project>\s*$/i) {
- $state = 'project';
- }
- else {
- print STDERR "Error: Unexpected in state <$state>: $_\n";
- return 0;
- }
- }
- elsif ($state eq 'workspace') {
- if (m/^\s*<\/workspace>\s*$/i) {
- $state = 'sam';
- }
- elsif (m/^\s*<name>(.*)<\/name>\s*$/i) {
- $data->{WORKSPACE}->{NAME} = $1;
- }
- elsif (m/^\s*<projectlink dir="([^\"]*)">(.*)<\/projectlink>\s*$/i) {
- $data->{WORKSPACE}->{PROJECTLINKS}->{DETAILS}->{$2}->{DIR} = $1;
- push @{$data->{WORKSPACE}->{PROJECTLINKS}->{LIST}}, $2;
- }
- elsif (m/^\s*<projectlink>(.*)<\/projectlink>\s*$/i) {
- push @{$data->{WORKSPACE}->{PROJECTLINKS}->{LIST}}, $1;
- }
- elsif (m/^\s*<subdir>(.*)<\/subdir>\s*$/i) {
- push @{$data->{WORKSPACE}->{SUBDIRS}}, $1;
- }
- else {
- print STDERR "Error: Unexpected in state <$state>: $_\n";
- return 0;
- }
- }
- elsif ($state eq 'project') {
- if (m/^\s*<\/project>\s*$/i) {
- $state = 'sam';
- $current_project = undef;
- next;
- }
- elsif (m/^\s*<name>(.*)<\/name>\s*$/i) {
- $current_project = $1;
- $data->{PROJECTS}->{$1}->{NAME} = $1;
- next;
- }
-
- if (!defined $current_project) {
- print STDERR "Error: Expecting name element <$state>: $_\n";
- return 0;
- }
- elsif (m/^\s*<description>(.*)<\/description>\s*$/i) {
- $data->{PROJECTS}->{$current_project}->{DESCRIPTION} = $1;
- }
- elsif (m/^\s*<target type="([^>"\s]*)">(.*)<\/target>\s*$/i) {
- if ($1 ne 'library' && $1 ne 'executable') {
- print STDERR "Error: Unknown target type <$1>: $_\n";
- return 0;
- }
-
- $data->{PROJECTS}->{$current_project}->{TYPE} = $1;
- $data->{PROJECTS}->{$current_project}->{INSTALL} = 'no';
- $data->{PROJECTS}->{$current_project}->{TARGET} = $2;
- }
- elsif (m/^\s*<target type="([^>"\s]*)" install="([^>"\s]*)">(.*)<\/target>\s*$/i) {
- if ($1 ne 'library' && $1 ne 'executable') {
- print STDERR "Error: Unknown target type <$1>: $_\n";
- return 0;
- }
- if ($2 ne 'yes' && $2 ne 'no') {
- print STDERR "Error: Invalid install option <$2> (use 'yes' or 'no'): $_\n";
- return 0;
- }
- $data->{PROJECTS}->{$current_project}->{TYPE} = $1;
- $data->{PROJECTS}->{$current_project}->{INSTALL} = $2;
- $data->{PROJECTS}->{$current_project}->{TARGET} = $3;
- }
- elsif (m/^\s*<libinfo>\s*$/i) {
- $state = 'libinfo'
- }
- elsif (m/^\s*<libinfo export="([^"]*)" \/>\s*$/) {
- $data->{PROJECTS}->{$current_project}->{LIBINFO}->{EXPORT} = $1;
- }
- elsif (m/^\s*<sources>\s*$/i) {
- $state = 'sources';
- }
- elsif (m/^\s*<libs>\s*$/i) {
- $state = 'libs';
- }
- else {
- print STDERR "Error: Unexpected in state <$state>: $_\n";
- return 0;
- }
- }
- elsif ($state eq 'libinfo') {
- if (m/^\s*<\/libinfo>\s*$/i) {
- $state = 'project';
- }
- elsif (m/^\s*<namespace>(.*)<\/namespace>\s*$/i) {
- $data->{PROJECTS}->{$current_project}->{LIBINFO}->{NAMESPACE} = $1;
- }
- elsif (m/^\s*<name>(.*)<\/name>\s*$/i) {
- $data->{PROJECTS}->{$current_project}->{LIBINFO}->{NAME} = $1;
- }
- elsif (m/^\s*<include>(.*)<\/include>\s*$/i) {
- $data->{PROJECTS}->{$current_project}->{LIBINFO}->{INCLUDE} = $1;
- }
- elsif (m/^\s*<base>(.*)<\/base>\s*$/i) {
- $data->{PROJECTS}->{$current_project}->{LIBINFO}->{BASE} = $1;
- }
- elsif (m/^\s*<export>(.*)<\/export>\s*$/i) {
- $data->{PROJECTS}->{$current_project}->{LIBINFO}->{EXPORT} = $1;
- }
- else {
- print STDERR "Error: Unexpected in state <$state>: $_\n";
- return 0;
- }
- }
- elsif ($state eq 'sources') {
- if (m/^\s*<\/sources>\s*$/i) {
- $state = 'project';
- }
- elsif (m/^\s*<source>\s*$/i) {
- $state = 'source';
- }
- elsif (m/^\s*<source type="([^">]*)">\s*$/i) {
- $state = 'source';
- $current_type = $1;
-
- if ($1 ne 'template'
- && $1 ne 'clientidl'
- && $1 ne 'idl')
- {
- print STDERR "Error: Unknown source type <$1>: $_\n";
- return 0;
- }
- }
- else {
- print STDERR "Error: Unexpected in state <$state>: $_\n";
- return 0;
- }
- }
- elsif ($state eq 'source') {
- if (m/^\s*<\/source>\s*$/i) {
- $current_file = undef;
- $current_type = undef;
- $state = 'sources';
- next;
- }
- elsif (m/^\s*<file>(.*)<\/file>\s*$/i) {
- $data->{PROJECTS}->{$current_project}->{SOURCES}->{$1} = ();
- if (defined $current_type) {
- $data->{PROJECTS}->{$current_project}->{SOURCES}->{$1}->{TYPE} = $current_type;
- }
- $current_file = $1;
- next;
- }
-
- if (!defined $current_file) {
- print STDERR "Error: Expecting file element <$state>: $_\n";
- return 0;
- }
- elsif (m/^\s*<type>(.*)<\/type>\s*$/i) {
- $data->{PROJECTS}->{$current_project}->{SOURCES}->{$current_file}->{TYPE} = $1;
- }
- elsif (m/^\s*<options>(.*)<\/options>\s*$/i) {
- $data->{PROJECTS}->{$current_project}->{SOURCES}->{$current_file}->{OPTS} = $1;
- }
- else {
- print STDERR "Error: Unexpected in state <$state>: $_\n";
- return 0;
- }
- }
- elsif ($state eq 'libs') {
- if (m/^\s*<\/libs>\s*$/i) {
- $state = 'project';
- }
- elsif (m/^\s*<lib namespace="([^"]*)">(.*)<\/lib>\s*$/i) {
- push @{$data->{PROJECTS}->{$current_project}->{LIBS}}, $1 . '::' . $2;
- }
- elsif (m/^\s*<lib>(.*)<\/lib>\s*$/i) {
- push @{$data->{PROJECTS}->{$current_project}->{LIBS}}, '::' . $1;
- }
- else {
- print STDERR "Error: Unexpected in state <$state>: $_\n";
- return 0;
- }
- }
- else {
- print STDERR "Error: Parser reached unknown state <$state>\n";
- return 0;
- }
- }
-
- return 1;
-}
-
-sub ParseLibraryFile ($\%)
-{
- my $self = shift;
- my $file = shift;
- my $data = shift;
-
- my $file_handle = new FileHandle ($file, 'r');
-
- if (!defined $file_handle) {
- print STDERR "Error: Could not open file <$file>: $!\n";
- return 0;
- }
-
- my $state = 'none';
- my $namespace;
-
- while (<$file_handle>) {
- chomp;
- if ($state eq 'none') {
- if (m/^\s*<libs>\s*$/i) {
- $state = 'libs';
- }
- }
- elsif ($state eq 'libs') {
- if (m/^\s*<\/libs>\s*$/i) {
- $state = 'none';
- }
- elsif (m/^\s*<order>(.*)<\/order>\s*$/i) {
- @{$data->{ORDER}} = split / /, $1;
- }
- elsif (m/^\s*<namespace name="([^"]*)">\s*$/i) {
- $state = 'namespace';
- $namespace = "$1";
- }
- else {
- print STDERR "Error: Unexpected in state <$state>: $_\n";
- return 0;
- }
- }
- elsif ($state eq 'namespace') {
- if (m/^\s*<\/namespace>\s*$/i) {
- $state = 'libs';
- $namespace = undef;
- }
- elsif (m/^\s*<lib name="([^"]*)" include="([^"]*)" link="([^"]*)" base="([^"]*)" \/>\s*$/i) {
- push @{$data->{$namespace}->{LIST}}, $1;
- $data->{$namespace}->{DETAILS}->{$1}->{INCLUDE} = $2;
- $data->{$namespace}->{DETAILS}->{$1}->{LINK} = $3;
- $data->{$namespace}->{DETAILS}->{$1}->{BASE} = $4;
- }
- else {
- print STDERR "Error: Unexpected in state <$state>: $_\n";
- return 0;
- }
- }
- else {
- print STDERR "Error: Parser reached unknown state <$state>\n";
- return 0;
- }
- }
-
- return 1;
-}
-
-
-1; \ No newline at end of file
diff --git a/samwise/README.txt b/samwise/README.txt
deleted file mode 100644
index 0e84ed2ac22..00000000000
--- a/samwise/README.txt
+++ /dev/null
@@ -1,77 +0,0 @@
-Welcome to the top-secret Samwise project.
-
--------------------------------------------------------------------------------
-Somewhat of an Overview
-
-Samwise is a Perl-based system for generating project/makefiles for ACE/TAO
-from a common configuration file.
-
-The plan is to use an XML based configuration file and generate MSVC6, MSVC7,
-Borland, and GNU Makefiles from this file. Possibly other targets (MSEVC and
-AutoMake) will be added.
-
--------------------------------------------------------------------------------
-Why?
-
-People are lazy and do not want to hand edit the 5 or so files that may need
-to be changed for each additional file change for a project. And very few
-people know how to correctly edit all of them (those that know the Makefiles
-well are not good with MSVC6's DSP files, and vice-versa). Also, MSVC7
-requires a new set of project files, making the problem even worse.
-
-The makefile scheme could do with some enforcement of consistency and I don't
-actually trust anybody to keep the DSP files correct (and actually, after
-seeing the inconsistency of them, I guess I shouldn't have trusted myself to
-keep them consistent either).
-
-A couple of other extra bonuses are that a standard generator of project files
-can make the task of system wide changes easier. If the ace library were
-ever moved into a subdirectory (so ace->ACE/ace, tests->ACE/tests, etc.) it
-would require only changing the samwise scripts instead of the individual
-project files. And having a common source for project information allows new
-generators to be added to output for new targets.
-
-And finally, ACE/TAO needed more complex Perl scripts.
-
--------------------------------------------------------------------------------
-Use
-
-- Run create_sam.pl in a directory to create a sam.xml file.
-- Run sam.pl to generate files
-
-Right now only the msvc6 target is on my default. To output other targets,
-pass "-target foo". Example: If you wanted to target both Borland and
-GNUMake, use:
-
-sam.pl -target borland -target gnumake
-
--------------------------------------------------------------------------------
-Random Notes
-
-Documentation? You're looking at it; beautiful, ain't it? TODO.txt has more
-of the current progress.
-
-Each directory should have one sam.xml file, which specifies one workspace
-and one or more projects. The workspace details which projects should be
-included in the default set. It also details which subdirectories which
-should be recursed into (for those targets that support it).
-
-The sam.pl script contains two main sections, the Parser and the Generator.
-The only parser is a light-weight custom parser that can understand a limited
-set of XML, which happily coincides with the limited set of XML used by
-create_sam.pl to produce sam.xml files. I wouldn't try to push it that much.
-Hand generated sam.xml files should look just like the generated ones:
-keep <tag></tag> pairs on separate lines, don't mess too much with spacing,
-and so on.
-
-I use a tab size of 4 for perl scripts and sam.xml files.
-
-The create_sam.pl script is intended to only be needed in the initial
-converstion to sam.xml files. Hence I don't intend on it surviving the
-switchover. All it does is read the dsp files for project information, and
-Makefiles for subdir information.
-
--------------------------------------------------------------------------------
-Closing
-
-So has been written by the self-proclaimed Chief Architect, Darrell Brunsch \ No newline at end of file
diff --git a/samwise/TODO.txt b/samwise/TODO.txt
deleted file mode 100644
index 6dd51e44000..00000000000
--- a/samwise/TODO.txt
+++ /dev/null
@@ -1,258 +0,0 @@
-Todo:
-
-- Are static-only libraries supported?
-- Are mfc projects supported?
-- Explore use of /Fd, /pdb and /pdbtype for msvc6 release, /Ob2:
-- Do we need ACE_DOESNT_INSTANTIATE_NONSTATIC_OBJECT_MANAGER=1 for mfc?
-- Add MSVC7 target
-- Create config file support for msvc6 generator
-- Set up testing of samwise.
-- Write documentation (how to use, how to create new targets, how the
- the scripts work)
-- Add support for edible projects (such as merging ACE subsets into a
- larger ACE project)
-- Verify that we can use sam.pl outside of the ACE_wrappers tree (as
- an end-user would use it)
-- Create a generate_sam.pl which helps with automating the creation
- of a sam.xml from scratch.
-
-- Regenerate ace\QoS\ACE_QoS_Export.h and ace\svc_export.h (add ACE_SVC_BUILD_DLL)
-- Search for ACE_BUILD_SVC_DLL and remove hard coded defines
-
-- Add files in create_sam
- tao/orb.idl (installed but not compiled)
-
-- Fix files in create_sam
- ace/Event_Handler_T.cpp (is it supposed to be template?)
-
-- Borland Generator
- + Support for local libraries
-
- + Figure out what to do with ace\SSL (it is handled differently in ace\makefile.bor)
- Maybe something like this, using a "configuration" section (also the same for
- minimum CORBA
- !ifdef SSL_ROOT
- NAME=blah
- !else
- !undef NAME
- !endif
-
- + Verify correct borland includes
-
-- Work more on GNUMake generator:
- + Figure out how to get -j x to work correctly in the presence of
- multiple subprojects
-
-===========================================================================
-Done (03 Dec 2001)
-
- + Fix the ECTest, CECTest and other local libraries with include
- paths
-
- + The order of the subdirectories and the subprojects is important.
- Need to come up with a way to determine their order, maybe then we
- can generate their dependencies in the workspace and finally
- parallelize them.
-
-===========================================================================
-Done (20 Nov 2001)
-
- + Fix the location of gperf
- [Temporary fix: set the right path in platform_macros.GNU]
-
- + Fix the order of the orbsvcs subprojects
-
-===========================================================================
-Done (07 Sep 2001)
-
-- Add support for exception rules in create_sam.pl
-
- Really only could find one exception right now, the name of the ACE
- library. That is now fixed.
-
-- Added support for external projects.
-
- Changed <project> in the <workspace> section to <projectlink file="">
- where file is optional (if it isn't there, default to that generated
- from current file).
-
-- Change the <ace> in libs.xml to <namespace name="ACE">
-
-- Change <msvc> and <gnu> tags to a base= property and have sam.pl
- generate the appropriate name. If you use libs.xml, you are stuck with
- the builtin mangling.
-
- Done. Now the libs.xml is a bit more compressed.
-
-- Get rid of the libs dir and use full paths to the lib instead.
-
- Done. Now has full relative paths to libraries.
-
-- We have problems if the name of the sources is in quotes (it happens
- in the AV orbsvcs library)
-
- Fixed. MSVC puts files that contain forward slashes in quotes. Now it
- handles that plus makes sure all slashes are forward slashes.
-
-- In the orbsvcs makefiles the IDL generated files are listed twice,
- once because they are listed in the sam.xml file, and another time
- because we add them in the rules for IDL code...
- For some reason that was not the case in the test/Hello/*.dsp
- files, i.e. the files are listed in the project, but they don't
- show up in the sam.xml file, go figure.
-
- Actually, what was happening is the banning logic in create_sam.pl was
- only working when the project consisted of only one idl file. If there
- was more than one, then the file got reinserted. Logic was fixed
-
-- The IDL options have backslashes in a few DSP files, have to
- convert them to forward slashes.
-
- Fixed. Also checked for multiple spaces and compressed them down to one
- space in the options.
-
-- Change the <acelib> to <lib namespace="ACE"> type tags.
-
- Done.
-
-===========================================================================
-Done (08 Sep 2001)
-
-- Move PerlACE/Sam to PerlSam.
-
- Done.
-
-- The order of the libraries is plain wrong.
-
- Reversed them in the gnumake generator.
-
-- Make gnumake target a default target.
-
- Done. I think it is well past mature enough to be a default.
-
-- Added basic Borland support.
-
- Now can generate executable projects that have no IDL files and
- nothing too complicated. It is basic support
-
-- Switched to generating projects before the workspace.
-
- This will help out things with MSVC7 (related to GUIDS) and might be
- helpful if we need to merge projects and workspaces into one file
- (which might be the case with Makefile.am's)
-
-- Added the two IDL libraries to create_sam.pl
-
- Put them in their own namespace. Not sure if this totally works yet,
- I'll have to double-check later. I think most of the generators are
- hardcoded for ACE and TAO namespaces only
-
-- Finish DLL support
-
- It is in there, not tested too well. Let's see how it turns out,
- Yee Haw!
-
-===========================================================================
-Done (16 Sep 2001)
-
-- Add <libinfo> generation to create_sam.pl
-
- create_sam now has a huge table in it. It seems like most of it should
- be working, but the table might not be fully populated (and I'm not too
- sure of its ability to handle non-lib.xml libraries
-
-- Remove ACE_ROOT requirement for create_sam.pl
-
- Now has the same logic as sam.pl, so it can figure out its own ACE_ROOT,
- if possible.
-
-- Finish library support for MSVC6 (static stuff needs work)
-
- Implemented. Works with ace at least.
-
-- Test out dynamic library support
-
- Cleaned up and fixed some problems with it. Is good with ACE.
-
-- change the default directories in msvc to be Debug\name, or
- something like that.
-
- Settled on Debug, Release, Debug\Static, Release\Static, Debug\MFC,
- and Release\MFC. Also appending the project name to the end, so
- Debug\project, Release\project, etc.
-
-===========================================================================
-Done (23 Sep 2001)
-
-- Update format of sam.xml
-
- * Renamed library to libs
- * Made name an element instead of an attribute
- * Renamed source to sources
- * Made libinfo properties elements
-
-- Parser now ignores blank lines and comments
-
-- Fix the Expand* functions to be smarter. Return arrays instead
- of strings. Support namespaces better.
-
- ACE and TAO namespaces are no longer hard coded in.
-
-- Support any number of namespaces for libraries. This also means
- we need to figure out a way to make sure the order is preserved.
-
- There is an order element in libs.xml to preserve the order of
- namespaces
-
-- Check to make sure TAO_IDL compiles with msvc6
-
- I think it is okay now. I'll know for sure once testing begins
-
-- Support local libraries. Need to generate them via create_sam.pl
- (which requires some work to figure out the path to the lib) and
- support them in the generators. The parser already can handle
- it.
-
- This should be working now. It seems to generate correct output
- for websvcs, so I'll go on to other things.
-
-===========================================================================
-Done (29 Sep 2001)
-
-- Work on Borland generator
-
- Added library and idl support. Most things should work, but there are
- a handful of cases not fully implemented. Enough is implemented where
- I made borland a default.
-
-- Add some missing files to projects
-
- All orbsvcs now get orbsvcs.rc.
- And ACE and TAO gets some extra template files
-
-===========================================================================
-Done (30 Nov 2001)
-
-- Don't output "DIRS=" or "MAKEFILES=" unless there is actually dirs or makefiles
-
- Done.
-
-- Attribute values must have quotes
-
- Done.
-
-===========================================================================
-Done (02 Dec 2001)
-
-- Remove ACE_ROOT dependency in sam.pl and create_sam.pl
-
- Done.
-
-- Add debug info to dependency generation in generator.pm
-
- Done.
-
-- Add dependency output to dsw files
-
- Done.
-
diff --git a/samwise/create_sam.pl b/samwise/create_sam.pl
deleted file mode 100755
index 1bbff837d38..00000000000
--- a/samwise/create_sam.pl
+++ /dev/null
@@ -1,940 +0,0 @@
-eval '(exit $?0)' && eval 'exec perl -S $0 ${1+"$@"}'
- & eval 'exec perl -S $0 $argv:q'
- if 0;
-
-# $Id$
-
-use FindBin;
-use lib $FindBin::Bin;
-use PerlACE::MSProject::DSP;
-use DirHandle;
-use FileHandle;
-use Cwd;
-
-use strict;
-
-################################################################################
-
-my $version = "0.1";
-
-my $recurse = 0;
-my $list = 0;
-my $verbose = 0;
-my @arguments;
-my @configs;
-my @subdirs;
-my @roots;
-my $auto_compile = 0;
-my $clean = 0;
-my $debug = 0;
-
-my $aceroot = 0;
-
-my $output;
-my $outfile;
-
-################################################################################
-
-# Parse command line arguments
-
-while ( $#ARGV >= 0)
-{
- if ($ARGV[0] =~ m/^-file/i) {
- $outfile = $ARGV[1];
- shift;
- }
- elsif ($ARGV[0] =~ m/^-r/i) {
- $recurse = 1;
- }
- elsif ($ARGV[0] =~ m/^-(\?|h)/i) { # Help information
- print "Options\n";
- print " -file <file>\n";
- exit;
- }
- elsif ($ARGV[0] =~ m/^-v/i) {
- $verbose = 1;
- }
- elsif ($ARGV[0] =~ m/^-/) {
- warn "$0: unknown option $ARGV[0]\n";
- exit 1;
- }
- else {
- push @arguments, $ARGV[0];
- }
- shift;
-}
-
-@configs = ("Win32 Debug");
-
-if (!defined $outfile) {
- $outfile = "sam.xml";
-}
-
-$output = new FileHandle ($outfile, "w");
-
-################################################################################
-
-# I like these variables
-
-# %projects->{$file}->{BUILD} <- Are we supposed to build this file?
-# ->{PROJ} <- MSProject object
-# ->{ACEDEPS}
-# ->{TAODEPS}
-# ->{LIBS}
-# ->{CONFIGS}->{$config}->{DEPS} <- List of dependencies
-# ->{DONE} <- Have we compiled it yet?
-
-my %projects;
-
-# %names->{$output} <- points to the $file used in the above %projects
-
-my %names;
-
-################################################################################
-
-# Expand all the files/directories passed in on the command line
-
-sub ProjectSearch ($@)
-{
- my $build = shift;
- my @targets = @_;
-
- while ($#targets >= 0) {
- my $target = $targets[0];
- if (-d $target) {
- print " Reading Directory $target\n" if ($verbose);
- if ($recurse) {
- my $dh = new DirHandle ($target);
-
- if (defined $dh) {
- foreach my $entry ($dh->read ()) {
- if (-d "$target/$entry" && $entry ne "." && $entry ne "..") {
- $entry =~ s/^.\\//;
- $entry =~ s/^.\///;
- push @targets, ($target . "\\". $entry);
- }
- }
- }
- else {
- print STDERR "Error: Cannot read $target: $!\n";
- }
- }
-
- foreach my $t (glob ($target . "/*.dsp")) {
- $t =~ s/^.\\//;
- $t =~ s/^.\///;
-
- print " Adding project $t\n" if ($verbose);
- %projects->{$t}->{BUILD} = $build;
- }
- }
- else {
- foreach my $t (glob ($target)) {
- print " Adding project $t\n" if ($verbose);
- %projects->{$t}->{BUILD} = $build;
- }
- }
- shift @targets;
- }
-}
-
-print "=== Expanding Command line Arguments\n" if ($verbose);
-
-if ($#arguments < 0) {
- print " No files specified, defaulting to \".\"\n" if ($verbose);
- push @arguments, (".");
-}
-
-ProjectSearch (1, @arguments);
-
-print "=== Expanding Root Arguments\n" if ($verbose);
-
-ProjectSearch (0, @roots);
-
-if ($aceroot == 1) {
- my $oldrecurse = $recurse;
- $recurse = 1;
- my @aceroots = ($ENV{ACE_ROOT}."\\ace",
- $ENV{ACE_ROOT}."\\apps\\gperf\\src",
- $ENV{ACE_ROOT}."\\TAO\\TAO_IDL",
- $ENV{ACE_ROOT}."\\TAO\\tao",
- $ENV{ACE_ROOT}."\\TAO\\orbsvcs\\orbsvcs");
- ProjectSearch (0, @aceroots);
- $recurse = $oldrecurse;
-}
-
-################################################################################
-
-# Read each project file to gather dependency and output information
-
-print "=== Reading Project Files\n" if ($verbose);
-
-foreach my $project (keys %projects) {
- my $proj;
-
- if ($project =~ m/\.dsp$/i) {
- $proj = new PerlACE::MSProject::DSP ($project);
- }
- elsif ($project =~ m/\.vcp$/i) {
- $proj = new PerlACE::MSProject::VCP ($project);
- }
- elsif ($project =~ m/\.vcproj$/i) {
- print STDERR "Error: MSVC7 not supported yet\n";
- }
- else {
- print STDERR "Error: Unrecognized file: $project\n";
- }
-
- print " Loading $project:" if ($verbose);
-
- $proj->Load ();
-
- foreach my $config (@configs) {
- foreach my $proj_config ($proj->Configs ()) {
- if ($proj_config =~ m/\Q$config\E/i) {
- print " \"$proj_config\"" if ($verbose);
- my $name = $proj->DepOutputFile ($proj_config);
-
- %names->{lc $name} = $project;
-
- if (defined $proj->Libs ($proj_config)) {
- @{%projects->{$project}->{CONFIGS}->{$proj_config}->{DEPS}} = split / /, $proj->Libs ($proj_config);
- }
- }
- }
- }
-
- print "\n" if ($verbose);
-
- %projects->{$project}->{PROJ} = $proj;
-}
-################################################################################
-# Random function
-
-sub CSConvertPathToRelative ($)
-{
- my $args = shift;
- $args =~ s/\s\s*/ /g;
- $args =~ s/\s$//g;
- my @list = split / /, $args;
- my $result = "";
- my $root;
-
- my $current = getcwd ();
- my $traverse = $current;
- my $external = 0;
- my @current_list;
-
- # This little bit of code walks up the path looking ACE_ROOT. If
- # not found, just default to using "$ACE_ROOT/"
-
- while (1) {
- # Are we in the "root" yet?
- if (-r "$traverse/samwise/PerlSam/Generator.pm") {
- last;
- }
-
- # Move up in the directory tree by lopping off the last part of
- # the path
- if ($traverse =~ m/(.*)\/[^\/]*/) {
- $traverse = $1;
- $root .= "../";
- }
- else {
- # Ran out of path, default to environment variable
- $root = "\$ACE_ROOT/";
- $external = 1;
- last;
- }
- }
-
- # Remove the trailing slash
- $root =~ s/\/$//;
-
- if (!$external) {
- # Figure out what our relative current directory is
- $current =~ s/^\Q$traverse\E\///;
- @current_list = split /\//, $current;
- }
-
- # Rebuild the stringified list
- foreach my $entry (@list) {
- my $this_root = $root . "/";
- my @this_current = @current_list;
-
- # Loop off any common parts. So if current directory is
- # "\TAO\tests" and the entry is "\TAO\" then reduce the root
- if (!$external) {
- while ($#this_current >= 0) {
- my $top_dir = shift @this_current;
- if ($entry && $entry =~ s/^\/$top_dir//) {
- $this_root =~ s/^\.\.\///;
- }
- else {
- last;
- }
- }
- }
-
- $entry =~ s/^\///;
-
- $result .= $this_root . $entry . " ";
- }
-
- # Remove the trailing space from the stringified list.
- $result =~ s/ $//;
-
- return $result;
-}
-
-################################################################################
-
-# Clean out the dependency lists, we only keep the libraries which we know
-# how to generate
-
-print "=== Cleaning out Dependency Lists\n" if ($verbose);
-
-my %libs_table = (
- 'ACEd.lib' => ['ACE', 'ACE', '../', 'ACE ACE_OS' ],
- 'ACE_SSLd.lib' => ['ACE', 'SSL', '../../', 'ACE_SSL' ],
- 'ACE_QoSd.lib' => ['ACE', 'QoS', '../../', 'ACE_QoS' ],
- 'ACE_RMCastd.lib' => ['ACE', 'RMCast', '../../', 'ACE_RMCast' ],
- 'TAO_IDL_BEd.lib' => ['TAOIDL', 'Back_End', 'include be_include', 'TAO_IDL_BE' ],
- 'TAO_IDL_FEd.lib' => ['TAOIDL', 'Front_End', 'include fe', 'TAO_IDL_FE' ],
- 'TAOd.lib' => ['TAO', 'TAO', '../', 'TAO' ],
- 'TAO_PortableServerd.lib' => ['TAO', 'PortableServer', '../../', 'TAO_PortableServer' ],
- 'TAO_BiDirGIOPd.lib' => ['TAO', 'BiDirGIOP', '../../', 'TAO_BiDirGIOP' ],
- 'TAO_Domaind.lib' => ['TAO', 'Domain', '../../', 'TAO_Domain' ],
- 'TAO_DynamicAnyd.lib' => ['TAO', 'DynamicAny', '../../', 'TAO_DynamicAny' ],
- 'TAO_DynamicInterfaced.lib' => ['TAO', 'DynamicInterface', '../../', 'TAO_DynamicInterface'],
- 'TAO_IORManipd.lib' => ['TAO', 'IORManip', '../../', 'TAO_IORManip' ],
- 'TAO_RTCORBAd.lib' => ['TAO', 'RTCORBA', '../../', 'TAO_RTCORBA' ],
- 'TAO_RTPortableServerd.lib' => ['TAO', 'RTPortableServer', '../../', 'TAO_RTPortableServer'],
- 'TAO_SmartProxiesd.lib' => ['TAO', 'SmartProxies', '../../', 'TAO_SmartProxies' ],
- 'TAO_Strategiesd.lib' => ['TAO', 'Strategies', '../../', 'TAO_Strategies' ],
- 'TAO_IORTabled.lib' => ['TAO', 'IORTable', '../../', 'TAO_IORTable' ],
- 'TAO_TypeCodeFactoryd.lib' => ['TAO', 'TypeCodeFactory', '../../', 'TAO_TypeCodeFactory' ],
- 'TAO_IFR_Clientd.lib' => ['TAO', 'IFR_Client', '../../', 'TAO_IFR_Client' ],
- 'TAO_AVd.lib' => ['TAO', 'AVStreams', '../../', 'TAO_AV' ],
- 'TAO_CosLifeCycled.lib' => ['TAO', 'CosLifeCycle', '../../', 'TAO_LifeCycle' ],
- 'TAO_CosNamingd.lib' => ['TAO', 'CosNaming', '../../', 'TAO_Naming' ],
- 'TAO_DsLogAdmind.lib' => ['TAO', 'DsLogAdmin', '../../', 'TAO_Log' ],
- 'TAO_RTEventd.lib' => ['TAO', 'RTEvent', '../../', 'TAO_RTEvent' ],
- 'TAO_RTOLDEventd.lib' => ['TAO', 'RTOldEvent', '../../', 'TAO_RTOLDEvent' ],
- 'TAO_RTSchedd.lib' => ['TAO', 'RTSched', '../../', 'TAO_RTSched' ],
- 'TAO_RTSchedEventd.lib' => ['TAO', 'RTSchedEvent', '../../', 'TAO_RTSchedEvent' ],
- 'TAO_Securityd.lib' => ['TAO', 'Security', '../../', 'TAO_Security' ],
- 'TAO_SSLIOPd.lib' => ['TAO', 'SSLIOP', '../../', 'TAO_SSLIOP' ],
- 'TAO_Svc_Utilsd.lib' => ['TAO', 'SvcUtils', '../../', 'TAO_Svc_Utils' ],
- 'TAO_CosConcurrencyd.lib' => ['TAO', 'CosConcurrency', '../../', 'TAO_Concurrency' ],
- 'TAO_CosEventd.lib' => ['TAO', 'CosEvent', '../../', 'TAO_Event' ],
- 'TAO_CosNotificationd.lib' => ['TAO', 'CosNotification', '../../', 'TAO_Notify' ],
- 'TAO_CosPropertyd.lib' => ['TAO', 'CosProperty', '../../', 'TAO_Property' ],
- 'TAO_CosTimed.lib' => ['TAO', 'CosTime', '../../', 'TAO_Time' ],
- 'TAO_CosTradingd.lib' => ['TAO', 'CosTrading', '../../', 'TAO_Trading' ],
- 'TAO_Fault_Toleranced.lib' => ['TAO', 'FaultTolerance', '../../', 'TAO_FT' ],
- 'TAO_LoadBalancingd.lib' => ['TAO', 'LoadBalancing', '../../', 'TAO_LoadBalancing' ],
- 'CECTestd.lib' => [undef, undef, '', 'CEC_Test' ],
- 'coll_test_stubsd.lib' => [undef, undef, '', undef ],
- 'Diamondd.lib' => [undef, undef, '', 'DIAMOND' ],
- 'ECTestd.lib' => [undef, undef, '', 'EC_TEST' ],
- 'TAO_RTEC_COSECd.lib' => [undef, undef, '', 'RTEC_COSEC' ],
- 'RTCORBA_Commond.lib' => [undef, undef, '', 'RTCORBA_COMMON' ],
- 'TAO_IFR_BE_DLLd.lib' => [undef, undef, '', 'TAO_IFR_BE' ],
- 'TAO_NotifyTestsd.lib' => [undef, undef, '', 'TAO_NOTIFY_TEST' ],
- 'TradingLibd.lib' => [undef, undef, '', undef ],
- 'Generic_Servantd.lib' => [undef, undef, '', 'GENERIC_SERVANT' ],
- 'Client_Testd.lib' => [undef, undef, '', 'ACE_SVC' ],
- 'export_dlld.lib' => [undef, undef, '', 'TEST' ],
- 'Gateway.lib' => [undef, undef, '', 'ACE_SVC' ],
- 'Gatewayd.lib' => [undef, undef, '', 'ACE_SVC' ],
- 'HTTPUd.lib' => [undef, undef, '', 'HTTPU' ],
- 'JAWSd.lib' => [undef, undef, '', 'JAWS' ],
- 'netsvcsd.lib' => [undef, undef, '', 'ACE_SVC' ],
- 'paced.lib' => [undef, undef, '', undef ],
- 'Peerd.lib' => [undef, undef, '', 'ACE_SVC' ],
- 'Peer.lib' => [undef, undef, '', 'ACE_SVC' ],
- 'Synch_Libd.lib' => [undef, undef, '', 'SYNCHLIB' ],
- 'websvcsd.lib' => [undef, undef, '../../', 'ACE_WEBSVCS' ],
- 'Service_Config_DLLd.lib' => [undef, undef, '', 'Service_Config_DLL' ],
- 'DLL_Testd.lib' => [undef, undef, '', 'ACE_Svc' ],
- 'Test_DLLd.lib' => [undef, undef, '', 'OLT' ],
- 'Test_Server_Moduled.lib' => [undef, undef, '', 'TEST_SERVER_MODULE' ],
- 'Test_Client_Moduled.lib' => [undef, undef, '', 'TEST_CLIENT_MODULE' ],
- 'Collocation_Test_Stubsd.lib' => [undef, undef, '', 'MY_STUB' ],
- 'Time_Dated.lib' => [undef, undef, '', 'ACE_SVC ' .
- 'Alt_Resource_Factory'],
- 'Base_Testd.lib' => [undef, undef, '', 'ACE_SVC' ],
- 'Perf_Testd.lib' => [undef, undef, '', 'ACE_SVC' ],
- 'Timerd.lib' => [undef, undef, '', 'ACE_SVC' ],
- 'Todayd.lib' => [undef, undef, '', 'ACE_SVC' ],
- 'Newsweekd.lib' => [undef, undef, '', 'ACE_SVC' ],
- 'Serverd.lib' => [undef, undef, '', 'ACE_SVC' ],
- 'CCM_Appd.lib' => [undef, undef, '', 'ACE_SVC' ],
- 'Dump_Restored.lib' => [undef, undef, '', 'ACE_SVC' ],
- 'Dump_Restore.lib' => [undef, undef, '', 'ACE_SVC' ],
- 'Acceptor_Serverd.lib' => [undef, undef, '', 'ACE_SVC' ],
- 'TAO_IDL_BE_DLLd.lib' => ['TAOIDL', 'Back_End', 'include fe', 'TAO_IDL_BE' ],
- 'TAO_IDL_FE_DLLd.lib' => ['TAOIDL', 'Front_End', 'include fe be_include', 'TAO_IDL_FE' ]
- );
-
-my %local_libs_table = (
- 'Service_Config_DLLd.lib' => ['/tests' ],
- 'DLL_Testd.lib' => ['/tests' ],
- 'Test_DLLd.lib' => ['/TAO/tests/Object_Loader' ],
- 'Test_Server_Moduled.lib' => ['/TAO/tests/DLL_ORB' ],
- 'Test_Client_Moduled.lib' => ['/TAO/tests/DLL_ORB' ],
- 'Collocation_Test_Stubsd.lib' => ['/TAO/tests/Collocation' ],
- 'Timerd.lib' => ['/examples/Service_Configurator/Misc' ],
- 'Todayd.lib' => ['/examples/DLL' ],
- 'Newsweekd.lib' => ['/examples/DLL' ],
- 'Serverd.lib' => ['/examples/Service_Configurator/IPC-tests/server' ],
- 'CCM_Appd.lib' => ['/examples/ASX/CCM_App' ],
- 'Dump_Restored.lib' => ['/netsvcs/clients/Naming/Dump_Restore' ],
- 'Dump_Restore.lib' => ['/netsvcs/clients/Naming/Dump_Restore' ],
- 'Acceptor_Serverd.lib' => ['/docs/tutorials/022' ],
- 'CECTestd.lib' => ['/TAO/orbsvcs/tests/CosEvent/lib' ],
- 'coll_test_stubsd.lib' => ['/TAO/tests/Smart_Proxies/Collocation' ],
- 'Diamondd.lib' => ['/TAO/tests/Collocation' ],
- 'ECTestd.lib' => ['/TAO/orbsvcs/tests/Event/lib' ],
- 'TAO_RTEC_COSECd.lib' => ['/TAO/orbsvcs/examples/CosEC/RtEC_Based/lib' ],
- 'RTCORBA_Commond.lib' => ['/TAO/performance-tests/RTCorba/Multiple_Endpoints/Common'],
- 'TAO_IFR_BE_DLLd.lib' => ['/TAO/orbsvcs/IFR_Service' ],
- 'NotifyTestsd.lib' => ['/TAO/orbsvcs/tests/Notify/lib' ],
- 'TAO_NotifyTestsd.lib' => ['/TAO/orbsvcs/tests/Notify/lib' ],
- 'TradingLibd.lib' => ['/TAO/orbsvcs/tests/Trading' ],
- 'Generic_Servantd.lib' => ['/TAO/examples/POA/Generic_Servant' ],
- 'Client_Testd.lib' => ['/netsvcs/clients/Naming/Client' ],
- 'export_dlld.lib' => ['/examples/Export' ],
- 'Gateway.lib' => ['/apps/Gateway/Gateway' ],
- 'Gatewayd.lib' => ['/apps/Gateway/Gateway' ],
- 'HTTPUd.lib' => ['/apps/JAWS2/HTTPU' ],
- 'JAWSd.lib' => ['/apps/JAWS2/JAWS' ],
- 'netsvcsd.lib' => ['/netsvcs/lib' ],
- 'paced.lib' => ['/PACE/pace' ],
- 'Peerd.lib' => ['/apps/Gateway/Peer' ],
- 'Synch_Libd.lib' => ['/performance-tests/Synch-Benchmarks/Synch_Lib' ],
- 'Base_Testd.lib' => ['/performance-tests/Synch-Benchmarks/Base_Test' ],
- 'Perf_Testd.lib' => ['/performance-tests/Synch-Benchmarks/Perf_Test' ],
- 'websvcsd.lib' => ['/websvcs/lib' ]
-);
-
-my @system_libs = ( 'kernel32.lib', 'user32.lib', 'gdi32.lib', 'winspool.lib', 'comdlg32.lib',
- 'advapi32.lib', 'shell32.lib', 'ole32.lib', 'oleaut32.lib', 'uuid.lib',
- 'odbc32.lib', 'odbccp32.lib', 'ssleay32.lib', 'libeay32.lib', 'ws2_32.lib',
- 'wsock32.lib'
- );
-
-foreach my $project (keys %projects) {
- foreach my $config (keys %{%projects->{$project}->{CONFIGS}}) {
- print " Cleaning Dependencies: $project ($config)\n" if ($verbose);
-
- foreach my $dep (@{%projects->{$project}->{CONFIGS}->{$config}->{DEPS}}) {
- my $found = 0;
-
- # Remove dirs from $dep
- $dep =~ s/.*\///g;
- $dep =~ s/.*\\//g;
-
- if (lc $dep eq "diamondd.lib") {
- my $fulllib = "/TAO/tests/Collocation/Diamond";
- if (getcwd () =~ m/Smart_Proxies/i) {
- $fulllib = "/TAO/tests/Smart_Proxies/Collocation/Diamond"
- }
- $fulllib = CSConvertPathToRelative ($fulllib);
- push @{%projects->{$project}->{LOCAL_DEPS}}, $fulllib;
- }
-
-
- foreach my $lib (keys %libs_table) {
- if (lc $dep eq lc $lib) {
- $found = 1;
-
- if (!defined %libs_table->{$lib}[0]) {
- my $fulllib = %local_libs_table->{$dep}[0] . '/' . $dep;
- $fulllib =~ s/d\.lib$//;
- $fulllib =~ s/\.lib$//;
- $fulllib = CSConvertPathToRelative ($fulllib);
- push @{%projects->{$project}->{LOCAL_DEPS}}, $fulllib;
- }
- elsif (%libs_table->{$lib}[0] eq "ACE") {
- push @{%projects->{$project}->{ACE_DEPS}}, %libs_table->{$lib}[1];
- }
- elsif (%libs_table->{$lib}[0] eq "TAOIDL") {
- push @{%projects->{$project}->{TAOIDL_DEPS}}, %libs_table->{$lib}[1];
- }
- elsif (%libs_table->{$lib}[0] eq "TAO") {
- push @{%projects->{$project}->{TAO_DEPS}}, %libs_table->{$lib}[1];
- }
- last;
- }
- }
-
- next if ($found);
-
- foreach my $lib (@system_libs) {
- if (lc $dep eq lc $lib) {
- $found = 1;
- last;
- }
- }
-
- next if ($found);
-
- %projects->{$project}->{BADLIB} = 1;
-
- if ($dep) {
- print " Unknown Dependency: $dep\n";
- }
- }
- }
-}
-
-################################################################################
-
-# Clean out the dependency lists, we only keep the libraries which we know
-# how to generate
-
-print "=== Reading Makefile for DIRS\n" if ($verbose);
-
-my $makefile = new FileHandle ("Makefile", "r");
-
-if (defined $makefile) {
- my $found = 0;
-
- while (<$makefile>) {
- chomp;
- if (m/^\s*DIRS\s*[\+]*=\s*([^\\]*)/i) {
- my $dirs = $1;
- if (m/\\\s*$/) {
- $found = 1;
- }
- foreach my $dir (split / /, $dirs) {
- push @subdirs, $dir;
- }
- next;
- }
-
- if ($found == 1) {
- if (!m/\\\s*$/) {
- $found = 0;
- }
-
- if (m/^\s*([^\\]*[^\s\\])/i) {
- foreach my $dir (split / /, $1) {
- push @subdirs, $dir;
- }
- }
- }
- }
-
- $makefile->close ();
-}
-else {
- print STDERR "Error: Could not open Makefile\n";
-}
-
-################################################################################
-
-# Prune idl generated files and get the type of generation
-
-print "=== Messing with IDL files\n" if ($verbose);
-
-foreach my $project (keys %projects) {
- my @idlfiles;
- my %idltypes;
-
- my @filelist = %projects->{$project}->{PROJ}->Sources ();
-
- foreach my $file (@filelist) {
- if ($file =~ m/^\.\\(.*)$/ || $file =~ m/^\.\/(.*)$/) {
- $file = $1;
- }
- if ($file =~ m/(.*)\.idl$/) {
- push @idlfiles, $1;
- }
- }
-
- foreach my $file (@filelist) {
- if ($file =~ m/^\.\\(.*)$/ || $file =~ m/^\.\/(.*)$/) {
- $file = $1;
- }
- if ($#idlfiles < 0) {
- push @{%projects->{$project}->{SOURCES}}, $file;
- }
- else {
- my $banned = 0;
- foreach my $idl (@idlfiles) {
- if ($file =~ m/(\Q$idl\E)S(_T|)\.(h|i|inl|cpp)/) {
- %idltypes->{$idl} = 1;
- $banned = 1;
- }
- elsif ($file =~ m/(\Q$idl\E)C\.(h|i|inl|cpp)$/ || $file =~ m/\.idl$/) {
- $banned = 1;
- }
- }
-
- if (!$banned) {
- push @{%projects->{$project}->{SOURCES}}, $file;
- }
- }
- }
-
- foreach my $file (%projects->{$project}->{PROJ}->IgnoredSources ()) {
- if ($file =~ m/^\.\\(.*)$/ || $file =~ m/^\.\/(.*)$/) {
- $file = $1;
- }
-
- if ($#idlfiles < 0) {
- push @{%projects->{$project}->{T_SOURCES}}, $file;
- }
- else {
- my $banned = 0;
- foreach my $idl (@idlfiles) {
- if ($file =~ m/($idl)S(_T\.|\.)(h|i|inl|cpp)/) {
- %idltypes->{$idl} = 1;
- $banned = 1;
- }
- elsif ($file =~ m/($idl)C\.(h|i|inl|cpp)/ || $file =~ m/\.idl$/) {
- $banned = 1;
- }
- }
- if (!$banned) {
- push @{%projects->{$project}->{T_SOURCES}}, $file;
- }
- }
- }
-
- foreach my $idl (@idlfiles) {
- if (defined %idltypes->{$idl}) {
- push @{%projects->{$project}->{S_IDL}}, $idl . ".idl";
- }
- else {
- push @{%projects->{$project}->{C_IDL}}, $idl . ".idl";
- }
- }
-}
-
-################################################################################
-
-# Output the XML
-
-sub UpdateProjectName ($)
-{
- my $filename = shift;
-
- if ($filename eq "ace_dll") {
- $filename = "ACE";
- }
- elsif ($filename eq "TAO_IDL_BE_DLL") {
- $filename = "TAOIDL_Back_End";
- }
- elsif ($filename eq "TAO_IDL_FE_DLL") {
- $filename = "TAOIDL_Front_End";
- }
- elsif ($filename eq "TAO_BiDir_GIOP") {
- $filename = "TAO_BiDirGIOP";
- }
-
- return $filename;
-}
-
-sub UpdateProjectTarget ($)
-{
- my $target = shift;
-
- if ($target eq "ace") {
- $target = "ACE";
- }
- elsif ($target eq "TAO_IDL_BE_DLL") {
- $target = "TAO_IDL_BE"
- }
- elsif ($target eq "TAO_IDL_FE_DLL") {
- $target = "TAO_IDL_FE"
- }
-
- return $target;
-}
-
-sub ExtraSourceFiles ($)
-{
- my $name = shift;
-
- if ($name eq "AV"
- || $name eq "CosConcurrency"
- || $name eq "CosEvent"
- || $name eq "CosLifeCycle"
- || $name eq "CosNaming"
- || $name eq "CosNotification"
- || $name eq "CosProperty"
- || $name eq "CosTime"
- || $name eq "CosTrading"
- || $name eq "DsLogAdmin"
- || $name eq "Fault_Tolerance"
- || $name eq "LoadBalancing"
- || $name eq "RTEvent"
- || $name eq "RTOLDEvent"
- || $name eq "RTSched"
- || $name eq "RTSchedEvent"
- || $name eq "SSLIOP"
- || $name eq "Security"
- || $name eq "Svc_Utils")
- {
- return ("orbsvcs.rc");
- }
-
- return ();
-}
-
-sub ExtraTemplateFiles ($)
-{
- my $name = shift;
-
- if ($name eq "ACE") {
- return ("Array_Base.cpp",
- "CORBA_Ref.cpp",
- "Dynamic_Service.cpp",
- "Event_Handler_T.cpp",
- "Future_Set.cpp",
- "Intrusive_List.cpp",
- "Intrusive_List_Node.cpp",
- "LOCK_SOCK_Acceptor.cpp",
- "Node.cpp",
- "Svc_Handler.cpp",
- "Timer_Queue_Adapters.cpp",
- "Typed_SV_Message.cpp",
- "Typed_SV_Message_Queue.cpp",
- "Unbounded_Set.cpp",
- "Unbounded_Queue.cpp");
- }
-
- if ($name eq "TAO") {
- return ("TAO_Singleton.cpp",
- "Connector_Impl.cpp");
- }
-
- return ();
-}
-
-my $cwd = getcwd ();
-
-print "=== Producing XML file\n" if ($verbose);
-
-print " Workspace\n" if ($verbose);
-
-print $output "<?xml version=\"1.0\" encoding=\"iso-8859-1\" ?>\n";
-print $output "<sam version=\"$version\">\n";
-
-print $output " <workspace>\n";
-if ($cwd =~ /\/websvcs\/lib/) {
- print $output " <name>websvcs</name>\n";
-}
-
-foreach my $project (sort keys %projects) {
- my $filename = %projects->{$project}->{PROJ}->Filename ();
-
- if ($filename =~ m/([^\\]*)\.dsp/i) {
- $filename = $1;
- }
-
- if (%projects->{$project}->{PROJ}->OutputFile (@configs) !~ m/\.lib$/i) {
- $filename = UpdateProjectName ($filename);
- print $output " <projectlink>$filename</projectlink>\n";
- }
-}
-foreach my $subdir (@subdirs) {
- print $output " <subdir>$subdir</subdir>\n";
-}
-print $output " </workspace>\n";
-
-foreach my $project (sort keys %projects) {
- print " Project $project\n" if ($verbose);
-
- my $filename = %projects->{$project}->{PROJ}->Filename ();
- my $target = %projects->{$project}->{PROJ}->OutputFile (@configs);
-
- my $type = "unknown";
-
- if ($filename =~ m/([^\\]*)\.dsp/i) {
- $filename = $1;
- }
-
- if ($target =~ m/\.lib$/i) {
- next;
- } elsif ($target =~ m|([^/\\]*)\.exe|i) {
- $target = $1;
- $type = "executable";
- } elsif ($target =~ m|([^/\\]*)d\.dll|i
- || $target =~ m|([^/\\]*)\.dll|i) {
- $target = $1;
- $type = "library";
- }
-
- $target = UpdateProjectTarget ($target);
-
- $filename = UpdateProjectName ($filename);
-
- print $output " <project>\n";
- print $output " <name>$filename</name>\n";
-
- if ($filename eq "ACE") {
- print $output " <description>ACE</description>\n";
- }
- elsif ($filename eq "TAO") {
- print $output " <description>TAO</description>\n";
- }
- elsif ($filename eq "TAOIDL_Back_End") {
- print $output " <description>TAOIDL Back End Library</description>\n";
- }
- elsif ($filename eq "TAOIDL_Front_End") {
- print $output " <description>TAOIDL Front End Library</description>\n";
- }
- else {
- print $output " <description>", %projects->{$project}->{PROJ}->Name (), "</description>\n";
- }
-
- if ($filename eq "gperf" || $filename eq "tao_idl") {
- print $output " <target type=\"$type\" install=\"yes\">$target</target>\n";
- }
- else {
- print $output " <target type=\"$type\">$target</target>\n";
- }
-
- if ($type eq "library") {
- my $namespace;
- my $name = "";
- my $include = "";
- my $export = "";
- my $base = "";
-
- my $lib = $target . "d.lib";
-
- $lib =~ s/(.*)\///g;
-
- $namespace = %libs_table->{$lib}[0] if (defined %libs_table->{$lib});
- $name = %libs_table->{$lib}[1];
- $include = %libs_table->{$lib}[2];
- $export = %libs_table->{$lib}[3];
-
- $base = $target;
-
- $base =~ s/(.*)\///g;
-
- $base = "ACE" if ($base eq "ace");
-
- if (defined $namespace) {
- print $output " <libinfo>\n";
- print $output " <name>$name</name>\n";
- print $output " <namespace>$namespace</namespace>\n";
- print $output " <include>$include</include>\n";
- print $output " <base>$base</base>\n";
- print $output " <export>$export</export>\n";
- print $output " </libinfo>\n";
- }
- else {
- print $output " <libinfo>\n";
- print $output " <export>$export</export>\n";
- print $output " </libinfo>\n";
- }
- }
-
- print $output " <sources>\n";
-
- push @{%projects->{$project}->{SOURCES}}, ExtraSourceFiles ($filename);
-
- if (defined %projects->{$project}->{SOURCES}) {
- foreach my $file (sort @{%projects->{$project}->{SOURCES}}) {
- if ($file =~ m/^\.\\(.*)$/ || $file =~ m/\.\/(.*)$/) {
- $file = $1;
- }
-
- if ($file eq "Event_Handler_T.cpp") {
- next;
- }
-
- $file =~ s/\\/\//g;
-
- print $output " <source>\n";
- print $output " <file>$file</file>\n";
- print $output " </source>\n";
- }
- }
-
- push @{%projects->{$project}->{T_SOURCES}}, ExtraTemplateFiles ($filename);
-
- if (defined %projects->{$project}->{T_SOURCES}) {
- foreach my $file (sort @{%projects->{$project}->{T_SOURCES}}) {
- if ($file =~ m/^\.\\(.*)$/ || $file =~ m/\.\/(.*)$/) {
- $file = $1;
- }
-
- $file =~ s/\\/\//g;
-
- print $output " <source type=\"template\">\n";
- print $output " <file>$file</file>\n";
- print $output " </source>\n";
- }
- }
-
- if (defined %projects->{$project}->{C_IDL}) {
- foreach my $file (sort @{%projects->{$project}->{C_IDL}}) {
- if ($file =~ m/^\.\\(.*)$/ || $file =~ m/\.\/(.*)$/) {
- $file = $1;
- }
-
- my $opts = %projects->{$project}->{PROJ}->IDLOpts ();
-
- $opts =~ s/\\/\//g;
- $opts =~ s/\s+/ /g;
-
- print $output " <source type=\"clientidl\">\n";
- print $output " <file>$file</file>\n";
- print $output " <options>$opts</options>\n";
- print $output " </source>\n";
- }
- }
- if (defined %projects->{$project}->{S_IDL}) {
- foreach my $file (sort @{%projects->{$project}->{S_IDL}}) {
- if ($file =~ m/^\.\\(.*)$/ || $file =~ m/\.\/(.*)$/) {
- $file = $1;
- }
-
- my $opts = %projects->{$project}->{PROJ}->IDLOpts ();
-
- $opts =~ s/\\/\//g;
- $opts =~ s/\s+/ /g;
-
- print $output " <source type=\"idl\">\n";
- print $output " <file>$file</file>\n";
- print $output " <options>$opts</options>\n";
- print $output " </source>\n";
- }
- }
- print $output " </sources>\n";
- print $output " <libs>\n";
- if (defined %projects->{$project}->{ACE_DEPS}) {
- foreach my $dep (sort @{%projects->{$project}->{ACE_DEPS}}) {
- print $output " <lib namespace=\"ACE\">$dep</lib>\n";
- }
- }
- if (defined %projects->{$project}->{TAOIDL_DEPS}) {
- foreach my $dep (sort @{%projects->{$project}->{TAOIDL_DEPS}}) {
- print $output " <lib namespace=\"TAOIDL\">$dep</lib>\n";
- }
- }
- if (defined %projects->{$project}->{TAO_DEPS}) {
- foreach my $dep (sort @{%projects->{$project}->{TAO_DEPS}}) {
- print $output " <lib namespace=\"TAO\">$dep</lib>\n";
- }
- }
- if (defined %projects->{$project}->{LOCAL_DEPS}) {
- foreach my $dep (sort @{%projects->{$project}->{LOCAL_DEPS}}) {
- $dep =~ s/\n//g;
- $dep =~ s/.lib$//g;
- print $output " <lib>$dep</lib>\n";
- }
- }
- print $output " </libs>\n";
- print $output " </project>\n";
-}
-print $output "</sam>\n";
diff --git a/samwise/libs.xml b/samwise/libs.xml
deleted file mode 100644
index cfe3a51551b..00000000000
--- a/samwise/libs.xml
+++ /dev/null
@@ -1,48 +0,0 @@
-<?xml version="1.0" encoding="iso-8859-1" ?>
-<libs>
- <order>ACE TAOIDL TAO</order>
- <namespace name="ACE">
- <lib name="ACE" include="/" link="/ace/" base="ACE" />
- <lib name="SSL" include="/" link="/ace/SSL/" base="ACE_SSL" />
- <lib name="QoS" include="/" link="/ace/QoS/" base="ACE_QoS" />
- <lib name="RMCast" include="/" link="/ace/RMCast/" base="ACE_RMCast" />
- </namespace>
- <namespace name="TAOIDL">
- <lib name="Front_End" include="/TAO/TAO_IDL/include /TAO/TAO_IDL/fe" link="/TAO/TAO_IDL/" base="TAO_IDL_FE" />
- <lib name="Back_End" include="/TAO/TAO_IDL/include /TAO/TAO_IDL/be /TAO/TAO_IDL/be_include" link="/TAO/TAO_IDL/" base="TAO_IDL_BE" />
- </namespace>
- <namespace name="TAO">
- <lib name="TAO" include="/TAO/" link="/TAO/tao/" base="TAO" />
- <lib name="PortableServer" include="/TAO/" link="/TAO/tao/PortableServer/" base="TAO_PortableServer" />
- <lib name="BiDirGIOP" include="/TAO/" link="/TAO/tao/BiDir_GIOP/" base="TAO_BiDirGIOP" />
- <lib name="DynamicAny" include="/TAO/" link="/TAO/tao/DynamicAny/" base="TAO_DynamicAny" />
- <lib name="DynamicInterface" include="/TAO/" link="/TAO/tao/DynamicInterface/" base="TAO_DynamicInterface" />
- <lib name="IORManip" include="/TAO/" link="/TAO/tao/IORManipulation/" base="TAO_IORManip" />
- <lib name="RTCORBA" include="/TAO/" link="/TAO/tao/RTCORBA/" base="TAO_RTCORBA" />
- <lib name="RTPortableServer" include="/TAO/" link="/TAO/tao/RTPortableServer/" base="TAO_RTPortableServer" />
- <lib name="SmartProxies" include="/TAO/" link="/TAO/tao/SmartProxies/" base="TAO_SmartProxies" />
- <lib name="Strategies" include="/TAO/" link="/TAO/tao/Strategies/" base="TAO_Strategies" />
- <lib name="IORTable" include="/TAO/" link="/TAO/tao/IORTable/" base="TAO_IORTable" />
- <lib name="IFR_Client" include="/TAO/" link="/TAO/tao/IFR_Client/" base="TAO_IFR_Client" />
- <lib name="AVStreams" include="/TAO/orbsvcs/" link="/TAO/orbsvcs/orbsvcs/" base="TAO_AV" />
- <lib name="CosLifeCycle" include="/TAO/orbsvcs/ /TAO/orbsvcs/orbsvcs/" link="/TAO/orbsvcs/orbsvcs/" base="TAO_CosLifeCycle" />
- <lib name="CosNaming" include="/TAO/orbsvcs/" link="/TAO/orbsvcs/orbsvcs/" base="TAO_CosNaming" />
- <lib name="RTEvent" include="/TAO/orbsvcs/" link="/TAO/orbsvcs/orbsvcs/" base="TAO_RTEvent" />
- <lib name="RTOldEvent" include="/TAO/orbsvcs/" link="/TAO/orbsvcs/orbsvcs/" base="TAO_RTOLDEvent" />
- <lib name="RTSched" include="/TAO/orbsvcs/" link="/TAO/orbsvcs/orbsvcs/" base="TAO_RTSched" />
- <lib name="RTSchedEvent" include="/TAO/orbsvcs/" link="/TAO/orbsvcs/orbsvcs/" base="TAO_RTSchedEvent" />
- <lib name="Security" include="/TAO/orbsvcs/" link="/TAO/orbsvcs/orbsvcs/" base="TAO_Security" />
- <lib name="SSLIOP" include="/TAO/orbsvcs/" link="/TAO/orbsvcs/orbsvcs/" base="TAO_SSLIOP" />
- <lib name="SvcUtils" include="/TAO/orbsvcs/" link="/TAO/orbsvcs/orbsvcs/" base="TAO_Svc_Utils" />
- <lib name="TypeCodeFactory" include="/TAO/" link="/TAO/orbsvcs/IFR_Service/" base="TAO_TypeCodeFactory" />
- <lib name="CosConcurrency" include="/TAO/orbsvcs/" link="/TAO/orbsvcs/orbsvcs/" base="TAO_CosConcurrency" />
- <lib name="CosEvent" include="/TAO/orbsvcs/" link="/TAO/orbsvcs/orbsvcs/" base="TAO_CosEvent" />
- <lib name="CosNotification" include="/TAO/orbsvcs/" link="/TAO/orbsvcs/orbsvcs/" base="TAO_CosNotification" />
- <lib name="CosProperty" include="/TAO/orbsvcs/" link="/TAO/orbsvcs/orbsvcs/" base="TAO_CosProperty" />
- <lib name="CosTime" include="/TAO/orbsvcs/" link="/TAO/orbsvcs/orbsvcs/" base="TAO_CosTime" />
- <lib name="CosTrading" include="/TAO/orbsvcs/" link="/TAO/orbsvcs/orbsvcs/" base="TAO_CosTrading" />
- <lib name="FaultTolerance" include="/TAO/orbsvcs/" link="/TAO/orbsvcs/orbsvcs/" base="TAO_Fault_Tolerance" />
- <lib name="LoadBalancing" include="/TAO/orbsvcs/" link="/TAO/orbsvcs/orbsvcs/" base="TAO_LoadBalancing" />
- <lib name="DsLogAdmin" include="/TAO/orbsvcs/" link="/TAO/orbsvcs/orbsvcs/" base="TAO_DsLogAdmin" />
- </namespace>
-</libs>
diff --git a/samwise/makeinclude/executable.GNU b/samwise/makeinclude/executable.GNU
deleted file mode 100644
index 775fc3ff915..00000000000
--- a/samwise/makeinclude/executable.GNU
+++ /dev/null
@@ -1,26 +0,0 @@
-#
-# $Id$
-#
-
-DEPENDENCY_FILE=.$(MAKEFILE).depend
-
-include $(ACE_ROOT)/include/makeinclude/wrapper_macros.GNU
--include $(ACE_ROOT)/TAO/rules.tao.GNU
--include $(ACE_ROOT)/TAO/taoconfig.mk
-include $(ACE_ROOT)/samwise/makeinclude/macros.GNU
-include $(ACE_ROOT)/samwise/makeinclude/rules.common.GNU
-include $(ACE_ROOT)/samwise/makeinclude/rules.nomakefiles.GNU
-include $(ACE_ROOT)/include/makeinclude/rules.nonested.GNU
-
-VOBJS = \
- $(subst .cpp,.$(OBJEXT),$(foreach file,$(SRC),$(VDIR)$(notdir $(file))))
-
-ifeq (1,$(using_aix_vacpp))
-$(BIN): %: $(SRC)
- vacbld_r $< -severitylevel=warning
-else
-$(BIN): %: $(VOBJS)
- $(LINK.cc) $(CC_OUTPUT_FLAG) $@ $^ $(LDFLAGS) $(VLDLIBS) $(POSTLINK)
-endif
-
-include $(ACE_ROOT)/include/makeinclude/rules.local.GNU
diff --git a/samwise/makeinclude/library.GNU b/samwise/makeinclude/library.GNU
deleted file mode 100644
index 37fff939f7d..00000000000
--- a/samwise/makeinclude/library.GNU
+++ /dev/null
@@ -1,17 +0,0 @@
-#
-# $Id$
-#
-
-DEPENDENCY_FILE=.$(MAKEFILE).depend
-
-include $(ACE_ROOT)/include/makeinclude/wrapper_macros.GNU
--include $(ACE_ROOT)/TAO/rules.tao.GNU
--include $(ACE_ROOT)/TAO/taoconfig.mk
-include $(ACE_ROOT)/samwise/makeinclude/macros.GNU
-include $(ACE_ROOT)/samwise/makeinclude/rules.common.GNU
-include $(ACE_ROOT)/samwise/makeinclude/rules.nomakefiles.GNU
-include $(ACE_ROOT)/include/makeinclude/rules.nonested.GNU
-include $(ACE_ROOT)/include/makeinclude/rules.lib.GNU
-include $(ACE_ROOT)/include/makeinclude/rules.local.GNU
-
-
diff --git a/samwise/makeinclude/macros.GNU b/samwise/makeinclude/macros.GNU
deleted file mode 100644
index 96b12b72bf5..00000000000
--- a/samwise/makeinclude/macros.GNU
+++ /dev/null
@@ -1,8 +0,0 @@
-#
-# $Id$
-#
-
-include $(ACE_ROOT)/include/makeinclude/macros.GNU
-
-TARGETS_MAKEFILES = \
- $(TARGETS_LOCAL:.local=.makefiles)
diff --git a/samwise/makeinclude/rules.common.GNU b/samwise/makeinclude/rules.common.GNU
deleted file mode 100644
index c75d7054778..00000000000
--- a/samwise/makeinclude/rules.common.GNU
+++ /dev/null
@@ -1,7 +0,0 @@
-#
-# $Id$
-#
-
-$(TARGETS_LOCAL:.local=): %: %.local %.makefiles %.nested
-
-all.nested: all.makefiles
diff --git a/samwise/makeinclude/rules.makefiles.GNU b/samwise/makeinclude/rules.makefiles.GNU
deleted file mode 100644
index e5c7ce2c2b7..00000000000
--- a/samwise/makeinclude/rules.makefiles.GNU
+++ /dev/null
@@ -1,25 +0,0 @@
-#
-# $Id$
-#
-
-$(TARGETS_MAKEFILES):
-ifneq ($(MAKEFILES),)
- ifeq (Windows,$(findstring Windows,$(OS)))
- @cmd /c "FOR /D %m IN ($(MAKEFILES)) DO $(MAKE) -f %m MAKEFILES= MAKEFILE=$$m $(@:.makefiles=)"
- else # ! Windows
- @for m in $(MAKEFILES); do \
- $(MAKE) -f $$m MAKEFILES= MAKEFILE=$$m $(@:.makefiles=); \
- done
- endif # ! Windows
-endif # MAKEFILES
-
-# ifneq ($(MAKEFILES),)
-# $(TARGETS_MAKEFILES): %: $(foreach mk, $(MAKEFILES), %.$(mk:.gnu=))
-#
-# $(foreach target, $(TARGETS_MAKEFILES), $(foreach mk, $(MAKEFILES), $(target).$(mk:.gnu=))):
-# $(MAKE) MAKEFILE=$(patsubst .%,%,$(suffix $@).gnu) \
-# MAKEFILES= -f $(patsubst .%,%,$(suffix $@).gnu) \
-# $(subst .makefiles,,$(basename $@))
-# endif # MAKEFILES
-
-
diff --git a/samwise/makeinclude/rules.nomakefiles.GNU b/samwise/makeinclude/rules.nomakefiles.GNU
deleted file mode 100644
index 4e2c679f131..00000000000
--- a/samwise/makeinclude/rules.nomakefiles.GNU
+++ /dev/null
@@ -1,6 +0,0 @@
-#
-# $Id$
-#
-
-$(TARGETS_MAKEFILES):
-
diff --git a/samwise/makeinclude/vacpp_setup.icc b/samwise/makeinclude/vacpp_setup.icc
deleted file mode 100644
index 69560afc89b..00000000000
--- a/samwise/makeinclude/vacpp_setup.icc
+++ /dev/null
@@ -1,28 +0,0 @@
-//
-// $Id$
-//
-// Define common settings shared by all Visual Age C++ projects
-//
-
-if $__TOS_WIN__ {
- option PlatformOptions =
- define ("WIN32","1"),
- define ("_WINDOWS","1"),
- define ("__ACE_INLINE__","0"),
- define ("ACE_HAS_DLL","0"),
- define ("ACE_HAS_WINSOCK2","1")
- group platformLinkLibs = "advapi32.lib",
- "user32.lib",
- "ws2_32.lib",
- "wsock32.lib",
- "mswsock.lib"
-}
-if $__TOS_AIX__ {
- option PlatformOptions =
- defaults(xlC_r),
- gen(check,bounds,no),
- link(typecheck,yes),
- opt(level, 3),
- gen(enumsize, small)
- group platformLinkLibs = null
-}
diff --git a/samwise/makeinclude/workspace.GNU b/samwise/makeinclude/workspace.GNU
deleted file mode 100644
index fd081396b65..00000000000
--- a/samwise/makeinclude/workspace.GNU
+++ /dev/null
@@ -1,10 +0,0 @@
-#
-# $Id$
-#
-
-include $(ACE_ROOT)/include/makeinclude/wrapper_macros.GNU
-include $(ACE_ROOT)/samwise/makeinclude/macros.GNU
-include $(ACE_ROOT)/samwise/makeinclude/rules.common.GNU
-include $(ACE_ROOT)/samwise/makeinclude/rules.makefiles.GNU
-include $(ACE_ROOT)/include/makeinclude/rules.nested.GNU
-include $(ACE_ROOT)/include/makeinclude/rules.nolocal.GNU
diff --git a/samwise/sam.dtd b/samwise/sam.dtd
deleted file mode 100644
index 9d16a7a6080..00000000000
--- a/samwise/sam.dtd
+++ /dev/null
@@ -1,42 +0,0 @@
-<!-- $Id$ -->
-<!-- Document Type Definition for SAMWISE -->
-
-<!-- A sam file has one workspace and 0 or more projects -->
-<!ELEMENT sam (workspace, (project)*)>
-
-<!-- A workspace can contain projectlinks -->
-<!ELEMENT workspace (projectlink)*>
-
-<!ELEMENT projectlink (#PCDATA)>
-
-<!-- and can contain subdirs -->
-<!ELEMENT workspace (subdir)*>
-
-<!ELEMENT subdir (#PCDATA)>
-
-<!ELEMENT project (description, target, source, library)>
-<!-- A project must have a name that can be referred to using 'projectlink' -->
-<!ATTLIST project name IDREF #REQUIRED>
-
-<!-- No surprise here. -->
-<!ELEMENT description (#PCDATA)>
-
-<!-- target name -->
-<!ELEMENT target (#PCDATA)>
-
-<!ATTLIST target type (executable|library) #REQUIRED>
-
-<!-- Don't think it makes sense to not have source files -->
-<!ELEMENT source (file|idlfile)+>
-
-<!-- Specify filenames -->
-<!ELEMENT file (#PCDATA)>
-<!ATTLIST file template (true|false)>
-<!ELEMENT idlfile (#PCDATA)>
-<!ATTLIST idlfile type (client|server) #REQUIRED
- opts CDATA "">
-
-<!-- Libraries -->
-<!ELEMENT library (lib)*>
-<!ELEMENT lib (#PCDATA)>
-<!ATTLIST lib namespace (ACE|TAO)>
diff --git a/samwise/sam.pl b/samwise/sam.pl
deleted file mode 100755
index 511d11398ba..00000000000
--- a/samwise/sam.pl
+++ /dev/null
@@ -1,127 +0,0 @@
-eval '(exit $?0)' && eval 'exec perl -S $0 ${1+"$@"}'
- & eval 'exec perl -S $0 $argv:q'
- if 0;
-
-# $Id$
-
-use FindBin;
-use lib $FindBin::Bin;
-use PerlSam::Parser;
-use PerlSam::Generator;
-
-use strict;
-
-package main;
-
-$main::verbose = 0;
-
-################################################################################
-
-my $parser_name;
-my @target_names;
-my @file_names;
-
-################################################################################
-# Parse Args
-
-sub print_usage ()
-{
- print "Compiles SAM files into Makefiles/Projects\n";
- print "\n";
- print "sam.pl [-parser <name>] [-target <name>] [-target <name>]... [files...]\n";
- print "\n";
- print " -parser <name> Use <name> parser instead of the default\n";
- print " -target <name> Add <name> as a target\n";
- print " files Files that should be compiled (defaults to sam.xml)\n";
-}
-
-# Read in ARGV
-
-while ($#ARGV >= 0)
-{
- if ($ARGV[0] =~ m/^-parser/i) {
- if (defined $parser_name) {
- print STDERR "Error: Only one parser allowed\n";
- exit 1;
- }
- $parser_name = $ARGV[1];
- shift;
- }
- elsif ($ARGV[0] =~ m/^-target/i) {
- push @target_names, $ARGV[1];
- shift;
- }
- elsif ($ARGV[0] =~ m/^-v/i) {
- shift;
- if (!defined $ARGV[0] || $ARGV[0] =~ m/^-/) {
- print STDERR "Error: Expecting a positive verbosity level\n";
- exit 1;
- }
- $main::verbose = $ARGV[0];
- }
- elsif ($ARGV[0] =~ m/^-(\?|h)/i) {
- print_usage ();
- exit;
- }
- elsif ($ARGV[0] =~ m/^-/) {
- print "Error: Unknown option $ARGV[0]\n";
- exit 1;
- }
- else {
- push @file_names, $ARGV[0];
- }
- shift;
-}
-
-# Check for valid parameters
-
-if (!defined $parser_name) {
- $parser_name = PerlSam::Parser::GetDefault ();
-}
-
-if ($#target_names < 0) {
- @target_names = PerlSam::Generator::GetDefaults ();
-}
-
-if ($#file_names < 0) {
- @file_names = ('sam.xml');
-}
-
-# Print out verbose info
-
-if ($main::verbose >= 1) {
- print "Parser Name: ", $parser_name, "\n";
- print "Target Names: ", join (' ', @target_names), "\n";
- print "File Names: ", join (' ', @file_names), "\n";
-}
-
-################################################################################
-# Parse and Generate
-
-if ($main::verbose >= 1) {
- print "=== Parse and Generate\n";
-}
-
-foreach my $file (@file_names) {
- my $parser = new PerlSam::Parser ($parser_name);
- my $generator = new PerlSam::Generator (@target_names);
-
- print "Compiling $file\n";
- my %data;
- my %libdata;
-
- if ($parser->Parse ($file, \%data)) {
- if ($parser->ParseLibraryFile ("$FindBin::Bin/libs.xml", \%libdata)) {
- $generator->SetLibraryInfo (\%libdata);
- $generator->GenerateDependencies (\%data);
- $generator->GenerateWorkspace (\%data);
- $generator->GenerateProjects (\%data);
- }
- else {
- print STDERR "Error: Unable to parse library file\n";
- }
- }
- else {
- print STDERR "Error: Unable to parse file <$file>\n";
- }
-}
diff --git a/vc7_nightly.mwc b/vc7_nightly.mwc
deleted file mode 100644
index 7d81b7361fe..00000000000
--- a/vc7_nightly.mwc
+++ /dev/null
@@ -1,7 +0,0 @@
-workspace {
- ace
- apps/gperf/src
- tests
- TAO/TAO_IDL
- TAO/tao
-}